diff --git a/application/controllers/PlaylistController.php b/application/controllers/PlaylistController.php index f1ab7fa77..8c9cabdf3 100644 --- a/application/controllers/PlaylistController.php +++ b/application/controllers/PlaylistController.php @@ -164,11 +164,12 @@ class PlaylistController extends Zend_Controller_Action public function addItemAction() { $id = $this->_getParam('id'); + $pos = $this->_getParam('pos', null); if (!is_null($id)) { $pl = $this->getPlaylist(); - $res = $pl->addAudioClip($id); + $res = $pl->addAudioClip($id, $pos); if (PEAR::isError($res)) { $this->view->message = $res->getMessage(); diff --git a/application/views/scripts/playlist/sidebarcontent.phtml b/application/views/scripts/playlist/sidebarcontent.phtml index b4d8a24da..17da4c602 100644 --- a/application/views/scripts/playlist/sidebarcontent.phtml +++ b/application/views/scripts/playlist/sidebarcontent.phtml @@ -1,5 +1,5 @@ partialCounter-1 > 0): ?> - +
  • @@ -17,5 +17,5 @@
  • - + diff --git a/public/js/airtime/library/spl.js b/public/js/airtime/library/spl.js index 1e6d72a1d..7627d6af4 100644 --- a/public/js/airtime/library/spl.js +++ b/public/js/airtime/library/spl.js @@ -255,19 +255,31 @@ function setSPLContent(json) { function addSPLItem(event, ui){ - var url, tr, id; + var url, tr, id, items, draggableOffset, elOffset, pos; tr = ui.helper; if(tr.get(0).tagName === 'LI') return; + + items = $(event.currentTarget).children(); + + draggableOffset = ui.offset; + + $.each(items, function(i, val){ + elOffset = $(this).offset(); + + if(elOffset.top > draggableOffset.top) { + pos = $(this).attr('id').split("_").pop(); + return false; + } + }); id = tr.attr('id').split("_").pop(); - url = '/Playlist/add-item/format/json'; - url = url + '/id/'+id; + url = '/Playlist/add-item'; - $.post(url, setSPLContent); + $.post(url, {format: "json", id: id, pos: pos}, setSPLContent); } function deleteSPLItem(event){ @@ -367,8 +379,8 @@ function openDiffSPL(json) { function setUpSPL() { - //$("#spl_sortable").sortable(); - //$("#spl_sortable" ).bind( "sortstop", moveSPLItem); + $("#spl_sortable").sortable(); + $("#spl_sortable" ).bind( "sortstop", moveSPLItem); $("#spl_remove_selected").click(deleteSPLItem); $("#spl_new") .button()