Skip to content
Extraits de code Groupes Projets
Valider 12624d6a rédigé par Fil's avatar Fil
Parcourir les fichiers

reorganisation de inc_texte.php3 en deux parties (inc_texte et inc_filtres)....

reorganisation de inc_texte.php3 en deux parties (inc_texte et inc_filtres). Chaque partie est reorganisee de maniere "logique". --Fil
parent e810043e
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -14,6 +14,7 @@ function changer_accents($dir) { ...@@ -14,6 +14,7 @@ function changer_accents($dir) {
if (ereg('\.', $nomfich) && !ereg('(\.php3|\.html)$', $nomfich)) continue; if (ereg('\.', $nomfich) && !ereg('(\.php3|\.html)$', $nomfich)) continue;
if ($nomfich == 'accents.php3') continue; if ($nomfich == 'accents.php3') continue;
if ($nomfich == 'inc_texte.php3') continue; if ($nomfich == 'inc_texte.php3') continue;
if ($nomfich == 'inc_filtres.php3') continue;
if ($nomfich == 'inc_index.php3') continue; if ($nomfich == 'inc_index.php3') continue;
if ($nomfich == 'inc_mail.php3') continue; if ($nomfich == 'inc_mail.php3') continue;
$nomfich = "$dir/$nomfich"; $nomfich = "$dir/$nomfich";
......
<?php <?php
include ("inc_version.php3"); include ("inc_version.php3");
include_local ("inc_texte.php3"); include_local ("inc_texte.php3");
include_local ("inc_filtres.php3");
?> ?>
<HTML> <HTML>
<head> <head>
......
...@@ -91,6 +91,7 @@ include_local ("inc_connect.php3"); ...@@ -91,6 +91,7 @@ include_local ("inc_connect.php3");
include_local ("inc_meta.php3"); include_local ("inc_meta.php3");
include_local ("inc_auth.php3"); include_local ("inc_auth.php3");
include_local ("inc_texte.php3"); include_local ("inc_texte.php3");
include_local ("inc_filtres.php3");
include_local ("inc_urls.php3"); include_local ("inc_urls.php3");
include_local ("inc_mail.php3"); include_local ("inc_mail.php3");
include_local ("inc_admin.php3"); include_local ("inc_admin.php3");
......
<?php
//
// Ce fichier ne sera execute qu'une fois
if (defined("_ECRIRE_INC_FILTRES")) return;
define("_ECRIRE_INC_FILTRES", "1");
//
// divers
//
// pour les titres numerotes ("1. Titre" -> "Titre")
function supprimer_numero($texte) {
$texte = ereg_replace("^[[:space:]]*[0-9]+[.)][[:space:]]+", "", $texte);
return $texte;
}
// suppression basique et brutale de tous les <...>
function supprimer_tags($texte, $rempl = "") {
// super gavant : la regexp ci-dessous plante sous php3, genre boucle infinie !
// $texte = ereg_replace("<([^>\"']*|\"[^\"]*\"|'[^']*')*>", $rempl, $texte);
$texte = ereg_replace("<[^>]*>", $rempl, $texte);
return $texte;
}
// texte au kilometre
function textebrut($texte) {
$texte = ereg_replace("[\n\r]+", " ", $texte);
$texte = eregi_replace("<(p|br)([[:space:]][^>]*)?".">", "\n\n", $texte);
$texte = ereg_replace("^\n+", "", $texte);
$texte = ereg_replace("\n+$", "", $texte);
$texte = ereg_replace("\n +", "\n", $texte);
$texte = supprimer_tags($texte);
$texte = ereg_replace("(&nbsp;| )+", " ", $texte);
return $texte;
}
// pour ceux qui aiment les liens qui ouvrent une nouvelle fenetre
function liens_ouvrants ($texte) {
return ereg_replace("<a ([^>]*class=\"spip_out\")>",
"<a \\1 target=\"_blank\">", $texte);
}
// corrige les caracteres degoutants
function corriger_caracteres($texte) {
// 145,146,180 = simple quote ; 147,148 = double quote ; 150 = tiret long
return strtr($texte, chr(145).chr(146).chr(180).chr(147).chr(148).chr(150), "'''".'""-');
}
// resserrer les paragraphes pour l'intro
function PtoBR($texte){
$texte = eregi_replace("</p>", "\n", $texte);
$texte = eregi_replace("<p([[:space:]][^>]*)?".">", "<br>", $texte);
return $texte;
}
// majuscules y compris accents
function majuscules($texte) {
$suite = htmlentities($texte);
$suite = ereg_replace('&amp;', '&', $suite);
$suite = ereg_replace('&lt;', '<', $suite);
$suite = ereg_replace('&gt;', '>', $suite);
$texte = '';
if (ereg('^(.*)&([A-Za-z])([a-zA-Z]*);(.*)$', $suite, $regs)) {
$texte .= majuscules($regs[1]);
$suite = $regs[4];
$carspe = $regs[2];
$accent = $regs[3];
if (ereg('^(acute|grave|circ|uml|cedil|slash|caron|ring|tilde|elig)$', $accent))
$carspe = strtoupper($carspe);
if ($accent == 'elig') $accent = 'Elig';
$texte .= '&'.$carspe.$accent.';';
}
$texte .= strtoupper($suite);
return $texte;
}
// "127.4 ko" ou "3.1 Mo"
function taille_en_octets ($taille) {
if ($taille < 1024) {$taille .= "&nbsp;octets";}
else if ($taille < 1024*1024) {
$taille = ((floor($taille / 102.4))/10)."&nbsp;ko";
} else {
$taille = ((floor(($taille / 1024) / 102.4))/10)."&nbsp;Mo";
}
return $taille;
}
//
// date, heure, saisons
//
function vider_date($letexte) {
if (ereg("^0000-00-00", $letexte)) return '';
return $letexte;
}
function recup_heure($numdate){
if (!$numdate) return '';
if (ereg('([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2})', $numdate, $regs)) {
$heures = $regs[1];
$minutes = $regs[2];
$secondes = $regs[3];
}
return array($heures, $minutes, $secondes);
}
function heures($numdate) {
$date_array = recup_heure($numdate);
if ($date_array)
list($heures, $minutes, $secondes) = $date_array;
return $heures;
}
function minutes($numdate) {
$date_array = recup_heure($numdate);
if ($date_array)
list($heures, $minutes, $secondes) = $date_array;
return $minutes;
}
function secondes($numdate) {
$date_array = recup_heure($numdate);
if ($date_array)
list($heures,$minutes,$secondes) = $date_array;
return $secondes;
}
function recup_date($numdate){
if (!$numdate) return '';
if (ereg('([0-9]{1,2})/([0-9]{1,2})/([0-9]{1,2})', $numdate, $regs)) {
$jour = $regs[1];
$mois = $regs[2];
$annee = $regs[3];
if ($annee < 90){
$annee = 2000 + $annee;
} else {
$annee = 1900 + $annee ;
}
}
elseif (ereg('([0-9]{4})-([0-9]{2})-([0-9]{2})',$numdate, $regs)) {
$annee = $regs[1];
$mois = $regs[2];
$jour = $regs[3];
}
elseif (ereg('([0-9]{4})-([0-9]{2})', $numdate, $regs)){
$annee = $regs[1];
$mois = $regs[2];
}
if ($annee > 4000) $annee -= 9000;
if (substr($jour, 0, 1) == '0') $jour = substr($jour, 1);
return array($annee, $mois, $jour);
}
function affdate_base($numdate, $vue) {
global $lang;
$date_array = recup_date($numdate);
if ($date_array)
list($annee, $mois, $jour) = $date_array;
else
return '';
if ($mois > 0){
$saison = "hiver";
if (($mois == 3 AND $jour >= 21) OR $mois > 3) $saison = "printemps";
if (($mois == 6 AND $jour >= 21) OR $mois > 6) $saison = "t";
if (($mois == 9 AND $jour >= 21) OR $mois > 9) $saison = "automne";
if (($mois == 12 AND $jour >= 21) OR $mois > 12) $saison = "hiver";
}
if ($lang == "fr") {
if ($jour == '1') $jour = '1er';
$tab_mois = array('',
'janvier', 'fvrier', 'mars', 'avril', 'mai', 'juin',
'juillet', 'aot', 'septembre', 'octobre', 'novembre', 'dcembre');
$avjc = ' av. J.C.';
}
elseif ($lang == "en"){
switch($jour) {
case '1':
$jour = '1st';
break;
case '2':
$jour = '2nd';
break;
case '3':
$jour = '3rd';
break;
case '21':
$jour = '21st';
break;
case '22':
$jour = '22nd';
break;
case '23':
$jour = '23rd';
break;
case '31':
$jour = '31st';
break;
}
$tab_mois = array('',
'January', 'February', 'March', 'April', 'May', 'June',
'July', 'August', 'September', 'October', 'November', 'December');
$avjc = ' B.C.';
}
if ($jour == 0) $jour = "";
if ($jour) $jour .= ' ';
$mois = $tab_mois[(int) $mois];
if ($annee < 0) {
$annee = -$annee.$avjc;
$avjc = true;
}
else $avjc = false;
switch ($vue) {
case 'saison':
return $saison;
case 'court':
if ($avjc) return $annee;
$a = date('Y');
if ($annee < ($a - 100) OR $annee > ($a + 100)) return $annee;
if ($annee != $a) return ucfirst($mois)." $annee";
return $jour.$mois;
case 'entier':
if ($avjc) return $annee;
return "$jour$mois $annee";
case 'mois':
return "$mois";
case 'mois_annee':
if ($avjc) return $annee;
return "$mois $annee";
}
return '<blink>format non d&eacute;fini</blink>';
}
function nom_jour($numdate) {
global $lang;
$date_array = recup_date($numdate);
if ($date_array)
list($annee,$mois,$jour) = $date_array;
else
return '';
if (!$mois OR !$jour) return;
$nom = mktime(1,1,1,$mois,$jour,$annee);
$nom = date("D",$nom);
if ($lang == "fr") {
switch($nom) {
case 'Sun': $nom='dimanche'; break;
case 'Mon': $nom='lundi'; break;
case 'Tue': $nom='mardi'; break;
case 'Wed': $nom='mercredi'; break;
case 'Thu': $nom='jeudi'; break;
case 'Fri': $nom='vendredi'; break;
case 'Sat': $nom='samedi'; break;
}
}
elseif ($lang == "en") {
switch($nom) {
case 'Sun': $nom='Sunday'; break;
case 'Mon': $nom='Monday'; break;
case 'Tue': $nom='Tuesday'; break;
case 'Wed': $nom='Wednesday'; break;
case 'Thu': $nom='Thursday'; break;
case 'Fri': $nom='Friday'; break;
case 'Sat': $nom='Saturday'; break;
}
}
return $nom;
}
function jour($numdate) {
$date_array = recup_date($numdate);
if ($date_array)
list($annee,$mois,$jour) = $date_array;
else
return '';
if ($jour=="1") $jour="1er";
return $jour;
}
function mois($numdate) {
$date_array = recup_date($numdate);
if ($date_array)
list($annee,$mois,$jour) = $date_array;
else
return '';
return $mois;
}
function annee($numdate) {
$date_array = recup_date($numdate);
if ($date_array)
list($annee,$mois,$jour) = $date_array;
else
return '';
return $annee;
}
function saison($numdate) {
return affdate_base($numdate, 'saison');
}
function affdate($numdate) {
return affdate_base($numdate, 'entier');
}
function affdate_court($numdate) {
return affdate_base($numdate, 'court');
}
function affdate_mois_annee($numdate) {
return affdate_base($numdate, 'mois_annee');
}
function nom_mois($numdate) {
return affdate_base($numdate, 'mois');
}
//
// alignements
//
function justifier($letexte) {
if ($letexte)
$letexte = eregi_replace("<p([[:space:]][^>]*)?".">", "<p\\1 align='justify'>", $letexte);
return $letexte;
}
function aligner_droite($letexte) {
if ($letexte)
$letexte = eregi_replace("<p([[:space:]][^>]*)?".">", "<p\\1 align='right'>",$letexte);
return $letexte;
}
function aligner_gauche($letexte) {
$letexte = eregi_replace("^<p([[:space:]][^>]*)?".">", "", trim($letexte));
if ($letexte)
$letexte = eregi_replace("<p([[:space:]][^>]*)?".">", "<p\\1 align='left'>",$letexte);
return $letexte;
}
function centrer($letexte) {
$letexte = eregi_replace("^<p([[:space:]][^>]*)?".">", "", trim($letexte));
if ($letexte)
$letexte = eregi_replace("<p([[:space:]][^>]*)?".">", "<p\\1 align='center'>",$letexte);
return $letexte;
}
...@@ -46,345 +46,120 @@ setlocale('LC_CTYPE', $lang2.'_'.$GLOBALS['lang']) || ...@@ -46,345 +46,120 @@ setlocale('LC_CTYPE', $lang2.'_'.$GLOBALS['lang']) ||
setlocale('LC_CTYPE', $GLOBALS['lang'].'_'.$lang2); setlocale('LC_CTYPE', $GLOBALS['lang'].'_'.$lang2);
// Securite : empecher l'execution de code PHP //
function interdire_scripts($source) { // diverses fonctions essentielles
$source = eregi_replace("<(\%|\?|([[:space:]]*)script)", "&lt;\\1", $source); //
return $source;
}
function supprimer_numero($texte) {
$texte = ereg_replace("^[[:space:]]*[0-9]+[.)][[:space:]]+", "", $texte);
return $texte;
}
function supprimer_tags($texte, $rempl = "") {
// super gavant : la regexp ci-dessous plante sous php3, genre boucle infinie !
// $texte = ereg_replace("<([^>\"']*|\"[^\"]*\"|'[^']*')*>", $rempl, $texte);
$texte = ereg_replace("<[^>]*>", $rempl, $texte);
return $texte;
}
function corriger_caracteres($texte) {
// corrige les caracteres degoutants
// 145,146,180 = simple quote ; 147,148 = double quote ; 150 = tiret long
return strtr($texte, chr(145).chr(146).chr(180).chr(147).chr(148).chr(150), "'''".'""-');
}
function PtoBR($texte){ // ereg_ ou preg_ ?
$texte = eregi_replace("</p>", "\n", $texte); function ereg_remplace($cherche_tableau, $remplace_tableau, $texte) {
$texte = eregi_replace("<p([[:space:]][^>]*)?".">", "<br>", $texte); global $flag_preg_replace;
return $texte;
}
function vider_date($letexte) { if ($flag_preg_replace) return preg_replace($cherche_tableau, $remplace_tableau, $texte);
if (ereg("^0000-00-00", $letexte)) return '';
return $letexte;
}
function recup_heure($numdate){ $n = count($cherche_tableau);
if (!$numdate) return '';
if (ereg('([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2})', $numdate, $regs)) { for ($i = 0; $i < $n; $i++) {
$heures = $regs[1]; $texte = ereg_replace(substr($cherche_tableau[$i], 1, -1), $remplace_tableau[$i], $texte);
$minutes = $regs[2];
$secondes = $regs[3];
} }
return array($heures, $minutes, $secondes); return $texte;
} }
function heures($numdate) {
$date_array = recup_heure($numdate);
if ($date_array)
list($heures, $minutes, $secondes) = $date_array;
return $heures;
}
function minutes($numdate) { // Mise de cote des echappements
$date_array = recup_heure($numdate); function echappe_html($letexte,$source) {
if ($date_array) //
list($heures, $minutes, $secondes) = $date_array; // Echapper les <code>...</ code>
return $minutes; //
} $regexp_echap = "<code>(([^<]|<[^/]|</[^c]|</c[^o]|</co[^d]|</cod[^e]|<\/code[^>])*)<\/code>";
while (eregi($regexp_echap, $letexte, $regs)) {
$num_echap++;
$lecode = htmlspecialchars($regs[1]);
function secondes($numdate) { // ne pas mettre le <div...> s'il n'y a qu'une ligne
$date_array = recup_heure($numdate); if (is_int(strpos($lecode,"\n")))
if ($date_array) $lecode = nl2br("<div align='left' class='spip_code'>".trim($lecode)."</div>");
list($heures,$minutes,$secondes) = $date_array;
return $secondes;
}
function recup_date($numdate){ $lecode = ereg_replace("\t", "&nbsp; &nbsp; &nbsp; &nbsp; ", $lecode);
if (!$numdate) return ''; $lecode = ereg_replace(" ", " &nbsp;", $lecode);
if (ereg('([0-9]{1,2})/([0-9]{1,2})/([0-9]{1,2})', $numdate, $regs)) { $les_echap[$num_echap] = "<tt>".$lecode."</tt>";
$jour = $regs[1]; $pos = strpos($letexte, $regs[0]);
$mois = $regs[2]; $letexte = substr($letexte,0,$pos)."___SPIP_$source$num_echap ___"
$annee = $regs[3]; .substr($letexte,$pos+strlen($regs[0]));
if ($annee < 90){
$annee = 2000 + $annee;
} else {
$annee = 1900 + $annee ;
}
}
elseif (ereg('([0-9]{4})-([0-9]{2})-([0-9]{2})',$numdate, $regs)) {
$annee = $regs[1];
$mois = $regs[2];
$jour = $regs[3];
}
elseif (ereg('([0-9]{4})-([0-9]{2})', $numdate, $regs)){
$annee = $regs[1];
$mois = $regs[2];
} }
if ($annee > 4000) $annee -= 9000;
if (substr($jour, 0, 1) == '0') $jour = substr($jour, 1);
return array($annee, $mois, $jour); //
} // Echapper les <cadre>...</cadre>
//
$regexp_echap = "<cadre>(([^<]|<[^/]|</[^c]|</c[^a]|</ca[^d]|</cad[^r]|</cadr[^e]|<\/cadre[^>])*)<\/cadre>";
while (eregi($regexp_echap, $letexte, $regs)) {
$num_echap++;
$lecode = trim(htmlspecialchars($regs[1]));
$total_lignes = count(explode("\n", $lecode)) + 1;
$les_echap[$num_echap] = "<form><textarea cols='40' rows='$total_lignes' wrap='no' class='spip_cadre'>".$lecode."</textarea></form>";
function affdate_base($numdate, $vue) { $pos = strpos($letexte, $regs[0]);
global $lang; $letexte = substr($letexte,0,$pos)."___SPIP_$source$num_echap ___"
$date_array = recup_date($numdate); .substr($letexte,$pos+strlen($regs[0]));
if ($date_array)
list($annee, $mois, $jour) = $date_array;
else
return '';
if ($mois > 0){
$saison = "hiver";
if (($mois == 3 AND $jour >= 21) OR $mois > 3) $saison = "printemps";
if (($mois == 6 AND $jour >= 21) OR $mois > 6) $saison = "t";
if (($mois == 9 AND $jour >= 21) OR $mois > 9) $saison = "automne";
if (($mois == 12 AND $jour >= 21) OR $mois > 12) $saison = "hiver";
}
if ($lang == "fr") {
if ($jour == '1') $jour = '1er';
$tab_mois = array('',
'janvier', 'fvrier', 'mars', 'avril', 'mai', 'juin',
'juillet', 'aot', 'septembre', 'octobre', 'novembre', 'dcembre');
$avjc = ' av. J.C.';
}
elseif ($lang == "en"){
switch($jour) {
case '1':
$jour = '1st';
break;
case '2':
$jour = '2nd';
break;
case '3':
$jour = '3rd';
break;
case '21':
$jour = '21st';
break;
case '22':
$jour = '22nd';
break;
case '23':
$jour = '23rd';
break;
case '31':
$jour = '31st';
break;
}
$tab_mois = array('',
'January', 'February', 'March', 'April', 'May', 'June',
'July', 'August', 'September', 'October', 'November', 'December');
$avjc = ' B.C.';
}
if ($jour == 0) $jour = "";
if ($jour) $jour .= ' ';
$mois = $tab_mois[(int) $mois];
if ($annee < 0) {
$annee = -$annee.$avjc;
$avjc = true;
} }
else $avjc = false;
switch ($vue) {
case 'saison':
return $saison;
case 'court': //
if ($avjc) return $annee; // Echapper les <html>...</ html>
$a = date('Y'); //
if ($annee < ($a - 100) OR $annee > ($a + 100)) return $annee; $regexp_echap = "<html>(([^<]|<[^/]|</[^h]|</h[^t]|</ht[^m]|</htm[^l]|<\/html[^>])*)<\/html>";
if ($annee != $a) return ucfirst($mois)." $annee"; while (eregi($regexp_echap, $letexte, $regs)) {
return $jour.$mois; $num_echap++;
$les_echap[$num_echap] = $regs[1];
case 'entier': $pos = strpos($letexte, $regs[0]);
if ($avjc) return $annee; $letexte = substr($letexte,0,$pos)."___SPIP_$source$num_echap ___"
return "$jour$mois $annee"; .substr($letexte,$pos+strlen($regs[0]));
case 'mois':
return "$mois";
case 'mois_annee':
if ($avjc) return $annee;
return "$mois $annee";
} }
return '<blink>format non d&eacute;fini</blink>'; //
} // Echapper les <a href>
//
$regexp_echap = "<a [^>]+>";
function nom_jour($numdate) { while (eregi($regexp_echap, $letexte, $regs)) {
global $lang; $num_echap++;
$date_array = recup_date($numdate); $les_echap[$num_echap] = $regs[0];
if ($date_array) $pos = strpos($letexte, $les_echap[$num_echap]);
list($annee,$mois,$jour) = $date_array; $letexte = substr($letexte,0,$pos)."___SPIP_$source$num_echap ___"
else .substr($letexte,$pos+strlen($les_echap[$num_echap]));
return '';
if (!$mois OR !$jour) return;
$nom = mktime(1,1,1,$mois,$jour,$annee);
$nom = date("D",$nom);
if ($lang == "fr") {
switch($nom) {
case 'Sun': $nom='dimanche'; break;
case 'Mon': $nom='lundi'; break;
case 'Tue': $nom='mardi'; break;
case 'Wed': $nom='mercredi'; break;
case 'Thu': $nom='jeudi'; break;
case 'Fri': $nom='vendredi'; break;
case 'Sat': $nom='samedi'; break;
}
}
elseif ($lang == "en") {
switch($nom) {
case 'Sun': $nom='Sunday'; break;
case 'Mon': $nom='Monday'; break;
case 'Tue': $nom='Tuesday'; break;
case 'Wed': $nom='Wednesday'; break;
case 'Thu': $nom='Thursday'; break;
case 'Fri': $nom='Friday'; break;
case 'Sat': $nom='Saturday'; break;
}
} }
return $nom;
}
function jour($numdate) {
$date_array = recup_date($numdate);
if ($date_array)
list($annee,$mois,$jour) = $date_array;
else
return '';
if ($jour=="1") $jour="1er";
return $jour;
}
function mois($numdate) {
$date_array = recup_date($numdate);
if ($date_array)
list($annee,$mois,$jour) = $date_array;
else
return '';
return $mois;
}
function annee($numdate) {
$date_array = recup_date($numdate);
if ($date_array)
list($annee,$mois,$jour) = $date_array;
else
return '';
return $annee;
}
function saison($numdate) {
return affdate_base($numdate, 'saison');
}
function affdate($numdate) {
return affdate_base($numdate, 'entier');
}
function affdate_court($numdate) {
return affdate_base($numdate, 'court');
}
function affdate_mois_annee($numdate) {
return affdate_base($numdate, 'mois_annee');
}
function nom_mois($numdate) { return array($letexte, $les_echap);
return affdate_base($numdate, 'mois');
} }
function majuscules($texte) { // Traitement final des echappements
$suite = htmlentities($texte); function echappe_retour($letexte, $les_echap, $source) {
$suite = ereg_replace('&amp;', '&', $suite); while(ereg("___SPIP_$source([0-9]+) ___", $letexte, $match)) {
$suite = ereg_replace('&lt;', '<', $suite); $lenum = $match[1];
$suite = ereg_replace('&gt;', '>', $suite); $cherche = $match[0];
$texte = ''; $pos = strpos($letexte, $cherche);
if (ereg('^(.*)&([A-Za-z])([a-zA-Z]*);(.*)$', $suite, $regs)) { $letexte = substr($letexte, 0, $pos). $les_echap[$lenum] . substr($letexte, $pos + strlen($cherche));
$texte .= majuscules($regs[1]);
$suite = $regs[4];
$carspe = $regs[2];
$accent = $regs[3];
if (ereg('^(acute|grave|circ|uml|cedil|slash|caron|ring|tilde|elig)$', $accent))
$carspe = strtoupper($carspe);
if ($accent == 'elig') $accent = 'Elig';
$texte .= '&'.$carspe.$accent.';';
} }
$texte .= strtoupper($suite);
return $texte;
}
function justifier($letexte) {
if ($letexte)
$letexte = eregi_replace("<p([[:space:]][^>]*)?".">", "<p\\1 align='justify'>", $letexte);
return $letexte;
}
function aligner_droite($letexte) {
if ($letexte)
$letexte = eregi_replace("<p([[:space:]][^>]*)?".">", "<p\\1 align='right'>",$letexte);
return $letexte; return $letexte;
} }
function aligner_gauche($letexte) { function couper($texte, $long) {
$letexte = eregi_replace("^<p([[:space:]][^>]*)?".">", "", trim($letexte)); $texte2 = substr($texte, 0, $long * 2); /* heuristique pour prendre seulement le necessaire */
if ($letexte) if (strlen($texte2) < strlen($texte)) $plus_petit = true;
$letexte = eregi_replace("<p([[:space:]][^>]*)?".">", "<p\\1 align='left'>",$letexte); $texte = ereg_replace("\[([^\[]*)->([^]]*)\]","\\1", $texte2);
return $letexte;
}
function centrer($letexte) {
$letexte = eregi_replace("^<p([[:space:]][^>]*)?".">", "", trim($letexte));
if ($letexte)
$letexte = eregi_replace("<p([[:space:]][^>]*)?".">", "<p\\1 align='center'>",$letexte);
return $letexte;
}
function textebrut($texte) { // supprimer les notes
$texte = ereg_replace("[\n\r]+", " ", $texte); $texte = ereg_replace("\[\[([^]]|\][^]])*\]\]", "", $texte);
$texte = eregi_replace("<(p|br)([[:space:]][^>]*)?".">", "\n\n", $texte);
$texte = ereg_replace("^\n+", "", $texte);
$texte = ereg_replace("\n+$", "", $texte);
$texte = ereg_replace("\n +", "\n", $texte);
$texte = supprimer_tags($texte);
$texte = ereg_replace("(&nbsp;| )+", " ", $texte);
return $texte;
}
// supprimer les codes typos
$texte = strtr($texte,"{}"," ");
// une fonction bien pratique pour ceux qui aiment les liens qui ouvrent $texte2 = substr($texte." ", 0, $long);
// une nouvelle fentre : utiliser (#TEXTE|liens_ouvrants) $texte2 = ereg_replace("([^[:space:]][[:space:]]+)[^[:space:]]*$", "\\1", $texte2);
function liens_ouvrants ($texte) { if ((strlen($texte2) + 3) < strlen($texte)) $plus_petit = true;
return ereg_replace("<a ([^>]*class=\"spip_out\")>", if ($plus_petit) $texte2 .= ' (...)';
"<a \\1 target=\"_blank\">", $texte); return $texte2;
} }
// si le texte contient <intro>...</intro>, prendre CES bouts-la // prendre <intro>...</intro> sinon couper a la longueur demandee
// sinon couper automatiquement la longueur demandee
function couper_intro($texte, $long) { function couper_intro($texte, $long) {
$texte = eregi_replace("(</?)intro>", "\\1intro>", $texte); // minuscules $texte = eregi_replace("(</?)intro>", "\\1intro>", $texte); // minuscules
while ($fin = strpos($texte, "</intro>")) { while ($fin = strpos($texte, "</intro>")) {
...@@ -406,50 +181,17 @@ function couper_intro($texte, $long) { ...@@ -406,50 +181,17 @@ function couper_intro($texte, $long) {
return $intro; return $intro;
} }
function couper($texte, $long) {
$texte2 = substr($texte, 0, $long * 2); /* heuristique pour prendre seulement le necessaire */
if (strlen($texte2) < strlen($texte)) $plus_petit = true;
$texte = ereg_replace("\[([^\[]*)->([^]]*)\]","\\1", $texte2);
// supprimer les notes
$texte = ereg_replace("\[\[([^]]|\][^]])*\]\]", "", $texte);
// supprimer les codes typos
$texte = strtr($texte,"{}"," ");
$texte2 = substr($texte." ", 0, $long);
$texte2 = ereg_replace("([^[:space:]][[:space:]]+)[^[:space:]]*$", "\\1", $texte2);
if ((strlen($texte2) + 3) < strlen($texte)) $plus_petit = true;
if ($plus_petit) $texte2 .= ' (...)';
return $texte2;
}
function ereg_remplace($cherche_tableau, $remplace_tableau, $texte) {
global $flag_preg_replace;
if ($flag_preg_replace) return preg_replace($cherche_tableau, $remplace_tableau, $texte);
$n = count($cherche_tableau);
for ($i = 0; $i < $n; $i++) {
$texte = ereg_replace(substr($cherche_tableau[$i], 1, -1), $remplace_tableau[$i], $texte);
}
return $texte;
}
//
// les elements de propre()
//
function taille_en_octets ($taille) { // Securite : empecher l'execution de code PHP
if ($taille < 1024) {$taille .= "&nbsp;octets";} function interdire_scripts($source) {
else if ($taille < 1024*1024) { $source = eregi_replace("<(\%|\?|([[:space:]]*)script)", "&lt;\\1", $source);
$taille = ((floor($taille / 102.4))/10)."&nbsp;ko"; return $source;
} else {
$taille = ((floor(($taille / 1024) / 102.4))/10)."&nbsp;Mo";
}
return $taille;
} }
// correction typographique francaise // correction typographique francaise
function typo_fr($letexte) { function typo_fr($letexte) {
global $flag_preg_replace; global $flag_preg_replace;
...@@ -498,89 +240,7 @@ function typo_fr($letexte) { ...@@ -498,89 +240,7 @@ function typo_fr($letexte) {
return ($letexte); return ($letexte);
} }
// typo : francaise sinon rien (pour l'instant)
//
// Mise de cote des echappements
//
function echappe_html($letexte,$source) {
//
// Echapper les <code>...</ code>
//
$regexp_echap = "<code>(([^<]|<[^/]|</[^c]|</c[^o]|</co[^d]|</cod[^e]|<\/code[^>])*)<\/code>";
while (eregi($regexp_echap, $letexte, $regs)) {
$num_echap++;
$lecode = htmlspecialchars($regs[1]);
// ne pas mettre le <div...> s'il n'y a qu'une ligne
if (is_int(strpos($lecode,"\n")))
$lecode = nl2br("<div align='left' class='spip_code'>".trim($lecode)."</div>");
$lecode = ereg_replace("\t", "&nbsp; &nbsp; &nbsp; &nbsp; ", $lecode);
$lecode = ereg_replace(" ", " &nbsp;", $lecode);
$les_echap[$num_echap] = "<tt>".$lecode."</tt>";
$pos = strpos($letexte, $regs[0]);
$letexte = substr($letexte,0,$pos)."___SPIP_$source$num_echap ___"
.substr($letexte,$pos+strlen($regs[0]));
}
//
// Echapper les <cadre>...</cadre>
//
$regexp_echap = "<cadre>(([^<]|<[^/]|</[^c]|</c[^a]|</ca[^d]|</cad[^r]|</cadr[^e]|<\/cadre[^>])*)<\/cadre>";
while (eregi($regexp_echap, $letexte, $regs)) {
$num_echap++;
$lecode = trim(htmlspecialchars($regs[1]));
$total_lignes = count(explode("\n", $lecode)) + 1;
$les_echap[$num_echap] = "<form><textarea cols='40' rows='$total_lignes' wrap='no' class='spip_cadre'>".$lecode."</textarea></form>";
$pos = strpos($letexte, $regs[0]);
$letexte = substr($letexte,0,$pos)."___SPIP_$source$num_echap ___"
.substr($letexte,$pos+strlen($regs[0]));
}
//
// Echapper les <html>...</ html>
//
$regexp_echap = "<html>(([^<]|<[^/]|</[^h]|</h[^t]|</ht[^m]|</htm[^l]|<\/html[^>])*)<\/html>";
while (eregi($regexp_echap, $letexte, $regs)) {
$num_echap++;
$les_echap[$num_echap] = $regs[1];
$pos = strpos($letexte, $regs[0]);
$letexte = substr($letexte,0,$pos)."___SPIP_$source$num_echap ___"
.substr($letexte,$pos+strlen($regs[0]));
}
//
// Echapper les <a href>
//
$regexp_echap = "<a [^>]+>";
while (eregi($regexp_echap, $letexte, $regs)) {
$num_echap++;
$les_echap[$num_echap] = $regs[0];
$pos = strpos($letexte, $les_echap[$num_echap]);
$letexte = substr($letexte,0,$pos)."___SPIP_$source$num_echap ___"
.substr($letexte,$pos+strlen($les_echap[$num_echap]));
}
return array($letexte, $les_echap);
}
//
// Traitement final des echappements
//
function echappe_retour($letexte, $les_echap, $source) {
while(ereg("___SPIP_$source([0-9]+) ___", $letexte, $match)) {
$lenum = $match[1];
$cherche = $match[0];
$pos = strpos($letexte, $cherche);
$letexte = substr($letexte, 0, $pos). $les_echap[$lenum] . substr($letexte, $pos + strlen($cherche));
}
return $letexte;
}
function typo($letexte) { function typo($letexte) {
global $lang; global $lang;
...@@ -595,9 +255,7 @@ function typo($letexte) { ...@@ -595,9 +255,7 @@ function typo($letexte) {
return $letexte; return $letexte;
} }
//
// Nettoie un texte, traite les raccourcis spip, la typo, etc. // Nettoie un texte, traite les raccourcis spip, la typo, etc.
//
function traiter_raccourcis($letexte, $les_echap = false) { function traiter_raccourcis($letexte, $les_echap = false) {
global $puce; global $puce;
global $debut_intertitre, $fin_intertitre; global $debut_intertitre, $fin_intertitre;
...@@ -609,14 +267,6 @@ function traiter_raccourcis($letexte, $les_echap = false) { ...@@ -609,14 +267,6 @@ function traiter_raccourcis($letexte, $les_echap = false) {
global $ferme_note; global $ferme_note;
global $flag_strpos_3, $flag_preg_replace, $flag_str_replace; global $flag_strpos_3, $flag_preg_replace, $flag_str_replace;
// regle l'id_article pour recuperation d'images
/* global $id_article;
global $id_article_img;
$my_id_article_img = (int) $id_article_img;
if ($my_id_article_img == 0) {
$my_id_article_img = (int) $id_article;
}*/
// Harmoniser les retours chariot // Harmoniser les retours chariot
$letexte = ereg_replace ("\r\n?", "\n",$letexte); $letexte = ereg_replace ("\r\n?", "\n",$letexte);
...@@ -805,7 +455,7 @@ function traiter_raccourcis($letexte, $les_echap = false) { ...@@ -805,7 +455,7 @@ function traiter_raccourcis($letexte, $les_echap = false) {
// en forme (paragraphes, raccourcis...) // en forme (paragraphes, raccourcis...)
// //
// ATTENTION : si vous modifiez cette partie, modifiez les DEUX // ATTENTION : si vous modifiez cette partie, modifiez les DEUX
// alternatives (if/else) de faon similaire. Merci. // alternatives (if/else) de facon similaire. Merci.
// //
$letexte = trim($letexte); $letexte = trim($letexte);
...@@ -868,7 +518,7 @@ function traiter_raccourcis($letexte, $les_echap = false) { ...@@ -868,7 +518,7 @@ function traiter_raccourcis($letexte, $les_echap = false) {
return $letexte; return $letexte;
} }
// filtre a appliquer aux champs du type #TEXTE*
function propre($letexte) { function propre($letexte) {
return interdire_scripts(traiter_raccourcis(trim($letexte))); return interdire_scripts(traiter_raccourcis(trim($letexte)));
} }
......
...@@ -92,6 +92,7 @@ function integre_image($id_document, $align, $affichage_detaille = false) { ...@@ -92,6 +92,7 @@ function integre_image($id_document, $align, $affichage_detaille = false) {
include_local("ecrire/inc_index.php3"); include_local("ecrire/inc_index.php3");
include_local("ecrire/inc_texte.php3"); include_local("ecrire/inc_texte.php3");
include_local ("ecrire/inc_filtres.php3");
include_local("inc-forum.php3"); include_local("inc-forum.php3");
......
...@@ -52,6 +52,7 @@ function formulaire_signature($id_article) { ...@@ -52,6 +52,7 @@ function formulaire_signature($id_article) {
include_local ("ecrire/inc_connect.php3"); include_local ("ecrire/inc_connect.php3");
include_local ("ecrire/inc_texte.php3"); include_local ("ecrire/inc_texte.php3");
include_local ("ecrire/inc_filtres.php3");
echo "<a name='sp$id_article'>"; echo "<a name='sp$id_article'>";
......
...@@ -11,6 +11,7 @@ include_local ("ecrire/inc_meta.php3"); ...@@ -11,6 +11,7 @@ include_local ("ecrire/inc_meta.php3");
include_local ("ecrire/inc_admin.php3"); include_local ("ecrire/inc_admin.php3");
include_local ("ecrire/inc_acces.php3"); include_local ("ecrire/inc_acces.php3");
include_local ("ecrire/inc_texte.php3"); include_local ("ecrire/inc_texte.php3");
include_local ("ecrire/inc_filtres.php3");
include_local ("ecrire/inc_mail.php3"); include_local ("ecrire/inc_mail.php3");
if (file_exists("inc-urls.php3")) { if (file_exists("inc-urls.php3")) {
include_local ("inc-urls.php3"); include_local ("inc-urls.php3");
......
...@@ -172,8 +172,9 @@ if (!file_exists("CACHE/.htaccess")) { ...@@ -172,8 +172,9 @@ if (!file_exists("CACHE/.htaccess")) {
if (lire_meta('activer_moteur') == 'oui') { if (lire_meta('activer_moteur') == 'oui') {
$fichier_index = 'CACHE/.index'; $fichier_index = 'CACHE/.index';
if ($db_ok) { if ($db_ok) {
include_local("ecrire/inc_texte.php3"); include_local ("ecrire/inc_texte.php3");
include_local("ecrire/inc_index.php3"); include_local ("ecrire/inc_filtres.php3");
include_local ("ecrire/inc_index.php3");
$s = ''; $s = '';
if ($id_article AND !deja_indexe('article', $id_article)) if ($id_article AND !deja_indexe('article', $id_article))
$s .= "article $id_article\n"; $s .= "article $id_article\n";
...@@ -194,8 +195,9 @@ if (lire_meta('activer_moteur') == 'oui') { ...@@ -194,8 +195,9 @@ if (lire_meta('activer_moteur') == 'oui') {
if ($use_cache AND file_exists($fichier_index) AND $size = filesize($fichier_index)) { if ($use_cache AND file_exists($fichier_index) AND $size = filesize($fichier_index)) {
include_local ("ecrire/inc_connect.php3"); include_local ("ecrire/inc_connect.php3");
if ($db_ok) { if ($db_ok) {
include_local("ecrire/inc_texte.php3"); include_local ("ecrire/inc_texte.php3");
include_local("ecrire/inc_index.php3"); include_local ("ecrire/inc_filtres.php3");
include_local ("ecrire/inc_index.php3");
$f = fopen($fichier_index, 'r'); $f = fopen($fichier_index, 'r');
$s = fgets($f, 100); $s = fgets($f, 100);
$suite = fread($f, $size); $suite = fread($f, $size);
...@@ -322,6 +324,7 @@ if ($id_article AND lire_meta("activer_statistiques") != "non" AND !$flag_preser ...@@ -322,6 +324,7 @@ if ($id_article AND lire_meta("activer_statistiques") != "non" AND !$flag_preser
if ($db_ok AND lire_meta("activer_syndic") != "non") { if ($db_ok AND lire_meta("activer_syndic") != "non") {
include_local ("ecrire/inc_texte.php3"); include_local ("ecrire/inc_texte.php3");
include_local ("ecrire/inc_filtres.php3");
include_local ("ecrire/inc_sites.php3"); include_local ("ecrire/inc_sites.php3");
include_local ("ecrire/inc_index.php3"); include_local ("ecrire/inc_index.php3");
executer_une_syndication(); executer_une_syndication();
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter