Commit b9be2af1 authored by Sven Rhinow's avatar Sven Rhinow

now possible to set extern Cookie example in Formular

parent 9af79613
Author: Sven Rhinow
Web: www.sr-tag.de
License: LPGL
Version: 3.0.2
Version: 3.1.0
deutsch
--------------------------------------
......@@ -18,3 +18,13 @@ weitere Eigenschaften vom srlayer sind:
- Der Inhalt des Layers kann absolute flexible gestaltet werden da es den im Modul eingetragenen Text anzeigt und auch mit inserttags auf Artikel, Inhaltselemente und Module gesteuert werden kann
Vorraussetzung: dieses Modul basiert auf das Mootools-, oder das jQuery-Framework
*neu (>= 3.1.0)*
Es kann das Modul jetzt auch so eingestellt werden das die Cookie-Prüfung unabhängig von der Cookie-Setzung ist. So kann die Cookie-Setzung z.B. von einem Formular gesetzt werden.
Dazu muss im Formular drei versteckte Felder angelegt werden
- "srlayer_set_cookie" als Wert muss hier der Cookiename angegeben werden
- "srlayer_check_field" (optional) Name des zuprüfenden Feldes
- "srlayer_cookie_duration" (optional) kann den Defaultwert von 3600 überschreiben
Im Formular darf dann kein Haken bei Cookie setzen sein aber bei Cookie auswerten muss ein Haken sein und der Cookiename muss dem aus dem versteckten Formularfeld entsprechen.
\ No newline at end of file
<?php
/**
* Created by sr-tag_4.4.
* Developer: Sven Rhinow (sven@sr-tag.de)
* Date: 05.04.18
*/
class ModuleSrlHooks
{
public function setSrLayerCookie(&$arrSubmitted, $arrLabels, $objForm)
{
// setzt den SRLAYER-Cookie wenn alle Bedingungen aus dem Formular erfüllt sind
if($arrSubmitted['srlayer_set_cookie'] && strlen($arrSubmitted['srlayer_set_cookie']) > 0)
{
//prueft ob es ein Feld "srlayer_check_field" mit Wert im Formular gibt
if(strlen($arrSubmitted['srlayer_check_field']) < 1) return false;
$checkField = $arrSubmitted['srlayer_check_field'];
// prüft ob es ein Formular-Feld mit dem zu pruefenden Namen gibt
if( !$arrSubmitted[$checkField] || strlen($arrSubmitted[$checkField]) < 1) return false;
//setzt die Cookie-Dauer
$duration = ((int) $arrSubmitted['srlayer_cookie_duration']) ?: 3600;
//setzt den Cookie
\System::setCookie( $arrSubmitted['srlayer_set_cookie'], 1, time() + $duration);
}
}
}
\ No newline at end of file
......@@ -14,9 +14,9 @@
/**
* Register the classes
*/
ClassLoader::addClasses(array
(
ClassLoader::addClasses(array(
'ModuleSRLayer' => 'system/modules/srlayer/classes/ModuleSRLayer.php',
'ModuleSrlHooks' => 'system/modules/srlayer/classes/ModuleSrlHooks.php',
));
......
......@@ -22,3 +22,8 @@
$GLOBALS['SRL_CSS'] = 'system/modules/srlayer/assets/css/srl_default.css';
$GLOBALS['SRL_JS']['mootools'][] = 'system/modules/srlayer/assets/js/srl_mootools.js';
$GLOBALS['SRL_JS']['jquery'][] = 'system/modules/srlayer/assets/js/srl_jquery.js';
/**
* Hooks
*/
$GLOBALS['TL_HOOKS']['prepareFormData'][] = array('ModuleSrlHooks', 'setSrLayerCookie');
\ No newline at end of file
......@@ -25,6 +25,10 @@ $GLOBALS['TL_LANG']['tl_module']['srl_set_session'] = array('Sitzungscoo
$GLOBALS['TL_LANG']['tl_module']['srl_set_cookie'] = array('ein Domaincookie setzen', 'Um die Anzeige per Cookie-Dauer zu beschränken.');
$GLOBALS['TL_LANG']['tl_module']['srl_cookie_name'] = array('Cookie-Name', 'wenn es leer bleibt wird ein Name generiert.');
$GLOBALS['TL_LANG']['tl_module']['srl_cookie_dauer'] = array('Cookie-Dauer', 'in Sekunden. Standart 3600 = 1Stunde.');
$GLOBALS['TL_LANG']['tl_module']['srl_set_cookieaction'] = array('den Domaincookie auswerten', 'Nur wenn der Haken gesetzt wurde, wird die Anzeige darauf reagieren.');
$GLOBALS['TL_LANG']['tl_module']['srl_cookieaction_name'] = array('Cookie-Name', 'wenn es leer bleibt wird ein Name generiert.');
$GLOBALS['TL_LANG']['tl_module']['srl_start'] = array('Anzeigen ab', 'Den Layer erst ab diesem Tag auf der Webseite anzeigen.');
$GLOBALS['TL_LANG']['tl_module']['srl_stop'] = array('Anzeigen bis', 'Den Layer nur bis zu diesem Tag auf der Webseite anzeigen.');
$GLOBALS['TL_LANG']['tl_module']['srl_hideOverlay'] = array('Overlay nicht anzeigen','den Bereich um den Layer der sich über die ganze Seite legt, nicht anzeigen.');
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment