/** * @param array $matches * * @return string */ private function rewriteInternalUriCallback(array $matches) { if ($this->internalUriValidationRule->isValid($matches[7]) === true) { $resourceParts = explode('/', $matches[7]); $path = $this->getResourcePath($resourceParts); if ($this->controllerActionExists->controllerActionExists($path) === true) { return '<a' . $matches[1] . 'href="' . $this->router->route($matches[7]) . '"'; } } return $matches[0]; }
/** * @param string $mode * @param string $moduleName * @param string $uri * @param int $articleId * * @return bool */ protected function isValidLink($mode, $moduleName, $uri, $articleId) { switch ($mode) { case 1: return $this->modules->isActive($moduleName); case 2: return $this->internalUriValidationRule->isValid($uri); case 3: return !empty($uri); case 4: if ($this->modules->isActive('articles')) { return $this->articleExistsValidationRule->isValid($articleId); } } return false; }