1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/pluxml_ynh.git synced 2024-09-03 20:16:02 +02:00
pluxml_ynh/sources/update/update_5.1.6.php
2016-06-26 21:27:12 +02:00

82 lines
No EOL
2.8 KiB
PHP

<?php
/**
* Classe de mise a jour pour PluXml version 5.1.6
*
* @package PLX
* @author Stephane F
**/
class update_5_1_6 extends plxUpdate{
# mise à jour fichier parametres.xml
public function step1() {
echo L_UPDATE_UPDATE_PARAMETERS_FILE."<br />";
# nouveaux parametres
$new_parameters = array(
'display_empty_cat' => 0,
'timezone' => date_default_timezone_get(),
);
# on supprime les parametres obsoletes
unset($this->plxAdmin->aConf['delta']);
# mise à jour du fichier des parametres
$this->updateParameters($new_parameters);
return true; # pas d'erreurs
}
# mise à jour fichier .htaccess
public function step2() {
if(file_exists(PLX_ROOT.'.htaccess')) {
echo L_UPDATE_UPDATE_HTACCESS_FILE."<br />";
# lecture du fichier .htaccess
$htaccess = file_get_contents(PLX_ROOT.'.htaccess');
$old = 'RewriteRule ^([^feed\/].*)$ index.php?$1 [L]';
$new = 'RewriteRule ^(?!feed)(.*)$ index.php?$1 [L]';
$htaccess = str_replace($old, $new, $htaccess);
if(!plxUtils::write($htaccess,PLX_ROOT.'.htaccess')) {
echo '<p class="error">'.L_UPDATE_ERR_UPDATE_HTACCESS_FILE.'</p>';
return false;
}
}
return true; # pas d'erreurs
}
# Mise à jour des pages statiques: ajout nouveau champ title_htmltag
public function step3() {
echo L_UPDATE_FILE." (".$this->plxAdmin->aConf['statiques'].")<br />";
$data = file_get_contents(PLX_ROOT.$this->plxAdmin->aConf['statiques']);
$tag = 'statique';
if(preg_match_all('{<'.$tag.'[^>]*>(.*?)</'.$tag.'>}', $data, $matches, PREG_PATTERN_ORDER)) {
foreach($matches[0] as $match) {
if(!preg_match('/<title_htmltag>/', $match)) {
$str = str_replace('</'.$tag.'>', '<title_htmltag><![CDATA[]]></title_htmltag></'.$tag.'>', $match);
$data = str_replace($match, $str, $data);
}
}
if(!plxUtils::write($data, PLX_ROOT.$this->plxAdmin->aConf['statiques'])) {
echo '<p class="error">'.L_UPDATE_ERR_FILE.'</p>';
return false;
}
}
return true;
}
# Mise à jour des categories: ajout nouveau champ title_htmltag
public function step4() {
echo L_UPDATE_FILE." (".$this->plxAdmin->aConf['categories'].")<br />";
$data = file_get_contents(PLX_ROOT.$this->plxAdmin->aConf['categories']);
$tag = 'categorie';
if(preg_match_all('{<'.$tag.'[^>]*>(.*?)</'.$tag.'>}', $data, $matches, PREG_PATTERN_ORDER)) {
foreach($matches[0] as $match) {
if(!preg_match('/<title_htmltag>/', $match)) {
$str = str_replace('</'.$tag.'>', '<title_htmltag><![CDATA[]]></title_htmltag></'.$tag.'>', $match);
$data = str_replace($match, $str, $data);
}
}
if(!plxUtils::write($data, PLX_ROOT.$this->plxAdmin->aConf['categories'])) {
echo '<p class="error">'.L_UPDATE_ERR_FILE.'</p>';
return false;
}
}
return true;
}
}
?>