etc.) pour les traitements (s'il y en a) venant apres propre() // Note : SPIP echappe egalement les modeles if($GLOBALS['cs_post_propre']) { if(strpos($flux, ']+>,', _CS_HTMLA.'$0'._CS_HTMLB, $flux); if(strpos($flux, '
]+>
,', _CS_HTMLA.'$0'._CS_HTMLB, $flux); } return $flux; } function couteau_suisse_post_typo($flux){ return eval_metas_pipelines($flux, 'post_typo'); } /******** * BASE * *******/ function couteau_suisse_pre_edition($flux){ return eval_metas_pipelines($flux, 'pre_edition'); } function couteau_suisse_post_edition($flux){ return eval_metas_pipelines($flux, 'post_edition'); } /********** * DIVERS * *********/ // pipeline SPIP<2.1 function couteau_suisse_creer_chaine_url($flux){ return eval_metas_pipelines($flux, 'creer_chaine_url'); } // pipelines SPIP>=2.1 function couteau_suisse_arbo_creer_chaine_url($flux){ return eval_metas_pipelines($flux, 'arbo_creer_chaine_url'); } 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; if(!isset($cs_metas_pipelines['bt_toolbox'])) return $params; $flux = ''; eval($cs_metas_pipelines['bt_toolbox']); $tableau_formulaire = ' ' . str_replace(array('@@champ@@','@@span@@'), array($params['champ'], 'span style="vertical-align:75%;"'), $flux) . '
'; $params['flux'] .= produceWharf('couteau_suisse', '', $tableau_formulaire); return $params; } // bouton principal du Couteau Suisse function couteau_suisse_bt_gadgets($params) { global $cs_metas_pipelines; if(!isset($cs_metas_pipelines['bt_toolbox'])) return $params; $params['flux'] .= bouton_barre_racc("swap_couche('".$GLOBALS['numero_block']['couteau_suisse']."','');", _DIR_PLUGIN_COUTEAU_SUISSE."/img/couteau-24.gif", _T('couteauprive:raccourcis_barre'), $params['help']); return $params; } function couteau_suisse_porte_plume_barre_pre_charger($flux){ eval_metas_pipelines($flux, 'porte_plume_barre_pre_charger'); $barres = pipeline('porte_plume_cs_pre_charger', array()); $r = array( "id" => 'couteau_suisse_drop', "name" => _T('couteau:pp_couteau_suisse_drop'), "className" => 'couteau_suisse_drop', "replaceWith" => '', "display" => true, ); foreach($barres as $barre=>$menu) { $r["dropMenu"] = $menu; $flux[$barre]->ajouterApres('grpCaracteres', $r); } return $flux; } function couteau_suisse_porte_plume_lien_classe_vers_icone($flux){ global $cs_metas_pipelines; if (isset($cs_metas_pipelines['porte_plume_lien_classe_vers_icone'])) { $flux['couteau_suisse_drop'] = 'couteau-19.png'; // chemin des icones-typo de couleur _chemin(sous_repertoire(_DIR_VAR, 'couteau-suisse')); eval($cs_metas_pipelines['porte_plume_lien_classe_vers_icone']); } return $flux; } // pipeline maison : bouton sous un drop Couteau Suisse function couteau_suisse_porte_plume_cs_pre_charger($flux){ return eval_metas_pipelines($flux, 'porte_plume_cs_pre_charger'); } // compatibilite avec le plugin Facteur function couteau_suisse_facteur_pre_envoi($flux){ return eval_metas_pipelines($flux, 'facteur_pre_envoi'); } // pipeline maison : pre-affichage de la description d'un outil // flux['outil'] est l'id de l'outil, $flux['actif'] est l'etat de l'outil, flux['texte'] est le texte de description function couteau_suisse_pre_description_outil($flux) { global $cs_metas_pipelines; $id = &$flux['outil']; $texte = &$flux['texte']; if(isset($cs_metas_pipelines['pre_description_outil'])) eval($cs_metas_pipelines['pre_description_outil']); return $flux; } // A l'issue du telechargement d'un fichier distant function couteau_suisse_fichier_distant($flux) { global $cs_metas_pipelines; if(isset($cs_metas_pipelines['fichier_distant'])) eval($cs_metas_pipelines['fichier_distant']); return $flux; } // callback pour la fonction cs_compile_pipe() function cs_compile_header_callback($matches) { if(defined('_LOG_CS')) cs_log(" -- compilation d'un header. Code CSS : ".couper($matches[1], 150)); return cs_recuperer_code($matches[1]); } // recherche et compilation par SPIP du contenu d'un fichier .html : contenu // $type = 'css' ou 'js' function cs_compile_header(&$flux, $type_, $suffixe='', $rem=true) { //if(defined('_LOG_CS')) cs_log(" -- recherche de compilations necessaires du header."); global $cs_metas_pipelines; if(isset($cs_metas_pipelines[$type = 'header_'.$type_.$suffixe])) { $header = &$cs_metas_pipelines[$type]; if(strpos($header, '')!==false) { $header = preg_replace_callback(',(.*),Ums', 'cs_compile_header_callback', $header); // sauvegarde en metas ecrire_meta('tweaks_pipelines', serialize($cs_metas_pipelines)); ecrire_metas(); ecrire_fichier(_DIR_CS_TMP.$type.'.html', "\n\n$header"); } $flux .= $header; } if($rem) $flux = strlen(trim($flux))?"\n\n$flux\n\n\n":"\n\n\n"; } // construction d'un hit // (recherche et compilation par SPIP du contenu d'un fichier .html : contenu) // $type = 'css' ou 'js' function cs_header_hit(&$flux, $type, $suffixe='') { $f = "header$suffixe.$type"; $nom = sous_repertoire(_DIR_VAR,'couteau-suisse') . $f; $tmp = _DIR_CS_TMP . $f; if(!file_exists($tmp) || !file_exists($nom) || $GLOBALS['var_mode']=='recalcul') { if (lire_fichier(_DIR_CS_TMP."header.$type.html", $t) && strlen($t)) { if(strpos($t, '')!==false) $t = preg_replace_callback(',(.*),Ums', 'cs_compile_header_callback', $t); ecrire_fichier($nom, $t, true); ecrire_fichier($tmp, $t, true); } else { if(defined('_LOG_CS')) cs_log(" -- fichier $fo illisible. hit non construit"); return; } } switch($type) { case 'js': $flux .= ''; break; case 'css': include_spip('inc/filtres'); $flux .= ''; break; } } /** * recupere le resultat du calcul d'une compilation de code de squelette (marcimat) * $coucou = $this->recuperer_code('[(#AUTORISER{ok}|oui)coucou]'); */ function cs_recuperer_code(&$code) {//, $contexte=array(), $options = array(), $connect=''){ $fond = _DIR_CS_TMP . md5($code); $base = $fond . '.html'; if(!file_exists($base) OR $GLOBALS['var_mode']=='recalcul') ecrire_fichier($base, $code); include_spip('public/assembler'); $fond = str_replace('../', '', $fond); // return recuperer_fond($fond, array('fond'=>$fond)); $f = inclure_page($fond, array('fond'=>$fond)); return $f['texte']; } /* if(defined('_LOG_CS')) cs_log("INIT : cout_pipelines, lgr=" . strlen($cs_metas_pipelines['pipelines'])); if(!$GLOBALS['cs_pipelines']) include_once(_DIR_CS_TMP.'pipelines.php'); if(defined('_LOG_CS')) cs_log(' -- sortie de cout_pipelines... cs_pipelines = ' . intval($GLOBALS['cs_pipelines'])); */ ?>