VULN_CHECK_0COQYTquery($requette)){
die("err sql - fonctions.php
".$db_s->error);
}
else
while($db_s->next_record()){
$arr[] = $db_s->record;
$i++;
}
return($arr);
}
function list_array_tags($id_agenda, $ressource_agenda, $mytag){
global $db_s;
if($ressource_agenda != ""){
$ressource = explode(";", $ressource_agenda);
$i= 0;
foreach($ressource as $info_participant){
if($id_mem == $info_participant){
$sql_req = "
SELECT membres.nom, membres.prenom, agenda.titre_agenda, agenda.id_agenda
FROM agenda
LEFT JOIN membres on agenda.id_agenda = '".$id_agenda."'
WHERE id_mem = '".$id_mem."' AND group_id >='1' ORDER BY membre.nom DESC";
if($db_s->query($sql_req)){
while($db_s->next_record()){
$ress[$i]["titre_agenda"] .= utf8_encode($db_s->f("titre_agenda"));
$ress[$i]["id_agenda"] .= utf8_encode($db_s->f("id_agenda"));
$i++;
}
}
}
}
}
return($ress);
}
function redirection($page) {
echo "\n";
}
function slashes_tosql_date($date){
// 30/12/2014 -> 0000-12-31 00:00:00
$tab = explode(" ", $date);
$heures = explode(':', $tab[1]);
$jours = explode('/', $tab[0]);
$date = $jours[2]."-".$jours[1]."-".$jours[0]." ";
$date.= $heures[0].":".$heures[1].":".$heures[2];
return ($date);
}
function replace_br($data) {
$data = preg_replace('#(?:
\s*?){2,}#', '
', $data);
return "
$data
";
}
function fr_datefromdb_admin($fbdate){
if($fbdate=="0000-00-00 00:00:00")
return("Aucune date");
$tab_date = array ("00" => "", "01" => "janvier", "02" => "février", "03" => "mars", "04" => "avril", "05" => "mai", "06" => "juin", "07" => "juillet", "08" => "août", "09" => "septembre",
"10" => "octobre", "11" => "novembre", "12" => "décembre" );
$fbdate = @explode(" ",$fbdate);
$tdate = @explode("-",$fbdate[0]);
$jour = $tdate[2];
$mois = $tdate[1];
//$mois = ($tab_date[$tdate[1]]);
$annee= $tdate[0];
$heure = explode(":", $fbdate[1]);
$heure =$heure[0].":".$heure[1].":".$heure[2];
$niced_date = $jour."/".$mois."/".$annee." ".$heure."";
return($niced_date);
}
function myreplace_charfromjs($chaine) {
$accents = array (
"[et]",
"[plus]"
);
$sans = array (
"&",
"+"
);
return str_replace ( $accents, $sans, $chaine );
}
function getmicrotime() {
list ( $usec, $sec ) = explode ( " ", microtime () );
return (( float ) $usec + ( float ) $sec);
}
function truncate($amount, $digit = 2) {
$multiplier = pow ( 10, $digit );
return floor ( $amount * $multiplier ) / $multiplier;
}
function sql_date($date) {
$tab = explode ( "/", $date );
return ($tab [2] . "-" . $tab [1] . "-" . $tab [0]);
}
function sql_datefr($date) {
$tab = explode ( "/", $date );
return ($tab [2] . "-" . $tab [1] . "-" . $tab [0]);
}
function dateFR_fromsql($date) {
if ($date == "0000-00-00") $date = "2011-01-01";
$tab_date = array (
"01" => "Janvier",
"02" => "Février",
"03" => "Mars",
"04" => "Avril",
"05" => "Mai",
"06" => "Juin",
"07" => "Juillet",
"08" => "Août",
"09" => "Septembre",
"10" => "Octobre",
"11" => "Novembre",
"12" => "Décembre"
);
$new_date = explode ( "-", $date );
$new_datex = $new_date [2] . " " . $tab_date [$new_date [1]] . " " . $new_date [0];
return ($new_datex);
}
function human_date($date) {
$cut = explode ( " ", $date );
$tab = explode ( "-", $cut [0] );
return ($tab [2] . "/" . $tab [1] . "/" . $tab [0]);
}
function utf8_encode2($str) {
$final_str = $str;
$final_str = str_replace ( 'œ', 'œ', $final_str );
$final_str = str_replace ( '’', 'ߣ', $final_str );
$final_str = str_replace ( '“', 'ÉC;', $final_str );
$final_str = str_replace ( '”', 'ÉD;', $final_str );
$final_str = str_replace ( '…', 'ߪ', $final_str );
$final_str = str_replace ( '€', '€', $final_str );
$final_str = utf8_encode ( $final_str );
$final_str = str_replace ( utf8_encode ( 'œ' ), 'Å“', $final_str );
$final_str = str_replace ( utf8_encode ( 'ߣ' ), '’', $final_str );
$final_str = str_replace ( utf8_encode ( 'ÉC;' ), '“', $final_str );
$final_str = str_replace ( utf8_encode ( 'ߪ' ), '…', $final_str );
$final_str = str_replace ( utf8_encode ( 'ÉD;' ), 'â€', $final_str );
$final_str = str_replace ( utf8_encode ( '€' ), '€', $final_str );
return $final_str;
}
function mysql_DateTime4($d) {
$date = substr ( $d, 8, 2 ) . "/"; // jour
$date = $date . substr ( $d, 5, 2 ) . "/"; // mois
$date = $date . substr ( $d, 0, 4 ) . " (";
$date = $date . substr ( $d, 11, 2 ) . "h";
$date = $date . substr ( $d, 14, 2 ) . " ";
$date = $date . substr ( $d, 17, 2 ) . "s) ";
return ($date);
}
function mysql_DateTime2($d) {
// 20080126231922 - 01/26/2008 23h19'22
$date = substr ( $d, 6, 2 ) . "/"; // jour
$date = $date . substr ( $d, 4, 2 ) . "/"; // mois
$date = $date . substr ( $d, 0, 4 ); // . " à "; // année
/*
* $date = $date.substr($d,8,2). "h"; $date = $date.substr($d,10,2). "'";
* $date = $date.substr($d,12,2); // heures et minutes
*/
return $date;
}
function mysql_DateTime($d) {
$date = substr ( $d, 8, 2 ) . "/"; // jour
$date = $date . substr ( $d, 5, 2 ) . "/"; // mois
$date = $date . substr ( $d, 0, 4 ) . " à ";
$date = $date . substr ( $d, 11, 2 ) . "h";
$date = $date . substr ( $d, 14, 2 ) . " "; /*
* $date =
* $date.substr($d,17,2)."sec.";
*/
return $date;
}
function mysql_DateTime3($d) {
$date = substr ( $d, 8, 2 ) . "/"; // jour
$date = $date . substr ( $d, 5, 2 ) . "/"; // mois
$date = $date . substr ( $d, 0, 4 ) . ""; /*
* $date = $date.substr($d,11,2).
* "h"; $date =
* $date.substr($d,14,2). " ";
* $date =
* $date.substr($d,17,2)."sec.";
*/
return $date;
}
function wd_remove_accents($str, $charset = 'utf-8') {
$str = htmlentities ( $str, ENT_NOQUOTES, $charset );
$str = preg_replace ( '#\&([A-za-z])(?:acute|cedil|circ|grave|ring|tilde|uml)\;#', '\1', $str );
$str = preg_replace ( '#\&([A-za-z]{2})(?:lig)\;#', '\1', $str ); // pour les
// ligatures
// e.g.
// 'œ'
$str = preg_replace ( '#\&[^;]+\;#', '', $str ); // supprime les autres
// caractères
return $str;
}
function url_tolink($titre) {
$i = 0;
$titre = strtr ( $titre, "ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ'.", "AAAAAAaaaaaaOOOOOOooooooEEEEeeeeCcIIIIiiiiUUUUuuuuyNn " );
$keys = array ();
$keys = explode ( " ", $titre );
while ( $keys [$i] ) {
if (strlen ( $keys [$i] ) > 3) {
$titled .= strtolower ( $keys [$i] ) . '-';
}
$i ++;
}
return ($titled);
}
function make_url_totitle($select_motsclef, $nb_mots, $min_lenmots) {
$renamed = "";
$speciaux = array (
"?",
"!",
"@",
"%",
"&",
"*",
"(",
")",
"=",
"+",
";",
":",
"'",
".",
"--",
"-",
"/",
"\\n",
"
",
"
",
"\\r"
);
$select_motsclef = strtr ( $select_motsclef, "ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ", "AAAAAAaaaaaaOOOOOOooooooEEEEeeeeCcIIIIiiiiUUUUuuuuyNn" );
$tab = explode ( "-", $select_motsclef );
$i = 0;
$erf = 0;
while ( $tab [$i] ) {
if (strlen ( $tab [$i] ) <= $min_lenmots) $i ++;
if ((strlen ( $tab [$i] ) >= $min_lenmots) && ($erf <= $nb_mots) && ($tab [$i] != $speciaux)) {
$renamed .= $tab [$i] . "-";
$erf ++;
}
$i ++;
}
$renamed = empty ( $renamed ) ? $tab [$i] : $renamed;
$niced_url = substr ( $renamed, 0, strlen ( $renamed ) - 1 );
$niced_url = strtolower ( $niced_url );
return ($niced_url);
}
function compare($a, $b) {
if ($a == $b) return 0;
return ($a > $b) ? - 1 : 1;
}
function make_niceurl($select_motsclef, $nb_mots, $min_lenmots) {
$renamed = "";
$niced_url1 = "";
$niced_url = "";
$flag = 0;
$speciaux = array (
"[",
"]",
"?",
"!",
"@",
"%",
"&",
"*",
"(",
")",
"=",
"+",
";",
":",
"'",
".",
"-",
"/",
",",
"°",
"\"",
"\'",
" ",
" ",
"é",
"&eagrave;",
" ",
"%20"/*
"faire", "bonjour","toute", "suite","pour","votre","suis","trop","mon","une","les","qui","sur","que","plus","tous","mes","mon","lqu","un"*/
);
$niced_url = str_replace ( $speciaux, " ", $select_motsclef );
$niced_url1 = strtolower ( strtr ( $niced_url, "ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ", "AAAAAAaaaaaaOOOOOOooooooEEEEeeeeCcIIIIiiiiUUUUuuuuyNn" ) );
$tab = explode ( " ", $niced_url1 );
$i = 0;
$erf = 0;
uasort ( $tab, "compare" );
$tab = array_unique ( $tab );
while ( list ( $key, $value ) = each ( $tab ) ) {
if (strlen ( $value ) > $min_lenmots && $i < $nb_mots) {
$renamed .= $value . "-";
}
$i ++;
}
$renamed = str_replace ( "--", "", $renamed );
$renamed = empty ( $renamed ) ? $tab [0] : $renamed;
$niced_url = substr ( $renamed, 0, strlen ( $renamed ) - 1 );
$niced_url = strtolower ( $niced_url );
//
return ($niced_url);
}
function make_sortniceurl($select_motsclef, $nb_mots, $min_lenmots, $order, $makestopword = "dostopwords") {
$renamed = "";
$niced_url1 = "";
$niced_url = "";
$flag = 0;
$from = explode ( ',', "ç,æ,œ,á,é,í,ó,ú,à,è,ì,ò,ù,ä,ë,ï,ö,ü,ÿ,â,ê,î,Î,ô,û,å,e,i,ø,u,(,),[,],'" );
$to = explode ( ',', 'c,ae,oe,a,e,i,o,u,a,e,i,o,u,a,e,i,o,u,y,a,e,i,i,o,u,a,e,i,o,u,,,,,,' );
// Do the replacements, and convert all other non-alphanumeric characters to
// spaces
$select_motsclef = preg_replace ( '~[^\w\d]+~', '-', str_replace ( $from, $to, trim ( $select_motsclef ) ) );
// Remove a - at the beginning or end and make lowercase
$niced_url = strtolower ( preg_replace ( '/^-/', '', preg_replace ( '/-$/', '', $select_motsclef ) ) );
$tab = explode ( "-", $niced_url );
$stopwords = array (
"au"
);
if ($makestopword != "dostopwords") {
$stopwords = array (
"au",
"aux",
"ce",
"ces",
"dans",
"de",
"des",
"du",
"elle",
"en",
"et",
"eux",
"il",
"je",
"la",
"le",
"leur",
"lui",
"ma",
"mais",
"me",
"même",
"mes",
"moi",
"mon",
"ne",
"nos",
"notre",
"nous",
"on",
"ou",
"par",
"pas",
"pour",
"qu",
"que",
"qui",
"sa",
"se",
"ses",
"son",
"sur",
"ta",
"te",
"tes",
"toi",
"ton",
"tu",
"un",
"une",
"vos",
"votre",
"vous",
"c",
"d",
"j",
"l",
"à",
"a",
"m",
"n",
"s",
"t",
"y",
"été",
"étée",
"êtes",
"étés",
"étant",
"suis",
"es",
"est",
"sommes",
"etes",
"sont",
"serai",
"seras",
"sera",
"serons",
"serez",
"seront",
"serais",
"serait",
"serions",
"seriez",
"seraient",
"étais",
"était",
"étions",
"étiez",
"étaient",
"fus",
"fut",
"fûmes",
"fûtes",
"furent",
"sois",
"soit",
"soyons",
"soyez",
"soient",
"fusse",
"fusses",
"fût",
"fussions",
"fussiez",
"fussent",
"fussent",
"fussent",
"ayant",
"eu",
"eue",
"eues",
"eus",
"ai",
"as",
"avons",
"avez",
"ont",
"aurai",
"auras",
"aura",
"aurons",
"aurez",
"auront",
"aurais",
"aurait",
"aurions",
"auriez",
"auraient",
"avais",
"avait",
"avions",
"aviez",
"avaient",
"eut",
"eurent",
"aie",
"aies",
"ait",
"ayons",
"ayez",
"aient",
"eusse",
"eusses",
"eussions",
"eussiez",
"eussent",
"eussent",
"eussent",
"ceci",
"celà",
"cet",
"cette",
"ici",
"ils",
"les",
"leurs",
"quel",
"quels",
"quelle",
"quelles",
"soi",
"soi",
"faire",
"bonjour",
"toute",
"suite",
"pour",
"votre",
"suis",
"trop",
"mon",
"une",
"les",
"qui",
"sur",
"que",
"plus",
"tous",
"mes",
"mon",
"lqu",
"un",
"par",
"du",
"l'",
"aux"
);
}
$i = 0;
$erf = 0;
if ($order != 0 || $order == 1) uasort ( $tab, "compare" );
$flag = 0;
$tab = array_unique ( $tab );
while ( list ( $key, $value ) = each ( $tab ) ) {
if (((strlen ( $value ) >= $min_lenmots) && ($i <= $nb_mots)) || is_numeric ( $value )) {
$uflag = 0;
for($f = 0; $f < count ( $stopwords ); $f ++) {
if ($stopwords [$f] == $value) {
$uflag = 1;
// echo "flagged :".$stopwords[$f]."
";
}
}
if ($uflag == 0) $renamed .= $value . "-";
}
$i ++;
}
$renamed = str_replace ( "--", "-", $renamed );
$niced_url = substr ( $renamed, 0, strlen ( $renamed ) - 1 );
return ($niced_url);
}
function make_sortnicedescr($select_motsclef, $nb_mots, $min_lenmots, $order, $makestopword = "dostopwords") {
$renamed = "";
$niced_url1 = "";
$niced_url = "";
$flag = 0;
// Remove a - at the beginning or end and make lowercase
// $niced_url = strtolower (preg_replace ('/^-/', '', preg_replace ('/-$/',
// '', $select_motsclef)));
$niced_url = (preg_replace ( '/^-/', '', preg_replace ( '/-$/', '', $select_motsclef ) ));
$tab = explode ( " ", $niced_url );
$stopwords = array (
"au"
);
if ($makestopword != "dostopwords") {
$stopwords = array (
"au",
"aux",
"ce",
"ces",
"dans",
"de",
"des",
"du",
"elle",
"en",
"et",
"eux",
"il",
"je",
"la",
"le",
"leur",
"lui",
"ma",
"mais",
"me",
"même",
"mes",
"moi",
"mon",
"ne",
"nos",
"notre",
"nous",
"on",
"ou",
"par",
"pas",
"pour",
"qu",
"que",
"qui",
"sa",
"se",
"ses",
"son",
"sur",
"ta",
"te",
"tes",
"toi",
"ton",
"tu",
"un",
"une",
"vos",
"votre",
"vous",
"c",
"d",
"j",
"l",
"à",
"a",
"m",
"n",
"s",
"t",
"y",
"été",
"étée",
"êtes",
"étés",
"étant",
"suis",
"es",
"est",
"sommes",
"etes",
"sont",
"serai",
"seras",
"sera",
"serons",
"serez",
"seront",
"serais",
"serait",
"serions",
"seriez",
"seraient",
"étais",
"était",
"étions",
"étiez",
"étaient",
"fus",
"fut",
"fûmes",
"fûtes",
"furent",
"sois",
"soit",
"soyons",
"soyez",
"soient",
"fusse",
"fusses",
"fût",
"fussions",
"fussiez",
"fussent",
"fussent",
"fussent",
"ayant",
"eu",
"eue",
"eues",
"eus",
"ai",
"as",
"avons",
"avez",
"ont",
"aurai",
"auras",
"aura",
"aurons",
"aurez",
"auront",
"aurais",
"aurait",
"aurions",
"auriez",
"auraient",
"avais",
"avait",
"avions",
"aviez",
"avaient",
"eut",
"eurent",
"aie",
"aies",
"ait",
"ayons",
"ayez",
"aient",
"eusse",
"eusses",
"eussions",
"eussiez",
"eussent",
"eussent",
"eussent",
"ceci",
"celà",
"cet",
"cette",
"ici",
"ils",
"les",
"leurs",
"quel",
"quels",
"quelle",
"quelles",
"soi",
"soi",
"faire",
"bonjour",
"toute",
"suite",
"pour",
"votre",
"suis",
"trop",
"mon",
"une",
"les",
"qui",
"sur",
"que",
"plus",
"tous",
"mes",
"mon",
"lqu",
"un",
"par",
"du",
"l'",
"aux"
);
}
$i = 0;
$erf = 0;
if ($order != 0 || $order == 1) uasort ( $tab, "compare" );
$flag = 0;
$tab = array_unique ( $tab );
while ( list ( $key, $value ) = each ( $tab ) ) {
if (((strlen ( $value ) >= $min_lenmots) && ($i <= $nb_mots)) || is_numeric ( $value ) && strlen ( $renamed ) <= 255) {
$uflag = 0;
for($f = 0; $f < count ( $stopwords ); $f ++) {
if ($stopwords [$f] == $value) {
$uflag = 1;
// echo "flagged :".$stopwords[$f]."
";
}
}
if ($uflag == 0) $renamed .= $value . " ";
}
$i ++;
}
$renamed = str_replace ( " ", " ", $renamed );
$niced_url = substr ( $renamed, 0, strlen ( $renamed ) - 1 );
return ($niced_url);
}
function make_nice_title($select_motsclef, $nb_mots, $min_lenmots) {
$renamed = "";
$speciaux = array (
"?",
"!",
"@",
"%",
"&",
"*",
"(",
")",
"=",
"+",
";",
":",
"--",
"-",
" ",
"/",
"<",
">",
"_",
"\\n",
"
",
"
",
"\\r",
"\\t"
);
$select_motsclef = strtr ( $select_motsclef, "ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ", "AAAAAAaaaaaaOOOOOOooooooEEEEeeeeCcIIIIiiiiUUUUuuuuyNn" );
$tab = explode ( " ", $select_motsclef );
$i = 0;
$erf = 0;
while ( @$tab [$i] ) {
if ((strlen ( $tab [$i] ) >= $min_lenmots) && ($erf <= $nb_mots) && ($tab [$i] != $speciaux)) {
$renamed .= $tab [$i] . "-";
$erf ++;
}
$i ++;
}
$niced_url = substr ( $renamed, 0, strlen ( $renamed ) - 1 );
$niced_url = strtolower ( $niced_url );
$niced_url = str_replace ( $speciaux, " ", $niced_url );
return ($niced_url);
}
function make_nice_stitle($select_motsclef, $nb_mots, $min_lenmots) {
$min_lenmots = 1;
$speciaux = array (
"?",
"!",
"@",
"%",
"&",
"*",
"(",
")",
"=",
"+",
";",
":",
"'",
".",
"--",
"-",
" ",
"/",
"'",
"\""
);
$select_motsclef = strtr ( $select_motsclef, "ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ", "AAAAAAaaaaaaOOOOOOooooooEEEEeeeeCcIIIIiiiiUUUUuuuuyNn" );
$niced_url = str_replace ( $speciaux, " ", $select_motsclef );
$tab = explode ( " ", $niced_url );
$i = 0;
$erf = 0;
while ( $tab [$i] ) {
if (strlen ( $tab [$i] ) <= $min_lenmots) $i ++;
if ($erf < $nb_mots && strlen ( $tab [$i] ) >= $min_lenmots) {
$renamed .= str_replace ( $speciaux, "", ($tab [$i]) ) . " ";
$erf ++;
$i ++;
} else
$i ++;
}
$niced_url = substr ( $renamed, 0, strlen ( $renamed ) - 1 );
$niced_url = strtolower ( $niced_url );
return (utf8_decode ( $niced_url ));
}
function make_keywords($select_motsclef, $nb_mots, $min_lenmots) {
$min_lenmots = 1;
$select_motsclef = htmlentities ( $select_motsclef );
$speciaux = array (
"°",
"?",
"!",
"@",
"%",
"&",
"*",
"(",
")",
"=",
"+",
";",
":",
"'",
".",
"--",
"-",
" ",
"/",
"'",
"\""
);
$select_motsclef = strtr ( $select_motsclef, "ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ", "AAAAAAaaaaaaOOOOOOooooooEEEEeeeeCcIIIIiiiiUUUUuuuuyNn" );
$niced_url = str_replace ( $speciaux, " ", $select_motsclef );
$tab = explode ( " ", $niced_url );
$renamed = "";
$i = 0;
$erf = 0;
while ( @$tab [$i] ) {
if (strlen ( $tab [$i] ) <= $min_lenmots) $i ++;
if ($erf < $nb_mots && strlen ( $tab [$i] ) >= $min_lenmots) {
$renamed .= str_replace ( $speciaux, "", ($tab [$i]) ) . ", ";
$erf ++;
$i ++;
} else
$i ++;
}
$niced_url = substr ( $renamed, 0, strlen ( $renamed ) - 2 );
$niced_url = strtolower ( $niced_url );
return (utf8_decode ( $niced_url ));
}
function cleanCut($string, $length, $cutString = '...') {
$str = "";
$count = 0;
if (strlen ( $string ) <= $length) return $string;
else {
$str = substr ( $string, 0, $length - strlen ( $cutString ) + 1 );
return substr ( $str, 0, strrpos ( $str, ' ' ) ) . $cutString;
}
}
function cleanCutFrom($text, $length, $ending = ' ', $exact = false) {
if (strlen ( preg_replace ( '/<.*?>/', '', $text ) ) <= $length) {
return $text;
}
preg_match_all ( '/(<.+?>)?([^<>]*)/is', $text, $matches, PREG_SET_ORDER );
$total_length = 0;
$arr_elements = array ();
$truncate = "";
foreach ( $matches as $element ) {
if (! empty ( $element [1] )) {
if (preg_match ( '/^<\s*.+?\/\s*>$/s', $element [1] )) {
} else if (preg_match ( '/^<\s*\/([^\s]+?)\s*>$/s', $element [1], $element2 )) {
$pos = array_search ( $element2 [1], $arr_elements );
if ($pos !== false) {
unset ( $arr_elements [$pos] );
}
} else if (preg_match ( '/^<\s*([^\s>!]+).*?>$/s', $element [1], $element2 )) {
array_unshift ( $arr_elements, strtolower ( $element2 [1] ) );
}
$truncate .= $element [1];
}
$content_length = strlen ( preg_replace ( '/(&[a-z]{1,6};|[0-9]+;)/i', ' ', $element [2] ) );
if ($total_length >= $length) {
break;
} elseif ($total_length + $content_length > $length) {
$left = $total_length > $length ? $total_length - $length : $length - $total_length;
$entities_length = 0;
if (preg_match_all ( '/&[a-z]{1,6};|[0-9]+;/i', $element [2], $element3, PREG_OFFSET_CAPTURE )) {
foreach ( $element3 [0] as $entity ) {
if ($entity [1] + 1 - $entities_length <= $left) {
$left --;
$entities_length += strlen ( $entity [0] );
} else
break;
}
}
$truncate .= substr ( $element [2], 0, $left + $entities_length );
break;
} else {
$truncate .= $element [2];
$total_length += $content_length;
}
}
if (! $exact) {
$spacepos = strrpos ( $truncate, ' ' );
if (isset ( $spacepos )) {
$truncate = substr ( $truncate, 0, $spacepos );
}
}
$truncate .= $ending;
foreach ( $arr_elements as $element ) {
$truncate .= '' . $element . '>';
}
return $truncate;
}
function wordCut($sText, $debut, $iMaxLength, $sMessage) {
if (strlen ( $sText ) > $iMaxLength) {
$sString = wordwrap ( $sText, ($iMaxLength - (strlen ( $sMessage ))), '[cut]', 1 );
$asExplodedString = explode ( '[cut]', $sString );
$sText = $sCutText = $asExplodedString [$debut];
$sText = "" . $sCutText . "" . $sMessage . "";
} else {
$sText .= $sText . "";
}
return ($sText);
}
function submystr($str, $lenght = "25") {
$mystr = "";
if (strlen ( $str ) >= $lenght) {
$mystr = substr ( $str, 0, $lenght ) . "... ";
} else
$mystr = $str;
return ($mystr);
}
function shortenStr($str, $max, $sep = '.', $width = 3) {
$str = html_entity_decode ( $str );
$nb = strlen ( $str ); // Nombre de caractères
if ($nb > $max) {
if ($str [$max] == "é" || $str [$max] == "è" || $str [$max] == "à" || $str [$max] == "&") $max ++;
$p = $nb - $max + $width; // Nombre de caractères en trop
if ($max < $width) // Dans le cas où la largeur max est inférieur à la
// largeur du séparateur
{
$width = $max;
}
$start = ceil ( $nb / 2 - $p / 2 );
return substr ( $str, 0, $start ) . str_repeat ( $sep, $width ) . substr ( $str, ceil ( $start + $p ) );
// début de la chaine séparateur du milieu fin de la chaine
}
return $str;
}