Project

General

Profile

1
<?php
2

    
3
// $Id$
4

    
5
/*
6

    
7
 Website Baker Project <http://www.websitebaker.org/>
8
 Copyright (C) 2004-2008, 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
require_once("../../../config.php");
27
require_once(WB_PATH.'/include/captcha/captcha.php');
28

    
29
// Captcha
30
$_SESSION['captcha'] = '';
31
mt_srand((double)microtime()*100000);
32
$n = mt_rand(1,3);
33
switch ($n) {
34
	case 1:
35
		mt_srand((double)microtime()*1000000);
36
		$x = mt_rand(1,9);
37
		$y = mt_rand(1,9);
38
		$_SESSION['captcha'] = $x + $y;
39
		$cap = "$x+$y"; 
40
		break; 
41
	case 2:
42
		mt_srand((double)microtime()*1000000);
43
		$x = mt_rand(10,20);
44
		$y = mt_rand(1,9);
45
		$_SESSION['captcha'] = $x - $y; 
46
		$cap = "$x-$y"; 
47
		break;
48
	case 3:
49
		mt_srand((double)microtime()*1000000);
50
		$x = mt_rand(2,10);
51
		$y = mt_rand(2,5);
52
		$_SESSION['captcha'] = $x * $y; 
53
		$cap = "$x*$y"; 
54
		break;
55
}
56

    
57
$image = imagecreate(100, 30);
58

    
59
$white = imagecolorallocate($image, 0xFF, 0xFF, 0xFF);
60
$gray = imagecolorallocate($image, 0xC0, 0xC0, 0xC0);
61
$darkgray = imagecolorallocate($image, 0x30, 0x30, 0x30);
62

    
63
srand((double)microtime()*1000000);
64

    
65
for($i = 0; $i < 30; $i++) {
66
	$x1 = rand(0,100);
67
	$y1 = rand(0,30);
68
	$x2 = rand(0,100);
69
	$y2 = rand(0,30);
70
	imageline($image, $x1, $y1, $x2, $y2 , $gray);  
71
}
72

    
73
$x = 0;
74
$l = strlen($cap);
75
for($i = 0; $i < $l; $i++) {
76
	$fnt = rand(3,5);
77
	$x = $x + rand(12 , 20);
78
	$y = rand(7 , 12); 
79
	imagestring($image, $fnt, $x, $y, substr($cap, $i, 1), $darkgray); 
80
}
81

    
82
captcha_header();
83
imagepng($image);
84
imagedestroy($image);
85

    
86
?>
(1-1/5)