diff --git a/phpBB/phpbb/captcha/plugins/legacy_wrapper.php b/phpBB/phpbb/captcha/plugins/legacy_wrapper.php new file mode 100644 index 0000000000..90ff01995b --- /dev/null +++ b/phpBB/phpbb/captcha/plugins/legacy_wrapper.php @@ -0,0 +1,82 @@ + + * @license GNU General Public License, version 2 (GPL-2.0) + * + * For full copyright and license information, please see + * the docs/CREDITS.txt file. + * + */ + +namespace phpbb\captcha\plugins; + +class legacy_wrapper implements plugin_interface +{ + private $legacy_captcha; + + public function __construct($legacy_captcha) + { + $this->legacy_captcha = $legacy_captcha; + } + + /** + * Check if the plugin is available + * @return bool True if the plugin is available, false if not + */ + public function is_available(): bool + { + if (method_exists($this->legacy_captcha, 'is_available')) + { + return $this->legacy_captcha->is_available(); + } + + return false; + } + + /** + * Check if the plugin has a configuration + * + * @return bool True if the plugin has a configuration, false if not + */ + public function has_config(): bool + { + if (method_exists($this->legacy_captcha, 'has_config')) + { + return $this->legacy_captcha->has_config(); + } + + return false; + } + + /** + * Get the name of the plugin, should be language variable + * + * @return string + */ + public function get_name(): string + { + if (method_exists($this->legacy_captcha, 'get_name')) + { + return $this->legacy_captcha->has_config(); + } + + return false; + } + + /** + * Display the captcha for the specified type + * + * @param int $type Type of captcha, should be one of the CONFIRMATION_* constants + * @return void + */ + public function show(int $type): void + { + if (method_exists($this->legacy_captcha, 'init')) + { + $this->legacy_captcha->init($type); + } + } +} \ No newline at end of file diff --git a/phpBB/phpbb/captcha/plugins/plugin_interface.php b/phpBB/phpbb/captcha/plugins/plugin_interface.php index f40745db21..51c8d3d23d 100644 --- a/phpBB/phpbb/captcha/plugins/plugin_interface.php +++ b/phpBB/phpbb/captcha/plugins/plugin_interface.php @@ -1,4 +1,15 @@ + * @license GNU General Public License, version 2 (GPL-2.0) + * + * For full copyright and license information, please see + * the docs/CREDITS.txt file. + * + */ namespace phpbb\captcha\plugins; @@ -30,7 +41,7 @@ interface plugin_interface * * @return string */ - public static function get_name(): string; + public function get_name(): string; /** * Display the captcha for the specified type diff --git a/phpBB/phpbb/captcha/plugins/turnstile.php b/phpBB/phpbb/captcha/plugins/turnstile.php index 1388f33012..130949e708 100644 --- a/phpBB/phpbb/captcha/plugins/turnstile.php +++ b/phpBB/phpbb/captcha/plugins/turnstile.php @@ -1,4 +1,15 @@ + * @license GNU General Public License, version 2 (GPL-2.0) + * + * For full copyright and license information, please see + * the docs/CREDITS.txt file. + * + */ namespace phpbb\captcha\plugins;