<?php if (!function_exists('com_create_guid')) { function com_create_guid() { return sprintf( '%04x%04x-%04x-%04x-%04x-%04x%04x%04x', mt_rand( 0, 0xffff ), mt_rand( 0, 0xffff ), mt_rand( 0, 0xffff ), mt_rand( 0, 0x0fff ) | 0x4000, mt_rand( 0, 0x3fff ) | 0x8000, mt_rand( 0, 0xffff ), mt_rand( 0, 0xffff ), mt_rand( 0, 0xffff ) ); } } include('config_local.php'); if (! ($db = new PDO("mysql:host=$mysql_host;port=$mysql_port;dbname=$mysql_schema",$mysql_user,$mysql_pwd,array( PDO::ATTR_PERSISTENT => false)))) { die($err); } $db -> exec('SET CHARACTER SET utf8'); $auth_token = $_COOKIE["auth-token"]; $timestamp = 0; if ($auth_token) { $sql = " SELECT UNIX_TIMESTAMP(MAX(expires)) timestamp FROM tokens WHERE str=:s and expires>now() "; $q = $db -> prepare( $sql ); $q -> bindParam(':s',$auth_token,PDO::PARAM_INT); $q -> execute(); $res = []; $row = $q -> fetch(PDO::FETCH_ASSOC); $timestamp = $row['timestamp']; } if ($timestamp) { setcookie("auth-token",$auth_token,$timestamp); } else { $auth_token = com_create_guid(); $timestamp = time()+86400*365; setcookie("auth-token",$auth_token,$timestamp); $sql = " INSERT INTO tokens(str,description,expires) VALUES (:token,:descr,FROM_UNIXTIME(:expires)) "; $q = $db -> prepare( $sql ); $q -> bindParam(':token',$auth_token,PDO::PARAM_STR); $descr = $_SERVER["PHP_AUTH_USER"]." from ".$_SERVER["REMOTE_ADDR"]." at ".date('m/d/Y h:i:s a', time()); $q -> bindParam(':descr',$descr,PDO::PARAM_STR); $q -> bindParam(':expires',$timestamp,PDO::PARAM_INT); $db -> beginTransaction(); $q -> execute(); $db -> commit(); } print $auth_token; ?>