1
0
Fork 0
mirror of https://github.com/Yetangitu/ampache synced 2025-10-05 19:41:55 +02:00

Allow several time the same songs in Recently Played (fix #186)

This commit is contained in:
Afterster 2014-04-12 09:35:24 +02:00
parent 469c8759f2
commit 8ff0728a3d
4 changed files with 18 additions and 14 deletions

View file

@ -161,8 +161,8 @@ class Random implements media
// Get the last album playbed by us
$data = $GLOBALS['user']->get_recently_played('1','album');
if ($data['0']) {
$where_sql = " AND `song`.`album`='" . $data['0'] . "' ";
if ($data[0]) {
$where_sql = " AND `song`.`album`='" . $data[0] . "' ";
}
$sql = "SELECT `song`.`id` FROM `song` ";
@ -193,8 +193,8 @@ class Random implements media
$results = array();
$data = $GLOBALS['user']->get_recently_played('1','artist');
if ($data['0']) {
$where_sql = " AND `song`.`artist`='" . $data['0'] . "' ";
if ($data[0]) {
$where_sql = " AND `song`.`artist`='" . $data[0] . "' ";
}
$sql = "SELECT `song`.`id` FROM `song` ";

View file

@ -1036,8 +1036,7 @@ class Song extends database_object implements media
$results = array();
while ($row = Dba::fetch_assoc($db_results)) {
if (isset($results[$row['object_id']])) { continue; }
$results[$row['object_id']] = $row;
$results[] = $row;
if (count($results) >= AmpConfig::get('popular_threshold')) { break; }
}

View file

@ -27,7 +27,7 @@ $(document).ajaxComplete(function () {
// Post the contents of a form.
function ajaxPost(url, input, source) {
if ($(source)) {
$(source).off('click', function(){ ajaxPost(url, input, source); });
$(source).off('click');
}
$.ajax(url, { success: processContents, type: 'post', data: $('#'+input).serialize() });
} // ajaxPost
@ -36,7 +36,7 @@ function ajaxPost(url, input, source) {
// Get response from the specified URL.
function ajaxPut(url, source) {
if ($(source)) {
$(source).off('click', function(){ ajaxPut(url, source); });
$(source).off('click');
}
$.ajax(url, { success: processContents, type: 'post', dataType: 'xml' });
} // ajaxPut

View file

@ -37,7 +37,9 @@ UI::show_box_top(T_('Recently Played') . $link, 'box box_recently_played');
</tr>
</thead>
<tbody>
<?php foreach ($data as $row) {
<?php
$nb = 0;
foreach ($data as $row) {
$row_user = new User($row['user']);
$song = new Song($row['object_id']);
@ -92,9 +94,9 @@ UI::show_box_top(T_('Recently Played') . $link, 'box box_recently_played');
<span class="cel_play_content">&nbsp;</span>
<div class="cel_play_hover">
<?php if (AmpConfig::get('directplay')) { ?>
<?php echo Ajax::button('?page=stream&action=directplay&playtype=song&song_id=' . $song->id,'play', T_('Play'),'play_song_' . $song->id); ?>
<?php echo Ajax::button('?page=stream&action=directplay&playtype=song&song_id=' . $song->id,'play', T_('Play'),'play_song_' . $nb . '_' . $song->id); ?>
<?php if (Stream_Playlist::check_autoplay_append()) { ?>
<?php echo Ajax::button('?page=stream&action=directplay&playtype=song&song_id=' . $song->id . '&append=true','play_add', T_('Play last'),'addplay_song_' . $song->id); ?>
<?php echo Ajax::button('?page=stream&action=directplay&playtype=song&song_id=' . $song->id . '&append=true','play_add', T_('Play last'),'addplay_song_' . $nb . '_' . $song->id); ?>
<?php } ?>
<?php } ?>
</div>
@ -102,8 +104,8 @@ UI::show_box_top(T_('Recently Played') . $link, 'box box_recently_played');
<td class="cel_song"><?php echo $song->f_link; ?></td>
<td class="cel_add">
<span class="cel_item_add">
<?php echo Ajax::button('?action=basket&type=song&id='.$song->id, 'add', T_('Add to temporary playlist'), 'add_'.$song->id); ?>
<a id="<?php echo 'add_playlist_'.$song->id ?>" onclick="showPlaylistDialog(event, 'song', '<?php echo $song->id ?>')">
<?php echo Ajax::button('?action=basket&type=song&id='.$song->id, 'add', T_('Add to temporary playlist'), 'add_' . $nb . '_'.$song->id); ?>
<a id="<?php echo 'add_playlist_' . $nb . '_'.$song->id ?>" onclick="showPlaylistDialog(event, 'song', '<?php echo $song->id ?>')">
<?php echo UI::get_icon('playlist_add', T_('Add to existing playlist')); ?>
</a>
</span>
@ -122,7 +124,10 @@ UI::show_box_top(T_('Recently Played') . $link, 'box box_recently_played');
} ?>
</td>
</tr>
<?php } ?>
<?php
++$nb;
}
?>
<?php if (!count($data)) { ?>
<tr>
<td colspan="8"><span class="nodata"><?php echo T_('No recently item found'); ?></span></td>