null) { array_push($categories , array("id" => $cat['id'], "name" => $cat['name'], "uppercats" =>$cat['uppercats'], "longName" => get_cat_display_name_cache($cat['uppercats'], null, false), "global_rank" => $cat['global_rank'], )); } //chargement des thèmes $themes = array(); foreach (get_pwg_themes() as $pwg_template) { $selected = $pwg_template; array_push($themes, $selected); } // Configuration du template $template->assign('params', array( 'U_HOME' => make_index_url(), 'F_ACTION' => add_url_params($page_ThemeChanger_admin, array()), 'U_ADD_ASSOC' => add_url_params($page_ThemeChanger_admin, array('action' => 'add_assoc')), 'U_HELP' => PHPWG_ROOT_PATH.'popuphelp.php?page=ThemeChanger_admin', 'Themes' => $themes, 'Categories' => $categories, )); // Mise a jour de la base de donnee if (isset($_POST['submit']) and !is_adviser()) if ( (isset($_POST['categorychoise']) or isset($_POST['category_id'])) and isset($_POST['template'])) { $conf_nbc_ThemeChanger = isset($conf['nbc_ThemeChanger']) ? explode(";" , $conf['nbc_ThemeChanger']) : array(); $listcategory = array(); $newconf_nbc_ThemeChanger = ''; //evol $theme = explode("/" , $_POST['template']); $theme = $_POST['template']; $add_ok = false; $applysubcategory = isset($_POST['ApplySubCategories']) ? $_POST['ApplySubCategories'] : ''; $thecategory = isset($_POST['categorychoise']) ? $_POST['categorychoise'] : ( isset($_POST['category_id']) ? $_POST['category_id'] : ''); $_POST['categorychoise'] = ''; $_POST['category_id'] = ''; $_POST['template'] = ''; $_GET['action'] = ''; $_POST['ApplySubCategories'] = ''; if ($applysubcategory <> '') { foreach ($categories as $icat) { $tmp = explode("," , $icat['uppercats']); if (in_array ($thecategory, $tmp)) array_push($listcategory ,$icat['id']); } } else array_push($listcategory ,$thecategory); foreach ($conf_nbc_ThemeChanger as $Theme_Cat) { $add_ok = false; $element_ThemeChanger = explode("," , $Theme_Cat); $i = 0; foreach ($listcategory as $thecategory) { if ($element_ThemeChanger[0] == $thecategory) //MAJ de la nouvelle category déjà présente dans la liste { //echo ' MAJ: '.$element_ThemeChanger[0]; if ($newconf_nbc_ThemeChanger <> '') $newconf_nbc_ThemeChanger .= ';'; $newconf_nbc_ThemeChanger .= $thecategory.','.$theme; $listcategory[$i] = -1; $add_ok = true; break; } $i += 1; } if ($add_ok == false){ //récupération des catégories qui n'ont pas été modifié. if ($element_ThemeChanger[0] <> '') { if ($newconf_nbc_ThemeChanger <> '') $newconf_nbc_ThemeChanger .= ';'; //echo ' Recup : '.$element_ThemeChanger[0]; $newconf_nbc_ThemeChanger .= $element_ThemeChanger[0].','.$element_ThemeChanger[1]; } } } //insertion des nouvelles catégories foreach ($listcategory as $thecategory) { if ($newconf_nbc_ThemeChanger <> '') $newconf_nbc_ThemeChanger .= ';'; //echo ' Nouveau: '.$thecategory; if ($thecategory <> -1) $newconf_nbc_ThemeChanger .= $thecategory.','.$theme; } $conf['nbc_ThemeChanger'] = $newconf_nbc_ThemeChanger; $query = ' UPDATE '.CONFIG_TABLE.' SET value="'.$newconf_nbc_ThemeChanger.'" WHERE param="nbc_ThemeChanger" LIMIT 1'; pwg_query($query); array_push($page['infos'], l10n('nbc_ThemeChanger_save_config')); } $conf_nbc_ThemeChanger = isset($conf['nbc_ThemeChanger']) ? explode(";" , $conf['nbc_ThemeChanger']) : array(); $catsused = array(); $assoc_ThemeChanger = array(); foreach ($conf_nbc_ThemeChanger as $Theme_Cat) { $element_ThemeChanger = explode("," , $Theme_Cat); if ($element_ThemeChanger[0] <> '' and $element_ThemeChanger[1] <> '') { array_push($catsused, $element_ThemeChanger[0]); $query = ' SELECT uppercats FROM '.CATEGORIES_TABLE.' WHERE id = \''.$element_ThemeChanger[0].'\' ;'; $result = pwg_query($query); $row = mysql_fetch_array($result); $assoc_ThemeChanger[$element_ThemeChanger[0]] = array( 'CATEGORY_NAME' => get_cat_display_name_cache($row['uppercats'], null, false), 'TEMPLATE' => $element_ThemeChanger[1], ); } } //delete an association if ( isset($_GET['action']) and ($_GET['action']=='del_assoc') and isset($_GET['id_cat']) and is_numeric($_GET['id_cat']) and !is_adviser() ) { $conf_nbc_ThemeChanger = isset($conf['nbc_ThemeChanger']) ? explode(";" , $conf['nbc_ThemeChanger']) : array(); $newconf_nbc_ThemeChanger = ''; foreach ($conf_nbc_ThemeChanger as $Theme_Cat) { $element_ThemeChanger = explode("," , $Theme_Cat); if ($element_ThemeChanger[0] <> $_GET['id_cat'] and $element_ThemeChanger[0] <> '') { if ($newconf_nbc_ThemeChanger <> '') $newconf_nbc_ThemeChanger .= ';'; $newconf_nbc_ThemeChanger .= $element_ThemeChanger[0].','.$element_ThemeChanger[1]; } } $conf['nbc_ThemeChanger'] = $newconf_nbc_ThemeChanger; $query = ' UPDATE '.CONFIG_TABLE.' SET value="'.$newconf_nbc_ThemeChanger.'" WHERE param="nbc_ThemeChanger" LIMIT 1'; pwg_query($query); array_push($page['infos'], l10n('nbc_ThemeChanger_save_config')); } //modify an association else if ( isset($_GET['action']) and ($_GET['action']=='mod_assoc') and isset($_GET['id_cat']) and is_numeric($_GET['id_cat']) ) { $template->assign('formulaire',array( 'DESCRIPION' => $lang['modify_assoc'].' : '.$assoc_ThemeChanger[$_GET['id_cat']]['CATEGORY_NAME'], 'NAMETOMODIFY' => $assoc_ThemeChanger[$_GET['id_cat']]['CATEGORY_NAME'], 'IDTOMODIFY' => $_GET['id_cat'], )); $template->assign('formulaire.categoryfield', array( 'NAME' => $assoc_ThemeChanger[$_GET['id_cat']]['CATEGORY_NAME'], 'ID' => $_GET['id_cat'], )); $blockname = 'formulaire.template_option'; foreach (get_pwg_themes() as $pwg_template) { if ($assoc_ThemeChanger[$_GET['id_cat']]['TEMPLATE'] == $pwg_template) { $selected = 'selected="selected"'; } else { $selected = ''; } $template->assign( $blockname, array( 'VALUE'=> $pwg_template, 'CONTENT' => $pwg_template, 'SELECTED' => $selected )); } } //add an association else if ( isset($_GET['action']) and ($_GET['action']=='add_assoc') ) { //$template->assign_var('formulaire',array( $template->assign( 'formulaire', array('DESCRIPION' => $lang['add_assoc'], ) ); $template->assign('formulaire.categorylist', array()); $blockname = 'formulaire.categorylist.parent_option'; $template->assign($blockname, array()); $query = ' SELECT id, name, uppercats, global_rank FROM '.CATEGORIES_TABLE.' '; if (!empty($catsused)) { $query .= ' WHERE id NOT IN ('.implode(',', $catsused).') '; } $query .= ' ;'; display_select_cat_wrapper($query, array(), $blockname); $blockname = 'formulaire.template_option'; foreach (get_pwg_themes() as $pwg_template) { $template->assign( $blockname, array( 'VALUE'=> $pwg_template, 'CONTENT' => $pwg_template, 'SELECTED' => '', ) ); } } $conf_nbc_ThemeChanger = isset($conf['nbc_ThemeChanger']) ? explode(";" , $conf['nbc_ThemeChanger']) : array(); $num = 0; $catsused = array(); $assoc_ThemeChanger = array(); $assoc = array(); foreach ($conf_nbc_ThemeChanger as $Theme_Cat) { $element_ThemeChanger = explode("," , $Theme_Cat); if ($element_ThemeChanger[0] <> '' and $element_ThemeChanger[1] <> '') { array_push($catsused, $element_ThemeChanger[0]); $query = ' SELECT uppercats FROM '.CATEGORIES_TABLE.' WHERE id = \''.$element_ThemeChanger[0].'\' ;'; $result = pwg_query($query); $row = mysql_fetch_array($result); array_push($assoc , array( 'CLASS' => ($num++ % 2 == 1) ? 'row2' : 'row1', 'CATEGORY_NAME' => get_cat_display_name_cache($row['uppercats'], null, false), 'CATEGORY_ID' => $element_ThemeChanger[0], 'TEMPLATE' => $element_ThemeChanger[1], 'U_MODIFY' => add_url_params($page_ThemeChanger_admin, array( 'action' => 'mod_assoc', 'id_cat' => $element_ThemeChanger[0], )), 'U_DELETE' => add_url_params($page_ThemeChanger_admin, array( 'action' => 'del_assoc', 'id_cat' => $element_ThemeChanger[0], )),)); $assoc_ThemeChanger[$element_ThemeChanger[0]] = array( 'CATEGORY_NAME' => get_cat_display_name_cache($row['uppercats'], null, false), 'TEMPLATE' => $element_ThemeChanger[1], ); } } $template->assign( 'assoc',$assoc ); // template initialization $template->set_filenames(array('plugin_admin_content' => dirname(__FILE__).'/nbc_ThemeChanger_admin.tpl')); $template->assign_var_from_handle( 'ADMIN_CONTENT', 'plugin_admin_content'); ?>