source: extensions/nbc_ThemeChanger/admin/nbc_ThemeChanger_admin.php @ 10161

Last change on this file since 10161 was 10161, checked in by datajulien, 13 years ago

nbc_ThemeChanger_admin

Piwigo 2.2 compatibility upgrade

url rewrite for modification and suppression actions.

Update in version 2.0.5b of jquery.tablesorter plugin and correction of the autosort js bug when the table is empty

Modified files:

main.inc.php
admin/nbc_themeChanger_admin.tpl
admin/nbc_themeChanger_admin.php
include/jquery.tablesorter.js

File size: 6.9 KB
Line 
1<?php
2
3include_once (NBC_ThemeChanger_PATH.'include/functions_ThemeChanger.inc.php');
4
5global $user, $conf, $template;
6
7$__BEBUG = 0;
8
9// Check Access and exit when user status is not ok
10check_status(ACCESS_ADMINISTRATOR);
11
12$me = get_plugin_data($plugin_id);
13load_language('plugin.lang', NBC_ThemeChanger_PATH);
14$page_ThemeChanger_admin = 'admin.php?page=plugin-'.basename(NBC_ThemeChanger_PATH); 
15
16$my_base_url = $page_ThemeChanger_admin;
17
18//chargement des catégories
19$categories = my_get_pwg_categories();
20               
21
22//chargement des thèmes
23$themes = my_get_pwg_themes();
24  if ($__BEBUG)
25  {
26  echo '0 '.$themes[0]['id'] .':'. $themes[0]['name'] .'<br>';
27  echo '0 '.$themes[1]['id'] .':'. $themes[1]['name'] .'<br>';
28  echo '0 '.$themes[2]['id'] .':'. $themes[2]['name'] .'<br>';
29   }
30
31// Configuration du template
32$template->assign('params',
33array(
34    'U_HOME' => make_index_url(),
35        'F_ACTION' => add_url_params($page_ThemeChanger_admin, array()),
36    //'U_ADD_ASSOC' => add_url_params($page_ThemeChanger_admin, array('tab' => 'add_assoc')),
37        'Themes' => $themes,
38        'Categories' => $categories,
39        'page_banner' => $conf['page_banner'],
40        'gallery_title' => $conf['gallery_title']
41));
42
43// Configuration du formulaire
44$template->assign('formulaire',array(
45    'DESCRIPION' => $lang['add_assoc'],
46  ));
47 
48//Recupération options du plugin
49$conf_nbc_ThemeChanger = isset($conf['nbc_ThemeChanger']) ? explode(";" , $conf['nbc_ThemeChanger']) : array();
50 
51 
52// Mise a jour des paramètres du plugin
53if (isset($_POST['submit']) and !is_adviser())
54        if ( isset($_POST['categorychoise']) and isset($_POST['template']))
55        {       
56               
57                $listcategory = array();
58                $newconf_nbc_ThemeChanger = '';
59                $add_ok = false;
60                //recupération des variables
61                $theme = $_POST['template'];
62                $applysubcategory = isset($_POST['ApplySubCategories']) ? $_POST['ApplySubCategories'] : '';
63                $thecategory = isset($_POST['categorychoise']) ? $_POST['categorychoise'] : '';
64
65                $_POST['categorychoise'] = '';
66                $_POST['template'] = '';
67                $_GET['tab'] = '';
68                $_POST['ApplySubCategories'] = '';
69
70                if ($applysubcategory <> '') {
71                        foreach ($categories as $icat) {
72                                $tmp = explode("," , $icat['uppercats']);
73                                if (in_array ($thecategory, $tmp))
74                                        array_push($listcategory ,$icat['id']);
75                        }
76                }
77                else
78                        array_push($listcategory ,$thecategory);
79
80                foreach ($conf_nbc_ThemeChanger as $Theme_Cat)
81                {
82                        $add_ok = false;
83                        $element_ThemeChanger = explode("," , $Theme_Cat);
84                        $i = 0;
85                        foreach ($listcategory as $thecategory)
86                        {
87                                if ($element_ThemeChanger[0] == $thecategory) //MAJ de la nouvelle category déjà présente dans la liste
88                                {
89                                        //echo ' MAJ: '.$element_ThemeChanger[0];
90                                        if ($newconf_nbc_ThemeChanger <> '')
91                                                $newconf_nbc_ThemeChanger .= ';';
92                                        $newconf_nbc_ThemeChanger .= $thecategory.','.$theme;
93                                        $listcategory[$i] = -1;
94                                        $add_ok = true;
95                                        break;
96                                }
97                                $i += 1;
98                        }
99                        if ($add_ok == false){
100                                //récupération des catégories qui n'ont pas été modifié.
101                                if ($element_ThemeChanger[0] <> '') {
102                                        if ($newconf_nbc_ThemeChanger <> '')
103                                                $newconf_nbc_ThemeChanger .= ';';
104                                        //echo ' Recup : '.$element_ThemeChanger[0];
105                                        if ($element_ThemeChanger[1])
106                                        $newconf_nbc_ThemeChanger .= $element_ThemeChanger[0].','.$element_ThemeChanger[1];
107                                }
108                        }
109                }
110                //insertion des nouvelles catégories
111                foreach ($listcategory as $thecategory) {
112                        if ($newconf_nbc_ThemeChanger <> '')
113                                $newconf_nbc_ThemeChanger .= ';';
114                        //echo ' Nouveau: '.$thecategory;
115                        if ($thecategory <> -1)
116                                $newconf_nbc_ThemeChanger .= $thecategory.','.$theme;
117                }
118
119                $conf['nbc_ThemeChanger'] = $newconf_nbc_ThemeChanger;
120
121                $query = '
122                  UPDATE '.CONFIG_TABLE.'
123                  SET value="'.$newconf_nbc_ThemeChanger.'"
124                  WHERE param="nbc_ThemeChanger"
125                  LIMIT 1';
126                pwg_query($query);
127
128                array_push($page['infos'], l10n('nbc_ThemeChanger_save_config'));
129        }
130
131//DEBUG _GET   
132else if ($__BEBUG)
133{
134        echo count($_GET).'<br/>';
135        foreach ($_GET as $key => $value) {
136                if ($key != "C") {
137                        $querystring = $key."=".$value;
138                        echo $querystring .'<br/>';
139                }
140        }
141}
142
143
144//delete an association
145if ( isset($_GET['tab']) and ($_GET['tab']=='del_assoc') and isset($_GET['cat']) and is_numeric($_GET['cat']) and !is_adviser() )
146{
147
148        $newconf_nbc_ThemeChanger = '';
149
150  foreach ($conf_nbc_ThemeChanger as $Theme_Cat)
151  {
152    $element_ThemeChanger = explode("," , $Theme_Cat);
153
154    if ($element_ThemeChanger[0] <> $_GET['cat'] and $element_ThemeChanger[0] <> '')
155    {
156      if ($newconf_nbc_ThemeChanger <> '')
157        $newconf_nbc_ThemeChanger .= ';';
158
159      $newconf_nbc_ThemeChanger .= $element_ThemeChanger[0].','.$element_ThemeChanger[1];
160    }
161  }
162
163  $conf['nbc_ThemeChanger'] = $newconf_nbc_ThemeChanger;
164
165  $query = '
166    UPDATE '.CONFIG_TABLE.'
167    SET value="'.$newconf_nbc_ThemeChanger.'"
168    WHERE param="nbc_ThemeChanger"
169    LIMIT 1';
170  pwg_query($query);
171
172  array_push($page['infos'], l10n('nbc_ThemeChanger_save_config'));
173}
174 
175//modify an association
176else if ( isset($_GET['tab']) and ($_GET['tab']=='mod_assoc') and isset($_GET['cat']) and is_numeric($_GET['cat']) and isset($_GET['theme']) )
177{
178  $template->assign('formulaire',array(
179        'DESCRIPION' => $lang['modify_assoc'].' : '.get_long_categorie_name($_GET['cat']),
180        'THEMETOMODIFY' => $_GET['theme'],
181        'NAMETOMODIFY' => get_long_categorie_name($_GET['cat']),
182    'IDTOMODIFY' => $_GET['cat'],
183  ));
184}
185
186//add an association
187else if ( isset($_GET['tab']) and ($_GET['tab']=='add_assoc') )
188{
189        $template->assign('formulaire', array(
190                'DESCRIPION' => $lang['add_assoc'],
191        ));
192}
193
194
195//needed to relaod the good configuration after delete
196$conf_nbc_ThemeChanger = isset($conf['nbc_ThemeChanger']) ? explode(";" , $conf['nbc_ThemeChanger']) : array();
197
198//$num = 0;
199$catsused = array();
200$assoc = array();
201
202//reconstruction du tableau d'association.
203foreach ($conf_nbc_ThemeChanger as $Theme_Cat)
204{
205  $element_ThemeChanger = explode("," , $Theme_Cat);
206
207  if ($element_ThemeChanger[0] <> '' and $element_ThemeChanger[1] <> '')
208  {
209    array_push($catsused, $element_ThemeChanger[0]);
210
211    $query = '
212      SELECT uppercats
213        FROM '.CATEGORIES_TABLE.'
214        WHERE id = \''.$element_ThemeChanger[0].'\'
215      ;';
216
217    $result = pwg_query($query);
218    $row = mysql_fetch_array($result);
219
220     array_push($assoc , array(
221        'CATEGORY_NAME' => get_cat_display_name_cache($row['uppercats'], null, false),
222        'TEMPLATE'              => $element_ThemeChanger[1],
223                'STATUS'                => my_get_pwg_theme_status($element_ThemeChanger[1]),
224                'U_MODIFY'      => add_url_params($page_ThemeChanger_admin.'-mod_assoc', array(
225                        'cat'           => $element_ThemeChanger[0],
226                        'theme'         => $element_ThemeChanger[1],
227                        )),
228        'U_DELETE'              => add_url_params($page_ThemeChanger_admin.'-del_assoc', array(
229                        'cat'           => $element_ThemeChanger[0],
230                )),
231        ));
232  }
233}
234$template->assign('assoc',$assoc );
235
236
237//  template initialization
238$template->set_filenames(array('plugin_admin_content' => dirname(__FILE__).'/nbc_ThemeChanger_admin.tpl'));
239$template->assign_var_from_handle( 'ADMIN_CONTENT', 'plugin_admin_content');
240
241?>
Note: See TracBrowser for help on using the repository browser.