diff --git a/www/core/modules/installer/installer.browser.inc b/www/core/modules/installer/installer.browser.inc index b7b8d2690..bdccc2af4 100644 --- a/www/core/modules/installer/installer.browser.inc +++ b/www/core/modules/installer/installer.browser.inc @@ -234,7 +234,15 @@ function installer_browser_get_queued_releases() { * @return * Returns an array of results. */ -function installer_browser_fetch_results($filters) { +function installer_browser_fetch_results($filters = array()) { + $filters += array( + 'version' => '1', + 'text' => '', + 'type' => 'all', + 'page' => 0, + 'items_per_page' => 'all', + ); + $server = installer_browser_get_server(); // Attempt to retrieve the cached version of this page. $cid = 'installer:results:' . md5(serialize(array_merge($filters, $server))); diff --git a/www/modules/contrib/project_browser_server/project_browser_server.module b/www/modules/contrib/project_browser_server/project_browser_server.module index 63b5a5337..dbbc3cd01 100644 --- a/www/modules/contrib/project_browser_server/project_browser_server.module +++ b/www/modules/contrib/project_browser_server/project_browser_server.module @@ -93,7 +93,7 @@ function _project_browser_server_return($results) { * Validate a Project Browser request. */ function _project_browser_server_validate($type) { - if ($type != 'module' && $type != 'theme' && $type != 'layout') { + if ($type != 'all' && $type != 'module' && $type != 'theme' && $type != 'layout') { backdrop_add_http_header('Status', '404 Not Found'); _project_browser_server_return(t('You must specify a project type to be either "module" or "theme" or "layout".')); diff --git a/www/modules/custom/borg_pbs/borg_pbs.module b/www/modules/custom/borg_pbs/borg_pbs.module index fc558027f..20bdf6568 100644 --- a/www/modules/custom/borg_pbs/borg_pbs.module +++ b/www/modules/custom/borg_pbs/borg_pbs.module @@ -56,7 +56,7 @@ function borg_pbs_project_browser_server_query($filters) { ->fields('n'); // Filter out projects based on type. - if (isset($filters['type'])) { + if (isset($filters['type']) && $filters['type'] != 'all') { $query->condition('n.type', 'project_' . $filters['type']); } @@ -104,10 +104,12 @@ function borg_pbs_project_browser_server_query($filters) { } // Only send back the requested amount. - $start = $filters['page'] * $filters['items_per_page']; - $count_query = $query; - $count_result = $count_query->execute(); - $query->range($start, $filters['items_per_page']); + if ($filters['items_per_page'] != 'all') { + $start = $filters['page'] * $filters['items_per_page']; + $count_query = $query; + $count_result = $count_query->execute(); + $query->range($start, $filters['items_per_page']); + } // Add the sorting. if (!empty($filters['order'])) { @@ -143,6 +145,9 @@ function borg_pbs_project_browser_server_query($filters) { } $result = $query->execute(); + if ($filters['items_per_page'] == 'all') { + $count_result = $result; + } $load = array(); foreach ($result as $row) { @@ -168,7 +173,7 @@ function borg_pbs_project_browser_server_query($filters) { $image_url = str_replace('https://projects.backdropcms.org','https://backdropcms.org', $image_url); $projects[$node->project['name']] = array( - 'type' => $filters['type'], + 'type' => $node->type, 'title' => $node->title, 'name' => $node->project['name'], 'backdrop version' => $filters['version'] . '.x',