Merge branch '2.5.x' of dev.sourcefabric.org:airtime into 2.5.x

This commit is contained in:
cliff.wang 2013-10-18 11:28:31 -04:00
commit 0cbd016c06
60 changed files with 1317 additions and 1457 deletions

58
README
View File

@ -1,40 +1,50 @@
=========================================================================
========================== AIRTIME =================================
================= Airtime - Live Broadcast Together =================
=========================================================================
Airtime is an open source application that provides remote automation
of a radio station.
Home page: http://airtime.sourcefabric.org/
Airtime is an open source application that provides remote and
collaborative automation of a broadcast station.
Home page: http://www.sourcefabric.org/en/airtime/
Major features:
* Web-based remote station management. Authorized personnel can add
program material, create playlists and schedule programming all via
a web interface.
* Automation. Airtime has a scheduler function that enables users to
set shows with playlists for playback at a date and time of their choosing.
Playlists can be played back multiple times.
* Solid, fast playback. Airtime uses the open source Liquidsoap
multimedia framework for clean, reliable, fast playback.
* Web-based remote station management. Authorized personnel can add
programme material, create playlists or smart blocks, and stream in live,
all via a web interface.
* Automation. Airtime has a scheduler function that enables users to
create shows with content for playback at the exact date and time specified.
Playlists, smart blocks and remote stream URLs can be used multiple times.
* Solid playout. Airtime uses the open source Liquidsoap streaming language
for reliable and precise playback to multiple outputs.
* Open, extensible architecture. Stations are free to extend and alter
all parts of the program code.
all parts of the program code, under the GNU GPLv3 license.
INSTALLATION
------------
Please see this page for a typical user installation:
http://www.sourcefabric.org/en/products/airtime_manuals/
For the fastest, most painless installation on Ubuntu 12.04 and up, run:
cd install_full/ubuntu
sudo ./airtime-full-install
For Debian, run:
cd install_full/debian
sudo ./airtime-full-install
For custom installation and other distributions of Linux, please see this
chapter to begin a typical installation:
http://sourcefabric.booktype.pro/airtime-24-for-broadcasters/preparing-the-server/
If you are a developer, please see this page:
http://wiki.sourcefabric.org/display/CC/Airtime+Dev+Site
Quick links to our resources
----------------------------
User Manual: http://www.sourcefabric.org/en/airtime/manuals/
Forums and mailing lists: http://forum.sourcefabric.org
Bug Tracking: http://dev.sourcefabric.org
Code view/review: http://code.sourcefabric.org
Public source code hosting: http://github.com/sourcefabric
Download link: https://sourceforge.net/projects/airtime/files/
Developer's wiki: http://wiki.sourcefabric.org
User manuals: http://www.sourcefabric.org/en/airtime/manuals/
Forums and mailing lists: http://forum.sourcefabric.org
Bug tracker: http://dev.sourcefabric.org
Source code: http://github.com/sourcefabric/Airtime
IRC chat: #airtime on Freenode

View File

@ -80,7 +80,6 @@ class ScheduleController extends Zend_Controller_Action
$this->view->headLink()->appendStylesheet($baseUrl.'css/jquery.contextMenu.css?'.$CC_CONFIG['airtime_version']);
//Start Show builder JS/CSS requirements
$this->view->headScript()->appendFile($baseUrl.'js/contextmenu/jquery.contextMenu.js?'.$CC_CONFIG['airtime_version'],'text/javascript');
$this->view->headScript()->appendFile($baseUrl.'js/datatables/js/jquery.dataTables.js?'.$CC_CONFIG['airtime_version'],'text/javascript');
$this->view->headScript()->appendFile($baseUrl.'js/datatables/plugin/dataTables.pluginAPI.js?'.$CC_CONFIG['airtime_version'],'text/javascript');
$this->view->headScript()->appendFile($baseUrl.'js/datatables/plugin/dataTables.fnSetFilteringDelay.js?'.$CC_CONFIG['airtime_version'],'text/javascript');

View File

@ -179,7 +179,7 @@ class Application_Form_LiveStreamingPreferences extends Zend_Form_SubForm
socket_bind($sock, 0, $dj_harbor_input_port);
} catch (Exception $e) {
$element = $this->getElement("dj_harbor_input_port");
$element->addError(sprintf(_("Port %s is not available"). $dj_harbor_input_port));
$element->addError(sprintf(_("Port %s is not available"), $dj_harbor_input_port));
$isValid = false;
}
socket_close($sock);

View File

@ -814,7 +814,6 @@ SQL;
'start' => $start,
'end' => $end,
'show_name' => $item["show_name"],
'row_id' => $item["id"],
'independent_event' => true
);
self::appendScheduleItem($data, $start, $schedule_item);
@ -909,12 +908,14 @@ SQL;
$storedFile = Application_Model_StoredFile::RecallById($media_id);
$uri = $storedFile->getFilePath();
self::createFileScheduleEvent($data, $item, $media_id, $uri);
} elseif (!is_null($item['stream_id'])) {
}
elseif (!is_null($item['stream_id'])) {
//row is type "webstream"
$media_id = $item['stream_id'];
$uri = $item['url'];
self::createStreamScheduleEvent($data, $item, $media_id, $uri);
} else {
}
else {
throw new Exception("Unknown schedule type: ".print_r($item, true));
}
@ -991,7 +992,7 @@ SQL;
self::createInputHarborKickTimes($data, $range_start, $range_end);
self::createScheduledEvents($data, $range_start, $range_end);
self::foldData($data["media"]);
//self::foldData($data["media"]);
return $data;
}

View File

@ -535,6 +535,9 @@ class Application_Model_Scheduler
$linked = false;
foreach ($scheduleItems as $schedule) {
//reset
$this->applyCrossfades = true;
$id = intval($schedule["id"]);
/* Find out if the show where the cursor position (where an item will
@ -597,6 +600,9 @@ class Application_Model_Scheduler
$excludePositions = array();
foreach($instances as &$instance) {
//reset
$this->applyCrossfades = true;
$instanceId = $instance["id"];
if ($id !== 0) {
/* We use the selected cursor's position to find the same
@ -616,11 +622,6 @@ class Application_Model_Scheduler
$instanceId);
$pos++;
/* Show is not empty so we need to apply crossfades
* for the first inserted item
*/
//$applyCrossfades = true;
}
//selected empty row to add after
else {

View File

@ -453,9 +453,10 @@ SQL;
}
/**
* Get the repeat type of the show. Show can have repeat
* type of "weekly", "bi-weekly" and "monthly". These values
* are represented by 0, 1, and 2 respectively.
* Get the repeat type of the show. Show can have repeat type of
* "weekly", "every 2 weeks", "monthly", "monthly on the same weekday",
* "every 3 weeks" and "every 4 weeks". These values are represented
* by 0, 1, 2, 3, 4 and 5, respectively.
*
* @return int
* Return the integer corresponding to the repeat type.
@ -1082,6 +1083,14 @@ SQL;
$event["rebroadcast"] = intval($show["rebroadcast"]);
$event["soundcloud_id"] = is_null($show["soundcloud_id"])
? -1 : $show["soundcloud_id"];
//for putting the now playing icon on the show.
if ($now > $startsDT && $now < $endsDT) {
$event["nowPlaying"] = true;
}
else {
$event["nowPlaying"] = false;
}
//event colouring
if ($show["color"] != "") {

View File

@ -657,54 +657,70 @@ SQL;
$blSelect[] = "BL.id AS ".$key;
$fileSelect[] = "FILES.id AS $key";
$streamSelect[] = "ws.id AS ".$key;
} elseif ($key === "track_title") {
}
elseif ($key === "track_title") {
$plSelect[] = "name AS ".$key;
$blSelect[] = "name AS ".$key;
$fileSelect[] = $key;
$streamSelect[] = "name AS ".$key;
} elseif ($key === "ftype") {
}
elseif ($key === "ftype") {
$plSelect[] = "'playlist'::varchar AS ".$key;
$blSelect[] = "'block'::varchar AS ".$key;
$fileSelect[] = $key;
$streamSelect[] = "'stream'::varchar AS ".$key;
} elseif ($key === "artist_name") {
}
elseif ($key === "artist_name") {
$plSelect[] = "login AS ".$key;
$blSelect[] = "login AS ".$key;
$fileSelect[] = $key;
$streamSelect[] = "login AS ".$key;
} elseif ($key === "owner_id") {
}
elseif ($key === "owner_id") {
$plSelect[] = "login AS ".$key;
$blSelect[] = "login AS ".$key;
$fileSelect[] = "sub.login AS $key";
$streamSelect[] = "login AS ".$key;
} elseif ($key === "replay_gain") {
}
elseif ($key === "replay_gain") {
$plSelect[] = "NULL::NUMERIC AS ".$key;
$blSelect[] = "NULL::NUMERIC AS ".$key;
$fileSelect[] = $key;
$streamSelect[] = "NULL::NUMERIC AS ".$key;
} elseif ($key === "lptime") {
}
elseif ($key === "lptime") {
$plSelect[] = "NULL::TIMESTAMP AS ".$key;
$blSelect[] = "NULL::TIMESTAMP AS ".$key;
$fileSelect[] = $key;
$streamSelect[] = $key;
} elseif ($key === "is_scheduled" || $key === "is_playlist") {
}
elseif ($key === "is_scheduled" || $key === "is_playlist") {
$plSelect[] = "NULL::boolean AS ".$key;
$blSelect[] = "NULL::boolean AS ".$key;
$fileSelect[] = $key;
$streamSelect[] = "NULL::boolean AS ".$key;
} elseif ($key === "cuein" || $key === "cueout") {
}
elseif ($key === "cuein" || $key === "cueout") {
$plSelect[] = "NULL::INTERVAL AS ".$key;
$blSelect[] = "NULL::INTERVAL AS ".$key;
$fileSelect[] = $key;
$streamSelect[] = "NULL::INTERVAL AS ".$key;
}
//file length is displayed based on cueout - cuein.
else if ($key === "length") {
$plSelect[] = $key;
$blSelect[] = $key;
$fileSelect[] = "(cueout - cuein)::INTERVAL AS length";
$streamSelect[] = $key;
}
//same columns in each table.
else if (in_array($key, array("length", "utime", "mtime"))) {
else if (in_array($key, array("utime", "mtime"))) {
$plSelect[] = $key;
$blSelect[] = $key;
$fileSelect[] = $key;
$streamSelect[] = $key;
} elseif ($key === "year") {
}
elseif ($key === "year") {
$plSelect[] = "EXTRACT(YEAR FROM utime)::varchar AS ".$key;
$blSelect[] = "EXTRACT(YEAR FROM utime)::varchar AS ".$key;
$fileSelect[] = "year AS ".$key;
@ -716,17 +732,20 @@ SQL;
$blSelect[] = "NULL::int AS ".$key;
$fileSelect[] = $key;
$streamSelect[] = "NULL::int AS ".$key;
} elseif ($key === "filepath") {
}
elseif ($key === "filepath") {
$plSelect[] = "NULL::VARCHAR AS ".$key;
$blSelect[] = "NULL::VARCHAR AS ".$key;
$fileSelect[] = $key;
$streamSelect[] = "url AS ".$key;
} else if ($key == "mime") {
}
else if ($key == "mime") {
$plSelect[] = "NULL::VARCHAR AS ".$key;
$blSelect[] = "NULL::VARCHAR AS ".$key;
$fileSelect[] = $key;
$streamSelect[] = $key;
} else {
}
else {
$plSelect[] = "NULL::text AS ".$key;
$blSelect[] = "NULL::text AS ".$key;
$fileSelect[] = $key;

View File

@ -27,36 +27,6 @@ class CcFiles extends BaseCcFiles {
return $length;
}
public function getDbLength($format = "H:i:s.u")
{
return parent::getDbLength($format);
}
public function setDbLength($v)
{
//we are using DateTime instead of DateInterval because the latter doesn't
//support subseconds :(
if ($v instanceof DateTime) {
$dt = $v;
}
else {
try {
$dt = new DateTime($v);
} catch (Exception $x) {
throw new PropelException('Error parsing date/time value: ' .
var_export($v, true), $x);
}
}
$this->length = $dt->format('H:i:s.u');
$this->modifiedColumns[] = CcFilesPeer::LENGTH;
return $this;
}
public function setDbTrackNumber($v)
{
$max = pow(2, 31)-1;

View File

@ -79,22 +79,27 @@ class Application_Service_CalendarService
"url" => $baseUrl."schedule/show-content-dialog");
}
} else {
//Show content can be modified from the calendar if:
// the show has not started,
// Show content can be modified from the calendar if:
// the user is admin or hosting the show,
// the show is not recorded
if ($now < $end && ($isAdminOrPM || $isHostOfShow) &&
!$this->ccShowInstance->isRecorded() ) {
$menu["schedule"] = array(
"name"=> _("Add / Remove Content"),
"icon" => "add-remove-content",
"url" => $baseUrl."showbuilder/builder-dialog/");
}
if ($now < $start && ($isAdminOrPM || $isHostOfShow) &&
!$this->ccShowInstance->isRecorded() ) {
$menu["schedule"] = array(
"name"=> _("Add / Remove Content"),
"icon" => "add-remove-content",
"url" => $baseUrl."showbuilder/builder-dialog/");
$menu["clear"] = array(
"name"=> _("Remove All Content"),
"icon" => "remove-all-content",
"url" => $baseUrl."schedule/clear-show");
!$this->ccShowInstance->isRecorded() ) {
$menu["clear"] = array(
"name"=> _("Remove All Content"),
"icon" => "remove-all-content",
"url" => $baseUrl."schedule/clear-show");
}
//"Show Content" should be a menu item at all times except when
@ -306,8 +311,8 @@ class Application_Service_CalendarService
$ccShowDay = $this->ccShow->getFirstCcShowDay();
$showTimezone = new DateTimeZone($ccShowDay->getDbTimezone());
$ccShowDay
->setDbFirstShow($newStartsDateTime->setTimezone($showTimezone))
->setDbLastShow($newEndsDateTime->setTimezone($showTimezone))
->setDbFirstShow($newStartsDateTime->setTimezone($showTimezone)->format("Y-m-d"))
->setDbStartTime($newStartsDateTime->format("H:i"))
->save();
}

View File

@ -575,26 +575,38 @@ class Application_Service_HistoryService
$instanceEnd = $showInstance->getDbEnds(null);
$itemEnd = $item->getDbEnds(null);
$recordStart = $item->getDbStarts(null);
$recordEnd = ($instanceEnd < $itemEnd) ? $instanceEnd : $itemEnd;
$history = new CcPlayoutHistory();
$history->setDbFileId($fileId);
$history->setDbStarts($item->getDbStarts(null));
$history->setDbEnds($recordEnd);
$history->setDbInstanceId($item->getDbInstanceId());
foreach ($metadata as $key => $val) {
$meta = new CcPlayoutHistoryMetaData();
$meta->setDbKey($key);
$meta->setDbValue($val);
$history->addCcPlayoutHistoryMetaData($meta);
}
$history->save($this->con);
}
$this->con->commit();
//first check if this is a duplicate
// (caused by restarting liquidsoap)
$prevRecord = CcPlayoutHistoryQuery::create()
->filterByDbStarts($recordStart)
->filterByDbEnds($recordEnd)
->filterByDbFileId($fileId)
->findOne($this->con);
if (empty($prevRecord)) {
$history = new CcPlayoutHistory();
$history->setDbFileId($fileId);
$history->setDbStarts($recordStart);
$history->setDbEnds($recordEnd);
$history->setDbInstanceId($item->getDbInstanceId());
foreach ($metadata as $key => $val) {
$meta = new CcPlayoutHistoryMetaData();
$meta->setDbKey($key);
$meta->setDbValue($val);
$history->addCcPlayoutHistoryMetaData($meta);
}
$history->save($this->con);
$this->con->commit();
}
}
}
catch (Exception $e) {
$this->con->rollback();

View File

@ -1,22 +1,21 @@
# LANGUAGE (xx_XX) translation for Airtime.
# Copyright (C) 2012 Sourcefabric
# CZECH (cs_CZ) translation for Airtime.
# Copyright (C) 2013 Sourcefabric
# This file is distributed under the same license as the Airtime package.
# Sourcefabric <contact@sourcefabric.org>, 2012.
# Sourcefabric <contact@sourcefabric.org>, 2013.
#
msgid ""
msgstr ""
"Project-Id-Version: Airtime 2.5\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-10-08 11:46-0400\n"
"PO-Revision-Date: 2013-05-22 10:43+0100\n"
"PO-Revision-Date: 2013-10-10 17:18+0100\n"
"Last-Translator: Daniel James <daniel.james@sourcefabric.org>\n"
"Language-Team: Sourcefabric <contact@sourcefabric.org>\n"
"Language: cs_CZ\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-Language: Czech\n"
"X-Poedit-Country: CZECH REPUBLIC\n"
"X-Generator: Poedit 1.5.4\n"
#: airtime_mvc/application/services/HistoryService.php:1091
#: airtime_mvc/application/services/HistoryService.php:1131
@ -62,7 +61,7 @@ msgstr "Délka"
#: airtime_mvc/application/controllers/LocaleController.php:75
#: airtime_mvc/application/views/scripts/schedule/show-content-dialog.phtml:10
msgid "Genre"
msgstr "Pohlaví"
msgstr "Žánr"
#: airtime_mvc/application/services/HistoryService.php:1096
#: airtime_mvc/application/models/Block.php:1346
@ -110,7 +109,7 @@ msgstr "Rok "
#: airtime_mvc/application/services/HistoryService.php:1102
msgid "Track"
msgstr ""
msgstr "Stopa"
#: airtime_mvc/application/services/HistoryService.php:1103
#: airtime_mvc/application/models/Block.php:1332
@ -129,12 +128,12 @@ msgstr "Jazyk"
#: airtime_mvc/application/services/HistoryService.php:1129
#: airtime_mvc/application/forms/EditHistoryItem.php:32
msgid "Start Time"
msgstr ""
msgstr "Čas začátku"
#: airtime_mvc/application/services/HistoryService.php:1130
#: airtime_mvc/application/forms/EditHistoryItem.php:44
msgid "End Time"
msgstr ""
msgstr "Čas konce"
#: airtime_mvc/application/services/HistoryService.php:1150
msgid "Played"
@ -142,7 +141,7 @@ msgstr "Přehráno"
#: airtime_mvc/application/services/CalendarService.php:50
msgid "Record file doesn't exist"
msgstr ""
msgstr "Soubor s nahrávkou neexistuje"
#: airtime_mvc/application/services/CalendarService.php:54
msgid "View Recorded File Metadata"
@ -196,7 +195,7 @@ msgstr "Upravit vysílání"
#: airtime_mvc/application/services/CalendarService.php:138
msgid "Edit This Instance"
msgstr ""
msgstr "Upravit "
#: airtime_mvc/application/services/CalendarService.php:156
#: airtime_mvc/application/services/CalendarService.php:171
@ -220,7 +219,7 @@ msgstr "Odstranit tuto instanci a všechny následující"
#: airtime_mvc/application/services/CalendarService.php:215
msgid "Permission denied"
msgstr ""
msgstr "Přístup odepřen"
#: airtime_mvc/application/services/CalendarService.php:219
#: airtime_mvc/application/models/ShowInstance.php:245
@ -318,7 +317,7 @@ msgstr "Statistiky poslechovost"
#: airtime_mvc/application/configs/navigation.php:92
msgid "History"
msgstr ""
msgstr "Historie"
#: airtime_mvc/application/configs/navigation.php:97
msgid "Playout History"
@ -326,7 +325,7 @@ msgstr "Historie odvysílaného"
#: airtime_mvc/application/configs/navigation.php:104
msgid "History Templates"
msgstr ""
msgstr "Historie nastavení"
#: airtime_mvc/application/configs/navigation.php:113
#: airtime_mvc/application/views/scripts/error/error.phtml:13
@ -363,12 +362,12 @@ msgstr "Odhlásit "
#: airtime_mvc/application/layouts/scripts/layout.phtml:42
#: airtime_mvc/application/layouts/scripts/layout.phtml:68
msgid "Play"
msgstr ""
msgstr "Přehrát"
#: airtime_mvc/application/layouts/scripts/layout.phtml:43
#: airtime_mvc/application/layouts/scripts/layout.phtml:69
msgid "Stop"
msgstr ""
msgstr "Zastavit"
#: airtime_mvc/application/layouts/scripts/layout.phtml:47
#: airtime_mvc/application/models/Block.php:1334
@ -379,7 +378,7 @@ msgstr "Cue in"
#: airtime_mvc/application/layouts/scripts/layout.phtml:49
msgid "Set Cue In"
msgstr ""
msgstr "Nastavit Cue In"
#: airtime_mvc/application/layouts/scripts/layout.phtml:54
#: airtime_mvc/application/models/Block.php:1335
@ -390,11 +389,11 @@ msgstr "Cue out"
#: airtime_mvc/application/layouts/scripts/layout.phtml:56
msgid "Set Cue Out"
msgstr ""
msgstr "Nstavit Cue Out"
#: airtime_mvc/application/layouts/scripts/layout.phtml:73
msgid "Cursor"
msgstr ""
msgstr "Kurzor"
#: airtime_mvc/application/layouts/scripts/layout.phtml:74
#: airtime_mvc/application/controllers/LocaleController.php:273
@ -579,7 +578,7 @@ msgstr "Airtime obnovení hesla"
#: airtime_mvc/application/models/Scheduler.php:72
msgid "Cannot move items out of linked shows"
msgstr ""
msgstr "Nemůže přesunout položky z linkovaných vysílání"
#: airtime_mvc/application/models/Scheduler.php:118
msgid "The schedule you're viewing is out of date! (sched mismatch)"
@ -616,7 +615,7 @@ msgstr "Vysílání %s bylo již dříve aktualizováno!"
#: airtime_mvc/application/models/Scheduler.php:177
msgid "Content in linked shows must be scheduled before or after any one is broadcasted"
msgstr ""
msgstr "Obsah v propojených show musí být zařazen před nebo po kterémkoliv, který je vysílaný "
#: airtime_mvc/application/models/Scheduler.php:199
#: airtime_mvc/application/models/Scheduler.php:288
@ -1165,7 +1164,7 @@ msgstr "Přihlašovací jméno není jedinečné."
#: airtime_mvc/application/controllers/LocaleController.php:390
#: airtime_mvc/application/views/scripts/form/edit-history-item.phtml:53
msgid "No Show"
msgstr ""
msgstr "Žádné vysílání"
#: airtime_mvc/application/forms/StreamSettingSubForm.php:48
msgid "Enabled:"
@ -1253,7 +1252,7 @@ msgstr "Mount nemůže být prázdný s Icecast serverem."
#: airtime_mvc/application/forms/AddShowRepeats.php:10
msgid "Link:"
msgstr ""
msgstr "Link:"
#: airtime_mvc/application/forms/AddShowRepeats.php:16
msgid "Repeat Type:"
@ -1265,15 +1264,15 @@ msgstr "týdně"
#: airtime_mvc/application/forms/AddShowRepeats.php:20
msgid "every 2 weeks"
msgstr ""
msgstr "každé 2 týdny"
#: airtime_mvc/application/forms/AddShowRepeats.php:21
msgid "every 3 weeks"
msgstr ""
msgstr "každé 3 týdny"
#: airtime_mvc/application/forms/AddShowRepeats.php:22
msgid "every 4 weeks"
msgstr ""
msgstr "každé 4 týdny"
#: airtime_mvc/application/forms/AddShowRepeats.php:23
msgid "monthly"
@ -1320,15 +1319,15 @@ msgstr "So"
#: airtime_mvc/application/forms/AddShowRepeats.php:47
msgid "Repeat By:"
msgstr ""
msgstr "Opakovat:"
#: airtime_mvc/application/forms/AddShowRepeats.php:50
msgid "day of the month"
msgstr ""
msgstr "den v měsíci"
#: airtime_mvc/application/forms/AddShowRepeats.php:50
msgid "day of the week"
msgstr ""
msgstr "den v týdnu"
#: airtime_mvc/application/forms/AddShowRepeats.php:69
msgid "No End?"
@ -1340,7 +1339,7 @@ msgstr "Datum ukončení musí být po počátečním datumu"
#: airtime_mvc/application/forms/AddShowRepeats.php:110
msgid "Please select a repeat day"
msgstr ""
msgstr "Prosím vyberte den opakování"
#: airtime_mvc/application/forms/AddShowWhat.php:26
#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:33
@ -1661,7 +1660,7 @@ msgstr "Všechna má vysílání:"
#: airtime_mvc/application/forms/EditUser.php:121
msgid "Interface Timezone:"
msgstr ""
msgstr "Časové pásmo uživatelského rozhraní"
#: airtime_mvc/application/forms/AddShowLiveStream.php:10
msgid "Use Airtime Authentication:"
@ -1689,7 +1688,7 @@ msgstr "Heslo musí být zadáno."
#: airtime_mvc/application/forms/GeneralPreferences.php:33
msgid "Default Crossfade Duration (s):"
msgstr ""
msgstr "Defoltní nastavení doby plynulého přechodu"
#: airtime_mvc/application/forms/GeneralPreferences.php:40
#: airtime_mvc/application/forms/GeneralPreferences.php:59
@ -1699,11 +1698,11 @@ msgstr "zadejte čas v sekundách 0{.0}"
#: airtime_mvc/application/forms/GeneralPreferences.php:52
msgid "Default Fade In (s):"
msgstr ""
msgstr "Přednastavení Fade In:"
#: airtime_mvc/application/forms/GeneralPreferences.php:71
msgid "Default Fade Out (s):"
msgstr ""
msgstr "Přednastavení Fade Out:"
#: airtime_mvc/application/forms/GeneralPreferences.php:89
#, php-format
@ -1724,7 +1723,7 @@ msgstr "Výchozí jazyk rozhraní"
#: airtime_mvc/application/forms/GeneralPreferences.php:105
msgid "Station Timezone"
msgstr ""
msgstr "Časové pásmo stanice"
#: airtime_mvc/application/forms/GeneralPreferences.php:113
msgid "Week Starts On"
@ -2060,11 +2059,11 @@ msgstr "Jste si jisti, že chcete smazat vybranou položku(y)?"
#: airtime_mvc/application/controllers/LocaleController.php:64
msgid "Scheduled"
msgstr ""
msgstr "Naplánováno"
#: airtime_mvc/application/controllers/LocaleController.php:65
msgid "Playlist / Block"
msgstr ""
msgstr "Playlist/Blok"
#: airtime_mvc/application/controllers/LocaleController.php:69
msgid "Bit Rate"
@ -2155,7 +2154,7 @@ msgstr "Právě nahráváte soubory. %sPřechodem na jinou obrazovku zrušíte n
#: airtime_mvc/application/controllers/LocaleController.php:113
msgid "Open Media Builder"
msgstr ""
msgstr "Otevřít Media Builder"
#: airtime_mvc/application/controllers/LocaleController.php:114
msgid "please put in a time '00:00:00 (.0)'"
@ -2252,7 +2251,7 @@ msgid ""
"Are you sure you want to change the storage folder?\n"
"This will remove the files from your Airtime library!"
msgstr ""
"Jste si jisti, že chcete změnit složku úložiště ? \n"
"Jste si jisti, že chcete změnit složku úložiště ?\n"
"Tímto odstraníte soubry z vaší Airtime knihovny!"
#: airtime_mvc/application/controllers/LocaleController.php:156
@ -2271,7 +2270,7 @@ msgstr "Tato cesta není v současné době dostupná."
#: airtime_mvc/application/controllers/LocaleController.php:160
#, php-format
msgid "Some stream types require extra configuration. Details about enabling %sAAC+ Support%s or %sOpus Support%s are provided."
msgstr ""
msgstr "Některé typy streamů vyžadují zvláštní konfiguraci. Detaily o přístupu %sAAC+ Support%s nebo %sOpus Support%s jsou poskytovány."
#: airtime_mvc/application/controllers/LocaleController.php:161
msgid "Connected to the streaming server"
@ -2341,15 +2340,15 @@ msgstr "Ukázka vysílání již neexistuje!"
#: airtime_mvc/application/controllers/LocaleController.php:185
msgid "Warning: Shows cannot be re-linked"
msgstr ""
msgstr "Varování: Vysílání nemohou být znovu linkována."
#: airtime_mvc/application/controllers/LocaleController.php:186
msgid "By linking your repeating shows any media items scheduled in any repeat show will also get scheduled in the other repeat shows"
msgstr ""
msgstr "Propojením vašich opakujících se show, jakákoliv média zařazena v jakékoliv opakující se show bude také zařazena do dalších opakujících se show."
#: airtime_mvc/application/controllers/LocaleController.php:187
msgid "Timezone is set to the station timezone by default. Shows in the calendar will be displayed in your local time defined by the Interface Timezone in your user settings."
msgstr ""
msgstr "Časové pásmo je nastaveno v časovém pásmu stanice defoltně. Show v kalendáři bude zobrazena v lokálním čase nastaveném časovým pásmem vašeho uživatelského rozhraní ve vašem uživatelském nastavení. "
#: airtime_mvc/application/controllers/LocaleController.php:191
msgid "Show"
@ -2573,15 +2572,15 @@ msgstr "Posunutí %s položek"
#: airtime_mvc/application/controllers/LocaleController.php:286
msgid "Fade Editor"
msgstr ""
msgstr "Fade Editor"
#: airtime_mvc/application/controllers/LocaleController.php:287
msgid "Cue Editor"
msgstr ""
msgstr "Cue Editor"
#: airtime_mvc/application/controllers/LocaleController.php:288
msgid "Waveform features are available in a browser supporting the Web Audio API"
msgstr ""
msgstr "Prvky Waveform jsou k dispozici v prohlížeči podporující Web Audio API"
#: airtime_mvc/application/controllers/LocaleController.php:291
msgid "Select all"
@ -2873,15 +2872,15 @@ msgstr "Chyba: Neplatná přípona souboru: "
#: airtime_mvc/application/views/scripts/playouthistorytemplate/index.phtml:25
#: airtime_mvc/application/views/scripts/playouthistorytemplate/index.phtml:56
msgid "Set Default"
msgstr ""
msgstr "Nastavit jako default"
#: airtime_mvc/application/controllers/LocaleController.php:388
msgid "Create Entry"
msgstr ""
msgstr "Vytvořit vstup"
#: airtime_mvc/application/controllers/LocaleController.php:389
msgid "Edit History Record"
msgstr ""
msgstr "Editovat historii nahrávky"
#: airtime_mvc/application/controllers/LocaleController.php:392
#, php-format
@ -3182,15 +3181,15 @@ msgstr "Pro podrobnější nápovědu si přečtěte %suživatelský manuál%s."
#: airtime_mvc/application/views/scripts/playouthistory/index.phtml:7
msgid "Log Sheet"
msgstr ""
msgstr "Přehled logu"
#: airtime_mvc/application/views/scripts/playouthistory/index.phtml:8
msgid "File Summary"
msgstr ""
msgstr "Shrnutí souboru"
#: airtime_mvc/application/views/scripts/playouthistory/index.phtml:10
msgid "Show Summary"
msgstr ""
msgstr "Shrnutí show"
#: airtime_mvc/application/views/scripts/playlist/update.phtml:54
msgid "Expand Static Block"
@ -3211,7 +3210,7 @@ msgstr "Prázdný playlist"
#: airtime_mvc/application/views/scripts/playlist/set-fade.phtml:3
#: airtime_mvc/application/views/scripts/playlist/set-cue.phtml:3
msgid "Show Waveform"
msgstr ""
msgstr "UKázat Waveform"
#: airtime_mvc/application/views/scripts/playlist/set-fade.phtml:6
#: airtime_mvc/application/views/scripts/playlist/playlist.phtml:70
@ -3258,12 +3257,12 @@ msgstr "Nový webstream"
#: airtime_mvc/application/views/scripts/playlist/playlist.phtml:21
msgid "Empty playlist content"
msgstr ""
msgstr "Prázdný playlist"
#: airtime_mvc/application/views/scripts/playlist/playlist.phtml:21
#: airtime_mvc/application/views/scripts/playlist/smart-block.phtml:21
msgid "Clear"
msgstr ""
msgstr "Vymazat"
#: airtime_mvc/application/views/scripts/playlist/playlist.phtml:24
msgid "Shuffle playlist"
@ -3290,7 +3289,7 @@ msgstr "Neotevřený playlist"
#: airtime_mvc/application/views/scripts/playlist/smart-block.phtml:21
msgid "Empty smart block content"
msgstr ""
msgstr "Prázný obsah smart block."
#: airtime_mvc/application/views/scripts/playlist/smart-block.phtml:90
msgid "No open smart block"
@ -3463,11 +3462,11 @@ msgstr "Stránka, kterou hledáte, neexistuje!"
#: airtime_mvc/application/views/scripts/form/edit-history-item.phtml:45
msgid "Choose Show Instance"
msgstr ""
msgstr "Vybrat instanci show"
#: airtime_mvc/application/views/scripts/form/edit-history-item.phtml:56
msgid "Find"
msgstr ""
msgstr "Najdi"
#: airtime_mvc/application/views/scripts/form/stream-setting-form.phtml:4
msgid "Stream "
@ -3662,11 +3661,11 @@ msgstr "Možnosti Smart Blocku"
#: airtime_mvc/application/views/scripts/form/smart-block-criteria.phtml:39
msgid "or"
msgstr ""
msgstr "nebo"
#: airtime_mvc/application/views/scripts/form/smart-block-criteria.phtml:40
msgid "and"
msgstr ""
msgstr "a"
#: airtime_mvc/application/views/scripts/form/smart-block-criteria.phtml:63
msgid " to "
@ -3693,47 +3692,47 @@ msgstr "Rozšířené možnosti hledání"
#: airtime_mvc/application/views/scripts/playouthistorytemplate/template-contents.phtml:2
msgid "Creating File Summary Template"
msgstr ""
msgstr "Vytvořit soubor přehledu nastavení"
#: airtime_mvc/application/views/scripts/playouthistorytemplate/template-contents.phtml:4
msgid "Creating Log Sheet Template"
msgstr ""
msgstr "Vytvořit vzor přehledu logů"
#: airtime_mvc/application/views/scripts/playouthistorytemplate/template-contents.phtml:46
msgid "Add more elements"
msgstr ""
msgstr "Přidat elementy"
#: airtime_mvc/application/views/scripts/playouthistorytemplate/template-contents.phtml:67
msgid "Add New Field"
msgstr ""
msgstr "Přidat nové pole"
#: airtime_mvc/application/views/scripts/playouthistorytemplate/template-contents.phtml:83
msgid "Set Default Template"
msgstr ""
msgstr "Nastavit defolní šablnu"
#: airtime_mvc/application/views/scripts/playouthistorytemplate/index.phtml:4
msgid "Log Sheet Templates"
msgstr ""
msgstr "Vzory přehledu logů"
#: airtime_mvc/application/views/scripts/playouthistorytemplate/index.phtml:7
msgid "No Log Sheet Templates"
msgstr ""
msgstr "Vzory přehledu logů nejsou"
#: airtime_mvc/application/views/scripts/playouthistorytemplate/index.phtml:31
msgid "New Log Sheet Template"
msgstr ""
msgstr "Nový vzor přehledu logů"
#: airtime_mvc/application/views/scripts/playouthistorytemplate/index.phtml:35
msgid "File Summary Templates"
msgstr ""
msgstr "Vzory přehledu souboru"
#: airtime_mvc/application/views/scripts/playouthistorytemplate/index.phtml:38
msgid "No File Summary Templates"
msgstr ""
msgstr "Nový vzor přehledu souboru"
#: airtime_mvc/application/views/scripts/playouthistorytemplate/index.phtml:62
msgid "New File Summary Template"
msgstr ""
msgstr "Nový vzor přehledu souboru"
#: airtime_mvc/application/views/scripts/preference/stream-setting.phtml:2
msgid "Stream Settings"
@ -3834,8 +3833,12 @@ msgstr "Žádné záznamy"
#~ msgid "Timezone"
#~ msgstr "Časová zóna"
#~ msgid "%sAirtime%s %s, , the open radio software for scheduling and remote station management. %s"
#~ msgstr "%s Airtime %s %s ,, open radio software pro plánování a řízení vzdálené stanice. %s"
#~ msgid ""
#~ "%sAirtime%s %s, , the open radio software for scheduling and remote "
#~ "station management. %s"
#~ msgstr ""
#~ "%s Airtime %s %s ,, open radio software pro plánování a řízení vzdálené "
#~ "stanice. %s"
#~ msgid "File"
#~ msgstr "Soubor"

View File

@ -8,10 +8,9 @@ msgstr ""
"Project-Id-Version: Airtime 2.5\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-10-08 11:46-0400\n"
"PO-Revision-Date: 2013-05-30 14:55+0100\n"
"PO-Revision-Date: 2013-10-16 15:38+0100\n"
"Last-Translator: Daniel James <daniel.james@sourcefabric.org>\n"
"Language-Team: Austrian Localization <contact@sourcefabric.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@ -109,7 +108,7 @@ msgstr "Jahr"
#: airtime_mvc/application/services/HistoryService.php:1102
msgid "Track"
msgstr ""
msgstr "Titel"
#: airtime_mvc/application/services/HistoryService.php:1103
#: airtime_mvc/application/models/Block.php:1332
@ -128,12 +127,12 @@ msgstr "Sprache"
#: airtime_mvc/application/services/HistoryService.php:1129
#: airtime_mvc/application/forms/EditHistoryItem.php:32
msgid "Start Time"
msgstr ""
msgstr "Beginn"
#: airtime_mvc/application/services/HistoryService.php:1130
#: airtime_mvc/application/forms/EditHistoryItem.php:44
msgid "End Time"
msgstr ""
msgstr "Ende"
#: airtime_mvc/application/services/HistoryService.php:1150
msgid "Played"
@ -141,7 +140,7 @@ msgstr "Abgespielt"
#: airtime_mvc/application/services/CalendarService.php:50
msgid "Record file doesn't exist"
msgstr ""
msgstr "Aufeichnung existiert nicht"
#: airtime_mvc/application/services/CalendarService.php:54
msgid "View Recorded File Metadata"
@ -171,7 +170,7 @@ msgstr "Sendungsinhalt"
#: airtime_mvc/application/controllers/LocaleController.php:302
#: airtime_mvc/application/views/scripts/showbuilder/index.phtml:15
msgid "Add / Remove Content"
msgstr "Inhalt Hinzufügen / Entfernen"
msgstr "Inhalt hinzufügen / entfernen"
#: airtime_mvc/application/services/CalendarService.php:95
msgid "Remove All Content"
@ -186,16 +185,16 @@ msgstr "Aktuelle Sendung abbrechen"
#: airtime_mvc/application/controllers/LibraryController.php:241
#: airtime_mvc/application/controllers/LibraryController.php:263
msgid "Edit"
msgstr "Ändern"
msgstr "Bearbeiten"
#: airtime_mvc/application/services/CalendarService.php:133
#: airtime_mvc/application/services/CalendarService.php:143
msgid "Edit Show"
msgstr "Sendung ändern"
msgstr "Sendung bearbeiten"
#: airtime_mvc/application/services/CalendarService.php:138
msgid "Edit This Instance"
msgstr "Bearbeite diese Folge"
msgstr "Diese Folge bearbeiten"
#: airtime_mvc/application/services/CalendarService.php:156
#: airtime_mvc/application/services/CalendarService.php:171
@ -317,15 +316,15 @@ msgstr "Hörerstatistiken"
#: airtime_mvc/application/configs/navigation.php:92
msgid "History"
msgstr ""
msgstr "Verlauf"
#: airtime_mvc/application/configs/navigation.php:97
msgid "Playout History"
msgstr "Playout Historie"
msgstr "Playout Verlauf"
#: airtime_mvc/application/configs/navigation.php:104
msgid "History Templates"
msgstr ""
msgstr "Verlaufsvorlagen"
#: airtime_mvc/application/configs/navigation.php:113
#: airtime_mvc/application/views/scripts/error/error.phtml:13
@ -378,7 +377,7 @@ msgstr "Cue In"
#: airtime_mvc/application/layouts/scripts/layout.phtml:49
msgid "Set Cue In"
msgstr "Cue In bestimmen"
msgstr "Cue In setzen"
#: airtime_mvc/application/layouts/scripts/layout.phtml:54
#: airtime_mvc/application/models/Block.php:1335
@ -389,7 +388,7 @@ msgstr "Cue Out"
#: airtime_mvc/application/layouts/scripts/layout.phtml:56
msgid "Set Cue Out"
msgstr "Cue Out bestimmen"
msgstr "Cue Out setzen"
#: airtime_mvc/application/layouts/scripts/layout.phtml:73
msgid "Cursor"
@ -829,7 +828,7 @@ msgstr "Port"
#: airtime_mvc/application/forms/SupportSettings.php:21
#: airtime_mvc/application/forms/GeneralPreferences.php:21
msgid "Station Name"
msgstr "Sendername:"
msgstr "Sendername"
#: airtime_mvc/application/forms/RegisterAirtime.php:39
#: airtime_mvc/application/forms/SupportSettings.php:34
@ -1002,7 +1001,7 @@ msgstr "Automatisch abschalten"
#: airtime_mvc/application/forms/LiveStreamingPreferences.php:26
msgid "Auto Switch On"
msgstr "Automatisch anschalten"
msgstr "Automatisch einschalten"
#: airtime_mvc/application/forms/LiveStreamingPreferences.php:33
msgid "Switch Transition Fade (s)"
@ -1164,7 +1163,7 @@ msgstr "Benutzername ist nicht einmalig."
#: airtime_mvc/application/controllers/LocaleController.php:390
#: airtime_mvc/application/views/scripts/form/edit-history-item.phtml:53
msgid "No Show"
msgstr ""
msgstr "Keine Sendung"
#: airtime_mvc/application/forms/StreamSettingSubForm.php:48
msgid "Enabled:"
@ -1264,15 +1263,15 @@ msgstr "Wöchentlich"
#: airtime_mvc/application/forms/AddShowRepeats.php:20
msgid "every 2 weeks"
msgstr ""
msgstr "jede Zweite Woche"
#: airtime_mvc/application/forms/AddShowRepeats.php:21
msgid "every 3 weeks"
msgstr ""
msgstr "jede Dritte Woche"
#: airtime_mvc/application/forms/AddShowRepeats.php:22
msgid "every 4 weeks"
msgstr ""
msgstr "jede Vierte Woche"
#: airtime_mvc/application/forms/AddShowRepeats.php:23
msgid "monthly"
@ -1339,7 +1338,7 @@ msgstr "Enddatum muß nach Startdatum liegen."
#: airtime_mvc/application/forms/AddShowRepeats.php:110
msgid "Please select a repeat day"
msgstr ""
msgstr "Bitte Tag zum Wiederholen wählen"
#: airtime_mvc/application/forms/AddShowWhat.php:26
#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:33
@ -1370,7 +1369,7 @@ msgstr "Beschreibung:"
#: airtime_mvc/application/forms/AddShowWho.php:10
msgid "Search Users:"
msgstr "Suche Benutzer:"
msgstr "Benutzer suchen:"
#: airtime_mvc/application/forms/AddShowWho.php:24
msgid "DJs:"
@ -1398,11 +1397,11 @@ msgstr "Artist - Titel"
#: airtime_mvc/application/forms/StreamSetting.php:56
msgid "Show - Artist - Title"
msgstr "Sendung - Artist - Titel"
msgstr "Sendung - Interpret - Titel"
#: airtime_mvc/application/forms/StreamSetting.php:57
msgid "Station name - Show name"
msgstr "Radiostation - Sendungsname"
msgstr "Radiostation - Sendung"
#: airtime_mvc/application/forms/StreamSetting.php:63
msgid "Off Air Metadata"
@ -1568,7 +1567,7 @@ msgstr "Minuten"
#: airtime_mvc/application/forms/SmartBlockCriteria.php:142
msgid "Set smart block type:"
msgstr "Bestimme Smart Block Typ:"
msgstr "Smart Block Typ festlegen:"
#: airtime_mvc/application/forms/SmartBlockCriteria.php:145
msgid "Static"
@ -1660,15 +1659,15 @@ msgstr "Alle meine Sendungen:"
#: airtime_mvc/application/forms/EditUser.php:121
msgid "Interface Timezone:"
msgstr ""
msgstr "Zeitzone Interface"
#: airtime_mvc/application/forms/AddShowLiveStream.php:10
msgid "Use Airtime Authentication:"
msgstr "Verwende Airtime Authentifizierung:"
msgstr "Airtime Authentifizierung:"
#: airtime_mvc/application/forms/AddShowLiveStream.php:16
msgid "Use Custom Authentication:"
msgstr "Verwende benutzerdefinierte Authentifizierung:"
msgstr "Benutzerdefinierte Authentifizierung:"
#: airtime_mvc/application/forms/AddShowLiveStream.php:26
msgid "Custom Username"
@ -1723,7 +1722,7 @@ msgstr "Standardsprache"
#: airtime_mvc/application/forms/GeneralPreferences.php:105
msgid "Station Timezone"
msgstr ""
msgstr "Zeitzone Radiostation"
#: airtime_mvc/application/forms/GeneralPreferences.php:113
msgid "Week Starts On"
@ -1980,7 +1979,7 @@ msgstr "Aktuell"
#: airtime_mvc/application/controllers/LocaleController.php:39
msgid "You are running the latest version"
msgstr "Sie betreiben die aktuellste Version"
msgstr "Sie verwenden die aktuellste Version"
#: airtime_mvc/application/controllers/LocaleController.php:40
msgid "New version available: "
@ -2031,7 +2030,7 @@ msgstr "Bitte wählen Sie eine Cursor-Position auf der Zeitleiste."
#: airtime_mvc/application/controllers/LocaleController.php:57
#: airtime_mvc/application/controllers/LibraryController.php:218
msgid "Edit Metadata"
msgstr "Metadaten ändern"
msgstr "Metadaten bearbeiten"
#: airtime_mvc/application/controllers/LocaleController.php:58
msgid "Add to selected show"
@ -2039,19 +2038,19 @@ msgstr "Zu gewählter Sendung hinzufügen"
#: airtime_mvc/application/controllers/LocaleController.php:59
msgid "Select"
msgstr "Wählen"
msgstr "Auswahl"
#: airtime_mvc/application/controllers/LocaleController.php:60
msgid "Select this page"
msgstr "Wählen sie diese Seite"
msgstr "Ganze Seite markieren"
#: airtime_mvc/application/controllers/LocaleController.php:61
msgid "Deselect this page"
msgstr "Wählen sie diese Seite ab"
msgstr "Ganze Seite nicht markieren"
#: airtime_mvc/application/controllers/LocaleController.php:62
msgid "Deselect all"
msgstr "Alle Abwählen"
msgstr "Keines Markieren"
#: airtime_mvc/application/controllers/LocaleController.php:63
msgid "Are you sure you want to delete the selected item(s)?"
@ -2222,7 +2221,7 @@ msgstr ""
msgid "A dynamic smart block will only save the criteria. The block content will get generated upon adding it to a show. You will not be able to view and edit the content in the Library."
msgstr ""
"Ein Dynamischer Smart Block speichert nur die Kriterien.\n"
"Dabei wird der Inhalt erst erstellt, wenn der Smart Block einer Sendung hinzugefügt wird. Der Inhalt des Smart Blocks kann in der Bibliothek nicht eingesehen oder editiert werden."
"Dabei wird der Inhalt erst erstellt, wenn der Smart Block einer Sendung hinzugefügt wird. Der Inhalt des Smart Blocks kann in der Bibliothek nicht eingesehen oder verändert werden."
#: airtime_mvc/application/controllers/LocaleController.php:136
msgid "The desired block length will not be reached if Airtime cannot find enough unique tracks to match your criteria. Enable this option if you wish to allow tracks to be added multiple times to the smart block."
@ -2278,7 +2277,7 @@ msgstr "Dieser Pfad ist derzeit nicht erreichbar."
#: airtime_mvc/application/controllers/LocaleController.php:160
#, php-format
msgid "Some stream types require extra configuration. Details about enabling %sAAC+ Support%s or %sOpus Support%s are provided."
msgstr ""
msgstr "Manche Stream-Typen erfordern zusätzlich Konfiguration. Details zur Aktivierung von %sAAC+ Support%s oder %sOpus Support%s sind bereitgestellt."
#: airtime_mvc/application/controllers/LocaleController.php:161
msgid "Connected to the streaming server"
@ -2347,7 +2346,7 @@ msgstr "Diese Einstellung folgt den Sicherheitsvorlagen für Shows: Nur Benutzer
#: airtime_mvc/application/controllers/LocaleController.php:182
msgid "Specify custom authentication which will work only for this show."
msgstr "Bestimmen einer benutzerdefinierten Authentifizierung, welche nur für diese Sendung funktionieren wird."
msgstr "Hiermit aktiviert man eine benutzerdefinierte Authentifizierung, welche nur für diese Sendung funktionieren wird."
#: airtime_mvc/application/controllers/LocaleController.php:184
msgid "The show instance doesn't exist anymore!"
@ -2355,7 +2354,7 @@ msgstr "Die Sendungsinstanz existiert nicht mehr!"
#: airtime_mvc/application/controllers/LocaleController.php:185
msgid "Warning: Shows cannot be re-linked"
msgstr "Warnung: Sendungen können nicht wieder verknüpft werden."
msgstr "Warnung: Sendungen können nicht erneut verknüpft werden."
#: airtime_mvc/application/controllers/LocaleController.php:186
msgid "By linking your repeating shows any media items scheduled in any repeat show will also get scheduled in the other repeat shows"
@ -2363,7 +2362,7 @@ msgstr "Beim Verknüpfen von wiederkehrenden Sendungen werden jegliche Medien, d
#: airtime_mvc/application/controllers/LocaleController.php:187
msgid "Timezone is set to the station timezone by default. Shows in the calendar will be displayed in your local time defined by the Interface Timezone in your user settings."
msgstr ""
msgstr "Die Zeitzone ist standardmäßig auf die Zeitzone der Radiostation eingestellt. Der Im Kalender werden die Sendungen in jener Ortszeit dargestellt, welche in den Benutzereinstellungen für das Interface festgelegt wurde."
#: airtime_mvc/application/controllers/LocaleController.php:191
msgid "Show"
@ -2403,7 +2402,7 @@ msgstr "Daten werden vom Server abgerufen..."
#: airtime_mvc/application/controllers/LocaleController.php:206
msgid "This show has no scheduled content."
msgstr "Diese Sendung hat keinen festgelegten Inhalt."
msgstr "Diese Sendung hat keinen geplanten Inhalt."
#: airtime_mvc/application/controllers/LocaleController.php:207
msgid "This show is not completely filled with content."
@ -2520,7 +2519,7 @@ msgstr "Monat"
#: airtime_mvc/application/controllers/LocaleController.php:253
msgid "Shows longer than their scheduled time will be cut off by a following show."
msgstr "Wenn der Inhalt einer Sendung länger ist als im Kalender festgelegt ist, wird das Ende durch eine nachfolgende Sendung abgschnitten."
msgstr "Wenn der Inhalt einer Sendung länger ist als die Sendung im Kalender geplant ist, wird das Ende durch eine nachfolgende Sendung abgeschnitten."
#: airtime_mvc/application/controllers/LocaleController.php:254
msgid "Cancel Current Show?"
@ -2611,7 +2610,7 @@ msgstr "Überbuchte Titel entfernen"
#: airtime_mvc/application/controllers/LocaleController.php:294
msgid "Remove selected scheduled items"
msgstr "Gewähltes Element entfernen"
msgstr "Gewähltes Objekt entfernen"
#: airtime_mvc/application/controllers/LocaleController.php:295
msgid "Jump to the current playing track"
@ -2711,7 +2710,7 @@ msgstr "System Status betrachten"
#: airtime_mvc/application/controllers/LocaleController.php:333
msgid "Access playout history"
msgstr "Zugriff auf Playlist Historie"
msgstr "Zugriff auf Playout Verlauf"
#: airtime_mvc/application/controllers/LocaleController.php:334
msgid "View listener stats"
@ -2794,7 +2793,7 @@ msgstr "Dateien wählen"
#: airtime_mvc/application/controllers/LocaleController.php:360
#: airtime_mvc/application/controllers/LocaleController.php:361
msgid "Add files to the upload queue and click the start button."
msgstr "Fügen sie Dateien der Warteschlange zum Hochladen hinzu und drücken Sie auf Start."
msgstr "Fügen sie zum Hochladen Dateien der Warteschlange hinzu und drücken Sie auf Start."
#: airtime_mvc/application/controllers/LocaleController.php:364
msgid "Add Files"
@ -2887,15 +2886,15 @@ msgstr "Fehler: Ungültige Dateierweiterung:"
#: airtime_mvc/application/views/scripts/playouthistorytemplate/index.phtml:25
#: airtime_mvc/application/views/scripts/playouthistorytemplate/index.phtml:56
msgid "Set Default"
msgstr ""
msgstr "Standard festlegen"
#: airtime_mvc/application/controllers/LocaleController.php:388
msgid "Create Entry"
msgstr ""
msgstr "Eintrag erstellen"
#: airtime_mvc/application/controllers/LocaleController.php:389
msgid "Edit History Record"
msgstr ""
msgstr "Verlaufsprotokoll bearbeiten"
#: airtime_mvc/application/controllers/LocaleController.php:392
#, php-format
@ -2973,7 +2972,7 @@ msgstr "Etwas ist falsch gelaufen."
#: airtime_mvc/application/controllers/LibraryController.php:234
#: airtime_mvc/application/controllers/LibraryController.php:257
msgid "Add to Playlist"
msgstr "Hinzufügen zu Playlist"
msgstr "Zu Playlist hinzufügen"
#: airtime_mvc/application/controllers/LibraryController.php:212
msgid "Add to Smart Block"
@ -3059,7 +3058,7 @@ msgstr "Ungültiger Eingabewert"
#: airtime_mvc/application/views/scripts/listenerstat/index.phtml:2
msgid "Listener Count Over Time"
msgstr "Hörerzahl im Zeitablauf"
msgstr "Hörerzahl im Zeitraffer"
#: airtime_mvc/application/views/scripts/partialviews/header.phtml:3
msgid "Previous:"
@ -3185,7 +3184,7 @@ msgstr ""
#: airtime_mvc/application/views/scripts/dashboard/help.phtml:10
msgid "Select your media from the left pane and drag them to your show in the right pane."
msgstr "Wählen sie Medien vom linken Feld und ziehen sie es in ihre Sendung am im rechten Feld."
msgstr "Wählen sie Medien vom linken Feld und ziehen sie diese in ihre Sendung im rechten Feld."
#: airtime_mvc/application/views/scripts/dashboard/help.phtml:12
msgid "Then you're good to go!"
@ -3198,15 +3197,15 @@ msgstr "Für weitere Hilfe bitte das %sBenutzerhandbuch%s lesen."
#: airtime_mvc/application/views/scripts/playouthistory/index.phtml:7
msgid "Log Sheet"
msgstr ""
msgstr "Protokoll"
#: airtime_mvc/application/views/scripts/playouthistory/index.phtml:8
msgid "File Summary"
msgstr ""
msgstr "Dateiübersicht"
#: airtime_mvc/application/views/scripts/playouthistory/index.phtml:10
msgid "Show Summary"
msgstr ""
msgstr "Sendungsübersicht"
#: airtime_mvc/application/views/scripts/playlist/update.phtml:54
msgid "Expand Static Block"
@ -3218,11 +3217,11 @@ msgstr "Dynamischen Block erweitern"
#: airtime_mvc/application/views/scripts/playlist/update.phtml:135
msgid "Empty smart block"
msgstr "Smart Block leeren"
msgstr "Smart Block leer"
#: airtime_mvc/application/views/scripts/playlist/update.phtml:137
msgid "Empty playlist"
msgstr "Playlist leeren"
msgstr "Playlist leer"
#: airtime_mvc/application/views/scripts/playlist/set-fade.phtml:3
#: airtime_mvc/application/views/scripts/playlist/set-cue.phtml:3
@ -3298,7 +3297,7 @@ msgstr "Playlist Crossfade"
#: airtime_mvc/application/views/scripts/playlist/smart-block.phtml:55
#: airtime_mvc/application/views/scripts/webstream/webstream.phtml:39
msgid "View / edit description"
msgstr "Beschreibung ansehen / ändern"
msgstr "Beschreibung ansehen / bearbeiten"
#: airtime_mvc/application/views/scripts/playlist/playlist.phtml:85
msgid "No open playlist"
@ -3481,11 +3480,11 @@ msgstr "Scheinbar existiert die Seite die sie suchen nicht!"
#: airtime_mvc/application/views/scripts/form/edit-history-item.phtml:45
msgid "Choose Show Instance"
msgstr ""
msgstr "Folge wählen"
#: airtime_mvc/application/views/scripts/form/edit-history-item.phtml:56
msgid "Find"
msgstr ""
msgstr "Finden"
#: airtime_mvc/application/views/scripts/form/stream-setting-form.phtml:4
msgid "Stream "
@ -3523,7 +3522,7 @@ msgstr "Stream URL:"
#: airtime_mvc/application/views/scripts/form/preferences_watched_dirs.phtml:9
#: airtime_mvc/application/views/scripts/form/preferences_watched_dirs.phtml:27
msgid "Choose folder"
msgstr "Wähle Verzeichnis"
msgstr "Verzeichnis wählen"
#: airtime_mvc/application/views/scripts/form/preferences_watched_dirs.phtml:10
msgid "Set"
@ -3600,11 +3599,11 @@ msgstr "Geschäftsbedingungen und Rahmenverhältnisse"
#: airtime_mvc/application/views/scripts/form/showbuilder.phtml:7
msgid "Find Shows"
msgstr "Suche Sendungen"
msgstr "Sendungen suchen"
#: airtime_mvc/application/views/scripts/form/showbuilder.phtml:12
msgid "Filter By Show:"
msgstr "Filter nach Sendung:"
msgstr "Nach Sendung filtern:"
#: airtime_mvc/application/views/scripts/form/preferences_livestream.phtml:2
msgid "Input Stream Settings"
@ -3617,7 +3616,7 @@ msgstr "Master-Quelle Verbindungs-URL:"
#: airtime_mvc/application/views/scripts/form/preferences_livestream.phtml:115
#: airtime_mvc/application/views/scripts/form/preferences_livestream.phtml:159
msgid "Override"
msgstr "Überordnen"
msgstr "Übersteuern"
#: airtime_mvc/application/views/scripts/form/preferences_livestream.phtml:120
#: airtime_mvc/application/views/scripts/form/preferences_livestream.phtml:164
@ -3644,7 +3643,7 @@ msgstr "Wiederholungstage:"
#: airtime_mvc/application/views/scripts/form/daterange.phtml:6
msgid "Filter History"
msgstr "Filter Historie"
msgstr "Filter Verlauf"
#: airtime_mvc/application/views/scripts/form/preferences.phtml:5
msgid "Email / Mail Server Settings"
@ -3713,47 +3712,47 @@ msgstr "Erweiterte Suchoptionen"
#: airtime_mvc/application/views/scripts/playouthistorytemplate/template-contents.phtml:2
msgid "Creating File Summary Template"
msgstr ""
msgstr "Erstelle Dateiübersichtsvorlage"
#: airtime_mvc/application/views/scripts/playouthistorytemplate/template-contents.phtml:4
msgid "Creating Log Sheet Template"
msgstr ""
msgstr "Erstelle Protokollvorlage"
#: airtime_mvc/application/views/scripts/playouthistorytemplate/template-contents.phtml:46
msgid "Add more elements"
msgstr ""
msgstr "Weitere Elemente hinzufügen"
#: airtime_mvc/application/views/scripts/playouthistorytemplate/template-contents.phtml:67
msgid "Add New Field"
msgstr ""
msgstr "Neues Feld hinzufügen"
#: airtime_mvc/application/views/scripts/playouthistorytemplate/template-contents.phtml:83
msgid "Set Default Template"
msgstr ""
msgstr "Standardvorlage festlegen"
#: airtime_mvc/application/views/scripts/playouthistorytemplate/index.phtml:4
msgid "Log Sheet Templates"
msgstr ""
msgstr "Protokollvorlagen"
#: airtime_mvc/application/views/scripts/playouthistorytemplate/index.phtml:7
msgid "No Log Sheet Templates"
msgstr ""
msgstr "Keine Protokollvorlagen"
#: airtime_mvc/application/views/scripts/playouthistorytemplate/index.phtml:31
msgid "New Log Sheet Template"
msgstr ""
msgstr "Neue Protokollvorlage"
#: airtime_mvc/application/views/scripts/playouthistorytemplate/index.phtml:35
msgid "File Summary Templates"
msgstr ""
msgstr "Dateiübersichtsvorlagen"
#: airtime_mvc/application/views/scripts/playouthistorytemplate/index.phtml:38
msgid "No File Summary Templates"
msgstr ""
msgstr "Keine Dateiübersichtsvorlagen"
#: airtime_mvc/application/views/scripts/playouthistorytemplate/index.phtml:62
msgid "New File Summary Template"
msgstr ""
msgstr "Neue Dateiübersichtsvorlage"
#: airtime_mvc/application/views/scripts/preference/stream-setting.phtml:2
msgid "Stream Settings"
@ -3836,8 +3835,12 @@ msgstr "Keine Aufzeichnungen"
#~ msgid "Default Interface Timezone"
#~ msgstr "Standard-Zeitzone"
#~ msgid "Some steam types require extra configuration. Details about enabling %sAAC+ Support%s or %sOpus Support%s are provided."
#~ msgstr "Manche Stream-Typen erfordern zusätzliche Konfiguration.Details zum Aktivieren von %sAAC+ Support%s oder %sOpus Support%s sind bereitgestellt."
#~ msgid ""
#~ "Some steam types require extra configuration. Details about enabling %sAAC"
#~ "+ Support%s or %sOpus Support%s are provided."
#~ msgstr ""
#~ "Manche Stream-Typen erfordern zusätzliche Konfiguration.Details zum "
#~ "Aktivieren von %sAAC+ Support%s oder %sOpus Support%s sind bereitgestellt."
#~ msgid "Default Fade (s):"
#~ msgstr "Standard-Fade (s):"
@ -3857,8 +3860,12 @@ msgstr "Keine Aufzeichnungen"
#~ msgid "Specific action is not allowed in demo version!"
#~ msgstr "Gewählte Funktion wird in der Demo Version nicht zugelassen."
#~ msgid "%sAirtime%s %s, , the open radio software for scheduling and remote station management. %s"
#~ msgstr "%sAirtime%s %s, , die offene Radio Software für Planung und Remote-Station-Management. %s"
#~ msgid ""
#~ "%sAirtime%s %s, , the open radio software for scheduling and remote "
#~ "station management. %s"
#~ msgstr ""
#~ "%sAirtime%s %s, , die offene Radio Software für Planung und Remote-"
#~ "Station-Management. %s"
#~ msgid "File"
#~ msgstr "Datei"

View File

@ -8,14 +8,13 @@ msgstr ""
"Project-Id-Version: Airtime 2.5\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-10-08 11:46-0400\n"
"PO-Revision-Date: 2013-06-11 18:04+0100\n"
"Last-Translator: Denise Rigato <denise.rigato@sourcefabric.org>\n"
"PO-Revision-Date: 2013-10-14 12:26+0100\n"
"Last-Translator: Daniel James <daniel.james@sourcefabric.org>\n"
"Language-Team: German Localization <contact@sourcefabric.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 1.5.4\n"
"X-Generator: Poedit 1.5.5\n"
#: airtime_mvc/application/services/HistoryService.php:1091
#: airtime_mvc/application/services/HistoryService.php:1131
@ -109,7 +108,7 @@ msgstr "Jahr"
#: airtime_mvc/application/services/HistoryService.php:1102
msgid "Track"
msgstr ""
msgstr "Titel"
#: airtime_mvc/application/services/HistoryService.php:1103
#: airtime_mvc/application/models/Block.php:1332
@ -128,12 +127,12 @@ msgstr "Sprache"
#: airtime_mvc/application/services/HistoryService.php:1129
#: airtime_mvc/application/forms/EditHistoryItem.php:32
msgid "Start Time"
msgstr ""
msgstr "Startzeit"
#: airtime_mvc/application/services/HistoryService.php:1130
#: airtime_mvc/application/forms/EditHistoryItem.php:44
msgid "End Time"
msgstr ""
msgstr "Endzeit"
#: airtime_mvc/application/services/HistoryService.php:1150
msgid "Played"
@ -141,7 +140,7 @@ msgstr "Abgespielt"
#: airtime_mvc/application/services/CalendarService.php:50
msgid "Record file doesn't exist"
msgstr ""
msgstr "Aufzeichnung existiert nicht"
#: airtime_mvc/application/services/CalendarService.php:54
msgid "View Recorded File Metadata"
@ -317,15 +316,15 @@ msgstr "Hörerstatistiken"
#: airtime_mvc/application/configs/navigation.php:92
msgid "History"
msgstr ""
msgstr "Verlauf"
#: airtime_mvc/application/configs/navigation.php:97
msgid "Playout History"
msgstr "Playout Historie"
msgstr "Playout Verlauf"
#: airtime_mvc/application/configs/navigation.php:104
msgid "History Templates"
msgstr ""
msgstr "Verlaufsvorlagen"
#: airtime_mvc/application/configs/navigation.php:113
#: airtime_mvc/application/views/scripts/error/error.phtml:13
@ -1164,7 +1163,7 @@ msgstr "Benutzername ist bereits vorhanden."
#: airtime_mvc/application/controllers/LocaleController.php:390
#: airtime_mvc/application/views/scripts/form/edit-history-item.phtml:53
msgid "No Show"
msgstr ""
msgstr "Keine Sendung"
#: airtime_mvc/application/forms/StreamSettingSubForm.php:48
msgid "Enabled:"
@ -1264,15 +1263,15 @@ msgstr "wöchentlich"
#: airtime_mvc/application/forms/AddShowRepeats.php:20
msgid "every 2 weeks"
msgstr ""
msgstr "jede zweite Woche"
#: airtime_mvc/application/forms/AddShowRepeats.php:21
msgid "every 3 weeks"
msgstr ""
msgstr "jede dritte Woche"
#: airtime_mvc/application/forms/AddShowRepeats.php:22
msgid "every 4 weeks"
msgstr ""
msgstr "jede vierte Woche"
#: airtime_mvc/application/forms/AddShowRepeats.php:23
msgid "monthly"
@ -1339,7 +1338,7 @@ msgstr "Enddatum muß nach dem Startdatum liegen"
#: airtime_mvc/application/forms/AddShowRepeats.php:110
msgid "Please select a repeat day"
msgstr ""
msgstr "Bitte einen Tag zum Wiederholen wählen"
#: airtime_mvc/application/forms/AddShowWhat.php:26
#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:33
@ -1660,7 +1659,7 @@ msgstr "Alle meine Sendungen:"
#: airtime_mvc/application/forms/EditUser.php:121
msgid "Interface Timezone:"
msgstr ""
msgstr "Interface Zeitzone:"
#: airtime_mvc/application/forms/AddShowLiveStream.php:10
msgid "Use Airtime Authentication:"
@ -1723,7 +1722,7 @@ msgstr "Standardsprache"
#: airtime_mvc/application/forms/GeneralPreferences.php:105
msgid "Station Timezone"
msgstr ""
msgstr "Sendestation Zeitzone"
#: airtime_mvc/application/forms/GeneralPreferences.php:113
msgid "Week Starts On"
@ -2361,7 +2360,7 @@ msgstr "Beim Verknüpfen von wiederkehrenden Sendungen werden jegliche Medien, d
#: airtime_mvc/application/controllers/LocaleController.php:187
msgid "Timezone is set to the station timezone by default. Shows in the calendar will be displayed in your local time defined by the Interface Timezone in your user settings."
msgstr ""
msgstr "Die Zeitzone ist standardmäßig auf die Zeitzone der Radiostation eingestellt. Der Im Kalender werden die Sendungen in jener Ortszeit dargestellt, welche in den Benutzereinstellungen für das Interface festgelegt wurde."
#: airtime_mvc/application/controllers/LocaleController.php:191
msgid "Show"
@ -2709,7 +2708,7 @@ msgstr "System Status betrachten"
#: airtime_mvc/application/controllers/LocaleController.php:333
msgid "Access playout history"
msgstr "Zugriff auf Playlist Historie"
msgstr "Zugriff auf Playlist Verlauf"
#: airtime_mvc/application/controllers/LocaleController.php:334
msgid "View listener stats"
@ -2885,15 +2884,15 @@ msgstr "Fehler: ungültige Dateierweiterung: "
#: airtime_mvc/application/views/scripts/playouthistorytemplate/index.phtml:25
#: airtime_mvc/application/views/scripts/playouthistorytemplate/index.phtml:56
msgid "Set Default"
msgstr ""
msgstr "Standard festlegen"
#: airtime_mvc/application/controllers/LocaleController.php:388
msgid "Create Entry"
msgstr ""
msgstr "Eintrag erstellen"
#: airtime_mvc/application/controllers/LocaleController.php:389
msgid "Edit History Record"
msgstr ""
msgstr "Verlaufsprotokoll bearbeiten"
#: airtime_mvc/application/controllers/LocaleController.php:392
#, php-format
@ -3196,15 +3195,15 @@ msgstr "Für weitere ausführliche Hilfe, lesen sie bitte das %sBenutzerhandbuch
#: airtime_mvc/application/views/scripts/playouthistory/index.phtml:7
msgid "Log Sheet"
msgstr ""
msgstr "Protokoll"
#: airtime_mvc/application/views/scripts/playouthistory/index.phtml:8
msgid "File Summary"
msgstr ""
msgstr "Dateiübersicht"
#: airtime_mvc/application/views/scripts/playouthistory/index.phtml:10
msgid "Show Summary"
msgstr ""
msgstr "Sendungsübersicht"
#: airtime_mvc/application/views/scripts/playlist/update.phtml:54
msgid "Expand Static Block"
@ -3479,11 +3478,11 @@ msgstr "Scheinbar existiert die Seite die sie suchen nicht!"
#: airtime_mvc/application/views/scripts/form/edit-history-item.phtml:45
msgid "Choose Show Instance"
msgstr ""
msgstr "Folge wählen"
#: airtime_mvc/application/views/scripts/form/edit-history-item.phtml:56
msgid "Find"
msgstr ""
msgstr "Finden"
#: airtime_mvc/application/views/scripts/form/stream-setting-form.phtml:4
msgid "Stream "
@ -3642,7 +3641,7 @@ msgstr "Wiederholen Tage:"
#: airtime_mvc/application/views/scripts/form/daterange.phtml:6
msgid "Filter History"
msgstr "Filter Historie"
msgstr "Filter Verlauf"
#: airtime_mvc/application/views/scripts/form/preferences.phtml:5
msgid "Email / Mail Server Settings"
@ -3711,47 +3710,47 @@ msgstr "Erweiterte Suchoptionen"
#: airtime_mvc/application/views/scripts/playouthistorytemplate/template-contents.phtml:2
msgid "Creating File Summary Template"
msgstr ""
msgstr "Erstelle Dateiübersichtsvorlage"
#: airtime_mvc/application/views/scripts/playouthistorytemplate/template-contents.phtml:4
msgid "Creating Log Sheet Template"
msgstr ""
msgstr "Erstelle Protokollvorlage"
#: airtime_mvc/application/views/scripts/playouthistorytemplate/template-contents.phtml:46
msgid "Add more elements"
msgstr ""
msgstr "Weitere Elemente hinzufügen"
#: airtime_mvc/application/views/scripts/playouthistorytemplate/template-contents.phtml:67
msgid "Add New Field"
msgstr ""
msgstr "Neues Feld hinzufügen"
#: airtime_mvc/application/views/scripts/playouthistorytemplate/template-contents.phtml:83
msgid "Set Default Template"
msgstr ""
msgstr "Standardvorlage wählen"
#: airtime_mvc/application/views/scripts/playouthistorytemplate/index.phtml:4
msgid "Log Sheet Templates"
msgstr ""
msgstr "Protokollvorlagen"
#: airtime_mvc/application/views/scripts/playouthistorytemplate/index.phtml:7
msgid "No Log Sheet Templates"
msgstr ""
msgstr "Keine Protokollvorlagen"
#: airtime_mvc/application/views/scripts/playouthistorytemplate/index.phtml:31
msgid "New Log Sheet Template"
msgstr ""
msgstr "Neue Protokollvorlage"
#: airtime_mvc/application/views/scripts/playouthistorytemplate/index.phtml:35
msgid "File Summary Templates"
msgstr ""
msgstr "Dateiübersichtsvorlagen"
#: airtime_mvc/application/views/scripts/playouthistorytemplate/index.phtml:38
msgid "No File Summary Templates"
msgstr ""
msgstr "Keine Dateiübersichtsvorlagen"
#: airtime_mvc/application/views/scripts/playouthistorytemplate/index.phtml:62
msgid "New File Summary Template"
msgstr ""
msgstr "Neue Dateiübersichtsvorlage"
#: airtime_mvc/application/views/scripts/preference/stream-setting.phtml:2
msgid "Stream Settings"

View File

@ -1,5 +1,5 @@
# GREEK (el_GR) translation for Airtime.
# Copyright (C) 2012 Sourcefabric
# Copyright (C) 2013 Sourcefabric
# This file is distributed under the same license as the Airtime package.
# Sourcefabric <contact@sourcefabric.org>, 2013.
#
@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: Airtime 2.5\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-10-08 11:46-0400\n"
"PO-Revision-Date: 2013-06-13 14:06+0100\n"
"PO-Revision-Date: 2013-10-14 12:15+0100\n"
"Last-Translator: Daniel James <daniel.james@sourcefabric.org>\n"
"Language-Team: Greek Localization <contact@sourcefabric.org>\n"
"Language: el_GR\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 1.5.5\n"
"X-Generator: Poedit 1.5.7\n"
#: airtime_mvc/application/services/HistoryService.php:1091
#: airtime_mvc/application/services/HistoryService.php:1131
@ -109,14 +109,14 @@ msgstr "Έτος"
#: airtime_mvc/application/services/HistoryService.php:1102
msgid "Track"
msgstr ""
msgstr "Κομμάτι"
#: airtime_mvc/application/services/HistoryService.php:1103
#: airtime_mvc/application/models/Block.php:1332
#: airtime_mvc/application/forms/SmartBlockCriteria.php:53
#: airtime_mvc/application/controllers/LocaleController.php:72
msgid "Conductor"
msgstr "Μαέστρος"
msgstr "Ενορχήστρωση"
#: airtime_mvc/application/services/HistoryService.php:1104
#: airtime_mvc/application/models/Block.php:1341
@ -128,12 +128,12 @@ msgstr "Γλώσσα"
#: airtime_mvc/application/services/HistoryService.php:1129
#: airtime_mvc/application/forms/EditHistoryItem.php:32
msgid "Start Time"
msgstr ""
msgstr "Ώρα Έναρξης"
#: airtime_mvc/application/services/HistoryService.php:1130
#: airtime_mvc/application/forms/EditHistoryItem.php:44
msgid "End Time"
msgstr ""
msgstr "Ώρα Τέλους"
#: airtime_mvc/application/services/HistoryService.php:1150
msgid "Played"
@ -141,7 +141,7 @@ msgstr "Παίχτηκε"
#: airtime_mvc/application/services/CalendarService.php:50
msgid "Record file doesn't exist"
msgstr ""
msgstr "Το αρχείο δεν υπάρχει"
#: airtime_mvc/application/services/CalendarService.php:54
msgid "View Recorded File Metadata"
@ -211,11 +211,11 @@ msgstr "Διαγραφή"
#: airtime_mvc/application/services/CalendarService.php:161
msgid "Delete This Instance"
msgstr "Διαγραφή Του Παραδείγματος"
msgstr "Διαγραφή Της Παρουσίας"
#: airtime_mvc/application/services/CalendarService.php:166
msgid "Delete This Instance and All Following"
msgstr "Διαγράψτε Του Παραδείγματος και Όλων των Ακόλουθών του"
msgstr "Διαγραφή Της Παρουσίας και Όλων των Ακόλουθών της"
#: airtime_mvc/application/services/CalendarService.php:215
msgid "Permission denied"
@ -317,15 +317,15 @@ msgstr "Στατιστικές Ακροατών"
#: airtime_mvc/application/configs/navigation.php:92
msgid "History"
msgstr ""
msgstr "Ιστορικό"
#: airtime_mvc/application/configs/navigation.php:97
msgid "Playout History"
msgstr "Ιστορία Playout"
msgstr "Ιστορικό Playout"
#: airtime_mvc/application/configs/navigation.php:104
msgid "History Templates"
msgstr ""
msgstr "Ιστορικό Template"
#: airtime_mvc/application/configs/navigation.php:113
#: airtime_mvc/application/views/scripts/error/error.phtml:13
@ -1164,7 +1164,7 @@ msgstr "Το όνομα εισόδου δεν είναι μοναδικό."
#: airtime_mvc/application/controllers/LocaleController.php:390
#: airtime_mvc/application/views/scripts/form/edit-history-item.phtml:53
msgid "No Show"
msgstr ""
msgstr "Καμία Εκπομπή"
#: airtime_mvc/application/forms/StreamSettingSubForm.php:48
msgid "Enabled:"
@ -1264,15 +1264,15 @@ msgstr "εβδομαδιαία"
#: airtime_mvc/application/forms/AddShowRepeats.php:20
msgid "every 2 weeks"
msgstr ""
msgstr "κάθε 2 εβδομάδες"
#: airtime_mvc/application/forms/AddShowRepeats.php:21
msgid "every 3 weeks"
msgstr ""
msgstr "κάθε 3 εβδομάδες"
#: airtime_mvc/application/forms/AddShowRepeats.php:22
msgid "every 4 weeks"
msgstr ""
msgstr "κάθε 4 εβδομάδες"
#: airtime_mvc/application/forms/AddShowRepeats.php:23
msgid "monthly"
@ -1339,7 +1339,7 @@ msgstr "Η ημερομηνία λήξης πρέπει να είναι μετά
#: airtime_mvc/application/forms/AddShowRepeats.php:110
msgid "Please select a repeat day"
msgstr ""
msgstr "Επιλέξτε ημέρα επανάληψης"
#: airtime_mvc/application/forms/AddShowWhat.php:26
#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:33
@ -1660,7 +1660,7 @@ msgstr "Όλες οι Εκπομπές μου:"
#: airtime_mvc/application/forms/EditUser.php:121
msgid "Interface Timezone:"
msgstr ""
msgstr "Interface Ζώνης ώρας:"
#: airtime_mvc/application/forms/AddShowLiveStream.php:10
msgid "Use Airtime Authentication:"
@ -1723,7 +1723,7 @@ msgstr "Προεπιλογή Γλώσσας Interface"
#: airtime_mvc/application/forms/GeneralPreferences.php:105
msgid "Station Timezone"
msgstr ""
msgstr "Ζώνη Ώρας Σταθμού"
#: airtime_mvc/application/forms/GeneralPreferences.php:113
msgid "Week Starts On"
@ -2348,7 +2348,7 @@ msgstr "Κατά τη διασύνδεση επαναλαμβανόμενων ε
#: airtime_mvc/application/controllers/LocaleController.php:187
msgid "Timezone is set to the station timezone by default. Shows in the calendar will be displayed in your local time defined by the Interface Timezone in your user settings."
msgstr ""
msgstr "Η ζώνη ώρας είναι ρυθμισμένη ανάλογα με τη τοποθεσία του σταθμού. Οι εκμπομπές θα μεταδίδονται στην τοπική ώρα, ρυθμισμένη από το Interface Ζώνης ώρας στις ρυθμίσεις χρήστη "
#: airtime_mvc/application/controllers/LocaleController.php:191
msgid "Show"
@ -2872,15 +2872,15 @@ msgstr "Σφάλμα: Μη έγκυρη προέκταση αρχείου: "
#: airtime_mvc/application/views/scripts/playouthistorytemplate/index.phtml:25
#: airtime_mvc/application/views/scripts/playouthistorytemplate/index.phtml:56
msgid "Set Default"
msgstr ""
msgstr "Ως Προεπιλογή"
#: airtime_mvc/application/controllers/LocaleController.php:388
msgid "Create Entry"
msgstr ""
msgstr "Δημιουργία Εισόδου"
#: airtime_mvc/application/controllers/LocaleController.php:389
msgid "Edit History Record"
msgstr ""
msgstr "Επεξεργασία Ιστορικού"
#: airtime_mvc/application/controllers/LocaleController.php:392
#, php-format
@ -3181,15 +3181,15 @@ msgstr "Για περισσότερες αναλυτικές οδηγίες, δ
#: airtime_mvc/application/views/scripts/playouthistory/index.phtml:7
msgid "Log Sheet"
msgstr ""
msgstr "Σελίδα Σύνδεσης"
#: airtime_mvc/application/views/scripts/playouthistory/index.phtml:8
msgid "File Summary"
msgstr ""
msgstr "Περίληψη Αρχείων"
#: airtime_mvc/application/views/scripts/playouthistory/index.phtml:10
msgid "Show Summary"
msgstr ""
msgstr "Προβολή Περίληψης"
#: airtime_mvc/application/views/scripts/playlist/update.phtml:54
msgid "Expand Static Block"
@ -3462,11 +3462,11 @@ msgstr "Η σελίδα που ψάχνατε δεν υπάρχει!"
#: airtime_mvc/application/views/scripts/form/edit-history-item.phtml:45
msgid "Choose Show Instance"
msgstr ""
msgstr "Επιλογή Παρουσίας Εκπομπής"
#: airtime_mvc/application/views/scripts/form/edit-history-item.phtml:56
msgid "Find"
msgstr ""
msgstr "Εύρεση"
#: airtime_mvc/application/views/scripts/form/stream-setting-form.phtml:4
msgid "Stream "
@ -3692,47 +3692,47 @@ msgstr "Προηγμένες Επιλογές Αναζήτησης"
#: airtime_mvc/application/views/scripts/playouthistorytemplate/template-contents.phtml:2
msgid "Creating File Summary Template"
msgstr ""
msgstr "Δημιουργία Αρχείου Περίληψης Template "
#: airtime_mvc/application/views/scripts/playouthistorytemplate/template-contents.phtml:4
msgid "Creating Log Sheet Template"
msgstr ""
msgstr "Δημιουργία Template Φόρμας Σύνδεσης"
#: airtime_mvc/application/views/scripts/playouthistorytemplate/template-contents.phtml:46
msgid "Add more elements"
msgstr ""
msgstr "Προσθήκη περισσότερων στοιχείων"
#: airtime_mvc/application/views/scripts/playouthistorytemplate/template-contents.phtml:67
msgid "Add New Field"
msgstr ""
msgstr "Προσθήκη Νέου Πεδίου"
#: airtime_mvc/application/views/scripts/playouthistorytemplate/template-contents.phtml:83
msgid "Set Default Template"
msgstr ""
msgstr "Ορισμός Προεπιλεγμένου Template "
#: airtime_mvc/application/views/scripts/playouthistorytemplate/index.phtml:4
msgid "Log Sheet Templates"
msgstr ""
msgstr "Template Φόρμας Σύνδεσης"
#: airtime_mvc/application/views/scripts/playouthistorytemplate/index.phtml:7
msgid "No Log Sheet Templates"
msgstr ""
msgstr "Κανένα Template Φόρμας Σύνδεσης"
#: airtime_mvc/application/views/scripts/playouthistorytemplate/index.phtml:31
msgid "New Log Sheet Template"
msgstr ""
msgstr "Νέο Template Φόρμας Σύνδεσης"
#: airtime_mvc/application/views/scripts/playouthistorytemplate/index.phtml:35
msgid "File Summary Templates"
msgstr ""
msgstr "Template Περίληψης Αρχείου"
#: airtime_mvc/application/views/scripts/playouthistorytemplate/index.phtml:38
msgid "No File Summary Templates"
msgstr ""
msgstr "Κανένα Template Περίληψης Αρχείου"
#: airtime_mvc/application/views/scripts/playouthistorytemplate/index.phtml:62
msgid "New File Summary Template"
msgstr ""
msgstr "Νέο Template Περίληψης Αρχείου"
#: airtime_mvc/application/views/scripts/preference/stream-setting.phtml:2
msgid "Stream Settings"

View File

@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: Airtime 2.5\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-10-08 11:46-0400\n"
"PO-Revision-Date: 2013-06-11 16:58+0100\n"
"PO-Revision-Date: 2013-10-08 18:08+0100\n"
"Last-Translator: Daniel James <daniel.james@sourcefabric.org>\n"
"Language-Team: British Localization <contact@sourcefabric.org>\n"
"Language: en_GB\n"
@ -109,7 +109,7 @@ msgstr "Year"
#: airtime_mvc/application/services/HistoryService.php:1102
msgid "Track"
msgstr ""
msgstr "Track"
#: airtime_mvc/application/services/HistoryService.php:1103
#: airtime_mvc/application/models/Block.php:1332
@ -128,12 +128,12 @@ msgstr "Language"
#: airtime_mvc/application/services/HistoryService.php:1129
#: airtime_mvc/application/forms/EditHistoryItem.php:32
msgid "Start Time"
msgstr ""
msgstr "Start Time"
#: airtime_mvc/application/services/HistoryService.php:1130
#: airtime_mvc/application/forms/EditHistoryItem.php:44
msgid "End Time"
msgstr ""
msgstr "End Time"
#: airtime_mvc/application/services/HistoryService.php:1150
msgid "Played"
@ -141,7 +141,7 @@ msgstr "Played"
#: airtime_mvc/application/services/CalendarService.php:50
msgid "Record file doesn't exist"
msgstr ""
msgstr "Record file doesn't exist"
#: airtime_mvc/application/services/CalendarService.php:54
msgid "View Recorded File Metadata"
@ -317,7 +317,7 @@ msgstr "Listener Stats"
#: airtime_mvc/application/configs/navigation.php:92
msgid "History"
msgstr ""
msgstr "History"
#: airtime_mvc/application/configs/navigation.php:97
msgid "Playout History"
@ -325,7 +325,7 @@ msgstr "Playout History"
#: airtime_mvc/application/configs/navigation.php:104
msgid "History Templates"
msgstr ""
msgstr "History Templates"
#: airtime_mvc/application/configs/navigation.php:113
#: airtime_mvc/application/views/scripts/error/error.phtml:13
@ -1164,7 +1164,7 @@ msgstr "Login name is not unique."
#: airtime_mvc/application/controllers/LocaleController.php:390
#: airtime_mvc/application/views/scripts/form/edit-history-item.phtml:53
msgid "No Show"
msgstr ""
msgstr "No Show"
#: airtime_mvc/application/forms/StreamSettingSubForm.php:48
msgid "Enabled:"
@ -1264,15 +1264,15 @@ msgstr "weekly"
#: airtime_mvc/application/forms/AddShowRepeats.php:20
msgid "every 2 weeks"
msgstr ""
msgstr "every 2 weeks"
#: airtime_mvc/application/forms/AddShowRepeats.php:21
msgid "every 3 weeks"
msgstr ""
msgstr "every 3 weeks"
#: airtime_mvc/application/forms/AddShowRepeats.php:22
msgid "every 4 weeks"
msgstr ""
msgstr "every 4 weeks"
#: airtime_mvc/application/forms/AddShowRepeats.php:23
msgid "monthly"
@ -1339,7 +1339,7 @@ msgstr "End date must be after start date"
#: airtime_mvc/application/forms/AddShowRepeats.php:110
msgid "Please select a repeat day"
msgstr ""
msgstr "Please select a repeat day"
#: airtime_mvc/application/forms/AddShowWhat.php:26
#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:33
@ -1660,7 +1660,7 @@ msgstr "All My Shows:"
#: airtime_mvc/application/forms/EditUser.php:121
msgid "Interface Timezone:"
msgstr ""
msgstr "Interface Timezone:"
#: airtime_mvc/application/forms/AddShowLiveStream.php:10
msgid "Use Airtime Authentication:"
@ -1723,7 +1723,7 @@ msgstr "Default Interface Language"
#: airtime_mvc/application/forms/GeneralPreferences.php:105
msgid "Station Timezone"
msgstr ""
msgstr "Station Timezone"
#: airtime_mvc/application/forms/GeneralPreferences.php:113
msgid "Week Starts On"
@ -2348,7 +2348,7 @@ msgstr "By linking your repeating shows any media items scheduled in any repeat
#: airtime_mvc/application/controllers/LocaleController.php:187
msgid "Timezone is set to the station timezone by default. Shows in the calendar will be displayed in your local time defined by the Interface Timezone in your user settings."
msgstr ""
msgstr "Timezone is set to the station timezone by default. Shows in the calendar will be displayed in your local time defined by the Interface Timezone in your user settings."
#: airtime_mvc/application/controllers/LocaleController.php:191
msgid "Show"
@ -2872,15 +2872,15 @@ msgstr "Error: Invalid file extension: "
#: airtime_mvc/application/views/scripts/playouthistorytemplate/index.phtml:25
#: airtime_mvc/application/views/scripts/playouthistorytemplate/index.phtml:56
msgid "Set Default"
msgstr ""
msgstr "Set Default"
#: airtime_mvc/application/controllers/LocaleController.php:388
msgid "Create Entry"
msgstr ""
msgstr "Create Entry"
#: airtime_mvc/application/controllers/LocaleController.php:389
msgid "Edit History Record"
msgstr ""
msgstr "Edit History Record"
#: airtime_mvc/application/controllers/LocaleController.php:392
#, php-format
@ -3181,15 +3181,15 @@ msgstr "For more detailed help, read the %suser manual%s."
#: airtime_mvc/application/views/scripts/playouthistory/index.phtml:7
msgid "Log Sheet"
msgstr ""
msgstr "Log Sheet"
#: airtime_mvc/application/views/scripts/playouthistory/index.phtml:8
msgid "File Summary"
msgstr ""
msgstr "File Summary"
#: airtime_mvc/application/views/scripts/playouthistory/index.phtml:10
msgid "Show Summary"
msgstr ""
msgstr "Show Summary"
#: airtime_mvc/application/views/scripts/playlist/update.phtml:54
msgid "Expand Static Block"
@ -3462,11 +3462,11 @@ msgstr "Looks like the page you were looking for doesn't exist!"
#: airtime_mvc/application/views/scripts/form/edit-history-item.phtml:45
msgid "Choose Show Instance"
msgstr ""
msgstr "Choose Show Instance"
#: airtime_mvc/application/views/scripts/form/edit-history-item.phtml:56
msgid "Find"
msgstr ""
msgstr "Find"
#: airtime_mvc/application/views/scripts/form/stream-setting-form.phtml:4
msgid "Stream "
@ -3692,47 +3692,47 @@ msgstr "Advanced Search Options"
#: airtime_mvc/application/views/scripts/playouthistorytemplate/template-contents.phtml:2
msgid "Creating File Summary Template"
msgstr ""
msgstr "Creating File Summary Template"
#: airtime_mvc/application/views/scripts/playouthistorytemplate/template-contents.phtml:4
msgid "Creating Log Sheet Template"
msgstr ""
msgstr "Creating Log Sheet Template"
#: airtime_mvc/application/views/scripts/playouthistorytemplate/template-contents.phtml:46
msgid "Add more elements"
msgstr ""
msgstr "Add more elements"
#: airtime_mvc/application/views/scripts/playouthistorytemplate/template-contents.phtml:67
msgid "Add New Field"
msgstr ""
msgstr "Add New Field"
#: airtime_mvc/application/views/scripts/playouthistorytemplate/template-contents.phtml:83
msgid "Set Default Template"
msgstr ""
msgstr "Set Default Template"
#: airtime_mvc/application/views/scripts/playouthistorytemplate/index.phtml:4
msgid "Log Sheet Templates"
msgstr ""
msgstr "Log Sheet Templates"
#: airtime_mvc/application/views/scripts/playouthistorytemplate/index.phtml:7
msgid "No Log Sheet Templates"
msgstr ""
msgstr "No Log Sheet Templates"
#: airtime_mvc/application/views/scripts/playouthistorytemplate/index.phtml:31
msgid "New Log Sheet Template"
msgstr ""
msgstr "New Log Sheet Template"
#: airtime_mvc/application/views/scripts/playouthistorytemplate/index.phtml:35
msgid "File Summary Templates"
msgstr ""
msgstr "File Summary Templates"
#: airtime_mvc/application/views/scripts/playouthistorytemplate/index.phtml:38
msgid "No File Summary Templates"
msgstr ""
msgstr "No File Summary Templates"
#: airtime_mvc/application/views/scripts/playouthistorytemplate/index.phtml:62
msgid "New File Summary Template"
msgstr ""
msgstr "New File Summary Template"
#: airtime_mvc/application/views/scripts/preference/stream-setting.phtml:2
msgid "Stream Settings"

View File

@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: Airtime 2.5\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-10-08 11:46-0400\n"
"PO-Revision-Date: 2013-06-11 16:59+0100\n"
"PO-Revision-Date: 2013-10-10 11:27+0100\n"
"Last-Translator: Daniel James <daniel.james@sourcefabric.org>\n"
"Language-Team: United States Localization <contact@sourcefabric.org>\n"
"Language: en_US\n"
@ -109,7 +109,7 @@ msgstr "Year"
#: airtime_mvc/application/services/HistoryService.php:1102
msgid "Track"
msgstr ""
msgstr "Track"
#: airtime_mvc/application/services/HistoryService.php:1103
#: airtime_mvc/application/models/Block.php:1332
@ -128,12 +128,12 @@ msgstr "Language"
#: airtime_mvc/application/services/HistoryService.php:1129
#: airtime_mvc/application/forms/EditHistoryItem.php:32
msgid "Start Time"
msgstr ""
msgstr "Start Time"
#: airtime_mvc/application/services/HistoryService.php:1130
#: airtime_mvc/application/forms/EditHistoryItem.php:44
msgid "End Time"
msgstr ""
msgstr "End Time"
#: airtime_mvc/application/services/HistoryService.php:1150
msgid "Played"
@ -141,7 +141,7 @@ msgstr "Played"
#: airtime_mvc/application/services/CalendarService.php:50
msgid "Record file doesn't exist"
msgstr ""
msgstr "Record file doesn't exist"
#: airtime_mvc/application/services/CalendarService.php:54
msgid "View Recorded File Metadata"
@ -317,7 +317,7 @@ msgstr "Listener Stats"
#: airtime_mvc/application/configs/navigation.php:92
msgid "History"
msgstr ""
msgstr "History"
#: airtime_mvc/application/configs/navigation.php:97
msgid "Playout History"
@ -325,7 +325,7 @@ msgstr "Playout History"
#: airtime_mvc/application/configs/navigation.php:104
msgid "History Templates"
msgstr ""
msgstr "History Templates"
#: airtime_mvc/application/configs/navigation.php:113
#: airtime_mvc/application/views/scripts/error/error.phtml:13
@ -1164,7 +1164,7 @@ msgstr "Login name is not unique."
#: airtime_mvc/application/controllers/LocaleController.php:390
#: airtime_mvc/application/views/scripts/form/edit-history-item.phtml:53
msgid "No Show"
msgstr ""
msgstr "No Show"
#: airtime_mvc/application/forms/StreamSettingSubForm.php:48
msgid "Enabled:"
@ -1264,15 +1264,15 @@ msgstr "weekly"
#: airtime_mvc/application/forms/AddShowRepeats.php:20
msgid "every 2 weeks"
msgstr ""
msgstr "every 2 weeks"
#: airtime_mvc/application/forms/AddShowRepeats.php:21
msgid "every 3 weeks"
msgstr ""
msgstr "every 3 weeks"
#: airtime_mvc/application/forms/AddShowRepeats.php:22
msgid "every 4 weeks"
msgstr ""
msgstr "every 4 weeks"
#: airtime_mvc/application/forms/AddShowRepeats.php:23
msgid "monthly"
@ -1339,7 +1339,7 @@ msgstr "End date must be after start date"
#: airtime_mvc/application/forms/AddShowRepeats.php:110
msgid "Please select a repeat day"
msgstr ""
msgstr "Please select a repeat day"
#: airtime_mvc/application/forms/AddShowWhat.php:26
#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:33
@ -1660,7 +1660,7 @@ msgstr "All My Shows:"
#: airtime_mvc/application/forms/EditUser.php:121
msgid "Interface Timezone:"
msgstr ""
msgstr "Interface Timezone:"
#: airtime_mvc/application/forms/AddShowLiveStream.php:10
msgid "Use Airtime Authentication:"
@ -1723,7 +1723,7 @@ msgstr "Default Interface Language"
#: airtime_mvc/application/forms/GeneralPreferences.php:105
msgid "Station Timezone"
msgstr ""
msgstr "Station Timezone"
#: airtime_mvc/application/forms/GeneralPreferences.php:113
msgid "Week Starts On"
@ -2348,7 +2348,7 @@ msgstr "By linking your repeating shows any media items scheduled in any repeat
#: airtime_mvc/application/controllers/LocaleController.php:187
msgid "Timezone is set to the station timezone by default. Shows in the calendar will be displayed in your local time defined by the Interface Timezone in your user settings."
msgstr ""
msgstr "Timezone is set to the station timezone by default. Shows in the calendar will be displayed in your local time defined by the Interface Timezone in your user settings."
#: airtime_mvc/application/controllers/LocaleController.php:191
msgid "Show"
@ -2872,15 +2872,15 @@ msgstr "Error: Invalid file extension: "
#: airtime_mvc/application/views/scripts/playouthistorytemplate/index.phtml:25
#: airtime_mvc/application/views/scripts/playouthistorytemplate/index.phtml:56
msgid "Set Default"
msgstr ""
msgstr "Set Default"
#: airtime_mvc/application/controllers/LocaleController.php:388
msgid "Create Entry"
msgstr ""
msgstr "Create Entry"
#: airtime_mvc/application/controllers/LocaleController.php:389
msgid "Edit History Record"
msgstr ""
msgstr "Edit History Record"
#: airtime_mvc/application/controllers/LocaleController.php:392
#, php-format
@ -3181,15 +3181,15 @@ msgstr "For more detailed help, read the %suser manual%s."
#: airtime_mvc/application/views/scripts/playouthistory/index.phtml:7
msgid "Log Sheet"
msgstr ""
msgstr "Log Sheet"
#: airtime_mvc/application/views/scripts/playouthistory/index.phtml:8
msgid "File Summary"
msgstr ""
msgstr "File Summary"
#: airtime_mvc/application/views/scripts/playouthistory/index.phtml:10
msgid "Show Summary"
msgstr ""
msgstr "Show Summary"
#: airtime_mvc/application/views/scripts/playlist/update.phtml:54
msgid "Expand Static Block"
@ -3462,11 +3462,11 @@ msgstr "Looks like the page you were looking for doesn't exist!"
#: airtime_mvc/application/views/scripts/form/edit-history-item.phtml:45
msgid "Choose Show Instance"
msgstr ""
msgstr "Choose Show Instance"
#: airtime_mvc/application/views/scripts/form/edit-history-item.phtml:56
msgid "Find"
msgstr ""
msgstr "Find"
#: airtime_mvc/application/views/scripts/form/stream-setting-form.phtml:4
msgid "Stream "
@ -3692,47 +3692,47 @@ msgstr "Advanced Search Options"
#: airtime_mvc/application/views/scripts/playouthistorytemplate/template-contents.phtml:2
msgid "Creating File Summary Template"
msgstr ""
msgstr "Creating File Summary Template"
#: airtime_mvc/application/views/scripts/playouthistorytemplate/template-contents.phtml:4
msgid "Creating Log Sheet Template"
msgstr ""
msgstr "Creating Log Sheet Template"
#: airtime_mvc/application/views/scripts/playouthistorytemplate/template-contents.phtml:46
msgid "Add more elements"
msgstr ""
msgstr "Add more elements"
#: airtime_mvc/application/views/scripts/playouthistorytemplate/template-contents.phtml:67
msgid "Add New Field"
msgstr ""
msgstr "Add New Field"
#: airtime_mvc/application/views/scripts/playouthistorytemplate/template-contents.phtml:83
msgid "Set Default Template"
msgstr ""
msgstr "Set Default Template"
#: airtime_mvc/application/views/scripts/playouthistorytemplate/index.phtml:4
msgid "Log Sheet Templates"
msgstr ""
msgstr "Log Sheet Templates"
#: airtime_mvc/application/views/scripts/playouthistorytemplate/index.phtml:7
msgid "No Log Sheet Templates"
msgstr ""
msgstr "No Log Sheet Templates"
#: airtime_mvc/application/views/scripts/playouthistorytemplate/index.phtml:31
msgid "New Log Sheet Template"
msgstr ""
msgstr "New Log Sheet Template"
#: airtime_mvc/application/views/scripts/playouthistorytemplate/index.phtml:35
msgid "File Summary Templates"
msgstr ""
msgstr "File Summary Templates"
#: airtime_mvc/application/views/scripts/playouthistorytemplate/index.phtml:38
msgid "No File Summary Templates"
msgstr ""
msgstr "No File Summary Templates"
#: airtime_mvc/application/views/scripts/playouthistorytemplate/index.phtml:62
msgid "New File Summary Template"
msgstr ""
msgstr "New File Summary Template"
#: airtime_mvc/application/views/scripts/preference/stream-setting.phtml:2
msgid "Stream Settings"

View File

@ -8,14 +8,13 @@ msgstr ""
"Project-Id-Version: Airtime 2.5\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-10-08 11:46-0400\n"
"PO-Revision-Date: 2013-05-30 11:58-0500\n"
"Last-Translator: Denise Rigato <denise.rigato@sourcefabric.org>\n"
"PO-Revision-Date: 2013-10-10 14:28+0100\n"
"Last-Translator: Daniel James <daniel.james@sourcefabric.org>\n"
"Language-Team: French Localization <albert.bruc.ab@gmail.com>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 1.5.4\n"
"X-Generator: Poedit 1.5.7\n"
#: airtime_mvc/application/services/HistoryService.php:1091
#: airtime_mvc/application/services/HistoryService.php:1131
@ -109,7 +108,7 @@ msgstr "Année"
#: airtime_mvc/application/services/HistoryService.php:1102
msgid "Track"
msgstr ""
msgstr "Morceau"
#: airtime_mvc/application/services/HistoryService.php:1103
#: airtime_mvc/application/models/Block.php:1332
@ -128,12 +127,12 @@ msgstr "Langue"
#: airtime_mvc/application/services/HistoryService.php:1129
#: airtime_mvc/application/forms/EditHistoryItem.php:32
msgid "Start Time"
msgstr ""
msgstr "Heure de Début"
#: airtime_mvc/application/services/HistoryService.php:1130
#: airtime_mvc/application/forms/EditHistoryItem.php:44
msgid "End Time"
msgstr ""
msgstr "Heure de Fin"
#: airtime_mvc/application/services/HistoryService.php:1150
msgid "Played"
@ -141,7 +140,7 @@ msgstr "Joué"
#: airtime_mvc/application/services/CalendarService.php:50
msgid "Record file doesn't exist"
msgstr ""
msgstr "L'enregistrement du fichier n'existe pas"
#: airtime_mvc/application/services/CalendarService.php:54
msgid "View Recorded File Metadata"
@ -317,7 +316,7 @@ msgstr "Statistiques des Auditeurs"
#: airtime_mvc/application/configs/navigation.php:92
msgid "History"
msgstr ""
msgstr "Historique"
#: airtime_mvc/application/configs/navigation.php:97
msgid "Playout History"
@ -325,7 +324,7 @@ msgstr "Historique de Diffusion"
#: airtime_mvc/application/configs/navigation.php:104
msgid "History Templates"
msgstr ""
msgstr "Modèle d'historique"
#: airtime_mvc/application/configs/navigation.php:113
#: airtime_mvc/application/views/scripts/error/error.phtml:13
@ -1164,7 +1163,7 @@ msgstr "Le Nom de connexion n'est pas unique."
#: airtime_mvc/application/controllers/LocaleController.php:390
#: airtime_mvc/application/views/scripts/form/edit-history-item.phtml:53
msgid "No Show"
msgstr ""
msgstr "Pas d'émission"
#: airtime_mvc/application/forms/StreamSettingSubForm.php:48
msgid "Enabled:"
@ -1264,15 +1263,15 @@ msgstr "hebdomadaire"
#: airtime_mvc/application/forms/AddShowRepeats.php:20
msgid "every 2 weeks"
msgstr ""
msgstr "Toutes les 2 semaines"
#: airtime_mvc/application/forms/AddShowRepeats.php:21
msgid "every 3 weeks"
msgstr ""
msgstr "Toutes les 3 semaines"
#: airtime_mvc/application/forms/AddShowRepeats.php:22
msgid "every 4 weeks"
msgstr ""
msgstr "Toutes les 4 semaines"
#: airtime_mvc/application/forms/AddShowRepeats.php:23
msgid "monthly"
@ -1339,7 +1338,7 @@ msgstr "La Date de Fin doit être postérieure à la Date de Début"
#: airtime_mvc/application/forms/AddShowRepeats.php:110
msgid "Please select a repeat day"
msgstr ""
msgstr "SVP, selectionnez un jour de répétition"
#: airtime_mvc/application/forms/AddShowWhat.php:26
#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:33
@ -1660,7 +1659,7 @@ msgstr "Toutes Mes Emissions:"
#: airtime_mvc/application/forms/EditUser.php:121
msgid "Interface Timezone:"
msgstr ""
msgstr "Fuseau horaire de l'Interface:"
#: airtime_mvc/application/forms/AddShowLiveStream.php:10
msgid "Use Airtime Authentication:"
@ -1723,7 +1722,7 @@ msgstr "Langue de l'interface par défaut"
#: airtime_mvc/application/forms/GeneralPreferences.php:105
msgid "Station Timezone"
msgstr ""
msgstr "Fuseau horaire de la Station"
#: airtime_mvc/application/forms/GeneralPreferences.php:113
msgid "Week Starts On"
@ -2348,7 +2347,7 @@ msgstr "En liant vos émissions répétées chaques éléments multimédias prog
#: airtime_mvc/application/controllers/LocaleController.php:187
msgid "Timezone is set to the station timezone by default. Shows in the calendar will be displayed in your local time defined by the Interface Timezone in your user settings."
msgstr ""
msgstr "Le fuseau horaire est fixé au fuseau horaire de la Station par défaut. les émissions dans le calendrier seront affichés dans votre heure locale définie par le fuseau horaire de l'interface dans vos paramètres utilisateur."
#: airtime_mvc/application/controllers/LocaleController.php:191
msgid "Show"
@ -2872,15 +2871,15 @@ msgstr "Erreur: extension de fichier non valide:"
#: airtime_mvc/application/views/scripts/playouthistorytemplate/index.phtml:25
#: airtime_mvc/application/views/scripts/playouthistorytemplate/index.phtml:56
msgid "Set Default"
msgstr ""
msgstr "Définir par défaut"
#: airtime_mvc/application/controllers/LocaleController.php:388
msgid "Create Entry"
msgstr ""
msgstr "créer une entrée"
#: airtime_mvc/application/controllers/LocaleController.php:389
msgid "Edit History Record"
msgstr ""
msgstr "Éditer l'enregistrement de l'historique"
#: airtime_mvc/application/controllers/LocaleController.php:392
#, php-format
@ -3181,15 +3180,15 @@ msgstr "Pour une aide plus détaillée, lisez le %smanuel utilisateur%s."
#: airtime_mvc/application/views/scripts/playouthistory/index.phtml:7
msgid "Log Sheet"
msgstr ""
msgstr "Fichier de Log"
#: airtime_mvc/application/views/scripts/playouthistory/index.phtml:8
msgid "File Summary"
msgstr ""
msgstr "Résumé du fichier"
#: airtime_mvc/application/views/scripts/playouthistory/index.phtml:10
msgid "Show Summary"
msgstr ""
msgstr "Historique Emision"
#: airtime_mvc/application/views/scripts/playlist/update.phtml:54
msgid "Expand Static Block"
@ -3462,11 +3461,11 @@ msgstr "On dirait que la page que vous cherchez n'existe pas!"
#: airtime_mvc/application/views/scripts/form/edit-history-item.phtml:45
msgid "Choose Show Instance"
msgstr ""
msgstr "Choisissez Afficher instance"
#: airtime_mvc/application/views/scripts/form/edit-history-item.phtml:56
msgid "Find"
msgstr ""
msgstr "Trouver"
#: airtime_mvc/application/views/scripts/form/stream-setting-form.phtml:4
msgid "Stream "
@ -3692,47 +3691,47 @@ msgstr "Options Avancées de Recherche"
#: airtime_mvc/application/views/scripts/playouthistorytemplate/template-contents.phtml:2
msgid "Creating File Summary Template"
msgstr ""
msgstr "Création du fichier Modèle d'Historique"
#: airtime_mvc/application/views/scripts/playouthistorytemplate/template-contents.phtml:4
msgid "Creating Log Sheet Template"
msgstr ""
msgstr "Création du modèle de fichier de Log"
#: airtime_mvc/application/views/scripts/playouthistorytemplate/template-contents.phtml:46
msgid "Add more elements"
msgstr ""
msgstr "Ajouter plus d'éléments"
#: airtime_mvc/application/views/scripts/playouthistorytemplate/template-contents.phtml:67
msgid "Add New Field"
msgstr ""
msgstr "Ajouter un nouveau champs"
#: airtime_mvc/application/views/scripts/playouthistorytemplate/template-contents.phtml:83
msgid "Set Default Template"
msgstr ""
msgstr "Definir le modèle par défaut"
#: airtime_mvc/application/views/scripts/playouthistorytemplate/index.phtml:4
msgid "Log Sheet Templates"
msgstr ""
msgstr "Modèles de fichiers de Log"
#: airtime_mvc/application/views/scripts/playouthistorytemplate/index.phtml:7
msgid "No Log Sheet Templates"
msgstr ""
msgstr "Aucun modèles de fichiers de Log"
#: airtime_mvc/application/views/scripts/playouthistorytemplate/index.phtml:31
msgid "New Log Sheet Template"
msgstr ""
msgstr "Nouveau modèle de fichier de Log"
#: airtime_mvc/application/views/scripts/playouthistorytemplate/index.phtml:35
msgid "File Summary Templates"
msgstr ""
msgstr "Modèle de fichier d'historique"
#: airtime_mvc/application/views/scripts/playouthistorytemplate/index.phtml:38
msgid "No File Summary Templates"
msgstr ""
msgstr "aucun modèle de fichier d'Historique"
#: airtime_mvc/application/views/scripts/playouthistorytemplate/index.phtml:62
msgid "New File Summary Template"
msgstr ""
msgstr "Nouveau modèle de fichier d'Historique"
#: airtime_mvc/application/views/scripts/preference/stream-setting.phtml:2
msgid "Stream Settings"
@ -3828,7 +3827,8 @@ msgstr "Aucun Enregistrements"
#~ msgstr "Bloc Intelligent"
#~ msgid "Specific action is not allowed in demo version!"
#~ msgstr "Des actions spécifiques ne sont pas autorisés dans la version de démo!"
#~ msgstr ""
#~ "Des actions spécifiques ne sont pas autorisés dans la version de démo!"
#~ msgid "Timezone"
#~ msgstr "Fuseau Horaire"

View File

@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: Airtime 2.5\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-10-08 11:46-0400\n"
"PO-Revision-Date: 2013-06-13 16:46+0100\n"
"PO-Revision-Date: 2013-10-11 15:34+0100\n"
"Last-Translator: Daniel James <daniel.james@sourcefabric.org>\n"
"Language-Team: Hungarian Localization <contact@sourcefabric.org>\n"
"Language: \n"
@ -109,7 +109,7 @@ msgstr "Év"
#: airtime_mvc/application/services/HistoryService.php:1102
msgid "Track"
msgstr ""
msgstr "Szám"
#: airtime_mvc/application/services/HistoryService.php:1103
#: airtime_mvc/application/models/Block.php:1332
@ -128,12 +128,12 @@ msgstr "Nyelv"
#: airtime_mvc/application/services/HistoryService.php:1129
#: airtime_mvc/application/forms/EditHistoryItem.php:32
msgid "Start Time"
msgstr ""
msgstr "Kezdési Idő"
#: airtime_mvc/application/services/HistoryService.php:1130
#: airtime_mvc/application/forms/EditHistoryItem.php:44
msgid "End Time"
msgstr ""
msgstr "Fejezési Idő"
#: airtime_mvc/application/services/HistoryService.php:1150
msgid "Played"
@ -141,7 +141,7 @@ msgstr "Lejátszott"
#: airtime_mvc/application/services/CalendarService.php:50
msgid "Record file doesn't exist"
msgstr ""
msgstr "Rögzített fájl nem létezik"
#: airtime_mvc/application/services/CalendarService.php:54
msgid "View Recorded File Metadata"
@ -150,12 +150,12 @@ msgstr "A Rögzített Fájl Metaadatai"
#: airtime_mvc/application/services/CalendarService.php:65
#: airtime_mvc/application/controllers/LibraryController.php:282
msgid "View on Soundcloud"
msgstr "Megtekintés a SoundCloud -on"
msgstr "Megtekintés a SoundCloud-on"
#: airtime_mvc/application/services/CalendarService.php:70
#: airtime_mvc/application/controllers/LibraryController.php:288
msgid "Upload to SoundCloud"
msgstr "Feltöltés a SoundCloud -ra"
msgstr "Feltöltés a SoundCloud-ra"
#: airtime_mvc/application/services/CalendarService.php:70
#: airtime_mvc/application/controllers/LibraryController.php:286
@ -171,7 +171,7 @@ msgstr "Műsor Tartalom"
#: airtime_mvc/application/controllers/LocaleController.php:302
#: airtime_mvc/application/views/scripts/showbuilder/index.phtml:15
msgid "Add / Remove Content"
msgstr "Az Elemek Hozzáadása / Eltávolítása"
msgstr "Elemek Hozzáadása / Eltávolítása"
#: airtime_mvc/application/services/CalendarService.php:95
msgid "Remove All Content"
@ -317,7 +317,7 @@ msgstr "Hallgatói Statisztikák"
#: airtime_mvc/application/configs/navigation.php:92
msgid "History"
msgstr ""
msgstr "Előzmények"
#: airtime_mvc/application/configs/navigation.php:97
msgid "Playout History"
@ -325,7 +325,7 @@ msgstr "Lejátszási Előzmények"
#: airtime_mvc/application/configs/navigation.php:104
msgid "History Templates"
msgstr ""
msgstr "Előzményi Sablonok"
#: airtime_mvc/application/configs/navigation.php:113
#: airtime_mvc/application/views/scripts/error/error.phtml:13
@ -693,7 +693,7 @@ msgstr "Mintavételi Ráta (kHz)"
#: airtime_mvc/application/forms/SmartBlockCriteria.php:72
#: airtime_mvc/application/controllers/LocaleController.php:87
msgid "Track Number"
msgstr "Műsorszám Sorszám"
msgstr "Műsorszám Sorszáma"
#: airtime_mvc/application/models/Block.php:1352
#: airtime_mvc/application/forms/SmartBlockCriteria.php:73
@ -877,7 +877,7 @@ msgstr "Támogatási Visszajelzés Küldése"
#: airtime_mvc/application/forms/RegisterAirtime.php:126
#: airtime_mvc/application/forms/SupportSettings.php:122
msgid "Promote my station on Sourcefabric.org"
msgstr "Az állomásom közzététele a Sourcefabric.org -on"
msgstr "Az állomásom közzététele a Sourcefabric.org-on"
#: airtime_mvc/application/forms/RegisterAirtime.php:149
#: airtime_mvc/application/forms/SupportSettings.php:148
@ -1164,7 +1164,7 @@ msgstr "A login név nem egyedi."
#: airtime_mvc/application/controllers/LocaleController.php:390
#: airtime_mvc/application/views/scripts/form/edit-history-item.phtml:53
msgid "No Show"
msgstr ""
msgstr "Nincs Műsor"
#: airtime_mvc/application/forms/StreamSettingSubForm.php:48
msgid "Enabled:"
@ -1264,15 +1264,15 @@ msgstr "hetente"
#: airtime_mvc/application/forms/AddShowRepeats.php:20
msgid "every 2 weeks"
msgstr ""
msgstr "minden második héten"
#: airtime_mvc/application/forms/AddShowRepeats.php:21
msgid "every 3 weeks"
msgstr ""
msgstr "minden harmadik héten"
#: airtime_mvc/application/forms/AddShowRepeats.php:22
msgid "every 4 weeks"
msgstr ""
msgstr "minden negyedik héten"
#: airtime_mvc/application/forms/AddShowRepeats.php:23
msgid "monthly"
@ -1339,7 +1339,7 @@ msgstr "A befejezési idő után kell, hogy legyen kezdési idő is."
#: airtime_mvc/application/forms/AddShowRepeats.php:110
msgid "Please select a repeat day"
msgstr ""
msgstr "Kérjük, válasszon egy ismétlési napot"
#: airtime_mvc/application/forms/AddShowWhat.php:26
#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:33
@ -1406,7 +1406,7 @@ msgstr "Állomásnév - Műsornév"
#: airtime_mvc/application/forms/StreamSetting.php:63
msgid "Off Air Metadata"
msgstr "Off Air - Metaadat"
msgstr "Adáson Kívüli - Metaadat"
#: airtime_mvc/application/forms/StreamSetting.php:69
msgid "Enable Replay Gain"
@ -1660,7 +1660,7 @@ msgstr "Összes Műsorom:"
#: airtime_mvc/application/forms/EditUser.php:121
msgid "Interface Timezone:"
msgstr ""
msgstr "Felületi Időzóna:"
#: airtime_mvc/application/forms/AddShowLiveStream.php:10
msgid "Use Airtime Authentication:"
@ -1688,7 +1688,7 @@ msgstr "A jelszó nem lehet üres."
#: airtime_mvc/application/forms/GeneralPreferences.php:33
msgid "Default Crossfade Duration (s):"
msgstr "Alapértelmezett Áttünési Időtartam (s):"
msgstr "Alapértelmezett Áttünési Időtartam (mp):"
#: airtime_mvc/application/forms/GeneralPreferences.php:40
#: airtime_mvc/application/forms/GeneralPreferences.php:59
@ -1698,11 +1698,11 @@ msgstr "adja meg másodpercben 0{0,0}"
#: airtime_mvc/application/forms/GeneralPreferences.php:52
msgid "Default Fade In (s):"
msgstr "Alapértelmezett Felúsztatás (s)"
msgstr "Alapértelmezett Felúsztatás (mp)"
#: airtime_mvc/application/forms/GeneralPreferences.php:71
msgid "Default Fade Out (s):"
msgstr "Alapértelmezett Leúsztatás (s)"
msgstr "Alapértelmezett Leúsztatás (mp)"
#: airtime_mvc/application/forms/GeneralPreferences.php:89
#, php-format
@ -1723,7 +1723,7 @@ msgstr "Alapértelmezett Nyelvi Felület"
#: airtime_mvc/application/forms/GeneralPreferences.php:105
msgid "Station Timezone"
msgstr ""
msgstr "Állomási Időzóna:"
#: airtime_mvc/application/forms/GeneralPreferences.php:113
msgid "Week Starts On"
@ -1774,7 +1774,7 @@ msgstr "SoundCloud Feltöltés Engedélyezése"
#: airtime_mvc/application/forms/SoundcloudPreferences.php:36
msgid "Automatically Mark Files \"Downloadable\" on SoundCloud"
msgstr "Automatikusan Megjelölt Fájlok \"Letölthető\" SoundCloud -on"
msgstr "Automatikusan Megjelölt Fájlok \"Letölthetőek\" a SoundCloud-on"
#: airtime_mvc/application/forms/SoundcloudPreferences.php:47
msgid "SoundCloud Email"
@ -1932,7 +1932,7 @@ msgstr "az útvonalat meg kell határozni"
#: airtime_mvc/application/controllers/PreferenceController.php:460
msgid "Problem with Liquidsoap..."
msgstr "Probléma lépett fel a Liquidsoap -al..."
msgstr "Probléma lépett fel a Liquidsoap-al..."
#: airtime_mvc/application/controllers/ErrorController.php:17
msgid "Page not found"
@ -1968,7 +1968,7 @@ msgstr "Élő Adás"
#: airtime_mvc/application/controllers/LocaleController.php:35
msgid "Nothing Scheduled"
msgstr "Semmi Ütemezett"
msgstr "Nincs semmi ütemezve"
#: airtime_mvc/application/controllers/LocaleController.php:36
msgid "Current Show:"
@ -2121,7 +2121,7 @@ msgstr "A soundcloud id erre a fájlra:"
#: airtime_mvc/application/controllers/LocaleController.php:102
msgid "There was an error while uploading to soundcloud."
msgstr "A soundcloud -ra feltöltés közben hiba jelentkezett."
msgstr "A soundcloud-ra feltöltés közben hiba jelentkezett."
#: airtime_mvc/application/controllers/LocaleController.php:103
msgid "Error code: "
@ -2203,7 +2203,7 @@ msgstr "Soha ne emlékeztessen"
#: airtime_mvc/application/controllers/LocaleController.php:128
msgid "Yes, help Airtime"
msgstr "Igen, segítek az Airtime -nak"
msgstr "Igen, segítek az Airtime-nak"
#: airtime_mvc/application/controllers/LocaleController.php:129
#: airtime_mvc/application/controllers/LocaleController.php:178
@ -2348,7 +2348,7 @@ msgstr "By linking your repeating shows any media items scheduled in any repeat
#: airtime_mvc/application/controllers/LocaleController.php:187
msgid "Timezone is set to the station timezone by default. Shows in the calendar will be displayed in your local time defined by the Interface Timezone in your user settings."
msgstr ""
msgstr "Az időzóna az Állomási Időzóna szerint van alapértelmezetten beállítva. A naptárban megjelenő helyi időt a Felületi Időzóna menüpontban módosíthatja, a felhasználói beállításoknál."
#: airtime_mvc/application/controllers/LocaleController.php:191
msgid "Show"
@ -2596,7 +2596,7 @@ msgstr "A túlfoglalt számok eltávolítása"
#: airtime_mvc/application/controllers/LocaleController.php:294
msgid "Remove selected scheduled items"
msgstr "A kijelölt üzemezett elemek eltávolítása"
msgstr "A kijelölt ütemezett elemek eltávolítása"
#: airtime_mvc/application/controllers/LocaleController.php:295
msgid "Jump to the current playing track"
@ -2800,7 +2800,7 @@ msgstr "Fájlok hozzáadása"
#: airtime_mvc/application/controllers/LocaleController.php:368
#, php-format
msgid "Uploaded %d/%d files"
msgstr "Feltöltött %d/%d fájlok"
msgstr "Feltöltve %d/%d fájl"
#: airtime_mvc/application/controllers/LocaleController.php:369
msgid "N/A"
@ -2872,20 +2872,20 @@ msgstr "Hiba: Érvénytelen fájl kiterjesztés:"
#: airtime_mvc/application/views/scripts/playouthistorytemplate/index.phtml:25
#: airtime_mvc/application/views/scripts/playouthistorytemplate/index.phtml:56
msgid "Set Default"
msgstr ""
msgstr "Alapértelmezett"
#: airtime_mvc/application/controllers/LocaleController.php:388
msgid "Create Entry"
msgstr ""
msgstr "Belépés Létrehozása"
#: airtime_mvc/application/controllers/LocaleController.php:389
msgid "Edit History Record"
msgstr ""
msgstr "Rögzítési Előzmények Szerkesztése"
#: airtime_mvc/application/controllers/LocaleController.php:392
#, php-format
msgid "Copied %s row%s to the clipboard"
msgstr "Másolva %s sor%s a vágólapra"
msgstr "%s sor%s van másolva a vágólapra"
#: airtime_mvc/application/controllers/LocaleController.php:393
#, php-format
@ -2925,15 +2925,15 @@ msgstr "Az Ön számára nem érhető el az alábbi erőforrás."
#: airtime_mvc/application/controllers/ApiController.php:563
msgid "File does not exist in Airtime."
msgstr "A fájl nem található az Airtime -ban."
msgstr "A fájl nem található az Airtime-ban."
#: airtime_mvc/application/controllers/ApiController.php:583
msgid "File does not exist in Airtime"
msgstr "A fájl nem található az Airtime -ban."
msgstr "A fájl nem található az Airtime-ban."
#: airtime_mvc/application/controllers/ApiController.php:595
msgid "File doesn't exist in Airtime."
msgstr "A fájl nem létezik az Airtime -ban."
msgstr "A fájl nem létezik az Airtime-ban."
#: airtime_mvc/application/controllers/ApiController.php:646
msgid "Bad request. no 'mode' parameter passed."
@ -3044,7 +3044,7 @@ msgstr "Érvénytelen érték forma."
#: airtime_mvc/application/views/scripts/listenerstat/index.phtml:2
msgid "Listener Count Over Time"
msgstr "Hallgatói Szám az Idő Függvényében"
msgstr "Hallgatói Statisztika"
#: airtime_mvc/application/views/scripts/partialviews/header.phtml:3
msgid "Previous:"
@ -3134,7 +3134,7 @@ msgstr "Megosztás"
#: airtime_mvc/application/views/scripts/dashboard/stream-player.phtml:64
msgid "Select stream:"
msgstr "Adásfolyam kiválasztása:"
msgstr "Adásfolyam:"
#: airtime_mvc/application/views/scripts/dashboard/stream-player.phtml:90
#: airtime_mvc/application/views/scripts/audiopreview/audio-preview.phtml:60
@ -3181,15 +3181,15 @@ msgstr "További segítségért, olvassa el a %shasználati útmutatót%s."
#: airtime_mvc/application/views/scripts/playouthistory/index.phtml:7
msgid "Log Sheet"
msgstr ""
msgstr "Belépési Adatlap"
#: airtime_mvc/application/views/scripts/playouthistory/index.phtml:8
msgid "File Summary"
msgstr ""
msgstr "Fájl Összegzés"
#: airtime_mvc/application/views/scripts/playouthistory/index.phtml:10
msgid "Show Summary"
msgstr ""
msgstr "Műsor Összegzés"
#: airtime_mvc/application/views/scripts/playlist/update.phtml:54
msgid "Expand Static Block"
@ -3462,11 +3462,11 @@ msgstr "Úgy néz ki, az oldal, amit keresett nem létezik!"
#: airtime_mvc/application/views/scripts/form/edit-history-item.phtml:45
msgid "Choose Show Instance"
msgstr ""
msgstr "Adjon hozzá több elemet"
#: airtime_mvc/application/views/scripts/form/edit-history-item.phtml:56
msgid "Find"
msgstr ""
msgstr "Találat"
#: airtime_mvc/application/views/scripts/form/stream-setting-form.phtml:4
msgid "Stream "
@ -3554,7 +3554,7 @@ msgstr "Segítsen az Airtime fejlesztésében, tudassa velünk az ötleteit. Az
#: airtime_mvc/application/views/scripts/form/register-dialog.phtml:25
#, php-format
msgid "Click the box below to advertise your station on %sSourcefabric.org%s. In order to promote your station, 'Send support feedback' must be enabled. This data will be collected in addition to the support feedback."
msgstr "Kattintson az alábbi mezőbe, hogy hírdetni szeretném az állomásomat a %sSourcefabric.org%s -on. Annak érdekében, hogy támogassák az Ön állomását, a 'Támogatás Visszajelzés Küldését' engedélyeznie kell."
msgstr "Kattintson az alábbi mezőbe, hogy hírdetni szeretném az állomásomat a %sSourcefabric.org%s-on. Annak érdekében, hogy támogassák az Ön állomását, a 'Támogatás Visszajelzés Küldését' engedélyeznie kell."
#: airtime_mvc/application/views/scripts/form/register-dialog.phtml:65
#: airtime_mvc/application/views/scripts/form/register-dialog.phtml:79
@ -3674,7 +3674,7 @@ msgstr "-hoz/-hez/-höz"
#: airtime_mvc/application/views/scripts/form/smart-block-criteria.phtml:120
#: airtime_mvc/application/views/scripts/form/smart-block-criteria.phtml:133
msgid "files meet the criteria"
msgstr "a fájlok megfelenek a kritériumoknak"
msgstr "fájl megfelel a kritériumoknak"
#: airtime_mvc/application/views/scripts/form/smart-block-criteria.phtml:127
msgid "file meet the criteria"
@ -3692,51 +3692,51 @@ msgstr "Speciális Keresési Beállítások"
#: airtime_mvc/application/views/scripts/playouthistorytemplate/template-contents.phtml:2
msgid "Creating File Summary Template"
msgstr ""
msgstr "Összegzési Sablon Fájl Létrehozása"
#: airtime_mvc/application/views/scripts/playouthistorytemplate/template-contents.phtml:4
msgid "Creating Log Sheet Template"
msgstr ""
msgstr "Bejelentkezési Adatlap Sablon Létrehozása"
#: airtime_mvc/application/views/scripts/playouthistorytemplate/template-contents.phtml:46
msgid "Add more elements"
msgstr ""
msgstr "Adjon hozzá több elemet"
#: airtime_mvc/application/views/scripts/playouthistorytemplate/template-contents.phtml:67
msgid "Add New Field"
msgstr ""
msgstr "Új Mező Hozzáadása"
#: airtime_mvc/application/views/scripts/playouthistorytemplate/template-contents.phtml:83
msgid "Set Default Template"
msgstr ""
msgstr "Alapértelmezett Sablon"
#: airtime_mvc/application/views/scripts/playouthistorytemplate/index.phtml:4
msgid "Log Sheet Templates"
msgstr ""
msgstr "Bejelentkezési Adatlap Sablonok"
#: airtime_mvc/application/views/scripts/playouthistorytemplate/index.phtml:7
msgid "No Log Sheet Templates"
msgstr ""
msgstr "Nincsenek Bejelentkezési Adatlap Sablonok"
#: airtime_mvc/application/views/scripts/playouthistorytemplate/index.phtml:31
msgid "New Log Sheet Template"
msgstr ""
msgstr "Nincs Bejelentkezési Adatlap Sablon"
#: airtime_mvc/application/views/scripts/playouthistorytemplate/index.phtml:35
msgid "File Summary Templates"
msgstr ""
msgstr "Összegzési Sablon Fájlok"
#: airtime_mvc/application/views/scripts/playouthistorytemplate/index.phtml:38
msgid "No File Summary Templates"
msgstr ""
msgstr "Nincsenek Összegzési Sablon Fájlok"
#: airtime_mvc/application/views/scripts/playouthistorytemplate/index.phtml:62
msgid "New File Summary Template"
msgstr ""
msgstr "Új Összegzési Sablon Fájl"
#: airtime_mvc/application/views/scripts/preference/stream-setting.phtml:2
msgid "Stream Settings"
msgstr "Adásfolyam Beállítások"
msgstr "Adásfolyam/Patak Beállítások"
#: airtime_mvc/application/views/scripts/preference/stream-setting.phtml:12
msgid "Global Settings"

View File

@ -760,7 +760,7 @@ var AIRTIME = (function(AIRTIME) {
},
"fnDrawCallback": AIRTIME.library.fnDrawCallback,
"aaSorting": [[3, 'asc']],
"aaSorting": [[5, 'asc']],
"sPaginationType": "full_numbers",
"bJQueryUI": true,
"bAutoWidth": false,
@ -783,9 +783,6 @@ var AIRTIME = (function(AIRTIME) {
});
//sort by title, by default
oTable.fnSort( [ [5, 'asc'] ] );
setColumnFilter(oTable);
oTable.fnSetFilteringDelay(350);

View File

@ -4,6 +4,84 @@
*
*/
function openAddShowForm() {
if($("#add-show-form").length == 1) {
if( ($("#add-show-form").css('display')=='none')) {
$("#add-show-form").show();
var windowWidth = $(window).width();
// margin on showform are 16 px on each side
var calendarWidth = 100-(($("#schedule-add-show").width() + (16 * 4))/windowWidth*100);
var widthPercent = parseInt(calendarWidth)+"%";
$("#schedule_calendar").css("width", widthPercent);
// 200 px for top dashboard and 50 for padding on main content
// this calculation was copied from schedule.js line 326
var mainHeight = document.documentElement.clientHeight - 200 - 50;
$('#schedule_calendar').fullCalendar('option', 'contentHeight', mainHeight);
}
$("#schedule-show-what").show(0, function(){
$add_show_name = $("#add_show_name");
$add_show_name.focus();
$add_show_name.select();
});
}
}
function makeAddShowButton(){
$('.fc-header-left')
.append('<span class="fc-header-space"></span>')
.append('<span class="fc-button"><a href="#" class="add-button"><span class="add-icon"></span>'+$.i18n._("Show")+'</a></span>')
.find('span.fc-button:last > a')
.click(function(){
openAddShowForm();
removeAddShowButton();
});
}
function removeAddShowButton(){
var aTag = $('.fc-header-left')
.find("span.fc-button:last > a");
var span = aTag.parent();
span.prev().remove();
span.remove();
}
//$el is DOM element #add-show-form
//form is the new form contents to append to $el
function redrawAddShowForm($el, form) {
//need to clean up the color picker.
$el.find("#schedule-show-style input").each(function(i, el){
var $input = $(this),
colId = $input.data("colorpickerId");
$("#"+colId).remove();
$input.removeData();
});
$el.empty().append(form);
setAddShowEvents($el);
}
function closeAddShowForm(event) {
event.stopPropagation();
event.preventDefault();
var $el = $("#add-show-form");
$el.hide();
windowResize();
$.get(baseUrl+"Schedule/get-form", {format:"json"}, function(json) {
redrawAddShowForm($el, json.form);
});
makeAddShowButton();
}
//dateText mm-dd-yy
function startDpSelect(dateText, inst) {
var time, date;
@ -73,16 +151,14 @@ function findHosts(request, callback) {
}
function beginEditShow(data){
if(data.show_error == true){
if (data.show_error == true){
alertShowErrorAndReload();
return false;
}
$("#add-show-form")
.empty()
.append(data.newForm);
redrawAddShowForm($("#add-show-form"), data.newForm);
removeAddShowButton();
setAddShowEvents();
openAddShowForm();
}
@ -130,9 +206,9 @@ function getContrastYIQ(hexcolor){
}
function setAddShowEvents() {
function setAddShowEvents(form) {
var form = $("#add-show-form");
//var form = $("#add-show-form");
form.find("h3").click(function(){
$(this).next().toggle();
@ -499,108 +575,75 @@ function setAddShowEvents() {
}
});
form.find("#add-show-close").click(closeAddShowForm);
form.find("#add-show-close")
.click(function(event){
event.stopPropagation();
event.preventDefault();
form.find(".add-show-submit").click(function(event) {
event.preventDefault();
var addShowButton = $(this);
$('#schedule-add-show').block({
message: null,
applyPlatformOpacityRules: false
});
$("#add-show-form").hide();
windowResize();
//when editing a show, the record option is disabled
//we have to enable it to get the correct value when
//we call serializeArray()
if (form.find("#add_show_record").attr("disabled", true)) {
form.find("#add_show_record").attr("disabled", false);
}
$.get(baseUrl+"Schedule/get-form", {format:"json"}, function(json){
$("#add-show-form")
.empty()
.append(json.form);
var data = $("form").serializeArray();
setAddShowEvents();
});
makeAddShowButton();
});
var hosts = $('#add_show_hosts-element input').map(function() {
if($(this).attr("checked")) {
return $(this).val();
}
}).get();
form.find(".add-show-submit")
.click(function(event){
var addShowButton = $(this);
/*
if (!addShowButton.hasClass("disabled")){
addShowButton.addClass("disabled");
var days = $('#add_show_day_check-element input').map(function() {
if($(this).attr("checked")) {
return $(this).val();
}
}).get();
var start_date = $("#add_show_start_date").val();
var end_date = $("#add_show_end_date").val();
var action = baseUrl+"Schedule/"+String(addShowButton.attr("data-action"));
$.post(action, {format: "json", data: data, hosts: hosts, days: days}, function(json){
$('#schedule-add-show').unblock();
var $addShowForm = $("#add-show-form");
if (json.form) {
redrawAddShowForm($addShowForm, json.form);
$("#add_show_end_date").val(end_date);
$("#add_show_start_date").val(start_date);
showErrorSections();
}
else if (json.edit) {
$("#schedule_calendar").removeAttr("style")
.fullCalendar('render');
$addShowForm.hide();
$.get(baseUrl+"Schedule/get-form", {format:"json"}, function(json){
redrawAddShowForm($addShowForm, json.form);
});
makeAddShowButton();
}
else {
return;
redrawAddShowForm($addShowForm, json.newForm);
scheduleRefetchEvents(json);
}
*/
event.preventDefault();
//when editing a show, the record option is disabled
//we have to enable it to get the correct value when
//we call serializeArray()
if (form.find("#add_show_record").attr("disabled", true)) {
form.find("#add_show_record").attr("disabled", false);
}
var data = $("form").serializeArray();
var hosts = $('#add_show_hosts-element input').map(function() {
if($(this).attr("checked")) {
return $(this).val();
}
}).get();
var days = $('#add_show_day_check-element input').map(function() {
if($(this).attr("checked")) {
return $(this).val();
}
}).get();
var start_date = $("#add_show_start_date").val();
var end_date = $("#add_show_end_date").val();
$('#schedule-add-show').block({
message: null,
applyPlatformOpacityRules: false
});
var action = baseUrl+"Schedule/"+String(addShowButton.attr("data-action"));
$.post(action, {format: "json", data: data, hosts: hosts, days: days}, function(json){
//addShowButton.removeClass("disabled");
$('#schedule-add-show').unblock();
if(json.form) {
$("#add-show-form")
.empty()
.append(json.form);
setAddShowEvents();
$("#add_show_end_date").val(end_date);
$("#add_show_start_date").val(start_date);
showErrorSections();
}else if(json.edit){
$("#schedule_calendar").removeAttr("style")
.fullCalendar('render');
$("#add-show-form").hide();
$.get(baseUrl+"Schedule/get-form", {format:"json"}, function(json){
$("#add-show-form")
.empty()
.append(json.form);
setAddShowEvents();
});
makeAddShowButton();
}
else {
$("#add-show-form")
.empty()
.append(json.newForm);
setAddShowEvents();
scheduleRefetchEvents(json);
}
});
});
});
});
var regDate = new RegExp(/^[0-9]{4}-[0-1][0-9]-[0-3][0-9]$/);
var regTime = new RegExp(/^[0-2][0-9]:[0-5][0-9]$/);
@ -740,7 +783,7 @@ function showErrorSections() {
}
$(document).ready(function() {
setAddShowEvents();
setAddShowEvents($("#add-show-form"));
});
//Alert the error and reload the page
@ -749,27 +792,3 @@ function alertShowErrorAndReload(){
alert($.i18n._("The show instance doesn't exist anymore!"));
window.location.reload();
}
function windowResize() {
var windowWidth = $(this).width();
// margin on showform are 16 px on each side
if(!$("#schedule-add-show").is(':hidden')){
var calendarWidth = 100-(($("#schedule-add-show").width() + (16 * 4))/windowWidth*100);
var widthPercent = parseInt(calendarWidth)+"%";
$("#schedule_calendar").css("width", widthPercent);
} else {
$("#schedule_calendar").css("width", 98.5+"%");
}
// 200 px for top dashboard and 50 for padding on main content
// this calculation was copied from schedule.js line 326
var mainHeight = document.documentElement.clientHeight - 200 - 50;
$('#schedule_calendar').fullCalendar('option', 'contentHeight', mainHeight);
}
var scheduleResizeTimeout;
$(window).resize(function(){
clearTimeout(scheduleResizeTimeout);
scheduleResizeTimeout = setTimeout(windowResize, 100);
});

View File

@ -19,49 +19,6 @@ function scheduleRefetchEvents(json) {
$("#schedule_calendar").fullCalendar( 'refetchEvents' );
}
function openAddShowForm() {
if($("#add-show-form").length == 1) {
if( ($("#add-show-form").css('display')=='none')) {
$("#add-show-form").show();
var windowWidth = $(window).width();
// margin on showform are 16 px on each side
var calendarWidth = 100-(($("#schedule-add-show").width() + (16 * 4))/windowWidth*100);
var widthPercent = parseInt(calendarWidth)+"%";
$("#schedule_calendar").css("width", widthPercent);
// 200 px for top dashboard and 50 for padding on main content
// this calculation was copied from schedule.js line 326
var mainHeight = document.documentElement.clientHeight - 200 - 50;
$('#schedule_calendar').fullCalendar('option', 'contentHeight', mainHeight);
}
$("#schedule-show-what").show(0, function(){
$add_show_name = $("#add_show_name");
$add_show_name.focus();
$add_show_name.select();
});
}
}
function makeAddShowButton(){
$('.fc-header-left')
.append('<span class="fc-header-space"></span>')
.append('<span class="fc-button"><a href="#" class="add-button"><span class="add-icon"></span>'+$.i18n._("Show")+'</a></span>')
.find('span.fc-button:last > a')
.click(function(){
openAddShowForm();
removeAddShowButton();
});
}
function removeAddShowButton(){
var aTag = $('.fc-header-left')
.find("span.fc-button:last > a");
var span = aTag.parent();
span.prev().remove();
span.remove();
}
function makeTimeStamp(date){
var sy, sm, sd, h, m, s, timestamp;
sy = date.getFullYear();
@ -331,6 +288,21 @@ 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);
}
}
}
function eventAfterRender( event, element, view ) {
@ -374,6 +346,24 @@ function eventResize( event, dayDelta, minuteDelta, revertFunc, jsEvent, ui, vie
});
}
function windowResize() {
var windowWidth = $(this).width();
// margin on showform are 16 px on each side
if(!$("#schedule-add-show").is(':hidden')){
var calendarWidth = 100-(($("#schedule-add-show").width() + (16 * 4))/windowWidth*100);
var widthPercent = parseInt(calendarWidth)+"%";
$("#schedule_calendar").css("width", widthPercent);
} else {
$("#schedule_calendar").css("width", 98.5+"%");
}
// 200 px for top dashboard and 50 for padding on main content
// this calculation was copied from schedule.js line 326
var mainHeight = document.documentElement.clientHeight - 200 - 50;
$('#schedule_calendar').fullCalendar('option', 'contentHeight', mainHeight);
}
function preloadEventFeed () {
var url = baseUrl+'Schedule/event-feed-preload';
var d = new Date();
@ -596,8 +586,8 @@ function alertShowErrorAndReload(){
window.location.reload();
}
preloadEventFeed();
$(document).ready(function(){
preloadEventFeed();
checkSCUploadStatus();
getCurrentShow();
});

View File

@ -13,8 +13,13 @@ var AIRTIME = (function(AIRTIME){
var serverTimezoneOffset = 0;
function closeDialogCalendar(event, ui) {
//$("#schedule_calendar").fullCalendar( 'refetchEvents' );
$(this).remove();
$el = $(this);
$el.dialog('destroy');
$el.remove();
//need to refetch the events to update scheduled status.
$("#schedule_calendar").fullCalendar( 'refetchEvents' );
}
function checkShowLength(json) {
@ -319,7 +324,8 @@ function createFullCalendar(data){
eventRender: eventRender,
eventAfterRender: eventAfterRender,
eventDrop: eventDrop,
eventResize: eventResize
eventResize: eventResize,
windowResize: windowResize
});
}

View File

@ -1,485 +1,485 @@
/**
*
* Color picker
* Author: Stefan Petre www.eyecon.ro
*
* Dual licensed under the MIT and GPL licenses
*
*/
(function ($) {
var ColorPicker = function () {
var
ids = {},
inAction,
charMin = 65,
visible,
tpl = '<div class="colorpicker"><div class="colorpicker_color"><div><div></div></div></div><div class="colorpicker_hue"><div></div></div><div class="colorpicker_new_color"></div><div class="colorpicker_current_color"></div><div class="colorpicker_hex"><input type="text" maxlength="6" size="6" /></div><div class="colorpicker_rgb_r colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_rgb_g colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_rgb_b colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_hsb_h colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_hsb_s colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_hsb_b colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_submit"></div></div>',
defaults = {
eventName: 'click',
onShow: function () {},
onBeforeShow: function(){},
onHide: function () {},
onChange: function () {},
onSubmit: function () {},
color: 'ff0000',
livePreview: true,
flat: false
},
fillRGBFields = function (hsb, cal) {
var rgb = HSBToRGB(hsb);
$(cal).data('colorpicker').fields
.eq(1).val(rgb.r).end()
.eq(2).val(rgb.g).end()
.eq(3).val(rgb.b).end();
},
fillHSBFields = function (hsb, cal) {
$(cal).data('colorpicker').fields
.eq(4).val(hsb.h).end()
.eq(5).val(hsb.s).end()
.eq(6).val(hsb.b).end();
},
fillHexFields = function (hsb, cal) {
$(cal).data('colorpicker').fields
.eq(0).val(HSBToHex(hsb)).end();
},
setSelector = function (hsb, cal) {
$(cal).data('colorpicker').selector.css('backgroundColor', '#' + HSBToHex({h: hsb.h, s: 100, b: 100}));
$(cal).data('colorpicker').selectorIndic.css({
left: parseInt(150 * hsb.s/100, 10),
top: parseInt(150 * (100-hsb.b)/100, 10)
});
},
setHue = function (hsb, cal) {
$(cal).data('colorpicker').hue.css('top', parseInt(150 - 150 * hsb.h/360, 10));
},
setCurrentColor = function (hsb, cal) {
$(cal).data('colorpicker').currentColor.css('backgroundColor', '#' + HSBToHex(hsb));
},
setNewColor = function (hsb, cal) {
$(cal).data('colorpicker').newColor.css('backgroundColor', '#' + HSBToHex(hsb));
},
keyDown = function (ev) {
var pressedKey = ev.charCode || ev.keyCode || -1;
if ((pressedKey > charMin && pressedKey <= 90) || pressedKey == 32) {
return false;
}
var cal = $(this).parent().parent();
if (cal.data('colorpicker').livePreview === true) {
change.apply(this);
}
},
change = function (ev) {
var cal = $(this).parent().parent(), col;
if (this.parentNode.className.indexOf('_hex') > 0) {
cal.data('colorpicker').color = col = HexToHSB(fixHex(this.value));
} else if (this.parentNode.className.indexOf('_hsb') > 0) {
cal.data('colorpicker').color = col = fixHSB({
h: parseInt(cal.data('colorpicker').fields.eq(4).val(), 10),
s: parseInt(cal.data('colorpicker').fields.eq(5).val(), 10),
b: parseInt(cal.data('colorpicker').fields.eq(6).val(), 10)
});
} else {
cal.data('colorpicker').color = col = RGBToHSB(fixRGB({
r: parseInt(cal.data('colorpicker').fields.eq(1).val(), 10),
g: parseInt(cal.data('colorpicker').fields.eq(2).val(), 10),
b: parseInt(cal.data('colorpicker').fields.eq(3).val(), 10)
}));
}
if (ev) {
fillRGBFields(col, cal.get(0));
fillHexFields(col, cal.get(0));
fillHSBFields(col, cal.get(0));
}
setSelector(col, cal.get(0));
setHue(col, cal.get(0));
setNewColor(col, cal.get(0));
cal.data('colorpicker').onChange.apply(cal, [col, HSBToHex(col), HSBToRGB(col), cal.data('colorpicker').el]);
},
blur = function (ev) {
var cal = $(this).parent().parent();
cal.data('colorpicker').fields.parent().removeClass('colorpicker_focus');
},
focus = function () {
charMin = this.parentNode.className.indexOf('_hex') > 0 ? 70 : 65;
$(this).parent().parent().data('colorpicker').fields.parent().removeClass('colorpicker_focus');
$(this).parent().addClass('colorpicker_focus');
},
downIncrement = function (ev) {
var field = $(this).parent().find('input').focus();
var current = {
el: $(this).parent().addClass('colorpicker_slider'),
max: this.parentNode.className.indexOf('_hsb_h') > 0 ? 360 : (this.parentNode.className.indexOf('_hsb') > 0 ? 100 : 255),
y: ev.pageY,
field: field,
val: parseInt(field.val(), 10),
preview: $(this).parent().parent().data('colorpicker').livePreview
};
$(document).bind('mouseup', current, upIncrement);
$(document).bind('mousemove', current, moveIncrement);
},
moveIncrement = function (ev) {
ev.data.field.val(Math.max(0, Math.min(ev.data.max, parseInt(ev.data.val + ev.pageY - ev.data.y, 10))));
if (ev.data.preview) {
change.apply(ev.data.field.get(0), [true]);
}
return false;
},
upIncrement = function (ev) {
change.apply(ev.data.field.get(0), [true]);
ev.data.el.removeClass('colorpicker_slider').find('input').focus();
$(document).unbind('mouseup', upIncrement);
$(document).unbind('mousemove', moveIncrement);
return false;
},
downHue = function (ev) {
var current = {
cal: $(this).parent(),
y: $(this).offset().top
};
current.preview = current.cal.data('colorpicker').livePreview;
$(document).bind('mouseup', current, upHue);
$(document).bind('mousemove', current, moveHue);
},
moveHue = function (ev) {
change.apply(
ev.data.cal.data('colorpicker')
.fields
.eq(4)
.val(parseInt(360*(150 - Math.max(0,Math.min(150,(ev.pageY - ev.data.y))))/150, 10))
.get(0),
[ev.data.preview]
);
return false;
},
upHue = function (ev) {
fillRGBFields(ev.data.cal.data('colorpicker').color, ev.data.cal.get(0));
fillHexFields(ev.data.cal.data('colorpicker').color, ev.data.cal.get(0));
$(document).unbind('mouseup', upHue);
$(document).unbind('mousemove', moveHue);
return false;
},
downSelector = function (ev) {
var current = {
cal: $(this).parent(),
pos: $(this).offset()
};
current.preview = current.cal.data('colorpicker').livePreview;
$(document).bind('mouseup', current, upSelector);
$(document).bind('mousemove', current, moveSelector);
},
moveSelector = function (ev) {
change.apply(
ev.data.cal.data('colorpicker')
.fields
.eq(6)
.val(parseInt(100*(150 - Math.max(0,Math.min(150,(ev.pageY - ev.data.pos.top))))/150, 10))
.end()
.eq(5)
.val(parseInt(100*(Math.max(0,Math.min(150,(ev.pageX - ev.data.pos.left))))/150, 10))
.get(0),
[ev.data.preview]
);
return false;
},
upSelector = function (ev) {
fillRGBFields(ev.data.cal.data('colorpicker').color, ev.data.cal.get(0));
fillHexFields(ev.data.cal.data('colorpicker').color, ev.data.cal.get(0));
$(document).unbind('mouseup', upSelector);
$(document).unbind('mousemove', moveSelector);
return false;
},
enterSubmit = function (ev) {
$(this).addClass('colorpicker_focus');
},
leaveSubmit = function (ev) {
$(this).removeClass('colorpicker_focus');
},
clickSubmit = function (ev) {
var cal = $(this).parent();
var col = cal.data('colorpicker').color;
cal.data('colorpicker').origColor = col;
setCurrentColor(col, cal.get(0));
cal.data('colorpicker').onSubmit(col, HSBToHex(col), HSBToRGB(col), cal.data('colorpicker').el);
},
show = function (ev) {
var cal = $('#' + $(this).data('colorpickerId'));
cal.data('colorpicker').onBeforeShow.apply(this, [cal.get(0)]);
var pos = $(this).offset();
var viewPort = getViewport();
var top = pos.top + this.offsetHeight;
var left = pos.left;
if (top + 176 > viewPort.t + viewPort.h) {
top -= this.offsetHeight + 176;
}
if (left + 356 > viewPort.l + viewPort.w) {
left -= 356;
}
cal.css({left: left + 'px', top: top + 'px'});
if (cal.data('colorpicker').onShow.apply(this, [cal.get(0)]) != false) {
cal.show();
}
$(document).bind('mousedown', {cal: cal}, hide);
return false;
},
hide = function (ev) {
if (!isChildOf(ev.data.cal.get(0), ev.target, ev.data.cal.get(0))) {
if (ev.data.cal.data('colorpicker').onHide.apply(this, [ev.data.cal.get(0)]) != false) {
ev.data.cal.hide();
}
$(document).unbind('mousedown', hide);
}
},
isChildOf = function(parentEl, el, container) {
if (parentEl == el) {
return true;
}
if (parentEl.contains) {
return parentEl.contains(el);
}
if ( parentEl.compareDocumentPosition ) {
return !!(parentEl.compareDocumentPosition(el) & 16);
}
var prEl = el.parentNode;
while(prEl && prEl != container) {
if (prEl == parentEl)
return true;
prEl = prEl.parentNode;
}
return false;
},
getViewport = function () {
var m = document.compatMode == 'CSS1Compat';
return {
l : window.pageXOffset || (m ? document.documentElement.scrollLeft : document.body.scrollLeft),
t : window.pageYOffset || (m ? document.documentElement.scrollTop : document.body.scrollTop),
w : window.innerWidth || (m ? document.documentElement.clientWidth : document.body.clientWidth),
h : window.innerHeight || (m ? document.documentElement.clientHeight : document.body.clientHeight)
};
},
fixHSB = function (hsb) {
return {
h: Math.min(360, Math.max(0, hsb.h)),
s: Math.min(100, Math.max(0, hsb.s)),
b: Math.min(100, Math.max(0, hsb.b))
};
},
fixRGB = function (rgb) {
return {
r: Math.min(255, Math.max(0, rgb.r)),
g: Math.min(255, Math.max(0, rgb.g)),
b: Math.min(255, Math.max(0, rgb.b))
};
},
fixHex = function (hex) {
var len = 6 - hex.length;
if (len > 0) {
var o = [];
for (var i=0; i<len; i++) {
o.push('0');
}
o.push(hex);
hex = o.join('');
}
return hex;
},
HexToRGB = function (hex) {
var hex = parseInt(((hex.indexOf('#') > -1) ? hex.substring(1) : hex), 16);
return {r: hex >> 16, g: (hex & 0x00FF00) >> 8, b: (hex & 0x0000FF)};
},
HexToHSB = function (hex) {
return RGBToHSB(HexToRGB(hex));
},
RGBToHSB = function (rgb) {
var hsb = {
h: 0,
s: 0,
b: 0
};
var min = Math.min(rgb.r, rgb.g, rgb.b);
var max = Math.max(rgb.r, rgb.g, rgb.b);
var delta = max - min;
hsb.b = max;
if (max != 0) {
}
hsb.s = max != 0 ? 255 * delta / max : 0;
if (hsb.s != 0) {
if (rgb.r == max) {
hsb.h = (rgb.g - rgb.b) / delta;
} else if (rgb.g == max) {
hsb.h = 2 + (rgb.b - rgb.r) / delta;
} else {
hsb.h = 4 + (rgb.r - rgb.g) / delta;
}
} else {
hsb.h = -1;
}
hsb.h *= 60;
if (hsb.h < 0) {
hsb.h += 360;
}
hsb.s *= 100/255;
hsb.b *= 100/255;
return hsb;
},
HSBToRGB = function (hsb) {
var rgb = {};
var h = Math.round(hsb.h);
var s = Math.round(hsb.s*255/100);
var v = Math.round(hsb.b*255/100);
if(s == 0) {
rgb.r = rgb.g = rgb.b = v;
} else {
var t1 = v;
var t2 = (255-s)*v/255;
var t3 = (t1-t2)*(h%60)/60;
if(h==360) h = 0;
if(h<60) {rgb.r=t1; rgb.b=t2; rgb.g=t2+t3}
else if(h<120) {rgb.g=t1; rgb.b=t2; rgb.r=t1-t3}
else if(h<180) {rgb.g=t1; rgb.r=t2; rgb.b=t2+t3}
else if(h<240) {rgb.b=t1; rgb.r=t2; rgb.g=t1-t3}
else if(h<300) {rgb.b=t1; rgb.g=t2; rgb.r=t2+t3}
else if(h<360) {rgb.r=t1; rgb.g=t2; rgb.b=t1-t3}
else {rgb.r=0; rgb.g=0; rgb.b=0}
}
return {r:Math.round(rgb.r), g:Math.round(rgb.g), b:Math.round(rgb.b)};
},
RGBToHex = function (rgb) {
var hex = [
rgb.r.toString(16),
rgb.g.toString(16),
rgb.b.toString(16)
];
$.each(hex, function (nr, val) {
if (val.length == 1) {
hex[nr] = '0' + val;
}
});
return hex.join('');
},
HSBToHex = function (hsb) {
return RGBToHex(HSBToRGB(hsb));
},
restoreOriginal = function () {
var cal = $(this).parent();
var col = cal.data('colorpicker').origColor;
cal.data('colorpicker').color = col;
fillRGBFields(col, cal.get(0));
fillHexFields(col, cal.get(0));
fillHSBFields(col, cal.get(0));
setSelector(col, cal.get(0));
setHue(col, cal.get(0));
setNewColor(col, cal.get(0));
};
return {
init: function (opt) {
opt = $.extend({}, defaults, opt||{});
if (typeof opt.color == 'string') {
opt.color = HexToHSB(opt.color);
} else if (opt.color.r != undefined && opt.color.g != undefined && opt.color.b != undefined) {
opt.color = RGBToHSB(opt.color);
} else if (opt.color.h != undefined && opt.color.s != undefined && opt.color.b != undefined) {
opt.color = fixHSB(opt.color);
} else {
return this;
}
return this.each(function () {
if (!$(this).data('colorpickerId')) {
var options = $.extend({}, opt);
options.origColor = opt.color;
var id = 'collorpicker_' + parseInt(Math.random() * 1000);
$(this).data('colorpickerId', id);
var cal = $(tpl).attr('id', id);
if (options.flat) {
cal.appendTo(this).show();
} else {
cal.appendTo(document.body);
}
options.fields = cal
.find('input')
.bind('keyup', keyDown)
.bind('change', change)
.bind('blur', blur)
.bind('focus', focus);
cal
.find('span').bind('mousedown', downIncrement).end()
.find('>div.colorpicker_current_color').bind('click', restoreOriginal);
options.selector = cal.find('div.colorpicker_color').bind('mousedown', downSelector);
options.selectorIndic = options.selector.find('div div');
options.el = this;
options.hue = cal.find('div.colorpicker_hue div');
cal.find('div.colorpicker_hue').bind('mousedown', downHue);
options.newColor = cal.find('div.colorpicker_new_color');
options.currentColor = cal.find('div.colorpicker_current_color');
cal.data('colorpicker', options);
cal.find('div.colorpicker_submit')
.bind('mouseenter', enterSubmit)
.bind('mouseleave', leaveSubmit)
.bind('click', clickSubmit);
fillRGBFields(options.color, cal.get(0));
fillHSBFields(options.color, cal.get(0));
fillHexFields(options.color, cal.get(0));
setHue(options.color, cal.get(0));
setSelector(options.color, cal.get(0));
setCurrentColor(options.color, cal.get(0));
setNewColor(options.color, cal.get(0));
if (options.flat) {
cal.css({
position: 'relative',
display: 'block'
});
} else {
$(this).bind(options.eventName, show);
}
}
});
},
showPicker: function() {
return this.each( function () {
if ($(this).data('colorpickerId')) {
show.apply(this);
}
});
},
hidePicker: function() {
return this.each( function () {
if ($(this).data('colorpickerId')) {
$('#' + $(this).data('colorpickerId')).hide();
}
});
},
setColor: function(col) {
if (typeof col == 'string') {
col = HexToHSB(col);
} else if (col.r != undefined && col.g != undefined && col.b != undefined) {
col = RGBToHSB(col);
} else if (col.h != undefined && col.s != undefined && col.b != undefined) {
col = fixHSB(col);
} else {
return this;
}
return this.each(function(){
if ($(this).data('colorpickerId')) {
var cal = $('#' + $(this).data('colorpickerId'));
cal.data('colorpicker').color = col;
cal.data('colorpicker').origColor = col;
fillRGBFields(col, cal.get(0));
fillHSBFields(col, cal.get(0));
fillHexFields(col, cal.get(0));
setHue(col, cal.get(0));
setSelector(col, cal.get(0));
setCurrentColor(col, cal.get(0));
setNewColor(col, cal.get(0));
}
});
}
};
}();
$.fn.extend({
ColorPicker: ColorPicker.init,
ColorPickerHide: ColorPicker.hidePicker,
ColorPickerShow: ColorPicker.showPicker,
ColorPickerSetColor: ColorPicker.setColor
});
})(jQuery)
/**
*
* Color picker
* Author: Stefan Petre www.eyecon.ro
*
* Dual licensed under the MIT and GPL licenses
*
*/
(function ($) {
var ColorPicker = function () {
var
ids = {},
inAction,
charMin = 65,
visible,
tpl = '<div class="colorpicker"><div class="colorpicker_color"><div><div></div></div></div><div class="colorpicker_hue"><div></div></div><div class="colorpicker_new_color"></div><div class="colorpicker_current_color"></div><div class="colorpicker_hex"><input type="text" maxlength="6" size="6" /></div><div class="colorpicker_rgb_r colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_rgb_g colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_rgb_b colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_hsb_h colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_hsb_s colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_hsb_b colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_submit"></div></div>',
defaults = {
eventName: 'click',
onShow: function () {},
onBeforeShow: function(){},
onHide: function () {},
onChange: function () {},
onSubmit: function () {},
color: 'ff0000',
livePreview: true,
flat: false
},
fillRGBFields = function (hsb, cal) {
var rgb = HSBToRGB(hsb);
$(cal).data('colorpicker').fields
.eq(1).val(rgb.r).end()
.eq(2).val(rgb.g).end()
.eq(3).val(rgb.b).end();
},
fillHSBFields = function (hsb, cal) {
$(cal).data('colorpicker').fields
.eq(4).val(hsb.h).end()
.eq(5).val(hsb.s).end()
.eq(6).val(hsb.b).end();
},
fillHexFields = function (hsb, cal) {
$(cal).data('colorpicker').fields
.eq(0).val(HSBToHex(hsb)).end();
},
setSelector = function (hsb, cal) {
$(cal).data('colorpicker').selector.css('backgroundColor', '#' + HSBToHex({h: hsb.h, s: 100, b: 100}));
$(cal).data('colorpicker').selectorIndic.css({
left: parseInt(150 * hsb.s/100, 10),
top: parseInt(150 * (100-hsb.b)/100, 10)
});
},
setHue = function (hsb, cal) {
$(cal).data('colorpicker').hue.css('top', parseInt(150 - 150 * hsb.h/360, 10));
},
setCurrentColor = function (hsb, cal) {
$(cal).data('colorpicker').currentColor.css('backgroundColor', '#' + HSBToHex(hsb));
},
setNewColor = function (hsb, cal) {
$(cal).data('colorpicker').newColor.css('backgroundColor', '#' + HSBToHex(hsb));
},
keyDown = function (ev) {
var pressedKey = ev.charCode || ev.keyCode || -1;
if ((pressedKey > charMin && pressedKey <= 90) || pressedKey == 32) {
return false;
}
var cal = $(this).parent().parent();
if (cal.data('colorpicker').livePreview === true) {
change.apply(this);
}
},
change = function (ev) {
var cal = $(this).parent().parent(), col;
if (this.parentNode.className.indexOf('_hex') > 0) {
cal.data('colorpicker').color = col = HexToHSB(fixHex(this.value));
} else if (this.parentNode.className.indexOf('_hsb') > 0) {
cal.data('colorpicker').color = col = fixHSB({
h: parseInt(cal.data('colorpicker').fields.eq(4).val(), 10),
s: parseInt(cal.data('colorpicker').fields.eq(5).val(), 10),
b: parseInt(cal.data('colorpicker').fields.eq(6).val(), 10)
});
} else {
cal.data('colorpicker').color = col = RGBToHSB(fixRGB({
r: parseInt(cal.data('colorpicker').fields.eq(1).val(), 10),
g: parseInt(cal.data('colorpicker').fields.eq(2).val(), 10),
b: parseInt(cal.data('colorpicker').fields.eq(3).val(), 10)
}));
}
if (ev) {
fillRGBFields(col, cal.get(0));
fillHexFields(col, cal.get(0));
fillHSBFields(col, cal.get(0));
}
setSelector(col, cal.get(0));
setHue(col, cal.get(0));
setNewColor(col, cal.get(0));
cal.data('colorpicker').onChange.apply(cal, [col, HSBToHex(col), HSBToRGB(col), cal.data('colorpicker').el]);
},
blur = function (ev) {
var cal = $(this).parent().parent();
cal.data('colorpicker').fields.parent().removeClass('colorpicker_focus');
},
focus = function () {
charMin = this.parentNode.className.indexOf('_hex') > 0 ? 70 : 65;
$(this).parent().parent().data('colorpicker').fields.parent().removeClass('colorpicker_focus');
$(this).parent().addClass('colorpicker_focus');
},
downIncrement = function (ev) {
var field = $(this).parent().find('input').focus();
var current = {
el: $(this).parent().addClass('colorpicker_slider'),
max: this.parentNode.className.indexOf('_hsb_h') > 0 ? 360 : (this.parentNode.className.indexOf('_hsb') > 0 ? 100 : 255),
y: ev.pageY,
field: field,
val: parseInt(field.val(), 10),
preview: $(this).parent().parent().data('colorpicker').livePreview
};
$(document).bind('mouseup', current, upIncrement);
$(document).bind('mousemove', current, moveIncrement);
},
moveIncrement = function (ev) {
ev.data.field.val(Math.max(0, Math.min(ev.data.max, parseInt(ev.data.val + ev.pageY - ev.data.y, 10))));
if (ev.data.preview) {
change.apply(ev.data.field.get(0), [true]);
}
return false;
},
upIncrement = function (ev) {
change.apply(ev.data.field.get(0), [true]);
ev.data.el.removeClass('colorpicker_slider').find('input').focus();
$(document).unbind('mouseup', upIncrement);
$(document).unbind('mousemove', moveIncrement);
return false;
},
downHue = function (ev) {
var current = {
cal: $(this).parent(),
y: $(this).offset().top
};
current.preview = current.cal.data('colorpicker').livePreview;
$(document).bind('mouseup', current, upHue);
$(document).bind('mousemove', current, moveHue);
},
moveHue = function (ev) {
change.apply(
ev.data.cal.data('colorpicker')
.fields
.eq(4)
.val(parseInt(360*(150 - Math.max(0,Math.min(150,(ev.pageY - ev.data.y))))/150, 10))
.get(0),
[ev.data.preview]
);
return false;
},
upHue = function (ev) {
fillRGBFields(ev.data.cal.data('colorpicker').color, ev.data.cal.get(0));
fillHexFields(ev.data.cal.data('colorpicker').color, ev.data.cal.get(0));
$(document).unbind('mouseup', upHue);
$(document).unbind('mousemove', moveHue);
return false;
},
downSelector = function (ev) {
var current = {
cal: $(this).parent(),
pos: $(this).offset()
};
current.preview = current.cal.data('colorpicker').livePreview;
$(document).bind('mouseup', current, upSelector);
$(document).bind('mousemove', current, moveSelector);
},
moveSelector = function (ev) {
change.apply(
ev.data.cal.data('colorpicker')
.fields
.eq(6)
.val(parseInt(100*(150 - Math.max(0,Math.min(150,(ev.pageY - ev.data.pos.top))))/150, 10))
.end()
.eq(5)
.val(parseInt(100*(Math.max(0,Math.min(150,(ev.pageX - ev.data.pos.left))))/150, 10))
.get(0),
[ev.data.preview]
);
return false;
},
upSelector = function (ev) {
fillRGBFields(ev.data.cal.data('colorpicker').color, ev.data.cal.get(0));
fillHexFields(ev.data.cal.data('colorpicker').color, ev.data.cal.get(0));
$(document).unbind('mouseup', upSelector);
$(document).unbind('mousemove', moveSelector);
return false;
},
enterSubmit = function (ev) {
$(this).addClass('colorpicker_focus');
},
leaveSubmit = function (ev) {
$(this).removeClass('colorpicker_focus');
},
clickSubmit = function (ev) {
var cal = $(this).parent();
var col = cal.data('colorpicker').color;
cal.data('colorpicker').origColor = col;
setCurrentColor(col, cal.get(0));
cal.data('colorpicker').onSubmit(col, HSBToHex(col), HSBToRGB(col), cal.data('colorpicker').el);
},
show = function (ev) {
var cal = $('#' + $(this).data('colorpickerId'));
cal.data('colorpicker').onBeforeShow.apply(this, [cal.get(0)]);
var pos = $(this).offset();
var viewPort = getViewport();
var top = pos.top + this.offsetHeight;
var left = pos.left;
if (top + 176 > viewPort.t + viewPort.h) {
top -= this.offsetHeight + 176;
}
if (left + 356 > viewPort.l + viewPort.w) {
left -= 356;
}
cal.css({left: left + 'px', top: top + 'px'});
if (cal.data('colorpicker').onShow.apply(this, [cal.get(0)]) != false) {
cal.show();
}
$(document).bind('mousedown', {cal: cal}, hide);
return false;
},
hide = function (ev) {
if (!isChildOf(ev.data.cal.get(0), ev.target, ev.data.cal.get(0))) {
if (ev.data.cal.data('colorpicker').onHide.apply(this, [ev.data.cal.get(0)]) != false) {
ev.data.cal.hide();
}
$(document).unbind('mousedown', hide);
}
},
isChildOf = function(parentEl, el, container) {
if (parentEl == el) {
return true;
}
if (parentEl.contains) {
return parentEl.contains(el);
}
if ( parentEl.compareDocumentPosition ) {
return !!(parentEl.compareDocumentPosition(el) & 16);
}
var prEl = el.parentNode;
while(prEl && prEl != container) {
if (prEl == parentEl)
return true;
prEl = prEl.parentNode;
}
return false;
},
getViewport = function () {
var m = document.compatMode == 'CSS1Compat';
return {
l : window.pageXOffset || (m ? document.documentElement.scrollLeft : document.body.scrollLeft),
t : window.pageYOffset || (m ? document.documentElement.scrollTop : document.body.scrollTop),
w : window.innerWidth || (m ? document.documentElement.clientWidth : document.body.clientWidth),
h : window.innerHeight || (m ? document.documentElement.clientHeight : document.body.clientHeight)
};
},
fixHSB = function (hsb) {
return {
h: Math.min(360, Math.max(0, hsb.h)),
s: Math.min(100, Math.max(0, hsb.s)),
b: Math.min(100, Math.max(0, hsb.b))
};
},
fixRGB = function (rgb) {
return {
r: Math.min(255, Math.max(0, rgb.r)),
g: Math.min(255, Math.max(0, rgb.g)),
b: Math.min(255, Math.max(0, rgb.b))
};
},
fixHex = function (hex) {
var len = 6 - hex.length;
if (len > 0) {
var o = [];
for (var i=0; i<len; i++) {
o.push('0');
}
o.push(hex);
hex = o.join('');
}
return hex;
},
HexToRGB = function (hex) {
var hex = parseInt(((hex.indexOf('#') > -1) ? hex.substring(1) : hex), 16);
return {r: hex >> 16, g: (hex & 0x00FF00) >> 8, b: (hex & 0x0000FF)};
},
HexToHSB = function (hex) {
return RGBToHSB(HexToRGB(hex));
},
RGBToHSB = function (rgb) {
var hsb = {
h: 0,
s: 0,
b: 0
};
var min = Math.min(rgb.r, rgb.g, rgb.b);
var max = Math.max(rgb.r, rgb.g, rgb.b);
var delta = max - min;
hsb.b = max;
if (max != 0) {
}
hsb.s = max != 0 ? 255 * delta / max : 0;
if (hsb.s != 0) {
if (rgb.r == max) {
hsb.h = (rgb.g - rgb.b) / delta;
} else if (rgb.g == max) {
hsb.h = 2 + (rgb.b - rgb.r) / delta;
} else {
hsb.h = 4 + (rgb.r - rgb.g) / delta;
}
} else {
hsb.h = -1;
}
hsb.h *= 60;
if (hsb.h < 0) {
hsb.h += 360;
}
hsb.s *= 100/255;
hsb.b *= 100/255;
return hsb;
},
HSBToRGB = function (hsb) {
var rgb = {};
var h = Math.round(hsb.h);
var s = Math.round(hsb.s*255/100);
var v = Math.round(hsb.b*255/100);
if(s == 0) {
rgb.r = rgb.g = rgb.b = v;
} else {
var t1 = v;
var t2 = (255-s)*v/255;
var t3 = (t1-t2)*(h%60)/60;
if(h==360) h = 0;
if(h<60) {rgb.r=t1; rgb.b=t2; rgb.g=t2+t3}
else if(h<120) {rgb.g=t1; rgb.b=t2; rgb.r=t1-t3}
else if(h<180) {rgb.g=t1; rgb.r=t2; rgb.b=t2+t3}
else if(h<240) {rgb.b=t1; rgb.r=t2; rgb.g=t1-t3}
else if(h<300) {rgb.b=t1; rgb.g=t2; rgb.r=t2+t3}
else if(h<360) {rgb.r=t1; rgb.g=t2; rgb.b=t1-t3}
else {rgb.r=0; rgb.g=0; rgb.b=0}
}
return {r:Math.round(rgb.r), g:Math.round(rgb.g), b:Math.round(rgb.b)};
},
RGBToHex = function (rgb) {
var hex = [
rgb.r.toString(16),
rgb.g.toString(16),
rgb.b.toString(16)
];
$.each(hex, function (nr, val) {
if (val.length == 1) {
hex[nr] = '0' + val;
}
});
return hex.join('');
},
HSBToHex = function (hsb) {
return RGBToHex(HSBToRGB(hsb));
},
restoreOriginal = function () {
var cal = $(this).parent();
var col = cal.data('colorpicker').origColor;
cal.data('colorpicker').color = col;
fillRGBFields(col, cal.get(0));
fillHexFields(col, cal.get(0));
fillHSBFields(col, cal.get(0));
setSelector(col, cal.get(0));
setHue(col, cal.get(0));
setNewColor(col, cal.get(0));
};
return {
init: function (opt) {
opt = $.extend({}, defaults, opt||{});
if (typeof opt.color == 'string') {
opt.color = HexToHSB(opt.color);
} else if (opt.color.r != undefined && opt.color.g != undefined && opt.color.b != undefined) {
opt.color = RGBToHSB(opt.color);
} else if (opt.color.h != undefined && opt.color.s != undefined && opt.color.b != undefined) {
opt.color = fixHSB(opt.color);
} else {
return this;
}
return this.each(function () {
if (!$(this).data('colorpickerId')) {
var options = $.extend({}, opt);
options.origColor = opt.color;
var id = 'collorpicker_' + parseInt(Math.random() * 1000);
$(this).data('colorpickerId', id);
var cal = $(tpl).attr('id', id);
if (options.flat) {
cal.appendTo(this).show();
} else {
cal.appendTo(document.body);
}
options.fields = cal
.find('input')
.bind('keyup', keyDown)
.bind('change', change)
.bind('blur', blur)
.bind('focus', focus);
cal
.find('span').bind('mousedown', downIncrement).end()
.find('>div.colorpicker_current_color').bind('click', restoreOriginal);
options.selector = cal.find('div.colorpicker_color').bind('mousedown', downSelector);
options.selectorIndic = options.selector.find('div div');
options.el = this;
options.hue = cal.find('div.colorpicker_hue div');
cal.find('div.colorpicker_hue').bind('mousedown', downHue);
options.newColor = cal.find('div.colorpicker_new_color');
options.currentColor = cal.find('div.colorpicker_current_color');
cal.data('colorpicker', options);
cal.find('div.colorpicker_submit')
.bind('mouseenter', enterSubmit)
.bind('mouseleave', leaveSubmit)
.bind('click', clickSubmit);
fillRGBFields(options.color, cal.get(0));
fillHSBFields(options.color, cal.get(0));
fillHexFields(options.color, cal.get(0));
setHue(options.color, cal.get(0));
setSelector(options.color, cal.get(0));
setCurrentColor(options.color, cal.get(0));
setNewColor(options.color, cal.get(0));
if (options.flat) {
cal.css({
position: 'relative',
display: 'block'
});
} else {
$(this).bind(options.eventName, show);
}
}
});
},
showPicker: function() {
return this.each( function () {
if ($(this).data('colorpickerId')) {
show.apply(this);
}
});
},
hidePicker: function() {
return this.each( function () {
if ($(this).data('colorpickerId')) {
$('#' + $(this).data('colorpickerId')).hide();
}
});
},
setColor: function(col) {
if (typeof col == 'string') {
col = HexToHSB(col);
} else if (col.r != undefined && col.g != undefined && col.b != undefined) {
col = RGBToHSB(col);
} else if (col.h != undefined && col.s != undefined && col.b != undefined) {
col = fixHSB(col);
} else {
return this;
}
return this.each(function(){
if ($(this).data('colorpickerId')) {
var cal = $('#' + $(this).data('colorpickerId'));
cal.data('colorpicker').color = col;
cal.data('colorpicker').origColor = col;
fillRGBFields(col, cal.get(0));
fillHSBFields(col, cal.get(0));
fillHexFields(col, cal.get(0));
setHue(col, cal.get(0));
setSelector(col, cal.get(0));
setCurrentColor(col, cal.get(0));
setNewColor(col, cal.get(0));
}
});
}
};
}();
$.fn.extend({
ColorPicker: ColorPicker.init,
ColorPickerHide: ColorPicker.hidePicker,
ColorPickerShow: ColorPicker.showPicker,
ColorPickerSetColor: ColorPicker.setColor
});
})(jQuery);

View File

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

View File

View File

@ -1,114 +0,0 @@
/*
FullCalendar v1.5.4
http://arshaw.com/fullcalendar/
Use fullcalendar.css for basic styling.
For event drag & drop, requires jQuery UI draggable.
For event resizing, requires jQuery UI resizable.
Copyright (c) 2011 Adam Shaw
Dual licensed under the MIT and GPL licenses, located in
MIT-LICENSE.txt and GPL-LICENSE.txt respectively.
Date: Tue Sep 4 23:38:33 2012 -0700
*/
(function(m,ma){function wb(a){m.extend(true,Ya,a)}function Yb(a,b,e){function d(k){if(E){u();q();na();S(k)}else f()}function f(){B=b.theme?"ui":"fc";a.addClass("fc");b.isRTL&&a.addClass("fc-rtl");b.theme&&a.addClass("ui-widget");E=m("<div class='fc-content' style='position:relative'/>").prependTo(a);C=new Zb(X,b);(P=C.render())&&a.prepend(P);y(b.defaultView);m(window).resize(oa);t()||g()}function g(){setTimeout(function(){!n.start&&t()&&S()},0)}function l(){m(window).unbind("resize",oa);C.destroy();
E.remove();a.removeClass("fc fc-rtl ui-widget")}function j(){return i.offsetWidth!==0}function t(){return m("body")[0].offsetWidth!==0}function y(k){if(!n||k!=n.name){F++;pa();var D=n,Z;if(D){(D.beforeHide||xb)();Za(E,E.height());D.element.hide()}else Za(E,1);E.css("overflow","hidden");if(n=Y[k])n.element.show();else n=Y[k]=new Ja[k](Z=s=m("<div class='fc-view fc-view-"+k+"' style='position:absolute'/>").appendTo(E),X);D&&C.deactivateButton(D.name);C.activateButton(k);S();E.css("overflow","");D&&
Za(E,1);Z||(n.afterShow||xb)();F--}}function S(k){if(j()){F++;pa();o===ma&&u();var D=false;if(!n.start||k||r<n.start||r>=n.end){n.render(r,k||0);fa(true);D=true}else if(n.sizeDirty){n.clearEvents();fa();D=true}else if(n.eventsDirty){n.clearEvents();D=true}n.sizeDirty=false;n.eventsDirty=false;ga(D);W=a.outerWidth();C.updateTitle(n.title);k=new Date;k>=n.start&&k<n.end?C.disableButton("today"):C.enableButton("today");F--;n.trigger("viewDisplay",i)}}function Q(){q();if(j()){u();fa();pa();n.clearEvents();
n.renderEvents(J);n.sizeDirty=false}}function q(){m.each(Y,function(k,D){D.sizeDirty=true})}function u(){o=b.contentHeight?b.contentHeight:b.height?b.height-(P?P.height():0)-Sa(E):Math.round(E.width()/Math.max(b.aspectRatio,0.5))}function fa(k){F++;n.setHeight(o,k);if(s){s.css("position","relative");s=null}n.setWidth(E.width(),k);F--}function oa(){if(!F)if(n.start){var k=++v;setTimeout(function(){if(k==v&&!F&&j())if(W!=(W=a.outerWidth())){F++;Q();n.trigger("windowResize",i);F--}},200)}else g()}function ga(k){if(!b.lazyFetching||
ya(n.visStart,n.visEnd))ra();else k&&da()}function ra(){K(n.visStart,n.visEnd)}function sa(k){J=k;da()}function ha(k){da(k)}function da(k){na();if(j()){n.clearEvents();n.renderEvents(J,k);n.eventsDirty=false}}function na(){m.each(Y,function(k,D){D.eventsDirty=true})}function ua(k,D,Z){n.select(k,D,Z===ma?true:Z)}function pa(){n&&n.unselect()}function U(){S(-1)}function ca(){S(1)}function ka(){gb(r,-1);S()}function qa(){gb(r,1);S()}function G(){r=new Date;S()}function p(k,D,Z){if(k instanceof Date)r=
N(k);else yb(r,k,D,Z);S()}function L(k,D,Z){k!==ma&&gb(r,k);D!==ma&&hb(r,D);Z!==ma&&ba(r,Z);S()}function c(){return N(r)}function z(){return n}function H(k,D){if(D===ma)return b[k];if(k=="height"||k=="contentHeight"||k=="aspectRatio"){b[k]=D;Q()}}function T(k,D){if(b[k])return b[k].apply(D||i,Array.prototype.slice.call(arguments,2))}var X=this;X.options=b;X.render=d;X.destroy=l;X.refetchEvents=ra;X.reportEvents=sa;X.reportEventChange=ha;X.rerenderEvents=da;X.changeView=y;X.select=ua;X.unselect=pa;
X.prev=U;X.next=ca;X.prevYear=ka;X.nextYear=qa;X.today=G;X.gotoDate=p;X.incrementDate=L;X.formatDate=function(k,D){return Oa(k,D,b)};X.formatDates=function(k,D,Z){return ib(k,D,Z,b)};X.getDate=c;X.getView=z;X.option=H;X.trigger=T;$b.call(X,b,e);var ya=X.isFetchNeeded,K=X.fetchEvents,i=a[0],C,P,E,B,n,Y={},W,o,s,v=0,F=0,r=new Date,J=[],M;yb(r,b.year,b.month,b.date);b.droppable&&m(document).bind("dragstart",function(k,D){var Z=k.target,ja=m(Z);if(!ja.parents(".fc").length){var ia=b.dropAccept;if(m.isFunction(ia)?
ia.call(Z,ja):ja.is(ia)){M=Z;n.dragStart(M,k,D)}}}).bind("dragstop",function(k,D){if(M){n.dragStop(M,k,D);M=null}})}function Zb(a,b){function e(){q=b.theme?"ui":"fc";if(b.header)return Q=m("<table class='fc-header' style='width:100%'/>").append(m("<tr/>").append(f("left")).append(f("center")).append(f("right")))}function d(){Q.remove()}function f(u){var fa=m("<td class='fc-header-"+u+"'/>");(u=b.header[u])&&m.each(u.split(" "),function(oa){oa>0&&fa.append("<span class='fc-header-space'/>");var ga;
m.each(this.split(","),function(ra,sa){if(sa=="title"){fa.append("<span class='fc-header-title'><h2>&nbsp;</h2></span>");ga&&ga.addClass(q+"-corner-right");ga=null}else{var ha;if(a[sa])ha=a[sa];else if(Ja[sa])ha=function(){na.removeClass(q+"-state-hover");a.changeView(sa)};if(ha){ra=b.theme?jb(b.buttonIcons,sa):null;var da=jb(b.buttonText,sa),na=m("<span class='fc-button fc-button-"+sa+" "+q+"-state-default'><span class='fc-button-inner'><span class='fc-button-content'>"+(ra?"<span class='fc-icon-wrap'><span class='ui-icon ui-icon-"+
ra+"'/></span>":da)+"</span><span class='fc-button-effect'><span></span></span></span></span>");if(na){na.click(function(){na.hasClass(q+"-state-disabled")||ha()}).mousedown(function(){na.not("."+q+"-state-active").not("."+q+"-state-disabled").addClass(q+"-state-down")}).mouseup(function(){na.removeClass(q+"-state-down")}).hover(function(){na.not("."+q+"-state-active").not("."+q+"-state-disabled").addClass(q+"-state-hover")},function(){na.removeClass(q+"-state-hover").removeClass(q+"-state-down")}).appendTo(fa);
ga||na.addClass(q+"-corner-left");ga=na}}}});ga&&ga.addClass(q+"-corner-right")});return fa}function g(u){Q.find("h2").html(u)}function l(u){Q.find("span.fc-button-"+u).addClass(q+"-state-active")}function j(u){Q.find("span.fc-button-"+u).removeClass(q+"-state-active")}function t(u){Q.find("span.fc-button-"+u).addClass(q+"-state-disabled")}function y(u){Q.find("span.fc-button-"+u).removeClass(q+"-state-disabled")}var S=this;S.render=e;S.destroy=d;S.updateTitle=g;S.activateButton=l;S.deactivateButton=
j;S.disableButton=t;S.enableButton=y;var Q=m([]),q}function $b(a,b){function e(c,z){return!ca||c<ca||z>ka}function d(c,z){ca=c;ka=z;L=[];c=++qa;G=z=U.length;for(var H=0;H<z;H++)f(U[H],c)}function f(c,z){g(c,function(H){if(z==qa){if(H){for(var T=0;T<H.length;T++){H[T].source=c;oa(H[T])}L=L.concat(H)}G--;G||ua(L)}})}function g(c,z){var H,T=Aa.sourceFetchers,X;for(H=0;H<T.length;H++){X=T[H](c,ca,ka,z);if(X===true)return;else if(typeof X=="object"){g(X,z);return}}if(H=c.events)if(m.isFunction(H)){u();
H(N(ca),N(ka),function(C){z(C);fa()})}else m.isArray(H)?z(H):z();else if(c.url){var ya=c.success,K=c.error,i=c.complete;H=m.extend({},c.data||{});T=Ta(c.startParam,a.startParam);X=Ta(c.endParam,a.endParam);if(T)H[T]=Math.round(+ca/1E3);if(X)H[X]=Math.round(+ka/1E3);u();m.ajax(m.extend({},ac,c,{data:H,success:function(C){C=C||[];var P=$a(ya,this,arguments);if(m.isArray(P))C=P;z(C)},error:function(){$a(K,this,arguments);z()},complete:function(){$a(i,this,arguments);fa()}}))}else z()}function l(c){if(c=
j(c)){G++;f(c,qa)}}function j(c){if(m.isFunction(c)||m.isArray(c))c={events:c};else if(typeof c=="string")c={url:c};if(typeof c=="object"){ga(c);U.push(c);return c}}function t(c){U=m.grep(U,function(z){return!ra(z,c)});L=m.grep(L,function(z){return!ra(z.source,c)});ua(L)}function y(c){var z,H=L.length,T,X=na().defaultEventEnd,ya=c.start-c._start,K=c.end?c.end-(c._end||X(c)):0;for(z=0;z<H;z++){T=L[z];if(T._id==c._id&&T!=c){T.start=new Date(+T.start+ya);T.end=c.end?T.end?new Date(+T.end+K):new Date(+X(T)+
K):null;T.title=c.title;T.url=c.url;T.allDay=c.allDay;T.className=c.className;T.editable=c.editable;T.color=c.color;T.backgroudColor=c.backgroudColor;T.borderColor=c.borderColor;T.textColor=c.textColor;oa(T)}}oa(c);ua(L)}function S(c,z){oa(c);if(!c.source){if(z){pa.events.push(c);c.source=pa}L.push(c)}ua(L)}function Q(c){if(c){if(!m.isFunction(c)){var z=c+"";c=function(T){return T._id==z}}L=m.grep(L,c,true);for(H=0;H<U.length;H++)if(m.isArray(U[H].events))U[H].events=m.grep(U[H].events,c,true)}else{L=
[];for(var H=0;H<U.length;H++)if(m.isArray(U[H].events))U[H].events=[]}ua(L)}function q(c){if(m.isFunction(c))return m.grep(L,c);else if(c){c+="";return m.grep(L,function(z){return z._id==c})}return L}function u(){p++||da("loading",null,true)}function fa(){--p||da("loading",null,false)}function oa(c){var z=c.source||{},H=Ta(z.ignoreTimezone,a.ignoreTimezone);c._id=c._id||(c.id===ma?"_fc"+bc++:c.id+"");if(c.date){if(!c.start)c.start=c.date;delete c.date}c._start=N(c.start=kb(c.start,H));c.end=kb(c.end,
H);if(c.end&&c.end<=c.start)c.end=null;c._end=c.end?N(c.end):null;if(c.allDay===ma)c.allDay=Ta(z.allDayDefault,a.allDayDefault);if(c.className){if(typeof c.className=="string")c.className=c.className.split(/\s+/)}else c.className=[]}function ga(c){if(c.className){if(typeof c.className=="string")c.className=c.className.split(/\s+/)}else c.className=[];for(var z=Aa.sourceNormalizers,H=0;H<z.length;H++)z[H](c)}function ra(c,z){return c&&z&&sa(c)==sa(z)}function sa(c){return(typeof c=="object"?c.events||
c.url:"")||c}var ha=this;ha.isFetchNeeded=e;ha.fetchEvents=d;ha.addEventSource=l;ha.removeEventSource=t;ha.updateEvent=y;ha.renderEvent=S;ha.removeEvents=Q;ha.clientEvents=q;ha.normalizeEvent=oa;var da=ha.trigger,na=ha.getView,ua=ha.reportEvents,pa={events:[]},U=[pa],ca,ka,qa=0,G=0,p=0,L=[];for(ha=0;ha<b.length;ha++)j(b[ha])}function gb(a,b,e){a.setFullYear(a.getFullYear()+b);e||Ka(a);return a}function hb(a,b,e){if(+a){b=a.getMonth()+b;var d=N(a);d.setDate(1);d.setMonth(b);a.setMonth(b);for(e||Ka(a);a.getMonth()!=
d.getMonth();)a.setDate(a.getDate()+(a<d?1:-1))}return a}function ba(a,b,e){if(+a){b=a.getDate()+b;var d=N(a);d.setHours(9);d.setDate(b);a.setDate(b);e||Ka(a);lb(a,d)}return a}function lb(a,b){if(+a)for(;a.getDate()!=b.getDate();)a.setTime(+a+(a<b?1:-1)*cc)}function xa(a,b){a.setMinutes(a.getMinutes()+b);return a}function Ka(a){a.setHours(0);a.setMinutes(0);a.setSeconds(0);a.setMilliseconds(0);return a}function N(a,b){if(b)return Ka(new Date(+a));return new Date(+a)}function zb(){var a=0,b;do b=new Date(1970,
a++,1);while(b.getHours());return b}function Fa(a,b,e){for(b=b||1;!a.getDay()||e&&a.getDay()==1||!e&&a.getDay()==6;)ba(a,b);return a}function Ca(a,b){return Math.round((N(a,true)-N(b,true))/Ab)}function yb(a,b,e,d){if(b!==ma&&b!=a.getFullYear()){a.setDate(1);a.setMonth(0);a.setFullYear(b)}if(e!==ma&&e!=a.getMonth()){a.setDate(1);a.setMonth(e)}d!==ma&&a.setDate(d)}function kb(a,b){if(typeof a=="object")return a;if(typeof a=="number")return new Date(a*1E3);if(typeof a=="string"){if(a.match(/^\d+(\.\d+)?$/))return new Date(parseFloat(a)*
1E3);if(b===ma)b=true;return Bb(a,b)||(a?new Date(a):null)}return null}function Bb(a,b){a=a.match(/^([0-9]{4})(-([0-9]{2})(-([0-9]{2})([T ]([0-9]{2}):([0-9]{2})(:([0-9]{2})(\.([0-9]+))?)?(Z|(([-+])([0-9]{2})(:?([0-9]{2}))?))?)?)?)?$/);if(!a)return null;var e=new Date(a[1],0,1);if(b||!a[13]){b=new Date(a[1],0,1,9,0);if(a[3]){e.setMonth(a[3]-1);b.setMonth(a[3]-1)}if(a[5]){e.setDate(a[5]);b.setDate(a[5])}lb(e,b);a[7]&&e.setHours(a[7]);a[8]&&e.setMinutes(a[8]);a[10]&&e.setSeconds(a[10]);a[12]&&e.setMilliseconds(Number("0."+
a[12])*1E3);lb(e,b)}else{e.setUTCFullYear(a[1],a[3]?a[3]-1:0,a[5]||1);e.setUTCHours(a[7]||0,a[8]||0,a[10]||0,a[12]?Number("0."+a[12])*1E3:0);if(a[14]){b=Number(a[16])*60+(a[18]?Number(a[18]):0);b*=a[15]=="-"?1:-1;e=new Date(+e+b*60*1E3)}}return e}function mb(a){if(typeof a=="number")return a*60;if(typeof a=="object")return a.getHours()*60+a.getMinutes();if(a=a.match(/(\d+)(?::(\d+))?\s*(\w+)?/)){var b=parseInt(a[1],10);if(a[3]){b%=12;if(a[3].toLowerCase().charAt(0)=="p")b+=12}return b*60+(a[2]?parseInt(a[2],
10):0)}}function Oa(a,b,e){return ib(a,null,b,e)}function ib(a,b,e,d){d=d||Ya;var f=a,g=b,l,j=e.length,t,y,S,Q="";for(l=0;l<j;l++){t=e.charAt(l);if(t=="'")for(y=l+1;y<j;y++){if(e.charAt(y)=="'"){if(f){Q+=y==l+1?"'":e.substring(l+1,y);l=y}break}}else if(t=="(")for(y=l+1;y<j;y++){if(e.charAt(y)==")"){l=Oa(f,e.substring(l+1,y),d);if(parseInt(l.replace(/\D/,""),10))Q+=l;l=y;break}}else if(t=="[")for(y=l+1;y<j;y++){if(e.charAt(y)=="]"){t=e.substring(l+1,y);l=Oa(f,t,d);if(l!=Oa(g,t,d))Q+=l;l=y;break}}else if(t==
"{"){f=b;g=a}else if(t=="}"){f=a;g=b}else{for(y=j;y>l;y--)if(S=dc[e.substring(l,y)]){if(f)Q+=S(f,d);l=y-1;break}if(y==l)if(f)Q+=t}}return Q}function Ua(a){return a.end?ec(a.end,a.allDay):ba(N(a.start),1)}function ec(a,b){a=N(a);return b||a.getHours()||a.getMinutes()?ba(a,1):Ka(a)}function fc(a,b){return(b.msLength-a.msLength)*100+(a.event.start-b.event.start)}function Cb(a,b){return a.end>b.start&&a.start<b.end}function nb(a,b,e,d){var f=[],g,l=a.length,j,t,y,S,Q;for(g=0;g<l;g++){j=a[g];t=j.start;
y=b[g];if(y>e&&t<d){if(t<e){t=N(e);S=false}else{t=t;S=true}if(y>d){y=N(d);Q=false}else{y=y;Q=true}f.push({event:j,start:t,end:y,isStart:S,isEnd:Q,msLength:y-t})}}return f.sort(fc)}function ob(a){var b=[],e,d=a.length,f,g,l,j;for(e=0;e<d;e++){f=a[e];for(g=0;;){l=false;if(b[g])for(j=0;j<b[g].length;j++)if(Cb(b[g][j],f)){l=true;break}if(l)g++;else break}if(b[g])b[g].push(f);else b[g]=[f]}return b}function Db(a,b,e){a.unbind("mouseover").mouseover(function(d){for(var f=d.target,g;f!=this;){g=f;f=f.parentNode}if((f=
g._fci)!==ma){g._fci=ma;g=b[f];e(g.event,g.element,g);m(d.target).trigger(d)}d.stopPropagation()})}function Va(a,b,e){for(var d=0,f;d<a.length;d++){f=m(a[d]);f.width(Math.max(0,b-pb(f,e)))}}function Eb(a,b,e){for(var d=0,f;d<a.length;d++){f=m(a[d]);f.height(Math.max(0,b-Sa(f,e)))}}function pb(a,b){return gc(a)+hc(a)+(b?ic(a):0)}function gc(a){return(parseFloat(m.css(a[0],"paddingLeft",true))||0)+(parseFloat(m.css(a[0],"paddingRight",true))||0)}function ic(a){return(parseFloat(m.css(a[0],"marginLeft",
true))||0)+(parseFloat(m.css(a[0],"marginRight",true))||0)}function hc(a){return(parseFloat(m.css(a[0],"borderLeftWidth",true))||0)+(parseFloat(m.css(a[0],"borderRightWidth",true))||0)}function Sa(a,b){return jc(a)+kc(a)+(b?Fb(a):0)}function jc(a){return(parseFloat(m.css(a[0],"paddingTop",true))||0)+(parseFloat(m.css(a[0],"paddingBottom",true))||0)}function Fb(a){return(parseFloat(m.css(a[0],"marginTop",true))||0)+(parseFloat(m.css(a[0],"marginBottom",true))||0)}function kc(a){return(parseFloat(m.css(a[0],
"borderTopWidth",true))||0)+(parseFloat(m.css(a[0],"borderBottomWidth",true))||0)}function Za(a,b){b=typeof b=="number"?b+"px":b;a.each(function(e,d){d.style.cssText+=";min-height:"+b+";_height:"+b})}function xb(){}function Gb(a,b){return a-b}function Hb(a){return Math.max.apply(Math,a)}function Pa(a){return(a<10?"0":"")+a}function jb(a,b){if(a[b]!==ma)return a[b];b=b.split(/(?=[A-Z])/);for(var e=b.length-1,d;e>=0;e--){d=a[b[e].toLowerCase()];if(d!==ma)return d}return a[""]}function Qa(a){return a.replace(/&/g,
"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/'/g,"&#039;").replace(/"/g,"&quot;").replace(/\n/g,"<br />")}function Ib(a){return a.id+"/"+a.className+"/"+a.style.cssText.replace(/(^|;)\s*(top|left|width|height)\s*:[^;]*/ig,"")}function qb(a){a.attr("unselectable","on").css("MozUserSelect","none").bind("selectstart.ui",function(){return false})}function ab(a){a.children().removeClass("fc-first fc-last").filter(":first-child").addClass("fc-first").end().filter(":last-child").addClass("fc-last")}
function rb(a,b){a.each(function(e,d){d.className=d.className.replace(/^fc-\w*/,"fc-"+lc[b.getDay()])})}function Jb(a,b){var e=a.source||{},d=a.color,f=e.color,g=b("eventColor"),l=a.backgroundColor||d||e.backgroundColor||f||b("eventBackgroundColor")||g;d=a.borderColor||d||e.borderColor||f||b("eventBorderColor")||g;a=a.textColor||e.textColor||b("eventTextColor");b=[];l&&b.push("background-color:"+l);d&&b.push("border-color:"+d);a&&b.push("color:"+a);return b.join(";")}function $a(a,b,e){if(m.isFunction(a))a=
[a];if(a){var d,f;for(d=0;d<a.length;d++)f=a[d].apply(b,e)||f;return f}}function Ta(){for(var a=0;a<arguments.length;a++)if(arguments[a]!==ma)return arguments[a]}function mc(a,b){function e(j,t){if(t){hb(j,t);j.setDate(1)}j=N(j,true);j.setDate(1);t=hb(N(j),1);var y=N(j),S=N(t),Q=f("firstDay"),q=f("weekends")?0:1;if(q){Fa(y);Fa(S,-1,true)}ba(y,-((y.getDay()-Math.max(Q,q)+7)%7));ba(S,(7-S.getDay()+Math.max(Q,q))%7);Q=Math.round((S-y)/(Ab*7));if(f("weekMode")=="fixed"){ba(S,(6-Q)*7);Q=6}d.title=l(j,
f("titleFormat"));d.start=j;d.end=t;d.visStart=y;d.visEnd=S;g(6,Q,q?5:7,true)}var d=this;d.render=e;sb.call(d,a,b,"month");var f=d.opt,g=d.renderBasic,l=b.formatDate}function nc(a,b){function e(j,t){t&&ba(j,t*7);j=ba(N(j),-((j.getDay()-f("firstDay")+7)%7));t=ba(N(j),7);var y=N(j),S=N(t),Q=f("weekends");if(!Q){Fa(y);Fa(S,-1,true)}d.title=l(y,ba(N(S),-1),f("titleFormat"));d.start=j;d.end=t;d.visStart=y;d.visEnd=S;g(1,1,Q?7:5,false)}var d=this;d.render=e;sb.call(d,a,b,"basicWeek");var f=d.opt,g=d.renderBasic,
l=b.formatDates}function oc(a,b){function e(j,t){if(t){ba(j,t);f("weekends")||Fa(j,t<0?-1:1)}d.title=l(j,f("titleFormat"));d.start=d.visStart=N(j,true);d.end=d.visEnd=ba(N(d.start),1);g(1,1,1,false)}var d=this;d.render=e;sb.call(d,a,b,"basicDay");var f=d.opt,g=d.renderBasic,l=b.formatDate}function sb(a,b,e){function d(w,I,R,V){v=I;F=R;f();(I=!C)?g(w,V):z();l(I)}function f(){if(k=L("isRTL")){D=-1;Z=F-1}else{D=1;Z=0}ja=L("firstDay");ia=L("weekends")?0:1;la=L("theme")?"ui":"fc";$=L("columnFormat")}function g(w,
I){var R,V=la+"-widget-header",ea=la+"-widget-content",aa;R="<table class='fc-border-separate' style='width:100%' cellspacing='0'><thead><tr>";for(aa=0;aa<F;aa++)R+="<th class='fc- "+V+"'/>";R+="</tr></thead><tbody>";for(aa=0;aa<w;aa++){R+="<tr class='fc-week"+aa+"'>";for(V=0;V<F;V++)R+="<td class='fc- "+ea+" fc-day"+(aa*F+V)+"'><div>"+(I?"<div class='fc-day-number'/>":"")+"<div class='fc-day-content'><div style='position:relative'>&nbsp;</div></div></div></td>";R+="</tr>"}R+="</tbody></table>";w=
m(R).appendTo(a);K=w.find("thead");i=K.find("th");C=w.find("tbody");P=C.find("tr");E=C.find("td");B=E.filter(":first-child");n=P.eq(0).find("div.fc-day-content div");ab(K.add(K.find("tr")));ab(P);P.eq(0).addClass("fc-first");y(E);Y=m("<div style='position:absolute;z-index:8;top:0;left:0'/>").appendTo(a)}function l(w){var I=w||v==1,R=p.start.getMonth(),V=Ka(new Date),ea,aa,va;I&&i.each(function(wa,Ga){ea=m(Ga);aa=ca(wa);ea.html(ya(aa,$));rb(ea,aa)});E.each(function(wa,Ga){ea=m(Ga);aa=ca(wa);aa.getMonth()==
R?ea.removeClass("fc-other-month"):ea.addClass("fc-other-month");+aa==+V?ea.addClass(la+"-state-highlight fc-today"):ea.removeClass(la+"-state-highlight fc-today");ea.find("div.fc-day-number").text(aa.getDate());I&&rb(ea,aa)});P.each(function(wa,Ga){va=m(Ga);if(wa<v){va.show();wa==v-1?va.addClass("fc-last"):va.removeClass("fc-last")}else va.hide()})}function j(w){o=w;w=o-K.height();var I,R,V;if(L("weekMode")=="variable")I=R=Math.floor(w/(v==1?2:6));else{I=Math.floor(w/v);R=w-I*(v-1)}B.each(function(ea,
aa){if(ea<v){V=m(aa);Za(V.find("> div"),(ea==v-1?R:I)-Sa(V))}})}function t(w){W=w;M.clear();s=Math.floor(W/F);Va(i.slice(0,-1),s)}function y(w){w.click(S).mousedown(X)}function S(w){if(!L("selectable")){var I=parseInt(this.className.match(/fc\-day(\d+)/)[1]);I=ca(I);c("dayClick",this,I,true,w)}}function Q(w,I,R){R&&r.build();R=N(p.visStart);for(var V=ba(N(R),F),ea=0;ea<v;ea++){var aa=new Date(Math.max(R,w)),va=new Date(Math.min(V,I));if(aa<va){var wa;if(k){wa=Ca(va,R)*D+Z+1;aa=Ca(aa,R)*D+Z+1}else{wa=
Ca(aa,R);aa=Ca(va,R)}y(q(ea,wa,ea,aa-1))}ba(R,7);ba(V,7)}}function q(w,I,R,V){w=r.rect(w,I,R,V,a);return H(w,a)}function u(w){return N(w)}function fa(w,I){Q(w,ba(N(I),1),true)}function oa(){T()}function ga(w,I,R){var V=ua(w);c("dayClick",E[V.row*F+V.col],w,I,R)}function ra(w,I){J.start(function(R){T();R&&q(R.row,R.col,R.row,R.col)},I)}function sa(w,I,R){var V=J.stop();T();if(V){V=pa(V);c("drop",w,V,true,I,R)}}function ha(w){return N(w.start)}function da(w){return M.left(w)}function na(w){return M.right(w)}
function ua(w){return{row:Math.floor(Ca(w,p.visStart)/7),col:ka(w.getDay())}}function pa(w){return U(w.row,w.col)}function U(w,I){return ba(N(p.visStart),w*7+I*D+Z)}function ca(w){return U(Math.floor(w/F),w%F)}function ka(w){return(w-Math.max(ja,ia)+F)%F*D+Z}function qa(w){return P.eq(w)}function G(){return{left:0,right:W}}var p=this;p.renderBasic=d;p.setHeight=j;p.setWidth=t;p.renderDayOverlay=Q;p.defaultSelectionEnd=u;p.renderSelection=fa;p.clearSelection=oa;p.reportDayClick=ga;p.dragStart=ra;p.dragStop=
sa;p.defaultEventEnd=ha;p.getHoverListener=function(){return J};p.colContentLeft=da;p.colContentRight=na;p.dayOfWeekCol=ka;p.dateCell=ua;p.cellDate=pa;p.cellIsAllDay=function(){return true};p.allDayRow=qa;p.allDayBounds=G;p.getRowCnt=function(){return v};p.getColCnt=function(){return F};p.getColWidth=function(){return s};p.getDaySegmentContainer=function(){return Y};Kb.call(p,a,b,e);Lb.call(p);Mb.call(p);pc.call(p);var L=p.opt,c=p.trigger,z=p.clearEvents,H=p.renderOverlay,T=p.clearOverlays,X=p.daySelectionMousedown,
ya=b.formatDate,K,i,C,P,E,B,n,Y,W,o,s,v,F,r,J,M,k,D,Z,ja,ia,la,$;qb(a.addClass("fc-grid"));r=new Nb(function(w,I){var R,V,ea;i.each(function(aa,va){R=m(va);V=R.offset().left;if(aa)ea[1]=V;ea=[V];I[aa]=ea});ea[1]=V+R.outerWidth();P.each(function(aa,va){if(aa<v){R=m(va);V=R.offset().top;if(aa)ea[1]=V;ea=[V];w[aa]=ea}});ea[1]=V+R.outerHeight()});J=new Ob(r);M=new Pb(function(w){return n.eq(w)})}function pc(){function a(U,ca){S(U);ua(e(U),ca)}function b(){Q();ga().empty()}function e(U){var ca=da(),ka=
na(),qa=N(g.visStart);ka=ba(N(qa),ka);var G=m.map(U,Ua),p,L,c,z,H,T,X=[];for(p=0;p<ca;p++){L=ob(nb(U,G,qa,ka));for(c=0;c<L.length;c++){z=L[c];for(H=0;H<z.length;H++){T=z[H];T.row=p;T.level=c;X.push(T)}}ba(qa,7);ba(ka,7)}return X}function d(U,ca,ka){t(U)&&f(U,ca);ka.isEnd&&y(U)&&pa(U,ca,ka);q(U,ca)}function f(U,ca){var ka=ra(),qa;ca.draggable({zIndex:9,delay:50,opacity:l("dragOpacity"),revertDuration:l("dragRevertDuration"),start:function(G,p){j("eventDragStart",ca,U,G,p);fa(U,ca);ka.start(function(L,
c,z,H){ca.draggable("option","revert",!L||!z&&!H);ha();if(L){qa=z*7+H*(l("isRTL")?-1:1);sa(ba(N(U.start),qa),ba(Ua(U),qa))}else qa=0},G,"drag")},stop:function(G,p){ka.stop();ha();j("eventDragStop",ca,U,G,p);if(qa)oa(this,U,qa,0,U.allDay,G,p);else{ca.css("filter","");u(U,ca)}}})}var g=this;g.renderEvents=a;g.compileDaySegs=e;g.clearEvents=b;g.bindDaySeg=d;Qb.call(g);var l=g.opt,j=g.trigger,t=g.isEventDraggable,y=g.isEventResizable,S=g.reportEvents,Q=g.reportEventClear,q=g.eventElementHandlers,u=g.showEvents,
fa=g.hideEvents,oa=g.eventDrop,ga=g.getDaySegmentContainer,ra=g.getHoverListener,sa=g.renderDayOverlay,ha=g.clearOverlays,da=g.getRowCnt,na=g.getColCnt,ua=g.renderDaySegs,pa=g.resizableDayEvent}function qc(a,b){function e(j,t){t&&ba(j,t*7);j=ba(N(j),-((j.getDay()-f("firstDay")+7)%7));t=ba(N(j),7);var y=N(j),S=N(t),Q=f("weekends");if(!Q){Fa(y);Fa(S,-1,true)}d.title=l(y,ba(N(S),-1),f("titleFormat"));d.start=j;d.end=t;d.visStart=y;d.visEnd=S;g(Q?7:5)}var d=this;d.render=e;Rb.call(d,a,b,"agendaWeek");
var f=d.opt,g=d.renderAgenda,l=b.formatDates}function rc(a,b){function e(j,t){if(t){ba(j,t);f("weekends")||Fa(j,t<0?-1:1)}t=N(j,true);var y=ba(N(t),1);d.title=l(j,f("titleFormat"));d.start=d.visStart=t;d.end=d.visEnd=y;g(1)}var d=this;d.render=e;Rb.call(d,a,b,"agendaDay");var f=d.opt,g=d.renderAgenda,l=b.formatDate}function Rb(a,b,e){function d(h){Ba=h;f();v?P():g();l()}function f(){Wa=i("theme")?"ui":"fc";Sb=i("weekends")?0:1;Tb=i("firstDay");if(Ub=i("isRTL")){Ha=-1;Ia=Ba-1}else{Ha=1;Ia=0}La=mb(i("minTime"));
bb=mb(i("maxTime"));Vb=i("columnFormat")}function g(){var h=Wa+"-widget-header",O=Wa+"-widget-content",x,A,ta,za,Da,Ea=i("slotMinutes")%15==0;x="<table style='width:100%' class='fc-agenda-days fc-border-separate' cellspacing='0'><thead><tr><th class='fc-agenda-axis "+h+"'>&nbsp;</th>";for(A=0;A<Ba;A++)x+="<th class='fc- fc-col"+A+" "+h+"'/>";x+="<th class='fc-agenda-gutter "+h+"'>&nbsp;</th></tr></thead><tbody><tr><th class='fc-agenda-axis "+h+"'>&nbsp;</th>";for(A=0;A<Ba;A++)x+="<td class='fc- fc-col"+
A+" "+O+"'><div><div class='fc-day-content'><div style='position:relative'>&nbsp;</div></div></div></td>";x+="<td class='fc-agenda-gutter "+O+"'>&nbsp;</td></tr></tbody></table>";v=m(x).appendTo(a);F=v.find("thead");r=F.find("th").slice(1,-1);J=v.find("tbody");M=J.find("td").slice(0,-1);k=M.find("div.fc-day-content div");D=M.eq(0);Z=D.find("> div");ab(F.add(F.find("tr")));ab(J.add(J.find("tr")));aa=F.find("th:first");va=v.find(".fc-agenda-gutter");ja=m("<div style='position:absolute;z-index:2;left:0;width:100%'/>").appendTo(a);
if(i("allDaySlot")){ia=m("<div style='position:absolute;z-index:8;top:0;left:0'/>").appendTo(ja);x="<table style='width:100%' class='fc-agenda-allday' cellspacing='0'><tr><th class='"+h+" fc-agenda-axis'>"+i("allDayText")+"</th><td><div class='fc-day-content'><div style='position:relative'/></div></td><th class='"+h+" fc-agenda-gutter'>&nbsp;</th></tr></table>";la=m(x).appendTo(ja);$=la.find("tr");q($.find("td"));aa=aa.add(la.find("th:first"));va=va.add(la.find("th.fc-agenda-gutter"));ja.append("<div class='fc-agenda-divider "+
h+"'><div class='fc-agenda-divider-inner'/></div>")}else ia=m([]);w=m("<div style='position:absolute;width:100%;overflow-x:hidden;overflow-y:auto'/>").appendTo(ja);I=m("<div style='position:relative;width:100%;overflow:hidden'/>").appendTo(w);R=m("<div style='position:absolute;z-index:8;top:0;left:0'/>").appendTo(I);x="<table class='fc-agenda-slots' style='width:100%' cellspacing='0'><tbody>";ta=zb();za=xa(N(ta),bb);xa(ta,La);for(A=tb=0;ta<za;A++){Da=ta.getMinutes();x+="<tr class='fc-slot"+A+" "+
(!Da?"":"fc-minor")+"'><th class='fc-agenda-axis "+h+"'>"+(!Ea||!Da?s(ta,i("axisFormat")):"&nbsp;")+"</th><td class='"+O+"'><div style='position:relative'>&nbsp;</div></td></tr>";xa(ta,i("slotMinutes"));tb++}x+="</tbody></table>";V=m(x).appendTo(I);ea=V.find("div:first");u(V.find("td"));aa=aa.add(V.find("th:first"))}function l(){var h,O,x,A,ta=Ka(new Date);for(h=0;h<Ba;h++){A=ua(h);O=r.eq(h);O.html(s(A,Vb));x=M.eq(h);+A==+ta?x.addClass(Wa+"-state-highlight fc-today"):x.removeClass(Wa+"-state-highlight fc-today");
rb(O.add(x),A)}}function j(h,O){if(h===ma)h=Wb;Wb=h;ub={};var x=J.position().top,A=w.position().top;h=Math.min(h-x,V.height()+A+1);Z.height(h-Sa(D));ja.css("top",x);w.height(h-A-1);Xa=ea.height()+1;O&&y()}function t(h){Ga=h;cb.clear();Ma=0;Va(aa.width("").each(function(O,x){Ma=Math.max(Ma,m(x).outerWidth())}),Ma);h=w[0].clientWidth;if(vb=w.width()-h){Va(va,vb);va.show().prev().removeClass("fc-last")}else va.hide().prev().addClass("fc-last");db=Math.floor((h-Ma)/Ba);Va(r.slice(0,-1),db)}function y(){function h(){w.scrollTop(A)}
var O=zb(),x=N(O);x.setHours(i("firstHour"));var A=ca(O,x)+1;h();setTimeout(h,0)}function S(){Xb=w.scrollTop()}function Q(){w.scrollTop(Xb)}function q(h){h.click(fa).mousedown(W)}function u(h){h.click(fa).mousedown(H)}function fa(h){if(!i("selectable")){var O=Math.min(Ba-1,Math.floor((h.pageX-v.offset().left-Ma)/db)),x=ua(O),A=this.parentNode.className.match(/fc-slot(\d+)/);if(A){A=parseInt(A[1])*i("slotMinutes");var ta=Math.floor(A/60);x.setHours(ta);x.setMinutes(A%60+La);C("dayClick",M[O],x,false,
h)}else C("dayClick",M[O],x,true,h)}}function oa(h,O,x){x&&Na.build();var A=N(K.visStart);if(Ub){x=Ca(O,A)*Ha+Ia+1;h=Ca(h,A)*Ha+Ia+1}else{x=Ca(h,A);h=Ca(O,A)}x=Math.max(0,x);h=Math.min(Ba,h);x<h&&q(ga(0,x,0,h-1))}function ga(h,O,x,A){h=Na.rect(h,O,x,A,ja);return E(h,ja)}function ra(h,O){for(var x=N(K.visStart),A=ba(N(x),1),ta=0;ta<Ba;ta++){var za=new Date(Math.max(x,h)),Da=new Date(Math.min(A,O));if(za<Da){var Ea=ta*Ha+Ia;Ea=Na.rect(0,Ea,0,Ea,I);za=ca(x,za);Da=ca(x,Da);Ea.top=za;Ea.height=Da-za;u(E(Ea,
I))}ba(x,1);ba(A,1)}}function sa(h){return cb.left(h)}function ha(h){return cb.right(h)}function da(h){return{row:Math.floor(Ca(h,K.visStart)/7),col:U(h.getDay())}}function na(h){var O=ua(h.col);h=h.row;i("allDaySlot")&&h--;h>=0&&xa(O,La+h*i("slotMinutes"));return O}function ua(h){return ba(N(K.visStart),h*Ha+Ia)}function pa(h){return i("allDaySlot")&&!h.row}function U(h){return(h-Math.max(Tb,Sb)+Ba)%Ba*Ha+Ia}function ca(h,O){h=N(h,true);if(O<xa(N(h),La))return 0;if(O>=xa(N(h),bb))return V.height();
h=i("slotMinutes");O=O.getHours()*60+O.getMinutes()-La;var x=Math.floor(O/h),A=ub[x];if(A===ma)A=ub[x]=V.find("tr:eq("+x+") td div")[0].offsetTop;return Math.max(0,Math.round(A-1+Xa*(O%h/h)))}function ka(){return{left:Ma,right:Ga-vb}}function qa(){return $}function G(h){var O=N(h.start);if(h.allDay)return O;return xa(O,i("defaultEventMinutes"))}function p(h,O){if(O)return N(h);return xa(N(h),i("slotMinutes"))}function L(h,O,x){if(x)i("allDaySlot")&&oa(h,ba(N(O),1),true);else c(h,O)}function c(h,O){var x=
i("selectHelper");Na.build();if(x){var A=Ca(h,K.visStart)*Ha+Ia;if(A>=0&&A<Ba){A=Na.rect(0,A,0,A,I);var ta=ca(h,h),za=ca(h,O);if(za>ta){A.top=ta;A.height=za-ta;A.left+=2;A.width-=5;if(m.isFunction(x)){if(h=x(h,O)){A.position="absolute";A.zIndex=8;wa=m(h).css(A).appendTo(I)}}else{A.isStart=true;A.isEnd=true;wa=m(o({title:"",start:h,end:O,className:["fc-select-helper"],editable:false},A));wa.css("opacity",i("dragOpacity"))}if(wa){u(wa);I.append(wa);Va(wa,A.width,true);Eb(wa,A.height,true)}}}}else ra(h,
O)}function z(){B();if(wa){wa.remove();wa=null}}function H(h){if(h.which==1&&i("selectable")){Y(h);var O;Ra.start(function(x,A){z();if(x&&x.col==A.col&&!pa(x)){A=na(A);x=na(x);O=[A,xa(N(A),i("slotMinutes")),x,xa(N(x),i("slotMinutes"))].sort(Gb);c(O[0],O[3])}else O=null},h);m(document).one("mouseup",function(x){Ra.stop();if(O){+O[0]==+O[1]&&T(O[0],false,x);n(O[0],O[3],false,x)}})}}function T(h,O,x){C("dayClick",M[U(h.getDay())],h,O,x)}function X(h,O){Ra.start(function(x){B();if(x)if(pa(x))ga(x.row,
x.col,x.row,x.col);else{x=na(x);var A=xa(N(x),i("defaultEventMinutes"));ra(x,A)}},O)}function ya(h,O,x){var A=Ra.stop();B();A&&C("drop",h,na(A),pa(A),O,x)}var K=this;K.renderAgenda=d;K.setWidth=t;K.setHeight=j;K.beforeHide=S;K.afterShow=Q;K.defaultEventEnd=G;K.timePosition=ca;K.dayOfWeekCol=U;K.dateCell=da;K.cellDate=na;K.cellIsAllDay=pa;K.allDayRow=qa;K.allDayBounds=ka;K.getHoverListener=function(){return Ra};K.colContentLeft=sa;K.colContentRight=ha;K.getDaySegmentContainer=function(){return ia};
K.getSlotSegmentContainer=function(){return R};K.getMinMinute=function(){return La};K.getMaxMinute=function(){return bb};K.getBodyContent=function(){return I};K.getRowCnt=function(){return 1};K.getColCnt=function(){return Ba};K.getColWidth=function(){return db};K.getSlotHeight=function(){return Xa};K.defaultSelectionEnd=p;K.renderDayOverlay=oa;K.renderSelection=L;K.clearSelection=z;K.reportDayClick=T;K.dragStart=X;K.dragStop=ya;Kb.call(K,a,b,e);Lb.call(K);Mb.call(K);sc.call(K);var i=K.opt,C=K.trigger,
P=K.clearEvents,E=K.renderOverlay,B=K.clearOverlays,n=K.reportSelection,Y=K.unselect,W=K.daySelectionMousedown,o=K.slotSegHtml,s=b.formatDate,v,F,r,J,M,k,D,Z,ja,ia,la,$,w,I,R,V,ea,aa,va,wa,Ga,Wb,Ma,db,vb,Xa,Xb,Ba,tb,Na,Ra,cb,ub={},Wa,Tb,Sb,Ub,Ha,Ia,La,bb,Vb;qb(a.addClass("fc-agenda"));Na=new Nb(function(h,O){function x(eb){return Math.max(Ea,Math.min(tc,eb))}var A,ta,za;r.each(function(eb,uc){A=m(uc);ta=A.offset().left;if(eb)za[1]=ta;za=[ta];O[eb]=za});za[1]=ta+A.outerWidth();if(i("allDaySlot")){A=
$;ta=A.offset().top;h[0]=[ta,ta+A.outerHeight()]}for(var Da=I.offset().top,Ea=w.offset().top,tc=Ea+w.outerHeight(),fb=0;fb<tb;fb++)h.push([x(Da+Xa*fb),x(Da+Xa*(fb+1))])});Ra=new Ob(Na);cb=new Pb(function(h){return k.eq(h)})}function sc(){function a(o,s){sa(o);var v,F=o.length,r=[],J=[];for(v=0;v<F;v++)o[v].allDay?r.push(o[v]):J.push(o[v]);if(u("allDaySlot")){L(e(r),s);na()}g(d(J),s)}function b(){ha();ua().empty();pa().empty()}function e(o){o=ob(nb(o,m.map(o,Ua),q.visStart,q.visEnd));var s,v=o.length,
F,r,J,M=[];for(s=0;s<v;s++){F=o[s];for(r=0;r<F.length;r++){J=F[r];J.row=0;J.level=s;M.push(J)}}return M}function d(o){var s=z(),v=ka(),F=ca(),r=xa(N(q.visStart),v),J=m.map(o,f),M,k,D,Z,ja,ia,la=[];for(M=0;M<s;M++){k=ob(nb(o,J,r,xa(N(r),F-v)));vc(k);for(D=0;D<k.length;D++){Z=k[D];for(ja=0;ja<Z.length;ja++){ia=Z[ja];ia.col=M;ia.level=D;la.push(ia)}}ba(r,1,true)}return la}function f(o){return o.end?N(o.end):xa(N(o.start),u("defaultEventMinutes"))}function g(o,s){var v,F=o.length,r,J,M,k,D,Z,ja,ia,la,
$="",w,I,R={},V={},ea=pa(),aa;v=z();if(w=u("isRTL")){I=-1;aa=v-1}else{I=1;aa=0}for(v=0;v<F;v++){r=o[v];J=r.event;M=qa(r.start,r.start);k=qa(r.start,r.end);D=r.col;Z=r.level;ja=r.forward||0;ia=G(D*I+aa);la=p(D*I+aa)-ia;la=Math.min(la-6,la*0.95);D=Z?la/(Z+ja+1):ja?(la/(ja+1)-6)*2:la;Z=ia+la/(Z+ja+1)*Z*I+(w?la-D:0);r.top=M;r.left=Z;r.outerWidth=D;r.outerHeight=k-M;$+=l(J,r)}ea[0].innerHTML=$;w=ea.children();for(v=0;v<F;v++){r=o[v];J=r.event;$=m(w[v]);I=fa("eventRender",J,J,$);if(I===false)$.remove();
else{if(I&&I!==true){$.remove();$=m(I).css({position:"absolute",top:r.top,left:r.left}).appendTo(ea)}r.element=$;if(J._id===s)t(J,$,r);else $[0]._fci=v;ya(J,$)}}Db(ea,o,t);for(v=0;v<F;v++){r=o[v];if($=r.element){J=R[s=r.key=Ib($[0])];r.vsides=J===ma?(R[s]=Sa($,true)):J;J=V[s];r.hsides=J===ma?(V[s]=pb($,true)):J;s=$.find("div.fc-event-content");if(s.length)r.contentTop=s[0].offsetTop}}for(v=0;v<F;v++){r=o[v];if($=r.element){$[0].style.width=Math.max(0,r.outerWidth-r.hsides)+"px";R=Math.max(0,r.outerHeight-
r.vsides);$[0].style.height=R+"px";J=r.event;if(r.contentTop!==ma&&R-r.contentTop<10){$.find("div.fc-event-time").text(Y(J.start,u("timeFormat"))+" - "+J.title);$.find("div.fc-event-title").remove()}fa("eventAfterRender",J,J,$)}}}function l(o,s){var v="<",F=o.url,r=Jb(o,u),J=r?" style='"+r+"'":"",M=["fc-event","fc-event-skin","fc-event-vert"];oa(o)&&M.push("fc-event-draggable");s.isStart&&M.push("fc-corner-top");s.isEnd&&M.push("fc-corner-bottom");M=M.concat(o.className);if(o.source)M=M.concat(o.source.className||
[]);v+=F?"a href='"+Qa(o.url)+"'":"div";v+=" class='"+M.join(" ")+"' style='position:absolute;z-index:8;top:"+s.top+"px;left:"+s.left+"px;"+r+"'><div class='fc-event-inner fc-event-skin'"+J+"><div class='fc-event-head fc-event-skin'"+J+"><div class='fc-event-time'>"+Qa(W(o.start,o.end,u("timeFormat")))+"</div></div><div class='fc-event-content'><div class='fc-event-title'>"+Qa(o.title)+"</div></div><div class='fc-event-bg'></div></div>";if(s.isEnd&&ga(o))v+="<div class='ui-resizable-handle ui-resizable-s'>=</div>";
v+="</"+(F?"a":"div")+">";return v}function j(o,s,v){oa(o)&&y(o,s,v.isStart);v.isEnd&&ga(o)&&c(o,s,v);da(o,s)}function t(o,s,v){var F=s.find("div.fc-event-time");oa(o)&&S(o,s,F);v.isEnd&&ga(o)&&Q(o,s,F);da(o,s)}function y(o,s,v){function F(){if(!M){s.width(r).height("").draggable("option","grid",null);M=true}}var r,J,M=true,k,D=u("isRTL")?-1:1,Z=U(),ja=H(),ia=T(),la=ka();s.draggable({zIndex:9,opacity:u("dragOpacity","month"),revertDuration:u("dragRevertDuration"),start:function($,w){fa("eventDragStart",
s,o,$,w);i(o,s);r=s.width();Z.start(function(I,R,V,ea){B();if(I){J=false;k=ea*D;if(I.row)if(v){if(M){s.width(ja-10);Eb(s,ia*Math.round((o.end?(o.end-o.start)/wc:u("defaultEventMinutes"))/u("slotMinutes")));s.draggable("option","grid",[ja,1]);M=false}}else J=true;else{E(ba(N(o.start),k),ba(Ua(o),k));F()}J=J||M&&!k}else{F();J=true}s.draggable("option","revert",J)},$,"drag")},stop:function($,w){Z.stop();B();fa("eventDragStop",s,o,$,w);if(J){F();s.css("filter","");K(o,s)}else{var I=0;M||(I=Math.round((s.offset().top-
X().offset().top)/ia)*u("slotMinutes")+la-(o.start.getHours()*60+o.start.getMinutes()));C(this,o,k,I,M,$,w)}}})}function S(o,s,v){function F(I){var R=xa(N(o.start),I),V;if(o.end)V=xa(N(o.end),I);v.text(W(R,V,u("timeFormat")))}function r(){if(M){v.css("display","");s.draggable("option","grid",[$,w]);M=false}}var J,M=false,k,D,Z,ja=u("isRTL")?-1:1,ia=U(),la=z(),$=H(),w=T();s.draggable({zIndex:9,scroll:false,grid:[$,w],axis:la==1?"y":false,opacity:u("dragOpacity"),revertDuration:u("dragRevertDuration"),
start:function(I,R){fa("eventDragStart",s,o,I,R);i(o,s);J=s.position();D=Z=0;ia.start(function(V,ea,aa,va){s.draggable("option","revert",!V);B();if(V){k=va*ja;if(u("allDaySlot")&&!V.row){if(!M){M=true;v.hide();s.draggable("option","grid",null)}E(ba(N(o.start),k),ba(Ua(o),k))}else r()}},I,"drag")},drag:function(I,R){D=Math.round((R.position.top-J.top)/w)*u("slotMinutes");if(D!=Z){M||F(D);Z=D}},stop:function(I,R){var V=ia.stop();B();fa("eventDragStop",s,o,I,R);if(V&&(k||D||M))C(this,o,k,M?0:D,M,I,R);
else{r();s.css("filter","");s.css(J);F(0);K(o,s)}}})}function Q(o,s,v){var F,r,J=T();s.resizable({handles:{s:"div.ui-resizable-s"},grid:J,start:function(M,k){F=r=0;i(o,s);s.css("z-index",9);fa("eventResizeStart",this,o,M,k)},resize:function(M,k){F=Math.round((Math.max(J,s.height())-k.originalSize.height)/J);if(F!=r){v.text(W(o.start,!F&&!o.end?null:xa(ra(o),u("slotMinutes")*F),u("timeFormat")));r=F}},stop:function(M,k){fa("eventResizeStop",this,o,M,k);if(F)P(this,o,0,u("slotMinutes")*F,M,k);else{s.css("z-index",
8);K(o,s)}}})}var q=this;q.renderEvents=a;q.compileDaySegs=e;q.clearEvents=b;q.slotSegHtml=l;q.bindDaySeg=j;Qb.call(q);var u=q.opt,fa=q.trigger,oa=q.isEventDraggable,ga=q.isEventResizable,ra=q.eventEnd,sa=q.reportEvents,ha=q.reportEventClear,da=q.eventElementHandlers,na=q.setHeight,ua=q.getDaySegmentContainer,pa=q.getSlotSegmentContainer,U=q.getHoverListener,ca=q.getMaxMinute,ka=q.getMinMinute,qa=q.timePosition,G=q.colContentLeft,p=q.colContentRight,L=q.renderDaySegs,c=q.resizableDayEvent,z=q.getColCnt,
H=q.getColWidth,T=q.getSlotHeight,X=q.getBodyContent,ya=q.reportEventElement,K=q.showEvents,i=q.hideEvents,C=q.eventDrop,P=q.eventResize,E=q.renderDayOverlay,B=q.clearOverlays,n=q.calendar,Y=n.formatDate,W=n.formatDates}function vc(a){var b,e,d,f,g,l;for(b=a.length-1;b>0;b--){f=a[b];for(e=0;e<f.length;e++){g=f[e];for(d=0;d<a[b-1].length;d++){l=a[b-1][d];if(Cb(g,l))l.forward=Math.max(l.forward||0,(g.forward||0)+1)}}}}function Kb(a,b,e){function d(G,p){G=qa[G];if(typeof G=="object")return jb(G,p||e);
return G}function f(G,p){return b.trigger.apply(b,[G,p||da].concat(Array.prototype.slice.call(arguments,2),[da]))}function g(G){return j(G)&&!d("disableDragging")}function l(G){return j(G)&&!d("disableResizing")}function j(G){return Ta(G.editable,(G.source||{}).editable,d("editable"))}function t(G){U={};var p,L=G.length,c;for(p=0;p<L;p++){c=G[p];if(U[c._id])U[c._id].push(c);else U[c._id]=[c]}}function y(G){return G.end?N(G.end):na(G)}function S(G,p){ca.push(p);if(ka[G._id])ka[G._id].push(p);else ka[G._id]=
[p]}function Q(){ca=[];ka={}}function q(G,p){p.click(function(L){if(!p.hasClass("ui-draggable-dragging")&&!p.hasClass("ui-resizable-resizing"))return f("eventClick",this,G,L)}).hover(function(L){f("eventMouseover",this,G,L)},function(L){f("eventMouseout",this,G,L)})}function u(G,p){oa(G,p,"show")}function fa(G,p){oa(G,p,"hide")}function oa(G,p,L){G=ka[G._id];var c,z=G.length;for(c=0;c<z;c++)if(!p||G[c][0]!=p[0])G[c][L]()}function ga(G,p,L,c,z,H,T){var X=p.allDay,ya=p._id;sa(U[ya],L,c,z);f("eventDrop",
G,p,L,c,z,function(){sa(U[ya],-L,-c,X);pa(ya)},H,T);pa(ya)}function ra(G,p,L,c,z,H){var T=p._id;ha(U[T],L,c);f("eventResize",G,p,L,c,function(){ha(U[T],-L,-c);pa(T)},z,H);pa(T)}function sa(G,p,L,c){L=L||0;for(var z,H=G.length,T=0;T<H;T++){z=G[T];if(c!==ma)z.allDay=c;xa(ba(z.start,p,true),L);if(z.end)z.end=xa(ba(z.end,p,true),L);ua(z,qa)}}function ha(G,p,L){L=L||0;for(var c,z=G.length,H=0;H<z;H++){c=G[H];c.end=xa(ba(y(c),p,true),L);ua(c,qa)}}var da=this;da.element=a;da.calendar=b;da.name=e;da.opt=
d;da.trigger=f;da.isEventDraggable=g;da.isEventResizable=l;da.reportEvents=t;da.eventEnd=y;da.reportEventElement=S;da.reportEventClear=Q;da.eventElementHandlers=q;da.showEvents=u;da.hideEvents=fa;da.eventDrop=ga;da.eventResize=ra;var na=da.defaultEventEnd,ua=b.normalizeEvent,pa=b.reportEventChange,U={},ca=[],ka={},qa=b.options}function Qb(){function a(i,C){var P=z(),E=pa(),B=U(),n=0,Y,W,o=i.length,s,v;P[0].innerHTML=e(i);d(i,P.children());f(i);g(i,P,C);l(i);j(i);t(i);C=y();for(P=0;P<E;P++){Y=[];for(W=
0;W<B;W++)Y[W]=0;for(;n<o&&(s=i[n]).row==P;){W=Hb(Y.slice(s.startCol,s.endCol));s.top=W;W+=s.outerHeight;for(v=s.startCol;v<s.endCol;v++)Y[v]=W;n++}C[P].height(Hb(Y))}Q(i,S(C))}function b(i,C,P){var E=m("<div/>"),B=z(),n=i.length,Y;E[0].innerHTML=e(i);E=E.children();B.append(E);d(i,E);l(i);j(i);t(i);Q(i,S(y()));E=[];for(B=0;B<n;B++)if(Y=i[B].element){i[B].row===C&&Y.css("top",P);E.push(Y[0])}return m(E)}function e(i){var C=fa("isRTL"),P,E=i.length,B,n,Y,W;P=ka();var o=P.left,s=P.right,v,F,r,J,M,k=
"";for(P=0;P<E;P++){B=i[P];n=B.event;W=["fc-event","fc-event-skin","fc-event-hori"];ga(n)&&W.push("fc-event-draggable");if(C){B.isStart&&W.push("fc-corner-right");B.isEnd&&W.push("fc-corner-left");v=p(B.end.getDay()-1);F=p(B.start.getDay());r=B.isEnd?qa(v):o;J=B.isStart?G(F):s}else{B.isStart&&W.push("fc-corner-left");B.isEnd&&W.push("fc-corner-right");v=p(B.start.getDay());F=p(B.end.getDay()-1);r=B.isStart?qa(v):o;J=B.isEnd?G(F):s}W=W.concat(n.className);if(n.source)W=W.concat(n.source.className||
[]);Y=n.url;M=Jb(n,fa);k+=Y?"<a href='"+Qa(Y)+"'":"<div";k+=" class='"+W.join(" ")+"' style='position:absolute;z-index:8;left:"+r+"px;"+M+"'><div class='fc-event-inner fc-event-skin'"+(M?" style='"+M+"'":"")+">";if(!n.allDay&&B.isStart)k+="<span class='fc-event-time'>"+Qa(T(n.start,n.end,fa("timeFormat")))+"</span>";k+="<span class='fc-event-title'>"+Qa(n.title)+"</span></div>";if(B.isEnd&&ra(n))k+="<div class='ui-resizable-handle ui-resizable-"+(C?"w":"e")+"'>&nbsp;&nbsp;&nbsp;</div>";k+="</"+(Y?
"a":"div")+">";B.left=r;B.outerWidth=J-r;B.startCol=v;B.endCol=F+1}return k}function d(i,C){var P,E=i.length,B,n,Y;for(P=0;P<E;P++){B=i[P];n=B.event;Y=m(C[P]);n=oa("eventRender",n,n,Y);if(n===false)Y.remove();else{if(n&&n!==true){n=m(n).css({position:"absolute",left:B.left});Y.replaceWith(n);Y=n}B.element=Y}}}function f(i){var C,P=i.length,E,B;for(C=0;C<P;C++){E=i[C];(B=E.element)&&ha(E.event,B)}}function g(i,C,P){var E,B=i.length,n,Y,W;for(E=0;E<B;E++){n=i[E];if(Y=n.element){W=n.event;if(W._id===
P)H(W,Y,n);else Y[0]._fci=E}}Db(C,i,H)}function l(i){var C,P=i.length,E,B,n,Y,W={};for(C=0;C<P;C++){E=i[C];if(B=E.element){n=E.key=Ib(B[0]);Y=W[n];if(Y===ma)Y=W[n]=pb(B,true);E.hsides=Y}}}function j(i){var C,P=i.length,E,B;for(C=0;C<P;C++){E=i[C];if(B=E.element)B[0].style.width=Math.max(0,E.outerWidth-E.hsides)+"px"}}function t(i){var C,P=i.length,E,B,n,Y,W={};for(C=0;C<P;C++){E=i[C];if(B=E.element){n=E.key;Y=W[n];if(Y===ma)Y=W[n]=Fb(B);E.outerHeight=B[0].offsetHeight+Y}}}function y(){var i,C=pa(),
P=[];for(i=0;i<C;i++)P[i]=ca(i).find("td:first div.fc-day-content > div");return P}function S(i){var C,P=i.length,E=[];for(C=0;C<P;C++)E[C]=i[C][0].offsetTop;return E}function Q(i,C){var P,E=i.length,B,n;for(P=0;P<E;P++){B=i[P];if(n=B.element){n[0].style.top=C[B.row]+(B.top||0)+"px";B=B.event;oa("eventAfterRender",B,B,n)}}}function q(i,C,P){var E=fa("isRTL"),B=E?"w":"e",n=C.find("div.ui-resizable-"+B),Y=false;qb(C);C.mousedown(function(W){W.preventDefault()}).click(function(W){if(Y){W.preventDefault();
W.stopImmediatePropagation()}});n.mousedown(function(W){function o(ia){oa("eventResizeStop",this,i,ia);m("body").css("cursor","");s.stop();ya();k&&ua(this,i,k,0,ia);setTimeout(function(){Y=false},0)}if(W.which==1){Y=true;var s=u.getHoverListener(),v=pa(),F=U(),r=E?-1:1,J=E?F-1:0,M=C.css("top"),k,D,Z=m.extend({},i),ja=L(i.start);K();m("body").css("cursor",B+"-resize").one("mouseup",o);oa("eventResizeStart",this,i,W);s.start(function(ia,la){if(ia){var $=Math.max(ja.row,ia.row);ia=ia.col;if(v==1)$=0;
if($==ja.row)ia=E?Math.min(ja.col,ia):Math.max(ja.col,ia);k=$*7+ia*r+J-(la.row*7+la.col*r+J);la=ba(sa(i),k,true);if(k){Z.end=la;$=D;D=b(c([Z]),P.row,M);D.find("*").css("cursor",B+"-resize");$&&$.remove();na(i)}else if(D){da(i);D.remove();D=null}ya();X(i.start,ba(N(la),1))}},W)}})}var u=this;u.renderDaySegs=a;u.resizableDayEvent=q;var fa=u.opt,oa=u.trigger,ga=u.isEventDraggable,ra=u.isEventResizable,sa=u.eventEnd,ha=u.reportEventElement,da=u.showEvents,na=u.hideEvents,ua=u.eventResize,pa=u.getRowCnt,
U=u.getColCnt,ca=u.allDayRow,ka=u.allDayBounds,qa=u.colContentLeft,G=u.colContentRight,p=u.dayOfWeekCol,L=u.dateCell,c=u.compileDaySegs,z=u.getDaySegmentContainer,H=u.bindDaySeg,T=u.calendar.formatDates,X=u.renderDayOverlay,ya=u.clearOverlays,K=u.clearSelection}function Mb(){function a(Q,q,u){b();q||(q=j(Q,u));t(Q,q,u);e(Q,q,u)}function b(Q){if(S){S=false;y();l("unselect",null,Q)}}function e(Q,q,u,fa){S=true;l("select",null,Q,q,u,fa)}function d(Q){var q=f.cellDate,u=f.cellIsAllDay,fa=f.getHoverListener(),
oa=f.reportDayClick;if(Q.which==1&&g("selectable")){b(Q);var ga;fa.start(function(ra,sa){y();if(ra&&u(ra)){ga=[q(sa),q(ra)].sort(Gb);t(ga[0],ga[1],true)}else ga=null},Q);m(document).one("mouseup",function(ra){fa.stop();if(ga){+ga[0]==+ga[1]&&oa(ga[0],true,ra);e(ga[0],ga[1],true,ra)}})}}var f=this;f.select=a;f.unselect=b;f.reportSelection=e;f.daySelectionMousedown=d;var g=f.opt,l=f.trigger,j=f.defaultSelectionEnd,t=f.renderSelection,y=f.clearSelection,S=false;g("selectable")&&g("unselectAuto")&&m(document).mousedown(function(Q){var q=
g("unselectCancel");if(q)if(m(Q.target).parents(q).length)return;b(Q)})}function Lb(){function a(g,l){var j=f.shift();j||(j=m("<div class='fc-cell-overlay' style='position:absolute;z-index:3'/>"));j[0].parentNode!=l[0]&&j.appendTo(l);d.push(j.css(g).show());return j}function b(){for(var g;g=d.shift();)f.push(g.hide().unbind())}var e=this;e.renderOverlay=a;e.clearOverlays=b;var d=[],f=[]}function Nb(a){var b=this,e,d;b.build=function(){e=[];d=[];a(e,d)};b.cell=function(f,g){var l=e.length,j=d.length,
t,y=-1,S=-1;for(t=0;t<l;t++)if(g>=e[t][0]&&g<e[t][1]){y=t;break}for(t=0;t<j;t++)if(f>=d[t][0]&&f<d[t][1]){S=t;break}return y>=0&&S>=0?{row:y,col:S}:null};b.rect=function(f,g,l,j,t){t=t.offset();return{top:e[f][0]-t.top,left:d[g][0]-t.left,width:d[j][1]-d[g][0],height:e[l][1]-e[f][0]}}}function Ob(a){function b(j){xc(j);j=a.cell(j.pageX,j.pageY);if(!j!=!l||j&&(j.row!=l.row||j.col!=l.col)){if(j){g||(g=j);f(j,g,j.row-g.row,j.col-g.col)}else f(j,g);l=j}}var e=this,d,f,g,l;e.start=function(j,t,y){f=j;
g=l=null;a.build();b(t);d=y||"mousemove";m(document).bind(d,b)};e.stop=function(){m(document).unbind(d,b);return l}}function xc(a){if(a.pageX===ma){a.pageX=a.originalEvent.pageX;a.pageY=a.originalEvent.pageY}}function Pb(a){function b(l){return d[l]=d[l]||a(l)}var e=this,d={},f={},g={};e.left=function(l){return f[l]=f[l]===ma?b(l).position().left:f[l]};e.right=function(l){return g[l]=g[l]===ma?e.left(l)+b(l).width():g[l]};e.clear=function(){d={};f={};g={}}}var Ya={defaultView:"month",aspectRatio:1.35,
header:{left:"title",center:"",right:"today prev,next"},weekends:true,allDayDefault:true,ignoreTimezone:true,lazyFetching:true,startParam:"start",endParam:"end",titleFormat:{month:"MMMM yyyy",week:"MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}",day:"dddd, MMM d, yyyy"},columnFormat:{month:"ddd",week:"ddd M/d",day:"dddd M/d"},timeFormat:{"":"h(:mm)t"},isRTL:false,firstDay:0,monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan",
"Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],buttonText:{prev:"&nbsp;&#9668;&nbsp;",next:"&nbsp;&#9658;&nbsp;",prevYear:"&nbsp;&lt;&lt;&nbsp;",nextYear:"&nbsp;&gt;&gt;&nbsp;",today:"today",month:"month",week:"week",day:"day"},theme:false,buttonIcons:{prev:"circle-triangle-w",next:"circle-triangle-e"},unselectAuto:true,dropAccept:"*"},yc=
{header:{left:"next,prev today",center:"",right:"title"},buttonText:{prev:"&nbsp;&#9658;&nbsp;",next:"&nbsp;&#9668;&nbsp;",prevYear:"&nbsp;&gt;&gt;&nbsp;",nextYear:"&nbsp;&lt;&lt;&nbsp;"},buttonIcons:{prev:"circle-triangle-e",next:"circle-triangle-w"}},Aa=m.fullCalendar={version:"1.5.4"},Ja=Aa.views={};m.fn.fullCalendar=function(a){if(typeof a=="string"){var b=Array.prototype.slice.call(arguments,1),e;this.each(function(){var f=m.data(this,"fullCalendar");if(f&&m.isFunction(f[a])){f=f[a].apply(f,
b);if(e===ma)e=f;a=="destroy"&&m.removeData(this,"fullCalendar")}});if(e!==ma)return e;return this}var d=a.eventSources||[];delete a.eventSources;if(a.events){d.push(a.events);delete a.events}a=m.extend(true,{},Ya,a.isRTL||a.isRTL===ma&&Ya.isRTL?yc:{},a);this.each(function(f,g){f=m(g);g=new Yb(f,a,d);f.data("fullCalendar",g);g.render()});return this};Aa.sourceNormalizers=[];Aa.sourceFetchers=[];var ac={dataType:"json",cache:false},bc=1;Aa.addDays=ba;Aa.cloneDate=N;Aa.parseDate=kb;Aa.parseISO8601=
Bb;Aa.parseTime=mb;Aa.formatDate=Oa;Aa.formatDates=ib;var lc=["sun","mon","tue","wed","thu","fri","sat"],Ab=864E5,cc=36E5,wc=6E4,dc={s:function(a){return a.getSeconds()},ss:function(a){return Pa(a.getSeconds())},m:function(a){return a.getMinutes()},mm:function(a){return Pa(a.getMinutes())},h:function(a){return a.getHours()%12||12},hh:function(a){return Pa(a.getHours()%12||12)},H:function(a){return a.getHours()},HH:function(a){return Pa(a.getHours())},d:function(a){return a.getDate()},dd:function(a){return Pa(a.getDate())},
ddd:function(a,b){return b.dayNamesShort[a.getDay()]},dddd:function(a,b){return b.dayNames[a.getDay()]},M:function(a){return a.getMonth()+1},MM:function(a){return Pa(a.getMonth()+1)},MMM:function(a,b){return b.monthNamesShort[a.getMonth()]},MMMM:function(a,b){return b.monthNames[a.getMonth()]},yy:function(a){return(a.getFullYear()+"").substring(2)},yyyy:function(a){return a.getFullYear()},t:function(a){return a.getHours()<12?"a":"p"},tt:function(a){return a.getHours()<12?"am":"pm"},T:function(a){return a.getHours()<
12?"A":"P"},TT:function(a){return a.getHours()<12?"AM":"PM"},u:function(a){return Oa(a,"yyyy-MM-dd'T'HH:mm:ss'Z'")},S:function(a){a=a.getDate();if(a>10&&a<20)return"th";return["st","nd","rd"][a%10-1]||"th"}};Aa.applyAll=$a;Ja.month=mc;Ja.basicWeek=nc;Ja.basicDay=oc;wb({weekMode:"fixed"});Ja.agendaWeek=qc;Ja.agendaDay=rc;wb({allDaySlot:true,allDayText:"all-day",firstHour:6,slotMinutes:30,defaultEventMinutes:120,axisFormat:"h(:mm)tt",timeFormat:{agenda:"h:mm{ - h:mm}"},dragOpacity:{agenda:0.5},minTime:0,
maxTime:24})})(jQuery);

View File

@ -4159,12 +4159,16 @@ function AgendaEventRenderer() {
},
grid: slotHeight,
start: function(ev, ui) {
console.log("event resize started");
slotDelta = prevSlotDelta = 0;
hideEvents(event, eventElement);
eventElement.css('z-index', 9);
trigger('eventResizeStart', this, event, ev, ui);
},
resize: function(ev, ui) {
console.log("event resizing");
// don't rely on ui.size.height, doesn't take grid into account
slotDelta = Math.round((Math.max(slotHeight, eventElement.height()) - ui.originalSize.height) / slotHeight);
if (slotDelta != prevSlotDelta) {
@ -4180,6 +4184,8 @@ function AgendaEventRenderer() {
}
},
stop: function(ev, ui) {
console.log("event resize stopped");
trigger('eventResizeStop', this, event, ev, ui);
if (slotDelta) {
eventResize(this, event, 0, opt('slotMinutes')*slotDelta, ev, ui);

View File

@ -1,112 +0,0 @@
/*
* FullCalendar v1.5.4 Google Calendar Plugin
*
* Copyright (c) 2011 Adam Shaw
* Dual licensed under the MIT and GPL licenses, located in
* MIT-LICENSE.txt and GPL-LICENSE.txt respectively.
*
* Date: Tue Sep 4 23:38:33 2012 -0700
*
*/
(function($) {
var fc = $.fullCalendar;
var formatDate = fc.formatDate;
var parseISO8601 = fc.parseISO8601;
var addDays = fc.addDays;
var applyAll = fc.applyAll;
fc.sourceNormalizers.push(function(sourceOptions) {
if (sourceOptions.dataType == 'gcal' ||
sourceOptions.dataType === undefined &&
(sourceOptions.url || '').match(/^(http|https):\/\/www.google.com\/calendar\/feeds\//)) {
sourceOptions.dataType = 'gcal';
if (sourceOptions.editable === undefined) {
sourceOptions.editable = false;
}
}
});
fc.sourceFetchers.push(function(sourceOptions, start, end) {
if (sourceOptions.dataType == 'gcal') {
return transformOptions(sourceOptions, start, end);
}
});
function transformOptions(sourceOptions, start, end) {
var success = sourceOptions.success;
var data = $.extend({}, sourceOptions.data || {}, {
'start-min': formatDate(start, 'u'),
'start-max': formatDate(end, 'u'),
'singleevents': true,
'max-results': 9999
});
var ctz = sourceOptions.currentTimezone;
if (ctz) {
data.ctz = ctz = ctz.replace(' ', '_');
}
return $.extend({}, sourceOptions, {
url: sourceOptions.url.replace(/\/basic$/, '/full') + '?alt=json-in-script&callback=?',
dataType: 'jsonp',
data: data,
startParam: false,
endParam: false,
success: function(data) {
var events = [];
if (data.feed.entry) {
$.each(data.feed.entry, function(i, entry) {
var startStr = entry['gd$when'][0]['startTime'];
var start = parseISO8601(startStr, true);
var end = parseISO8601(entry['gd$when'][0]['endTime'], true);
var allDay = startStr.indexOf('T') == -1;
var url;
$.each(entry.link, function(i, link) {
if (link.type == 'text/html') {
url = link.href;
if (ctz) {
url += (url.indexOf('?') == -1 ? '?' : '&') + 'ctz=' + ctz;
}
}
});
if (allDay) {
addDays(end, -1); // make inclusive
}
events.push({
id: entry['gCal$uid']['value'],
title: entry['title']['$t'],
url: url,
start: start,
end: end,
allDay: allDay,
location: entry['gd$where'][0]['valueString'],
description: entry['content']['$t']
});
});
}
var args = [events].concat(Array.prototype.slice.call(arguments, 1));
var res = applyAll(success, this, args);
if ($.isArray(res)) {
return res;
}
return events;
}
});
}
// legacy
fc.gcalFeed = function(url, sourceOptions) {
return $.extend({}, sourceOptions, { url: url, dataType: 'gcal' });
};
})(jQuery);

View File

@ -87,9 +87,11 @@ if [ "$code" != "squeeze" -a "$code" != "lucid" ]; then
apt-get -y --force-yes install libvo-aacenc0
fi
#Install php5-json on Ubuntu Saucy.
#Install some plugin packages on Ubuntu Saucy.
if [ "$dist" = "Ubuntu" -a "$code" = "saucy" ]; then
apt-get -y --force-yes install php5-json
apt-get -y --force-yes install php5-json
apt-get -y --force-yes install liquidsoap-plugin-alsa liquidsoap-plugin-ao liquidsoap-plugin-faad liquidsoap-plugin-flac liquidsoap-plugin-icecast liquidsoap-plugin-lame liquidsoap-plugin-mad liquidsoap-plugin-ogg liquidsoap-plugin-opus liquidsoap-plugin-portaudio liquidsoap-plugin-pulseaudio liquidsoap-plugin-taglib liquidsoap-plugin-voaacenc liquidsoap-plugin-vorbis
fi
#Install packages back-ported by Sourcefabric

View File

@ -21,9 +21,10 @@ LEFT JOIN cc_schedule AS sched
ON sched.id = wm.instance_id
LEFT JOIN cc_webstream AS ws
ON sched.stream_id = ws.id
LEFT JOIN cc_show_instances as showinstances
ON sched.instance_id = showinstances.id
LEFT JOIN cc_show AS show
ON sched.instance_id = show.id;
ON showinstances.show_id = show.id;
CREATE OR REPLACE FUNCTION migrateWebstreamHistory() RETURNS int4 AS $$
@ -55,4 +56,14 @@ LANGUAGE plpgsql;
SELECT migrateWebstreamHistory() as output;
DROP FUNCTION migrateWebstreamHistory();
DROP VIEW ws_history;
DROP VIEW ws_history;
DELETE from cc_show_instances AS ins
WHERE (ins.starts,ins.ends,ins.show_id)
IN (SELECT starts,ends,show_id FROM cc_show_instances GROUP BY starts,ends,show_id HAVING count(*) >1 )
AND ins.id NOT IN (SELECT min(id) FROM cc_show_instances GROUP BY starts,ends,show_id HAVING count(*) >1 );
DELETE FROM cc_schedule
WHERE id
IN (SELECT sc.id FROM cc_schedule AS sc LEFT JOIN cc_show_instances AS i ON sc.instance_id=i.id LEFT JOIN cc_show AS s ON i.show_id=s.id WHERE sc.starts<i.starts ORDER BY sc.starts);

View File

@ -140,14 +140,14 @@ class PypoLiquidsoap():
#Iterate over the new files, and compare them to currently scheduled
#tracks. If already in liquidsoap queue still need to make sure they don't
#have different attributes such replay_gain etc.
#have different attributes
#if replay gain changes, it shouldn't change the amplification of the currently playing song
for i in scheduled_now_files:
if i["row_id"] in row_id_map:
mi = row_id_map[i["row_id"]]
correct = mi['start'] == i['start'] and \
mi['end'] == i['end'] and \
mi['row_id'] == i['row_id'] and \
mi['replay_gain'] == i['replay_gain']
mi['row_id'] == i['row_id']
if not correct:
#need to re-add

View File

@ -60,16 +60,16 @@ class ShowRecorder(Thread):
def __init__ (self, show_instance, show_name, filelength, start_time):
Thread.__init__(self)
self.logger = logging.getLogger('recorder')
self.api_client = api_client(self.logger)
self.filelength = filelength
self.start_time = start_time
self.logger = logging.getLogger('recorder')
self.api_client = api_client(self.logger)
self.filelength = filelength
self.start_time = start_time
self.show_instance = show_instance
self.show_name = show_name
self.p = None
self.show_name = show_name
self.p = None
def record_show(self):
length = str(self.filelength) + ".0"
length = str(self.filelength)
filename = self.start_time
filename = filename.replace(" ", "-")
@ -94,7 +94,7 @@ class ShowRecorder(Thread):
self.logger.info("starting record")
self.logger.info("command " + command)
self.p = Popen(args,stdout=PIPE)
#blocks at the following line until the child process
@ -104,7 +104,7 @@ class ShowRecorder(Thread):
for msg in outmsgs:
m = re.search('^ERROR',msg)
if not m == None:
self.logger.info('Recording error is found: %s', msg)
self.logger.info('Recording error is found: %s', outmsgs)
self.logger.info("finishing record, return code %s", self.p.returncode)
code = self.p.returncode
@ -113,12 +113,6 @@ class ShowRecorder(Thread):
return code, filepath
def cancel_recording(self):
#add 3 second delay before actually cancelling the show. The reason
#for this is because it appears that ecasound starts 1 second later than
#it should, and therefore this method is sometimes incorrectly called 1
#second before the show ends.
#time.sleep(3)
#send signal interrupt (2)
self.logger.info("Show manually cancelled!")
if (self.p is not None):
@ -188,13 +182,13 @@ class ShowRecorder(Thread):
class Recorder(Thread):
def __init__(self, q):
Thread.__init__(self)
self.logger = logging.getLogger('recorder')
self.api_client = api_client(self.logger)
self.sr = None
self.logger = logging.getLogger('recorder')
self.api_client = api_client(self.logger)
self.sr = None
self.shows_to_record = {}
self.server_timezone = ''
self.queue = q
self.loops = 0
self.queue = q
self.loops = 0
self.logger.info("RecorderFetch: init complete")
success = False
@ -213,8 +207,8 @@ class Recorder(Thread):
command = msg["event_type"]
self.logger.info("Received msg from Pypo Message Handler: %s", msg)
if command == 'cancel_recording':
if self.sr is not None and self.sr.is_recording():
self.sr.cancel_recording()
if self.currently_recording():
self.cancel_recording()
else:
self.process_recorder_schedule(msg)
self.loops = 0
@ -228,8 +222,8 @@ class Recorder(Thread):
shows = m['shows']
for show in shows:
show_starts = getDateTimeObj(show[u'starts'])
show_end = getDateTimeObj(show[u'ends'])
time_delta = show_end - show_starts
show_end = getDateTimeObj(show[u'ends'])
time_delta = show_end - show_starts
temp_shows_to_record[show[u'starts']] = [time_delta,
show[u'instance_id'], show[u'name'], m['server_timezone']]
@ -240,10 +234,10 @@ class Recorder(Thread):
tnow = datetime.datetime.utcnow()
sorted_show_keys = sorted(self.shows_to_record.keys())
start_time = sorted_show_keys[0]
next_show = getDateTimeObj(start_time)
start_time = sorted_show_keys[0]
next_show = getDateTimeObj(start_time)
delta = next_show - tnow
delta = next_show - tnow
s = '%s.%s' % (delta.seconds, delta.microseconds)
out = float(s)
@ -252,6 +246,16 @@ class Recorder(Thread):
self.logger.debug("Next show %s", next_show)
self.logger.debug("Now %s", tnow)
return out
def cancel_recording(self):
self.sr.cancel_recording()
self.sr = None
def currently_recording(self):
if self.sr is not None and self.sr.is_recording():
return True
else:
return False
def start_record(self):
if len(self.shows_to_record) == 0: return None
@ -262,11 +266,11 @@ class Recorder(Thread):
time.sleep(delta)
sorted_show_keys = sorted(self.shows_to_record.keys())
start_time = sorted_show_keys[0]
show_length = self.shows_to_record[start_time][0]
show_instance = self.shows_to_record[start_time][1]
show_name = self.shows_to_record[start_time][2]
server_timezone = self.shows_to_record[start_time][3]
start_time = sorted_show_keys[0]
show_length = self.shows_to_record[start_time][0]
show_instance = self.shows_to_record[start_time][1]
show_name = self.shows_to_record[start_time][2]
server_timezone = self.shows_to_record[start_time][3]
T = pytz.timezone(server_timezone)
start_time_on_UTC = getDateTimeObj(start_time)
@ -274,8 +278,23 @@ class Recorder(Thread):
start_time_formatted = '%(year)d-%(month)02d-%(day)02d %(hour)02d:%(min)02d:%(sec)02d' % \
{'year': start_time_on_server.year, 'month': start_time_on_server.month, 'day': start_time_on_server.day, \
'hour': start_time_on_server.hour, 'min': start_time_on_server.minute, 'sec': start_time_on_server.second}
self.sr = ShowRecorder(show_instance, show_name, show_length.seconds, start_time_formatted)
self.sr.start()
seconds_waiting = 0
#avoiding CC-5299
while(True):
if self.currently_recording():
self.logger.info("Previous record not finished, sleeping 100ms")
seconds_waiting = seconds_waiting + 0.1
time.sleep(0.1)
else:
show_length_seconds = show_length.seconds - seconds_waiting
self.sr = ShowRecorder(show_instance, show_name, show_length_seconds, start_time_formatted)
self.sr.start()
break
#remove show from shows to record.
del self.shows_to_record[start_time]
#self.time_till_next_show = self.get_time_till_next_show()

View File

@ -27,7 +27,7 @@ $(document).ready(function() {
});
$("#scheduleTabs").airtimeWeekSchedule({
sourceDomain:"http://localhost",
dowText:{monday:"Monday", tuesday:"Tuesday", wednesday:"Wednesday", thursday:"Thursday", friday:"Friday", saturday:"Saturday", sunday:"Sunday"},
dowText:{monday:"Monday", tuesday:"Tuesday", wednesday:"Wednesday", thursday:"Thursday", friday:"Friday", saturday:"Saturday", sunday:"Sunday", nextmonday:"Next Monday", nexttuesday:"Next Tuesday",nextwednesday:"Next Wednesday", nextthursday:"Next Thursday",nextfriday:"Next Friday", nextsaturday:"Next Saturday", nextsunday:"NextSunday"},
miscText:{time:"Time", programName:"Program Name", details:"Details", readMore:"Read More"},
updatePeriod: 600 //seconds
});
@ -45,7 +45,7 @@ This widget displays which show is currently playing:
<div id="headerLiveHolder" style="border: 1px solid #999999; padding: 10px;"></div>
<br/>
<br/>
<h1>"Current Show & Track Information" Widget</h1>
<h1>"Current Show &amp; Track Information" Widget</h1>
This widget displays which show and track are currently playing:
<br/>
<br/>
@ -53,14 +53,14 @@ This widget displays which show and track are currently playing:
<br/>
<br/>
<h1>"Today's Program" Widget</h1>
This widget displays what is being played today:
This widget displays the current show and shows being played later today:
<br/>
<br/>
<div id="onAirToday"></div>
<br/>
<br/>
<h1>"Weekly Program" Widget</h1>
This widget displays all the shows for the entire week:
This widget displays all the shows for the entire week, and the week ahead:
<br/>
<br/>
<div id="scheduleTabs"></div>

View File

@ -1,15 +1,12 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Airtime widgets</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<title>Airtime widget example output - Weekly Program</title>
<script src="js/jquery-1.6.1.min.js" type="text/javascript"></script>
<script src="js/jquery-ui-1.8.10.custom.min.js" type="text/javascript"></script>
<link href="css/airtime-widgets.css" rel="stylesheet" type="text/css" />
<script type="text/javascript">
$(function(){
var d = new Date().getDay();
@ -19,10 +16,12 @@
});
</script>
</head>
<body>
<p>This page contains example HTML output from the Airtime "Weekly Program" widget code, which you can use to test CSS changes. For a working example with JavaScript, see <a href="sample_page.html">sample_page.html</a> in this directory.</p>
<div id="scheduleTabs">
<ul>
<li><a href="#monday">Monday</a></li>

View File

@ -1,12 +1,14 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Airtime widgets</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<title>Airtime widget example output - Now Playing and Today's Program</title>
<link href="css/airtime-widgets.css" rel="stylesheet" type="text/css" />
</head>
<body>
<p>This page contains example HTML output from the Airtime "Now Playing" and "Today's Program" widget code, which you can use to test CSS changes. For a working example with JavaScript, see <a href="sample_page.html">sample_page.html</a> in this directory.</p>
<div id="headerLiveHolder">
<h4>On air now &gt;&gt;</h4>
<ul class="widget now-playing-bar">