// // 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; } ?>