Changeset 32128 in spip-zone


Ignore:
Timestamp:
Oct 14, 2009, 11:00:19 PM (11 years ago)
Author:
patfr@…
Message:

Packs de configuration :

  • liste en action rapide
  • possibilité de suppression d'un pack
Location:
_plugins_/couteau_suisse
Files:
11 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/couteau_suisse/cout_lancement.php

    r31727 r32128  
    201201}
    202202
     203// manipule le fichier config/mes_options.php
     204function cs_ecrire_config($regexpr, $replace, $ajout_sinon='') {
     205        $fo = strlen(_FILE_OPTIONS)? _FILE_OPTIONS:false;
     206        $t='';
     207        if ($fo && strlen($regexpr) && strlen($replace)) {
     208                if (lire_fichier($fo, $t) && strlen($t)) {
     209                        $t = preg_replace($regexpr, $replace, $t, 1);
     210                        if(ecrire_fichier($fo, $t)) return;
     211                        else cs_log("ERREUR : l'ecriture du fichier $fo a echoue !");
     212                } else cs_log(" -- fichier $fo illisible. Inclusion non permise");
     213                if(strlen($t)) return;
     214        }
     215        // creation
     216        if(!strlen($ajout_sinon)) return;
     217        $fo = _DIR_RACINE._NOM_PERMANENTS_INACCESSIBLES._NOM_CONFIG.'.php';
     218        $ok = ecrire_fichier($fo, '<?'."php\n".$ajout_sinon."\n?".'>');
     219cs_log(" -- fichier $fo absent ".($ok?'mais cree avec l\'inclusion':' et impossible a creer'));
     220}
     221
    203222?>
  • _plugins_/couteau_suisse/cout_utils.php

    r31836 r32128  
    264264
    265265        include_spip('inc/charset');
     266        $nom_pack = _T('couteauprive:pack_actuel', array('date'=>cs_date()));
    266267        $sauve .= $temp = "\n######## "._T('couteauprive:pack_actuel_titre')." #########\n\n// "
    267268                . filtrer_entites(_T('couteauprive:pack_actuel_avert')."\n\n"
    268                         . "\$GLOBALS['cs_installer']['"._T('couteauprive:pack_actuel', array('date'=>cs_date()))."'] = array(\n\n\t// "
     269                        . "\$GLOBALS['cs_installer']['".$nom_pack."'] = array(\n\n\t// "
    269270                        . _T('couteauprive:pack_outils_defaut')."\n"
    270271                        . "\t'outils' =>\n\t\t'".join(",\n\t\t", $actifs)."',\n"
    271272                        . "\n\t// "._T('couteauprive:pack_variables_defaut')."\n")
    272                 . "\t'variables' => array(\n\t" . join(",\n\t", $metas_actifs) . "\n\t)\n);\n";
     273                . "\t'variables' => array(\n\t" . join(",\n\t", $metas_actifs) . "\n\t)\n); # $nom_pack #\n";
    273274
    274275        ecrire_fichier(_DIR_CS_TMP.'config.php', '<'."?php\n// Configuration de controle pour le plugin 'Couteau Suisse'\n\n$sauve?".'>');
  • _plugins_/couteau_suisse/exec/admin_couteau_suisse.php

    r31836 r32128  
    369369}
    370370
    371 function cout_exec_redirige($p = '') {
    372         ecrire_metas();
    373         cs_initialisation(true);
    374         include_spip('inc/invalideur');
    375         purger_repertoire(_DIR_SKELS);
    376         purger_repertoire(_DIR_CACHE);
     371function cout_exec_redirige($p='', $recompiler=true) {
     372        if($recompiler) {
     373                ecrire_metas();
     374                cs_initialisation(true);
     375                include_spip('inc/invalideur');
     376                purger_repertoire(_DIR_SKELS);
     377                purger_repertoire(_DIR_CACHE);
     378        }
    377379        include_spip('inc/headers');
    378380        redirige_par_entete(generer_url_ecrire(_request('exec'), $p, true));
     
    412414        if(isset($_GET['pack']) && isset($GLOBALS['cs_installer'][$_GET['pack']]['outils'])) {
    413415                if ($cmd=='install'){
    414                         spip_log("Installation peronnalisee de '$_GET[outils]' par l'auteur id=$connect_id_auteur");
     416                        spip_log("Installation peronnalisee de '$_GET[pack]' par l'auteur id=$connect_id_auteur");
    415417                        $pack = &$GLOBALS['cs_installer'][$_GET['pack']];
    416418                        effacer_meta('tweaks_actifs');
     
    420422                        ecrire_meta('tweaks_actifs', serialize($metas_outils));
    421423                        ecrire_meta('tweaks_variables', serialize($metas_vars));
     424                        // tout recompiler
    422425                        cout_exec_redirige();
    423426                } elseif ($cmd=='delete'){
     427                        spip_log("Suppression de '$_GET[pack]' par l'auteur id=$connect_id_auteur");
     428                        $p = preg_quote($_GET[pack],',');
     429                        $r = "[$]GLOBALS\['cs_installer'\]\['$p'\] *= *array *\(";
     430                        cs_ecrire_config(
     431                                array(",$r,", ",# [^\n\r]+[\n\r]+if\(0\) {$r}[\n\r]+.*# $p #[\n\r]+,Us"),
     432                                array('if(0) \0', ''));
     433                        // simplement prendre en compte la supression
     434                        cout_exec_redirige('cmd=pack', false);
    424435                }
    425436        }
     
    436447                        ecrire_meta('tweaks_variables', serialize($metas_vars));
    437448                }
     449                // tout recompiler
    438450                cout_exec_redirige("cmd=descrip&outil={$_GET[outil]}#cs_infos");
    439451        }
  • _plugins_/couteau_suisse/lang/couteauprive_ast.php

    r31741 r32128  
    471471        'pack_installe' => 'Afitamientu d\'un paquete de configuraci&oacute;n',
    472472        'pack_installer' => '&iquest;Tas seguru de que quies reinicializar la Navaya Suiza e instalar el paquete &laquo;&nbsp;@pack@&nbsp;&raquo;?',
    473         'pack_nb_plrs' => 'Actualmente hai @nb@ &laquo;&nbsp;paquetes de configuraci&oacute;n&nbsp;&raquo; disponibles.',
    474         'pack_nb_un' => 'Actualmente hai un &laquo;&nbsp;paquete de configuraci&oacute;n&nbsp;&raquo; disponible',
     473        'pack_nb_plrs' => 'Actualmente hai @nb@ &laquo;&nbsp;paquetes de configuraci&oacute;n&nbsp;&raquo; disponibles:',
     474        'pack_nb_un' => 'Actualmente hai un &laquo;&nbsp;paquete de configuraci&oacute;n&nbsp;&raquo; disponible:',
    475475        'pack_nb_zero' => 'Nun hai deng&uacute;n &laquo;&nbsp;paquete de configuraci&oacute;n&nbsp;&raquo; disponible actualmente.',
    476476        'pack_outils_defaut' => 'Instalaci&oacute;n de les ferramientes por omisi&oacute;n',
  • _plugins_/couteau_suisse/lang/couteauprive_ca.php

    r31741 r32128  
    477477        'pack_installe' => 'Instal&middot;laci&oacute; d\'un pack de configuraci&oacute;',
    478478        'pack_installer' => 'Est&agrave; segur de voler reinicialitzar el Gavinet Su&iacute;s i d\'instal&middot;lar el pack &laquo;&nbsp;@pack@&nbsp;&raquo; ?',
    479         'pack_nb_plrs' => 'Actualment hi ha @nb@ &laquo;paquets de configuraci&oacute;&raquo; disponibles.',
    480         'pack_nb_un' => 'Actualment hi ha un &laquo;paquet de configuraci&oacute;&raquo; disponible',
     479        'pack_nb_plrs' => 'Actualment hi ha @nb@ &laquo;paquets de configuraci&oacute;&raquo; disponibles:',
     480        'pack_nb_un' => 'Actualment hi ha un &laquo;paquet de configuraci&oacute;&raquo; disponible:',
    481481        'pack_nb_zero' => 'No hi ha cap &laquo;paquet de configuraci&oacute;&raquo; disponible actualment.',
    482482        'pack_outils_defaut' => 'Instal&middot;laci&oacute; d\'eines per defecte',
  • _plugins_/couteau_suisse/lang/couteauprive_en.php

    r31741 r32128  
    477477        'pack_installe' => 'Installation of a configuration pack',
    478478        'pack_installer' => 'Are you sure you want to re-initialise the Penknife and install the &laquo;&nbsp;@pack@&nbsp;&raquo; pack?',
    479         'pack_nb_plrs' => 'At the moment there are @nb@ "configuration packs" available.',
    480         'pack_nb_un' => 'A "configuration pack" is currently available.',
     479        'pack_nb_plrs' => 'At the moment there are @nb@ "configuration packs" available:',
     480        'pack_nb_un' => 'A "configuration pack" is currently available:',
    481481        'pack_nb_zero' => 'No "configuration pack" is currently available.',
    482482        'pack_outils_defaut' => 'Installation of the default tools',
  • _plugins_/couteau_suisse/lang/couteauprive_fr.php

    r31741 r32128  
    489489        'pack_du' => '&bull; du pack @pack@',
    490490        'pack_installe' => 'Mise en place d\'un pack de configuration',
     491        'pack_delete' => 'Supression d\'un pack de configuration',
    491492        'pack_installer' => '&Ecirc;tes-vous s&ucirc;r de vouloir r&eacute;initialiser le Couteau Suisse et installer le pack &laquo;&nbsp;@pack@&nbsp;&raquo; ?',
    492         'pack_nb_plrs' => 'Il y a actuellement @nb@ &laquo;&nbsp;packs de configuration&nbsp;&raquo; disponibles.',
    493         'pack_nb_un' => 'Il y a actuellement un &laquo;&nbsp;pack de configuration&nbsp;&raquo; disponible',
     493        'pack_supprimer' => '&Ecirc;tes-vous s&ucirc;r de vouloir supprimer le pack &laquo;&nbsp;@pack@&nbsp;&raquo; ?',
     494        'pack_nb_plrs' => 'Il y a actuellement @nb@ &laquo;&nbsp;packs de configuration&nbsp;&raquo; disponibles :',
     495        'pack_nb_un' => 'Il y a actuellement un &laquo;&nbsp;pack de configuration&nbsp;&raquo; disponible :',
    494496        'pack_nb_zero' => 'Il n\'y a pas de &laquo;&nbsp;pack de configuration&nbsp;&raquo; disponible actuellement.',
    495497        'pack_outils_defaut' => 'Installation des outils par d&eacute;faut',
  • _plugins_/couteau_suisse/lang/couteauprive_fr_tu.php

    r31793 r32128  
    492492        'pack_installe' => 'Mise en place d\'un pack de configuration',
    493493        'pack_installer' => 'Es-tu s&ucirc;r de vouloir r&eacute;initialiser le Couteau Suisse et installer le pack &laquo;&nbsp;@pack@&nbsp;&raquo; ?',
    494         'pack_nb_plrs' => 'Il y a actuellement @nb@ &laquo;&nbsp;packs de configuration&nbsp;&raquo; disponibles.',
    495         'pack_nb_un' => 'Il y a actuellement un &laquo;&nbsp;pack de configuration&nbsp;&raquo; disponible',
     494        'pack_nb_plrs' => 'Il y a actuellement @nb@ &laquo;&nbsp;packs de configuration&nbsp;&raquo; disponibles :',
     495        'pack_nb_un' => 'Il y a actuellement un &laquo;&nbsp;pack de configuration&nbsp;&raquo; disponible :',
    496496        'pack_nb_zero' => 'Il n\'y a pas de &laquo;&nbsp;pack de configuration&nbsp;&raquo; disponible actuellement.',
    497497        'pack_outils_defaut' => 'Installation des outils par d&eacute;faut',
  • _plugins_/couteau_suisse/lang/couteauprive_gl.php

    r31741 r32128  
    455455        'pack_installe' => 'Actualizaci&oacute;n dun paquete de configuraci&oacute;n',
    456456        'pack_installer' => 'Est&aacute; seguro de querer reiniciar a Navalla Su&iacute;za e instalar o paquete &laquo;&nbsp;@pack@&nbsp;&raquo; ?',
    457         'pack_nb_plrs' => 'Hai actualmente @nb@ &laquo;&nbsp;paquetes de configuraci&oacute;n&nbsp;&raquo; dispo&ntilde;&iacute;beis.',
    458         'pack_nb_un' => 'Hai actualmente un &laquo;&nbsp;paquete de configuraci&oacute;n&nbsp;&raquo; dispo&ntilde;ible',
     457        'pack_nb_plrs' => 'Hai actualmente @nb@ &laquo;&nbsp;paquetes de configuraci&oacute;n&nbsp;&raquo; dispo&ntilde;&iacute;beis:',
     458        'pack_nb_un' => 'Hai actualmente un &laquo;&nbsp;paquete de configuraci&oacute;n&nbsp;&raquo; dispo&ntilde;ible:',
    459459        'pack_nb_zero' => 'Non hai ning&uacute;n &laquo;&nbsp;paquete de configuraci&oacute;n&nbsp;&raquo; dispo&ntilde;ible actualmente.',
    460460        'pack_outils_defaut' => 'Instalaci&oacute;ns das ferramentas predeterminadas',
  • _plugins_/couteau_suisse/outils/pack_action_rapide.php

    r28839 r32128  
    2121                default : $info = _T('couteauprive:pack_nb_plrs', array('nb' => $n));
    2222        }
     23        $liste = $script = '';
     24        if($n) {
     25                $exec = _request('exec');
     26                $fin_delete = _T('couteauprive:pack_delete');
     27                $fin_delete = "\" class='pack_delete' title=\"$fin_delete\"><img src=\"". chemin_image('poubelle.gif') . "\" width='12' height='12' alt=\"$fin_delete\" /></a>&nbsp; <a href=\"";
     28                $fin_install = _T('couteauprive:pack_installe');
     29                $fin_install = "\" class='pack_install' title=\"$fin_install\"><img src=\"". chemin_image('secteur-12.gif') . "\" width='12' height='12' alt=\"$fin_install\" /></a>&nbsp; ";
     30                foreach(array_keys($GLOBALS['cs_installer']) as $pack) {
     31                        $u = urlencode($pack);
     32                        $liste .= "\n-* <a href=\""
     33                                . generer_url_ecrire($exec,'cmd=delete&pack='.$u)
     34                                . $fin_delete
     35                                . generer_url_ecrire($exec,'cmd=install&pack='.$u)
     36                                . $fin_install . $pack;
     37                }
     38                $liste = propre($liste);
     39                $script = "<script type=\"text/javascript\"><!--
     40if (window.jQuery) jQuery(function(){
     41        jQuery('a.pack_delete').click( function() {
     42                msg=\"".cs_javascript('couteauprive:pack_supprimer')."\";
     43                return window.confirm(msg.replace(/@pack@/,jQuery(this).parent().text().trim()));
     44        });
     45        jQuery('a.pack_install').click( function() {
     46                msg=\"".cs_javascript('couteauprive:pack_installer').'\n\n'.cs_javascript('couteauprive:cs_reset2')."\";
     47                return window.confirm(msg.replace(/@pack@/,jQuery(this).parent().text().trim()));
     48        });
     49}); //--></script>\n";
     50        }
    2351        // pour la constante _CS_FILE_OPTIONS
    2452        cout_define('cs_comportement');
    2553        // appel direct, sans ajax, histoire de mettre a jour le menu :
    2654        return redirige_action_post('action_rapide', 'sauve_pack', 'admin_couteau_suisse', "cmd=pack#cs_infos",
    27                         "\n<div style='padding:0.4em;'><p>$info</p><p>"._T('couteauprive:pack_sauver_descrip', array('file' => _CS_FILE_OPTIONS))
     55                        "\n$script<div style='padding:0.4em;'><p>$info</p>$liste<p>"._T('couteauprive:pack_sauver_descrip', array('file' => _CS_FILE_OPTIONS))
    2856                        ."</p><div style='text-align: center;'><input class='fondo' type='submit' value=\""
    2957                        .attribut_html(_T('couteauprive:pack_sauver')) . "\" /></div></div>");
     
    3765        if($n) $titre = "$titre ($n)";
    3866        include_spip(_DIR_CS_TMP.'config');
    39         $pack = "\n# Le Couteau Suisse : pack de configuration du ".date("d M Y, H:i:s")."\n\$GLOBALS['cs_installer']['$titre'] = " . var_export($GLOBALS['cs_installer'][$titre0], true) . ";\n";
    40         $fo = strlen(_FILE_OPTIONS)? _FILE_OPTIONS:false;
    41         $t='';
    42         if ($fo) {
    43                 if (lire_fichier($fo, $t) && strlen($t)) {
    44                         $t = preg_replace(',\?'.'>\s*$,m', $pack.'?'.'>', $t, 1);
    45                         if(ecrire_fichier($fo, $t)) return;
    46                         else cs_log("ERREUR : l'ecriture du fichier $fo a echoue !");
    47                 } else cs_log(" -- fichier $fo illisible. Inclusion non permise");
    48                 if(strlen($t)) return;
    49         }
    50         // creation
    51         $fo = _DIR_RACINE._NOM_PERMANENTS_INACCESSIBLES._NOM_CONFIG.'.php';
    52         $ok = ecrire_fichier($fo, '<?'."php\n".$pack."\n?".'>');
    53 cs_log(" -- fichier $fo absent ".($ok?'mais cree avec l\'inclusion':' et impossible a creer'));
     67        $pack = "\n# Le Couteau Suisse : pack de configuration du ".date("d M Y, H:i:s")."\n\$GLOBALS['cs_installer']['$titre'] = "
     68                . var_export($GLOBALS['cs_installer'][$titre0], true) . "; # $titre #\n";
     69        cs_ecrire_config(',\?'.'>\s*$,m', $pack.'?'.'>', $pack);
    5470}
    5571
  • _plugins_/couteau_suisse/plugin.xml

    r31836 r32128  
    22        <nom><multi>Swiss Knife[fr]Le Couteau Suisse[ca]El Ganivet Su&#237;s[ar]&#1587;&#1603;&#1610;&#1606; &#1575;&#1604;&#1580;&#1610;&#1576;[nl]Het Zwitserland Mes[gl]A navalla su&#237;za[es]La Navaja Suiza[de]Schweizer Taschenmesser[tr]&#304;svi&#231;re &#199;ak&#305;s&#305;[br]Ar Gontell Suis[pt_br]Canivete Su&#237;&#231;o[ast]La Navaya Suiza[gl]A navalla su&#237;za[ro]Cu&#355;itul Elve&#355;ian</multi></nom>
    33        <icon>img/couteau-50.gif</icon>
    4         <version>1.8.09.12</version>
     4        <version>1.8.09.13</version>
    55        <auteur>Patrice Vanneufville
    66_ &#169; 2007-2009 - Distribu&#233; sous licence GPL
Note: See TracChangeset for help on using the changeset viewer.