コード例 #1
0
 /**
  * Método que informa todos os dados pessoais de um usuário logado
  */
 public function get_mobile()
 {
     $usuarioSistema = new Kernel_Models_Usuario();
     //Objeto responsavel pelo login
     $this->setMensagem("Dados inválidos");
     $dadosPost = file_get_contents('php://input');
     if (strlen($dadosPost)) {
         $post = json_decode($dadosPost);
         if (is_object($post)) {
             //Validando os dados
             if (!isset($post->email) || !isset($post->senha) || !isset($post->imei) || !isset($post->tipologin)) {
                 $this->printResposta();
             }
             $email = filter_var(trim($post->email));
             //Email usado no login convencional
             $senha = filter_var($post->senha);
             //A senha de login
             $imei = filter_var($post->imei);
             //Código unico do aparelho
             $tipoUsuario = filter_var($post->tipologin, FILTER_VALIDATE_INT);
             //            $so = $this->getBrowserDetect()->getS_o(); //Nome do sistema operacional do cliente
             $so = "generico";
             //Comentado por não ser possível detectar o s.o. do cliente utilizando a classe BrowserDetect
             $id = $usuarioSistema->getIdEspecifico($email, $senha, $imei, $so, $tipoUsuario);
             if ($id) {
                 $usuario = FALSE;
                 if ($tipoUsuario == 15) {
                     //Trecho referente ao professor
                     $tmp = new Kernel_Models_Professor();
                     $usuario = $tmp->selectUsuarioProfessor($id);
                     $usuario = $usuario->fetchObject("Kernel_Models_Professor");
                     $contrato = new Kernel_Models_ContratosAgendaProfessor();
                     $contrato->setFk_usuario_professor($id);
                     $contrato->setResposta(1);
                     $contrato->save("fk_usuario_professor={$id}");
                 }
                 if ($usuario) {
                     $this->setMensagem("")->statusTrue()->setStatusCod(0);
                     $tmp = new stdClass();
                     $tmp->id = $usuario->pk_usuario;
                     $tmp->idEspecifico = $id;
                     $tmp->nome = $usuario->nome;
                     $tmp->foto = $usuario->foto;
                     $tmp->unidades = array();
                     $unidades = $usuario->unidades($id);
                     while ($unidade = $unidades->fetchObject()) {
                         $unidadeTmp = new stdClass();
                         $unidadeTmp->id = $unidade->pk_unidade;
                         $unidadeTmp->nome = $unidade->unidade_nome;
                         $unidadeTmp->series = array();
                         $series = $usuario->series($id, FALSE, $unidade->pk_unidade);
                         while ($serie = $series->fetchObject()) {
                             $tmpSerie = new stdClass();
                             $tmpSerie->id = $serie->pk_serie;
                             $tmpSerie->unidade = $unidade->pk_unidade;
                             $tmpSerie->nome = $serie->serie_nome;
                             $tmpSerie->turmas = array();
                             $turmas = $usuario->turmas($id, FALSE, $unidade->pk_unidade, $serie->pk_serie);
                             while ($turma = $turmas->fetchObject()) {
                                 $tmpTurma = new stdClass();
                                 $tmpTurma->id = $turma->pk_turma;
                                 $tmpTurma->serie = $serie->pk_serie;
                                 $tmpTurma->nome = $turma->turma_nome;
                                 array_push($tmpSerie->turmas, $tmpTurma);
                             }
                             array_push($unidadeTmp->series, $tmpSerie);
                         }
                         array_push($tmp->unidades, $unidadeTmp);
                     }
                     $this->appendResposta($tmp);
                 }
             }
         }
     }
     $this->printResposta();
 }