namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Http;
use Illuminate\Support\Facades\Storage;
class LicenseController extends Controller {
public function showForm(Request $request) {
$domain = preg_replace("/^www\./", '', $request->getHost());
return view("license.form", compact("domain"));
}
public function activate(Request $request) {
$request->validate(array("domain" => "required|string", "purchase_code" => "required|string"));
$domain = $request->domain;
$purchaseCode = $request->purchase_code;
if (!class_exists(\finfo::class)) {
return redirect()->back()->with("error", "The PHP Fileinfo extension is not enabled on your server. Please enable it to continue.");
}
try {
$response = Http::post("https://envato-licensing-server.giveturn.com/api/licenses/activate", array("domain" => $domain, "purchase_code" => $purchaseCode));
if ($response->successful()) {
$data = $response->json();
Storage::put("license.jwt", $data["token"]);
return redirect()->route("install.form")->with("success", "Your license is activated successfully. Now it's time to set up the database.");
}
return redirect()->back()->with("error", $response->json()["message"] ?? "Activation failed");
}
catch (\Exception $e) {
return redirect()->back()->with("error", "Error connecting to license server: " . $e->getMessage());
}
}
}
© 2023 Quttera Ltd. All rights reserved.