예제 #1
0
파일: piwik.php 프로젝트: nnnnathann/piwik
if (!file_exists("enable_sqlite")) {
    sendWebBug();
    exit;
}
if (!class_exists('SQLite')) {
    sendWebBug();
    exit;
}
$sqlite = new SQLite('unittest.dbf');
if (!$sqlite) {
    header("HTTP/1.0 500 Internal Server Error");
    exit;
}
if (filesize(dirname(__FILE__) . '/unittest.dbf') == 0) {
    try {
        $query = @$sqlite->exec('CREATE TABLE requests (token TEXT, ip TEXT, ts TEXT, uri TEXT, referer TEXT, ua TEXT)');
    } catch (Exception $e) {
        header("HTTP/1.0 500 Internal Server Error");
        exit;
    }
}
if (isset($_GET['requests'])) {
    $token = get_magic_quotes_gpc() ? stripslashes($_GET['requests']) : $_GET['requests'];
    $ua = $_SERVER['HTTP_USER_AGENT'];
    echo "<html><head><title>{$token}</title></head><body>\n";
    sleep(5);
    //	$result = $sqlite->query_array("SELECT uri FROM requests");
    $result = @$sqlite->query_array("SELECT uri FROM requests WHERE token = \"{$token}\" AND ua = \"{$ua}\"");
    if ($result !== false) {
        $nofRows = count($result);
        echo "<span>{$nofRows}</span>\n";
예제 #2
0
$sqlite = new SQLite('unittest2.dbf');
if (!$sqlite) {
    header("HTTP/1.0 500 Internal Server Error");
    exit;
}
function getNextRequestId($sqlite, $token)
{
    $requests = $sqlite->query_array("SELECT uri FROM requests WHERE token = \"{$token}\"");
    if (empty($requests)) {
        return 1;
    }
    return count($requests) + 1;
}
if (filesize(dirname(__FILE__) . '/unittest2.dbf') == 0) {
    try {
        $query = @$sqlite->exec('CREATE TABLE requests (requestid TEXT, token TEXT, ip TEXT, ts TEXT, uri TEXT, referer TEXT, ua TEXT)');
    } catch (Exception $e) {
        header("HTTP/1.0 500 Internal Server Error");
        exit;
    }
}
function logRequest($sqlite, $uri, $data)
{
    $ip = $_SERVER['REMOTE_ADDR'];
    $ts = $_SERVER['REQUEST_TIME'];
    //		$uri = htmlspecialchars($uri);
    $referrer = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '';
    $ua = $_SERVER['HTTP_USER_AGENT'];
    $token = isset($data['token']) ? $data['token'] : '';
    $id = getNextRequestId($sqlite, $token);
    $query = $sqlite->exec("INSERT INTO requests (requestid, token, ip, ts, uri, referer, ua) VALUES (\"{$id}\", \"{$token}\", \"{$ip}\", \"{$ts}\", \"{$uri}\", \"{$referrer}\", \"{$ua}\")");