Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
Total | |
0.00% |
0 / 1 |
|
0.00% |
0 / 6 |
CRAP | |
0.00% |
0 / 68 |
gd | |
0.00% |
0 / 1 |
|
0.00% |
0 / 6 |
240 | |
0.00% |
0 / 68 |
is_available | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 3 |
|||
get_generator_class | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 3 |
|||
has_config | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 3 |
|||
get_name | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 3 |
|||
acp_page | |
0.00% |
0 / 1 |
72 | |
0.00% |
0 / 41 |
|||
execute_demo | |
0.00% |
0 / 1 |
12 | |
0.00% |
0 / 15 |
<?php | |
/** | |
* | |
* This file is part of the phpBB Forum Software package. | |
* | |
* @copyright (c) phpBB Limited <https://www.phpbb.com> | |
* @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 gd extends captcha_abstract | |
{ | |
var $captcha_vars = array( | |
'captcha_gd_x_grid' => 'CAPTCHA_GD_X_GRID', | |
'captcha_gd_y_grid' => 'CAPTCHA_GD_Y_GRID', | |
'captcha_gd_foreground_noise' => 'CAPTCHA_GD_FOREGROUND_NOISE', | |
// 'captcha_gd' => 'CAPTCHA_GD_PREVIEWED', | |
'captcha_gd_wave' => 'CAPTCHA_GD_WAVE', | |
'captcha_gd_3d_noise' => 'CAPTCHA_GD_3D_NOISE', | |
'captcha_gd_fonts' => 'CAPTCHA_GD_FONTS', | |
); | |
public function is_available() | |
{ | |
return @extension_loaded('gd'); | |
} | |
/** | |
* @return string the name of the class used to generate the captcha | |
*/ | |
function get_generator_class() | |
{ | |
return '\\phpbb\\captcha\\gd'; | |
} | |
/** | |
* API function | |
*/ | |
function has_config() | |
{ | |
return true; | |
} | |
public function get_name() | |
{ | |
return 'CAPTCHA_GD'; | |
} | |
function acp_page($id, $module) | |
{ | |
global $user, $template, $phpbb_log, $request; | |
global $config; | |
$user->add_lang('acp/board'); | |
$module->tpl_name = 'captcha_gd_acp'; | |
$module->page_title = 'ACP_VC_SETTINGS'; | |
$form_key = 'acp_captcha'; | |
add_form_key($form_key); | |
$submit = $request->variable('submit', ''); | |
if ($submit && check_form_key($form_key)) | |
{ | |
$captcha_vars = array_keys($this->captcha_vars); | |
foreach ($captcha_vars as $captcha_var) | |
{ | |
$value = $request->variable($captcha_var, 0); | |
if ($value >= 0) | |
{ | |
$config->set($captcha_var, $value); | |
} | |
} | |
$phpbb_log->add('admin', $user->data['user_id'], $user->ip, 'LOG_CONFIG_VISUAL'); | |
trigger_error($user->lang['CONFIG_UPDATED'] . adm_back_link($module->u_action)); | |
} | |
else if ($submit) | |
{ | |
trigger_error($user->lang['FORM_INVALID'] . adm_back_link($module->u_action)); | |
} | |
else | |
{ | |
foreach ($this->captcha_vars as $captcha_var => $template_var) | |
{ | |
$var = (isset($_REQUEST[$captcha_var])) ? $request->variable($captcha_var, 0) : $config[$captcha_var]; | |
$template->assign_var($template_var, $var); | |
} | |
$template->assign_vars(array( | |
'CAPTCHA_PREVIEW' => $this->get_demo_template($id), | |
'CAPTCHA_NAME' => $this->get_service_name(), | |
'U_ACTION' => $module->u_action, | |
)); | |
} | |
} | |
function execute_demo() | |
{ | |
global $config, $request; | |
$config_old = $config; | |
$config = new \phpbb\config\config(array()); | |
foreach ($config_old as $key => $value) | |
{ | |
$config->set($key, $value); | |
} | |
foreach ($this->captcha_vars as $captcha_var => $template_var) | |
{ | |
$config->set($captcha_var, $request->variable($captcha_var, (int) $config[$captcha_var])); | |
} | |
parent::execute_demo(); | |
$config = $config_old; | |
} | |
} |