Merge branch 'saas-dev' into saas-3.x-sessionoptimizations

This commit is contained in:
Albert Santoni 2015-10-14 14:50:54 -04:00
commit 2713bd7beb
26 changed files with 4349 additions and 185 deletions

View File

@ -4,6 +4,7 @@ define('PRODUCT_NAME' , 'Airtime');
define('PRODUCT_SITE_URL' , 'http://airtime.sourcefabric.org');
define('SAAS_PRODUCT_BRANDING_NAME', 'Airtime Pro');
define('SAAS_LOGIN_REFERRER', 'https://www.airtime.pro/');
define('COMPANY_NAME' , 'Sourcefabric');
define('COMPANY_SUFFIX' , 'z.ú.');

View File

@ -213,10 +213,6 @@ class PreferenceController extends Zend_Controller_Action
$values["s4_data"] = $s4_data;
if ($form->isValid($values)) {
$values['icecast_vorbis_metadata'] = $form->getValue('icecast_vorbis_metadata');
$values['streamFormat'] = $form->getValue('streamFormat');
Application_Model_StreamSetting::setStreamSetting($values);
/* If the admin password values are empty then we should not

View File

@ -107,10 +107,11 @@ class ShowbuilderController extends Zend_Controller_Action
$CC_CONFIG = Config::getConfig();
$baseUrl = Application_Common_OsPath::getBaseDir();
$setupComplete = Application_Model_Preference::getLangTimezoneSetupComplete();
$previousPage = $request->getHeader('Referer');
$previousPage = strtolower($request->getHeader('Referer'));
$userService = new Application_Service_UserService();
$currentUser = $userService->getCurrentUser();
$previousPageWasLoginScreen = strpos(strtolower($previousPage), 'login') !== false;
$previousPageWasLoginScreen = (strpos($previousPage, 'login') !== false) ||
(strpos($previousPage, SAAS_LOGIN_REFERRER) !== false);
// If current user is Super Admin, and they came from the login page,
// and they have not seen the setup popup before

View File

@ -63,12 +63,16 @@ class WebstreamController extends Zend_Controller_Action
if (!$isAdminOrPM && $webstream->getDbCreatorId() != $user->getId()) {
$this->view->objType = "webstream";
$this->view->type = "webstream";
$this->view->obj = $obj;
$this->view->id = $id;
$this->view->html = $this->view->render('playlist/permission-denied.phtml');
return;
}
$this->view->obj = $obj;
$this->view->type = "webstream";
$this->view->id = $id;
$this->view->action = "edit";
$this->view->html = $this->view->render('webstream/webstream.phtml');
}

View File

@ -85,7 +85,11 @@ class Application_Form_ShowBuilder extends Zend_Form_SubForm
private function getShowNames()
{
$showNames = array("0" => _("Filter by Show"));
$user = Application_Model_User::getCurrentUser();
$showNames = array("0" => _("Filter by Show"));
if ($user->getType() === 'H') {
$showNames["-1"] = _("My Shows");
}
$shows = CcShowQuery::create()
->setFormatter(ModelCriteria::FORMAT_ON_DEMAND)

View File

@ -80,7 +80,7 @@ class Application_Model_Scheduler
*
* @param array $items, an array containing pks of cc_schedule items.
*/
private function validateRequest($items, $addAction=false)
private function validateRequest($items, $addRemoveAction=false)
{
//$items is where tracks get inserted (they are schedule locations)
@ -164,7 +164,7 @@ class Application_Model_Scheduler
* currently playing?
* If yes, throw an exception
*/
if ($addAction) {
if ($addRemoveAction) {
$ccShow = $instance->getCcShow();
if ($ccShow->isLinked()) {
//get all the linked shows instances and check if
@ -175,7 +175,7 @@ class Application_Model_Scheduler
if ($ccShowInstance->getDbStarts() <= $timeNowUTC &&
$ccShowInstance->getDbEnds() > $timeNowUTC) {
throw new Exception(_("Content in linked shows must be scheduled before or after any one is broadcasted"));
throw new Exception(_("Content in linked shows cannot be changed while on air!"));
}
}
}
@ -1091,7 +1091,7 @@ class Application_Model_Scheduler
try {
$this->validateRequest($scheduledItems);
$this->validateRequest($scheduledItems, true);
$scheduledIds = array();
foreach ($scheduledItems as $item) {

View File

@ -234,63 +234,65 @@ class Application_Service_SchedulerService
//with content from $linkedShowSchedule.
try {
$con->beginTransaction();
foreach ($instanceIdsToFill as $id)
{
//Start by clearing the show instance that needs to be filling. This ensure
//we're not going to get in trouble in case there's an programming error somewhere else.
self::clearShowInstanceContents($id);
// Now fill the show instance with the same content that $linkedShowSchedule has.
$instanceStart_sql = "SELECT starts FROM cc_show_instances " .
"WHERE id = {$id} " . "ORDER BY starts";
//What's tricky here is that when we copy the content, we have to adjust
//the start and end times of each track so they're inside the new show instance's time slot.
$nextStartDT = new DateTime(
Application_Common_Database::prepareAndExecute(
$instanceStart_sql, array(),
Application_Common_Database::COLUMN),
new DateTimeZone("UTC"));
$defaultCrossfadeDuration = Application_Model_Preference::GetDefaultCrossfadeDuration();
unset($values);
$values = array();
foreach ($linkedShowSchedule as $item) {
$endTimeDT = self::findEndTime($nextStartDT,
$item["clip_length"]);
if (is_null($item["file_id"])) {
$item["file_id"] = "null";
}
if (is_null($item["stream_id"])) {
$item["stream_id"] = "null";
}
$values[] = "(" . "'{$nextStartDT->format(DEFAULT_TIMESTAMP_FORMAT)}', " .
"'{$endTimeDT->format(DEFAULT_TIMESTAMP_FORMAT)}', " .
"'{$item["clip_length"]}', " .
"'{$item["fade_in"]}', " . "'{$item["fade_out"]}', " .
"'{$item["cue_in"]}', " . "'{$item["cue_out"]}', " .
"{$item["file_id"]}, " . "{$item["stream_id"]}, " .
"{$id}, " . "{$item["position"]})";
$nextStartDT = self::findTimeDifference($endTimeDT,
$defaultCrossfadeDuration);
} //foreach show item
if (!empty($values)) {
$insert_sql = "INSERT INTO cc_schedule (starts, ends, ".
"clip_length, fade_in, fade_out, cue_in, cue_out, ".
"file_id, stream_id, instance_id, position) VALUES ".
implode($values, ",");
Application_Common_Database::prepareAndExecute(
$insert_sql, array(), Application_Common_Database::EXECUTE);
}
//update cc_schedule status column
$instance = CcShowInstancesQuery::create()->findPk($id);
$instance->updateScheduleStatus($con);
} //foreach linked instance
if (!empty($linkedShowSchedule)) {
foreach ($instanceIdsToFill as $id) {
//Start by clearing the show instance that needs to be filling. This ensure
//we're not going to get in trouble in case there's an programming error somewhere else.
self::clearShowInstanceContents($id);
// Now fill the show instance with the same content that $linkedShowSchedule has.
$instanceStart_sql = "SELECT starts FROM cc_show_instances " .
"WHERE id = {$id} " . "ORDER BY starts";
//What's tricky here is that when we copy the content, we have to adjust
//the start and end times of each track so they're inside the new show instance's time slot.
$nextStartDT = new DateTime(
Application_Common_Database::prepareAndExecute(
$instanceStart_sql, array(),
Application_Common_Database::COLUMN),
new DateTimeZone("UTC"));
$defaultCrossfadeDuration = Application_Model_Preference::GetDefaultCrossfadeDuration();
unset($values);
$values = array();
foreach ($linkedShowSchedule as $item) {
$endTimeDT = self::findEndTime($nextStartDT,
$item["clip_length"]);
if (is_null($item["file_id"])) {
$item["file_id"] = "null";
}
if (is_null($item["stream_id"])) {
$item["stream_id"] = "null";
}
$values[] = "(" . "'{$nextStartDT->format(DEFAULT_TIMESTAMP_FORMAT)}', " .
"'{$endTimeDT->format(DEFAULT_TIMESTAMP_FORMAT)}', " .
"'{$item["clip_length"]}', " .
"'{$item["fade_in"]}', " . "'{$item["fade_out"]}', " .
"'{$item["cue_in"]}', " . "'{$item["cue_out"]}', " .
"{$item["file_id"]}, " . "{$item["stream_id"]}, " .
"{$id}, " . "{$item["position"]})";
$nextStartDT = self::findTimeDifference($endTimeDT,
$defaultCrossfadeDuration);
} //foreach show item
if (!empty($values)) {
$insert_sql = "INSERT INTO cc_schedule (starts, ends, " .
"clip_length, fade_in, fade_out, cue_in, cue_out, " .
"file_id, stream_id, instance_id, position) VALUES " .
implode($values, ",");
Application_Common_Database::prepareAndExecute(
$insert_sql, array(), Application_Common_Database::EXECUTE);
}
//update cc_schedule status column
$instance = CcShowInstancesQuery::create()->findPk($id);
$instance->updateScheduleStatus($con);
} //foreach linked instance
}
//update time_filled and last_scheduled in cc_show_instances
$now = gmdate(DEFAULT_TIMESTAMP_FORMAT);

View File

@ -9,7 +9,7 @@
<?php echo $this->element->getElement('setup_timezone')->render(); ?>
</dl>
</fieldset>
<p style="margin-bottom: 0px; text-align: center;">You can change these later in your preferences and user settings.</p>
<p style="margin-bottom: 0px; text-align: center;"><?php echo _("You can change these later in your preferences and user settings.");?></p>
</form>
</div>

View File

@ -9,8 +9,8 @@
<?php echo $this->element->getElement('sb_show_filter') ?>
<?php if ($this->element->getElement('sb_my_shows')):?>
<label><?php echo $this->element->getElement('sb_my_shows')->getLabel(); ?></label>
<?php echo $this->element->getElement('sb_my_shows'); ?>
<?php endif;?>
<!-- --><?php //if ($this->element->getElement('sb_my_shows')):?>
<!-- <label>--><?php //echo $this->element->getElement('sb_my_shows')->getLabel(); ?><!--</label>-->
<!-- --><?php //echo $this->element->getElement('sb_my_shows'); ?>
<!-- --><?php //endif;?>
</div>

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@ -11,7 +11,7 @@ msgstr ""
"Project-Id-Version: Airtime\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-09-04 11:17-0400\n"
"PO-Revision-Date: 2015-09-11 14:33+0000\n"
"PO-Revision-Date: 2015-09-25 13:52+0000\n"
"Last-Translator: Maria Ituarte <maria.ituarte@sourcefabric.org>\n"
"Language-Team: Spanish (Spain) (http://www.transifex.com/sourcefabric/airtime/language/es_ES/)\n"
"MIME-Version: 1.0\n"
@ -22,7 +22,7 @@ msgstr ""
#: airtime_mvc/application/services/CalendarService.php:50
msgid "Record file doesn't exist"
msgstr ""
msgstr "No existe el archivo"
#: airtime_mvc/application/services/CalendarService.php:54
msgid "View Recorded File Metadata"
@ -1941,7 +1941,7 @@ msgstr "Stream en vivo"
#: airtime_mvc/application/layouts/scripts/layout.phtml:63
msgid "Smart Block"
msgstr ""
msgstr "Bloque Inteligente"
#: airtime_mvc/application/layouts/scripts/layout.phtml:66
msgid "Webstream"

View File

@ -12,8 +12,8 @@ msgstr ""
"Project-Id-Version: Airtime\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-09-04 11:17-0400\n"
"PO-Revision-Date: 2015-09-05 08:33+0000\n"
"Last-Translator: Daniel James <daniel@64studio.com>\n"
"PO-Revision-Date: 2015-10-07 18:13+0000\n"
"Last-Translator: Zsolt Magyar <picizse@gmail.com>\n"
"Language-Team: Hungarian (Hungary) (http://www.transifex.com/sourcefabric/airtime/language/hu_HU/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@ -455,7 +455,7 @@ msgstr "Nincs jogosúltsága a forrás megváltoztatásához."
#: airtime_mvc/application/controllers/LoginController.php:43
msgid "Please enter your username and password."
msgstr ""
msgstr "Kérjük, adja meg felhasználónevét és jelszavát."
#: airtime_mvc/application/controllers/LoginController.php:93
msgid "Wrong username or password provided. Please try again."
@ -637,7 +637,7 @@ msgstr "Ütemezett"
#: airtime_mvc/application/layouts/scripts/layout.phtml:78
#: airtime_mvc/application/views/scripts/showbuilder/builderDialog.phtml:7
msgid "Tracks"
msgstr ""
msgstr "Zeneszámok"
#: airtime_mvc/application/controllers/LocaleController.php:75
#: airtime_mvc/application/layouts/scripts/layout.phtml:60
@ -1256,19 +1256,19 @@ msgstr "Dec"
#: airtime_mvc/application/controllers/LocaleController.php:245
msgid "Today"
msgstr ""
msgstr "Ma"
#: airtime_mvc/application/controllers/LocaleController.php:246
msgid "Day"
msgstr ""
msgstr "Nap"
#: airtime_mvc/application/controllers/LocaleController.php:247
msgid "Week"
msgstr ""
msgstr "Hét"
#: airtime_mvc/application/controllers/LocaleController.php:248
msgid "Month"
msgstr ""
msgstr "Hónap"
#: airtime_mvc/application/controllers/LocaleController.php:249
#: airtime_mvc/application/forms/GeneralPreferences.php:158
@ -1841,7 +1841,7 @@ msgstr "%sNyomtatási előnézet%sKérjük, használja böngészője nyomtatási
#: airtime_mvc/application/controllers/LocaleController.php:407
msgid "New Show"
msgstr ""
msgstr "Új Műsor"
#: airtime_mvc/application/controllers/LocaleController.php:408
msgid "New Log Entry"
@ -1942,15 +1942,15 @@ msgstr "Élő adásfolyam"
#: airtime_mvc/application/layouts/scripts/layout.phtml:63
msgid "Smart Block"
msgstr ""
msgstr "Okos Tábla"
#: airtime_mvc/application/layouts/scripts/layout.phtml:66
msgid "Webstream"
msgstr ""
msgstr "Adásfolyam"
#: airtime_mvc/application/layouts/scripts/layout.phtml:71
msgid "Upload"
msgstr ""
msgstr "Feltöltés"
#: airtime_mvc/application/layouts/scripts/layout.phtml:76
#: airtime_mvc/application/views/scripts/showbuilder/index.phtml:5
@ -1961,7 +1961,7 @@ msgstr ""
#: airtime_mvc/application/layouts/scripts/layout.phtml:84
#: airtime_mvc/application/views/scripts/showbuilder/builderDialog.phtml:25
msgid "Webstreams"
msgstr ""
msgstr "Adásfolyamok"
#: airtime_mvc/application/layouts/scripts/layout.phtml:135
#: airtime_mvc/application/layouts/scripts/layout.phtml:161
@ -2105,7 +2105,7 @@ msgstr ""
#: airtime_mvc/application/views/scripts/embeddablewidgets/player.phtml:6
#: airtime_mvc/application/configs/navigation.php:34
msgid "Player"
msgstr ""
msgstr "Lejátszó"
#: airtime_mvc/application/views/scripts/playouthistory/index.phtml:2
#: airtime_mvc/application/configs/navigation.php:97
@ -2310,7 +2310,7 @@ msgstr ""
#: airtime_mvc/application/views/scripts/login/password-restore-after.phtml:11
#: airtime_mvc/application/views/scripts/form/password-restore.phtml:48
msgid "Back"
msgstr ""
msgstr "Vissza"
#: airtime_mvc/application/views/scripts/login/password-restore.phtml:3
msgid "Password Reset"
@ -2376,7 +2376,7 @@ msgstr "Találat"
#: airtime_mvc/application/views/scripts/form/edit-user.phtml:1
#: airtime_mvc/application/configs/navigation.php:61
msgid "My Profile"
msgstr ""
msgstr "Profilom"
#: airtime_mvc/application/views/scripts/form/edit-user.phtml:7
#, php-format
@ -2506,7 +2506,7 @@ msgstr "Előzmények Szűrése"
#: airtime_mvc/application/views/scripts/form/login.phtml:41
msgid "Forgot your password?"
msgstr ""
msgstr "Elfelejtett jelszó?"
#: airtime_mvc/application/views/scripts/form/support-setting.phtml:46
msgid ""
@ -2564,7 +2564,7 @@ msgstr "Ön nem figyel minden média mappát."
#: airtime_mvc/application/views/scripts/form/preferences_livestream.phtml:1
msgid "Live Broadcasting"
msgstr ""
msgstr "Élő Közvetítés"
#: airtime_mvc/application/views/scripts/form/preferences_livestream.phtml:11
#: airtime_mvc/application/views/scripts/partialviews/header.phtml:30
@ -2779,7 +2779,7 @@ msgstr ""
#: airtime_mvc/application/views/scripts/listenerstat/index.phtml:2
msgid "Listeners"
msgstr ""
msgstr "Hallgatók"
#: airtime_mvc/application/views/scripts/listenerstat/index.phtml:10
msgid "Stream Data Collection Status"
@ -2915,7 +2915,7 @@ msgstr "Segítség"
#: airtime_mvc/application/views/scripts/error/error-500.phtml:11
msgid "Oops!"
msgstr ""
msgstr "Hoppá!"
#: airtime_mvc/application/views/scripts/error/error-500.phtml:12
msgid "Something went wrong!"
@ -3155,7 +3155,7 @@ msgstr "Az újraközvetítésre legalább 1 órát kell várni"
#: airtime_mvc/application/forms/PasswordRestore.php:14
msgid "Email"
msgstr ""
msgstr "E-mail"
#: airtime_mvc/application/forms/PasswordRestore.php:36
msgid "Reset password"
@ -3390,7 +3390,7 @@ msgstr "Most Játszott"
#: airtime_mvc/application/forms/Player.php:25
msgid "Select Stream:"
msgstr ""
msgstr "Adásfolyam Kiválasztása:"
#: airtime_mvc/application/forms/Player.php:28
msgid "Auto detect the most appropriate stream to use."
@ -3398,7 +3398,7 @@ msgstr ""
#: airtime_mvc/application/forms/Player.php:29
msgid "Select a stream:"
msgstr ""
msgstr "Egy adásfolyam kiválasztása:"
#: airtime_mvc/application/forms/Player.php:41
msgid " - Mobile friendly"
@ -3448,19 +3448,19 @@ msgstr "elemek"
#: airtime_mvc/application/forms/SmartBlockCriteria.php:130
msgid "Randomly"
msgstr ""
msgstr "Véletlenszerűen"
#: airtime_mvc/application/forms/SmartBlockCriteria.php:131
msgid "Newest"
msgstr ""
msgstr "Újabb"
#: airtime_mvc/application/forms/SmartBlockCriteria.php:132
msgid "Oldest"
msgstr ""
msgstr "Régebbi"
#: airtime_mvc/application/forms/SmartBlockCriteria.php:179
msgid "Type:"
msgstr ""
msgstr "Típus:"
#: airtime_mvc/application/forms/SmartBlockCriteria.php:182
msgid "Static"
@ -3797,7 +3797,7 @@ msgstr "Szövegszín:"
#: airtime_mvc/application/forms/AddShowStyle.php:49
msgid "Current Logo:"
msgstr ""
msgstr "Jelenlegi Logó:"
#: airtime_mvc/application/forms/AddShowStyle.php:72
msgid "Show Logo:"
@ -3937,7 +3937,7 @@ msgstr "Első Lépések"
#: airtime_mvc/application/configs/navigation.php:157
msgid "FAQ"
msgstr ""
msgstr "GYIK"
#: airtime_mvc/application/configs/navigation.php:162
msgid "User Manual"

View File

@ -11,8 +11,8 @@ msgstr ""
"Project-Id-Version: Airtime\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-09-04 11:17-0400\n"
"PO-Revision-Date: 2015-09-05 08:33+0000\n"
"Last-Translator: Daniel James <daniel@64studio.com>\n"
"PO-Revision-Date: 2015-09-28 12:25+0000\n"
"Last-Translator: dave van den berg <d.berg501@gmail.com>\n"
"Language-Team: Dutch (Netherlands) (http://www.transifex.com/sourcefabric/airtime/language/nl_NL/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@ -22,7 +22,7 @@ msgstr ""
#: airtime_mvc/application/services/CalendarService.php:50
msgid "Record file doesn't exist"
msgstr "ecord bestand bestaat niet"
msgstr "Record bestand bestaat niet"
#: airtime_mvc/application/services/CalendarService.php:54
msgid "View Recorded File Metadata"
@ -31,25 +31,25 @@ msgstr "Weergave opgenomen bestand Metadata"
#: airtime_mvc/application/services/CalendarService.php:61
#: airtime_mvc/application/services/CalendarService.php:93
msgid "View"
msgstr ""
msgstr "Weergeven"
#: airtime_mvc/application/services/CalendarService.php:81
msgid "Schedule Tracks"
msgstr ""
msgstr "Schema Tracks"
#: airtime_mvc/application/services/CalendarService.php:106
msgid "Clear Show"
msgstr ""
msgstr "Wissen show"
#: airtime_mvc/application/services/CalendarService.php:120
#: airtime_mvc/application/services/CalendarService.php:125
msgid "Cancel Show"
msgstr ""
msgstr "Annuleren show"
#: airtime_mvc/application/services/CalendarService.php:146
#: airtime_mvc/application/services/CalendarService.php:165
msgid "Edit Instance"
msgstr ""
msgstr "Aanleg bewerken"
#: airtime_mvc/application/services/CalendarService.php:152
#: airtime_mvc/application/controllers/LibraryController.php:184
@ -74,11 +74,11 @@ msgstr "Verwijderen"
#: airtime_mvc/application/services/CalendarService.php:194
msgid "Delete Instance"
msgstr ""
msgstr "Exemplaar verwijderen"
#: airtime_mvc/application/services/CalendarService.php:200
msgid "Delete Instance and All Following"
msgstr ""
msgstr "Exemplaar verwijderen en alle volgende"
#: airtime_mvc/application/services/CalendarService.php:254
msgid "Permission denied"
@ -275,16 +275,16 @@ msgstr "Download"
#: airtime_mvc/application/controllers/LibraryController.php:147
msgid "View track"
msgstr ""
msgstr "Weergave track"
#: airtime_mvc/application/controllers/LibraryController.php:148
msgid "Remove track"
msgstr ""
msgstr "Nummer verwijderen"
#: airtime_mvc/application/controllers/LibraryController.php:154
#: airtime_mvc/application/controllers/LibraryController.php:159
msgid "Upload track"
msgstr ""
msgstr "Uploaden van track"
#: airtime_mvc/application/controllers/LibraryController.php:169
msgid "Duplicate Playlist"
@ -300,11 +300,11 @@ msgstr "Je hebt geen toestemming om geselecteerde items te verwijderen"
#: airtime_mvc/application/controllers/LibraryController.php:279
msgid "Could not delete file because it is scheduled in the future."
msgstr ""
msgstr "Kan bestand niet verwijderen omdat het in de toekomst is gepland."
#: airtime_mvc/application/controllers/LibraryController.php:282
msgid "Could not delete file(s)."
msgstr ""
msgstr "Bestand(en) kan geen gegevens verwijderen."
#: airtime_mvc/application/controllers/LibraryController.php:322
#, php-format
@ -329,13 +329,13 @@ msgid ""
"To configure and use the embeddable player you must:<br><br>\n"
" 1. Enable at least one MP3, AAC, or OGG stream under System -> Streams<br>\n"
" 2. Enable the Public Airtime API under System -> Preferences"
msgstr ""
msgstr " Configureren en de integreerbare speler u moet gebruiken:<br><br>1. Inschakelen ten minste één MP3, AAC en OGG stream onder systeem->Streams<br>\n2. De openbare Airtime API inschakelen onder systeem->voorkeuren"
#: airtime_mvc/application/controllers/EmbeddablewidgetsController.php:41
msgid ""
"To use the embeddable weekly schedule widget you must:<br><br>\n"
" Enable the Public Airtime API under System -> Preferences"
msgstr ""
msgstr "De integreerbare per schema widget u moet gebruiken:<br><br>\nde openbare Airtime API inschakelen onder systeem->voorkeuren"
#: airtime_mvc/application/controllers/ListenerstatController.php:51
msgid ""
@ -391,19 +391,19 @@ msgstr "Onbekende afspeellijst"
#: airtime_mvc/application/controllers/ErrorController.php:78
msgid "Page not found."
msgstr ""
msgstr "Pagina niet gevonden"
#: airtime_mvc/application/controllers/ErrorController.php:87
msgid "The requested action is not supported."
msgstr ""
msgstr "De gevraagde actie wordt niet ondersteund."
#: airtime_mvc/application/controllers/ErrorController.php:98
msgid "You do not have permission to access this resource."
msgstr ""
msgstr "U bent niet gemachtigd voor toegang tot deze bron."
#: airtime_mvc/application/controllers/ErrorController.php:109
msgid "An internal application error has occurred."
msgstr ""
msgstr "Een interne toepassingsfout opgetreden."
#: airtime_mvc/application/controllers/Apiv2Controller.php:77
#: airtime_mvc/application/controllers/ApiController.php:79
@ -436,7 +436,7 @@ msgstr "Probleem met Liquidsoap..."
#: airtime_mvc/application/controllers/PreferenceController.php:493
msgid "Request method not accepted"
msgstr ""
msgstr "Verzoek methode niet geaccepteerd"
#: airtime_mvc/application/controllers/DashboardController.php:35
#: airtime_mvc/application/controllers/DashboardController.php:84
@ -454,7 +454,7 @@ msgstr "Je hebt geen toestemming om over te schakelen van de bron."
#: airtime_mvc/application/controllers/LoginController.php:43
msgid "Please enter your username and password."
msgstr ""
msgstr "Voer uw gebruikersnaam en wachtwoord."
#: airtime_mvc/application/controllers/LoginController.php:93
msgid "Wrong username or password provided. Please try again."
@ -468,7 +468,7 @@ msgstr "E-mail kan niet worden verzonden. Controleer de instellingen van uw e-ma
#: airtime_mvc/application/controllers/LoginController.php:173
msgid "There was a problem with the username or email address you entered."
msgstr ""
msgstr "Er was een probleem met de gebruikersnaam of email adres dat u hebt ingevoerd."
#: airtime_mvc/application/controllers/ApiController.php:244
#: airtime_mvc/application/controllers/ApiController.php:317
@ -570,39 +570,39 @@ msgstr "Selecteer een cursorpositie op de tijdlijn."
#: airtime_mvc/application/controllers/LocaleController.php:54
msgid "You haven't added any tracks"
msgstr ""
msgstr "U hebt de nummers nog niet toegevoegd"
#: airtime_mvc/application/controllers/LocaleController.php:55
msgid "You haven't added any playlists"
msgstr ""
msgstr "U heb niet alle afspeellijsten toegevoegd"
#: airtime_mvc/application/controllers/LocaleController.php:56
msgid "You haven't added any smart blocks"
msgstr ""
msgstr "U nog niet toegevoegd een slimme blokken"
#: airtime_mvc/application/controllers/LocaleController.php:57
msgid "You haven't added any webstreams"
msgstr ""
msgstr "U hebt webstreams nog niet toegevoegd"
#: airtime_mvc/application/controllers/LocaleController.php:58
msgid "Learn about tracks"
msgstr ""
msgstr "Informatie over nummers"
#: airtime_mvc/application/controllers/LocaleController.php:59
msgid "Learn about playlists"
msgstr ""
msgstr "Meer informatie over afspeellijsten"
#: airtime_mvc/application/controllers/LocaleController.php:60
msgid "Learn about smart blocks"
msgstr ""
msgstr "Informatie over slimme blokken"
#: airtime_mvc/application/controllers/LocaleController.php:61
msgid "Learn about webstreams"
msgstr ""
msgstr "Meer informatie over webstreams"
#: airtime_mvc/application/controllers/LocaleController.php:62
msgid "Click 'New' to create one."
msgstr ""
msgstr "Klik op 'Nieuw' te maken."
#: airtime_mvc/application/controllers/LocaleController.php:67
msgid "Add to selected show"
@ -636,12 +636,12 @@ msgstr "Gepland"
#: airtime_mvc/application/layouts/scripts/layout.phtml:78
#: airtime_mvc/application/views/scripts/showbuilder/builderDialog.phtml:7
msgid "Tracks"
msgstr ""
msgstr "track"
#: airtime_mvc/application/controllers/LocaleController.php:75
#: airtime_mvc/application/layouts/scripts/layout.phtml:60
msgid "Playlist"
msgstr ""
msgstr "Afspeellijsten"
#: airtime_mvc/application/controllers/LocaleController.php:79
msgid "Bit Rate"
@ -1068,7 +1068,7 @@ msgstr "Als je live streaming client niet om een gebruikersnaam vraagt, moet dit
msgid ""
"WARNING: This will restart your stream and may cause a short dropout for "
"your listeners!"
msgstr ""
msgstr "Waarschuwing: Dit zal opnieuw opstarten van uw stream en een korte dropout kan veroorzaken voor uw luisteraars!"
#: airtime_mvc/application/controllers/LocaleController.php:185
msgid ""
@ -1255,19 +1255,19 @@ msgstr "dec"
#: airtime_mvc/application/controllers/LocaleController.php:245
msgid "Today"
msgstr ""
msgstr "vandaag"
#: airtime_mvc/application/controllers/LocaleController.php:246
msgid "Day"
msgstr ""
msgstr "dag"
#: airtime_mvc/application/controllers/LocaleController.php:247
msgid "Week"
msgstr ""
msgstr "week"
#: airtime_mvc/application/controllers/LocaleController.php:248
msgid "Month"
msgstr ""
msgstr "maand"
#: airtime_mvc/application/controllers/LocaleController.php:249
#: airtime_mvc/application/forms/GeneralPreferences.php:158
@ -1384,15 +1384,15 @@ msgstr "Duur"
#: airtime_mvc/application/controllers/LocaleController.php:276
msgid "Filtering out "
msgstr ""
msgstr "Filteren op"
#: airtime_mvc/application/controllers/LocaleController.php:277
msgid " of "
msgstr ""
msgstr "of"
#: airtime_mvc/application/controllers/LocaleController.php:278
msgid " records"
msgstr ""
msgstr "records"
#: airtime_mvc/application/controllers/LocaleController.php:284
#: airtime_mvc/application/layouts/scripts/layout.phtml:140
@ -1492,7 +1492,7 @@ msgstr "Niets selecteren"
#: airtime_mvc/application/controllers/LocaleController.php:306
msgid "Trim overbooked shows"
msgstr ""
msgstr "Trim overboekte shows"
#: airtime_mvc/application/controllers/LocaleController.php:307
msgid "Remove selected scheduled items"
@ -1840,11 +1840,11 @@ msgstr "%sPrint weergave%sA.u.b. gebruik printfunctie in uw browser wilt afdrukk
#: airtime_mvc/application/controllers/LocaleController.php:407
msgid "New Show"
msgstr ""
msgstr "Nieuw Show"
#: airtime_mvc/application/controllers/LocaleController.php:408
msgid "New Log Entry"
msgstr ""
msgstr "Nieuwe logboekvermelding"
#: airtime_mvc/application/controllers/ShowbuilderController.php:138
msgid "Select cursor"
@ -1865,43 +1865,43 @@ msgstr "Rebroadcast van show %s van %s in %s"
#: airtime_mvc/application/common/UsabilityHints.php:55
msgid "Upload some tracks below to add them to your library!"
msgstr ""
msgstr "Uploaden sommige tracks hieronder toe te voegen aan uw bibliotheek!"
#: airtime_mvc/application/common/UsabilityHints.php:57
#, php-format
msgid ""
"It looks like you haven't uploaded any audio files yet. %sUpload a file "
"now%s."
msgstr ""
msgstr "Het lijkt erop dat u alle audio bestanden nog niet hebt geüpload. %sUpload een bestand nu%s."
#: airtime_mvc/application/common/UsabilityHints.php:63
msgid "Click the 'New Show' button and fill out the required fields."
msgstr ""
msgstr "Klik op de knop 'Nieuwe Show' en vul de vereiste velden."
#: airtime_mvc/application/common/UsabilityHints.php:65
#, php-format
msgid ""
"It looks like you don't have any shows scheduled. %sCreate a show now%s."
msgstr ""
msgstr "Het lijkt erop dat u niet alle shows gepland. %sCreate een show nu%s."
#: airtime_mvc/application/common/UsabilityHints.php:73
msgid ""
"To start broadcasting, cancel the current linked show by clicking on it and "
"selecting 'Cancel Show'."
msgstr ""
msgstr "Om te beginnen omroep, de huidige gekoppelde show te annuleren door op te klikken en te selecteren 'Annuleren Show'."
#: airtime_mvc/application/common/UsabilityHints.php:75
#, php-format
msgid ""
"Linked shows need to be filled with tracks before it starts. To start broadcasting cancel the current linked show and schedule an unlinked show.\n"
" %sCreate an unlinked show now%s."
msgstr ""
msgstr "Gekoppelde toont dienen te worden opgevuld met tracks voordat het begint. Om te beginnen met omroep annuleren de huidige gekoppeld Toon en plannen van een niet-gekoppelde show.\n%sCreate een niet-gekoppelde Toon nu%s."
#: airtime_mvc/application/common/UsabilityHints.php:80
msgid ""
"To start broadcasting, click on the current show and select 'Schedule "
"Tracks'"
msgstr ""
msgstr "Om te beginnen omroep, klik op de huidige show en selecteer 'Schema Tracks'"
#: airtime_mvc/application/common/UsabilityHints.php:82
#, php-format

View File

@ -42,13 +42,6 @@
}
}
@media screen and (max-width: 1260px) {
#library_display_length > label {
/* Hacky, but datatables dumps the select inside the label for some reason... */
font-size: 0 !important;
}
}
@media screen and (max-width: 1200px) {
.wrapper {
-webkit-flex-flow: column !important;
@ -529,10 +522,10 @@ li.ui-state-default {
}
.spl_sortable {
position: relative;
height: 100%;
overflow: auto;
flex: 1 100%;
-webkit-flex: 1 100%;
margin: 4px 0;
min-height: 0;

View File

@ -981,7 +981,7 @@ div.blockOverlay {
font-size:12px;
font-weight:normal;
padding: 0.2em 1em;
margin-right:3px;
margin-right:0;
}
.dataTables_filter input {
background: url("images/search_auto_bg.png") no-repeat scroll 0 0 #DDDDDD;
@ -3960,3 +3960,6 @@ li .ui-state-hover {
#whatsnew li {
margin-top: 20px;
}
/* jQuery dialog */
.no-close .ui-dialog-titlebar-close {display: none }

View File

@ -79,13 +79,19 @@ function getDatatablesStrings(overrideDict) {
"sSearch": $.i18n._(""),
"sZeroRecords": $.i18n._("No matching records found"),
"oPaginate": {
"sFirst": $.i18n._("First"),
"sLast": $.i18n._("Last"),
"sNext": $.i18n._("Next"),
"sPrevious": $.i18n._("Previous")
"sFirst": "&laquo;",
"sLast": "&raquo;",
"sNext": "&rsaquo;",
"sPrevious": "&lsaquo;"
},
//"oPaginate": {
// "sFirst": $.i18n._("First"),
// "sLast": $.i18n._("Last"),
// "sNext": $.i18n._("Next"),
// "sPrevious": $.i18n._("Previous")
//},
"oAria": {
"sSortAscending": $.i18n._(": activate to sort column ascending"),
"sSortAscending": $.i18n._(": activate to sort column ascending"),
"sSortDescending": $.i18n._(": activate to sort column descending")
}
};

View File

@ -18,6 +18,7 @@ var AIRTIME = (function(AIRTIME) {
check = true;
}
var sortable = $(".spl_sortable");
if ($("#show_builder_table").is(":visible")) {
if (shows.length === 0) {
check = false;
@ -28,13 +29,15 @@ var AIRTIME = (function(AIRTIME) {
} else if (current.length !== 0) {
btnText = $.i18n._('Add to current show');
}
} else {
} else if (sortable.length > 0 && sortable.is(":visible")) {
var objType = $('.active-tab .obj_type').val();
if (objType === 'block') {
btnText = $.i18n._('Add to current smart block');
} else {
btnText = $.i18n._('Add to current playlist');
}
} else {
check = false;
}
if (check) {

View File

@ -553,12 +553,6 @@ var AIRTIME = (function(AIRTIME) {
return getDatatablesStrings({
"sEmptyTable": $.i18n._(""),
"sZeroRecords": $.i18n._("No matching results found.")
//"oPaginate": {
// "sFirst": "<<",
// "sLast": ">>",
// "sNext": ">",
// "sPrevious": "<"
//}
});
break;
}

View File

@ -537,10 +537,11 @@ var AIRTIME = (function(AIRTIME){
return;
}
newTab.tab.on("click", function() {
var type = newTab.pane.find(".obj_type").val(),
url = baseUrl + ((type === "playlist" || type === "block") ? 'playlist' : 'webstream') + '/edit';
if (!$(this).hasClass('active')) {
AIRTIME.showbuilder.switchTab(newTab.pane, newTab.tab);
$.post(baseUrl+'playlist/edit',
{format: "json", id: newTab.pane.find(".obj_id").val(), type: newTab.pane.find(".obj_type").val()});
$.post(url, {format: "json", id: newTab.pane.find(".obj_id").val(), type: type});
}
});
AIRTIME.playlist.init();

View File

@ -7,8 +7,11 @@ $(document).ready(function() {
width: 500,
resizable: false,
modal: true,
closeOnEscape: false,
position:['center','center'],
dialogClass: 'no-close',
buttons: [
/* Testing removing the Not Now button for higher engagement
{
id: "setup-later",
text: $.i18n._("Not Now"),
@ -16,7 +19,7 @@ $(document).ready(function() {
click: function() {
$(this).dialog("close");
}
},
},*/
{
id: "help_airtime",
text: $.i18n._("OK"),

View File

@ -224,7 +224,7 @@ function buildScheduleDialog (json, instance_id) {
}
]
});
//set the start end times so the builder datatables knows its time range.
fnServer.start = json.start;
fnServer.end = json.end;

View File

@ -94,8 +94,6 @@ AIRTIME = (function(AIRTIME) {
check = validateTimeRange();
console.log(check);
if (check.isValid) {
//reset timestamp value since input values could have changed.
AIRTIME.showbuilder.resetTimestamp();
@ -111,7 +109,8 @@ AIRTIME = (function(AIRTIME) {
fn.ops = {};
}
fn.ops.showFilter = op.find("#sb_show_filter").val();
fn.ops.myShows = op.find("#sb_my_shows").is(":checked") ? 1 : 0;
// Hacky?
fn.ops.myShows = (fn.ops.showFilter == -1) ? 1 : 0;
}
oTable.fnDraw();