bheng8200

PasteController.php

Feb 10th, 2022
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.96 KB | None | 0 0
  1. <?php
  2.  
  3. namespace App\Http\Controllers;
  4. use View, Request, Str, Redirect, Validator;
  5.  
  6. use App\Paste;
  7.  
  8.  
  9.  
  10. class PasteController extends Controller {
  11.  
  12.     public function create()
  13.     {
  14.         return View::make('layouts.fe.pastes.create');
  15.  
  16.     }
  17.  
  18.  
  19.     public function store()
  20.     {
  21.  
  22.  
  23.         function isJson($string) {
  24.             json_decode($string);
  25.             return json_last_error() === JSON_ERROR_NONE;
  26.         }
  27.        
  28.  
  29.         // dd(isJson(Request::get('data','')));
  30.  
  31.         if(isJson(Request::get('data',''))){
  32.  
  33.             $paste             = new Paste;
  34.             $paste->status     = 0;
  35.             $paste->uuid       = Str::uuid()->toString();
  36.             $paste->name       = Request::get('name',Str::random(4));
  37.             $paste->password   = Request::get('password','');
  38.             $paste->expiration = Request::get('expiration','');
  39.             $paste->type       = 'json';
  40.             $paste->data       = json_decode(Request::get('data',''));
  41.             $paste->raw        = Request::get('data','');
  42.             $paste->save();
  43.  
  44.         } else {
  45.  
  46.             $paste             = new Paste;
  47.             $paste->status     = 0;
  48.             $paste->uuid       = Str::uuid()->toString();
  49.             $paste->name       = Request::get('name',Str::random(4));
  50.             $paste->password   = Request::get('password','');
  51.             $paste->expiration = Request::get('expiration','');
  52.             $paste->type       = 'txt';
  53.             $paste->data       = Request::get('data','');
  54.             $paste->raw        = Request::get('data','');
  55.             $paste->save();
  56.  
  57.         }
  58.  
  59.         return Redirect::to('/paste/'.base64_encode($paste->uuid))->with('success', 'Created');
  60.  
  61.     }
  62.  
  63.  
  64.     public function show($uuid)
  65.     {
  66.         $paste  = Paste::where('uuid', base64_decode($uuid))->first();
  67.         return View::make('layouts.fe.pastes.show', get_defined_vars());
  68.     }
  69.  
  70.     public function raw($uuid)
  71.     {
  72.         $paste  = Paste::where('uuid', base64_decode($uuid))->first();
  73.         // dd($paste->raw);
  74.  
  75.         if($paste->type == 'json'){
  76.             return response()->json($paste->data);
  77.         } else {
  78.             return '<pre>'.$paste->raw.'</pre>';
  79.             // return str_replace(PHP_EOL, '<br>', $paste->raw);
  80.         }
  81.        
  82.     }
  83.  
  84. }
  85.  
Add Comment
Please, Sign In to add comment