Initial Commit

This commit is contained in:
2019-11-21 12:25:31 +01:00
commit f4aabcb9b1
13959 changed files with 787761 additions and 0 deletions

View File

@@ -0,0 +1,88 @@
<?php
/*************************************************************************************/
/* */
/* Copyright (c) Franck Allimant, CQFDev */
/* email : thelia@cqfdev.fr */
/* web : http://www.cqfdev.fr */
/* */
/*************************************************************************************/
/**
* Created by Franck Allimant, CQFDev <franck@cqfdev.fr>
* Date: 05/03/2016 18:11
*/
namespace SliderRevolution\Hook;
use SliderRevolution\Model\SliderAssociationQuery;
use SliderRevolution\SliderRevolution;
use Thelia\Core\Event\Hook\HookRenderEvent;
use Thelia\Core\Hook\BaseHook;
use Thelia\Model\ModuleConfig;
use Thelia\Model\ModuleConfigQuery;
class BackHookManager extends BaseHook
{
public function onModuleConfigure(HookRenderEvent $event)
{
$vars = [];
if (null !== $params = ModuleConfigQuery::create()->findByModuleId(SliderRevolution::getModuleId())) {
/** @var ModuleConfig $param */
foreach ($params as $param) {
$vars[ $param->getName() ] = $param->getValue();
}
}
$event->add(
$this->render('sliderrevolution/module-configuration.html', $vars)
);
}
public function onCategoryEditRightColumnBottom(HookRenderEvent $event)
{
return $this->renderSliderAssocSelector($event, 'category', $event->getArgument('category_id'));
}
public function onContentEditRightColumnBottom(HookRenderEvent $event)
{
return $this->renderSliderAssocSelector($event, 'content', $event->getArgument('content_id'));
}
public function onFolderEditRightColumnBottom(HookRenderEvent $event)
{
return $this->renderSliderAssocSelector($event, 'folder', $event->getArgument('folder_id'));
}
public function onBrandEditRightColumnBottom(HookRenderEvent $event)
{
return $this->renderSliderAssocSelector($event, 'brand', $event->getArgument('brand_id'));
}
public function onProductEditRightColumnBottom(HookRenderEvent $event)
{
return $this->renderSliderAssocSelector($event, 'product', $event->getArgument('product_id'));
}
protected function renderSliderAssocSelector(HookRenderEvent $event, $objectType, $objectId)
{
if (null !== $sliderAssoc = SliderAssociationQuery::create()
->filterByObjectType($objectType)
->filterByObjectId($objectId)
->findOne()) {
$sliderAlias = $sliderAssoc->getSliderAlias();
} else {
$sliderAlias = '';
}
$event->add(
$this->render(
"sliderrevolution/slider-selector.html",
[
'slider_alias' => $sliderAlias
]
)
);
}
}

View File

@@ -0,0 +1,85 @@
<?php
/*************************************************************************************/
/* */
/* Copyright (c) Franck Allimant, CQFDev */
/* email : thelia@cqfdev.fr */
/* web : http://www.cqfdev.fr */
/* */
/*************************************************************************************/
/**
* Created by Franck Allimant, CQFDev <franck@cqfdev.fr>
* Date: 05/03/2016 18:11
*/
namespace SliderRevolution\Hook;
use Propel\Runtime\ActiveQuery\Criteria;
use SliderRevolution\Model\SliderAssociationQuery;
use SliderRevolution\SliderRevolution;
use Thelia\Core\Event\Hook\HookRenderEvent;
use Thelia\Core\Hook\BaseHook;
require_once __DIR__ . "/../../../../web/revslider/embed_thelia.php";
class FrontHookManager extends BaseHook
{
private $jsCode = '';
public function onMainStylesheet(HookRenderEvent $event)
{
if (null !== SliderRevolution::getConfigValue(SliderRevolution::SLIDER_ID)) {
$event->add(
\RevSliderEmbedder::cssIncludes(false)
);
}
}
public function onMainJavascriptInitialization(HookRenderEvent $event)
{
if (null !== SliderRevolution::getConfigValue(SliderRevolution::SLIDER_ID)) {
$event->add(
\RevSliderEmbedder::jsIncludes(false, false) . $this->jsCode
);
}
}
public function onMainContentTop(HookRenderEvent $event)
{
$view = $this->getView();
if ($this->isAcceptedView($view)) {
if ($view === "index") {
if (null !== $slider = SliderRevolution::getConfigValue(SliderRevolution::SLIDER_ID)) {
$event->add(
\RevSliderEmbedder::putRevSlider($slider, '', $this->jsCode)
);
}
} else {
if (null !== $sliderAssoc = SliderAssociationQuery::create()
->filterByObjectType($view)
->filterByObjectId( $this->getRequest()->get($view . '_id'))
->filterBySliderAlias('', Criteria::NOT_EQUAL)
->findOne()) {
$event->add(
\RevSliderEmbedder::putRevSlider($sliderAssoc->getSliderAlias(), '', $this->jsCode)
);
}
}
}
}
protected function isAcceptedView($view)
{
$acceptedViews = [
'category',
'product',
'folder',
'content',
'brand',
'index'
];
return in_array($view, $acceptedViews);
}
}