source: extensions/event_cats/admin/evntcats_admin.php @ 4276

Last change on this file since 4276 was 4276, checked in by LucMorizur, 14 years ago

[Event Cats] Duplication management, add table and begin $_POST analysis

File size: 10.2 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, $prefixeTable, $ec_conf, $page, $ec_debug,
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
54load_language('plugin.lang', EVNTCATS_PATH);
55
56include_once(PHPWG_ROOT_PATH.'admin/include/functions.php');
57include_once(PHPWG_ROOT_PATH.'include/functions.inc.php');
58include_once(PHPWG_ROOT_PATH.'admin/include/tabsheet.class.php');
59include_once(PHPWG_ROOT_PATH.'include/functions_url.inc.php');
60include_once(EVNTCATS_PATH.'include/evntcats_main_funcs.inc.php');
61include_once(EVNTCATS_PATH.'include/evntcats_admin_funcs.inc.php');
62$my_base_url = get_admin_plugin_menu_link(__FILE__);
63
64$template->assign('EVNTCATS_VERSION', EVNTCATS_INFO_VERSION);
65$me = get_plugin_data($plugin_id);
66$template->clear_assign('ec_infos');
67$template->append('head_elements',
68  '<link rel="stylesheet" type="text/css" href="'.
69  EVNTCATS_PATH.'admin/evntcats_theme.css">'
70);
71if (!isset($ec_debug)) $ec_debug = array();
72
73// +-----------------------------------------------------------------------+
74// | $_POST analysis, to determine which tab to display (tabsheet prep.)
75// +-----------------------------------------------------------------------+
76
77// If needed, stores in the DB the new value of the number of digits of
78// automatically created codes
79if (
80  isset($_POST['ec_in_up_auto_code_length']) and
81  $_POST['ec_in_up_auto_code_length'] != read_ec_conf('auto_code_dg_nb')
82) change_ec_conf('auto_code_dg_nb', $_POST['ec_in_up_auto_code_length']);
83
84
85// If needed, stores in the DB that acknowledgement message has been displayed
86if ($ec_howto = (read_ec_conf('howto') == '0')) change_ec_conf('howto', '1');
87
88build_ec_lists(); // in evntcats_main_funcs.php
89
90// If no entry exist, default page is 'autolog_new'.
91$page['tab'] = (!($ec_exist_entries = (mysql_num_rows(pwg_query("
92  SELECT * FROM `".EVNTCATS_AUTOLOG_TABLE."`
93  WHERE `code` IS NOT NULL ;
94")) != 0))) ? 'autolog_new' : 'autolog_entries';
95
96$ec_exist_duplic = ((mysql_num_rows(pwg_query("
97    SELECT * FROM `".EVNTCATS_DUPLIC_TABLE."` ;
98  ")) != 0) or
99  (read_ec_conf('duplic_gen') != 0) or
100  (read_ec_conf('duplic_type') != 0)
101);
102
103// If no entry exist, but some duplication management entries exist, default tab is 'duplication'.
104if (!$ec_exist_entries and $ec_exist_duplic) $page['tab'] = 'duplication';
105
106
107/*
108
109if (isset($_POST[''])) {
110}
111
112
113if (isset($_POST['ec_duplic_conf_submit'])) {
114}
115
116if (isset($_POST['deny_groups_submit'])) {
117}
118
119if (isset($_POST['grant_groups_submit'])) {
120}
121
122if (isset($_POST['deny_types_submit'])) {
123}
124
125if (isset($_POST['grant_types_submit'])) {
126}
127
128if (isset($_POST['deny_users_submit'])) {
129}
130
131if (isset($_POST['grant_users_submit'])) {
132}
133
134
135
136
137*/
138
139
140
141
142
143if (isset($_POST['ec_act1'])) {
144  if (
145    $_POST['ec_act1'] == 'disable' and
146    count($ec_lists['add_pages']) == 0
147  ) {
148    $_POST['ec_act1'] = 'modify_entry_submit';
149    $_POST['ec_input_action'] = 'refused';
150  }
151  if (
152    $_POST['ec_act1'] == 'duplicate_entry_ask' or
153    $_POST['ec_act1'] == 'create_ask'
154  )
155   $page['tab'] = 'autolog_new';
156  elseif (
157    $_POST['ec_act1'] == 'disable' or
158    $_POST['ec_act1'] == 'modify_entry_ask'
159  )
160   $page['tab'] = 'autolog_modif';
161  elseif ($_POST['ec_act1'] == 'create')
162   $page['tab'] = (ec_create_modify_entry_OK()) ?
163    'autolog_entries' : 'autolog_new';
164  elseif (
165    isset($_POST['ec_entry_sel']) and
166    is_numeric($_POST['ec_entry_sel'])
167  ) {
168    if ($_POST['ec_act1'] == 'duplicate_entry_submit') $page['tab'] =
169     (ec_create_modify_entry_OK()) ? 'autolog_entries' : 'autolog_new';
170    elseif ($_POST['ec_act1'] == 'modify_entry_submit') $page['tab'] =
171     (ec_create_modify_entry_OK()) ? 'autolog_entries' : 'autolog_modif';
172    else {
173      $page['tab'] = 'autolog_entries';
174      if ($_POST['ec_act1'] == 'delete') {
175        if (isset($_POST['ec_entry_sel'])) {
176          ec_delete_entry_OK($_POST['ec_entry_sel']);
177          build_ec_table();
178        }
179        else ec_end1('ec_entry_sel', 'ec_bad_argument1');
180      }
181      else if ($_POST['ec_act1'] == 'toggle_forced')
182       ec_create_modify_entry_OK();
183    }
184  }
185}
186else {
187  if (isset($_GET['tab'])) switch ($_GET['tab']) {
188    case 'autolog_modif':
189      if ($ec_exist_entries) $page['tab'] = $_GET['tab'];
190    break;
191    case 'duplication':
192      if ($ec_exist_duplic) $page['tab'] = $_GET['tab'];
193    break;
194    case 'autolog_new':
195    case 'config':
196      $page['tab'] = $_GET['tab'];
197    break;
198  }
199}
200
201// +-----------------------------------------------------------------------+
202// |                            Tabsheet
203// +-----------------------------------------------------------------------+
204
205$ec_exist_entries = (mysql_num_rows(pwg_query("
206  SELECT * FROM `".EVNTCATS_AUTOLOG_TABLE."`
207  WHERE `code` IS NOT NULL
208")) != 0);
209
210$ec_exist_duplic = ((mysql_num_rows(pwg_query("
211    SELECT * FROM `".EVNTCATS_DUPLIC_TABLE."` ;
212  ")) != 0) or
213  (read_ec_conf('duplic_gen') != 0) or
214  (read_ec_conf('duplic_type') != 0)
215);
216
217$tabsheet = new tabsheet();
218if ($ec_exist_entries) {
219  $tabsheet->add('autolog_entries',
220                 l10n('ec_tab_autoid_entries'),
221                 $my_base_url.'&amp;tab=autolog_entries');
222  $tabsheet->add('autolog_modif',
223                 l10n('ec_tab_autoid_modif'),
224                 $my_base_url.'&amp;tab=autolog_modif');
225}
226$tabsheet->add('autolog_new',
227               l10n('ec_tab_autoid_new'),
228               $my_base_url.'&amp;tab=autolog_new');
229if ($ec_exist_duplic) $tabsheet->add('duplication',
230               l10n('ec_tab_duplication'),
231               $my_base_url.'&amp;tab=duplication');
232$tabsheet->add('config',
233               l10n('ec_tab_config'),
234               $my_base_url.'&amp;tab=config');
235
236$template->assign(
237 array('U_HELP' => get_root_url().'popuphelp.php?page=event_cats'));
238
239$template->assign('EVNTCATS_URLS', array(
240 'ROOT'     => EVNTCATS_PATH,
241));
242
243/****************************************************************************/
244
245$ec_file = ($page['tab'] == 'autolog_modif') ? 'autolog_new' : $page['tab'];
246
247include(EVNTCATS_PATH.'admin/'.$ec_file.'.inc.php');
248
249$tabsheet->select($page['tab']);
250$tabsheet->assign();
251
252/*
253print '<pre>';
254//print_r('ROOT_URL : '.ROOT_URL.'<br>EVNTCATS_PATH : '.EVNTCATS_PATH);
255print('ROOT_URL : '.ROOT_URL.'<br>EVNTCATS_PATH : '.EVNTCATS_PATH);
256print '</pre>';
257*/
258
259$template->assign('ec_howto',
260 ($ec_howto and (count($page['errors']) ==0 and count($page['infos']) == 0)));
261
262$template->assign('EVNTCATS_PATH',EVNTCATS_PATH);
263$template->assign('RACINE_URL',ROOT_URL);
264
265if (isset($conf['ec_debug1'])) $template->assign('ec_debug1', array(
266  'POST'      => str_from_var($_POST),
267  'ec_debug'  => (isset($ec_debug)) ? str_from_var($ec_debug) : '(unset)',
268  'GET'       => str_from_var($_GET),
269  'page'      => str_from_var($page),
270  'ec_conf'   => str_from_var($ec_conf),
271  'ec_lists'  => (isset($ec_lists)) ? str_from_var($ec_lists) : '(unset)',
272  'code_list' => (isset($code_list)) ? str_from_var($code_list) : '(unset)',
273));
274
275$template->set_filenames(array(
276 'evntcats_admin_content' => dirname(__FILE__).'/template/'.$ec_file.'.tpl'
277));
278$template->assign_var_from_handle('ADMIN_CONTENT','evntcats_admin_content');
279?>
Note: See TracBrowser for help on using the repository browser.