%PDF- %PDF-
Direktori : /home/vacivi36/intranet.vacivitta.com.br/protected/humhub/models/forms/ |
Current File : /home/vacivi36/intranet.vacivitta.com.br/protected/humhub/models/forms/ChooseLanguage.php |
<?php /** * @link https://www.humhub.org/ * @copyright Copyright (c) 2017 HumHub GmbH & Co. KG * @license https://www.humhub.com/licences */ namespace humhub\models\forms; use Yii; use yii\base\Model; /** * ChooseLanguage is the model of the language select box to change language for * guests. */ class ChooseLanguage extends Model { /** * @var string the language */ public $language; /** * @inheritdoc */ public function rules() { return [ ['language', 'in', 'range' => array_keys(Yii::$app->i18n->getAllowedLanguages())], ]; } /** * @inheritdoc */ public function attributeLabels() { return [ 'language' => Yii::t('base', 'Language'), ]; } /** * Stores language as cookie * * @since 1.2 * @return boolean */ public function save() { if ($this->validate()) { $cookie = new \yii\web\Cookie([ 'name' => 'language', 'value' => $this->language, 'expire' => time() + 86400 * 365, ]); Yii::$app->getResponse()->getCookies()->add($cookie); return true; } return false; } /** * Returns the saved language in the cookie * * @return string the stored language */ public function getSavedLanguage() { if (isset(Yii::$app->request->cookies['language'])) { $this->language = (string) Yii::$app->request->cookies['language']; if (!$this->validate()) { // Invalid cookie $cookie = new \yii\web\Cookie([ 'name' => 'language', 'value' => 'en-US', 'expire' => 1, ]); Yii::$app->getResponse()->getCookies()->add($cookie); } else { return $this->language; } } return null; } }