Piwik\Plugins\Actions\Actions\ActionSiteSearch::detectSiteSearch PHP Метод

detectSiteSearch() публичный Метод

public detectSiteSearch ( $originalUrl )
    public function detectSiteSearch($originalUrl)
    {
        $website = Cache::getCacheWebsiteAttributes($this->request->getIdSite());
        if (empty($website['sitesearch'])) {
            Common::printDebug("Internal 'Site Search' tracking is not enabled for this site. ");
            return false;
        }
        $actionName = $url = $categoryName = $count = false;
        $originalUrl = PageUrl::cleanupUrl($originalUrl);
        // Detect Site search from Tracking API parameters rather than URL
        $searchKwd = $this->request->getParam('search');
        if (!empty($searchKwd)) {
            $actionName = $searchKwd;
            $isCategoryName = $this->request->getParam('search_cat');
            if (!empty($isCategoryName)) {
                $categoryName = $isCategoryName;
            }
            $isCount = $this->request->getParam('search_count');
            if ($this->isValidSearchCount($isCount)) {
                $count = $isCount;
            }
        }
        if (empty($actionName)) {
            $parsedUrl = @parse_url($originalUrl);
            // Detect Site Search from URL query parameters
            if (!empty($parsedUrl['query']) || !empty($parsedUrl['fragment'])) {
                // array($url, $actionName, $categoryName, $count);
                $searchInfo = $this->detectSiteSearchFromUrl($website, $parsedUrl);
                if (!empty($searchInfo)) {
                    list($url, $actionName, $categoryName, $count) = $searchInfo;
                }
            }
        }
        $actionName = trim($actionName);
        $categoryName = trim($categoryName);
        if (empty($actionName)) {
            Common::printDebug("(this is not a Site Search request)");
            return false;
        }
        Common::printDebug("Detected Site Search keyword '{$actionName}'. ");
        if (!empty($categoryName)) {
            Common::printDebug("- Detected Site Search Category '{$categoryName}'. ");
        }
        if ($count !== false) {
            Common::printDebug("- Search Results Count was '{$count}'. ");
        }
        if ($url != $originalUrl) {
            Common::printDebug("NOTE: The Page URL was changed / removed, during the Site Search detection, was '{$originalUrl}', now is '{$url}'");
        }
        return array($actionName, $url, $categoryName, $count);
    }