Advertisement
Guest User

Untitled

a guest
Jan 23rd, 2017
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.79 KB | None | 0 0
  1.  
  2. $app->get('/admin', function ($request, $response, $args) {
  3.     // Sample log message
  4.     $this->logger->info("Slim-Skeleton '/' route");
  5.     if($_SESSION["admin"]==true){
  6.         return $this->renderer->render($response, 'admin.phtml', $args);
  7.     }else{
  8.         return $response->withStatus(401)->withHeader('Location', '/login');
  9.     }
  10.    
  11. });
  12.  
  13.  
  14. $app->get('/login', function ($request, $response, $args) {
  15.     if(isset( $_SESSION["user"])){
  16.         $response->withStatus(200)->withHeader('Location', '/');
  17.         return $this->renderer->render($response, 'index.phtml', $args);
  18.     }else{
  19.  
  20.         $this->logger->info("Slim-Skeleton '/login' route");
  21.         // Render admin login view
  22.         return $this->renderer->render($response, 'login.phtml', $args);
  23.     }
  24. });
  25.  
  26. $app->post('/login', function ($request, $response, $args) {
  27.     $sid = session_id();
  28.     $login =$_POST['login'];
  29.     $password =$_POST['password'];
  30.     $user = Users::where('name', $login)->where('password', md5($password))->first();
  31.     if(isset($user) && !empty($user) ){
  32.         $_SESSION["user"] = $login;
  33.         if($user->admin == 1){
  34.             $_SESSION["admin"]=1;
  35.         }
  36.         $sess = new Ses();
  37.         $sess->userId = $user->id;
  38.         $sess->id = $sid;
  39.         $sess->save();
  40.         return $response->withStatus(200)->withHeader('Location', '/');
  41.     }else{
  42.         $args['login_error']=true;
  43.         return $this->renderer->render($response, 'login.phtml', $args);
  44.     }
  45. });
  46.  
  47. //logout
  48. $app->delete('/login/[{id}]', function ($request, $response, $args) {
  49.     session_destroy();  
  50.     $sess = Ses::find($args['id']);
  51.     $sess->delete();
  52.     return $response->withStatus(204);
  53. });
  54.  
  55. $app->get('/register', function ($request, $response, $args) {
  56.     // Sample log message
  57.     $this->logger->info("Slim-Skeleton '/register' route");
  58.     // Render admin login view
  59.     return $this->renderer->render($response, 'register.phtml', $args);
  60. });
  61.  
  62. $app->post('/api/users', function ($request, $response, $args) {
  63.     $login =$_POST['login'];
  64.     $password =$_POST['password'];
  65.  
  66.     $user = users::where('name', $login)
  67.                         ->first();
  68.     if(isset($user) && !empty($user)){
  69.         return $response->withStatus(409);
  70.     }else{
  71.         $user =new users();
  72.         $user->name=$login;
  73.         $user->password=md5($password);
  74.         $user->save();
  75.         return $response->withStatus(201);
  76.     }
  77. });
  78.  
  79.  
  80. $app->get('/api/users', function ($request, $response, $args) {
  81.  
  82.     $users = Users::all();
  83.     $response->getBody()->write($users->toJson());
  84.     return $response;
  85.  
  86. });
  87.  
  88. $app->delete('/api/users/[{id}]', function ($request, $response, $args) {
  89.  
  90.     $user = Users::find($args['id']);
  91.     $user->delete();
  92.     return $this->renderer->render($response, 'index.phtml', $args);
  93.  
  94. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement