function titres_typo_rempl($texte){ static $arguments; if(!isset($arguments)) { $arguments = str_replace(array("'",","),array('','","'),_titres_typo_ARG); include_spip('outils/couleurs'); list($couleurs, $html) = couleurs_constantes(); if(preg_match(',couleur=#?([\w\s]+),', $arguments, $regs)) { $c = trim($regs[1]); if(($i=array_search($c, $couleurs[0]))!==false || ($i=array_search($c, $couleurs[1]))!==false) $c = $html[$couleurs[1][$i]]; $arguments .= '","couleur='.$c; } } return preg_replace_callback(",(\{\{\{\**)(.*?)\}\}\},is", create_function('$match', 'return $match[1].image_typo($match[2],"'.$arguments.'")."}}}";'), $texte); }
function couleurs_installe() { cs_log("couleurs_installe()"); list($couleurs, $html) = couleurs_constantes(); foreach ($couleurs[0] as $c=>$val) $couleurs[2][$val] = isset($html[$couleurs[1][$c]])?'#'.$html[$couleurs[1][$c]]:$couleurs[1][$c]; if (_COULEURS_SET===1) { $perso = preg_replace('^\s*(=|,)\s*^','\1', trim(_COULEURS_PERSO)); $perso = explode(',', $perso); $couleurs_perso = array(); foreach($perso as $p) { list($a, $b) = explode('=', $p, 2); $b = isset($html[$b])?'#'.$html[$b]:$b; if (strlen($a) && strlen($b)) { if(in_array($b, $couleurs[0])) $b = $couleurs[2][$b]; $couleurs_perso[$a] = $b; } elseif (strlen($a)) { $b=in_array($a, $couleurs[0])?$couleurs[2][$a]:$a; $couleurs_perso[$a] = $b; } } $couleurs[2] = $couleurs_perso; $couleurs[0] = join('|', array_keys($couleurs_perso)); $aide = array_keys($couleurs_perso); } else { $aide = array_merge($couleurs[0], $couleurs[1]); $couleurs[0] = join('|', $couleurs[0]); $couleurs[1] = join('|', $couleurs[1]); } if(defined('_DIR_PLUGIN_PORTE_PLUME')) { foreach(array('texte','fond') as $x) { $texte = _T('couteau:pp_couleur_icone_'.$x); foreach ($couleurs[2] as $i=>$c) { // icone de la couleur $i $color = isset($html[$c])?$html[$c]:str_replace('#','',$c); $couleurs[4]['couleur_'.$x.'_'.str_replace(' ','_',$i)] = array($texte, $color); } } } return array('couleurs'=>$couleurs, 'couleurs_racc'=>$aide); }