source: extensions/event_cats/admin/autolog_entries.inc.php @ 3999

Last change on this file since 3999 was 3999, checked in by LucMorizur, 15 years ago

[Event Cats] Many changes, mainly separate existing/new entries

File size: 12.4 KB
Line 
1<?php
2// +-----------------------------------------------------------------------+
3// | Plugin Name : Event Cats                                              |
4// | Plugin Version : 1.0                                                  |
5// | File Version : 1.0                                                    |
6// | Plugin Version author : LucMorizur                                    |
7// | Plugin description : (plugin for Piwigo, http://piwigo.org )          |
8// | This plugin allows an account to be automatically logged in ; and to  |
9// | let users duplicate the account they are logged with, to get benefits |
10// | of the groups of the previous account, immediately on their new acc.  |
11// | Ce plugin permet d'identifier automatiquement un compte ; et permet à |
12// | un utilisateur de dupliquer un compte, pour que le nouveau compte     |
13// | bénéficie immédiatement de l'affectation aux groupes de l'ancien cpte |
14// +-----------------------------------------------------------------------+
15
16// +-----------------------------------------------------------------------+
17// | Piwigo - a PHP based picture gallery                                  |
18// +-----------------------------------------------------------------------+
19// | Copyright(C) 2008-2009 Piwigo Team                  http://piwigo.org |
20// | Copyright(C) 2003-2008 PhpWebGallery Team    http://phpwebgallery.net |
21// | Copyright(C) 2002-2003 Pierrick LE GALL   http://le-gall.net/pierrick |
22// +-----------------------------------------------------------------------+
23// | This program is free software; you can redistribute it and/or modify  |
24// | it under the terms of the GNU General Public License as published by  |
25// | the Free Software Foundation                                          |
26// |                                                                       |
27// | This program is distributed in the hope that it will be useful, but   |
28// | WITHOUT ANY WARRANTY; without even the implied warranty of            |
29// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU      |
30// | General Public License for more details.                              |
31// |                                                                       |
32// | You should have received a copy of the GNU General Public License     |
33// | along with this program; if not, write to the Free Software           |
34// | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, |
35// | USA.                                                                  |
36// +-----------------------------------------------------------------------+
37
38if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!');
39
40global $template, $conf, $lang, $test1, $prefixeTable, $ec_err, $page,
41 $ec_lists,   // array of following arrays :
42              //   $ec_lists['ec_table'] :
43              //     Event Cats table, in function of each entry id
44              //   $ec_lists['ec_codes'] : // Used ?
45              //     array of useful data, in function of entries codes
46              //   $ec_lists['add_pages'] :
47              //     array of Add. Pages names in function of their id
48              //   $ec_lists['categories'] :
49              //     array of category names in function of their id
50              //   $ec_lists['user_ids'] :
51              //     array of usernames in function of their id
52 $ec_ap_ok;   // whether Additional Pages is installed and activated
53
54/****************************************************************************/
55
56$code_list = array();
57build_ec_lists(); // in evntcats_funcs.php
58
59if (isset($_GET['delete'])) {
60  if (array_key_exists($_GET['delete'],$ec_lists['ec_table'])) {
61    $t = $ec_lists['ec_table'][$_GET['delete']]['code'];
62    $q = pwg_query('
63     DELETE FROM '.EVNTCATS_TABLE.'
64     WHERE id = '.$_GET['delete']
65    );
66    if ($q = 1) {
67      $page['infos']['infos'] = l10n('ec_entry_del_ok_pre').$t.
68       l10n('ec_entry_del_ok_end');
69    }
70    else {
71      $page['errors'][] = l10n('ec_entry_del_nok_pre').$t.
72       l10n('ec_entry_del_nok_end');
73    }
74    build_ec_table();
75  }
76}
77
78if (isset($_GET['disable'])) {
79  if (array_key_exists($_GET['disable'],$ec_lists['ec_table'])) {
80    $t = $ec_lists['ec_table'][$_GET['disable']]['code'];
81    $q = pwg_query('
82     UPDATE '.EVNTCATS_TABLE.'
83     SET action = \'ec_outdated\'
84     WHERE id = '.$_GET['disable']
85    );
86    if ($q = 1) {
87      $page['infos']['infos'] = l10n('ec_entry_dis_ok_pre1').$t.
88       l10n('ec_entry_dis_ok_end1');
89      if (isset($_GET['add_p'])) {
90        if (array_key_exists($_GET['add_p'],$ec_lists['add_pages'])) {
91          $q = pwg_query('
92           UPDATE '.EVNTCATS_TABLE.'
93           SET arg1 = '.$_GET['add_p'].'
94           WHERE id = '.$_GET['disable']
95          );
96          if ($q = 1) {
97            $page['infos']['infos'].=
98             l10n('ec_entry_dis_ok_pre2').
99             $_GET['add_p'].
100             l10n('ec_entry_dis_ok_mid2').
101             $ec_lists['add_pages'][$_GET['add_p']].
102             l10n('ec_entry_dis_ok_end2');
103          }
104          else {
105            $page['errors'][] =
106             l10n('ec_entry_dis_nok_pre2').
107             $t.
108             l10n('ec_entry_dis_nok_mid2').
109             $_GET['add_p'].
110             l10n('ec_entry_dis_nok_end2');
111          }
112        }
113      }
114      else {
115        $q = pwg_query('
116         UPDATE '.EVNTCATS_TABLE.'
117         SET arg1 = NULL
118         WHERE id = '.$_GET['disable']
119        );
120        if ($q != 1) {
121          $page['errors'][] =
122           l10n('ec_entry_dis_nok_pre3').
123           $t.
124           l10n('ec_entry_dis_nok_end3');
125        }
126      }
127    }
128    else {
129      $page['errors'][] = l10n('ec_entry_dis_nok_pre1').$t.
130       l10n('ec_entry_dis_nok_end1');
131    }
132    build_ec_table();
133  }
134}
135
136if (isset($_GET[''])) {
137}
138
139if (isset($_GET[''])) {
140}
141
142if (isset($_GET[''])) {
143}
144
145if (isset($_GET[''])) {
146}
147
148/****************************************************************
149* Construction of array var to be transmitted to tpl file,      *
150* containing all infos to be displayed in the code array table. *
151****************************************************************/
152
153$span_err_pre = '<span style = "color: red; font-weight: bold;">';
154$span_err_end = '</span>';
155
156foreach ($ec_lists['ec_table'] as $ec_entry) {
157   
158  $a = NULL;
159  $dspl     = '';
160  $url_end  = '';
161  $i        = intval($ec_entry['id']);
162  $arg1     = $ec_entry['arg1'];
163  $arg1_int = intval($arg1);
164  $arg2     = $ec_entry['arg2'];
165  $arg2_int = intval($arg2);
166  $log_OK   = is_in($ec_entry['action'], 'ec_ok');
167 
168  // No specific need for "code" displaying
169 
170  // "username" displaying
171  $username = ($log_OK) ?
172   $ec_lists['user_ids'][intval($ec_entry['user_id'])] : '';
173 
174  // No specific need for "action" displaying
175 
176  // "displayed page" : # of the AP, or of the category...
177  switch ($ec_entry['action']) {
178   
179    case 'ec_ok_f_pb' :
180    case 'ec_ok_f_pb_img_pb' :
181      $page['errors'][$ec_entry['code']] =
182       $ec_entry['code'].' : '.l10n('ec_forced_pb');
183    case 'ec_ok' :
184    case 'ec_ok_img_pb' :
185      $a = 0;
186      if (!empty($ec_entry['arg1'])) $a++;
187      if (!empty($ec_entry['arg2'])) $a+= 2;
188      switch ($a) {
189        case 0: // Home
190          $dspl = l10n('ec_dspl_ok_home');
191        break;
192        case 1: // Category
193        case 3: // Image
194          $url_end = (
195           $ec_entry['forced'] == 'true' and
196           !is_in($ec_entry['action'], '_f_pb')
197          ) ? '' : '&cat='.$arg1;
198          $dspl =
199           l10n('ec_dspl_ok_cat_pre').
200           $arg1.
201           l10n('ec_dspl_ok_cat_mid').
202           $ec_lists['categories'][$arg1_int].
203           l10n('ec_dspl_ok_cat_end')
204          ;
205          if (is_in($ec_entry['action'], '_img_pb')) {
206            $url_end.= ($url_end == '') ? '' : '&img='.$arg2;
207            $page['errors'][] = 
208             $ec_entry['code'].' : '.l10n('ec_image_miss');
209            $dspl.=
210             '<br>'.$span_err_pre.
211             l10n('ec_dspl_nok_img2_pre').
212             $arg2.
213             l10n('ec_dspl_nok_img2_mid').
214             $arg1.
215             l10n('ec_dspl_nok_img2_end').
216             $span_err_end
217            ;
218          }
219          elseif ($a == 3) { // Image
220            $url_end.= ($url_end == '') ? '' : '&img='.$arg2;
221            $t = mysql_fetch_row(pwg_query('
222             SELECT `name`, `file`
223             FROM `'.IMAGES_TABLE.'`
224             WHERE `id` = "'.$arg2.'"
225            '));
226            $dspl.=
227             '<br>'.
228             l10n('ec_dspl_ok_img2_pre').
229             $arg2.
230             l10n('ec_dspl_ok_img2_mid1').
231             $t[0].
232             l10n('ec_dspl_ok_img2_mid2').
233             $t[1].
234             l10n('ec_dspl_ok_img2_end')
235            ;
236          }
237        break;
238        case 2: // Additional Page
239          $url_end = (
240           $ec_entry['forced'] == 'true' and
241           !is_in($ec_entry['action'], '_f_pb')
242          ) ? '' : '&ap='.$arg2;
243          $dspl = ($ec_ap_ok) ?
244           l10n('ec_dspl_ok_ap_pre').
245           $arg2.
246           l10n('ec_dspl_ok_ap_mid').
247           $ec_lists['add_pages'][$arg2_int].
248           l10n('ec_dspl_ok_ap_end')
249          :
250           l10n('ec_dspl_ok_home')
251          ;
252        break;
253      }
254    break;
255   
256    case 'ec_nok' :
257      if (empty($ec_entry['arg2'])) {
258        $dspl = l10n('ec_dspl_nok_acc_denied');
259      }
260      else {
261        $dspl = ($ec_ap_ok) ?
262         l10n('ec_dspl_ok_ap_pre').
263         $arg2.
264         l10n('ec_dspl_ok_ap_mid').
265         $ec_lists['add_pages'][$arg2_int].
266         l10n('ec_dspl_ok_ap_end')
267        :
268         l10n('ec_dspl_nok_acc_denied')
269        ;
270      }
271    break;
272   
273    case 'ec_ok_f_pb_ap_pb' :
274      $page['errors'][$ec_entry['code']] =
275       $ec_entry['code'].' : '.l10n('ec_forced_pb');
276    case 'ec_nok_ap_pb' : // No need to check here if Additional Pages is
277    case 'ec_ok_ap_pb' :  // active : we can arrive here only when it is.
278      $page['errors'][] = 
279       $ec_entry['code'].' : '.l10n('ec_add_page_miss');
280      if (is_in($ec_entry['action'], 'ec_ok')) {
281        $url_end = (
282         $ec_entry['forced'] == 'true' and
283         !is_in($ec_entry['action'], '_f_pb')
284        ) ? '' : '&ap='.$arg2;
285        $dspl = l10n('ec_dspl_ok_home');
286      }
287      else {
288        $dspl = l10n('ec_dspl_nok_acc_denied');
289      }
290      $dspl.=
291       $span_err_pre.
292       l10n('ec_dspl_nok_ap_pre').
293       $arg2.
294       l10n('ec_dspl_nok_ap_end').
295       $span_err_end
296      ;
297    break;
298   
299    case 'ec_ok_f_pb_cat_pb' :
300      $page['errors'][$ec_entry['code']] =
301       $ec_entry['code'].' : '.l10n('ec_forced_pb');
302    case 'ec_ok_cat_pb' :
303      $url_end = (
304       $ec_entry['forced'] == 'true' and
305       !is_in($ec_entry['action'], '_f_pb')
306      ) ? '' : '&cat='.$arg1;
307      $page['errors'][] = 
308       $ec_entry['code'].' : '.l10n('ec_category_miss');
309      $dspl =
310       l10n('ec_dspl_nok_home').
311       $span_err_pre.
312       l10n('ec_dspl_nok_img1_pre').
313       $arg1.
314       l10n('ec_dspl_nok_img1_end').
315       $span_err_end
316      ;
317    break;
318   
319    case 'ec_nok_action_pb' :
320      $page['errors'][$ec_entry['code']] = 
321       $ec_entry['code'].' : '.l10n('ec_action_pb');
322      $username =
323       $span_err_pre.
324       l10n('ec_dspl_nok_actn').
325       $span_err_end
326      ;
327      $dspl = l10n('ec_dspl_ok_home');
328    break;
329   
330    case 'ec_nok_userid_pb' :
331      $page['errors'][$ec_entry['code']] = 
332       $ec_entry['code'].' : '.l10n('ec_username_pb');
333      $username =
334       $span_err_pre.
335       l10n('ec_dspl_usr_pb').
336       $span_err_end
337      ;
338      $dspl = l10n('ec_dspl_ok_home');
339    break;
340   
341    case 'ec_nok_userid_miss' :
342      $page['errors'][$ec_entry['code']] = 
343       $ec_entry['code'].' : '.l10n('ec_username_miss');
344      $username =
345       $span_err_pre.
346       l10n('ec_dspl_nok_usr_pre').
347       $ec_entry['user_id'].
348       l10n('ec_dspl_nok_usr_end').
349       $span_err_end
350      ;
351      $dspl = l10n('ec_dspl_ok_home');
352    break;
353  }
354 
355  // construction of $code_URL
356  $code_URL =
357   ROOT_URL.
358   'index.php?autolog='.
359   $ec_entry['code'].
360   $url_end
361  ;
362 
363  $code_list[$i] = array(
364   'id'       => $i,
365   'Code'     => (isset($page['errors'][$ec_entry['code']])) ?
366    $span_err_pre.$ec_entry['code'].$span_err_end : $ec_entry['code'],
367   'Username' => $username,
368   'Action'   => (is_in($ec_entry['action'], 'ec_nok_')) ?
369    $span_err_pre.$ec_entry['action'].$span_err_end : $ec_entry['action'],
370   'Arg1'     => $dspl,
371   'Forced'   => $ec_entry['forced'],
372   'code_URL' => $code_URL,
373   'log_OK'   => $log_OK,
374   'f_pb'     => is_in($ec_entry['action'], '_f_pb'),
375  );
376}
377
378$template->assign('ec_ap_ok',$ec_ap_ok);
379$template->assign('code_list',$code_list);
380
381?>
Note: See TracBrowser for help on using the repository browser.