[ Index ] |
PHP Cross Reference of Unnamed Project |
[Summary view] [Print] [Text view]
1 <?php 2 /** 3 * 4 * @package acp 5 * @version $Id$ 6 * @copyright (c) 2005 phpBB Group 7 * @license http://opensource.org/licenses/gpl-license.php GNU Public License 8 */ 9 10 /** 11 * @ignore 12 */ 13 if (!defined('IN_PHPBB')) 14 { 15 exit; 16 } 17 18 /** 19 * @package acp 20 */ 21 class acp_captcha 22 { 23 var $u_action; 24 25 function main($id, $mode) 26 { 27 global $db, $user, $auth, $template; 28 global $config, $phpbb_root_path, $phpbb_admin_path, $phpEx; 29 30 $user->add_lang('acp/board'); 31 32 include($phpbb_root_path . 'includes/captcha/captcha_factory.' . $phpEx); 33 $captchas = phpbb_captcha_factory::get_captcha_types(); 34 35 $selected = request_var('select_captcha', $config['captcha_plugin']); 36 $selected = (isset($captchas['available'][$selected]) || isset($captchas['unavailable'][$selected])) ? $selected : $config['captcha_plugin']; 37 $configure = request_var('configure', false); 38 39 40 // Oh, they are just here for the view 41 if (isset($_GET['captcha_demo'])) 42 { 43 $this->deliver_demo($selected); 44 } 45 46 // Delegate 47 if ($configure) 48 { 49 $config_captcha =& phpbb_captcha_factory::get_instance($selected); 50 $config_captcha->acp_page($id, $this); 51 } 52 else 53 { 54 $config_vars = array( 55 'enable_confirm' => array('tpl' => 'REG_ENABLE', 'default' => false), 56 'enable_post_confirm' => array('tpl' => 'POST_ENABLE', 'default' => false), 57 'confirm_refresh' => array('tpl' => 'CONFIRM_REFRESH', 'default' => false), 58 'max_reg_attempts' => array('tpl' => 'REG_LIMIT', 'default' => 0), 59 'max_login_attempts' => array('tpl' => 'MAX_LOGIN_ATTEMPTS', 'default' => 0), 60 ); 61 62 $this->tpl_name = 'acp_captcha'; 63 $this->page_title = 'ACP_VC_SETTINGS'; 64 $form_key = 'acp_captcha'; 65 add_form_key($form_key); 66 67 $submit = request_var('main_submit', false); 68 69 if ($submit && check_form_key($form_key)) 70 { 71 foreach ($config_vars as $config_var => $options) 72 { 73 set_config($config_var, request_var($config_var, $options['default'])); 74 } 75 76 if ($selected !== $config['captcha_plugin']) 77 { 78 // sanity check 79 if (isset($captchas['available'][$selected])) 80 { 81 $old_captcha =& phpbb_captcha_factory::get_instance($config['captcha_plugin']); 82 $old_captcha->uninstall(); 83 84 set_config('captcha_plugin', $selected); 85 $new_captcha =& phpbb_captcha_factory::get_instance($config['captcha_plugin']); 86 $new_captcha->install(); 87 88 add_log('admin', 'LOG_CONFIG_VISUAL'); 89 } 90 else 91 { 92 trigger_error($user->lang['CAPTCHA_UNAVAILABLE'] . adm_back_link($this->u_action), E_USER_WARNING); 93 } 94 } 95 trigger_error($user->lang['CONFIG_UPDATED'] . adm_back_link($this->u_action)); 96 } 97 else if ($submit) 98 { 99 trigger_error($user->lang['FORM_INVALID'] . adm_back_link($this->u_action), E_USER_WARNING); 100 } 101 else 102 { 103 $captcha_select = ''; 104 foreach ($captchas['available'] as $value => $title) 105 { 106 $current = ($selected !== false && $value == $selected) ? ' selected="selected"' : ''; 107 $captcha_select .= '<option value="' . $value . '"' . $current . '>' . $user->lang[$title] . '</option>'; 108 } 109 110 foreach ($captchas['unavailable'] as $value => $title) 111 { 112 $current = ($selected !== false && $value == $selected) ? ' selected="selected"' : ''; 113 $captcha_select .= '<option value="' . $value . '"' . $current . ' class="disabled-option">' . $user->lang[$title] . '</option>'; 114 } 115 116 $demo_captcha =& phpbb_captcha_factory::get_instance($selected); 117 118 foreach ($config_vars as $config_var => $options) 119 { 120 $template->assign_var($options['tpl'], (isset($_POST[$config_var])) ? request_var($config_var, $options['default']) : $config[$config_var]) ; 121 } 122 123 $template->assign_vars(array( 124 'CAPTCHA_PREVIEW_TPL' => $demo_captcha->get_demo_template($id), 125 'S_CAPTCHA_HAS_CONFIG' => $demo_captcha->has_config(), 126 'CAPTCHA_SELECT' => $captcha_select, 127 128 'U_ACTION' => $this->u_action, 129 )); 130 } 131 } 132 } 133 134 /** 135 * Entry point for delivering image CAPTCHAs in the ACP. 136 */ 137 function deliver_demo($selected) 138 { 139 global $db, $user, $config; 140 141 $captcha =& phpbb_captcha_factory::get_instance($selected); 142 $captcha->init(CONFIRM_REG); 143 $captcha->execute_demo(); 144 145 garbage_collection(); 146 exit_handler(); 147 } 148 } 149 150 ?>
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Wed Oct 2 15:03:47 2013 | Cross-referenced by PHPXref 0.7.1 |