summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xdocs/CHANGELOG1
-rw-r--r--lib/class/browse.class.php13
-rw-r--r--lib/class/preference.class.php12
-rw-r--r--lib/preferences.php3
-rw-r--r--localplay.php5
-rw-r--r--templates/show_localplay_playlist.inc.php13
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'; ?>