function cs_les_tests() { global $icone, $metas_vars, $metas_outils; $icone = find_in_path('img/couteau-24.gif'); test_outil($_SERVER, 'Echo de : $_SERVER[]'); test_outil($_ENV, 'Echo de : $_ENV[]'); global $HTTP_ENV_VARS; test_outil($HTTP_ENV_VARS, 'Echo de : $HTTP_ENV_VARS'); $a = array('DOCUMENT_ROOT'=>getenv('DOCUMENT_ROOT'), 'REQUEST_URI'=>getenv('REQUEST_URI'), 'SCRIPT_NAME'=>getenv('SCRIPT_NAME'), 'PHP_SELF'=>getenv('PHP_SELF'), ); test_outil($a, 'Echo de : getenv()'); // lecture des variables stockees en meta test_outil($metas_outils, 'Outils actifs : $metas_outils[]'); test_outil($metas_vars, 'Contenu des variables : $metas_vars[]'); // test de url_absolue() $relative_path = find_in_path('img/smileys'); $realpath = str_replace("\\", "/", realpath($relative_path)); $root = preg_replace(',/$,', '', $_SERVER['DOCUMENT_ROOT']); $test_result=substr($realpath, strlen($root)); $dir = dirname(!empty($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : (!empty($_SERVER['PHP_SELF']) ? $_SERVER['PHP_SELF'] : (!empty($_SERVER['SCRIPT_NAME']) ? $_SERVER['SCRIPT_NAME'] : str_replace('\\','/',__FILE__) ))); $a = array('DOCUMENT_ROOT'=>$_SERVER['DOCUMENT_ROOT'], 'REQUEST_URI'=>$_SERVER['REQUEST_URI'], 'SCRIPT_NAME'=>$_SERVER['SCRIPT_NAME'], 'PHP_SELF'=>$_SERVER['PHP_SELF'], '__FILE__'=>__FILE__, '$root'=>$root, "find_in_path('img/smileys')"=>find_in_path('img/smileys'), "str_replace('\\', '/', realpath('$relative_path'))"=>$realpath, "substr('$realpath', strlen('$root'))"=>cs_red($test_result), "return?"=>(strlen($root) && strpos($realpath, $root)===0)?'oui':'non', "url_absolue('$relative_path')"=>url_absolue($relative_path), '$dir'=>$dir, "cs_canonicalize('$dir'.'/'.'$relative_path')"=>cs_red(cs_canonicalize($dir.'/'.$relative_path)), ); test_outil($a, 'Test sur : url_absolue()'); // test de cs_canonicalize() $dir = $dir.'/'.$relative_path; $address = str_replace("//", "/", $dir); $address1 = $address2 = explode('/', $address); $keys = array_keys($address2, '..'); foreach($keys as $keypos => $key) array_splice($address2, $key - ($keypos * 2 + 1), 2); $address3 = preg_replace(',([^.])\./,', '\1', implode('/', $address2)); $a = array('$dir'=>$dir, '$address'=>$address, "explode('/', '$address')"=>$address1, 'array_keys($dessus, "..")'=>$keys, 'array_spliced()'=>$address2, '$resultat'=>cs_red($address3), ); test_outil($a, 'Test sur : cs_canonicalize()'); // charger mes_fonctions, utile pour les filtres ou certains outils include_spip('public/parametrer'); // test de typo_exposants() include_spip('inc/charsets'); $textes = array( "Pr Paul, Dr Jules, Prs Pierre & Paul, Drs Pierre & Paul. Surveiller : Pré-St-Gervais ou Dré", "Ste Lucie, St-Lucien, St.Patrick, St Patrick, st-jules (laisser?), Sts Pierre & Paul, STe Lucie (laisser?)", "Bse Lucie, Bx-Lucien, Bx.Patrick, Bx Patrick, bx-jules (laisser?), Bses Jeanne & Julie", "Ier, Iers, Iier, Iiers, Ire (laisser?), Ires (laisser?), Ière, 1ière, 1ères, 1ières", unicode2charset("Accents : Ière, 1ière, 1ères, 1ières - ro, vo, rro, 1o, 2o, 22o, Mgr J.XXIII"), unicode2charset("Ie IIème IIIe IVe Ve VIe VIIe VIIIe IXe Xe XIe XVe XXe"), unicode2charset("Erreurs de typo : 2me, 3ème, 4ième, 5mes, 6èmes, 7ièmes"), unicode2charset("Cas problématique du L (50) : XLe XLème XLième Lème LIe"), "1er 1ers, 1eres, 2e 2es, IIIe IIIes, 2nd 22nd 21nd 2ndes. Vve Martin Cie Tartuffe, 3 Bd Voltaire.", "3 ou 4 m², 3 ou 4 m2 et 2 m3. 50 Mds ou 50 Mns ! Sté, Stés, Stés, Ste, Ets, Éts, Éts, Éts, Éts ...", "Mlle, Mlles, Mme, Mmes et erreurs Melle, Melles", "Me, Me martin, Me Martin, Mes M.&T., MMes M.&T.", 'avant <a href="www.mon-1er-lien.com" title="Mon 1er titre">Mon 1er lien</a> et <img src="image.jpg" alt="logo 6e" title="Cliquez!">', 'avant [Mon 1er lien->www.mon-1er-lien.com] apres le "test"!', 'on est passé du 7e au 15e rang, pas du 17e au 5e, des 7es aux 3emes !', 'on est passé du 7eme au 15ème rang, pas du 17ieme au 5ème', ); test_outil(cs_test_fun($textes, 'typo_exposants'), 'Test sur : typo_exposants() - Charset du site : '.$GLOBALS['meta']['charset']); // test de typo_guillemets() $textes = array( 'avant <i class="style">le</i> "test"!', 'avant <code class="code">toto</code>. apres le "test"!', 'avant '.echappe_html('<script>toto</script>', 'TEST', true).'apres le "test"!', 'avant '.echappe_html('<code class="code">toto</code>', 'TEST', true).'apres le "test"!', 'avant <a href="www.monlien.com" title="Mon titre" target="_blank">Mon lien</a> apres le "test"!', 'avant [Mon lien->www.monlien.com] apres le "test"!', ); test_outil(cs_test_fun($textes, 'typo_guillemets'), 'Test sur : typo_guillemets()'); // test des smileys $textes = array( "Doubles : :-(( :-)) :)) :'-)) :’-))", "Simples : :-> :-> :-( :-D :-) |-) :'-) :’-) :'-D :’-D :'-( :’-( :-( :o) B-) ;-) :-p :-P' :-| :-/ :-o :-O", "les courts (reconnus s'il y a un espace avant) : :) :( ;) :| |) :/ :(", ); test_outil(cs_test_fun($textes, 'cs_smileys_pre_typo'), 'Test sur : cs_smileys_pre_typo()'); // test des filets $textes = array( "__degrade.png__\n__ornement.png__", "\n__6__\n__5__\n__4__\n__3__\n__2__\n__1__\n__0__\n", ); if(function_exists('filets_sep')) test_outil(cs_test_fun($textes, create_function('$t','return propre(filets_sep($t));')), 'Test sur : filets_sep()'); // test des liens orphelins $GLOBALS["liens_orphelins_etendu"]=true; $textes = array( "http://google.fr et <html>http://google.fr</html> et <code>http://google.fr</code> et <cite>http://google.fr</cite>", "Voici : http://google.fr. Voici :http://www.google.fr. Voici http://www.google.fr", "voici : https://mabanque.fr ou encore ftp://mabanque.fr!", "www.google.fr ou bien : www.google.fr", "http://*****:*****@www.commentcamarche.net:80/glossair/glossair.php3 et http://serveur:port/repertoire/fichier.html", "ftp://serveur/repertoire/fichier.qqchose, ou encore ftp.stockage.fr/tropdelaballe...", "file:///disque|/repertoire/fichier.qqchose et : file:///c|/tmp/fichier.txt", "mailto:nom@organisation.domaine et : mailto:Fabien.Gandon@sophia.inria.fr", "telnet://bbs.monsite.com/ et telnet://Nom:Password@serveur.ici:port", "telnet://*****:*****@gopa.insa.fr:23", "gopher://serveur.ici:port/repertoire/fichier#marqueur et gopher://gopher.monsite.com/", "newsrc://*****:*****@world.com, mailto:moi-moi@world.com, mailto:nom@provider.com?subject=renseignement", "moi+moi@kekpar.tm.fr, mailto:moi-moi@kekpar.tm.fr, mailto:nom@provider.com.tm.fr?subject=renseignement", 'une image ? <img src="http://mailer.e-flux.com/mail_images/toto.jpg" alt="" />', '[<img src="http://mailer.e-flux.com/mail_images/toto.jpg" alt="" />->http://www.americas-society.org/] ', ); // test_outil(cs_test_fun($textes, 'typo'), 'Test sur : echappements'); test_outil(cs_test_fun($textes, 'liens_orphelins'), 'Test sur : liens_orphelins()'); $textes = array( "mailto:nom@organisation.domaine et : mailto:Fabien.Gandon@sophia.inria.fr (on supprime ces liens)", "moi+moi@world.com, mailto:moi-moi@world.com, mailto:nom@provider.com?subject=renseignement", "pat@moi.com [->pat@moi.com] [pat->pat@moi.com]", "pat@moi.com.tm.fr [->pat@moi.com.tm.fr] [pat->pat@moi.com.tm.fr]", "<a href='mailto:moi@toto.com'>Moi</a> et : <a href='mailto:moi@toto.com'>moi@toto.com</a>", "<a href='mailto:moi@kekpar.tm.fr'>Moi</a> et : <a href='mailto:moi@kekpar.tm.fr'>moi@kekpar.tm.fr</a>", '[Navigation->/@mot.html] <a class="spip_out" href="/@mot.html">Navigation</a>', ); test_outil(cs_test_fun($textes, 'mailcrypt'), 'Test sur : mailcrypt()'); /* define('_COULEURS_FONDS', 1); define('_COULEURS_SET', 1); define('_COULEURS_PERSO', "bas =#99CC11, haut= brown, test= bleu"); couleurs_installe(); print_r(couleurs_pre_typo("to[bas]to[/bas]to[haut]to[/haut]toto[test]to[/couleur]to\nto[bg bas]to[/bg]to[bg haut]to[/bg]toto[bg test]to[/bg test]to\n")); print_r(couleurs_pre_typo("to[red]to[/red]to[bleu]to[/bleu]toto[rouge]to[/couleur]to\nto[bg red]to[/bg]to[bg bleu]to[/bg]toto[bg rouge]to[/bg rouge]to\n")); */ }
function show_file_options() { return cs_canonicalize(str_replace("../", "", _DIR_RESTREINT_ABS).cs_spip_file_options(3)); }