Subversion Repositories Applications.papyrus

Rev

Rev 408 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

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