diff --git a/airtime_mvc/application/models/Soundcloud.php b/airtime_mvc/application/models/Soundcloud.php index c993d3a1d..1c4b94f9f 100644 --- a/airtime_mvc/application/models/Soundcloud.php +++ b/airtime_mvc/application/models/Soundcloud.php @@ -8,8 +8,9 @@ class Application_Model_Soundcloud public function __construct() { global $CC_CONFIG; - - $this->_soundcloud = new Services_Soundcloud($CC_CONFIG['soundcloud-client-id'], $CC_CONFIG['soundcloud-client-secret']); + $this->_soundcloud = new Services_Soundcloud( + $CC_CONFIG['soundcloud-client-id'], + $CC_CONFIG['soundcloud-client-secret']); } private function getToken() @@ -51,9 +52,9 @@ class Application_Model_Soundcloud //YYYY-MM-DD-HH-mm-SS $release = explode("-", $release); - $track_data['track[release_year]'] = $release[0]; + $track_data['track[release_year]'] = $release[0]; $track_data['track[release_month]'] = $release[1]; - $track_data['track[release_day]'] = $release[2]; + $track_data['track[release_day]'] = $release[2]; } if (isset($genre) && $genre != "") { @@ -81,7 +82,10 @@ class Application_Model_Soundcloud ); return $response; + } else { + throw new NoSoundCloundToken(); } } - } + +class NoSoundCloundToken extends Exception {} diff --git a/airtime_mvc/application/views/scripts/library/library.phtml b/airtime_mvc/application/views/scripts/library/library.phtml index d35eb7fa6..0b60020c5 100644 --- a/airtime_mvc/application/views/scripts/library/library.phtml +++ b/airtime_mvc/application/views/scripts/library/library.phtml @@ -1,4 +1,7 @@ - +
+ Advanced Search Options + +
\ No newline at end of file diff --git a/airtime_mvc/application/views/scripts/showbuilder/builderDialog.phtml b/airtime_mvc/application/views/scripts/showbuilder/builderDialog.phtml index 3923cf182..42daa30da 100644 --- a/airtime_mvc/application/views/scripts/showbuilder/builderDialog.phtml +++ b/airtime_mvc/application/views/scripts/showbuilder/builderDialog.phtml @@ -1,7 +1,7 @@
- +
diff --git a/airtime_mvc/public/css/media_library.css b/airtime_mvc/public/css/media_library.css index 06120698d..ef078fd55 100644 --- a/airtime_mvc/public/css/media_library.css +++ b/airtime_mvc/public/css/media_library.css @@ -38,7 +38,7 @@ #library_content { float: left; width: 50%; - overflow: hidden; + overflow: auto; } #library_display { diff --git a/airtime_mvc/public/css/playlist_builder.css b/airtime_mvc/public/css/playlist_builder.css index 4614a3da1..2f99399aa 100644 --- a/airtime_mvc/public/css/playlist_builder.css +++ b/airtime_mvc/public/css/playlist_builder.css @@ -84,15 +84,27 @@ text-align:right; } -.spl_block_expand { +.spl_block_expand, .spl_block_expand.close { float:right; font-size: 9px; height: 15px; - right: 35px; - width: 100px; + /*right: 35px;*/ + width: 120px; margin-top:2px; cursor:pointer; -} + color:#fff; + font-weight: normal; + text-shadow:none; + opacity:1; + } + .spl_block_expand:hover, .spl_block_expand.close:hover { + color:#FF611F; + text-shadow:none; + opacity:1; + } + .spl_block_expand .ui-icon { + float:left; + } .spl_artist { font-size:12px; @@ -495,11 +507,21 @@ li.spl_empty { float: none; margin-bottom: 4px; width: 100%; + font-size: 13px; } - .smart-block-info > li span { + .smart-block-info > li span.block-item-time { text-align: right; float: right; color: #D5D5D5; font-size: 12px; } + .smart-block-info > li span.block-item-title { + font-weight: bold; + display: inline-block; + padding-right: 6px; + } + .smart-block-info > li span.block-item-author { + font-weight: normal; + display: inline-block; + } diff --git a/airtime_mvc/public/js/airtime/library/library.js b/airtime_mvc/public/js/airtime/library/library.js index 0ae1494fd..b430c40e9 100644 --- a/airtime_mvc/public/js/airtime/library/library.js +++ b/airtime_mvc/public/js/airtime/library/library.js @@ -51,8 +51,6 @@ var AIRTIME = (function(AIRTIME) { $trs; - // TODO : hack, get rid of this crap library - if (!$libTable) { return ; } // Get visible items and check if any chosenItems are visible $trs = $libTable.find("tbody input:checkbox").parents("tr"); $trs.each(function(i){ @@ -363,6 +361,8 @@ var AIRTIME = (function(AIRTIME) { var tableHeight = $libContent.height() - 130; function setColumnFilter(oTable){ + // TODO : remove this dirty hack once js is refactored + if (!oTable.fnSettings()) { return ; } var aoCols = oTable.fnSettings().aoColumns; var colsForAdvancedSearch = new Array(); var advanceSearchDiv = $("div#advanced_search"); @@ -381,11 +381,17 @@ var AIRTIME = (function(AIRTIME) { label = " (Hz)"; } - if (ele.bVisible) { - advanceSearchDiv.append("
"+ele.sTitle+label+" :
"); - } else { - advanceSearchDiv.append(""); + var inputClass = 'filter_column filter_number_text'; + if (criteriaTypes[ele.mDataProp] != "s") { + inputClass = 'filterColumn filter_number_range'; } + + if (ele.bVisible) { + advanceSearchDiv.append("
"); + } else { + advanceSearchDiv.append(""); + } + if (criteriaTypes[ele.mDataProp] == "s") { var obj = { sSelector: "#"+ele.mDataProp } } else { @@ -647,8 +653,20 @@ var AIRTIME = (function(AIRTIME) { } }); + setColumnFilter(oTable); oTable.fnSetFilteringDelay(350); + + $libContent.on("click", "legend", function(){ + var $fs = $(this).parents("fieldset"); + + if ($fs.hasClass("closed")) { + $fs.removeClass("closed"); + } + else { + $fs.addClass("closed"); + } + }); $libContent.find(".dataTables_scrolling").css("max-height", tableHeight); diff --git a/airtime_mvc/public/js/airtime/showbuilder/builder.js b/airtime_mvc/public/js/airtime/showbuilder/builder.js index 942bfbf0d..26c472ec0 100644 --- a/airtime_mvc/public/js/airtime/showbuilder/builder.js +++ b/airtime_mvc/public/js/airtime/showbuilder/builder.js @@ -71,6 +71,11 @@ var AIRTIME = (function(AIRTIME){ else { AIRTIME.button.disableButton("btn-group #timeline-select", true); } + + //need to check if the 'Select' button is disabled + if ($(".btn-group #timeline-select").is(":disabled")) { + $(".btn-group #timeline-select").removeAttr("disabled"); + } }; mod.checkTrimButton = function() { @@ -330,28 +335,6 @@ var AIRTIME = (function(AIRTIME){ $lib = $("#library_content"), $sbTable = $sbContent.find('table'); - /* - * Icon hover states in the toolbar. - */ - $sbContent.on("mouseenter", "#timeline-select .dropdown-toggle", function(ev) { - $el = $(this); - - if (!$el.hasClass("ui-state-disabled")) { - $el.addClass("ui-state-hover"); - $("#timeline-select .caret").contextMenu(true); - } - else { - $("#timeline-select .caret").contextMenu(false); - } - }); - $sbContent.on("mouseleave", ".fg-toolbar ul li", function(ev) { - $el = $(this); - - if (!$el.hasClass("ui-state-disabled")) { - $el.removeClass("ui-state-hover"); - } - }); - oSchedTable = $sbTable.dataTable( { "aoColumns": [ /* checkbox */ {"mDataProp": "allowed", "sTitle": "", "sWidth": "15px", "sClass": "sb-checkbox"}, @@ -989,7 +972,7 @@ var AIRTIME = (function(AIRTIME){ $('#timeline-sn').click(function(){mod.selectNone();}); //cancel current show - $toolbar.find('.icon-ban-circle') + $toolbar.find('.icon-ban-circle').parent() .click(function() { var $tr, data, @@ -1023,7 +1006,7 @@ var AIRTIME = (function(AIRTIME){ }); //jump to current - $toolbar.find('.icon-step-forward') + $toolbar.find('.icon-step-forward').parent() .click(function() { if (AIRTIME.button.isDisabled('icon-step-forward') === true) { @@ -1040,7 +1023,7 @@ var AIRTIME = (function(AIRTIME){ }); //delete overbooked tracks. - $toolbar.find('.icon-cut') + $toolbar.find('.icon-cut').parent() .click(function() { if (AIRTIME.button.isDisabled('icon-cut') === true) { @@ -1060,7 +1043,7 @@ var AIRTIME = (function(AIRTIME){ }); //delete selected tracks - $toolbar.find('.icon-trash') + $toolbar.find('.icon-trash').parent() .click(function() { if (AIRTIME.button.isDisabled('icon-trash') === true) { @@ -1090,6 +1073,22 @@ var AIRTIME = (function(AIRTIME){ return false; }); + /* + * Icon hover states in the toolbar. + */ + $sbContent.on("mouseenter", ".btn-group #timeline-select", function(ev) { + $el = $(this).parent(), + $ch = $el.children('#timeline-select'); + + if ($el.hasClass("ui-state-disabled")) { + $ch.attr("disabled", "disabled"); + } + else { + $ch.removeAttr("disabled"); + } + }); + + //begin context menu initialization. $.contextMenu({ selector: '.sb-content table tbody tr:not(.sb-empty, .sb-footer, .sb-header, .sb-record) td:not(.sb-checkbox, .sb-image)',