From 5984ac5287764dba84ef18b7d3e92cdfcd261b67 Mon Sep 17 00:00:00 2001 From: robocoder <anthon.pang@gmail.com> Date: Sun, 9 Jan 2011 06:15:54 +0000 Subject: [PATCH] fix javascript unit test to support magic_quotes_gpc git-svn-id: http://dev.piwik.org/svn/trunk@3683 59fd770c-687e-43c8-a1e3-f5a4ff64c105 --- tests/javascript/index.php | 2 +- tests/javascript/piwik.php | 20 +++++++++++++------- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/tests/javascript/index.php b/tests/javascript/index.php index e96496dc67..60e01c34dc 100644 --- a/tests/javascript/index.php +++ b/tests/javascript/index.php @@ -380,7 +380,7 @@ if ($sqlite) { stop(); setTimeout(function() { jQuery.ajax({ - url: url("piwik.php?results='. $token .'"), + url: url("piwik.php?results=" + getToken()), success: function(results) { //alert(results); ok( /\<span\>12\<\/span\>/.test( results ), "count tracking events" ); diff --git a/tests/javascript/piwik.php b/tests/javascript/piwik.php index 24c243b602..ded5ed14a5 100644 --- a/tests/javascript/piwik.php +++ b/tests/javascript/piwik.php @@ -21,22 +21,27 @@ $dbhandle = sqlite_open( 'unittest.dbf' ); if ($dbhandle) { // SQLite 3.3 supports CREATE TABLE IF NOT EXISTS - $result = sqlite_array_query($dbhandle, "SELECT COUNT(*) FROM requests"); + $result = @sqlite_array_query($dbhandle, "SELECT COUNT(*) FROM requests"); if ($result === false) { try { $query = sqlite_exec( $dbhandle, 'CREATE TABLE requests (token TEXT, ip TEXT, ts TEXT, uri TEXT, referer TEXT, ua TEXT);' ); } catch (Exception $e) { } } } +else +{ + header("HTTP/1.0 500 Internal Server Error"); + exit; +} if (isset($_GET['results'])) { - $token = $_GET['results']; + $token = get_magic_quotes_gpc() ? stripslashes($_GET['results']) : $_GET['results']; $ua = $_SERVER['HTTP_USER_AGENT']; echo "<html><head><title>$token</title></head><body>\n"; // $result = sqlite_array_query($dbhandle, "SELECT uri FROM requests"); - $result = sqlite_array_query($dbhandle, "SELECT uri FROM requests WHERE token = \"$token\" AND ua = \"$ua\""); + $result = @sqlite_array_query($dbhandle, "SELECT uri FROM requests WHERE token = \"$token\" AND ua = \"$ua\""); if ($result !== false) { $nofRows = count($result); echo "<span>$nofRows</span>\n"; @@ -51,20 +56,21 @@ if (isset($_GET['results'])) { if (!isset($_REQUEST['data'])) { header("HTTP/1.0 400 Bad Request"); } else { - $data = json_decode($_REQUEST['data']); - - $token = isset($data->token) ? $data->token : ''; - $ip = $_SERVER['REMOTE_ADDR']; $ts = $_SERVER['REQUEST_TIME']; + $uri = $_SERVER['REQUEST_URI']; if($_SERVER['REQUEST_METHOD'] == 'POST') { $uri .= '?' . file_get_contents('php://input'); } $uri = htmlspecialchars($uri); + $referer = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : ''; $ua = $_SERVER['HTTP_USER_AGENT']; + $data = json_decode(get_magic_quotes_gpc() ? stripslashes($_REQUEST['data']) : $_REQUEST['data'], true); + $token = isset($data['token']) ? $data['token'] : ''; + $query = sqlite_exec($dbhandle, "INSERT INTO requests (token, ip, ts, uri, referer, ua) VALUES (\"$token\", \"$ip\", \"$ts\", \"$uri\", \"$referer\", \"$ua\")", $error); if (!$query) { header("HTTP/1.0 500 Internal Server Error"); -- GitLab