335 |
jpm |
1 |
<?php
|
|
|
2 |
|
|
|
3 |
class Text_Wiki_Render_Xhtml_Categorie extends Text_Wiki_Render {
|
|
|
4 |
|
|
|
5 |
/**
|
|
|
6 |
*
|
|
|
7 |
* Renders a token into text matching the requested format.
|
|
|
8 |
*
|
|
|
9 |
* @access public
|
|
|
10 |
*
|
|
|
11 |
* @param array $options The "options" portion of the token (second
|
|
|
12 |
* element).
|
|
|
13 |
*
|
|
|
14 |
* @return string The text rendered from the token options.
|
|
|
15 |
*
|
|
|
16 |
*/
|
|
|
17 |
|
|
|
18 |
function token($options)
|
|
|
19 |
{
|
|
|
20 |
// Initialisation des variables
|
|
|
21 |
$sortie = '';
|
|
|
22 |
if (isset($options['mots'])) {
|
|
|
23 |
$mots = $options['mots'];
|
|
|
24 |
} else {
|
|
|
25 |
return '<p>'.' Aucune catégorie passé en paramêtre! '.'</p>';
|
|
|
26 |
}
|
|
|
27 |
|
|
|
28 |
// Récupération des infos
|
|
|
29 |
$tab_mots = explode(',', $mots);
|
|
|
30 |
for ($i = 0; $i < count($tab_mots); $i++) {
|
|
|
31 |
// Suppression des espaces, tabulations... en début et fin de chaine
|
|
|
32 |
$tab_mots[$i] = trim($tab_mots[$i]);
|
|
|
33 |
}
|
|
|
34 |
$aso_info_menu = GEN_lireInfoMenuCategorie($GLOBALS['_GEN_commun']['pear_db'], $tab_mots);
|
|
|
35 |
|
|
|
36 |
// Formatage des infos en XHTML
|
|
|
37 |
$sortie .= '<ul class="page_liste">'."\n";
|
|
|
38 |
foreach ($aso_info_menu as $id_menu => $un_menu) {
|
|
|
39 |
// Création de l'url
|
|
|
40 |
$une_url =& new Pap_URL();
|
|
|
41 |
$une_url->setId($id_menu);
|
|
|
42 |
|
|
|
43 |
$sortie .= '<li>'."\n";
|
|
|
44 |
|
|
|
45 |
// Affichage de l'auteur(s)
|
|
|
46 |
$sortie .= '<span class="page_auteur"> '.$un_menu->gm_auteur.'</span>';
|
|
|
47 |
$sortie .= '<span class="page_separateur_auteur"> - </span>';
|
|
|
48 |
|
|
|
49 |
// Affichage du titre
|
|
|
50 |
$sortie .= '<a href="'.$une_url->getURL().'">';
|
|
|
51 |
$sortie .= '<span class="page_titre"> '.$un_menu->gm_titre.'</span>';
|
|
|
52 |
$sortie .= '</a>';
|
|
|
53 |
$sortie .= '<span class="page_separateur_titre"> - </span>';
|
|
|
54 |
|
|
|
55 |
// Affichage de l'horaire de la création de la page
|
|
|
56 |
if (($heure = date('G', strtotime($un_menu->gm_date_creation)) ) != 0 ) {
|
|
|
57 |
$sortie .= '<span class="page_creation_heure">'.$heure.'</span>';
|
|
|
58 |
$sortie .= '<span class="page_separateur_heure">:</span>';
|
|
|
59 |
$minute = date('i', strtotime($un_menu->gm_date_creation));
|
|
|
60 |
$sortie .= '<span class="page_creation_minute">'.$minute.'</span>';
|
|
|
61 |
if (($seconde = date('s', strtotime($un_menu->gm_date_creation)) ) != 0 ) {
|
|
|
62 |
$sortie .= '<span class="page_separateur_heure">:</span>';
|
|
|
63 |
$sortie .= '<span class="page_creation_seconde">'.$seconde.'</span>';
|
|
|
64 |
}
|
|
|
65 |
}
|
|
|
66 |
$sortie .= '<span class="page_separateur_date_heure"> - </span>'."\n";
|
|
|
67 |
|
|
|
68 |
// Affichage de la date de la création de la page
|
|
|
69 |
if (($jour = date('d', strtotime($un_menu->gm_date_creation)) ) != 0 ) {
|
|
|
70 |
$sortie .= '<span class="page_creation_jour"> '.$jour.'</span>';
|
|
|
71 |
}
|
|
|
72 |
if (($mois = $this->_traduireMois(date('m', strtotime($un_menu->gm_date_creation))) ) != '' ) {
|
|
|
73 |
$sortie .= '<span class="page_creation_mois"> '.$mois.'</span>';
|
|
|
74 |
}
|
|
|
75 |
if (($annee = date('Y', strtotime($un_menu->gm_date_creation)) ) != 0 ) {
|
|
|
76 |
$sortie .= '<span class="page_creation_annee"> '.$annee.'</span>';
|
|
|
77 |
}
|
|
|
78 |
$sortie .= '</li>'."\n";
|
|
|
79 |
}
|
|
|
80 |
$sortie .= '</ul>'."\n";
|
|
|
81 |
return $sortie;
|
|
|
82 |
}
|
|
|
83 |
|
|
|
84 |
function _traduireMois($mois_numerique)
|
|
|
85 |
{
|
|
|
86 |
switch ($mois_numerique) {
|
|
|
87 |
case '01' :
|
|
|
88 |
return 'janvier';
|
|
|
89 |
case '02' :
|
|
|
90 |
return 'février';
|
|
|
91 |
case '03' :
|
|
|
92 |
return 'mars';
|
|
|
93 |
case '04' :
|
|
|
94 |
return 'avril';
|
|
|
95 |
case '05' :
|
|
|
96 |
return 'mai';
|
|
|
97 |
case '06' :
|
|
|
98 |
return 'juin';
|
|
|
99 |
case '07' :
|
|
|
100 |
return 'juillet';
|
|
|
101 |
case '08' :
|
|
|
102 |
return 'août';
|
|
|
103 |
case '09' :
|
|
|
104 |
return 'septembre';
|
|
|
105 |
case '10' :
|
|
|
106 |
return 'octobre';
|
|
|
107 |
case '11' :
|
|
|
108 |
return 'novembre';
|
|
|
109 |
case '12' :
|
|
|
110 |
return 'décembre';
|
|
|
111 |
default:
|
|
|
112 |
return '';
|
|
|
113 |
}
|
|
|
114 |
}
|
|
|
115 |
}
|
|
|
116 |
?>
|