diff options
-rwxr-xr-x | docs/CHANGELOG | 1 | ||||
-rw-r--r-- | lib/class/browse.class.php | 13 | ||||
-rw-r--r-- | lib/class/preference.class.php | 12 | ||||
-rw-r--r-- | lib/preferences.php | 3 | ||||
-rw-r--r-- | localplay.php | 5 | ||||
-rw-r--r-- | templates/show_localplay_playlist.inc.php | 13 |
6 files changed, 35 insertions, 12 deletions
diff --git a/docs/CHANGELOG b/docs/CHANGELOG index 080ec1f5..c8560f10 100755 --- a/docs/CHANGELOG +++ b/docs/CHANGELOG @@ -4,6 +4,7 @@ -------------------------------------------------------------------------- v.3.5-Alpha1 + - Added paging to the localplay playlist - Updated German Translation (Thx Laurent) - Fixed issue where Remote songs would never be removed from the democratic playlist diff --git a/lib/class/browse.class.php b/lib/class/browse.class.php index cd424ec1..cc72e4ca 100644 --- a/lib/class/browse.class.php +++ b/lib/class/browse.class.php @@ -196,6 +196,7 @@ class Browse { case 'album': case 'artist': case 'tag': + case 'playlist_localplay': case 'shoutbox': case 'live_stream': // Set it @@ -215,7 +216,6 @@ class Browse { // Rien a faire break; } // end type whitelist - } // set_type /** @@ -790,10 +790,10 @@ class Browse { * and requires the correct template based on the * type that we are currently browsing */ - public static function show_objects($object_ids='', $ajax=false) { + public static function show_objects($object_ids=false, $ajax=false) { $object_ids = $object_ids ? $object_ids : self::get_saved(); - + // Reset the total items self::$total_objects = count($object_ids); @@ -818,7 +818,7 @@ class Browse { Ajax::start_container('browse_content'); // Switch on the type of browsing we're doing - switch ($_SESSION['browse']['type']) { + switch (self::$type) { case 'song': show_box_top(_('Songs') . $match, $class); Song::build_cache($object_ids); @@ -857,6 +857,11 @@ class Browse { require_once Config::get('prefix') . '/templates/show_playlist_songs.inc.php'; show_box_bottom(); break; + case 'playlist_localplay': + show_box_top(_('Current Playlist')); + require_once Config::get('prefix') . '/templates/show_localplay_playlist.inc.php'; + show_box_bottom(); + break; case 'catalog': show_box_top(_('Catalogs'), $class); require_once Config::get('prefix') . '/templates/show_catalogs.inc.php'; diff --git a/lib/class/preference.class.php b/lib/class/preference.class.php index aae1d9aa..853e69a9 100644 --- a/lib/class/preference.class.php +++ b/lib/class/preference.class.php @@ -66,6 +66,7 @@ class Preference { $sql = "UPDATE `user_preference` SET `value`='$value' " . "WHERE `preference`='$id'$user_check"; $db_results = Dba::query($sql); + Preference::clear_from_session(); return true; } else { @@ -338,6 +339,17 @@ class Preference { } // load_from_session /** + * clear_from_session + * This clears the users preferences, this is done whenever modifications are made to the preferences + * or the admin resets something + */ + public static function clear_from_session() { + + unset($_SESSION['userdata']['preferences']); + + } // clear_from_session + + /** * init * This grabs the preferences and then loads them into conf it should be run on page load * to initialize the needed variables diff --git a/lib/preferences.php b/lib/preferences.php index ad5dc3ca..7dc24f5f 100644 --- a/lib/preferences.php +++ b/lib/preferences.php @@ -76,6 +76,9 @@ function update_preferences($pref_id=0) { } // end foreach preferences + // Now that we've done that we need to invalidate the cached preverences + Preference::clear_from_session(); + } // update_preferences /** diff --git a/localplay.php b/localplay.php index 98ff57c0..538d4d08 100644 --- a/localplay.php +++ b/localplay.php @@ -81,7 +81,10 @@ switch ($_REQUEST['action']) { // Pull the current playlist and require the template $objects = $localplay->get(); require_once Config::get('prefix') . '/templates/show_localplay_status.inc.php'; - require_once Config::get('prefix') . '/templates/show_localplay_playlist.inc.php'; + Browse::set_type('playlist_localplay'); + Browse::set_static_content(1); + Browse::save_objects($objects); + Browse::show_objects(); break; } // end switch action diff --git a/templates/show_localplay_playlist.inc.php b/templates/show_localplay_playlist.inc.php index b8d87108..fe0eb84b 100644 --- a/templates/show_localplay_playlist.inc.php +++ b/templates/show_localplay_playlist.inc.php @@ -1,7 +1,7 @@ <?php /* - Copyright (c) 2001 - 2007 Ampache.org + Copyright (c) Ampache.org All rights reserved. This program is free software; you can redistribute it and/or @@ -18,9 +18,9 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ +$localplay = new Localplay(Config::get('localplay_controller')); ?> -<?php Ajax::start_container('localplay_playlist'); ?> -<?php show_box_top(_('Current Playlist')); ?> +<?php require Config::get('prefix') . '/templates/list_header.inc.php'; ?> <table class="tabledata" cellpadding="0" cellspacing="0"> <colgroup> <col id="col_track" /> @@ -33,7 +33,7 @@ <th class="cel_action"><?php echo _('Action'); ?></th> </tr> <?php -foreach ($objects as $object) { +foreach ($object_ids as $object) { $class = ' class="cel_name"'; if ($status['track'] == $object['track']) { $class=' class="cel_name lp_current"'; } ?> @@ -48,7 +48,7 @@ foreach ($objects as $object) { <?php echo Ajax::button('?page=localplay&action=delete_track&id=' . intval($object['id']),'delete',_('Delete'),'localplay_delete_' . intval($object['id'])); ?> </td> </tr> -<?php } if (!count($objects)) { ?> +<?php } if (!count($object_ids)) { ?> <tr class="<?php echo flip_class(); ?>"> <td colspan="3"><span class="error"><?php echo _('No Records Found'); ?></span></td> </tr> @@ -59,5 +59,4 @@ foreach ($objects as $object) { <th class="cel_action"><?php echo _('Action'); ?></th> </tr> </table> -<?php show_box_bottom(); ?> -<?php Ajax::end_container(); ?> +<?php require Config::get('prefix') . '/templates/list_header.inc.php'; ?> |