Merge branch 'saas-dev-publishing' of https://github.com/sourcefabric/Airtime into saas-dev-publishing
This commit is contained in:
commit
031c4dca41
6 changed files with 22 additions and 9 deletions
|
@ -237,7 +237,8 @@ class PodcastTask implements AirtimeTask {
|
|||
* @return bool true if the podcast polling interval has passed
|
||||
*/
|
||||
public function shouldBeRun() {
|
||||
return PodcastManager::hasPodcastPollIntervalPassed();
|
||||
$overQuota = Application_Model_Systemstatus::isDiskOverQuota();
|
||||
return !$overQuota && PodcastManager::hasPodcastPollIntervalPassed();
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -160,7 +160,7 @@ class Application_Service_PodcastService
|
|||
|
||||
$podcast->setDbDescription(Application_Model_Preference::GetStationDescription());
|
||||
$podcast->setDbLink(Application_Common_HTTPHelper::getStationUrl());
|
||||
$podcast->setDbLanguage(Application_Model_Preference::GetLocale());
|
||||
$podcast->setDbLanguage(explode('_', Application_Model_Preference::GetLocale())[0]);
|
||||
$podcast->setDbCreator(Application_Model_Preference::GetStationName());
|
||||
$podcast->setDbOwner(self::getOwnerId());
|
||||
$podcast->save();
|
||||
|
@ -387,8 +387,10 @@ class Application_Service_PodcastService
|
|||
// Need to split categories into separate tags
|
||||
$itunesCategories = explode(",", $podcast->getDbItunesCategory());
|
||||
foreach ($itunesCategories as $c) {
|
||||
$category = $channel->addChild("xmlns:itunes:category");
|
||||
$category->addAttribute("text", $c);
|
||||
if (!empty($c)) {
|
||||
$category = $channel->addChild("xmlns:itunes:category");
|
||||
$category->addAttribute("text", $c);
|
||||
}
|
||||
}
|
||||
|
||||
$episodes = PodcastEpisodesQuery::create()->filterByDbPodcastId($stationPodcastId)->find();
|
||||
|
@ -406,7 +408,9 @@ class Application_Service_PodcastService
|
|||
|
||||
//category
|
||||
foreach($itunesCategories as $c) {
|
||||
self::addEscapedChild($item, "category", $c);
|
||||
if (!empty($c)) {
|
||||
self::addEscapedChild($item, "category", $c);
|
||||
}
|
||||
}
|
||||
|
||||
//guid
|
||||
|
@ -437,7 +441,7 @@ class Application_Service_PodcastService
|
|||
//itunes:explicit - skip this?
|
||||
|
||||
//itunes:duration
|
||||
self::addEscapedChild($item, "xmlns:itunes:duration", $publishedFile->getDbLength());
|
||||
self::addEscapedChild($item, "xmlns:itunes:duration", explode('.', $publishedFile->getDbLength())[0]);
|
||||
}
|
||||
|
||||
return $xml->asXML();
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
<div class="publish-sources" ng-repeat="source in sources.toPublish">
|
||||
<input ng-disabled="{{source.status == 2}}" ng-model="publishData[source.source]" type="checkbox" name="publish_sources" id="{{source.source}}">
|
||||
<label class="source-name" for="{{source.source}}">{{source.label}}</label>
|
||||
<span ng-if="source.status == 2" style="margin: auto"><?php echo _("You aren't connected to this source.") ?></span>
|
||||
<span ng-if="source.status == 2" style="margin: auto"><a href="/preference#{{source.source}}-heading"><?php echo _("You aren't connected to this source.") ?></a></span>
|
||||
</div>
|
||||
<div ng-if="sources.toPublish.length == 0">
|
||||
<?php echo _("You have already published this track to all available sources!") . "<br/>"
|
||||
|
|
|
@ -67,6 +67,9 @@
|
|||
|
||||
#library_title {
|
||||
padding: 5px 5px 0;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
#library_content {
|
||||
|
|
|
@ -1427,6 +1427,7 @@ var AIRTIME = (function(AIRTIME) {
|
|||
// in the left-hand pane.
|
||||
mod.podcastTableWidget.assignDblClickHandler(function () {
|
||||
var podcast = mod.podcastDataTable.fnGetData(this);
|
||||
$("#library_filter").append(" - " + $(this).find(".library_title").text());
|
||||
openPodcastEpisodeTable(podcast);
|
||||
});
|
||||
|
||||
|
@ -1448,6 +1449,7 @@ var AIRTIME = (function(AIRTIME) {
|
|||
elementId : '',
|
||||
eventHandlers : {
|
||||
click: function () {
|
||||
$("#library_filter").text($.i18n._("Podcasts"));
|
||||
mod.setCurrentTable(mod.DataTableTypeEnum.PODCAST);
|
||||
}
|
||||
},
|
||||
|
|
|
@ -94,7 +94,7 @@ var AIRTIME = (function(AIRTIME) {
|
|||
"fnPreDrawCallback": function () {
|
||||
$("#draggingContainer").remove();
|
||||
},
|
||||
"fnServerData": self._fetchData,
|
||||
"fnServerData": self._fetchData.bind(self),
|
||||
//"fnInitComplete" : function() { self._setupEventHandlers(bItemSelection) }
|
||||
"fnDrawCallback": function () {
|
||||
self.clearSelection();
|
||||
|
@ -421,12 +421,14 @@ var AIRTIME = (function(AIRTIME) {
|
|||
|
||||
var sortColName = "";
|
||||
var sortDir = "";
|
||||
var search = self._$wrapperDOMNode.closest(".dataTables_wrapper").find(".dataTables_filter").find("input").val();
|
||||
if (oSettings.aaSorting.length > 0) {
|
||||
var sortColIdx = oSettings.aaSorting[0][0];
|
||||
sortColName = oSettings.aoColumns[sortColIdx].mDataProp;
|
||||
sortDir = oSettings.aaSorting[0][1].toUpperCase();
|
||||
}
|
||||
|
||||
// FIXME: We should probably just be sending aoData back here..?
|
||||
$.ajax({
|
||||
"dataType": 'json',
|
||||
"type": "GET",
|
||||
|
@ -435,7 +437,8 @@ var AIRTIME = (function(AIRTIME) {
|
|||
"limit": oSettings._iDisplayLength,
|
||||
"offset": oSettings._iDisplayStart,
|
||||
"sort": sortColName,
|
||||
'sort_dir': sortDir,
|
||||
"sort_dir": sortDir,
|
||||
"search": search
|
||||
},
|
||||
"success": function (json, textStatus, jqXHR) {
|
||||
var rawResponseJSON = json;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue