3 // $Revision: 1.6 $, $Date: 2007/12/02 15:49:42 $
5 $root_directory = '/home/services/ftp/pub/pld-buildlogs';
6 $database = 'sqlite:/home/services/httpd/html/pld-buildlogs/db/buildlogs.db';
7 // $root_directory and $database are taken from buildlogs.inc
30 include('buildlogs.inc');
32 if (file_exists($database_file)) {
33 unlink($database_file);
36 $query = " CREATE TABLE LOGS(log_id INTEGER PRIMARY KEY, dist TEXT, arch TEXT, ok INTEGER, name TEXT, "
37 . "size INTEGER, mtime INTEGER, id TEXT DEFAULT '');";
39 $dbhandle = new PDO("$database");
40 } catch (PDOException $e) {
41 die("new PDO: ". $e->getMessage());
44 $result = array("FAIL", "OK");
46 $dh = opendir($root_directory);
48 die("opendir $root_directory");
50 while ($dist = readdir($dh)) {
51 if ($dist[0] == '.') continue;
52 if (!is_dir("$root_directory/$dist")) continue;
53 $ah = opendir("$root_directory/$dist");
54 if (!ah) die("opendir $dist");
55 while ($arch = readdir($ah)) {
56 if ($arch[0] == '.') continue;
57 if (!is_dir("$root_directory/$dist/$arch")) continue;
58 for ($ok = 0; $ok < 2; $ok++) {
59 $directory = "$root_directory/$dist/$arch/" . $result[$ok]
60 $sh = opendir($directory);
62 while ($file = readdir($sh)) {
63 if (preg_match("/^(.*),?(.*)?\.bz2$/", $file, $match)) {
64 $f = "$directory/" . $match[0];
66 $mtime = filemtime($f);
68 if (isset($match[2])) {
73 $query .= " INSERT INTO logs(dist, arch, ok, name, size, mtime, id) "
74 . "VALUES('$dist', '$arch', $ok, '$name', $size, $mtime, '$id');";
85 $dbhandle->beginTransaction();
86 $dbhandle->exec("$query");