function errorForbidden($forceJson = false) { $CI =& get_instance(); $CI->load->library('../controllers/error'); initLang(); // FIXME: revisar; se esta vaciando la session al hacer el redirect $CI->safety->initSession(); $CI->error->forbidden($forceJson); }
function change($langId) { $this->load->model('Users_Model'); $this->session->set_userdata('langId', $langId); // Si estoy ejecutando el controller desde la consola llamo a cualquier vista para que genere los js y css if ($this->input->is_cli_request()) { initLang(); $this->load->view('pageHtml', array('view' => 'home')); return; } // No guardo el idioma del usuario anonimo if ($this->session->userdata('userId') !== USER_ANONYMOUS) { $this->Users_Model->updateLangIdByUserId($langId, $this->session->userdata('userId')); } $this->load->library('user_agent'); // TODO: mejorar esto, para que redirija a un controler, no a una url completa; ej: http://localhost/%s/login if ($this->agent->is_referral()) { redirect($this->agent->referrer()); } else { redirect(''); } }
echo $langArr[$_SESSION["langindex"]]; } function initLang() { global $languageArray; if (isset($_COOKIE["Language"])) { $browerLang = $_COOKIE["Language"]; } else { if (isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])) { $browerLang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2); } else { $browerLang = "en"; } } if (isset($_SESSION["langindex"])) { $index = $_SESSION["langindex"]; } else { $index = array_search($browerLang, $languageArray); } if ($index) { setLang($index); } else { setLang(0); } } //安全缘故,从数组中读取 if (isset($languageArray)) { initLang(); $langStr = $languageArray[$_SESSION["langindex"]]; $lang = "_" . $langStr; }
function _sendEmail($task) { if (!$this->input->is_cli_request()) { return error404(); } $return = false; if (empty($task) || !is_array($task) || empty($task['taskMethod'])) { return $return; } // Seteo el idioma en que se va a enviar el email $this->lang->is_loaded = array(); $this->session->set_userdata('langId', $task['langId']); initLang(); $taskMethod = $task['taskMethod']; $taskParams = $task['taskParams']; if (method_exists($this->sendmails, $taskMethod)) { if (!empty($taskParams)) { $return = $this->sendmails->{$taskMethod}((array) json_decode($taskParams)); } else { $return = $this->sendmails->{$taskMethod}(); } } unset($taskMethod); unset($taskParams); return $return; }