source: spip-zone/_plugins_/depublication/inc/depublication_auteurs.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.2 KB
Line 
1<?php
2/******************************************************************************************
3 * Dépublication permet de faire expirer les droits d'un auteur à 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 = 'auteurs_infos'
35function inc_depublication_auteurs_dist($id, $flag='', $statut='', $type= 'auteur_infos') {
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        $depub_auteur = lire_config('depublication/depub_auteur');
45        if (! $depub_auteur) {
46                return "";
47        }
48        $date = sql_getfetsel("depublication", "spip_auteurs_depublication", "id_auteur=$id"); 
49        if ($date == '0000-00-00 00:00:00') {
50                $date = '';
51        }
52       
53       
54                if (preg_match("'([0-9]{4})-([0-9]{2})-([0-9]{2})( ([0-9]{2}):([0-9]{2}))?'", $date, $regs)) {
55                        $annee = $regs[1];
56                        $mois = $regs[2];
57                        $jour = $regs[3];
58                        $heures = $regs[5];
59                        $minutes = $regs[6];
60                } else {
61               
62                        // on regarde la conf pour savoir la valeur à ajouter à la date
63                        $delai = lire_config('depublication/delai');
64                        $delaiunite = lire_config('depublication/delaiunite');
65                       
66                        $secondes = date('s');
67                        $minutes = date('i');
68                        $heures = date('H');
69                        $jours = date('d');
70                        $semaines = date('d');
71                        $mois = date('m');
72                        $annees = date('Y');
73                       
74                        switch ($delaiunite) {
75                       
76                                case 'secondes':
77                                        $secondes += $delai;
78                                        break;
79                               
80                                case 'minutes':
81                                        $minutes += $delai;
82                                        break;
83                                case 'heures':
84                                        $heures += $delai;
85                                        break;
86                                case 'jours':
87                                        $jours += $delai;
88                                        break;
89                                case 'semaines':
90                                        $semaines += ($delai * 7);
91                                        break;
92                                case 'mois':
93                                        $mois += $delai;
94                                        break;
95                                case 'annees':
96                                        $annees += $delai;
97                                        break;
98                        }
99                       
100                        $dateDelai = mktime($heures, $minutes, $secondes, $mois , $jours, $annees);
101                       
102                        $annee = date('Y', $dateDelai);
103                        $mois = date('m', $dateDelai);
104                        $jour = date('d', $dateDelai);
105                        $heures = date('H', $dateDelai);
106                        $minutes = date('i', $dateDelai);
107                       
108                }
109               
110               
111               
112                if ($date != '') {
113                        $date = 'le '.majuscules(affdate_heure($date));
114                } else {
115                        $date = _T('depublication:nodate');
116                }
117       
118        include_spip('inc/autoriser');
119        if (autoriser('depublication',$type,$id,null,array('statut'=>$statut))) {
120       
121                /*$js = "size='1' class='fondl'
122                        onchange=\"findObj_forcer('valider_depublication').style.visibility='visible';\"";*/
123               
124                if ($date != _T('depublication:nodate')) {
125                        $js = " onchange=\"findObj_forcer('valider_depublication').style.visibility='visible';\"";
126                }
127               
128                $idom = "depublication" . "_objet_$id";
129               
130                                $bouton = bouton_block_depliable(_T('depublication:depublication_auteur')." :<span  align='center'>".$date."</span>",'ajax',$idom);
131                                /*$masque = '<input type="checkbox" name="supp" id="supp" value="supp"/><label for="supp">'._T('depublication:supp_date_auteur').'</label><br/><br/>'
132                                        . _T('depublication:date_depub_auteur')."<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_auteur')."<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                                       
153                                       
154                                /*$contenu = "<div style='margin: 5px; margin-$spip_lang_left: 20px;'>"
155                                        .  ajax_action_post("depublication_auteur",
156                                                "$id",
157                                                $script,
158                                                "id=$id",
159                                                $masque,
160                                                _T('bouton_changer'),
161                                           " class='fondo'", "",
162                                                "&id=$id")
163                                        .  "</div>";*/
164                                       
165                                $contenu = "<div style='margin: 5px; margin-$spip_lang_left: 20px;'>"
166                                                .  ajax_action_post("depublication_auteurs",
167                                                        "$id",
168                                                        $script,
169                                                        "id=$id",
170                                                        $masque,
171                                                        _T('bouton_changer'),
172                                                        (($date == _T('depublication:nodate')) ? '' : " class='visible_au_chargement'")." id='valider_depublication' style='float: right' ", "",
173                                                        "&id=$id")
174                                                .  "</div>";
175                               
176
177       
178                                $res = debut_cadre_enfonce(find_in_path("img/depublication-24.png"), true, "", $bouton)
179                                        . debut_block_depliable($flag === 'ajax',$idom)
180                                        . $contenu
181                                        . fin_block()
182                                        . fin_cadre_enfonce(true);
183                               
184                                return ajax_action_greffe("depublication_auteurs",$id, $res);
185                               
186                       
187        } else {
188       
189                $contenu = "<b>"._T('depublication:depublication_auteur')." :  <span  align='center'>".$date."</span></b>";
190                $res = debut_cadre_enfonce(find_in_path("img/depublication-24.png"), true, "", $bouton)
191                        . $contenu
192                        . fin_cadre_enfonce(true);
193
194
195                return ajax_action_greffe("depublication_auteurs",$id, $res);           
196        }
197}
198
199
200
201?>
Note: See TracBrowser for help on using the repository browser.