1
0
Fork 0
mirror of https://github.com/Yetangitu/ampache synced 2025-10-04 10:19:25 +02:00

Change Browse from static to instantiable. Among other things, fixes FS#13;

probably also breaks things.  Most things appear to still work, but I may have
missed some cases.
This commit is contained in:
Paul 'flowerysong' Arthur 2010-06-10 05:33:57 +00:00
parent c1ed41a16d
commit 7f36693353
39 changed files with 754 additions and 673 deletions

View file

@ -25,44 +25,48 @@
*/
if (AJAX_INCLUDE != '1') { exit; }
if (isset($_REQUEST['browse_id'])) {
$browse_id = $_REQUEST['browse_id'];
}
else {
$browse_id = null;
}
$browse = new Browse($browse_id);
switch ($_REQUEST['action']) {
case 'browse':
$object_ids = array();
Browse::set_type($_REQUEST['type']);
// Check 'value' with isset because it can null
//(user type a "start with" word and deletes it)
if ($_REQUEST['key'] && (isset($_REQUEST['multi_alpha_filter']) OR isset($_REQUEST['value']))) {
// Set any new filters we've just added
Browse::set_filter($_REQUEST['key'],$_REQUEST['multi_alpha_filter']);
$browse->set_filter($_REQUEST['key'],$_REQUEST['multi_alpha_filter']);
}
if ($_REQUEST['sort']) {
// Set the new sort value
Browse::set_sort($_REQUEST['sort']);
$browse->set_sort($_REQUEST['sort']);
}
ob_start();
Browse::show_objects(false);
$browse->show_objects();
$results['browse_content'] = ob_get_clean();
break;
case 'set_sort':
Browse::set_type($_REQUEST['type']);
if ($_REQUEST['sort']) {
Browse::set_sort($_REQUEST['sort']);
$browse->set_sort($_REQUEST['sort']);
}
ob_start();
Browse::show_objects(false);
$browse->show_objects();
$results['browse_content'] = ob_get_clean();
break;
case 'toggle_tag':
$type = $_SESSION['tagcloud_type'] ? $_SESSION['tagcloud_type'] : 'song';
Browse::set_type($type);
$browse->set_type($type);
@ -94,19 +98,30 @@ switch ($_REQUEST['action']) {
break;
case 'page':
Browse::set_type($_REQUEST['type']);
Browse::set_start($_REQUEST['start']);
$browse->set_start($_REQUEST['start']);
ob_start();
Browse::show_objects();
$browse->show_objects();
$results['browse_content'] = ob_get_clean();
break;
case 'show_art':
Art::set_enabled();
ob_start();
$browse->show_objects();
$results['browse_content'] = ob_get_clean();
break;
case 'get_filters':
ob_start();
require_once Config::get('prefix') . '/templates/browse_filters.inc.php';
$results['browse_filters'] = ob_get_clean();
default:
$results['rfc3514'] = '0x1';
break;
} // switch on action;
$browse->store();
// We always do this
echo xml_from_array($results);
?>