Subversion Repositories Applications.papyrus

Rev

Rev 335 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
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
?>