/** * Get driver * * @return \XLite\Core\EventDriver\AEventDriver */ public function getDriver() { if (!isset($this->driver)) { $driver = \XLite::GetInstance()->getOptions(array('other', 'event_driver')) ?: 'auto'; $driver = strtolower($driver); $list = $this->getDrivers(); if ('auto' != $driver) { foreach ($list as $class) { if (strtolower($class::getCode()) == $driver) { $this->driver = new $class(); break; } } } if (!$this->driver) { $this->driver = $list ? new $list[0]() : false; } } return $this->driver; }