function aff_titre_uniforme_with_tpl($param) { global $fonction_auteur; // Utiliser pour le template les attributs de la classe "serie", cf classes/serie.class.php // $param[0] = nb maxi de titres uniformes à afficher // $param[1] = séparateur entre les titres uniformes // $param[2] = séparateur entre les valeurs d'un même champ répétable // $param[3] = format d'affichage des auteurs (0 : nom, prénom | 1 : nom, prénom (dates)| 2 : nom, prénom, fonction | 3 : nom, prénom (dates), fonction) // $param[4] = template global $parser_environnement; if (!$parser_environnement['id_notice']) { return ""; } $notice = gere_global(); $array_retour = array(); if (isset($notice['notice_info']->memo_tu) && count($notice['notice_info']->memo_tu)) { $cpt = 0; foreach ($notice['notice_info']->memo_tu as $tu) { //traitement spécial pour les champs répétables des tu $array_rep_field = array("distrib", "ref", "subdiv"); foreach ($array_rep_field as $rep_field) { if (!count($tu->{$rep_field})) { $tu->{$rep_field} = ""; } else { $mes_valeurs = array(); foreach ($tu->{$rep_field} as $valeur) { $mes_valeurs[] = $valeur["label"]; } $tu->{$rep_field} = implode($param[2], $mes_valeurs); } } //traitement spécial pour les auteurs des tu $mes_auteurs = array(); if (count($tu->responsabilites["auteurs"])) { foreach ($tu->responsabilites["auteurs"] as $auteur) { $aut_detail = new auteur($auteur["id"]); switch ($param[3]) { case 0: $mes_auteurs[] = $aut_detail->name . ", " . $aut_detail->rejete; break; case 1: $mes_auteurs[] = $aut_detail->name . ", " . $aut_detail->rejete . " (" . $aut_detail->date . ")"; break; case 2: $mes_auteurs[] = $aut_detail->name . ", " . $aut_detail->rejete . ", " . $fonction_auteur[$auteur["fonction"]]; break; case 3: $mes_auteurs[] = $aut_detail->name . ", " . $aut_detail->rejete . " (" . $aut_detail->date . ")" . ", " . $fonction_auteur[$auteur["fonction"]]; break; } } } $tu->auteurs = implode($param[2], $mes_auteurs); //traitement du template $array_retour[] = _get_aut_infos($tu, $param[4]); $cpt++; if ($param[0] && $cpt == $param[0]) { break; } } } return implode($param[1], $array_retour); }
function aff_avis_with_tpl($param) { // Utiliser pour le template les attributs suivants : id_avis,note,sujet,commentaire,ladate,empr_login,empr_nom,empr_prenom,valide,note_textuelle // $param[0] = nombre maxi d'avis à afficher // $param[1] = séparateur entre les avis // $param[2] = template global $parser_environnement; if (!$parser_environnement['id_notice']) { return ""; } $notice = gere_global(); $tab_avis = array(); if (count($notice["notice_info"]->memo_avis)) { if ($param[0] && $param[0] < count($notice["notice_info"]->memo_avis)) { $max_avis = $param[0]; } else { $max_avis = count($notice["notice_info"]->memo_avis); } for ($i = 0; $i < $max_avis; $i++) { $tab_avis[] = _get_aut_infos($notice["notice_info"]->memo_avis[$i], $param[2]); } } if (count($tab_avis)) { return implode($param[1], $tab_avis); } return ""; }