1 |
dpavlin |
2 |
<?php |
2 |
|
|
// vim: ts=4 foldcolumn=4 foldmethod=marker |
3 |
|
|
|
4 |
|
|
ini_set("include_path", |
5 |
|
|
join(PATH_SEPARATOR, |
6 |
|
|
array(realpath(join(DIRECTORY_SEPARATOR, array(dirname(__FILE__), '..'))), |
7 |
|
|
realpath(join(DIRECTORY_SEPARATOR, array(dirname(__FILE__), '..', 'library', 'PEAR'))), |
8 |
|
|
realpath(join(DIRECTORY_SEPARATOR, array(dirname(__FILE__), '..', 'library', 'Smarty'))), |
9 |
|
|
realpath(join(DIRECTORY_SEPARATOR, array(dirname(__FILE__), '..', 'library', 'magpierss'))), |
10 |
|
|
realpath(join(DIRECTORY_SEPARATOR, array(dirname(__FILE__), '..', 'library', 'RF'))), |
11 |
|
|
ini_get("include_path")))); |
12 |
|
|
|
13 |
|
|
require_once('config.php'); |
14 |
|
|
require_once('Utility.functions.php'); |
15 |
|
|
require_once("DB.php"); |
16 |
|
|
|
17 |
|
|
$dbh = & DB::connect(get_configured_dsn(), |
18 |
|
|
array('debug' => REF_DB_DEBUG_LEVEL, 'portability' => DB_PORTABILITY_NONE)); |
19 |
|
|
|
20 |
|
|
if(DB::isError($dbh)) |
21 |
|
|
die(sprintf('<p><b>%s.</b></p><pre>%s</pre>', htmlspecialchars($dbh->getMessage()), htmlspecialchars($dbh->getDebugInfo()))); |
22 |
|
|
|
23 |
|
|
$dbh->setFetchMode(DB_FETCHMODE_OBJECT); |
24 |
|
|
|
25 |
|
|
$q = "SELECT * |
26 |
|
|
FROM query_log |
27 |
|
|
WHERE query_gen IS NULL |
28 |
|
|
ORDER BY RAND()"; |
29 |
|
|
|
30 |
|
|
$res = $dbh->query($q); |
31 |
|
|
|
32 |
|
|
if(DB::isError($res)) |
33 |
|
|
die(sprintf('<p><b>%s.</b></p><pre>%s</pre>', htmlspecialchars($res->getMessage()), htmlspecialchars($res->getDebugInfo()))); |
34 |
|
|
|
35 |
|
|
while($query = $res->fetchRow()) { |
36 |
|
|
// clean out comments |
37 |
|
|
$query->query_gen = preg_replace('/#.+$/m', '', $query->query); |
38 |
|
|
|
39 |
|
|
// find numbers and strings |
40 |
|
|
$query->query_gen = preg_replace('/(\W)[\d\.\-]+(\W|$)/', '\1CONST\2', $query->query_gen); |
41 |
|
|
$query->query_gen = preg_replace('/(\W)[\d\.\-]+(\W|$)/', '\1CONST\2', $query->query_gen); |
42 |
|
|
$query->query_gen = preg_replace("/'[^']*'/", 'CONST', $query->query_gen); |
43 |
|
|
$query->query_gen = preg_replace("/'[^']*'/", 'CONST', $query->query_gen); |
44 |
|
|
|
45 |
|
|
// remove extra spaces |
46 |
|
|
$query->query_gen = preg_replace('/[ \t][ \t]+/', ' ', $query->query_gen); |
47 |
|
|
$query->query_gen = preg_replace('/\([ \t]+/', '(', $query->query_gen); |
48 |
|
|
$query->query_gen = preg_replace('/[ \t]+\)/', ')', $query->query_gen); |
49 |
|
|
|
50 |
|
|
$query->query_gen = preg_replace('/^[ \t]+/m', '', $query->query_gen); |
51 |
|
|
$query->query_gen = preg_replace('/[ \t]+$/m', '', $query->query_gen); |
52 |
|
|
$query->query_gen = preg_replace('/[\r\n][\r\n]+/', "\n", $query->query_gen); |
53 |
|
|
|
54 |
|
|
//echo "<h2>{$query->id}</h2><pre>{$query->query}</pre>"; |
55 |
|
|
echo "<h3>{$query->id}</h3><pre>{$query->query_gen}</pre>"; |
56 |
|
|
|
57 |
|
|
$dbh->query("UPDATE query_log SET query_gen = ".$dbh->quoteSmart($query->query_gen)." WHERE id = ".$dbh->quoteSmart($query->id)); |
58 |
|
|
} |
59 |
|
|
|
60 |
|
|
?> |