[SPIP] +2.1.12
[velocampus/web/www.git] / www / plugins / auto / couteau_suisse / couteau_suisse / outils / pack_action_rapide.php
1 <?php
2
3 // module inclu dans la description de la "Configuration Actuelle" en page de configuration
4 // ici, un bouton : "sauver la configuration actuelle"
5
6 include_spip('inc/actions');
7
8 // Compatibilite avec SPIP 1.92
9 if(!defined('_SPIP19300')) {
10 function redirige_action_post($action, $arg, $ret, $gra, $corps, $att='') {
11 $r = _DIR_RESTREINT_ABS . generer_url_ecrire($ret, $gra, true, true);
12 return generer_action_auteur($action, $arg, $r, $corps, $att . " method='post'");
13 }
14 }
15
16 function pack_action_rapide() {
17 include_spip('inc/texte'); // pour attribut_html()
18 switch($n = count($GLOBALS['cs_installer'])) {
19 case 0 : $info = _T('couteauprive:pack_nb_zero'); break;
20 case 1 : $info = _T('couteauprive:pack_nb_un'); break;
21 default : $info = _T('couteauprive:pack_nb_plrs', array('nb' => $n));
22 }
23 $liste = $script = '';
24 if($n) {
25 $exec = _request('exec');
26 $fin_delete = _T('couteauprive:pack_delete');
27 $img = defined('_SPIP30000')?chemin_image('poubelle.png'):_DIR_IMG_PACK.'poubelle.gif';
28 $fin_delete = "\" class='pack_delete' title=\"$fin_delete\"><img src=\"$img\" width='12' height='12' alt=\"$fin_delete\" /></a>&nbsp; <a href=\"";
29 $fin_install = _T('couteauprive:pack_installe');
30 $img = defined('_SPIP30000')?chemin_image('secteur-12.png'):_DIR_IMG_PACK.'secteur-12.gif';
31 $fin_install = "\" class='pack_install' title=\"$fin_install\"><img src=\"$img\" width='12' height='12' alt=\"$fin_install\" /></a>&nbsp; ";
32 foreach(array_keys($GLOBALS['cs_installer']) as $pack) {
33 $u = urlencode($pack);
34 $liste .= "\n-* <a href=\""
35 . generer_url_ecrire($exec,'cmd=delete&pack='.$u)
36 . $fin_delete
37 . generer_url_ecrire($exec,'cmd=install&pack='.$u)
38 . $fin_install . $pack;
39 }
40 $liste = propre($liste);
41 $script = "<script type=\"text/javascript\"><!--
42 if (window.jQuery) jQuery(function(){
43 jQuery('a.pack_delete').click( function() {
44 msg=\"".cs_javascript('couteauprive:pack_supprimer')."\";
45 return window.confirm(msg.replace(/@pack@/,jQuery(this).parent().text().trim()));
46 });
47 jQuery('a.pack_install').click( function() {
48 msg=\"".cs_javascript('couteauprive:pack_installer').'\n\n'.cs_javascript('couteauprive:cs_reset2')."\";
49 return window.confirm(msg.replace(/@pack@/,jQuery(this).parent().text().trim()));
50 });
51 }); //--></script>\n";
52 }
53 // appel direct, sans ajax, histoire de mettre a jour le menu :
54 return redirige_action_post('action_rapide', 'sauve_pack', 'admin_couteau_suisse', "cmd=pack#cs_infos",
55 "\n$script<div style='padding:0.4em;'><p>$info</p>$liste<p>"._T('couteauprive:pack_sauver_descrip', array('file' => show_file_options()))
56 ."</p><div style='text-align: center;'><input class='fondo' type='submit' value=\""
57 .attribut_html(_T('couteauprive:pack_sauver')) . "\" /></div></div>");
58 }
59
60 // fonction {$outil}_{$arg}_action() appelee par action/action_rapide.php
61 // clic "Sauver la configuration actuelle"
62 function pack_sauve_pack_action() {
63 // pour inserer un pack de config dans config/mes_options.php
64 $titre0 = $titre = _T('couteauprive:pack_actuel', array('date'=>cs_date())); $n=0;
65 if(isset($GLOBALS['cs_installer'][$titre]))
66 while(isset($GLOBALS['cs_installer']["$titre (".++$n.')']));
67 if($n) $titre = "$titre ($n)";
68 include_spip(_DIR_CS_TMP.'config');
69 $fct = md5($titre.time());
70 $config = $GLOBALS['cs_installer'][$titre0];
71 if(function_exists($config)) $config = $config();
72 $pack = "\n# Le Couteau Suisse : pack de configuration du ".date("d M Y, H:i:s")."\n\$GLOBALS['cs_installer']['$titre'] = 'cs_$fct';
73 function cs_$fct() { return "
74 . var_export($config, true) . ";\n} # $titre #\n";
75 cs_ecrire_config(',\?'.'>\s*$,m', $pack.'?'.'>', $pack);
76 }
77
78 ?>