aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/includes/acp/acp_captcha.php
diff options
context:
space:
mode:
authorHenry Sudhof <kellanved@phpbb.com>2007-05-05 21:33:25 +0000
committerHenry Sudhof <kellanved@phpbb.com>2007-05-05 21:33:25 +0000
commitc8fa1399a94ef612a6fafde95aeb0c218be8711a (patch)
treeca5d8e82d8f9563add7953d49ce60c5d1f18bfee /phpBB/includes/acp/acp_captcha.php
parent1bbc043bccc6c90e5ca20a3c5739444e3024cef6 (diff)
downloadforums-c8fa1399a94ef612a6fafde95aeb0c218be8711a.tar
forums-c8fa1399a94ef612a6fafde95aeb0c218be8711a.tar.gz
forums-c8fa1399a94ef612a6fafde95aeb0c218be8711a.tar.bz2
forums-c8fa1399a94ef612a6fafde95aeb0c218be8711a.tar.xz
forums-c8fa1399a94ef612a6fafde95aeb0c218be8711a.zip
Introducing a new CAPTCHA. Thanks to Robert "Xore" Hetzler for idea & code and Ashley "Neothermic" Pinner for her expertise and contributions to said code.
This introduces new language variables, so take note translators :). git-svn-id: file:///svn/phpbb/trunk@7478 89ea8834-ac86-4346-8a33-228a782c2dd0
Diffstat (limited to 'phpBB/includes/acp/acp_captcha.php')
-rw-r--r--phpBB/includes/acp/acp_captcha.php54
1 files changed, 49 insertions, 5 deletions
diff --git a/phpBB/includes/acp/acp_captcha.php b/phpBB/includes/acp/acp_captcha.php
index 7cef658e93..7386c378a3 100644
--- a/phpBB/includes/acp/acp_captcha.php
+++ b/phpBB/includes/acp/acp_captcha.php
@@ -21,16 +21,44 @@ class acp_captcha
$user->add_lang('acp/board');
+
+ $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'
+ );
+
+ if (isset($_GET['demo']))
+ {
+ $captcha_vars = array_keys($captcha_vars);
+ foreach ($captcha_vars as $captcha_var)
+ {
+ $config[$captcha_var] = (isset($_REQUEST[$captcha_var])) ? request_var($captcha_var, 0) : $config[$captcha_var];
+ }
+ if ($config['captcha_gd'])
+ {
+ include($phpbb_root_path . 'includes/captcha/captcha_gd.' . $phpEx);
+ }
+ else
+ {
+ include($phpbb_root_path . 'includes/captcha/captcha_non_gd.' . $phpEx);
+ }
+ $captcha = new captcha();
+ $captcha->execute(gen_rand_string(mt_rand(5, 8)), time());
+ exit;
+ }
+
$config_vars = array(
'enable_confirm' => 'REG_ENABLE',
'enable_post_confirm' => 'POST_ENABLE',
'captcha_gd' => 'CAPTCHA_GD',
- 'captcha_gd_noise' => 'CAPTCHA_GD_NOISE',
);
$this->tpl_name = 'acp_captcha';
$this->page_title = 'ACP_VC_SETTINGS';
$submit = request_var('submit', '');
+
if ($submit)
{
$config_vars = array_keys($config_vars);
@@ -38,20 +66,36 @@ class acp_captcha
{
set_config($config_var, request_var($config_var, ''));
}
+ $captcha_vars = array_keys($captcha_vars);
+ foreach ($captcha_vars as $captcha_var)
+ {
+ set_config($captcha_var, request_var($captcha_var, 0));
+ }
trigger_error($user->lang['CONFIG_UPDATED'] . adm_back_link($this->u_action));
}
else
{
- $array = array();
-
- if (@extension_loaded('gd') && function_exists('imagettfbbox') && function_exists('imagettftext'))
+
+ $preview_image_src = append_sid(append_sid("{$phpbb_admin_path}index.$phpEx", "i=$id&amp;demo=demo"));
+ if (@extension_loaded('gd'))
{
$template->assign_var('GD', true);
}
foreach ($config_vars as $config_var => $template_var)
{
- $template->assign_var($template_var, $config[$config_var]);
+ $template->assign_var($template_var, (isset($_REQUEST[$config_var])) ? request_var($config_var, '') : $config[$config_var]) ;
+ }
+ foreach ($captcha_vars as $captcha_var => $template_var)
+ {
+ $var = (isset($_REQUEST[$captcha_var])) ? request_var($captcha_var, 0) : $config[$captcha_var];
+ $template->assign_var($template_var, $var);
+ $preview_image_src .= "&amp;$captcha_var=" . $var;
}
+ $template->assign_vars(array(
+ 'CAPTCHA_PREVIEW' => $preview_image_src,
+ 'PREVIEW' => isset($_POST['preview']),
+ ));
+
}
}
}