searchpage et legal : la désactivation de la page dans la config entraîne la désactivation du lien dans le footer.

This commit is contained in:
fredtempez 2021-10-01 10:42:21 +02:00
parent df3ee6e0e4
commit 06ad3c3467
2 changed files with 13 additions and 18 deletions

View File

@ -377,27 +377,19 @@ class config extends common {
public function index() { public function index() {
// Soumission du formulaire // Soumission du formulaire
if($this->isPost()) { if($this->isPost()) {
$success = true;
// Empêcher la modification si défini dans footer // Répercuter la suppression de la page dans la configuration du footer
if ( $this->getData(['theme','footer','displaySearch']) === true if ( $this->getData(['theme','footer','displaySearch']) === true
AND $this->getInput('configSearchPageId') === 'none' AND $this->getInput('configSearchPageId') === 'none'
){ ){
$searchPageId = $this->getData(['locale','searchPageId']); $this->setData(['theme', 'footer', 'displaySearch', false]);
self::$inputNotices['configSearchPageId'] = 'Désactiver l\'option dans le pied de page';
$success = false;
} else {
$searchPageId = $this->getInput('configSearchPageId');
} }
// Empêcher la modification si défini dans footer
if ( $this->getData(['theme','footer','displayLegal']) === true if ( $this->getData(['theme','footer','displayLegal']) === true
AND $this->getInput('configLegalPageId') === 'none' AND $this->getInput('configLegalPageId') === 'none'
){ ){
$legalPageId = $this->getData(['locale','legalPageId']); $this->setData(['theme', 'footer', 'displayLegal', false]);
self::$inputNotices['configLegalPageId'] = 'Désactiver l\'option dans le pied de page';
$success = false;
} else {
$legalPageId = $this->getInput('configLegalPageId');
} }
// Sauvegarder // Sauvegarder
$this->setData([ $this->setData([
'locale', 'locale',
@ -406,20 +398,23 @@ class config extends common {
'page404' => $this->getInput('configPage404'), 'page404' => $this->getInput('configPage404'),
'page403' => $this->getInput('configPage403'), 'page403' => $this->getInput('configPage403'),
'page302' => $this->getInput('configPage302'), 'page302' => $this->getInput('configPage302'),
'legalPageId' => $legalPageId, 'legalPageId' => $this->getInput('configLegalPageId'),
'searchPageId' => $searchPageId, 'searchPageId' => $this->getInput('configSearchPageId'),
'metaDescription' => $this->getInput('configMetaDescription', helper::FILTER_STRING_LONG, true), 'metaDescription' => $this->getInput('configMetaDescription', helper::FILTER_STRING_LONG, true),
'title' => $this->getInput('configTitle', helper::FILTER_STRING_SHORT, true) 'title' => $this->getInput('configTitle', helper::FILTER_STRING_SHORT, true)
] ]
]); ]);
$this->setData(['config', 'i18n', 'enable', $this->getInput('configI18n',helper::FILTER_BOOLEAN) ]); $this->setData(['config', 'i18n', 'enable', $this->getInput('configI18n',helper::FILTER_BOOLEAN) ]);
// Générer robots.txt et sitemap // Générer robots.txt et sitemap
$this->generateFiles(); $this->generateFiles();
// Valeurs en sortie // Valeurs en sortie
$this->addOutput([ $this->addOutput([
'redirect' => helper::baseUrl() . $this->getUrl(), 'redirect' => helper::baseUrl() . $this->getUrl(),
'notification' => 'Modifications enregistrées', 'notification' => 'Modifications enregistrées',
'state' => $success 'state' => true
]); ]);
} }

View File

@ -80,14 +80,14 @@
<?php echo template::checkbox('themeFooterDisplayLegal', true, 'Mentions légales', [ <?php echo template::checkbox('themeFooterDisplayLegal', true, 'Mentions légales', [
'checked' => $this->getData(['locale', 'legalPageId']) === 'none' ? false : $this->getData(['theme', 'footer', 'displayLegal']), 'checked' => $this->getData(['locale', 'legalPageId']) === 'none' ? false : $this->getData(['theme', 'footer', 'displayLegal']),
'disabled' => $this->getData(['locale', 'legalPageId']) === 'none' ? true : false, 'disabled' => $this->getData(['locale', 'legalPageId']) === 'none' ? true : false,
'help' => 'Sélectionnez la page contenant les mentions légales dans Configurer le site / Pages spéciales' 'help' => $this->getData(['locale', 'legalPageId']) === 'none' ? 'Une page contenant les mentions légales n\'est pas définie dans la configuration du site / pages spéciales.' : ''
]); ?> ]); ?>
</div> </div>
<div class="col6"> <div class="col6">
<?php echo template::checkbox('themeFooterDisplaySearch', true, 'Rechercher dans le site', [ <?php echo template::checkbox('themeFooterDisplaySearch', true, 'Rechercher dans le site', [
'checked' => $this->getData(['locale', 'searchPageId']) === 'none' ? false : $this->getData(['theme', 'footer', 'displaySearch']), 'checked' => $this->getData(['locale', 'searchPageId']) === 'none' ? false : $this->getData(['theme', 'footer', 'displaySearch']),
'disabled' => $this->getData(['locale', 'searchPageId']) === 'none' ? true : false, 'disabled' => $this->getData(['locale', 'searchPageId']) === 'none' ? true : false,
'help' => 'Sélectionnez la page contenant un module de recherche dans Configurer le site / Pages spéciales' 'help' => $this->getData(['locale', 'searchPageId']) === 'none' ? 'Une page contenant un module de recherche n\'est pas définie dans la configuration du site / pages spéciales.' : ''
]); ?> ]); ?>
</div> </div>
</div> </div>