Old stuff/old_sites/epik/func.php
(Deskargatu)
<?php
// Fonction pour encoder les mails par neokraft.net
function hex_encode ($str)
{
$encoded = bin2hex($str);
$encoded = chunk_split($encoded, 2, '%');
$encoded = '%'.substr($encoded, 0, strlen($encoded) - 1);
return $encoded;
}
// Fonction pour enlever les balises non desirees
function text2html($str)
{
$a=array(
"/<i>(.+?)<\/i>/",
"/<b>(.+?)<\/b>/",
"/\[(https|http|ftp):\/\/([^\s\n\|]+)\|([^\]]+)\]/",
"/\[img=([^\s\n\]]+)\]/"
);
$b=array(
"<i>$1</i>",
"<b>$1</b>",
"<a href=\"$1://$2\">$3</a>",
"<img alt=\"Image sans description\" src=\"$1\" \/>",
);
# $str = htmlentities($str, ENT_QUOTES);
$str = htmlentities($str);
# $str = preg_replace("\n\-([^\n]+)","<li>$1</li>",$str);
$str= preg_replace($a,$b,$str);
$str = preg_replace("/(?:\n|\s|^)(https|http|ftp):\/\/([^\s\n\<]+)/","<a href=\"$1://$2\">$1://$2</a>",$str);
return preg_replace(
"/<a href=\"([^\"]+)\">(https|http|ftp):\/\/([^<]{30})([^<]{4,})<\/a>/",
"<a href=\"$1\">$2:\/\/$3(...)<\/a>",
$str);
}
// Fonction pour normaliser les titre, IE enlever les caracteres bizarres et espaces dans les urls
function normalise($str)
{
$str = preg_replace('/[^a-z0-9_-\s\']/','',strtolower($str));
$str = preg_replace('/[\s\']+/',' ',trim($str));
$str = str_replace(' ','-',$str);
return $str;
}
function dostats() // $var_ip , $article arguments
{
foreach(array('account','article','breves','edito','mail','visites') as $key)
{
$fichier_stat = dirname(__FILE__)."/ips/$key";
$hand = fopen($fichier_stat,"r") or next;
$contenu = fread($hand,filesize($fichier_stat));
fclose($hand);
$contenu = unserialize(base64_decode($contenu));
ereg("([0-9]{4})([0-9]{2})([0-9]{2})",$contenu['date'],$regs);
if ($regs[1] != 0 and $regs[2] != 0 and $regs[3] != 0)
{
echo "$contenu ,$key : $regs[1] $regs[2] $regs[3] => OK<br>";
array_shift($contenu);
${$key} = count($contenu);
}
}
$query = "INSERT INTO stats (annee,mois,jour,account,article,breves,edito,mail,visites) VALUES ('$regs[1]','$regs[2]','$regs[3]',$account,$article,$breves,$edito,$mail,$visites)";
echo "q: $account et $article et $breves et $edito et $mail et $visites: $query<br>";
# mysql_query($query) or die(mysql_error()."<br />".$query);
}
function ip_read($art_f)
{
$ip_file = dirname(__FILE__)."/ips/$art_f";
$hd = fopen($ip_file,"r");
$contenu = fread($hd,filesize($ip_file));
fclose($hd);
$var_ip = unserialize(base64_decode($contenu));
#
if ($var_ip['date'] != date(Ymd))
{
unset($var_ip);
$var_ip = array('date' => date(Ymd));
foreach(array('account','article','breves','edito','mail','visites') as $key)
{
ip_write($key,$var_ip);
}
}
return $var_ip;
}
function ip_write($art_f,$var_f)
{
$ip_file = dirname(__FILE__)."/ips/$art_f";
$hd = fopen($ip_file,"w") or die("FATAL writing $art_f and ".$var_f['date']);
fwrite($hd,base64_encode(serialize($var_f)));
fclose($hd);
}
function affichage($var_a,$var_b,$var_c)
{
if($var_b == 0 ) { $var_b = 1000000; }
$i=0;
$li = 0;
$lignes = explode("\n",$var_a);
foreach($lignes as $key)
{
$i++;
if ($i>$var_b and $i<(count($lignes)-3)) { break; }
if (ereg("^\_{2}...$",$key)) { echo "<hr>"; }
if (!$code and ereg("^\[code\](.*)\[\/code\]",$key,$regs)) { echo "<pre>$regs[1]</pre>"; }
elseif(ereg("(.*)\[\/code\]",$key) and $pre) { echo preg_replace("\[code\]","",$key)."</pre>"; $pre=0;}
elseif(ereg("^\[code\]",$key)) { echo "<pre>".preg_replace("\[code\]","",$key); $pre=1;}
elseif(ereg("(.*)\[\/cadre\]",$key) and $cadre) { echo preg_replace("\[cadre\]","",$key)."</pre>"; $cadre=0;}
elseif(!$cadre and ereg("^\[cadre\]",$key)) { echo "<div class=\"cadre\">".preg_replace("\[cadre\]","",$key); $cadre=1;}
elseif (ereg("^-",$key) and !$pre)
{
$key = preg_replace("/^-(.*)/","$1",$key);
if($li == 0)
{
echo "<ul><li>$key</li>";
$li= 1;
}
else { echo "<li>$key</li>"; }
}
elseif($li==1) {
echo "</ul>";
$li=0;
if (str_word_count($key) > 20) { print "<p class=\"part\">$key</p>\n"; }
else { print "<p>$key</p>\n"; }
}
elseif (!$pre and str_word_count($key) > 20) { print "<p class=\"part\">$key</p>\n"; }
elseif (!$pre) { print "<p>$key</p>\n"; }
else { print "$key\n"; }
}
if ($li==1) { echo "</ul>"; }
if ($pre==1) { echo "</pre>"; }
if ($cadre==1) { echo "</div>"; }
if ($var_b != 1000000 and $i != count($lignes)) { echo "<p><a href=\"$var_c\" title=\"Suite\">[Suite]</a></p>"; }
}
function getmicrotime()
{
list($usec,$sec) = explode(" ",microtime());
return ((float)$usec + (float)$sec);
}
function aide()
{
echo "<p>Aide au formattage des messages:</p><ul>
<li>Seules les balises <i>(texte en italique) </i> et <b> (texte en gras) </b> sont acceptées. Toute autre balise sera converti en &lt;balise&gt;. </li>
<li>Les liens sous la forme https:// ou http:// ou ftp:// sont prise en compte automatiquement, pas besoin de balises spécifiques. </li>
<li>Pour donner des urls en spécifiant un nom, vous pouvez utiliser la syntaxe <span class=\"underline\">[http://votre_url.org|le nom du lien]</span> ce qui donnera un affichage "le nom du lien".</li>
<li>Pour créer une liste, entrez les éléments en début de ligne en commençant par des \"-\"</li>
<li>Pour insérer une image, il suffit d'utiliser [img=url_de_l'image_voulue].
Pour l'instant toute les tailles d'image sont permises, l'affichage se fait directement en 100% sur le site. Il est donc demandé de ne pas utiliser des images trop grandes.</li>
<li>Pour insérer du code: [code] votre source [/code]. </li>
<li>Pour insérer un encadré: [cadre] votre texte encadré [/cadre]. </li>
</ul>
<p>Nous ne sommes pas responsables des propos que vous donnez, respectez donc la <a href=\"http://netiquette.epiknet.org\" title=\"Regles generales\">netiquette</a>! Votre ip restera stockée sur le serveur.</p>
";
}
function sans_accents($var_a)
{
$var_a = strtr($var_a, "�������������������������������������������������", "aaaaaaaaaaaaooooooooooooeeeeeeeecciiiiiiiiuuuuuuuuynn");
return $var_a;
}
function read_stat($vara)
{
$fichier = dirname(__FILE__)."/ips/$vara";
if ($handle =fopen($fichier,"r"))
{
$contenu = fread($handle,filesize($fichier));
$con = unserialize(base64_decode($contenu));
ereg("([0-9]{4})([0-9]{2})([0-9]{2})",$con['date'],$regs);
echo "<h3>Derniere(s) $vara (ou commentaires sur le sujet) le $regs[3]/$regs[2]/$regs[1]:</h3>" ;
array_shift($con);
echo "<ol>\n";
foreach(array_keys($con) as $key)
{
if ($key == "128.30.52.13") { echo "<li>$key: Validator w3c</li>\n"; }
else { echo "<li>$key: ".$con[$key]["pseudo"]." ( ".$con[$key]["visites"]," ) </li>\n"; }
}
echo "</ol>\n";
}
}
?>