<?php /* * Copyright (c) 2014 Alberto González * Distributed under MIT License * (see README for details) */ namespace Quaver\App\Controller; use Quaver\Model\Lang; $language = new Lang(); $language->getFromSlug($this->getUrlPart(0)); if ($language) { $language->setCookie(); if ($_user->isLogged()) { $_user->language = $language->id; $_user->save(); } if (!empty($_SERVER['HTTP_REFERER']) && $_SERVER['HTTP_HOST'] === parse_url($_SERVER['HTTP_REFERER'], PHP_URL_HOST)) { $this->redirect($_SERVER['HTTP_REFERER']); } else { $this->redirect('/'); } } else { $this->router->dispatch('e404'); exit; }
<?php /* * Copyright (c) 2014 Alberto González * Distributed under MIT License * (see README for details) */ namespace Quaver\Controller; use Quaver\Model\Lang; $language = new Lang(); $langCurrent = $language->getFromSlug($this->url_var[1]); if ($langCurrent) { $language->setCookie(); if (!empty($_SERVER['HTTP_REFERER'])) { header("Location: " . $_SERVER['HTTP_REFERER']); exit; } else { $newLang = new url(); header("Location: " . $newLang->getFromId(1)->url); exit; } } else { header("Location: " . $this->getUrlFromId(2) . "?ref=" . $this->getUrl()); exit; }
/** * @param bool $_mvc */ public function start($_mvc = true) { global $_lang; // Set user_default global global $_user; $_user = new User(); if (!empty($_COOKIE[COOKIE_NAME . "_log"])) { $_user->getFromCookie($_COOKIE[COOKIE_NAME . "_log"]); } // Load language $_lang = new Lang(); if (!empty($_GET['lang'])) { $lang_slug = substr($_GET['lang'], 0, 3); $_lang->getFromSlug($lang_slug); $_lang->setCookie(); } else { $_lang->getSiteLanguage(); } $this->language = $_lang->id; // Assoc URL to MVC if ($_mvc) { $this->loadMVC(); } }