Function bodies 3 total
GptZeroController class · php · L15-L96 (82 LOC)src/Http/Controllers/GptZeroController.php
class GptZeroController extends Controller
{
protected GptZeroService $service;
/**
* @param GptZeroService $service
*/
public function __construct(GptZeroService $service)
{
$this->service = $service;
}
/**
* Settings page.
*
* @return View
*/
public function settings(): View
{
return view('gptzero::settings.index');
}
/**
* Save settings.
*
* @param Request $request
* @return JsonResponse
*/
public function saveSettings(Request $request): JsonResponse
{
$validated = $request->validate([
'api_key' => 'nullable|string|max:500',
'enabled' => 'nullable|boolean',
'debug_mode' => 'nullable|boolean',
]);
if (isset($validated['api_key']) && !empty($validated['api_key'])) {
Setting::setValue('gptzero_api_key', $validated['api_key']);
}
Setting::setValue('gptzero_enabled', $validated['eGptZeroServiceProvider class · php · L10-L49 (40 LOC)src/Providers/GptZeroServiceProvider.php
class GptZeroServiceProvider extends ServiceProvider
{
/**
* @return void
*/
public function register(): void
{
$this->mergeConfigFrom(__DIR__ . '/../../config/gptzero.php', 'gptzero');
}
/**
* @return void
*/
public function boot(): void
{
$this->loadRoutesFrom(__DIR__ . '/../../routes/gptzero.php');
$this->loadViewsFrom(__DIR__ . '/../../resources/views', 'gptzero');
// Settings card on /settings page
$this->registerSettingsCard();
// Sidebar link
if (class_exists(\hexa_core\Services\PackageRegistryService::class)) {
$registry = app(\hexa_core\Services\PackageRegistryService::class);
$registry->registerSidebarLink('gptzero.settings', 'GPTZero', 'M9 12l2 2 4-4m5.618-4.016A11.955 11.955 0 0112 2.944a11.955 11.955 0 01-8.618 3.04A12.02 12.02 0 003 9c0 5.591 3.824 10.29 9 11.622 5.176-1.332 9-6.03 9-11.622 0-1.042-.133-2.052-.382-3.016z', 'Content', 'gptzero'GptZeroService class · php · L15-L125 (111 LOC)src/Services/GptZeroService.php
class GptZeroService
{
protected GenericService $generic;
/**
* @param GenericService $generic
*/
public function __construct(GenericService $generic)
{
$this->generic = $generic;
}
/**
* Check if GPTZero is enabled.
*
* @return bool
*/
public function isEnabled(): bool
{
return Setting::getValue('gptzero_enabled', config('gptzero.enabled', true));
}
/**
* Check if debug mode is on (sends only first 3 sentences).
*
* @return bool
*/
public function isDebugMode(): bool
{
return (bool) Setting::getValue('gptzero_debug_mode', false);
}
/**
* Get the API key.
*
* @return string|null
*/
public function getApiKey(): ?string
{
return Setting::getValue('gptzero_api_key');
}
/**
* Detect AI-generated content.
*
* @param string $text Plain text to analyze
* @return array{success: bool, message: strin