0.6.0
This commit is contained in:
85
web/rtc_patch.php
Normal file
85
web/rtc_patch.php
Normal file
@@ -0,0 +1,85 @@
|
||||
<?
|
||||
|
||||
// A viewer for older DBs that were patched with an index
|
||||
|
||||
// Functions
|
||||
|
||||
function breadcrumbs($dbo, $pathname) {
|
||||
|
||||
$zpath = $dbo->query("SELECT zpath FROM _walkwalk")->fetch()['zpath'];
|
||||
$pathname_adjusted = str_replace($zpath."/", "", $pathname);
|
||||
|
||||
$parts = explode("/", $pathname_adjusted);
|
||||
$i = count($parts);
|
||||
|
||||
echo "<pre>"; echo "pathname = ".$pathname; print_r($parts);
|
||||
|
||||
while ($i) {
|
||||
$search_path = $zpath."/".implode("/", array_slice($parts, 0, $i));
|
||||
$id = $dbo->query("SELECT id FROM files WHERE (Pathname='".str_replace("'", "''", $search_path)."')")->fetch()['id'];
|
||||
if ($i == count($parts)) {
|
||||
$result[] = array(null, basename($search_path));
|
||||
} else {
|
||||
$result[] = array($id, basename($search_path));
|
||||
}
|
||||
$i--;
|
||||
}
|
||||
|
||||
if ($pathname == $zpath) {
|
||||
return array(array(null,basename($zpath)));
|
||||
} else {
|
||||
$result[] = array("1",basename($zpath));
|
||||
return array_reverse($result);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
////////////////////////////////
|
||||
|
||||
// View
|
||||
|
||||
$id = $_GET['id'];
|
||||
if (!$id) { $id = 1; }
|
||||
$db_file = "db/patch.sqlite3";
|
||||
|
||||
$dbo = new PDO("sqlite:".$db_file);
|
||||
$dbo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
|
||||
|
||||
//echo $dbo->query("SELECT COUNT(1) FROM files")->fetch()['COUNT(1)']." files<hr>";
|
||||
|
||||
$view = $dbo->query("SELECT * FROM files WHERE (rowid=".$id.")")->fetchAll()[0];
|
||||
|
||||
print_r($view);
|
||||
|
||||
echo "<hr>";
|
||||
|
||||
$crumb = breadcrumbs($dbo, $view['Pathname']);
|
||||
|
||||
foreach ($crumb as $myparts) {
|
||||
if ($myparts[0] === null) {
|
||||
echo $myparts[1];
|
||||
} else {
|
||||
echo "<a href='?id=".$myparts[0]."'>".$myparts[1]."</a> > ";
|
||||
}
|
||||
}
|
||||
|
||||
echo "<hr>";
|
||||
|
||||
$items = unserialize($dbo->query("SELECT children FROM patch WHERE (rowid=".$id.")")->fetch()['children']);
|
||||
|
||||
foreach ($items as $id) {
|
||||
$row_a = $dbo->query("SELECT * FROM files WHERE (rowid='".$id."')")->fetchAll()[0];
|
||||
$row_b = $dbo->query("SELECT * FROM mdls WHERE (rowid='".$id."')")->fetchAll()[0];
|
||||
$row_c = $dbo->query("SELECT * FROM metadata WHERE (rowid='".$id."')")->fetchAll()[0];
|
||||
if (!$row_a['Extension']) {
|
||||
echo "<a href='?id=".$id."'>".$row_a['Filename']."</a> ";
|
||||
} else {
|
||||
echo $row_a['Filename']." ";
|
||||
}
|
||||
}
|
||||
|
||||
////////////////////////////////
|
||||
|
||||
echo "<hr>".round(microtime(true)-$_SERVER["REQUEST_TIME_FLOAT"],2)." seconds<br><hr><br>";
|
||||
|
||||
?>
|
||||
Reference in New Issue
Block a user