| 1 | <?php
 | 
  
    | 2 | 
 | 
  
    | 3 | // $Id: tool.php 1289 2010-02-10 15:13:21Z kweitzel $
 | 
  
    | 4 | 
 | 
  
    | 5 | /*
 | 
  
    | 6 | 
 | 
  
    | 7 |  Website Baker Project <http://www.websitebaker.org/>
 | 
  
    | 8 |  Copyright (C) 2004-2009, Ryan Djurovich
 | 
  
    | 9 | 
 | 
  
    | 10 |  Website Baker is free software; you can redistribute it and/or modify
 | 
  
    | 11 |  it under the terms of the GNU General Public License as published by
 | 
  
    | 12 |  the Free Software Foundation; either version 2 of the License, or
 | 
  
    | 13 |  (at your option) any later version.
 | 
  
    | 14 | 
 | 
  
    | 15 |  Website Baker is distributed in the hope that it will be useful,
 | 
  
    | 16 |  but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
  
    | 17 |  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
  
    | 18 |  GNU General Public License for more details.
 | 
  
    | 19 | 
 | 
  
    | 20 |  You should have received a copy of the GNU General Public License
 | 
  
    | 21 |  along with Website Baker; if not, write to the Free Software
 | 
  
    | 22 |  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 | 
  
    | 23 | 
 | 
  
    | 24 | */
 | 
  
    | 25 | 
 | 
  
    | 26 | // direct access prevention
 | 
  
    | 27 | defined('WB_PATH') OR die(header('Location: ../index.php'));
 | 
  
    | 28 | 
 | 
  
    | 29 | // check if module language file exists for the language set by the user (e.g. DE, EN)
 | 
  
    | 30 | if(!file_exists(WB_PATH .'/modules/captcha_control/languages/'.LANGUAGE .'.php')) {
 | 
  
    | 31 | 	// no module language file exists for the language set by the user, include default module language file EN.php
 | 
  
    | 32 | 	require_once(WB_PATH .'/modules/captcha_control/languages/EN.php');
 | 
  
    | 33 | } else {
 | 
  
    | 34 | 	// a module language file exists for the language defined by the user, load it
 | 
  
    | 35 | 	require_once(WB_PATH .'/modules/captcha_control/languages/'.LANGUAGE .'.php');
 | 
  
    | 36 | }
 | 
  
    | 37 | 
 | 
  
    | 38 | $table = TABLE_PREFIX.'mod_captcha_control';
 | 
  
    | 39 | 
 | 
  
    | 40 | // check if data was submitted
 | 
  
    | 41 | if(isset($_POST['save_settings'])) {
 | 
  
    | 42 | 	// get configuration settings
 | 
  
    | 43 | 	$enabled_captcha = ($_POST['enabled_captcha'] == '1') ? '1' : '0';
 | 
  
    | 44 | 	$enabled_asp = ($_POST['enabled_asp'] == '1') ? '1' : '0';
 | 
  
    | 45 | 	$captcha_type = $admin->add_slashes($_POST['captcha_type']);
 | 
  
    | 46 | 	
 | 
  
    | 47 | 	// update database settings
 | 
  
    | 48 | 	$database->query("UPDATE $table SET
 | 
  
    | 49 | 		enabled_captcha = '$enabled_captcha',
 | 
  
    | 50 | 		enabled_asp = '$enabled_asp',
 | 
  
    | 51 | 		captcha_type = '$captcha_type'
 | 
  
    | 52 | 	");
 | 
  
    | 53 | 
 | 
  
    | 54 | 	// save text-captchas
 | 
  
    | 55 | 	if($captcha_type == 'text') { // ct_text
 | 
  
    | 56 | 		$text_qa=$admin->add_slashes($_POST['text_qa']);
 | 
  
    | 57 | 		if(!preg_match('/### .*? ###/', $text_qa)) {
 | 
  
    | 58 | 			$database->query("UPDATE $table SET ct_text = '$text_qa'");
 | 
  
    | 59 | 		}
 | 
  
    | 60 | 	}
 | 
  
    | 61 | 	
 | 
  
    | 62 | 	// check if there is a database error, otherwise say successful
 | 
  
    | 63 | 	if($database->is_error()) {
 | 
  
    | 64 | 		$admin->print_error($database->get_error(), $js_back);
 | 
  
    | 65 | 	} else {
 | 
  
    | 66 | 		$admin->print_success($MESSAGE['PAGES']['SAVED'], ADMIN_URL.'/admintools/tool.php?tool=captcha_control');
 | 
  
    | 67 | 	}
 | 
  
    | 68 | 
 | 
  
    | 69 | } else {
 | 
  
    | 70 | 	
 | 
  
    | 71 | 	// include captcha-file
 | 
  
    | 72 | 	require_once(WB_PATH .'/include/captcha/captcha.php');
 | 
  
    | 73 | 
 | 
  
    | 74 | 	// load text-captchas
 | 
  
    | 75 | 	$text_qa='';
 | 
  
    | 76 | 	if($query = $database->query("SELECT ct_text FROM $table")) {
 | 
  
    | 77 | 		$data = $query->fetchRow();
 | 
  
    | 78 | 		$text_qa = $data['ct_text'];
 | 
  
    | 79 | 	}
 | 
  
    | 80 | 	if($text_qa == '')
 | 
  
    | 81 | 		$text_qa = $MOD_CAPTCHA_CONTROL['CAPTCHA_TEXT_DESC'];
 | 
  
    | 82 | 
 | 
  
    | 83 | // script to load image
 | 
  
    | 84 | ?>
 | 
  
    | 85 | <script type="text/javascript">
 | 
  
    | 86 | 	var pics = new Array();
 | 
  
    | 87 | 
 | 
  
    | 88 | 	pics["ttf_image"] = new Image();
 | 
  
    | 89 | 	pics["ttf_image"].src = "<?php echo WB_URL.'/include/captcha/captchas/ttf_image.png'?>";
 | 
  
    | 90 | 
 | 
  
    | 91 | 	pics["calc_image"] = new Image();
 | 
  
    | 92 | 	pics["calc_image"].src = "<?php echo WB_URL.'/include/captcha/captchas/calc_image.png'?>";
 | 
  
    | 93 | 
 | 
  
    | 94 | 	pics["calc_ttf_image"] = new Image();
 | 
  
    | 95 | 	pics["calc_ttf_image"].src = "<?php echo WB_URL.'/include/captcha/captchas/calc_ttf_image.png'?>";
 | 
  
    | 96 | 
 | 
  
    | 97 | 	pics["old_image"] = new Image();
 | 
  
    | 98 | 	pics["old_image"].src = "<?php echo WB_URL.'/include/captcha/captchas/old_image.png'?>";
 | 
  
    | 99 | 	
 | 
  
    | 100 | 	pics["calc_text"] = new Image();
 | 
  
    | 101 | 	pics["calc_text"].src = "<?php echo WB_URL.'/include/captcha/captchas/calc_text.png'?>";
 | 
  
    | 102 | 	
 | 
  
    | 103 | 	pics["text"] = new Image();
 | 
  
    | 104 | 	pics["text"].src = "<?php echo WB_URL.'/include/captcha/captchas/text.png'?>";
 | 
  
    | 105 | 
 | 
  
    | 106 | 	function load_captcha_image() {
 | 
  
    | 107 | 		document.captcha_example.src = pics[document.store_settings.captcha_type.value].src;
 | 
  
    | 108 | 		toggle_text_qa();
 | 
  
    | 109 | 	}
 | 
  
    | 110 | 	
 | 
  
    | 111 | 	function toggle_text_qa() {
 | 
  
    | 112 | 		if(document.store_settings.captcha_type.value == 'text' ) {
 | 
  
    | 113 | 			document.getElementById('text_qa').style.display = '';
 | 
  
    | 114 | 		} else {
 | 
  
    | 115 | 			document.getElementById('text_qa').style.display = 'none';
 | 
  
    | 116 | 		}
 | 
  
    | 117 | 	}
 | 
  
    | 118 | 
 | 
  
    | 119 | </script>
 | 
  
    | 120 | <?php
 | 
  
    | 121 | 
 | 
  
    | 122 | 	// connect to database and read out captcha settings
 | 
  
    | 123 | 	if($query = $database->query("SELECT * FROM $table")) {
 | 
  
    | 124 | 		$data = $query->fetchRow();
 | 
  
    | 125 | 		$enabled_captcha = $data['enabled_captcha'];
 | 
  
    | 126 | 		$enabled_asp = $data['enabled_asp'];
 | 
  
    | 127 | 		$captcha_type = $data['captcha_type'];
 | 
  
    | 128 | 	} else {
 | 
  
    | 129 | 		// something went wrong, use dummy value
 | 
  
    | 130 | 		$enabled_captcha = '1';
 | 
  
    | 131 | 		$enabled_asp = '1';
 | 
  
    | 132 | 		$captcha_type = 'calc_text';
 | 
  
    | 133 | 	}
 | 
  
    | 134 | 		
 | 
  
    | 135 | 	// write out heading
 | 
  
    | 136 | 	echo '<h2>' .$MOD_CAPTCHA_CONTROL['HEADING'] .'</h2>';
 | 
  
    | 137 | 
 | 
  
    | 138 | 	// output the form with values from the database
 | 
  
    | 139 | 	echo '<p>' .$MOD_CAPTCHA_CONTROL['HOWTO'] .'</p>';
 | 
  
    | 140 | ?>
 | 
  
    | 141 | <form name="store_settings" action="<?php echo $_SERVER['REQUEST_URI']; ?>" method="post">
 | 
  
    | 142 | 	<table width="98%" cellspacing="0" border="0" cellpadding="5px" class="row_a">
 | 
  
    | 143 | 	<tr><td colspan="2"><strong><?php echo $MOD_CAPTCHA_CONTROL['CAPTCHA_CONF'];?>:</strong></td></tr>
 | 
  
    | 144 | 	<tr>
 | 
  
    | 145 | 		<td width="30%"><?php echo $MOD_CAPTCHA_CONTROL['CAPTCHA_TYPE'];?>:</td>
 | 
  
    | 146 | 		<td>
 | 
  
    | 147 | 		<select name="captcha_type" id="captcha_type" onchange="load_captcha_image()" style="width: 98%;">
 | 
  
    | 148 | 			<?php foreach($useable_captchas AS $key=>$text) {
 | 
  
    | 149 | 			echo "<option value=\"$key\" ".($captcha_type==$key ? ' selected="selected"' : '').">$text</option>";
 | 
  
    | 150 | 			} ?>
 | 
  
    | 151 | 		</select>
 | 
  
    | 152 | 		</td>
 | 
  
    | 153 | 	</tr>
 | 
  
    | 154 | 	<tr>
 | 
  
    | 155 | 		<td> </td>
 | 
  
    | 156 | 		<td align="left" width="150px">
 | 
  
    | 157 |             <img alt="captcha_example" id="captcha_example" src="<?php echo WB_URL.'/include/captcha/captchas/'.$captcha_type.'.png'?>" />
 | 
  
    | 158 |         </td>
 | 
  
    | 159 | 	</tr>
 | 
  
    | 160 | 	<tr id="text_qa" style="display:<?php if($captcha_type=='text') echo ''; else echo 'none'; ;?>;">
 | 
  
    | 161 | 		<td valign="top" class="setting_name"><?php echo $MOD_CAPTCHA_CONTROL['CAPTCHA_ENTER_TEXT'];?>:</td>
 | 
  
    | 162 | 		<td class="setting_value" colspan="2">
 | 
  
    | 163 | 			<textarea name="text_qa" cols="60" rows="10"><?php echo $text_qa; ?></textarea>
 | 
  
    | 164 | 		</td>
 | 
  
    | 165 | 	</tr>
 | 
  
    | 166 | 	<tr>
 | 
  
    | 167 | 		<td><?php echo $MOD_CAPTCHA_CONTROL['USE_SIGNUP_CAPTCHA'];?>:</td>
 | 
  
    | 168 | 		<td>
 | 
  
    | 169 | 			<input type="radio" <?php echo ($enabled_captcha=='1') ?'checked="checked"' :'';?>
 | 
  
    | 170 | 				name="enabled_captcha" value="1" /><?php echo $MOD_CAPTCHA_CONTROL['ENABLED'];?>
 | 
  
    | 171 | 			<input type="radio" <?php echo ($enabled_captcha=='0') ?'checked="checked"' :'';?>
 | 
  
    | 172 | 				name="enabled_captcha" value="0" /><?php echo $MOD_CAPTCHA_CONTROL['DISABLED'];?>
 | 
  
    | 173 | 		</td>
 | 
  
    | 174 | 	</tr>
 | 
  
    | 175 | 	<tr><td> </td><td style="font-size:smaller;"><?php echo $MOD_CAPTCHA_CONTROL['CAPTCHA_EXP'];?></td></tr>
 | 
  
    | 176 | 	<tr><td colspan="2"><br /><strong><?php echo $MOD_CAPTCHA_CONTROL['ASP_CONF'];?>:</strong></td></tr>
 | 
  
    | 177 | 	<tr>
 | 
  
    | 178 | 		<td><?php echo $MOD_CAPTCHA_CONTROL['ASP_TEXT'];?>:</td>
 | 
  
    | 179 | 		<td>
 | 
  
    | 180 | 			<input type="radio" <?php echo ($enabled_asp=='1') ?'checked="checked"' :'';?>
 | 
  
    | 181 | 				name="enabled_asp" value="1" /><?php echo $MOD_CAPTCHA_CONTROL['ENABLED'];?>
 | 
  
    | 182 | 			<input type="radio" <?php echo ($enabled_asp=='0') ?'checked="checked"' :'';?>
 | 
  
    | 183 | 				name="enabled_asp" value="0" /><?php echo $MOD_CAPTCHA_CONTROL['DISABLED'];?>
 | 
  
    | 184 | 		</td>
 | 
  
    | 185 | 	</tr>
 | 
  
    | 186 | 	<tr>
 | 
  
    | 187 |         <td> </td>
 | 
  
    | 188 |         <td style="font-size:smaller;"><?php echo $MOD_CAPTCHA_CONTROL['ASP_EXP'];?></td>
 | 
  
    | 189 |     </tr>
 | 
  
    | 190 | 	</table>
 | 
  
    | 191 | 	<input type="submit" name="save_settings" style="margin-top:10px; width:140px;" value="<?php echo $TEXT['SAVE']; ?>" />
 | 
  
    | 192 | </form>
 | 
  
    | 193 | <?php
 | 
  
    | 194 | }
 | 
  
    | 195 | 
 | 
  
    | 196 | ?>
 |