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

Revision 21654, 6.9 KB checked in by ddtddt, 7 years ago (diff)

[extensions] - nbc_ThemeChanger - change to 2.5

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 = pwg_db_fetch_assoc($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.