<?php
namespace SaintElmos\BaseBundle\EventListener;
use Pimcore\Event\Model\ElementEventInterface;
use Pimcore\Event\Model\DataObjectEvent;
use Pimcore\Event\Model\AssetEvent;
use Pimcore\Event\Model\DocumentEvent;
use SaintElmos\BaseBundle\Services\Configuration;
use Symfony\Component\HttpKernel\Event\ControllerEvent;
use Psr\Log\LoggerInterface;
class SetConfigListener {
private $setConf;
private $logger;
public function __construct(Configuration $setConf, LoggerInterface $logger)
{
$this->setConf = $setConf;
$this->logger = $logger;
}
public function onPreUpdate (ElementEventInterface $e) {
if($e instanceof AssetEvent) {
// do something with the asset
$foo = $e->getAsset();
} else if ($e instanceof DocumentEvent) {
// do something with the document
$foo = $e->getDocument();
} else if ($e instanceof DataObjectEvent) {
// do something with the object
$foo = $e->getObject();
//$foo->setMyValue(microtime(true));
// we don't have to call save here as we are in the pre-update event anyway ;-)
}
}
/**
* @param ControllerEvent $event
*/
public function onKernelController(ControllerEvent $event)
{
if(!isset($this->setConf->DATADOMAIN)) {
$this->setConf->DATADOMAIN = 'http://wwww.tralala.com'; // demo
/* ************************************************************************************************ */
$this->setConf->host = $_SERVER['HTTP_HOST'];
/* ************************************************************************************************ */
$server_protocol = 'http' . (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on' ? 's' : '');
$this->setConf->protocol = $server_protocol;
/* ************************************************************************************************ */
// $this->setConf->sitedomain = $websiteConfig->get('konfiguration_set')->get('sitedomain');
//$this->setConf->sitedomain = \Pimcore\Model\WebsiteSetting::getByName('konfiguration_set')->sitedomain;
/* ************************************************************************************************ */
$this->logger->debug('SetConfigListener::onKernelController #############################################################################');
}
}
}