当前位置: 首页>>代码示例>>PHP>>正文


PHP Tool::isHtmlResponse方法代码示例

本文整理汇总了PHP中Pimcore\Tool::isHtmlResponse方法的典型用法代码示例。如果您正苦于以下问题:PHP Tool::isHtmlResponse方法的具体用法?PHP Tool::isHtmlResponse怎么用?PHP Tool::isHtmlResponse使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Pimcore\Tool的用法示例。


在下文中一共展示了Tool::isHtmlResponse方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: dispatchLoopShutdown

    /**
     *
     */
    public function dispatchLoopShutdown()
    {
        if (!Tool::isHtmlResponse($this->getResponse())) {
            return;
        }
        $siteKey = \Pimcore\Tool\Frontend::getSiteKey();
        $reportConfig = \Pimcore\Config::getReportConfig();
        if ($this->enabled && isset($reportConfig->tagmanager->sites->{$siteKey}->containerId)) {
            $containerId = $reportConfig->tagmanager->sites->{$siteKey}->containerId;
            if ($containerId) {
                $code = <<<CODE
<!-- Google Tag Manager -->
<noscript><iframe src="//www.googletagmanager.com/ns.html?id={$containerId}"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','{$containerId}');</script>
<!-- End Google Tag Manager -->
CODE;
                $body = $this->getResponse()->getBody();
                // insert code after the opening <body> tag
                $body = preg_replace("@<body(>|.*?[^?]>)@", "<body\$1\n\n" . $code, $body);
                $this->getResponse()->setBody($body);
            }
        }
    }
开发者ID:jjpeters67,项目名称:pimcore,代码行数:31,代码来源:GoogleTagManager.php

示例2: dispatchLoopShutdown

 public function dispatchLoopShutdown()
 {
     if (!Tool::isHtmlResponse($this->getResponse())) {
         return;
     }
     if (!Tool::useFrontendOutputFilters($this->getRequest()) && !$this->getRequest()->getParam("pimcore_preview")) {
         return;
     }
     if (\Pimcore::inDebugMode()) {
         return;
     }
     if ($this->enabled) {
         include_once "simple_html_dom.php";
         $body = $this->getResponse()->getBody();
         $html = str_get_html($body);
         if ($html) {
             $html = $this->searchForScriptSrcAndReplace($html);
             $html = $this->searchForInlineScriptAndReplace($html);
             $body = $html->save();
             $html->clear();
             unset($html);
         }
         $this->getResponse()->setBody($body);
     }
 }
开发者ID:Cruiser13,项目名称:pimcore-minify,代码行数:25,代码来源:MinifyJs.php

示例3: dispatchLoopShutdown

 /**
  *
  */
 public function dispatchLoopShutdown()
 {
     if (!Tool::isHtmlResponse($this->getResponse())) {
         return;
     }
     if (!Tool::useFrontendOutputFilters($this->getRequest()) && !$this->getRequest()->getParam("pimcore_preview")) {
         return;
     }
     if (isset($_COOKIE["pimcore_admin_sid"])) {
         try {
             // we should not start a session here as this can break the functionality of the site if
             // the website itself uses sessions, so we include the code, and check asynchronously if the user is logged in
             // this is done by the embedded script
             $body = $this->getResponse()->getBody();
             $document = $this->getRequest()->getParam("document");
             if ($document instanceof Model\Document && !Model\Staticroute::getCurrentRoute()) {
                 $documentId = $document->getId();
             }
             if (!isset($documentId) || !$documentId) {
                 $documentId = "null";
             }
             $code = '<script type="text/javascript" src="/admin/admin-button/script?documentId=' . $documentId . '"></script>';
             // search for the end <head> tag, and insert the google analytics code before
             // this method is much faster than using simple_html_dom and uses less memory
             $bodyEndPosition = stripos($body, "</body>");
             if ($bodyEndPosition !== false) {
                 $body = substr_replace($body, $code . "\n\n</body>\n", $bodyEndPosition, 7);
             }
             $this->getResponse()->setBody($body);
         } catch (\Exception $e) {
             \Logger::error($e);
         }
     }
 }
开发者ID:Gerhard13,项目名称:pimcore,代码行数:37,代码来源:AdminButton.php

示例4: dispatchLoopShutdown

 public function dispatchLoopShutdown()
 {
     if (!Tool::isHtmlResponse($this->getResponse())) {
         return;
     }
     if (\Pimcore::inDebugMode()) {
         return;
     }
     if (!Tool::useFrontendOutputFilters($this->getRequest()) && !$this->getRequest()->getParam("pimcore_preview")) {
         return;
     }
     if ($this->enabled) {
         include_once "simple_html_dom.php";
         $body = $this->getResponse()->getBody();
         $html = str_get_html($body);
         if ($html) {
             $styles = $html->find("link[rel=stylesheet], style[type=text/css]");
             $stylesheetContent = "";
             foreach ($styles as $style) {
                 if ($style->tag == "style") {
                     $stylesheetContent .= $style->innertext;
                 } else {
                     $source = $style->href;
                     $path = "";
                     if (is_file(PIMCORE_ASSET_DIRECTORY . $source)) {
                         $path = PIMCORE_ASSET_DIRECTORY . $source;
                     } else {
                         if (is_file(PIMCORE_DOCUMENT_ROOT . $source)) {
                             $path = PIMCORE_DOCUMENT_ROOT . $source;
                         }
                     }
                     if (!empty($path) && is_file("file://" . $path)) {
                         $content = file_get_contents($path);
                         $content = $this->correctReferences($source, $content);
                         if ($style->media && $style->media != "all") {
                             $content = "@media " . $style->media . " {" . $content . "}";
                         }
                         $stylesheetContent .= $content;
                         $style->outertext = "";
                     }
                 }
             }
             if (strlen($stylesheetContent) > 1) {
                 $stylesheetPath = PIMCORE_TEMPORARY_DIRECTORY . "/minified_css_" . md5($stylesheetContent) . ".css";
                 if (!is_file($stylesheetPath)) {
                     $stylesheetContent = \Minify_CSS::minify($stylesheetContent);
                     // put minified contents into one single file
                     file_put_contents($stylesheetPath, $stylesheetContent);
                     chmod($stylesheetPath, 0766);
                 }
                 $head = $html->find("head", 0);
                 $head->innertext = $head->innertext . "\n" . '<link rel="stylesheet" type="text/css" href="' . str_replace(PIMCORE_DOCUMENT_ROOT, "", $stylesheetPath) . '" />' . "\n";
             }
             $body = $html->save();
             $html->clear();
             unset($html);
             $this->getResponse()->setBody($body);
         }
     }
 }
开发者ID:Cruiser13,项目名称:pimcore-minify,代码行数:60,代码来源:MinifyCss.php

示例5: dispatchLoopShutdown

    /**
     *
     */
    public function dispatchLoopShutdown()
    {
        $config = \Pimcore\Config::getSystemConfig();
        if (!$config->general->show_cookie_notice || !Tool::useFrontendOutputFilters($this->getRequest()) || !Tool::isHtmlResponse($this->getResponse())) {
            return;
        }
        $template = file_get_contents(__DIR__ . "/EuCookieLawNotice/template.html");
        # cleanup code
        $template = preg_replace('/[\\r\\n\\t]+/', ' ', $template);
        #remove new lines, spaces, tabs
        $template = preg_replace('/>[\\s]+</', '><', $template);
        #remove new lines, spaces, tabs
        $template = preg_replace('/[\\s]+/', ' ', $template);
        #remove new lines, spaces, tabs
        $translations = $this->getTranslations();
        foreach ($translations as $key => &$value) {
            $value = htmlentities($value, ENT_COMPAT, "UTF-8");
            $template = str_replace("%" . $key . "%", $value, $template);
        }
        $linkContent = "";
        if (array_key_exists("linkTarget", $translations)) {
            $linkContent = '<a href="' . $translations["linkTarget"] . '" data-content="' . $translations["linkText"] . '"></a>';
        }
        $template = str_replace("%link%", $linkContent, $template);
        $templateCode = \Zend_Json::encode($template);
        $code = '
            <script>
                (function () {
                    var ls = window["localStorage"];
                    if(ls && !ls.getItem("pc-cookie-accepted")) {

                        var code = ' . $templateCode . ';
                        var ci = window.setInterval(function () {
                            if(document.body) {
                                clearInterval(ci);
                                document.body.insertAdjacentHTML("beforeend", code);

                                document.getElementById("pc-button").onclick = function () {
                                    document.getElementById("pc-cookie-notice").style.display = "none";
                                    ls.setItem("pc-cookie-accepted", "true");
                                };
                            }
                        }, 100);
                    }
                })();
            </script>
        ';
        $body = $this->getResponse()->getBody();
        // search for the end <head> tag, and insert the google analytics code before
        // this method is much faster than using simple_html_dom and uses less memory
        $headEndPosition = stripos($body, "</head>");
        if ($headEndPosition !== false) {
            $body = substr_replace($body, $code . "</head>", $headEndPosition, 7);
        }
        $this->getResponse()->setBody($body);
    }
开发者ID:sfie,项目名称:pimcore,代码行数:59,代码来源:EuCookieLawNotice.php

示例6: dispatchLoopShutdown

 /**
  *
  */
 public function dispatchLoopShutdown()
 {
     if (!\Pimcore\Tool::isHtmlResponse($this->getResponse())) {
         return;
     }
     // removes the non-valid html attributes which are used by the wysiwyg editor for ID based linking
     $body = $this->getResponse()->getBody();
     $body = preg_replace("/ pimcore_(id|type|disable_thumbnail)=\\\"([0-9a-z]+)\\\"/", "", $body);
     $this->getResponse()->setBody($body);
 }
开发者ID:Gerhard13,项目名称:pimcore,代码行数:13,代码来源:WysiwygAttributes.php

示例7: dispatchLoopShutdown

 /**
  *
  */
 public function dispatchLoopShutdown()
 {
     if (!\Pimcore\Tool::isHtmlResponse($this->getResponse())) {
         return;
     }
     if ($this->enabled) {
         include_once "simple_html_dom.php";
         $body = $this->getResponse()->getBody();
         $body = \Pimcore\Tool\Less::processHtml($body);
         $this->getResponse()->setBody($body);
     }
 }
开发者ID:ChristophWurst,项目名称:pimcore,代码行数:15,代码来源:Less.php

示例8: dispatchLoopShutdown

 /**
  *
  */
 public function dispatchLoopShutdown()
 {
     if (!\Pimcore\Tool::isHtmlResponse($this->getResponse())) {
         return;
     }
     if ($this->enabled) {
         include_once "simple_html_dom.php";
         if ($this->getRequest()->getParam("pimcore_editmode")) {
             $this->editmode();
         } else {
             $this->frontend();
         }
     }
 }
开发者ID:pawansgi92,项目名称:pimcore2,代码行数:17,代码来源:Less.php

示例9: dispatchLoopShutdown

 /**
  *
  */
 public function dispatchLoopShutdown()
 {
     if (!Tool::isHtmlResponse($this->getResponse())) {
         return;
     }
     if ($this->enabled && ($code = AnalyticsHelper::getCode())) {
         // analytics
         $body = $this->getResponse()->getBody();
         // search for the end <head> tag, and insert the google analytics code before
         // this method is much faster than using simple_html_dom and uses less memory
         $headEndPosition = stripos($body, "</head>");
         if ($headEndPosition !== false) {
             $body = substr_replace($body, $code . "</head>", $headEndPosition, 7);
         }
         $this->getResponse()->setBody($body);
     }
 }
开发者ID:ChristophWurst,项目名称:pimcore,代码行数:20,代码来源:Analytics.php

示例10: dispatchLoopShutdown

    /**
     *
     */
    public function dispatchLoopShutdown()
    {
        if (!Tool::isHtmlResponse($this->getResponse())) {
            return;
        }
        $siteKey = \Pimcore\Tool\Frontend::getSiteKey();
        $reportConfig = \Pimcore\Config::getReportConfig();
        if ($this->enabled && isset($reportConfig->tagmanager->sites->{$siteKey}->containerId)) {
            $containerId = $reportConfig->tagmanager->sites->{$siteKey}->containerId;
            if ($containerId) {
                $codeHead = <<<CODE


<!-- Google Tag Manager -->
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','{$containerId}');</script>
<!-- End Google Tag Manager -->


CODE;
                $codeBody = <<<CODE


<!-- Google Tag Manager (noscript) -->
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id={$containerId}"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<!-- End Google Tag Manager (noscript) -->


CODE;
                $body = $this->getResponse()->getBody();
                // search for the end <head> tag, and insert the google tag manager code before
                // this method is much faster than using simple_html_dom and uses less memory
                $headEndPosition = stripos($body, "</head>");
                if ($headEndPosition !== false) {
                    $body = substr_replace($body, $codeHead . "</head>", $headEndPosition, 7);
                }
                // insert code after the opening <body> tag
                $body = preg_replace("@<body(>|.*?[^?]>)@", "<body\$1\n\n" . $codeBody, $body);
                $this->getResponse()->setBody($body);
            }
        }
    }
开发者ID:pimcore,项目名称:pimcore,代码行数:49,代码来源:GoogleTagManager.php

示例11: dispatchLoopShutdown

 public function dispatchLoopShutdown()
 {
     if (!Tool::isHtmlResponse($this->getResponse())) {
         return FALSE;
     }
     $body = $this->getResponse()->getBody();
     $htmlData = $this->getEventData();
     if (isset($htmlData['header']) && !empty($htmlData['header'])) {
         $headEndPosition = stripos($body, "</head>");
         if ($headEndPosition !== false) {
             $body = substr_replace($body, $htmlData['header'] . "</head>", $headEndPosition, 7);
         }
     }
     if (isset($htmlData['footer']) && !empty($htmlData['footer'])) {
         $bodyEndPosition = stripos($body, "</body>");
         if ($bodyEndPosition !== false) {
             $body = substr_replace($body, $htmlData['footer'] . "</body>", $bodyEndPosition, 7);
         }
     }
     $this->getResponse()->setBody($body);
 }
开发者ID:dachcom-digital,项目名称:pimcore-toolbox,代码行数:21,代码来源:HtmlParser.php

示例12: postDispatch

 /**
  *
  */
 public function postDispatch()
 {
     if ($this->_shouldRender()) {
         if (method_exists($this->getActionController(), "getRenderScript")) {
             if ($script = $this->getActionController()->getRenderScript()) {
                 $this->renderScript($script);
             }
         }
     }
     parent::postDispatch();
     // append custom styles to response body
     if ($this->getActionController() instanceof FrontendController) {
         $doc = $this->getActionController()->getDocument();
         if (Tool::isHtmlResponse($this->getResponse()) && $doc && method_exists($doc, "getCss") && $doc->getCss() && !$this->getRequest()->getParam("pimcore_editmode")) {
             $code = '<style type="text/css" id="pimcore_styles_' . $doc->getId() . '">';
             $code .= "\n\n" . $doc->getCss() . "\n\n";
             $code .= '</style>';
             $name = $this->getResponseSegment();
             $this->getResponse()->appendBody($code, $name);
         }
     }
 }
开发者ID:Gerhard13,项目名称:pimcore,代码行数:25,代码来源:ViewRenderer.php

示例13: dispatchLoopShutdown

 /**
  *
  */
 public function dispatchLoopShutdown()
 {
     if (!Asset\Image\Thumbnail::isPictureElementInUse()) {
         return;
     }
     if (!Asset\Image\Thumbnail::getEmbedPicturePolyfill()) {
         return;
     }
     if (!\Pimcore\Tool::isHtmlResponse($this->getResponse())) {
         return;
     }
     // analytics
     $body = $this->getResponse()->getBody();
     // search for the end <head> tag, and insert the google analytics code before
     // this method is much faster than using simple_html_dom and uses less memory
     $code = '<script type="text/javascript" src="/pimcore/static/js/frontend/picturePolyfill.min.js" defer></script>';
     $headEndPosition = stripos($body, "</head>");
     if ($headEndPosition !== false) {
         $body = substr_replace($body, $code . "</head>", $headEndPosition, 7);
     }
     $this->getResponse()->setBody($body);
 }
开发者ID:yonetici,项目名称:pimcore-coreshop-demo,代码行数:25,代码来源:Thumbnail.php

示例14: dispatchLoopShutdown

 /**
  *
  */
 public function dispatchLoopShutdown()
 {
     if (!Tool::isHtmlResponse($this->getResponse())) {
         return;
     }
     if ($this->enabled) {
         include_once "simple_html_dom.php";
         $body = $this->getResponse()->getBody();
         $html = str_get_html($body);
         if ($html) {
             $elements = $html->find("link[rel=stylesheet], img, script[src]");
             foreach ($elements as $element) {
                 if ($element->tag == "link") {
                     if ($this->pathMatch($element->href)) {
                         $element->href = $this->rewritePath($element->href);
                     }
                 } else {
                     if ($element->tag == "img") {
                         if ($this->pathMatch($element->src)) {
                             $element->src = $this->rewritePath($element->src);
                         }
                     } else {
                         if ($element->tag == "script") {
                             if ($this->pathMatch($element->src)) {
                                 $element->src = $this->rewritePath($element->src);
                             }
                         }
                     }
                 }
             }
             $body = $html->save();
             $html->clear();
             unset($html);
             $this->getResponse()->setBody($body);
             // save storage
             CacheManager::save($this->cachedItems, self::cacheKey, array(), 3600);
         }
     }
 }
开发者ID:ChristophWurst,项目名称:pimcore,代码行数:42,代码来源:CDN.php

示例15: dispatchLoopShutdown

 /**
  *
  */
 public function dispatchLoopShutdown()
 {
     if (!Tool::isHtmlResponse($this->getResponse())) {
         return;
     }
     if ($this->enabled) {
         $targets = array();
         $personas = array();
         $dataPush = array("personas" => $this->personas, "method" => strtolower($this->getRequest()->getMethod()));
         if (count($this->events) > 0) {
             $dataPush["events"] = $this->events;
         }
         if ($this->document instanceof Document\Page && !Model\Staticroute::getCurrentRoute()) {
             $dataPush["document"] = $this->document->getId();
             if ($this->document->getPersonas()) {
                 if ($_GET["_ptp"]) {
                     // if a special version is requested only return this id as target group for this page
                     $dataPush["personas"][] = (int) $_GET["_ptp"];
                 } else {
                     $docPersonas = explode(",", trim($this->document->getPersonas(), " ,"));
                     //  cast the values to int
                     array_walk($docPersonas, function (&$value) {
                         $value = (int) trim($value);
                     });
                     $dataPush["personas"] = array_merge($dataPush["personas"], $docPersonas);
                 }
             }
             // check for persona specific variants of this page
             $personaVariants = array();
             foreach ($this->document->getElements() as $key => $tag) {
                 if (preg_match("/^persona_-([0-9]+)-_/", $key, $matches)) {
                     $id = (int) $matches[1];
                     if (Model\Tool\Targeting\Persona::isIdActive($id)) {
                         $personaVariants[] = $id;
                     }
                 }
             }
             if (!empty($personaVariants)) {
                 $personaVariants = array_values(array_unique($personaVariants));
                 $dataPush["personaPageVariants"] = $personaVariants;
             }
         }
         // no duplicates
         $dataPush["personas"] = array_unique($dataPush["personas"]);
         $activePersonas = array();
         foreach ($dataPush["personas"] as $id) {
             if (Model\Tool\Targeting\Persona::isIdActive($id)) {
                 $activePersonas[] = $id;
             }
         }
         $dataPush["personas"] = $activePersonas;
         if ($this->document) {
             // @TODO: cache this
             $list = new Model\Tool\Targeting\Rule\Listing();
             $list->setCondition("active = 1");
             foreach ($list->load() as $target) {
                 $redirectUrl = $target->getActions()->getRedirectUrl();
                 if (is_numeric($redirectUrl)) {
                     $doc = \Document::getById($redirectUrl);
                     if ($doc instanceof \Document) {
                         $target->getActions()->redirectUrl = $doc->getFullPath();
                     }
                 }
                 $targets[] = $target;
             }
             $list = new Model\Tool\Targeting\Persona\Listing();
             $list->setCondition("active = 1");
             foreach ($list->load() as $persona) {
                 $personas[] = $persona;
             }
         }
         $code = '<script type="text/javascript" src="/pimcore/static/js/frontend/geoip.js/"></script>';
         $code .= '<script type="text/javascript">';
         $code .= 'var pimcore = pimcore || {};';
         $code .= 'pimcore["targeting"] = {};';
         $code .= 'pimcore["targeting"]["dataPush"] = ' . \Zend_Json::encode($dataPush) . ';';
         $code .= 'pimcore["targeting"]["targetingRules"] = ' . \Zend_Json::encode($targets) . ';';
         $code .= 'pimcore["targeting"]["personas"] = ' . \Zend_Json::encode($personas) . ';';
         $code .= '</script>';
         $code .= '<script type="text/javascript" src="/pimcore/static/js/frontend/targeting.js"></script>';
         $code .= "\n";
         // analytics
         $body = $this->getResponse()->getBody();
         // search for the end <head> tag, and insert the google analytics code before
         // this method is much faster than using simple_html_dom and uses less memory
         $headEndPosition = stripos($body, "<head>");
         if ($headEndPosition !== false) {
             $body = substr_replace($body, "<head>\n" . $code, $headEndPosition, 7);
         }
         $this->getResponse()->setBody($body);
     }
 }
开发者ID:quorak,项目名称:pimcore,代码行数:95,代码来源:Targeting.php


注:本文中的Pimcore\Tool::isHtmlResponse方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。