Beispiel #1
0
function captcha()
{
    require_once 'captchaConfig.php';
    $cap = count($captcha);
    $max = strlen($captchaChars) - 1;
    $password = null;
    $password2 = '';
    for ($i = 0; $i < $passwordSize; $i++) {
        $password .= $captchaChars[mt_rand(0, $max)];
    }
    for ($i = 0; $i < $fileNameSize; $i++) {
        $password2 .= $fileNameChars[mt_rand(0, $max)];
    }
    $im = imagecreatefromjpeg($imagesFolder . $captcha[cap($captcha)]);
    /* Attempt to open */
    $black = imagecolorallocate($im, lineColor(), lineColor(), lineColor());
    //echo $black;
    $dir = $fontFolder;
    $dh = opendir($dir);
    while (false !== ($filename = readdir($dh))) {
        if ($filename != '.' && $filename != '..') {
            $fonts[] = $filename;
        }
    }
    $font = array_rand($fonts);
    $font = $fontFolder . $fonts[$font];
    //echo "<h1>$font</h1>";
    $angle = rand(0, 40);
    imagettftext($im, $size, mrn($angle), $lefts, $tops, $black, $font, $password);
    imageline($im, line2(), line2(), line(), line(), imagecolorallocate($im, lineColor(), lineColor(), lineColor()));
    imageline($im, line(), line2(), line2(), line(), imagecolorallocate($im, lineColor(), lineColor(), lineColor()));
    imageline($im, line2(), line2(), line(), line(), imagecolorallocate($im, lineColor(), lineColor(), lineColor()));
    imageline($im, line2(), line2(), line(), line(), imagecolorallocate($im, lineColor(), lineColor(), lineColor()));
    imageline($im, line2(), line2(), line(), line(), imagecolorallocate($im, lineColor(), lineColor(), lineColor()));
    imageline($im, line2(), line2(), line(), line(), imagecolorallocate($im, lineColor(), lineColor(), lineColor()));
    imageline($im, line2(), line2(), line(), line(), imagecolorallocate($im, lineColor(), lineColor(), lineColor()));
    imageline($im, line2(), line2(), line(), line(), imagecolorallocate($im, lineColor(), lineColor(), lineColor()));
    imageline($im, line(), line2(), line2(), line(), imagecolorallocate($im, lineColor(), lineColor(), lineColor()));
    imageline($im, line2(), line2(), line2(), line2(), imagecolorallocate($im, lineColor(), lineColor(), lineColor()));
    imageline($im, line2(), line(), line(), line2(), imagecolorallocate($im, lineColor(), lineColor(), lineColor()));
    imageline($im, line(), line2(), line2(), line(), imagecolorallocate($im, lineColor(), lineColor(), lineColor()));
    imageline($im, line(), line2(), line2(), line(), imagecolorallocate($im, lineColor(), lineColor(), lineColor()));
    imageline($im, line(), line2(), line2(), line(), imagecolorallocate($im, lineColor(), lineColor(), lineColor()));
    imagejpeg($im, $captchasFolder . $password2 . '.jpg', $quality) or die('Is captchasFolder writable?');
    $max = strlen($tmpFileChars) - 1;
    $tmpFile = null;
    for ($i = 0; $i < 16; $i++) {
        $tmpFile .= $tmpFileChars[mt_rand(0, $max)];
    }
    umask(00);
    $tmpFile = $tmpFileLocation . $tmpFile . ".tmp";
    if (!is_file($tmpFile)) {
        touch($tmpFile) or die('Could not create file');
    }
    if (is_writable($tmpFile)) {
        if (!($handle = fopen($tmpFile, 'a'))) {
            echo "Cannot open file ({$tmpFile})";
            exit;
        }
        if (fwrite($handle, $password) === FALSE) {
            echo "Cannot write to file ({$tmpFile})";
            exit;
        }
        fclose($handle);
    } else {
        echo "The file {$tmpFile} is not writable";
    }
    $html = '
                <div style="display:inline-block;width:140px;padding:10px;vertical-align:top;">
                <img src="' . $captchasFolderWeb . $password2 . '.jpg" height="100" width="120" border="1"/>
                </div>
                <div style="display:inline-block;width:140px;padding:10px;">
                <h2>Enter the Captcha Text here:</h2>
                <input type="text" name="' . $passwordName . '" size="6" title="' . CAPTCHA . '" />
                </div>
                <div>
                (Note: all letters are lowercase and there should be ' . $passwordSize . ' characters)
                <br />If the text is illegible, <a href="">click here</a> to reload the captcha.
                <input type="hidden" name="' . $tmpFileName . '" value="' . $tmpFile . '" />
                <input type="hidden" name="capPass" value="' . $password2 . '" />
                </div>';
    return $html;
}
Beispiel #2
0
function cutoutButton($x,$y,$r)
{
	$z1 = 0.25;
	$z2 = $z1 + 0.125;
	$z3 = $z2 + 0.125;
	$a1 = 40;
	$a2 = 180 - $a1;

	circlePocket($x,$y,$r+R,depth(0.75,$z3,DM));
	cap($x,$y,$r+R,$z3,$z2,10);
	circle($x,$y,$r+R,depth($z2,$z1,DM));
	arc($x,$y,
		polarX($x,$r+R,$a2), polarY($y,$r+R,$a2),
		polarX($x,$r+R,$a1), polarY($y,$r+R,$a1),
		depth($z1,0,DM));

	arc($x,$y,
		polarX($x,$r+R,-$a1), polarY($y,$r+R,-$a1),
		polarX($x,$r+R,-$a2), polarY($y,$r+R,-$a2),
		depth($z1,0,DM));

	$y1 = $y-R-0.0625;
	$y2 = $y+R+0.0625;

	$x1 = $x+$r+R-0.0425; $x2 = $x+$r+R+0.125;
	line($x1,$y1, $x2,$y1, depth($z1,0,DM));
	line($x2,$y2, $x1,$y2, depth($z1,0,DM));

	$x1 = $x-$r-R+0.0425; $x2 = $x-$r-R-0.125;
	line($x1,$y1, $x2,$y1, depth($z1,0,DM));
	line($x2,$y2, $x1,$y2, depth($z1,0,DM));

	$x2 = $x+$r+R+0.125;
	line($x2,$y1, $x2,$y2, depth($z1,0,DM));

	$x2 = $x-$r-R-0.125;
	line($x2,$y1, $x2,$y2, depth($z1,0,DM));
}