//
// This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License. //
// To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/1.0/ //
// or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA. //
// Francais (brouillon): http://creativecommons.org/projects/international/fr/translated-license //
//////////////////////////////////////////////////////////////////////////////////////////////////////
// Fonctions générales
// v0.1.6
$chemin['classes'] = "classes/";
$chemin['datas'] = "datas/";
// Les dates en français
$GLOBALS['datefr'] = array(
"mois" => array(1=>"Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août",
"Septembre", "Octobre", "Novembre", "Décembre"),
"mois_anglais" => array(1=>"January","Februar","March","April","May","June","July","August","September",
"October","November","December"),
"mois_abrege" => array("Feb"=>"Fév","Apr"=>"Avr","May"=>"Mai","Jun"=>"Juin","Jul"=>"Juil","Aug"=>"Aout",
"Dec"=>"Déc"),
"semaine_abrege"=> array("Mon"=>"Lun","Tue"=>"Mar","Wed"=>"Mer","Thu"=>"Jeu","Fri"=>"Ven","Sat"=>"Sam","Sun"=>"Dim"),
"semaine" => array("Monday"=>"Lundi","Tuesday"=>"Mardi","Wednesday"=>"Mercredi","Thursday"=>"Jeudi","Friday"=>"Vendredi",
"Saturday"=>"Samedi","Sunday"=>"Dimanche"),
"totale" => array("January"=>"Janvier","February"=>"Février","March"=>"Mars","April"=>"Avril","May"=>"Mai",
"June"=>"Juin","July"=>"Juillet","August"=>"Août","September"=>"Septembre","October"=>"Octobre",
"November"=>"Novembre","December"=>"Décembre","Monday"=>"Lundi","Tuesday"=>"Mardi","Wednesday"=>"Mercredi",
"Thursday"=>"Jeudi","Friday"=>"Vendredi","Saturday"=>"Samedi","Sunday"=>"Dimanche",
"Feb"=>"Fév","Apr"=>"Avr","May"=>"Mai","Jun"=>"Juin", "Jul"=>"Juil","Aug"=>"Aout","Dec"=>"Déc",
"Mon"=>"Lun","Tue"=>"Mar","Wed"=>"Mer","Thu"=>"Jeu","Fri"=>"Ven","Sat"=>"Sam","Sun"=>"Dim")
);
// Les mois en français
function mois_fr($m) {
global $datefr;
$mois = $datefr[mois];
if(substr($m,0,1) == "0") $m = substr($m,1);
return htmlentities($mois[$m]);
}
// Transformer une date en français
function date_fr($pat,$date) {
if(is_numeric($pat)) { $pat2 = $date; $date = $pat; $pat = $pat2; }
$date = date($pat,$date);
$date = strtr($date,$GLOBALS[datefr][totale]);
return $date;
}
function format($texte,$options="")
{
include_once($GLOBALS['chemin']['classes']."format.php");
$format = new FormatHTML();
if(!empty($options)) $opts = explode(" ",$options);
if((is_array($opts) && in_array("nosmileys",$opts)) || $GLOBALS['smileys'] == "non")
$format->smileys = "non";
$texte = $format->totale($texte);
return $texte;
}
function propre($texte)
{
$texte = format($texte);
$texte = strip_tags($texte);
return $texte;
}
function hasard($texte) {
$args = func_get_args();
if(count($args) == 1) return $texte;
list($usec, $sec) = explode(' ', microtime());
$rnd = (float) $sec + ((float) $usec * 100000);
mt_srand($rnd);
$rand = mt_rand(2,count($args)-1);
return $args[$rand];
}
function zeroFill($a, $b)
{
$z = hexdec(80000000);
if ($z & $a)
{
$a = ($a>>1);
$a &= (~$z);
$a |= 0x40000000;
$a = ($a>>($b-1));
}
else
{
$a = ($a>>$b);
}
return $a;
}
function nb_hasard($texte,$debut,$fin,$zerofill=FALSE) {
list($usec, $sec) = explode(' ', microtime());
$rnd = (float) $sec + ((float) $usec * 100000);
mt_srand($rnd);
$rand = mt_rand($debut,$fin);
if($zerofill) $rand = sprintf("%0".strlen($debut).".0f", $rand);
return $rand;
}
function cycle($texte) {
$args = func_get_args();
if(count($args) == 1) return $texte;
if(empty($GLOBALS[cycle]) || ($GLOBALS[cycle] >= count($args)-1))
$GLOBALS[cycle] = 1;
else $GLOBALS[cycle]++;
$cycle = $GLOBALS[cycle];
return $args[$cycle];
}
function masort(&$data, $sortby)
{
static $sort_funcs = array();
if (empty($sort_funcs[$sortby])) {
$code = "\$c=0;";
foreach (split(',', $sortby) as $key) {
$code .= "if ( (\$c = strcasecmp(\$a['$key'],\$b['$key'])) != 0 ) return \$c;\n";
}
$code .= 'return $c;';
$sort_func = $sort_funcs[$sortby] = create_function('$a, $b', $code);
} else {
$sort_func = $sort_funcs[$sortby];
}
$sort_func = $sort_funcs[$sortby];
uasort($data, $sort_func);
}
function pagination($nb,$debut,$bypage)
{
$forum = $GLOBALS['forum'];
$forum->listNb = $nb;
$forum->parpage = $bypage;
$pages = $forum->listPages($GLOBALS['journal']->resume['id'],$GLOBALS[$debut]);
if(count($pages) > 2)
{
$pp = array();
$prec = $pages[$pages['current']-1];
if($pages['current'] > 1) $pp[] = '« Page précédente';
$min = $pages['current'] - 7;
if($min < 1) $min = 1;
$max = $min + 13;
if($max > count($pages)) $max = count($pages);
for($i=$min;$i<$max;$i++)
{
if($i == "current") break;
if($i == $pages['current']) $pp[] = ''.$i.'';
else $pp[] = ''.$i.'';
}
if($pages['current'] < count($pages)-1) $pp[] = 'Page suivante »';
$page = implode(" - ",$pp);
}
return $page;
}
function antispam($email)
{
//$email = str_replace("@","[at]",$email);
$len = strlen($email);
for($x = 0; $x < $len; $x++)
{
$ord = ord(substr($email,$x,1));
$temp.= "".$ord.";";
}
return $temp;
}
?>