Subversion Repositories Applications.papyrus

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
335 jpm 1
<?php
2
 
3
class Text_Wiki_Render_Xhtml_Nouveaute 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
        $type = '';
23
        $site = '';
24
        $nombre = $options['nombre'];
25
 
26
        // Récupération du type
27
        if (isset($options['type'])) {
28
            $type = $options['type'];
29
        }
30
 
31
        // Récupération du site
32
        if (isset($options['site'])) {
33
            $site = $options['site'];
34
        }
35
 
36
        $aso_info_menu = GEN_lireInfoMenuContenuDate($GLOBALS['_GEN_commun']['pear_db'], $type, $site);
37
 
38
        // Formatage des infos en XHTML
39
        $sortie .= '<ul class="page_liste">'."\n";
40
        $i = 0;
41
        foreach ($aso_info_menu as $menu_id => $un_menu) {
42
            if ($i == $nombre) {
43
                break;
44
            }
45
            // Création de l'url
46
            $une_url =& new Pap_URL();
47
            $une_url->setId($menu_id);
48
            // Début affichage d'une entrée de la liste des pages modifiées
49
            if ($un_menu->gmc_ce_type_modification = 1) {
50
                $type_modif = 'mineure';
51
            } elseif ($un_menu->gmc_ce_type_modification = 2) {
52
                $type_modif = 'majeure';
53
            }
54
            $sortie .= '<li class="page_modification_'.$type_modif.'">'."\n";
55
 
56
            // Affichage du titre
57
            $sortie .= '<h2 class="page_titre"><a href="'.$une_url->getURL().'">';
58
            if (!empty($un_menu->gm_titre)) {
59
                $sortie .= $un_menu->gm_titre;
60
            } elseif (!empty($un_menu->gm_titre_alternatif)) {
61
                $sortie .= $un_menu->gm_titre_alternatif;
62
            } else {
63
                $sortie .= $un_menu->gm_nom;
64
            }
65
            $sortie .= '</a></h2>'."\n".'<dl>'."\n";
66
 
67
            // Affichage de l'auteur(s)
68
            if (!empty($un_menu->gm_auteur)) {
69
                $sortie .= '<dt class="page_auteur"> Auteur(s)&nbsp;: '.'</dt>'."\n";
70
                $sortie .= '<dd>'.$un_menu->gm_auteur.'</dd>'."\n";
71
            }
72
            // Affichage des contributeur(s)
73
            if (!empty($un_menu->gm_contributeur)) {
74
                $sortie .= '<dt class="page_contributeur"> Contributeur(s)&nbsp;: '.'</dt>'."\n";
75
                $sortie .= '<dd>'.$un_menu->gm_contributeur.'</dd>'."\n";
76
            }
77
 
78
            // Affichage de la date de la modification de la page
79
            $sortie .= '<dt class="page_modification_date"> '.'Modifié le&nbsp;: '.'</dt>'."\n";
80
            $sortie .= '<dd>'."\n";
81
            if (($jour = date('d', strtotime($un_menu->gmc_date_modification)) ) != 0 ) {
82
                $sortie .= '<span class="page_modification_jour"> '.$jour.'</span>'."\n";
83
            }
84
            if (($mois = $this->_traduireMois(date('m', strtotime($un_menu->gmc_date_modification))) ) != '' ) {
85
                $sortie .= '<span class="page_modification_mois"> '.$mois.'</span>'."\n";
86
            }
87
            if (($annee = date('Y', strtotime($un_menu->gmc_date_modification)) ) != 0 ) {
88
                $sortie .= '<span class="page_modification_annee"> '.$annee.'</span>'."\n";
89
            }
90
            $sortie .= '<span class="page_separateur_date_heure"> - </span>'."\n";
91
 
92
            // Affichage de l'horaire de la modification de la page
93
            if (($heure = date('G', strtotime($un_menu->gmc_date_modification)) ) != 0 ) {
94
                $sortie .= '<span class="page_modification_heure">'.$heure.'</span>';
95
                $sortie .= '<span class="page_separateur_heure">:</span>';
96
                $minute = date('i', strtotime($un_menu->gmc_date_modification));
97
                $sortie .= '<span class="page_modification_minute">'.$minute.'</span>'."\n";
98
                /*
99
                if (($seconde = date('s', strtotime($un_menu->gm_date_creation)) ) != 0 ) {
100
                    $sortie .= '<span class="page_separateur_heure">:</span>';
101
                    $sortie .= '<span class="page_creation_seconde">'.$seconde.'</span>';
102
                }
103
                */
104
            }
105
            $sortie .= '</dd>'."\n";
106
 
107
            // Affichage de la description
108
            if (!empty($un_menu->gm_description_libre)) {
109
                $sortie .= '<dt class="page_description"> Description&nbsp;: '.'</dt>'."\n";
110
                $sortie .= '<dd>'.$un_menu->gm_description_libre.'</dd>'."\n";
111
            }
112
 
113
            // Affichage du résumé de la modification
114
            if (!empty($un_menu->gmc_resume_modification)) {
115
                $sortie .= '<dt class="page_resumer_modification_'.$type_modif.'"> Résumer modification&nbsp;: '.'</dt>'."\n";
116
                $sortie .= '<dd>'.$un_menu->gmc_resume_modification.'</dd>'."\n";
117
            }
118
 
119
            $sortie .= '</dl>'."\n";
120
            $sortie .= '</li>'."\n";
121
            $i++;
122
        }
123
        $sortie .= '</ul>'."\n";
124
 
125
        return $sortie;
126
    }
127
 
128
    function _traduireMois($mois_numerique)
129
    {
130
        switch ($mois_numerique) {
131
            case '01' :
132
                return 'janvier';
133
                break;
134
            case '02' :
135
                return 'février';
136
                break;
137
            case '03' :
138
                return 'mars';
139
                break;
140
            case '04' :
141
                return 'avril';
142
                break;
143
            case '05' :
144
                return 'mai';
145
                break;
146
            case '06' :
147
                return 'juin';
148
                break;
149
            case '07' :
150
                return 'juillet';
151
                break;
152
            case '08' :
153
                return 'août';
154
                break;
155
            case '09' :
156
                return 'septembre';
157
                break;
158
            case '10' :
159
                return 'octobre';
160
                break;
161
            case '11' :
162
                return 'novembre';
163
                break;
164
            case '12' :
165
                return 'décembre';
166
                break;
167
            default:
168
                return '';
169
                break;
170
        }
171
    }
172
}
173
?>