diff --git a/ajax/getcontents.php b/ajax/getcontents.php index 96daf91..adece3f 100644 --- a/ajax/getcontents.php +++ b/ajax/getcontents.php @@ -30,6 +30,7 @@ if ( $row = $sth->fetch() ) { } $data['contents'] = array(); +$foldermatch = array(); if ( !$searching ) { $contents = glob(BOOKDIR . $_SESSION['bookdir'] . "/*"); @@ -72,6 +73,7 @@ if ( !$searching ) { $item['folder'] = true; $item['fullpath'] = $row['path']; $item['displayname'] = htmlspecialchars(basename($row['path'])); + if ( !in_array($row['path'], $foldermatch) ) $foldermatch[] = $row['path']; $data['contents'][] = $item; } $query = "SELECT id, path, filename FROM books WHERE LOWER(filename) LIKE :searchfor ORDER BY path, filename"; @@ -80,6 +82,14 @@ if ( !$searching ) { $sth->execute(); while ( $row = $sth->fetch(PDO::FETCH_ASSOC) ) { if ( $row['path'] == "/" ) continue; + if ( !in_array($row['path'], $foldermatch) ) { + $foldermatch[] = $row['path']; + $item = array(); + $item['folder'] = true; + $item['fullpath'] = $row['path']; + $item['displayname'] = htmlspecialchars(basename($row['path'])); + $data['contents'][] = $item; + } $item = array(); $item['folder'] = false; $item['fullpath'] = $row['path'] . "/" . $row['filename'];