From 8bc17dd3f0ed4dc520bb64b20dac8a31e72e447f Mon Sep 17 00:00:00 2001 From: Karl 'vollmerk' Vollmer Date: Sun, 14 Feb 2010 00:56:07 +0000 Subject: Tweaked how features / bandwidth level is checked, not happy with it. --- config/ampache.cfg.php.dist | 18 ++++++------------ lib/class/browse.class.php | 31 ++++++++++++++++++++++++++++--- lib/class/config.class.php | 5 ----- lib/class/preference.class.php | 3 ++- lib/class/song.class.php | 7 ++----- lib/class/update.class.php | 8 ++++++-- lib/class/user.class.php | 4 ++-- lib/preferences.php | 14 +++++++++++--- templates/base.css | 6 ++---- templates/show_album_row.inc.php | 12 +++++------- templates/show_albums.inc.php | 8 ++++---- templates/show_artist.inc.php | 4 ++++ templates/show_now_playing_row.inc.php | 11 +++-------- templates/show_random_albums.inc.php | 8 ++------ 14 files changed, 77 insertions(+), 62 deletions(-) diff --git a/config/ampache.cfg.php.dist b/config/ampache.cfg.php.dist index 1082286d..82e8ffae 100644 --- a/config/ampache.cfg.php.dist +++ b/config/ampache.cfg.php.dist @@ -237,11 +237,12 @@ default_auth_level = "admin" ; DEFAULT: true ratings = "true" -; Index features -; Vollmer will probably write better stuff here than I will -Vlet -; POSSIBLE VALUES: shout, played, added, now, random -; DEFAULT: hmm -features = "shout, played, added, now, random" +; Sociable +; This turns on / off all of the "social" features of ampache +; default is on, but if you don't care and just want music +; turn this off to disable all social features. +; DEFAULT: true +sociable = "true" ; This options will turn on/off Demo Mode ; If Demo mode is on you can not play songs or update your catalog @@ -289,13 +290,6 @@ features = "shout, played, added, now, random" ; DEFAULT: db,id3,folder,lastfm,google album_art_order = "db,id3,folder,lastfm,google" -; Album Art -; Set this to true if you want album art displayed on pages besides the -; Single Album view, if you have a slow machine, or limited bandwidth -; turning this off can vastly improve performance -; DEFAULT: true -show_album_art = "true" - ; Amazon Developer Key ; These are needed in order to actually use the amazon album art ; Your public key is your 'Access Key ID' diff --git a/lib/class/browse.class.php b/lib/class/browse.class.php index f36c47f6..ab0e0e29 100644 --- a/lib/class/browse.class.php +++ b/lib/class/browse.class.php @@ -92,6 +92,28 @@ class Browse extends Query { } // get_supplemental_objects + /** + * is_enabled + * This checks if the specified function/feature + * of browsing is enabled, not sure if this is the best + * way to go about it, but hey. Returns boolean t/f + */ + public static function is_enabled($item) { + + switch ($item) { + case 'show_art': + if (Browse::get_filter('show_art')) { + return true; + } + if (Config::get('bandwidth') > 25) { + return true; + } + break; + } // end switch + + return false; + + } // is_enabled /** * show_objects @@ -235,8 +257,11 @@ class Browse extends Query { } // _auto_init - public static function set_filter_from_request($r) - { + /** + * set_filter_from_request + * //FIXME + */ + public static function set_filter_from_request($r) { foreach ($r as $k=>$v) { //reinterpret v as a list of int $vl = explode(',', $v); @@ -253,6 +278,6 @@ class Browse extends Query { else self::set_filter($k, $vl); } - } + } // set_filter_from_request } // browse diff --git a/lib/class/config.class.php b/lib/class/config.class.php index 64a45522..d846f225 100644 --- a/lib/class/config.class.php +++ b/lib/class/config.class.php @@ -28,11 +28,6 @@ * config overides and/or local configs (for like dba) * The class should be a static var in the other classes */ - -define('BANDWIDTH_LOW', 0); -define('BANDWIDTH_MEDIUM', 1); -define('BANDWIDTH_HIGH', 2); - class Config { // These are the settings for this specific class diff --git a/lib/class/preference.class.php b/lib/class/preference.class.php index 04d7f2f7..5dc0138d 100644 --- a/lib/class/preference.class.php +++ b/lib/class/preference.class.php @@ -226,7 +226,8 @@ class Preference { $sql = "SELECT `preference`.`name`,`preference`.`description`,`user_preference`.`value` FROM `preference` " . " INNER JOIN `user_preference` ON `user_preference`.`preference`=`preference`.`id` " . - " WHERE `user_preference`.`user`='$user_id' AND `preference`.`catagory` != 'internal' $user_limit order by `preference`.`description`"; + " WHERE `user_preference`.`user`='$user_id' AND `preference`.`catagory` != 'internal' $user_limit " . + " ORDER BY `preference`.`description`"; $db_results = Dba::read($sql); $results = array(); diff --git a/lib/class/song.class.php b/lib/class/song.class.php index 6b68df94..2c9ed839 100644 --- a/lib/class/song.class.php +++ b/lib/class/song.class.php @@ -918,7 +918,7 @@ class Song extends database_object implements media { * it uses the popular threshold to figure out how many to pull * it will only return unique object */ - public static function get_recently_played($user_id='', $limit=null) { + public static function get_recently_played($user_id='') { if ($user_id) { $user_limit = " AND `object_count`.`user`='" . Dba::escape($user_id) . "'"; @@ -936,10 +936,7 @@ class Song extends database_object implements media { while ($row = Dba::fetch_assoc($db_results)) { if (isset($results[$row['object_id']])) { continue; } $results[$row['object_id']] = $row; - if (!is_null($limit)) - if (count($results) > $limit) { break; } - else - if (count($results) > Config::get('popular_threshold')) { break; } + if (count($results) > Config::get('popular_threshold')) { break; } } return $results; diff --git a/lib/class/update.class.php b/lib/class/update.class.php index d51510b1..d92a1532 100644 --- a/lib/class/update.class.php +++ b/lib/class/update.class.php @@ -1840,9 +1840,13 @@ class Update { $db_results = Dba::write($sql); // Now add in the min_object_count preference and the random_method - $sql = "INSERT INTO `preferences` (`name`,`value`,`description`,`level`,`type`,`catagory`) " . - "VALUES('bandwidth','1','Bandwidth','100','integer','interface')"; + $sql = "INSERT INTO `preference` (`name`,`value`,`description`,`level`,`type`,`catagory`) " . + "VALUES ('bandwidth','50','Bandwidth','5','integer','interface')"; $db_results = Dba::write($sql); + + $sql = "INSERT INTO `preference` (`name`,`value`,`descriptoin`,`level`,`type`,`catagory`) " . + "VALUES ('features','50','Features','5','integer','interface')"; + $db_results = Dba::write($sql); /* Fix every users preferences */ $sql = "SELECT `id` FROM `user`"; diff --git a/lib/class/user.class.php b/lib/class/user.class.php index 40065922..27d901bf 100644 --- a/lib/class/user.class.php +++ b/lib/class/user.class.php @@ -197,7 +197,8 @@ class User extends database_object { $sql = "SELECT preference.name, preference.description, preference.catagory, preference.level, user_preference.value " . "FROM preference INNER JOIN user_preference ON user_preference.preference=preference.id " . - "WHERE user_preference.user='$user_id' " . $user_limit . " ORDER BY preference.catagory, preference.description"; + "WHERE user_preference.user='$user_id' " . $user_limit . + " ORDER BY preference.catagory, preference.description"; $db_results = Dba::read($sql); @@ -207,7 +208,6 @@ class User extends database_object { $admin = false; if ($type == 'system') { $admin = true; } $type_array[$type][$r['name']] = array('name'=>$r['name'],'level'=>$r['level'],'description'=>$r['description'],'value'=>$r['value']); - //ksort($type_array[$type]); // sorted this via sql and added sub-category sorting - Vlet $results[$type] = array ('title'=>ucwords($type),'admin'=>$admin,'prefs'=>$type_array[$type]); } // end while diff --git a/lib/preferences.php b/lib/preferences.php index 5b496ba0..67e7a5c7 100644 --- a/lib/preferences.php +++ b/lib/preferences.php @@ -260,11 +260,19 @@ function create_preference_input($name,$value) { case 'bandwidth': ${"bandwidth_$value"} = ' selected="selected"'; echo "\n"; break; + case 'features': + ${"features_$value"} = ' selected="selected"'; + echo "\n"; + break; case 'transcode': ${$value} = ' selected="selected"'; echo "/> + + title)); $album = scrub_out(truncate_with_ellipsis($media->f_album_full)); $artist = scrub_out(truncate_with_ellipsis($media->f_artist_full)); - -// This should not be hard coded, but it will likely break all the themes. -//$image_size = Config::get('bandwidth') == BANDWIDTH_MEDIUM ? 75 : 128; -$image_size = 75; - ?>
@@ -77,11 +72,11 @@ $image_size = 75;
- BANDWIDTH_LOW) { ?> +
diff --git a/templates/show_random_albums.inc.php b/templates/show_random_albums.inc.php index 2dee7f85..167e50b6 100644 --- a/templates/show_random_albums.inc.php +++ b/templates/show_random_albums.inc.php @@ -29,15 +29,11 @@ $button = Ajax::button('?page=index&action=random_albums','random',_('Refresh'), $album = new Album($album_id); $album->format(); $name = '[' . $album->f_artist . '] ' . scrub_out($album->full_name); - - // This should not be hard coded, but it will likely break all the themes. - //$image_size = Config::get('bandwidth') == BANDWIDTH_MEDIUM ? 75 : 128; - $image_size = 75; ?>
- BANDWIDTH_LOW) { ?> - <?php echo $name; ?> + + <?php echo $name; ?> f_artist . '] ' . $album->f_name; ?> -- cgit