public function onPostDispatchFrontend(Enlight_Event_EventArgs $arguments) { /**@var $controller Shopware_Controllers_Frontend_Index*/ $controller = $arguments->getSubject(); /** * @var $request Zend_Controller_Request_Http */ $request = $controller->Request(); /** * @var $response Zend_Controller_Response_Http */ $response = $controller->Response(); /** * @var $view Enlight_View_Default */ $view = $controller->View(); //Check if there is a template and if an exception has occured if (!$request->isDispatched() || $response->isException() || $request->getModuleName() != 'frontend' || !$arguments->getSubject()->View()->hasTemplate()) { return; } //Add our plugin template directory to load our slogan extension. $view->addTemplateDir($this->Path() . 'Views/'); $view->extendsTemplate('frontend/index/footer-navigation.tpl'); for ($i = 1; $i < 5; $i++) { $contentShow = "pprContentShow{$i}"; $contentColumn = "pprContentColumn{$i}"; $view->assign("show{$i}", $this->Config()->{$contentShow}); $view->assign("column{$i}", $this->Config()->{$contentColumn}); } }
/** * Event listener method * * Read the last article in defined controllers * Saves the last article in detail controller * * @param Enlight_Event_EventArgs $args */ public function onPostDispatch(Enlight_Event_EventArgs $args) { $request = $args->getSubject()->Request(); $response = $args->getSubject()->Response(); $view = $args->getSubject()->View(); if (!$request->isDispatched() || $response->isException() || $request->getModuleName() != 'frontend' || !$view->hasTemplate()) { return; } $config = $this->Config(); if ($request->getControllerName() == 'detail' && !Shopware()->Session()->Bot && Shopware()->Shop()->getTemplate()->getVersion() == 1) { $this->setLastArticleById($view->sArticle["articleID"]); } if (rand(0, 100) === 0) { $time = $config->time > 0 ? (int) $config->time : 15; $sql = ' DELETE FROM s_emarketing_lastarticles WHERE time < DATE_SUB(CONCAT(CURDATE(), ?), INTERVAL ? DAY) '; Shopware()->Db()->query($sql, array(' 00:00:00', $time)); Shopware()->Events()->notify('Shopware_Plugins_LastArticles_ResetLastArticles', array('subject' => $this)); } if (empty($config->show)) { return; } if (!empty($config->controller) && strpos($config->controller, $request->getControllerName()) === false) { return; } $view->assign('sLastArticlesShow', true); }
/** * Event listener method * * Read base controller data * * @param Enlight_Event_EventArgs $args */ public function onPostDispatch(Enlight_Event_EventArgs $args) { $request = $args->getSubject()->Request(); $response = $args->getSubject()->Response(); $view = $args->getSubject()->View(); if (!$request->isDispatched() || $response->isException() || $request->getModuleName() != 'frontend' || !$view->hasTemplate()) { return; } $view->baseUrl = $request->getBaseUrl() . $request->getPathInfo(); $shop = Shopware()->Shop(); $view->Controller = $args->getSubject()->Request()->getControllerName(); $view->Shopware = Shopware(); $view->sBasketQuantity = $view->sBasketQuantity ?: 0; $view->sBasketAmount = $view->sBasketAmount ?: 0; $view->sNotesQuantity = $view->sNotesQuantity ?: 0; $view->sUserLoggedIn = $view->sUserLoggedIn ?: false; $view->Shop = $shop; $view->Locale = $shop->getLocale()->getLocale(); $view->sCategoryStart = $shop->getCategory()->getId(); $view->sCategoryCurrent = $this->getCategoryCurrent($view->sCategoryStart); $view->sCategories = $this->getCategories($view->sCategoryCurrent); $view->sMainCategories = $view->sCategories; $view->sOutputNet = Shopware()->Session()->sOutputNet; $activePage = isset($view->sCustomPage['id']) ? $view->sCustomPage['id'] : null; $view->sMenu = $this->getMenu($shop->getId(), $activePage); $view->sShopname = Shopware()->Config()->shopName; }
/** * Plugin event method * * @param Enlight_Event_EventArgs $args * @return mixed */ public function onFilterRender(Enlight_Event_EventArgs $args) { $request = $args->getSubject()->Action()->Request(); /** @var $response Enlight_Controller_Response_ResponseHttp */ $response = $args->getSubject()->Action()->Response(); $headers = $response->getHeaders(); foreach($headers as $header) { if($header['name'] == 'Content-Type' && strpos($header['value'], 'application/javascript') === 0) { $source = $args->getReturn(); $source = str_replace(array("\r\n", "\r"), "\n", $source); $expressions = array( // Remove comments '#/\*.*?\*/#ms' => '', '#^\s*//.*$#m' => '', //'#\n\s+#ms' => '', '#^\s+#ms' => '', //'#\s+$#ms' => '', ); $source = preg_replace(array_keys($expressions), array_values($expressions), $source); return $source; } } if ($request->getModuleName() !== 'frontend' && $request->getModuleName() !== 'widgets') { return $args->getReturn(); } return $this->filterSource($args->getReturn()); }
public function onLoadArticle(Enlight_Event_EventArgs $args) { $request = $args->getSubject()->Request(); $view = $args->getSubject()->View(); if ($request->getActionName() != "load") { return; } $view->addTemplateDir($this->Path() . 'Views/'); $view->extendsTemplate('backend/swag_additional_attributes/article/model/attribute.js'); }
/** * Event listener method * * Read base controller data * * @param Enlight_Event_EventArgs $args */ public function onPostDispatch(Enlight_Event_EventArgs $args) { $request = $args->getSubject()->Request(); $response = $args->getSubject()->Response(); $view = $args->getSubject()->View(); if (!$request->isDispatched() || $response->isException() || $request->getModuleName() != 'frontend' || !$view->hasTemplate()) { return; } $shop = Shopware()->Shop(); $view->Controller = $args->getSubject()->Request()->getControllerName(); $view->Shopware = Shopware(); if (!$shop->get('esi')) { $view->sBasketQuantity = Shopware()->Modules()->Basket()->sCountBasket(); $view->sBasketAmount = $this->getBasketAmount(); $view->sNotesQuantity = Shopware()->Modules()->Basket()->sCountNotes(); $view->sUserLoggedIn = Shopware()->Modules()->Admin()->sCheckUser(); $categoryContent = $view->sCategoryContent; $topSellerActive = $this->Application()->Config()->get('topSellerActive', true); if (!empty($categoryContent) && $categoryContent['level'] <= 2 && $topSellerActive) { $view->sCharts = Shopware()->Modules()->Articles()->sGetArticleCharts($categoryContent['id']); } if (!empty($view->sCompareShow)) { $view->sComparisons = Shopware()->Modules()->Articles()->sGetComparisons(); } if (!empty($view->sLastArticlesShow)) { $view->sLastArticles = Shopware()->Modules()->Articles()->sGetLastArticles(); } if (!empty($view->sCloudShow)) { $view->sCloud = Shopware()->Modules()->Marketing()->sBuildTagCloud(); } if (empty($view->sBlog) && $view->Controller == "index") { $view->sBlog = $this->getBlog(); } $view->sLanguages = $this->getLanguages(); $view->sCurrencies = $this->getCurrencies(); } else { $view->sBasketQuantity = $view->sBasketQuantity ?: 0; $view->sBasketAmount = $view->sBasketAmount ?: 0; $view->sNotesQuantity = $view->sNotesQuantity ?: 0; $view->sUserLoggedIn = $view->sUserLoggedIn ?: false; } $view->Shop = $shop; $view->Locale = $shop->getLocale()->getLocale(); $view->sCategoryStart = $shop->getCategory()->getId(); $view->sCategoryCurrent = $this->getCategoryCurrent($view->sCategoryStart); $view->sCategories = $this->getCategories($view->sCategoryCurrent); $view->sMainCategories = $view->sCategories; $view->sOutputNet = Shopware()->Session()->sOutputNet; $activePage = isset($view->sCustomPage['id']) ? $view->sCustomPage['id'] : null; $view->sMenu = $this->getMenu($shop->getId(), $activePage); if (!Shopware()->Shop()->get('esi')) { $view->sCampaigns = $this->getCampaigns($view->sCategoryCurrent); } $view->sShopname = Shopware()->Config()->shopName; }
/** * Saves userdata from payment field * * @param Enlight_Event_EventArgs $piPaymorrowArgs Arguments */ function piPaymorrowSaveNewUserdata(Enlight_Event_EventArgs $piPaymorrowArgs) { $piPaymorrowView = $piPaymorrowArgs->getSubject()->View(); $piPaymorrowResponse = $piPaymorrowArgs->getSubject()->Response(); $piPaymorrowGetPost = $piPaymorrowArgs->getSubject()->Request()->getPost(); $piPaymorrowUserdata = array(); $piPaymorrowUserdata = $piPaymorrowArgs->getSubject()->View()->sUserData; $piPaymorrowInvoiceId = ""; $piPaymorrowBirthday = ""; if ($piPaymorrowGetPost['pi_Paymorrow_saveBirthday']) { $piPaymorrowInvoiceId = piPaymorrowGetInvoicePaymentId(); } else { $piPaymorrowInvoiceId = piPaymorrowGetRatePaymentId(); } if ($piPaymorrowGetPost['register']['personal']['phone']) { $sql = "UPDATE s_user_billingaddress SET phone= ? WHERE ID= ?"; Shopware()->Db()->query($sql, array($piPaymorrowGetPost['register']['personal']['phone'], (int)$piPaymorrowUserdata['billingaddress']['id'])); } if ($piPaymorrowGetPost['register']['personal']['birthday_rate']) { $piPaymorrowBirthday = $piPaymorrowGetPost['register']['personal']['birthyear_rate'] . "-" . $piPaymorrowGetPost['register']['personal']['birthmonth_rate'] . "-" . $piPaymorrowGetPost['register']['personal']['birthday_rate']; } else { $piPaymorrowBirthday = $piPaymorrowGetPost['register']['personal']['birthyear'] . "-" . $piPaymorrowGetPost['register']['personal']['birthmonth'] . "-" . $piPaymorrowGetPost['register']['personal']['birthday']; } if ($piPaymorrowUserdata["billingaddress"]["birthday"] == "0000-00-00") { $sql = "UPDATE s_user_billingaddress SET birthday= ? WHERE id= ?"; Shopware()->Db()->query($sql, array($piPaymorrowBirthday, (int)$piPaymorrowUserdata['billingaddress']['id'])); $piPaymorrowView->pi_Paymorrow_birthdayflag = true; } $sql = "SELECT birthday FROM s_user_billingaddress WHERE id= ?"; $piPaymorrowNewBirthday = Shopware()->Db()->fetchOne($sql, array((int)$piPaymorrowUserdata['billingaddress']['id'])); $sql = "SELECT phone FROM s_user_billingaddress WHERE id= ?"; $piPaymorrowNewphone = Shopware()->Db()->fetchOne($sql, array((int)$piPaymorrowUserdata['billingaddress']['id'])); if ($piPaymorrowNewBirthday != "0000-00-00" && $piPaymorrowNewphone && !$piPaymorrowUserdata["billingaddress"]["company"] && !$piPaymorrowUserdata["shippingaddress"]["company"] ) { $sql = "UPDATE s_user SET paymentID = ? WHERE id = ?"; Shopware()->Db()->query($sql, array((int)$piPaymorrowInvoiceId,(int)$piPaymorrowUserdata['billingaddress']['userID'])); } else { $piPaymorrowHeader = $piPaymorrowResponse->getHeaders(); $piPaymorrowUrl = $piPaymorrowHeader[1][value]; $piPaymorrowNewUrl = str_replace("/sViewport,account/success,payment", "/sViewport,account/sAction,payment", $piPaymorrowUrl); $piPaymorrowNewUrl = str_replace("/sViewport,checkout/success,payment", "/sViewport,account/sAction,payment/sTarget,checkout", $piPaymorrowNewUrl); $piPaymorrowResponse->setHeader('Location', $piPaymorrowNewUrl, 2); } }
/** * Define template and variables * @param Enlight_Event_EventArgs $args */ public function onPostDispatch(Enlight_Event_EventArgs $args) { $request = $args->getSubject()->Request(); $response = $args->getSubject()->Response(); $view = $args->getSubject()->View(); $config = Shopware()->Plugins()->Frontend()->SwagPiwik()->Config(); if (!$request->isDispatched() || $response->isException() || $request->getModuleName() != 'frontend' || !$view->hasTemplate()) { return; } $view->SwagPiwik = $config; $view->addTemplateDir($this->Path() . 'Views/'); $args->getSubject()->View()->extendsTemplate('frontend/plugins/swag_piwik/index.tpl'); }
public function convertAjaxSearch(\Enlight_Event_EventArgs $args) { /**@var $shop Shop */ $shop = $this->container->get('shop'); if ($shop->getTemplate()->getVersion() >= 3) { return; } $data = $args->getSubject()->View()->getAssign(); foreach ($data['sSearchResults']['sResults'] as &$article) { $article['thumbNails'] = $article['image']['src']; $article['image'] = $article['image']['src'][1]; } $args->getSubject()->View()->assign($data); }
public function onPostDispatch(Enlight_Event_EventArgs $args) { $request = $args->getSubject()->Request(); $response = $args->getSubject()->Response(); $view = $args->getSubject()->View(); if (!$request->isDispatched() || $response->isException() || $request->getModuleName() != 'frontend' || !$view->hasTemplate()) { return; } $config = $this->Config(); if (empty($config->show) && $config->show !== null) { return; } $view->extendsTemplate('frontend/plugins/compare/index.tpl'); $view->assign('sCompareShow', true); }
public function extendExtJS(\Enlight_Event_EventArgs $arguments) { /** @var \Enlight_View_Default $view */ $view = $arguments->getSubject()->View(); $view->addTemplateDir($this->getPath() . '/Views/'); $view->extendsTemplate('backend/swag_attribute/Shopware.attribute.Form.js'); }
/** * Initialize important variables * @param Enlight_Event_EventArgs $arguments */ protected function init(Enlight_Event_EventArgs $arguments) { $this->controller = $arguments->getSubject(); $this->request = $this->controller->Request(); $this->view = $this->controller->View(); $this->helper->setRequest($this->request); }
public function onPostDispatchIndexController(Enlight_Event_EventArgs $arguments) { $controller = $arguments->getSubject(); $view = $controller->View(); $view->addTemplateDir($this->Path() . 'Views/'); $shopLang = Shopware()->Front()->Request()->getCookie('shopLang'); // $ip = $_SERVER['REMOTE_ADDR']; $ip = '195.149.248.130'; //BG // $ip = '194.50.69.124'; //DE // $ip = '211.156.198.82'; //CN $gi = geoip_open(__DIR__ . '/GeoIp/db/GeoIP.dat', GEOIP_STANDARD); $countryCode = geoip_country_code_by_addr($gi, $ip); geoip_close($gi); if ($shopLang != strtolower($countryCode)) { $shopLang = strtolower($countryCode); Shopware()->Front()->Response()->setCookie('shopLang', $shopLang, 0); $builder = Shopware()->Container()->get('dbal_connection')->createQueryBuilder(); $shopId = $builder->select('scs.id')->from('s_core_locales', 'scl')->innerJoin('scl', 's_core_shops', 'scs', 'scl.id = scs.locale_id')->where('scl.locale LIKE ?')->setParameter(0, $shopLang . '%')->execute()->fetch(); if ($shopId) { $view->extendsTemplate('frontend/index/change_shop.tpl'); $view->assign(array('shopId' => $shopId['id'])); } } }
/** * @param \Enlight_Event_EventArgs $args */ public function onAfterRegisterShop(\Enlight_Event_EventArgs $args) { /** @var $container Container */ $container = $args->getSubject(); /** @var $router \Shopware\Components\Routing\RouterInterface */ $router = $container->get('router'); /** @var $shop \Shopware\Models\Shop\Shop */ $shop = $container->get('shop'); /** @var $config \Shopware_Components_Config */ $config = $container->get('config'); // Register the shop (we're to soon) $config->setShop($shop); $context = $router->getContext(); $newContext = Context::createFromShop($shop, $config); // Reuse the host if ($newContext->getHost() === null) { $newContext->setHost($context->getHost()); $newContext->setBaseUrl($context->getBaseUrl()); // Reuse https if (!$newContext->isSecure()) { $newContext->setSecure($context->isSecure()); $newContext->setSecureBaseUrl($context->getSecureBaseUrl()); } } // Reuse the global params like controller and action $globalParams = $context->getGlobalParams(); $newContext->setGlobalParams($globalParams); $router->setContext($newContext); }
/** * @param Enlight_Event_EventArgs $args * @return mixed */ public function onPostDispatch(Enlight_Event_EventArgs $args) { $view = $args->getSubject()->View(); $request = $args->getSubject()->Request(); $response = $args->getSubject()->Response(); if (!$request->isDispatched() || $response->isException() || $request->getModuleName() != 'frontend') { return; } $config = $this->Config(); if (empty($config->show)) { return; } if (strpos($config->controller, $request->getControllerName()) !== false) { $view->sCloudShow = true; } }
/** * adds the Views folder to the template directory to provide the rating images for the e-mail templates * * @param \Enlight_Event_EventArgs $args */ public function onPreDispatchBackendMail(\Enlight_Event_EventArgs $args) { /* @var \Enlight_Controller_Action $subject */ $subject = $args->getSubject(); if ($subject->Request()->getActionName() != 'sendTestmail') { return; } $this->template->addTemplateDir($this->bootstrapPath . 'Views/'); }
/** * Event listener method * * @param Enlight_Event_EventArgs $args */ public function onPostDispatch(Enlight_Event_EventArgs $args) { $request = $args->getSubject()->Request(); $response = $args->getSubject()->Response(); $view = $args->getSubject()->View(); if (!$request->isDispatched() || $response->isException() || $request->getModuleName() != 'frontend' || !$view->hasTemplate()) { return; } $parent = Shopware()->Shop()->get('parentID'); $category = empty(Shopware()->System()->_GET['sCategory']) ? $parent : Shopware()->System()->_GET['sCategory']; $config = $this->Config(); if (empty($config->show) && $config->show !== null) { return; } $this->module = $this->Application()->Modules()->Categories(); $view->assign('sAdvancedMenu', $this->getAdvancedMenu($parent, $category, (int) $config->levels)); $view->extendsTemplate('frontend/plugins/advanced_menu/index.tpl'); }
public function inspectRequest(\Enlight_Event_EventArgs $args) { /** @var \Enlight_Controller_Request_Request $request */ $request = $args->getSubject()->Request(); $categoryId = $request->sCategory; if (!$categoryId) { return; } $this->getAccessibilityService()->match($categoryId); }
/** * Event listener method * * @param Enlight_Event_EventArgs $args */ public static function onPostDispatch(Enlight_Event_EventArgs $args) { $request = $args->getSubject()->Request(); $response = $args->getSubject()->Response(); $view = $args->getSubject()->View(); if (!$request->isDispatched() || $response->isException() || $request->getModuleName() != 'frontend' || $request->isXmlHttpRequest() || !$view->hasTemplate()) { return; } $config = Shopware()->Plugins()->Frontend()->Google()->Config(); if (empty($config->tracking_code) && empty($config->conversion_code)) { return; } $view->extendsTemplate('frontend/plugins/google/index.tpl'); if (!empty($config->conversion_code)) { $view->GoogleConversionID = $config->conversion_code; $view->GoogleConversionLanguage = Shopware()->Locale()->getLanguage(); } if (!empty($config->tracking_code)) { $view->GoogleTrackingID = $config->tracking_code; $view->GoogleAnonymizeIp = $config->anonymize_ip; } }
/** * PreDispatch callback for widget and frontend requests * * @param \Enlight_Event_EventArgs $args * @return bool */ public function onPreDispatch(\Enlight_Event_EventArgs $args) { if (!$this->config['frontendblocks']) { return; } /** @var $controller \Enlight_Controller_Action */ $controller = $args->getSubject(); $view = $controller->View(); // set own caching dirs $this->reconfigureTemplateDirs($view->Engine()); // configure shopware to not strip HTML comments Shopware()->Config()->offsetSet('sSEOREMOVECOMMENTS', false); $view->Engine()->registerFilter('pre', array($this, 'preFilter')); }
/** * hook for extending the theme ext js app * @param \Enlight_Event_EventArgs hook arguments */ public function onPostDispatchSecureBackendTheme(\Enlight_Event_EventArgs $arguments) { $themeCtl = $arguments->getSubject(); $view = $themeCtl->View(); $request = $themeCtl->Request(); $response = $themeCtl->Response(); $view->addTemplateDir(dirname(__DIR__) . '/Views/'); if ($request->getActionName() === 'index') { $view->extendsTemplate('backend/theme/simkl_theme_setting_export/app.js'); } if ($request->getActionName() === 'load') { $view->extendsTemplate('backend/theme/simkl_theme_setting_export/view/detail/window.js'); $view->extendsTemplate('backend/theme/simkl_theme_setting_export/controller/detail.js'); } }
/** * Global pre dispatcher * - Adds the local components folder to the loader * - Adds the local template path as a new template dir * * @static * @param Enlight_Event_EventArgs $args */ public static function onPreDispatch(Enlight_Event_EventArgs $args) { //Fetches the subject and request object of the controller instance $me = $args->getSubject(); $request = $me->Request(); //Aborts if the current is not a backend controller if (strtolower($request->getModuleName()) != 'backend') { return; } //Setup the alternative path for the namespace Shopware_Components Shopware()->Loader()->registerNamespace('Shopware_Components', dirname(__FILE__) . '/Components/'); Shopware()->Loader()->registerNamespace('Shopware_StoreApi', dirname(__FILE__) . '/StoreApi/'); //Adds the local template path as a new template dir $me->View()->addTemplateDir(dirname(__FILE__) . '/Views/'); }
public function onPostDispatch(Enlight_Event_EventArgs $arguments) { $subject = $arguments->getSubject(); $request = $subject->Request(); $view = $subject->View(); $response = $subject->Response(); if (!$request->isDispatched() || $response->isException() || $request->getModuleName() != 'frontend' || $request->getControllerName() != 'checkout' || !$view->hasTemplate()) { return; } $view->assign('pprShowCart', $this->Config()->pprShowCart); $view->assign('pprShowAjaxCart', $this->Config()->pprShowAjaxCart); //$view->assign('pprShowConfirm',$this->Config()->pprShowConfirm); $view->assign('pprBasePriceStyle', $this->Config()->pprBasePriceStyle); $view->addTemplateDir($this->Path() . 'Views/'); }
public function onPostDispatchFrontend(\Enlight_Event_EventArgs $args) { /** @var \Enlight_Controller_Action $controller */ $controller = $args->getSubject(); if (strtolower($controller->Request()->getControllerName()) == 'profiler') { return; } $profileId = uniqid(); $view = $controller->View(); $view->addTemplateDir($this->container->getParameter('shyim_profiler.plugin_dir') . '/Resources/views'); $view->assign('sProfilerID', $profileId); $this->container->get('shyim_profiler.smarty_extensions')->addPlugins($view->Engine()); $this->container->set('profileId', $profileId); $this->container->set('profileController', $controller); }
public function onCustomerPostDispatch(Enlight_Event_EventArgs $args) { /** @var \Enlight_Controller_Action $controller */ $controller = $args->getSubject(); $view = $controller->View(); $request = $controller->Request(); $view->addTemplateDir(__DIR__ . '/Views'); if ($request->getActionName() == 'index') { $view->extendsTemplate('backend/swag_extend_customer/app.js'); } if ($request->getActionName() == 'load') { $view->extendsTemplate('backend/swag_extend_customer/view/detail/billing.js'); $view->extendsTemplate('backend/swag_extend_customer/view/detail/window.js'); } }
public function onPostDispatchDetail(Enlight_Event_EventArgs $args) { $view = $args->getSubject()->View(); $config = $this->Config(); if (empty($config->show) && $config->show !== null) { return; } $view->app_id = $config->app_id; if (!empty($_SERVER["HTTP_USER_AGENT"]) && preg_match("/MSIE 6/", $_SERVER['HTTP_USER_AGENT'])) { $view->hideFacebook = true; } else { $view->hideFacebook = false; } $article = $view->sArticle; $view->unique_id = Shopware()->Shop()->getId() . '_' . $article['articleID']; $view->extendsTemplate('frontend/plugins/facebook/blocks_detail.tpl'); }
/** * Listener method of the Enlight_Controller_Front_DispatchLoopShutdown event. * On Dispatch Shutdown collects results and dumps to log component. * * @param \Enlight_Event_EventArgs $args */ public function onDispatchLoopShutdown(\Enlight_Event_EventArgs $args) { /** @var \Enlight_Controller_Request_Request $request */ $request = $args->getSubject()->Request(); /** @var Clockwork $clockwork */ $clockwork = $this->container->get('shopwareclockwork.clockwork'); /** @var \Enlight_Controller_Response_ResponseHttp $response */ $response = $args->getResponse(); $response->setHeader("X-Clockwork-Id", $clockwork->getRequest()->id); $response->setHeader("X-Clockwork-Version", $clockwork::VERSION); $response->setHeader("X-Clockwork-Path", '/Clockwork/index/id/'); $shopwareDataSource = $this->container->get('shopwareclockwork.datasource'); $shopwareDataSource->setBaseInfo($request); $clockwork->addDataSource(new PhpDataSource()); $clockwork->addDataSource($shopwareDataSource); $clockwork->resolveRequest(); $clockwork->storeRequest(); }
public function onPostDispatch(\Enlight_Event_EventArgs $args) { /** @var Enlight_Controller_Action $controller */ $controller = $args->getSubject(); if (strtolower($controller->Request()->getControllerName()) == 'profiler' || strtolower($controller->Request()->getControllerName()) == 'media' || $this->profileId) { return; } if ($controller->Request()->getModuleName() == 'frontend') { $profileId = uniqid(); } else { $profileId = $controller->Request()->getHeader('X-Profiler'); } $view = $controller->View(); $view->addTemplateDir($this->container->getParameter('shyim_profiler.plugin_dir') . '/Resources/views'); $view->assign('sProfilerID', $profileId); $this->container->get('shyim_profiler.smarty_extensions')->addPlugins($view->Engine()); $this->profileId = $profileId; $this->profileController = $controller; }
/** * register all subscriber class for dynamic event subsciption without plugin reinstallation * * @param \Enlight_Event_EventArgs $args */ public function onStartDispatch(\Enlight_Event_EventArgs $args) { $events = $this->Application()->Events(); $events->addSubscriber(new Container()); if ($this->isDebugPluginActive() === false) { return; } $subscribers = [new Debug()]; /** @var \Shopware_Plugins_Core_Debug_Bootstrap $debugPlugin */ $debugPlugin = Shopware()->Plugins()->Core()->Debug(); /** @var \Enlight_Controller_Request_Request $request */ $request = $args->getSubject()->Request(); if ($debugPlugin->isRequestAllowed($request) === true && (new ClockworkHandler())->acceptsRequest($request) === true) { $subscribers[] = new DispatchLoopShutdown(); } foreach ($subscribers as $subscriber) { $events->addSubscriber($subscriber); } }
/** * Main Entry handler, determines whether to display a filter * * 1. Invoke filter * 1.1 determine if active * 2. Build filter conditions * 3. Handle Request * 4. Assign view variables * * @see LegacyFilter for details * @param \Enlight_Event_EventArgs $args */ public function onDetailListingPostDispatch(\Enlight_Event_EventArgs $args) { /** @var \Shopware_Controllers_Frontend_Listing $controller */ $controller = $args->getSubject(); $request = $controller->Request(); $categoryId = $request->sCategory; /** @var LegacyFilterService $legacyFilter */ $legacyFilter = Shopware()->Container()->get('SwagVariantLegacyFilter'); $legacyFilter->match($categoryId); if (!$legacyFilter->isValid()) { return; } $filterConditions = $legacyFilter->getFilterConditions($request->sCategory, $this->requestHelper->getRequestedVariantIds()); if (!$filterConditions) { return; } $controller->View()->assign(array('swagVariantFilterConditions' => $filterConditions)); $controller->View()->addTemplateDir(__DIR__ . '/../Views/'); $controller->View()->extendsTemplate('frontend/plugins/swag_variant_filter/right.tpl'); }