# Letzte Aenderung: 11.1.2009 # # Copyright (C) 2002-2011 Patrick Canterino # # Diese Datei kann unter den Bedingungen der "Artistic License 1.0" # weitergegeben und / oder veraendert werden. # Siehe: # http://www.opensource.org/licenses/artistic-license-1.0.php # require('config.php'); require('functions.php'); require('class.Template.php'); if($captcha_enable) { session_start(); if($captcha_max && isset($_SESSION['captcha_failed']) && $_SESSION['captcha_failed'] >= $captcha_max) { show_fatal($err_captcha_max); } else { unset($_SESSION['captcha']); # Zufaellige Zeichenkette erzeugen $captcha_string = ''; $x = 0; srand(); while($x<$captcha_length) { $rand = rand(0,strlen($captcha_possible)-1); $captcha_string .= $captcha_possible[$rand]; $x++; } $_SESSION['captcha'] = $captcha_string; # Ein Bild mit dem generierten Text erzeugen if($captcha_image_bg && file_exists($captcha_image_bg)) { # Es wurde ein Hintergrundbild angegeben $captcha_img = imagecreatefrompng($captcha_image_bg); $image_size = getimagesize($captcha_image_bg); $captcha_width = $image_size[0]; $captcha_height = $image_size[1]; } else { # Es wurde kein Hintergrundbild angegeben $captcha_img = imagecreate($captcha_width,$captcha_height); } $white = imagecolorallocate($captcha_img,$captcha_color_bg[0],$captcha_color_bg[1],$captcha_color_bg[2]); $black = imagecolorallocate($captcha_img,$captcha_color_text[0],$captcha_color_text[1],$captcha_color_text[2]); $angle = rand($captcha_angle[0],$captcha_angle[1]); $t_x = rand($captcha_x[0],$captcha_y[1]); $t_y = rand($captcha_y[0],$captcha_y[1]); imagettftext($captcha_img,$captcha_font_size,$angle,$t_x,$t_y,$black,$captcha_font,$captcha_string); # Zufaellige Linien einfuegen $y = 0; while($y<$captcha_lines) { $begin_x = rand(0,$captcha_width); $begin_y = rand(0,$captcha_height); $end_x = rand(0,$captcha_width); $end_y = rand(0,$captcha_height); imageline($captcha_img,$begin_x,$begin_y,$end_x,$end_y,$black); $y++; } # Bild ausgeben header('Content-type: image/png'); imagepng($captcha_img); imagedestroy($captcha_img); } } else { show_fatal($err_captcha_disabled); } # ### Ende ### ?>