source: spip-zone/_plugins_/_test_/spip-listes/spip-listes_1_9_3/inc/spiplistes_api_journal.php @ 26478

Last change on this file since 26478 was 26478, checked in by paladin@…, 11 years ago

Curseur de type pointer pour les boutons du journal + Légende

  • Property svn:eol-style set to native
  • Property svn:keywords set to LastChangedBy LastChangedDate LastChangedRevision
File size: 10.0 KB
Line 
1<?php
2       
3        // inc/spiplistes_api_journal.php
4       
5        // $LastChangedRevision: 26478 $
6        // $LastChangedBy: paladin@quesaco.org $
7        // $LastChangedDate: 2009-02-09 10:25:06 +0000 (Mon, 09 Feb 2009) $
8       
9        // fonctions utilises en espace privé
10        // presentation
11
12        /*****************************************************
13        Copyright (C) 2008 Christian PAULUS
14        cpaulus@quesaco.org - http://www.quesaco.org/
15        /*****************************************************
16       
17        This file is part of Fmp3.
18        http://files.spip.org/spip-zone/fond_mp3.zip
19       
20/******************************************************************************************/
21/* SPIP-Listes est un systeme de gestion de listes d'abonnes et d'envoi d'information     */
22/* par email pour SPIP. http://bloog.net/spip-listes                                      */
23/* Copyright (C) 2004 Vincent CARON  v.caron<at>laposte.net                               */
24/*                                                                                        */
25/* Ce programme est libre, vous pouvez le redistribuer et/ou le modifier selon les termes */
26/* de la Licence Publique Generale GNU publiee par la Free Software Foundation            */
27/* (version 2).                                                                           */
28/*                                                                                        */
29/* Ce programme est distribue car potentiellement utile, mais SANS AUCUNE GARANTIE,       */
30/* ni explicite ni implicite, y compris les garanties de commercialisation ou             */
31/* d'adaptation dans un but specifique. Reportez-vous a la Licence Publique Generale GNU  */
32/* pour plus de details.                                                                  */
33/*                                                                                        */
34/* Vous devez avoir recu une copie de la Licence Publique Generale GNU                    */
35/* en meme temps que ce programme ; si ce n'est pas le cas, ecrivez a la                  */
36/* Free Software Foundation,                                                              */
37/* Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, Etats-Unis.                   */
38/******************************************************************************************/
39       
40include_spip('inc/plugin');
41include_spip('inc/presentation');
42include_spip('inc/texte');
43
44/*
45 * Afficher le journal (log) en espace privé. Voir:
46 * - exec/*_voir_journal.php
47 * - action/*_voir_journal.php
48 * Ajouter dans la page exec/* spiplistes_raccourci_journal()
49 */
50
51/*
52 * Boite raccourci, Afficher le journal du plugin
53 */
54function spiplistes_raccourci_journal ($envelopper = true) {
55
56        $connect_id_auteur = intval($GLOBALS['connect_id_auteur']);
57       
58        $result = "";
59       
60        if($envelopper) {
61                $result .= ""
62                        . debut_cadre_enfonce('', true)
63                        . "<span class='verdana2' style='font-size:80%;text-transform: uppercase;font-weight:bold;'>"
64                                . _T('titre_cadre_raccourcis')
65                                . "</span>\n"
66                        . "<ul class='verdana2' style='list-style:none;padding:1ex;margin:0;'>\n"
67                        ;
68        }
69        $result .= ""
70                . "<li id='spiplistes-log-raccourci'>"
71                . icone_horizontale(
72                        _T('spiplistes:log_voir_le_journal')
73                        , generer_url_ecrire('spiplistes_voir_journal')
74                        , _DIR_PLUGIN_SPIPLISTES_IMG_PACK."log-24.png"
75                        , ''
76                        ,false
77                        )
78                .       (
79                                (spiplistes_server_rezo_local())
80                                ? "<span class='verdana2' style='display:block;padding:0.5ex;text-align:center'>" 
81                                        // avertir qu'on est en mode debug
82                                        . "<span style='display:block;font-weight:700;color:white;background-color:red;'>" . _T('spiplistes:mode_debug_actif') . "</span>\n"
83                                        // l'adresse IP pour info
84                                        . "<span style='display:block;'>" . $_SERVER['SERVER_ADDR'] . "</span>\n"
85                                        . "</span>\n"
86                                : ""
87                        )
88                . "</li>\n"
89                ;
90        if($envelopper) {
91                $result .= ""
92                        . "</ul>\n"
93                        ;
94        }
95       
96        if($envelopper) {
97                $result .= ""
98                        . fin_cadre_enfonce(true)
99                        ;
100        }
101
102        return($result);
103}
104
105/*
106 * jQuery pour afficher le journal
107 * @return le code jQuery à placer au bon endroit
108 */
109function spiplistes_raccourci_journal_jquery () {
110
111        $action = "spiplistes_journal";
112        $action_arg = "";
113        $journal_url_action = generer_action_auteur($action, $action_arg);
114        // $.ajax n'aime pas &amp;
115        $journal_url_action = preg_replace("/&amp;/", "&", $journal_url_action);
116       
117               
118        /*
119         * le JS nécessaire
120         */
121       
122        $js = "
123$(document).ready(function(){
124       
125        $.fn.extend({
126                log_loader: function() {
127                        $('#spiplistes-log-result').css({
128                                'background': 'url(". find_in_path("images/searching.gif").") no-repeat top center'
129                        });
130                        $.ajax({
131                                type: 'POST'
132                                , data : ''
133                                , url: '" . $journal_url_action . "'
134                                , success: function(msg){
135                                        $('#spiplistes-log-result').html(msg);
136                                        $('#spiplistes-log-result').css({'background': 'url()'});
137                                }
138                        });
139                }
140        });
141
142        /* le journal */
143        var log_switch = null;
144        /*
145         * attendre évènement click sur le bouton
146         */
147        $('#spiplistes-log-raccourci .cellule-h').click(function(){
148                if(log_switch) {
149                        /* supprimer la boite de log */
150                        $('#spiplistes-log-bg').remove();
151                        $('#spiplistes-log-div').remove();
152                        log_switch = false;
153                }
154                else {
155                        /* creer une boite pour le fond */
156                        $('body').append(
157                                '<div id=\'spiplistes-log-bg\'></div>'
158                                + '<div id=\'spiplistes-log-div\'>'
159                                + '<h1>".spiplistes_journal_titre()."<span id=\'spiplistes-log-close\'>'
160                                                + '<span style=\'display:none\'>X</span>'
161                                        + '</span></h1>'
162                                + '<div id=\'spiplistes-log-result\' style=\'padding:1ex\'></div>'
163                                + '<div id=\'spiplistes-log-reload\'><div id=\'spiplistes-log-reload-btn\'></div></div>'
164                                + '</div>'
165                                );
166                        /*
167                         * prendre toute la surface de l ecran
168                         */
169                        $('#spiplistes-log-bg').width($('body').width());
170                        $('#spiplistes-log-bg').height($('body').height());
171                        $('#spiplistes-log-bg').css({
172                                'position': 'absolute'
173                                , 'top':'0'
174                                , 'left': '0'
175                                /* un peu de transparence pour le fond */
176                                , 'filter': 'alpha(opacity=70)' /* IE */       
177                                , '-moz-opacity': '.70' /* Mozilla */   
178                                , 'opacity':'.70' /* les autres */
179                                , 'background-color': '#333'
180                                , 'color': 'white'
181                                /* passer au dessus de tous */
182                                , 'z-index': '2000'
183                        });
184                        var log_x = Math.round(($('body').width() - 600) / 2);
185                        var log_y = Math.round(($('body').height() - 400) / 8);
186                        log_x = (log_x >= 0) ? log_x : 0;
187                        log_y = (log_y >= 0) ? log_y : 0;
188                       
189                        /*
190                         * la fenetre de résultat
191                         */
192                        $('#spiplistes-log-div').css({
193                                'position': 'absolute'
194                                , 'top': log_y
195                                , 'left': log_x
196                                , 'margin': '100px auto'
197                                , 'width': '600px'
198                                , 'height': '450px'
199                                , 'background-color': 'white'
200                                , 'color': 'black'
201                                , 'z-index': '2001'
202                        });
203                       
204                        /*
205                         * le titre de cette fenêtre
206                         */
207                        $('#spiplistes-log-div h1').css({
208                                'position': 'relative'
209                                , 'font-size': '1.2em'
210                                , 'padding': '0 8px'
211                                , 'height': '24px'
212                                , 'margin-top': '0.25em'
213                        });
214
215                        /*
216                         * le bouton close positionné à droite
217                         */
218                        $('#spiplistes-log-close').css({
219                                'display': 'block'
220                                , 'position': 'absolute'
221                                , 'top': '0'
222                                , 'right': '8px'
223                                , 'width': '24px'
224                                , 'height': '24px'
225                                , 'cursor': 'pointer'
226                                , 'background': 'url(". find_in_path(_DIR_PLUGIN_SPIPLISTES_IMG_PACK . "close-24.png").") no-repeat top right'
227                        });
228                       
229                        /*
230                         * la boite pour le résultat
231                         */
232                        $('#spiplistes-log-result').css({
233                                'width': 'auto'
234                                , 'height': '360px'
235                                , 'background': 'url(". find_in_path(_DIR_PLUGIN_SPIPLISTES_IMG_PACK . "searching.gif").") no-repeat top center'
236                        });
237                       
238                        /*
239                         * le bouton pour recharger
240                         */
241                        $('#spiplistes-log-reload').css({
242                                'width': 'auto'
243                                , 'height': '12px'
244                                , 'text-align': 'right'
245                                , 'padding': '4px 10px'
246                                , 'cursor': 'pointer'
247                        });
248                        $('#spiplistes-log-reload-btn').css({
249                                'width': '12px'
250                                , 'height': '12px'
251                                , 'margin-left': 'auto'
252                                , 'background': 'url(". find_in_path(_DIR_PLUGIN_SPIPLISTES_IMG_PACK . "reload-12.png").") no-repeat top right'
253                        });
254                        $('#spiplistes-log-close').attr('title', '" . _T('spiplistes:fermer_journal'). "');
255                        $('#spiplistes-log-reload-btn').attr('title', '" . _T('spiplistes:recharger_journal'). "');
256                       
257                        log_switch = true;
258                        /*
259                         * maintenant que l'objet parent est créé, on peut rajouter les évènements
260                         * sur ses enfants
261                         */
262                        $('#spiplistes-log-close').hover(function(){
263                                $(this).addClass('spiplistes-hover');
264                        },function(){
265                                $(this).removeClass('spiplistes-hover');
266                        });
267                        $('#spiplistes-log-close').click(function(){
268                                log_switch = false;
269                                $('#spiplistes-log-bg').remove();
270                                $('#spiplistes-log-div').remove();
271                        });
272                        $('#spiplistes-log-reload-btn').hover(function(){
273                                $(this).addClass('spiplistes-hover');
274                        },function(){
275                                $(this).removeClass('spiplistes-hover');
276                        });
277                        $('#spiplistes-log-reload-btn').click(function(){
278                                $(document).log_loader();
279                        });
280                        /*
281                         * Demande le journal via Ajax
282                         */
283                        $(document).log_loader();
284                }
285                return(false);
286        });
287               
288}); // end $(document).ready()
289        ";
290       
291        $result = spiplistes_envelopper_script(spiplistes_compacter_script($js, 'js'), 'js');
292       
293        return($result);
294}
295
296/*
297 * @return: le contenu du journal (log) du plugin
298 */
299function spiplistes_journal_lire ($logname = NULL, $logdir = NULL, $logsuf = NULL) {
300        // definition des constantes 1.9.3 pour les SPIP anterieurs
301        if (!defined('_DIR_LOG')){
302                define('_DIR_LOG',defined('_DIR_TMP')?_DIR_TMP:_DIR_SESSION);
303        }
304        if (!defined('_FILE_LOG_SUFFIX')){
305                define('_FILE_LOG_SUFFIX','.log');
306        }
307        if (!defined('_FILE_LOG')){
308                define('_FILE_LOG','spip');
309        }
310       
311        $logname = ($logname === NULL ? _FILE_LOG : $logname);
312       
313        $logfile = 
314                (spiplistes_spip_est_inferieur_193())
315                ? _DIR_TMP . $logname . '.log' 
316                : ($logdir===NULL ? _DIR_LOG : $logdir)
317                        . (test_espace_prive()?'prive_':'') //distinguer les logs prives et publics
318                        . $logname
319                        . ($logsuf === NULL ? _FILE_LOG_SUFFIX : $logsuf)
320                ;
321
322        $result =
323                (file_exists($logfile))
324                //? file_get_contents($logfile, false, null, 0, 2048)
325                ? file_get_contents($logfile)
326                : _T('fichier_introuvable', array('fichier', $logfile))
327                ;
328       
329        $result = ""
330                . "<div class='verdana2' style='height:360px;overflow:scroll;background:url(rien.gif)'>\n"
331                . nl2br($result)
332                . "</div>\n"
333                ;
334               
335        return($result);
336}
337
338function spiplistes_journal_titre() {
339        return(_T('spiplistes:titre_page_voir_journal'));
340}
341 
342?>
Note: See TracBrowser for help on using the repository browser.