1 | <?php |
---|
2 | |
---|
3 | include_once (NBC_ThemeChanger_PATH.'include/functions_ThemeChanger.inc.php'); |
---|
4 | |
---|
5 | global $user, $conf, $template; |
---|
6 | |
---|
7 | $__BEBUG = 0; |
---|
8 | |
---|
9 | // Check Access and exit when user status is not ok |
---|
10 | check_status(ACCESS_ADMINISTRATOR); |
---|
11 | |
---|
12 | $me = get_plugin_data($plugin_id); |
---|
13 | load_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', |
---|
33 | array( |
---|
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 |
---|
53 | if (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 |
---|
132 | else 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 |
---|
145 | if ( 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 |
---|
176 | else 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 |
---|
187 | else 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. |
---|
203 | foreach ($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 | ?> |
---|