Advertisement
Guest User

Untitled

a guest
Aug 27th, 2018
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 3.58 KB | None | 0 0
  1. <?php
  2.  
  3. namespace App\Http\Controllers;
  4.  
  5. use App\Http\Controllers\Controller;
  6. use App\Http\Requests\AuthorAddEditRequest;
  7. use App\Models\User;
  8. use Hash;
  9. use Illuminate\Http\Request;
  10. use Uuid;
  11.  
  12. class UserController extends Controller
  13. {
  14.  
  15.     public function addEditAuthor(AuthorAddEditRequest $request, User $user)
  16.     {
  17.         $validatedData = $request->validated();
  18.  
  19.         $id = $request->input('id');
  20.         $password = $request->input('password');
  21.         $pass = (string) Uuid::generate();
  22.         $pass = Hash::make(substr($pass, 0, strpos($pass, '-')));
  23.  
  24.         if (!empty($id)) {
  25.             $user = $user->findOrFail($id);
  26.             if (!empty($password)) {
  27.                 $user->password = Hash::make($password);
  28.             }
  29.         } else {
  30.             $user->password = $pass;
  31.         }
  32.  
  33.         $user->name = $request->input('name');
  34.         $user->email = $request->input('email');
  35.         $user->privilege = 2;
  36.         $user->phone = $request->input('phone');
  37.         $user->description = $request->input('description');
  38.         $user->save();
  39.  
  40.         $toReturn = array(
  41.             'success' => 1,
  42.         );
  43.  
  44.         return $this->returnJsonResponse($toReturn);
  45.     }
  46.  
  47.     public function getAuthorById(Request $request, User $user, $author_id)
  48.     {
  49.         $search = array(
  50.             'author' => true,
  51.             'id' => $author_id,
  52.         );
  53.         $user = $user->getFiltered($search);
  54.  
  55.         $toReturn = array(
  56.             'success' => 0,
  57.             'message' => array(),
  58.         );
  59.  
  60.         if (!$user->isEmpty()) {
  61.             $toReturn['success'] = 1;
  62.             $toReturn['message'] = $user;
  63.         }
  64.  
  65.         return $this->returnJsonResponse($toReturn);
  66.     }
  67.  
  68.     public function getAuthors(Request $request, User $user)
  69.     {
  70.         $search = array(
  71.             'author' => true,
  72.             'sidx' => $request->input('sidx'),
  73.             'sord' => $request->input('sord'),
  74.             'limit' => $request->input('rows', 10),
  75.             'page' => $request->input('page', 1),
  76.             'noLimit' => $request->input('no_limit', false),
  77.         );
  78.  
  79.         $users = $user->getFiltered($search);
  80.         $usersCount = $user->getFiltered($search, true);
  81.         if ($usersCount == 0) {
  82.             $numPages = 0;
  83.         } else {
  84.             if ($usersCount % $search['limit'] > 0) {
  85.                 $numPages = ($usersCount - ($usersCount % $search['limit'])) / $search['limit'] + 1;
  86.             } else {
  87.                 $numPages = $usersCount / $search['limit'];
  88.             }
  89.         }
  90.  
  91.         $toReturn = array(
  92.             'rows' => array(),
  93.             'records' => $usersCount,
  94.             'page' => $search['page'],
  95.             'total' => $numPages,
  96.         );
  97.  
  98.         $isGrid = $request->input('is_grid', false); // Checking if the caller is jqGrid -> if yes, we add actions to the response..
  99.  
  100.         foreach ($users as $user) {
  101.             $actions = "";
  102.             if ($isGrid) {
  103.  
  104.             } else {
  105.                 $actions = $user->id;
  106.             }
  107.  
  108.             $tmp = array(
  109.                 'id' => $user->id,
  110.                 'cell' => array(
  111.                     'actions' => $actions,
  112.                     'name' => $user->name,
  113.                     'privilege' => $user->privilege,
  114.                     'phone' => $user->phone,
  115.                     'email' => $user->email,
  116.                     'description' => $user->description,
  117.                 ),
  118.             );
  119.  
  120.             $toReturn['rows'][] = $tmp;
  121.         }
  122.  
  123.         return $this->returnJsonResponse($toReturn);
  124.     }
  125.  
  126. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement