<?php

/**
 * Turing functions
 *
 * Contains globally available tool functions for turing. It is included in register page
 *
 *
 * @package Core
 * @author  Eric GALLENE <okrome@free.fr>
 * @version $Id: functions.php,v 1.00 2006/10/23 18:15:53
 */


// add pwd to include_path
ini_set('include_path', '.:'.ini_get('include_path'));


function CreateSession($session){
// Création d'un code à 6 chiffres
$code = substr(md5(time().time()), 0, 6);
// Création d'un identifiant de temps
$now = time();
// Enregistrement dans la base de données
$SQL = 'INSERT INTO '.TBL_CODES.' VALUES(\'\',\''.$session.'\',\''.$code.'\',\''.$now.'\')';
runSQL($SQL);
$image = CreateImage($code, $now);
return($image);
}



  
# # Génère un image contenant le code #
function CreateImage($code, $now){
$hauteur = 100;
$largeur = 50;
// Définition des dimensions
$img = imagecreate($hauteur, $largeur);
// Défintion des couleurs
$bgc = imagecolorallocate($img, 255, 255, 255);
$black = imagecolorallocate($img, 0, 0, 0);
$gris = imagecolorallocate($img, 128, 128, 128);
// Remplissage du fond
imagefilledrectangle($img, 0, 0, $hauteur, $largeur, $bgc);
// Ecriture du code (le premier 5 est la taille - de la police par défaut - la plus grande dans GD)
// Ca évite d'avoir à installer FreeType, librairie qui ajoute le support des polices TrueType
imagestring($img, 5, 24, 15, $code, $black);
// Ajout d'un bruit
for($i=0;$i<150;$i++) {
imagesetpixel($img, rand(0,$hauteur), rand(0,$largeur), $gris);
}
// Crétion de l'entête
//header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
//header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
//header("Cache-Control: no-store, no-cache, must-revalidate");
//header("Cache-Control: post-check=0, pre-check=0", false);
//header("Pragma: no-cache");
// Création de l'image (qualité 15% : très médiocre)
imagejpeg($img, 'cache/img/turing/turing_'.$now.'.jpg', 15);
imagedestroy($img);
return('cache/img/turing/turing_'.$now.'.jpg');
}



?>
