コード例 #1
0
 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});
     }
 }
コード例 #2
0
 /**
  * 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);
 }
コード例 #3
0
ファイル: Bootstrap.php プロジェクト: GerDner/luck-docker
 /**
  * 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;
 }
コード例 #4
0
ファイル: Bootstrap.php プロジェクト: nhp/shopware-4
    /**
     * 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());
    }
コード例 #5
0
 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');
 }
コード例 #6
0
 /**
  * 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;
 }
コード例 #7
0
/**
 * 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);
	}
}
コード例 #8
0
ファイル: Bootstrap.php プロジェクト: zirkeldesign/SwagPiwik
 /**
  * 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');
 }
コード例 #9
0
 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);
 }
コード例 #10
0
 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);
 }
コード例 #11
0
ファイル: SwagAttribute.php プロジェクト: janbuecker/devdocs
 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');
 }
コード例 #12
0
 /**
  * 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);
 }
コード例 #13
0
ファイル: Bootstrap.php プロジェクト: dnhsoft/swApacheGeoIP
 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']));
         }
     }
 }
コード例 #14
0
ファイル: Router.php プロジェクト: GerDner/luck-docker
 /**
  * @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);
 }
コード例 #15
0
ファイル: Bootstrap.php プロジェクト: GerDner/luck-docker
 /**
  * @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;
     }
 }
コード例 #16
0
ファイル: Email.php プロジェクト: Goucher/shopware
 /**
  * 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/');
 }
コード例 #17
0
 /**
  * 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');
 }
コード例 #18
0
 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);
 }
コード例 #19
0
 /**
  * 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;
     }
 }
コード例 #20
0
 /**
  * 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'));
 }
コード例 #21
0
 /**
  * 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');
     }
 }
コード例 #22
0
 /**
  * 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/');
 }
コード例 #23
0
 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/');
 }
コード例 #24
0
ファイル: Collector.php プロジェクト: shyim/shopware-profiler
 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);
 }
コード例 #25
0
ファイル: Bootstrap.php プロジェクト: shobcheye/devdocs
 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');
     }
 }
コード例 #26
0
 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');
 }
コード例 #27
0
 /**
  * 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();
 }
コード例 #28
0
ファイル: Collector.php プロジェクト: shyim/shopware-profiler
 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;
 }
コード例 #29
0
 /**
  * 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);
     }
 }
コード例 #30
0
 /**
  * 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');
 }