From 18360eb63edf893dd91b2d46552c75ec42f332fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bruno=20Ryb=C3=A1rsky?= Date: Tue, 31 Jan 2023 16:08:04 +0100 Subject: [PATCH] add localizatin, fix bugs --- index.php | 434 +++++++++++++++++++++++--------------- templates/admin.html | 39 ++-- templates/langSelector.js | 5 + templates/locale/en.json | 53 +++++ templates/locale/sk.json | 53 +++++ templates/login.html | 25 +-- templates/player.html | 16 +- templates/redirect.html | 3 + templates/reload.html | 3 + templates/streamadd.html | 22 +- 10 files changed, 433 insertions(+), 220 deletions(-) create mode 100644 templates/langSelector.js create mode 100644 templates/locale/en.json create mode 100644 templates/locale/sk.json create mode 100644 templates/redirect.html create mode 100644 templates/reload.html diff --git a/index.php b/index.php index 7f7a4a3..054221c 100755 --- a/index.php +++ b/index.php @@ -3,9 +3,7 @@ session_start(); $mysqli = new mysqli('localhost', 'streaming', file_get_contents("secrets/MySQLPWD"), 'streaming'); $ipcka = $_SERVER['REMOTE_ADDR']; - $headers = apache_request_headers(); - foreach ($headers as $header => $value) { if($header == 'X-Real-IP'){ if (!empty($value) && $_SERVER['REMOTE_ADDR'] == "127.0.0.1"){ @@ -14,137 +12,154 @@ foreach ($headers as $header => $value) { } } +//BEGIN FUNCTIONS - -$stmt2 = $mysqli->prepare("DELETE FROM Connections WHERE TimestampPing < (CURRENT_TIMESTAMP - 300);"); -$stmt2->execute(); -$stmt2->store_result(); - -$stmt20 = $mysqli->prepare("DELETE FROM Chat WHERE Timestamp < (CURRENT_TIMESTAMP - 86400);"); -$stmt20->execute(); -$stmt20->store_result(); - - -if (!empty($_GET["adder"])){ - if ($_SERVER['REQUEST_METHOD'] == 'POST') { - $heslo = trim($_POST['heslo']); - if (password_verify($heslo, file_get_contents("secrets/AdminPwdHash"))) { - $kod = $_POST['kod']; - $url = $_POST['url']; - $type = $_POST['type']; - $adminpwd = $_POST['adminpwd']; - if(!empty($kod) && !empty($url) && !empty($type) && !empty($adminpwd)){ - if(strlen($kod) <= 20 && strlen($url) <= 256 && strlen($type) <= 20 && strlen($adminpwd) <= 20){ - $stmt2 = $mysqli->prepare("SELECT ID FROM Streams WHERE Code=? OR AdminCode=?"); - $stmt2->bind_param('ss', $kod, $adminpwd); - $stmt2->execute(); - $stmt2->store_result(); - if ($stmt2->num_rows > 0) { - echo ("Stream exists!"); - } else { - - $stmt = $mysqli->prepare("INSERT INTO Streams (URL, Type, AdminCode, Code) VALUES (?, ?, ?, ?);"); - $stmt->bind_param('ssss', $url, $type, $adminpwd, $kod); - $stmt->execute(); - $stmt->store_result(); - echo "Stream added"; - } - } - } - } else { - echo "Bad password."; - } - } - echo str_replace("__VLOZ_ROK__", date("Y"), file_get_contents("templates/streamadd.html")); - exit(); -} -if (!empty($_SESSION["kod"]) && !empty($_SESSION['listeners']) && !empty($_SESSION["inicialy"]) && !empty($_GET["admin"])) -{ - $kod = $_SESSION['kod']; - $stmt = $mysqli->prepare("Select ID, URL, Type, Code FROM Streams WHERE AdminCode = ?;"); - $stmt->bind_param('s', $kod); - $stmt->bind_result($idcko, $url, $type, $code); - $stmt->execute(); - $stmt->store_result(); - if ($stmt->num_rows > 0){ - while ($stmt->fetch()) - { - if (!empty($_GET["onlyconns"])){ - $stmt3 = $mysqli->prepare("Select ID, PHPSessID, TimeConnect, TimePing, Listeners, Inicialy, IP FROM Connections WHERE StreamID = ?"); - $stmt3->bind_param('i', $idcko); - $stmt3->bind_result($idcko, $phpSessID, $timeConn, $timePing, $listeners, $inicialy, $IP); - $stmt3->execute(); - $stmt3->store_result(); - $connadm = ' - - - '; - if ($stmt3->num_rows > 0){ - while ($stmt3->fetch()) - { - $connadm = $connadm . '' . '' . '' . '' . ''; - } - } - $connadm = $connadm . '
IniciályListenersDate and time of connectionDate and time of keepaliveIP address
' . $inicialy . '' . $listeners . '' . $timeConn . '' . $timePing . '' . $IP . '
'; - echo $connadm; +function languageSelector(){ + $lang_dir = "templates/locale"; + $langs = scandir($lang_dir); + $langSelectDat = '
'; + return $langSelectDat; +} +function localize($input_string){ + if (empty($_SESSION['language'])){ + $_SESSION['language'] = "en"; + } + $language = htmlspecialchars($_SESSION['language']) ; + $lang_dir = "templates/locale"; + $langs = scandir($lang_dir); + $lang_file = ""; + foreach($langs as $lang){ + if ($lang == $language . '.json'){ + $lang_file = $lang_dir . '/' . $lang; + } + } + + if (file_exists($lang_file)){ + $language_obj = json_decode(file_get_contents($lang_file), true); + $tempStr = str_replace("__VLOZ_ROK__", date("Y"), $input_string); + $tempStr = str_replace("__LOCALIZATION_LANGSELECT__", languageSelector(), $tempStr); + $tempStr = str_replace("__LOCALIZATION_LANGSELECT_SCRIPT__", file_get_contents('templates/langSelector.js'), $tempStr); + foreach ($language_obj as $key => $value){ + $tempStr = str_replace($key, $value, $tempStr); + } + return $tempStr; + } + else{ + return 'LANGUAGE NON EXISTENT'; + } +} + +function connectionAdminTable($idcko){ + global $mysqli; + + $stmt2 = $mysqli->prepare("DELETE FROM Connections WHERE TimestampPing < (CURRENT_TIMESTAMP - 300);"); + $stmt2->execute(); + $stmt2->store_result(); + $stmt3 = $mysqli->prepare("Select ID, PHPSessID, TimeConnect, TimePing, Listeners, Inicialy, IP FROM Connections WHERE StreamID = ?"); + $stmt3->bind_param('i', $idcko); + $stmt3->bind_result($idckoconnection, $phpSessID, $timeConn, $timePing, $listeners, $inicialy, $IP); + $stmt3->execute(); + $stmt3->store_result(); + $connadm = ' + + + '; + if ($stmt3->num_rows > 0){ + while ($stmt3->fetch()) + { + $connadm = $connadm . '' . '' . '' . '' . ''; + } + } + $connadm = $connadm . '
__LOCALIZATION_LOGIN_INITIALS_LABEL____LOCALIZATION_LOGIN_LISTENERS_LABEL____LOCALIZATION_CONNECTIONS_DATETIME_CONNECT_ADMIN____LOCALIZATION_CONNECTIONS_DATETIME_PING_ADMIN____LOCALIZATION_CONNECTIONS_IP_ADMIN__
' . $inicialy . '' . $listeners . '' . $timeConn . '' . $timePing . '' . $IP . '
'; + $localized = localize($connadm); + return $localized; +} + +function chatAdminTable($idcko){ + global $mysqli; + $stmt7 = $mysqli->prepare("Select ID, Timestamp, Author, Message from Chat WHERE StreamID = ?;"); + $stmt7->bind_param('i', $idcko); + $stmt7->bind_result($idckochat, $timestamp, $author, $message); + $stmt7->execute(); + $stmt7->store_result(); + $chatadm = ' + + + + + '; + if ($stmt7->num_rows > 0){ + while ($stmt7->fetch()){ + $chatadm = $chatadm . '' . "\n"; + } + } + $chatadm = $chatadm . '
__LOCALIZATION_CHAT_AUTHOR_ADMIN____LOCALIZATION_CHAT_DATE_ADMIN____LOCALIZATION_CHAT_MESSAGE_ADMIN____LOCALIZATION_CHAT_ADMIN_DELETE_HEAD__
' . $author . '' . $timestamp . ' GMT' . $message . '
'; + $localized = localize($chatadm); + return $localized; +} + +//END OF FUNCTIONS + +//CHAT AUTO PURGE +if ( (!empty($_GET['delete'])&&!empty($_POST['delete'])) || (!empty($_GET['chat'])) || (!empty($_GET['onlychattable']))){ + $stmt20 = $mysqli->prepare("DELETE FROM Chat WHERE Timestamp < (CURRENT_TIMESTAMP - 86400);"); + $stmt20->execute(); + $stmt20->store_result(); +} + +//API CALLS START +if (!empty($_GET['setLang'])){ + $language = htmlspecialchars($_GET['setLang']); + $lang_dir = "templates/locale"; + $langs = scandir($lang_dir); + $lang_file = ""; + foreach($langs as $lang){ + if ($lang == $language . '.json'){ + $lang2 = str_replace(".json", "", $lang); + $_SESSION['language'] = htmlspecialchars($lang2); + } + } exit(); } + +if (!empty($_GET['keepalive'])){ + $kod = htmlspecialchars($_SESSION['kod']); + $stmt6 = $mysqli->prepare("Select ID FROM Streams WHERE Code = ? OR AdminCode = ?;"); + $stmt6->bind_param('ss', $kod, $kod); + $stmt6->execute(); + $stmt6->store_result(); + if ($stmt6->num_rows > 0) + { + while($stmt6->fetch()){ + $stmt7 = $mysqli->prepare("UPDATE Connections SET TimestampPing=CURRENT_TIMESTAMP, TimePing = ? WHERE PHPSessID = ?;"); + $currsessid = session_id(); + $stmt7->bind_param("ss", date("Y.n.d H:i:s"), $currsessid); + $stmt7->execute(); + $stmt7->store_result(); + } + } + exit(); +} + if (!empty($_GET['logout'])) { $stmt3 = $mysqli->prepare("DELETE FROM Connections WHERE PHPSessID = ?;"); - $stmt3->bind_param("s", session_id()); + $currsessid = session_id(); + $stmt3->bind_param("s", $currsessid); $stmt3->execute(); $stmt3->store_result(); $_SESSION["kod"] = ''; @@ -153,17 +168,14 @@ if (!empty($_GET['logout'])) session_destroy(); session_unset(); setcookie("inicialy", "", 1); - echo ' - - '; + echo file_get_contents("templates/redirect.html"); exit(); } + if (!empty($_GET['verify'])&&!empty($_POST['kod'])){ if ($_GET['verify'] == 1){ if(strlen($_POST['kod']) <= 20){ - $kod = $_POST['kod']; + $kod = htmlspecialchars($_POST['kod']); $stmt5 = $mysqli->prepare("Select ID FROM Streams WHERE AdminCode = ?;"); $stmt5->bind_param('s', $kod); $stmt5->execute(); @@ -198,27 +210,11 @@ if (!empty($_GET['verify'])&&!empty($_POST['kod'])){ } exit(); } -if (!empty($_GET['keepalive'])){ - $kod = $_SESSION['kod']; - $stmt6 = $mysqli->prepare("Select ID FROM Streams WHERE Code = ? OR AdminCode = ?;"); - $stmt6->bind_param('ss', $kod, $kod); - $stmt6->execute(); - $stmt6->store_result(); - if ($stmt6->num_rows > 0) - { - while($stmt6->fetch()){ - $stmt7 = $mysqli->prepare("UPDATE Connections SET TimestampPing=CURRENT_TIMESTAMP, TimePing = ? WHERE PHPSessID = ?;"); - $stmt7->bind_param("ss", date("Y.n.d H:i:s"), session_id()); - $stmt7->execute(); - $stmt7->store_result(); - } - } - exit(); -} + if (!empty($_GET['chat'])){ if (!empty($_SESSION["kod"]) && !empty($_SESSION['listeners']) && !empty($_SESSION['inicialy'])) { - $kod = $_SESSION['kod']; + $kod = htmlspecialchars($_SESSION['kod']); $stmt8 = $mysqli->prepare("Select ID FROM Streams WHERE Code = ? OR AdminCode = ?;"); $stmt8->bind_param('ss', $kod, $kod); $stmt8->bind_result($idcko); @@ -229,7 +225,9 @@ if (!empty($_GET['chat'])){ if (!empty($_GET['send'])&& !empty($_POST['text'])){ if (strlen($_POST['text']) <= 1024){ $stmt9 = $mysqli->prepare("INSERT INTO Chat (Author, Message, StreamID) VALUES (?, ?, ?);"); - $stmt9->bind_param('ssi', $_SESSION['inicialy'], $_POST['text'], $idcko); + $messagetext = htmlspecialchars($_POST['text']); + $inicialy = htmlspecialchars($_SESSION['inicialy']); + $stmt9->bind_param('ssi', $inicialy, $messagetext, $idcko); $stmt9->execute(); $stmt9->store_result(); } @@ -246,7 +244,7 @@ if (!empty($_GET['chat'])){ $data = $data . '• ' . $author . ' on ' . $tmstmp . ' GMT said: ' . $msg . "\n"; } } - echo $data; + echo localize($data); } } @@ -254,9 +252,11 @@ if (!empty($_GET['chat'])){ } exit(); } + +//LOGIN HANDLING if (!empty($_POST['kod']) && !empty($_POST['listeners']) && !empty($_POST['ini'])){ - if(strlen($_POST['kod']) <= 20 && strlen($_POST['ini']) <= 100 && intval($_POST['listeners']) <= 999 && intval($_POST['listeners']) >= 1){ - $kod = $_POST['kod']; + if(strlen($_POST['kod']) <= 20 && strlen($_POST['ini']) <= 100 && intval(htmlspecialchars($_POST['listeners'])) <= 999 && intval(htmlspecialchars($_POST['listeners'])) >= 1){ + $kod = htmlspecialchars($_POST['kod']); $stmt11 = $mysqli->prepare("Select ID FROM Streams WHERE Code = ? OR AdminCode = ?;"); $stmt11->bind_param('ss', $kod, $kod); $stmt11->bind_result($idcko); @@ -265,23 +265,24 @@ if (!empty($_POST['kod']) && !empty($_POST['listeners']) && !empty($_POST['ini'] if ($stmt11->num_rows > 0) { while ($stmt11->fetch()){ - $listeners = intval($_POST['listeners']); - $inicialy = $_POST['ini']; - $_SESSION["kod"] = $kod; - $_SESSION['listeners'] = $listeners; - $_SESSION['inicialy'] = $inicialy; + $listeners = intval(htmlspecialchars($_POST['listeners'])); + $inicialy = htmlspecialchars($_POST['ini']); + $_SESSION["kod"] = htmlspecialchars($kod); + $_SESSION['listeners'] = htmlspecialchars($listeners); + $_SESSION['inicialy'] = htmlspecialchars($inicialy); + if (empty($_SESSION['language'])){ + $_SESSION['language'] = "en"; + } setcookie("inicialy", $inicialy); $stmt12 = $mysqli->prepare("INSERT INTO Connections (PHPSessID, TimeConnect, TimestampPing, TimePing, Listeners, Inicialy, IP, StreamID) VALUES (?, ?, CURRENT_TIMESTAMP, ?, ?, ?, ?, ?);"); - $stmt12->bind_param('sssissi', session_id(), date("Y.n.d H:i:s"), date("Y.n.d H:i:s"), $listeners, $inicialy, $ipcka, $idcko); + $currsessid = session_id(); + $stmt12->bind_param('sssissi', $currsessid, date("Y.n.d H:i:s"), date("Y.n.d H:i:s"), $listeners, $inicialy, $ipcka, $idcko); $stmt12->execute(); $stmt12->store_result(); - echo ' - - '; + echo file_get_contents("templates/reload.html"); + exit(); } } else @@ -289,18 +290,110 @@ if (!empty($_POST['kod']) && !empty($_POST['listeners']) && !empty($_POST['ini'] $_SESSION["kod"] = ''; $_SESSION['listeners'] = ''; $_SESSION['inicialy'] = ''; - echo ' - - '; + echo file_get_contents("templates/reload.html"); session_destroy(); + exit(); } } exit(); } + +//END API CALLS + + +//START SPECIAL PAGES + +if (!empty($_GET["adder"])){ + $datasendadder = ""; + if ($_SERVER['REQUEST_METHOD'] == 'POST') { + $heslo = trim($_POST['heslo']); + if (password_verify($heslo, file_get_contents("secrets/AdminPwdHash"))) { + $kod = htmlspecialchars($_POST['kod']); + $url = htmlspecialchars($_POST['url']); + $type = htmlspecialchars($_POST['type']); + $adminpwd = htmlspecialchars($_POST['adminpwd']); + if(!empty($kod) && !empty($url) && !empty($type) && !empty($adminpwd)){ + if(strlen($kod) <= 20 && strlen($url) <= 256 && strlen($type) <= 20 && strlen($adminpwd) <= 20){ + $stmt2 = $mysqli->prepare("SELECT ID FROM Streams WHERE Code=? OR AdminCode=?"); + $stmt2->bind_param('ss', $kod, $adminpwd); + $stmt2->execute(); + $stmt2->store_result(); + if ($stmt2->num_rows > 0) { + $datasendadder = $datasendadder . "__LOCALIZATION_ADDER_EXISTS_LABEL__"; + } else { + + $stmt = $mysqli->prepare("INSERT INTO Streams (URL, Type, AdminCode, Code) VALUES (?, ?, ?, ?);"); + $stmt->bind_param('ssss', $url, $type, $adminpwd, $kod); + $stmt->execute(); + $stmt->store_result(); + $datasendadder = $datasendadder . "__LOCALIZATION_ADDER_SUCCESS_LABEL__"; + } + } + } + } else { + $datasendadder = $datasendadder . "__LOCALIZATION_ADDER_PASSWORD_LABEL__"; + } + } + $datasendadder = $datasendadder . file_get_contents("templates/streamadd.html"); + echo localize($datasendadder); + exit(); +} + +if (!empty($_GET["admin"])){ + if (!empty($_SESSION["kod"]) && !empty($_SESSION['listeners']) && !empty($_SESSION["inicialy"])) + { + $kod = htmlspecialchars($_SESSION['kod']); + $stmt = $mysqli->prepare("Select ID, URL, Type, Code FROM Streams WHERE AdminCode = ?;"); + $stmt->bind_param('s', $kod); + $stmt->bind_result($idcko, $url, $type, $code); + $stmt->execute(); + $stmt->store_result(); + if ($stmt->num_rows > 0){ + while ($stmt->fetch()) + { + if (!empty($_GET['deletechatmsg'])&&!empty($_POST['deletechatmsg'])){ + if(htmlspecialchars($_POST['deletechatmsg']) == "*"){ + $stmt5 = $mysqli->prepare("DELETE from Chat WHERE StreamID = ?;"); + $stmt5->bind_param('i', $idcko); + $stmt5->execute(); + $stmt5->store_result(); + } + else{ + $deleteid = intval(htmlspecialchars($_POST['deletechatmsg'])); + if ($deleteid >= 0){ + $stmt6 = $mysqli->prepare("DELETE from Chat WHERE StreamID = ? AND ID = ?;"); + $stmt6->bind_param('ii', $idcko, $deleteid); + $stmt6->execute(); + $stmt6->store_result(); + } + } + } + if (!empty($_GET['admin_dash_api'])){ + $connadm = connectionAdminTable($idcko); + $chatadm = chatAdminTable($idcko); + $myobjcko = array("connadm"=>$connadm, "chatadm"=>$chatadm); + echo json_encode($myobjcko); + } + else{ + $dats = file_get_contents("templates/admin.html"); + $dats = str_replace('__VLOZ_URL_AUDIA__', $config->url , $dats); + $dats = str_replace('__VLOZ_TYP_AUDIA__', $config->type , $dats); + echo localize($dats); + } + } + } + else{ + echo file_get_contents("templates/redirect.html"); + exit(); + } + exit(); + } +} +//END SPECIAL PAGES + +//MAIN PLAYER if (!empty($_SESSION['listeners']) && !empty($_SESSION['inicialy']) && !empty($_SESSION['kod'])){ - $kod = $_SESSION['kod']; + $kod = htmlspecialchars($_SESSION['kod']); $stmt13 = $mysqli->prepare("Select ID, URL, Type, AdminCode, Code FROM Streams WHERE Code = ? OR AdminCode = ?;"); $stmt13->bind_param('ss', $kod, $kod); $stmt13->bind_result($idcko, $url, $type, $admincode, $code); @@ -313,18 +406,17 @@ if (!empty($_SESSION['listeners']) && !empty($_SESSION['inicialy']) && !empty($_ $player = file_get_contents("templates/player.html"); $player = str_replace('__VLOZ_URL_AUDIA__', $url , $player); $player = str_replace('__VLOZ_TYP_AUDIA__', $type , $player); - $player = str_replace('__VLOZ_ROK__', $year, $player); if($_SESSION["kod"] == $admincode){ - $player = str_replace('__VLOZ_ADMIN_LINK__', 'Administrácia', $player); + $player = str_replace('__VLOZ_ADMIN_LINK__', '__LOCALIZATION_ADMIN_LINK__', $player); } else{ $player = str_replace('__VLOZ_ADMIN_LINK__', "" , $player); } - echo($player); + echo localize($player); } } } else{ - echo str_replace("__VLOZ_ROK__", date("Y"), file_get_contents("templates/login.html")); + echo localize(file_get_contents("templates/login.html")); } ?> \ No newline at end of file diff --git a/templates/admin.html b/templates/admin.html index 10b9b6a..e7e23a1 100755 --- a/templates/admin.html +++ b/templates/admin.html @@ -3,6 +3,7 @@ - Administration + __LOCALIZATION_ADMIN_LINK__ -

Streaming

+ __LOCALIZATION_LANGSELECT__ +

__LOCALIZATION_PLAYER_TITLE__


-

Log out

+

__LOCALIZATION_LOGOUT__

-

Playlist download

+

__LOCALIZATION_PLAYLIST_DOWNLOAD__

-

Normal player

+

__LOCALIZATION_NORMAL_LINK__

-

Connections:

+

__LOCALIZATION_CONNECTIONS__


-

Chat admin:

- +

__LOCALIZATION_CHAT_ADMIN__

+

- +

© BRN Systems __VLOZ_ROK__

diff --git a/templates/langSelector.js b/templates/langSelector.js new file mode 100644 index 0000000..5f1144e --- /dev/null +++ b/templates/langSelector.js @@ -0,0 +1,5 @@ +function SetLang(lang) { + $.get("index.php?setLang=" + lang, function(data, status){ + location.reload(); + }); +} \ No newline at end of file diff --git a/templates/locale/en.json b/templates/locale/en.json new file mode 100644 index 0000000..10e32ed --- /dev/null +++ b/templates/locale/en.json @@ -0,0 +1,53 @@ +{ + "__LOCALIZATION_LANG_SHORT": "en", + "__LOCALIZATION_LANG_LONG": "English", + + + "__LOCALIZATION_LOGOUT__": "Log out", + + + "__LOCALIZATION_PLAYLIST_DOWNLOAD__": "Playlist download", + "__LOCALIZATION_PLAYER_TITLE__": "Streaming", + "__LOCALIZATION_CHAT_SENDING__": "Sending", + "__LOCALIZATION_CHAT_SEND__": "Send", + "__LOCALIZATION_CHAT_PLACEHOLDER__": "Chat message", + + + "__LOCALIZATION_LOGIN_TITLE__": "Login", + "__LOCALIZATION_LOGIN_ERROR__": "Bad code", + "__LOCALIZATION_LOGIN_CODE_LABEL__": "Code:", + "__LOCALIZATION_LOGIN_NEXT__": "Next", + "__LOCALIZATION_LOGIN_LISTENERS_LABEL__": "Listeners count:", + "__LOCALIZATION_LOGIN_INITIALS_LABEL__": "Initials:", + "__LOCALIZATION_LOGIN_LOGIN__": "Login", + "__LOCALIZATION_LOGIN_BACK__": "Back", + + "__LOCALIZATION_ADMIN_LINK__": "Administration", + "__LOCALIZATION_NORMAL_LINK__": "Normal player", + "__LOCALIZATION_CONNECTIONS__": "Connections:", + "__LOCALIZATION_CHAT_ADMIN__": "Chat admin:", + "__LOCALIZATION_CHAT_AUTHOR_ADMIN__": "Author:", + "__LOCALIZATION_CHAT_DATE_ADMIN__": "Date:", + "__LOCALIZATION_CHAT_MESSAGE_ADMIN__": "Message:", + "__LOCALIZATION_CHAT_ADMIN_DELETE_ALL__": "Delete all chat messages", + "__LOCALIZATION_CHAT_ADMIN_DELETE__": "Delete", + "__LOCALIZATION_CHAT_ADMIN_DELETE_HEAD__": "Delete:", + "__LOCALIZATION_CONNECTIONS_DATETIME_CONNECT_ADMIN__": "Date and time of connection", + "__LOCALIZATION_CONNECTIONS_DATETIME_PING_ADMIN__": "Date and time of keepalive", + "__LOCALIZATION_CONNECTIONS_IP_ADMIN__": "IP address", + + "__LOCALIZATION_ADDER_ADDRESS_LABEL__": "Audio address:", + "__LOCALIZATION_ADDER_TYPE_LABEL__": "Audio type:", + "__LOCALIZATION_ADDER_CODE_LABEL__": "Code:", + "__LOCALIZATION_ADDER_ADMIN_PWD_LABEL__": "Stream administration password:", + "__LOCALIZATION_ADDER_WEBMASTER_PWD_LABEL__": "Webmaster password:", + "__LOCALIZATION_ADDER_WEBMASTER_ADD_LABEL__": "Add stream", + "__LOCALIZATION_ADDER_TITLE_LABEL__": "Stream adder", + "__LOCALIZATION_ADDER_SUCCESS_LABEL__": "Stream added!", + "__LOCALIZATION_ADDER_EXISTS_LABEL__": "Stream exists!", + "__LOCALIZATION_ADDER_PASSWORD_LABEL__": "Bad password!", + "__LOCALIZATION_ADDER_MP3_LABEL__": "MP3", + "__LOCALIZATION_ADDER_OGG_LABEL__": "OGG" + + +} \ No newline at end of file diff --git a/templates/locale/sk.json b/templates/locale/sk.json new file mode 100644 index 0000000..db4363c --- /dev/null +++ b/templates/locale/sk.json @@ -0,0 +1,53 @@ +{ + "__LOCALIZATION_LANG_SHORT": "sk", + "__LOCALIZATION_LANG_LONG": "Slovenčina", + + + "__LOCALIZATION_LOGOUT__": "Odhlásiť sa", + + + "__LOCALIZATION_PLAYLIST_DOWNLOAD__": "Stiahnunť playlist", + "__LOCALIZATION_PLAYER_TITLE__": "Streaming", + "__LOCALIZATION_CHAT_SENDING__": "Odosielam", + "__LOCALIZATION_CHAT_SEND__": "Odoslať", + "__LOCALIZATION_CHAT_PLACEHOLDER__": "Správa", + + + "__LOCALIZATION_LOGIN_TITLE__": "Prihlásenie", + "__LOCALIZATION_LOGIN_ERROR__": "Zlý kód", + "__LOCALIZATION_LOGIN_CODE_LABEL__": "Kód:", + "__LOCALIZATION_LOGIN_NEXT__": "Ďalej", + "__LOCALIZATION_LOGIN_LISTENERS_LABEL__": "Počet poslucháčov:", + "__LOCALIZATION_LOGIN_INITIALS_LABEL__": "Iniciály:", + "__LOCALIZATION_LOGIN_LOGIN__": "Prihlásenie", + "__LOCALIZATION_LOGIN_BACK__": "Späť", + + "__LOCALIZATION_ADMIN_LINK__": "Administrácia", + "__LOCALIZATION_NORMAL_LINK__": "Normálny prehrávač", + "__LOCALIZATION_CONNECTIONS__": "Pripojenia:", + "__LOCALIZATION_CHAT_ADMIN__": "Administrácia chatu:", + "__LOCALIZATION_CHAT_AUTHOR_ADMIN__": "Autor:", + "__LOCALIZATION_CHAT_DATE_ADMIN__": "Dátum:", + "__LOCALIZATION_CHAT_MESSAGE_ADMIN__": "Správa:", + "__LOCALIZATION_CHAT_ADMIN_DELETE_ALL__": "Zmazať všetky správy", + "__LOCALIZATION_CHAT_ADMIN_DELETE__": "Zmazať", + "__LOCALIZATION_CHAT_ADMIN_DELETE_HEAD__": "Zmazanie:", + "__LOCALIZATION_CONNECTIONS_DATETIME_CONNECT_ADMIN__": "Dátum a čas pripojenia", + "__LOCALIZATION_CONNECTIONS_DATETIME_PING_ADMIN__": "Dátum a čas keepalive", + "__LOCALIZATION_CONNECTIONS_IP_ADMIN__": "IP adresa", + + "__LOCALIZATION_ADDER_ADDRESS_LABEL__": "Adresa zvuku:", + "__LOCALIZATION_ADDER_TYPE_LABEL__": "Typ zvuku:", + "__LOCALIZATION_ADDER_CODE_LABEL__": "Kód:", + "__LOCALIZATION_ADDER_ADMIN_PWD_LABEL__": "Heslo administrácie streamu:", + "__LOCALIZATION_ADDER_WEBMASTER_PWD_LABEL__": "Heslo webmastera:", + "__LOCALIZATION_ADDER_WEBMASTER_ADD_LABEL__": "Pridať stream", + "__LOCALIZATION_ADDER_TITLE_LABEL__": "Pridávanie streamu", + "__LOCALIZATION_ADDER_SUCCESS_LABEL__": "Stream pridaný!", + "__LOCALIZATION_ADDER_EXISTS_LABEL__": "Stream existuje!", + "__LOCALIZATION_ADDER_PASSWORD_LABEL__": "Zlé heslo!", + "__LOCALIZATION_ADDER_MP3_LABEL__": "MP3", + "__LOCALIZATION_ADDER_OGG_LABEL__": "OGG" + + +} \ No newline at end of file diff --git a/templates/login.html b/templates/login.html index 16fceae..7ab46cd 100755 --- a/templates/login.html +++ b/templates/login.html @@ -1,10 +1,9 @@ - Prihlásenie + __LOCALIZATION_LOGIN_TITLE__ - - + + __LOCALIZATION_LANGSELECT__
-

Zlý kód

- - +

__LOCALIZATION_LOGIN_ERROR__

+ +
- +

© BRN Systems __VLOZ_ROK__

diff --git a/templates/player.html b/templates/player.html index 9e158d5..e1d035a 100755 --- a/templates/player.html +++ b/templates/player.html @@ -4,8 +4,9 @@ - Streaming + __LOCALIZATION_PLAYER_TITLE__ \ No newline at end of file diff --git a/templates/reload.html b/templates/reload.html new file mode 100644 index 0000000..481fe79 --- /dev/null +++ b/templates/reload.html @@ -0,0 +1,3 @@ + \ No newline at end of file diff --git a/templates/streamadd.html b/templates/streamadd.html index ac9f331..b81726b 100755 --- a/templates/streamadd.html +++ b/templates/streamadd.html @@ -2,28 +2,32 @@ + - Stream add + __LOCALIZATION_ADDER_TITLE_LABEL__ + __LOCALIZATION_LANGSELECT__ - Code:
+ __LOCALIZATION_ADDER_CODE_LABEL__

- Audio address:
+ __LOCALIZATION_ADDER_ADDRESS_LABEL__

- Audio type:
- mp3 - ogg + __LOCALIZATION_ADDER_TYPE_LABEL__
+ __LOCALIZATION_ADDER_MP3_LABEL__ + __LOCALIZATION_ADDER_OGG_LABEL__

- Stream administration password:
+ __LOCALIZATION_ADDER_ADMIN_PWD_LABEL__
- Webmaster password:
+ __LOCALIZATION_ADDER_WEBMASTER_PWD_LABEL__

- +

© BRN Systems __VLOZ_ROK__