Changeset 34349 in spip-zone


Ignore:
Timestamp:
Jan 10, 2010, 12:37:23 AM (10 years ago)
Author:
prigent.yohann@…
Message:

feed the fork ([14844] inclus) + 1.2 + suppression des multi (pas d'utilité) + passage en version test parce que ça marche vraiment bien

Location:
_plugins_/multiplug
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/multiplug/exec/admin_plugin.php

    r31900 r34349  
    44 *  SPIP, Systeme de publication pour l'internet                           *
    55 *                                                                         *
    6  *  Copyright (c) 2001-2009                                                *
     6 *  Copyright (c) 2001-2010                                                *
    77 *  Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James  *
    88 *                                                                         *
     
    3232                $format = _request('format');
    3333
    34         verif_plugin();
    35 
    3634        $commencer_page = charger_fonction('commencer_page', 'inc');
    3735        echo $commencer_page(_T('icone_admin_plugin'), "configuration", "plugin");
    38        
    39 
    4036        echo "<br />\n";
    4137        echo "<br />\n";
    4238
    43 
    4439        echo gros_titre(_T('icone_admin_plugin'),'',false);
    45 
    4640       
    4741        echo debut_gauche('plugin',true);
     
    5650        echo fin_boite_info(true);
    5751
    58         // on fait l'installation ici, cela permet aux scripts d'install de faire des affichages ...
    59         installe_plugins();
    60 
     52        // on fait l'installation ici,
     53        // cela permet aux scripts d'install de faire des affichages (moches...)
     54        verif_plugin();
     55        installe_plugins();
     56        // la valeur de retour de la fonction ci-dessus n'est pas compatible
     57        // avec ce que fait verif_plugin, il faut recalculer. A revoir.
     58        $lcpa = liste_chemin_plugin_actifs(); 
    6159
    6260        // Si on a CFG, ajoute un lien (oui c'est mal)
     
    8179
    8280        $lpf = liste_plugin_files();
    83         $lcpa = liste_chemin_plugin_actifs();
    8481        $plugins_interessants = @array_keys(unserialize($GLOBALS['meta']['plugins_interessants']));
    8582        if (!is_array($plugins_interessants))
  • _plugins_/multiplug/inc/plugin.php

    r33192 r34349  
    44 *  SPIP, Systeme de publication pour l'internet                           *
    55 *                                                                         *
    6  *  Copyright (c) 2001-2009                                                *
     6 *  Copyright (c) 2001-2010                                                *
    77 *  Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James  *
    88 *                                                                         *
     
    258258function ecrire_plugin_actifs($plugin,$pipe_recherche=false,$operation='raz') {
    259259        static $liste_pipe_manquants=array();
    260 
    261 
    262260
    263261        $liste_fichier_verif = array();
     
    542540        }
    543541        $version_cible = isset($infos['version_base'])?$infos['version_base']:'';
    544         $prefix_install = $infos['prefix']."_install";
     542        $prefix = $infos['prefix'];
     543        $prefix_install = $prefix."_install";
    545544        // cas de la fonction install fournie par le plugin
    546545        if (function_exists($prefix_install)){
    547546                // voir si on a besoin de faire l'install
    548                 $ok = $prefix_install('test',$infos['prefix'],$version_cible);
     547                $ok = $prefix_install('test',$prefix,$version_cible);
    549548                if (!$ok) {
    550                         $prefix_install('install',$infos['prefix'],$version_cible);
    551                         $ok = $prefix_install('test',$infos['prefix'],$version_cible);
    552                 }
    553                 return $ok; // le plugin est deja installe et ok
     549                        $prefix_install('install',$prefix,$version_cible);
     550                        $ok = $prefix_install('test',$prefix,$version_cible);
     551                        // vider le cache des definitions des tables
     552                        $trouver_table = charger_fonction('trouver_table','base');
     553                        $trouver_table(false);
     554                }
     555                return $ok;
    554556        }
    555557        // pas de fonction instal fournie, mais une version_base dans le plugin
    556558        // on utilise la fonction par defaut
    557559        if (isset($infos['version_base'])){
    558                 $ok = spip_plugin_install('test',$infos['prefix'],$infos['version_base']);
     560                $ok = spip_plugin_install('test',$prefix,$infos['version_base']);
    559561                if (!$ok) {
    560                         spip_plugin_install('install',$infos['prefix'],$infos['version_base']);
    561                         $ok = spip_plugin_install('test',$infos['prefix'],$infos['version_base']);
     562                        spip_plugin_install('install',$prefix,$infos['version_base']);
     563                        $ok = spip_plugin_install('test',$prefix,$infos['version_base']);
     564                        // vider le cache des definitions des tables
     565                        $trouver_table = charger_fonction('trouver_table','base');
     566                        $trouver_table(false);
    562567                }
    563568                return $ok; // le plugin est deja installe et ok
     
    568573// http://doc.spip.org/@installe_plugins
    569574function installe_plugins(){
    570         $meta_plug_installes = array();
     575       
     576        //on peut enregistrer le chemin ici
     577        // car il est mis a jour juste avant l'affichage du panneau
     578        // -> cela suivra si le plugin demenage
     579       
    571580        $liste = liste_chemin_plugin_actifs();
    572         foreach($liste as $plug){
     581        $install = array();
     582        foreach($liste as $k => $plug){
    573583                $infos = plugin_get_infos($plug);
    574                 if (isset($infos['install'])){
    575                         $ok = installe_un_plugin($plug,$infos);
    576                         // on peut enregistrer le chemin ici car il est mis a jour juste avant l'affichage
    577                         // du panneau -> cela suivra si le plugin demenage
    578                         if ($ok)
    579                                 $meta_plug_installes[] = $plug;
    580                 }
    581         }
    582         ecrire_meta('plugin_installes',serialize($meta_plug_installes),'non');
    583 }
     584                if (isset($infos['install'])) {
     585                        if (installe_un_plugin($plug, $infos))
     586                                $install[] = $plug;
     587                        else unset($liste[$k]);
     588                }
     589        }
     590
     591                ecrire_meta('plugin_installes', serialize($install), 'non');
     592                return $liste;
     593 }
    584594
    585595// http://doc.spip.org/@plugin_est_installe
  • _plugins_/multiplug/plugin.xml

    r31942 r34349  
    11<plugin>
    22    <nom>
    3     <multi>[fr] Multi-Dossier (plugins)
    4     </multi>
     3    Multi-Dossier (plugins)
    54    </nom>
    65    <auteur>potter64, cy_altern</auteur>
    76    <version>
    8     1.1
     7    1.2
    98    </version>
    109    <etat>
    11     test
     10    stable
    1211    </etat>
    1312    <description>
    14     <multi>[fr] Ce plugin est un fork du core pour int&#233;grer les multi dossiers pour les plugins en 2.0
     13        Ce plugin est un fork du core pour int&#233;grer les multi dossiers pour les plugins en 2.0
    1514_ Les SPIP autoris&#233;s &#224; avoir un dossier /plugins sp&#233;cifique doivent &#202;tres d&#233;clar&#233;s dans le mes_options.php central par:
    1615_ $GLOBALS['multiplug_autorise'] = array('nom_dossier_spip1','nom_dossier_spip2', ...);   
     
    2120    </prefix>
    2221    <options>multiplug_options.php</options>
    23         <necessite id="SPIP" version="[2.0.9;2.1.0]" />
     22        <necessite id="SPIP" version="[2.0.10;2.1.0]" />
    2423</plugin>
Note: See TracChangeset for help on using the changeset viewer.