Created
January 11, 2012 13:12
-
-
Save danjesus/1594593 to your computer and use it in GitHub Desktop.
Functions Diesel
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| function sucessMessage($message) { | |
| Session::writeFlash('sucessMessage', $message); | |
| } | |
| function errorMessage($message) { | |
| Session::writeFlash('errorMessage', $message); | |
| } | |
| function updateMessage($message) { | |
| Session::writeFlash('updateMessage', $message); | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| <?php | |
| /** | |
| * Diesel Framework | |
| * Copyright © LQDI Technologies - 2011 | |
| * http://www.lqdi.net | |
| * | |
| * Biblioteca de gerenciamento de sessão de usuário | |
| * | |
| * @author Aryel Tupinambá | |
| * @author Dan Jesus <daniel.jesus@lqdi.net> | |
| */ | |
| interface ISessionUser { | |
| /** | |
| * Deve retornar o ID do usuário | |
| */ | |
| public function getUserID(); | |
| /** | |
| * Estática: deve retornar o objeto do usuário à partir de seu ID | |
| * | |
| * @param int $id ID do usuário | |
| */ | |
| public static function load($id); | |
| } | |
| class Session { | |
| /** | |
| * @var type O nome da classe que representa um usuário (default: User) | |
| */ | |
| public static $userClass = "User"; | |
| /** | |
| * @var boolean Há um usuário logado na sessão? | |
| */ | |
| public static $isAuthenticated = false; | |
| /** | |
| * @var int O ID do usuário logado nesta sessão (quando não logado, é igual a null) | |
| */ | |
| public static $userID = null; | |
| /** | |
| * @var User O objeto que representa o usuário logado nesta sessão | |
| */ | |
| public static $user = null; | |
| /** | |
| * Inicializa a sessão | |
| * @param string $userClass A classe que representa um usuário no sistema (default: User) | |
| */ | |
| public static function init($userClass = "User") { | |
| self::$userClass = $userClass; | |
| session_start(); | |
| } | |
| /** | |
| * Recarrega uma sessão de usuário para a biblioteca, quando existir. | |
| * Se há um usuário logado na sessão, automaticamente carrega seu objeto | |
| */ | |
| public static function reload() { | |
| if ($_SESSION['isAuthenticated'] == true && $_SESSION['userClass'] == self::$userClass) { | |
| self::$isAuthenticated = true; | |
| self::$userID = intval($_SESSION['userID']); | |
| self::$user = call_user_func_array(array(self::$userClass, "load"), array(self::$userID)); | |
| } | |
| } | |
| /** | |
| * Cria uma nova sessão de usuário e carrega automaticamente o seu objeto. | |
| * @param string $userID O ID do usuário no sistema | |
| */ | |
| public static function create($userID) { | |
| $_SESSION['isAuthenticated'] = true; | |
| $_SESSION['userID'] = intval($userID); | |
| $_SESSION['userClass'] = self::$userClass; | |
| self::reload(); | |
| } | |
| /** | |
| * Faz com que o usuário saia da sessão, mas sem excluir as outras variáveis de sessão. | |
| * | |
| * @return void | |
| */ | |
| public static function logoff() { | |
| $_SESSION['isAuthenticated'] = false; | |
| $_SESSION['userID'] = null; | |
| $_SESSION['userClass'] = null; | |
| unset($_SESSION['userID']); | |
| self::reload(); | |
| } | |
| /** | |
| * Destrói a sessão, apagando todas as variáveis de sessão já salvas | |
| * | |
| * @return void | |
| */ | |
| public static function destroy() { | |
| $_SESSION['isAuthenticated'] = false; | |
| $_SESSION['userID'] = null; | |
| $_SESSION['userClass'] = null; | |
| session_destroy(); | |
| } | |
| /** | |
| * Captura uma váriavel da sessão | |
| * | |
| * @return váriavel da sessão ou false | |
| */ | |
| public static function get($var) { | |
| if (!isset($_SESSION[$var])) { | |
| return false; | |
| } else { | |
| return $_SESSION[$var]; | |
| } | |
| } | |
| /** | |
| * Seta uma váriavel na sessão | |
| * | |
| * @param string $var Nome da variável | |
| * @param string $val Valor da variável | |
| * | |
| * @return void | |
| */ | |
| public static function set($var, $val) { | |
| $_SESSION[$var] = $val; | |
| } | |
| /** | |
| * Lê uma variável da sessão | |
| * | |
| * @param type $name Nome da variável | |
| * | |
| * @return type | |
| */ | |
| public static function read($name) { | |
| return self::get($name); | |
| } | |
| /** | |
| * Escreve uma variável com seu respectivo valor na sessão. | |
| * | |
| * @param string $name Valor da variável | |
| * @param string $value Conteudo da variável | |
| */ | |
| public static function write($name, $value) { | |
| return self::set($name, $value); | |
| } | |
| /** | |
| * Remove uma variável setada na sessão. | |
| * | |
| * @param string $name Variável a ser removida | |
| * | |
| * @return boolean Verdadeiro para remoção da variável | |
| */ | |
| public static function delete($name) { | |
| unset($_SESSION[$name]); | |
| return true; | |
| } | |
| /** | |
| * Escreve uma váriavel na sessão | |
| * | |
| * @param string $key Váriavel de referencia da mensagem | |
| * @param string $value Valor da mensagem | |
| * | |
| * @return void | |
| */ | |
| public static function writeFlash($key, $value) { | |
| self::write('Flash.' . $key, $value); | |
| } | |
| /** | |
| * Lê uma váriavel flash e exibe seu valor | |
| * | |
| * @param string $key Nome da váriavel | |
| * | |
| * @return string | |
| */ | |
| public static function readFlash($key) { | |
| $value = self::read('Flash.' . $key); | |
| self::delete('Flash.' . $key); | |
| return $value; | |
| } | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment