<?php
//Obfuscated by YAK Pro - Php Obfuscator 2.0.13 at 2025-06-18 09:19:19
 namespace App\Http\Controllers; use App\Http\Resources\PermissionResource; use App\Laravue\Models\Permission; use App\RoleMeta; use App\RuleCustom; use Illuminate\Http\Request; use App\Laravue\Models\Role; use App\Http\Resources\RoleResource; use Illuminate\Support\Arr; use Validator; class RoleController extends Controller { const ITEM_PER_PAGE = 20; public function index(Request $request) { goto t8pPt; Yaz1U: Jxu4u: $zKaG0->orderBy("\151\x64"); return RoleResource::collection($zKaG0->paginate($eIRNt)); goto F0Nfh; mhVPG: $rWERN = Arr::get($params, "\x6b\145\171\x77\157\162\144", ''); if (empty($rWERN)) { goto Jxu4u; } $zKaG0->where("\x6e\141\x6d\145", "\x4c\111\113\105", "\x25" . $rWERN . "\x25"); goto Yaz1U; t8pPt: $params = $request->all(); $zKaG0 = Role::select("\151\144", "\x6e\141\155\x65"); $eIRNt = Arr::get($params, "\x6c\151\155\151\x74", static::ITEM_PER_PAGE); goto mhVPG; F0Nfh: } public function store(Request $request) { goto eUZpt; Ae2FK: $D5A5_ = []; $qhjbS = $params["\x70\145\x72\x6d\x69\x73\163\151\x6f\x6e\115\x65\156\x75"]; foreach ($qhjbS as $J8Xsp) { if (!($J8Xsp["\x73\x65\x6c\x65\143\x74\145\144"] == 1 || $J8Xsp["\x73\x65\x6c\145\x63\x74\x65\144"] == true || $J8Xsp["\163\x65\154\145\x63\x74\x65\x64"] == "\x74\162\x75\x65")) { goto jUZK3; } $D5A5_[] = $J8Xsp["\151\x64"]; jUZK3: xOURF: } goto YhImi; eUZpt: $Qh9LT = Validator::make($request->all(), ["\156\141\155\x65" => ["\162\x65\161\x75\151\162\145\x64"]]); if (!$Qh9LT->fails()) { goto msQBW; } return response()->json(["\145\162\x72\x6f\162\x73" => $Qh9LT->errors()], 403); goto gH6JS; bxoNd: $v202C = str_replace("\40", '', $v202C); $v202C = strtolower($v202C); $ziV1d = Role::where("\x6e\141\x6d\x65", $v202C)->count(); goto JlFj2; gH6JS: msQBW: $params = $request->all(); $v202C = trim($params["\x6e\141\155\145"]); goto bxoNd; pGicb: $ovwtF = Role::create(["\x6e\x61\155\145" => $v202C]); RoleMeta::create(["\162\157\x6c\x65\137\151\144" => $ovwtF->id, "\x64\x65\163\143\x72\x69\x70\164\x69\157\156" => $params["\144\x65\163\143\162\151\160\164\x69\157\156"]]); $vPyLZ = []; goto Ae2FK; JlFj2: if (!($ziV1d > 0)) { goto vIbtr; } return response()->json(["\145\162\x72\157\x72" => "\x52\157\x6c\145\x20\151\163\40\145\x78\151\163\164\56"], 404); vIbtr: goto pGicb; YhImi: pHmto: $FFq1e = $params["\x70\145\x72\x6d\151\x73\x73\151\157\x6e\117\164\x68\145\162"]; foreach ($FFq1e as $c9up3) { foreach ($c9up3 as $vR2Ns) { goto N6L0H; N6L0H: if (!($vR2Ns["\x73\145\154\x65\x63\x74\145\x64"] == 1 || $vR2Ns["\163\x65\x6c\145\143\164\x65\x64"] == true || $vR2Ns["\x73\145\154\145\143\164\145\144"] == "\x74\162\x75\x65")) { goto FI20Z; } $D5A5_[] = $vR2Ns["\x69\144"]; FI20Z: goto i0ZLU; ubtD4: cRpgu: EdNUR: goto K1kJV; i0ZLU: if (!isset($vR2Ns["\162\x75\x6c\145\x73"])) { goto cRpgu; } foreach ($vR2Ns["\162\165\x6c\x65\x73"] as $vwLeW) { goto yKFok; l6UsV: Jo6w3: goto V5zqP; ksdjI: if (!(trim($vwLeW["\x63\157\x6e\144\x69\x74\151\x6f\x6e\137\x76\141\x6c\165\x65"]) != null && trim($vwLeW["\143\x6f\x6e\x64\151\164\151\x6f\x6e\x5f\x76\141\154\x75\145"]) != '')) { goto xLSj1; } $vPyLZ[] = ["\x72\x6f\154\x65\137\x69\x64" => $ovwtF->id, "\160\145\162\155\x69\163\163\x69\x6f\156\137\x69\x64" => $vR2Ns["\151\x64"], "\x63\x6f\x6e\x64\x69\164\151\157\156\137\x63\x6f\x6d\x70\x61\162\x65" => $vwLeW["\143\x6f\x6e\144\x69\x74\x69\x6f\156\137\x63\157\155\x70\x61\162\x65"], "\x63\x6f\156\x64\151\x74\x69\157\x6e\x5f\156\x61\x6d\145" => $vwLeW["\143\x6f\156\x64\151\164\x69\157\x6e\x5f\156\x61\x6d\145"], "\143\157\x6e\144\151\164\x69\157\x6e\137\x76\x61\154\165\x65" => $vwLeW["\x63\x6f\156\144\151\164\151\x6f\156\x5f\x76\141\x6c\165\x65"], "\143\x72\x65\x61\x74\x65\x64\x5f\x61\x74" => date("\131\x2d\x6d\x2d\x64\x20\110\x3a\x69\72\x73"), "\165\x70\x64\x61\164\x65\144\137\x61\x74" => date("\131\55\x6d\x2d\x64\40\x48\72\151\72\x73")]; xLSj1: goto l6UsV; yKFok: if (!($vwLeW["\x63\157\x6e\x64\x69\x74\151\157\x6e\137\x6e\141\155\145"] == "\x75\x73\145\x72\x5f\x69\x64" && (trim($vwLeW["\143\x6f\156\x64\x69\164\x69\x6f\x6e\137\166\141\x6c\165\145"]) != null || trim($vwLeW["\x63\x6f\156\x64\x69\x74\151\157\x6e\137\x76\141\x6c\165\x65"]) != ''))) { goto khfVH; } $vwLeW["\x63\157\x6e\144\151\x74\x69\x6f\x6e\137\166\x61\154\165\145"] = "\x6f\x77\156\x65\162"; khfVH: goto ksdjI; V5zqP: } q3jC0: goto ubtD4; K1kJV: } UhdKb: kNlVl: } goto bbPL2; bbPL2: FYjUB: $hmEu7 = Permission::allowed()->whereIn("\x69\x64", $D5A5_)->get(); $ovwtF->syncPermissions($hmEu7); goto iF56j; iF56j: $ovwtF->save(); if (!(count($vPyLZ) > 0)) { goto bpCLq; } RuleCustom::insert($vPyLZ); goto Fiz37; Fiz37: bpCLq: return new RoleResource($ovwtF); goto DL2Sc; DL2Sc: } public function show($KkwXF = 0) { goto rHks7; rHks7: $ovwtF = Role::where("\x69\144", $KkwXF)->first(); if (!(!isset($ovwtF) || $ovwtF->name == "\141\144\155\151\x6e")) { goto StmXX; } return response()->json(["\145\162\162\157\x72\163" => "\x52\x6f\154\145\x20\x69\163\40\151\156\166\x61\154\151\144"], 403); goto wopaF; wopaF: StmXX: $Ke4Mp = []; foreach ($ovwtF->permissions as $vR2Ns) { $Ke4Mp[$vR2Ns->id] = $vR2Ns->id; G_vSk: } goto DmjJk; DmjJk: TVaUx: $vPyLZ = RuleCustom::where("\162\157\x6c\145\137\151\x64", $ovwtF->id)->get(); $b0BRw = []; goto BcQ8j; HRUYG: $zKaG0 = $this->detectPermission($Mo2QO, $b0BRw, $Ke4Mp); return response()->json(["\144\141\164\141" => ["\x69\x64" => $ovwtF->id, "\156\x61\155\145" => $ovwtF->name, "\155\x65\164\141" => $ovwtF->meta, "\x70\x65\162\155\151\x73\163\x69\x6f\156\x73" => $zKaG0]], 200); goto G3IJq; BcQ8j: foreach ($vPyLZ as $vR2Ns) { $b0BRw[$vR2Ns->permission_id][] = ["\x69\x64" => $vR2Ns->id, "\x63\157\x6e\x64\151\164\x69\x6f\156\137\x6e\141\x6d\145" => $vR2Ns->condition_name, "\x63\157\156\144\x69\164\151\x6f\156\137\x63\x6f\155\x70\x61\x72\x65" => $vR2Ns->condition_compare, "\143\x6f\x6e\144\x69\164\x69\x6f\156\x5f\x76\141\154\165\x65" => $vR2Ns->condition_value, "\x6f\x70\x65\x6e" => false]; IraRd: } SwfTa: $Mo2QO = Permission::select("\x2a")->orderBy("\156\x61\155\145")->get(); goto HRUYG; G3IJq: } public function update(Request $request, $ADzzW = 0) { goto Wg7km; slOev: $vPyLZ = []; $D5A5_ = []; $qhjbS = $params["\160\145\x72\155\151\163\163\x69\x6f\x6e\x4d\x65\156\165"]; goto Y9riA; wUhEU: foreach ($FFq1e as $c9up3) { foreach ($c9up3 as $vR2Ns) { goto E71Nv; E71Nv: if (!($vR2Ns["\x73\145\154\145\143\164\x65\144"] == 1 || $vR2Ns["\x73\x65\x6c\x65\143\x74\x65\x64"] == true || $vR2Ns["\x73\x65\x6c\x65\x63\x74\145\144"] == "\164\162\x75\x65")) { goto X5Ls2; } $D5A5_[] = $vR2Ns["\151\144"]; X5Ls2: goto zwadx; zwadx: if (!isset($vR2Ns["\162\165\154\x65\163"])) { goto cs7gE; } foreach ($vR2Ns["\x72\165\154\x65\163"] as $vwLeW) { if (!(trim($vwLeW["\143\x6f\156\144\x69\164\x69\157\x6e\137\166\141\154\165\x65"]) != null && trim($vwLeW["\143\157\156\x64\151\x74\x69\157\x6e\137\166\x61\154\165\145"]) != '')) { goto svWye; } $vPyLZ[] = ["\x72\x6f\x6c\x65\137\x69\144" => $ovwtF->id, "\x70\145\162\x6d\151\x73\x73\151\x6f\156\137\151\144" => $vR2Ns["\x69\144"], "\x63\157\x6e\144\151\164\151\157\x6e\x5f\143\157\x6d\x70\x61\162\x65" => $vwLeW["\143\x6f\156\x64\151\164\x69\157\156\137\x63\x6f\x6d\160\141\x72\145"], "\143\x6f\156\x64\151\164\151\157\156\x5f\x6e\141\155\145" => $vwLeW["\x63\157\x6e\144\151\164\151\x6f\x6e\x5f\156\141\155\145"], "\143\x6f\x6e\x64\151\x74\151\x6f\x6e\137\166\141\154\x75\145" => $vwLeW["\x63\x6f\x6e\x64\151\164\x69\157\156\137\x76\141\x6c\x75\x65"], "\143\162\145\141\x74\145\144\137\141\164" => date("\131\x2d\x6d\x2d\x64\40\110\x3a\x69\72\163"), "\x75\x70\144\x61\164\145\144\x5f\141\x74" => date("\131\55\x6d\55\x64\40\x48\x3a\151\72\163")]; svWye: dAAz8: } c93gB: goto wIgiF; wIgiF: cs7gE: TcHIS: goto tVkCo; tVkCo: } I92dV: vKkaL: } i4r57: $hmEu7 = Permission::allowed()->whereIn("\x69\x64", $D5A5_)->get(); goto YhXvo; Wg7km: $ovwtF = Role::where("\151\144", $ADzzW)->first(); if (!(!isset($ovwtF) || $ovwtF === null || $ovwtF->name == "\x61\x64\155\x69\x6e" || $ovwtF->isAdmin())) { goto bRnts; } return response()->json(["\x65\162\x72\157\162\163" => "\122\157\x6c\x65\x20\151\163\x20\151\x6e\x76\141\x6c\x69\x64"], 404); goto ibKql; ibKql: bRnts: $params = $request->all(); RoleMeta::where("\x72\157\x6c\145\x5f\151\144", $ovwtF->id)->update(["\x64\145\163\143\x72\x69\160\x74\151\157\x6e" => $params["\144\x65\163\x63\162\151\160\164\151\157\x6e"]]); goto slOev; YhXvo: $ovwtF->syncPermissions($hmEu7); $ovwtF->save(); RuleCustom::where("\x72\157\x6c\145\x5f\151\x64", $ovwtF->id)->delete(); goto vnvtg; KlFlK: return response()->json(null, 204); goto BYYZK; vnvtg: if (!(count($vPyLZ) > 0)) { goto Lmkbr; } RuleCustom::insert($vPyLZ); Lmkbr: goto KlFlK; Y9riA: foreach ($qhjbS as $J8Xsp) { if (!($J8Xsp["\x73\x65\154\x65\x63\164\145\x64"] == 1 || $J8Xsp["\163\x65\x6c\x65\x63\164\x65\144"] == true || $J8Xsp["\x73\x65\x6c\145\x63\x74\145\x64"] == "\x74\x72\165\x65")) { goto SqVKd; } $D5A5_[] = $J8Xsp["\151\144"]; SqVKd: L6EuU: } s_z2s: $FFq1e = $params["\x70\145\x72\x6d\151\163\x73\151\157\156\117\x74\x68\145\x72"]; goto wUhEU; BYYZK: } public function destroy($ADzzW) { } public function permissions(Role $ovwtF) { return PermissionResource::collection($ovwtF->permissions); } public function roleList() { $zKaG0 = Role::select("\x69\144", "\156\x61\155\145")->get(); return response()->json(["\x64\141\x74\141" => $zKaG0], 200); } public function permissionsAll() { $TT0LT = Permission::select("\x2a")->orderBy("\x6e\x61\155\x65")->get(); $zKaG0 = $this->detectPermission($TT0LT); return response()->json($zKaG0, 200); } private function detectPermission($hmEu7 = [], $SGrDC = [], $Ke4Mp = []) { $U7vc3 = []; foreach ($hmEu7 as $sbUCy) { goto ytpz1; V3EhA: b5se5: $l06mX = "\104\145\x6c\145\x74\x65\x20" . $FxhbD; $FSGUB = "\x64\x65\154\x65\x74\145"; goto DkH3k; ikndw: YwBuF: $U7vc3["\x6f\x74\150\x65\x72\x73"][$FxhbD][$Gqxiy] = ["\x69\144" => $sbUCy->id, "\156\x61\155\x65" => $sbUCy->name, "\x66\x75\x6c\x6c\137\156\141\155\145" => $l06mX, "\153\x65\171\x5f\x6e\x61\155\145" => $FSGUB, "\163\x65\x6c\145\143\x74\x65\144" => isset($Ke4Mp[$sbUCy->id]), "\162\x75\x6c\x65\x73" => isset($SGrDC[$sbUCy->id]) ? $SGrDC[$sbUCy->id] : []]; goto yCpdg; goto nvUUt; mC7JC: $U7vc3["\x6d\145\x6e\x75\x73"][] = ["\151\x64" => $sbUCy->id, "\156\141\x6d\x65" => $sbUCy->name, "\x66\165\x6c\154\137\x6e\141\x6d\145" => ucfirst($l06mX), "\153\145\x79\x5f\x6e\x61\155\145" => $l06mX, "\x73\x65\x6c\145\x63\164\145\x64" => isset($Ke4Mp[$sbUCy->id])]; yCpdg: Kcwk9: goto YVlTk; tnd05: plLYQ: $qVaoB = str_replace("\144\141\x73\150\142\x6f\141\x72\x64\x2d", '', $l06mX); $l06mX = ucfirst($qVaoB); goto ikndw; JEZdG: goto YwBuF; Sf3EL: $l06mX = "\x56\x69\145\x77\x20" . $FxhbD . "\40\x69\164\x65\x6d\x73"; goto xJ2DY; wI1u_: $FSGUB = "\x63\x72\x65\x61\164\145"; goto YwBuF; RLlm1: goto JlgKL; HN1jm: $FSGUB = "\151\155\x70\157\x72\x74"; goto YwBuF; IiZ2C: goto kaANi; DkH3k: goto YwBuF; l3Zy1: $l06mX = "\111\x6d\x70\157\162\164\x20" . $FxhbD . "\x20\x64\x61\x74\x61"; goto HN1jm; TzybL: if (strpos($l06mX, "\x2d\145\x78\x70\x6f\x72\x74") !== false) { goto IiZ2C; } if (strpos($l06mX, "\144\141\163\150\142\x6f\x61\x72\144\x2d") !== false) { goto plLYQ; } $l06mX = "\x4d\141\156\x61\x67\x65\40" . $FxhbD; goto JEZdG; ytpz1: if (strpos($sbUCy->name, "\x76\151\145\x77\55\155\145\156\165\x2d") !== false) { goto QjUfI; } $l06mX = str_replace("\155\x61\156\141\147\145\55", '', $sbUCy->name); $FxhbD = $l06mX; goto oYX6t; kaANi: $l06mX = "\x45\x78\160\157\162\x74\40" . $FxhbD . "\40\x64\141\x74\141"; $FSGUB = "\x65\x78\x70\157\162\x74"; goto YwBuF; goto tnd05; xJ2DY: goto YwBuF; aowXn: $l06mX = "\x43\162\x65\141\164\x65\x20\x6e\x65\167\x20" . $FxhbD; goto wI1u_; qBJ3Z: if (!($FxhbD == "\160\145\162\155\x69\x73\x73\x69\x6f\x6e")) { goto mScVX; } goto Kcwk9; mScVX: goto BCf17; JlgKL: $l06mX = "\x45\x64\151\164\40" . $FxhbD; $FSGUB = "\x65\144\x69\164"; goto YwBuF; goto V3EhA; ENmSY: $FxhbD = isset($nMTR6[0]) ? $nMTR6[0] : $FxhbD; $Gqxiy = isset($nMTR6[1]) && $nMTR6[1] != '' ? $nMTR6[1] : $Gqxiy; zwSxZ: goto qBJ3Z; BCf17: $FSGUB = "\x6f\x6e\154\x79"; if (strpos($l06mX, "\x2d\x6f\156\154\171") !== false) { goto Sf3EL; } if (strpos($l06mX, "\55\143\x72\x65\x61\x74\145") !== false) { goto aowXn; } goto SJnXB; oYX6t: $Gqxiy = "\x6d\x61\x6e\x61\x67\x65"; if (!(strpos($l06mX, "\55") !== false)) { goto zwSxZ; } $nMTR6 = explode("\55", $l06mX); goto ENmSY; nvUUt: QjUfI: $l06mX = str_replace("\x76\x69\145\x77\x2d\155\145\x6e\x75\55", '', $sbUCy->name); $l06mX = str_replace("\55", "\x20", $l06mX); goto mC7JC; SJnXB: if (strpos($l06mX, "\55\145\144\151\x74") !== false) { goto RLlm1; } if (strpos($l06mX, "\55\144\145\154\x65\x74\x65") !== false) { goto b5se5; } if (strpos($l06mX, "\55\x69\155\x70\x6f\162\164") !== false) { goto l3Zy1; } goto TzybL; YVlTk: } wFAMG: uasort($U7vc3["\x6d\x65\156\x75\x73"], function ($GIB1p, $AA81K) { return strnatcmp($GIB1p["\146\165\154\x6c\137\x6e\141\x6d\x65"], $AA81K["\146\x75\x6c\154\137\156\141\x6d\145"]); }); uasort($U7vc3["\157\164\x68\x65\162\163"]["\x64\141\x73\150\x62\157\x61\x72\144"], function ($GIB1p, $AA81K) { return strnatcmp($GIB1p["\146\x75\154\154\x5f\x6e\141\155\145"], $AA81K["\x66\x75\x6c\x6c\x5f\x6e\141\155\145"]); }); return $U7vc3; } }