Move plugins to manifest, pin Docker version, add Makefile

- Add plugins.txt listing all plugins for reproducible installs
- Add Makefile with setup/start/stop/install-plugins targets
- Remove user/plugins/ from git tracking
- Pin Docker image to 1.7.49.5-ls244

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-19 00:55:59 +02:00
parent 8f9ac9ca6e
commit 4f52d4d085
2738 changed files with 0 additions and 472444 deletions
@@ -1,84 +0,0 @@
<?php
namespace Grav\Plugin\Form\Captcha;
use Grav\Common\Grav;
/**
* Factory for captcha providers
*/
class CaptchaFactory
{
/** @var array */
protected static $providers = [];
/**
* Register a captcha provider
*
* @param string $name Provider name
* @param string|CaptchaProviderInterface $provider Provider class or instance
* @return void
*/
public static function registerProvider(string $name, $provider): void
{
// If it's a class name, instantiate it
if (is_string($provider) && class_exists($provider)) {
$provider = new $provider();
}
if (!$provider instanceof CaptchaProviderInterface) {
Grav::instance()['log']->error("Cannot register captcha provider '{$name}': Provider must implement CaptchaProviderInterface");
return;
}
self::$providers[$name] = $provider;
// Grav::instance()['log']->debug("Registered captcha provider: {$name}");
}
/**
* Check if a provider is registered
*
* @param string $name Provider name
* @return bool
*/
public static function hasProvider(string $name): bool
{
return isset(self::$providers[$name]);
}
/**
* Get a provider by name
*
* @param string $name Provider name
* @return CaptchaProviderInterface|null Provider instance or null if not found
*/
public static function getProvider(string $name): ?CaptchaProviderInterface
{
return self::$providers[$name] ?? null;
}
/**
* Get all registered providers
*
* @return array
*/
public static function getProviders(): array
{
return self::$providers;
}
/**
* Register all default captcha providers
*
* @return void
*/
public static function registerDefaultProviders(): void
{
// Register built-in providers
self::registerProvider('recaptcha', new ReCaptchaProvider());
self::registerProvider('turnstile', new TurnstileProvider());
self::registerProvider('basic-captcha', new BasicCaptchaProvider());
// Log the registration
// Grav::instance()['log']->debug('Registered default captcha providers');
}
}