Merge branch 'saas-dev-publishing' of github.com:sourcefabric/Airtime into saas-dev-publishing
This commit is contained in:
commit
ba832ffe3a
|
@ -536,13 +536,13 @@ class ApiController extends Zend_Controller_Action
|
|||
$mime_type = finfo_buffer($f, $blob, FILEINFO_MIME_TYPE);
|
||||
finfo_close($f);
|
||||
|
||||
header("Content-type: " . $mime_type);
|
||||
header("Content-Type: " . $mime_type);
|
||||
echo $blob;
|
||||
} else {
|
||||
header('HTTP/1.0 401 Unauthorized');
|
||||
print _('You are not allowed to access this resource. ');
|
||||
print _('You are not allowed to access this resource.');
|
||||
exit;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public function scheduleAction()
|
||||
|
|
|
@ -66,8 +66,10 @@ class PreferenceController extends Zend_Controller_Action
|
|||
Application_Model_Preference::setTuneinPartnerId($values["tunein_partner_id"]);
|
||||
|
||||
// SoundCloud Preferences
|
||||
Application_Model_Preference::setDefaultSoundCloudLicenseType($values["SoundCloudLicense"]);
|
||||
Application_Model_Preference::setDefaultSoundCloudSharingType($values["SoundCloudSharing"]);
|
||||
if (Billing::isStationPodcastAllowed()) {
|
||||
Application_Model_Preference::setDefaultSoundCloudLicenseType($values["SoundCloudLicense"]);
|
||||
Application_Model_Preference::setDefaultSoundCloudSharingType($values["SoundCloudSharing"]);
|
||||
}
|
||||
|
||||
$this->view->statusMsg = "<div class='success'>". _("Preferences updated.")."</div>";
|
||||
$form = new Application_Form_Preferences();
|
||||
|
|
|
@ -1573,6 +1573,11 @@ class Application_Model_Preference
|
|||
}
|
||||
|
||||
public static function getStationPodcastPrivacy() {
|
||||
if (!Billing::isStationPodcastAllowed()) {
|
||||
// return private setting
|
||||
return 1;
|
||||
}
|
||||
|
||||
return self::getValue("station_podcast_privacy");
|
||||
}
|
||||
|
||||
|
|
|
@ -31,8 +31,11 @@ class PodcastEpisodes extends BasePodcastEpisodes
|
|||
$podcast = StationPodcastQuery::create()->findOneByDbPodcastId($podcastId);
|
||||
if ($podcast) {
|
||||
$fileId = $this->getDbFileId();
|
||||
// FIXME: this is an interim solution until we can do better...
|
||||
$file = CcFilesQuery::create()->findPk($fileId);
|
||||
$ext = FileDataHelper::getAudioMimeTypeArray()[$file->getDbMime()];
|
||||
$key = Application_Model_Preference::getStationPodcastDownloadKey();
|
||||
return Application_Common_HTTPHelper::getStationUrl(false)."rest/media/$fileId/download/$key";
|
||||
return Application_Common_HTTPHelper::getStationUrl()."rest/media/$fileId/download/$key.$ext";
|
||||
}
|
||||
return parent::getDbDownloadUrl();
|
||||
}
|
||||
|
|
|
@ -60,19 +60,33 @@ class Rest_Bootstrap extends Zend_Application_Module_Bootstrap
|
|||
|
||||
/** MediaController Routes **/
|
||||
$downloadRoute = new Zend_Controller_Router_Route(
|
||||
'rest/media/:id/download/:download_key',
|
||||
'rest/media/:id/download',
|
||||
array(
|
||||
'controller' => 'media',
|
||||
'action' => 'download',
|
||||
'module' => 'rest'
|
||||
),
|
||||
array(
|
||||
'id' => '\d+',
|
||||
'download_key' => '\w*'
|
||||
'id' => '\d+'
|
||||
)
|
||||
);
|
||||
$router->addRoute('download', $downloadRoute);
|
||||
|
||||
$podcastEpisodeDownloadRoute = new Zend_Controller_Router_Route_Regex(
|
||||
'rest/media/(?<id>\d+)/download/(?<download_key>.+)\.(?<file_ext>\w+)',
|
||||
array(
|
||||
'controller' => 'media',
|
||||
'action' => 'download',
|
||||
'module' => 'rest'
|
||||
),
|
||||
array(
|
||||
1 => "id",
|
||||
2 => "download_key",
|
||||
3 => "file_ext"
|
||||
)
|
||||
);
|
||||
$router->addRoute('podcast-episode-download', $podcastEpisodeDownloadRoute);
|
||||
|
||||
$clearLibraryRoute = new Zend_Controller_Router_Route(
|
||||
'rest/media/clear',
|
||||
array(
|
||||
|
|
|
@ -193,7 +193,7 @@ class Application_Service_PodcastEpisodeService extends Application_Service_Thir
|
|||
*/
|
||||
public function publish($fileId) {
|
||||
$id = Application_Model_Preference::getStationPodcastId();
|
||||
$url = $guid = Application_Common_HTTPHelper::getStationUrl(false)."rest/media/$fileId/download";
|
||||
$url = $guid = Application_Common_HTTPHelper::getStationUrl()."rest/media/$fileId/download";
|
||||
if (!PodcastEpisodesQuery::create()
|
||||
->filterByDbPodcastId($id)
|
||||
->findOneByDbFileId($fileId)) { // Don't allow duplicate episodes
|
||||
|
|
|
@ -152,14 +152,14 @@ class Application_Service_PodcastService
|
|||
public static function createStationPodcast()
|
||||
{
|
||||
$podcast = new Podcast();
|
||||
$podcast->setDbUrl(Application_Common_HTTPHelper::getStationUrl(false) . "feeds/station-rss");
|
||||
$podcast->setDbUrl(Application_Common_HTTPHelper::getStationUrl() . "feeds/station-rss");
|
||||
|
||||
$title = Application_Model_Preference::GetStationName();
|
||||
$title = empty($title) ? "My Station's Podcast" : $title;
|
||||
$podcast->setDbTitle($title);
|
||||
|
||||
$podcast->setDbDescription(Application_Model_Preference::GetStationDescription());
|
||||
$podcast->setDbLink(Application_Common_HTTPHelper::getStationUrl(false));
|
||||
$podcast->setDbLink(Application_Common_HTTPHelper::getStationUrl());
|
||||
$podcast->setDbLanguage(explode('_', Application_Model_Preference::GetLocale())[0]);
|
||||
$podcast->setDbCreator(Application_Model_Preference::GetStationName());
|
||||
$podcast->setDbOwner(self::getOwnerId());
|
||||
|
@ -371,15 +371,15 @@ class Application_Service_PodcastService
|
|||
$xml->addAttribute('xmlns:xmlns:atom', "http://www.w3.org/2005/Atom");
|
||||
|
||||
$atomLink = $channel->addChild("xmlns:atom:link");
|
||||
$atomLink->addAttribute("href", Application_Common_HTTPHelper::getStationUrl(false) . "feeds/station-rss");
|
||||
$atomLink->addAttribute("href", Application_Common_HTTPHelper::getStationUrl() . "feeds/station-rss");
|
||||
$atomLink->addAttribute("rel", "self");
|
||||
$atomLink->addAttribute("type", "application/rss+xml");
|
||||
|
||||
$imageUrl = Application_Common_HTTPHelper::getStationUrl(false)."api/station-logo";
|
||||
$imageUrl = Application_Common_HTTPHelper::getStationUrl()."api/station-logo";
|
||||
$image = $channel->addChild("image");
|
||||
$image->addChild("title", $podcast->getDbTitle());
|
||||
self::addEscapedChild($image, "url", $imageUrl);
|
||||
self::addEscapedChild($image, "link", Application_Common_HTTPHelper::getStationUrl(false));
|
||||
self::addEscapedChild($image, "link", Application_Common_HTTPHelper::getStationUrl());
|
||||
|
||||
$xml->addAttribute('xmlns:xmlns:itunes', ITUNES_XML_NAMESPACE_URL);
|
||||
self::addEscapedChild($channel, "xmlns:itunes:author", $podcast->getDbItunesAuthor());
|
||||
|
|
|
@ -8,10 +8,14 @@
|
|||
<?php echo $this->element->getSubform('preferences_tunein') ?>
|
||||
</div>
|
||||
|
||||
<?php
|
||||
if (Billing::isStationPodcastAllowed()) { ?>
|
||||
<h3 class="collapsible-header" id="soundcloud-heading"><span class="arrow-icon"></span><?php echo _("SoundCloud Settings") ?></h3>
|
||||
<div class="collapsible-content" id="soundcloud-settings">
|
||||
<?php echo $this->element->getSubform('preferences_soundcloud') ?>
|
||||
|
||||
</div>
|
||||
<?php } ?>
|
||||
|
||||
<!-- Hide the 'dangerous settings' by default -->
|
||||
<h3 class="collapsible-header closed" id="dangerous-heading"><span class="arrow-icon"></span><?php echo _("Dangerous Options") ?></h3>
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
$logoImg = $this->element->getView()->logoImg;
|
||||
$src = "data:image/png;base64,".$logoImg;
|
||||
?>
|
||||
<img onError="this.onerror = '';this.style.visibility='hidden';$('#logo-remove-btn').hide();$('[id^=stationLogoRemove]').each(function(i,v){v.style.width=v.style.height=v.style.margin=v.style.padding='0px';});" id="logo-img" onload='resizeImg(this, 450, 450);' src="<?php echo $src ?>" />
|
||||
<img onError="this.onerror = '';this.style.visibility='hidden';$('#logo-remove-btn').hide();$('[id^=stationLogoRemove]').each(function(i,v){v.style.width=v.style.height=v.style.margin=v.style.padding='0px';});" id="logo-img" onload='/*resizeImg(this, 450, 450);*/' src="<?php echo $src ?>" />
|
||||
</div>
|
||||
|
||||
<?php echo $this->element->getElement('locale')->render() ?>
|
||||
|
|
|
@ -3590,6 +3590,14 @@ button.btn-icon-text > i.icon-white {
|
|||
overflow: auto;
|
||||
}
|
||||
|
||||
#media_type_nav > div:not(#nav) {
|
||||
-webkit-flex: 0 1 auto;
|
||||
-moz-flex: 0 1 auto;
|
||||
-ms-flex: 0 1 auto;
|
||||
-o-flex: 0 1 auto;
|
||||
flex: 0 1 auto;
|
||||
}
|
||||
|
||||
#media_type_nav .icon-white {
|
||||
opacity: 0.8;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue