public function createMaestro($post)
 {
     //Sanitisar los valores enviados por el usuario ( POST )
     $username = filter_var($post['username_input_data'], FILTER_SANITIZE_STRING);
     $mail = filter_var($post['email_input_data'], FILTER_SANITIZE_EMAIL);
     $password = filter_var($post['password_input_data'], FILTER_SANITIZE_STRING);
     $username = strip_tags(htmlspecialchars($username));
     $mail = strip_tags(htmlspecialchars($mail));
     $password = strip_tags(htmlspecialchars($password));
     //Validar el email
     $mail = filter_var($mail, FILTER_VALIDATE_EMAIL);
     $longitudPass = strlen($password);
     $perfil = Perfil::where('email', '=', $mail)->get();
     //Verificar que el email sea valido
     if (!$mail) {
         $this->app->redirect($this->app->urlFor('admin-maestro') . '?attempt=1');
     }
     //Verificar la longitud del password
     if ($longitudPass < 8) {
         $this->app->redirect($this->app->urlFor('admin-maestro') . '?attempt=2');
     }
     //Verificar que el email no exista en la base de datos (Perfil)
     if (count($perfil) > 0) {
         $this->app->redirect($this->app->urlFor('admin-maestro') . '?attempt=3');
     }
     //Verificar que el username no exista en la base de datos
     $perfil = Perfil::where('username', '=', $username)->get();
     if (count($perfil) > 0) {
         $this->app->redirect($this->app->urlFor('join') . '?attempt=4');
     }
     //$user 		= 	Authentication::createUser( $username, $mail, $password, 100 );
     $user = new User();
     $salt = uniqid();
     $pwd = $password . $salt;
     $hash = hash('sha256', $pwd);
     $user->passwd = $hash;
     $user->salt = $salt;
     $user->level_id = 3;
     if ($user->save()) {
         $perfil = new Perfil();
         $perfil->perfil_id = $user->user_id;
         $perfil->email = $mail;
         $perfil->username = $username;
         $maestro = new Maestro();
         $maestro->maestro_id = $user->user_id;
         if ($perfil->save() && $maestro->save()) {
             $action = $this->app->urlFor('admin-maestro');
             $this->app->redirect($action . '?attempt=7');
         }
     } else {
         $action = $this->app->urlFor('admin-maestro');
         $this->app->redirect($action . '?attempt=5');
     }
 }
Esempio n. 2
0
 public function crearusuario()
 {
     $keys = array('id', 'nombre', 'apellidop', 'apellidom', 'correo', 'password', 'cel', 'rol');
     $post = $this->app->request->post();
     $response = array('codigo' => '', 'mensaje' => '');
     if (count($post) > 0) {
         $isValid = true;
         /*foreach ($keys as $key => $value) {
         			if (!array_key_exists($value, $post)) { $isValid = false; }
         		}*/
         if ($isValid) {
             $usuario = Usuarios::where('correo', '=', $post['correo'])->get();
             if ($post['id'] == 0) {
                 if (count($usuario) > 0) {
                     $response['codigo'] = 2;
                     $response['mensaje'] = 'Ya existe un usuario asociado a la cuenta de correo';
                 } else {
                     $db = Connection::getConnection();
                     $db::beginTransaction();
                     try {
                         $user = new Usuarios();
                         $user->nombre = $post['nombre'];
                         $user->apellidop = $post['apellidop'];
                         $user->apellidom = $post['apellidom'];
                         $user->correo = $post['correo'];
                         $user->password = $post['password'];
                         $user->cel = $post['cel'];
                         $user->save();
                         $usuario_rol = new UsuarioRol();
                         $usuario_rol->usuarios_id = $user->id;
                         $usuario_rol->rol_id = $post['rol'];
                         $usuario_rol->save();
                         $db::commit();
                         $response['codigo'] = 1;
                         $response['mensaje'] = 'Se guardó correctamente';
                     } catch (Exception $e) {
                         $db::rollback();
                         $response['codigo'] = 3;
                         $response['mensaje'] = $e->getMessage();
                     }
                 }
             } else {
                 if (count($usuario) > 0) {
                     $db = Connection::getConnection();
                     $db::beginTransaction();
                     try {
                         $usuario[0]->nombre = $post['nombre'];
                         $usuario[0]->apellidoP = $post['apellidop'];
                         $usuario[0]->apellidoM = $post['apellidom'];
                         $usuario[0]->correo = $post['correo'];
                         $usuario[0]->cel = $post['cel'];
                         $usuario[0]->save();
                         $maestro = new Maestro();
                         $maestro->id_maestro = $usuario->id;
                         $maestro->estados_id = $post['estados_id'];
                         $maestro->save();
                         $db::commit();
                         $response['codigo'] = 1;
                         $response['mensaje'] = 'Se guardó correctamente2';
                     } catch (Exception $e) {
                         $db::rollback();
                         $response['codigo'] = 3;
                         $response['mensaje'] = $e->getMessage();
                     }
                 } else {
                     $response['codigo'] = 4;
                     $response['mensaje'] = 'Usuario no encontrado';
                 }
             }
         } else {
             $response['codigo'] = 0;
             $response['mensaje'] = 'Debe enviar todos los parámetros';
         }
     } else {
         $response['codigo'] = 0;
         $response['mensaje'] = 'Debe enviar todos los parámetros';
     }
     echo json_encode($response);
 }