summaryrefslogtreecommitdiffstats
path: root/lib/class
diff options
context:
space:
mode:
authorKarl 'vollmerk' Vollmer <vollmer@ampache.org>2007-11-25 07:21:45 +0000
committerKarl 'vollmerk' Vollmer <vollmer@ampache.org>2007-11-25 07:21:45 +0000
commit4040d0623dc6c88ee7119dd00244b8800c8e4684 (patch)
tree0babd4abef3d49cfd64c796a69094e53f1919775 /lib/class
parent608820577f6c5b7cf81860b8bf082285ec01e7f8 (diff)
downloadampache-4040d0623dc6c88ee7119dd00244b8800c8e4684.tar.gz
ampache-4040d0623dc6c88ee7119dd00244b8800c8e4684.tar.bz2
ampache-4040d0623dc6c88ee7119dd00244b8800c8e4684.zip
fixed the page reloads once and for all, had to revert to iframe for democratic play and localplay, fixed an adding issue with democratic play if the songs were left in your active playlist
Diffstat (limited to 'lib/class')
-rw-r--r--lib/class/democratic.class.php7
-rw-r--r--lib/class/playlist.class.php6
-rw-r--r--lib/class/stream.class.php4
3 files changed, 9 insertions, 8 deletions
diff --git a/lib/class/democratic.class.php b/lib/class/democratic.class.php
index 296ceab9..5b477f80 100644
--- a/lib/class/democratic.class.php
+++ b/lib/class/democratic.class.php
@@ -142,8 +142,8 @@ class Democratic extends tmpPlaylist {
if ($this->base_playlist != '0') {
/* We need to pull a random one from the base_playlist */
$base_playlist = new Playlist($this->base_playlist);
- $data = $base_playlist->get_random_songs(1);
- $results['object_id'] = $data['0'];
+ $data = $base_playlist->get_random_items(1);
+ $results['object_id'] = $data['0']['object_id'];
}
else {
$sql = "SELECT `id` as `object_id` FROM `song` WHERE `enabled`='1' ORDER BY RAND() LIMIT 1";
@@ -168,7 +168,6 @@ class Democratic extends tmpPlaylist {
$sql = "SELECT `tmp_playlist_data`.`id` FROM `tmp_playlist_data` WHERE `object_type`='$object_type' AND " .
"`tmp_playlist`='$tmp_id' AND `object_id`='$object_id'";
-debug_event('foo',$sql,'1');
$db_results = Dba::query($sql);
$row = Dba::fetch_assoc($db_results);
@@ -237,7 +236,7 @@ debug_event('foo',$sql,'1');
/* If it's on the playlist just vote */
$sql = "SELECT `id` FROM `tmp_playlist_data` " .
- "WHERE `tmp_playlist_data`.`object_id`='$object_id'";
+ "WHERE `tmp_playlist_data`.`object_id`='$object_id' AND `tmp_playlist_data`.`tmp_playlist`='$tmp_playlist'";
$db_results = Dba::query($sql);
/* If it's not there, add it and pull ID */
diff --git a/lib/class/playlist.class.php b/lib/class/playlist.class.php
index f186785f..eb74b163 100644
--- a/lib/class/playlist.class.php
+++ b/lib/class/playlist.class.php
@@ -146,12 +146,14 @@ class Playlist {
* get_random_items
* This is the same as before but we randomize the buggers!
*/
- public function get_random_items() {
+ public function get_random_items($limit='') {
$results = array();
+ $limit_sql = $limit ? 'LIMIT ' . intval($limit) : '';
+
$sql = "SELECT `object_id`,`object_type`,`dynamic_song` FROM `playlist_data` " .
- "WHERE `playlist`='" . Dba::escape($this->id) . "' ORDER BY RAND()";
+ "WHERE `playlist`='" . Dba::escape($this->id) . "' ORDER BY RAND() $limit_sql";
$db_results = Dba::query($sql);
while ($row = Dba::fetch_assoc($db_results)) {
diff --git a/lib/class/stream.class.php b/lib/class/stream.class.php
index 09f3cf8a..1b44a492 100644
--- a/lib/class/stream.class.php
+++ b/lib/class/stream.class.php
@@ -473,7 +473,7 @@ class Stream {
$democratic = Democratic::get_current_playlist();
$democratic->vote($this->songs);
-
+
} // create_democratic
/**
@@ -660,7 +660,7 @@ class Stream {
// Load our javascript
echo "<script type=\"text/javascript\">";
//echo "reload_util();";
- echo "reload_util2('".$_SESSION['iframe']['target']."');";
+ echo "reload_util('".$_SESSION['iframe']['target']."');";
echo "</script>";
} // run_playlist_method