skeeks\cms\components\urlRules\UrlRuleContentElement::parseRequest PHP Method

parseRequest() public method

public parseRequest ( UrlManager $manager, Request $request ) : array | boolean
$manager yii\web\UrlManager
$request yii\web\Request
return array | boolean
    public function parseRequest($manager, $request)
    {
        if ($this->mode === self::CREATION_ONLY) {
            return false;
        }
        if (!empty($this->verb) && !in_array($request->getMethod(), $this->verb, true)) {
            return false;
        }
        $pathInfo = $request->getPathInfo();
        if ($this->host !== null) {
            $pathInfo = strtolower($request->getHostInfo()) . ($pathInfo === '' ? '' : '/' . $pathInfo);
        }
        $params = $request->getQueryParams();
        $suffix = (string) ($this->suffix === null ? $manager->suffix : $this->suffix);
        $treeNode = null;
        if (!$pathInfo) {
            return false;
        }
        if (!preg_match('/\\/(?<id>\\d+)\\-(?<code>\\S+)$/i', "/" . $pathInfo, $matches)) {
            return false;
        }
        return ['cms/content-element/view', ['id' => $matches['id'], 'code' => $matches['code']]];
    }