From cc1830560a0e8fa1b512be09e93ecce71e8d9d9b Mon Sep 17 00:00:00 2001 From: sebastian Date: Sat, 23 Jul 2005 18:04:47 +0000 Subject: [PATCH] dynamic update of now/next clip infobox added --- .../htmlUI/var/SmartyExtensions.inc.php | 2 + .../htmlUI/var/formmask/metadata.inc.php | 100 +- .../htmlUI/var/html/styles_livesupport.css | 4 +- .../modules/htmlUI/var/html/ui_browser.php | 4 + livesupport/modules/htmlUI/var/jscom.php | 139 + .../modules/htmlUI/var/locals.en_US.xml | 2276 ++++++++-------- .../modules/htmlUI/var/locals.sr_CS.xml | 2279 ++++++++--------- .../var/templates/playlist/actionhandler.tpl | 2 +- .../htmlUI/var/templates/scratchpad/main.tpl | 4 +- .../htmlUI/var/templates/script/basics.js.tpl | 44 +- .../htmlUI/var/templates/script/clock.js.tpl | 103 +- .../htmlUI/var/templates/statusbar.tpl | 16 +- .../modules/htmlUI/var/ui_base.inc.php | 9 + .../modules/htmlUI/var/ui_browser.class.php | 3 +- .../modules/htmlUI/var/ui_browser_init.php | 3 + livesupport/modules/htmlUI/var/ui_conf.php | 1 + .../modules/htmlUI/var/ui_handler.class.php | 17 +- .../modules/htmlUI/var/ui_scheduler.class.php | 94 +- 18 files changed, 2609 insertions(+), 2491 deletions(-) create mode 100755 livesupport/modules/htmlUI/var/jscom.php diff --git a/livesupport/modules/htmlUI/var/SmartyExtensions.inc.php b/livesupport/modules/htmlUI/var/SmartyExtensions.inc.php index cf3acc9f9..e794608a8 100644 --- a/livesupport/modules/htmlUI/var/SmartyExtensions.inc.php +++ b/livesupport/modules/htmlUI/var/SmartyExtensions.inc.php @@ -6,6 +6,8 @@ $Smarty->assign_by_ref ('PL', $uiBrowser->PLAYLIST); $Smarty->assign_by_ref ('SCHEDULER', $uiBrowser->SCHEDULER); $Smarty->assign_by_ref ('SCRATCHPAD', $uiBrowser->SCRATCHPAD); $Smarty->assign_by_ref ('SUBJECTS', $uiBrowser->SUBJECTS); +$Smarty->assign_by_ref ('JSCOM', $jscom); + $Smarty->register_function('str_repeat', 'S_str_repeat'); $Smarty->register_function('urlencode', 'S_urlencode'); diff --git a/livesupport/modules/htmlUI/var/formmask/metadata.inc.php b/livesupport/modules/htmlUI/var/formmask/metadata.inc.php index a93f6f7f1..42eece95f 100755 --- a/livesupport/modules/htmlUI/var/formmask/metadata.inc.php +++ b/livesupport/modules/htmlUI/var/formmask/metadata.inc.php @@ -69,21 +69,21 @@ $mask = array( 'type' => 'text', 'label' => 'Title', 'required' => TRUE, - 'id3' => 'Title' + 'id3' => array('Title') ), array( 'element' => 'dc:creator', 'type' => 'text', 'label' => 'Creator', 'required' => TRUE, - 'id3' => 'Artist' + 'id3' => array('Artist') ), array( 'element' => 'dc:type', 'type' => 'text', 'label' => 'Genre', 'required' => TRUE, - 'id3' => 'Genre' + 'id3' => array('Genre') ), array( 'element' => 'dc:format', @@ -110,52 +110,38 @@ $mask = array( 'element' => 'dc:title', 'type' => 'text', 'label' => 'Title', - 'id3' => 'Title' + #'id3' => 'Title' ), array( 'element' => 'dc:creator', 'type' => 'text', 'label' => 'Creator', - 'id3' => 'Artist' + #'id3' => 'Artist' ), array( 'element' => 'dc:source', 'type' => 'text', 'label' => 'Album', - 'id3' => 'Album' + 'id3' => array('Album') ), - /* - array( - 'element' => 'ls:year', - 'type' => 'date', - 'label' => 'Year', - 'options' => array( - 'language' => 'en', - 'format' => 'dMY', - 'addEmptyOption'=> TRUE, - 'minYear' => 1900 - ), - 'id3' => 'Year' - ), - */ array( 'element' => 'ls:year', 'type' => 'select', 'label' => 'Year', 'options' => _getNumArr(1900, date('Y')+5), - 'id3' => 'Year' + 'id3' => array('Year') ), array( 'element' => 'dc:type', 'type' => 'text', 'label' => 'Genre', - 'id3' => 'Genre' + #'id3' => 'Genre' ), array( 'element' => 'dc:description', 'type' => 'textarea', 'label' => 'Description', - 'id3' => 'Comment' + 'id3' => array('Comment', 'Comments') ), array( 'element' => 'dc:format', @@ -173,14 +159,14 @@ $mask = array( 'type' => 'text', 'label' => 'BPM', 'rule' => 'numeric', - 'id3' => 'BPM' + 'id3' => array('BPM') ), array( 'element' => 'ls:rating', 'type' => 'text', 'label' => 'Rating', 'rule' => 'numeric', - 'id3' => 'Rating' + 'id3' => array('Rating') ), array( 'element' => 'dcterms:extent', @@ -193,46 +179,46 @@ $mask = array( 'element' => 'ls:encoded_by', 'type' => 'text', 'label' => 'Encoded by', - 'id3' => 'Encoded by' + 'id3' => array('Encoded by') ), array( 'element' => 'ls:track_num', 'type' => 'select', 'label' => 'Track number', 'options' => _getNumArr(0, 99), - 'id3' => 'Track' + 'id3' => array('Track') ), array( 'element' => 'ls:disc_num', 'type' => 'select', 'label' => 'Disc number', 'options' => _getNumArr(0, 20), - 'id3' => 'Disk' + 'id3' => array('Disk') ), array( 'element' => 'ls:mood', 'type' => 'text', 'label' => 'Mood', - 'id3' => 'Mood' + 'id3' => array('Mood') ), array( 'element' => 'dc:publisher', 'type' => 'text', 'label' => 'Label', - 'id3' => 'Label' + 'id3' => array('Label') ), array( 'element' => 'ls:composer', 'type' => 'text', 'label' => 'Composer', - 'id3' => 'Composer' + 'id3' => array('Composer') ), array( 'element' => 'ls:bitrate', 'type' => 'text', 'label' => 'Bitrate', 'rule' => 'numeric', - 'id3' => 'Bitrate' + 'id3' => array('Bitrate') ), array( 'element' => 'ls:channels', @@ -244,69 +230,69 @@ $mask = array( 2 => 'Stereo', 6 => '5.1' ), - 'id3' => 'Channels' + 'id3' => array('Channels') ), array( 'element' => 'ls:samplerate', 'type' => 'text', 'label' => 'Sample rate', 'rule' => 'numeric', - 'id3' => 'Samplerate' + 'id3' => array('Samplerate') ), array( 'element' => 'ls:encoder', 'type' => 'text', 'label' => 'Encoder software used', - 'id3' => 'Encoder' + 'id3' => array('Encoder') ), array( 'element' => 'ls:crc', 'type' => 'text', 'label' => 'Checksum', 'rule' => 'numeric', - 'id3' => 'CRC' + 'id3' => array('CRC') ), array( 'element' => 'ls:lyrics', 'type' => 'textarea', 'label' => 'Lyrics', - 'id3' => 'Lyrics' + 'id3' => array('Lyrics') ), array( 'element' => 'ls:orchestra', 'type' => 'text', 'label' => 'Orchestra or band', - 'id3' => 'Orchestra or band' + 'id3' => array('Orchestra or band') ), array( 'element' => 'ls:conductor', 'type' => 'text', 'label' => 'Conductor', - 'id3' => 'Conductor' + 'id3' => array('Conductor') ), array( 'element' => 'ls:lyricist', 'type' => 'text', 'label' => 'Lyricist', - 'id3' => 'Lyricist' + 'id3' => array('Lyricist') ), array( 'element' => 'ls:originallyricist', 'type' => 'text', 'label' => 'Original lyricist', - 'id3' => 'Original lyricist' + 'id3' => array('Original lyricist') ), array( 'element' => 'ls:radiostationname', 'type' => 'text', 'label' => 'Radio station name', - 'id3' => 'Radio station name' + 'id3' => array('Radio station name') ), array( 'element' => 'ls:audiofileinfourl', 'type' => 'text', 'label' => 'Audio file information web page', - 'id3' => 'Audio file information web page', + 'id3' => array('Audio file information web page'), 'attributes'=> array('maxlength' => 256) ), array( @@ -319,7 +305,7 @@ $mask = array( 'element' => 'ls:artisturl', 'type' => 'text', 'label' => 'Artist web page', - 'id3' => 'Artist web page', + 'id3' => array('Artist web page'), 'attributes'=> array('maxlength' => 256) ), array( @@ -332,7 +318,7 @@ $mask = array( 'element' => 'ls:audiosourceurl', 'type' => 'text', 'label' => 'Audio source web page', - 'id3' => 'Audio source web page', + 'id3' => array('Audio source web page'), 'attributes'=> array('maxlength' => 256) ), array( @@ -345,7 +331,7 @@ $mask = array( 'element' => 'ls:radiostationurl', 'type' => 'text', 'label' => 'Radio station web page', - 'id3' => 'Radio station web page', + 'id3' => array('Radio station web page'), 'attributes'=> array('maxlength' => 256) ), array( @@ -358,7 +344,7 @@ $mask = array( 'element' => 'ls:buycdurl', 'type' => 'text', 'label' => 'Buy CD web page', - 'id3' => 'Buy CD webpage', + 'id3' => array('Buy CD webpage'), 'attributes'=> array('maxlength' => 256) ), array( @@ -372,26 +358,26 @@ $mask = array( 'type' => 'text', 'label' => 'ISRC number', 'rule' => 'numeric', - 'id3' => 'ISRC' + 'id3' => array('ISRC') ), array( 'element' => 'ls:catalognumber', 'type' => 'text', 'label' => 'Catalog number', 'rule' => 'numeric', - 'id3' => 'Catalog' + 'id3' => array('Catalog') ), array( 'element' => 'ls:originalartist', 'type' => 'text', 'label' => 'Original artist', - 'id3' => 'Original Artist' + 'id3' => array('Original Artist') ), array( 'element' => 'dc:rights', ## ??? 'type' => 'text', 'label' => 'Copyright', - 'id3' => 'Copyright' + 'id3' => array('Copyright') ), ), 'Talk' => array( @@ -467,28 +453,24 @@ $mask = array( 'element' => 'dc:title', 'type' => 'text', 'label' => 'Title', - 'required' => TRUE, - 'id3' => 'Title' + 'required' => TRUE ), array( 'element' => 'dc:creator', 'type' => 'text', 'label' => 'Creator', - 'required' => TRUE, - 'id3' => 'Artist' + 'required' => TRUE ), array( 'element' => 'dcterms:extent', 'type' => 'text', 'label' => 'Length', - 'attributes'=> array('disabled' => 'on'), - 'id3' => FALSE + 'attributes'=> array('disabled' => 'on') ), array( 'element' => 'dc:description', 'type' => 'textarea', - 'label' => 'Description', - 'id3' => 'Comment' + 'label' => 'Description' ), ) ); diff --git a/livesupport/modules/htmlUI/var/html/styles_livesupport.css b/livesupport/modules/htmlUI/var/html/styles_livesupport.css index b1a82d731..044dfc40a 100755 --- a/livesupport/modules/htmlUI/var/html/styles_livesupport.css +++ b/livesupport/modules/htmlUI/var/html/styles_livesupport.css @@ -209,12 +209,12 @@ input, select { font-size: 12px; font-size: 11px; } -.whatplaying .time .left { font-size: 12px; +.whatplaying .time .left { float: left; width: 125px; } -.whatplaying .time .right { font-size: 12px; +.whatplaying .time .right { width: 125px; float: left; text-align: right; diff --git a/livesupport/modules/htmlUI/var/html/ui_browser.php b/livesupport/modules/htmlUI/var/html/ui_browser.php index 1a5caa712..89abce486 100644 --- a/livesupport/modules/htmlUI/var/html/ui_browser.php +++ b/livesupport/modules/htmlUI/var/html/ui_browser.php @@ -4,6 +4,10 @@ require_once dirname(__FILE__).'/../ui_browser_init.php'; if (is_array($_REQUEST['popup'])){ foreach ($_REQUEST['popup'] as $val) { switch ($val) { + case "jscom": + $Smarty->display('jscom.tpl'); + break; + case "_reload_parent": $Smarty->display('popup/_reload_parent.tpl'); break; diff --git a/livesupport/modules/htmlUI/var/jscom.php b/livesupport/modules/htmlUI/var/jscom.php new file mode 100755 index 000000000..a329d5d3a --- /dev/null +++ b/livesupport/modules/htmlUI/var/jscom.php @@ -0,0 +1,139 @@ +uri = $_SERVER['REQUEST_URI']; + if(!is_null($calls)) $this->addCallables($calls); + if(is_array($pars)){ + foreach($pars as $parname=>$par){ + if(!is_null($par)) $this->setPar($parname, $par); + } + } + } + function noCacheHeader () + { + header ("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); + header ("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT"); + header ("Cache-Control: no-cache, must-revalidate"); + header ("Pragma: no-cache"); + } + function handler() + { + $args = array(); + $mode = ''; + if(!empty($_GET[$this->prefix."mn"])){ $mode = 'get'; $rqst = $_GET; $this->noCacheHeader(); } + if(!empty($_POST[$this->prefix."mn"])){ $mode = 'post'; $rqst = $_POST; } + if(empty($mode)){ return; } + $methodName = $rqst[$this->prefix.'mn']; + $args = $rqst[$this->prefix.'args']; + if(in_array($methodName, $this->callables)){ + $res = call_user_func_array($methodName, $args); + }else{ + $res = "ERROR: $methodName not callable"; + } + if(is_array($res)){ + $r = array(); + foreach($res as $k=>$v){ $r[] = "'$v'"; } + $res = "[".join(', ', $r)."]"; + } + echo $res; + exit; + } + function genJsCode(){ + ob_start(); + ?> + var method = "method; ?>"; + + function createComObj() { + var co; + try{ + co = new ActiveXObject("Msxml2.XMLHTTP"); + }catch(err1){ + try{ + co = new ActiveXObject("Microsoft.XMLHTTP"); + }catch(err2) { + co = null; + } + } + if(!co && typeof XMLHttpRequest != "undefined") + co = new XMLHttpRequest(); + if(!co){ + alert("Could not create connection object."); + } + return co; + } + // callbackOrId - callback function reference for processing result or html tag id to store result + function jsCom(methodName, args, callbackOrId) { + var i, n; + var comObj; + var uri; + var post_data = null; + + uri = "uri; ?>"; + arstr = "prefix; ?>mn="+escape(methodName); + for (i = 0; i < args.length; i++){ arstr += "&prefix; ?>args[]=" + escape(args[i]); } + if(method == "GET"){ + uri += ((uri.indexOf("?") == -1) ? "?" : "&" ) + arstr; + uri += "&prefix; ?>x=" + new Date().getTime(); + }else{ post_data = arstr; } + + comObj = createComObj(); + comObj.callbackOrId = callbackOrId; + comObj.open(method, uri, true); + if (method == "POST") { + comObj.setRequestHeader("Method", "POST " + uri + " HTTP/1.1"); + comObj.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); + } + comObj.onreadystatechange = function() { + if(comObj.readyState != 4) return; + var data = comObj.responseText; + if(typeof comObj.callbackOrId == "function"){ + callbackOrId(data); + }else if(typeof comObj.callbackOrId == "object"){ + eval("res="+data); + for(i=0; icallables = array_merge($this->callables, $a); + else $this->callables[] = $a; + } + } + function setPar($parName, $value = NULL) { + switch($parName){ + case"method": + case"uri": + $this->{$parName} = $value; + break; + } + } +} +?> diff --git a/livesupport/modules/htmlUI/var/locals.en_US.xml b/livesupport/modules/htmlUI/var/locals.en_US.xml index 6b31c2052..448496041 100644 --- a/livesupport/modules/htmlUI/var/locals.en_US.xml +++ b/livesupport/modules/htmlUI/var/locals.en_US.xml @@ -1,1140 +1,1140 @@ - en_US - - Stream Data - - - - Preferences - - - - Show Info - - - - Mo - - - - Tu - - - - We - - - - Th - - - - Fr - - - - Sa - - - - Su - - - - January - - - - February - - - - March - - - - April - - - - May - - - - July - - - - August - - - - September - - - - October - - - - November - - - - December - - - - June - - - - Monday - - - - Tuesday - - - - Wednesday - - - - Thursday - - - - Friday - - - - Saturday - - - - Sunday - - - - $1 must be $2 - $1 must be $2. - - - + - - - - - - - - - Access to home directory failed. - - - - Nothing selected. - - - - Unable to activate playlist "$1" - - - - User or group "$1" already exists. - - - - created at $1 - - - - Add Group - - - - Add Members - - - - Add User - - - - Add selected - - - - Add to group - - - - Are you sure to discard all changes? - - - - Are you sure you want to change existing metadata? - - - - Back to overview - - - - Change password - - - - Close Playlist - - - - Current Members - - - - Delete - - - - Do you want to save changes? - - - - Edit - - - - Login - - - - Manage group members - - - - Members - - - - No group members - - - - Nothing left - - - - Remove from group - - - - Remove selected - - - - User/Group Management - - - - You need to have at least one non-open playlist on ScratchPad to schedule it. - - - - empty - - - - h - - - - login - - - - logout - - - - m - - - - s - - - - sign over - - - - Are you sure to remove playlist "$1"? - - - - Are you sure to delete active Playlist? - Are you sure to delete open Playlist? - - - Are you sure to logout $1? - - - - Unable to set "$1" to value "$2". - - - - $1 uses an unsupported file type. - - - - Uploaded file $1 is bigger than LiveSupports system setting. - Uploaded file $1 is bigger than LiveSupport´s system setting. - - - ScratchPad - ScratchPad - - - Access denied. - Access denied. - - - Already active Playlist - Already open playlist. - - - Audioclip Data saved - Audioclip data saved. - - - Cannot create Playlist - Cannot create an playlist. - - - Cannot delete this Playlist - Cannot delete this playlist. - - - Cannot move item - Cannot move file in playlist. - - - Cannot remove Item from Playlist - Cannot remove file from playlist. - - - Change fade information failed. - Change fade information failed. - - - Do - Do - - - Entry $1 was already on the ScratchPad. It has been moved to the top of the list. - Entry $1 was already on the ScratchPad. It has been moved to the top of the list. - - - Entry added at $1 with ScheduleId: $2 - Entry added at $1 with schedule ID $2. - - - Entry with ScheduleId $1 removed - Entry with schedule ID $1 removed. - - - Error on add item to Playlist - Error on add item to playlist. - - - Error saving Settings - Error saving System preferences. - - - Error uploading Logo - Error uploading Logo. - - - Error: $1 - Error: $1 - - - File $1 was not uploaded. - File $1 was not uploaded. - - - Folder is not empty. You can override this protection by clicking DEL again - Folder is not empty. You can override this protection by clicking DEL again. - - - Found locked Playlist. - Found locked playlist. - - - Invalid Form Data - There was some Invalid form data. - - - Login failed - Login failed. - - - Metadata saved - Metadata saved. - - - Missing value for $1 - Missing value for $1. - - - No Item(s) selected - No files selected. - - - No Playlist is locked by You. - No active playlist. - - - Note: Station Preferences not setup proberly. - Note: Station Preferences not setup properly. - - - Old password was incorrect. - Old password was incorrect. - - - Password changed. - Password changed. - - - Passwords did not match. - Passwords did not match. - - - Playlist "$1" activated - Playlist "$1" opened. - - - Playlist "$1" released - Playlist "$1" released. - - - Playlist "$1" reverted - Playlist "$1" reverted. - - - Playlist "$1" saved - Playlist "$1" saved. - - - Playlist has been locked by $1 - Playlist has been locked by $1. - - - ScratchPad length is not set in System Preferences, so it cannot be used. - ScratchPad length is not set in System Preferences, so it cannot be used. - - - Select a Value - Select a Value - - - Settings saved - Station preferences saved. - - - Stream Data changed - Stream data changed. - - - Stream Data saved - Stream data saved. - - - Subject $1 added. - Subject $1 added. - - - Target is not Folder - Target is not folder. - - - There is no playlist available to unlock. - There is no playlist available to unlock. - - - Unable to release Playlist. - Unable to release Playlist. - - - Unable to revert to locked state. - Unable to revert to locked state. - - - Upload of file $1 was incomplete. - Upload of file $1 was incomplete. - - - Uploaded file $1 is bigger than setting in php.ini. - Uploaded file $1 is bigger than setting in php.ini. - - - You have an Playlist already activated, first close it - You have already an open Playlist, first close it. - - - Access - Access - - - Activate this Playlist - Activate this Playlist - - - Add Audio - Add Audio - - - Add Criteria - Add Criteria - - - Add file(s) to ScratchPad - Add files to ScratchPad - - - Add file(s) to active Playlist - Add files to open Playlist - - - Add to ScratchPad - Add to ScratchPad - - - Add to active Playlist - Add to open Playlist - - - Album - Album - - - Artist - Artist - - - Artist web page - Artist web page - - - Audio file information web page - Audio file information web page - - - Audio source web page - Audio source web page - - - BPM - BPM - - - Bitrate - Bitrate - - - Browse - Browse - - - Buy CD web page - Buy CD web page - - - CW - WK - - - Cancel - Cancel - - - Catalog number - Catalog number - - - Category - Category - - - Change Fadein - Change Fadein - - - Change Fadeout - Change Fadeout - - - Change Transition - Change Transition - - - Channels - Channels - - - Checksum - Checksum - - - Clear - Clear - - - Clear Playlist - Clear Playlist - - - Composer - Composer - - - Conductor - Conductor - - - Contributor - Contributor - - - Data - Data - - - Date - Date - - - Day - Day - - - Delete File - Delete file - - - Delete Playlist - Delete playlist - - - Description - Description - - - Disc number - Disc number - - - Display this Playlist - Display this playlist - - - Duration - Duration - - - Edit File - Edit file - - - Edit Playlist - Edit playlist - - - Edit Metadata - Edit metadata - - - Encoded by - Encoded by - - - Encoder software used - Encoder software used - - - Fade - Fade - - - File - File - - - File List - File List - - - File Management - File management - - - File Type - File type - - - File format - File format - - - File type - File type - - - Folder Structure - Folder structure - - - Format - Format - - - Frequency - Frequency - - - Genre - Genre - - - Go - Go - - - Group Name - Group name - - - Help - Help - - - ISRC number - SRC number - - - Insert Playlist here - Insert playlist here - - - Insert Playlist after previous - - - - Item - Item - - - Label - Label - - - Language - Language - - - Length - Length - - - Length<br><small>Enter zero for Live Stream</small> - Length<br><small>Enter zero for Live Stream</small> - - - Library Search - Library search - - - List Folder - List folder - - - Listen to File - Listen to file - - - Local Time - Local time - - - Lyricist - Lyricist - - - Lyrics - Lyrics - - - MDataXML - MDataXML - - - Main - Main - - - Maximum length of ScratchPad - Maximum length of ScratchPad - - - Media File - Media file - - - Metadata - Metadata - - - Month - Month - - - Monthly View - Monthly view - - - Mood - Mood - - - Move - Move - - - Multiple Action: - Multiple action: - - - Music - Music - - - Name - Name - - - New - New - - - New Password - New password - - - New Playlist using this File - New playlist using file - - - New Playlist using this file(s) - New playlist using files - - - New empty Playlist - New Playlist - - - No Entry - No entry - - - No match found. - No match found. - - - No objects - No objects. - - - Old Password - Old Password - - - Open last Playlist - Open last playlist - - - Operator - Operator - - - Orchestra or band - Orchestra or band - - - Original artist - Original artist - - - Original lyricist - Original lyricist - - - Page - Page - - - Password - Password - - - Playlist - Playlist - - - Playlists - Playlists - - - Playlist Metadata - Playlist metadata - - - Radio station name - Radio station name - - - Radio station web page - Radio station web page - - - Range - Range - - - Rating - Rating - - - RawAnalyze - RawAnalyze - - - Remove File from Playlist - Remove file from playlist - - - Remove Playlist - Remove playlist - - - Remove Selected - Remove selected - - - Remove file(s) - Remove files - - - Remove from Scratchpad - Remove from Scratchpad - - - Repeat Password - Repeat password - - - Report date/time - Report date/time - - - Report location - Report location - - - Report organizations - Report organizations - - - Reset - Reset - - - Reset Criteria - - - - Retype Password - Retype password - - - Revert to Saved - Revert to saved - - - Rows per Page - Rows per page - - - Sample rate - Sample rate - - - Save Playlist - Save playlist - - - Save and Close - Save and close - - - Scheduler - Scheduler - - - Scheduler Navigation - Scheduler navigation - - - Search - Search - - - Search Library - Search library - - - Signed in - Signed in - - - Station Logo - Station logo - - - Station Name - Station name - - - Station Settings - Station settings - - - Station Time - Station time - - - Station URL - Station URL - - - Stream - Stream - - - Stream URL - Stream URL - - - Subject - Subject - - - Submit - Submit - - - System Settings - System settings - - - Talk - Talk - - - Time - Time - - - Title - Title - - - Today - Today - - - Track number - Track number - - - Tree view - Tree view - - - Type - Type - - - User Password - User password - - - User/Groups - User/Groups - - - Username - Username - - - Week - Week - - - Weekly View - Weekly view - - - Year - Year - - - calendar week - calendar week - - - copy - copy - - - go up - go up - - - move - move - - - move down - move down - - - move up - move up - - - new&nbsp;folder - new folder - - - next - next - - - previous - previous - - \ No newline at end of file + en_US + + Stream Data + + + + Preferences + + + + Show Info + + + + Mo + + + + Tu + + + + We + + + + Th + + + + Fr + + + + Sa + + + + Su + + + + January + + + + February + + + + March + + + + April + + + + May + + + + July + + + + August + + + + September + + + + October + + + + November + + + + December + + + + June + + + + Monday + + + + Tuesday + + + + Wednesday + + + + Thursday + + + + Friday + + + + Saturday + + + + Sunday + + + + $1 must be $2 + $1 must be $2. + + + + + + + + - + + + + Access to home directory failed. + + + + Nothing selected. + + + + Unable to activate playlist "$1" + + + + User or group "$1" already exists. + + + + created at $1 + + + + Add Group + + + + Add Members + + + + Add User + + + + Add selected + + + + Add to group + + + + Are you sure to discard all changes? + + + + Are you sure you want to change existing metadata? + + + + Back to overview + + + + Change password + + + + Close Playlist + + + + Current Members + + + + Delete + + + + Do you want to save changes? + + + + Edit + + + + Login + + + + Manage group members + + + + Members + + + + No group members + + + + Nothing left + + + + Remove from group + + + + Remove selected + + + + User/Group Management + + + + You need to have at least one non-open playlist on ScratchPad to schedule it. + + + + empty + + + + h + + + + login + + + + logout + + + + m + + + + s + + + + sign over + + + + Are you sure to remove playlist "$1"? + + + + Are you sure to delete active Playlist? + Are you sure to delete open Playlist? + + + Are you sure to logout $1? + + + + Unable to set "$1" to value "$2". + + + + $1 uses an unsupported file type. + + + + Uploaded file $1 is bigger than LiveSupports system setting. + Uploaded file $1 is bigger than LiveSupport´s system setting. + + + ScratchPad + ScratchPad + + + Access denied. + Access denied. + + + Already active Playlist + Already open playlist. + + + Audioclip Data saved + Audioclip data saved. + + + Cannot create Playlist + Cannot create an playlist. + + + Cannot delete this Playlist + Cannot delete this playlist. + + + Cannot move item + Cannot move file in playlist. + + + Cannot remove Item from Playlist + Cannot remove file from playlist. + + + Change fade information failed. + Change fade information failed. + + + Do + Do + + + Entry $1 was already on the ScratchPad. It has been moved to the top of the list. + Entry $1 was already on the ScratchPad. It has been moved to the top of the list. + + + Entry added at $1 with ScheduleId: $2 + Entry added at $1 with schedule ID $2. + + + Entry with ScheduleId $1 removed + Entry with schedule ID $1 removed. + + + Error on add item to Playlist + Error on add item to playlist. + + + Error saving Settings + Error saving System preferences. + + + Error uploading Logo + Error uploading Logo. + + + Error: $1 + Error: $1 + + + File $1 was not uploaded. + File $1 was not uploaded. + + + Folder is not empty. You can override this protection by clicking DEL again + Folder is not empty. You can override this protection by clicking DEL again. + + + Found locked Playlist. + Found locked playlist. + + + Invalid Form Data + There was some Invalid form data. + + + Login failed + Login failed. + + + Metadata saved + Metadata saved. + + + Missing value for $1 + Missing value for $1. + + + No Item(s) selected + No files selected. + + + No Playlist is locked by You. + No active playlist. + + + Note: Station Preferences not setup proberly. + Note: Station Preferences not setup properly. + + + Old password was incorrect. + Old password was incorrect. + + + Password changed. + Password changed. + + + Passwords did not match. + Passwords did not match. + + + Playlist "$1" activated + Playlist "$1" opened. + + + Playlist "$1" released + Playlist "$1" released. + + + Playlist "$1" reverted + Playlist "$1" reverted. + + + Playlist "$1" saved + Playlist "$1" saved. + + + Playlist has been locked by $1 + Playlist has been locked by $1. + + + ScratchPad length is not set in System Preferences, so it cannot be used. + ScratchPad length is not set in System Preferences, so it cannot be used. + + + Select a Value + Select a Value + + + Settings saved + Station preferences saved. + + + Stream Data changed + Stream data changed. + + + Stream Data saved + Stream data saved. + + + Subject $1 added. + Subject $1 added. + + + Target is not Folder + Target is not folder. + + + There is no playlist available to unlock. + There is no playlist available to unlock. + + + Unable to release Playlist. + Unable to release Playlist. + + + Unable to revert to locked state. + Unable to revert to locked state. + + + Upload of file $1 was incomplete. + Upload of file $1 was incomplete. + + + Uploaded file $1 is bigger than setting in php.ini. + Uploaded file $1 is bigger than setting in php.ini. + + + You have an Playlist already activated, first close it + You have already an open Playlist, first close it. + + + Access + Access + + + Activate this Playlist + Activate this Playlist + + + Add Audio + Add Audio + + + Add Criteria + Add Criteria + + + Add file(s) to ScratchPad + Add files to ScratchPad + + + Add file(s) to active Playlist + Add files to open Playlist + + + Add to ScratchPad + Add to ScratchPad + + + Add to active Playlist + Add to open Playlist + + + Album + Album + + + Artist + Artist + + + Artist web page + Artist web page + + + Audio file information web page + Audio file information web page + + + Audio source web page + Audio source web page + + + BPM + BPM + + + Bitrate + Bitrate + + + Browse + Browse + + + Buy CD web page + Buy CD web page + + + CW + WK + + + Cancel + Cancel + + + Catalog number + Catalog number + + + Category + Category + + + Change Fadein + Change Fadein + + + Change Fadeout + Change Fadeout + + + Change Transition + Change Transition + + + Channels + Channels + + + Checksum + Checksum + + + Clear + Clear + + + Clear Playlist + Clear Playlist + + + Composer + Composer + + + Conductor + Conductor + + + Contributor + Contributor + + + Data + Data + + + Date + Date + + + Day + Day + + + Delete File + Delete file + + + Delete Playlist + Delete playlist + + + Description + Description + + + Disc number + Disc number + + + Display this Playlist + Display this playlist + + + Duration + Duration + + + Edit File + Edit file + + + Edit Playlist + Edit playlist + + + Edit Metadata + Edit metadata + + + Encoded by + Encoded by + + + Encoder software used + Encoder software used + + + Fade + Fade + + + File + File + + + File List + File List + + + File Management + File management + + + File Type + File type + + + File format + File format + + + File type + File type + + + Folder Structure + Folder structure + + + Format + Format + + + Frequency + Frequency + + + Genre + Genre + + + Go + Go + + + Group Name + Group name + + + Help + Help + + + ISRC number + SRC number + + + Insert Playlist here + Insert playlist here + + + Insert Playlist after previous + + + + Item + Item + + + Label + Label + + + Language + Language + + + Length + Length + + + Length<br><small>Enter zero for Live Stream</small> + Length<br><small>Enter zero for Live Stream</small> + + + Library Search + Library search + + + List Folder + List folder + + + Listen to File + Listen to file + + + Local Time + Local time + + + Lyricist + Lyricist + + + Lyrics + Lyrics + + + MDataXML + MDataXML + + + Main + Main + + + Maximum length of ScratchPad + Maximum length of ScratchPad + + + Media File + Media file + + + Metadata + Metadata + + + Month + Month + + + Monthly View + Monthly view + + + Mood + Mood + + + Move + Move + + + Multiple Action: + Multiple action: + + + Music + Music + + + Name + Name + + + New + New + + + New Password + New password + + + New Playlist using this File + New playlist using file + + + New Playlist using this file(s) + New playlist using files + + + New empty Playlist + New Playlist + + + No Entry + No entry + + + No match found. + No match found. + + + No objects + No objects. + + + Old Password + Old Password + + + Open last Playlist + Open last playlist + + + Operator + Operator + + + Orchestra or band + Orchestra or band + + + Original artist + Original artist + + + Original lyricist + Original lyricist + + + Page + Page + + + Password + Password + + + Playlist + Playlist + + + Playlists + Playlists + + + Playlist Metadata + Playlist metadata + + + Radio station name + Radio station name + + + Radio station web page + Radio station web page + + + Range + Range + + + Rating + Rating + + + RawAnalyze + RawAnalyze + + + Remove File from Playlist + Remove file from playlist + + + Remove Playlist + Remove playlist + + + Remove Selected + Remove selected + + + Remove file(s) + Remove files + + + Remove from Scratchpad + Remove from Scratchpad + + + Repeat Password + Repeat password + + + Report date/time + Report date/time + + + Report location + Report location + + + Report organizations + Report organizations + + + Reset + Reset + + + Reset Criteria + + + + Retype Password + Retype password + + + Revert to Saved + Revert to saved + + + Rows per Page + Rows per page + + + Sample rate + Sample rate + + + Save Playlist + Save playlist + + + Save and Close + Save and close + + + Scheduler + Scheduler + + + Scheduler Navigation + Scheduler navigation + + + Search + Search + + + Search Library + Search library + + + Signed in + Signed in + + + Station Logo + Station logo + + + Station Name + Station name + + + Station Settings + Station settings + + + Station Time + Station time + + + Station URL + Station URL + + + Stream + Stream + + + Stream URL + Stream URL + + + Subject + Subject + + + Submit + Submit + + + System Settings + System settings + + + Talk + Talk + + + Time + Time + + + Title + Title + + + Today + Today + + + Track number + Track number + + + Tree view + Tree view + + + Type + Type + + + User Password + User password + + + User/Groups + User/Groups + + + Username + Username + + + Week + Week + + + Weekly View + Weekly view + + + Year + Year + + + calendar week + calendar week + + + copy + copy + + + go up + go up + + + move + move + + + move down + move down + + + move up + move up + + + new&nbsp;folder + new folder + + + next + next + + + previous + previous + + diff --git a/livesupport/modules/htmlUI/var/locals.sr_CS.xml b/livesupport/modules/htmlUI/var/locals.sr_CS.xml index 1a5486f98..e2a28d4f7 100755 --- a/livesupport/modules/htmlUI/var/locals.sr_CS.xml +++ b/livesupport/modules/htmlUI/var/locals.sr_CS.xml @@ -1,1141 +1,1140 @@ - - - - sr_CS - - Stream Data - - - - Preferences - - - - Show Info - - - - Mo - Po - - - Tu - Ut - - - We - Sr - - - Th - Če - - - Fr - Pe - - - Sa - Su - - - Su - Ne - - - January - Januar - - - February - Februar - - - March - Mart - - - April - April - - - May - Maj - - - July - Jul - - - August - Avgust - - - September - Septembar - - - October - Oktobar - - - November - Novembar - - - December - Decembar - - - June - Jun - - - Monday - Ponedeljak - - - Tuesday - Utorak - - - Wednesday - Sreda - - - Thursday - Četvrtak - - - Friday - Petak - - - Saturday - Subota - - - Sunday - Nedelja - - - $1 must be $2 - $1 mora biti $2. - - - + - + - - - - - - - - - Access to home directory failed. - Pristup početnom direktorijumu nije moguć. - - - Nothing selected. - Ništa nije odabrano. - - - Unable to activate playlist "$1" - Nije moguće aktivirati plej listu "$1". - - - User or group "$1" already exists. - Korisnik ili grupa "$1" već postoji. - - - created at $1 - kreiran u $1 - - - Add Group - Dodaj Grupu - - - Add Members - Dodaj Članove - - - Add User - Dodaj Korisnika - - - Add selected - Dodaj odabrano - - - Add to group - Dodaj u grupu - - - Are you sure to discard all changes? - Da li ste sigurni da želite da odbacite sve promene? - - - Are you sure you want to change existing metadata? - Da li ste sigurni da želite da promenite postojeću metadatu? - - - Back to overview - Povratak na pregled - - - Change password - Promeni lozinku - - - Close Playlist - Zatvori Plej listu - - - Current Members - Trenutni Članovi - - - Delete - Obriši - - - Do you want to save changes? - Da li želite da sačuvate promene? - - - Edit - Obrada - - - Login - Prijava - - - Manage group members - Uredi članove grupe - - - Members - Članovi - - - No group members - Grupa nema članove - - - Nothing left - Ništa nije ostalo - - - Remove from group - Ukloni iz grupe - - - Remove selected - Ukloni odabrano - - - User/Group Management - Upravljanje grupama/korisnicima - - - You need to have at least one non-open playlist on ScratchPad to schedule it. - Treba da imate najmanje jednu neotvorenu plej listu u Pripremi da biste je stavili u raspored. - - - empty - prazno - - - h - č - - - login - prijava - - - logout - odjava - - - m - m - - - s - s - - - sign over - prepiši - - - Are you sure to remove playlist "$1"? - Da li ste sigurni da želite da uklonite plej listu "$1"? - - - Are you sure to delete active Playlist? - Da li ste sigurni da želite da obrišete otvorenu plej listu? - - - Are you sure to logout $1? - Da li ste sigurni da želite da odjavite $1? - - - Unable to set "$1" to value "$2". - Ne možete podesiti "$1" na vrednost "$2". - - - $1 uses an unsupported file type. - $1 koristi nepodržan tip fajla. - - - Uploaded file $1 is bigger than LiveSupports system setting. - Aploudovan fajl $1 je veći nego što LiveSupport sistem podržava. - - - ScratchPad - Priprema - - - Access denied. - Pristup zabranjen. - - - Already active Playlist - Plej lista je već aktivna. - - - Audioclip Data saved - Podaci o audio klipu su sačuvani. - - - Cannot create Playlist - Ne možete da kreirate plej listu - - - Cannot delete this Playlist - Ne možete da obrišete plej listu. - - - Cannot move item - Ne možete da pomerite fajl u plej listi. - - - Cannot remove Item from Playlist - Ne možete da uklonite fajl iz plej liste. - - - Change fade information failed. - Greška u Mix Fade vrednostima. - - - Do - Izvrši - - - Entry $1 was already on the ScratchPad. It has been moved to the top of the list. - Unos $1 se već nalazi u Pripremi i pomeren je na vrh liste. - - - Entry added at $1 with ScheduleId: $2 - Podatak je unet u $1 sa programiranim ID $2. - - - Entry with ScheduleId $1 removed - Unos sa programiranim ID $1 je uklonjen. - - - Error on add item to Playlist - Greška pri dodavanju u plej listu. - - - Error saving Settings - Greška pri snimanju sistemskih podešavanja. - - - Error uploading Logo - Greška pri aploudu Logoa. - - - Error: $1 - Greška: $1 - - - File $1 was not uploaded. - Fajl $1 nije aploudovan. - - - Folder is not empty. You can override this protection by clicking DEL again - Folder nije prazan. Možete izbeći ovu zaštitu tako što ćete ponovo kliknuti na DEL. - - - Found locked Playlist. - Pronađena je zaključana plej lista. - - - Invalid Form Data - Postoji greška u formi podatka. - - - Login failed - Pogrešna prijava. - - - Metadata saved - Metadata sačuvana. - - - Missing value for $1 - Nedostaje vrednost za $1. - - - No Item(s) selected - Ni jedan fajl nije odabran. - - - No Playlist is locked by You. - Nema aktivne plej liste. - - - Note: Station Preferences not setup proberly. - Obaveštenje: Podešavanja stanice nisu pravilno postavljena. - - - Old password was incorrect. - Stara lozinka je nevažeća. - - - Password changed. - Lozinka je promenjena. - - - Passwords did not match. - Lozinka nije odgovarajuća. - - - Playlist "$1" activated - Plej lista "$1" je otvorena. - - - Playlist "$1" released - Plej lista "$1" je puštena. - - - Playlist "$1" reverted - Plej lista "$1" je vraćena. - - - Playlist "$1" saved - Plej lista "$1" je sačuvana. - - - Playlist has been locked by $1 - Plej lista je zaključana od $1. - - - ScratchPad length is not set in System Preferences, so it cannot be used. - Dužina pripremne tabele nije podešena u sistemu, pa ne može biti upotrebljena. - - - Select a Value - Izaberi vrednost - - - Settings saved - Podešavanja stanice su sačuvana. - - - Stream Data changed - Podaci o strimu su promenjeni. - - - Stream Data saved - Podaci o strimu su sačuvani. - - - Subject $1 added. - Subjekt $1 je dodat. - - - Target is not Folder - Traženo nije folder. - - - There is no playlist available to unlock. - Nema ni jedne plej lista koja se može otključati. - - - Unable to release Playlist. - Ne možete da pustite Plej listu. - - - Unable to revert to locked state. - Ne možete da se vratite na zaključano stanje. - - - Upload of file $1 was incomplete. - Aploud fajla $1 nije kompletan. - - - Uploaded file $1 is bigger than setting in php.ini. - Aploudovan fajl $1 je veći od podešenog u php.ini. - - - You have an Playlist already activated, first close it - Plej lista je već otvorena, najpre je zatvorite. - - - Access - Pristup - - - Activate this Playlist - Aktiviraj plej listu - - - Add Audio - Dodaj audio - - - Add Criteria - Dodaj kriterijum - - - Add file(s) to ScratchPad - Prebaci fajl u Pripremu - - - Add file(s) to active Playlist - Prebaci fajl u aktivnu plej listu - - - Add to ScratchPad - Dodaj u Pripremu - - - Add to active Playlist - Dodaj na aktivnu plej listu - - - Album - Album - - - Artist - Izvođač - - - Artist web page - Web strana izvodjača - - - Audio file information web page - Web info strana audio fajlu - - - Audio source web page - Web strana audio izvora - - - BPM - BPM - - - Bitrate - Bitrejt - - - Browse - Pregledaj - - - Buy CD web page - Kupi CD preko web strane - - - CW - KN - - - Cancel - Otkaži - - - Catalog number - Kataloški broj - - - Category - Kategorija - - - Change Fadein - Promeni ulazni miks - - - Change Fadeout - Promeni izlazni miks - - - Change Transition - Promeni pretapanje - - - Channels - Kanali - - - Checksum - Kompletna kontrola - - - Clear - Očisti - - - Clear Playlist - Očisti plej listu - - - Composer - Kompozitor - - - Conductor - Dirigent - - - Contributor - Saradnik - - - Copyright - Autorska prava - - - Date - Datum - - - Day - Dan - - - Delete File - Obriši fajl - - - Delete Playlist - Obriši plejlistu - - - Description - Opis - - - Disc number - Broj diska - - - Display this Playlist - Prikaži plej listu - - - Duration - Trajanje - - - Edit File - Obradi fajl - - - Edit Playlist - Obradi plej listu - - - Edit Metadata - Promeni metadatu - - - Encoded by - Enkodirao - - - Encoder software used - Upotrebljen enkoder - - - Fade - Miks - - - File - Fajl - - - File List - Lista fajlova - - - File Management - Administracija fajlova - - - File Type - Tip fajla - - - File format - Format fajla - - - File type - Tip fajla - - - Folder Structure - Struktura foldera - - - Format - Format - - - Frequency - Frekvencija - - - Genre - Žanr - - - Go - Kreni - - - Group Name - Ime grupe - - - Help - Pomoć - - - ISRC number - SRC broj - - - Insert Playlist here - <Ovde unesi plej listu> - - - Insert Playlist after previous - Unesi plej listu nakon prethodne - - - Item - Stavka - - - Label - Diskografska kuća - - - Language - Jezik - - - Length - Dužina - - - Length<br><small>Enter zero for Live Stream</small> - Dužina (upiši nulu za Live Strim) - - - Library Search - Pretraga audioteke - - - List Folder - Izlistaj folder - - - Listen to File - Preslušaj fajl - - - Local Time - Lokalno vreme - - - Lyricist - Tekstopisac - - - Lyrics - Tekst pesme - - - MDataXML - MDataXML - - - Main - Glavno - - - Maximum length of ScratchPad - Maksimalna dužina pripremne liste - - - Media File - Media fajl - - - Media Library - Audioteka - - - Month - Mesec - - - Monthly View - Mesečni pregled - - - Mood - Raspoloženje - - - Move - Premesti - - - Multiple Action: - Višestruka operacija: - - - Music - Muzika - - - Name - Ime - - - New - Novo - - - New Password - Nova lozinka - - - New Playlist using this File - Nova plej lista koristeći fajl - - - New Playlist using this file(s) - Nova plej lista koristeći fajlove - - - New empty Playlist - Napravi novu praznu plej listu - - - No Entry - Nema unosa - - - No match found. - Nije pronađeno. - - - No objects - Nema tih objekata - - - Old Password - Stara lozinka - - - Open last Playlist - Otvori poslednju plej listu - - - Operator - Operator - - - Orchestra or band - Orkestar ili grupa - - - Original artist - Originalni izvođač - - - Original lyricist - Originalni tekstopisac - - - Page - Stranica - - - Password - Lozinka - - - Playlist - Plej lista - - - Playlists - Obrada plej liste - - - Playlist Metadata - Metadata plej liste - - - Radio station name - Ime radio stanice - - - Radio station web page - Web strana radio stanice - - - Range - Opseg - - - Rating - Ocena - - - RawAnalyze - Prosta analiza - - - Remove File from Playlist - Ukloni fajl iz plej liste - - - Remove Playlist - Ukloni plej listu - - - Remove Selected - Ukloni odabrano - - - Remove file(s) - Ukloni fajlove - - - Remove from Scratchpad - Ukloni iz Pripreme - - - Repeat Password - Ponovi lozinku - - - Report date/time - Napiši datum/vreme - - - Report location - Napiši lokaciju - - - Report organizations - Napiši organizaciju - - - Reset - Poništi - - - Reset Criteria - Poništi kriterijume - - - Retype Password - Ponovo upišite lozinku - - - Revert to Saved - Vrati na snimljenu verziju - - - Rows per Page - Redova po strani - - - Sample rate - Brzina uzorkovanja - - - Save Playlist - Snimi plej listu - - - Save and Close - Snimi i zatvori - - - Scheduler - Raspored - - - Scheduler Navigation - Navigacija rasporeda - - - Search - Pretraži - - - Search Library - Pretraži audioteku - - - Signed in - Prijavljen - - - Station Logo - Logo stanice - - - Station Name - Ime stanice - - - Station Settings - Podešavanje stanice - - - Station Time - Vreme u stanici - - - Station URL - URL Stanice - - - Stream - Strim - - - Stream URL - URL strima - - - Subject - Sadržaj - - - Submit - Pridruži - - - System Settings - Sistemska podešavanja - - - Talk - Govor - - - Time - Vreme - - - Title - Naslov - - - Today - Danas - - - Track number - Redni broj snimka - - - Tree view - Direktorijumsko stablo - - - Type - Tip - - - User Password - Korisnička lozinka - - - User/Groups - Korisnik/Grupe - - - Username - Korisničko ime - - - Week - Nedelja - - - Weekly View - Nedeljni pregled - - - Year - Godina - - - calendar week - kalendarska nedelja - - - copy - iskopiraj - - - go up - idi gore - - - move - pomeri - - - move down - pomeri dole - - - move up - pomeri gore - - - new&nbsp;folder - novi folder - - - next - sledeće - - - permissions - dopuštene radnje - + + + sr_CS + + Stream Data + + + + Preferences + + + + Show Info + + + + Mo + Po + + + Tu + Ut + + + We + Sr + + + Th + Če + + + Fr + Pe + + + Sa + Su + + + Su + Ne + + + January + Januar + + + February + Februar + + + March + Mart + + + April + April + + + May + Maj + + + July + Jul + + + August + Avgust + + + September + Septembar + + + October + Oktobar + + + November + Novembar + + + December + Decembar + + + June + Jun + + + Monday + Ponedeljak + + + Tuesday + Utorak + + + Wednesday + Sreda + + + Thursday + Četvrtak + + + Friday + Petak + + + Saturday + Subota + + + Sunday + Nedelja + + + $1 must be $2 + $1 mora biti $2. + + + + + + + + + - + - + + + Access to home directory failed. + Pristup početnom direktorijumu nije moguć. + + + Nothing selected. + Ništa nije odabrano. + + + Unable to activate playlist "$1" + Nije moguće aktivirati plej listu "$1". + + + User or group "$1" already exists. + Korisnik ili grupa "$1" već postoji. + + + created at $1 + kreiran u $1 + + + Add Group + Dodaj Grupu + + + Add Members + Dodaj Članove + + + Add User + Dodaj Korisnika + + + Add selected + Dodaj odabrano + + + Add to group + Dodaj u grupu + + + Are you sure to discard all changes? + Da li ste sigurni da želite da odbacite sve promene? + + + Are you sure you want to change existing metadata? + Da li ste sigurni da želite da promenite postojeću metadatu? + + + Back to overview + Povratak na pregled + + + Change password + Promeni lozinku + + + Close Playlist + Zatvori Plej listu + + + Current Members + Trenutni Članovi + + + Delete + Obriši + + + Do you want to save changes? + Da li želite da sačuvate promene? + + + Edit + Obrada + + + Login + Prijava + + + Manage group members + Uredi članove grupe + + + Members + Članovi + + + No group members + Grupa nema članove + + + Nothing left + Ništa nije ostalo + + + Remove from group + Ukloni iz grupe + + + Remove selected + Ukloni odabrano + + + User/Group Management + Upravljanje grupama/korisnicima + + + You need to have at least one non-open playlist on ScratchPad to schedule it. + Treba da imate najmanje jednu neotvorenu plej listu u Pripremi da biste je stavili u raspored. + + + empty + prazno + + + h + č + + + login + prijava + + + logout + odjava + + + m + m + + + s + s + + + sign over + prepiši + + + Are you sure to remove playlist "$1"? + Da li ste sigurni da želite da uklonite plej listu "$1"? + + + Are you sure to delete active Playlist? + Da li ste sigurni da želite da obrišete otvorenu plej listu? + + + Are you sure to logout $1? + Da li ste sigurni da želite da odjavite $1? + + + Unable to set "$1" to value "$2". + Ne možete podesiti "$1" na vrednost "$2". + + + $1 uses an unsupported file type. + $1 koristi nepodržan tip fajla. + + + Uploaded file $1 is bigger than LiveSupports system setting. + Aploudovan fajl $1 je veći nego što LiveSupport sistem podržava. + + + ScratchPad + Priprema + + + Access denied. + Pristup zabranjen. + + + Already active Playlist + Plej lista je već aktivna. + + + Audioclip Data saved + Podaci o audio klipu su sačuvani. + + + Cannot create Playlist + Ne možete da kreirate plej listu + + + Cannot delete this Playlist + Ne možete da obrišete plej listu. + + + Cannot move item + Ne možete da pomerite fajl u plej listi. + + + Cannot remove Item from Playlist + Ne možete da uklonite fajl iz plej liste. + + + Change fade information failed. + Greška u Mix Fade vrednostima. + + + Do + Izvrši + + + Entry $1 was already on the ScratchPad. It has been moved to the top of the list. + Unos $1 se već nalazi u Pripremi i pomeren je na vrh liste. + + + Entry added at $1 with ScheduleId: $2 + Podatak je unet u $1 sa programiranim ID $2. + + + Entry with ScheduleId $1 removed + Unos sa programiranim ID $1 je uklonjen. + + + Error on add item to Playlist + Greška pri dodavanju u plej listu. + + + Error saving Settings + Greška pri snimanju sistemskih podešavanja. + + + Error uploading Logo + Greška pri aploudu Logoa. + + + Error: $1 + Greška: $1 + + + File $1 was not uploaded. + Fajl $1 nije aploudovan. + + + Folder is not empty. You can override this protection by clicking DEL again + Folder nije prazan. Možete izbeći ovu zaštitu tako što ćete ponovo kliknuti na DEL. + + + Found locked Playlist. + Pronađena je zaključana plej lista. + + + Invalid Form Data + Postoji greška u formi podatka. + + + Login failed + Pogrešna prijava. + + + Metadata saved + Metadata sačuvana. + + + Missing value for $1 + Nedostaje vrednost za $1. + + + No Item(s) selected + Ni jedan fajl nije odabran. + + + No Playlist is locked by You. + Nema aktivne plej liste. + + + Note: Station Preferences not setup proberly. + Obaveštenje: Podešavanja stanice nisu pravilno postavljena. + + + Old password was incorrect. + Stara lozinka je nevažeća. + + + Password changed. + Lozinka je promenjena. + + + Passwords did not match. + Lozinka nije odgovarajuća. + + + Playlist "$1" activated + Plej lista "$1" je otvorena. + + + Playlist "$1" released + Plej lista "$1" je puštena. + + + Playlist "$1" reverted + Plej lista "$1" je vraćena. + + + Playlist "$1" saved + Plej lista "$1" je sačuvana. + + + Playlist has been locked by $1 + Plej lista je zaključana od $1. + + + ScratchPad length is not set in System Preferences, so it cannot be used. + Dužina pripremne tabele nije podešena u sistemu, pa ne može biti upotrebljena. + + + Select a Value + Izaberi vrednost + + + Settings saved + Podešavanja stanice su sačuvana. + + + Stream Data changed + Podaci o strimu su promenjeni. + + + Stream Data saved + Podaci o strimu su sačuvani. + + + Subject $1 added. + Subjekt $1 je dodat. + + + Target is not Folder + Traženo nije folder. + + + There is no playlist available to unlock. + Nema ni jedne plej lista koja se može otključati. + + + Unable to release Playlist. + Ne možete da pustite Plej listu. + + + Unable to revert to locked state. + Ne možete da se vratite na zaključano stanje. + + + Upload of file $1 was incomplete. + Aploud fajla $1 nije kompletan. + + + Uploaded file $1 is bigger than setting in php.ini. + Aploudovan fajl $1 je veći od podešenog u php.ini. + + + You have an Playlist already activated, first close it + Plej lista je već otvorena, najpre je zatvorite. + + + Access + Pristup + + + Activate this Playlist + Aktiviraj plej listu + + + Add Audio + Dodaj audio + + + Add Criteria + Dodaj kriterijum + + + Add file(s) to ScratchPad + Prebaci fajl u Pripremu + + + Add file(s) to active Playlist + Prebaci fajl u aktivnu plej listu + + + Add to ScratchPad + Dodaj u Pripremu + + + Add to active Playlist + Dodaj na aktivnu plej listu + + + Album + Album + + + Artist + Izvođač + + + Artist web page + Web strana izvodjača + + + Audio file information web page + Web info strana audio fajlu + + + Audio source web page + Web strana audio izvora + + + BPM + BPM + + + Bitrate + Bitrejt + + + Browse + Pregledaj + + + Buy CD web page + Kupi CD preko web strane + + + CW + KN + + + Cancel + Otkaži + + + Catalog number + Kataloški broj + + + Category + Kategorija + + + Change Fadein + Promeni ulazni miks + + + Change Fadeout + Promeni izlazni miks + + + Change Transition + Promeni pretapanje + + + Channels + Kanali + + + Checksum + Kompletna kontrola + + + Clear + Očisti + + + Clear Playlist + Očisti plej listu + + + Composer + Kompozitor + + + Conductor + Dirigent + + + Contributor + Saradnik + + + Data + + + + Date + Datum + + + Day + Dan + + + Delete File + Obriši fajl + + + Delete Playlist + Obriši plejlistu + + + Description + Opis + + + Disc number + Broj diska + + + Display this Playlist + Prikaži plej listu + + + Duration + Trajanje + + + Edit File + Obradi fajl + + + Edit Playlist + Obradi plej listu + + + Edit Metadata + Promeni metadatu + + + Encoded by + Enkodirao + + + Encoder software used + Upotrebljen enkoder + + + Fade + Miks + + + File + Fajl + + + File List + Lista fajlova + + + File Management + Administracija fajlova + + + File Type + Tip fajla + + + File format + Format fajla + + + File type + Tip fajla + + + Folder Structure + Struktura foldera + + + Format + Format + + + Frequency + Frekvencija + + + Genre + Žanr + + + Go + Kreni + + + Group Name + Ime grupe + + + Help + Pomoć + + + ISRC number + SRC broj + + + Insert Playlist here + <Ovde unesi plej listu> + + + Insert Playlist after previous + Unesi plej listu nakon prethodne + + + Item + Stavka + + + Label + Diskografska kuća + + + Language + Jezik + + + Length + Dužina + + + Length<br><small>Enter zero for Live Stream</small> + Dužina (upiši nulu za Live Strim) + + + Library Search + Pretraga audioteke + + + List Folder + Izlistaj folder + + + Listen to File + Preslušaj fajl + + + Local Time + Lokalno vreme + + + Lyricist + Tekstopisac + + + Lyrics + Tekst pesme + + + MDataXML + MDataXML + + + Main + Glavno + + + Maximum length of ScratchPad + Maksimalna dužina pripremne liste + + + Media File + Media fajl + + + Metadata + + + + Month + Mesec + + + Monthly View + Mesečni pregled + + + Mood + Raspoloženje + + + Move + Premesti + + + Multiple Action: + Višestruka operacija: + + + Music + Muzika + + + Name + Ime + + + New + Novo + + + New Password + Nova lozinka + + + New Playlist using this File + Nova plej lista koristeći fajl + + + New Playlist using this file(s) + Nova plej lista koristeći fajlove + + + New empty Playlist + Napravi novu praznu plej listu + + + No Entry + Nema unosa + + + No match found. + Nije pronađeno. + + + No objects + Nema tih objekata + + + Old Password + Stara lozinka + + + Open last Playlist + Otvori poslednju plej listu + + + Operator + Operator + + + Orchestra or band + Orkestar ili grupa + + + Original artist + Originalni izvođač + + + Original lyricist + Originalni tekstopisac + + + Page + Stranica + + + Password + Lozinka + + + Playlist + Plej lista + + + Playlists + Obrada plej liste + + + Playlist Metadata + Metadata plej liste + + + Radio station name + Ime radio stanice + + + Radio station web page + Web strana radio stanice + + + Range + Opseg + + + Rating + Ocena + + + RawAnalyze + Prosta analiza + + + Remove File from Playlist + Ukloni fajl iz plej liste + + + Remove Playlist + Ukloni plej listu + + + Remove Selected + Ukloni odabrano + + + Remove file(s) + Ukloni fajlove + + + Remove from Scratchpad + Ukloni iz Pripreme + + + Repeat Password + Ponovi lozinku + + + Report date/time + Napiši datum/vreme + + + Report location + Napiši lokaciju + + + Report organizations + Napiši organizaciju + + + Reset + Poništi + + + Reset Criteria + Poništi kriterijume + + + Retype Password + Ponovo upišite lozinku + + + Revert to Saved + Vrati na snimljenu verziju + + + Rows per Page + Redova po strani + + + Sample rate + Brzina uzorkovanja + + + Save Playlist + Snimi plej listu + + + Save and Close + Snimi i zatvori + + + Scheduler + Raspored + + + Scheduler Navigation + Navigacija rasporeda + + + Search + Pretraži + + + Search Library + Pretraži audioteku + + + Signed in + Prijavljen + + + Station Logo + Logo stanice + + + Station Name + Ime stanice + + + Station Settings + Podešavanje stanice + + + Station Time + Vreme u stanici + + + Station URL + URL Stanice + + + Stream + Strim + + + Stream URL + URL strima + + + Subject + Sadržaj + + + Submit + Pridruži + + + System Settings + Sistemska podešavanja + + + Talk + Govor + + + Time + Vreme + + + Title + Naslov + + + Today + Danas + + + Track number + Redni broj snimka + + + Tree view + Direktorijumsko stablo + + + Type + Tip + + + User Password + Korisnička lozinka + + + User/Groups + Korisnik/Grupe + + + Username + Korisničko ime + + + Week + Nedelja + + + Weekly View + Nedeljni pregled + + + Year + Godina + + + calendar week + kalendarska nedelja + + + copy + iskopiraj + + + go up + idi gore + + + move + pomeri + + + move down + pomeri dole + + + move up + pomeri gore + + + new&nbsp;folder + novi folder + + + next + sledeće + + + previous + + \ No newline at end of file diff --git a/livesupport/modules/htmlUI/var/templates/playlist/actionhandler.tpl b/livesupport/modules/htmlUI/var/templates/playlist/actionhandler.tpl index d3bcc1b6a..74904d8c4 100755 --- a/livesupport/modules/htmlUI/var/templates/playlist/actionhandler.tpl +++ b/livesupport/modules/htmlUI/var/templates/playlist/actionhandler.tpl @@ -1,2 +1,2 @@ style="cursor: pointer" -onClick="return contextmenu('{$i.attrs.id}', {if $i.type|lower == "audioclip"}'listen', '{$i.gunid}', {/if} 'PL.removeItem')" +onClick="return contextmenu('{$i.attrs.id}', {if $i.type|lower == "audioclip"}'listen', '{$i.gunid}', '{$i.type}', {/if} 'PL.removeItem')" diff --git a/livesupport/modules/htmlUI/var/templates/scratchpad/main.tpl b/livesupport/modules/htmlUI/var/templates/scratchpad/main.tpl index 8cb689cd1..2f4f2294c 100755 --- a/livesupport/modules/htmlUI/var/templates/scratchpad/main.tpl +++ b/livesupport/modules/htmlUI/var/templates/scratchpad/main.tpl @@ -31,10 +31,10 @@ {else}
{/if} - {$i.title|truncate:18} + {$i.title|truncate:14}
{else} - {$i.title|truncate:18} + {$i.title|truncate:14} {/if} {* on some reason object call doesnt like usage of array *} {assign var="_duration" value=$i.duration} {niceTime in=$_duration} diff --git a/livesupport/modules/htmlUI/var/templates/script/basics.js.tpl b/livesupport/modules/htmlUI/var/templates/script/basics.js.tpl index 3b1e20961..6bf5cc4a4 100755 --- a/livesupport/modules/htmlUI/var/templates/script/basics.js.tpl +++ b/livesupport/modules/htmlUI/var/templates/script/basics.js.tpl @@ -1,5 +1,6 @@ diff --git a/livesupport/modules/htmlUI/var/templates/script/clock.js.tpl b/livesupport/modules/htmlUI/var/templates/script/clock.js.tpl index b0eeb8b85..959301e03 100644 --- a/livesupport/modules/htmlUI/var/templates/script/clock.js.tpl +++ b/livesupport/modules/htmlUI/var/templates/script/clock.js.tpl @@ -1,80 +1,23 @@ - - - + diff --git a/livesupport/modules/htmlUI/var/templates/statusbar.tpl b/livesupport/modules/htmlUI/var/templates/statusbar.tpl index 46973ee4c..e675da671 100755 --- a/livesupport/modules/htmlUI/var/templates/statusbar.tpl +++ b/livesupport/modules/htmlUI/var/templates/statusbar.tpl @@ -1,7 +1,6 @@ {assign var='_nowplaying' value=$SCHEDULER->getNowNextClip()} {assign var='_nextplaying' value=$SCHEDULER->getNowNextClip(1)} -{include file="script/clock.js.tpl"}
@@ -39,24 +38,29 @@
{if $_nowplaying} -
Now Playing: {$_nowplaying.title|truncate:33}
+
##Now Playing##:
-
 
+
 
-
Elapsed: {$_nowplaying.elapsed.h}:{$_nowplaying.elapsed.m}:{$_nowplaying.elapsed.s|truncate:2:""}
-
Remaining: {$_nowplaying.remaining.h}:{$_nowplaying.remaining.m}:{$_nowplaying.remaining.s|truncate:2:""}
+
Elapsed:
+
Remaining:
{/if}
+
{if $_nextplaying} -

Playing Next: {$_nextplaying.title|truncate:22} {$_nextplaying.duration.h}:{$_nextplaying.duration.m}:{$_nextplaying.duration.s|truncate:2:""}

+

##Playing Next##:

{/if} +
+{include file="script/clock.js.tpl"} +{include file="script/progressbar.js.tpl"} + {assign var='_nowplaying' value=null} {assign var='_nextplaying' value=null} diff --git a/livesupport/modules/htmlUI/var/ui_base.inc.php b/livesupport/modules/htmlUI/var/ui_base.inc.php index 7985f72e5..fce67bd42 100644 --- a/livesupport/modules/htmlUI/var/ui_base.inc.php +++ b/livesupport/modules/htmlUI/var/ui_base.inc.php @@ -1,4 +1,12 @@ $parent, "$method"), $args); +} + function errCallBack($err) { echo "
gm:\n".$err->getMessage()."\ndi:\n".$err->getDebugInfo()."\nui:\n".$err->getUserInfo()."\n";
@@ -136,6 +144,7 @@ class uiBase
         $this->PLAYLIST     =& new uiPlaylist($this);
         $this->SCHEDULER    =& new uiScheduler($this);
         $this->SUBJECTS     =& new uiSubjects($this);
+        $this->_self_       =& $this;
     }
 
 
diff --git a/livesupport/modules/htmlUI/var/ui_browser.class.php b/livesupport/modules/htmlUI/var/ui_browser.class.php
index 2a80d6aa6..55bbc282e 100644
--- a/livesupport/modules/htmlUI/var/ui_browser.class.php
+++ b/livesupport/modules/htmlUI/var/ui_browser.class.php
@@ -387,7 +387,8 @@ class uiBrowser extends uiBase {
 
 
         if ($handle = @fsockopen($host, $port, $errno, $errstr, 10)) {
-            fputs($handle, "GET $uri HTTP/1.0\r\n\r\n");
+            fputs($handle, "GET $uri HTTP/1.0\r\n");
+            fputs($handle, "Host: $host:$port\r\n\r\n");
             $data = fread($handle, 1024);
             list($header, $lost) = explode("\r\n\r\n", $data);
             eregi("^[^\r^\n]*", $data, $piece);
diff --git a/livesupport/modules/htmlUI/var/ui_browser_init.php b/livesupport/modules/htmlUI/var/ui_browser_init.php
index da98cf497..0605f6e81 100644
--- a/livesupport/modules/htmlUI/var/ui_browser_init.php
+++ b/livesupport/modules/htmlUI/var/ui_browser_init.php
@@ -15,6 +15,9 @@ require_once 'HTML/QuickForm/Renderer/ArraySmarty.php';
 $Smarty         =& new Smarty;
 $uiBrowser      =& new uiBrowser($config);
 $uiBase         =& $uiBrowser;
+$jscom          =& new jscom(array("jscom_wrapper"));
+$jscom->handler();
+
 
 ## load Smarty+filters ##############################################
 require_once  dirname(__FILE__).'/SmartyExtensions.inc.php';
diff --git a/livesupport/modules/htmlUI/var/ui_conf.php b/livesupport/modules/htmlUI/var/ui_conf.php
index fe34f7ebb..e314d91bb 100755
--- a/livesupport/modules/htmlUI/var/ui_conf.php
+++ b/livesupport/modules/htmlUI/var/ui_conf.php
@@ -141,6 +141,7 @@ require_once dirname(__FILE__).'/formmask/generic.inc.php';
 require_once dirname(__FILE__).'/ui_calendar.class.php';
 require_once dirname(__FILE__).'/ui_scheduler.class.php';
 require_once dirname(__FILE__).'/ui_subjects.class.php';
+require_once dirname(__FILE__).'/jscom.php';
 
 ## well known classes
 require_once 'DB.php';
diff --git a/livesupport/modules/htmlUI/var/ui_handler.class.php b/livesupport/modules/htmlUI/var/ui_handler.class.php
index 43be66222..d2ffafb2b 100644
--- a/livesupport/modules/htmlUI/var/ui_handler.class.php
+++ b/livesupport/modules/htmlUI/var/ui_handler.class.php
@@ -121,10 +121,12 @@ class uiHandler extends uiBase {
             $this->redirUrl = UI_BROWSER."?act=fileList";
             return FALSE;
         }
+
         if (!$this->_validateForm($formdata, $mask)) {
             $this->redirUrl = UI_BROWSER."?act=editFile&id=".$id;
             return FALSE;
         }
+
         $tmpgunid = md5(microtime().$_SERVER['SERVER_ADDR'].rand()."org.mdlf.livesupport");
         $ntmp = $this->gb->bufferDir.'/'.$tmpgunid;
         move_uploaded_file($formdata['mediafile']['tmp_name'], $ntmp);
@@ -179,12 +181,14 @@ class uiHandler extends uiBase {
         if ($ia['audio']['codec'])      $this->_setMDataValue($id, UI_MDATA_KEY_ENCODER,    $ia['audio']['codec']);
 
         // from id3 Tags
-        foreach ($mask['pages'] as $key=>$val) {
-            foreach ($mask['pages'][$key] as $k=>$v) {
-                if ($v['id3'] != FALSE) {
-                    $key = strtolower($v['id3']);
-                    if ($ia['comments'][$key][0]) {
-                        $this->_setMdataValue($id, $v['element'], $ia['comments'][$key][0], $langid);
+        foreach ($mask['pages'] as $key=>$val) {                   ## loop main, music, talk
+            foreach ($mask['pages'][$key] as $k=>$v) {             ## loop throught elements
+                if (is_array($v['id3'])) {
+                    foreach ($v['id3'] as $name) {                 ## loop throught list of equivalent id3-tags
+                        $key = strtolower($name);
+                        if ($ia['comments'][$key][0]) {
+                            $this->_setMdataValue($id, $v['element'], $ia['comments'][$key][0], $langid);
+                        }
                     }
                 }
             }
@@ -274,6 +278,7 @@ class uiHandler extends uiBase {
                 $this->_retMsg('Unable to set "$1" to value "$2".', $key, $val);
             }
         }
+
         if (UI_VERBOSE) $this->_retMsg('Metadata saved');
     }
 
diff --git a/livesupport/modules/htmlUI/var/ui_scheduler.class.php b/livesupport/modules/htmlUI/var/ui_scheduler.class.php
index 3c1c6cbce..143339da8 100755
--- a/livesupport/modules/htmlUI/var/ui_scheduler.class.php
+++ b/livesupport/modules/htmlUI/var/ui_scheduler.class.php
@@ -122,6 +122,18 @@ class uiScheduler extends uiCalendar
     {
         extract($arr);
 
+        $this->schedulePrev['hour']     = 0;
+        $this->schedulePrev['minute']   = 0;
+        $this->schedulePrev['second']   = 0;
+        #$thisDay = $this->scheduleAtTime['year']."-".$this->scheduleAtTime['month']."-".$this->scheduleAtTime['day'];
+        #$nextDayStamp = strtotime('+1 day', strtotime($thisDay));
+        #$this->scheduleNext['year']     = strftime('%Y', $nextDayStamp);
+        #$this->scheduleNext['month']    = strftime('%m', $nextDayStamp);;
+        #$this->scheduleNext['day']      = strftime('%d', $nextDayStamp);
+        $this->scheduleNext['hour']     = 23;
+        $this->scheduleNext['minute']   = 59;
+        $this->scheduleNext['second']   = 59;
+
         if (isset($today))              list($year, $month, $day)        = explode("-", strftime("%Y-%m-%d"));
         if (is_numeric($year))          $this->scheduleAtTime['year']    = sprintf('%04d', $year);
         if (is_numeric($month))         $this->scheduleAtTime['month']   = sprintf('%02d', $month);
@@ -133,55 +145,37 @@ class uiScheduler extends uiCalendar
         $this->scheduleAtTime['stamp'] = $this->_datetime2timestamp($this->scheduleAtTime['year'].$this->scheduleAtTime['month'].$this->scheduleAtTime['day'].'T'.
                                                                     $this->scheduleAtTime['hour'].':'.$this->scheduleAtTime['minute'].':'.$this->scheduleAtTime['second']);
 
-        $week = $this->getWeekEntrys();
+        if (is_array($week = $this->getWeekEntrys())) {
 
-        ## search for previous entry
-        if (count($week[$this->scheduleAtTime['day']]) >= 1) {
-            foreach (array_reverse($week[$this->scheduleAtTime['day']]) as $hourly) {
-                foreach (array_reverse($hourly) as $entry) {
-                    if ($entry['end_stamp'] <=  $this->scheduleAtTime['stamp']) {
-                        $prev = TRUE;
-                        list ($this->schedulePrev['hour'], $this->schedulePrev['minute'], $this->schedulePrev['second']) =
-                            explode (':', strftime('%H:%M:%S', strtotime('+'.UI_SCHEDULER_PAUSE_PL2PL, strtotime($entry['end'])))
-                        );
-                        break 2;
+            ## search for previous entry
+            if (count($week[$this->scheduleAtTime['day']]) >= 1) {
+                foreach (array_reverse($week[$this->scheduleAtTime['day']]) as $hourly) {
+                    foreach (array_reverse($hourly) as $entry) {
+                        if ($entry['end_stamp'] <=  $this->scheduleAtTime['stamp']) {
+                            list ($this->schedulePrev['hour'], $this->schedulePrev['minute'], $this->schedulePrev['second']) =
+                                explode (':', strftime('%H:%M:%S', strtotime('+'.UI_SCHEDULER_PAUSE_PL2PL, strtotime($entry['end'])))
+                            );
+                            break 2;
+                        }
                     }
                 }
             }
-        }
-        if ($prev !== TRUE) {
-        ## start at midnight
-            $this->schedulePrev['hour']     = 0;
-            $this->schedulePrev['minute']   = 0;
-            $this->schedulePrev['second']   = 0;
-        }
 
-        reset ($week);
+            reset($week);
 
-        ## search for next entry
-        if (count($week[$this->scheduleAtTime['day']]) >= 1) {
-            foreach ($week[$this->scheduleAtTime['day']] as $hourly) {
-                foreach (array_reverse($hourly) as $entry) {
-                    if ($entry['start_stamp'] >=  $this->scheduleAtTime['stamp']) {
-                        $next = TRUE;
-                        list ($this->scheduleNext['hour'], $this->scheduleNext['minute'], $this->scheduleNext['second']) =
-                            explode (':', strftime('%H:%M:%S', strtotime('-'.UI_SCHEDULER_PAUSE_PL2PL, strtotime($entry['start']))));
-                        break 2;
+            ## search for next entry
+            if (count($week[$this->scheduleAtTime['day']]) >= 1) {
+                foreach ($week[$this->scheduleAtTime['day']] as $hourly) {
+                    foreach ($hourly as $entry) {
+                        if ($entry['start_stamp'] >=  $this->scheduleAtTime['stamp']) {
+                            list ($this->scheduleNext['hour'], $this->scheduleNext['minute'], $this->scheduleNext['second']) =
+                                explode (':', strftime('%H:%M:%S', strtotime('-'.UI_SCHEDULER_PAUSE_PL2PL, strtotime($entry['start']))));
+                            break 2;
+                        }
                     }
                 }
             }
         }
-        if ($next !== TRUE) {
-        ## end one sec. before midnight
-            $thisDay = $this->scheduleAtTime['year']."-".$this->scheduleAtTime['month']."-".$this->scheduleAtTime['day'];
-            $nextDayStamp = strtotime('+1 day', $thisDay);
-            $this->scheduleNext['year']     = strftime('%Y', $nextDayStamp);
-            $this->scheduleNext['month']    = strftime('%m', $nextDayStamp);;
-            $this->scheduleNext['day']      = strftime('%d', $nextDayStamp);
-            $this->scheduleNext['hour']     = 23;
-            $this->scheduleNext['minute']   = 59;
-            $this->scheduleNext['second']   = 59;
-        }
 
         #print_r($this->schedulePrev);
         #print_r($this->scheduleNext);
@@ -383,7 +377,7 @@ class uiScheduler extends uiCalendar
 
         if (!$clip['gunid']) return FALSE;
 
-        list($duration['h'],  $duration['m'],  $duration['s'])  = explode(':', $this->Base->_getMDataValue($this->Base->gb->_idFromGunid($clip['gunid']), UI_MDATA_KEY_DURATION));
+        list($duration['h'],  $duration['m'],  $duration['s'])  = explode(':', $this->Base->gb->_secsToPlTime($this->Base->gb->_plTimeToSecs($clip['elapsed']) + $this->Base->gb->_plTimeToSecs($clip['remaining'])));
         list($elapsed['h'],   $elapsed['m'],   $elapsed['s'])   = explode(':', $clip['elapsed']);
         list($remaining['h'], $remaining['m'], $remaining['s']) = explode(':', $clip['remaining']);
 
@@ -398,6 +392,26 @@ class uiScheduler extends uiCalendar
                );
     }
 
+    function getNowNextClip4jscom()
+    {
+        if ($curr = $this->getNowNextClip()) {
+            $next = $this->getNowNextClip(1);
+            return array(
+                    'title'         => $curr['title'],
+                    'elapsed.h'     => sprintf('%d', $curr['elapsed']['h']),
+                    'elapsed.m'     => sprintf('%d', $curr['elapsed']['m']),
+                    'elapsed.s'     => sprintf('%d', $curr['elapsed']['s']),
+                    'duration.h'    => sprintf('%d', $curr['duration']['h']),
+                    'duration.m'    => sprintf('%d', $curr['duration']['m']),
+                    'duration.s'    => sprintf('%d', $curr['duration']['s']),
+                    'next'          => $next ? 1 : 0,
+                    'nexttitle'     => $next ? $next['title'] : "",
+                    'nextduration'  => $next ? $next['duration']['h'].':'.$next['duration']['m'].':'.sprintf('%d', $next['duration']['s']) : "",
+                   );
+        } else {
+            return FALSE;
+        }
+    }
 
     function _datetime2timestamp($i)
     {