/**
  * Hook actionObjectLanguageAddAfter
  * @return array
  */
 public function hookActionObjectLanguageAddAfter($aParams)
 {
     $oLanguages = $aParams['object'];
     if (Validate::isLoadedObject($oLanguages)) {
         $oNowLanguageLink = new NowLanguageLink();
         $oNowLanguageLink->id_lang = $oLanguages->id;
         $oNowLanguageLink->folder_name = $oLanguages->iso_code;
         $oNowLanguageLink->save();
     }
 }
 /**
  * Set request uri and iso lang
  */
 protected function setRequestUri()
 {
     // Get request uri (HTTP_X_REWRITE_URL is used by IIS)
     if (isset($_SERVER['REQUEST_URI'])) {
         $this->request_uri = $_SERVER['REQUEST_URI'];
     } else {
         if (isset($_SERVER['HTTP_X_REWRITE_URL'])) {
             $this->request_uri = $_SERVER['HTTP_X_REWRITE_URL'];
         }
     }
     $this->request_uri = rawurldecode($this->request_uri);
     if (isset(Context::getContext()->shop) && is_object(Context::getContext()->shop)) {
         $this->request_uri = preg_replace('#^' . preg_quote(Context::getContext()->shop->getBaseURI(), '#') . '#i', '/', $this->request_uri);
     }
     // If there are several languages, get language from uri
     if ($this->use_routes && Language::isMultiLanguageActivated()) {
         // Default Language
         $_GET['isolang'] = 'fr';
         if (preg_match('#^/([a-z-]{2,20})(?:/.*)?$#', $this->request_uri, $m)) {
             $sIsoCode = NowLanguageLink::getIsoCodeByFolderName($m[1]);
             if ($sIsoCode) {
                 $_GET['isolang'] = $sIsoCode;
                 $this->request_uri = substr($this->request_uri, strlen($m[1]) + 1);
             }
         }
     }
 }
Beispiel #3
0
 /**
  * Override method getLangLink for redirect "lang" link to method : getLangLink
  *
  * @module now_seo_links
  *
  * @param null $id_lang
  * @param string $controller
  * @param null $id_shop
  * @return string
  * @see LinkCore::getLangLink()
  */
 protected function getLangLink($id_lang = null, Context $context = null, $id_shop = null)
 {
     if (!$context) {
         $context = Context::getContext();
     }
     if (!$this->allow && in_array($id_shop, array($context->shop->id, null)) || !Language::isMultiLanguageActivated($id_shop) || !(int) Configuration::get('PS_REWRITING_SETTINGS', null, null, $id_shop)) {
         return '';
     }
     if (!$id_lang) {
         $id_lang = $context->language->id;
     }
     $folder = NowLanguageLink::getFolderNameByIdlang($id_lang);
     if ($folder) {
         $folder .= '/';
     }
     return $folder;
 }