From 41db2472342bd0cdcd572f9f37bca698db6f6d2f Mon Sep 17 00:00:00 2001 From: Karl 'vollmerk' Vollmer Date: Mon, 21 Apr 2008 00:28:18 +0000 Subject: fixed shoutbox typo so albums add correctly, can now edit playlist tracks and change their track in the playlist, added batch download link to single playlist view --- lib/class/playlist.class.php | 52 +++++++++++++++++--------------------------- lib/class/song.class.php | 8 +++---- 2 files changed, 23 insertions(+), 37 deletions(-) (limited to 'lib/class') diff --git a/lib/class/playlist.class.php b/lib/class/playlist.class.php index b5cb8f71..02c7d5be 100644 --- a/lib/class/playlist.class.php +++ b/lib/class/playlist.class.php @@ -1,7 +1,7 @@ id); + + $sql = "SELECT * FROM `playlist_data` WHERE `id`='$track_id' AND `playlist`='$playlist_id'"; + $db_results = Dba::query($sql); - $result = mysql_fetch_assoc($db_results); + $row = Dba::fetch_assoc($db_results); - return $result['track']; + return $row; } // get_track @@ -315,23 +319,19 @@ class Playlist { } // update_item /** - * update_track_numbers - * This function takes an array of $array['song_id'] $array['track'] where song_id is really the - * playlist_data.id and updates them + * update_track_number + * This takes a playlist_data.id and a track (int) and updates the track value */ - function update_track_numbers($data) { + public function update_track_number($track_id,$track) { - foreach ($data as $change) { - - $track = sql_escape($change['track']); - $id = sql_escape($change['song_id']); + $playlist_id = Dba::escape($this->id); + $track_id = Dba::escape($track_id); + $track = Dba::escape($track); - $sql = "UPDATE playlist_data SET track='$track' WHERE id='$id'"; - $db_results = mysql_query($sql, dbh()); - - } // end foreach + $sql = "UPDATE `playlist_data` SET `track`='$track' WHERE `id`='$track_id' AND `playlist`='$playlist_id'"; + $db_results = Dba::query($sql); - } // update_track_numbers + } // update_track_number /** * add_songs @@ -461,18 +461,6 @@ class Playlist { } // normalize_tracks - /** - * check_type - * This validates a type to make sure it's legit - */ - function check_type($type) { - - if ($type == 'public' || $type == 'private') { return true; } - - return false; - - } // check_type - /** * delete_track * this deletes a single track, you specify the playlist_data.id here diff --git a/lib/class/song.class.php b/lib/class/song.class.php index 82cb521d..ae3e8c08 100644 --- a/lib/class/song.class.php +++ b/lib/class/song.class.php @@ -907,20 +907,18 @@ class Song { $user_limit = " AND `object_count`.`user`='" . Dba::escape($user_id) . "'"; } - $sql = "SELECT `object_count`.`object_id`,`object_count`.`user`,`object_count`.`object_type`, " . "`object_count`.`date` " . "FROM `object_count` " . "WHERE `object_type`='song'$userlimit " . - "GROUP BY `object_count`.`object_id` " . - "ORDER BY `object_count`.`date` DESC " . - "LIMIT " . intval(Config::get('popular_threshold')); + "ORDER BY `object_count`.`date` DESC "; $db_results = Dba::query($sql); $results = array(); while ($row = Dba::fetch_assoc($db_results)) { - $results[] = $row; + $results[$row['object_id']] = $row; + if (count($results) > Config::get('popular_threshold')) { break; } } return $results; -- cgit