5
include_once('db.php');
6
include_once('datecontrol.php');
8
$moduleID = globalize('moduleID');
9
$modulecategory = globalize('modulecategory');
10
$module_script = globalize('module_script');
12
$action = globalize('action');
13
$programID = globalize('programID');
14
$gridID = globalize('gridID');
15
$date = globalize('date');
16
$playlistID = globalize('playlistID');
17
$startTime = globalize('startTime');
18
$endTime = globalize('endTime');
25
$store = new playlistsStorage();
27
echo '<div class="float_left">';
28
echo '<h1>Edit Playlist</h1>';
33
reprioritizeItems(globalize('itemID'), globalize('shift_value'));
36
removeItem(globalize('itemID'));
42
// Check for musiclibrary component dependency.
43
if (file_exists(ROOT_COMPONENTS.'musiclibrary/moduleconfig.php')) {
44
require_once(ROOT_COMPONENTS.'musiclibrary/moduleconfig.php');
45
$remoteStore = new musicStorage();
46
require_once(ROOT_COMPONENTS.'musiclibrary/TrackD.php');
47
$trackObj = new TrackD();
50
$artist = globalize('artist');
51
$track = globalize('track');
54
// Add track to playlist.
56
if ($playlistID == '') {
57
// Fetch the playlistID.
59
SELECT {$store->field_playlists_playlist_playlistID} AS playlistID
60
FROM {$store->table_playlists_playlist}
61
WHERE {$store->field_playlists_playlist_date} = '$date'
62
AND {$store->field_playlists_playlist_gridID} = '$gridID'
64
$result = sysdb::query($query);
65
if (sysdb::num_rows($result) <= 0) {
67
$query = "INSERT INTO {$store->table_playlists_playlist} (gridID, date) VALUES ('$gridID', '$date')";
70
// Fetch the newly inserted playlistID.
72
SELECT {$store->field_playlists_playlist_playlistID} AS playlistID
73
FROM {$store->table_playlists_playlist}
74
WHERE {$store->field_playlists_playlist_date} = '$date'
75
AND {$store->field_playlists_playlist_gridID} = '$gridID'
77
$result = sysdb::query($query);
79
$line = sysdb::fetch_assoc($result);
80
$playlistID = $line['playlistID'];
82
// Add playlist item to storage.
84
SELECT COALESCE(MAX({$store->field_playlists_item_priority}),0) + 1
85
FROM {$store->table_playlists_item}
86
WHERE {$store->field_playlists_item_playlistID} = '$playlistID'
88
$priority = sysdb::queryOne($query);
91
INSERT INTO {$store->table_playlists_item} (
103
sysdb::query($query);
110
module::link_to_script('Back to Program','playlists.php',array('editProgramID'=>$programID),true,true,'Down');
113
echo '<h2>Add Track</h2>';
114
echo '<form action="'.module::form_action().'" method="post">';
115
echo module::form_attributes();
116
if ($playlistID != '')
117
echo '<input type="hidden" name="playlistID" value="'.$playlistID.'" />';
118
if ($programID != '')
119
echo '<input type="hidden" name="programID" value="'.$programID.'" />';
121
echo '<input type="hidden" name="date" value="'.$date.'" />';
123
echo '<input type="hidden" name="gridID" value="'.$gridID.'" />';
124
if ($startTime != '')
125
echo '<input type="hidden" name="startTime" value="'.$startTime.'" />';
127
echo '<input type="hidden" name="endTime" value="'.$endTime.'" />';
128
echo '<select name="artist" onChange="this.form.submit();">';
129
echo '<option value="">Select Artist</option>';
130
$query = "SELECT $remoteStore->field_ganges_artist_id AS artistId, $remoteStore->field_ganges_artist_name AS artistName FROM $remoteStore->table_ganges_artist ";
131
$artistresult = sysdb::query($query);
132
while ($artistline = sysdb::fetch_assoc($artistresult)) {
133
echo '<option value="'.$artistline['artistId'].'"';
134
if ($artist == $artistline['artistId']) echo ' selected="selected"';
135
echo '>'.$artistline['artistName'].'</option>';
139
$query = "SELECT $remoteStore->field_ganges_track_id AS trackId, $remoteStore->field_ganges_track_name AS trackName FROM $remoteStore->table_ganges_track WHERE $remoteStore->field_ganges_track_artist = '$artist' ORDER BY trackName";
140
$trackresult = sysdb::query($query);
141
echo '<select name="track" onChange="this.form.submit();">';
142
echo '<option value="">Select Track</option>';
143
if (sysdb::num_rows($trackresult) > 0) {
144
while ($trackline = sysdb::fetch_assoc($trackresult)) {
145
echo '<option value="'.$trackline['trackId'].'">'.$trackline['trackName'].'</option>';
154
// Collect the playlist information.
155
$query = "SELECT * FROM $store->table_playlists_playlist WHERE date = '$date' AND gridID = '$gridID'";
156
$result = sysdb::query($query);
157
if (sysdb::num_rows($result) <= 0) {
159
$query = "SELECT * FROM $store->table_playlists_playlist WHERE 1=0";
160
$tresult = sysdb::query($query);
162
$line = sysdb::fetch_assoc($result);
163
$playlistID = $line['playlistID'];
167
FROM ($store->table_playlists_item I,
168
$store->table_playlists_playlist P)
169
WHERE P.playlistID = I.playlistID
170
AND P.playlistID = '$playlistID'
173
$tresult = sysdb::query($tquery);
177
echo '<form action="'.module::form_action().'" method="POST">';
178
echo module::form_attributes();
179
if ($playlistID != '')
180
echo '<input type="hidden" name="playlistID" value="'.$playlistID.'" />';
181
if ($programID != '')
182
echo '<input type="hidden" name="programID" value="'.$programID.'" />';
184
echo '<input type="hidden" name="date" value="'.$date.'" />';
186
echo '<input type="hidden" name="gridID" value="'.$gridID.'" />';
187
if ($startTime != '')
188
echo '<input type="hidden" name="startTime" value="'.$startTime.'" />';
190
echo '<input type="hidden" name="endTime" value="'.$endTime.'" />';
191
echo '<h2>Playlist Details</h2>';
192
echo '<table class="modulebox">';
194
echo '<th>Artist</th>';
195
echo '<th>Track</th>';
196
echo '<th>Duration</th>';
197
echo '<th>Running</th>';
198
echo '<th>Priority</th>';
202
$runtime = strtotime($startTime);
204
echo '<tr class="greyed">';
208
echo '<td>'.date("H:i:s", strtotime($startTime)).'</td>';
213
if ( sysdb::num_rows($tresult) > 0) {
214
while ($tline = sysdb::fetch_assoc($tresult)) {
215
if ($tline['type'] == 'track') {
217
SELECT T.$remoteStore->field_ganges_track_name AS trackName,
218
A.$remoteStore->field_ganges_artist_name AS artistName,
219
T.$remoteStore->field_ganges_track_length
220
FROM ($remoteStore->table_ganges_track T,
221
$remoteStore->table_ganges_artist A
223
WHERE T.$remoteStore->field_ganges_track_id = '{$tline['id']}'
224
AND T.$remoteStore->field_ganges_track_audio_artist = A.$remoteStore->field_ganges_artist_id
226
$result = sysdb::query($query);
227
$line = sysdb::fetch_assoc($result);
230
echo "<td>".$line['artistName']."</td>";
231
echo "<td>".$line['trackName']."</td>";
232
$duration = date("i:s", round($line['length'] / 1000, 0));
233
echo "<td>".$duration."</td>";
234
$runtime = $runtime + ($line['length'] / 1000);
235
echo "<td>".date("H:i:s", $runtime)."</td>";
237
echo '<span class="link_up_small">';
238
module::link_to_script('Up','edit.php',array(
241
'programID'=>$programID,
243
'startTime'=>$startTime,
245
'itemID'=>$tline['itemID'],
249
echo '<span class="link_down_small">';
250
module::link_to_script('Down','edit.php',array(
253
'programID'=>$programID,
255
'startTime'=>$startTime,
257
'itemID'=>$tline['itemID'],
262
// echo '<td>'.$tline['priority'].'</td>';
263
// echo '<td>'.$tline['type'].'</td>';
264
// echo '<td>'.$tline['id'].'</td>';
266
echo '<span class="link_delete_small">';
267
module::link_to_script('Remove','edit.php',array(
269
'itemID'=>$tline['itemID']
270
),true,true,'Remove');
278
echo '<td colspan="6">No tracks in playlist yet.</td>';
282
echo '<tr class="greyed">';
286
echo '<td>'.date("H:i:s", strtotime($endTime)).'</td>';
291
echo '</table>'."\n";
297
<?php //if ($programID != '') { ?>
299
<input name="action" type="submit" value="save" />
302
<input name="action" type="submit" value="delete" />
305
<?php //if ($action == '' && $programID == '') { ?>
307
<input name="action" type="submit" value="create" />
b'\\ No newline at end of file'