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'); } }
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); }