From 5a27c87b0ed5c8a4cdab6efe2aa682ecf7b58b56 Mon Sep 17 00:00:00 2001 From: Nolwenn Date: Wed, 8 Jun 2016 17:11:44 +0200 Subject: [PATCH] reassurance --- modules/advreassurance/advreassurance.php | 134 ++++++++++ modules/advreassurance/classes/AdvRea.php | 133 ++++++++++ modules/advreassurance/config_fr.xml | 12 + .../controllers/admin/AdminAdvReassurance.php | 243 ++++++++++++++++++ modules/advreassurance/index.php | 35 +++ modules/advreassurance/js/advslider.js | 14 + modules/advreassurance/logo.gif | Bin 0 -> 2097 bytes modules/advreassurance/logo.png | Bin 0 -> 6271 bytes .../views/templates/hook/advreassurance.tpl | 3 + themes/toutpratique/css/global.css | 79 +++++- themes/toutpratique/footer.tpl | 5 + .../advreassurance/advreassurance-bottom.tpl | 16 ++ .../modules/advreassurance/advreassurance.tpl | 17 ++ .../advreassurance/translations/fr.php | 5 + 14 files changed, 695 insertions(+), 1 deletion(-) create mode 100644 modules/advreassurance/advreassurance.php create mode 100644 modules/advreassurance/classes/AdvRea.php create mode 100644 modules/advreassurance/config_fr.xml create mode 100644 modules/advreassurance/controllers/admin/AdminAdvReassurance.php create mode 100644 modules/advreassurance/index.php create mode 100644 modules/advreassurance/js/advslider.js create mode 100644 modules/advreassurance/logo.gif create mode 100644 modules/advreassurance/logo.png create mode 100644 modules/advreassurance/views/templates/hook/advreassurance.tpl create mode 100644 themes/toutpratique/modules/advreassurance/advreassurance-bottom.tpl create mode 100644 themes/toutpratique/modules/advreassurance/advreassurance.tpl create mode 100644 themes/toutpratique/modules/advreassurance/translations/fr.php diff --git a/modules/advreassurance/advreassurance.php b/modules/advreassurance/advreassurance.php new file mode 100644 index 00000000..9fa0342c --- /dev/null +++ b/modules/advreassurance/advreassurance.php @@ -0,0 +1,134 @@ +name = 'advreassurance'; + $this->tab = 'front_office_features'; + $this->version = '1.0'; + $this->author = 'Antadis'; + $this->need_instance = 0; + + $this->bootstrap = true; + parent::__construct(); + + $this->displayName = $this->l('Reassurance avancé'); + $this->description = $this->l('Gestion des blocks reassurance'); + } + + public function install() + { + $sql = array(); + + $sql[] = + 'CREATE TABLE IF NOT EXISTS `' . _DB_PREFIX_ . 'advreassurance` ( + `id_reassurance` int(10) unsigned NOT NULL auto_increment, + `position` INT(11) UNSIGNED NOT NULL default 0, + `active` INT(11) UNSIGNED NOT NULL default 1, + PRIMARY KEY (`id_reassurance`) + ) ENGINE=' . _MYSQL_ENGINE_ . ' DEFAULT CHARSET=utf8'; + + $sql[] = + 'CREATE TABLE IF NOT EXISTS `' . _DB_PREFIX_ . 'advreassurance_lang` ( + `id_reassurance` int(10) unsigned NOT NULL, + `id_lang` int(10) unsigned NOT NULL, + `title` varchar(255) NOT NULL, + `subtitle` varchar(255) NOT NULL, + `url` varchar(255), + PRIMARY KEY (`id_reassurance`,`id_lang`) + ) ENGINE=' . _MYSQL_ENGINE_ . ' DEFAULT CHARSET=utf8'; + + $sql[] = + 'CREATE TABLE IF NOT EXISTS `' . _DB_PREFIX_ . 'advreassurance_shop` ( + `id_reassurance` int(10) unsigned NOT NULL auto_increment, + `id_shop` int(10) unsigned NOT NULL, + PRIMARY KEY (`id_reassurance`, `id_shop`) + ) ENGINE=' . _MYSQL_ENGINE_ . ' DEFAULT CHARSET=utf8'; + + + foreach ($sql as $_sql) { + Db::getInstance()->Execute($_sql); + } + + $tab = new Tab(); + $tab->class_name = 'AdminAdvReassurance'; + $tab->id_parent = Tab::getCurrentParentId(); + $tab->module = $this->name; + $languages = Language::getLanguages(); + foreach ($languages as $language) { + $tab->name[$language['id_lang']] = 'Reassurance'; + } + + $img_dir = _PS_IMG_DIR_ . 'reassurance'; + $folder = is_dir($img_dir); + if (!$folder) + { + $folder = mkdir($img_dir, 0755, true); + } + + return parent::install() && $tab->add() && $this->registerHook('displayReassurance') && $this->registerHook('actionRefreshReassurance') && $folder; + + } + + public function uninstall() + { + $sql = 'DROP TABLE IF EXISTS + `' . _DB_PREFIX_ . 'advreassurance_lang`, + `' . _DB_PREFIX_ . 'advreassurance_shop`, + `' . _DB_PREFIX_ . 'advreassurance` + '; + + Db::getInstance()->Execute($sql); + + $idTab = Tab::getIdFromClassName('AdminAdvReassurance'); + if ($idTab) { + $tab = new Tab($idTab); + $tab->delete(); + } + + return parent::uninstall(); + } + + public function assignBlocks() + { + $blocks = AdvRea::getBlocks(); + if (!$blocks) + { + return false; + } + + $this->smarty->assign('blocks', $blocks); + } + + public function hookDisplayReassurance($params) + { + if (!$this->isCached('advreassurance.tpl', $this->getCacheId())) + { + $this->assignBlocks(); + } + + return $this->display(__FILE__, 'advreassurance.tpl', $this->getCacheId()); + } + + public function hookDisplayReassuranceBottom($params) + { + if (!$this->isCached('advreassurance-bottom.tpl', $this->getCacheId())) + { + $this->assignBlocks(); + } + + return $this->display(__FILE__, 'advreassurance-bottom.tpl', $this->getCacheId()); + } + + public function hookActionRefreshReassurance() + { + $this->_clearCache('advreassurance'); + } + +} \ No newline at end of file diff --git a/modules/advreassurance/classes/AdvRea.php b/modules/advreassurance/classes/AdvRea.php new file mode 100644 index 00000000..079ae1e5 --- /dev/null +++ b/modules/advreassurance/classes/AdvRea.php @@ -0,0 +1,133 @@ + 'advreassurance', + 'primary' => 'id_reassurance', + 'multilang' => TRUE, + 'fields' => array( + 'id_reassurance' => array('type' => self::TYPE_INT, 'validate' => 'isInt'), + 'position' => array('type' => self::TYPE_INT, 'validate' => 'isInt'), + 'active' => array('type' => self::TYPE_INT, 'validate' => 'isInt'), + + // Lang fields + 'title' => array('type' => self::TYPE_STRING, 'lang' => TRUE, 'validate' => 'isGenericName', 'size' => 255), + 'subtitle' => array('type' => self::TYPE_HTML, 'lang' => TRUE, 'validate' => 'isCleanHtml'), + 'url' => array('type' => self::TYPE_STRING, 'lang' => TRUE, 'validate' => 'isUrl', 'size' => 255) + ) + ); + + public function __construct($id = NULL, $id_lang = NULL, $id_shop = NULL) { + parent::__construct($id, $id_lang, $id_shop); + + $this->image_dir = _PS_IMG_DIR_ . 'reassurance/'; + } + + public function add($null_values = false, $autodate = true) + { + $result = parent::add($null_values, $autodate); + Hook::exec('actionRefreshReassurance'); + + return $result; + } + + public function update($null_values = FALSE) { + $result = parent::update($null_values); + Hook::exec('actionRefreshReassurance'); + + return $result; + } + + public function delete($null_values = FALSE) { + $result = parent::delete($null_values); + Hook::exec('actionRefreshReassurance'); + + return $result; + } + + public static function getBlocks() + { + $context = Context::getContext(); + + $reassurances = Db::getInstance()->executeS(' + SELECT * + FROM `'._DB_PREFIX_.'advreassurance` adv + JOIN `'._DB_PREFIX_.'advreassurance_lang` advl ON adv.`id_reassurance` = advl.`id_reassurance` AND id_lang = '. (int)$context->language->id . ' + WHERE adv.`active` = 1 + ORDER BY `position` ASC + '); + + return $reassurances; + } + + public function cleanPositions(){ + return Db::getInstance()->execute('UPDATE `'._DB_PREFIX_.'advreassurance` + SET `position`= `position` - 1 + WHERE `id_reassurance` = '.(int)$this->id_reassurance.' + AND `position` > '.(int)$this->position); + } + + public function updatePosition($way, $position) + { + $sql = 'SELECT `position`, `id_reassurance` + FROM `'._DB_PREFIX_.'advreassurance` + ORDER BY `position` ASC'; + if (!$res = Db::getInstance()->executeS($sql)) + return false; + + foreach ($res as $row) + if ((int)$row['id_reassurance'] == (int)$this->id_reassurance) + $moved_row = $row; + + if (!isset($moved_row) || !isset($position)) + return false; + + // < and > statements rather than BETWEEN operator + // since BETWEEN is treated differently according to databases + $res = Db::getInstance()->execute(' + UPDATE `'._DB_PREFIX_.'advreassurance` + SET `position`= `position` '.($way ? '- 1' : '+ 1').' + AND `position` + '.($way + ? '> '.(int)$moved_row['position'].' AND `position` <= '.(int)$position + : '< '.(int)$moved_row['position'].' AND `position` >= '.(int)$position) + ) + && Db::getInstance()->execute(' + UPDATE `'._DB_PREFIX_.'advreassurance` + SET `position` = '.(int)$position.' + WHERE `id_reassurance`='.(int)$moved_row['id_reassurance'] + ); + $this->refreshPositions(); + + Hook::exec('actionRefreshReassurance'); + + return $res; + } + + public function refreshPositions(){ + $sql = 'SELECT `id_reassurance` + FROM `'._DB_PREFIX_.'advreassurance` + ORDER BY `position` ASC'; + if (!$blocks = Db::getInstance()->executeS($sql)) + return false; + + $pos=0; + foreach ($blocks as $block) { + Db::getInstance()->execute(' + UPDATE `'._DB_PREFIX_.'advreassurance` + SET `position` = '.(int)$pos.' + WHERE `id_reassurance`='.(int)$block['id_reassurance']); + $pos++; + } + } + +} \ No newline at end of file diff --git a/modules/advreassurance/config_fr.xml b/modules/advreassurance/config_fr.xml new file mode 100644 index 00000000..314817de --- /dev/null +++ b/modules/advreassurance/config_fr.xml @@ -0,0 +1,12 @@ + + + advreassurance + + + + + + 0 + 0 + + \ No newline at end of file diff --git a/modules/advreassurance/controllers/admin/AdminAdvReassurance.php b/modules/advreassurance/controllers/admin/AdminAdvReassurance.php new file mode 100644 index 00000000..22d89503 --- /dev/null +++ b/modules/advreassurance/controllers/admin/AdminAdvReassurance.php @@ -0,0 +1,243 @@ +table = 'advreassurance'; + $this->className = 'AdvRea'; + $this->identifier = 'id_reassurance'; + $this->lang = TRUE; + $this->deleted = FALSE; + $this->bootstrap = TRUE; + $this->fieldImageSettings = array( + 'name' => 'image', + 'dir' => 'reassurance' + ); + $this->position_identifier = 'id_reassurance'; + $this->_defaultOrderBy = 'position'; + + parent::__construct(); + + $this->actions = array('edit', 'delete'); + + $this->fields_list = array( + 'id_reassurance' => array( + 'title' => 'ID', + 'width' => 25 + ), + 'image' => array( + 'title' => $this->module->l('Image'), + 'image' => $this->fieldImageSettings['dir'], + 'width' => 75 + ), + 'title' => array( + 'title' => $this->module->l('Titre'), + ), + 'url' => array( + 'title' => $this->module->l('Url'), + 'width' => 45, + ), + 'position' => array( + 'title' => $this->l('Position'), + 'align' => 'center', + 'position' => 'position', + 'filter_key' => 'a!position' + ) + ); + + if (Shop::isFeatureActive() && Shop::getContext() != Shop::CONTEXT_ALL){ + $this->_join .= 'JOIN `'._DB_PREFIX_.'advreassurance_shop` as ashop ON a.`id_reassurance` = ashop.`id_reassurance` AND ashop.`id_shop` IN ('.implode(', ', Shop::getContextListShopID()).') '; + $this->_group .= 'GROUP BY ashop.`id_reassurance`'; + } + + } + + public function initPageHeaderToolbar() { + parent::initPageHeaderToolbar(); + + if ($this->display != 'edit' && $this->display != 'add') { + $this->page_header_toolbar_btn['new_link'] = array( + 'href' => self::$currentIndex.'&id_parent='.(int)Tools::getValue('id_reassurance').'&addadvreassurance&token='.$this->token, + 'desc' => $this->l('Ajouter un nouveau block', NULL, NULL, FALSE), + 'icon' => 'process-icon-new' + ); + } + } + + public function renderView() { + return $this->renderList(); + } + + public function renderForm() { + + + $this->fields_form = array( + 'tinymce' => TRUE, + 'legend' => array( + 'title' => $this->className, + ), + 'submit' => array( + 'name' => 'submitAdvReassurancer', + 'title' => $this->l('Save'), + ), + 'input' => array( + array( + 'type' => 'text', + 'label' => $this->l('Titre'), + 'name' => 'title', + 'lang' => TRUE, + ), + array( + 'type' => 'textarea', + 'label' => $this->l('Description'), + 'name' => 'subtitle', + 'autoload_rte' => TRUE, + 'cols' => 100, + 'rows' => 6, + 'lang' => TRUE, + ), + array( + 'type' => 'text', + 'label' => $this->l('Lien'), + 'name' => 'url', + 'lang' => TRUE + ), + array( + 'type' => 'switch', + 'label' => $this->l('Activé'), + 'name' => 'active', + 'required' => FALSE, + 'is_bool' => TRUE, + 'default' => 1, + 'values' => array( + array( + 'id' => 'active_on', + 'value' => 1, + 'label' => $this->l('Enabled') + ), + array( + 'id' => 'active_off', + 'value' => 0, + 'label' => $this->l('Disabled') + ) + ), + ), + array( + 'type' => 'shop', + 'label' => $this->l('Shop'), + 'form_group_class' => 'fieldhide input_association', + 'name' => 'checkBoxShopAsso_advreassurance' + ) + ) + ); + + $obj = $this->loadObject(TRUE); + + $image = FALSE; + $image_url = ''; + $image_size = ''; + + if($obj) + { + $image = _PS_IMG_DIR_ . 'reassurance/' . $obj->id.'.jpg'; + $image_url = ImageManager::thumbnail($image, $this->table.'_'.(int)$obj->id.'.'.$this->imageType, 350, $this->imageType, TRUE, TRUE); + $image_size = file_exists($image) ? filesize($image) / 1000 : FALSE; + } + + $this->fields_form['input'][] = array( + 'type' => 'file', + 'label' => $this->l('Image'), + 'name' => 'image', + 'display_image' => TRUE, + 'lang' => TRUE, + 'image' => $image_url, + 'size' => $image_size, + 'delete_url' => self::$currentIndex.'&'.$this->identifier.'='.$this->object->id.'&token='.$this->token.'&deleteImage=1' + ); + + return parent::renderForm(); + } + + protected function copyFromPost(&$object, $table) { + parent::copyFromPost($object, $table); + + if(Shop::isFeatureActive()) + { + $object->id_shop_list = array(); + foreach (Tools::getValue('checkBoxShopAsso_advreassurance') as $id_shop => $value) + $object->id_shop_list[] = $id_shop; + } + } + + public function postProcess() { + if (Tools::getValue('deleteImage')) { + $this->processForceDeleteImage(); + $this->refreshPreview(); + } + return parent::postProcess(); + } + + public function processForceDeleteImage() { + $link = $this->loadObject(TRUE); + + if (Validate::isLoadedObject($link)) + { + $link->deleteImage(TRUE); + } + } + + protected function postImage($id) { + $ret = parent::postImage($id); + $this->refreshPreview(); + + if (isset($_FILES) && count($_FILES) && $_FILES['image']['name'] != NULL && !empty($this->object->id) ) + { + return TRUE; + } + return TRUE; + } + + public function refreshPreview() + { + $current_preview = _PS_TMP_IMG_DIR_.'advreassurance_mini_'.$this->object->id_reassurance.'_'.$this->context->shop->id.'.jpg'; + + if (file_exists($current_preview)) { + unlink($current_preview); + } + } + + public function ajaxProcessUpdatePositions() + { + $way = (int)(Tools::getValue('way')); + $id = (int)(Tools::getValue('id')); + $positions = Tools::getValue('slide'); + $obj = 'advreassurance'; + + if (is_array($positions)){ + foreach ($positions as $position => $value) + { + $pos = explode('_', $value); + + if (isset($pos[2]) && (int)$pos[2] === $id) + { + $menu_obj = new AdvRea((int)$pos[2]); + + if (Validate::isLoadedObject($menu_obj)) + if (isset($position) && $menu_obj->updatePosition($way, $position)) + { + echo 'ok position '.(int)$position.' for '.$obj.' '.(int)$pos[2]."\r\n"; + } + else + echo '{"hasError" : true, "errors" : "Can not update '.$obj.' '.(int)$id.' to position '.(int)$position.' "}'; + else + echo '{"hasError" : true, "errors" : "This '.$obj.' ('.(int)$id.') cannot be loaded"}'; + + break; + } + } + } + } + +} diff --git a/modules/advreassurance/index.php b/modules/advreassurance/index.php new file mode 100644 index 00000000..a41987df --- /dev/null +++ b/modules/advreassurance/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2014 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); +header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT"); + +header("Cache-Control: no-store, no-cache, must-revalidate"); +header("Cache-Control: post-check=0, pre-check=0", false); +header("Pragma: no-cache"); + +header("Location: ../"); +exit; \ No newline at end of file diff --git a/modules/advreassurance/js/advslider.js b/modules/advreassurance/js/advslider.js new file mode 100644 index 00000000..55f7857d --- /dev/null +++ b/modules/advreassurance/js/advslider.js @@ -0,0 +1,14 @@ +/* + * jQuery FlexSlider v2.4.0 + * Copyright 2012 WooThemes + * Contributing Author: Tyler Smith + */!function($){$.flexslider=function(e,t){var a=$(e);a.vars=$.extend({},$.flexslider.defaults,t);var n=a.vars.namespace,i=window.navigator&&window.navigator.msPointerEnabled&&window.MSGesture,s=("ontouchstart"in window||i||window.DocumentTouch&&document instanceof DocumentTouch)&&a.vars.touch,r="click touchend MSPointerUp keyup",o="",l,c="vertical"===a.vars.direction,d=a.vars.reverse,u=a.vars.itemWidth>0,v="fade"===a.vars.animation,p=""!==a.vars.asNavFor,m={},f=!0;$.data(e,"flexslider",a),m={init:function(){a.animating=!1,a.currentSlide=parseInt(a.vars.startAt?a.vars.startAt:0,10),isNaN(a.currentSlide)&&(a.currentSlide=0),a.animatingTo=a.currentSlide,a.atEnd=0===a.currentSlide||a.currentSlide===a.last,a.containerSelector=a.vars.selector.substr(0,a.vars.selector.search(" ")),a.slides=$(a.vars.selector,a),a.container=$(a.containerSelector,a),a.count=a.slides.length,a.syncExists=$(a.vars.sync).length>0,"slide"===a.vars.animation&&(a.vars.animation="swing"),a.prop=c?"top":"marginLeft",a.args={},a.manualPause=!1,a.stopped=!1,a.started=!1,a.startTimeout=null,a.transitions=!a.vars.video&&!v&&a.vars.useCSS&&function(){var e=document.createElement("div"),t=["perspectiveProperty","WebkitPerspective","MozPerspective","OPerspective","msPerspective"];for(var n in t)if(void 0!==e.style[t[n]])return a.pfx=t[n].replace("Perspective","").toLowerCase(),a.prop="-"+a.pfx+"-transform",!0;return!1}(),a.ensureAnimationEnd="",""!==a.vars.controlsContainer&&(a.controlsContainer=$(a.vars.controlsContainer).length>0&&$(a.vars.controlsContainer)),""!==a.vars.manualControls&&(a.manualControls=$(a.vars.manualControls).length>0&&$(a.vars.manualControls)),a.vars.randomize&&(a.slides.sort(function(){return Math.round(Math.random())-.5}),a.container.empty().append(a.slides)),a.doMath(),a.setup("init"),a.vars.controlNav&&m.controlNav.setup(),a.vars.directionNav&&m.directionNav.setup(),a.vars.keyboard&&(1===$(a.containerSelector).length||a.vars.multipleKeyboard)&&$(document).bind("keyup",function(e){var t=e.keyCode;if(!a.animating&&(39===t||37===t)){var n=39===t?a.getTarget("next"):37===t?a.getTarget("prev"):!1;a.flexAnimate(n,a.vars.pauseOnAction)}}),a.vars.mousewheel&&a.bind("mousewheel",function(e,t,n,i){e.preventDefault();var s=a.getTarget(0>t?"next":"prev");a.flexAnimate(s,a.vars.pauseOnAction)}),a.vars.pausePlay&&m.pausePlay.setup(),a.vars.slideshow&&a.vars.pauseInvisible&&m.pauseInvisible.init(),a.vars.slideshow&&(a.vars.pauseOnHover&&a.hover(function(){a.manualPlay||a.manualPause||a.pause()},function(){a.manualPause||a.manualPlay||a.stopped||a.play()}),a.vars.pauseInvisible&&m.pauseInvisible.isHidden()||(a.vars.initDelay>0?a.startTimeout=setTimeout(a.play,a.vars.initDelay):a.play())),p&&m.asNav.setup(),s&&a.vars.touch&&m.touch(),(!v||v&&a.vars.smoothHeight)&&$(window).bind("resize orientationchange focus",m.resize),a.find("img").attr("draggable","false"),setTimeout(function(){a.vars.start(a)},200)},asNav:{setup:function(){a.asNav=!0,a.animatingTo=Math.floor(a.currentSlide/a.move),a.currentItem=a.currentSlide,a.slides.removeClass(n+"active-slide").eq(a.currentItem).addClass(n+"active-slide"),i?(e._slider=a,a.slides.each(function(){var e=this;e._gesture=new MSGesture,e._gesture.target=e,e.addEventListener("MSPointerDown",function(e){e.preventDefault(),e.currentTarget._gesture&&e.currentTarget._gesture.addPointer(e.pointerId)},!1),e.addEventListener("MSGestureTap",function(e){e.preventDefault();var t=$(this),n=t.index();$(a.vars.asNavFor).data("flexslider").animating||t.hasClass("active")||(a.direction=a.currentItem=s&&t.hasClass(n+"active-slide")?a.flexAnimate(a.getTarget("prev"),!0):$(a.vars.asNavFor).data("flexslider").animating||t.hasClass(n+"active-slide")||(a.direction=a.currentItem'),a.pagingCount>1)for(var l=0;l':""+t+"","thumbnails"===a.vars.controlNav&&!0===a.vars.thumbCaptions){var c=s.attr("data-thumbcaption");""!=c&&void 0!=c&&(i+=''+c+"")}a.controlNavScaffold.append("
  • "+i+"
  • "),t++}a.controlsContainer?$(a.controlsContainer).append(a.controlNavScaffold):a.append(a.controlNavScaffold),m.controlNav.set(),m.controlNav.active(),a.controlNavScaffold.delegate("a, img",r,function(e){if(e.preventDefault(),""===o||o===e.type){var t=$(this),i=a.controlNav.index(t);t.hasClass(n+"active")||(a.direction=i>a.currentSlide?"next":"prev",a.flexAnimate(i,a.vars.pauseOnAction))}""===o&&(o=e.type),m.setToClearWatchedEvent()})},setupManual:function(){a.controlNav=a.manualControls,m.controlNav.active(),a.controlNav.bind(r,function(e){if(e.preventDefault(),""===o||o===e.type){var t=$(this),i=a.controlNav.index(t);t.hasClass(n+"active")||(a.direction=i>a.currentSlide?"next":"prev",a.flexAnimate(i,a.vars.pauseOnAction))}""===o&&(o=e.type),m.setToClearWatchedEvent()})},set:function(){var e="thumbnails"===a.vars.controlNav?"img":"a";a.controlNav=$("."+n+"control-nav li "+e,a.controlsContainer?a.controlsContainer:a)},active:function(){a.controlNav.removeClass(n+"active").eq(a.animatingTo).addClass(n+"active")},update:function(e,t){a.pagingCount>1&&"add"===e?a.controlNavScaffold.append($("
  • "+a.count+"
  • ")):1===a.pagingCount?a.controlNavScaffold.find("li").remove():a.controlNav.eq(t).closest("li").remove(),m.controlNav.set(),a.pagingCount>1&&a.pagingCount!==a.controlNav.length?a.update(t,e):m.controlNav.active()}},directionNav:{setup:function(){var e=$('");a.controlsContainer?($(a.controlsContainer).append(e),a.directionNav=$("."+n+"direction-nav li a",a.controlsContainer)):(a.append(e),a.directionNav=$("."+n+"direction-nav li a",a)),m.directionNav.update(),a.directionNav.bind(r,function(e){e.preventDefault();var t;(""===o||o===e.type)&&(t=a.getTarget($(this).hasClass(n+"next")?"next":"prev"),a.flexAnimate(t,a.vars.pauseOnAction)),""===o&&(o=e.type),m.setToClearWatchedEvent()})},update:function(){var e=n+"disabled";1===a.pagingCount?a.directionNav.addClass(e).attr("tabindex","-1"):a.vars.animationLoop?a.directionNav.removeClass(e).removeAttr("tabindex"):0===a.animatingTo?a.directionNav.removeClass(e).filter("."+n+"prev").addClass(e).attr("tabindex","-1"):a.animatingTo===a.last?a.directionNav.removeClass(e).filter("."+n+"next").addClass(e).attr("tabindex","-1"):a.directionNav.removeClass(e).removeAttr("tabindex")}},pausePlay:{setup:function(){var e=$('
    ');a.controlsContainer?(a.controlsContainer.append(e),a.pausePlay=$("."+n+"pauseplay a",a.controlsContainer)):(a.append(e),a.pausePlay=$("."+n+"pauseplay a",a)),m.pausePlay.update(a.vars.slideshow?n+"pause":n+"play"),a.pausePlay.bind(r,function(e){e.preventDefault(),(""===o||o===e.type)&&($(this).hasClass(n+"pause")?(a.manualPause=!0,a.manualPlay=!1,a.pause()):(a.manualPause=!1,a.manualPlay=!0,a.play())),""===o&&(o=e.type),m.setToClearWatchedEvent()})},update:function(e){"play"===e?a.pausePlay.removeClass(n+"pause").addClass(n+"play").html(a.vars.playText):a.pausePlay.removeClass(n+"play").addClass(n+"pause").html(a.vars.pauseText)}},touch:function(){function t(t){a.animating?t.preventDefault():(window.navigator.msPointerEnabled||1===t.touches.length)&&(a.pause(),g=c?a.h:a.w,S=Number(new Date),x=t.touches[0].pageX,b=t.touches[0].pageY,f=u&&d&&a.animatingTo===a.last?0:u&&d?a.limit-(a.itemW+a.vars.itemMargin)*a.move*a.animatingTo:u&&a.currentSlide===a.last?a.limit:u?(a.itemW+a.vars.itemMargin)*a.move*a.currentSlide:d?(a.last-a.currentSlide+a.cloneOffset)*g:(a.currentSlide+a.cloneOffset)*g,p=c?b:x,m=c?x:b,e.addEventListener("touchmove",n,!1),e.addEventListener("touchend",s,!1))}function n(e){x=e.touches[0].pageX,b=e.touches[0].pageY,h=c?p-b:p-x,y=c?Math.abs(h)t)&&(e.preventDefault(),!v&&a.transitions&&(a.vars.animationLoop||(h/=0===a.currentSlide&&0>h||a.currentSlide===a.last&&h>0?Math.abs(h)/g+2:1),a.setProps(f+h,"setTouch")))}function s(t){if(e.removeEventListener("touchmove",n,!1),a.animatingTo===a.currentSlide&&!y&&null!==h){var i=d?-h:h,r=a.getTarget(i>0?"next":"prev");a.canAdvance(r)&&(Number(new Date)-S<550&&Math.abs(i)>50||Math.abs(i)>g/2)?a.flexAnimate(r,a.vars.pauseOnAction):v||a.flexAnimate(a.currentSlide,a.vars.pauseOnAction,!0)}e.removeEventListener("touchend",s,!1),p=null,m=null,h=null,f=null}function r(t){t.stopPropagation(),a.animating?t.preventDefault():(a.pause(),e._gesture.addPointer(t.pointerId),w=0,g=c?a.h:a.w,S=Number(new Date),f=u&&d&&a.animatingTo===a.last?0:u&&d?a.limit-(a.itemW+a.vars.itemMargin)*a.move*a.animatingTo:u&&a.currentSlide===a.last?a.limit:u?(a.itemW+a.vars.itemMargin)*a.move*a.currentSlide:d?(a.last-a.currentSlide+a.cloneOffset)*g:(a.currentSlide+a.cloneOffset)*g)}function o(t){t.stopPropagation();var a=t.target._slider;if(a){var n=-t.translationX,i=-t.translationY;return w+=c?i:n,h=w,y=c?Math.abs(w)500)&&(t.preventDefault(),!v&&a.transitions&&(a.vars.animationLoop||(h=w/(0===a.currentSlide&&0>w||a.currentSlide===a.last&&w>0?Math.abs(w)/g+2:1)),a.setProps(f+h,"setTouch"))))}}function l(e){e.stopPropagation();var t=e.target._slider;if(t){if(t.animatingTo===t.currentSlide&&!y&&null!==h){var a=d?-h:h,n=t.getTarget(a>0?"next":"prev");t.canAdvance(n)&&(Number(new Date)-S<550&&Math.abs(a)>50||Math.abs(a)>g/2)?t.flexAnimate(n,t.vars.pauseOnAction):v||t.flexAnimate(t.currentSlide,t.vars.pauseOnAction,!0)}p=null,m=null,h=null,f=null,w=0}}var p,m,f,g,h,S,y=!1,x=0,b=0,w=0;i?(e.style.msTouchAction="none",e._gesture=new MSGesture,e._gesture.target=e,e.addEventListener("MSPointerDown",r,!1),e._slider=a,e.addEventListener("MSGestureChange",o,!1),e.addEventListener("MSGestureEnd",l,!1)):e.addEventListener("touchstart",t,!1)},resize:function(){!a.animating&&a.is(":visible")&&(u||a.doMath(),v?m.smoothHeight():u?(a.slides.width(a.computedW),a.update(a.pagingCount),a.setProps()):c?(a.viewport.height(a.h),a.setProps(a.h,"setTotal")):(a.vars.smoothHeight&&m.smoothHeight(),a.newSlides.width(a.computedW),a.setProps(a.computedW,"setTotal")))},smoothHeight:function(e){if(!c||v){var t=v?a:a.viewport;e?t.animate({height:a.slides.eq(a.animatingTo).height()},e):t.height(a.slides.eq(a.animatingTo).height())}},sync:function(e){var t=$(a.vars.sync).data("flexslider"),n=a.animatingTo;switch(e){case"animate":t.flexAnimate(n,a.vars.pauseOnAction,!1,!0);break;case"play":t.playing||t.asNav||t.play();break;case"pause":t.pause()}},uniqueID:function(e){return e.filter("[id]").add(e.find("[id]")).each(function(){var e=$(this);e.attr("id",e.attr("id")+"_clone")}),e},pauseInvisible:{visProp:null,init:function(){var e=m.pauseInvisible.getHiddenProp();if(e){var t=e.replace(/[H|h]idden/,"")+"visibilitychange";document.addEventListener(t,function(){m.pauseInvisible.isHidden()?a.startTimeout?clearTimeout(a.startTimeout):a.pause():a.started?a.play():a.vars.initDelay>0?setTimeout(a.play,a.vars.initDelay):a.play()})}},isHidden:function(){var e=m.pauseInvisible.getHiddenProp();return e?document[e]:!1},getHiddenProp:function(){var e=["webkit","moz","ms","o"];if("hidden"in document)return"hidden";for(var t=0;ta.currentSlide?"next":"prev"),p&&1===a.pagingCount&&(a.direction=a.currentItema.limit&&1!==a.visible?a.limit:S):h=0===a.currentSlide&&e===a.count-1&&a.vars.animationLoop&&"next"!==a.direction?d?(a.count+a.cloneOffset)*f:0:a.currentSlide===a.last&&0===e&&a.vars.animationLoop&&"prev"!==a.direction?d?0:(a.count+1)*f:d?(a.count-1-e+a.cloneOffset)*f:(e+a.cloneOffset)*f,a.setProps(h,"",a.vars.animationSpeed),a.transitions?(a.vars.animationLoop&&a.atEnd||(a.animating=!1,a.currentSlide=a.animatingTo),a.container.unbind("webkitTransitionEnd transitionend"),a.container.bind("webkitTransitionEnd transitionend",function(){clearTimeout(a.ensureAnimationEnd),a.wrapup(f)}),clearTimeout(a.ensureAnimationEnd),a.ensureAnimationEnd=setTimeout(function(){a.wrapup(f)},a.vars.animationSpeed+100)):a.container.animate(a.args,a.vars.animationSpeed,a.vars.easing,function(){a.wrapup(f)})}a.vars.smoothHeight&&m.smoothHeight(a.vars.animationSpeed)}},a.wrapup=function(e){v||u||(0===a.currentSlide&&a.animatingTo===a.last&&a.vars.animationLoop?a.setProps(e,"jumpEnd"):a.currentSlide===a.last&&0===a.animatingTo&&a.vars.animationLoop&&a.setProps(e,"jumpStart")),a.animating=!1,a.currentSlide=a.animatingTo,a.vars.after(a)},a.animateSlides=function(){!a.animating&&f&&a.flexAnimate(a.getTarget("next"))},a.pause=function(){clearInterval(a.animatedSlides),a.animatedSlides=null,a.playing=!1,a.vars.pausePlay&&m.pausePlay.update("play"),a.syncExists&&m.sync("pause")},a.play=function(){a.playing&&clearInterval(a.animatedSlides),a.animatedSlides=a.animatedSlides||setInterval(a.animateSlides,a.vars.slideshowSpeed),a.started=a.playing=!0,a.vars.pausePlay&&m.pausePlay.update("pause"),a.syncExists&&m.sync("play")},a.stop=function(){a.pause(),a.stopped=!0},a.canAdvance=function(e,t){var n=p?a.pagingCount-1:a.last;return t?!0:p&&a.currentItem===a.count-1&&0===e&&"prev"===a.direction?!0:p&&0===a.currentItem&&e===a.pagingCount-1&&"next"!==a.direction?!1:e!==a.currentSlide||p?a.vars.animationLoop?!0:a.atEnd&&0===a.currentSlide&&e===n&&"next"!==a.direction?!1:a.atEnd&&a.currentSlide===n&&0===e&&"next"===a.direction?!1:!0:!1},a.getTarget=function(e){return a.direction=e,"next"===e?a.currentSlide===a.last?0:a.currentSlide+1:0===a.currentSlide?a.last:a.currentSlide-1},a.setProps=function(e,t,n){var i=function(){var n=e?e:(a.itemW+a.vars.itemMargin)*a.move*a.animatingTo,i=function(){if(u)return"setTouch"===t?e:d&&a.animatingTo===a.last?0:d?a.limit-(a.itemW+a.vars.itemMargin)*a.move*a.animatingTo:a.animatingTo===a.last?a.limit:n;switch(t){case"setTotal":return d?(a.count-1-a.currentSlide+a.cloneOffset)*e:(a.currentSlide+a.cloneOffset)*e;case"setTouch":return d?e:e;case"jumpEnd":return d?e:a.count*e;case"jumpStart":return d?a.count*e:e;default:return e}}();return-1*i+"px"}();a.transitions&&(i=c?"translate3d(0,"+i+",0)":"translate3d("+i+",0,0)",n=void 0!==n?n/1e3+"s":"0s",a.container.css("-"+a.pfx+"-transition-duration",n),a.container.css("transition-duration",n)),a.args[a.prop]=i,(a.transitions||void 0===n)&&a.container.css(a.args),a.container.css("transform",i)},a.setup=function(e){if(v)a.slides.css({width:"100%","float":"left",marginRight:"-100%",position:"relative"}),"init"===e&&(s?a.slides.css({opacity:0,display:"block",webkitTransition:"opacity "+a.vars.animationSpeed/1e3+"s ease",zIndex:1}).eq(a.currentSlide).css({opacity:1,zIndex:2}):0==a.vars.fadeFirstSlide?a.slides.css({opacity:0,display:"block",zIndex:1}).eq(a.currentSlide).css({zIndex:2}).css({opacity:1}):a.slides.css({opacity:0,display:"block",zIndex:1}).eq(a.currentSlide).css({zIndex:2}).animate({opacity:1},a.vars.animationSpeed,a.vars.easing)),a.vars.smoothHeight&&m.smoothHeight();else{var t,i;"init"===e&&(a.viewport=$('
    ').css({overflow:"hidden",position:"relative"}).appendTo(a).append(a.container),a.cloneCount=0,a.cloneOffset=0,d&&(i=$.makeArray(a.slides).reverse(),a.slides=$(i),a.container.empty().append(a.slides))),a.vars.animationLoop&&!u&&(a.cloneCount=2,a.cloneOffset=1,"init"!==e&&a.container.find(".clone").remove(),a.container.append(m.uniqueID(a.slides.first().clone().addClass("clone")).attr("aria-hidden","true")).prepend(m.uniqueID(a.slides.last().clone().addClass("clone")).attr("aria-hidden","true"))),a.newSlides=$(a.vars.selector,a),t=d?a.count-1-a.currentSlide+a.cloneOffset:a.currentSlide+a.cloneOffset,c&&!u?(a.container.height(200*(a.count+a.cloneCount)+"%").css("position","absolute").width("100%"),setTimeout(function(){a.newSlides.css({display:"block"}),a.doMath(),a.viewport.height(a.h),a.setProps(t*a.h,"init")},"init"===e?100:0)):(a.container.width(200*(a.count+a.cloneCount)+"%"),a.setProps(t*a.computedW,"init"),setTimeout(function(){a.doMath(),a.newSlides.css({width:a.computedW,"float":"left",display:"block"}),a.vars.smoothHeight&&m.smoothHeight()},"init"===e?100:0))}u||a.slides.removeClass(n+"active-slide").eq(a.currentSlide).addClass(n+"active-slide"),a.vars.init(a)},a.doMath=function(){var e=a.slides.first(),t=a.vars.itemMargin,n=a.vars.minItems,i=a.vars.maxItems;a.w=void 0===a.viewport?a.width():a.viewport.width(),a.h=e.height(),a.boxPadding=e.outerWidth()-e.width(),u?(a.itemT=a.vars.itemWidth+t,a.minW=n?n*a.itemT:a.w,a.maxW=i?i*a.itemT-t:a.w,a.itemW=a.minW>a.w?(a.w-t*(n-1))/n:a.maxWa.w?a.w:a.vars.itemWidth,a.visible=Math.floor(a.w/a.itemW),a.move=a.vars.move>0&&a.vars.movea.w?a.itemW*(a.count-1)+t*(a.count-1):(a.itemW+t)*a.count-a.w-t):(a.itemW=a.w,a.pagingCount=a.count,a.last=a.count-1),a.computedW=a.itemW-a.boxPadding},a.update=function(e,t){a.doMath(),u||(ea.controlNav.length?m.controlNav.update("add"):("remove"===t&&!u||a.pagingCounta.last&&(a.currentSlide-=1,a.animatingTo-=1),m.controlNav.update("remove",a.last))),a.vars.directionNav&&m.directionNav.update()},a.addSlide=function(e,t){var n=$(e);a.count+=1,a.last=a.count-1,c&&d?void 0!==t?a.slides.eq(a.count-t).after(n):a.container.prepend(n):void 0!==t?a.slides.eq(t).before(n):a.container.append(n),a.update(t,"add"),a.slides=$(a.vars.selector+":not(.clone)",a),a.setup(),a.vars.added(a)},a.removeSlide=function(e){var t=isNaN(e)?a.slides.index($(e)):e;a.count-=1,a.last=a.count-1,isNaN(e)?$(e,a.slides).remove():c&&d?a.slides.eq(a.last).remove():a.slides.eq(e).remove(),a.doMath(),a.update(t,"remove"),a.slides=$(a.vars.selector+":not(.clone)",a),a.setup(),a.vars.removed(a)},m.init()},$(window).blur(function(e){focused=!1}).focus(function(e){focused=!0}),$.flexslider.defaults={namespace:"flex-",selector:".slides > li",animation:"fade",easing:"swing",direction:"horizontal",reverse:!1,animationLoop:!0,smoothHeight:!1,startAt:0,slideshow:!0,slideshowSpeed:7e3,animationSpeed:600,initDelay:0,randomize:!1,fadeFirstSlide:!0,thumbCaptions:!1,pauseOnAction:!0,pauseOnHover:!1,pauseInvisible:!0,useCSS:!0,touch:!0,video:!1,controlNav:!0,directionNav:!0,prevText:"Previous",nextText:"Next",keyboard:!0,multipleKeyboard:!1,mousewheel:!1,pausePlay:!1,pauseText:"Pause",playText:"Play",controlsContainer:"",manualControls:"",sync:"",asNavFor:"",itemWidth:0,itemMargin:0,minItems:1,maxItems:0,move:0,allowOneSlide:!0,start:function(){},before:function(){},after:function(){},end:function(){},added:function(){},removed:function(){},init:function(){}},$.fn.flexslider=function(e){if(void 0===e&&(e={}),"object"==typeof e)return this.each(function(){var t=$(this),a=e.selector?e.selector:".slides > li",n=t.find(a);1===n.length&&e.allowOneSlide===!0||0===n.length?(n.fadeIn(400),e.start&&e.start(t)):void 0===t.data("flexslider")&&new $.flexslider(this,e)});var t=$(this).data("flexslider");switch(e){case"play":t.play();break;case"pause":t.pause();break;case"stop":t.stop();break;case"next":t.flexAnimate(t.getTarget("next"),!0);break;case"prev":case"previous":t.flexAnimate(t.getTarget("prev"),!0);break;default:"number"==typeof e&&t.flexAnimate(e,!0)}}}(jQuery); + + +$(document).ready(function() { + $('#homepage-slider').flexslider({ + prevText: '', + nextText: '', + controlNav: false + }); +}); \ No newline at end of file diff --git a/modules/advreassurance/logo.gif b/modules/advreassurance/logo.gif new file mode 100644 index 0000000000000000000000000000000000000000..2ef1c9e740a7d44219b12f119e282f7b6cafb1e6 GIT binary patch literal 2097 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 literal 0 HcmV?d00001 diff --git a/modules/advreassurance/views/templates/hook/advreassurance.tpl b/modules/advreassurance/views/templates/hook/advreassurance.tpl new file mode 100644 index 00000000..778dd1d6 --- /dev/null +++ b/modules/advreassurance/views/templates/hook/advreassurance.tpl @@ -0,0 +1,3 @@ + + + diff --git a/themes/toutpratique/css/global.css b/themes/toutpratique/css/global.css index 31920bf0..99c4b1b8 100644 --- a/themes/toutpratique/css/global.css +++ b/themes/toutpratique/css/global.css @@ -2344,7 +2344,7 @@ main#categorycms { margin-bottom: 30px } font-family: 'pompiere_regular'; } -#reassurance_home_store { +/*#reassurance_home_store { padding: 15px 0; background: url('../img/bg_reassurance_store.jpg') no-repeat top center; -webkit-background-size: contain; @@ -2374,8 +2374,85 @@ main#categorycms { margin-bottom: 30px } } #reassurance_home_store .bloc1 { padding-top: 15px; + }*/ +/************************************************************************************************************* +************************************* #REASSURANCE **************************************** +**************************************************************************************************************/ + +#advReassurance { + margin-top: 50px; +} + + #advReassurance .ctn { + padding-right: 15px; + padding-left: 15px; } + #advReassurance li { + padding-left: 85px; + text-align: left; + background-position: 15px 0px; + background-repeat: no-repeat; + font-size: 15px; + } + + #advReassurance span.title { + font-weight: 200; + display: inline-block; + width: auto; + font-size: 22px; + line-height: 26px; + text-transform: none; + padding-top: 0; + padding-bottom: 5px; + background: none; + font-family: "pompiere_regular"; + color: #4d4d4d; + text-align: left; + height: auto; + text-transform: uppercase; + + } + + #footer #advReassurance .title { padding-bottom: 15px; } + + + #advReassurance .subtitle { + display: block; + line-height: 18px; + font-size: 15px; + text-align: left; + width: auto; + } + + #index main #advReassurance .subtitle { color: #666; } + + #footer #advReassurance .subtitle { line-height: 21px; } + + +@media(max-width: 1170px) and (min-width: 990px) { + #footer #advReassurance .title { height: 50px; } + +} + +@media(max-width: 990px) and (min-width: 767px) { + #advReassurance .title { font-size: 18px; } + #advReassurance .subtitle { font-size: 13px; } + #footer #advReassurance .title { height: 50px; } +} + +@media(max-width: 480px) { + + #advReassurance span p { font-size: 13px; } + #advReassurance li { padding-bottom: 5px; background-position: 10px 0px; padding-top: 0; padding-left: 80px; text-align: left; line-height: 17px; } + #advReassurance .subtitle { padding-bottom: 15px; } + #advReassurance { padding-top: 30px; } + #footer #advReassurance .subtitle { line-height: 18px;} + #footer #advReassurance .title { padding-bottom: 3px;} +} +/************************************************************************************************************* +************************************* #manufacturers **************************************** +**************************************************************************************************************/ #manufacturers > div { margin: 5px 0; } diff --git a/themes/toutpratique/footer.tpl b/themes/toutpratique/footer.tpl index 941703a0..9311887e 100644 --- a/themes/toutpratique/footer.tpl +++ b/themes/toutpratique/footer.tpl @@ -1,3 +1,8 @@ +
    +
    + {hook h="displayReassurance"} +
    +
    {if !isset($content_only) || !$content_only} {if $page_name != 'order'}
    diff --git a/themes/toutpratique/modules/advreassurance/advreassurance-bottom.tpl b/themes/toutpratique/modules/advreassurance/advreassurance-bottom.tpl new file mode 100644 index 00000000..a60399d8 --- /dev/null +++ b/themes/toutpratique/modules/advreassurance/advreassurance-bottom.tpl @@ -0,0 +1,16 @@ + +{if $blocks} +
      + {foreach from=$blocks item=block key=key} +
    • + {$block.title} + {$block.subtitle} +
    • + {/foreach} +
    • + + +
    • +
    +{/if} + diff --git a/themes/toutpratique/modules/advreassurance/advreassurance.tpl b/themes/toutpratique/modules/advreassurance/advreassurance.tpl new file mode 100644 index 00000000..5b802deb --- /dev/null +++ b/themes/toutpratique/modules/advreassurance/advreassurance.tpl @@ -0,0 +1,17 @@ + +
    +
    + {if $blocks} +
      + {foreach from=$blocks item=block key=key} +
    • + {$block.title}
      + + {$block.subtitle} +
    • + {/foreach} +
    + {/if} +
    +
    + diff --git a/themes/toutpratique/modules/advreassurance/translations/fr.php b/themes/toutpratique/modules/advreassurance/translations/fr.php new file mode 100644 index 00000000..babafd7d --- /dev/null +++ b/themes/toutpratique/modules/advreassurance/translations/fr.php @@ -0,0 +1,5 @@ +advreassurance-bottom_34e80a799d144cfe4af46815e103f017'] = 'Avis client';