SAAS-1202 - move station podcast to top-level menu item

This commit is contained in:
Duncan Sommerville 2015-11-13 14:57:32 -05:00
parent 50c0bc2c28
commit 8e867b522c
19 changed files with 271 additions and 200 deletions

View file

@ -3,11 +3,6 @@
<?php echo $this->element->getSubform('preferences_general') ?>
<h3 class="collapsible-header" id="podcast-heading"><span class="arrow-icon"></span><?php echo _("My Podcast Settings"); ?></h3>
<div class="collapsible-content" id="podcast-settings">
<?php echo $this->element->getSubform('preferences_podcast') ?>
</div>
<h3 class="collapsible-header" id="tunein-pref-heading"><span class="arrow-icon"></span><?php echo _("TuneIn Settings"); ?></h3>
<div class="collapsible-content" id="tunein-settings">
<?php echo $this->element->getSubform('preferences_tunein') ?>

View file

@ -1,6 +1,4 @@
<fieldset class="padded">
<dl class="zend_form">
<?php echo $this->element->getElement('stationPodcastPrivacy')->render() ?>
<?php echo $this->element->getElement('stationPodcastFeedUrl')->render() ?>
</dl>
<?php echo $this->element->getElement('stationPodcastPrivacy')->render() ?>
<?php echo $this->element->getElement('stationPodcastFeedUrl')->render() ?>
</fieldset>

View file

@ -7,11 +7,14 @@
<div class="inner_editor_wrapper">
<form class="podcast-metadata">
<input ng-value="podcast.id" class="obj_id" type="hidden"/>
<label for="podcast_name"><?php echo _("Podcast Name") ?></label>
<input disabled name="podcast_name" ng-model="podcast.title" type="text"/>
<label for="podcast_url"><?php echo _("Podcast URL") ?></label>
<input disabled name="podcast_url" ng-model="podcast.url" type="text"/>
<div>
<label for="podcast_name"><?php echo _("Podcast Name: ") ?></label>
<span class="podcast-metadata-field">{{podcast.title}}</span>
</div>
<div>
<label for="podcast_url"><?php echo _("Podcast URL: ") ?></label>
<span class="podcast-metadata-field">{{podcast.url}}</span>
</div>
<label for="podcast_auto_ingest"><?php echo _("Automatically download latest episodes?") ?></label>
<input name="podcast_auto_ingest" ng-model="podcast.auto_ingest" type="checkbox"/>

View file

@ -0,0 +1,111 @@
<div id="station_podcast">
<div class="angular_wrapper" ng-controller="StationPodcast">
<div class="station_podcast_wrapper">
<div class="inner_editor_title">
<h2>
<span class="title_obj_name"><?php echo _("My Podcast") ?></span>
</h2>
<a href="{{podcast.url}}" target="_blank">
<button class="btn"><?php echo _("View Feed") ?></button>
</a>
</div>
<form class="podcast-metadata">
<input ng-value="podcast.id" class="obj_id" type="hidden"/>
<h3 class="collapsible-header"><span class="arrow-icon"></span><?php echo _("General Fields") ?></h3>
<div class="collapsible-content">
<fieldset class="padded">
<label><?php echo _("Name") ?></label>
<input name="podcast_name" ng-model="podcast.title" type="text"/>
<label><?php echo _("Creator") ?></label>
<input name="podcast_creator" ng-model="podcast.creator" type="text"/>
<label><?php echo _("URL") ?></label>
<input disabled name="podcast_url" ng-model="podcast.url" type="text"/>
<label><?php echo _("Description") ?></label>
<textarea name="podcast_description" ng-model="podcast.description"></textarea>
<label><?php echo _("Language") ?></label>
<select name="podcast_language" ng-model="podcast.language">
<?php
foreach(Application_Common_LocaleHelper::getISO6391LanguageCodes() as $code=>$lang) {
echo "<option value='$code'>$lang</option>";
}
?>
</select>
<label><?php echo _("Copyright") ?></label>
<input name="podcast_copyright" ng-model="podcast.copyright" type="text"/>
<label><?php echo _("Link") ?></label>
<input name="podcast_link" ng-model="podcast.link" type="url"/>
</fieldset>
</div>
<h3 class="collapsible-header"><span class="arrow-icon"></span><?php echo _("iTunes Fields") ?></h3>
<div class="collapsible-content">
<fieldset class="padded">
<label><?php echo _("Author") ?></label>
<input name="podcast_itunes_author" ng-model="podcast.itunes_author" type="text"/>
<label><?php echo _("Keywords") ?></label>
<input name="podcast_itunes_keywords" ng-model="podcast.itunes_keywords" type="text"/>
<label><?php echo _("Summary") ?></label>
<textarea name="podcast_itunes_summary" ng-model="podcast.itunes_summary"></textarea>
<label><?php echo _("Subtitle") ?></label>
<textarea name="podcast_itunes_subtitle" ng-model="podcast.itunes_subtitle"></textarea>
<label><?php echo _("Category") ?></label>
<input name="podcast_itunes_category" ng-model="podcast.itunes_category" type="text"/>
<label><?php echo _("Explicit") ?></label>
<input name="podcast_itunes_explicit" ng-model="podcast.itunes_explicit" type="checkbox"/>
</fieldset>
</div>
<h3 class="collapsible-header" id="podcast-heading"><span class="arrow-icon"></span><?php echo _("Privacy Settings"); ?></h3>
<div class="collapsible-content" id="podcast-settings">
<?php echo $this->form->getSubform('preferences_podcast') ?>
</div>
<p id="station_podcast_help_text">
<?php echo(sprintf(_("For detailed information on what these metadata fields mean, please see the %sRSS specification%s
or %sApple's podcasting documentation%s."),
'<a href="http://cyber.law.harvard.edu/rss/rss.html#requiredChannelElements">', '</a>',
'<a target="_blank" href="http://www.apple.com/ca/itunes/podcasts/specs.html">', "</a>")); ?>
</p>
</form>
<div class="btn-toolbar clearfix">
<div class='btn-group pull-right'>
<button ng-click="savePodcast()" class="btn" title='<?php echo _("Save station podcast") ?>' type="button">
<?php echo _("Save") ?>
</button>
</div>
<div class='success' style='display:none'></span></div>
</div>
</div>
<table class="datatable podcast_episodes" cellpadding="0" cellspacing="0"></table>
</div>
</div>
<script>
$(document).ready(function () {
<?php echo "var podcast = " . $this->podcast . ";" ?>
AIRTIME.podcast.podcastApp.value('podcast', podcast);
AIRTIME.podcast.podcastApp.value('tab', null);
var wrapper = $(".angular_wrapper");
angular.bootstrap(wrapper.get(0), ["podcast"]);
});
$('.collapsible-header').click(function() {
$(this).next().toggle('fast');
$(this).toggleClass("closed");
return false;
});
</script>

View file

@ -1,99 +0,0 @@
<div class="angular_wrapper" ng-controller="StationPodcast">
<div class="inner_editor_title">
<h2>
<span class="title_obj_name"><?php echo _("My Podcast") ?></span>
</h2>
<a href="{{podcast.url}}" target="_blank">
<button class="btn"><?php echo _("View Feed") ?></button>
</a>
</div>
<div class="inner_editor_wrapper station_podcast_wrapper">
<form class="podcast-metadata">
<input ng-value="podcast.id" class="obj_id" type="hidden"/>
<div>
<label><?php echo _("Name") ?></label>
<input name="podcast_name" ng-model="podcast.title" type="text"/>
</div>
<div>
<label><?php echo _("Creator") ?></label>
<input name="podcast_creator" ng-model="podcast.creator" type="text"/>
</div>
<div>
<label><?php echo _("URL") ?></label>
<input disabled name="podcast_url" ng-model="podcast.url" type="text"/>
</div>
<div>
<label><?php echo _("Description") ?></label>
<textarea name="podcast_description" ng-model="podcast.description"></textarea>
</div>
<div>
<label><?php echo _("Language") ?></label>
<select name="podcast_language" ng-model="podcast.language">
<?php
foreach(Application_Common_LocaleHelper::getISO6391LanguageCodes() as $code=>$lang) {
echo "<option value='$code'>$lang</option>";
}
?>
</select>
</div>
<div>
<label><?php echo _("Copyright") ?></label>
<input name="podcast_copyright" ng-model="podcast.copyright" type="text"/>
</div>
<div>
<label><?php echo _("Link") ?></label>
<input name="podcast_link" ng-model="podcast.link" type="url"/>
</div>
<fieldset>
<legend><?php echo _("iTunes Fields") ?></legend>
<label><?php echo _("Author") ?></label>
<input name="podcast_itunes_author" ng-model="podcast.itunes_author" type="text"/>
<label><?php echo _("Keywords") ?></label>
<input name="podcast_itunes_keywords" ng-model="podcast.itunes_keywords" type="text"/>
<label><?php echo _("Summary") ?></label>
<textarea name="podcast_itunes_summary" ng-model="podcast.itunes_summary"></textarea>
<label><?php echo _("Subtitle") ?></label>
<textarea name="podcast_itunes_subtitle" ng-model="podcast.itunes_subtitle"></textarea>
<label><?php echo _("Category") ?></label>
<input name="podcast_itunes_category" ng-model="podcast.itunes_category" type="text"/>
<label><?php echo _("Explicit") ?></label>
<input name="podcast_itunes_explicit" ng-model="podcast.itunes_explicit" type="checkbox"/>
</fieldset>
<p>
<?php echo(sprintf(_("For detailed information on what these metadata fields mean, please see the %sRSS specification%s
or %sApple's podcasting documentation%s."),
'<a href="http://cyber.law.harvard.edu/rss/rss.html#requiredChannelElements">', '</a>',
'<a target="_blank" href="http://www.apple.com/ca/itunes/podcasts/specs.html">', "</a>")); ?>
</p>
</form>
</div>
<table class="datatable podcast_episodes" cellpadding="0" cellspacing="0"></table>
<div class="btn-toolbar clearfix">
<div class="btn-group pull-right">
<button ng-click="discard()" class="btn" type="button" name="cancel">
<?php echo _("Cancel") ?>
</button>
</div>
<div class='btn-group pull-right'>
<button ng-click="savePodcast()" class="btn" title='<?php echo _("Save station podcast") ?>' type="button">
<?php echo _("Save") ?>
</button>
</div>
<div class='success' style='display:none'></span></div>
</div>
</div>