mirror of https://github.com/avecms/AVE.cms.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
77 lines
2.1 KiB
77 lines
2.1 KiB
<?php |
|
|
|
/** |
|
* AVE.cms |
|
* |
|
* @package AVE.cms |
|
* @version 3.x |
|
* @filesource |
|
* @copyright © 2007-2014 AVE.cms, http://www.ave-cms.ru |
|
* |
|
* @license GPL v.2 |
|
*/ |
|
|
|
function get_securecode() |
|
{ |
|
@require('./db.config.php'); |
|
|
|
if (! isset($config)) die; |
|
|
|
if (! (isset($config) && isset($_GET['cp_secureimage']) && is_numeric($_GET['cp_secureimage']))) die; |
|
|
|
if (! @mysql_select_db($config['dbname'], @mysql_connect($config['dbhost'], $config['dbuser'], $config['dbpass']))) die; |
|
|
|
if (! $row = mysql_fetch_assoc(mysql_query("SELECT Code FROM " . $config['dbpref'] . "_antispam WHERE Id = '" . $_GET['cp_secureimage'] . "'"))) die; |
|
|
|
return $row['Code']; |
|
} |
|
|
|
$code = get_securecode(); |
|
|
|
$font = 'fonts/ft16.ttf'; |
|
$raster = 0; |
|
$step = 10; |
|
$size = 26; |
|
$code_top = 38; |
|
$rect_width = 120; |
|
$rect_height = 40; |
|
|
|
$bild = imagecreate(++$rect_width, ++$rect_height); |
|
$back = imagecolorallocate($bild, 255, 255, 255); |
|
$gelb = imagecolorallocate($bild, 238, 192, 10); |
|
$schwarz = imagecolorallocate($bild, 0, 0, 0); |
|
$grau = imagecolorallocate($bild, 204, 204, 204); |
|
$dunkelgrau = imagecolorallocate($bild, 119, 119, 119); |
|
|
|
// Prevent the browser from caching the result. |
|
// Date in the past |
|
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT') ; |
|
// always modified |
|
header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT') ; |
|
// HTTP/1.1 |
|
header('Cache-Control: no-store, no-cache, must-revalidate') ; |
|
header('Cache-Control: post-check=0, pre-check=0', false) ; |
|
// HTTP/1.0 |
|
header('Pragma: no-cache') ; |
|
|
|
// Set the response format. |
|
header('Content-type: image/jpeg'); |
|
|
|
$count_vert = $rect_width/$step; |
|
$count_hori = $rect_height/$step; |
|
if ($raster == 1) |
|
{ |
|
for($i=0;$i<$count_vert;$i++) imageline($bild, $i*$step, 0, $i*$step, $rect_height, $grau); |
|
for($i=0;$i<$count_hori;$i++) imageline($bild, 0, $i*$step, $rect_width, $i*$step, $grau); |
|
} |
|
else |
|
{ |
|
for($a=0;$a<$count_hori;$a++) for($i=0;$i<$count_vert;$i++) imagesetpixel($bild, $i*$step, $a*$step, $grau); |
|
} |
|
|
|
imagettftext($bild, $size, 7, 25, $code_top, $dunkelgrau, $font, $code); |
|
imagerectangle($bild, 0, 0, $rect_width, $rect_height, $dunkelgrau); |
|
imagejpeg($bild); |
|
imagedestroy($bild); |
|
|
|
?>
|