diff options
Diffstat (limited to 'mod/dirsearch.php')
-rw-r--r-- | mod/dirsearch.php | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/mod/dirsearch.php b/mod/dirsearch.php index b3893afe7..57132519c 100644 --- a/mod/dirsearch.php +++ b/mod/dirsearch.php @@ -74,12 +74,16 @@ function dirsearch_content(&$a) { // If &return_total=1, we count matching entries and return that as 'total_items' for use in pagination. // By default we return one page (default 80 items maximum) and do not count total entries + $logic = ((strlen($sql_extra)) ? 0 : 1); + if($limit) $qlimit = " LIMIT $limit "; else { $qlimit = " LIMIT " . intval($startrec) . " , " . intval($perpage); if($return_total) { - $r = q("SELECT COUNT(xchan_hash) AS `total` FROM xchan left join xprof on xchan_hash = xprof_hash where 1 $sql_extra"); + $r = q("SELECT COUNT(xchan_hash) AS `total` FROM xchan left join xprof on xchan_hash = xprof_hash where $logic $sql_extra and not ( xchan_flags & %d) ", + intval(XCHAN_FLAGS_HIDDEN) + ); if($r) { $ret['total_items'] = $r[0]['total']; } @@ -87,9 +91,10 @@ function dirsearch_content(&$a) { } $order = " ORDER BY `xchan_name` ASC "; - $logic = ((strlen($sql_extra)) ? 0 : 1); - $r = q("SELECT xchan.*, xprof.* from xchan left join xprof on xchan_hash = xprof_hash where $logic $sql_extra $order $qlimit "); + $r = q("SELECT xchan.*, xprof.* from xchan left join xprof on xchan_hash = xprof_hash where $logic $sql_extra and not ( xchan_flags & %d ) $order $qlimit ", + intval(XCHAN_FLAGS_HIDDEN) + ); $ret['page'] = $page + 1; $ret['records'] = count($r); |