source: spip-zone/_plugins_/depublication/inc/depublication_articles.php @ 49008

Last change on this file since 49008 was 49008, checked in by guillaume@…, 10 years ago

Pour éviter les erreurs d'obsolecences de la fonction ereg avec PHP5.3 et supprimer les quelques warnings "arguments manquant"

File size: 7.1 KB
Line 
1<?php
2/******************************************************************************************
3 * Dépublication permet de dépublier un article à une date donnée.                                                *
4 * Copyright (C) 2005-2010 Nouveaux Territoires support<at>nouveauxterritoires.fr                 *
5 * http://www.nouveauxterritoires.fr                                                                                              *
6 *                                                                                        *
7 * Ce programme est libre, vous pouvez le redistribuer et/ou le modifier selon les termes *
8 * de la Licence Publique Générale GNU publiée par la Free Software Foundation            *
9 * (version 3).                                                                           *
10 *                                                                                        *
11 * Ce programme est distribué car potentiellement utile, mais SANS AUCUNE GARANTIE,       *
12 * ni explicite ni implicite, y compris les garanties de commercialisation ou             *
13 * d'adaptation dans un but spécifique. Reportez-vous à la Licence Publique Générale GNU  *
14 * pour plus de détails.                                                                  *
15 *                                                                                        *
16 * Vous devez avoir reçu une copie de la Licence Publique Générale GNU                    *
17 * en même temps que ce programme ; si ce n'est pas le cas,                                                               *
18 * regardez http://www.gnu.org/licenses/                                                                                                  *
19 * ou écrivez à la                                                                                                                                                *
20 * Free Software Foundation,                                                              *
21 * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, États-Unis.                   *
22 ******************************************************************************************/
23
24if (!defined("_ECRIRE_INC_VERSION")) return;
25
26include_spip('inc/presentation');   // for spip presentation functions
27include_spip('inc/config');             // for spip presentation functions
28include_spip('inc/layer');          // for spip layer functions
29include_spip('inc/utils');          // for _request function
30include_spip('inc/plugin');         // xml function
31
32include_spip('inc/date');
33
34// $id, $type = 'articles'
35function inc_depublication_articles_dist($id, $flag="", $statut="", $type= 'articles', $script='', $date='', $date_redac='') {
36       
37        global $spip_lang_left, $spip_lang_right, $options;
38
39        //ne fait rien si le plugin n'est pas initialisé ie n'a pas de version
40        if (!isset($GLOBALS['meta']['depublication_base_version'])) {
41                return "";
42        }
43       
44
45                                $date = sql_getfetsel("depublication", "spip_articles_depublication", "id_article=$id"); 
46                                if ($date == '0000-00-00 00:00:00') {
47                                        $date = '';
48                                }
49       
50       
51       
52                if (preg_match("'([0-9]{4})-([0-9]{2})-([0-9]{2})( ([0-9]{2}):([0-9]{2}))?'", $date, $regs)) {
53                        $annee = $regs[1];
54                        $mois = $regs[2];
55                        $jour = $regs[3];
56                        $heures = $regs[5];
57                        $minutes = $regs[6];
58                } else {
59               
60                        // on regarde la conf pour savoir la valeur à ajouter à la date
61                        $delai = lire_config('depublication/delai');
62                        $delaiunite = lire_config('depublication/delaiunite');
63                       
64                        $secondes = date('s');
65                        $minutes = date('i');
66                        $heures = date('H');
67                        $jours = date('d');
68                        $semaines = date('d');
69                        $mois = date('m');
70                        $annees = date('Y');
71                       
72                        switch ($delaiunite) {
73                       
74                                case 'secondes':
75                                        $secondes += $delai;
76                                        break;
77                               
78                                case 'minutes':
79                                        $minutes += $delai;
80                                        break;
81                                case 'heures':
82                                        $heures += $delai;
83                                        break;
84                                case 'jours':
85                                        $jours += $delai;
86                                        break;
87                                case 'semaines':
88                                        $semaines += ($delai * 7);
89                                        break;
90                                case 'mois':
91                                        $mois += $delai;
92                                        break;
93                                case 'annees':
94                                        $annees += $delai;
95                                        break;
96                        }
97                       
98                        $dateDelai = mktime($heures, $minutes, $secondes, $mois , $jours, $annees);
99                       
100                        $annee = date('Y', $dateDelai);
101                        $mois = date('m', $dateDelai);
102                        $jour = date('d', $dateDelai);
103                        $heures = date('H', $dateDelai);
104                        $minutes = date('i', $dateDelai);
105                       
106                }
107               
108               
109               
110                if ($date != '') {
111                        $date = 'le '.majuscules(affdate_heure($date));
112                } else {
113                        $date = _T('depublication:nodate');
114                }
115       
116        include_spip('inc/autoriser');
117
118        if (autoriser('depublication',$type,$id,null,array('statut'=>$statut))) {
119       
120                /*$js = "size='1' class='fondl'
121                        onchange=\"findObj_forcer('valider_depublication').style.visibility='visible';\"";*/
122               
123                if ($date != _T('depublication:nodate')) {
124                        $js = " onchange=\"findObj_forcer('valider_depublication').style.visibility='visible';\"";
125                }
126               
127                $idom = "depublication" . "_objet_$id";
128               
129               
130                                $bouton = bouton_block_depliable(_T('depublication:depublication_article')." :<span align='center'>&nbsp;&nbsp;".$date."</span>",'ajax',$idom);
131                                /*$masque = '<input type="checkbox" name="supp" id="supp" value="supp"/><label for="supp">'._T('depublication:supp_date_article').'</label><br/><br/>'
132                                        . _T('depublication:date_depub_article')."<br/>"
133                                        . afficher_jour($jour, "name='jour' id='jour' $js", true)
134                                        . afficher_mois($mois, "name='mois' id='mois' $js", true)
135                                        . afficher_annee($annee, "name='annee' id='annee' $js")
136                                        . (' - '
137                                                . afficher_heure($heures, "name='heure' id='heure' $js")
138                                        . afficher_minute($minutes, "name='minute' id='minute' $js"))
139                                        . "&nbsp;\n";
140                                        */
141                                $masque =
142                                         //_T('depublication:date_depub_article')."<br/>"
143                                        afficher_jour($jour, "name='jour' id='jour' $js", false)
144                                        . afficher_mois($mois, "name='mois' id='mois' $js", false)
145                                        . afficher_annee($annee, "name='annee' id='annee' $js", $debut_date_publication)
146                                        . (' - '
147                                                . afficher_heure($heures, "name='heure' id='heure' $js")
148                                                . afficher_minute($minutes, "name='minute' id='minute' $js"))
149                                        . "&nbsp;\n"
150                                        .(($date == _T('depublication:nodate')) ? '' : '<br/><br/><input type="checkbox" name="supp" id="supp" value="supp" '.$js.'/><label for="supp">'._T('depublication:supp_date_article').'</label>');
151                                       
152                                /*$contenu = "<div style='margin: 5px; margin-$spip_lang_left: 20px;'>"
153                                        .  ajax_action_post("depublication_article",
154                                                "$id",
155                                                $script,
156                                                "id=$id",
157                                                $masque,
158                                                _T('bouton_changer'),
159                                           " class='fondo'", "",
160                                                "&id=$id")
161                                        .  "</div>";*/
162                               
163                                $contenu = "<div style='margin: 5px; margin-$spip_lang_left: 20px;'>"
164                                                .  ajax_action_post("depublication_articles",
165                                                        "$id",
166                                                        $script,
167                                                        "id=$id",
168                                                        $masque,
169                                                        _T('bouton_changer'),
170                                                        (($date == _T('depublication:nodate')) ? '' : " class='visible_au_chargement'")." id='valider_depublication' style='float: right' ", "",
171                                                        "&id=$id")
172                                                .  "</div>";
173
174                                $res = debut_cadre_enfonce(find_in_path("img/depublication-24.png"), true, "", $bouton)
175                                        . debut_block_depliable($flag === 'ajax',$idom)
176                                        . $contenu
177                                        . fin_block()
178                                        . fin_cadre_enfonce(true);
179                               
180                                return ajax_action_greffe("depublication_articles",$id, $res);
181               
182        } else {
183       
184                                $contenu = "<b>"._T('depublication:depublication_article')." :  <span  align='center'>".$date."</span></b>";
185                                $res = debut_cadre_enfonce(find_in_path("img/depublication-24.png"), true, "", $bouton)
186                                        . $contenu
187                                        . fin_cadre_enfonce(true);
188                                return ajax_action_greffe("depublication_articles",$id, $res);
189               
190               
191               
192        }
193}
194
195
196
197?>
Note: See TracBrowser for help on using the repository browser.