Advertisement
Guest User

lol

a guest
Jul 14th, 2017
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 4.67 KB | None | 0 0
  1. <?php
  2.  
  3. // usamos las interfaces ServerRequest, ServerResponse y ServerNext
  4. use AftFramework\Http\Messages\Interfaces\{ServerRequest as Request, ServerResponse as Response};
  5.  
  6. // llamamos al autoload
  7. require 'autoload.php';
  8.  
  9. // definimos la varialbe app como nueva clase App
  10. $app = new AftFramework\Server\App;
  11.  
  12. // creamos un url usando el metodo http_get
  13. $app->get('/api/users/:username', function(Request $request, Response $response){
  14.     // definimos la variable $username como parametro (username)
  15.     $username = $request->getParams('username');
  16.  
  17.     // verificamos que existan parametros
  18.     if($username){
  19.         // hacemos un request a la base de datos
  20.         $request->database()->table('users')->find($username, function($error, $callback){
  21.             $error = $response->error();
  22.             // comprobamos si existe algun error
  23.             if($error) return $response->->getError($error);
  24.  
  25.             // definimos el callback como un callback definiendo las columnas que llamaremos
  26.             $callback = $callback->get([
  27.                 'id', 'username', 'motto', 'look'
  28.             ]);
  29.             // devolvemos la respuesta
  30.             $response->json()->write($callback);
  31.         });
  32.     } else {
  33.         // creamos el error
  34.         $response->json()->write()->error('El usuario no existe');
  35.     };
  36.     return $response;
  37. });
  38.  
  39. $app->post('/api/panel/notices/post?:apiKey&:user_uuid', function(Request $request, Response $response){
  40.     $input = $request->body()->input();
  41.     $apiKey = $request->getParams('apiKey');
  42.     $useruuid = $request->getParams('user_uuid');
  43.     if($request->controller('panel')->notices('apiKey')->verify($apiKey)){
  44.         if($request->controller('users')->auth('uuid')->verify($useruuid)){
  45.             $request->database()->table('aftcms_news')->insert($input, function($error, $callback){
  46.                 $error = $response->error();
  47.                 if($error) return $response->getError($error);
  48.  
  49.                 if(empty($input)) $response->json()->write()->error('No puedes dejar ningún campo vacío');
  50.  
  51.                 if(strlen($input < 5)) $response->json()->write()->error('No puedes dejar '.($input->lenght(5)->count() > 1 ? 'ninguno de los inputs' : 'un input').' con menos de 5 caracteres.');
  52.  
  53.                 $callback = $callback->get([
  54.                     'notice_title', 'notice_subtitle', 'notice_content', 'notice_hash'
  55.                 ]);
  56.  
  57.                 if($request->database()->table('aftcms_news')->select('notice_hash')->where(['notice_hash'=>$callback[4]])->bool())
  58.                     $response->json()->write()->error('Oops, un error inesperado');
  59.  
  60.                 if(!$error)
  61.                     $callback = $request->controller('panel')->notices('create')->data([$input[$callback]]);
  62.             });
  63.         }else{
  64.             $response->json()->write()->error("La identificación de usuario no es correcta");
  65.         }
  66.     }else{
  67.         $response->json()->write()->error("El api key no es correcto");
  68.     }
  69.     return $response;
  70.  
  71. });
  72.  
  73. $app->post('/api/panel/users/post?:action&:action_set', function(Request $request, Response $response){
  74.     $input = $request->body()->input();
  75.     $action = $request->getParams('action');
  76.     $action_set = $request->getParams('action_set');
  77. });
  78.  
  79. $app->post('/api/auth/sign_in/post', function(Request $request, Response $response){
  80.     $input = $request->body()->input();
  81.     $username = $input->text('input.data.username');
  82.     $password = $input->password('input.data.password');
  83.  
  84.     $request->database()->table('users')->find($username, function($error, $callback){
  85.         $error = $response->error();
  86.         if($error) return $response->getError($error);
  87.  
  88.         $callback = $callback->get([
  89.             'password'
  90.         ]);
  91.  
  92.         if(password_verify($password, $callback)){
  93.             if($callback){
  94.                 $response->json()->write('usuario correcto');
  95.             }else{
  96.                 $response->json()->write()->error('usuario incorrecto');
  97.             };
  98.         };
  99.  
  100.     });
  101.     return $response;
  102. });
  103.  
  104. $app->post('/api/auth/sign_up/post', function(Request $request, Response, $response){
  105.     $input = $request->body()->input();
  106.     $username = $input->text('input.data.username');
  107.     $email = $input->email('input.data.email');
  108.     $password = $input->password('input.data.password');
  109.     $password_repeat = $password->repeat();
  110.  
  111.     $request->database()->table('users')->find([$username, $email, $password], function($error, $callback){
  112.         $error = $response->error();
  113.         if ($error) return $response->getError($error);
  114.  
  115.         $checkUsername = $callback->null()->where('username' => $username);
  116.  
  117.         if($checkUsername)
  118.             $response->json()->write()->error('El nombre de usuario ya existe');
  119.  
  120.         $checkEmail = $callback->null()->where('email' => $email);
  121.  
  122.         if($checkEmail)
  123.             $response->json()->write()->error('El email introducido ya existe');
  124.  
  125.         if(!$password_repeat)
  126.             $response->json()->write()->error('Las contraseñas introducidas no son iguales');
  127.  
  128.         if(!$error)
  129.             $callback = $response->json()->write()->create_session()->token()->data($callback);
  130.     });
  131.     return $response;
  132. });
  133.  
  134.  
  135. $app->run();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement