diff --git a/module/external/External.php b/module/external/External.php new file mode 100644 index 00000000..6e8a82c7 --- /dev/null +++ b/module/external/External.php @@ -0,0 +1,75 @@ + + * @copyright Copyright (C) 2008-2018, Rémi Jean + * @license GNU General Public License, version 3 + * @link http://zwiicms.com/ + * + * @author Module Frédéric Tempez + * + */ + +class redirection extends common { + + public static $actions = [ + 'config' => self::GROUP_MODERATOR, + 'index' => self::GROUP_VISITOR + ]; + + /** + * Configuration + */ + public function config() { + // Soumission du formulaire + if($this->isPost()) { + $this->setData(['module', $this->getUrl(0), 'url', $this->getInput('redirectionConfigUrl', helper::FILTER_URL, true)]); + // Valeurs en sortie + $this->addOutput([ + 'redirect' => helper::baseUrl() . $this->getUrl(), + 'notification' => 'Modifications enregistrées', + 'state' => true + ]); + }s + // Valeurs en sortie + $this->addOutput([ + 'title' => 'Configuration du module', + 'view' => 'config' + ]); + } + + /** + * Accueil + */ + public function index() { + // Message si l'utilisateur peut éditer la page + if( + $this->getUser('password') === $this->getInput('ZWII_USER_PASSWORD') + AND $this->getUser('group') >= self::GROUP_MODERATOR + AND $this->getUrl(1) !== 'force' + ) { + // Valeurs en sortie + $this->addOutput([ + 'display' => self::DISPLAY_LAYOUT_BLANK, + 'title' => '', + 'view' => 'index' + ]); + } + // Sinon redirection + else { + // Incrémente le compteur de clics + $this->setData(['module', $this->getUrl(0), 'count', helper::filter($this->getData(['module', $this->getUrl(0), 'count']) + 1, helper::FILTER_INT)]); + // Valeurs en sortie + $this->addOutput([ + 'redirect' => $this->getData(['module', $this->getUrl(0), 'url']), + 'state' => true + ]); + } + } + +} \ No newline at end of file diff --git a/module/external/view/config/config.php b/module/external/view/config/config.php new file mode 100644 index 00000000..83262c2b --- /dev/null +++ b/module/external/view/config/config.php @@ -0,0 +1,37 @@ + +
+
+ 'buttonGrey', + 'href' => helper::baseUrl() . 'page/edit/' . $this->getUrl(0), + 'ico' => 'left', + 'value' => 'Retour' + ]); ?> +
+
+ +
+
+
+
+
+

Redirection

+ 'Lien de redirection', + 'placeholder' => 'http://', + 'value' => $this->getData(['module', $this->getUrl(0), 'url']) + ]); ?> +
+
+
+
+

Statistiques

+ true, + 'label' => 'Nombre de redirection', + 'value' => helper::filter($this->getData(['module', $this->getUrl(0), 'count']), helper::FILTER_INT) + ]); ?> +
+
+
+ \ No newline at end of file diff --git a/module/external/view/index/index.js.php b/module/external/view/index/index.js.php new file mode 100644 index 00000000..bc393f33 --- /dev/null +++ b/module/external/view/index/index.js.php @@ -0,0 +1,32 @@ + + +/** + * This file is part of Zwii. + * + * For full copyright and license information, please see the LICENSE + * file that was distributed with this source code. + * + * @author Rémi Jean + * @copyright Copyright (C) 2008-2018, Rémi Jean + * @license GNU General Public License, version 3 + * @link http://zwiicms.com/ + * + * + **/ + +if (document.referrer.indexOf("edit") === -1) +{ + core.confirm( + "Souhaitez-vous accéder à l'interface de modification de la page ? En cas de refus, vous serez redirigé vers l'URL saisie dans le module de redirection.", + function() { + $(location).attr("href", "page/edit/getUrl(0); ?>"); + }, + function() { + $(location).attr("href", "getUrl(); ?>/force"); + } + ); +} +else +{ + $(location).attr("href", ""); +} \ No newline at end of file diff --git a/module/external/view/index/index.php b/module/external/view/index/index.php new file mode 100644 index 00000000..595f6370 --- /dev/null +++ b/module/external/view/index/index.php @@ -0,0 +1 @@ + \ No newline at end of file