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_Motcles 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>'.' Aucun mot-clés passé en paramêtre! '.'</p>';
26
        }
395 jpm 27
        $condition = 'OR';
28
        if (isset($options['condition'])) {
29
            $condition = $options['condition'];
30
        }
31
        $ordre = 'ASC';
32
        if (isset($options['ordre'])) {
33
            $ordre = $options['ordre'];
34
        }
335 jpm 35
        // Récupération des infos
36
        $tab_mots = explode(',', $mots);
37
        for ($i = 0; $i < count($tab_mots); $i++) {
38
            // Suppression des espaces, tabulations... en début et fin de chaine
39
            $tab_mots[$i] = trim($tab_mots[$i]);
40
        }
395 jpm 41
        $aso_info_menu = GEN_lireInfoMenuMotsCles($GLOBALS['_GEN_commun']['pear_db'], $tab_mots, $condition, $ordre);
335 jpm 42
 
43
        // Formatage des infos en XHTML
44
        $sortie .= '<ul class="page_liste">'."\n";
45
        foreach ($aso_info_menu as $id_menu => $un_menu) {
46
            // Création de l'url
47
            $une_url =& new Pap_URL();
48
            $une_url->setId($id_menu);
49
 
50
            $sortie .= '<li>'."\n";
51
 
52
            // Affichage de l'auteur(s)
53
            $sortie .= '<span class="page_auteur"> '.$un_menu->gm_auteur.'</span>'."\n";
54
            $sortie .= '<span class="page_separateur_auteur"> - </span>'."\n";
55
 
56
            // Affichage du titre
57
            $sortie .= '<a href="'.$une_url->getURL().'">';
58
            $sortie .= '<span class="page_titre"> '.$un_menu->gm_titre.'</span>';
59
            $sortie .= '</a>'."\n";
60
            $sortie .= '<span class="page_separateur_titre"> - </span>'."\n";
61
 
62
            // Affichage de l'horaire de la création de la page
63
            if (($heure = date('G', strtotime($un_menu->gm_date_creation)) ) != 0 ) {
64
                $sortie .= '<span class="page_creation_heure">'.$heure.'</span>';
65
                $sortie .= '<span class="page_separateur_heure">:</span>';
66
                $minute = date('i', strtotime($un_menu->gm_date_creation));
67
                $sortie .= '<span class="page_creation_minute">'.$minute.'</span>';
68
                if (($seconde = date('s', strtotime($un_menu->gm_date_creation)) ) != 0 ) {
69
                    $sortie .= '<span class="page_separateur_heure">:</span>';
70
                    $sortie .= '<span class="page_creation_seconde">'.$seconde.'</span>';
71
                }
72
            }
73
            $sortie .= "\n".'<span class="page_separateur_date_heure"> - </span>'."\n";
74
 
75
            // Affichage de la date de la création de la page
76
            if (($jour = date('d', strtotime($un_menu->gm_date_creation)) ) != 0 ) {
77
                $sortie .= '<span class="page_creation_jour"> '.$jour.'</span>'."\n";
78
            }
79
            if (($mois = $this->_traduireMois(date('m', strtotime($un_menu->gm_date_creation))) ) != '' ) {
80
                $sortie .= '<span class="page_creation_mois"> '.$mois.'</span>'."\n";
81
            }
82
            if (($annee = date('Y', strtotime($un_menu->gm_date_creation)) ) != 0 ) {
83
                $sortie .= '<span class="page_creation_annee"> '.$annee.'</span>'."\n";
84
            }
85
            $sortie .= '</li>'."\n";
86
        }
87
        $sortie .= '</ul>'."\n";
88
        return $sortie;
89
    }
90
 
91
    function _traduireMois($mois_numerique)
92
    {
93
        switch ($mois_numerique) {
94
            case '01' :
95
                return 'janvier';
96
                break;
97
            case '02' :
98
                return 'février';
99
                break;
100
            case '03' :
101
                return 'mars';
102
                break;
103
            case '04' :
104
                return 'avril';
105
                break;
106
            case '05' :
107
                return 'mai';
108
                break;
109
            case '06' :
110
                return 'juin';
111
                break;
112
            case '07' :
113
                return 'juillet';
114
                break;
115
            case '08' :
116
                return 'août';
117
                break;
118
            case '09' :
119
                return 'septembre';
120
                break;
121
            case '10' :
122
                return 'octobre';
123
                break;
124
            case '11' :
125
                return 'novembre';
126
                break;
127
            case '12' :
128
                return 'décembre';
129
                break;
130
            default:
131
                return '';
132
                break;
133
        }
134
    }
135
}
136
?>