Find this useful? Enter your email to receive occasional updates for securing PHP code.

Signing you up...

Thank you for signing up!

PHP Decode

<?php /* * Copyright (C) Incevio Systems, Inc - All Rights Reserved * Unauthorized copy..

Decoded Output download

<?php 
/* 
* Copyright (C) Incevio Systems, Inc - All Rights Reserved 
* Unauthorized copying of this file, via any medium is strictly prohibited 
* Proprietary and confidential 
* Written by Munna Khan <[email protected]>, September 2018 
*/ 
 namespace App\Http\Controllers\Admin; use App\Models\Package; use App\Http\Controllers\Controller; use App\Http\Requests\Validations\PackageInstallationRequest; use App\Services\PackageInstaller; use Illuminate\Http\Request; use Illuminate\Support\Facades\Artisan; use Illuminate\Support\Facades\Log; use Illuminate\Support\Facades\DB; class PackagesController extends Controller { public function index() { $installables = $this->scanPackages(); $installs = Package::all(); return view("admin.packages.index", compact("installables", "installs")); } public function upload() { return view("admin.packages._upload"); } public function save(Request $request) { echo "<pre>"; print_r($request->all()); echo "<pre>"; exit("end!"); } public function initiate(Request $request, $package) { if (!(config("app.demo") == true && config("app.debug") !== true)) { goto Zrkk2; } return back()->with("warning", trans("messages.demo_restriction")); Zrkk2: $installable = $this->scanPackages($package); if (!($installable && Package::where("slug", $installable["slug"])->first())) { goto vVLXB; } return back()->with("error", trans("messages.package_installed_already", ["package" => $package])); vVLXB: return view("admin.packages._initiate", compact("installable")); } public function upgrade(Request $request, $package) { if (!(config("app.demo") == true && config("app.debug") !== true)) { goto FtKqM; } return back()->with("warning", trans("messages.demo_restriction")); FtKqM: $installable = $this->scanPackages($package); if ($installable) { goto aAYZP; } return back()->with("error", trans("messages.package_not_found", ["package" => $package])); aAYZP: try { $installer = new PackageInstaller($request, $installable); $installer->migrate(); } catch (\Exception $e) { Log::error($e); return back()->with("error", $e->getMessage()); } return back()->with("success", trans("messages.package_upgraded_success", ["package" => $package])); } public function install(PackageInstallationRequest $request, $package) { if (!(config("app.demo") == true && config("app.debug") !== true)) { goto NDiPA; } return back()->with("warning", trans("messages.demo_restriction")); NDiPA: $installable = $this->scanPackages($package); if ($installable) { goto ni3DM; } return back()->with("error", trans("messages.package_not_found", ["package" => $package])); ni3DM: try { $installer = new PackageInstaller($request, $installable); $installer->install(); } catch (\Exception $e) { Log::error($e); $installer->uninstall(); $registered = Package::where("slug", $package)->first(); if (!$registered) { goto SQ0mg; } $registered->delete(); SQ0mg: return back()->with("error", $e->getMessage()); } Artisan::call("cache:clear"); Artisan::call("route:clear"); return back()->with("success", trans("messages.package_installed_success", ["package" => $package])); } public function uninstall(Request $request, $package) { if (!(config("app.demo") == true && config("app.debug") !== true)) { goto kPNSx; } return back()->with("warning", trans("messages.demo_restriction")); kPNSx: $registered = Package::where("slug", $package)->firstOrFail(); $uninstallable = $this->scanPackages($package); try { $installer = new PackageInstaller($request, $uninstallable); if (!$installer->uninstall()) { goto hXhMF; } Artisan::call("cache:clear"); Artisan::call("route:clear"); if (!$registered->delete()) { goto gLttM; } return back()->with("success", trans("messages.package_uninstalled_success", ["package" => $package])); gLttM: hXhMF: } catch (\Exception $e) { Log::error($e); return back()->with("error", $e->getMessage()); } return back()->with("error", trans("messages.failed")); } public function activation(Request $request, $slug) { if (!(config("app.demo") == true && config("app.debug") !== true)) { goto vV6R3; } return response("error", 444); vV6R3: if (!($registered = Package::where("slug", $slug)->first())) { goto Yp7Ko; } $registered->active = !$registered->active; $registered->save(); Artisan::call("cache:clear"); return response("success", 200); Yp7Ko: if (!($unregistered = $this->scanPackages($slug))) { goto SXmmL; } $registered = Package::create($unregistered); SXmmL: return response("success", 200); } public function updateConfig(Request $request) { if (!updateOptionTable($request)) { goto l0J1B; } Artisan::call("cache:clear"); return back()->with("success", trans("messages.package_settings_updated")); l0J1B: return back()->with("error", trans("messages.failed")); } public function toggleConfig(Request $request, $option) { if (!(config("app.demo") == true && config("app.debug") !== true)) { goto G9SbE; } return response("error", 444); G9SbE: $updated = DB::table("options")->where("option_name", $option)->update(["option_value" => DB::raw("NOT option_value")]); if (!$updated) { goto CP6qf; } Artisan::call("cache:clear"); return response("success", 200); CP6qf: return response("error", 405); } private function scanPackages($slug = null) { $packages = []; foreach (glob(base_path("packages/*"), GLOB_ONLYDIR) as $dir) { if (!file_exists($manifest = $dir . "/manifest.json")) { goto umnvo; } $json = file_get_contents($manifest); if (!($json !== '')) { goto XfEGC; } $data = json_decode($json, true); if (!($data === null)) { goto KR2ZF; } throw new \Exception("Invalid manifest.json file at [{$dir}]"); KR2ZF: $data["path"] = $dir; if (!($slug && $data["slug"] == $slug)) { goto rOx1O; } return $data; rOx1O: $packages[] = $data; XfEGC: umnvo: PuXVp: } z2IVs: usort($packages, function ($x, $y) { return strnatcmp($x["name"], $y["name"]); }); return $packages; } } ?>

Did this file decode correctly?

Original Code

<?php
/*
* Copyright (C) Incevio Systems, Inc - All Rights Reserved
* Unauthorized copying of this file, via any medium is strictly prohibited
* Proprietary and confidential
* Written by Munna Khan <[email protected]>, September 2018
*/
 namespace App\Http\Controllers\Admin; use App\Models\Package; use App\Http\Controllers\Controller; use App\Http\Requests\Validations\PackageInstallationRequest; use App\Services\PackageInstaller; use Illuminate\Http\Request; use Illuminate\Support\Facades\Artisan; use Illuminate\Support\Facades\Log; use Illuminate\Support\Facades\DB; class PackagesController extends Controller { public function index() { $installables = $this->scanPackages(); $installs = Package::all(); return view("\141\x64\155\151\156\x2e\x70\141\x63\153\x61\x67\145\163\x2e\x69\156\x64\145\x78", compact("\151\x6e\x73\x74\141\x6c\154\141\142\154\145\163", "\151\156\163\164\141\154\x6c\163")); } public function upload() { return view("\x61\144\x6d\x69\156\x2e\x70\141\x63\153\x61\x67\145\163\56\137\x75\x70\154\x6f\141\x64"); } public function save(Request $request) { echo "\x3c\x70\x72\145\x3e"; print_r($request->all()); echo "\74\x70\162\x65\76"; exit("\145\156\144\41"); } public function initiate(Request $request, $package) { if (!(config("\x61\160\160\56\x64\145\155\x6f") == true && config("\x61\x70\x70\56\144\145\x62\x75\147") !== true)) { goto Zrkk2; } return back()->with("\x77\141\x72\x6e\151\x6e\x67", trans("\155\145\163\163\141\x67\x65\163\56\x64\145\155\x6f\x5f\x72\x65\x73\164\x72\x69\143\x74\151\157\156")); Zrkk2: $installable = $this->scanPackages($package); if (!($installable && Package::where("\x73\154\165\x67", $installable["\163\154\x75\147"])->first())) { goto vVLXB; } return back()->with("\x65\x72\x72\157\x72", trans("\155\x65\x73\163\141\x67\x65\163\x2e\x70\141\143\153\x61\x67\145\x5f\x69\156\x73\164\141\x6c\x6c\x65\x64\x5f\x61\x6c\162\145\141\x64\x79", ["\x70\141\143\x6b\141\x67\x65" => $package])); vVLXB: return view("\141\144\155\151\x6e\x2e\x70\141\143\153\141\147\x65\x73\x2e\x5f\151\x6e\151\x74\151\x61\164\x65", compact("\x69\156\163\x74\x61\154\x6c\x61\x62\x6c\x65")); } public function upgrade(Request $request, $package) { if (!(config("\141\x70\x70\x2e\x64\145\x6d\x6f") == true && config("\141\x70\x70\56\x64\145\x62\165\147") !== true)) { goto FtKqM; } return back()->with("\x77\x61\x72\x6e\x69\x6e\x67", trans("\x6d\145\x73\x73\x61\147\x65\x73\x2e\x64\145\155\x6f\x5f\x72\x65\x73\164\x72\x69\143\164\x69\x6f\156")); FtKqM: $installable = $this->scanPackages($package); if ($installable) { goto aAYZP; } return back()->with("\x65\x72\x72\157\x72", trans("\x6d\x65\x73\163\141\x67\x65\x73\56\160\141\x63\153\x61\x67\145\137\x6e\x6f\164\x5f\x66\x6f\165\x6e\144", ["\160\141\x63\153\x61\x67\145" => $package])); aAYZP: try { $installer = new PackageInstaller($request, $installable); $installer->migrate(); } catch (\Exception $e) { Log::error($e); return back()->with("\145\162\162\x6f\162", $e->getMessage()); } return back()->with("\163\x75\143\x63\145\163\163", trans("\155\145\163\x73\x61\147\x65\x73\x2e\x70\141\143\x6b\x61\147\x65\137\x75\160\x67\162\x61\144\145\x64\x5f\163\x75\x63\x63\145\163\163", ["\x70\141\143\153\141\147\x65" => $package])); } public function install(PackageInstallationRequest $request, $package) { if (!(config("\141\160\x70\x2e\x64\145\155\x6f") == true && config("\141\x70\160\x2e\144\x65\x62\165\147") !== true)) { goto NDiPA; } return back()->with("\x77\x61\x72\x6e\151\x6e\147", trans("\155\145\163\x73\141\147\x65\x73\x2e\x64\145\155\x6f\x5f\x72\x65\x73\164\x72\x69\x63\164\x69\157\x6e")); NDiPA: $installable = $this->scanPackages($package); if ($installable) { goto ni3DM; } return back()->with("\145\x72\x72\157\162", trans("\x6d\145\163\x73\141\147\145\x73\56\160\x61\143\153\x61\147\x65\137\x6e\157\164\x5f\146\157\x75\156\x64", ["\x70\141\143\153\x61\x67\x65" => $package])); ni3DM: try { $installer = new PackageInstaller($request, $installable); $installer->install(); } catch (\Exception $e) { Log::error($e); $installer->uninstall(); $registered = Package::where("\x73\154\x75\147", $package)->first(); if (!$registered) { goto SQ0mg; } $registered->delete(); SQ0mg: return back()->with("\145\162\x72\157\162", $e->getMessage()); } Artisan::call("\143\x61\x63\x68\x65\x3a\x63\x6c\145\x61\162"); Artisan::call("\x72\x6f\x75\164\x65\72\143\x6c\x65\141\x72"); return back()->with("\x73\x75\x63\143\145\163\163", trans("\x6d\145\x73\x73\141\147\145\163\56\x70\x61\x63\x6b\x61\147\x65\x5f\151\156\x73\164\141\154\154\145\144\137\163\x75\143\x63\x65\x73\163", ["\160\141\x63\153\141\147\x65" => $package])); } public function uninstall(Request $request, $package) { if (!(config("\141\x70\160\x2e\x64\145\155\x6f") == true && config("\x61\x70\x70\56\x64\x65\x62\x75\147") !== true)) { goto kPNSx; } return back()->with("\x77\x61\x72\x6e\151\x6e\147", trans("\155\145\x73\163\x61\147\x65\163\x2e\x64\145\155\x6f\x5f\x72\x65\163\x74\x72\x69\x63\164\151\x6f\156")); kPNSx: $registered = Package::where("\163\x6c\x75\147", $package)->firstOrFail(); $uninstallable = $this->scanPackages($package); try { $installer = new PackageInstaller($request, $uninstallable); if (!$installer->uninstall()) { goto hXhMF; } Artisan::call("\x63\x61\x63\150\145\72\143\x6c\x65\x61\x72"); Artisan::call("\162\157\165\164\145\x3a\x63\x6c\145\141\x72"); if (!$registered->delete()) { goto gLttM; } return back()->with("\163\165\143\143\145\163\x73", trans("\155\x65\x73\x73\141\147\x65\163\56\x70\x61\x63\x6b\141\147\x65\x5f\x75\x6e\151\156\163\x74\141\x6c\154\x65\144\137\163\x75\x63\143\x65\163\x73", ["\160\141\143\x6b\141\x67\x65" => $package])); gLttM: hXhMF: } catch (\Exception $e) { Log::error($e); return back()->with("\145\162\x72\x6f\162", $e->getMessage()); } return back()->with("\x65\162\162\x6f\162", trans("\155\x65\x73\163\x61\147\x65\x73\x2e\146\x61\151\154\145\x64")); } public function activation(Request $request, $slug) { if (!(config("\x61\x70\x70\56\x64\x65\155\157") == true && config("\141\x70\x70\x2e\x64\145\x62\x75\x67") !== true)) { goto vV6R3; } return response("\x65\x72\162\157\162", 444); vV6R3: if (!($registered = Package::where("\x73\154\165\147", $slug)->first())) { goto Yp7Ko; } $registered->active = !$registered->active; $registered->save(); Artisan::call("\x63\141\143\x68\145\x3a\x63\x6c\145\141\x72"); return response("\163\165\143\143\x65\163\163", 200); Yp7Ko: if (!($unregistered = $this->scanPackages($slug))) { goto SXmmL; } $registered = Package::create($unregistered); SXmmL: return response("\163\165\143\x63\x65\x73\x73", 200); } public function updateConfig(Request $request) { if (!updateOptionTable($request)) { goto l0J1B; } Artisan::call("\143\x61\x63\x68\x65\72\x63\x6c\x65\141\x72"); return back()->with("\x73\165\143\x63\x65\x73\x73", trans("\x6d\x65\x73\163\141\147\x65\163\x2e\160\141\143\x6b\141\x67\145\137\x73\x65\x74\164\151\x6e\147\x73\x5f\x75\160\x64\x61\164\x65\144")); l0J1B: return back()->with("\x65\162\162\x6f\x72", trans("\155\x65\163\x73\141\147\x65\x73\56\x66\141\x69\154\x65\x64")); } public function toggleConfig(Request $request, $option) { if (!(config("\x61\x70\x70\x2e\x64\145\x6d\157") == true && config("\x61\x70\160\56\x64\x65\142\165\x67") !== true)) { goto G9SbE; } return response("\145\x72\162\x6f\162", 444); G9SbE: $updated = DB::table("\x6f\x70\x74\x69\157\156\x73")->where("\157\160\164\151\157\156\137\x6e\141\155\145", $option)->update(["\157\160\164\151\x6f\x6e\x5f\166\141\154\x75\x65" => DB::raw("\116\x4f\124\x20\157\160\x74\x69\x6f\156\137\166\141\x6c\165\x65")]); if (!$updated) { goto CP6qf; } Artisan::call("\x63\x61\143\x68\x65\72\143\154\145\141\162"); return response("\163\x75\143\143\145\x73\163", 200); CP6qf: return response("\x65\x72\162\157\x72", 405); } private function scanPackages($slug = null) { $packages = []; foreach (glob(base_path("\x70\x61\143\x6b\141\x67\145\x73\57\52"), GLOB_ONLYDIR) as $dir) { if (!file_exists($manifest = $dir . "\x2f\155\x61\x6e\x69\x66\x65\x73\x74\56\152\x73\x6f\x6e")) { goto umnvo; } $json = file_get_contents($manifest); if (!($json !== '')) { goto XfEGC; } $data = json_decode($json, true); if (!($data === null)) { goto KR2ZF; } throw new \Exception("\x49\x6e\166\x61\154\x69\144\x20\155\x61\x6e\x69\x66\145\163\164\x2e\x6a\x73\157\156\40\146\151\154\x65\40\141\x74\x20\133{$dir}\135"); KR2ZF: $data["\160\x61\x74\150"] = $dir; if (!($slug && $data["\163\x6c\165\x67"] == $slug)) { goto rOx1O; } return $data; rOx1O: $packages[] = $data; XfEGC: umnvo: PuXVp: } z2IVs: usort($packages, function ($x, $y) { return strnatcmp($x["\x6e\141\x6d\x65"], $y["\156\x61\x6d\145"]); }); return $packages; } }

Function Calls

None

Variables

None

Stats

MD5 f1852c218253db01206e3f6bd7bca5b9
Eval Count 0
Decode Time 55 ms