summaryrefslogtreecommitdiffstats
path: root/lib/class/browse.class.php
diff options
context:
space:
mode:
authorKarl 'vollmerk' Vollmer <vollmer@ampache.org>2008-08-22 04:28:36 +0000
committerKarl 'vollmerk' Vollmer <vollmer@ampache.org>2008-08-22 04:28:36 +0000
commit478c6618b0ee637334aefb20eead299b6975bef4 (patch)
treeba6d408597066b425066ff79e163f8958b44338a /lib/class/browse.class.php
parent666ed4e1ea7d7b7860e917c256479a26d4754b09 (diff)
downloadampache-478c6618b0ee637334aefb20eead299b6975bef4.tar.gz
ampache-478c6618b0ee637334aefb20eead299b6975bef4.tar.bz2
ampache-478c6618b0ee637334aefb20eead299b6975bef4.zip
fixed the search add result button and messed up some browse sort stuff
Diffstat (limited to 'lib/class/browse.class.php')
-rw-r--r--lib/class/browse.class.php22
1 files changed, 19 insertions, 3 deletions
diff --git a/lib/class/browse.class.php b/lib/class/browse.class.php
index 53edeb96..fd635d20 100644
--- a/lib/class/browse.class.php
+++ b/lib/class/browse.class.php
@@ -126,6 +126,7 @@ class Browse {
self::reset_filters();
self::reset_total();
+ self::reset_join();
self::reset_supplemental_objects();
self::set_simple_browse(0);
self::set_start(0);
@@ -133,6 +134,16 @@ class Browse {
} // reset
/**
+ * reset_join
+ * clears the joins if there are any
+ */
+ public static function reset_join() {
+
+ unset($_SESSION['browse']['join'][self::$type]);
+
+ } // reset_join
+
+ /**
* reset_filter
* This is a wrapper function that resets the filters
*/
@@ -284,13 +295,13 @@ class Browse {
$valid_array = array('title','year','track','time','album','artist');
break;
case 'artist':
- $valid_array = array('name');
+ $valid_array = array('name','album');
break;
case 'tag':
$valid_array = array('tag');
break;
case 'album':
- $valid_array = array('name','year');
+ $valid_array = array('name','year','artist');
break;
case 'playlist':
$valid_array = array('name','user');
@@ -337,7 +348,7 @@ class Browse {
*/
public static function set_join($type,$table,$source,$dest) {
- $_SESSION['browse']['join'][self::$type] = array($table=>strtoupper($type) . ' JOIN ' . $table . ' ON ' . $source . '=' . $dest);
+ $_SESSION['browse']['join'][self::$type][$table] = strtoupper($type) . ' JOIN ' . $table . ' ON ' . $source . '=' . $dest;
} // set_join
@@ -836,6 +847,11 @@ class Browse {
case 'name':
$sql = "`album`.`name` $order, `album`.`disk`";
break;
+ case 'artist':
+ $sql = "`artist`.`name`";
+ self::set_join('left','`song`','`song`.`album`','`album`.`id`');
+ self::set_join('left','`artist`','`song`.`artist`','`artist`.`id`');
+ break;
case 'year':
$sql = "`album`.`year`";
break;