source: extensions/meta/admin/admin.php @ 29429

Last change on this file since 29429 was 29429, checked in by ddtddt, 10 years ago

[meta] update

  • Property svn:eol-style set to LF
  • Property svn:keywords set to Author Date Id Revision
File size: 9.2 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', meta_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
16// TAB gest
17if (!isset($_GET['tab']))
18    $page['tab'] = 'gestion';
19else
20    $page['tab'] = $_GET['tab'];
21$tabsheet = new tabsheet();
22$tabsheet->add('gestion', l10n('meta_onglet_gestion'), $my_base_url . '&amp;tab=gestion');
23$tabsheet->add('persometa', l10n('Personal Metadata'), $my_base_url . '&amp;tab=persometa');
24
25$MPC = pwg_db_fetch_assoc(pwg_query("SELECT state FROM " . PLUGINS_TABLE . " WHERE id = 'ContactForm';"));
26if ($MPC['state'] == 'active') {
27    $tabsheet->add('contactmeta', l10n('Contact page Metadata'), $my_base_url . '&amp;tab=contactmeta');
28}
29$MAP = pwg_db_fetch_assoc(pwg_query("SELECT state FROM " . PLUGINS_TABLE . " WHERE id = 'AdditionalPages';"));
30if ($MAP['state'] == 'active') {
31    $tabsheet->add('AdditionalPagesmeta', l10n('Additional Pages Metadata'), $my_base_url . '&amp;tab=AdditionalPagesmeta');
32}
33
34$tabsheet->add('description', l10n('meta_onglet_description'), $my_base_url . '&amp;tab=description');
35$tabsheet->select($page['tab']);
36$tabsheet->assign();
37
38// Tab gest
39switch ($page['tab']) {
40    case 'gestion':
41
42//read metadata list
43        $groups = array();
44        $query = '
45select id,metaname
46  FROM ' . meta_TABLE . '
47  ORDER BY metaname ASC;';
48        $result = pwg_query($query);
49        while ($row = pwg_db_fetch_assoc($result)) {
50            $groups[$row['id']] = $row['metaname'];
51        }
52        $selected = 0;
53        $options[] = l10n('meta_select2');
54        $options['a'] = '----------------------';
55
56        foreach ($groups as $metalist => $metalist2) {
57            $options[$metalist] = $metalist2;
58        }
59        $template->assign(
60                'gestionA', array(
61            'OPTIONS' => $options,
62            'SELECTED' => $selected
63        ));
64
65//edit meta
66        if (isset($_POST['submitchoixmeta']) and is_numeric($_POST['metalist']) and ( !$_POST['metalist']) == 0) {
67            $lire = $_POST['metalist'];
68            $query = '
69select id,metaname,metaval
70  FROM ' . meta_TABLE . '
71  WHERE id = \'' . $lire . '\'
72  ;';
73            $result = pwg_query($query);
74
75            $row = pwg_db_fetch_assoc($result);
76            $chname = $row['metaname'];
77            $chval = $row['metaval'];
78
79            $selected2 = "";
80
81            $template->assign(
82                    'meta_edit', array(
83                'VALUE' => $chname,
84                'CONTENT' => $chval,
85                'SELECTED' => $selected2
86            ));
87        }
88
89//inser metadata in table
90        if (isset($_POST['submitinsmeta'])) {
91            $query = '
92UPDATE ' . meta_TABLE . '
93  SET metaval= \'' . $_POST['inser'] . '\'
94  WHERE metaname = \'' . $_POST['invisible'] . '\'
95    ;';
96            $result = pwg_query($query);
97            array_push($page['infos'], l10n('Metadata updated'));
98        }
99        break;
100
101//description TAB
102    case 'description':
103        $blockdesc = 'description';
104        $template->assign(
105                $blockdesc, array(
106            'meta' => l10n('meta_name'),
107        ));
108        break;
109
110// TAB personnal metadata
111    case 'persometa':
112        $template->assign(
113                'metapersoT', array(
114            'meta' => l10n('meta_name'),
115        ));
116        $admin_base_url = $my_base_url . '&amp;tab=persometa';
117        $metapersos = pwg_query("SELECT * FROM `" . METAPERSO_TABLE . ";");
118
119        if (pwg_db_num_rows($metapersos)) {
120            while ($metaperso = pwg_db_fetch_assoc($metapersos)) {
121                $items = array(
122                    'METANAME' => $metaperso['metaname'],
123                    'METAVAL' => $metaperso['metaval'],
124                    'METATYPE' => $metaperso['metatype'],
125                    'U_DELETE' => $admin_base_url . '&amp;delete=' . $metaperso['id'],
126                    'U_EDIT' => $admin_base_url . '&amp;edit=' . $metaperso['id'],
127                );
128
129                $template->append('metapersos', $items);
130            }
131        }
132        if (isset($_POST['submitaddpersonalmeta'])) {
133            $template->assign(
134                    'meta_edit2', array(
135                'meta' => l10n('meta_name'),
136                'METAID' => 0,
137            ));
138        }
139
140        if (isset($_POST['submitaddmetaperso'])) {
141            $query = '
142DELETE
143  FROM ' . METAPERSO_TABLE . '
144  WHERE id = ' . $_POST['invisibleID'] . '
145  ;';
146            $result = pwg_query($query);
147            $q = '
148INSERT INTO ' . $prefixeTable . 'metaperso(metaname,metaval,metatype)VALUES ("' . $_POST['insername'] . '","' . $_POST['inserval'] . '","' . $_POST['insertype'] . '");';
149            pwg_query($q);
150            $_SESSION['page_infos'] = array(l10n('Personal metadata update'));
151            redirect($admin_base_url);
152        }
153
154        if (isset($_GET['edit'])) {
155            check_input_parameter('edit', $_GET, false, PATTERN_ID);
156
157            $query = '
158select id,metaname,metaval,metatype
159  FROM ' . METAPERSO_TABLE . '
160  WHERE id = \'' . $_GET['edit'] . '\'
161  ;';
162            $result = pwg_query($query);
163            $row = pwg_db_fetch_assoc($result);
164            $template->assign(
165                    'meta_edit2', array(
166                'METAID' => $row['id'],
167                'METANAME' => $row['metaname'],
168                'METAVAL' => $row['metaval'],
169                'METATYPE' => $row['metatype'],
170            ));
171        }
172
173        if (isset($_GET['delete'])) {
174            check_input_parameter('delete', $_GET, false, PATTERN_ID);
175            $query = '
176DELETE
177  FROM ' . METAPERSO_TABLE . '
178  WHERE id = ' . $_GET['delete'] . '
179;';
180            pwg_query($query);
181
182            $_SESSION['page_infos'] = array(l10n('Personal metadata update'));
183            redirect($admin_base_url);
184        }
185        break;
186
187    case 'contactmeta':
188        if (empty($conf['contactmeta'])) {
189            $conf['contactmeta'] = ',';
190        }
191        $metacontact = explode(',', $conf['contactmeta']);
192        $template->assign('contactmetaT', array('CMKEY' => $metacontact[0], 'CMDESC' => $metacontact[1],));
193
194        if (isset($_POST['submitcm'])) {
195            $INSCM = $_POST['inser'] . "," . $_POST['inser2'];
196            conf_update_param('contactmeta', $INSCM);
197            array_push($page['infos'], l10n('Metadata updated'));
198            $template->assign(
199                    'contactmetaT', array('CMKEY' => stripslashes($_POST['inser']), 'CMDESC' => stripslashes($_POST['inser2'])));
200        }
201        break;
202
203    case 'AdditionalPagesmeta':
204        if (!defined('TITLE_AP_TABLE'))
205            define('TITLE_AP_TABLE', $prefixeTable . 'title_ap');
206        $groups = array();
207        $query = '
208select id,title
209  FROM ' . ADD_PAGES_TABLE . '
210  ORDER BY id ASC;';
211        $result = pwg_query($query);
212        while ($row = pwg_db_fetch_assoc($result)) {
213            $groups[$row['id']] = $row['id'] . ' : ' . $row['title'];
214        }
215
216        $selected = 0;
217        $options[] = l10n('Choose it page');
218        $options['a'] = '----------------------';
219
220        foreach ($groups as $listid => $listid2) {
221            $options[$listid] = $listid2;
222        }
223        $template->assign(
224                'gestionC', array(
225            'OPTIONS' => $options,
226            'SELECTED' => $selected
227        ));
228
229        if (isset($_POST['submitchoixAP'])and is_numeric($_POST['APchoix']) and ( !$_POST['APchoix']) == 0) {
230            $lire = $_POST['APchoix'];
231            $query = '
232select id,metaKeyap,metadesap
233  FROM ' . META_AP_TABLE . '
234  WHERE id = \'' . $lire . '\'
235  ;';
236            $result = pwg_query($query);
237            $row = pwg_db_fetch_assoc($result);
238            $metaKeyapap = $row['metaKeyap'];
239            $metadesap = $row['metadesap'];
240
241            $query = '
242select id,title
243  FROM ' . ADD_PAGES_TABLE . '
244  WHERE id = \'' . $lire . '\'
245    ;';
246            $result = pwg_query($query);
247            $row = pwg_db_fetch_assoc($result);
248            $idap = $row['id'];
249            $nameap = $row['title'];
250
251            $selected3 = 0;
252
253            $template->assign(
254                    'ap_edit', array(
255                'VALUE' => $idap,
256                'VALUEN' => $nameap,
257                'CONTENTMKAP' => $metaKeyapap,
258                'CONTENTMDAP' => $metadesap,
259                'SELECTED' => $selected3
260            ));
261        }
262
263        if (isset($_POST['submitinsapm'])) {
264            $query = '
265DELETE
266  FROM ' . META_AP_TABLE . '
267  WHERE id = \'' . $_POST['invisible'] . '\'
268  ;';
269            $result = pwg_query($query);
270            $q = '
271INSERT INTO ' . $prefixeTable . 'meta_ap(id,metaKeyap,metadesap)VALUES (' . $_POST['invisible'] . ',"' . $_POST['inser'] . '","' . $_POST['inser2'] . '");';
272            pwg_query($q);
273            array_push($page['infos'], l10n('Metadata updated'));
274        }
275        break;
276}
277
278$template->set_filenames(array('plugin_admin_content' => dirname(__FILE__) . '/admin.tpl'));
279$template->assign_var_from_handle('ADMIN_CONTENT', 'plugin_admin_content');
280?>
Note: See TracBrowser for help on using the repository browser.