source: spip-zone/_plugins_/spipclear/spipclear_fonctions.php @ 93559

Last change on this file since 93559 was 93559, checked in by teddy.spip@…, 5 years ago

Formatage du code, sécu pour les fichiers php.

  • Property svn:eol-style set to native
File size: 3.3 KB
Line 
1<?php
2
3if (!defined('_ECRIRE_INC_VERSION')) {
4        return;
5}
6
7/**
8 * Afficher la date au complet.
9 *
10 * @param string $date
11 *
12 * @return string
13 */
14function affdate_long($date) {
15        return affdate_base($date, 'nom_jour').' '.affdate_base($date, 'entier');
16}
17
18/**
19 * |me compare un id_auteur avec les auteurs d'un article
20 * et renvoie la valeur booleenne true (vrai) si on trouve une correspondance
21 * utilisation: <div id="forum#ID_FORUM" [(#ID_ARTICLE|me{#ID_AUTEUR}|?{' ', ''})class="me"]>.
22 *
23 * @param int $id_article identifiant de l'article
24 * @param int $id_auteur  identifiant de l'auteur
25 *
26 * @return bool true si l'id de l'auteur est celui de l'article sinon false
27 */
28function me($id_article, $id_auteur = 0) {
29        static $deja = false;
30        static $auteurs = array();
31
32        /* en spip 3 auteur_articles est remplacé - adapter la requete */
33        $table = 'spip_auteurs_articles';
34        $where = 'id_article';
35        if ($GLOBALS['meta']['version_installee'] >= '19268') {
36                $table = 'spip_auteurs_liens';
37                $where = "objet='article' AND id_objet";
38        }
39        if (!$deja) {
40                $r = spip_query('SELECT id_auteur FROM '.$table.' WHERE '.$where."=$id_article");
41                while ($row = spip_fetch_array($r)) {
42                        $auteurs[] = intval($row['id_auteur']);
43                }
44                $deja = true;
45        }
46
47        return in_array($id_auteur, $auteurs);
48}
49
50/**
51 * lister les themes présents dans plugins/spipclear/themes.
52 *
53 * @return string Liste sous la forme ul/li
54 */
55function lister_themes() {
56        $dir = _DIR_PLUGIN_SPIPCLEAR.'themes/';
57        $dir_perso = find_in_path('squelettes/themes/');
58        $Treps_themes = array();
59        $htm = '';
60        if (is_dir($dir) and $t = @opendir($dir)) {
61                $htm .= '<ul style="height: 350px; overflow: auto; margin: 10px 0; border: 1px solid #ccc; background: #fff;">';
62                while (($rt = readdir($t)) !== false) {
63                        if (is_dir($dir.$rt) and $r = @opendir($dir.$rt) and $rt != '..') {
64                                $capture = false;
65                                $nom_theme = false;
66                                while (($f = readdir($r)) !== false) {
67                                        // à minima un theme doit avoir un fichier style.css
68                                if ($f == 'style.css') {
69                                        $nom_theme = $rt;
70                                }
71                                        if ($f == 'screenshot.jpg') {
72                                                $capture = true;
73                                        }
74                                }
75                                if ($nom_theme) {
76                                        $htm .= '<li style="padding-left: 10px; border-bottom: 2px solid #ccc;"><p><a id="'.$nom_theme.'" class="theme" href="#" title="'._T(selectionner_theme).'">'.$nom_theme.'</p>';
77                                        if ($capture) {
78                                                $htm .= '<img src="'._DIR_PLUGIN_SPIPCLEAR.'themes/'.$rt.'/screenshot.jpg" />';
79                                        }
80                                        $htm .= "</a></li>\r\n";
81                                }
82                        }
83                }
84                if (is_dir($dir_perso) and $t = @opendir($dir_perso)) {
85                        while (($rt = readdir($t)) !== false) {
86                                if (is_dir($dir_perso.$rt) and $r = @opendir($dir_perso.$rt) and $rt != '..') {
87                                        $capture = false;
88                                        $nom_theme = false;
89                                        while (($f = readdir($r)) !== false) {
90                                                // à minima un theme doit avoir un fichier style.css
91                                        if ($f == 'style.css') {
92                                                $nom_theme = $rt;
93                                        }
94                                                if ($f == 'screenshot.jpg') {
95                                                        $capture = true;
96                                                }
97                                        }
98                                        if ($nom_theme) {
99                                                $htm .= '<li style="padding-left: 10px; border-bottom: 2px solid #ccc;"><p><a id="'.$nom_theme.'" class="theme" href="#" title="'._T(selectionner_theme).'">'.$nom_theme.'</p>';
100                                                if ($capture) {
101                                                        $htm .= '<img src="'.$dir_perso.$rt.'/screenshot.jpg" />';
102                                                }
103                                                $htm .= "</a></li>\r\n";
104                                        }
105                                }
106                        }
107                }
108                $htm .= '</ul>';
109        }
110
111        return $htm;
112}
Note: See TracBrowser for help on using the repository browser.