New file |
0,0 → 1,127 |
<?php |
/* |
|
benchReceive.php - example way to handle incoming benchmark data, |
or how to use JSON php class to mangle data. No benchmark data |
is stored currently. |
|
-- |
-- Table structure for table `benchmarks` |
-- |
|
CREATE TABLE `benchmarks` ( |
`id` int(11) NOT NULL auto_increment, |
`useragent` varchar(242) NOT NULL default '', |
`dojover` varchar(96) NOT NULL default '', |
`testNum` int(11) NOT NULL default '0', |
`dijit` varchar(64) NOT NULL default '', |
`testCount` int(11) NOT NULL default '0', |
`testAverage` float NOT NULL default '0', |
`testMethod` varchar(10) NOT NULL default '', |
`testTime` bigint(20) NOT NULL default '0', |
`dataSet` varchar(64) NOT NULL default '', |
PRIMARY KEY (`id`), |
KEY `dijit` (`dijit`,`testAverage`), |
KEY `dataSet` (`dataSet`) |
) TYPE=MyISAM; |
|
-- |
-- [end table struct] -- |
|
*/ |
|
if (is_array($_POST)) { |
|
$username = ''; |
$password = ''; |
$dataBase = ''; |
$table = ''; |
|
mysql_connect("localhost",$username,$password); |
mysql_select_db($dataBase); |
|
require("../../dojo/tests/resources/JSON.php"); |
$json = new Services_JSON(); |
|
// see "escape()" call in benchTest.html |
$string = $json->decode(urldecode($_POST['key'])); |
// $string = $json->decode($_POST['key']); |
|
print "<h1>Thank YOU!</h1>"; |
print " |
<p>Your results have been added to our database. No |
personal information outside of what you see here |
has been stored. |
</p> |
|
<p>You can <a href= \"javascript:history.back()\">go back</a> |
and run more tests, or even better, load up another browser |
and the submit your tests again! |
</p> |
|
<p>again ... thanks for your time.</p> |
|
"; |
|
print "<h3>Results Submitted:</h3>"; |
print "<pre style=\"font:6pt Terminal,sans-serif; border:1px solid #cecece; background-color:#ededed; padding:20px; \">"; |
|
$ua = $string->clientNavigator; |
$dojov = $string->dojoVersion; |
|
print "Client: ".$ua."\n"; |
print "Dojo v".$dojov."\n"; |
|
if (is_array($string->dataSet)) { |
print "\nTest Results:"; |
// should client serialize a key, or is this safer? |
$dataSet = md5(serialize($string)); |
foreach ($string->dataSet as $test) { |
$data = array( |
'dataSet' => $dataSet, |
'useragent' => $ua, |
'dojover' => $dojov, |
'testNum' => $test->testNum, |
'testMethod' => $test->testMethod, |
'testTime' => $test->testTime, |
'testAverage' => $test->testAverage, |
'testCount' => $test->testCount, |
'dijit' => $test->dijit |
); |
print_r($data); |
add_rec($table,$data); |
} |
} |
|
if (is_array($string->errors)) { |
// not saving errors at this point |
print "\nErrors:"; |
foreach ($string->errors as $error) { |
print_r($error); |
} |
} |
print "</pre>"; |
} |
|
function add_rec($table, $data) { |
|
if (!is_array($data)) { return FALSE; } |
|
$keys = array_keys($data); |
$values = array_values($data); |
$field=0; |
|
for ($field;$field<sizeof($data);$field++) { |
if (!ereg("^[0-9].*$",$keys[$field])) { |
$sqlfields = $sqlfields.$keys[$field]."=\"".$values[$field]."\", "; |
} |
} |
$sqlfields = (substr($sqlfields,0,(strlen($sqlfields)-2))); |
|
if ($query = mysql_query("insert into $table set $sqlfields")) { |
$id = mysql_insert_id(); |
return ($id); } else { return FALSE; } |
} |
} |
|
?> |