source: extensions/manage_info_photos/admin.php @ 30631

Last change on this file since 30631 was 30631, checked in by ddtddt, 9 years ago

[extensions] - manage_info_photos

File size: 17.1 KB
Line 
1<?php
2
3if (!defined('PHPWG_ROOT_PATH'))
4    die('Hacking attempt!');
5global $template, $conf, $user;
6include_once(PHPWG_ROOT_PATH . 'admin/include/tabsheet.class.php');
7load_language('plugin.lang', ADD_INFO_PHOTO_PATH);
8$my_base_url = get_admin_plugin_menu_link(__FILE__);
9
10// +-----------------------------------------------------------------------+
11// | Check Access and exit when user status is not ok                      |
12// +-----------------------------------------------------------------------+
13check_status(ACCESS_ADMINISTRATOR);
14
15//-------------------------------------------------------- sections definitions
16if (!isset($_GET['tab']))
17    $page['tab'] = 'define_information';
18else
19    $page['tab'] = $_GET['tab'];
20
21
22if ($page['tab'] != 'iap') {
23    $tabsheet = new tabsheet();
24    $tabsheet->add('addip', l10n('Information\'s organization'), ADD_INFO_PHOTO_ADMIN . '-define_information');
25    //$tabsheet->add('configuration', l10n('Configuration'), ADD_INFO_PHOTO_ADMIN . '-configuration');
26    $tabsheet->select($page['tab']);
27    $tabsheet->assign();
28} else if ($_GET['tab'] == 'iap') {
29
30    $page['active_menu'] = get_active_menu('photo'); // force oppening "Photos" menu block
31
32    /* Basic checks */
33    check_status(ACCESS_ADMINISTRATOR);
34
35    check_input_parameter('image_id', $_GET, false, PATTERN_ID);
36    $id_img = $_GET['image_id'];
37    $admin_photo_base_url = get_root_url() . 'admin.php?page=photo-' . $_GET['image_id'];
38
39    $page['tab'] = 'iap';
40
41    $tabsheet = new tabsheet();
42    $tabsheet->set_id('photo');
43    $tabsheet->select('iap');
44    $tabsheet->assign();
45
46    $template->assign(
47            'gestionD', array(
48        'A' => 'a'
49    ));
50   
51    $PAED = pwg_db_fetch_assoc(pwg_query("SELECT state FROM " . PLUGINS_TABLE . " WHERE id = 'ExtendedDescription';"));
52    if($PAED['state'] == 'active') add_event_handler('AP_render_content', 'get_user_language_desc');
53
54    $tab_add_info_one_photo = tab_add_info_by_photo($_GET['image_id']);
55    if (pwg_db_num_rows($tab_add_info_one_photo)) {
56        while ($info_photos = pwg_db_fetch_assoc($tab_add_info_one_photo)) {
57
58            $d = data_info_photos($id_img, $info_photos['id_info_pho']);
59            $row = pwg_db_fetch_assoc($d);
60
61            $items = array(
62                'IDPHO' => $_GET['image_id'],
63                'IDINFOPHO' => $info_photos['id_info_pho'],
64                'AIPDESIGNATION' => trigger_change('AP_render_content',$info_photos['designation']),
65                'AIPDATA' => $row['data'],
66            );
67
68            $template->append('info_photos', $items);
69        }
70    }
71
72    if (isset($_POST['submitaddinfoimg'])) {
73        foreach ($_POST['data'] AS $id_info_pho => $data) {
74            $q = 'SELECT 1 FROM ' . ADD_INFO_PHOTO_DATA_TABLE . ' WHERE id_img=' . $id_img . ' AND id_info_pho=' . $id_info_pho;
75            $test = pwg_query($q);
76            $row = pwg_db_fetch_assoc($test);
77            if (count($row) > 0) {
78                if ($data != '') {
79                    $query = 'UPDATE ' . $prefixeTable . 'add_info_photos_data SET data="' . $data . '" WHERE id_img=' . $id_img . ' AND id_info_pho=' . $id_info_pho;
80                    pwg_query($query);
81                } else {
82                    $query = 'DELETE FROM ' . $prefixeTable . 'add_info_photos_data WHERE id_img=' . $id_img . ' AND id_info_pho=' . $id_info_pho;
83                    pwg_query($query);
84                }
85            } else if ($data != '') {
86                $query = 'INSERT ' . $prefixeTable . 'add_info_photos_data(id_img,id_info_pho,data) VALUES (' . $id_img . ',' . $id_info_pho . ',"' . $data . '");';
87                pwg_query($query);
88            }
89           
90        }
91        $redirect_url = ADD_INFO_PHOTO_ADMIN . '-iap&amp;image_id=' . $id_img;
92        $_SESSION['page_infos'] = array(l10n('Personal info photo update'));
93        redirect($redirect_url);
94    }
95}
96
97switch ($page['tab']) {
98    case 'define_information':
99        $template->assign(
100                'addinfotemplate', array(
101            'addinfo' => l10n('addinfo'),
102        ));
103       
104    $PAED = pwg_db_fetch_assoc(pwg_query("SELECT state FROM " . PLUGINS_TABLE . " WHERE id = 'ExtendedDescription';"));
105    if($PAED['state'] == 'active') add_event_handler('AP_render_content', 'get_user_language_desc');
106       
107        $admin_base_url = ADD_INFO_PHOTO_ADMIN . '-define_information';
108        $tab_info_photos = tab_info_photos();
109
110        if (pwg_db_num_rows($tab_info_photos)) {
111            while ($info_photos = pwg_db_fetch_assoc($tab_info_photos)) {
112                if($info_photos['id_info_pho']==1){
113                    $items = array(
114                        'IDINFOPHO' => $info_photos['id_info_pho'],
115                        'AIPDESIGNATION' => l10n('Author'),
116                        'AIPORDER' => $info_photos['orderinfo'],
117                        'AIPACTIVE' => $info_photos['active'],
118                        'AIPEDIT' => $info_photos['edit'],
119                        'U_HIDE' => $admin_base_url . '&amp;hide=' . $info_photos['id_info_pho'],
120                        'U_SHOW' => $admin_base_url . '&amp;show=' . $info_photos['id_info_pho'],
121                    );
122                }else if($info_photos['id_info_pho']==2){
123                    $items = array(
124                        'IDINFOPHO' => $info_photos['id_info_pho'],
125                        'AIPDESIGNATION' => l10n('Created on'),
126                        'AIPORDER' => $info_photos['orderinfo'],
127                        'AIPACTIVE' => $info_photos['active'],
128                        'AIPEDIT' => $info_photos['edit'],
129                        'U_HIDE' => $admin_base_url . '&amp;hide=' . $info_photos['id_info_pho'],
130                        'U_SHOW' => $admin_base_url . '&amp;show=' . $info_photos['id_info_pho'],
131                    );
132                }else if($info_photos['id_info_pho']==3){
133                    $items = array(
134                        'IDINFOPHO' => $info_photos['id_info_pho'],
135                        'AIPDESIGNATION' => l10n('Posted on'),
136                        'AIPORDER' => $info_photos['orderinfo'],
137                        'AIPACTIVE' => $info_photos['active'],
138                        'AIPEDIT' => $info_photos['edit'],
139                        'U_HIDE' => $admin_base_url . '&amp;hide=' . $info_photos['id_info_pho'],
140                        'U_SHOW' => $admin_base_url . '&amp;show=' . $info_photos['id_info_pho'],
141                    );
142                }else if($info_photos['id_info_pho']==4){
143                    $items = array(
144                        'IDINFOPHO' => $info_photos['id_info_pho'],
145                        'AIPDESIGNATION' => l10n('Dimensions'),
146                        'AIPORDER' => $info_photos['orderinfo'],
147                        'AIPACTIVE' => $info_photos['active'],
148                        'AIPEDIT' => $info_photos['edit'],
149                        'U_HIDE' => $admin_base_url . '&amp;hide=' . $info_photos['id_info_pho'],
150                        'U_SHOW' => $admin_base_url . '&amp;show=' . $info_photos['id_info_pho'],
151                    );
152                }else if($info_photos['id_info_pho']==5){
153                    $items = array(
154                        'IDINFOPHO' => $info_photos['id_info_pho'],
155                        'AIPDESIGNATION' => l10n('File'),
156                        'AIPORDER' => $info_photos['orderinfo'],
157                        'AIPACTIVE' => $info_photos['active'],
158                        'AIPEDIT' => $info_photos['edit'],
159                        'U_HIDE' => $admin_base_url . '&amp;hide=' . $info_photos['id_info_pho'],
160                        'U_SHOW' => $admin_base_url . '&amp;show=' . $info_photos['id_info_pho'],
161                    );
162                }else if($info_photos['id_info_pho']==6){
163                    $items = array(
164                        'IDINFOPHO' => $info_photos['id_info_pho'],
165                        'AIPDESIGNATION' => l10n('Filesize'),
166                        'AIPORDER' => $info_photos['orderinfo'],
167                        'AIPACTIVE' => $info_photos['active'],
168                        'AIPEDIT' => $info_photos['edit'],
169                        'U_HIDE' => $admin_base_url . '&amp;hide=' . $info_photos['id_info_pho'],
170                        'U_SHOW' => $admin_base_url . '&amp;show=' . $info_photos['id_info_pho'],
171                    );
172                }else if($info_photos['id_info_pho']==7){
173                    $items = array(
174                        'IDINFOPHO' => $info_photos['id_info_pho'],
175                        'AIPDESIGNATION' => l10n('Tags'),
176                        'AIPORDER' => $info_photos['orderinfo'],
177                        'AIPACTIVE' => $info_photos['active'],
178                        'AIPEDIT' => $info_photos['edit'],
179                        'U_HIDE' => $admin_base_url . '&amp;hide=' . $info_photos['id_info_pho'],
180                        'U_SHOW' => $admin_base_url . '&amp;show=' . $info_photos['id_info_pho'],
181                    );
182                }else if($info_photos['id_info_pho']==8){
183                    $items = array(
184                        'IDINFOPHO' => $info_photos['id_info_pho'],
185                        'AIPDESIGNATION' => l10n('Albums'),
186                        'AIPORDER' => $info_photos['orderinfo'],
187                        'AIPACTIVE' => $info_photos['active'],
188                        'AIPEDIT' => $info_photos['edit'],
189                        'U_HIDE' => $admin_base_url . '&amp;hide=' . $info_photos['id_info_pho'],
190                        'U_SHOW' => $admin_base_url . '&amp;show=' . $info_photos['id_info_pho'],
191                    );
192                }else if($info_photos['id_info_pho']==9){
193                    $items = array(
194                        'IDINFOPHO' => $info_photos['id_info_pho'],
195                        'AIPDESIGNATION' => l10n('Visits'),
196                        'AIPORDER' => $info_photos['orderinfo'],
197                        'AIPACTIVE' => $info_photos['active'],
198                        'AIPEDIT' => $info_photos['edit'],
199                        'U_HIDE' => $admin_base_url . '&amp;hide=' . $info_photos['id_info_pho'],
200                        'U_SHOW' => $admin_base_url . '&amp;show=' . $info_photos['id_info_pho'],
201                    );
202                }else if($info_photos['id_info_pho']==10){
203                    $items = array(
204                        'IDINFOPHO' => $info_photos['id_info_pho'],
205                        'AIPDESIGNATION' => l10n('Average'),
206                        'AIPORDER' => $info_photos['orderinfo'],
207                        'AIPACTIVE' => $info_photos['active'],
208                        'AIPEDIT' => $info_photos['edit'],
209                        'U_HIDE' => $admin_base_url . '&amp;hide=' . $info_photos['id_info_pho'],
210                        'U_SHOW' => $admin_base_url . '&amp;show=' . $info_photos['id_info_pho'],
211                    );
212                }else if($info_photos['id_info_pho']==11){
213                    $items = array(
214                        'IDINFOPHO' => $info_photos['id_info_pho'],
215                        'AIPDESIGNATION' => l10n('Who can see this photo?'),
216                        'AIPORDER' => $info_photos['orderinfo'],
217                        'AIPACTIVE' => $info_photos['active'],
218                        'AIPEDIT' => $info_photos['edit'],
219                        'U_HIDE' => $admin_base_url . '&amp;hide=' . $info_photos['id_info_pho'],
220                        'U_SHOW' => $admin_base_url . '&amp;show=' . $info_photos['id_info_pho'],
221                    );
222                }else{
223                    $items = array(
224                        'IDINFOPHO' => $info_photos['id_info_pho'],
225                        'AIPDESIGNATION' => trigger_change('AP_render_content',$info_photos['designation']),
226                        'AIPORDER' => $info_photos['orderinfo'],
227                        'AIPACTIVE' => $info_photos['active'],
228                        'AIPEDIT' => $info_photos['edit'],
229                        'U_DELETE' => $admin_base_url . '&amp;delete=' . $info_photos['id_info_pho'],
230                        'U_EDIT' => $admin_base_url . '&amp;edit=' . $info_photos['id_info_pho'],
231                        'U_HIDE' => $admin_base_url . '&amp;hide=' . $info_photos['id_info_pho'],
232                        'U_SHOW' => $admin_base_url . '&amp;show=' . $info_photos['id_info_pho'],
233                    );
234                }       
235                $template->append('info_photos', $items);
236            }
237        }
238       
239        if (isset($_POST['submitManualOrderInfo'])){
240           
241            asort($_POST['infoOrd'], SORT_NUMERIC);
242           
243            $data = array();
244            foreach ($_POST['infoOrd'] as $id =>$val){
245           
246            $data[] = array('id_info_pho' => $id, 'orderinfo' => $val+1);
247            }
248            $fields = array('primary' => array('id_info_pho'), 'update' => array('orderinfo'));
249            mass_updates(ADD_INFO_PHOTO_TABLE, $fields, $data);
250
251          $page['infos'][] = l10n('Info manual order was saved');
252          redirect($admin_base_url);
253        }
254       
255        if (isset($_POST['submitaddinfo'])) {
256            $template->assign(
257                    'addinfo_edit2', array(
258                'info' => l10n('info_name'),
259                'AIPID' => 0,
260            ));
261        }
262        if (isset($_POST['submitaddAIP'])) {
263            if (!isset($_POST['inseractive'])) {
264                $_POST['inseractive'] = 0;
265            }
266            if ($_POST['invisibleID'] == 0) {
267                $result = pwg_query('SELECT MAX(orderinfo) FROM piwigo_add_info_photos');
268                $row = pwg_db_fetch_assoc($result);
269                $or = ($row['MAX(orderinfo)'] + 1);
270
271                $q = '
272                INSERT INTO ' . $prefixeTable . 'Add_Info_photos(designation,orderinfo,active,edit)VALUES ("' . $_POST['inserdesignation'] . '","' . $or . '","' . $_POST['inseractive'] . '",1);';
273                pwg_query($q);
274                $_SESSION['page_infos'] = array(l10n('Personal info photo add'));
275            } else {
276                $q = '
277                UPDATE ' . $prefixeTable . 'Add_Info_photos'
278                        . ' set designation ="' . $_POST['inserdesignation'] . '" '
279                        . ' ,active=' . $_POST['inseractive']
280                        . ' WHERE id_info_pho=' . $_POST['invisibleID'] . ';';
281                pwg_query($q);
282                $_SESSION['page_infos'] = array(l10n('Personal info photo update'));
283            }
284            redirect($admin_base_url);
285        }
286
287        if (isset($_GET['edit'])) {
288            check_input_parameter('edit', $_GET, false, PATTERN_ID);
289
290            $result = tab_info_photos($_GET['edit']);
291            $row = pwg_db_fetch_assoc($result);
292            $template->assign(
293                    'addinfo_edit2', array(
294                'AIPID' => $row['id_info_pho'],
295                'AIPDESC' => $row['designation'],
296                'AIPACTIF' => $row['active'],
297            ));
298        }
299
300        if (isset($_GET['delete'])) {
301            check_input_parameter('delete', $_GET, false, PATTERN_ID);
302            $query = 'DELETE FROM ' . ADD_INFO_PHOTO_TABLE . ' WHERE id_info_pho = ' . $_GET['delete'] . ';';
303            pwg_query($query);
304
305            $_SESSION['page_infos'] = array(l10n('Personal info delete'));
306            redirect($admin_base_url);
307        }
308       
309        if (isset($_GET['hide'])) {
310            check_input_parameter('hide', $_GET, false, PATTERN_ID);
311            $query = 'UPDATE ' . ADD_INFO_PHOTO_TABLE . ' SET active = 1 WHERE id_info_pho=' . $_GET['hide'] . ';';
312            pwg_query($query);
313
314            $_SESSION['page_infos'] = array(l10n('Info hide'));
315            redirect($admin_base_url);
316        }
317       
318        if (isset($_GET['show'])) {
319            check_input_parameter('show', $_GET, false, PATTERN_ID);
320            $query = 'UPDATE ' . ADD_INFO_PHOTO_TABLE . ' SET active = 0 WHERE id_info_pho=' . $_GET['show'] . ';';
321            pwg_query($query);
322
323            $_SESSION['page_infos'] = array(l10n('Info show'));
324            redirect($admin_base_url);
325        }
326
327        break;
328    case 'configuration':
329        global $conf;
330
331        $selected = $conf['Add_Info_photos'];
332        $options['Author'] = l10n('Author');
333        $options['datecreate'] = l10n('Created on');
334        $options['datepost'] = l10n('Posted on');
335        $options['Dimensions'] = l10n('Dimensions');
336        $options['File'] = l10n('File');
337        $options['Filesize'] = l10n('Filesize');
338        $options['Tags'] = l10n('tags');
339        $options['Categories'] = l10n('Albums');
340        $options['Visits'] = l10n('Visits');
341        $options['Average'] = l10n('Rating score');
342
343        $template->assign(
344                'gestionA', array(
345            'OPTIONS' => $options,
346            'SELECTED' => $selected
347        ));
348
349
350        if (isset($_POST['Add_Info_photos'])) {
351            conf_update_param('Add_Info_photos', $_POST['Add_Info_photos'], true);
352            $template->delete_compiled_templates();
353            array_push($page['infos'], l10n('Your configuration settings are saved'));
354
355            $selected = $_POST['Add_Info_photos'];
356            $template->assign(
357                    'gestionA', array(
358                'OPTIONS' => $options,
359                'SELECTED' => $selected
360            ));
361        }
362        break;
363
364    case 'addinfo':
365
366
367
368        break;
369}
370
371
372$template->set_filenames(array('plugin_admin_content' => dirname(__FILE__) . '/admin/admin.tpl'));
373$template->assign_var_from_handle('ADMIN_CONTENT', 'plugin_admin_content');
374?>
Note: See TracBrowser for help on using the repository browser.