toutes url relatives
This commit is contained in:
parent
b03488c689
commit
323147ac85
@ -1179,6 +1179,27 @@ class common {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fonction de parcours des données de module
|
||||||
|
* @param string $find donnée à rechercher
|
||||||
|
* @param string $replace donnée à remplacer
|
||||||
|
* @param array tableau à analyser
|
||||||
|
* @param int count nombres d'occurrences
|
||||||
|
* @return array avec les valeurs remplacées.
|
||||||
|
*/
|
||||||
|
private function recursive_array_replace ($find, $replace, $array, &$count) {
|
||||||
|
if (!is_array($array)) {
|
||||||
|
return str_replace($find, $replace, $array, $count);
|
||||||
|
}
|
||||||
|
|
||||||
|
$newArray = [];
|
||||||
|
foreach ($array as $key => $value) {
|
||||||
|
$newArray[$key] = $this->recursive_array_replace($find, $replace, $value,$c);
|
||||||
|
$count += $c;
|
||||||
|
}
|
||||||
|
return $newArray;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Génère une archive d'un dossier et des sous-dossiers
|
* Génère une archive d'un dossier et des sous-dossiers
|
||||||
* @param string fileName path et nom de l'archive
|
* @param string fileName path et nom de l'archive
|
||||||
|
@ -741,6 +741,54 @@ if ($this->getData(['core', 'dataVersion']) < 11202) {
|
|||||||
$this->setData(['core', 'dataVersion', 11202]);
|
$this->setData(['core', 'dataVersion', 11202]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Version 11.2.04
|
||||||
|
if ($this->getData(['core', 'dataVersion']) < 11204) {
|
||||||
|
// Supprimer l'information de redirection
|
||||||
|
$old = str_replace('?','',$this->getData(['core', 'baseUrl']));
|
||||||
|
$new = '';
|
||||||
|
$c3 = 0;
|
||||||
|
$success = false ;
|
||||||
|
// Boucler sur les pages
|
||||||
|
foreach($this->getHierarchy(null,null,null) as $parentId => $childIds) {
|
||||||
|
$content = $this->getPage($parentId, self::$i18n);
|
||||||
|
$titre = $this->getData(['page', $parentId, 'title']);
|
||||||
|
$content = $titre . ' ' . $content ;
|
||||||
|
$replace = str_replace( 'href="' . $old , 'href="'. $new , stripslashes($content),$c1) ;
|
||||||
|
$replace = str_replace( 'src="' . $old , 'src="'. $new , stripslashes($replace),$c2) ;
|
||||||
|
|
||||||
|
if ($c1 > 0 || $c2 > 0) {
|
||||||
|
$success = true;
|
||||||
|
$this->setPage($parentId, $replace, self::$i18n);
|
||||||
|
$c3 += $c1 + $c2;
|
||||||
|
}
|
||||||
|
foreach($childIds as $childId) {
|
||||||
|
$content = $this->getPage($childId, self::$i18n);
|
||||||
|
$content = $titre . ' ' . $content ;
|
||||||
|
$replace = str_replace( 'href="' . $old , 'href="'. $new , stripslashes($content),$c1) ;
|
||||||
|
$replace = str_replace( 'src="' . $old , 'src="'. $new , stripslashes($replace),$c2) ;
|
||||||
|
if ($c1 > 0 || $c2 > 0) {
|
||||||
|
$success = true;
|
||||||
|
$this->setPage($childId, $replace, self::$i18n);
|
||||||
|
$c3 += $c1 + $c2;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// Traiter les modules dont la redirection
|
||||||
|
$content = $this->getdata(['module']);
|
||||||
|
$replace = $this->recursive_array_replace('href="' . $old , 'href="'. $new, $content, $c1);
|
||||||
|
$replace = $this->recursive_array_replace('src="' . $old , 'src="'. $new, $replace, $c2);
|
||||||
|
if ($content !== $replace) {
|
||||||
|
$this->setdata(['module',$replace]);
|
||||||
|
$c3 += $c1 + $c2;
|
||||||
|
$success = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Effacer la baseUrl
|
||||||
|
$this->deleteData(['core', 'baseUrl']);
|
||||||
|
|
||||||
|
// Mise à jour
|
||||||
|
$this->setData(['core', 'dataVersion', 11204]);
|
||||||
|
}
|
||||||
// Version 11.3.00
|
// Version 11.3.00
|
||||||
if ($this->getData(['core', 'dataVersion']) < 11300) {
|
if ($this->getData(['core', 'dataVersion']) < 11300) {
|
||||||
|
|
||||||
|
@ -23,7 +23,6 @@ class config extends common {
|
|||||||
'generateFiles' => self::GROUP_ADMIN,
|
'generateFiles' => self::GROUP_ADMIN,
|
||||||
'index' => self::GROUP_ADMIN,
|
'index' => self::GROUP_ADMIN,
|
||||||
'restore' => self::GROUP_ADMIN,
|
'restore' => self::GROUP_ADMIN,
|
||||||
'updateBaseUrl' => self::GROUP_ADMIN,
|
|
||||||
'script' => self::GROUP_ADMIN,
|
'script' => self::GROUP_ADMIN,
|
||||||
'logReset' => self::GROUP_ADMIN,
|
'logReset' => self::GROUP_ADMIN,
|
||||||
'logDownload'=> self::GROUP_ADMIN,
|
'logDownload'=> self::GROUP_ADMIN,
|
||||||
@ -652,60 +651,6 @@ class config extends common {
|
|||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Met à jour les données de site avec l'adresse transmise
|
|
||||||
*/
|
|
||||||
public function updateBaseUrl () {
|
|
||||||
// Supprimer l'information de redirection
|
|
||||||
$old = str_replace('?','',$this->getData(['core', 'baseUrl']));
|
|
||||||
$new = helper::baseUrl(false,false);
|
|
||||||
$c3 = 0;
|
|
||||||
$success = false ;
|
|
||||||
// Boucler sur les pages
|
|
||||||
foreach($this->getHierarchy(null,null,null) as $parentId => $childIds) {
|
|
||||||
$content = $this->getPage($parentId, self::$i18n);
|
|
||||||
$titre = $this->getData(['page', $parentId, 'title']);
|
|
||||||
$content = $titre . ' ' . $content ;
|
|
||||||
$replace = str_replace( 'href="' . $old , 'href="'. $new , stripslashes($content),$c1) ;
|
|
||||||
$replace = str_replace( 'src="' . $old , 'src="'. $new , stripslashes($replace),$c2) ;
|
|
||||||
|
|
||||||
if ($c1 > 0 || $c2 > 0) {
|
|
||||||
$success = true;
|
|
||||||
$this->setPage($parentId, $replace, self::$i18n);
|
|
||||||
$c3 += $c1 + $c2;
|
|
||||||
}
|
|
||||||
foreach($childIds as $childId) {
|
|
||||||
$content = $this->getPage($childId, self::$i18n);
|
|
||||||
$content = $titre . ' ' . $content ;
|
|
||||||
$replace = str_replace( 'href="' . $old , 'href="'. $new , stripslashes($content),$c1) ;
|
|
||||||
$replace = str_replace( 'src="' . $old , 'src="'. $new , stripslashes($replace),$c2) ;
|
|
||||||
if ($c1 > 0 || $c2 > 0) {
|
|
||||||
$success = true;
|
|
||||||
$this->setPage($childId, $replace, self::$i18n);
|
|
||||||
$c3 += $c1 + $c2;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// Traiter les modules dont la redirection
|
|
||||||
$content = $this->getdata(['module']);
|
|
||||||
$replace = $this->recursive_array_replace('href="' . $old , 'href="'. $new, $content, $c1);
|
|
||||||
$replace = $this->recursive_array_replace('src="' . $old , 'src="'. $new, $replace, $c2);
|
|
||||||
if ($content !== $replace) {
|
|
||||||
$this->setdata(['module',$replace]);
|
|
||||||
$c3 += $c1 + $c2;
|
|
||||||
$success = true;
|
|
||||||
}
|
|
||||||
// Mettre à jour la base URl
|
|
||||||
$this->setData(['core','baseUrl',helper::baseUrl(true,false)]);
|
|
||||||
// Valeurs en sortie
|
|
||||||
$this->addOutput([
|
|
||||||
'title' => 'Restaurer',
|
|
||||||
'view' => 'restore',
|
|
||||||
'notification' => $success ? $c3. ' conversion' . ($c3 > 1 ? 's' : '') . ' effectuée' . ($c3 > 1 ? 's' : '') : 'Aucune conversion',
|
|
||||||
'state' => $success ? true : false
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Vider le fichier de log
|
* Vider le fichier de log
|
||||||
*/
|
*/
|
||||||
@ -842,25 +787,4 @@ class config extends common {
|
|||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Fonction de parcours des données de module
|
|
||||||
* @param string $find donnée à rechercher
|
|
||||||
* @param string $replace donnée à remplacer
|
|
||||||
* @param array tableau à analyser
|
|
||||||
* @param int count nombres d'occurrences
|
|
||||||
* @return array avec les valeurs remplacées.
|
|
||||||
*/
|
|
||||||
private function recursive_array_replace ($find, $replace, $array, &$count) {
|
|
||||||
if (!is_array($array)) {
|
|
||||||
return str_replace($find, $replace, $array, $count);
|
|
||||||
}
|
|
||||||
|
|
||||||
$newArray = [];
|
|
||||||
foreach ($array as $key => $value) {
|
|
||||||
$newArray[$key] = $this->recursive_array_replace($find, $replace, $value,$c);
|
|
||||||
$count += $c;
|
|
||||||
}
|
|
||||||
return $newArray;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -38,46 +38,4 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
|
||||||
<div class="col12">
|
|
||||||
<div class="block">
|
|
||||||
<h4>Conversion après la restauration<?php echo template::help('Conversion des URL des ressources multimédia entre deux sites aux arborescences différentes.');?></h4>
|
|
||||||
<div class="row">
|
|
||||||
<div class="col4 offset1">
|
|
||||||
<?php
|
|
||||||
if (is_null($this->getData(['core', 'baseUrl'])) ) {
|
|
||||||
$baseUrlValue = 'Pas de donnée dans la sauvegarde';
|
|
||||||
$buttonClass = 'disabled';
|
|
||||||
} elseif ($this->getData(['core', 'baseUrl']) === '') {
|
|
||||||
$baseUrlValue = '/';
|
|
||||||
$buttonClass = helper::baseUrl(false,false) !== $this->getData(['core', 'baseUrl']) ? '' : 'disabled';
|
|
||||||
} else {
|
|
||||||
$baseUrlValue = str_replace('?','',$this->getData(['core', 'baseUrl']));
|
|
||||||
$buttonClass = helper::baseUrl(false,false) !== $baseUrlValue ? '' : 'disabled';
|
|
||||||
}
|
|
||||||
echo template::text('configRestoreBaseURLToConvert', [
|
|
||||||
'label' => 'Dossier de l\'archive' ,
|
|
||||||
'value' => $baseUrlValue,
|
|
||||||
'readonly' => true,
|
|
||||||
'help' => 'Le dossier de base du site est stockée dans la sauvegarde.'
|
|
||||||
]); ?>
|
|
||||||
</div>
|
|
||||||
<div class="col4">
|
|
||||||
<?php echo template::text('configRestoreCurrentURL', [
|
|
||||||
'label' => 'Dossier du site actuel',
|
|
||||||
'value' => helper::baseUrl(false,false),
|
|
||||||
'readonly' => true
|
|
||||||
]); ?>
|
|
||||||
</div>
|
|
||||||
<div class="col2 verticalAlignMiddle">
|
|
||||||
<?php echo template::button('configRestoreUpdateBaseURLButton', [
|
|
||||||
'href' => helper::baseUrl() . 'config/updateBaseUrl',
|
|
||||||
'class' => $buttonClass,
|
|
||||||
'value' => 'convertir'
|
|
||||||
]); ?>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<?php echo template::formClose(); ?>
|
<?php echo template::formClose(); ?>
|
||||||
|
Loading…
Reference in New Issue
Block a user