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']));
*/
?>