Exemplo n.º 1
0
 public static function refresh($login = '')
 {
     if ($login == 'GUEST') {
         $_SESSION["logon"]["avatar_generic"] = true;
     } else {
         $_SESSION["logon"]["avatar_generic"] = false;
     }
     $_usuario = new Auth_Model_Conta_Mapper();
     $_usuario->setNome($login)->retrieve();
     $rowSession = $_usuario->getModel()->getRowSession($_usuario->getId());
     /**
      * Verifico se existe id do usuário na sessão
      * se não escreva nela os dados do usuário 
      */
     if ($rowSession->getId() != '') {
         $storage = Zend_Auth::getInstance()->getStorage();
         $storage->write($rowSession);
         Zend_Auth::getInstance()->setStorage($storage);
         /**
          * Usado para sistema legado
          */
         $_SESSION["logon"]["active"] = 1;
         $_SESSION["logon"]["usuario"]['id'] = $rowSession->getId();
         $_SESSION["logon"]["usuario"]['login'] = $rowSession->getLogin();
         $_SESSION["logon"]["usuario"]['nome'] = $rowSession->getName();
         $_SESSION["logon"]['papel'] = $rowSession->getRole();
         $_SESSION["logon"]["avatar"] = $rowSession->getAvatar();
         $_SESSION["logon"]["empresa"] = $rowSession->getEmpresa();
     } else {
         throw Exception('Não existe o usuário "GUEST"(Convidado) no sistema!');
     }
 }
Exemplo n.º 2
0
 /**
  *
  * @param int $id
  * @return \ZendT_Acl_User_Row 
  */
 public function getRowSession($id)
 {
     $sql = "SELECT usr.id, \n                       usr.nome as login, \n                       usr.descricao as nome, \n                       usr.email, \n                       ppl.hierarquia as papel, \n                       usr.id as chapa,\n                       usr.avatar,\n                       usr.id_empresa,\n                       empresa.nome as nome_empresa,\n                       empresa.apelido as apelido_empresa,\n                       empresa.hierarquia as hierarquia_empresa\n                   FROM " . Auth_Model_Conta_Mapper::$table . " usr\n                   LEFT JOIN " . Auth_Model_Conta_Mapper::$table . " ppl ON (usr.id_papel_pai = ppl.id)\n                   LEFT JOIN " . Ca_Model_Pessoa_Mapper::$table . " empresa ON (ppl.id_empresa = empresa.id)\n                  WHERE usr.id = :id_usuario";
     $stmt = $this->getAdapter()->query($sql, array('id_usuario' => $id));
     $row = $stmt->fetch();
     $_fileSystem = new Ged_Model_Arquivo_FileSystem();
     if (!$row['avatar']) {
         $_auth = new Auth_Model_Conta_Mapper();
         $_auth->setNome('GUEST')->retrieve();
         $row['avatar'] = $_auth->getAvatar();
     }
     $row['avatar'] = $_fileSystem->getDirectoryAdress($row['avatar']);
     $apps = $this->getApps($row['id']);
     $empresa = array();
     $empresa['id'] = $row['id_empresa'];
     $empresa['nome'] = $row['nome_empresa'];
     $empresa['apelido'] = $row['apelido_empresa'];
     $empresa['hierarquia'] = $row['hierarquia_empresa'];
     $user = new ZendT_Acl_User_Row();
     $user->setId($row['id'])->setLogin($row['login'])->setRole($row['papel'])->setEmail($row['email'])->setName($row['nome'])->setAvatar($row['avatar'])->setChapa($row['chapa'])->setApps($apps)->setEmpresa($empresa);
     return $user;
 }