function chatons_PP_icones($flux) { $chatons = cs_lire_data_outil('chatons'); $flux['cs_chatons_drop'] = chatons_creer_icone_barre(find_in_path('img/chatons/lol.png')); $path = find_in_path('img/chatons').'/'; foreach($chatons[4] as $i=>$v) $flux[$i] = chatons_creer_icone_barre($path.$v); return $flux; }
function spam_filtre_de_test_ip($texte, $liste=false) { if (!strlen($texte)) return ''; if(!preg_match_all(',\d+\.\d+\.\d+\.\d+,', $texte, $regs, PREG_PATTERN_ORDER)) return ''; $res = array(); $spam = cs_lire_data_outil('spam'); foreach($regs[0] as $r) { $test = $spam[3]?preg_match($spam[3], "$r"):false; if(!$liste) { if($test) return 'ko'; } else $res[] = _T('couteauprive:spam_ip', array('ip'=>$r)).' '.strtolower(_T($test?'item_oui':'item_non')); } return $liste?join('<br />', $res):'ok'; }
function cs_smileys_PP_icones($flux) { $smileys = cs_lire_data_outil('smileys'); $path = find_in_path('img/smileys').'/'; // icones utilisees. Attention : mettre les drop-boutons en premier !! $flux['cs_smileys_drop'] = smileys_creer_icone_barre(find_in_path('img/smileys/mort_de_rire.png')); foreach($smileys[4] as $i=>$v) $flux[$i] = smileys_creer_icone_barre($path.$v); return $flux; }
function insertions_rempl($texte) { $ins = cs_lire_data_outil('insertions'); if(!$ins) return $texte; $texte = str_replace($ins[0][0], $ins[0][1], $texte); return preg_replace($ins[1][0], $ins[1][1], $texte); }
function balise_SMILEYS_dist($p) { // Fonctions abandonnees par le plugin Porte Plume $js_compat = !defined('_DIR_PLUGIN_PORTE_PLUME')?"":"<script type=\"text/javascript\">/*<![CDATA[*/ // From SPIP 2.0 (spip_barre.js) if(typeof barre_inserer!='function') { function barre_inserer(text,champ) { var txtarea = champ; if(document.selection){ txtarea.focus(); var r = document.selection.createRange(); if (r == null) { txtarea.selectionStart = txtarea.value.length; txtarea.selectionEnd = txtarea.selectionStart; } else { var re = txtarea.createTextRange(); var rc = re.duplicate(); re.moveToBookmark(r.getBookmark()); rc.setEndPoint('EndToStart', re); txtarea.selectionStart = rc.text.length; txtarea.selectionEnd = rc.text.length + r.text.length; } } mozWrap(txtarea, '', text); }} // From http://www.massless.org/mozedit/ if(typeof mozWrap!='function') { function mozWrap(txtarea, open, close) { var selLength = txtarea.textLength; var selStart = txtarea.selectionStart; var selEnd = txtarea.selectionEnd; if (selEnd == 1 || selEnd == 2) selEnd = selLength; var selTop = txtarea.scrollTop; // Raccourcir la selection par double-clic si dernier caractere est espace if (selEnd - selStart > 0 && (txtarea.value).substring(selEnd-1,selEnd) == ' ') selEnd = selEnd-1; var s1 = (txtarea.value).substring(0,selStart); var s2 = (txtarea.value).substring(selStart, selEnd) var s3 = (txtarea.value).substring(selEnd, selLength); txtarea.value = s1 + open + s2 + close + s3; selDeb = selStart + open.length; selFin = selEnd + close.length; window.setSelectionRange(txtarea, selDeb, selFin); txtarea.scrollTop = selTop; txtarea.focus(); return; }} /*]]>*/</script>\n"; // le tableau des smileys est present dans les metas $smileys = cs_lire_data_outil('smileys');; // valeurs par defaut $nb_col = 8; $titre = _T('couteau:smileys_dispos'); $head = ''; $liens = false; // traitement des arguments : [(#SMILEYS{arg1, arg2, ...})] $n=1; $arg = interprete_argument_balise($n++,$p); while ($arg){ // un nombre est le nombre de colonne if (preg_match(",'([0-9]+)',", $arg, $reg)) $nb_col = intval($reg[1]); // on veut un titre elseif ($arg=="'titre'") $head = "<thead><tr class=\"row_first\"><td colspan=\"$nb_col\">$titre</td></tr></thead>"; // on veut un lien d'insertion sur chaque smiley elseif ($arg=="'liens'") { $liens = true; include_spip('outils/smileys'); $smileys = smileys_uniques($smileys); } $arg = interprete_argument_balise($n++,$p); } $max = count($smileys[0]); if (!$nb_col) $nb_col = $max; $html = "<table summary=\"$titre\" class=\"spip cs_smileys smileys\">$head"; $l = 1; for ($i=0; $i<$max; $i++) { if ($i % $nb_col == 0) { $class = 'row_'.alterner($l++, 'even', 'odd'); $html .= "<tr class=\"$class\">"; } $html .= $liens ?"<td><a href=\"javascript:barre_inserer('{$smileys[0][$i]}',document.getElementById('".(defined('_SPIP19300')?'texte':'textarea_1')."'))\">{$smileys[1][$i]}</a></td>" :"<td>{$smileys[1][$i]}<br />{$smileys[0][$i]}</td>"; if ($i % $nb_col == $nb_col - 1) $html .= "</tr>\n"; } // on finit la ligne qd meme... if ($i = $max % $nb_col) $html .= str_repeat('<td> </td>', $nb_col - $i) . '</tr>'; // accessibilite : alt et title avec le smiley en texte $html = $js_compat . echappe_retour($html, 'SMILE'); $html = str_replace("'", "\'", $html); $p->code = "'$html\n</table>\n'"; $p->interdire_scripts = false; $p->type = 'html'; return $p; }
function filets_PP_icones($flux) { $filets = cs_lire_data_outil('filets_sep'); // icones utilisees. Attention : mettre les drop-boutons en premier !! $flux['cs_filets_drop'] = filets_creer_icone_barre(find_in_path('img/filets/ornement.png')); $path = find_in_path('img/filets').'/'; foreach($filets[4] as $i=>$v) $flux[$i] = filets_creer_icone_barre($path.$v); foreach($filets[5] as $i=>$v) $flux[$i] = filets_creer_icone_barre('', $v); return $flux; }
) { // champs du formulaire a visiter // un message en forum : texte, titre, auteur // un message a un auteur : texte_message_auteur_XX, sujet_message_auteur_XX, email_message_auteur_XX // inscription : nom_inscription, mail_inscription // login : session_* $spam_POST_reg = ',^(?:texte|titre|sujet|auteur|nom|e?mail|session),i'; // on compile $spam_POST en fonction des variables $_POST trouvees $spam_POST_compile = array(); foreach (array_keys($_POST) as $key) if (preg_match($spam_POST_reg, $key) && strpos($key, 'password')===false) $spam_POST_compile[] = $key; include_spip('cout_lancement'); $spam_mots = cs_lire_data_outil('spam'); // test IP compatible avec l'outil 'no_IP' $test = $spam_mots[3]?preg_match($spam_mots[3], $ip_):false; foreach ($spam_POST_compile as $var) if(!$test) if(cs_test_spam($spam_mots, $_POST[$var], $test)) $_GET['var'] = $var; if($test) $_GET['action'] = "cs_spam"; // nettoyage unset($test, $spam_mots, $spam_POST_reg, $spam_POST_compile); function action_cs_spam(){ include_spip('inc/minipres'); echo minipres( _T('couteau:lutte_spam'), '<pre>'.$_POST[$_GET['var']].'</pre><div>'._T('couteau:explique_spam').'</div>' ); exit;
function couleurs_nettoyer_raccourcis($texte) { $couleurs = cs_lire_data_outil('couleurs'); $couleurs = _COULEURS_SET===0?"$couleurs[0]|$couleurs[1]":$couleurs[0]; return preg_replace(",\[/?(bg|fond)?\s*($couleurs|couleur|color)\],i", '', $texte); }
function jcorner_insert_head($flux) { return $flux . "<script type=\"text/javascript\"><!--\nfunction jcorner_init() {\n\tif(typeof jQuery.fn.corner!='function') return;\n\t".cs_lire_data_outil('jcorner')."\n}\n// --> </script>\n"; }