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

public removeLangFromUrl ( $url ) : string
$url
Результат string
Пример #1
0
 /**
  * Обработка запроса
  *
  * @param mixed $event
  * @return void
  */
 public function handleLanguageBehavior($event)
 {
     /* @var $request \CHttpRequest */
     $request = Yii::app()->getRequest();
     $current = $this->lm->getCurrentLang();
     $this->setLanguage($current);
     $default = $this->lm->getDefaultLang();
     $fromUrl = $this->lm->getLangFromUrl();
     if (null === $fromUrl && $current !== $default) {
         $request->redirect($this->lm->replaceLangInUrl($request->getUrl(), $current));
     }
     if (null !== $fromUrl && $current === $default) {
         $request->redirect($this->lm->removeLangFromUrl($request->getUrl()));
     }
 }
Пример #2
0
 /**
  * @param \yupe\components\urlManager\LangUrlManager $manager
  * @param CHttpRequest $request
  * @param string $pathInfo
  * @param string $rawPathInfo
  * @return bool|string
  */
 public function parseUrl($manager, $request, $pathInfo, $rawPathInfo)
 {
     $slugs = Yii::app()->getCache()->get(self::CACHE_KEY);
     if (false === $slugs) {
         /* @var $cmd CDbCommand */
         $cmd = Yii::app()->getDb()->createCommand();
         $slugs = $cmd->setFetchMode(PDO::FETCH_COLUMN, 0)->from('{{page_page}}')->select('slug')->queryAll();
         Yii::app()->getCache()->set(self::CACHE_KEY, $slugs, 0);
     }
     $parts = explode('/', $manager->removeLangFromUrl($pathInfo));
     if (!empty($parts)) {
         $slug = $parts[0];
         if (in_array($slug, $slugs, true)) {
             return 'page/page/view/slug/' . $slug;
         }
     }
     return false;
 }