categorySize = $categorySize; } var $categories; function Setcategories($categories){ $this->categories = $categories; } var $themes ; function Setthemes($themes){ $this->themes = $themes; } var $listcategoryParamThemeChanger ; function SetlistcategoryParamThemeChanger($listcategoryParamThemeChanger){ $this->listcategoryParamThemeChanger = $listcategoryParamThemeChanger; } var $applysubcategory; function Setapplysubcategory($applysubcategory){ $this->applysubcategory = $applysubcategory; } var $thecategory; function Setthecategory($thecategory){ $this->thecategory = $thecategory; } var $nomGalerie; function SetnomGalerie($nomGalerie){ $this->nomGalerie = $nomGalerie; } var $OverWriteHome; function SetOverWriteHome($OverWriteHome){ $this->OverWriteHome = $OverWriteHome; } var $titreGalerie; function SettitreGalerie($titreGalerie){ $this->titreGalerie = $titreGalerie; } function get_categories () { if (ISSET($this->categories)) return $this->categories; $this->categorySize = 0; $cat=array(); $categoriesTmp = array(); //chargement des catégories $query = ' SELECT id, name, uppercats, global_rank FROM '.CATEGORIES_TABLE.' ; '; $result = pwg_query($query); while (($cat = mysql_fetch_array($result)) <> null) { array_push($categoriesTmp , 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'], )); $this->categorySize = $this->categorySize + 1; } $cat = array(); $this->Setcategories($categoriesTmp); return $categoriesTmp; } function get_categoriesLongName($id) { $i = 0; $length = $this->categorySize; while ($i < $length) { if ($id == $this->categories[$i]['id']) return $this->categories[$i]['longName']; $i = $i + 1; } return ''; } function get_themes() { if (ISSET($this->themes)) return $this->themes; $themesTmp = array(); foreach (get_pwg_themes() as $pwg_template) { $selected = $pwg_template; array_push($themesTmp, $selected); } $this->Setthemes($themesTmp); return $themesTmp; } function initThemeChanger ($thecategory, $nomGalerie, $titreGalerie, $applysubcategory, $OverWriteHome) { if (ISSET($this->listcategoryParamThemeChanger)) return $this->listcategoryParamThemeChanger; $listcategoryParamThemeChangerTmp = array(); if ($applysubcategory <> 'false') { foreach ($this->categories as $icat) { $tmp = explode("," , $icat['uppercats']); if (in_array ($thecategory, $tmp)) array_push($listcategoryParamThemeChangerTmp ,array('id' => $icat['id'], 'Parent' => isset($tmp[0]) ? $tmp[0] : $icat['id'], 'nomGalerie' => $nomGalerie, 'titreGalerie' => $titreGalerie, 'OverWriteHome' => $OverWriteHome, 'applysubcategory' => $applysubcategory)); // ajout pour la gestion du menu categorie } } else { $icat = get_cat_info($thecategory); $tmp = explode("," , $icat['uppercats']); array_push($listcategoryParamThemeChangerTmp ,array('id' => $thecategory, 'Parent' => isset($tmp[0]) ? $tmp[0] : $icat['id'], 'nomGalerie' => $nomGalerie, 'titreGalerie' => $titreGalerie, 'OverWriteHome' => $OverWriteHome, 'applysubcategory' => $applysubcategory)); } $this->listcategoryParamThemeChanger = $listcategoryParamThemeChangerTmp; return $this->listcategoryParamThemeChanger; } } class c_ThemeChanger { var $separator = '|'; var $listcategoryParamThemeChanger ; function SetlistcategoryParamThemeChanger($listcategoryParamThemeChanger){ $this->listcategoryParamThemeChanger = $listcategoryParamThemeChanger; } var $newconf_nbc_ThemeChanger = ''; function Setnewconf_nbc_ThemeChanger($newconf_nbc_ThemeChanger){ $this->newconf_nbc_ThemeChanger = $newconf_nbc_ThemeChanger; } function Get_newconf_nbc_ThemeChanger() { if (ISSET($this->newconf_nbc_ThemeChanger)) return $this->newconf_nbc_ThemeChanger; else return ''; } function initThemeChanger ($thecategory, $theme, $nomGalerie, $titreGalerie, $applysubcategory, $OverWriteHome) { if (ISSET($this->listcategoryParamThemeChanger)) return $this->listcategoryParamThemeChanger; $c_ThemeChangerConf = new c_ThemeChangerConfig(); $categories = $c_ThemeChangerConf->get_categories(); $listcategoryParamThemeChangerTmp = array(); $newconf_nbc_ThemeChanger = ''; if ($applysubcategory <> 'false') { foreach ($categories as $icat) { $tmp = explode("," , $icat['uppercats']); if (in_array ($thecategory, $tmp)) array_push($listcategoryParamThemeChangerTmp ,array('id' => $icat['id'], 'template' =>$theme[0], 'theme' => $theme[1],'Parent' => isset($tmp[0]) ? $tmp[0] : $icat['id'], 'nomGalerie' => $nomGalerie, 'titreGalerie' => $titreGalerie, 'OverWriteHome' => $OverWriteHome, 'applysubcategory' => $applysubcategory)); // ajout pour la gestion du menu categorie } } else { $icat = get_cat_info($thecategory); $tmp = explode("," , $icat['uppercats']); array_push($listcategoryParamThemeChangerTmp ,array('id' => $thecategory, 'template' =>$theme[0], 'theme' => $theme[1], 'Parent' => isset($tmp[0]) ? $tmp[0] : $icat['id'], 'nomGalerie' => $nomGalerie, 'titreGalerie' => $titreGalerie, 'OverWriteHome' => $OverWriteHome, 'applysubcategory' => $applysubcategory)); } $this->listcategoryParamThemeChanger = $listcategoryParamThemeChangerTmp; return $this->listcategoryParamThemeChanger; } function InsertEndAssocConf($id, $tpl, $thm, $cat, $name, $title, $overHome, $appSubCat){ if ($this->newconf_nbc_ThemeChanger <> '' and $this->newconf_nbc_ThemeChanger [strlen($this->newconf_nbc_ThemeChanger )-1] <> $this->separator) $this->newconf_nbc_ThemeChanger .= $this->separator; $this->newconf_nbc_ThemeChanger .= $id.','.$tpl.','.$thm.','.$cat.','.$name.','.$title.','.$overHome.','.$appSubCat; return 1; } function AddAssocConf ($conf_nbc_ThemeChanger) { foreach ($conf_nbc_ThemeChanger as $Theme_Cat) { $add_ok = false; $element_ThemeChanger = explode("," , $Theme_Cat); $i = 0; foreach ($this->listcategoryParamThemeChanger as $thecategory) { if ($element_ThemeChanger[0] == $thecategory['id']) //MAJ de la configuration d'une categorie déjà présente dans la liste { //echo ' MAJ: '.$element_ThemeChanger[0]; $this->InsertEndAssocConf($thecategory['id'],$thecategory['template'],$thecategory['theme'],$thecategory['Parent'],$thecategory['nomGalerie'],$thecategory['titreGalerie'],$thecategory['OverWriteHome'],$thecategory['applysubcategory']); $this->listcategoryParamThemeChanger[$i]['id'] = -1; $add_ok = true; break; } $i += 1; } if ($add_ok == false and $element_ThemeChanger[0] <> ''){//récupération des catégories qui n'ont pas été modifié. //echo ' Recup : '.$element_ThemeChanger[0]; $this->InsertEndAssocConf($element_ThemeChanger[0], $element_ThemeChanger[1], $element_ThemeChanger[2], $element_ThemeChanger[3], $element_ThemeChanger[4], $element_ThemeChanger[5], $element_ThemeChanger[6], $element_ThemeChanger[7]); } } foreach ($this->listcategoryParamThemeChanger as $thecategory) {//insertion des nouvelles catégories //echo ' Nouveau: '.$thecategory['id']; if ($thecategory['id'] <> -1) $this->InsertEndAssocConf($thecategory['id'],$thecategory['template'],$thecategory['theme'], $thecategory['Parent'], $thecategory['nomGalerie'], $thecategory['titreGalerie'], $thecategory['OverWriteHome'], $thecategory['applysubcategory']); $listcategoryParamThemeChanger[$i]['id'] = -1; } return 1; } function DeleteAssocConf () { } } ?>