Browse Source

Douce migration SPIP 3.0

svn/attic/couteau_suisse/118435
patfr@ifrance.com 10 years ago
parent
commit
538c30057d
  1. 8
      .gitattributes
  2. 4
      base/cout_install.php
  3. 148
      base/cout_upgrade.php
  4. 4
      config_outils.php
  5. 10
      cout_lancement.php
  6. 2
      cout_pipelines.php
  7. 6
      cout_utils.php
  8. 148
      couteau_suisse_administrations.php
  9. 10
      couteau_suisse_fonctions.php
  10. 12
      couteau_suisse_options.php
  11. 47
      exec/admin_couteau_suisse.php
  12. 2
      exec/cs_boite_rss.php
  13. 2
      exec/cs_version.php
  14. 2
      exec/description_outil.php
  15. 2
      fonds/type_urls.html
  16. BIN
      img/loupe.png
  17. 2
      inc/cs_outils.php
  18. 22
      lang/paquet-couteau_suisse_fr.php
  19. 50
      paquet.xml
  20. 12
      plugin.xml

8
.gitattributes

@ -6,11 +6,12 @@ base/cout_upgrade.php -text
/config_outils.php -text
/cout_dates.js.html -text
/cout_define.php -text
/cout_fonctions.php -text
/cout_lancement.php -text
/cout_options.php -text
/cout_pipelines.php -text
/cout_utils.php -text
/couteau_suisse_administrations.php -text
/couteau_suisse_fonctions.php -text
/couteau_suisse_options.php -text
exec/action_rapide.php -text
exec/admin_couteau_suisse.php -text
exec/admin_couteau_suisse_head.html -text
@ -64,6 +65,7 @@ img/decoupe/suivant_off.gif -text
img/filets/degrade.png -text
img/filets/ornement.png -text
img/formatspip-24.png -text
img/loupe.png -text
img/mailcrypt/leure.gif -text
img/nosel.gif -text
img/permute.gif -text
@ -121,6 +123,7 @@ lang/couteauprive_gl.php -text
lang/couteauprive_nl.php -text
lang/couteauprive_sk.php -text
lang/couteauprive_tr.php -text
lang/paquet-couteau_suisse_fr.php -text
/lisezmoi.txt -text
modeles/bolo.html -text
modeles/horloge.html -text
@ -197,5 +200,6 @@ outils/type_urls_action_rapide.php -text
outils/type_urls_config.php -text
outils/typo_exposants.php -text
outils/verstexte_fonctions.php -text
/paquet.xml -text
/plugin.xml -text
prive/themes/spip/images/couteau-16.png -text

4
base/cout_install.php

@ -1,3 +1,3 @@
<?php
include_spip('base/cout_upgrade');
<?php
include_spip('couteau_suisse_administrations');
?>

148
base/cout_upgrade.php

@ -1,149 +1,3 @@
<?php
if(!defined('_SPIP20100')) {
// Versions SPIP anterieures a 2.1
function couteau_suisse_install($action){
//echo "<br>INSTALL : $action";
static $ok = 0;
if(defined('_LOG_CS')) cs_log("couteau_suisse_install($action)");
include_spip('inc/meta');
include_spip('inc/plugin');
$t = plugin_get_infos('couteau_suisse');
switch ($action){
case 'test':
// affichage d'un lien ici, puisque le pipeline 'affiche_gauche' n'est pas pris en compte dans 'admin_plugin'...
if(!$ok && _request('exec') == 'admin_plugin') {
if(!defined('_SPIP19300')) echo '<br />';
include_spip('inc/presentation');
echo debut_cadre_enfonce('', true),
icone_horizontale(_T('couteau:titre'), generer_url_ecrire('admin_couteau_suisse'), find_in_path('img/couteau-24.gif'), '', false),
fin_cadre_enfonce(true);
$ok++;
}
return isset($GLOBALS['meta']['couteau_suisse_base_version'])
AND ($GLOBALS['meta']['couteau_suisse_base_version']>=$t['version_base'])
AND isset($GLOBALS['meta']['tweaks_actifs']);
break;
case 'install':
couteau_suisse_upgrade('couteau_suisse_base_version',$t['version_base']);
break;
case 'uninstall':
couteau_suisse_vider_tables('couteau_suisse_base_version');
break;
}
}
}
// desinstallation des donnees du plugin
function couteau_suisse_vider_tables($nom_meta_base_version) {
effacer_meta($nom_meta_base_version);
// effacement de toutes les metas du Couteau Suisse
foreach(array_keys($GLOBALS['meta']) as $meta) {
if(strpos($meta, 'tweaks_') === 0) effacer_meta($meta);
if(strpos($meta, 'cs_') === 0) effacer_meta($meta);
}
ecrire_metas(); # Pour SPIP 1.92
// effacement des repertoires temporaires
include_spip('inc/getdocument');
foreach(array(_DIR_CS_TMP, _DIR_VAR.'couteau-suisse') as $dir)
if(@file_exists($dir)) effacer_repertoire_temporaire($dir);
// fichier RSS temporaire
include_spip('cout_define');
@unlink(_CS_TMP_RSS);
// retrait de l'inclusion eventuelle dans config/mes_options.php
include_spip('cout_utils');
cs_verif_FILE_OPTIONS(false, true);
}
// installation des tables du plugin et mises a jour
function couteau_suisse_upgrade($nom_meta_base_version, $version_cible){
//echo "<br>UPGRADE : $nom_meta_base_version,$version_cible,",$GLOBALS['meta'][$nom_meta_base_version];
if(defined('_LOG_CS')) cs_log("couteau_suisse_upgrade($nom_meta_base_version, $version_cible)");
$current_version = 0.0;
if( (!isset($GLOBALS['meta'][$nom_meta_base_version]))
|| (($current_version = $GLOBALS['meta'][$nom_meta_base_version])!=$version_cible)){
if ($current_version==0.0){
include_spip('base/create');
creer_base();
}
if (version_compare($current_version, $tmp='1.0','<')){
echo '<h4>',_T('couteau:titre'),' - Upgrade ',$tmp,'</h4>';
cs_suppr_metas_var('set_options');
cs_suppr_metas_var('radio_set_options3');
cs_suppr_metas_var('radio_set_options', 'radio_set_options4');
cs_suppr_metas_var('radio_type_urls', 'radio_type_urls3');
cs_suppr_metas_var('radio_type_urls2', 'radio_type_urls3');
cs_suppr_metas_var('radio_filtrer_javascript', 'radio_filtrer_javascript3');
cs_suppr_metas_var('radio_filtrer_javascript2', 'radio_filtrer_javascript3');
cs_suppr_metas_var('radio_suivi_forums', 'radio_suivi_forums3');
cs_suppr_metas_var('desactive_cache');
cs_suppr_metas_var('radio_desactive_cache', 'radio_desactive_cache3');
cs_suppr_metas_var('target_blank');
cs_suppr_metas_var('url_glossaire_externe', 'url_glossaire_externe2');
cs_suppr_metas_var('');
effacer_meta('cs_decoupe');
if(defined('_SPIP19300')) {
if(@$metas_vars['radio_desactive_cache3']==1) $metas_vars['radio_desactive_cache4']=-1;
cs_suppr_metas_var('radio_desactive_cache3');
}
foreach(array('cs_decoration', 'cs_decoration_racc', 'cs_smileys', 'cs_smileys_racc', 'cs_chatons', 'cs_chatons_racc',
'cs_jcorner', 'cs_couleurs', 'cs_couleurs_racc', 'cs_filets_sep', 'cs_filets_sep_racc', 'cs_insertions') as $meta)
effacer_meta($meta);
ecrire_meta($nom_meta_base_version, $current_version=$tmp);
}
if (version_compare($current_version, $tmp='1.1','<')){
echo '<h4>',_T('couteau:titre'),' - Upgrade ',$tmp,'</h4>';
effacer_meta('tweaks_contribs');
ecrire_meta($nom_meta_base_version, $current_version=$tmp);
}
ecrire_metas();
}
}
function cs_suppr_metas_var($meta, $new = false) {
global $metas_vars;
if(!isset($metas_vars[$meta])) return;
if($new) {
if(preg_match(',([0-9A-Za-z_-]*)\(('.'[0-9A-Za-z_-]*=[A-Za-z_:-]+\|[0-9A-Za-z_:=>|-]+'.')\),', $metas_vars[$meta], $reg))
$metas_vars[$new] = $reg[1];
else $metas_vars[$new] = $metas_vars[$meta];
}
unset($metas_vars[$meta]);
}
/*******************/
/* PACKS DE CONFIG */
/*******************/
function cout_install_pack($pack, $redirige=false) {
global $metas_vars, $metas_outils;
$pack = &$GLOBALS['cs_installer'][$pack];
if(is_string($pack) && function_exists($pack)) $pack = $pack();
effacer_meta('tweaks_actifs');
$metas_vars = $metas_outils = array();
foreach(preg_split('%\s*[,|]\s*%', $pack['outils']) as $o) $metas_outils[trim($o)]['actif'] = 1;
if(is_array($pack['variables'])) foreach($pack['variables'] as $i=>$v) $metas_vars[$i] = $v;
ecrire_meta('tweaks_actifs', serialize($metas_outils));
ecrire_meta('tweaks_variables', serialize($metas_vars));
// tout recompiler
if($redirige) cout_exec_redirige();
}
// redirige vers la page exec en cours en vue une reinitialisation du Couteau Suisse
// si $arg==false alors la redirection ne se fera pas (procedure d'installation par exemple)
function cout_exec_redirige($arg='', $recompiler=true) {
if($recompiler) {
ecrire_metas();
cs_initialisation(true);
include_spip('inc/invalideur');
suivre_invalideur("1"); # tout effacer
purger_repertoire(_DIR_SKELS);
purger_repertoire(_DIR_CACHE);
}
if($arg!==false) {
include_spip('inc/headers');
redirige_par_entete(generer_url_ecrire(_request('exec'), $arg, true));
}
}
include_spip('couteau_suisse_administrations');
?>

4
config_outils.php

@ -10,8 +10,8 @@ if(!defined("_ECRIRE_INC_VERSION")) return;
// Noter :
// outils/mon_outil.php : inclus par les pipelines de l'outil
// outils/mon_outil_options.php : inclus par cout_options.php
// outils/mon_outil_fonctions.php : inclus par cout_fonctions.php
// outils/mon_outil_options.php : inclus par couteau_suisse_options.php
// outils/mon_outil_fonctions.php : inclus par couteau_suisse_fonctions.php
cs_log("inclusion de config_outils.php");
//-----------------------------------------------------------------------------//

10
cout_lancement.php

@ -41,7 +41,7 @@ function cs_preg_quote(&$item) {
}
// lit ecrit les metas et initialise $cs_metas_pipelines
// cette fonction est appellee par cout_options a chaque hit de la page
// cette fonction est appellee par couteau_suisse_options a chaque hit de la page
function cs_initialisation($forcer=false, $init_includes=true) {
global $cs_metas_pipelines, $metas_outils;
static $deja_passe_ici = 0;
@ -101,7 +101,7 @@ if($log) cs_log("$rand -- foreach(\$outils) : cs_initialisation_d_un_outil()");
cs_initialisation_d_un_outil($id = $outil['id'], $description_outil, false);
// installer $cs_metas_pipelines
$cs_metas_pipelines = array();
if($log) cs_log("$rand -- cs_initialise_includes()... cout_fonctions.php sera peut-etre inclus.");
if($log) cs_log("$rand -- cs_initialise_includes()... couteau_suisse_fonctions.php sera peut-etre inclus.");
// creer les includes (config/mes_options, mes_options et mes_fonctions) et le fichier de controle pipelines.php
if($init_includes) cs_initialise_includes(count($metas_outils));
// verifier le fichier d'options _FILE_OPTIONS (ecrire/mes_options.php ou config/mes_options.php)
@ -151,7 +151,7 @@ function cs_echappe_balises($balises, $fonction, $texte, $arg=NULL){
if(!strlen($texte)) return '';
if (($fonction!==false) && !function_exists($fonction)) {
// chargement des fonctions
include_spip('cout_fonctions');
include_spip('couteau_suisse_fonctions');
if (!function_exists($fonction)) {
spip_log("Erreur - cs_echappe_balises() : $fonction() non definie dans : ".$_SERVER['REQUEST_URI']);
return $texte;
@ -211,7 +211,9 @@ if(defined('_LOG_CS')) cs_log(" -- fichier $fo absent ".($ok?'mais cree avec l\'
// liste des barres typo disponibles
function cs_pp_liste_barres($outil=false) {
global $metas_vars;
include_spip('inc/barre_outils');
// pour barre_outils_liste() qu'on trouve maintenant dans l'extension porte_plume
if(defined('_SPIP30000')) include_spip('public/parametrer');
else include_spip('inc/barre_outils');
if (!$sets = barre_outils_liste()) return array();
if($outil) foreach($sets as $f=>$b) {
$v = 'pp_'.$b.'_'.$outil;

2
cout_pipelines.php

@ -148,6 +148,7 @@ function couteau_suisse_propres_creer_chaine_url($flux){
return eval_metas_pipelines($flux, 'propres_creer_chaine_url');
}
// eux fonctions obsoletes, conservees pour SPIP<3.0 :
// le contenu du sous-menu est gere par les lames elles-memes
function couteau_suisse_bt_toolbox($params) {
global $cs_metas_pipelines;
@ -161,7 +162,6 @@ function couteau_suisse_bt_toolbox($params) {
$params['flux'] .= produceWharf('couteau_suisse', '', $tableau_formulaire);
return $params;
}
// bouton principal du Couteau Suisse
function couteau_suisse_bt_gadgets($params) {
global $cs_metas_pipelines;

6
cout_utils.php

@ -320,7 +320,7 @@ function cs_sauve_configuration() {
. "\t'variables' => array(\n\t" . join(",\n\t", $metas_actifs) . "\n\t)\n);} # $nom_pack #\n";
ecrire_fichier(_DIR_CS_TMP.'config.php', '<'."?php\n// Configuration de controle pour le plugin 'Couteau Suisse'\n\n$sauve?".'>');
if(@$_GET['cmd']=='pack') $GLOBALS['cs_pack_actuel'] = $temp;
if(_request('cmd')=='pack' || (_request('cmd')=='descrip' && _request('outil')=='pack')) $GLOBALS['cs_pack_actuel'] = $temp;
}
// cree les tableaux $infos_pipelines et $infos_fichiers, puis initialise $cs_metas_pipelines
@ -333,8 +333,8 @@ function cs_initialise_includes($count_metas_outils) {
// variables temporaires
$temp_js_html = $temp_css_html = $temp_css = $temp_js = $temp_jq = $temp_jq_init = $temp_filtre_imprimer = array();
@define('_CS_HIT_EXTERNE', 1500);
// inclure d'office outils/cout_fonctions.php
if($temp=cs_lire_fichier_php("outils/cout_fonctions.php"))
// inclure d'office outils/couteau_suisse_fonctions.php
if($temp=cs_lire_fichier_php("outils/couteau_suisse_fonctions.php"))
$infos_fichiers['code_fonctions'][] = $temp;
// variable de verification
$infos_fichiers['code_options'][] = "\$GLOBALS['cs_verif']=$count_metas_outils;";

148
couteau_suisse_administrations.php

@ -0,0 +1,148 @@
<?php
if(!defined('_SPIP20100')) {
// Versions SPIP anterieures a 2.1
function couteau_suisse_install($action){
//echo "<br>INSTALL : $action";
static $ok = 0;
if(defined('_LOG_CS')) cs_log("cout_install($action)");
include_spip('inc/meta');
include_spip('inc/plugin');
$t = plugin_get_infos('couteau_suisse');
switch ($action){
case 'test':
// affichage d'un lien ici, puisque le pipeline 'affiche_gauche' n'est pas pris en compte dans 'admin_plugin'...
if(!$ok && _request('exec') == 'admin_plugin') {
if(!defined('_SPIP19300')) echo '<br />';
include_spip('inc/presentation');
echo debut_cadre_enfonce('', true),
icone_horizontale(_T('couteau:titre'), generer_url_ecrire('admin_couteau_suisse'), find_in_path('img/couteau-24.gif'), '', false),
fin_cadre_enfonce(true);
$ok++;
}
return isset($GLOBALS['meta']['couteau_suisse_base_version'])
AND ($GLOBALS['meta']['couteau_suisse_base_version']>=$t['version_base'])
AND isset($GLOBALS['meta']['tweaks_actifs']);
break;
case 'install':
cout_upgrade('couteau_suisse_base_version',$t['version_base']);
break;
case 'uninstall':
cout_vider_tables('couteau_suisse_base_version');
break;
}
}
}
// desinstallation des donnees du plugin
function couteau_suisse_vider_tables($nom_meta_base_version) {
effacer_meta($nom_meta_base_version);
// effacement de toutes les metas du Couteau Suisse
foreach(array_keys($GLOBALS['meta']) as $meta) {
if(strpos($meta, 'tweaks_') === 0) effacer_meta($meta);
if(strpos($meta, 'cs_') === 0) effacer_meta($meta);
}
ecrire_metas(); # Pour SPIP 1.92
// effacement des repertoires temporaires
include_spip('inc/getdocument');
foreach(array(_DIR_CS_TMP, _DIR_VAR.'couteau-suisse') as $dir)
if(@file_exists($dir)) effacer_repertoire_temporaire($dir);
// fichier RSS temporaire
include_spip('cout_define');
@unlink(_CS_TMP_RSS);
// retrait de l'inclusion eventuelle dans config/mes_options.php
include_spip('cout_utils');
cs_verif_FILE_OPTIONS(false, true);
}
// installation des tables du plugin et mises a jour
function couteau_suisse_upgrade($nom_meta_base_version, $version_cible){
if(defined('_LOG_CS')) cs_log("cout_upgrade($nom_meta_base_version, $version_cible)");
$current_version = 0.0;
if( (!isset($GLOBALS['meta'][$nom_meta_base_version]))
|| (($current_version = $GLOBALS['meta'][$nom_meta_base_version])!=$version_cible)){
if ($current_version==0.0){
include_spip('base/create');
creer_base();
}
if (version_compare($current_version, $tmp='1.0','<')){
echo '<h4>',_T('couteau:titre'),' - Upgrade ',$tmp,'</h4>';
cs_suppr_metas_var('set_options');
cs_suppr_metas_var('radio_set_options3');
cs_suppr_metas_var('radio_set_options', 'radio_set_options4');
cs_suppr_metas_var('radio_type_urls', 'radio_type_urls3');
cs_suppr_metas_var('radio_type_urls2', 'radio_type_urls3');
cs_suppr_metas_var('radio_filtrer_javascript', 'radio_filtrer_javascript3');
cs_suppr_metas_var('radio_filtrer_javascript2', 'radio_filtrer_javascript3');
cs_suppr_metas_var('radio_suivi_forums', 'radio_suivi_forums3');
cs_suppr_metas_var('desactive_cache');
cs_suppr_metas_var('radio_desactive_cache', 'radio_desactive_cache3');
cs_suppr_metas_var('target_blank');
cs_suppr_metas_var('url_glossaire_externe', 'url_glossaire_externe2');
cs_suppr_metas_var('');
effacer_meta('cs_decoupe');
if(defined('_SPIP19300')) {
if(@$metas_vars['radio_desactive_cache3']==1) $metas_vars['radio_desactive_cache4']=-1;
cs_suppr_metas_var('radio_desactive_cache3');
}
foreach(array('cs_decoration', 'cs_decoration_racc', 'cs_smileys', 'cs_smileys_racc', 'cs_chatons', 'cs_chatons_racc',
'cs_jcorner', 'cs_couleurs', 'cs_couleurs_racc', 'cs_filets_sep', 'cs_filets_sep_racc', 'cs_insertions') as $meta)
effacer_meta($meta);
ecrire_meta($nom_meta_base_version, $current_version=$tmp);
}
if (version_compare($current_version, $tmp='1.1','<')){
echo '<h4>',_T('couteau:titre'),' - Upgrade ',$tmp,'</h4>';
effacer_meta('tweaks_contribs');
ecrire_meta($nom_meta_base_version, $current_version=$tmp);
}
ecrire_metas();
}
}
function cs_suppr_metas_var($meta, $new = false) {
global $metas_vars;
if(!isset($metas_vars[$meta])) return;
if($new) {
if(preg_match(',([0-9A-Za-z_-]*)\(('.'[0-9A-Za-z_-]*=[A-Za-z_:-]+\|[0-9A-Za-z_:=>|-]+'.')\),', $metas_vars[$meta], $reg))
$metas_vars[$new] = $reg[1];
else $metas_vars[$new] = $metas_vars[$meta];
}
unset($metas_vars[$meta]);
}
/*******************/
/* PACKS DE CONFIG */
/*******************/
function cout_install_pack($pack, $redirige=false) {
global $metas_vars, $metas_outils;
$pack = &$GLOBALS['cs_installer'][$pack];
if(is_string($pack) && function_exists($pack)) $pack = $pack();
effacer_meta('tweaks_actifs');
$metas_vars = $metas_outils = array();
foreach(preg_split('%\s*[,|]\s*%', $pack['outils']) as $o) $metas_outils[trim($o)]['actif'] = 1;
if(is_array($pack['variables'])) foreach($pack['variables'] as $i=>$v) $metas_vars[$i] = $v;
ecrire_meta('tweaks_actifs', serialize($metas_outils));
ecrire_meta('tweaks_variables', serialize($metas_vars));
// tout recompiler
if($redirige) cout_exec_redirige();
}
// redirige vers la page exec en cours en vue une reinitialisation du Couteau Suisse
// si $arg==false alors la redirection ne se fera pas (procedure d'installation par exemple)
function cout_exec_redirige($arg='', $recompiler=true) {
if($recompiler) {
ecrire_metas();
cs_initialisation(true);
include_spip('inc/invalideur');
suivre_invalideur("1"); # tout effacer
purger_repertoire(_DIR_SKELS);
purger_repertoire(_DIR_CACHE);
}
if($arg!==false) {
include_spip('inc/headers');
redirige_par_entete(generer_url_ecrire(_request('exec'), $arg, true));
}
}
?>

10
cout_fonctions.php → couteau_suisse_fonctions.php

@ -8,9 +8,9 @@ if (defined('_CS_REPORT')) error_reporting(E_ALL ^ E_NOTICE);
elseif (defined('_CS_REPORTALL')) error_reporting(E_ALL);
$GLOBALS['cs_fonctions_essai'] = 1;
//if(defined('_LOG_CS')) cs_log("INIT : cout_fonctions ($GLOBALS[cs_spip_options]/$GLOBALS[cs_options]/$GLOBALS[cs_fonctions]/$GLOBALS[cs_init])");
//if(defined('_LOG_CS')) cs_log("INIT : couteau_suisse_fonctions ($GLOBALS[cs_spip_options]/$GLOBALS[cs_options]/$GLOBALS[cs_fonctions]/$GLOBALS[cs_init])");
// plugin initialise si cout_options est OK (fin de compilation par exemple)
// plugin initialise si couteau_suisse_options est OK (fin de compilation par exemple)
if(!$GLOBALS['cs_init']) {
if($GLOBALS['cs_options']) {
if(!$GLOBALS['cs_fonctions']) {
@ -18,14 +18,14 @@ if(!$GLOBALS['cs_init']) {
if(defined('_LOG_CS')) cs_log("INCL : "._DIR_CS_TMP.'mes_fonctions.php');
@include(_DIR_CS_TMP.'mes_fonctions.php');
//if(defined('_LOG_CS')) cs_log("FIN INCL : "._DIR_CS_TMP.'mes_fonctions.php');
} // else cs_log(' FIN : cout_fonctions deja inclus');
} // else cs_log(' FIN : couteau_suisse_fonctions deja inclus');
} else {
$cs_log = function_exists('cs_log') ? 'cs_log' : 'spip_log';
$cs_log('ESSAI : cout_fonctions, mais cout_options n\'est pas inclus');
$cs_log('ESSAI : couteau_suisse_fonctions, mais couteau_suisse_options n\'est pas inclus');
}
} else {
$cs_log = function_exists('cs_log') ? 'cs_log' : 'spip_log';
$cs_log('ESSAI : cout_fonctions, mais initialisation en cours');
$cs_log('ESSAI : couteau_suisse_fonctions, mais initialisation en cours');
}
// raccourci pour le JavaScript

12
cout_options.php → couteau_suisse_options.php

@ -47,7 +47,7 @@ elseif (version_compare($GLOBALS['spip_version_code'],'1.9200','>='))
@define('_SPIP19200', 1);
else @define('_SPIP19100', 1);
// chemin du fichier de fonctions
define('_COUT_FONCTIONS_PHP', find_in_path('cout_fonctions.php'));
define('_COUT_FONCTIONS_PHP', find_in_path('couteau_suisse_fonctions.php'));
// globales de controles de passes
$GLOBALS['cs_options'] = $GLOBALS['cs_fonctions'] = $GLOBALS['cs_fonctions_essai'] = $GLOBALS['cs_init'] = $GLOBALS['cs_utils'] = $GLOBALS['cs_verif'] = 0;
// parametres d'url concernant le plugin ?
@ -66,7 +66,7 @@ if (($metas_outils['cs_comportement']['actif'] && $metas_vars['log_couteau_suiss
|| defined('_LOG_CS_FORCE') || in_array('log', $GLOBALS['cs_params'])) @define('_LOG_CS', 1);
if(defined('_LOG_CS')) {
cs_log(str_repeat('-', 80), '', sprintf('COUTEAU-SUISSE. [#%04X]. ', rand()));
cs_log('INIT : cout_options, '.$_SERVER['REQUEST_URI']);
cs_log('INIT : couteau_suisse_options, '.$_SERVER['REQUEST_URI']);
}
// on passe son chemin si un reset general est demande
@ -74,7 +74,7 @@ $zap = _request('cmd')=='resetall';
// lancer maintenant les options du Couteau Suisse
if($zap)
cs_log(' FIN : cout_options sans initialisation du plugin');
cs_log(' FIN : couteau_suisse_options sans initialisation du plugin');
else {
// $cs_metas_pipelines ne sert qu'a l'execution et ne comporte que :
// - le code pour <head></head>
@ -97,7 +97,7 @@ else {
// lancer l'initialisation du plugin. on force la compilation si cs=calcul
include_spip('cout_lancement');
cs_initialisation(!$cs_exists || in_array('calcul', $GLOBALS['cs_params']));
if(defined('_LOG_CS')) cs_log("PUIS : cout_options, initialisation terminee");
if(defined('_LOG_CS')) cs_log("PUIS : couteau_suisse_options, initialisation terminee");
// inclusion des options hautes de SPIP, si ce n'est pas deja fait par config/mes_options.php
if (!$GLOBALS['cs_spip_options']) {
@ -138,13 +138,13 @@ else {
}
}
// a-t-on voulu inclure cout_fonctions.php ?
// a-t-on voulu inclure couteau_suisse_fonctions.php ?
if ($GLOBALS['cs_fonctions_essai']) {
if(defined('_LOG_CS')) cs_log(" -- inclusion de : "._COUT_FONCTIONS_PHP);
@include(_COUT_FONCTIONS_PHP);
}
if(defined('_LOG_CS')) cs_log(" FIN : cout_options, cs_spip_options = $GLOBALS[cs_spip_options], cs_options = $GLOBALS[cs_options], cs_fonctions_essai = $GLOBALS[cs_fonctions_essai]");
if(defined('_LOG_CS')) cs_log(" FIN : couteau_suisse_options, cs_spip_options = $GLOBALS[cs_spip_options], cs_options = $GLOBALS[cs_options], cs_fonctions_essai = $GLOBALS[cs_fonctions_essai]");
}
// Droits pour configurer le Couteau Suisse (fonction surchargeable sans le _dist)

47
exec/admin_couteau_suisse.php

@ -11,18 +11,18 @@ include_spip('inc/autoriser');
include_spip('inc/texte');
include_spip('inc/layer');
include_spip('inc/presentation');
include_spip('base/cout_upgrade');
include_spip('couteau_suisse_administrations');
// mise a jour des donnees si envoi via formulaire
function enregistre_modif_outils($cmd){
function enregistre_modif_outils(&$cmd, &$outil){
cs_log("INIT : enregistre_modif_outils()");
global $outils, $metas_outils;
// recuperer les outils dans $_POST ou $_GET
$toggle = array();
if(isset($_GET['outil'])) $toggle[] = $_GET['outil'];
if(strlen($outil)) $toggle[] = $outil;
elseif(isset($_POST['cs_selection'])) $toggle = explode(',', $_POST['cs_selection']);
else return;
$_GET['outil'] = ($cmd!='hide' && count($toggle)==1)?$toggle[0]:'';
$outil = ($cmd!='hide' && count($toggle)==1)?$toggle[0]:'';
$i = $cmd=='hide'?'cache':'actif';
${$i} = isset($GLOBALS['meta']["tweaks_{$i}s"])?unserialize($GLOBALS['meta']["tweaks_{$i}s"]):array();
foreach($toggle as $o) if(autoriser('configurer', 'outil', 0, NULL, $outils[$o])) {
@ -52,6 +52,7 @@ cs_log("INIT : exec_admin_couteau_suisse()");
cs_minipres();
$cmd = _request('cmd');
$exec = _request('exec');
$outil = _request('outil');
include_spip('inc/cs_outils');
cs_init_plugins();
@ -90,16 +91,16 @@ cs_log("INIT : exec_admin_couteau_suisse()");
}
}
// reset des variables d'un outil
if($cmd=='reset' && strlen($_GET['outil'])){
if($cmd=='reset' && strlen($outil)){
spip_log("Reset des variables de '$_GET[outil]' par l'auteur id=$connect_id_auteur");
global $outils;
include_spip('cout_utils');
include_spip('config_outils');
if(autoriser('configurer', 'outil', 0, NULL, $outils[$_GET['outil']])) {
if(autoriser('configurer', 'outil', 0, NULL, $outils[$outil])) {
include_spip('inc/cs_outils');
cs_initialisation_d_un_outil($_GET['outil'], charger_fonction('description_outil', 'inc'), true);
foreach ($outils[$_GET['outil']]['variables'] as $a)
if(autoriser('configurer', 'variable', 0, NULL, array('nom'=>$a, 'outil'=>$outils[$_GET['outil']])))
cs_initialisation_d_un_outil($outil, charger_fonction('description_outil', 'inc'), true);
foreach ($outils[$outil]['variables'] as $a)
if(autoriser('configurer', 'variable', 0, NULL, array('nom'=>$a, 'outil'=>$outils[$outil])))
unset($metas_vars[$a]);
else spip_log("Reset interdit de la variable %$a% !!");
ecrire_meta('tweaks_variables', serialize($metas_vars));
@ -115,7 +116,7 @@ cs_log("INIT : exec_admin_couteau_suisse()");
}
// afficher la description d'un outil ?
$afficher_outil = ($cmd=='descrip' OR $cmd=='switch')?$_GET['outil']:'';
$afficher_outil = ($cmd=='descrip' OR $cmd=='switch')?$outil:'';
// initialisation generale forcee : recuperation de $outils;
cs_initialisation(true, $cmd!='noinclude');
@ -124,8 +125,8 @@ cs_log("INIT : exec_admin_couteau_suisse()");
// mise a jour des donnees si envoi via formulaire
// sinon fait une passe de verif sur les outils
if($cmd=='switch' OR $cmd=='hide'){
enregistre_modif_outils($cmd);
cout_exec_redirige(strlen($_GET['outil'])?"cmd=descrip&outil={$_GET[outil]}#cs_infos":'');
enregistre_modif_outils($cmd, $outil);
cout_exec_redirige(strlen($outil)?"cmd=descrip&outil=$outil#cs_infos":'');
}
// else
// verif_outils();
@ -139,6 +140,7 @@ cs_log("INIT : exec_admin_couteau_suisse()");
$t = unserialize($GLOBALS['meta']['plugin']);
$dir = $t['COUTEAU_SUISSE']['dir'];
$dir_type = $t['COUTEAU_SUISSE']['dir_type'];
// obsolete pour SPIP>=3.0 :
$bt_dir = $t['BARRETYPOENRICHIE']['dir'];
$bt_version = $t['BARRETYPOENRICHIE']['version'];
}
@ -175,9 +177,11 @@ cs_log("INIT : exec_admin_couteau_suisse()");
'cs_version' => $cs_version,
'exec' => _request('exec'),
)));
echo "<br /><br /><br />";
if(!defined('_SPIP30000')) echo "<br /><br /><br />";
gros_titre(couteauprive_T('titre'), '', false);
echo barre_onglets("configuration", 'couteau_suisse');
// Onglet pour SPIP<3.0
if(!defined('_SPIP30000')) echo barre_onglets("configuration", 'couteau_suisse');
echo quelques_verifications($bt_version);
@ -229,7 +233,8 @@ cs_log("INIT : exec_admin_couteau_suisse()");
'</div><br class="conteneur" /><div class="cs_patience"><br />'.http_img_pack('searching.gif','*','').' ...</div>';
flush();
echo '<div class="conteneur"><div id="cs_infos" class="cs_infos">',
$cmd=='pack'?cs_description_pack():description_outil2($afficher_outil),
($cmd=='pack' || ($cmd=='descrip' && $outil=='pack'))
?cs_description_pack():description_outil2($afficher_outil),
'</div><script type="text/javascript"><!--
var cs_descripted = "', $afficher_outil, '";
document.write("<style type=\'text/css\'>#csjs{display:none;}<\/style>");
@ -254,12 +259,14 @@ if(!window.jQuery) document.write('".str_replace('/','\/',addslashes(propre('<p>
// verification d'une base venant de SPIP 1.8
$tmp = spip_query('DESCRIBE spip_meta valeur');
$tmp = function_exists('spip_fetch_array')?spip_fetch_array($tmp):sql_fetch($tmp);
if($tmp['Type']!='text')
if(strlen($tmp['Type']) && $tmp['Type']!='text')
$res .= "<p style=\"color:red;\">Attention : votre base semble ancienne et le Couteau Suisse ne va pas bien fonctionner.</p><p>La table 'spip_meta' a pour type de valeur '$tmp[Type]' au lieu de 'text'.</p>";
// verification de la barre typo V2
$mini = '2.5.3';
if(strlen($bt_version) and (version_compare($bt_version,$mini,'<')))
$res .= "<p>".couteauprive_T('erreur:bt', array('version'=>$bt_version, 'mini'=>$mini))."</p>";
if(!defined('_SPIP30000')) {
// verification de la barre typo V2 (SPIP<3.0)
$mini = '2.5.3';
if(strlen($bt_version) and (version_compare($bt_version,$mini,'<')))
$res .= "<p>".couteauprive_T('erreur:bt', array('version'=>$bt_version, 'mini'=>$mini))."</p>";
}
return "<div style='font-size:85%'>$res</div>";
}

2
exec/cs_boite_rss.php

@ -53,7 +53,7 @@ function exec_cs_boite_rss_dist() {
}
} else {
// pour cs_lien()
include_spip('cout_fonctions');
include_spip('couteau_suisse_fonctions');
$p = '<span style="color: red;">'._T('couteauprive:erreur:probleme', array('pb'=>cs_lien(_CS_RSS_SOURCE,_T('couteauprive:erreur:distant')))).'</span>';
}
$du = affdate_heure(date('Y-m-d H:i:s',time()));

2
exec/cs_version.php

@ -37,7 +37,7 @@ function exec_cs_version_dist() {
ecrire_metas();
}
include_spip('inc/texte');
include_spip('cout_fonctions'); // fonctions pour les pipelines
include_spip('couteau_suisse_fonctions'); // fonctions pour les pipelines
if (!$distant)
return ajax_retour('<span style="color: red;">'._T('couteauprive:erreur:probleme', array('pb'=>cs_lien(_URL_CS_PLUGIN_XML,_T('couteauprive:erreur:distant')))).'</span>');
ajax_retour(ptobr(propre($distant==$version?_T('couteauprive:version_a_jour'):(

2
exec/description_outil.php

@ -30,7 +30,7 @@ cs_log(" -- appel de charger_fonction('description_outil', 'inc') et de descript
cs_log(" FIN : exec_description_outil_dist() - Appel maintenant de ajax_retour() pour afficher la ligne de configuration de l'outil");
include_spip('inc/texte');
include_spip('cout_fonctions'); // fonctions pour les pipelines
include_spip('couteau_suisse_fonctions'); // fonctions pour les pipelines
ajax_retour(propre($descrip));
}
?>

2
fonds/type_urls.html

@ -94,7 +94,7 @@ function ar_load() {
</BOUCLE_tu>
</select></label>
&nbsp;
<label for="ar_num_objet"><b><:couteauprive:urls_num_objet:></b>&nbsp;<input class="ar_num_objet" id="ar_num_objet" name="ar_num_objet" size="5" value="#ENV*{ar_num_objet}"/></label><img id="ar_chercher" style="vertical-align:bottom; cursor:pointer; margin-left:1em;" title="<:couteauprive:urls_rechercher:>" src="#EVAL{_DIR_IMG_PACK}loupe.png" alt="<:bouton_chercher:>"/>
<label for="ar_num_objet"><b><:couteauprive:urls_num_objet:></b>&nbsp;<input class="ar_num_objet" id="ar_num_objet" name="ar_num_objet" size="5" value="#ENV*{ar_num_objet}"/></label><img id="ar_chercher" style="vertical-align:bottom; cursor:pointer; margin-left:1em;" title="<:couteauprive:urls_rechercher:>" src="#EVAL{_DIR_PLUGIN_COUTEAU_SUISSE}/img/loupe.png" alt="<:bouton_chercher:>"/>
</div>
<div style="text-align:left; margin-top:1em;">
<div style="font-weight:bold"><:couteauprive:urls_titre_objet:></div>

BIN
img/loupe.png

After

Width: 26  |  Height: 20  |  Size: 914 B

2
inc/cs_outils.php

@ -54,7 +54,7 @@ function cs_initialisation_d_un_outil($outil_, $description_outil, $modif) {
return $description_outil($outil_, 'admin_couteau_suisse', $modif);
}
// renvoie le configuration du pack actuel
// renvoie la configuration du pack actuel
function cs_description_pack() {
if(!isset($GLOBALS['cs_pack_actuel'])) return '';
return debut_cadre_relief('', true)

22
lang/paquet-couteau_suisse_fr.php

@ -0,0 +1,22 @@
<?php
// This is a SPIP language file -- Ceci est un fichier langue de SPIP
if (!defined('_ECRIRE_INC_VERSION')) return;
$GLOBALS[$GLOBALS['idx_lang']] = array(
'couteau_suisse_description' => 'Réunit en un seul plugin une liste de petites fonctionnalités nouvelles et utiles améliorant la gestion de votre site SPIP.
Chacun de ces outils peut être activé ou non par l\'utilisateur sur [la page d\'administration du plugin->./?exec=admin_couteau_suisse] et gérer un certain nombre de variables : cliquer sur {{Configuration}}, puis choisir l\'onglet {{Le Couteau Suisse}}.
Les catégories disponibles sont : Administration, Sécurité, Interface privée, Améliorations des textes, Raccourcis typographiques, Affichage public, Balises, filtres, critères.
Découvrez dans ce plugin vos outils favoris : {Supprime le numéro}, {Format des URLs}, {Exposants typographiques}, {Guillemets typographiques}, {Belles puces}, {Lutte contre le SPAM}, {Mailcrypt}, {Belles URLs}, {SPIP et les liens... externes}, {Smileys}, {Un sommaire pour vos articles}, {Découpe en pages et onglets}, etc., etc.
N\'hésitez pas à consulter les articles de documentation du plugin publiés sur : [spip-contrib.net->http://www.spip-contrib.net/Le-Couteau-Suisse].
Compatibilité : SPIP v1.92x, v2.x.x et v3.0',
'couteau_suisse_slogan' => 'Plein de petites fonctionnalités nouvelles et utiles à votre site !',
);
?>

50
paquet.xml

@ -0,0 +1,50 @@
<paquet
prefix="couteau_suisse"
categorie="maintenance"
version="1.8.42.00"
etat="stable"
compatibilite="[3.0.0-dev;["
logo="img/couteau-50.gif"
schema="1.1"
documentation="http://www.spip-contrib.net/Le-Couteau-Suisse"
>
<nom>&lt;multi>[en]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[it]Coltellino Svizzero&lt;/multi></nom>
<auteur>Patrice Vanneufville~&#169;~2007-2011</auteur>
<copyright>2007-2011</copyright>
<licence lien="http://www.gnu.org/licenses/gpl-3.0.html">GPL</licence>
<credit>Collectif SPIP, Vincent Ramos, Maïeul Rouquette, Fil, Arnaud Ventre, Joseph Larmarange, Cerdic, Pierre Andrews (Mortimer), IZO, Phil, Jérôme Combaz, Bertrand Marne, Têtue, Aurélien Pierard, FredoMkb, Sylvain, BoOz, Alexis Roussel, Paolo, PatV, Yohann(potter64), Nicolas Hoizey, Piero Wbmstr, etc.</credit>
<traduire module="couteau" reference="fr" gestionnaire="salvatore" />
<traduire module="couteauprive" reference="fr" gestionnaire="salvatore" />
<chemin path='' />
<pipeline nom="affichage_final" inclure="cout_pipelines.php" />
<pipeline nom="insert_head_css" inclure="cout_pipelines.php" />
<pipeline nom="insert_head" inclure="cout_pipelines.php" />
<pipeline nom="header_prive" inclure="cout_pipelines.php" />
<pipeline nom="boite_infos" inclure="cout_pipelines.php" />
<pipeline nom="affiche_gauche" inclure="cout_pipelines.php" />
<pipeline nom="affiche_droite" inclure="cout_pipelines.php" />
<pipeline nom="affiche_milieu" inclure="cout_pipelines.php" />
<pipeline nom="nettoyer_raccourcis_typo" inclure="cout_pipelines.php" />
<pipeline nom="pre_propre" inclure="cout_pipelines.php" />
<pipeline nom="pre_typo" inclure="cout_pipelines.php" />
<pipeline nom="post_propre" inclure="cout_pipelines.php" />
<pipeline nom="post_typo" inclure="cout_pipelines.php" />
<pipeline nom="pre_edition" inclure="cout_pipelines.php" />
<pipeline nom="post_edition" inclure="cout_pipelines.php" />
<pipeline nom="pre_boucle" inclure="cout_pipelines.php" />
<pipeline nom="creer_chaine_url" inclure="cout_pipelines.php" />
<pipeline nom="arbo_creer_chaine_url" inclure="cout_pipelines.php" />
<pipeline nom="propres_creer_chaine_url" inclure="cout_pipelines.php" />
<pipeline nom="porte_plume_barre_pre_charger" inclure="cout_pipelines.php" />
<pipeline nom="porte_plume_lien_classe_vers_icone" inclure="cout_pipelines.php" />
<!-- pipelines maison -->
<pipeline nom="pre_description_outil" inclure="cout_pipelines.php" />
<pipeline nom="fichier_distant" inclure="cout_pipelines.php" />
<pipeline nom="porte_plume_cs_pre_charger" inclure="cout_pipelines.php" />
<menu nom="couteau_suisse_config" titre="couteauprive:titre" parent="menu_configuration" icone="images/couteau-16.png" action ="admin_couteau_suisse" parametres="" />
</paquet>

12
plugin.xml

@ -1,7 +1,7 @@
<plugin>
<nom><multi>[en]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[it]Coltellino Svizzero</multi></nom>
<icon>img/couteau-50.gif</icon>
<version>1.8.41.04</version>
<version>1.8.42.00</version>
<version_base>1.1</version_base>
<auteur>Patrice Vanneufville
_ &#169; 2007-2011 - Distribu&#233; sous licence GPL
@ -159,18 +159,18 @@ Compatibilit&#224; : SPIP v1.92x, v2.0.x e v2.1.0
</multi></description>
<lien>[->http://www.spip-contrib.net/Le-Couteau-Suisse]</lien> <!-- URI de documentation -->
<options> <!-- fichier options (comme l'ancien mes_options.php) charge a chaque hit !! ne surtout pas l'appeler mes_options -->
cout_options.php
couteau_suisse_options.php
</options>
<fonctions> <!-- fichier fonctions charge a chaque recalcul (comme l'ancien mes_fonctions.php) !! ne surtout pas l'appeler mes_fonctions -->
cout_fonctions.php
couteau_suisse_fonctions.php
</fonctions>
<!-- prefixe des fonctions, filtres et fichers de votre plugin :
toutes vos fonctions doivent commencer par ce prefixe suivi de _ (ici : couteau_suisse_ma_fonction() par exemple)
toutes vos fonctions doivent commencer par ce prefixe suivi de _ (ici : cout_ma_fonction() par exemple)
C'est par ailleurs conseille pour les noms de fichier
Deux plugin ne peuvent pas avoir le meme prefixe, donc ne gardez pas celui la ! :)
-->
<prefix>couteau_suisse</prefix>
<install>base/cout_upgrade.php</install>
<prefix>cout</prefix>
<install>couteau_suisse_administrations.php</install>
<chemin dir='' />
<bouton id='couteau_suisse_config21' parent='bando_configuration'>
<icone>images/couteau-16.png</icone>

Loading…
Cancel
Save