Subversion Repositories Applications.papyrus

Rev

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

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