Changeset 5790 in spip-zone


Ignore:
Timestamp:
Sep 30, 2006, 8:33:48 AM (15 years ago)
Author:
franck.ducas@…
Message:

On peu dorenavant modifier (decocher et cocher) les plugins sur chaque page, y compris quand il y a plusieurs plugins sur ladite page. Par contre, si ces choix sont memorises, l'action de les cocher ou decocher n'active cependant pas les plugins en question (il faut passer par l'accueil pour activer tous les plugins choisis), notamment en raison de la fonction ecrire_plugin_actif() dans inc/plugins.php qui ne sait pas agir de facon sectorielle. Si on gere l'activation et la desactivation des plugins par cette fonction, tous les plugins qui ne sont pas dans la liste (ce qui arrive toujours, puisque le present plugin classe les plugs par categorie selon le nom de dossier qui les contient et laisse les autres de cote) sont decoches et desactives.

Location:
_plugins_/_dev_/rangement_plugs
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/_dev_/rangement_plugs/exec/rangement_plugin.php

    r5753 r5790  
    1717        global $connect_toutes_rubriques;
    1818        global $spip_lang_right;
     19       
     20        # Definition des variables.
     21        $dossier_encours = _request('famille');
     22        $xml_encours = preg_files(_DIR_PLUGINS,"/$dossier_encours/plugin[.]xml$");
     23        $xml_racine = rangement_plugs_preg_files_plugs(_DIR_PLUGINS.$dossier_encours,"/plugin[.]xml$");
     24       
    1925        $surligne = "";
    2026
     
    3339                        enregistre_modif_plugin();
    3440                }
    35                
    36                 else if (_request('famille')!='') {
    37                         if (_request('statusplug') != '') {
    38                         $plugins_modifies = _request('statusplug');
    39                         $lire_meta_plugin = isset($GLOBALS['meta']['plugin'])?$GLOBALS['meta']['plugin']:'';
    40                                 if (strlen($lire_meta_plugin)>0){
    41                                 ecrire_meta('plugin',$lire_meta_plugin.','.$plugins_modifies);
    42                                 ecrire_metas();
    43                         }
    44                 }
    45         }
    4641        }
    4742        else
     
    224219                echo "<ul>";
    225220               
    226                 # Ecrire les plugins de la meme famille.
    227                        
    228                         $dossier_encours = _request('famille');
    229                         $xml_encours = preg_files(_DIR_PLUGINS,"/$dossier_encours/plugin[.]xml$");
    230                         $xml_racine = rangement_plugs_preg_files_plugs(_DIR_PLUGINS.$dossier_encours,"/plugin[.]xml$");
     221                # Ecrire les plugins de la meme famille. Decouper tout ca en fonctions.
    231222                       
    232223                                if ($xml_encours) {
     
    247238                                        $dossier_plugin = $nom_chemin[1]."/".$nom_chemin[2];
    248239                                }
    249                        
     240                               
     241                                $fichiers_plugin=array();
     242                                $fichiers_plugin[]=substr(dirname($fichier), strlen(_DIR_PLUGINS));
     243                               
     244                                $testo = array();
     245                                foreach($fichiers_plugin as $filo){
     246                                        $testo["statusplug_$filo"] = $filo;
     247                                       
     248                                        $plugin = "";
     249                                        $plugin=array();
     250                                                if (!isset($_POST['desactive_tous'])){
     251                                                        foreach($_POST as $choix=>$val){
     252                                                                if (isset($testo[$choix])&&$val=='O') {
     253                                                                        $plugin[]=$testo[$choix];
     254                                                                }
     255                                                        }
     256                                                       
     257                                                       
     258                                                        $lire_meta_plugin = isset($GLOBALS['meta']['plugin'])?$GLOBALS['meta']['plugin']:'';
     259                                                        $plugin_actif = ereg($filo, $lire_meta_plugin, $pleug_actif);
     260                                                       
     261                                                        if ($filo != $plugin[0] && isset($pleug_actif[0])) {
     262                                                                        effacer_meta('plugin',$filo);
     263                                                                        ecrire_metas();
     264                                                        }
     265                                                       
     266                                                        else if ($plugin[0] != "") {
     267                                                                $pleug_actif="";
     268                                                                $lire_meta_plugin ="";
     269                                                                $plugin_actif="";
     270                                                                $lire_meta_plugin = isset($GLOBALS['meta']['plugin'])?$GLOBALS['meta']['plugin']:'';
     271                                                                $plugin_actif = ereg($plugin[0], $lire_meta_plugin, $pleug_actif);
     272
     273                                                                        if (!isset($pleug_actif[0])) {
     274                                                                                ecrire_meta('plugin',$lire_meta_plugin.','.$plugin[0]);
     275                                                                                ecrire_metas();
     276                                                                        }
     277                                                        }
     278                                                }
     279                                }
     280                               
     281                               
    250282                                lire_fichier($fichier, $texte);
    251283                                $arbre = parse_plugin_xml($texte);
     
    285317                                       
    286318                                        if ($plug_actif[0] != "") {
    287                                                 $checked = " value='$dossier_plugin' checked='checked'";
     319                                                $checked = " value='O' checked='checked'";
    288320                                        }
    289321                                        else {
    290                                                 $checked = " value='$dossier_plugin'";
     322                                                $checked = " value='O'";
    291323                                        }
    292324                               
    293325                                debut_boite_info();
    294                                 echo "<input type='checkbox' name='statusplug'$checked>";
     326                                echo "<input type='checkbox' name='statusplug_$dossier_plugin'$checked>";
    295327                                echo "<strong>".$nom_plugin."</strong>(version ".$version_plugin.")<label for='label_$id_input' style='display:none'>"._T('activer_plugin')."</label>";
    296328                                echo "<br /><hr>";
  • _plugins_/_dev_/rangement_plugs/plugin.xml

    r5754 r5790  
    88        </auteur>
    99        <version> <!-- Version du plugin -->
    10         0.1
     10        0.4
    1111        </version>
    1212        <etat> <!-- Etat du plugin, au choix : dev (developpement), test, stable, experimental -->
Note: See TracChangeset for help on using the changeset viewer.