"; # nouveaux parametres $new_parameters = array( 'bypage_archives' => 5, 'userfolders' => 1, 'meta_description'=>'', 'meta_keywords'=>'', 'plugins'=>'data/configuration/plugins.xml', 'default_lang'=>(isset($_POST['default_lang'])?$_POST['default_lang']:DEFAULT_LANG), ); # on supprime les parametres obsoletes unset($this->plxAdmin->aConf['editor']); unset($this->plxAdmin->aConf['style_mobile']); # mise à jour du fichier des parametres $this->updateParameters($new_parameters); return true; # pas d'erreurs } # création d'un fichier .htacces dans le dossier data pour eviter de lister les dossiers public function step2() { echo L_UPDATE_CREATE_HTACCESS_FILE.' '.PLX_ROOT.'data/.htaccess
'; if(!plxUtils::write('options -indexes', PLX_ROOT.'data/.htaccess')) { echo '

'.L_UPDATE_CREATE_HTACCESS_FILE.' '.PLX_ROOT.'data/.htaccess

'; return false; } return true; # pas d'erreurs } # Migration du fichier des categories public function step3() { echo L_UPDATE_CATEGORIES_MIGRATION."
"; if($categories = $this->_getCategories(PLX_ROOT.$this->plxAdmin->aConf['categories'])) { # On génère le fichier XML $xml = "\n"; $xml .= "\n"; foreach($categories as $cat_id => $cat) { $xml .= "\t"; $xml .= ""; $xml .= ""; $xml .= ""; $xml .= ""; $xml .= "\n"; } $xml .= ""; if(!plxUtils::write($xml,PLX_ROOT.$this->plxAdmin->aConf['categories'])) { echo '

'.L_UPDATE_ERR_CATEGORIES_MIGRATION.' ('.$this->plxAdmin->aConf['categories'].')

'; return false; } } return true; } # Migration du fichier des page statiques public function step4() { echo L_UPDATE_STATICS_MIGRATION."
"; if($statics = $this->_getStatiques(PLX_ROOT.$this->plxAdmin->aConf['statiques'])) { # On génère le fichier XML $xml = "\n"; $xml .= "\n"; foreach($statics as $static_id => $static) { $xml .= "\t"; $xml .= ""; $xml .= ""; $xml .= ""; $xml .= ""; $xml .= "\n"; } $xml .= ""; if(!plxUtils::write($xml,PLX_ROOT.$this->plxAdmin->aConf['statiques'])) { echo '

'.L_UPDATE_ERR_STATICS_MIGRATION.' ('.$this->plxAdmin->aConf['statiques'].')

'; return false; } } return true; } # Migration du fichier des utilisateurs public function step5() { echo L_UPDATE_USERS_MIGRATION."
"; if($users = $this->_getUsers(PLX_ROOT.$this->plxAdmin->aConf['users'])) { # On génère le fichier XML $xml = "\n"; $xml .= "\n"; foreach($users as $user_id => $user) { if(intval($user['profil']=='2')) $user['profil']='4'; $xml .= "\t".''."\n"; $xml .= "\t\t".''."\n"; $xml .= "\t\t".''."\n"; $xml .= "\t\t".''."\n"; $xml .= "\t\t".''."\n"; $xml .= "\t\t".''."\n"; $xml .= "\t\n"; } $xml .= ""; if(!plxUtils::write($xml,PLX_ROOT.$this->plxAdmin->aConf['users'])) { echo '

'.L_UPDATE_ERR_USERS_MIGRATION.' ('.$this->plxAdmin->aConf['users'].')

'; return false; } } return true; } # Création du fichier data/configuration/plugins.xml public function step6() { echo L_UPDATE_CREATE_PLUGINS_FILE."
"; $xml = ''."\n"; $xml .= ''."\n"; $xml .= ''; if(!plxUtils::write($xml,PLX_ROOT.$this->plxAdmin->aConf['plugins'])) { echo '

'.L_UPDATE_ERR_CREATE_PLUGINS_FILE.'

'; return false; } return true; } # suppression du fichier core/admin/fullscreen.php public function step7() { if(file_exists(PLX_ROOT.'core/admin/fullscreen.php')) { echo L_UPDATE_DELETE_FULLSCREEN_FILE."
"; if(!unlink(PLX_ROOT.'core/admin/fullscreen.php')) { echo '

'.L_UPDATE_ERR_DELETE_FULLSCREEN_FILE.'

'; } } return true; } # suppression du dossier de la plxtoolar public function step8() { if(is_dir(PLX_ROOT.'core/plxtoolbar')) { echo L_UPDATE_DELETE_PLXTOOLBAR_FOLDER."
"; if(!$this->deleteDir(PLX_ROOT.'core/plxtoolbar/')) { echo '

'.L_UPDATE_ERR_DELETE_PLXTOOLBAR_FOLDER.'

'; } } return true; } /***************/ private function _getCategories($filename) { $aCats=array(); if(is_file($filename)) { # Mise en place du parseur XML $data = implode('',file($filename)); $parser = xml_parser_create(PLX_CHARSET); xml_parser_set_option($parser,XML_OPTION_CASE_FOLDING,0); xml_parser_set_option($parser,XML_OPTION_SKIP_WHITE,0); xml_parse_into_struct($parser,$data,$values,$iTags); xml_parser_free($parser); # On verifie qu'il existe des tags "categorie" if(isset($iTags['categorie'])) { # On compte le nombre de tags "categorie" $nb = sizeof($iTags['categorie']); # On boucle sur $nb for($i = 0; $i < $nb; $i++) { # Recuperation du nom de la categorie $aCats[ $values[ $iTags['categorie'][$i] ]['attributes']['number'] ]['name'] = $values[ $iTags['categorie'][$i] ]['value']; # Recuperation de l'url de la categorie $aCats[ $values[ $iTags['categorie'][$i] ]['attributes']['number'] ]['url'] = strtolower($values[ $iTags['categorie'][$i] ]['attributes']['url']); # Recuperation du tri de la categorie si besoin est if(isset($values[ $iTags['categorie'][$i] ]['attributes']['tri'])) $aCats[ $values[ $iTags['categorie'][$i] ]['attributes']['number'] ]['tri'] = $values[ $iTags['categorie'][$i] ]['attributes']['tri']; else # Tri par defaut $aCats[ $values[ $iTags['categorie'][$i] ]['attributes']['number'] ]['tri'] = $this->aConf['tri']; # Recuperation du nb d'articles par page de la categorie si besoin est if(isset($values[ $iTags['categorie'][$i] ]['attributes']['bypage'])) $aCats[ $values[ $iTags['categorie'][$i] ]['attributes']['number'] ]['bypage'] = $values[ $iTags['categorie'][$i] ]['attributes']['bypage']; else # Nb d'articles par page par defaut $aCats[ $values[ $iTags['categorie'][$i] ]['attributes']['number'] ]['bypage'] = $this->bypage; # recuperation du fichier template if(isset($values[ $iTags['categorie'][$i] ]['attributes']['template'])) $aCats[ $values[ $iTags['categorie'][$i] ]['attributes']['number'] ]['template'] = $values[ $iTags['categorie'][$i] ]['attributes']['template']; else $aCats[ $values[ $iTags['categorie'][$i] ]['attributes']['number'] ]['template'] = 'categorie.php'; # On affiche la categorie dans le menu ? if(isset($values[ $iTags['categorie'][$i] ]['attributes']['menu'])) $aCats[ $values[ $iTags['categorie'][$i] ]['attributes']['number'] ]['menu'] = $values[ $iTags['categorie'][$i] ]['attributes']['menu']; else $aCats[ $values[ $iTags['categorie'][$i] ]['attributes']['number'] ]['menu'] = 'oui'; } } } return $aCats; } private function _getStatiques($filename) { $aStats=array(); if(is_file($filename)) { # Mise en place du parseur XML $data = implode('',file($filename)); $parser = xml_parser_create(PLX_CHARSET); xml_parser_set_option($parser,XML_OPTION_CASE_FOLDING,0); xml_parser_set_option($parser,XML_OPTION_SKIP_WHITE,0); xml_parse_into_struct($parser,$data,$values,$iTags); xml_parser_free($parser); # On verifie qu'il existe des tags "statique" if(isset($iTags['statique']) AND isset($iTags['name'])) { # On compte le nombre de tags "statique" $nb = sizeof($iTags['name']); # On boucle sur $nb for($i = 0; $i < $nb; $i++) { $number = $values[ $iTags['statique'][$i*2] ]['attributes']['number']; # Recuperation du groupe de la page statique $aStats[$number]['group'] = isset($values[ $iTags['statique'][$i] ])?$values[ $iTags['group'][$i] ]['value']:''; # Recuperation du nom de la page statique $aStats[$number]['name'] = isset($values[ $iTags['statique'][$i] ])?$values[ $iTags['name'][$i] ]['value']:''; # Recuperation de l'url de la page statique $aStats[$number]['url'] = strtolower($values[ $iTags['statique'][$i*2] ]['attributes']['url']); # Recuperation de l'etat de la page $aStats[$number]['active'] = intval($values[ $iTags['statique'][$i*2] ]['attributes']['active']); # On affiche la page statique dans le menu ? if(isset($values[ $iTags['statique'][$i*2] ]['attributes']['menu'])) $aStats[$number]['menu'] = $values[ $iTags['statique'][$i*2] ]['attributes']['menu']; else $aStats[$number]['menu'] = 'oui'; # recuperation du fichier template if(isset($values[ $iTags['statique'][$i*2] ]['attributes']['template'])) $aStats[$number]['template'] = $values[ $iTags['statique'][$i*2] ]['attributes']['template']; else $aStats[$number]['template'] = 'static.php'; } } } return $aStats; } private function _getUsers($filename) { $aUsers=array(); if(is_file($filename)) { # Mise en place du parseur XML $data = implode('',file($filename)); $parser = xml_parser_create(PLX_CHARSET); xml_parser_set_option($parser,XML_OPTION_CASE_FOLDING,0); xml_parser_set_option($parser,XML_OPTION_SKIP_WHITE,0); xml_parse_into_struct($parser,$data,$values,$iTags); xml_parser_free($parser); # On verifie qu'il existe des tags "user" if(isset($iTags['user']) AND isset($iTags['login'])) { # On compte le nombre d'utilisateur $nb = sizeof($iTags['login']); # On boucle sur $nb for($i = 0; $i < $nb; $i++) { $number = $values[$iTags['user'][$i*6] ]['attributes']['number']; $aUsers[$number]['active'] = $values[ $iTags['user'][$i*6] ]['attributes']['active']; $aUsers[$number]['delete'] = $values[ $iTags['user'][$i*6] ]['attributes']['delete']; $aUsers[$number]['profil'] = $values[ $iTags['user'][$i*6] ]['attributes']['profil']; $aUsers[$number]['login'] = isset($values[ $iTags['login'][$i] ])?$values[ $iTags['login'][$i] ]['value']:''; $aUsers[$number]['name'] = isset($values[ $iTags['name'][$i] ])?$values[ $iTags['name'][$i] ]['value']:''; $aUsers[$number]['password'] = isset($values[ $iTags['password'][$i] ])?$values[ $iTags['password'][$i] ]['value']:''; $aUsers[$number]['infos'] = isset($values[ $iTags['infos'][$i] ])?$values[ $iTags['infos'][$i] ]['value']:''; } } } # On retourne le tableau return $aUsers; } } ?>