array('perfil'), ); public $captcha = array('registration' => true); public $fieldsMessage = ''; public $nombreRemitenteEMail = 'admin@admin.com'; public $urlLogin = "/usuario/logout"; public $urlPerfil = "/usuario/perfil"; public $urlRegistro = "/usuario/registro"; public $urlRecuperar = "/usuario/registro/recuperar"; public $urlActivar = "/usuario/registro/activar"; public $returnUrl = array(); public $relations = array(); static private $_esAdmin; static private $_listaUsuarios = array(); public function init() { $this->setImport(array( 'usuario.models.*', 'usuario.models.formularios.*', 'usuario.components.*', )); } public static function t($str = '', $params = array(), $dic = 'usuario') { if (Yii::t("UsuarioModule", $str) == $str) return Yii::t("UsuarioModule." . $dic, $str, $params); else return Yii::t("UsuarioModule", $str, $params); } /** * @return hash string. */ public static function cifrar($string = "") { $hash = Yii::app()->getModule('usuario')->hash; if ($hash == "md5") return md5($string); if ($hash == "sha1") return sha1($string); else return hash($hash, $string); } /** * Return safe user data. * @param user id not required * @return user object or false */ public static function usuario($id = 0, $clearCache = false) { if (!$id && !Yii::app()->user->isGuest) $id = Yii::app()->user->id; if ($id) { if (!isset(self::$_listaUsuarios[$id]) || $clearCache) self::$_listaUsuarios[$id] = Usuario::model()->with(array('perfil'))->findbyPk($id); return self::$_listaUsuarios[$id]; } else return false; } public static function doCaptcha($place = '') { // if (!extension_loaded('gd')) // return false; // if (in_array($place, Yii::app()->getModule('usuario')->captcha)) // return Yii::app()->getModule('usuario')->captcha[$place]; // return false; } public static function esAdmin() { if (Yii::app()->user->isGuest) return false; else { if (!isset(self::$_esAdmin)) { if (self::usuario()->esSuperusuario) self::$_esAdmin = true; else self::$_esAdmin = false; } return self::$_esAdmin; } } }