Find this useful? Enter your email to receive occasional updates for securing PHP code.
Signing you up...
Thank you for signing up!
PHP Decode
namespace App\Http\Controllers\API; use App\Http\Controllers\Controller; use Illuminate\H..
Decoded Output download
<? namespace App\Http\Controllers\API; use App\Http\Controllers\Controller; use Illuminate\Http\Request; use Spatie\Permission\Models\Permission; use Spatie\Permission\Models\Role; use Illuminate\Support\Facades\Hash; use App\Models\User; use Illuminate\Support\Facades\Validator; use App\Jobs\SendEmailUserCreateJob; use Illuminate\Support\Str; use Illuminate\Support\Facades\Log; use DB; use Maatwebsite\Excel\Facades\Excel; use App\Exports\UserExport; use App\Imports\UserImport; use App\Helpers\NotificationHelper; class UserController extends Controller { public function index() { $this->authorize("users.index"); try { $users = User::getUsers()->get()->map(function ($q, $key) { $arr = array(); $arr["index"] = $key + 1; $arr["id"] = $q->id; $arr["name"] = $q->name; $arr["email"] = $q->email; $arr["mobile"] = $q->mobile; $arr["department"] = $q->department ? $q->department->name : ''; $arr["roles_name"] = $q->roles()->get()->map(function ($role) { $arr = array(); $arr["id"] = $role->id; $arr["name"] = $role->name; return $arr; }); $arr["gender"] = $q->gender; $arr["matrial_status"] = $q->matrial_status; $arr["birth_date"] = $q->birth_date; $arr["identity_type"] = $q->identity_type; $arr["identity_number"] = $q->identity_number; $arr["nationality"] = $q->nationality ? $q->nationality->name : ''; $arr["company"] = $q->company ? $q->company->name : ''; $arr["degree"] = $q->degree ? $q->degree->name : ''; $arr["major"] = $q->major ? $q->major->name : ''; $arr["position"] = $q->position; $arr["avatar"] = $q->avatar; $arr["status"] = $q->status; return $arr; }); if (count($users) == 0) { return response()->json(array("status" => false, "msg" => __("messages.no_data_found"), "result" => '')); } return response()->json(array("status" => true, "msg" => __("messages.success"), "result" => $users)); } catch (\Exception $e) { return response()->json(array("status" => false, "msg" => __("messages.error_found"), "errors" => '', "result" => '')); } } public function store(Request $request) { $this->authorize("users.create"); $validator = Validator::make($request->all(), array("email" => "required|email|max:255|unique:users,email", "mobile" => "required|regex:/^05\d{8}$/|unique:users,mobile", "department_id" => "required|integer", "f_name" => "required|string|max:30|alpha_num", "m_name" => "nullable|string|max:30|alpha_num", "l_name" => "required|string|max:30|alpha_num", "birth_date" => "nullable|date", "nationality_id" => "nullable|integer", "identity_number" => "nullable|string|regex:/^[12]\d{9}$/", "address" => "nullable|string|max:255", "position" => "nullable|string|max:255", "avatar" => "nullable|string|max:500"), include base_path("resources/lang/" . trans("lang.code") . "/validation.php")); if ($validator->fails()) { $messages = $validator->errors()->all(); return response()->json(array("status" => false, "msg" => $messages[0], "errors" => $validator->errors())); } try { $add_user = User::create(array("email" => $request->email, "mobile" => $request->mobile, "password" => Hash::make("password"), "f_name" => $request->f_name, "m_name" => $request->m_name, "l_name" => $request->l_name, "gender" => $request->gender, "matrial_status" => $request->matrial_status, "address" => $request->address, "birth_date" => $request->birth_date, "nationality_id" => $request->nationality_id, "identity_type" => $request->identity_type, "identity_number" => $request->identity_number, "identity_number" => Hash::make($request->identity_number), "degree_id" => $request->degree_id, "major_id" => $request->major_id, "department_id" => $request->department_id, "position" => $request->position, "avatar" => $request->avatar, "status" => $request->status)); $add_user->save(); $roleNames = $request->roles_name; foreach ($roleNames as $roleName) { $add_user->assignRole($roleName); } if ($add_user) { NotificationHelper::sendEmailUser($add_user->id, trans("notify.user_created"), "Welcome" . " " . $add_user->name, trans("notify.user_created_body") . " " . $add_user->email, "/"); } return response()->json(array("status" => true, "msg" => __("messages.saved"), "result" => $add_user)); } catch (\Exception $e) { return response()->json(array("status" => false, "msg" => __("messages.error_found"), "errors" => '', "result" => '')); } } public function update($id, Request $request) { $this->authorize("users.edit"); $validator = Validator::make($request->all(), array("email" => "required|email|max:255|unique:users,email," . $request->id, "mobile" => "required|mobile_number|unique:users,mobile," . $request->id, "department_id" => "required|integer", "f_name" => "required|string|max:30|alpha_num", "m_name" => "nullable|string|max:30|alpha_num", "l_name" => "required|string|max:30|alpha_num", "birth_date" => "nullable|date", "nationality_id" => "nullable|integer", "identity_number" => "nullable|string|identity_number", "address" => "nullable|string|max:255", "position" => "nullable|string|max:255", "avatar" => "nullable|string|max:500"), include base_path("resources/lang/" . trans("lang.code") . "/validation.php")); if ($validator->fails()) { $messages = $validator->errors()->all(); return response()->json(array("status" => false, "msg" => $messages[0], "errors" => $validator->errors())); } try { $user = User::find($id); $userBeforeUpdate = User::find($id); $update_user = $user->update(array("email" => $request->email, "mobile" => $request->mobile, "f_name" => $request->f_name, "m_name" => $request->m_name, "l_name" => $request->l_name, "gender" => $request->gender, "matrial_status" => $request->matrial_status, "address" => $request->address, "birth_date" => $request->birth_date, "nationality_id" => $request->nationality_id, "identity_type" => $request->identity_type, "degree_id" => $request->degree_id, "major_id" => $request->major_id, "department_id" => $request->department_id, "position" => $request->position, "avatar" => $request->avatar)); if ($request->input("identity_number") != null) { $user->identity_number = Hash::make($request->identity_number); $user->save(); } $roleNames = $request->roles_name; foreach ($roleNames as $roleName) { $user->assignRole($roleName); } if ($update_user) { $userAfterUpdate = User::find($id); $hasChanged = $userBeforeUpdate->getAttributes() != $userAfterUpdate->getAttributes(); if ($hasChanged) { NotificationHelper::sendEmailUser($id, trans("notify.user_updated"), "Dear" . " " . $user->name, trans("notify.user_updated_body") . " " . $user->email, "/"); } } return response()->json(array("status" => true, "msg" => __("messages.updated"), "result" => $update_user)); } catch (\Exception $e) { return response()->json(array("status" => false, "msg" => __("messages.error_found"), "msg" => $e->getMessage(), "errors" => '', "result" => '')); } } public function show($id) { $this->authorize("users.show"); try { $user = User::find($id); if (empty($user)) { return response()->json(array("status" => false, "msg" => __("messages.failed"), "result" => '')); } $user->nationality_name = $user->nationality ? $user->nationality->name : ''; $user->roles_name = $user->roles()->exists() ? $user->roles()->pluck("name")->toArray() : ''; $user->identity_number = null; unset($user->nationality); return response()->json(array("status" => true, "msg" => __("messages.success"), "result" => $user)); } catch (\Exception $e) { return response()->json(array("status" => false, "msg" => __("messages.error_found"), "errors" => '', "result" => '')); } } public function destroy($id) { $this->authorize("users.delete"); $user = User::find($id); if (empty($user)) { return response()->json(array("status" => false, "msg" => __("messages.not_found"), "result" => '')); } try { if ($user->projectManagers()->exists() || $user->projectSupervisors()->exists() || $user->projectCompliances()->exists() || $user->depManager()->exists() || $user->depSupervisor()->exists() || $user->tasks()->exists()) { return response()->json(array("status" => false, "msg" => __("messages.foreign_entry"), "result" => '')); } else { $user->delete(); } return response()->json(array("status" => true, "msg" => __("messages.deleted"), "result" => '')); } catch (\Exception $e) { return response()->json(array("status" => false, "msg" => __("messages.error_found"), "msg" => $e->getMessage(), "result" => '')); } } public function exportExcel(Request $request) { $this->authorize("users.create"); if (!\Auth::check() || !\Auth::user()->hasRole("superadmin")) { return response()->json(array("error" => "Unauthorized"), 403); } return Excel::download(new UserExport(), "Users.xlsx"); } function importExcel(Request $request) { $this->authorize("users.create"); ini_set("memory_limit", "-1"); set_time_limit(0); $validator = Validator::make($request->all(), array("import_file" => "required|mimes:xls,xlsx"), include base_path("resources/lang/" . trans("lang.code") . "/validation.php")); if ($validator->fails()) { $messages = $validator->errors()->all(); return response()->json(array("status" => false, "msg" => $messages[0], "errors" => $validator->errors())); } $data = Excel::toArray(new UserImport(), $request->file("import_file")); if (empty($data) || !isset($data[0]) || count($data[0]) == 0) { return response()->json(array("status" => false, "msg" => __("messages.no_data_found"), "result" => '')); } try { $errors = array(); \DB::beginTransaction(); $datalist = $data; if (isset($datalist[0])) { $datalist = $data[0]; } $errors = $this->storeFromExcel($datalist); \DB::commit(); } catch (\Exception $e) { \DB::rollBack(); return response()->json(array("status" => false, "msg" => __("messages.error_found"), "result" => '')); } return response()->json(array("status" => true, "result" => $errors)); } public function storeFromExcel($collections) { $result = array(); $errors = array(); $scount = 0; $count = count($collections); foreach ($collections as $key => $row) { $errors[$key]["row"] = $key + 1; $errors[$key]["status"] = true; $validator = Validator::make($row, array("f_name" => "required|string|alpha_num", "m_name" => "string|alpha_num", "l_name" => "required|string|alpha_num", "email" => "required|email|max:255|unique:users,email", "mobile" => "required|string|unique:users,mobile|regex:/^[0-9 -+]*$/", "department_name_en" => "required|string|exists:departments,name_en", "role_name" => "required|string|exists:roles,name"), include base_path("resources/lang/" . trans("lang.code") . "/validation.php")); if ($validator->fails()) { $messages = $validator->errors()->all(); $errors[$key]["errors"] = $messages; $errors[$key]["status"] = false; } $f_name = $row["f_name"]; $m_name = $row["m_name"]; $l_name = $row["l_name"]; $email = $row["email"]; $mobile = $row["mobile"]; $department_name_en = $row["department_name_en"]; $role_name = $row["role_name"]; $check_department = \App\Models\Department::where("name_en", $row["department_name_en"])->first(); if (!empty($check_department)) { $department_id = $check_department->id; } if ($errors[$key]["status"]) { $add_user = User::create(array("email" => $email, "mobile" => $mobile, "password" => Hash::make("password"), "f_name" => $f_name, "m_name" => $m_name, "l_name" => $l_name, "department_id" => $department_id, "status" => 1)); $add_user->save(); $add_user->assignRole($role_name); if ($add_user) { $scount++; } } else { $errors[$key]["status"] = false; } } $result["errors"] = $errors; $result["scount"] = $scount; $result["fcount"] = $count - $scount; return $result; } public function projectCompliances() { if (!\Auth::check() || !\Auth::user()->hasAnyRole(array("superadmin", "admin"))) { return response()->json(array("error" => "Unauthorized"), 403); } $compliances = User::getCompliances()->get()->map(function ($q) { $arr = $q->getUserLimitSelect(); return $arr; }); if (count($compliances) == 0) { return response()->json(array("status" => false, "msg" => __("lang.faild"), "result" => '')); } return response()->json(array("status" => true, "msg" => __("messages.success"), "result" => $compliances)); } public function projectSupervisors() { if (!\Auth::check() || !\Auth::user()->hasAnyRole(array("superadmin", "admin"))) { return response()->json(array("error" => "Unauthorized"), 403); } $supervisors = User::getProjectSupervisors()->get()->map(function ($q) { $arr = $q->getUserLimitSelect(); return $arr; }); if (count($supervisors) == 0) { return response()->json(array("status" => false, "msg" => __("lang.faild"), "result" => '')); } return response()->json(array("status" => true, "msg" => __("messages.success"), "result" => $supervisors)); } public function departmentManagers(Request $request) { if (!\Auth::check() || !\Auth::user()->hasAnyRole(array("superadmin", "admin"))) { return response()->json(array("error" => "Unauthorized"), 403); } $managers = User::getDepartmentManagers(); if ($request->department_id) { $department_id = $request->department_id; $managers = $managers->where(function ($query) use($department_id) { $query->where("department_id", $department_id)->orWhereNull("department_id"); }); } else { $managers = $managers->whereNull("department_id"); } $managers = $managers->get()->map(function ($q) { $arr = $q->getUserLimitSelect(); return $arr; }); if (count($managers) == 0) { return response()->json(array("status" => false, "msg" => __("lang.faild"), "result" => array())); } return response()->json(array("status" => true, "msg" => __("messages.success"), "result" => $managers)); } public function departmentSupervisors(Request $request) { if (!\Auth::check() || !\Auth::user()->hasAnyRole(array("superadmin", "admin"))) { return response()->json(array("error" => "Unauthorized"), 403); } $supervisors = User::getDepartmentSupervisors(); if ($request->department_id) { $department_id = $request->department_id; $supervisors = $supervisors->where(function ($query) use($department_id) { $query->where("department_id", $department_id)->orWhereNull("department_id"); }); } else { $managers = $supervisors->whereNull("department_id"); } $supervisors = $supervisors->get()->map(function ($q) { $arr = $q->getUserLimitSelect(); return $arr; }); if (count($supervisors) == 0) { return response()->json(array("status" => false, "msg" => __("lang.faild"), "result" => array())); } return response()->json(array("status" => true, "msg" => __("messages.success"), "result" => $supervisors)); } public function taskUsers() { $supervisors = User::getTaskUsers()->get()->map(function ($q) { $arr = $q->getUserLimitSelect(); return $arr; }); if (count($supervisors) == 0) { return response()->json(array("status" => false, "msg" => __("lang.faild"), "result" => '')); } return response()->json(array("status" => true, "msg" => __("messages.success"), "result" => $supervisors)); } public function taskSupervisors() { $supervisors = User::getTaskSupervisors()->get()->map(function ($q) { $arr = $q->getUserLimitSelect(); return $arr; }); if (count($supervisors) == 0) { return response()->json(array("status" => false, "msg" => __("lang.faild"), "result" => '')); } return response()->json(array("status" => true, "msg" => __("messages.success"), "result" => $supervisors)); } } ?>
Did this file decode correctly?
Original Code
namespace App\Http\Controllers\API; use App\Http\Controllers\Controller; use Illuminate\Http\Request; use Spatie\Permission\Models\Permission; use Spatie\Permission\Models\Role; use Illuminate\Support\Facades\Hash; use App\Models\User; use Illuminate\Support\Facades\Validator; use App\Jobs\SendEmailUserCreateJob; use Illuminate\Support\Str; use Illuminate\Support\Facades\Log; use DB; use Maatwebsite\Excel\Facades\Excel; use App\Exports\UserExport; use App\Imports\UserImport; use App\Helpers\NotificationHelper; class UserController extends Controller { public function index() { $this->authorize("\165\163\145\x72\x73\56\x69\156\144\145\x78"); try { $users = User::getUsers()->get()->map(function ($q, $key) { $arr = array(); $arr["\151\x6e\144\145\x78"] = $key + 1; $arr["\151\144"] = $q->id; $arr["\156\141\155\145"] = $q->name; $arr["\x65\x6d\141\151\x6c"] = $q->email; $arr["\x6d\x6f\142\151\154\x65"] = $q->mobile; $arr["\x64\145\160\141\162\164\x6d\145\156\x74"] = $q->department ? $q->department->name : ''; $arr["\162\x6f\x6c\145\163\137\x6e\141\x6d\x65"] = $q->roles()->get()->map(function ($role) { $arr = array(); $arr["\x69\144"] = $role->id; $arr["\x6e\x61\155\x65"] = $role->name; return $arr; }); $arr["\147\145\156\x64\x65\162"] = $q->gender; $arr["\x6d\141\x74\162\x69\141\154\x5f\x73\164\141\164\x75\x73"] = $q->matrial_status; $arr["\x62\151\162\x74\150\x5f\x64\141\164\x65"] = $q->birth_date; $arr["\151\144\x65\x6e\x74\151\x74\x79\137\x74\x79\x70\x65"] = $q->identity_type; $arr["\x69\144\145\156\x74\x69\x74\x79\x5f\156\x75\x6d\x62\145\162"] = $q->identity_number; $arr["\156\x61\164\x69\157\x6e\141\154\151\164\x79"] = $q->nationality ? $q->nationality->name : ''; $arr["\143\157\x6d\x70\x61\x6e\x79"] = $q->company ? $q->company->name : ''; $arr["\144\145\147\162\145\145"] = $q->degree ? $q->degree->name : ''; $arr["\155\x61\x6a\157\162"] = $q->major ? $q->major->name : ''; $arr["\x70\157\x73\151\164\151\x6f\x6e"] = $q->position; $arr["\141\x76\x61\164\141\162"] = $q->avatar; $arr["\x73\164\141\164\x75\163"] = $q->status; return $arr; }); if (count($users) == 0) { return response()->json(array("\163\x74\141\164\165\163" => false, "\x6d\x73\147" => __("\155\x65\x73\163\x61\x67\145\x73\x2e\156\x6f\x5f\144\141\x74\x61\137\x66\157\x75\156\x64"), "\162\x65\163\165\154\x74" => '')); } return response()->json(array("\163\164\x61\164\165\163" => true, "\155\x73\147" => __("\155\x65\163\163\141\x67\145\x73\x2e\x73\x75\x63\143\145\x73\x73"), "\162\x65\163\165\154\164" => $users)); } catch (\Exception $e) { return response()->json(array("\x73\164\141\164\x75\163" => false, "\x6d\x73\x67" => __("\x6d\x65\x73\163\x61\147\x65\163\x2e\x65\162\162\x6f\162\137\146\157\165\x6e\x64"), "\145\x72\162\157\162\163" => '', "\162\x65\163\x75\154\164" => '')); } } public function store(Request $request) { $this->authorize("\165\x73\x65\x72\163\56\x63\x72\145\x61\x74\x65"); $validator = Validator::make($request->all(), array("\x65\155\141\151\154" => "\162\x65\x71\165\x69\x72\x65\144\x7c\145\155\141\151\154\174\155\141\170\x3a\x32\x35\65\174\x75\x6e\x69\161\165\x65\x3a\165\x73\x65\162\x73\54\x65\x6d\x61\151\154", "\x6d\157\142\x69\154\145" => "\x72\x65\161\165\151\162\145\x64\x7c\x72\x65\x67\145\x78\x3a\x2f\x5e\60\65\134\x64\173\70\x7d\x24\x2f\174\x75\x6e\151\x71\165\x65\x3a\165\163\145\162\x73\x2c\x6d\157\x62\x69\x6c\145", "\x64\145\x70\x61\x72\x74\155\145\156\x74\x5f\x69\x64" => "\x72\x65\x71\165\x69\x72\145\x64\174\x69\156\x74\x65\147\145\162", "\x66\x5f\156\x61\x6d\x65" => "\x72\145\161\165\151\162\145\x64\174\x73\164\x72\x69\x6e\x67\174\x6d\x61\x78\x3a\x33\x30\174\141\x6c\x70\150\x61\x5f\x6e\165\155", "\155\137\156\141\x6d\x65" => "\156\x75\154\x6c\141\142\x6c\145\174\x73\164\162\x69\156\x67\174\x6d\x61\170\x3a\x33\60\174\x61\154\160\150\141\137\156\165\x6d", "\154\137\156\x61\x6d\145" => "\162\x65\x71\165\x69\162\x65\144\x7c\x73\x74\162\x69\156\x67\x7c\155\141\x78\72\x33\60\174\141\154\160\x68\141\x5f\x6e\x75\155", "\x62\x69\x72\x74\x68\137\144\141\164\145" => "\156\165\x6c\x6c\x61\x62\154\145\x7c\144\141\164\x65", "\x6e\x61\x74\151\x6f\156\x61\154\151\164\x79\x5f\x69\x64" => "\x6e\165\x6c\x6c\141\142\154\x65\x7c\x69\x6e\x74\145\147\x65\162", "\x69\x64\x65\x6e\164\151\x74\x79\137\x6e\165\155\142\x65\x72" => "\156\165\154\154\x61\142\x6c\145\174\163\164\x72\x69\x6e\147\x7c\162\145\x67\145\170\72\57\136\133\x31\62\x5d\x5c\x64\x7b\71\175\x24\x2f", "\x61\x64\144\162\x65\x73\163" => "\156\165\x6c\x6c\x61\x62\154\x65\174\x73\164\x72\x69\156\x67\174\x6d\x61\x78\x3a\x32\65\x35", "\x70\157\x73\x69\x74\151\157\156" => "\x6e\165\154\x6c\141\x62\154\145\x7c\x73\x74\162\151\x6e\x67\174\x6d\x61\170\72\62\x35\x35", "\x61\166\141\164\x61\x72" => "\x6e\x75\154\x6c\x61\142\x6c\x65\x7c\x73\164\x72\x69\x6e\x67\x7c\x6d\141\170\x3a\65\x30\x30"), include base_path("\162\x65\163\157\165\x72\143\145\x73\x2f\x6c\141\156\x67\x2f" . trans("\x6c\x61\156\x67\56\x63\x6f\144\145") . "\57\x76\x61\x6c\151\x64\141\x74\151\x6f\156\x2e\x70\x68\160")); if ($validator->fails()) { $messages = $validator->errors()->all(); return response()->json(array("\163\164\x61\164\165\x73" => false, "\155\163\x67" => $messages[0], "\x65\x72\x72\157\162\163" => $validator->errors())); } try { $add_user = User::create(array("\x65\155\x61\151\154" => $request->email, "\x6d\157\x62\151\x6c\x65" => $request->mobile, "\160\141\163\x73\167\x6f\162\144" => Hash::make("\160\141\163\x73\x77\x6f\162\x64"), "\x66\137\x6e\x61\155\x65" => $request->f_name, "\x6d\137\156\x61\x6d\145" => $request->m_name, "\x6c\x5f\x6e\x61\155\x65" => $request->l_name, "\147\145\x6e\x64\145\162" => $request->gender, "\155\141\x74\162\151\141\154\137\x73\164\x61\164\x75\163" => $request->matrial_status, "\x61\144\x64\162\x65\163\163" => $request->address, "\x62\151\x72\164\150\137\144\x61\x74\x65" => $request->birth_date, "\156\141\164\151\x6f\x6e\x61\x6c\x69\x74\x79\x5f\x69\x64" => $request->nationality_id, "\151\x64\x65\x6e\164\151\164\x79\x5f\x74\x79\160\x65" => $request->identity_type, "\151\144\145\156\164\x69\164\x79\x5f\x6e\165\x6d\142\145\x72" => $request->identity_number, "\151\x64\x65\156\x74\151\x74\171\x5f\x6e\x75\155\142\x65\x72" => Hash::make($request->identity_number), "\x64\145\147\162\x65\145\x5f\x69\144" => $request->degree_id, "\x6d\x61\x6a\x6f\x72\137\151\144" => $request->major_id, "\x64\x65\160\141\x72\164\x6d\x65\156\164\x5f\151\x64" => $request->department_id, "\x70\x6f\163\x69\164\x69\x6f\156" => $request->position, "\141\166\141\x74\x61\162" => $request->avatar, "\x73\x74\x61\164\x75\x73" => $request->status)); $add_user->save(); $roleNames = $request->roles_name; foreach ($roleNames as $roleName) { $add_user->assignRole($roleName); } if ($add_user) { NotificationHelper::sendEmailUser($add_user->id, trans("\x6e\x6f\x74\151\146\x79\x2e\x75\163\x65\x72\x5f\143\162\x65\141\x74\x65\144"), "\x57\x65\x6c\143\157\155\145" . "\40" . $add_user->name, trans("\x6e\157\164\151\x66\x79\x2e\165\x73\x65\162\x5f\x63\162\145\141\x74\x65\x64\137\x62\157\x64\171") . "\40\40\x20" . $add_user->email, "\57"); } return response()->json(array("\163\x74\141\164\x75\x73" => true, "\155\163\147" => __("\x6d\145\x73\x73\x61\x67\x65\x73\56\x73\x61\166\145\144"), "\162\x65\163\x75\x6c\x74" => $add_user)); } catch (\Exception $e) { return response()->json(array("\x73\x74\x61\164\x75\163" => false, "\155\163\147" => __("\x6d\x65\x73\163\x61\x67\x65\x73\56\145\162\x72\157\x72\x5f\146\157\165\x6e\144"), "\x65\162\x72\157\x72\x73" => '', "\162\x65\x73\165\x6c\x74" => '')); } } public function update($id, Request $request) { $this->authorize("\x75\x73\x65\162\163\56\x65\144\x69\164"); $validator = Validator::make($request->all(), array("\x65\155\141\x69\154" => "\162\145\161\165\x69\162\145\144\x7c\x65\155\141\151\x6c\x7c\x6d\x61\x78\72\62\65\x35\x7c\165\x6e\x69\x71\165\145\x3a\x75\163\145\x72\163\x2c\x65\x6d\x61\x69\x6c\x2c" . $request->id, "\155\157\142\x69\154\145" => "\x72\145\x71\165\x69\x72\x65\144\174\x6d\157\142\x69\x6c\x65\x5f\x6e\165\155\142\145\x72\174\x75\156\x69\161\165\x65\x3a\165\163\145\x72\163\54\155\157\x62\151\154\145\x2c" . $request->id, "\144\x65\160\141\162\x74\x6d\x65\156\x74\137\151\144" => "\x72\145\x71\x75\151\162\x65\144\x7c\151\x6e\x74\x65\147\x65\x72", "\146\137\156\x61\x6d\x65" => "\x72\145\161\x75\151\x72\x65\144\174\x73\x74\x72\x69\156\x67\174\x6d\x61\x78\x3a\63\x30\x7c\x61\154\x70\x68\x61\137\x6e\x75\x6d", "\x6d\x5f\156\x61\x6d\x65" => "\x6e\x75\x6c\154\141\x62\154\x65\174\163\x74\x72\151\x6e\x67\174\155\141\x78\x3a\x33\x30\x7c\141\x6c\160\150\x61\137\156\x75\155", "\x6c\x5f\156\141\155\x65" => "\162\145\x71\x75\151\x72\145\144\174\163\164\x72\151\156\x67\x7c\155\141\170\72\x33\x30\174\x61\x6c\160\x68\141\x5f\x6e\x75\155", "\142\151\x72\x74\150\137\144\x61\x74\145" => "\x6e\x75\154\154\x61\x62\154\x65\x7c\144\x61\164\145", "\x6e\141\x74\x69\x6f\x6e\x61\x6c\151\x74\171\137\151\x64" => "\156\x75\154\x6c\x61\142\x6c\145\174\151\x6e\x74\145\x67\145\162", "\151\x64\145\156\164\151\x74\x79\137\x6e\165\x6d\x62\x65\162" => "\156\165\154\154\x61\142\154\145\x7c\163\164\162\151\156\147\x7c\151\144\x65\x6e\164\151\164\x79\137\x6e\165\x6d\142\x65\162", "\141\144\x64\x72\x65\x73\x73" => "\156\x75\x6c\154\141\142\154\145\x7c\x73\x74\x72\151\156\x67\x7c\155\x61\x78\72\x32\65\x35", "\x70\157\x73\x69\x74\151\x6f\x6e" => "\x6e\165\x6c\x6c\141\142\154\145\174\163\164\162\151\x6e\147\174\155\141\170\72\x32\x35\65", "\141\x76\x61\x74\x61\x72" => "\x6e\165\154\x6c\141\x62\154\x65\x7c\163\164\x72\x69\156\147\x7c\x6d\x61\x78\72\65\60\60"), include base_path("\162\145\163\x6f\x75\x72\x63\145\x73\x2f\x6c\141\156\147\57" . trans("\x6c\x61\x6e\x67\x2e\x63\x6f\x64\x65") . "\x2f\166\141\x6c\x69\144\x61\164\151\157\156\x2e\160\150\160")); if ($validator->fails()) { $messages = $validator->errors()->all(); return response()->json(array("\163\x74\x61\164\165\x73" => false, "\155\163\x67" => $messages[0], "\x65\x72\x72\157\x72\163" => $validator->errors())); } try { $user = User::find($id); $userBeforeUpdate = User::find($id); $update_user = $user->update(array("\145\155\x61\x69\154" => $request->email, "\155\x6f\x62\x69\154\x65" => $request->mobile, "\146\137\156\x61\x6d\x65" => $request->f_name, "\155\137\156\x61\x6d\x65" => $request->m_name, "\154\x5f\x6e\x61\x6d\x65" => $request->l_name, "\147\145\x6e\x64\145\x72" => $request->gender, "\x6d\x61\164\x72\x69\x61\154\137\x73\164\x61\x74\x75\x73" => $request->matrial_status, "\x61\x64\x64\162\145\163\163" => $request->address, "\142\x69\162\164\150\x5f\x64\141\x74\x65" => $request->birth_date, "\x6e\x61\x74\x69\x6f\x6e\x61\154\x69\x74\x79\137\151\144" => $request->nationality_id, "\151\x64\145\x6e\x74\151\164\x79\137\x74\171\160\x65" => $request->identity_type, "\144\145\147\162\x65\145\x5f\151\x64" => $request->degree_id, "\x6d\141\152\157\162\137\151\144" => $request->major_id, "\144\x65\160\x61\x72\164\155\x65\156\164\x5f\151\x64" => $request->department_id, "\160\x6f\x73\151\164\151\x6f\156" => $request->position, "\x61\166\x61\164\x61\162" => $request->avatar)); if ($request->input("\151\x64\145\156\164\x69\164\x79\x5f\x6e\x75\155\142\x65\162") != null) { $user->identity_number = Hash::make($request->identity_number); $user->save(); } $roleNames = $request->roles_name; foreach ($roleNames as $roleName) { $user->assignRole($roleName); } if ($update_user) { $userAfterUpdate = User::find($id); $hasChanged = $userBeforeUpdate->getAttributes() != $userAfterUpdate->getAttributes(); if ($hasChanged) { NotificationHelper::sendEmailUser($id, trans("\x6e\157\164\151\x66\171\x2e\x75\x73\x65\162\x5f\x75\x70\144\x61\164\145\x64"), "\x44\145\x61\x72" . "\x20" . $user->name, trans("\x6e\157\x74\151\x66\171\56\x75\163\145\162\x5f\165\160\144\x61\x74\x65\x64\137\x62\x6f\144\x79") . "\40\x20\40" . $user->email, "\x2f"); } } return response()->json(array("\163\164\x61\x74\165\x73" => true, "\x6d\x73\x67" => __("\x6d\x65\x73\x73\x61\147\145\x73\56\165\x70\144\x61\164\x65\144"), "\x72\x65\x73\165\154\x74" => $update_user)); } catch (\Exception $e) { return response()->json(array("\163\x74\141\x74\x75\163" => false, "\155\x73\x67" => __("\x6d\x65\163\163\x61\x67\x65\x73\x2e\x65\162\162\157\162\137\x66\157\x75\156\x64"), "\155\163\147" => $e->getMessage(), "\145\162\162\x6f\x72\x73" => '', "\x72\145\x73\x75\x6c\x74" => '')); } } public function show($id) { $this->authorize("\x75\x73\145\x72\163\x2e\163\150\157\x77"); try { $user = User::find($id); if (empty($user)) { return response()->json(array("\163\x74\141\164\x75\163" => false, "\x6d\x73\147" => __("\x6d\x65\163\163\141\x67\x65\x73\56\146\141\x69\x6c\145\144"), "\x72\x65\163\x75\x6c\x74" => '')); } $user->nationality_name = $user->nationality ? $user->nationality->name : ''; $user->roles_name = $user->roles()->exists() ? $user->roles()->pluck("\156\x61\155\x65")->toArray() : ''; $user->identity_number = null; unset($user->nationality); return response()->json(array("\x73\164\141\x74\165\x73" => true, "\x6d\x73\147" => __("\155\145\163\163\x61\x67\145\163\56\163\165\143\143\145\x73\x73"), "\162\x65\163\x75\x6c\x74" => $user)); } catch (\Exception $e) { return response()->json(array("\x73\x74\x61\164\165\x73" => false, "\x6d\163\x67" => __("\155\145\x73\x73\141\x67\145\x73\56\145\162\162\157\x72\x5f\x66\157\165\x6e\x64"), "\x65\x72\x72\157\x72\x73" => '', "\x72\145\163\x75\x6c\164" => '')); } } public function destroy($id) { $this->authorize("\x75\x73\145\x72\163\56\144\145\x6c\x65\164\x65"); $user = User::find($id); if (empty($user)) { return response()->json(array("\163\164\141\164\165\163" => false, "\x6d\x73\x67" => __("\x6d\145\163\x73\x61\147\x65\163\x2e\x6e\157\x74\137\146\157\165\x6e\144"), "\162\x65\x73\x75\x6c\164" => '')); } try { if ($user->projectManagers()->exists() || $user->projectSupervisors()->exists() || $user->projectCompliances()->exists() || $user->depManager()->exists() || $user->depSupervisor()->exists() || $user->tasks()->exists()) { return response()->json(array("\x73\164\x61\x74\165\163" => false, "\155\163\147" => __("\x6d\145\163\163\x61\147\x65\163\x2e\146\x6f\162\x65\151\147\x6e\137\x65\x6e\x74\162\x79"), "\x72\x65\x73\165\x6c\164" => '')); } else { $user->delete(); } return response()->json(array("\x73\x74\x61\164\165\163" => true, "\155\x73\x67" => __("\x6d\x65\x73\163\x61\x67\x65\x73\56\144\145\154\145\164\145\x64"), "\x72\x65\163\165\x6c\164" => '')); } catch (\Exception $e) { return response()->json(array("\x73\x74\x61\164\165\x73" => false, "\155\x73\x67" => __("\x6d\145\x73\x73\141\x67\x65\163\x2e\x65\x72\162\x6f\162\137\x66\157\165\x6e\144"), "\x6d\163\x67" => $e->getMessage(), "\162\x65\x73\165\154\164" => '')); } } public function exportExcel(Request $request) { $this->authorize("\165\163\x65\x72\x73\x2e\x63\162\x65\141\x74\x65"); if (!\Auth::check() || !\Auth::user()->hasRole("\163\165\x70\x65\162\141\144\155\151\x6e")) { return response()->json(array("\145\162\x72\x6f\x72" => "\x55\156\141\x75\164\x68\157\x72\x69\172\145\144"), 403); } return Excel::download(new UserExport(), "\x55\163\145\162\163\56\170\154\x73\x78"); } function importExcel(Request $request) { $this->authorize("\165\x73\x65\162\x73\x2e\143\x72\x65\x61\164\145"); ini_set("\155\145\x6d\x6f\x72\x79\x5f\154\x69\155\151\164", "\55\61"); set_time_limit(0); $validator = Validator::make($request->all(), array("\151\x6d\160\x6f\162\x74\137\x66\151\154\145" => "\162\x65\161\x75\x69\162\x65\144\x7c\155\151\x6d\x65\163\x3a\170\154\x73\54\x78\154\x73\x78"), include base_path("\x72\x65\x73\157\x75\162\x63\x65\163\x2f\x6c\141\x6e\147\x2f" . trans("\x6c\x61\x6e\x67\56\x63\x6f\144\x65") . "\x2f\166\x61\154\x69\x64\x61\164\x69\157\156\56\x70\150\x70")); if ($validator->fails()) { $messages = $validator->errors()->all(); return response()->json(array("\x73\x74\141\164\x75\163" => false, "\x6d\163\147" => $messages[0], "\145\x72\x72\157\162\163" => $validator->errors())); } $data = Excel::toArray(new UserImport(), $request->file("\151\155\160\x6f\162\x74\137\x66\151\154\x65")); if (empty($data) || !isset($data[0]) || count($data[0]) == 0) { return response()->json(array("\163\164\x61\x74\x75\163" => false, "\155\163\x67" => __("\x6d\145\x73\163\141\x67\x65\163\56\x6e\x6f\137\x64\141\164\x61\x5f\x66\x6f\x75\156\x64"), "\x72\x65\x73\165\154\x74" => '')); } try { $errors = array(); \DB::beginTransaction(); $datalist = $data; if (isset($datalist[0])) { $datalist = $data[0]; } $errors = $this->storeFromExcel($datalist); \DB::commit(); } catch (\Exception $e) { \DB::rollBack(); return response()->json(array("\x73\x74\x61\x74\165\x73" => false, "\x6d\x73\x67" => __("\x6d\145\x73\x73\x61\x67\x65\x73\x2e\x65\x72\x72\157\x72\137\x66\157\x75\156\x64"), "\x72\x65\x73\165\x6c\164" => '')); } return response()->json(array("\x73\164\141\x74\165\163" => true, "\x72\x65\163\x75\x6c\x74" => $errors)); } public function storeFromExcel($collections) { $result = array(); $errors = array(); $scount = 0; $count = count($collections); foreach ($collections as $key => $row) { $errors[$key]["\162\x6f\167"] = $key + 1; $errors[$key]["\163\164\x61\164\x75\x73"] = true; $validator = Validator::make($row, array("\146\x5f\x6e\141\155\145" => "\x72\x65\161\x75\x69\162\145\144\x7c\163\x74\x72\151\156\147\x7c\x61\154\x70\x68\141\137\x6e\165\155", "\155\x5f\156\x61\x6d\x65" => "\x73\164\x72\x69\x6e\x67\174\141\154\x70\x68\141\137\156\x75\x6d", "\x6c\137\156\x61\x6d\145" => "\x72\145\x71\165\151\x72\145\x64\174\x73\x74\162\x69\156\147\174\141\x6c\160\150\x61\x5f\x6e\x75\155", "\x65\x6d\x61\x69\x6c" => "\162\x65\x71\165\151\x72\x65\144\174\145\155\141\x69\154\174\155\x61\170\x3a\62\65\x35\174\165\x6e\x69\x71\x75\x65\x3a\165\163\x65\x72\163\54\145\x6d\141\x69\154", "\155\157\142\x69\154\145" => "\x72\145\x71\165\151\162\145\144\174\x73\164\162\151\x6e\x67\x7c\x75\x6e\151\161\165\x65\72\x75\x73\145\162\x73\x2c\155\157\142\151\154\x65\174\162\145\147\x65\x78\72\x2f\136\133\60\55\x39\x20\55\53\x5d\x2a\44\x2f", "\x64\145\160\x61\162\x74\155\x65\x6e\164\137\x6e\141\x6d\x65\137\145\156" => "\162\x65\x71\x75\x69\x72\145\x64\174\163\x74\162\x69\x6e\147\x7c\145\170\151\x73\x74\x73\x3a\x64\x65\x70\141\162\x74\155\x65\x6e\164\x73\54\156\141\155\145\x5f\x65\x6e", "\x72\157\x6c\x65\137\156\x61\x6d\145" => "\x72\x65\x71\x75\x69\x72\145\x64\x7c\163\164\x72\x69\156\x67\174\x65\170\151\x73\x74\x73\72\162\157\x6c\x65\x73\x2c\x6e\141\x6d\145"), include base_path("\x72\145\x73\x6f\x75\x72\x63\x65\163\x2f\x6c\x61\156\x67\57" . trans("\154\141\156\x67\56\143\x6f\144\x65") . "\x2f\166\x61\x6c\x69\144\141\164\x69\157\156\56\160\150\160")); if ($validator->fails()) { $messages = $validator->errors()->all(); $errors[$key]["\x65\x72\x72\x6f\x72\163"] = $messages; $errors[$key]["\163\164\141\164\x75\x73"] = false; } $f_name = $row["\x66\x5f\156\x61\x6d\x65"]; $m_name = $row["\155\x5f\x6e\x61\155\145"]; $l_name = $row["\154\x5f\156\x61\x6d\145"]; $email = $row["\145\155\141\151\x6c"]; $mobile = $row["\155\157\142\151\x6c\145"]; $department_name_en = $row["\144\145\x70\x61\162\164\x6d\145\x6e\164\x5f\156\x61\155\145\x5f\x65\x6e"]; $role_name = $row["\162\x6f\x6c\x65\x5f\x6e\141\155\145"]; $check_department = \App\Models\Department::where("\156\141\x6d\x65\137\145\x6e", $row["\x64\x65\x70\141\x72\164\155\145\156\x74\x5f\156\x61\x6d\x65\x5f\145\156"])->first(); if (!empty($check_department)) { $department_id = $check_department->id; } if ($errors[$key]["\x73\x74\x61\x74\x75\x73"]) { $add_user = User::create(array("\x65\155\141\151\x6c" => $email, "\155\x6f\x62\151\x6c\x65" => $mobile, "\x70\141\x73\x73\x77\157\x72\x64" => Hash::make("\160\141\x73\163\167\x6f\162\x64"), "\146\137\156\141\155\145" => $f_name, "\155\137\156\141\x6d\x65" => $m_name, "\154\x5f\156\x61\x6d\x65" => $l_name, "\144\145\x70\141\x72\x74\155\145\156\164\x5f\x69\x64" => $department_id, "\x73\164\141\x74\x75\163" => 1)); $add_user->save(); $add_user->assignRole($role_name); if ($add_user) { $scount++; } } else { $errors[$key]["\163\164\141\x74\x75\x73"] = false; } } $result["\145\x72\162\x6f\162\163"] = $errors; $result["\x73\143\x6f\x75\156\164"] = $scount; $result["\146\143\x6f\165\156\x74"] = $count - $scount; return $result; } public function projectCompliances() { if (!\Auth::check() || !\Auth::user()->hasAnyRole(array("\x73\165\x70\145\x72\141\144\155\x69\x6e", "\141\144\x6d\x69\156"))) { return response()->json(array("\x65\x72\x72\157\x72" => "\x55\x6e\141\x75\x74\x68\157\162\151\172\x65\x64"), 403); } $compliances = User::getCompliances()->get()->map(function ($q) { $arr = $q->getUserLimitSelect(); return $arr; }); if (count($compliances) == 0) { return response()->json(array("\163\164\141\164\165\x73" => false, "\x6d\x73\147" => __("\x6c\x61\x6e\x67\x2e\x66\141\x69\x6c\x64"), "\x72\145\163\x75\x6c\x74" => '')); } return response()->json(array("\163\164\x61\164\x75\163" => true, "\x6d\x73\x67" => __("\x6d\145\163\163\141\147\x65\x73\x2e\x73\165\x63\143\145\163\163"), "\x72\x65\x73\165\x6c\164" => $compliances)); } public function projectSupervisors() { if (!\Auth::check() || !\Auth::user()->hasAnyRole(array("\x73\165\x70\x65\x72\x61\144\x6d\151\156", "\141\x64\155\x69\x6e"))) { return response()->json(array("\x65\x72\x72\x6f\162" => "\x55\x6e\141\x75\x74\150\157\x72\151\172\x65\144"), 403); } $supervisors = User::getProjectSupervisors()->get()->map(function ($q) { $arr = $q->getUserLimitSelect(); return $arr; }); if (count($supervisors) == 0) { return response()->json(array("\x73\164\141\164\165\x73" => false, "\155\163\x67" => __("\154\141\x6e\147\x2e\x66\x61\x69\x6c\x64"), "\162\x65\163\165\154\x74" => '')); } return response()->json(array("\163\164\x61\x74\x75\163" => true, "\155\163\147" => __("\x6d\145\x73\x73\141\147\145\x73\56\163\165\143\143\x65\x73\x73"), "\x72\x65\163\165\154\164" => $supervisors)); } public function departmentManagers(Request $request) { if (!\Auth::check() || !\Auth::user()->hasAnyRole(array("\163\165\x70\x65\x72\x61\144\155\151\x6e", "\x61\144\155\x69\156"))) { return response()->json(array("\145\x72\x72\157\x72" => "\125\x6e\141\165\164\x68\157\x72\x69\172\145\144"), 403); } $managers = User::getDepartmentManagers(); if ($request->department_id) { $department_id = $request->department_id; $managers = $managers->where(function ($query) use($department_id) { $query->where("\144\x65\x70\141\162\x74\155\x65\x6e\164\x5f\151\144", $department_id)->orWhereNull("\x64\145\x70\x61\x72\x74\155\145\x6e\x74\137\151\x64"); }); } else { $managers = $managers->whereNull("\144\x65\x70\x61\162\164\x6d\x65\156\x74\x5f\151\144"); } $managers = $managers->get()->map(function ($q) { $arr = $q->getUserLimitSelect(); return $arr; }); if (count($managers) == 0) { return response()->json(array("\163\164\x61\164\165\x73" => false, "\155\x73\147" => __("\x6c\141\156\147\56\x66\141\151\x6c\144"), "\162\x65\163\x75\x6c\164" => array())); } return response()->json(array("\x73\164\141\x74\165\163" => true, "\155\163\x67" => __("\x6d\x65\163\x73\x61\147\145\x73\56\x73\x75\143\x63\145\163\163"), "\x72\145\x73\165\154\x74" => $managers)); } public function departmentSupervisors(Request $request) { if (!\Auth::check() || !\Auth::user()->hasAnyRole(array("\x73\165\x70\x65\162\x61\x64\155\151\x6e", "\x61\144\155\151\x6e"))) { return response()->json(array("\x65\x72\162\157\162" => "\x55\x6e\141\165\x74\x68\x6f\162\x69\172\145\144"), 403); } $supervisors = User::getDepartmentSupervisors(); if ($request->department_id) { $department_id = $request->department_id; $supervisors = $supervisors->where(function ($query) use($department_id) { $query->where("\144\145\x70\141\162\164\x6d\145\x6e\x74\x5f\x69\144", $department_id)->orWhereNull("\x64\145\x70\x61\x72\x74\155\x65\156\164\x5f\151\144"); }); } else { $managers = $supervisors->whereNull("\144\x65\x70\x61\162\x74\155\x65\x6e\x74\x5f\x69\144"); } $supervisors = $supervisors->get()->map(function ($q) { $arr = $q->getUserLimitSelect(); return $arr; }); if (count($supervisors) == 0) { return response()->json(array("\163\164\141\x74\x75\x73" => false, "\x6d\163\x67" => __("\154\141\x6e\x67\56\146\141\x69\154\x64"), "\x72\145\163\165\x6c\164" => array())); } return response()->json(array("\x73\164\x61\x74\165\163" => true, "\x6d\163\x67" => __("\x6d\x65\163\x73\x61\x67\145\x73\56\x73\x75\143\143\145\163\x73"), "\162\x65\x73\165\154\164" => $supervisors)); } public function taskUsers() { $supervisors = User::getTaskUsers()->get()->map(function ($q) { $arr = $q->getUserLimitSelect(); return $arr; }); if (count($supervisors) == 0) { return response()->json(array("\163\x74\x61\164\165\x73" => false, "\x6d\163\x67" => __("\154\141\x6e\147\x2e\x66\141\x69\154\144"), "\x72\145\x73\165\154\x74" => '')); } return response()->json(array("\x73\x74\141\x74\165\163" => true, "\155\x73\147" => __("\155\x65\163\163\x61\x67\145\163\56\x73\x75\x63\x63\145\x73\x73"), "\162\145\163\165\154\x74" => $supervisors)); } public function taskSupervisors() { $supervisors = User::getTaskSupervisors()->get()->map(function ($q) { $arr = $q->getUserLimitSelect(); return $arr; }); if (count($supervisors) == 0) { return response()->json(array("\163\164\141\x74\x75\x73" => false, "\155\x73\147" => __("\x6c\141\x6e\147\56\x66\x61\151\154\x64"), "\x72\145\x73\165\x6c\x74" => '')); } return response()->json(array("\163\x74\x61\164\165\x73" => true, "\155\x73\x67" => __("\x6d\x65\163\x73\x61\x67\x65\163\x2e\x73\165\x63\x63\x65\163\163"), "\162\145\x73\165\154\164" => $supervisors)); } }
Function Calls
None |
Stats
MD5 | ff92eb05eab046b12cc518980261563e |
Eval Count | 0 |
Decode Time | 173 ms |