public function login(array $dados, Sessao $s) { extract($dados); $repository = $this->em->getRepository('Models\\Usuario'); $u = $repository->findBy(["email" => $email]); $user = $u[0]; $k = base64_decode($user->getCadkey()); $iv = base64_decode($user->getCadiv()); $pass = stringToHex(mcrypt_encrypt(MCRYPT_3DES, $k, $senha, MCRYPT_MODE_CBC, $iv)); if (!$user instanceof Usuario) { echo "Email não encontrado"; } elseif ($user->getSenha() !== $pass) { echo "Senha incorreta."; } elseif ($user->getVerificado() === 0) { echo "Seu email ainda não foi validado."; } else { $udata["id"] = $user->getUsId(); $udata["apelido"] = $user->getApelido(); $udata["nome"] = $user->getNome() . " " . $user->getSobrenome(); $s->set("usuario", $udata); $mc = new ControleMensagem($this->em); $msg = new Mensagem(); $mc->enviar($msg, $user, "Entrou no chat"); return true; } }
public function postEnviarMensagem(Router $r) { $r->post("/ajax/ControleMensagem/enviar/*/*", function ($userID, $txtmsg) { $s = Container::getSession(); $k = safeHexToString($s->get("key")); $iv = safeHexToString($s->get("iv")); $em = Container::gerEntityManager(); $mc = new ControleMensagem($em); $rp = $em->getRepository('Models\\Usuario'); $u = $rp->findBy(["usId" => $userID]); $user = $u[0]; $msg = new Mensagem(); $decrypted = mcrypt_decrypt(MCRYPT_3DES, $k, hexToString($txtmsg), MCRYPT_MODE_CBC, $iv); $mc->enviar($msg, $user, $decrypted); }); }