source: extensions/meta/admin.php

Last change on this file was 32993, checked in by ddtddt, 4 months ago

[meta] error language

File size: 10.7 KB
Line 
1<?php
2// +-----------------------------------------------------------------------+
3// | meta plugin for Piwigo by TEMMII                                      |
4// +-----------------------------------------------------------------------+
5// | Copyright(C) 2008-2023 ddtddt               http://temmii.com/piwigo/ |
6// +-----------------------------------------------------------------------+
7// | This program is free software; you can redistribute it and/or modify  |
8// | it under the terms of the GNU General Public License as published by  |
9// | the Free Software Foundation                                          |
10// |                                                                       |
11// | This program is distributed in the hope that it will be useful, but   |
12// | WITHOUT ANY WARRANTY; without even the implied warranty of            |
13// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU      |
14// | General Public License for more details.                              |
15// |                                                                       |
16// | You should have received a copy of the GNU General Public License     |
17// | along with this program; if not, write to the Free Software           |
18// | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, |
19// | USA.                                                                  |
20// +-----------------------------------------------------------------------+
21
22if (!defined('PHPWG_ROOT_PATH'))
23    die('Hacking attempt!');
24global $template, $conf, $user, $pwg_loaded_plugins;
25include_once(PHPWG_ROOT_PATH . 'admin/include/tabsheet.class.php');
26
27
28// +-----------------------------------------------------------------------+
29// | Check Access and exit when user status is not ok                      |
30// +-----------------------------------------------------------------------+
31check_status(ACCESS_ADMINISTRATOR);
32
33//-------------------------------------------------------- sections definitions
34// TAB gest
35$page['tab'] = (isset($_GET['tab'])) ? $_GET['tab'] : 'permissions';
36if ('album' == $page['tab']){
37        check_input_parameter('cat_id', $_GET, false, PATTERN_ID);
38        $cat_id = $_GET['cat_id'];
39        $page['tab'] = 'meta-album';
40        $admin_album_base_url = get_root_url().'admin.php?page=album-'.$cat_id;
41        $query = '
42     SELECT *
43         FROM '.CATEGORIES_TABLE.'
44         WHERE id = '.$cat_id.'
45         ;';
46        $category = pwg_db_fetch_assoc(pwg_query($query));
47        if (!isset($category['id'])){
48         die("unknown album");
49        }
50
51        $tabsheet = new tabsheet();
52        $tabsheet->set_id('album');
53        $tabsheet->select('meta-album');
54        $tabsheet->assign();
55    $template->assign(
56      'metagestalbum', array(
57      'A' => 'A'
58    ));
59 if (isset($_GET['cat_id'])) {
60        global $template, $prefixeTable, $pwg_loaded_plugins;
61        if (isset($pwg_loaded_plugins['ExtendedDescription'])){
62          $template->assign('useED',1);
63        }else{
64          $template->assign('useED',0);
65        }
66        $query = 'SELECT id,metaKeycat,metadescat FROM ' . meta_cat_TABLE . ' WHERE id = ' . $_GET['cat_id'] . ';';
67        $result = pwg_query($query);
68        $row = pwg_db_fetch_assoc($result);
69        if(!isset($row['metaKeycat'])){$row['metaKeycat']="";};
70        if(!isset($row['metadescat'])){$row['metadescat']="";};
71        $template->assign(
72          array(
73                'metaCONTENTA' => $row['metaKeycat'],
74                'metaCONTENTA2' => $row['metadescat'],
75        ));
76  }
77  if (isset($_POST['submitmetaalbum'])){
78        $query = 'DELETE FROM ' . meta_cat_TABLE . ' WHERE id = ' . $_GET['cat_id'] . ';';
79        $result = pwg_query($query);
80        $q = 'INSERT INTO ' . $prefixeTable . 'meta_cat(id,metaKeycat,metadescat)VALUES (' . $_GET['cat_id'] . ',"' . $_POST['insermetaKA'] . '","' . $_POST['insermetaDA'] . '");';
81        pwg_query($q);
82        $template->assign(
83          array(
84                'metaCONTENTA' => $_POST['insermetaKA'],
85                'metaCONTENTA2' => $_POST['insermetaDA'],
86        ));
87        $page['infos'][] = l10n('Metadata updated');
88  }
89   
90}else{
91if (!isset($_GET['tab']))
92    $page['tab'] = 'gestion';
93else
94  $page['tab'] = $_GET['tab'];
95 
96  $tabsheet = new tabsheet();
97  $tabsheet->add('gestion', l10n('meta_onglet_gestion'), META_ADMIN . '-gestion');
98  $tabsheet->add('persometa', l10n('Personal Metadata'), META_ADMIN . '-persometa');
99  if (isset($pwg_loaded_plugins['ContactForm'])){
100        $tabsheet->add('contactmeta', l10n('Contact page Metadata'), META_ADMIN . '-contactmeta');
101  }
102  if (isset($pwg_loaded_plugins['AdditionalPages'])){
103        $tabsheet->add('AdditionalPagesmeta', l10n('Additional Pages Metadata'), META_ADMIN . '-AdditionalPagesmeta');
104  }
105  $tabsheet->add('description', l10n('meta_onglet_description'), META_ADMIN . '-description');
106  $tabsheet->select($page['tab']);
107  $tabsheet->assign();
108}
109switch ($page['tab']) {
110  case 'gestion':
111    $groups = array();
112    $query = 'SELECT id,metaname FROM ' . meta_TABLE . ' ORDER BY metaname ASC;';
113    $result = pwg_query($query);
114    while ($row = pwg_db_fetch_assoc($result)){
115      $groups[$row['id']] = $row['metaname'];
116    }
117    $selected = 0;
118    $options[] = l10n('meta_select2');
119    $options['a'] = '----------------------';
120    foreach ($groups as $metalist => $metalist2) {
121      $options[$metalist] = $metalist2;
122    }
123    $template->assign(
124      'gestionA', array(
125      'OPTIONS' => $options,
126      'SELECTED' => $selected
127    ));
128
129    if (isset($_POST['submitchoixmeta']) and is_numeric($_POST['metalist']) and ( !$_POST['metalist']) == 0){
130      $lire = $_POST['metalist'];
131      $query = 'SELECT id,metaname,metaval FROM ' . meta_TABLE . ' WHERE id = \'' . $lire . '\';';
132      $result = pwg_query($query);
133      $row = pwg_db_fetch_assoc($result);
134      $template->assign(
135                'meta_edit', array(
136                'VALUE' => $row['metaname'],
137                'CONTENT' => $row['metaval'],
138                'SELECTED' => ""
139          ));
140    }
141
142    if (isset($_POST['submitinsmeta'])){
143      $query = 'UPDATE ' . meta_TABLE . ' SET metaval= \'' . $_POST['inser'] . '\' WHERE metaname = \'' . $_POST['invisible'] . '\';';
144      $result = pwg_query($query);
145      array_push($page['infos'], l10n('Metadata updated'));
146    }
147  break;
148
149  case 'description':
150    $template->assign(
151      'description', array(
152        'meta' => l10n('meta_name'),
153    ));
154  break;
155
156  case 'persometa':
157        $template->assign(
158          'metapersoT', array(
159          'meta' => l10n('meta_name'),
160        ));
161    $admin_base_url = META_ADMIN . '-persometa';
162    $metapersos = pwg_query("SELECT * FROM " . METAPERSO_TABLE . ";");
163    if (pwg_db_num_rows($metapersos)) {
164          while ($metaperso = pwg_db_fetch_assoc($metapersos)){
165                $items = array(
166                  'METANAME' => $metaperso['metaname'],
167                  'METAVAL' => $metaperso['metaval'],
168                  'METATYPE' => $metaperso['metatype'],
169                  'U_DELETE' => $admin_base_url . '&amp;delete=' . $metaperso['id'],
170                  'U_EDIT' => $admin_base_url . '&amp;edit=' . $metaperso['id'],
171                );
172        $template->append('metapersos', $items);
173      }
174    }
175        if (isset($_POST['submitaddpersonalmeta'])) {
176          $template->assign(
177                'meta_edit2', array(
178                  'METANAME' =>'',
179                  'METAVAL' =>'',
180                  'METATYPE' =>'',
181                  'meta' => l10n('meta_name'),
182                  'METAID' => 0,
183          ));
184        }
185
186    if (isset($_POST['submitaddmetaperso'])) {
187      $query = 'DELETE FROM ' . METAPERSO_TABLE . ' WHERE id = ' . $_POST['invisibleID'] . ';';
188      $result = pwg_query($query);
189      $q = 'INSERT INTO ' . $prefixeTable . 'metaperso(metaname,metaval,metatype)VALUES ("' . $_POST['insername'] . '","' . $_POST['inserval'] . '","' . $_POST['insertype'] . '");';
190      pwg_query($q);
191      $_SESSION['page_infos'] = array(l10n('Personal metadata update'));
192      redirect($admin_base_url);
193    }
194
195    if (isset($_GET['edit'])) {
196      check_input_parameter('edit', $_GET, false, PATTERN_ID);
197          $query = 'SELECT id,metaname,metaval,metatype FROM ' . METAPERSO_TABLE . ' WHERE id = \'' . $_GET['edit'] . '\';';
198          $result = pwg_query($query);
199      $row = pwg_db_fetch_assoc($result);
200          $template->assign(
201                'meta_edit2', array(
202                  'METAID' => $row['id'],
203                  'METANAME' => $row['metaname'],
204                  'METAVAL' => $row['metaval'],
205                  'METATYPE' => $row['metatype'],
206          ));
207    }
208
209    if (isset($_GET['delete'])) {
210      check_input_parameter('delete', $_GET, false, PATTERN_ID);
211      $query = 'DELETE FROM ' . METAPERSO_TABLE . ' WHERE id = ' . $_GET['delete'] . ';';
212      pwg_query($query);
213          $_SESSION['page_infos'] = array(l10n('Personal metadata update'));
214          redirect($admin_base_url);
215    }
216  break;
217
218  case 'contactmeta':
219    if (empty($conf['contactmeta'])){
220      $conf['contactmeta'] = ',';
221    }
222    $metacontact = explode(',', $conf['contactmeta']);
223    $template->assign('contactmetaT', array('CMKEY' => $metacontact[0], 'CMDESC' => $metacontact[1],));
224        if (isset($_POST['submitcm'])){
225          $INSCM = $_POST['inser'] . "," . $_POST['inser2'];
226          conf_update_param('contactmeta', $INSCM);
227          array_push($page['infos'], l10n('Metadata updated'));
228          $template->assign('contactmetaT', array('CMKEY' => stripslashes($_POST['inser']), 'CMDESC' => stripslashes($_POST['inser2'])));
229        }
230  break;
231
232  case 'AdditionalPagesmeta':
233        if (!defined('TITLE_AP_TABLE'))
234          define('TITLE_AP_TABLE', $prefixeTable . 'title_ap');
235        $groups = array();
236        $query = 'SELECT id,title FROM ' . ADD_PAGES_TABLE . ' ORDER BY id ASC;';
237    $result = pwg_query($query);
238        while ($row = pwg_db_fetch_assoc($result)) {
239          $groups[$row['id']] = $row['id'] . ' : ' . $row['title'];
240        }
241    $selected = 0;
242    $options[] = l10n('Choose it page');
243    $options['a'] = '----------------------';
244        foreach ($groups as $listid => $listid2) {
245          $options[$listid] = $listid2;
246        }
247        $template->assign(
248          'gestionC', array(
249                'OPTIONS' => $options,
250                'SELECTED' => $selected
251        ));
252
253    if (isset($_POST['submitchoixAP'])and is_numeric($_POST['APchoix']) and ( !$_POST['APchoix']) == 0){
254          $lire = $_POST['APchoix'];
255          $query = 'SELECT id,metaKeyap,metadesap FROM ' . META_AP_TABLE . ' WHERE id = \'' . $lire . '\';';
256          $result = pwg_query($query);
257          $row = pwg_db_fetch_assoc($result);
258          $metaKeyapap = $row['metaKeyap'];
259          $metadesap = $row['metadesap'];
260          $query = 'SELECT id,title FROM ' . ADD_PAGES_TABLE . ' WHERE id = \'' . $lire . '\';';
261          $result = pwg_query($query);
262          $row = pwg_db_fetch_assoc($result);
263          $idap = $row['id'];
264          $nameap = $row['title'];
265          $template->assign(
266                'ap_edit', array(
267                  'VALUE' => $idap,
268                  'VALUEN' => $nameap,
269                  'CONTENTMKAP' => $metaKeyapap,
270                  'CONTENTMDAP' => $metadesap,
271                  'SELECTED' => 0
272          ));
273    }
274
275    if (isset($_POST['submitinsapm'])) {
276      $query = 'DELETE FROM ' . META_AP_TABLE . ' WHERE id = \'' . $_POST['invisible'] . '\';';
277      $result = pwg_query($query);
278      $q = 'INSERT INTO ' . $prefixeTable . 'meta_ap(id,metaKeyap,metadesap)VALUES (' . $_POST['invisible'] . ',"' . $_POST['inser'] . '","' . $_POST['inser2'] . '");';
279      pwg_query($q);
280      array_push($page['infos'], l10n('Metadata updated'));
281    }
282  break;
283}
284
285$template->set_filenames(array('plugin_admin_content' => dirname(__FILE__) . '/admin.tpl'));
286$template->assign_var_from_handle('ADMIN_CONTENT', 'plugin_admin_content');
287?>
Note: See TracBrowser for help on using the repository browser.