Merge branch 'master' into smartblock-overflow

This commit is contained in:
frecuencialibre 2018-12-11 14:17:18 -06:00 committed by GitHub
commit c7b55f60e4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
72 changed files with 3804 additions and 3949 deletions

View file

@ -15,7 +15,7 @@ class Application_Form_AddShowAutoPlaylist extends Zend_Form_SubForm
// Add autoplaylist checkbox element
$this->addElement('checkbox', 'add_show_has_autoplaylist', array(
'label' => _('Auto Schedule Playlist ?'),
'label' => _('Add Autoloading Playlist ?'),
'required' => false,
'class' => 'input_text',
'decorators' => array('ViewHelper')
@ -29,7 +29,7 @@ class Application_Form_AddShowAutoPlaylist extends Zend_Form_SubForm
$this->addElement($autoPlaylistSelect);
// Add autoplaylist checkbox element
$this->addElement('checkbox', 'add_show_autoplaylist_repeat', array(
'label' => _('Repeat AutoPlaylist Until Show is Full ?'),
'label' => _('Repeat Playlist Until Show is Full ?'),
'required' => false,
'class' => 'input_text',
'decorators' => array('ViewHelper')

View file

@ -485,15 +485,6 @@ class Application_Form_SmartBlockCriteria extends Zend_Form_SubForm
$limitValue->setValue(1);
}
//getting block content candidate count that meets criteria
$bl = new Application_Model_Block($p_blockId);
if ($p_isValid) {
$files = $bl->getListofFilesMeetCriteria();
$showPoolCount = true;
} else {
$files = null;
$showPoolCount = false;
}
$generate = new Zend_Form_Element_Button('generate_button');
$generate->setAttrib('class', 'sp-button btn');

View file

@ -1475,7 +1475,7 @@ SQL;
foreach ($out as $crit) {
$criteria = $crit->getDbCriteria();
$modifier = $crit->getDbModifier();
$value = htmlspecialchars($crit->getDbValue());
$value = $crit->getDbValue();
$extra = $crit->getDbExtra();
if ($criteria == "limit") {

View file

@ -1,251 +0,0 @@
<?php
/**
* Skeleton subclass for representing a row from the 'imported_podcast' table.
*
*
*
* You should add additional methods to this class to meet the
* application requirements. This class will only be generated as
* long as it does not already exist in the output directory.
*
* @package propel.generator.airtime
*/
class ImportedPodcast extends BaseImportedPodcast
{
// These fields should never be modified with POST/PUT data
private static $privateFields = array(
"id",
"url",
"type",
"owner"
);
/** Creates a Podcast object from the given podcast URL.
* This is used by our Podcast REST API
*
* @param $data An array containing the URL for a Podcast object.
*
* @return array - Podcast Array with a full list of episodes
* @throws Exception
* @throws InvalidPodcastException
* @throws PodcastLimitReachedException
*/
public static function create($data)
{
if (Application_Service_PodcastService::podcastLimitReached()) {
throw new PodcastLimitReachedException();
}
$rss = Application_Service_PodcastService::getPodcastFeed($data["url"]);
if (!$rss) {
throw new InvalidPodcastException();
}
// Ensure we are only creating Podcast with the given URL, and excluding
// any extra data fields that may have been POSTED
$podcastArray = array();
$podcastArray["url"] = $data["url"];
$podcastArray["title"] = $rss->get_title();
$podcastArray["description"] = $rss->get_description();
$podcastArray["link"] = $rss->get_link();
$podcastArray["language"] = $rss->get_language();
$podcastArray["copyright"] = $rss->get_copyright();
$podcastArray["creator"] = $rss->get_author()->get_name();
$podcastArray["category"] = $rss->get_categories();
$itunesChannel = "http://www.itunes.com/dtds/podcast-1.0.dtd";
$itunesSubtitle = $rss->get_channel_tags($itunesChannel, 'subtitle');
$podcastArray["itunes_subtitle"] = isset($itunesSubtitle[0]["data"]) ? $itunesSubtitle[0]["data"] : "";
$itunesCategory = $rss->get_channel_tags($itunesChannel, 'category');
$categoryArray = array();
foreach ($itunesCategory as $c => $data) {
foreach ($data["attribs"] as $attrib) {
array_push($categoryArray, $attrib["text"]);
}
}
$podcastArray["itunes_category"] = implode(",", $categoryArray);
$itunesAuthor = $rss->get_channel_tags($itunesChannel, 'author');
$podcastArray["itunes_author"] = isset($itunesAuthor[0]["data"]) ? $itunesAuthor[0]["data"] : "";
$itunesSummary = $rss->get_channel_tags($itunesChannel, 'summary');
$podcastArray["itunes_summary"] = isset($itunesSummary[0]["data"]) ? $itunesSummary[0]["data"] : "";
$itunesKeywords = $rss->get_channel_tags($itunesChannel, 'keywords');
$podcastArray["itunes_keywords"] = isset($itunesKeywords[0]["data"]) ? $itunesKeywords[0]["data"] : "";
$itunesExplicit = $rss->get_channel_tags($itunesChannel, 'explicit');
$podcastArray["itunes_explicit"] = isset($itunesExplicit[0]["data"]) ? $itunesExplicit[0]["data"] : "";
self::validatePodcastMetadata($podcastArray);
try {
$podcast = new ImportedPodcast();
$podcast->fromArray($podcastArray, BasePeer::TYPE_FIELDNAME);
$podcast->setDbOwner(self::getOwnerId());
$podcast->setDbType(IMPORTED_PODCAST);
$podcast->save();
return self::_generatePodcastArray($podcast, $rss);
} catch(Exception $e) {
$podcast->delete();
throw $e;
}
}
/**
* Fetches a Podcast's rss feed and returns all its episodes with
* the Podcast object
*
* @param $podcastId
*
* @throws PodcastNotFoundException
* @throws InvalidPodcastException
* @return array - Podcast Array with a full list of episodes
*/
public static function getPodcastById($podcastId)
{
$podcast = PodcastQuery::create()->findPk($podcastId);
if (!$podcast) {
throw new PodcastNotFoundException();
}
$rss = Application_Service_PodcastService::getPodcastFeed($podcast->getDbUrl());
if (!$rss) {
throw new InvalidPodcastException();
}
return self::_generatePodcastArray($podcast, $rss);
}
/**
* Given a podcast object and a SimplePie feed object,
* generate a data array to pass back to the front-end
*
* @param Podcast $podcast Podcast model object
* @param SimplePie $rss SimplePie feed object
*
* @return array
*/
private static function _generatePodcastArray($podcast, $rss) {
$podcastArray = $podcast->toArray(BasePeer::TYPE_FIELDNAME);
$podcastArray["episodes"] = array();
foreach ($rss->get_items() as $item) {
/** @var SimplePie_Item $item */
array_push($podcastArray["episodes"], array(
"guid" => $item->get_id(),
"title" => $item->get_title(),
"author" => $item->get_author()->get_name(),
"description" => $item->get_description(),
"pub_date" => $item->get_date("Y-m-d H:i:s"),
"link" => $item->get_link(),
"enclosure" => $item->get_enclosure()
));
}
return $podcastArray;
}
/**
* Updates a Podcast object with the given metadata
*
* @param $podcastId
* @param $data
* @return array
* @throws Exception
* @throws PodcastNotFoundException
*/
public static function updateFromArray($podcastId, $data)
{
$podcast = PodcastQuery::create()->findPk($podcastId);
if (!$podcast) {
throw new PodcastNotFoundException();
}
self::removePrivateFields($data);
self::validatePodcastMetadata($data);
$podcast->fromArray($data, BasePeer::TYPE_FIELDNAME);
$podcast->save();
return $podcast->toArray(BasePeer::TYPE_FIELDNAME);
}
/**
* Deletes a Podcast and its podcast episodes
*
* @param $podcastId
* @throws Exception
* @throws PodcastNotFoundException
*/
public static function deleteById($podcastId)
{
$podcast = PodcastQuery::create()->findPk($podcastId);
if ($podcast) {
$podcast->delete();
} else {
throw new PodcastNotFoundException();
}
}
/**
* Trims the podcast metadata to fit the table's column max size
*
* @param $podcastArray
*/
private static function validatePodcastMetadata(&$podcastArray)
{
$podcastTable = PodcastPeer::getTableMap();
foreach ($podcastArray as $key => &$value) {
try {
// Make sure column exists in table
$columnMaxSize = $podcastTable->getColumn($key)->getSize();
} catch (PropelException $e) {
continue;
}
if (strlen($value) > $columnMaxSize) {
$value = substr($value, 0, $podcastTable->getColumn($key)->getSize());
}
}
}
private static function removePrivateFields(&$data)
{
foreach (self::$privateFields as $key) {
unset($data[$key]);
}
}
//TODO move this somewhere where it makes sense
private static function getOwnerId()
{
try {
if (Zend_Auth::getInstance()->hasIdentity()) {
$service_user = new Application_Service_UserService();
return $service_user->getCurrentUser()->getDbId();
} else {
$defaultOwner = CcSubjsQuery::create()
->filterByDbType('A')
->orderByDbId()
->findOne();
if (!$defaultOwner) {
// what to do if there is no admin user?
// should we handle this case?
return null;
}
return $defaultOwner->getDbId();
}
} catch(Exception $e) {
Logging::info($e->getMessage());
}
}
}

View file

@ -7,9 +7,11 @@
</dt>
<dd>
<?php echo $this->element->getElement('add_show_has_autoplaylist') ?>
<span class="show_autoplaylist_help_icon" aria-describedby="ui-tooltip-2"></span>
</dd>
<div id="add_show_playlist_dropdown">
<p><?php echo _("Autoloading playlists' contents are added to shows one hour before the show airs. <a target='_blank' href='http://libretime.org/manual/calendar/#autoloading-playlist'>More information</a>"); ?></p>
<dt id="add_show_autoplaylist_id">
<label for="add_show_autoplaylist_id" class="required">
<?php echo $this->element->getElement('add_show_autoplaylist_id')->getLabel()?>

View file

@ -2,6 +2,23 @@
$items = $this->contents;
$isSmartBlock = ($this->obj instanceof Application_Model_Block);
$isPlaylist = ($this->obj instanceof Application_Model_Playlist);
if ($this->showPoolCount) { ?>
<div class='sp_text_font sp_text_font_bold'>
<span id='sp_pool_count' class='sp_text_font sp_text_font_bold'>
<?php
echo $this->poolCount;
echo ngettext(" track matches your search criteria.", " tracks match your search criteria.", $this->poolCount);
?>
</span>
<?php if ($this->poolCount > 0) { ?>
<span class='checked-icon sp-checked-icon' id='sp_pool_count_icon'></span>
<?php }
else { ?>
<span class='sp-warning-icon' id='sp_pool_count_icon'></span>
<?php } ?>
</div>
<?php
}
if (count($items) && ($isSmartBlock || $isPlaylist)) : ?>
<?php $i = 0; ?>
<?php if ($isSmartBlock && !($this->obj->isStatic())) {
@ -148,4 +165,4 @@ if (($i < count($items) -1) && ($items[$i+1]['type'] == 0)) {
}
?>
</div>
<?php endif; ?>
<?php endif; ?>

View file

@ -25,7 +25,7 @@
<?php echo $this->repeats; ?>
</div>
<h3 class="collapsible-header"><span class="arrow-icon"></span><?php echo _("Automatic Playlist") ?></h3>
<h3 class="collapsible-header"><span class="arrow-icon"></span><?php echo _("Autoloading Playlist") ?></h3>
<div id="schedule-show-auto" class="collapsible-content">
<?php echo $this->autoplaylist; ?>
</div>
@ -33,12 +33,6 @@
<div id="live-stream-override" class="collapsible-content">
<?php echo $this->live; ?>
</div>
<h3 class="collapsible-header"><span class="arrow-icon"></span><?php echo _("Record & Rebroadcast")?></h3>
<div id="schedule-record-rebroadcast" class="collapsible-content">
<?php echo $this->rr; ?>
<?php echo $this->absoluteRebroadcast; ?>
<?php echo $this->rebroadcast; ?>
</div>
<h3 class="collapsible-header"><span class="arrow-icon"></span><?php echo _("Who") ?></h3>
<div id="schedule-show-who" class="collapsible-content">
<?php echo $this->who; ?>

View file

@ -2534,13 +2534,21 @@ msgid "Must wait at least 1 hour to rebroadcast"
msgstr ""
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:18
msgid "Auto Schedule Playlist ?"
msgid "Add Autoloading Playlist ?"
msgstr ""
#: airtime_mvc/application/views/scripts/form/add-show-autoplaylist.phtml:14
msgid "Autoloading playlists' contents are added to shows one hour before the show airs. <a target='_blank' href='http://libretime.org/manual/calendar/#autoloading-playlist'>More information</a>"
msgstr ""
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:25
msgid "Select Playlist"
msgstr ""
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:32
msgid "Repeat Playlist Until Show is Full ?"
msgstr ""
#: airtime_mvc/application/forms/AddShowLiveStream.php:11
#, php-format
msgid "Use %s Authentication:"
@ -4934,7 +4942,7 @@ msgid "What"
msgstr ""
#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:14
msgid "Automatic Playlist"
msgid "Autoloading Playlist"
msgstr ""
#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:18

View file

@ -2534,13 +2534,21 @@ msgid "Must wait at least 1 hour to rebroadcast"
msgstr ""
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:18
msgid "Auto Schedule Playlist ?"
msgid "Add Autoloading Playlist ?"
msgstr ""
#: airtime_mvc/application/views/scripts/form/add-show-autoplaylist.phtml:14
msgid "Autoloading playlists' contents are added to shows one hour before the show airs. <a target='_blank' href='http://libretime.org/manual/calendar/#autoloading-playlist'>More information</a>"
msgstr ""
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:25
msgid "Select Playlist"
msgstr ""
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:32
msgid "Repeat Playlist Until Show is Full ?"
msgstr ""
#: airtime_mvc/application/forms/AddShowLiveStream.php:11
#, php-format
msgid "Use %s Authentication:"
@ -4934,7 +4942,7 @@ msgid "What"
msgstr ""
#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:14
msgid "Automatic Playlist"
msgid "Autoloading Playlist"
msgstr ""
#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:18

View file

@ -2538,13 +2538,21 @@ msgid "Must wait at least 1 hour to rebroadcast"
msgstr "Musíte počkat alespoň 1 hodinu před dalším vysíláním"
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:18
msgid "Auto Schedule Playlist ?"
msgid "Add Autoloading Playlist ?"
msgstr ""
#: airtime_mvc/application/views/scripts/form/add-show-autoplaylist.phtml:14
msgid "Autoloading playlists' contents are added to shows one hour before the show airs. <a target='_blank' href='http://libretime.org/manual/calendar/#autoloading-playlist'>More information</a>"
msgstr ""
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:25
msgid "Select Playlist"
msgstr ""
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:32
msgid "Repeat Playlist Until Show is Full ?"
msgstr ""
#: airtime_mvc/application/forms/AddShowLiveStream.php:11
#, php-format
msgid "Use %s Authentication:"
@ -4940,7 +4948,7 @@ msgid "What"
msgstr "Co"
#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:14
msgid "Automatic Playlist"
msgid "Autoloading Playlist"
msgstr ""
#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:18

View file

@ -2534,13 +2534,21 @@ msgid "Must wait at least 1 hour to rebroadcast"
msgstr ""
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:18
msgid "Auto Schedule Playlist ?"
msgid "Add Autoloading Playlist ?"
msgstr ""
#: airtime_mvc/application/views/scripts/form/add-show-autoplaylist.phtml:14
msgid "Autoloading playlists' contents are added to shows one hour before the show airs. <a target='_blank' href='http://libretime.org/manual/calendar/#autoloading-playlist'>More information</a>"
msgstr ""
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:25
msgid "Select Playlist"
msgstr ""
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:32
msgid "Repeat Playlist Until Show is Full ?"
msgstr ""
#: airtime_mvc/application/forms/AddShowLiveStream.php:11
#, php-format
msgid "Use %s Authentication:"
@ -4934,7 +4942,7 @@ msgid "What"
msgstr ""
#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:14
msgid "Automatic Playlist"
msgid "Autoloading Playlist"
msgstr ""
#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:18

View file

@ -2551,13 +2551,21 @@ msgid "Must wait at least 1 hour to rebroadcast"
msgstr "Das Wiederholen einer Sendung ist erst nach einer Stunde Wartezeit möglich."
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:18
msgid "Auto Schedule Playlist ?"
msgid "Add Autoloading Playlist ?"
msgstr ""
#: airtime_mvc/application/views/scripts/form/add-show-autoplaylist.phtml:14
msgid "Autoloading playlists' contents are added to shows one hour before the show airs. <a target='_blank' href='http://libretime.org/manual/calendar/#autoloading-playlist'>More information</a>"
msgstr ""
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:25
msgid "Select Playlist"
msgstr ""
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:32
msgid "Repeat Playlist Until Show is Full ?"
msgstr ""
#: airtime_mvc/application/forms/AddShowLiveStream.php:11
#, php-format
msgid "Use %s Authentication:"
@ -4953,7 +4961,7 @@ msgid "What"
msgstr "Was"
#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:14
msgid "Automatic Playlist"
msgid "Autoloading Playlist"
msgstr ""
#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:18

View file

@ -2553,13 +2553,21 @@ msgid "Must wait at least 1 hour to rebroadcast"
msgstr "Das Wiederholen einer Sendung ist erst nach einer Stunde Wartezeit möglich."
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:18
msgid "Auto Schedule Playlist ?"
msgid "Add Autoloading Playlist ?"
msgstr ""
#: airtime_mvc/application/views/scripts/form/add-show-autoplaylist.phtml:14
msgid "Autoloading playlists' contents are added to shows one hour before the show airs. <a target='_blank' href='http://libretime.org/manual/calendar/#autoloading-playlist'>More information</a>"
msgstr ""
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:25
msgid "Select Playlist"
msgstr ""
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:32
msgid "Repeat Playlist Until Show is Full ?"
msgstr ""
#: airtime_mvc/application/forms/AddShowLiveStream.php:11
#, php-format
msgid "Use %s Authentication:"
@ -4955,7 +4963,7 @@ msgid "What"
msgstr "Was"
#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:14
msgid "Automatic Playlist"
msgid "Autoloading Playlist"
msgstr "Automatische Playlist"
#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:18

View file

@ -2538,13 +2538,21 @@ msgid "Must wait at least 1 hour to rebroadcast"
msgstr "Πρέπει να περιμένετε τουλάχιστον 1 ώρα για την αναμετάδοση"
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:18
msgid "Auto Schedule Playlist ?"
msgid "Add Autoloading Playlist ?"
msgstr ""
#: airtime_mvc/application/views/scripts/form/add-show-autoplaylist.phtml:14
msgid "Autoloading playlists' contents are added to shows one hour before the show airs. <a target='_blank' href='http://libretime.org/manual/calendar/#autoloading-playlist'>More information</a>"
msgstr ""
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:25
msgid "Select Playlist"
msgstr ""
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:32
msgid "Repeat Playlist Until Show is Full ?"
msgstr ""
#: airtime_mvc/application/forms/AddShowLiveStream.php:11
#, php-format
msgid "Use %s Authentication:"
@ -4940,7 +4948,7 @@ msgid "What"
msgstr "Τι"
#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:14
msgid "Automatic Playlist"
msgid "Autoloading Playlist"
msgstr ""
#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:18

View file

@ -2538,13 +2538,21 @@ msgid "Must wait at least 1 hour to rebroadcast"
msgstr "Must wait at least 1 hour to rebroadcast"
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:18
msgid "Auto Schedule Playlist ?"
msgid "Add Autoloading Playlist ?"
msgstr ""
#: airtime_mvc/application/views/scripts/form/add-show-autoplaylist.phtml:14
msgid "Autoloading playlists' contents are added to shows one hour before the show airs. <a target='_blank' href='http://libretime.org/manual/calendar/#autoloading-playlist'>More information</a>"
msgstr ""
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:25
msgid "Select Playlist"
msgstr ""
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:32
msgid "Repeat Playlist Until Show is Full ?"
msgstr ""
#: airtime_mvc/application/forms/AddShowLiveStream.php:11
#, php-format
msgid "Use %s Authentication:"
@ -4940,7 +4948,7 @@ msgid "What"
msgstr "What"
#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:14
msgid "Automatic Playlist"
msgid "Autoloading Playlist"
msgstr ""
#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:18

View file

@ -2539,13 +2539,21 @@ msgid "Must wait at least 1 hour to rebroadcast"
msgstr "Must wait at least 1 hour to rebroadcast"
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:18
msgid "Auto Schedule Playlist ?"
msgid "Add Autoloading Playlist ?"
msgstr ""
#: airtime_mvc/application/views/scripts/form/add-show-autoplaylist.phtml:14
msgid "Autoloading playlists' contents are added to shows one hour before the show airs. <a target='_blank' href='http://libretime.org/manual/calendar/#autoloading-playlist'>More information</a>"
msgstr ""
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:25
msgid "Select Playlist"
msgstr ""
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:32
msgid "Repeat Playlist Until Show is Full ?"
msgstr ""
#: airtime_mvc/application/forms/AddShowLiveStream.php:11
#, php-format
msgid "Use %s Authentication:"
@ -4944,7 +4952,7 @@ msgid "What"
msgstr "What"
#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:14
msgid "Automatic Playlist"
msgid "Autoloading Playlist"
msgstr ""
#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:18

View file

@ -2538,13 +2538,21 @@ msgid "Must wait at least 1 hour to rebroadcast"
msgstr "Must wait at least 1 hour to rebroadcast"
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:18
msgid "Auto Schedule Playlist ?"
msgid "Add Autoloading Playlist ?"
msgstr ""
#: airtime_mvc/application/views/scripts/form/add-show-autoplaylist.phtml:14
msgid "Autoloading playlists' contents are added to shows one hour before the show airs. <a target='_blank' href='http://libretime.org/manual/calendar/#autoloading-playlist'>More information</a>"
msgstr ""
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:25
msgid "Select Playlist"
msgstr ""
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:32
msgid "Repeat Playlist Until Show is Full ?"
msgstr ""
#: airtime_mvc/application/forms/AddShowLiveStream.php:11
#, php-format
msgid "Use %s Authentication:"
@ -4940,7 +4948,7 @@ msgid "What"
msgstr "What"
#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:14
msgid "Automatic Playlist"
msgid "Autoloading Playlist"
msgstr ""
#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:18

View file

@ -2548,13 +2548,21 @@ msgid "Must wait at least 1 hour to rebroadcast"
msgstr "Debes esperar al menos 1 hora para reprogramar"
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:18
msgid "Auto Schedule Playlist ?"
msgstr "¿Auto Programar Lista?"
msgid "Add Autoloading Playlist ?"
msgstr "¿Programar Lista Auto-Cargada?"
#: airtime_mvc/application/views/scripts/form/add-show-autoplaylist.phtml:14
msgid "Autoloading playlists' contents are added to shows one hour before the show airs. <a target='_blank' href='http://libretime.org/manual/calendar/#autoloading-playlist'>More information</a>"
msgstr "Se le agrega los contenidos de las listas auto-cargadas a programas una hora antes de que suenen. <a target='_blank' href='http://libretime.org/manual/calendar/#autoloading-playlist'>Mas información</a>"
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:25
msgid "Select Playlist"
msgstr "Seleccionar Lista"
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:32
msgid "Repeat Playlist Until Show is Full ?"
msgstr "Repitir lista hasta que termine el programa?"
#: airtime_mvc/application/forms/AddShowLiveStream.php:11
#, php-format
msgid "Use %s Authentication:"
@ -4966,8 +4974,8 @@ msgid "What"
msgstr "Qué"
#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:14
msgid "Automatic Playlist"
msgstr "Lista de reproducción automática"
msgid "Autoloading Playlist"
msgstr "Lista Auto-Cargada"
#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:18
msgid "When"

View file

@ -2538,13 +2538,21 @@ msgid "Must wait at least 1 hour to rebroadcast"
msgstr "Vous devez attendre au moins 1 heure pour retransmettre"
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:18
msgid "Auto Schedule Playlist ?"
msgid "Add Autoloading Playlist ?"
msgstr ""
#: airtime_mvc/application/views/scripts/form/add-show-autoplaylist.phtml:14
msgid "Autoloading playlists' contents are added to shows one hour before the show airs. <a target='_blank' href='http://libretime.org/manual/calendar/#autoloading-playlist'>More information</a>"
msgstr ""
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:25
msgid "Select Playlist"
msgstr ""
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:32
msgid "Repeat Playlist Until Show is Full ?"
msgstr ""
#: airtime_mvc/application/forms/AddShowLiveStream.php:11
#, php-format
msgid "Use %s Authentication:"
@ -4940,7 +4948,7 @@ msgid "What"
msgstr "Quoi"
#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:14
msgid "Automatic Playlist"
msgid "Autoloading Playlist"
msgstr ""
#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:18

View file

@ -2537,13 +2537,21 @@ msgid "Must wait at least 1 hour to rebroadcast"
msgstr "Moraš čekati najmanje 1 sat za re-emitiranje"
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:18
msgid "Auto Schedule Playlist ?"
msgid "Add Autoloading Playlist ?"
msgstr ""
#: airtime_mvc/application/views/scripts/form/add-show-autoplaylist.phtml:14
msgid "Autoloading playlists' contents are added to shows one hour before the show airs. <a target='_blank' href='http://libretime.org/manual/calendar/#autoloading-playlist'>More information</a>"
msgstr ""
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:25
msgid "Select Playlist"
msgstr ""
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:32
msgid "Repeat Playlist Until Show is Full ?"
msgstr ""
#: airtime_mvc/application/forms/AddShowLiveStream.php:11
#, php-format
msgid "Use %s Authentication:"
@ -4939,7 +4947,7 @@ msgid "What"
msgstr "Što"
#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:14
msgid "Automatic Playlist"
msgid "Autoloading Playlist"
msgstr ""
#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:18

View file

@ -2700,13 +2700,21 @@ msgid "Must wait at least 1 hour to rebroadcast"
msgstr "Az újraközvetítésre legalább 1 órát kell várni"
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:18
msgid "Auto Schedule Playlist ?"
msgid "Add Autoloading Playlist ?"
msgstr "Lejátszási lista automatikus ütemezése?"
#: airtime_mvc/application/views/scripts/form/add-show-autoplaylist.phtml:14
msgid "Autoloading playlists' contents are added to shows one hour before the show airs. <a target='_blank' href='http://libretime.org/manual/calendar/#autoloading-playlist'>More information</a>"
msgstr ""
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:25
msgid "Select Playlist"
msgstr "Lejátszási lista kiválasztása"
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:32
msgid "Repeat Playlist Until Show is Full ?"
msgstr ""
#: airtime_mvc/application/forms/AddShowLiveStream.php:11
#, php-format
msgid "Use %s Authentication:"
@ -5267,7 +5275,7 @@ msgid "What"
msgstr "Mi"
#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:14
msgid "Automatic Playlist"
msgid "Autoloading Playlist"
msgstr "Automatikus lejátszási lista"
#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:18

View file

@ -2531,13 +2531,21 @@ msgid "Must wait at least 1 hour to rebroadcast"
msgstr ""
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:18
msgid "Auto Schedule Playlist ?"
msgid "Add Autoloading Playlist ?"
msgstr ""
#: airtime_mvc/application/views/scripts/form/add-show-autoplaylist.phtml:14
msgid "Autoloading playlists' contents are added to shows one hour before the show airs. <a target='_blank' href='http://libretime.org/manual/calendar/#autoloading-playlist'>More information</a>"
msgstr ""
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:25
msgid "Select Playlist"
msgstr ""
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:32
msgid "Repeat Playlist Until Show is Full ?"
msgstr ""
#: airtime_mvc/application/forms/AddShowLiveStream.php:11
#, php-format
msgid "Use %s Authentication:"
@ -4931,7 +4939,7 @@ msgid "What"
msgstr ""
#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:14
msgid "Automatic Playlist"
msgid "Autoloading Playlist"
msgstr ""
#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:18

View file

@ -2534,13 +2534,21 @@ msgid "Must wait at least 1 hour to rebroadcast"
msgstr ""
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:18
msgid "Auto Schedule Playlist ?"
msgid "Add Autoloading Playlist ?"
msgstr ""
#: airtime_mvc/application/views/scripts/form/add-show-autoplaylist.phtml:14
msgid "Autoloading playlists' contents are added to shows one hour before the show airs. <a target='_blank' href='http://libretime.org/manual/calendar/#autoloading-playlist'>More information</a>"
msgstr ""
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:25
msgid "Select Playlist"
msgstr ""
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:32
msgid "Repeat Playlist Until Show is Full ?"
msgstr ""
#: airtime_mvc/application/forms/AddShowLiveStream.php:11
#, php-format
msgid "Use %s Authentication:"
@ -4934,7 +4942,7 @@ msgid "What"
msgstr ""
#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:14
msgid "Automatic Playlist"
msgid "Autoloading Playlist"
msgstr ""
#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:18

View file

@ -2534,13 +2534,21 @@ msgid "Must wait at least 1 hour to rebroadcast"
msgstr ""
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:18
msgid "Auto Schedule Playlist ?"
msgid "Add Autoloading Playlist ?"
msgstr ""
#: airtime_mvc/application/views/scripts/form/add-show-autoplaylist.phtml:14
msgid "Autoloading playlists' contents are added to shows one hour before the show airs. <a target='_blank' href='http://libretime.org/manual/calendar/#autoloading-playlist'>More information</a>"
msgstr ""
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:25
msgid "Select Playlist"
msgstr ""
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:32
msgid "Repeat Playlist Until Show is Full ?"
msgstr ""
#: airtime_mvc/application/forms/AddShowLiveStream.php:11
#, php-format
msgid "Use %s Authentication:"
@ -4934,7 +4942,7 @@ msgid "What"
msgstr ""
#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:14
msgid "Automatic Playlist"
msgid "Autoloading Playlist"
msgstr ""
#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:18

View file

@ -2539,13 +2539,21 @@ msgid "Must wait at least 1 hour to rebroadcast"
msgstr "Aspettare almeno un'ora prima di ritrasmettere"
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:18
msgid "Auto Schedule Playlist ?"
msgid "Add Autoloading Playlist ?"
msgstr ""
#: airtime_mvc/application/views/scripts/form/add-show-autoplaylist.phtml:14
msgid "Autoloading playlists' contents are added to shows one hour before the show airs. <a target='_blank' href='http://libretime.org/manual/calendar/#autoloading-playlist'>More information</a>"
msgstr ""
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:25
msgid "Select Playlist"
msgstr ""
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:32
msgid "Repeat Playlist Until Show is Full ?"
msgstr ""
#: airtime_mvc/application/forms/AddShowLiveStream.php:11
#, php-format
msgid "Use %s Authentication:"
@ -4941,7 +4949,7 @@ msgid "What"
msgstr "Cosa"
#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:14
msgid "Automatic Playlist"
msgid "Autoloading Playlist"
msgstr ""
#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:18

View file

@ -2537,13 +2537,21 @@ msgid "Must wait at least 1 hour to rebroadcast"
msgstr "再配信するには、1時間以上待たなければなりません"
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:18
msgid "Auto Schedule Playlist ?"
msgid "Add Autoloading Playlist ?"
msgstr ""
#: airtime_mvc/application/views/scripts/form/add-show-autoplaylist.phtml:14
msgid "Autoloading playlists' contents are added to shows one hour before the show airs. <a target='_blank' href='http://libretime.org/manual/calendar/#autoloading-playlist'>More information</a>"
msgstr ""
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:25
msgid "Select Playlist"
msgstr ""
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:32
msgid "Repeat Playlist Until Show is Full ?"
msgstr ""
#: airtime_mvc/application/forms/AddShowLiveStream.php:11
#, php-format
msgid "Use %s Authentication:"
@ -4939,7 +4947,7 @@ msgid "What"
msgstr "番組内容"
#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:14
msgid "Automatic Playlist"
msgid "Autoloading Playlist"
msgstr ""
#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:18

View file

@ -2532,13 +2532,21 @@ msgid "Must wait at least 1 hour to rebroadcast"
msgstr ""
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:18
msgid "Auto Schedule Playlist ?"
msgid "Add Autoloading Playlist ?"
msgstr ""
#: airtime_mvc/application/views/scripts/form/add-show-autoplaylist.phtml:14
msgid "Autoloading playlists' contents are added to shows one hour before the show airs. <a target='_blank' href='http://libretime.org/manual/calendar/#autoloading-playlist'>More information</a>"
msgstr ""
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:25
msgid "Select Playlist"
msgstr ""
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:32
msgid "Repeat Playlist Until Show is Full ?"
msgstr ""
#: airtime_mvc/application/forms/AddShowLiveStream.php:11
#, php-format
msgid "Use %s Authentication:"
@ -4932,7 +4940,7 @@ msgid "What"
msgstr ""
#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:14
msgid "Automatic Playlist"
msgid "Autoloading Playlist"
msgstr ""
#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:18

View file

@ -2534,13 +2534,21 @@ msgid "Must wait at least 1 hour to rebroadcast"
msgstr ""
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:18
msgid "Auto Schedule Playlist ?"
msgid "Add Autoloading Playlist ?"
msgstr ""
#: airtime_mvc/application/views/scripts/form/add-show-autoplaylist.phtml:14
msgid "Autoloading playlists' contents are added to shows one hour before the show airs. <a target='_blank' href='http://libretime.org/manual/calendar/#autoloading-playlist'>More information</a>"
msgstr ""
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:25
msgid "Select Playlist"
msgstr ""
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:32
msgid "Repeat Playlist Until Show is Full ?"
msgstr ""
#: airtime_mvc/application/forms/AddShowLiveStream.php:11
#, php-format
msgid "Use %s Authentication:"
@ -4934,7 +4942,7 @@ msgid "What"
msgstr ""
#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:14
msgid "Automatic Playlist"
msgid "Autoloading Playlist"
msgstr ""
#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:18

View file

@ -2535,13 +2535,21 @@ msgid "Must wait at least 1 hour to rebroadcast"
msgstr "재방송 설정까지 1시간 기간이 필요합니다"
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:18
msgid "Auto Schedule Playlist ?"
msgid "Add Autoloading Playlist ?"
msgstr ""
#: airtime_mvc/application/views/scripts/form/add-show-autoplaylist.phtml:14
msgid "Autoloading playlists' contents are added to shows one hour before the show airs. <a target='_blank' href='http://libretime.org/manual/calendar/#autoloading-playlist'>More information</a>"
msgstr ""
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:25
msgid "Select Playlist"
msgstr ""
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:32
msgid "Repeat Playlist Until Show is Full ?"
msgstr ""
#: airtime_mvc/application/forms/AddShowLiveStream.php:11
#, php-format
msgid "Use %s Authentication:"
@ -4937,7 +4945,7 @@ msgid "What"
msgstr "무엇"
#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:14
msgid "Automatic Playlist"
msgid "Autoloading Playlist"
msgstr ""
#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:18

View file

@ -2535,13 +2535,21 @@ msgid "Must wait at least 1 hour to rebroadcast"
msgstr ""
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:18
msgid "Auto Schedule Playlist ?"
msgid "Add Autoloading Playlist ?"
msgstr ""
#: airtime_mvc/application/views/scripts/form/add-show-autoplaylist.phtml:14
msgid "Autoloading playlists' contents are added to shows one hour before the show airs. <a target='_blank' href='http://libretime.org/manual/calendar/#autoloading-playlist'>More information</a>"
msgstr ""
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:25
msgid "Select Playlist"
msgstr ""
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:32
msgid "Repeat Playlist Until Show is Full ?"
msgstr ""
#: airtime_mvc/application/forms/AddShowLiveStream.php:11
#, php-format
msgid "Use %s Authentication:"
@ -4935,7 +4943,7 @@ msgid "What"
msgstr ""
#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:14
msgid "Automatic Playlist"
msgid "Autoloading Playlist"
msgstr ""
#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:18

View file

@ -2541,13 +2541,21 @@ msgid "Must wait at least 1 hour to rebroadcast"
msgstr "Ten minste 1 uur opnieuw uitzenden moet wachten"
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:18
msgid "Auto Schedule Playlist ?"
msgid "Add Autoloading Playlist ?"
msgstr ""
#: airtime_mvc/application/views/scripts/form/add-show-autoplaylist.phtml:14
msgid "Autoloading playlists' contents are added to shows one hour before the show airs. <a target='_blank' href='http://libretime.org/manual/calendar/#autoloading-playlist'>More information</a>"
msgstr ""
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:25
msgid "Select Playlist"
msgstr ""
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:32
msgid "Repeat Playlist Until Show is Full ?"
msgstr ""
#: airtime_mvc/application/forms/AddShowLiveStream.php:11
#, php-format
msgid "Use %s Authentication:"
@ -4943,7 +4951,7 @@ msgid "What"
msgstr "Wat"
#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:14
msgid "Automatic Playlist"
msgid "Autoloading Playlist"
msgstr ""
#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:18

View file

@ -2538,13 +2538,21 @@ msgid "Must wait at least 1 hour to rebroadcast"
msgstr "Należy odczekać przynajmniej 1 godzinę przed ponownym odtworzeniem"
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:18
msgid "Auto Schedule Playlist ?"
msgid "Add Autoloading Playlist ?"
msgstr ""
#: airtime_mvc/application/views/scripts/form/add-show-autoplaylist.phtml:14
msgid "Autoloading playlists' contents are added to shows one hour before the show airs. <a target='_blank' href='http://libretime.org/manual/calendar/#autoloading-playlist'>More information</a>"
msgstr ""
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:25
msgid "Select Playlist"
msgstr ""
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:32
msgid "Repeat Playlist Until Show is Full ?"
msgstr ""
#: airtime_mvc/application/forms/AddShowLiveStream.php:11
#, php-format
msgid "Use %s Authentication:"
@ -4940,7 +4948,7 @@ msgid "What"
msgstr "Co"
#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:14
msgid "Automatic Playlist"
msgid "Autoloading Playlist"
msgstr ""
#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:18

View file

@ -2539,13 +2539,21 @@ msgid "Must wait at least 1 hour to rebroadcast"
msgstr "É preciso aguardar uma hora para retransmitir"
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:18
msgid "Auto Schedule Playlist ?"
msgid "Add Autoloading Playlist ?"
msgstr ""
#: airtime_mvc/application/views/scripts/form/add-show-autoplaylist.phtml:14
msgid "Autoloading playlists' contents are added to shows one hour before the show airs. <a target='_blank' href='http://libretime.org/manual/calendar/#autoloading-playlist'>More information</a>"
msgstr ""
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:25
msgid "Select Playlist"
msgstr ""
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:32
msgid "Repeat Playlist Until Show is Full ?"
msgstr ""
#: airtime_mvc/application/forms/AddShowLiveStream.php:11
#, php-format
msgid "Use %s Authentication:"
@ -4941,7 +4949,7 @@ msgid "What"
msgstr "O que"
#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:14
msgid "Automatic Playlist"
msgid "Autoloading Playlist"
msgstr ""
#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:18

View file

@ -2534,13 +2534,21 @@ msgid "Must wait at least 1 hour to rebroadcast"
msgstr ""
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:18
msgid "Auto Schedule Playlist ?"
msgid "Add Autoloading Playlist ?"
msgstr ""
#: airtime_mvc/application/views/scripts/form/add-show-autoplaylist.phtml:14
msgid "Autoloading playlists' contents are added to shows one hour before the show airs. <a target='_blank' href='http://libretime.org/manual/calendar/#autoloading-playlist'>More information</a>"
msgstr ""
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:25
msgid "Select Playlist"
msgstr ""
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:32
msgid "Repeat Playlist Until Show is Full ?"
msgstr ""
#: airtime_mvc/application/forms/AddShowLiveStream.php:11
#, php-format
msgid "Use %s Authentication:"
@ -4934,7 +4942,7 @@ msgid "What"
msgstr ""
#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:14
msgid "Automatic Playlist"
msgid "Autoloading Playlist"
msgstr ""
#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:18

View file

@ -2554,13 +2554,21 @@ msgid "Must wait at least 1 hour to rebroadcast"
msgstr "1 час нужно подождать до ретрансляции"
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:18
msgid "Auto Schedule Playlist ?"
msgid "Add Autoloading Playlist ?"
msgstr ""
#: airtime_mvc/application/views/scripts/form/add-show-autoplaylist.phtml:14
msgid "Autoloading playlists' contents are added to shows one hour before the show airs. <a target='_blank' href='http://libretime.org/manual/calendar/#autoloading-playlist'>More information</a>"
msgstr ""
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:25
msgid "Select Playlist"
msgstr "Выбрать плейлист"
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:32
msgid "Repeat Playlist Until Show is Full ?"
msgstr ""
#: airtime_mvc/application/forms/AddShowLiveStream.php:11
#, php-format
msgid "Use %s Authentication:"
@ -4982,7 +4990,7 @@ msgid "What"
msgstr "Что"
#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:14
msgid "Automatic Playlist"
msgid "Autoloading Playlist"
msgstr "Автоматический Плейлист"
#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:18

View file

@ -2534,13 +2534,21 @@ msgid "Must wait at least 1 hour to rebroadcast"
msgstr ""
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:18
msgid "Auto Schedule Playlist ?"
msgid "Add Autoloading Playlist ?"
msgstr ""
#: airtime_mvc/application/views/scripts/form/add-show-autoplaylist.phtml:14
msgid "Autoloading playlists' contents are added to shows one hour before the show airs. <a target='_blank' href='http://libretime.org/manual/calendar/#autoloading-playlist'>More information</a>"
msgstr ""
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:25
msgid "Select Playlist"
msgstr ""
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:32
msgid "Repeat Playlist Until Show is Full ?"
msgstr ""
#: airtime_mvc/application/forms/AddShowLiveStream.php:11
#, php-format
msgid "Use %s Authentication:"
@ -4934,7 +4942,7 @@ msgid "What"
msgstr ""
#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:14
msgid "Automatic Playlist"
msgid "Autoloading Playlist"
msgstr ""
#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:18

View file

@ -2537,13 +2537,21 @@ msgid "Must wait at least 1 hour to rebroadcast"
msgstr "Мораш да чекаш најмање 1 сат за ре-емитовање"
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:18
msgid "Auto Schedule Playlist ?"
msgid "Add Autoloading Playlist ?"
msgstr ""
#: airtime_mvc/application/views/scripts/form/add-show-autoplaylist.phtml:14
msgid "Autoloading playlists' contents are added to shows one hour before the show airs. <a target='_blank' href='http://libretime.org/manual/calendar/#autoloading-playlist'>More information</a>"
msgstr ""
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:25
msgid "Select Playlist"
msgstr ""
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:32
msgid "Repeat Playlist Until Show is Full ?"
msgstr ""
#: airtime_mvc/application/forms/AddShowLiveStream.php:11
#, php-format
msgid "Use %s Authentication:"
@ -4939,7 +4947,7 @@ msgid "What"
msgstr "Шта"
#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:14
msgid "Automatic Playlist"
msgid "Autoloading Playlist"
msgstr ""
#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:18

View file

@ -2537,13 +2537,21 @@ msgid "Must wait at least 1 hour to rebroadcast"
msgstr "Moraš da čekaš najmanje 1 sat za re-emitovanje"
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:18
msgid "Auto Schedule Playlist ?"
msgid "Add Autoloading Playlist ?"
msgstr ""
#: airtime_mvc/application/views/scripts/form/add-show-autoplaylist.phtml:14
msgid "Autoloading playlists' contents are added to shows one hour before the show airs. <a target='_blank' href='http://libretime.org/manual/calendar/#autoloading-playlist'>More information</a>"
msgstr ""
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:25
msgid "Select Playlist"
msgstr ""
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:32
msgid "Repeat Playlist Until Show is Full ?"
msgstr ""
#: airtime_mvc/application/forms/AddShowLiveStream.php:11
#, php-format
msgid "Use %s Authentication:"
@ -4939,7 +4947,7 @@ msgid "What"
msgstr "Šta"
#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:14
msgid "Automatic Playlist"
msgid "Autoloading Playlist"
msgstr ""
#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:18

View file

@ -2534,13 +2534,21 @@ msgid "Must wait at least 1 hour to rebroadcast"
msgstr ""
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:18
msgid "Auto Schedule Playlist ?"
msgid "Add Autoloading Playlist ?"
msgstr ""
#: airtime_mvc/application/views/scripts/form/add-show-autoplaylist.phtml:14
msgid "Autoloading playlists' contents are added to shows one hour before the show airs. <a target='_blank' href='http://libretime.org/manual/calendar/#autoloading-playlist'>More information</a>"
msgstr ""
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:25
msgid "Select Playlist"
msgstr ""
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:32
msgid "Repeat Playlist Until Show is Full ?"
msgstr ""
#: airtime_mvc/application/forms/AddShowLiveStream.php:11
#, php-format
msgid "Use %s Authentication:"
@ -4934,7 +4942,7 @@ msgid "What"
msgstr ""
#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:14
msgid "Automatic Playlist"
msgid "Autoloading Playlist"
msgstr ""
#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:18

View file

@ -2535,13 +2535,21 @@ msgid "Must wait at least 1 hour to rebroadcast"
msgstr "Tekrar yayın yapmak için en az bir saat bekleyiniz"
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:18
msgid "Auto Schedule Playlist ?"
msgid "Add Autoloading Playlist ?"
msgstr ""
#: airtime_mvc/application/views/scripts/form/add-show-autoplaylist.phtml:14
msgid "Autoloading playlists' contents are added to shows one hour before the show airs. <a target='_blank' href='http://libretime.org/manual/calendar/#autoloading-playlist'>More information</a>"
msgstr ""
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:25
msgid "Select Playlist"
msgstr ""
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:32
msgid "Repeat Playlist Until Show is Full ?"
msgstr ""
#: airtime_mvc/application/forms/AddShowLiveStream.php:11
#, php-format
msgid "Use %s Authentication:"
@ -4935,7 +4943,7 @@ msgid "What"
msgstr ""
#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:14
msgid "Automatic Playlist"
msgid "Autoloading Playlist"
msgstr ""
#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:18

View file

@ -2537,13 +2537,21 @@ msgid "Must wait at least 1 hour to rebroadcast"
msgstr "至少间隔一个小时"
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:18
msgid "Auto Schedule Playlist ?"
msgid "Add Autoloading Playlist ?"
msgstr ""
#: airtime_mvc/application/views/scripts/form/add-show-autoplaylist.phtml:14
msgid "Autoloading playlists' contents are added to shows one hour before the show airs. <a target='_blank' href='http://libretime.org/manual/calendar/#autoloading-playlist'>More information</a>"
msgstr ""
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:25
msgid "Select Playlist"
msgstr ""
#: airtime_mvc/application/forms/AddShowAutoPlaylist.php:32
msgid "Repeat Playlist Until Show is Full ?"
msgstr ""
#: airtime_mvc/application/forms/AddShowLiveStream.php:11
#, php-format
msgid "Use %s Authentication:"
@ -4939,7 +4947,7 @@ msgid "What"
msgstr "名称"
#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:14
msgid "Automatic Playlist"
msgid "Autoloading Playlist"
msgstr ""
#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:18

View file

@ -7,6 +7,11 @@
font-size: 12px;
/*width: 25%;*/
width: 310px;
max-height: calc(100vh - 144px);
overflow-y: scroll;
}
.usability_hint:not(.hidden) + .wrapper #schedule-add-show{
max-height: calc(100vh - 172px);
}
#schedule-add-show textarea {
@ -85,6 +90,9 @@ label.wrapp-label input[type="checkbox"] {
#schedule-add-show fieldset dd input[type="checkbox"] {
margin-top: 6px;
}
#schedule-show-auto input[type="checkbox"] {
margin-left: 6px;
}
#add_show_day_check-element.block-display {
margin-bottom: 15px;

View file

@ -314,7 +314,8 @@ a.fc-event {
.fc-event-time,
.fc-event-title {
padding: 0 1px;
}
height: 12px;
}
.fc .ui-resizable-handle { /*** TODO: don't use ui-resizable anymore, change class ***/
display: block;

View file

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g data-name="Layer 2"><g data-name="clock"><rect width="24" height="24" transform="rotate(180 12 12)" opacity="0"/><path d="M12 2a10 10 0 1 0 10 10A10 10 0 0 0 12 2zm4 11h-4a1 1 0 0 1-1-1V8a1 1 0 0 1 2 0v3h3a1 1 0 0 1 0 2z" fill="#fff"/></g></g></svg>

After

Width:  |  Height:  |  Size: 313 B

View file

@ -204,14 +204,18 @@ img.logo
.airtime_auth_help_icon, .custom_auth_help_icon, .stream_username_help_icon,
.playlist_type_help_icon, .repeat_tracks_help_icon, .show_linking_help_icon,
.admin_username_help_icon, .stream_type_help_icon, .overflow_tracks_help_icon,
.show_timezone_help_icon{
.show_timezone_help_icon, .show_autoplaylist_help_icon {
cursor: help;
position: relative;
display:inline-block; zoom:1;
width:14px; height:14px;
background:url(images/icon_info.png) 0 0 no-repeat;
top:2px; right:7px; left: 3px;
left: 3px;
line-height:16px !important;
vertical-align: text-top;
}
.qtip a {
color: white;
}
/* Clearfix */
@ -2040,7 +2044,7 @@ span.errors.sp-errors{
margin: 0 0 8px 0;
}
#schedule-add-show .button-bar.bottom {
margin: 16px 0 0;
margin: 16px 0 8px;
}
.schedule {
text-align:left;
@ -2268,14 +2272,15 @@ span.errors.sp-errors{
height:10px;
float:right;
margin-left:3px;
margin-top:2px;
}
.small-icon.linked {
background:url(images/icon_link.png) no-repeat 0 0;
margin-top: 0px !important;
}
.small-icon.autoplaylist {
background:url(images/icon_alert_cal_autoplaylist.png) no-repeat 0 0;
background: url(images/icon-clock.svg) black no-repeat center center;
border-radius: 2px;
background-size: contain;
}
.small-icon.recording {
@ -2888,7 +2893,6 @@ dt.block-display.info-block {
text-align:center;
letter-spacing:-.3px;
text-shadow: rgba(248,248,248,.3) 0 1px 0, rgba(0,0,0,.8) 0 -1px 0;
rgba(51,51,51,.9)
}
.error-content p {
color: #acacac;

View file

@ -310,17 +310,6 @@ function setAddShowEvents(form) {
$(this).blur();
form.find("#add_show_playlist_dropdown").toggle();
form.find("#add_show_autoplaylist_repeat").toggle();
var checkBoxSelected = false;
//must switch rebroadcast displays
if(form.find("#add_show_has_autoplaylist").attr('checked')) {
form.find("#add_show_playlist_dropdown").show();
form.find("#add_show_autoplaylist_repeat").show();
}
else {
form.find("#add_show_playlist_downdown").hide();
}
});
form.find("#add_show_repeats").click(function(){
@ -491,6 +480,27 @@ function setAddShowEvents(form) {
at: "right center"
}
});
form.find(".show_autoplaylist_help_icon").qtip({
content: {
text: $.i18n._("Autoloading playlists' contents are added to shows one hour before the show airs. <a target='_blank' href='http://libretime.org/manual/calendar/#autoloading-playlist'>More information</a>")
},
hide: {
delay: 500,
fixed: true
},
style: {
border: {
width: 0,
radius: 4
},
classes: "ui-tooltip-dark ui-tooltip-rounded"
},
position: {
my: "left bottom",
at: "right center"
}
});
form.find(".airtime_auth_help_icon").qtip({
content: {

View file

@ -5,10 +5,10 @@
*/
function scheduleRefetchEvents(json) {
if(json.show_error == true){
if (json.show_error == true) {
alert($.i18n._("The show instance doesn't exist anymore!"));
}
if(json.show_id) {
if (json.show_id) {
var dialog_id = parseInt($("#add_show_id").val(), 10);
//if you've deleted the show you are currently editing, close the add show dialog.
@ -16,10 +16,10 @@ function scheduleRefetchEvents(json) {
$("#add-show-close").click();
}
}
$("#schedule_calendar").fullCalendar( 'refetchEvents' );
$("#schedule_calendar").fullCalendar('refetchEvents');
}
function makeTimeStamp(date){
function makeTimeStamp(date) {
var sy, sm, sd, h, m, s, timestamp;
sy = date.getFullYear();
sm = date.getMonth() + 1;
@ -28,19 +28,19 @@ function makeTimeStamp(date){
m = date.getMinutes();
s = date.getSeconds();
timestamp = sy+"-"+ pad(sm, 2) +"-"+ pad(sd, 2) +" "+ pad(h, 2) +":"+ pad(m, 2) +":"+ pad(s, 2);
timestamp = sy + "-" + pad(sm, 2) + "-" + pad(sd, 2) + " " + pad(h, 2) + ":" + pad(m, 2) + ":" + pad(s, 2);
return timestamp;
}
function dayClick(date, allDay, jsEvent, view){
function dayClick(date, allDay, jsEvent, view) {
// The show from will be preloaded if the user is admin or program manager.
// Hence, if the user if DJ then it won't open anything.
if(userType == "S" || userType == "A" || userType == "P"){
if (userType == "S" || userType == "A" || userType == "P") {
var now, today, selected, chosenDate, chosenTime;
now = adjustDateToServerDate(new Date(), serverTimezoneOffset);
if(view.name === "month") {
if (view.name === "month") {
today = new Date(now.getFullYear(), now.getMonth(), now.getDate());
selected = new Date(date.getFullYear(), date.getMonth(), date.getDate());
}
@ -49,12 +49,12 @@ function dayClick(date, allDay, jsEvent, view){
selected = new Date(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes());
}
if(selected >= today) {
if (selected >= today) {
var addShow = $('.add-button');
//remove the +show button if it exists.
if(addShow.length == 1){
var span = $(addShow).parent();
if (addShow.length == 1) {
var span = $(addShow).parent();
$(span).next().remove();
$(span).remove();
@ -65,10 +65,10 @@ function dayClick(date, allDay, jsEvent, view){
var duration_info = duration_string.split(" ");
var duration_h = 0;
var duration_m = 0;
if(duration_info[0] != null){
if (duration_info[0] != null) {
duration_h = parseInt(duration_info[0], 10);
}
if(duration_info[1] != null){
if (duration_info[1] != null) {
duration_m = parseInt(duration_info[1], 10);
}
// duration in milisec
@ -77,28 +77,28 @@ function dayClick(date, allDay, jsEvent, view){
var startTime_string;
var startTime = 0;
// get start time value on the form
if(view.name === "month") {
if (view.name === "month") {
startTime_string = $("#add_show_start_time").val();
var startTime_info = startTime_string.split(':');
if (startTime_info.length == 2) {
var start_time_temp = (parseInt(startTime_info[0],10) * 60 * 60 * 1000)
var start_time_temp = (parseInt(startTime_info[0], 10) * 60 * 60 * 1000)
+ (parseInt(startTime_info[1], 10) * 60 * 1000);
if (!isNaN(start_time_temp)) {
startTime = start_time_temp;
}
}
}else{
} else {
// if in day or week view, selected has all the time info as well
// so we don't ahve to calculate it explicitly
startTime_string = pad(selected.getHours(),2)+":"+pad(selected.getMinutes(),2)
startTime_string = pad(selected.getHours(), 2) + ":" + pad(selected.getMinutes(), 2)
startTime = 0
}
// calculate endDateTime
var endDateTime = new Date(selected.getTime() + startTime + duration);
chosenDate = selected.getFullYear() + '-' + pad(selected.getMonth()+1,2) + '-' + pad(selected.getDate(),2);
var endDateFormat = endDateTime.getFullYear() + '-' + pad(endDateTime.getMonth()+1,2) + '-' + pad(endDateTime.getDate(),2);
chosenDate = selected.getFullYear() + '-' + pad(selected.getMonth() + 1, 2) + '-' + pad(selected.getDate(), 2);
var endDateFormat = endDateTime.getFullYear() + '-' + pad(endDateTime.getMonth() + 1, 2) + '-' + pad(endDateTime.getDate(), 2);
//TODO: This should all be refactored into a proper initialize() function for the show form.
@ -108,8 +108,8 @@ function dayClick(date, allDay, jsEvent, view){
$("#add_show_start_date").val(chosenDate);
$("#add_show_end_date_no_repeat").val(endDateFormat);
$("#add_show_end_date").val(endDateFormat);
if(view.name !== "month") {
var endTimeString = pad(endDateTime.getHours(),2)+":"+pad(endDateTime.getMinutes(),2);
if (view.name !== "month") {
var endTimeString = pad(endDateTime.getHours(), 2) + ":" + pad(endDateTime.getMinutes(), 2);
$("#add_show_start_time").val(startTime_string)
$("#add_show_end_time").val(endTimeString)
}
@ -123,21 +123,21 @@ function dayClick(date, allDay, jsEvent, view){
}
}
function viewDisplay( view ) {
function viewDisplay(view) {
view_name = view.name;
if(view.name === 'agendaDay' || view.name === 'agendaWeek') {
if (view.name === 'agendaDay' || view.name === 'agendaWeek') {
var calendarEl = this;
var select = $('<select class="schedule_change_slots input_select"/>')
.append('<option value="1">'+$.i18n._("1m")+'</option>')
.append('<option value="5">'+$.i18n._("5m")+'</option>')
.append('<option value="10">'+$.i18n._("10m")+'</option>')
.append('<option value="15">'+$.i18n._("15m")+'</option>')
.append('<option value="30">'+$.i18n._("30m")+'</option>')
.append('<option value="60">'+$.i18n._("60m")+'</option>')
.change(function(){
.append('<option value="1">' + $.i18n._("1m") + '</option>')
.append('<option value="5">' + $.i18n._("5m") + '</option>')
.append('<option value="10">' + $.i18n._("10m") + '</option>')
.append('<option value="15">' + $.i18n._("15m") + '</option>')
.append('<option value="30">' + $.i18n._("30m") + '</option>')
.append('<option value="60">' + $.i18n._("60m") + '</option>')
.change(function () {
var slotMin = $(this).val();
var opt = view.calendar.options;
var date = $(calendarEl).fullCalendar('getDate');
@ -150,11 +150,11 @@ function viewDisplay( view ) {
$(calendarEl)
.fullCalendar('destroy')
.fullCalendar(opt)
.fullCalendar( 'gotoDate', date );
.fullCalendar('gotoDate', date);
//save slotMin value to db
var url = baseUrl+'Schedule/set-time-interval/format/json';
$.post(url, {timeInterval: slotMin});
var url = baseUrl + 'Schedule/set-time-interval/format/json';
$.post(url, { timeInterval: slotMin });
});
var topLeft = $(view.element).find("table.fc-agenda-days > thead th:first");
@ -166,33 +166,33 @@ function viewDisplay( view ) {
.append(select);
var slotMin = view.calendar.options.slotMinutes;
$('.schedule_change_slots option[value="'+slotMin+'"]').attr('selected', 'selected');
$('.schedule_change_slots option[value="' + slotMin + '"]').attr('selected', 'selected');
}
if(($("#add-show-form").length == 1) && ($("#add-show-form").css('display')=='none') && ($('.fc-header-left > span').length == 5)) {
if (($("#add-show-form").length == 1) && ($("#add-show-form").css('display') == 'none') && ($('.fc-header-left > span').length == 5)) {
//userType is defined in bootstrap.php, and is derived from the currently logged in user.
if(userType == "S" || userType == "A" || userType == "P"){
if (userType == "S" || userType == "A" || userType == "P") {
makeAddShowButton();
}
}
//save view name to db if it was changed
if (calendarPref.timeScale !== view.name) {
var url = baseUrl+'Schedule/set-time-scale/format/json';
$.post(url, {timeScale: view.name});
var url = baseUrl + 'Schedule/set-time-scale/format/json';
$.post(url, { timeScale: view.name });
calendarPref.timeScale = view.name;
}
}
function eventRender(event, element, view) {
$(element).addClass("fc-show-instance-"+event.id);
$(element).addClass("fc-show-instance-" + event.id);
$(element).attr("data-show-id", event.showId);
$(element).attr("data-show-linked", event.linked);
$(element).data("event", event);
//only put progress bar on shows that aren't being recorded.
if((view.name === 'agendaDay' || view.name === 'agendaWeek') && event.record === 0) {
if ((view.name === 'agendaDay' || view.name === 'agendaWeek') && event.record === 0) {
var div = $('<div/>');
div
.height('5px')
@ -212,15 +212,15 @@ function eventRender(event, element, view) {
if (event.show_empty === 1) {
if (event.linked) {
$(element)
.find(".fc-event-time")
.before('<span class="small-icon linked"></span><span class="small-icon show-empty"></span>');
// in theory a linked show shouldn't have an automatic playlist so adding this here
.find(".fc-event-time")
.before('<span class="small-icon linked"></span><span class="small-icon show-empty"></span>');
// in theory a linked show shouldn't have an automatic playlist so adding this here
} else if (event.show_has_auto_playlist === true) {
$(element)
.find(".fc-event-time")
.before('<span class="small-icon autoplaylist"></span><span class="small-icon show-empty"></span>');
.before('<span class="small-icon autoplaylist"></span>');
}
else {
else {
$(element)
.find(".fc-event-time")
.before('<span class="small-icon show-empty"></span>');
@ -231,10 +231,10 @@ function eventRender(event, element, view) {
.find(".fc-event-time")
.before('<span class="small-icon linked"></span><span class="small-icon show-partial-filled"></span>');
} else if (event.show_has_auto_playlist === true) {
$(element)
.find(".fc-event-time")
.before('<span class="small-icon autoplaylist"></span><span class="small-icon show-partial-filled"></span>');
} else {
$(element)
.find(".fc-event-time")
.before('<span class="small-icon autoplaylist"></span>');
} else {
$(element)
.find(".fc-event-time")
.before('<span class="small-icon show-partial-filled"></span>');
@ -245,25 +245,25 @@ function eventRender(event, element, view) {
.find(".fc-event-time")
.before('<span class="small-icon linked"></span>');
} else if (event.show_has_auto_playlist === true) {
$(element)
.find(".fc-event-time")
.before('<span class="small-icon autoplaylist"></span>');
$(element)
.find(".fc-event-time")
.before('<span class="small-icon autoplaylist"></span>');
}
}
} else if (view.name === 'month') {
if (event.show_empty === 1) {
if (event.linked) {
$(element)
$(element)
.find(".fc-event-title")
.after('<span class="small-icon linked"></span><span title="'+$.i18n._("Show is empty")+'" class="small-icon show-empty"></span>');
.after('<span class="small-icon linked"></span><span title="' + $.i18n._("Show is empty") + '" class="small-icon show-empty"></span>');
} else if (event.show_has_auto_playlist === true) {
$(element)
$(element)
.find(".fc-event-title")
.after('<span title="'+$.i18n._("Show has an automatic playlist")+'"class="small-icon autoplaylist"></span><span title="'+$.i18n._("Show is empty")+'" class="small-icon show-empty"></span>');
.after('<span title="' + $.i18n._("Show has an automatic playlist") + '"class="small-icon autoplaylist"></span>');
} else {
$(element)
$(element)
.find(".fc-event-title")
.after('<span title="'+$.i18n._("Show is empty")+'" class="small-icon show-empty"></span>');
.after('<span title="' + $.i18n._("Show is empty") + '" class="small-icon show-empty"></span>');
}
} else if (event.show_partial_filled === true) {
if (event.linked) {
@ -271,13 +271,13 @@ function eventRender(event, element, view) {
.find(".fc-event-title")
.after('<span class="small-icon linked"></span><span title="' + $.i18n._("Show is partially filled") + '" class="small-icon show-partial-filled"></span>');
} else if (event.show_has_auto_playlist === true) {
$(element)
$(element)
.find(".fc-event-title")
.after('<span title="'+$.i18n._("Show has an automatic playlist")+'"class="small-icon autoplaylist"></span><span title="'+$.i18n._("Show is partially filled")+'" class="small-icon show-partial-filled"></span>');
.after('<span title="' + $.i18n._("Show has an automatic playlist") + '"class="small-icon autoplaylist"></span>');
} else {
$(element)
$(element)
.find(".fc-event-title")
.after('<span title="'+$.i18n._("Show is partially filled")+'" class="small-icon show-partial-filled"></span>');
.after('<span title="' + $.i18n._("Show is partially filled") + '" class="small-icon show-partial-filled"></span>');
}
} else {
if (event.linked) {
@ -301,44 +301,44 @@ function eventRender(event, element, view) {
$(element).find(".fc-event-title").after('<span class="small-icon rebroadcast"></span>');
}
}
//now playing icon.
var span = '<span class="small-icon now-playing"></span>';
if (event.nowPlaying === true) {
if (view_name === 'agendaDay' || view_name === 'agendaWeek') {
$(element).find(".fc-event-time").before(span);
}
else if (view_name === 'month') {
$(element).find(".fc-event-title").after(span);
}
}
if (event.nowPlaying === true) {
if (view_name === 'agendaDay' || view_name === 'agendaWeek') {
$(element).find(".fc-event-time").before(span);
}
else if (view_name === 'month') {
$(element).find(".fc-event-title").after(span);
}
}
}
function eventAfterRender( event, element, view ) {
function eventAfterRender(event, element, view) {
$(element).find(".small-icon").live('mouseover',function(){
$(element).find(".small-icon").live('mouseover', function () {
addQtipsToIcons($(this), event.id);
});
}
function eventDrop(event, dayDelta, minuteDelta, allDay, revertFunc, jsEvent, ui, view) {
var url = baseUrl+'Schedule/move-show/format/json';
var url = baseUrl + 'Schedule/move-show/format/json';
$.post(url,
{day: dayDelta, min: minuteDelta, showInstanceId: event.id},
function(json){
if(json.show_error == true){
{ day: dayDelta, min: minuteDelta, showInstanceId: event.id },
function (json) {
if (json.show_error == true) {
alertShowErrorAndReload();
}
if(json.error) {
if (json.error) {
alert(json.error);
revertFunc();
}
//Workaround for cases where FullCalendar handles events over DST
//time changes in a different way than Airtime does.
//(Airtime preserves show duration, FullCalendar doesn't.)
@ -347,16 +347,16 @@ function eventDrop(event, dayDelta, minuteDelta, allDay, revertFunc, jsEvent, ui
});
}
function eventResize( event, dayDelta, minuteDelta, revertFunc, jsEvent, ui, view ) {
var url = baseUrl+'Schedule/resize-show/format/json';
function eventResize(event, dayDelta, minuteDelta, revertFunc, jsEvent, ui, view) {
var url = baseUrl + 'Schedule/resize-show/format/json';
$.post(url,
{day: dayDelta, min: minuteDelta, showId: event.showId, instanceId: event.id},
function(json){
if(json.show_error == true){
{ day: dayDelta, min: minuteDelta, showId: event.showId, instanceId: event.id },
function (json) {
if (json.show_error == true) {
alertShowErrorAndReload();
}
if(json.error) {
if (json.error) {
alert(json.error);
revertFunc();
}
@ -365,20 +365,20 @@ function eventResize( event, dayDelta, minuteDelta, revertFunc, jsEvent, ui, vie
});
}
function windowResize() {
// 200 px for top dashboard and 50 for padding on main content
// this calculation was copied from schedule.js line 326
var mainHeight = $(window).height() - 200 - 24;
$('#schedule_calendar').fullCalendar('option', 'contentHeight', mainHeight);
function windowResize() {
// 200 px for top dashboard and 50 for padding on main content
// this calculation was copied from schedule.js line 326
var mainHeight = $(window).height() - 200 - 24;
$('#schedule_calendar').fullCalendar('option', 'contentHeight', mainHeight);
}
function preloadEventFeed () {
createFullCalendar({calendarInit: calendarPref});
function preloadEventFeed() {
createFullCalendar({ calendarInit: calendarPref });
}
var initialLoad = true;
function getFullCalendarEvents(start, end, callback) {
if (initialLoad) {
initialLoad = false;
callback(calendarEvents);
@ -387,39 +387,39 @@ function getFullCalendarEvents(start, end, callback) {
start_date = makeTimeStamp(start);
end_date = makeTimeStamp(end);
url = baseUrl+'Schedule/event-feed';
url = baseUrl + 'Schedule/event-feed';
var d = new Date();
$.post(url, {format: "json", start: start_date, end: end_date, cachep: d.getTime()}, function(json){
callback(json.events);
getUsabilityHint();
});
$.post(url, { format: "json", start: start_date, end: end_date, cachep: d.getTime() }, function (json) {
callback(json.events);
getUsabilityHint();
});
}
$(".fc-button").addClass("btn").addClass("btn-small");
//$("span.fc-button > :button").addClass("btn btn-small");
}
function checkSCUploadStatus(){
var url = baseUrl+'Library/get-upload-to-soundcloud-status/format/json',
id;
$("span[class*=progress]").each(function(){
function checkSCUploadStatus() {
var url = baseUrl + 'Library/get-upload-to-soundcloud-status/format/json',
id;
$("span[class*=progress]").each(function () {
id = $(this).parents("div.fc-event").data("event").id;
$.post(url, {format: "json", id: id, type:"show"}, function(json){
if (json.sc_id > 0){
$(".fc-show-instance-"+id)
.find(".progress")
.removeClass("progress")
.addClass("soundcloud");
$.post(url, { format: "json", id: id, type: "show" }, function (json) {
if (json.sc_id > 0) {
$(".fc-show-instance-" + id)
.find(".progress")
.removeClass("progress")
.addClass("soundcloud");
}
else if (json.sc_id == "-3"){
$(".fc-show-instance-"+id)
.find(".progress")
.removeClass("progress")
.addClass("sc-error");
else if (json.sc_id == "-3") {
$(".fc-show-instance-" + id)
.find(".progress")
.removeClass("progress")
.addClass("sc-error");
}
setTimeout(checkSCUploadStatus, 5000);
});
});
@ -429,47 +429,47 @@ function checkSCUploadStatus(){
* show icon
*/
function getCurrentShow() {
var url = baseUrl+'Schedule/get-current-show/format/json';
var url = baseUrl + 'Schedule/get-current-show/format/json';
function addNowPlaying(json) {
var $el,
span = '<span class="small-icon now-playing"></span>';
$(".now-playing").remove();
var $el,
span = '<span class="small-icon now-playing"></span>';
$(".now-playing").remove();
if (json.current_show === true) {
$el = $(".fc-show-instance-"+json.si_id);
if (view_name === 'agendaDay' || view_name === 'agendaWeek') {
$el.find(".fc-event-time").before(span);
}
else if (view_name === 'month') {
$el.find(".fc-event-title").after(span);
}
$el = $(".fc-show-instance-" + json.si_id);
if (view_name === 'agendaDay' || view_name === 'agendaWeek') {
$el.find(".fc-event-time").before(span);
}
else if (view_name === 'month') {
$el.find(".fc-event-title").after(span);
}
}
setTimeout(getCurrentShow, 5000);
}
$.post(url, {format: "json"}, addNowPlaying);
$.post(url, { format: "json" }, addNowPlaying);
}
function addQtipsToIcons(ele, id){
if ($(ele).hasClass("progress")){
function addQtipsToIcons(ele, id) {
if ($(ele).hasClass("progress")) {
$(ele).qtip({
content: {
text: $.i18n._("Uploading in progress...")
},
position:{
position: {
adjust: {
resize: true,
method: "flip flip"
resize: true,
method: "flip flip"
},
at: "right center",
my: "left top",
@ -482,23 +482,23 @@ function addQtipsToIcons(ele, id){
ready: true // Needed to make it show on first mouseover event
}
});
}else if($(ele).hasClass("soundcloud")){
} else if ($(ele).hasClass("soundcloud")) {
$(ele).qtip({
content: {
text: $.i18n._("Retreiving data from the server..."),
ajax: {
url: baseUrl+"Library/get-upload-to-soundcloud-status",
url: baseUrl + "Library/get-upload-to-soundcloud-status",
type: "post",
data: ({format: "json", id : id, type: "show"}),
success: function(json, status){
this.set('content.text', $.i18n._("The soundcloud id for this file is: ")+json.sc_id);
data: ({ format: "json", id: id, type: "show" }),
success: function (json, status) {
this.set('content.text', $.i18n._("The soundcloud id for this file is: ") + json.sc_id);
}
}
},
position:{
position: {
adjust: {
resize: true,
method: "flip flip"
resize: true,
method: "flip flip"
},
at: "right center",
my: "left top",
@ -511,24 +511,24 @@ function addQtipsToIcons(ele, id){
ready: true // Needed to make it show on first mouseover event
}
});
}else if($(ele).hasClass("sc-error")){
} else if ($(ele).hasClass("sc-error")) {
$(ele).qtip({
content: {
text: $.i18n._("Retreiving data from the server..."),
ajax: {
url: baseUrl+"Library/get-upload-to-soundcloud-status",
url: baseUrl + "Library/get-upload-to-soundcloud-status",
type: "post",
data: ({format: "json", id : id, type: "show"}),
success: function(json, status){
this.set('content.text', $.i18n._("There was error while uploading to soundcloud.")+"<br>"+$.i18n._("Error code: ")+json.error_code+
"<br>"+$.i18n._("Error msg: ")+json.error_msg+"<br>");
data: ({ format: "json", id: id, type: "show" }),
success: function (json, status) {
this.set('content.text', $.i18n._("There was error while uploading to soundcloud.") + "<br>" + $.i18n._("Error code: ") + json.error_code +
"<br>" + $.i18n._("Error msg: ") + json.error_msg + "<br>");
}
}
},
position:{
position: {
adjust: {
resize: true,
method: "flip flip"
resize: true,
method: "flip flip"
},
at: "right center",
my: "left top",
@ -541,15 +541,15 @@ function addQtipsToIcons(ele, id){
ready: true // Needed to make it show on first mouseover event
}
});
}else if ($(ele).hasClass("show-empty")){
} else if ($(ele).hasClass("show-empty")) {
$(ele).qtip({
content: {
text: $.i18n._("This show has no scheduled content.")
},
position:{
position: {
adjust: {
resize: true,
method: "flip flip"
resize: true,
method: "flip flip"
},
at: "right center",
my: "left top",
@ -562,15 +562,15 @@ function addQtipsToIcons(ele, id){
ready: true // Needed to make it show on first mouseover event
}
});
} else if ($(ele).hasClass("show-partial-filled")){
} else if ($(ele).hasClass("show-partial-filled")) {
$(ele).qtip({
content: {
text: $.i18n._("This show is not completely filled with content.")
},
position:{
position: {
adjust: {
resize: true,
method: "flip flip"
resize: true,
method: "flip flip"
},
at: "right center",
my: "left top",
@ -587,12 +587,12 @@ function addQtipsToIcons(ele, id){
}
//Alert the error and reload the page
//this function is used to resolve concurrency issue
function alertShowErrorAndReload(){
alert($.i18n._("The show instance doesn't exist anymore!"));
window.location.reload();
function alertShowErrorAndReload() {
alert($.i18n._("The show instance doesn't exist anymore!"));
window.location.reload();
}
$(document).ready(function(){
$(document).ready(function () {
preloadEventFeed();
checkSCUploadStatus();
getCurrentShow();

File diff suppressed because it is too large Load diff

View file

@ -1,19 +1,19 @@
//Serbian Latin
{
"sProcessing": "Obrada...",
"sLengthMenu": "_MENU_ Rezultati po stranici",
"sZeroRecords": "Ništa nije pronađeno",
"sInfo": "Rezultati: _START_ - _END_ Ukupno: _TOTAL_",
"sInfoEmpty": "Nula Rezultat",
"sInfoFiltered": "(filtrirano iz _MAX_ ukupnih rezultata)",
"sInfoPostFix": "",
"sSearch": "Filter",
"sUrl": "",
"oPaginate": {
"sFirst": "Prva",
"sPrevious": "Nazad",
"sNext": "Napred",
"sLast": "Zadnja"
}
//Serbian Latin
{
"sProcessing": "Obrada...",
"sLengthMenu": "_MENU_ Rezultati po stranici",
"sZeroRecords": "Ništa nije pronađeno",
"sInfo": "Rezultati: _START_ - _END_ Ukupno: _TOTAL_",
"sInfoEmpty": "Nula Rezultat",
"sInfoFiltered": "(filtrirano iz _MAX_ ukupnih rezultata)",
"sInfoPostFix": "",
"sSearch": "Filter",
"sUrl": "",
"oPaginate": {
"sFirst": "Prva",
"sPrevious": "Nazad",
"sNext": "Napred",
"sLast": "Zadnja"
}
}

View file

@ -1,111 +1,111 @@
/*
* jQuery.stickyPanel
* ----------------------
* version: 1.4.1
* date: 7/21/11
*
* Copyright (c) 2011 Donny Velazquez
* http://donnyvblog.blogspot.com/
* http://code.google.com/p/sticky-panel/
*
* Licensed under the Apache License 2.0
*
*/
(function ($) {
$.fn.stickyPanel = function (options) {
var options = $.extend({}, $.fn.stickyPanel.defaults, options);
return this.each(function () {
$(window).bind("scroll.stickyPanel", { selected: $(this), options: options }, Scroll);
});
};
function Scroll(event) {
var node = event.data.selected;
var o = event.data.options;
var isMobile = navigator.userAgent.toLowerCase().indexOf('mobile') > 0;
var windowHeight = $(window).height();
var nodeHeight = node.outerHeight(true);
var scrollTop = $(document).scrollTop();
// when top of window reaches the top of the panel detach
if (!isMobile &&
scrollTop <= $(document).height() - windowHeight && // Fix for rubberband scrolling in Safari on Lion
scrollTop > node.offset().top - o.topPadding) {
// topPadding
var newNodeTop = 0;
if (o.topPadding != "undefined") {
newNodeTop = newNodeTop + o.topPadding;
}
// get left before adding spacer
var nodeLeft = node.offset().left;
// save panels top
node.data("PanelsTop", node.offset().top - newNodeTop);
// MOVED: savePanelSpace before afterDetachCSSClass to handle afterDetachCSSClass changing size of node
// savePanelSpace
if (o.savePanelSpace == true) {
var nodeWidth = node.outerWidth(true);
var nodeCssfloat = node.css("float");
var nodeCssdisplay = node.css("display");
var randomNum = Math.ceil(Math.random() * 9999); /* Pick random number between 1 and 9999 */
node.data("PanelSpaceID", "stickyPanelSpace" + randomNum);
node.before("<div id='" + node.data("PanelSpaceID") + "' style='width:" + nodeWidth + "px;height:" + nodeHeight + "px;float:" + nodeCssfloat + ";display:" + nodeCssdisplay + ";'>&nbsp;</div>");
}
// afterDetachCSSClass
if (o.afterDetachCSSClass != "") {
node.addClass(o.afterDetachCSSClass);
}
// save inline css
node.data("Original_Inline_CSS", (!node.attr("style") ? "" : node.attr("style")));
// detach panel
node.css({
"margin": 0,
"left": nodeLeft,
"top": newNodeTop,
"position": "fixed"
});
}
// ADDED: css top check to avoid continuous reattachment
if (scrollTop <= node.data("PanelsTop") && node.css("top") != "auto") {
if (o.savePanelSpace == true) {
$("#" + node.data("PanelSpaceID")).remove();
}
// attach panel
node.attr("style", node.data("Original_Inline_CSS"));
if (o.afterDetachCSSClass != "") {
node.removeClass(o.afterDetachCSSClass);
}
}
};
$.fn.stickyPanel.defaults = {
topPadding: 0,
// Use this to set the top margin of the detached panel.
afterDetachCSSClass: "",
// This class is applied when the panel detaches.
savePanelSpace: false
// When set to true the space where the panel was is kept open.
};
/*
* jQuery.stickyPanel
* ----------------------
* version: 1.4.1
* date: 7/21/11
*
* Copyright (c) 2011 Donny Velazquez
* http://donnyvblog.blogspot.com/
* http://code.google.com/p/sticky-panel/
*
* Licensed under the Apache License 2.0
*
*/
(function ($) {
$.fn.stickyPanel = function (options) {
var options = $.extend({}, $.fn.stickyPanel.defaults, options);
return this.each(function () {
$(window).bind("scroll.stickyPanel", { selected: $(this), options: options }, Scroll);
});
};
function Scroll(event) {
var node = event.data.selected;
var o = event.data.options;
var isMobile = navigator.userAgent.toLowerCase().indexOf('mobile') > 0;
var windowHeight = $(window).height();
var nodeHeight = node.outerHeight(true);
var scrollTop = $(document).scrollTop();
// when top of window reaches the top of the panel detach
if (!isMobile &&
scrollTop <= $(document).height() - windowHeight && // Fix for rubberband scrolling in Safari on Lion
scrollTop > node.offset().top - o.topPadding) {
// topPadding
var newNodeTop = 0;
if (o.topPadding != "undefined") {
newNodeTop = newNodeTop + o.topPadding;
}
// get left before adding spacer
var nodeLeft = node.offset().left;
// save panels top
node.data("PanelsTop", node.offset().top - newNodeTop);
// MOVED: savePanelSpace before afterDetachCSSClass to handle afterDetachCSSClass changing size of node
// savePanelSpace
if (o.savePanelSpace == true) {
var nodeWidth = node.outerWidth(true);
var nodeCssfloat = node.css("float");
var nodeCssdisplay = node.css("display");
var randomNum = Math.ceil(Math.random() * 9999); /* Pick random number between 1 and 9999 */
node.data("PanelSpaceID", "stickyPanelSpace" + randomNum);
node.before("<div id='" + node.data("PanelSpaceID") + "' style='width:" + nodeWidth + "px;height:" + nodeHeight + "px;float:" + nodeCssfloat + ";display:" + nodeCssdisplay + ";'>&nbsp;</div>");
}
// afterDetachCSSClass
if (o.afterDetachCSSClass != "") {
node.addClass(o.afterDetachCSSClass);
}
// save inline css
node.data("Original_Inline_CSS", (!node.attr("style") ? "" : node.attr("style")));
// detach panel
node.css({
"margin": 0,
"left": nodeLeft,
"top": newNodeTop,
"position": "fixed"
});
}
// ADDED: css top check to avoid continuous reattachment
if (scrollTop <= node.data("PanelsTop") && node.css("top") != "auto") {
if (o.savePanelSpace == true) {
$("#" + node.data("PanelSpaceID")).remove();
}
// attach panel
node.attr("style", node.data("Original_Inline_CSS"));
if (o.afterDetachCSSClass != "") {
node.removeClass(o.afterDetachCSSClass);
}
}
};
$.fn.stickyPanel.defaults = {
topPadding: 0,
// Use this to set the top margin of the detached panel.
afterDetachCSSClass: "",
// This class is applied when the panel detaches.
savePanelSpace: false
// When set to true the space where the panel was is kept open.
};
})(jQuery);

View file

@ -1,25 +1,25 @@
// Croatian
plupload.addI18n({
'Select files': 'Izaberite datoteke:',
'Add files to the upload queue and click the start button.': 'Dodajte datoteke u listu i kliknite Upload.',
'Filename': 'Ime datoteke',
'Status': 'Status',
'Size': 'Veličina',
'Add files': 'Dodajte datoteke',
'Stop current upload': 'Zaustavi trenutan upload',
'Start uploading queue': 'Pokreni Upload',
'Uploaded %d/%d files': 'Uploadano %d/%d datoteka',
'N/A': 'N/A',
'Drag files here.': 'Dovucite datoteke ovdje',
'File extension error.': 'Greška ekstenzije datoteke.',
'File size error.': 'Greška veličine datoteke.',
'Init error.': 'Greška inicijalizacije.',
'HTTP Error.': 'HTTP greška.',
'Security error.': 'Sigurnosna greška.',
'Generic error.': 'Generička greška.',
'IO error.': 'I/O greška.',
'Stop Upload': 'Zaustavi upload.',
'Add Files': 'Dodaj datoteke',
'Start Upload': 'Pokreni upload.',
'%d files queued': '%d datoteka na čekanju.'
// Croatian
plupload.addI18n({
'Select files': 'Izaberite datoteke:',
'Add files to the upload queue and click the start button.': 'Dodajte datoteke u listu i kliknite Upload.',
'Filename': 'Ime datoteke',
'Status': 'Status',
'Size': 'Veličina',
'Add files': 'Dodajte datoteke',
'Stop current upload': 'Zaustavi trenutan upload',
'Start uploading queue': 'Pokreni Upload',
'Uploaded %d/%d files': 'Uploadano %d/%d datoteka',
'N/A': 'N/A',
'Drag files here.': 'Dovucite datoteke ovdje',
'File extension error.': 'Greška ekstenzije datoteke.',
'File size error.': 'Greška veličine datoteke.',
'Init error.': 'Greška inicijalizacije.',
'HTTP Error.': 'HTTP greška.',
'Security error.': 'Sigurnosna greška.',
'Generic error.': 'Generička greška.',
'IO error.': 'I/O greška.',
'Stop Upload': 'Zaustavi upload.',
'Add Files': 'Dodaj datoteke',
'Start Upload': 'Pokreni upload.',
'%d files queued': '%d datoteka na čekanju.'
});

View file

@ -1,14 +1,14 @@
// Serbian Cyrillic
plupload.addI18n({
'Select files' : 'Изаберите фајлове',
'Add files to the upload queue and click the start button.' : 'Додајте фајлове у листу и кликните на дугме Старт.',
'Filename' : 'Назив фајла',
'Status' : 'Status',
'Size' : 'Величина',
'Add Files' : 'Додај фајлове',
'Stop current upload' : 'Заустави upload',
'Start uploading queue' : 'Почни upload',
'Drag files here.' : 'Превуци фајлове овде.',
'Start Upload': 'Почни upload',
'Uploaded %d/%d files': 'Снимљено %d/%d фајлова'
});
// Serbian Cyrillic
plupload.addI18n({
'Select files' : 'Изаберите фајлове',
'Add files to the upload queue and click the start button.' : 'Додајте фајлове у листу и кликните на дугме Старт.',
'Filename' : 'Назив фајла',
'Status' : 'Status',
'Size' : 'Величина',
'Add Files' : 'Додај фајлове',
'Stop current upload' : 'Заустави upload',
'Start uploading queue' : 'Почни upload',
'Drag files here.' : 'Превуци фајлове овде.',
'Start Upload': 'Почни upload',
'Uploaded %d/%d files': 'Снимљено %d/%d фајлова'
});

View file

@ -1,14 +1,14 @@
// Serbian Latin
plupload.addI18n({
'Select files' : 'Izaberite fajlove',
'Add files to the upload queue and click the start button.' : 'Dodajte fajlove u listu i kliknite na dugme Start.',
'Filename' : 'Naziv fajla',
'Status' : 'Status',
'Size' : 'Veličina',
'Add Files' : 'Dodaj fajlove',
'Stop current upload' : 'Zaustavi upload',
'Start uploading queue' : 'Počni upload',
'Drag files here.' : 'Prevucite fajlove ovde.',
'Start Upload': 'Počni upload',
'Uploaded %d/%d files': 'Snimljeno %d/%d fajlova'
});
// Serbian Latin
plupload.addI18n({
'Select files' : 'Izaberite fajlove',
'Add files to the upload queue and click the start button.' : 'Dodajte fajlove u listu i kliknite na dugme Start.',
'Filename' : 'Naziv fajla',
'Status' : 'Status',
'Size' : 'Veličina',
'Add Files' : 'Dodaj fajlove',
'Stop current upload' : 'Zaustavi upload',
'Start uploading queue' : 'Počni upload',
'Drag files here.' : 'Prevucite fajlove ovde.',
'Start Upload': 'Počni upload',
'Uploaded %d/%d files': 'Snimljeno %d/%d fajlova'
});

View file

@ -1,183 +1,183 @@
/**
sprintf() for JavaScript 0.7-beta1
http://www.diveintojavascript.com/projects/javascript-sprintf
Copyright (c) Alexandru Marasteanu <alexaholic [at) gmail (dot] com>
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
* Neither the name of sprintf() for JavaScript nor the
names of its contributors may be used to endorse or promote products
derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL Alexandru Marasteanu BE LIABLE FOR ANY
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Changelog:
2010.09.06 - 0.7-beta1
- features: vsprintf, support for named placeholders
- enhancements: format cache, reduced global namespace pollution
2010.05.22 - 0.6:
- reverted to 0.4 and fixed the bug regarding the sign of the number 0
Note:
Thanks to Raphael Pigulla <raph (at] n3rd [dot) org> (http://www.n3rd.org/)
who warned me about a bug in 0.5, I discovered that the last update was
a regress. I appologize for that.
2010.05.09 - 0.5:
- bug fix: 0 is now preceeded with a + sign
- bug fix: the sign was not at the right position on padded results (Kamal Abdali)
- switched from GPL to BSD license
2007.10.21 - 0.4:
- unit test and patch (David Baird)
2007.09.17 - 0.3:
- bug fix: no longer throws exception on empty paramenters (Hans Pufal)
2007.09.11 - 0.2:
- feature: added argument swapping
2007.04.03 - 0.1:
- initial release
**/
var sprintf = (function() {
function get_type(variable) {
return Object.prototype.toString.call(variable).slice(8, -1).toLowerCase();
}
function str_repeat(input, multiplier) {
for (var output = []; multiplier > 0; output[--multiplier] = input) {/* do nothing */}
return output.join('');
}
var str_format = function() {
if (!str_format.cache.hasOwnProperty(arguments[0])) {
str_format.cache[arguments[0]] = str_format.parse(arguments[0]);
}
return str_format.format.call(null, str_format.cache[arguments[0]], arguments);
};
str_format.format = function(parse_tree, argv) {
var cursor = 1, tree_length = parse_tree.length, node_type = '', arg, output = [], i, k, match, pad, pad_character, pad_length;
for (i = 0; i < tree_length; i++) {
node_type = get_type(parse_tree[i]);
if (node_type === 'string') {
output.push(parse_tree[i]);
}
else if (node_type === 'array') {
match = parse_tree[i]; // convenience purposes only
if (match[2]) { // keyword argument
arg = argv[cursor];
for (k = 0; k < match[2].length; k++) {
if (!arg.hasOwnProperty(match[2][k])) {
throw(sprintf('[sprintf] property "%s" does not exist', match[2][k]));
}
arg = arg[match[2][k]];
}
}
else if (match[1]) { // positional argument (explicit)
arg = argv[match[1]];
}
else { // positional argument (implicit)
arg = argv[cursor++];
}
if (/[^s]/.test(match[8]) && (get_type(arg) != 'number')) {
throw(sprintf('[sprintf] expecting number but found %s', get_type(arg)));
}
switch (match[8]) {
case 'b': arg = arg.toString(2); break;
case 'c': arg = String.fromCharCode(arg); break;
case 'd': arg = parseInt(arg, 10); break;
case 'e': arg = match[7] ? arg.toExponential(match[7]) : arg.toExponential(); break;
case 'f': arg = match[7] ? parseFloat(arg).toFixed(match[7]) : parseFloat(arg); break;
case 'o': arg = arg.toString(8); break;
case 's': arg = ((arg = String(arg)) && match[7] ? arg.substring(0, match[7]) : arg); break;
case 'u': arg = Math.abs(arg); break;
case 'x': arg = arg.toString(16); break;
case 'X': arg = arg.toString(16).toUpperCase(); break;
}
arg = (/[def]/.test(match[8]) && match[3] && arg >= 0 ? '+'+ arg : arg);
pad_character = match[4] ? match[4] == '0' ? '0' : match[4].charAt(1) : ' ';
pad_length = match[6] - String(arg).length;
pad = match[6] ? str_repeat(pad_character, pad_length) : '';
output.push(match[5] ? arg + pad : pad + arg);
}
}
return output.join('');
};
str_format.cache = {};
str_format.parse = function(fmt) {
var _fmt = fmt, match = [], parse_tree = [], arg_names = 0;
while (_fmt) {
if ((match = /^[^\x25]+/.exec(_fmt)) !== null) {
parse_tree.push(match[0]);
}
else if ((match = /^\x25{2}/.exec(_fmt)) !== null) {
parse_tree.push('%');
}
else if ((match = /^\x25(?:([1-9]\d*)\$|\(([^\)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-fosuxX])/.exec(_fmt)) !== null) {
if (match[2]) {
arg_names |= 1;
var field_list = [], replacement_field = match[2], field_match = [];
if ((field_match = /^([a-z_][a-z_\d]*)/i.exec(replacement_field)) !== null) {
field_list.push(field_match[1]);
while ((replacement_field = replacement_field.substring(field_match[0].length)) !== '') {
if ((field_match = /^\.([a-z_][a-z_\d]*)/i.exec(replacement_field)) !== null) {
field_list.push(field_match[1]);
}
else if ((field_match = /^\[(\d+)\]/.exec(replacement_field)) !== null) {
field_list.push(field_match[1]);
}
else {
throw('[sprintf] huh?');
}
}
}
else {
throw('[sprintf] huh?');
}
match[2] = field_list;
}
else {
arg_names |= 2;
}
if (arg_names === 3) {
throw('[sprintf] mixing positional and named placeholders is not (yet) supported');
}
parse_tree.push(match);
}
else {
throw('[sprintf] huh?');
}
_fmt = _fmt.substring(match[0].length);
}
return parse_tree;
};
return str_format;
})();
var vsprintf = function(fmt, argv) {
argv.unshift(fmt);
return sprintf.apply(null, argv);
};
/**
sprintf() for JavaScript 0.7-beta1
http://www.diveintojavascript.com/projects/javascript-sprintf
Copyright (c) Alexandru Marasteanu <alexaholic [at) gmail (dot] com>
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
* Neither the name of sprintf() for JavaScript nor the
names of its contributors may be used to endorse or promote products
derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL Alexandru Marasteanu BE LIABLE FOR ANY
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Changelog:
2010.09.06 - 0.7-beta1
- features: vsprintf, support for named placeholders
- enhancements: format cache, reduced global namespace pollution
2010.05.22 - 0.6:
- reverted to 0.4 and fixed the bug regarding the sign of the number 0
Note:
Thanks to Raphael Pigulla <raph (at] n3rd [dot) org> (http://www.n3rd.org/)
who warned me about a bug in 0.5, I discovered that the last update was
a regress. I appologize for that.
2010.05.09 - 0.5:
- bug fix: 0 is now preceeded with a + sign
- bug fix: the sign was not at the right position on padded results (Kamal Abdali)
- switched from GPL to BSD license
2007.10.21 - 0.4:
- unit test and patch (David Baird)
2007.09.17 - 0.3:
- bug fix: no longer throws exception on empty paramenters (Hans Pufal)
2007.09.11 - 0.2:
- feature: added argument swapping
2007.04.03 - 0.1:
- initial release
**/
var sprintf = (function() {
function get_type(variable) {
return Object.prototype.toString.call(variable).slice(8, -1).toLowerCase();
}
function str_repeat(input, multiplier) {
for (var output = []; multiplier > 0; output[--multiplier] = input) {/* do nothing */}
return output.join('');
}
var str_format = function() {
if (!str_format.cache.hasOwnProperty(arguments[0])) {
str_format.cache[arguments[0]] = str_format.parse(arguments[0]);
}
return str_format.format.call(null, str_format.cache[arguments[0]], arguments);
};
str_format.format = function(parse_tree, argv) {
var cursor = 1, tree_length = parse_tree.length, node_type = '', arg, output = [], i, k, match, pad, pad_character, pad_length;
for (i = 0; i < tree_length; i++) {
node_type = get_type(parse_tree[i]);
if (node_type === 'string') {
output.push(parse_tree[i]);
}
else if (node_type === 'array') {
match = parse_tree[i]; // convenience purposes only
if (match[2]) { // keyword argument
arg = argv[cursor];
for (k = 0; k < match[2].length; k++) {
if (!arg.hasOwnProperty(match[2][k])) {
throw(sprintf('[sprintf] property "%s" does not exist', match[2][k]));
}
arg = arg[match[2][k]];
}
}
else if (match[1]) { // positional argument (explicit)
arg = argv[match[1]];
}
else { // positional argument (implicit)
arg = argv[cursor++];
}
if (/[^s]/.test(match[8]) && (get_type(arg) != 'number')) {
throw(sprintf('[sprintf] expecting number but found %s', get_type(arg)));
}
switch (match[8]) {
case 'b': arg = arg.toString(2); break;
case 'c': arg = String.fromCharCode(arg); break;
case 'd': arg = parseInt(arg, 10); break;
case 'e': arg = match[7] ? arg.toExponential(match[7]) : arg.toExponential(); break;
case 'f': arg = match[7] ? parseFloat(arg).toFixed(match[7]) : parseFloat(arg); break;
case 'o': arg = arg.toString(8); break;
case 's': arg = ((arg = String(arg)) && match[7] ? arg.substring(0, match[7]) : arg); break;
case 'u': arg = Math.abs(arg); break;
case 'x': arg = arg.toString(16); break;
case 'X': arg = arg.toString(16).toUpperCase(); break;
}
arg = (/[def]/.test(match[8]) && match[3] && arg >= 0 ? '+'+ arg : arg);
pad_character = match[4] ? match[4] == '0' ? '0' : match[4].charAt(1) : ' ';
pad_length = match[6] - String(arg).length;
pad = match[6] ? str_repeat(pad_character, pad_length) : '';
output.push(match[5] ? arg + pad : pad + arg);
}
}
return output.join('');
};
str_format.cache = {};
str_format.parse = function(fmt) {
var _fmt = fmt, match = [], parse_tree = [], arg_names = 0;
while (_fmt) {
if ((match = /^[^\x25]+/.exec(_fmt)) !== null) {
parse_tree.push(match[0]);
}
else if ((match = /^\x25{2}/.exec(_fmt)) !== null) {
parse_tree.push('%');
}
else if ((match = /^\x25(?:([1-9]\d*)\$|\(([^\)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-fosuxX])/.exec(_fmt)) !== null) {
if (match[2]) {
arg_names |= 1;
var field_list = [], replacement_field = match[2], field_match = [];
if ((field_match = /^([a-z_][a-z_\d]*)/i.exec(replacement_field)) !== null) {
field_list.push(field_match[1]);
while ((replacement_field = replacement_field.substring(field_match[0].length)) !== '') {
if ((field_match = /^\.([a-z_][a-z_\d]*)/i.exec(replacement_field)) !== null) {
field_list.push(field_match[1]);
}
else if ((field_match = /^\[(\d+)\]/.exec(replacement_field)) !== null) {
field_list.push(field_match[1]);
}
else {
throw('[sprintf] huh?');
}
}
}
else {
throw('[sprintf] huh?');
}
match[2] = field_list;
}
else {
arg_names |= 2;
}
if (arg_names === 3) {
throw('[sprintf] mixing positional and named placeholders is not (yet) supported');
}
parse_tree.push(match);
}
else {
throw('[sprintf] huh?');
}
_fmt = _fmt.substring(match[0].length);
}
return parse_tree;
};
return str_format;
})();
var vsprintf = function(fmt, argv) {
argv.unshift(fmt);
return sprintf.apply(null, argv);
};

File diff suppressed because it is too large Load diff

View file

@ -1,57 +0,0 @@
/*
Code taken from http://www.jspatterns.com/book/7/observer-game.html
Pub/Sub
*/
var publisher = {
subscribers: {
any: []
},
on: function (type, fn, context) {
type = type || 'any';
fn = typeof fn === "function" ? fn : context[fn];
if (typeof this.subscribers[type] === "undefined") {
this.subscribers[type] = [];
}
this.subscribers[type].push({fn: fn, context: context || this});
},
remove: function (type, fn, context) {
this.visitSubscribers('unsubscribe', type, fn, context);
},
fire: function (type, publication) {
this.visitSubscribers('publish', type, publication);
},
reset: function (type) {
},
visitSubscribers: function (action, type, arg, context) {
var pubtype = type || 'any',
subscribers = this.subscribers[pubtype],
i,
max = subscribers ? subscribers.length : 0;
for (i = 0; i < max; i += 1) {
if (action === 'publish') {
subscribers[i].fn.call(subscribers[i].context, arg);
}
else {
if (subscribers[i].fn === arg && subscribers[i].context === context) {
subscribers.splice(i, 1);
}
}
}
}
};
function makePublisher(o) {
var i;
for (i in publisher) {
if (publisher.hasOwnProperty(i) && typeof publisher[i] === "function") {
o[i] = publisher[i];
}
}
o.subscribers = {any: []};
}

View file

@ -1,25 +0,0 @@
<form class="form-inline">
<select id="time_format">
<option value="seconds">seconds</option>
<option value="thousandths">thousandths</option>
<option value="hh:mm:ss">hh:mm:ss</option>
<option value="hh:mm:ss.uu">hh:mm:ss + hundredths</option>
<option value="hh:mm:ss.uuu">hh:mm:ss + milliseconds</option>
</select>
<input id="audio_start" type="text" class="input-small">
<input id="audio_end" type="text" class="input-small">
<input id="audio_pos" type="text" class="input-small">
<select id="audio_resolution">
<option>4000</option>
<option>5000</option>
<option>6000</option>
<option>7000</option>
<option>8000</option>
<option>9000</option>
<option>10000</option>
<option>11000</option>
<option>12000</option>
<option>15000</option>
<option>20000</option>
</select>
</form>