예제 #1
0
 public function verImagen($idUsu, $res)
 {
     $vdt = new Validate\QuickValidator(array($this, 'notFound'));
     $vdt->test($idUsu, new Validate\Rule\NumNatural());
     $vdt->test($res, new Validate\Rule\InArray([32, 64, 160]));
     $usuario = Usuario::findOrFail($idUsu);
     $this->redirect(call_user_func($this->view->getInstance()->getFunction('avatarUrl')->getCallable(), $usuario->img_tipo, $usuario->img_hash, $res));
 }
예제 #2
0
 public function borrarUsuario($id)
 {
     $usuario = Usuario::findOrFail($id);
     if ($this->usuarioData->borrarUsuario($usuario)) {
         Session::flash('usuario_eliminado', 'El usuario ' . $usuario->Nick . ' fue eliminado');
         return true;
     } else {
         Session::flash('usuario_no_eliminada', 'El usuario ' . $usuario->Nick . ' no se elimino');
         return false;
     }
 }
 /**
  * Display the specified resource.
  * GET /usuarios/{id}
  *
  * @param  int  $id
  * @return Response
  */
 public function show($id)
 {
     $validator = Validator::make(Input::all(), ['access_token' => 'required']);
     if ($validator->fails()) {
         return $this->reponseApi(422, 'true', $validator->errors()->all());
     }
     try {
         $this->checkAuth($id, Input::get('access_token'));
         $answer = Usuario::findOrFail($id);
         return $this->reponseApi(200, 'false', '', $answer);
     } catch (Exception $e) {
         return $this->reponseApi(200, 'true', $e->getMessage(), array('code' => 101));
     }
 }
예제 #4
0
 /**
  * Update the specified resource in storage.
  *
  * @param  int  $id
  * @return Response
  */
 public function update($id)
 {
     $usuario = Usuario::findOrFail($id);
     $datos = ['nombre' => Input::get('nombre'), 'email' => Input::get('email'), 'rol' => Input::get('rol'), 'estatus' => Input::get('estatus')];
     $rules = ['nombre' => 'required|min:5|max:30', 'email' => 'required|email|min:5|max:30', 'rol' => 'required|', 'estatus' => 'required'];
     $msj = ['nombre.required' => 'El campo <strong>Nombre</strong> esta vacio', 'nombre.min' => 'El campo <strong>Nombre</strong> debe tener minimo :min caracteres', 'nombre.max' => 'El campo <strong>Nombre</strong> debe tener maximo :max caracteres', 'email.required' => 'El campo <strong>Correo electronico</strong> debe tener maximo :max caracteres', 'email.required' => 'El campo <strong>Correo electronico</strong> es requerido', 'email.email' => 'El formato del campo <strong>Correo electronico</strong> no es valido', 'email.min' => 'El campo <strong>Correo electronico</strong> debe contener minimo :min carecteres', 'email.max' => 'El campo <strong>Correo electronico</strong> debe contener maximo :max carecteres', 'rol.required' => 'El campo <strong>Rol</strong> es reqerido', 'estatus.required' => 'El campo <strong>Estatus</strong> es requerido'];
     $validator = Validator::make($datos, $rules, $msj);
     if ($validator->fails()) {
         return Redirect::back()->withErrors($validator)->withInput();
     } else {
         $usuario->update(Input::all());
         Session::flash('message', 'Actualizado Correctamente');
         Session::flash('class', 'success');
     }
     return Redirect::to('/dashboard/usuarios');
 }
예제 #5
0
 public function crearModeradores()
 {
     $vdt = new Validate\Validator();
     $vdt->addRule('entrantes', new Validate\Rule\Attributes(['usr' => 'ctype_digit', 'pat' => 'ctype_digit']))->addFilter('entrantes', FilterFactory::json_decode());
     $req = $this->request;
     if (!$vdt->validate($req->post())) {
         throw new TurnbackException($vdt->getErrors());
     }
     foreach ($vdt->getData('entrantes') as $entrante) {
         $usuario = Usuario::findOrFail($entrante['usr']);
         $patrulla = Patrulla::findOrFail($entrante['pat']);
         $usuario->patrulla()->associate($patrulla);
         $usuario->save();
         $identidad = $usuario->identidad . ' (' . $usuario->id . ')';
         $log = AdminlogCtrl::createLog($identidad, 6, 'new', $this->session->user('id'), $patrulla);
         NotificacionCtrl::createNotif($usuario->id, $log);
     }
     $this->flash('success', 'Los nuevos moderadores han sido agregados exitosamente.');
     $this->redirectTo('shwCrearModerad');
 }
예제 #6
0
 public function updatepass($id)
 {
     $usuario = Usuario::findOrFail($id);
     $validaciones = Usuario::validacionesnewpass(Input::all());
     if ($validaciones->fails()) {
         return Redirect::back()->withErrors($validaciones)->withInput();
     } else {
         $actualclave = Input::get('aclave');
         if (Hash::check($actualclave, $usuario->clave)) {
             $datos = ['clave' => Hash::make(Input::get('nclave'))];
             $user = Usuario::where('login', '=', $usuario->email)->update($datos);
             $data = ['msj' => 'Haz cambiado tu contraseña con exito', 'email' => $usuario->email, 'nombre' => $usuario->nombre, 'clave' => Input::get('nclave')];
             Mail::send('emails.renew', $data, function ($message) use($usuario) {
                 $message->to($usuario->email, $usuario->name)->subject('Recuperación de Clave!');
             });
             Session::flash('message', 'Contraseña actualizada correctamente!');
             Session::flash('class', 'success');
         } else {
             Session::flash('message', 'Clave actual incorrecta! ');
             Session::flash('class', 'danger');
         }
     }
     return Redirect::to('/dashboard/misdatos/' . $usuario->id);
 }
예제 #7
0
 public function sancUsuario($idUsu)
 {
     $vdt = new Validate\Validator();
     $vdt->addRule('idUsu', new Validate\Rule\NumNatural())->addRule('tipo', new Validate\Rule\InArray(array('Suspension', 'Advertencia', 'Quita')))->addRule('mensaje', new Validate\Rule\MinLength(4))->addRule('mensaje', new Validate\Rule\MaxLength(128))->addRule('cantidad', new Validate\Rule\NumNatural());
     $req = $this->request;
     $data = array_merge(array('idUsu' => $idUsu), $req->post());
     if (!$vdt->validate($data)) {
         throw new TurnbackException($vdt->getErrors());
     }
     $usuario = Usuario::findOrFail($vdt->getData('idUsu'));
     switch ($vdt->getData('tipo')) {
         case 'Suspension':
             $usuario->suspendido = true;
             if ($vdt->getData('cantidad') > 0) {
                 $usuario->fin_suspension = Carbon\Carbon::now()->addDays($vdt->getData('cantidad'));
             } else {
                 $usuario->fin_suspension = null;
             }
             $usuario->save();
             $mensaje = "El usuario fue suspendido.";
             break;
         case 'Advertencia':
             $usuario->advertencia = $vdt->getData('mensaje');
             $usuario->fin_advertencia = Carbon\Carbon::now()->addDays($vdt->getData('cantidad'));
             $usuario->save();
             $mensaje = "El usuario ha sido advertido.";
             break;
         case 'Quita':
             $usuario->decrement('puntos', $vdt->getData('cantidad'));
             $mensaje = "Se le han quitado los puntos al usuario.";
             break;
     }
     $subclase = strtolower(substr($vdt->getData('tipo'), 0, 3));
     $log = AdminlogCtrl::createLog($vdt->getData('mensaje'), 1, $subclase, $this->session->user('id'), $usuario);
     NotificacionCtrl::createNotif($usuario->id, $log);
     $this->flash('success', $mensaje);
     $this->redirect($req->getReferrer());
 }
예제 #8
0
 public function reiniciarClave($idUsu, $token)
 {
     $vdt = new Validate\QuickValidator(array($this, 'notFound'));
     $vdt->test($idUsu, new Validate\Rule\NumNatural());
     $vdt->test($token, new Validate\Rule\AlphaNumeric());
     $vdt->test($token, new Validate\Rule\ExactLength(32));
     $vdt = new Validate\Validator();
     $vdt->addRule('password', new Validate\Rule\MinLength(8))->addRule('password', new Validate\Rule\MaxLength(128))->addRule('password', new Validate\Rule\Matches('password2'));
     if (!$vdt->validate($this->request->post())) {
         throw new TurnbackException($vdt->getErrors());
     }
     $usuario = Usuario::findOrFail($idUsu);
     if ($token != $usuario->token) {
         throw new TurnbackException('El link ha expirado o es inválido. Recordá que solamente es válido por una hora.');
     }
     $ahora = Carbon\Carbon::now();
     if ($ahora->gt($usuario->updated_at->addHour())) {
         throw new TurnbackException('El link ha expirado o es inválido. Recordá que solamente es válido por una hora.');
     }
     $usuario->token = null;
     $usuario->password = password_hash($vdt->getData('password'), PASSWORD_DEFAULT);
     $usuario->save();
     $this->redirectTo('endReiniciarClave');
 }
예제 #9
0
 /**
  * Display the specified resource.
  *
  * @param  int  id
  * @return Response
  */
 public function show($id)
 {
     $usuario = $this->usuario->findOrFail($id);
     return View::make('usuario.show', compact('usuario'));
 }