2018-02-27 16:20:49 +00:00
<!DOCTYPE html>
< html lang = "en" >
< head >
2019-02-17 15:08:10 +00:00
< link rel = "stylesheet" type = "text/css" href = "../css/modals.scss" / >
2018-02-27 16:20:49 +00:00
< meta charset = "UTF-8" >
2018-03-24 22:38:01 +00:00
< title > TeaSpeak-Web client templates< / title >
2018-02-27 16:20:49 +00:00
< / head >
< body >
2018-10-14 11:27:48 +00:00
< script class = "jsrender-template" id = "tmpl_main" type = "text/html" >
2018-10-03 20:04:29 +00:00
< div class = "app-container" >
< div class = "app" >
2019-01-19 12:03:51 +00:00
<!-- navigation bar -->
< div class = "container-control-bar" >
2018-10-03 20:04:29 +00:00
< div id = "control_bar" class = "control_bar" >
2019-08-21 08:00:01 +00:00
<!--
2019-03-17 11:15:39 +00:00
< div class = "show-small button-dropdown dropdown-audio" title = "{{tr 'Audio settings' /}}" >
< div class = "buttons" >
2019-07-09 22:52:08 +00:00
< div class = "button button-display" >
2019-08-21 08:00:01 +00:00
< div class = "icon_em client-music" > < / div >
2019-07-09 22:52:08 +00:00
< / div >
< div class = "dropdown-arrow" >
2019-03-17 11:15:39 +00:00
< div class = "arrow down" > < / div >
< / div >
< / div >
< div class = "dropdown" >
< div class = "btn_mute_input" title = "{{tr 'Mute/unmute microphone' /}}" >
< div class = "icon client-input_muted" > < / div >
< a > {{tr "Mute/unmute microphone" /}}< / a >
< / div >
< div class = "btn_mute_output" title = "{{tr 'Mute/unmute headphones' /}}" >
< div class = "icon client-output_muted" > < / div >
< a > {{tr "Mute/unmute headphones" /}}< / a >
< / div >
< / div >
< / div >
< div class = "divider" > < / div >
2019-10-13 19:33:07 +00:00
-->
2018-10-03 20:04:29 +00:00
< / div >
< / div >
2019-04-04 19:47:52 +00:00
< div class = "container-connection-handlers scrollbar" id = "connection-handlers" >
2019-08-21 08:00:01 +00:00
< div class = "connection-handlers" > < / div >
2019-04-04 19:47:52 +00:00
< div class = "container-scroll" >
< div class = "button-scroll button-scroll-left" >
< div class = "icon client-arrow_left" > < / div >
< / div >
< div class = "button-scroll button-scroll-right disabled" >
< div class = "icon client-arrow_right" > < / div >
< / div >
< / div >
< / div >
2018-10-03 20:04:29 +00:00
2019-01-19 12:03:51 +00:00
< div class = "container-app-main" >
2018-11-03 11:16:13 +00:00
< div class = "container-channel-chat" >
2019-01-19 12:03:51 +00:00
<!-- Channel tree -->
2019-07-09 22:52:08 +00:00
< div class = "container-channel-tree" >
2019-08-21 08:00:01 +00:00
< div class = "hostbanner" id = "hostbanner" > < / div >
2019-02-17 15:08:10 +00:00
< div class = "channel-tree" id = "channelTree" > < / div >
2018-11-03 11:16:13 +00:00
< / div >
2019-01-19 12:03:51 +00:00
2019-07-09 22:52:08 +00:00
< div class = "container-seperator vertical" seperator-id = "seperator-channel-chat" > < / div >
2019-01-19 12:03:51 +00:00
<!-- Chat window -->
2019-08-21 08:00:01 +00:00
< div class = "container-chat" id = "chat" > < / div >
2018-10-03 20:04:29 +00:00
< / div >
2019-07-09 22:52:08 +00:00
< div class = "container-seperator horizontal" seperator-id = "seperator-main-log" > < / div >
2019-08-21 08:00:01 +00:00
< div class = "container-bottom" >
< div class = "container-server-log" id = "server-log" > < / div >
< div class = "container-footer" >
2019-09-18 23:25:57 +00:00
< span >
< a > {{tr "Version:" /}} {{>app_version}}< / a >
< div class = "hide-small" >
(Open source on
< a target = "_blank" href = "https://github.com/TeaSpeak/TeaSpeak-Web"
style="display: inline-block; position: relative">github.com< / a > )
< / div >
< / span >
2019-08-21 08:00:01 +00:00
< / div >
< / div > <!-- Selection info -->
2018-10-03 20:04:29 +00:00
< / div >
< / div >
< / div >
< div id = "contextMenu" class = "context-menu" > < / div >
2020-03-19 13:31:45 +00:00
< div class = "overlay-image-preview hidden" id = "overlay-image-preview" >
< div class = "container-menu-bar" >
< div class = "entry button-open-in-window" >
< div class = "container-icon" >
< img src = "img/icon_image_preview_browse.svg" >
< / div >
< / div >
<!-- Why would you like to download images?
< div class = "entry button-download" >
< div class = "icon_em client-download" > < / div >
< / div >
-->
< div class = "entry button-close" >
< div class = "icon_em client-close_button" > < / div >
< / div >
< / div >
< div class = "container-image" >
< img src = "https://forum.teaspeak.de/index.php?attachments/1581248374635-png.2098/" >
< / div >
< / div >
2018-10-03 20:04:29 +00:00
< / script >
2019-02-17 15:08:10 +00:00
2019-07-09 22:52:08 +00:00
< script class = "jsrender-template" id = "tmpl_frame_chat" type = "text/html" >
< div class = "container-chat-frame" >
< div class = "container-info" > < / div >
< div class = "container-chat" > < / div >
< / div >
< / script >
< script class = "jsrender-template" id = "tmpl_frame_chat_info" type = "text/html" >
< div class = "lane" >
< div class = "block left" >
< div class = "title" > {{tr "You're talking in Channel" /}}< / div >
< div class = "value value-voice-channel" > < / div >
< div class = "small-value value-voice-limit" > < / div >
< / div >
< div class = "block right" >
< div class = "title" > {{tr "Your ping" /}}< / div >
< div class = "value value-ping" > 11 ms< / div >
< / div >
< / div >
< div class = "lane" >
2019-08-30 21:06:39 +00:00
< div class = "block left mode-based mode-channel_chat channel" >
2019-08-21 08:00:01 +00:00
< div class = "title" > < / div >
< div class = "value value-text-channel" > < / div >
< div class = "small-value value-text-limit" > < / div >
2019-07-09 22:52:08 +00:00
< / div >
2019-08-21 08:00:01 +00:00
< div class = "block left mode-based mode-private_chat" >
< div class = "button button-switch-chat-channel" > {{tr "Switch to channel chat" /}}< / div >
< / div >
2020-01-30 23:54:00 +00:00
< div class = "block left mode-based mode-music_bot" >
< div class = "title" > < / div >
< div class = "value button bot-manage" > {{tr "Manage Bot" /}}< / div >
< / div >
2019-08-21 08:00:01 +00:00
< div class = "block left mode-based mode-client_info" >
< div class = "spacer-client-info" > < / div >
< / div >
2020-02-16 18:37:34 +00:00
< div class = "block right mode-based mode-private_chat" >
< div class = "title" > {{tr "Private chats" /}}
< div class = "container-indicator" >
< div class = "chat-unread-counter" > -1< / div >
< / div >
< / div >
< div class = "value button chat-counter" > Hmm... Something seems to be wrong!< / div >
< / div >
< div class = "block right mode-basedt mode-channel_chat" >
2019-08-21 08:00:01 +00:00
< div class = "title" > {{tr "Private chats" /}}
< div class = "container-indicator" >
< div class = "chat-unread-counter" > -1< / div >
< / div >
< / div >
< div class = "value button chat-counter" > Hmm... Something seems to be wrong!< / div >
2019-07-09 22:52:08 +00:00
< / div >
2019-08-30 21:06:39 +00:00
< div class = "block right mode-based mode-client_info" >
< div class = "title" > < / div >
< div class = "value button open-conversation" > error: open conversation< / div >
< / div >
2020-01-30 23:54:00 +00:00
< div class = "block right mode-based mode-music_bot" >
< div class = "title" > < / div >
< div class = "value button bot-add-song" > {{tr "Add song" /}}< / div >
< / div >
2019-07-09 22:52:08 +00:00
< / div >
< / script >
< script class = "jsrender-template" id = "tmpl_frame_chat_private" type = "text/html" >
< div class = "container-private-conversations" >
< div class = "conversation-list" >
< div class = "no-chats" >
< div > {{tr "You dont have any chats yet!" /}}< / div >
< / div >
< / div >
< div class = "container-seperator vertical" seperator-id = "seperator-conversation-list-messages" > < / div >
< div class = "conversation" >
2019-08-21 08:00:01 +00:00
< div class = "spacer" > < / div >
2019-12-21 20:50:59 +00:00
< div class = "container-messages" > < / div >
2019-08-30 21:06:39 +00:00
< div class = "chatbox" >
< div class = "container-typing" > {{tr "Partner is typing..." /}}< / div >
< node key = "chatbox" > < / node >
2019-12-21 14:01:18 +00:00
< div class = "container-format-helper" > < / div >
2019-08-30 21:06:39 +00:00
< / div >
2019-07-09 22:52:08 +00:00
< / div >
< / div >
< / script >
< script class = "jsrender-template" id = "tmpl_frame_chat_private_entry" type = "text/html" >
< div class = "conversation-entry" >
< div class = "container-avatar" >
2019-08-21 08:00:01 +00:00
< node key = "avatar" > < / node >
2019-07-09 22:52:08 +00:00
< div class = "chat-unread" > < / div >
< / div >
< div class = "info" >
< a class = "client-name" > {{>client_name}}< / a >
2019-08-21 08:00:01 +00:00
< a class = "last-message" > {{>last_time}}< / a >
< / div >
< div class = "button-close" >
< / div >
< / div >
< / script >
< script class = "jsrender-template" id = "tmpl_frame_chat_private_message" type = "text/html" >
< div class = "message-entry" message-id = "{{>message_id}}" >
< div class = "container-avatar" >
< node key = "avatar" > < / node >
< / div >
< div class = "container-message" >
< div class = "info" >
< a class = "client-name" >
< node key = "client_name" / >
< / a >
< a class = "timestamp" > {{>timestamp}}< / a >
< / div >
< div class = "message" >
< node key = "message" > < / node >
< / div >
2019-07-09 22:52:08 +00:00
< / div >
< / div >
< / script >
2019-08-21 08:00:01 +00:00
< script class = "jsrender-template" id = "tmpl_frame_chat_private_spacer" type = "text/html" >
< div class = "spacer-entry" >
{{>message}}
< / div >
< / script >
2019-07-09 22:52:08 +00:00
< script class = "jsrender-template" id = "tmpl_frame_chat_chatbox" type = "text/html" >
< div class = "container-chatbox" >
{{if emojy_support}}
< div class = "container-emojis" >
< div class = "button-emoji" >
< div class = "container-icon" >
< img src = "img/smiley-smile.svg" >
< / div >
< / div >
< / div >
{{/if}}
< div class = "container-input" >
2019-08-21 08:00:01 +00:00
< div class = "textarea" contenteditable = "true"
placeholder="{{tr 'Type your message here...' /}}">< / div >
< / div >
< / div >
< / script >
< script class = "jsrender-template" id = "tmpl_frame_chat_channel" type = "text/html" >
< div class = "container-channel-chat" >
< div class = "container-chat" > < / div >
< node key = "chatbox" > < / node >
2019-12-21 14:01:18 +00:00
< div class = "container-format-helper" > < / div >
2019-08-21 08:00:01 +00:00
< / div >
< / script >
< script class = "jsrender-template" id = "tmpl_frame_chat_channel_messages" type = "text/html" >
< div class = "container-channel-chat-messages" >
< div class = "container-messages" > < / div >
< div class = "new-message" >
< a > {{tr "Scroll to new messages" /}}< / a >
< / div >
< div class = "no-permissions" >
< div > {{tr "You don't have permissions to participate in this conversation!" /}}< / div >
< / div >
< div class = "private-conversation" >
< div > {{tr "Conversation is private. Join the channel to participate!" /}}< / div >
< / div >
2019-10-19 15:13:40 +00:00
< div class = "not-supported" >
< div >
{{tr "The target server does not support channel chats." /}}< br >
{{tr "You're only able to write in your own channel" /}}
< / div >
< / div >
2019-08-21 08:00:01 +00:00
< / div >
< / script >
< script class = "jsrender-template" id = "tmpl_frame_chat_channel_message" type = "text/html" >
< div class = "message-entry" message-id = "{{>message_id}}" >
< div class = "container-avatar" >
< node key = "avatar" > < / node >
< / div >
< div class = "container-message" >
< div class = "info" >
< div class = "button-delete" >
< img src = "img/icon_conversation_message_delete.svg" alt = "X" / >
< / div >
< a class = "client-name" >
< node key = "client_name" > < / node >
< / a >
< a class = "timestamp" > {{>timestamp}}< / a >
< br > <!-- Only for copy purposes -->
< / div >
< div class = "message" >
< node key = "message" > < / node >
2019-12-21 13:12:12 +00:00
< br style = "content: ' '" > <!-- Only for copy purposes -->
2019-08-21 08:00:01 +00:00
< / div >
2019-07-09 22:52:08 +00:00
< / div >
< / div >
< / script >
2019-08-21 08:00:01 +00:00
< script class = "jsrender-template" id = "tmpl_frame_chat_client_info" type = "text/html" >
< div class = "container-client-info" >
< div class = "heading" >
< div class = "container-avatar" >
< div class = "avatar" >
< img src = "img/style/avatar.png" style = "height: 100%; width: 100%" >
< / div >
< div class = "container-avatar-edit" title = "{{tr 'Upload Avatar' /}}" >
< img src = "img/photo-camera.svg" >
< / div >
< / div >
< a class = "client-name" > < / a >
< div class = "container-description" >
< a class = "client-description" > error: description< / a >
< / div >
< / div >
< div class = "general-info" >
< div class = "block block-left" >
< div class = "container-property" >
2020-03-19 10:35:39 +00:00
< div class = "container-icon" >
< img src = "img/icon_client_online_time.svg" / >
< / div >
2019-08-21 08:00:01 +00:00
< div class = "property" >
< div class = "title" > {{tr "Online since" /}}< / div >
< div class = "value client-online-time" > error: online-time< / div >
< / div >
< / div >
< div class = "container-property" >
2020-03-19 10:35:39 +00:00
< div class = "container-icon" >
< img src = "img/icon_client_country.svg" / >
< / div >
2019-08-21 08:00:01 +00:00
< div class = "property" >
< div class = "title" > {{tr "Country" /}}< / div >
< div class = "value client-country" > < a > error: country< / a > < / div >
< / div >
< / div >
< div class = "container-property container-teaforo" >
2020-03-19 10:35:39 +00:00
< div class = "container-icon" >
< img src = "img/icon_client_forum_account.svg" / >
< / div >
2019-08-21 08:00:01 +00:00
< div class = "property" >
< div class = "title" > {{tr "TeaSpeak Forum Account" /}}< / div >
< div class = "value client-teaforo-account" > < a > error: online-time< / a > < / div >
< / div >
< / div >
< div class = "container-property" >
2020-03-19 10:35:39 +00:00
< div class = "container-icon" >
< img src = "img/icon_client_version.svg" / >
< / div >
2019-08-21 08:00:01 +00:00
< div class = "property" >
< div class = "title" > {{tr "Version" /}}< / div >
< div class = "value client-version" > < a > error: version< / a > < / div >
< / div >
< / div >
< div class = "container-property" >
2020-03-19 10:35:39 +00:00
<!-- Using inline style because the icon itself is a bit off. A better way would be to edit the icon itself, but I'm unable to do so.... -->
< div class = "container-icon" style = "margin-right: .16em; margin-left: .04em;" >
< img src = "img/icon_client_volume.svg" / >
< / div >
2019-08-21 08:00:01 +00:00
< div class = "property" >
< div class = "title" > {{tr "Volume" /}}< / div >
< div class = "value client-local-volume" > error: local volume< / div >
< / div >
< / div >
< div class = "container-property list container-client-status" >
2020-03-19 10:35:39 +00:00
< div class = "container-icon" >
< img src = "img/icon_client_status.svg" / >
< / div >
2019-08-21 08:00:01 +00:00
< div class = "property" >
< div class = "title" > {{tr "Status" /}}< / div >
< div class = "value client-status" >
< div > error: client status< / div >
< / div >
< / div >
< / div >
< / div >
< div class = "block block-right" >
< div class = "container-property" >
< div class = "icon_em client-permission_server_groups" > < / div >
< div class = "property" >
< div class = "title" > {{tr "Channel Group" /}}< / div >
< div class = "value client-group-channel" > < a > error: channel group< / a > < / div >
< / div >
< / div >
< div class = "container-property list" >
< div class = "icon_em client-permission_channel" > < / div >
< div class = "property" >
< div class = "title" > {{tr "Server Groups" /}}< / div >
< div class = "value client-group-server" >
< div > error: client server groups< / div >
< / div >
< / div >
< / div >
< / div >
< / div >
< div class = "button-close" > < / div >
2019-08-30 21:06:39 +00:00
< div class = "button-more" > {{tr "Full Info" /}}< / div >
2019-08-21 08:00:01 +00:00
< / div >
< / script >
2019-07-09 22:52:08 +00:00
2020-01-30 23:54:00 +00:00
< script class = "jsrender-template" id = "tmpl_frame_chat_music_info" type = "text/html" >
< div class = "container-music-info" >
< div class = "player" >
< div class = "container-thumbnail" >
< div class = "thumbnail" >
2020-02-02 14:05:36 +00:00
<!-- https://i.ytimg.com/vi/DeXoACwOT1o/maxresdefault.jpg -->
<!-- <img src="img/music/no - thumbnail.png" style="height: 100%; width: 100%"> -->
< img src = "https://i.ytimg.com/vi/DeXoACwOT1o/maxresdefault.jpg" >
2020-01-30 23:54:00 +00:00
< / div >
< / div >
2020-02-02 14:05:36 +00:00
< div class = "container-song-info" >
< a class = "song-name" > CHOSEN ONE | BEST EPIC MUSIC OF 2018 (Part 4) And some more info< / a >
< a class = "song-description" > < / a >
< / div >
< div class = "container-timeline" >
< div class = "timestamps" >
< div class = "current" > 00:01:13< / div >
< div class = "max" > 00:03:22< / div >
< / div >
< div class = "timeline" >
< div class = "indicator indicator-buffered" > < / div >
< div class = "indicator indicator-playtime" > < / div >
< div class = "thumb" > < div class = "dot" > < / div > < / div >
< / div >
< div class = "control-buttons" >
< div class = "button button-rewind" >
< svg version = "1.1" xmlns = "http://www.w3.org/2000/svg" xmlns:xlink = "http://www.w3.org/1999/xlink" x = "0px" y = "0px"
viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve">
< path transform = "rotate(180, 256, 256)" d = "M504.171,239.489l-234.667-192c-6.357-5.227-15.189-6.293-22.656-2.773c-7.424,3.541-12.181,11.051-12.181,19.285v146.987
L34.837,47.489c-6.379-5.227-15.189-6.293-22.656-2.773C4.757,48.257,0,55.767,0,64.001v384c0,8.235,4.757,15.744,12.181,19.285
c2.923,1.365,6.059,2.048,9.152,2.048c4.843,0,9.621-1.643,13.504-4.821l199.829-163.499v146.987
c0,8.235,4.757,15.744,12.181,19.285c2.923,1.365,6.059,2.048,9.152,2.048c4.843,0,9.621-1.643,13.504-4.821l234.667-192
c4.949-4.053,7.829-10.112,7.829-16.512S509.12,243.543,504.171,239.489z"/>
< / svg >
< / div >
< div class = "button button-play" >
< svg version = "1.1" xmlns = "http://www.w3.org/2000/svg" xmlns:xlink = "http://www.w3.org/1999/xlink" x = "0px" y = "0px"
viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve">
< path d = "M500.203,236.907L30.869,2.24c-6.613-3.285-14.443-2.944-20.736,0.939C3.84,7.083,0,13.931,0,21.333v469.333
c0,7.403,3.84,14.251,10.133,18.155c3.413,2.112,7.296,3.179,11.2,3.179c3.264,0,6.528-0.747,9.536-2.24l469.333-234.667
C507.435,271.467,512,264.085,512,256S507.435,240.533,500.203,236.907z"/>
< / svg >
< / div >
< div class = "button button-pause" >
< svg version = "1.1" xmlns = "http://www.w3.org/2000/svg" xmlns:xlink = "http://www.w3.org/1999/xlink" x = "0px" y = "0px"
viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve">
< path transform = 'rotate(90, 256, 256)' d = "M85.333,213.333h341.333C473.728,213.333,512,175.061,512,128s-38.272-85.333-85.333-85.333H85.333
C38.272,42.667,0,80.939,0,128S38.272,213.333,85.333,213.333z"/>
< path transform = 'rotate(90, 256, 256)' d = "M426.667,298.667H85.333C38.272,298.667,0,336.939,0,384s38.272,85.333,85.333,85.333h341.333
C473.728,469.333,512,431.061,512,384S473.728,298.667,426.667,298.667z"/>
< / svg >
< / div >
< div class = "button button-forward" >
< svg version = "1.1" xmlns = "http://www.w3.org/2000/svg" xmlns:xlink = "http://www.w3.org/1999/xlink" x = "0px" y = "0px"
viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve">
< path d = "M504.171,239.489l-234.667-192c-6.357-5.227-15.189-6.293-22.656-2.773c-7.424,3.541-12.181,11.051-12.181,19.285v146.987
L34.837,47.489c-6.379-5.227-15.189-6.293-22.656-2.773C4.757,48.257,0,55.767,0,64.001v384c0,8.235,4.757,15.744,12.181,19.285
c2.923,1.365,6.059,2.048,9.152,2.048c4.843,0,9.621-1.643,13.504-4.821l199.829-163.499v146.987
c0,8.235,4.757,15.744,12.181,19.285c2.923,1.365,6.059,2.048,9.152,2.048c4.843,0,9.621-1.643,13.504-4.821l234.667-192
c4.949-4.053,7.829-10.112,7.829-16.512S509.12,243.543,504.171,239.489z"/>
< / svg >
< / div >
< / div >
< / div >
< / div >
< div class = "container-playlist" >
< div class = "overlay overlay-loading" >
< a > {{tr "Fetching playlist..." /}}< / a >
< / div >
< div class = "overlay overlay-no-permissions" >
< a > {{tr "You don't have permissions to see this playlist" /}}< / a >
< button class = "btn btn-blue button-reload-playlist" > {{tr "Reload" /}}< / button >
< / div >
< div class = "overlay overlay-error" >
< a > {{tr "An error occurred while fetching the playlist" /}}< / a >
< button class = "btn btn-blue button-reload-playlist" > {{tr "Reload" /}}< / button >
< / div >
< div class = "overlay overlay-empty" >
< a > {{tr "The playlist is currently empty." /}}< / a >
< button class = "btn btn-green button-song-add" > {{tr "Add a song" /}}< / button >
< / div >
< div class = "playlist" >
< div class = "entry" >
< div class = "container-thumbnail" >
<!-- <img src="img/music/no - thumbnail.png" style="height: 100%; width: 100%"> -->
< img src = "https://i.ytimg.com/vi/KaXXVzGy7Y8/maxresdefault.jpg" >
< / div >
< div class = "container-data" >
< div class = "row" >
< div class = "name" > 2-Hours Epic Music | THE POWER OF EPIC MUSIC - Best Of Collection - Vol.5 - 2019< / div >
< div class = "container-delete" > < img src = "img/icon_conversation_message_delete.svg" alt = "X" > < / div >
< / div >
< div class = "row second" >
< div class = "description" > It is time for another 2-Hour Epic Music Mix. So far 2019 has been one amazing year for the orchestral epic music genre and i cannot wait for more. Also incl...< / div >
< div class = "length" > 00:22:01< / div >
< / div >
< / div >
< / div >
< div class = "entry" >
< div class = "container-thumbnail" >
< img src = "img/music/no-thumbnail.png" style = "height: 100%; width: 100%" >
< / div >
< div class = "container-data" >
< div class = "row" >
< div class = "name" > CHOSEN ONE | BEST EPIC MUSIC OF 2018 (Part 4) And some more info< / div >
< div class = "container-delete" > < img src = "img/icon_conversation_message_delete.svg" alt = "X" > < / div >
< / div >
< div class = "row second" >
< div class = "description" > This is an example song description which needs some work< / div >
< div class = "length" > 00:22:01< / div >
< / div >
< / div >
< / div >
< div class = "entry" >
< div class = "container-thumbnail" >
< img src = "img/music/no-thumbnail.png" style = "height: 100%; width: 100%" >
< / div >
< div class = "container-data" >
< div class = "row" >
< div class = "name" > CHOSEN ONE | BEST EPIC MUSIC OF 2018 (Part 4) And some more info< / div >
< div class = "container-delete" > < img src = "img/icon_conversation_message_delete.svg" alt = "X" > < / div >
< / div >
< div class = "row second" >
< div class = "description" > This is an example song description which needs some work< / div >
< div class = "length" > 00:22:01< / div >
< / div >
< / div >
< / div >
2020-01-30 23:54:00 +00:00
< / div >
< / div >
< div class = "button-close" > < / div >
< / div >
< / script >
2020-02-02 14:05:36 +00:00
< script class = "jsrender-template" id = "tmpl_frame_music_playlist_entry" type = "text/html" >
< div class = "entry shown" >
< div class = "container-thumbnail" >
< img src = "img/music/no-thumbnail.png" >
< / div >
< div class = "container-data" >
< div class = "row" >
< div class = "name" > error: name< / div >
< div class = "container-delete button-delete" > < img src = "img/icon_conversation_message_delete.svg" alt = "X" > < / div >
< / div >
< div class = "row second" >
< div class = "description" > error: description< / div >
< div class = "length" > --:--:--< / div >
< / div >
< / div >
< / div >
< / script >
2019-04-04 19:47:52 +00:00
< script class = "jsrender-template" id = "tmpl_select_info" type = "text/html" >
< div class = "select_info" style = "width: 100%; max-width: 100%" >
2019-05-24 20:14:02 +00:00
< button type = "button" class = "close button-modal-close" aria-label = "Close" >
2019-04-04 19:47:52 +00:00
< span aria-hidden = "true" > × < / span >
< / button >
< div class = "container-banner" > < / div >
< div class = "container-select-info" > < / div >
< / div >
< / script >
2019-08-21 08:00:01 +00:00
< div class = "template-group-modals" >
< script class = "jsrender-template" id = "tmpl_modal" type = "text/html" >
< div class = "modal fade" tabindex = "-1" role = "dialog" aria-hidden = "true" >
< div class = "modal-dialog modal-dialog-centered" role = "document" >
< div class = "modal-content" style = "{{if full_size}}flex-grow: 1{{/if}}" >
< div class = "modal-header {{if header_class}}{{:header_class}}{{/if}}" >
< div class = "container-icon" >
< img src = "img/favicon/teacup.png" >
< / div >
< node key = "modal_header" > < / node >
< div class = "container-close" >
< div class = "button-modal-close icon_em client-close_button" > < / div >
< / div >
< / div >
< div class = "modal-body" >
< node key = "modal_body" > < / node >
< / div >
{{if modal_footer}}
< div class = "modal-footer" >
< node key = "modal_footer" > < / node >
< / div >
{{/if}}
2019-02-17 15:08:10 +00:00
< / div >
2018-09-30 19:50:59 +00:00
< / div >
< / div >
2019-08-21 08:00:01 +00:00
< / script >
2019-02-17 15:08:10 +00:00
2019-08-21 08:00:01 +00:00
< script class = "jsrender-template" id = "tmpl_modal_input" type = "text/html" >
< div class = "modal fade" tabindex = "-1" role = "dialog" aria-hidden = "true" >
< div class = "modal-dialog modal-dialog-centered" role = "document" >
< div class = "modal-content" >
< div class = "modal-header" >
< div class = "container-icon" >
< img src = "img/favicon/teacup.png" >
< / div >
< node key = "modal_header" > < / node >
< div class = "container-close" >
< div class = "button-modal-close icon_em client-close_button" > < / div >
< / div >
< / div >
< div class = "modal-body modal-body-input modal-green" >
< node key = "question" > < / node >
< div class = "form-group container-value {{if field_title}}with-title{{/if}}" >
{{if field_title}}
2019-02-17 15:08:10 +00:00
< label for = "input-modal-input" class = "bmd-label-floating" > {{>field_title}}< / label >
{{/if}}
2019-08-21 08:00:01 +00:00
<!-- placeholder="ts.teaspeak.de" -->
<!-- aria - describedby="input - connect - address - help" -->
< input id = "input-modal-input"
type="text"
class="form-control"
{{if field_placeholder}} placeholder="{{>field_placeholder}}" {{/if}}
autocomplete="off"
>
{{if error_message || field_label}}
< div class = "container-help-feedback" >
{{if error_message}}
< div class = "invalid-feedback" > {{>error_message}}< / div >
{{/if}}
{{if field_label}}
2019-02-17 15:08:10 +00:00
< span class = "bmd-help" > {{>field_label}}< / span >
2019-08-21 08:00:01 +00:00
{{/if}}
< / div >
2019-02-17 15:08:10 +00:00
{{/if}}
< / div >
2019-08-21 08:00:01 +00:00
< div class = "buttons" >
< button type = "button" class = "btn btn-warning button-cancel" > {{tr "Cancel" /}}
< / button >
< button type = "button" class = "btn btn-raised btn-success button-submit" > {{tr "Ok"
/}}
< / button >
< / div >
2019-02-17 15:08:10 +00:00
< / div >
< / div >
2019-01-28 19:36:11 +00:00
< / div >
2018-12-28 14:39:23 +00:00
< / div >
2019-08-21 08:00:01 +00:00
< / script >
2019-02-17 15:08:10 +00:00
2019-08-21 08:00:01 +00:00
< script class = "jsrender-template" id = "tmpl_modal_yesno" type = "text/html" >
< div class = "modal fade" tabindex = "-1" role = "dialog" aria-hidden = "true" >
< div class = "modal-dialog modal-dialog-centered" role = "document" >
< div class = "modal-content" >
< div class = "modal-header" >
< div class = "container-icon" >
< img src = "img/favicon/teacup.png" >
< / div >
< node key = "modal_header" > < / node >
< div class = "container-close" >
< div class = "button-modal-close icon_em client-close_button" > < / div >
< / div >
< / div >
< div class = "modal-body modal-body-yesno" >
< node key = "question" > < / node >
< div class = "buttons" >
< button type = "button" class = "btn btn-danger button-no" > {{>text_no}}< / button >
< button type = "button" class = "btn btn-raised btn-success button-yes" > {{>text_yes}}
< / button >
< / div >
< / div >
2019-02-17 15:08:10 +00:00
< / div >
< / div >
2018-12-28 14:39:23 +00:00
< / div >
2019-08-21 08:00:01 +00:00
< / script >
< / div >
2018-09-30 19:50:59 +00:00
2019-02-17 15:08:10 +00:00
<!-- Template for the connect modal -->
< script class = "jsrender-template" id = "tmpl_connect" type = "text/html" >
2019-08-21 08:00:01 +00:00
< div class = "container-connect-input" >
< div class = "row container-address-password" >
< div class = "form-group container-address" >
< label > {{tr "Server Address" /}}< / label >
< input type = "text" class = "form-control" aria-describedby = "input-connect-address-help"
placeholder="ts.teaspeak.de" autocomplete="off">
< div class = "invalid-feedback" > {{tr "Please enter a valid server address" /}}< / div >
2019-02-17 15:08:10 +00:00
< / div >
2019-08-21 08:00:01 +00:00
< div class = "form-group container-password" >
< label class = "bmd-label-floating" > {{tr "Server password" /}}< / label >
< form autocomplete = "off" onsubmit = "return false;" >
< input id = "input-connect-password-{{>password_id}}" type = "password" class = "form-control"
autocomplete="off">
< / form >
< / div >
< / div >
< div class = "row container-profile-name" >
2019-02-17 15:08:10 +00:00
< div class = "form-group container-nickname" >
2019-08-21 08:00:01 +00:00
< label > {{tr "Nickname" /}}< / label >
< input type = "text" class = "form-control" aria-describedby = "input-connect-nickname-help"
placeholder="Another TeaSpeak user">
2019-02-17 15:08:10 +00:00
< div class = "invalid-feedback" > {{tr "Please enter a valid server nickname" /}}< / div >
<!-- <small id="input - connect - nickname - help" class="form - text text - muted">We'll never share your email with anyone else.</small> -->
< / div >
< div class = "container-profile-manage" >
< div class = "form-group container-select-profile" >
2019-08-21 08:00:01 +00:00
< label for = "select-connect-profile" > {{tr "Connect Profile" /}}< / label >
2019-02-17 15:08:10 +00:00
< select class = "form-control" id = "select-connect-profile" > < / select >
2019-10-19 16:03:48 +00:00
< div class = "invalid-feedback" > {{tr "Selected profile is invalid. Select another one or fix the profile." /}}
2019-08-21 08:00:01 +00:00
< / div >
< / div >
< div class = "form-group" >
< button type = "button" class = "btn btn-raised button-manage-profiles" > {{tr "Profiles" /}}
< / button >
2019-02-17 15:08:10 +00:00
< / div >
< / div >
2019-08-21 08:00:01 +00:00
< / div >
< div class = "container-buttons" >
< button type = "button" class = "btn btn-raised button-toggle-last-servers" > < a > {{tr "Show last servers"
/}}< / a >
< div class = "arrow down" > < / div >
< / button >
< div class = "container-buttons-connect" >
{{if default_connect_new_tab}}
< button type = "button" class = "btn btn-raised btn-success button-connect button-left" > {{tr
"Connect in same tab" /}}
< / button >
< button type = "button" class = "btn btn-raised btn-success button-connect-new-tab button-right" >
{{tr "Connect" /}}
< / button >
{{else}}
{{if multi_tab}}
< button type = "button" class = "btn btn-raised btn-success button-connect-new-tab button-left" > {{tr
"Connect in a new tab" /}}
< / button >
{{/if}}
< button type = "button" class = "btn btn-raised btn-success button-connect button-right" > {{tr
"Connect" /}}
< / button >
{{/if}}
< / div >
< / div >
< / div >
< div class = "container-last-servers" >
< hr >
< div class = "table" >
< div class = "head" >
< div class = "column delete" > Nr< / div >
< div class = "column name" > {{tr "Name" /}}< / div >
< div class = "column address" > {{tr "Address" /}}< / div >
< div class = "column password" > {{tr "Password" /}}< / div >
< div class = "column country-name" > {{tr "Country" /}}< / div >
< div class = "column clients" > {{tr "Clients" /}}< / div >
< div class = "column connections" > {{tr "Connections" /}}< / div >
< / div >
< div class = "body" >
< div class = "body-empty" >
< a > {{tr "No connections yet made" /}}< / a >
< / div >
< / div >
< / div >
< / div >
2019-02-17 15:08:10 +00:00
< / script >
2018-10-20 17:58:06 +00:00
<!-- Template for channel create & edit -->
2018-10-14 11:27:48 +00:00
< script class = "jsrender-template" id = "tmpl_channel_edit" type = "text/html" >
2019-08-21 08:00:01 +00:00
< div > <!-- only for rendering -->
< div class = "container-general" >
< div class = "container-name-icon" >
< input type = "text" class = "input-boxed channel_name" placeholder = "{{tr 'Channel name' /}}"
value="{{>channel_name}}"/>
< div class = "container-icon-select" >
< div class = "button-select-icon icon-preview" >
2019-04-29 17:43:08 +00:00
< node key = "channel_icon_general" / >
2019-03-25 19:04:04 +00:00
< / div >
2019-08-21 08:00:01 +00:00
< div class = "container-dropdown" >
< div class = "button" >
< div class = "arrow down" > < / div >
2019-04-29 17:43:08 +00:00
< / div >
2019-08-21 08:00:01 +00:00
< div class = "dropdown" >
< div class = "entry button-select-icon" > {{tr "Edit icon" /}}< / div >
< div class = "entry button-icon-remove" > {{tr "Remove icon" /}}< / div >
2019-04-29 17:43:08 +00:00
< / div >
< / div >
< / div >
2019-08-21 08:00:01 +00:00
< / div >
< div class = "container-password" >
< input class = "input-boxed channel_password" placeholder = "{{tr 'Password' /}}" type = "password"
id="field_channel_password_{{rnd '0~13377331'/}}" {{if channel_flag_password}}
value="WolverinDEV" {{/if}}/>
< / div >
< div class = "container-topic" >
< input class = "input-boxed channel_topic" placeholder = "{{tr 'Topic' /}}"
value="{{>channel_topic}}"/>
< / div >
< div class = "container-description" >
< div class = "toolbar" >
< div class = "button button-bold" > B< / div >
< div class = "button button-italic" > I< / div >
< div class = "button button-underline" > U< / div >
< label class = "button button-color" >
< input type = "color" value = "#FF0000" >
< a class = "rainbow-letter" > C< / a >
< / label >
< / div >
< textarea class = "input-boxed channel_description" placeholder = "{{tr 'Description' /}}" > {{>channel_description}}< / textarea >
< / div >
< / div >
2019-02-17 15:08:10 +00:00
2019-08-21 08:00:01 +00:00
< div class = "mode-container" >
< div class = "container-simple" >
< div class = "container-left border" >
< div class = "header" > {{tr "Channel Options" /}}< / div >
< div class = "content" >
< div class = "container-type" >
< a > {{tr "Channel Type"/}}< / a >
< select name = "channel-type" class = "input-boxed channel-type" >
< option name = "channel-type" value = "temp" > {{tr "Temporary" /}}< / option >
< option name = "channel-type" value = "semi" > {{tr "Semi-Permanent" /}}< / option >
< option name = "channel-type" value = "perm" > {{tr "Permanent" /}}< / option >
< option name = "channel-type" value = "def" > {{tr "Default Channel" /}}< / option >
< / select >
< / div >
< div class = "container-codec" >
< a > {{tr "Channel Codec"/}}< / a >
< select name = "voice_template" class = "input-boxed channel-codec" >
2019-10-19 16:03:48 +00:00
< option name = "voice_template" value = "custom" style = "display: none" > {{tr "Custom (Advanced)" /}}
2019-08-21 08:00:01 +00:00
< / option >
< option name = "voice_template" value = "voice_mobile" > {{tr "Mobile" /}}< / option >
< option name = "voice_template" value = "voice_desktop" > {{tr "Voice" /}}< / option >
< option name = "voice_template" value = "music" > {{tr "Music" /}}< / option >
< / select >
2019-02-17 15:08:10 +00:00
< / div >
< / div >
2019-08-21 08:00:01 +00:00
< / div >
< div class = "container-right" >
< div class = "header" > {{tr "Sorting and Talk power" /}}< / div >
< div class = "content" >
< div class = "container-sort" >
< a > {{tr "Sort this channel after:"/}}< / a >
< select class = "input-boxed order_id" >
2018-02-27 16:20:49 +00:00
< / select >
< / div >
2019-08-21 08:00:01 +00:00
< div class = "container-talk" >
< a > < / a >
< div class = "input-boxed" >
< a class = "prefix" > {{tr "Talk power:" /}}< / a >
< input type = "number" type = "number" min = "0" name = "talk_power"
value="{{if channel_needed_talk_power}}{{:channel_needed_talk_power}}{{else}}0{{/if}}">
< div class = "container-tooltip tooltip-permission-subscribe" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a > {{tr "Required power to talk in this channel" /}}< / a >
< / div >
< / div >
< / div >
2019-02-17 15:08:10 +00:00
< / div >
2018-02-27 16:20:49 +00:00
< / div >
< / div >
2019-08-21 08:00:01 +00:00
< / div >
< div class = "container-advanced" >
< div class = "categories" >
< div class = "entry" container = "container-standard" > {{tr "Standard" /}}< / div >
< div class = "entry" container = "container-audio" > {{tr "Audio" /}}< / div >
< div class = "entry" container = "container-permissions" > {{tr "Permissions" /}}< / div >
< div class = "entry" container = "container-misc" > {{tr "Misc" /}}< / div >
< / div >
< div class = "bodies" >
< div class = "body container-standard" >
< div class = "container-top" >
< div class = "container-left border" >
< div class = "header" > {{tr "Channel Type" /}}< / div >
< div class = "content" >
< fieldset class = "container-channel-type" >
< label class = "type type-temp" >
< div class = "ratio-button" >
2019-10-19 15:13:40 +00:00
< input type = "radio" name = "channel_type" value = "temp" / >
2019-08-21 08:00:01 +00:00
< div class = "mark" > < / div >
< / div >
< a > {{tr "Temporary" /}}< / a >
< / label >
< label class = "type type-semi" >
< div class = "ratio-button" >
2019-10-19 15:13:40 +00:00
< input type = "radio" name = "channel_type" value = "semi" / >
2019-08-21 08:00:01 +00:00
< div class = "mark" > < / div >
< / div >
< a > {{tr "Semi-Permanent" /}}< / a >
2019-02-17 15:08:10 +00:00
< / label >
2019-08-21 08:00:01 +00:00
< div class = "container-perm-default" >
< label class = "type type-perm" >
< div class = "ratio-button" >
2019-10-19 15:13:40 +00:00
< input type = "radio" name = "channel_type" value = "perm" / >
2019-08-21 08:00:01 +00:00
< div class = "mark" > < / div >
< / div >
< a > {{tr "Permanent" /}}< / a >
< / label >
< label class = "container-default-channel" >
< a > {{tr "Default Channel" /}}< / a >
< div class = "checkbox" >
< input type = "checkbox" class = "input-flag-default" >
< div class = "mark" > < / div >
< / div >
< / label >
< / div >
< / fieldset >
< / div >
< / div >
< div class = "container-right" >
< div class = "header" > {{tr "Sorting and Talk power" /}}< / div >
< div class = "content" >
< div class = "container-sort" >
< a > {{tr "Sort this channel after:"/}}< / a >
< select class = "input-boxed order_id" >
< / select >
< / div >
< div class = "container-talk" >
< a > < / a >
< div class = "input-boxed" >
< a class = "prefix" > {{tr "Talk power:" /}}< / a >
< input type = "number" type = "number" min = "0" name = "talk_power"
value="{{if channel_needed_talk_power}}{{:channel_needed_talk_power}}{{else}}0{{/if}}">
< div class = "container-tooltip tooltip-permission-subscribe" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a > {{tr "Required power to talk in this channel" /}}< / a >
< / div >
< / div >
< / div >
2019-02-17 15:08:10 +00:00
< / div >
2019-08-21 08:00:01 +00:00
< / div >
< / div >
< / div >
< div class = "container-bottom" >
< div class = "container-left container-max-users" >
< div class = "header" > {{tr "Max users" /}}< / div >
< div class = "content" >
< fieldset >
< label class = "container-unlimited" >
< div class = "ratio-button" >
< input type = "radio" name = "max_users" value = "unlimited" { { if
channel_flag_maxclients_unlimited}}checked{{/if}}/>
< div class = "mark" > < / div >
< / div >
< a > {{tr "Unlimited" /}}< / a >
< / label >
< label class = "container-limited" >
< div class = "ratio-button" >
< input type = "radio" name = "max_users" value = "limited" { { if
!channel_flag_maxclients_unlimited}}checked{{/if}}/>
< div class = "mark" > < / div >
< / div >
< a > {{tr "Limited" /}}< / a >
< div class = "input-boxed" >
< input class = "channel_maxclients"
value="{{if channel_maxclients}}{{:channel_maxclients}}{{else}}0{{/if}}"
type="number" min="0" max="99999999">
< div class = "container-tooltip tooltip-max-users" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a > {{tr "Max users which could join the channel" /}}< / a >
< / div >
< / div >
< / div >
< / label >
< / fieldset >
< / div >
< / div >
< div class = "container-right container-max-family-users" >
< div class = "header" > {{tr "Family Max users" /}}< / div >
< div class = "content" >
< fieldset >
< label class = "container-inherited" >
< div class = "ratio-button" >
< input type = "radio" name = "max_family_users" value = "inherited"
{{if channel_flag_maxfamilyclients_inherited}}checked{{/if}}/>
< div class = "mark" > < / div >
< / div >
< a > {{tr "Inherited" /}}< / a >
< / label >
< label class = "container-unlimited" >
< div class = "ratio-button" >
< input type = "radio" name = "max_family_users" value = "unlimited"
{{if channel_flag_maxfamilyclients_unlimited}}checked{{/if}}/>
< div class = "mark" > < / div >
< / div >
< a > {{tr "Unlimited" /}}< / a >
< / label >
< label class = "container-limited" >
< div class = "ratio-button" >
< input type = "radio" name = "max_family_users" value = "limited" { { if
!channel_flag_maxfamilyclients_unlimited & &
!channel_flag_maxfamilyclients_inherited}}checked{{/if}}/>
< div class = "mark" > < / div >
< / div >
< a > {{tr "Limited" /}}< / a >
< div class = "input-boxed" >
< input class = "channel_maxfamilyclients"
value="{{if channel_maxfamilyclients}}{{:channel_maxfamilyclients}}{{else}}0{{/if}}"
type="number" min="0" max="99999999">
< div class = "container-tooltip tooltip-max-family-users" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a > {{tr "Max users which could join the channel family"
/}}< / a >
< / div >
< / div >
< / div >
< / label >
< / fieldset >
< / div >
< / div >
< / div >
< / div >
< div class = "body container-audio" >
< div class = "container-top" >
< div class = "container-left container-presets" >
< div class = "header" > {{tr "Presets" /}}< / div >
< div class = "content" >
< fieldset style = "" >
2019-02-17 15:08:10 +00:00
< label >
2019-08-21 08:00:01 +00:00
< div class = "ratio-button" >
< input type = "radio" name = "voice_template" value = "voice_mobile" / >
< div class = "mark" > < / div >
< / div >
< a > {{tr "Voice Mobile" /}}< / a >
2019-02-17 15:08:10 +00:00
< / label >
2019-08-21 08:00:01 +00:00
2019-02-17 15:08:10 +00:00
< label >
2019-08-21 08:00:01 +00:00
< div class = "ratio-button" >
< input type = "radio" name = "voice_template"
value="voice_desktop"/>
< div class = "mark" > < / div >
< / div >
< a > {{tr "Voice Desktop" /}}< / a >
2019-02-17 15:08:10 +00:00
< / label >
2019-08-21 08:00:01 +00:00
< label >
< div class = "ratio-button" >
< input type = "radio" name = "voice_template" value = "music" / >
< div class = "mark" > < / div >
< / div >
< a > {{tr "Music" /}}< / a >
< / label >
< label >
< div class = "ratio-button" >
< input type = "radio" name = "voice_template" value = "custom" / >
< div class = "mark" > < / div >
< / div >
< a > {{tr "Custom" /}}< / a >
< / label >
< / fieldset >
< / div >
< / div >
< div class = "container-right border container-custom" >
< div class = "header" > {{tr "Custom Settings" /}}< / div >
< div class = "content" >
< div class = "custom" >
< div class = "contianer-codec-type" >
< a > {{tr "Codec:" /}}< / a >
< select class = "input-boxed voice_codec" >
< option value = "speex_narrow" >
{{tr "Speex Narrowband" /}}
< / option >
< option value = "speex_wide" >
{{tr "Speex Wideband" /}}
< / option >
< option value = "speex_ultra_wide" >
{{tr "Speex Ultra-Wideband" /}}
< / option >
< option value = "celt" >
{{tr "CELT Mono" /}}
< / option >
< option value = "opus_voice" >
{{tr "Opus Voice" /}}
< / option >
< option value = "opus_music" >
{{tr "Opus Music" /}}
< / option >
< / select >
< / div >
< div class = "container-quality" >
< label class = "bmd-label-static" >
{{tr "Quality:" /}}
< a class = "container-value" > < / a >
< / label >
< div class = "container-slider" >
< div class = "filler" style = "width: 30%" > < / div >
< div class = "thumb container-tooltip" style = "left: 30%" >
< div class = "tooltip" >
< a > 86%< / a >
< / div >
< / div >
< / div >
< / div >
2019-02-17 15:08:10 +00:00
< / div >
2019-08-21 08:00:01 +00:00
< / div >
< / div >
< / div >
< div class = "container-bottom" >
< div class = "header" > {{tr "Information" /}}< / div >
< div class = "content" >
< p >
{{tr "Estimated needed bandwidth:" /}}< a class = "container-needed-bandwidth" > 0.00 KiB/s< / a >
< / p >
< p class = "hint" >
{{tr "For bad internet connection, lower settings are recommend to reduce bandwidth." /}}
< / p >
2018-08-13 15:50:55 +00:00
< / div >
< / div >
2019-02-17 15:08:10 +00:00
< / div >
2019-08-21 08:00:01 +00:00
< div class = "body container-permissions" >
< div class = "container-left" >
< div class = "header" > {{tr "Regular needed powers:" /}}< / div >
2018-08-13 15:50:55 +00:00
< div class = "content" >
2019-08-21 08:00:01 +00:00
< div class = "container-permission" >
< a class = "name" > {{tr "Join" /}}< / a >
< div class = "input-boxed" >
< input type = "number" min = "0" value = "0" class = "value"
permission="i_channel_needed_join_power">
< div class = "container-tooltip tooltip-permission-join" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a > {{tr "Required power to join this channel" /}}< / a >
< / div >
< / div >
< / div >
< / div >
< div class = "container-permission" >
< a class = "name" > {{tr "View" /}}< / a >
< div class = "input-boxed" >
< input type = "number" min = "0" value = "0" class = "value"
permission="i_channel_needed_view_power">
< div class = "container-tooltip tooltip-permission-view" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a > {{tr "Required power to see this channel" /}}< / a >
< / div >
< / div >
2019-02-17 15:08:10 +00:00
< / div >
2019-08-21 08:00:01 +00:00
< / div >
< div class = "container-permission" >
2019-10-19 15:13:40 +00:00
< a class = "name" > {{tr "Description view" /}}< / a >
2019-08-21 08:00:01 +00:00
< div class = "input-boxed" >
< input type = "number" min = "0" value = "0" class = "value"
permission="i_channel_needed_description_view_power">
2019-10-19 15:13:40 +00:00
< div class = "container-tooltip tooltip-permission-view" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a > {{tr "Required power to see the channel description" /}}< / a >
< / div >
< / div >
< / div >
< / div >
< div class = "container-permission" >
< a class = "name" > {{tr "Subscribe" /}}< / a >
< div class = "input-boxed" >
< input type = "number" min = "0" value = "0" class = "value"
permission="i_channel_needed_subscribe_power">
2019-08-21 08:00:01 +00:00
< div class = "container-tooltip tooltip-permission-subscribe" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a > {{tr "Required power to subscribe to this channel" /}}< / a >
< / div >
< / div >
< / div >
< / div >
< div class = "container-permission" >
< a class = "name" > {{tr "Modify" /}}< / a >
< div class = "input-boxed" >
< input type = "number" min = "0" value = "0" class = "value"
permission="i_channel_needed_modify_power">
< div class = "container-tooltip tooltip-permission-modify" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a > {{tr "Required power to modify this channel permissions"
/}}< / a >
< / div >
< / div >
< / div >
< / div >
< div class = "container-permission" >
< a class = "name" > {{tr "Delete" /}}< / a >
< div class = "input-boxed" >
< input type = "number" min = "0" value = "0" class = "value"
permission="i_channel_needed_delete_power">
< div class = "container-tooltip tooltip-permission-delete" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a > {{tr "Required power to delete this channel" /}}< / a >
< / div >
< / div >
< / div >
< / div >
< / div >
< / div >
< div class = "container-right border" >
< div class = "header" > {{tr "File transfer needed powers:" /}}< / div >
< div class = "content" >
< div class = "container-permission" >
< a class = "name" > {{tr "Browse" /}}< / a >
< div class = "input-boxed" >
< input type = "number" min = "0" value = "0" class = "value"
permission="i_ft_needed_file_browse_power">
< div class = "container-tooltip tooltip-permission-ft-browse" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a > {{tr "Required power to browse all files and directories"
/}}< / a >
< / div >
< / div >
< / div >
< / div >
2018-08-13 15:50:55 +00:00
2019-08-21 08:00:01 +00:00
< div class = "container-permission" >
< a class = "name" > {{tr "Upload" /}}< / a >
< div class = "input-boxed" >
< input type = "number" min = "0" value = "0" class = "value"
permission="i_ft_needed_file_upload_power">
< div class = "container-tooltip tooltip-permission-ft-upload" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a > {{tr "Required power to upload files" /}}< / a >
< / div >
< / div >
< / div >
< / div >
< div class = "container-permission" >
< a class = "name" > {{tr "Download" /}}< / a >
< div class = "input-boxed" >
< input type = "number" min = "0" value = "0" class = "value"
permission="i_ft_needed_file_download_power">
< div class = "container-tooltip tooltip-permission-ft-download" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a > {{tr "Required power to download files" /}}< / a >
< / div >
< / div >
< / div >
< / div >
< div class = "container-permission" >
< a class = "name" > {{tr "Rename" /}}< / a >
< div class = "input-boxed" >
< input type = "number" min = "0" value = "0" class = "value"
permission="i_ft_needed_file_rename_power">
< div class = "container-tooltip tooltip-permission-ft-rename" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a > {{tr "Required power to rename files within this channel"
/}}< / a >
< / div >
< / div >
< / div >
< / div >
< div class = "container-permission" >
< a class = "name" > {{tr "Directory create" /}}< / a >
< div class = "input-boxed" >
< input type = "number" min = "0" value = "0" class = "value"
permission="i_ft_needed_directory_create_power">
< div class = "container-tooltip tooltip-permission-ft-create" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a > {{tr "Required power to create a directory" /}}< / a >
< / div >
< / div >
< / div >
< / div >
< div class = "container-permission" >
< a class = "name" > {{tr "Delete" /}}< / a >
< div class = "input-boxed" >
< input type = "number" min = "0" value = "0" class = "value"
permission="i_ft_needed_file_delete_power">
< div class = "container-tooltip tooltip-permission-ft-delete" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a > {{tr "Required power to delete a directory or file" /}}< / a >
< / div >
< / div >
< / div >
< / div >
< / div >
< / div >
< / div >
< div class = "body container-misc" >
< div class = "container-other" >
< div class = "header" > {{tr "Other Settings" /}}< / div >
< div class = "content" >
< div class = "container-phonetic" >
< a > {{tr "Phonetic Name:" /}}< / a >
< input class = "input-boxed channel_name_phonetic"
value="{{>channel_name_phonetic}}">
< / div >
< div class = "container-delay" >
< a > {{tr "Delete delay:" /}}< / a >
< div class = "input-boxed" >
< input class = "channel_delete_delay" type = "number" min = "0"
max="99999999"
value="{{if channel_delete_delay}}{{:channel_delete_delay}}{{else}}0{{/if}}">
< div class = "container-tooltip tooltip-misc-delete-delay" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
2019-10-19 16:03:48 +00:00
< a > {{tr "Time in seconds before the channel gets deleted when its empty." /}}< / a >
2019-08-21 08:00:01 +00:00
< / div >
< / div >
2018-08-13 15:50:55 +00:00
< / div >
2019-08-21 08:00:01 +00:00
< button class = "btn btn-info button-delete-max" > {{tr "Max" /}}< / button >
< / div >
< div class = "container-encrypt" >
< a > {{tr "Encrypt voice data:" /}}< / a >
< label >
< div class = "switch" >
< input class = "channel_codec_is_unencrypted" type = "checkbox" { { if
!channel_codec_is_unencrypted}}checked{{/if}}/>
< span class = "slider" >
< div class = "dot" > < / div >
< / span >
< / div >
< / label >
2018-08-13 15:50:55 +00:00
< / div >
< / div >
< / div >
< / div >
< / div >
2019-08-21 08:00:01 +00:00
< / div >
< / div >
< div class = "container-buttons" >
< label >
< div class = "switch" >
< input class = "input-advanced-mode" type = "checkbox" / >
< span class = "slider" >
< div class = "dot" > < / div >
< / span >
< / div >
< a > {{tr "Advanced mode" /}}< / a >
< / label >
< div class = "spacer" > < / div >
< button class = "btn btn-danger button_cancel" > {{tr "Cancel" /}}< / button >
< button class = "btn btn-success button_ok" > {{if create}}{{tr "Create" /}}{{else}}{{tr "Ok"
/}}{{/if}}
< / button >
< / div >
<!-- button_cancel, button_ok -->
< / div >
< / script >
< script class = "jsrender-template" id = "tmpl_server_edit" type = "text/html" >
< div > <!-- Only for rendering -->
< div class = "container-general" >
< div class = "container-name-icon" >
< input type = "text" class = "input-boxed virtualserver_name" placeholder = "{{tr 'Virtual Server name' /}}" value = "{{>virtualserver_name}}" / >
< div class = "container-icon-select" >
< div class = "button-select-icon icon-preview" >
< node key = "server_icon" / >
< / div >
< div class = "container-dropdown" >
< div class = "button" >
< div class = "arrow down" > < / div >
< / div >
< div class = "dropdown" >
< div class = "entry button-select-icon" > {{tr "Edit icon" /}}< / div >
< div class = "entry button-icon-remove" > {{tr "Remove icon" /}}< / div >
< / div >
< / div >
< / div >
< / div >
< div class = "container-password" >
< input class = "input-boxed virtualserver_password" placeholder = "{{tr 'Password' /}}" type = "password"
id="field_server_password_{{rnd '0~13377331'/}}" {{if virtualserver_flag_password}}
value="WolverinDEV" {{/if}}/>
< / div >
< div class = "container-slots" >
< div class = "input-boxed" >
< a class = "prefix" > {{tr "Slots:" /}}< / a >
< input type = "number" class = "virtualserver_maxclients" value = "{{:virtualserver_maxclients}}" >
< div class = "container-tooltip tooltip-slots-max" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a > {{tr "Max amount of simultaneously connected clients." /}}< / a >
< / div >
< / div >
< / div >
< div class = "input-boxed" >
< a class = "prefix" > {{tr "Reserved slots:" /}}< / a >
< input type = "number" class = "virtualserver_reserved_slots" value = "{{:virtualserver_reserved_slots}}" >
< div class = "container-tooltip tooltip-slots-reserved" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a > {{tr "Reserved server slots for admins." /}}< / a >
< / div >
< / div >
< / div >
< / div >
< div class = "container-welcome-message" >
< div class = "toolbar" >
< div class = "button button-bold" > B< / div >
< div class = "button button-italic" > I< / div >
< div class = "button button-underline" > U< / div >
< label class = "button button-color" >
< input type = "color" value = "#FF0000" >
< a class = "rainbow-letter" > C< / a >
< / label >
< / div >
< textarea class = "input-boxed virtualserver_welcomemessage" placeholder = "{{tr 'Welcome message' /}}" > {{>virtualserver_welcomemessage}}< / textarea >
< / div >
< / div >
< div class = "container-categories" >
< div class = "categories" >
< div class = "entry" container = "container-host" > {{tr "Host" /}}< / div >
< div class = "entry" container = "container-network" > {{tr "Networking" /}}< / div >
< div class = "entry" container = "container-security" > {{tr "Security" /}}< / div >
< div class = "entry" container = "container-messages" > {{tr "Messages" /}}< / div >
< div class = "entry" container = "container-misc" > {{tr "Misc" /}}< / div >
< / div >
< div class = "bodies" >
< div class = "body container-host" >
< div class = "container-top container-host-message" >
< div class = "header" > {{tr "Host Message" /}}< / div >
< div class = "content" >
< div class = "container-message" >
< div class = "container-title" >
< a > {{tr "Message" /}}< / a >
< / div >
< textarea class = "input-boxed virtualserver_hostmessage" placeholder = "{{tr 'Enter a message...' /}}" > {{>virtualserver_hostmessage}}< / textarea >
< / div >
< div class = "container-mode" >
< div class = "container-title" >
< a > {{tr "Message Mode" /}}< / a >
< / div >
< select class = "input-boxed virtualserver_hostmessage_mode" >
< option value = "0" { { if virtualserver_hostmessage_mode = = 0 } } selected { { / if } } > {{tr "No message" /}}< / option >
< option value = "1" { { if virtualserver_hostmessage_mode = = 1 } } selected { { / if } } > {{tr "Show message in log" /}}< / option >
< option value = "2" { { if virtualserver_hostmessage_mode = = 2 } } selected { { / if } } > {{tr "Show message as modal" /}}< / option >
< option value = "3" { { if virtualserver_hostmessage_mode = = 3 } } selected { { / if } } > {{tr "Show message as modal and disconnect the client" /}}
< / option >
< / select >
< / div >
< / div >
< / div >
< div class = "container-bottom" >
< div class = "container-left container-host-banner" >
< div class = "header" > {{tr "Host Banner" /}}< / div >
2019-02-17 15:08:10 +00:00
< div class = "content" >
2019-08-21 08:00:01 +00:00
< div class = "container-url" >
< a > {{tr "URL" /}}< / a >
< div class = "input-boxed" >
< input class = "virtualserver_hostbanner_url" value = "{{>virtualserver_hostbanner_url}}" >
< div class = "container-tooltip tooltip-host-banner-url" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a > {{tr "URL which will be opened when the client clicks on the host banner" /}}< / a >
< / div >
< / div >
< / div >
2019-02-17 15:08:10 +00:00
< / div >
2019-08-21 08:00:01 +00:00
< div class = "container-gfx-url" >
< a > {{tr "Image URL" /}}< / a >
< div class = "input-boxed" >
< input class = "virtualserver_hostbanner_gfx_url" value = "{{>virtualserver_hostbanner_gfx_url}}" >
< div class = "container-tooltip tooltip-host-banner-gfx-url" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a > {{tr "URL of the image which will be displayed" /}}< / a >
< / div >
< / div >
< / div >
2019-02-17 15:08:10 +00:00
< / div >
2019-08-21 08:00:01 +00:00
< div class = "container-refresh" >
< a > {{tr "Refresh Interval" /}}< / a >
< div class = "input-boxed" >
< input type = "number" min = "0" class = "virtualserver_hostbanner_gfx_interval" value = "{{>virtualserver_hostbanner_gfx_interval}}" >
< div class = "container-tooltip tooltip-host-banner-gfx-refresh" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a > {{tr "Time in seconds which determine in which interval the client reloads the hostbanner. A value of 0 means no reload." /}}< / a >
< / div >
< / div >
< / div >
2019-02-17 15:08:10 +00:00
< / div >
2019-08-21 08:00:01 +00:00
< div class = "container-resize" >
< a > {{tr "Resize Mode" /}}< / a >
< div class = "input-boxed" >
< select class = "virtualserver_hostbanner_mode" >
< option value = "0" { { if virtualserver_hostbanner_mode = = 0 } } selected { { / if } } > {{tr "Do not adjust" /}}< / option >
< option value = "1" { { if virtualserver_hostbanner_mode = = 1 } } selected { { / if } } > {{tr "Adjust but ignore ratio aspect" /}}< / option >
< option value = "2" { { if virtualserver_hostbanner_mode = = 2 } } selected { { / if } } > {{tr "Adjust and keep ratio aspect" /}}< / option >
< / select >
< div class = "container-tooltip tooltip-host-banner-gfx-refresh" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a > {{tr "Time in seconds which determine in which interval the client reloads the hostbanner.< br > A value of 0 means no reload." /}}< / a >
< / div >
< / div >
< / div >
2019-02-17 15:08:10 +00:00
< / div >
2019-08-21 08:00:01 +00:00
< div class = "container-gfx-preview" >
< div class = "container-title" >
< a > {{tr "Image Preview" /}}< / a >
< / div >
< a class = "container-image" >
< img src = "{{:virtualserver_hostbanner_gfx_url}}"
alt=" {{tr 'Hostbanner Preview' /}}"
title="{{tr 'Hostbanner Preview' /}}"
{{if !virtualserver_hostbanner_gfx_url}}style="display: none;"{{/if}}
>
< / a >
< / div >
< / div >
< / div >
< div class = "container-right container-host-button" >
< div class = "header" > {{tr "Host Button" /}}< / div >
< div class = "content" >
< div class = "container-url" >
< a > {{tr "URL" /}}< / a >
< div class = "input-boxed" >
< input class = "virtualserver_hostbutton_url" value = "{{:virtualserver_hostbutton_url}}" >
< div class = "container-tooltip" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a > {{tr "URL which will be opened when the client clicks on the host button" /}}< / a >
< / div >
< / div >
< / div >
< / div >
< div class = "container-tooltip-button" >
< a > {{tr "Tooltip" /}}< / a >
< div class = "input-boxed" >
< input class = "virtualserver_hostbutton_tooltip" value = "{{:virtualserver_hostbutton_tooltip}}" >
< div class = "container-tooltip" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a > {{tr "Text for the tooltip on button hover" /}}< / a >
< / div >
< / div >
< / div >
< / div >
< div class = "container-gfx-url" >
< a > {{tr "Icon URL" /}}< / a >
< div class = "input-boxed" >
< input class = "virtualserver_hostbutton_gfx_url" value = "{{:virtualserver_hostbutton_gfx_url}}" >
< div class = "container-tooltip" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a > {{tr "URL of the image which will be displayed" /}}< / a >
< / div >
< / div >
< / div >
< / div >
< div class = "container-gfx-preview" >
< div class = "container-title" >
< a > {{tr "Icon Preview" /}}< / a >
< / div >
< a class = "container-image" >
< img src = "{{:virtualserver_hostbutton_gfx_url}}"
alt=" {{tr 'Hostbutton Preview' /}}"
title="{{tr 'Hostbutton Preview' /}}"
{{if !virtualserver_hostbutton_gfx_url}}style="display: none;"{{/if}}
>
< / a >
2019-02-17 15:08:10 +00:00
< / div >
< / div >
2018-08-13 15:50:55 +00:00
< / div >
2018-02-27 16:20:49 +00:00
< / div >
2019-08-21 08:00:01 +00:00
< / div >
< div class = "body container-network" >
< div class = "container-top container-binding" >
< div class = "header" > {{tr "Binding" /}}< / div >
< div class = "content" >
< div class = "container-host" >
< a > {{tr "Host" /}}< / a >
< div class = "input-boxed" >
< input class = "virtualserver_host" value = "{{:virtualserver_host}}" >
< div class = "container-tooltip" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a >
{{tr "A comma separated set of IP's where the server is listening on." /}}< br >
{{tr "IPv4 and IPv6 is supported!" /}}< br >
{{tr "Note: If you change this you need to restart the virtual server!" /}}
< / a >
< / div >
< / div >
< / div >
< / div >
< div class = "container-port" >
< a > {{tr "Port" /}}< / a >
< div class = "input-boxed" >
< input type = "number" min = "1" max = "65535" class = "virtualserver_port" value = "{{:virtualserver_port}}" >
< div class = "container-tooltip" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a >
{{tr "The port where the server should be listening to." /}}< br >
{{tr "Note: If you change this you need to restart the virtual server!" /}}
< / a >
< / div >
< / div >
< / div >
< / div >
< label class = "container-weblist" >
< div class = "checkbox" >
< input type = "checkbox" class = "virtualserver_weblist_enabled" { { if virtualserver_weblist_enabled } } checked { { / if } } >
< div class = "mark" > < / div >
< / div >
< a > {{tr "Enable reporting to the TeamSpeak server list" /}}< / a >
< / label >
< / div >
< / div >
< div class = "container-bottom" >
< div class = "container-left container-download" >
< div class = "header" > {{tr "File Download" /}}< / div >
2019-02-17 15:08:10 +00:00
< div class = "content" >
2019-08-21 08:00:01 +00:00
< div class = "container-bandwidth" >
< a > {{tr "Bandwidth limit" /}}< / a >
< div class = "input-boxed" >
< input type = "number" min = "-1" class = "virtualserver_max_download_total_bandwidth" value = "{{:virtualserver_max_download_total_bandwidth}}" >
< div class = "container-tooltip" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a > {{tr "Max bandwidth used by all file transfer clients." /}}< / a >
< / div >
< / div >
< / div >
< a class = "unit" > {{tr "Bytes/s" /}}< / a >
2019-02-17 15:08:10 +00:00
< / div >
2019-08-21 08:00:01 +00:00
< div class = "container-quota" >
< a > {{tr "Quota" /}}< / a >
< div class = "input-boxed" >
< input type = "number" min = "0" class = "virtualserver_download_quota" value = "{{:virtualserver_download_quota}}" >
< div class = "container-tooltip" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a >
{{tr "Max amount of data in megabytes which could be downloaded." /}}< br >
{{tr "The quota will be reset on every new month" /}}
< / a >
< / div >
< / div >
< / div >
< a class = "unit" > {{tr "MiB/mo" /}}< / a >
2019-02-17 15:08:10 +00:00
< / div >
2019-08-21 08:00:01 +00:00
< div class = "container-used-quota" >
< a > {{tr "Quota this month" /}}< / a >
< div class = "value virtualserver_month_bytes_downloaded" > {{>virtualserver_month_bytes_downloaded}}< / div >
2019-02-17 15:08:10 +00:00
< / div >
2019-08-21 08:00:01 +00:00
< div class = "container-used-quota" >
< a > {{tr "Quota total" /}}< / a >
< div class = "value virtualserver_total_bytes_downloaded" > {{>virtualserver_total_bytes_downloaded}}< / div >
2019-02-17 15:08:10 +00:00
< / div >
2019-08-21 08:00:01 +00:00
< / div >
< / div >
< div class = "container-right container-upload" >
< div class = "header" > {{tr "File Upload" /}}< / div >
< div class = "content" >
< div class = "container-bandwidth" >
< a > {{tr "Bandwidth limit" /}}< / a >
< div class = "input-boxed" >
< input type = "number" min = "-1" class = "virtualserver_max_upload_total_bandwidth" value = "{{:virtualserver_max_upload_total_bandwidth}}" >
< div class = "container-tooltip" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a > {{tr "Max bandwidth used by all file transfer clients." /}}< / a >
< / div >
< / div >
< / div >
< a class = "unit" > {{tr "Bytes/s" /}}< / a >
2019-02-17 15:08:10 +00:00
< / div >
2019-08-21 08:00:01 +00:00
< div class = "container-quota" >
< a > {{tr "Quota" /}}< / a >
< div class = "input-boxed" >
< input type = "number" min = "0" class = "virtualserver_upload_quota" value = "{{:virtualserver_upload_quota}}" >
< div class = "container-tooltip" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a >
{{tr "Max amount of data in megabytes which could be downloaded." /}}< br >
{{tr "The quota will be reset on every new month" /}}
< / a >
< / div >
< / div >
< / div >
< a class = "unit" > {{tr "MiB/mo" /}}< / a >
< / div >
< div class = "container-used-quota" >
< a > {{tr "Quota this month" /}}< / a >
< div class = "value virtualserver_month_bytes_uploaded" > {{>virtualserver_month_bytes_uploaded}}< / div >
< / div >
< div class = "container-used-quota" >
< a > {{tr "Quota total" /}}< / a >
< div class = "value virtualserver_total_bytes_uploaded" > {{>virtualserver_total_bytes_uploaded}}< / div >
2019-02-17 15:08:10 +00:00
< / div >
< / div >
2018-08-13 15:50:55 +00:00
< / div >
2018-02-27 16:20:49 +00:00
< / div >
< / div >
2019-08-21 08:00:01 +00:00
< div class = "body container-security" >
< div class = "container-top container-antiflood" >
< div class = "header" > {{tr "Anti Flood" /}}< / div >
< div class = "content" >
< div class = "container-reduce" >
< a > {{tr "Reduced points every ½ seconds." /}}< / a >
< div class = "input-boxed" >
< input type = "number" min = "0" class = "virtualserver_antiflood_points_tick_reduce" value = "{{:virtualserver_antiflood_points_tick_reduce}}" >
< div class = "container-tooltip" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a > {{tr "Flood point count which will be reduced each server tick." /}}< / a >
< / div >
< / div >
< / div >
< / div >
< div class = "container-block-commands" >
< a > {{tr "Points needed to block commands" /}}< / a >
< div class = "input-boxed" >
< input type = "number" min = "0" class = "virtualserver_antiflood_points_needed_command_block" value = "{{:virtualserver_antiflood_points_needed_command_block}}" >
< div class = "container-tooltip" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a > {{tr "If the value has been reached, the users command will be rejected." /}}< / a >
< / div >
< / div >
< / div >
< / div >
< div class = "container-block-ip" >
< a > {{tr "Points needed to ban IP" /}}< / a >
< div class = "input-boxed" >
< input type = "number" min = "0" class = "virtualserver_antiflood_points_needed_ip_block" value = "{{:virtualserver_antiflood_points_needed_ip_block}}" >
< div class = "container-tooltip" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a > {{tr "If the value has been reached, the user will be temporally banned from the server." /}}< / a >
< / div >
< / div >
< / div >
< / div >
< / div >
< / div >
< div class = "container-bottom container-security" >
< div class = "header" > {{tr "Misc" /}}< / div >
< div class = "content" >
< div class = "container-encryption" >
< a > {{tr "Channel voice data encryption" /}}< / a >
< div class = "input-boxed" >
< select class = "virtualserver_codec_encryption_mode" >
< option value = "0" { { if virtualserver_codec_encryption_mode = = 0 } } selected { { / if } } > {{tr "Edit per channel individually" /}}< / option >
< option value = "1" { { if virtualserver_codec_encryption_mode = = 1 } } selected { { / if } } > {{tr "Globally disabled" /}}< / option >
< option value = "2" { { if virtualserver_codec_encryption_mode = = 2 } } selected { { / if } } > {{tr "Globally enabled (recommended)" /}}< / option >
< / select >
< / div >
< / div >
< div class = "container-security-level" >
< a > {{tr "Needed Security Level" /}}< / a >
< div class = "input-boxed" >
< input type = "number" min = "8" class = "virtualserver_needed_identity_security_level" value = "{{:virtualserver_needed_identity_security_level}}" >
< div class = "container-tooltip" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a > {{tr "Required security level to join the server. (Only applies to TeamSpeak identities)" /}}< / a >
< / div >
< / div >
< / div >
< / div >
< div class = "container-security-level-description" >
< a > < / a >
< div class = "container-description" >
< a > {{tr "Level < b > 0 - 23< / b > generated in seconds" /}}< / a >
< a > {{tr "Level < b > 24 - 29< / b > generated in minutes" /}}< / a >
< a > {{tr "Level < b > 29 - 34< / b > generated in hours" /}}< / a >
< a > {{tr "Level < b > 35 - 39< / b > generated in days" /}}< / a >
< a > {{tr "Level < b > 40 - 43< / b > generated in months" /}}< / a >
< a > {{tr "Level < b > 44 - 23< / b > generated in years" /}}< / a >
< / div >
< / div >
< / div >
< / div >
< / div >
< div class = "body container-messages" >
< div class = "container-top container-channel" >
< div class = "header" > {{tr "Channel" /}}< / div >
< div class = "content" >
< div class = "container-topic" >
< div class = "container-title" >
< a > {{tr "Topic" /}}< / a >
< / div >
< div class = "input-boxed" >
< input class = "virtualserver_default_channel_topic" value = "{{:virtualserver_default_channel_topic}}" >
< div class = "container-tooltip" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a > {{tr "The default server channel topic" /}}< / a >
< / div >
< / div >
< / div >
< / div >
< div class = "container-description" >
< div class = "container-title" >
< a > {{tr "Description" /}}< / a >
< / div >
< textarea class = "input-boxed virtualserver_default_channel_description" placeholder = "{{tr 'Enter a message...' /}}" > {{>virtualserver_default_channel_description}}< / textarea >
< / div >
< / div >
< / div >
< div class = "container-bottom container-client" >
< div class = "header" > {{tr "Client" /}}< / div >
< div class = "content" >
< div class = "container-description" >
< a > {{tr "Description" /}}< / a >
< div class = "input-boxed" >
< input class = "virtualserver_default_client_description" value = "{{:virtualserver_default_client_description}}" >
< div class = "container-tooltip" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a > {{tr "The default client description" /}}< / a >
< / div >
< / div >
< / div >
< / div >
< / div >
< / div >
< / div >
< div class = "body container-misc" >
< div class = "container-top container-default-groups" >
< div class = "header" > {{tr "Default groups" /}}< / div >
< div class = "content" >
< div class = "container-default-group" >
< a > {{tr "Server Group" /}}< / a >
< select class = "input-boxed virtualserver_default_server_group" >
< / select >
< / div >
< div class = "container-default-group" >
< a > {{tr "Music Bot Group" /}}< / a >
< select class = "input-boxed virtualserver_default_music_group" >
< / select >
< / div >
< div class = "container-default-group" >
< a > {{tr "Channel Admin Group" /}}< / a >
< select class = "input-boxed virtualserver_default_channel_admin_group" >
< / select >
< / div >
< div class = "container-default-group" >
< a > {{tr "Channel Group" /}}< / a >
< select class = "input-boxed virtualserver_default_channel_group" >
< / select >
< / div >
< / div >
< / div >
< div class = "container-bottom" >
< div class = "container-left container-complains" >
< div class = "header" > {{tr "Complains" /}}< / div >
2019-02-17 15:08:10 +00:00
< div class = "content" >
2019-08-21 08:00:01 +00:00
< div class = "container-ban-threshold" >
< a > {{tr "Complains until ban" /}}< / a >
< div class = "input-boxed" >
< input type = "number" min = "0" class = "virtualserver_complain_autoban_count" value = "{{:virtualserver_complain_autoban_count}}" >
< div class = "container-tooltip" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a > {{tr "Amount of complains against one user until he receives an automated ban." /}}< / a >
< / div >
< / div >
< / div >
2019-02-17 15:08:10 +00:00
< / div >
2019-08-21 08:00:01 +00:00
< div class = "container-ban-time" >
< a > {{tr "Autoban time" /}}< / a >
< div class = "input-boxed" >
< input type = "number" min = "0" class = "virtualserver_complain_autoban_time" value = "{{:virtualserver_complain_autoban_time}}" >
< div class = "container-tooltip" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a > {{tr "Amount of complains against one user until he receives an automated ban." /}}< / a >
< / div >
< / div >
< / div >
< / div >
< div class = "container-cooldown" >
< a > {{tr "Complain auto remove" /}}< / a >
< div class = "input-boxed" >
< input type = "number" min = "0" class = "virtualserver_complain_remove_time" value = "{{:virtualserver_complain_remove_time}}" >
< div class = "container-tooltip" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a > {{tr "Time in seconds after a complain expires." /}}< / a >
< / div >
< / div >
< / div >
< / div >
< / div >
< / div >
< div class = "container-right container-others" >
< div class = "header" > {{tr "Others" /}}< / div >
< div class = "content" >
< div class = "container-silence" >
< a > {{tr "Clients before silence" /}}< / a >
< div class = "input-boxed" >
< input type = "number" min = "0" class = "virtualserver_min_clients_in_channel_before_forced_silence" value = "{{:virtualserver_min_clients_in_channel_before_forced_silence}}" >
< div class = "container-tooltip" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a > {{tr "Minimum clients within a channel to enforce silence." /}}< / a >
< / div >
< / div >
< / div >
< / div >
< div class = "container-dim" >
< a > {{tr "Priority speaker dim factor" /}}< / a >
< div class = "input-boxed" >
< input min = "-100" max = "100" class = "virtualserver_priority_speaker_dimm_modificator" value = "{{:virtualserver_priority_speaker_dimm_modificator}}" >
< div class = "container-tooltip" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a > {{tr "Dim factor in '%' for priority speakers." /}}< / a >
< / div >
< / div >
< / div >
2019-02-17 15:08:10 +00:00
< / div >
2019-08-21 08:00:01 +00:00
< div class = "container-gfx-url" >
< a > {{tr "Default delete delay" /}}< / a >
< div class = "input-boxed" >
< input class = "virtualserver_channel_temp_delete_delay_default" value = "{{:virtualserver_channel_temp_delete_delay_default}}" >
< div class = "container-tooltip" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a > {{tr "The default temporary channel delete delay." /}}< / a >
< / div >
< / div >
< / div >
< / div >
< / div >
< / div >
< / div >
< / div >
< / div >
< / div >
< div class = "container-buttons" >
< button class = "btn btn-danger button-cancel" > {{tr "Cancel" /}}< / button >
< button class = "btn btn-success button-save" > {{tr "Save Changes" /}}< / button >
< / div >
< / div >
< / script >
<!-- Template for the settings -->
< script class = "jsrender-template" id = "tmpl_settings" type = "text/html" >
< div class = "inner-container" >
< div class = "left" >
< div class = "entry group" > {{tr "General Settings" /}}< / div >
< div class = "entry" container = "general-application" > {{tr "Application" /}}< / div >
< div class = "entry" container = "general-language" > {{tr "Language" /}}< / div >
<!-- <div class="entry" container="general - updates">{{tr "Updates" /}}</div> -->
< div class = "entry" container = "general-chat" > {{tr "Chat" /}}< / div >
2020-04-10 18:57:50 +00:00
< div class = "entry" container = "general-keymap" > {{tr "Keymap" /}}< / div >
2019-08-21 08:00:01 +00:00
< div class = "entry group" > {{tr "Audio" /}}< / div >
< div class = "entry" container = "audio-microphone" > {{tr "Microphone" /}}< / div >
< div class = "entry" container = "audio-speaker" > {{tr "Speaker" /}}< / div >
< div class = "entry" container = "audio-sounds" > {{tr "Sounds" /}}< / div >
< div class = "entry group" > {{tr "Identity" /}}< / div >
< div class = "entry" container = "identity-profiles" > {{tr "Profiles" /}}< / div >
< div class = "entry" container = "identity-forum" > {{tr "TeaForo connection" /}}< / div >
< / div >
< div class = "container-seperator vertical" seperator-id = "seperator-settings" > < / div >
< div class = "right" >
< div class = "container general-application" >
< label >
< div class = "checkbox" >
< input type = "checkbox" class = "option-hostbanner-background" >
< div class = "mark" > < / div >
< / div >
< a > {{tr 'Disabled backrounds within the hostbanner' /}}< / a >
< / label >
< div class = "container-font-size" >
< a > {{tr "Font size" /}}< / a >
< select class = "input-boxed option-font-size" >
< option value = "-1" style = "display: none;" > Custom< / option >
< option value = "10" > Extra Small (10px)< / option >
< option value = "12" > Small (12px)< / option >
< option value = "14" > Normal (14px)< / option >
< option value = "16" > Large (16px)< / option >
< option value = "18" > Extra Large (18px)< / option >
< / select >
< / div >
2019-11-24 12:41:42 +00:00
< label >
< div class = "checkbox" >
< input type = "checkbox" class = "option-all-permissions" >
< div class = "mark" > < / div >
< / div >
< a > {{tr "Show all permissions in permission editor. Even if their assignment don't make sense." /}}< / a >
< / label >
2019-08-21 08:00:01 +00:00
< / div >
< div class = "container general-language" >
< div class = "container-selected" >
< a > {{tr "Current language:" /}}< / a >
< div class = "selected-language" >
< div class = "country flag-de" > < / div >
{{tr "German" /}}
< / div >
< / div >
< div class = "container-list" >
< div class = "entries" > < / div >
< div class = "buttons" >
< div class = "restart-note" >
< button class = "btn btn-danger button-restart" > {{tr "Restart" /}}< / button >
< a > {{tr "Attention: Changing the client language require a client restart!" /}}< / a >
< / div >
< div class = "spacer" > < / div >
< button class = "btn btn-success button-add-repository" > {{tr "Add repository" /}}< / button >
< / div >
< / div >
< / div >
< div class = "container general-updates" > {{tr "GU" /}}< / div >
2020-04-10 18:57:50 +00:00
< div class = "container general-keymap" > < / div >
2019-08-21 08:00:01 +00:00
< div class = "container general-chat" >
< label >
< div class = "checkbox" >
< input type = "checkbox" class = "option-fixed-timestamps" >
< div class = "mark" > < / div >
< / div >
< a > {{tr 'Fixed chat timestamp (Disables "2 seconds ago"... etc)' /}}< / a >
< / label >
< label >
< div class = "checkbox" >
< input type = "checkbox" class = "option-colloquial-timestamps" >
< div class = "mark" > < / div >
< / div >
< a > {{tr 'Colloquial chat timestamp (Enables "Yesterday at ..." or "Today at ...")' /}}< / a >
< / label >
< label >
< div class = "checkbox" >
< input type = "checkbox" class = "option-instant-channel-switch" >
< div class = "mark" > < / div >
< / div >
< a > {{tr "Switch to channel chat on select" /}}< / a >
< / label >
< label >
< div class = "checkbox" >
< input type = "checkbox" class = "option-instant-client-switch" >
< div class = "mark" > < / div >
< / div >
< a > {{tr "Switch to client info on client select" /}}< / a >
< / label >
<!-- format -->
< label >
< div class = "checkbox" >
< input type = "checkbox" class = "option-colored-emojies" >
< div class = "mark" > < / div >
< / div >
< a > {{tr "Colored emojies within chat" /}}< / a >
< / label >
< label >
< div class = "checkbox" >
< input type = "checkbox" class = "option-url-tagging" >
< div class = "mark" > < / div >
< / div >
< a > {{tr "Automatically detect valid URL's and tag them with [url]" /}}< / a >
< / label >
< label >
< div class = "checkbox" >
< input type = "checkbox" class = "option-support-markdown" >
< div class = "mark" > < / div >
< / div >
< a > {{tr "Enables markdown input support for chat. " /}}< / a >
< / label >
2019-12-21 14:01:18 +00:00
< label >
< div class = "checkbox" >
< input type = "checkbox" class = "option-support-bbcode" >
< div class = "mark" > < / div >
< / div >
< a > {{tr "Enable the BBCode syntax for your chat." /}}< / a >
< / label >
2019-10-19 15:13:40 +00:00
< div class = "container-icon-size" >
< div > {{tr "Chat-icon size:" /}}< a class = "value" > 100%< / a > < / div >
< div class = "container-slider" >
< div class = "filler" style = "width: 30%" > < / div >
< div class = "thumb container-tooltip" style = "left: 30%" >
< div class = "tooltip" >
< a > 86%< / a >
< / div >
< / div >
< / div >
< / div >
2019-08-21 08:00:01 +00:00
< / div >
2018-08-13 15:50:55 +00:00
2019-08-21 08:00:01 +00:00
< div class = "container audio-microphone" >
2020-03-27 22:53:17 +00:00
{{include tmpl="tmpl_settings-microphone" /}}
2019-08-21 08:00:01 +00:00
< / div >
< div class = "container audio-speaker" >
< div class = "left" >
< div class = "header" >
< a > {{tr "Select your Speaker Device" /}}< / a >
< button class = "btn btn-info button-update" > {{tr "Update" /}}< / button >
< / div >
< div class = "body" >
< div class = "container-devices" >
< / div >
< div class = "buttons" >
< a class = "container-error" > < / a >
< div class = "spacer" > < / div >
< button class = "btn btn-success button-test-sound" > {{tr "Play test Sound" /}}
< / button >
< / div >
< / div >
< / div >
< div class = "right" >
< div class = "header" >
< a > {{tr "Speaker Settings" /}}< / a >
< / div >
< div class = "body" >
< div class = "container-volume-master" >
< a > {{tr "Master Volume" /}} < span class = "container-value" > < / span > < / a >
< div class = "container-slider" >
< div class = "filler" style = "width: 30%" > < / div >
< div class = "thumb container-tooltip" style = "left: 30%" >
< div class = "tooltip" >
< a > 86%< / a >
2019-02-17 15:08:10 +00:00
< / div >
2019-08-21 08:00:01 +00:00
< / div >
< / div >
< / div >
< div class = "container-volume-soundpack" >
< a > {{tr "Soundpack Volume" /}} < span class = "container-value" > < / span > < / a >
< div class = "container-slider" >
< div class = "filler" style = "width: 30%" > < / div >
< div class = "thumb container-tooltip" style = "left: 30%" >
< div class = "tooltip" >
< a > 86%< / a >
2019-02-17 15:08:10 +00:00
< / div >
2019-08-21 08:00:01 +00:00
< / div >
2019-02-17 15:08:10 +00:00
< / div >
2018-08-13 15:50:55 +00:00
< / div >
< / div >
< / div >
2019-08-21 08:00:01 +00:00
< / div >
< div class = "container audio-sounds" >
< div class = "left" >
< div class = "header" >
< a > {{tr "Sound list" /}}< / a >
< / div >
< div class = "body" >
< div class = "container-sounds" >
< / div >
< div class = "container-filter" >
< div class = "form-group" >
< label class = "bmd-label-floating" > {{tr "Search for a sound" /}}< / label >
< input type = "text" class = "form-control input-sounds-filter" >
2019-03-25 19:04:04 +00:00
< / div >
2019-08-21 08:00:01 +00:00
< / div >
2019-03-25 19:04:04 +00:00
< / div >
2019-02-17 15:08:10 +00:00
< / div >
2019-08-21 08:00:01 +00:00
< div class = "right" >
< div class = "header" >
< a > {{tr "Sound settings" /}}< / a >
< / div >
< div class = "body" >
< label >
< div class = "checkbox" >
< input type = "checkbox" class = "option-overlap-same" >
< div class = "mark" > < / div >
< / div >
< a > {{tr "Overlap same sounds" /}}< / a >
< / label >
< label >
< div class = "checkbox" >
< input type = "checkbox" class = "option-mute-output" >
< div class = "mark" > < / div >
< / div >
< a > {{tr "Mute sounds when output is muted" /}}< / a >
< / label >
< / div >
2019-02-17 15:08:10 +00:00
< / div >
2019-08-21 08:00:01 +00:00
< / div >
< div class = "container identity-profiles" >
2020-03-27 22:53:17 +00:00
{{include tmpl="tmpl_settings-profiles" /}}
2019-08-21 08:00:01 +00:00
< / div >
< div class = "container identity-forum" >
< div class = "fill" >
< div class = "header" >
< a > {{tr "TeaSpeak forum connection" /}}< / a >
< div class = "spacer" > < / div >
< button class = "btn btn-danger show-connected button-logout" > {{tr "Logout" /}}< / button >
< / div >
< div class = "body" >
< div class = "container-connected show-connected" >
< a > You're successfully connected with your forum account< / a >
< div > < a > Username: < / a > < a class = "forum-username" > < / a > < / div >
< div > < a > Premium: < / a > < a class = "forum-premium" > < / a > < / div >
2018-11-04 13:20:38 +00:00
< / div >
2019-08-21 08:00:01 +00:00
< div class = "container-disconnected show-disconnected" >
< a > {{tr "You're not connected with the TeaSpeak forum." /}}< / a >
< div class = "container-login" >
< a > {{tr "Login the the TeaSpeak forum:" /}}< / a >
< a class = "container-error" > Login to the forum failed.< / a >
2019-02-17 15:08:10 +00:00
< div class = "form-group" >
2019-08-21 08:00:01 +00:00
< label class = "bmd-label-floating" > {{tr "Username" /}}< / label >
< input class = "form-control input-username" >
2019-02-17 15:08:10 +00:00
< / div >
< div class = "form-group" >
2019-08-21 08:00:01 +00:00
< label class = "bmd-label-floating" > {{tr "Password" /}}< / label >
< input class = "form-control input-password" type = "password" >
2019-02-17 15:08:10 +00:00
< / div >
2019-08-21 08:00:01 +00:00
< div class = "container-button" >
< div class = "g-recaptcha" > < / div >
< button class = "btn btn-success button-login" > {{tr "Login" /}}< / button >
2019-02-17 15:08:10 +00:00
< / div >
< / div >
2018-08-13 09:03:55 +00:00
< / div >
2019-08-21 08:00:01 +00:00
< / div >
< / div >
< / div >
< / div >
< / div >
2018-08-11 13:02:11 +00:00
< / script >
2018-12-14 23:09:47 +00:00
2020-03-27 15:15:15 +00:00
< script class = "jsrender-template" id = "tmpl_settings-microphone" type = "text/html" >
< div class = "container-settings-audio-microphone" >
< div class = "left highlightable highlight-microphone-list" >
< div class = "header" >
< a > {{tr "Select your Microphone Device" /}}< / a >
< button class = "btn btn-info button-update" > {{tr "Update" /}}< / button >
< / div >
< div class = "body container-devices" >
< div class = "overlay overlay-error" >
< a class = "error-text" > < / a >
< / div >
< div class = "overlay overlay-loading" > < / div >
< / div >
< / div >
< div class = "right highlightable highlight-microphone-settings" >
< div class = "header" >
< a > {{tr "Microphone Settings" /}}< / a >
< / div >
< div class = "body" >
< div class = "container-volume" >
< a > {{tr "Volume" /}}< / a >
< div class = "container-slider" >
< div class = "filler" style = "width: 30%" > < / div >
< div class = "thumb container-tooltip" style = "left: 30%" >
< div class = "tooltip" >
< a > 86%< / a >
< / div >
< / div >
< / div >
< / div >
< div class = "container-select-vad" >
< div class = "fieldset" >
< div class = "container container-ppt" >
< label class = "container-ppt" >
< div class = "ratio-button" >
< input type = "radio" name = "vad-type" value = "push_to_talk" >
< div class = "mark" > < / div >
< / div >
< a > {{tr "Push to Talk" /}}< / a >
< / label >
< div class = "container-button" >
< button class = "btn" > {{tr "T" /}}< / button >
< / div >
< / div >
< div class = "container container-vad" >
< label >
< div class = "ratio-button" >
< input type = "radio" name = "vad-type" value = "threshold" >
< div class = "mark" > < / div >
< / div >
< a > {{tr "Voice activity detection" /}}< / a >
< / label >
< / div >
< div class = "container container-always-active" >
< label >
< div class = "ratio-button" >
< input type = "radio" name = "vad-type" value = "active" >
< div class = "mark" > < / div >
< / div >
< a > {{tr "Always active" /}}< / a >
< / label >
< / div >
< / div >
< / div >
< / div >
< div class = "header" >
< a > {{tr "Sensitivity Settings" /}}< / a >
< / div >
< div class = "body" >
< div class = "container-sensitivity" >
< div class = "container-activity-bar" >
< div class = "bar-hider" style = "width: 80%;" > < / div >
< div class = "bar-error" > < / div >
< div class = "thumb container-tooltip" style = "left: 20%" >
< div class = "tooltip" >
< a > 20%< / a >
< / div >
< / div >
< / div >
< / div >
< / div >
< div class = "header" >
< a > {{tr "Advanced Settings" /}}< / a >
< / div >
< div class = "body" >
< div class = "container-advanced" >
< div class = "container-ppt-delay" >
< label >
< div class = "checkbox" >
< input type = "checkbox" class = "delay-enabled" >
< div class = "mark" > < / div >
< / div >
< a > {{tr "Delay on Push to Talk" /}}< / a >
< / label >
< div class = "container-input" >
< input type = "number" class = "delay-time" min = "0" max = "4" step = "0.1" >
< label > {{tr "Sec" /}}< / label >
< / div >
< / div >
< / div >
< / div >
< / div >
< div class = "help-background" > < / div >
< div class = "container-help-text window-resize-listener" >
< a class = "help-text" > Hello nice to see you. This is even working with new lines etc....< / a >
< / div >
< / div >
< / script >
< script class = "jsrender-template" id = "tmpl_settings-profiles" type = "text/html" >
< div class = "container-settings-identity-profile" >
< div class = "left highlight-profile-list highlightable" >
< div class = "header" >
< a > {{tr "Your Profiles" /}}< / a >
< button class = "btn btn-info button-create" > {{tr "Create new" /}}< / button >
< / div >
< div class = "body" >
< div class = "container-profiles" >
< div class = "overlay overlay-error" > < a class = "error" > error: error< / a > < / div >
< div class = "overlay overlay-timeout" >
< a > {{tr "Timeout while loading" /}}< / a > < br >
< button class = "btn btn-blue button-reload-list" > {{tr "Reload" /}}< / button >
< / div >
< div class = "overlay overlay-empty" >
< a > {{tr "You've not profiles yet" /}}< / a >
< / div >
< / div >
< div class = "buttons" >
< button class = "btn btn-danger button-delete" > {{tr "Delete selected" /}}< / button >
< div class = "spacer" > < / div >
< button class = "btn btn-success button-set-default" > {{tr "Select as Default" /}}
< / button >
< / div >
< div class = "buttons-small" >
< button class = "btn btn-danger button-delete" > {{tr "Delete" /}}< / button >
< div class = "spacer" > < / div >
< button class = "btn btn-success button-set-default" > {{tr "Default" /}}
< / button >
< / div >
< / div >
< / div >
< div class = "right" >
< div class = "header" >
< a > {{tr "Profile Settings" /}}< / a >
< div class = "spacer" > < / div >
< div class = "container-avatar" > < / div >
< button class = "btn btn-info button-change-avatar" > {{tr "Change Avatar" /}}< / button >
<!-- AVATAR -->
< / div >
< div class = "body" >
< div class = "container-general highlight-profile-settings highlightable" >
< div class = "form-group" >
< label > {{tr "Profile Name" /}}< / label >
< input class = "form-control profile-name" >
< div class = "invalid-feedback" > {{tr "Profile name is invalid" /}}< / div >
< / div >
< div class = "form-group" >
< label > {{tr "Default Nickname" /}}< / label >
< input class = "form-control profile-default-name"
placeholder="Another TeaSpeak user">
< / div >
< div class = "form-group" >
< label > {{tr "Identity Type" /}}< / label >
< select class = "form-control profile-identity-type" >
< option value = "error" style = "display: none" > error: error< / option >
< option value = "unset" style = "display: none" > {{tr "Unset" /}}< / option >
< option value = "teaforo" > {{tr "Forum Account" /}}< / option >
< option value = "teamspeak" > {{tr "TeamSpeak Identity" /}}< / option >
< option value = "nickname" > {{tr "Nickname (Debug only!)" /}}< / option >
< / select >
< div class = "invalid-feedback" > {{tr "Invalid identity type" /}}< / div >
< / div >
< / div >
< div class = "container-teamspeak" >
< div class = "container-valid" >
< div class = "form-group" >
< label > {{tr "Unique-ID" /}}< / label >
< input class = "form-control unique-id" readonly >
< / div >
< div class = "container-level" >
< div class = "form-group" >
< label > {{tr "Level" /}}< / label >
< input class = "form-control current-level" readonly >
< / div >
< button class = "btn button-improve" > {{tr "Improve" /}}< / button >
< / div >
< / div >
< div class = "container-invalid" >
{{tr "You have'nt generated/imported an identity." /}}< br >
{{tr "Generate a new one or import one." /}}
< / div >
< div class = "buttons" >
< button class = "btn btn-danger button-new" > {{tr "Generate new" /}}< / button >
< div >
< button class = "btn btn-danger button-import" > {{tr "Import identity" /}}
< / button >
< button class = "btn btn-success button-export" > {{tr "Export identity" /}}
< / button >
< / div >
< / div >
< / div >
< div class = "container-teaforo" >
< div class = "container-valid" >
{{tr "You're using your forum account as identification" /}}
< / div >
< div class = "container-invalid" >
< a > {{tr "You cant use your TeaSpeak forum account. You're not connected with your forum Account!" /}}< / a >
< button class = "btn btn-success button-setup" > {{tr "Setup your connection" /}}
< / button >
< / div >
< / div >
< div class = "container-nickname" >
< div class = "form-group" >
< label > {{tr "Nickname" /}}< / label >
< input class = "form-control nickname" >
< div class = "invalid-feedback" > {{tr "Invalid nickname. Name must be at least 5 characters" /}}
< / div >
< / div >
< div class = "invalid-feedback" > < / div >
< / div >
< div class = "container-highlight-dummy highlight-identity-settings highlightable" > < / div >
< / div >
< / div >
< div class = "help-background" > < / div >
< div class = "container-help-text window-resize-listener" >
< a class = "help-text" > Hello nice to see you. This is even working with new lines etc....< / a >
< / div >
< / div >
< / script >
2019-01-27 12:11:40 +00:00
< script class = "jsrender-template" id = "tmpl_settings-sound_entry" type = "text/html" >
< div class = "entry" >
2019-08-21 08:00:01 +00:00
< div class = "column sound-name" >
< div class = "icon client-play button-playback" > < / div >
{{>name}}
< / div >
2019-01-27 12:11:40 +00:00
< div class = "column sound-activated" >
2019-02-17 15:08:10 +00:00
< div class = "switch" >
< label >
< input type = "checkbox" { { if activated } } checked { { / if } } >
< / label >
< / div >
2019-01-27 12:11:40 +00:00
< / div >
< / div >
< / script >
2019-01-28 19:36:11 +00:00
< script class = "jsrender-template" id = "tmpl_settings-teamspeak_import" type = "text/html" >
2019-08-30 21:06:39 +00:00
< div >
< div class = "container-status" > < a > < / a > < / div >
< fieldset class = "" >
< div class = "container-text" >
< label >
< div class = "radio-button" >
< input type = "radio" name = "type" value = "text" / >
< div class = "mark" > < / div >
< / div >
< a > {{tr "Import from text" /}}< / a >
< / label >
< div class = "form-group" >
< label > {{tr "Identity Data" /}}< / label >
< input class = "form-control input-identity-text" placeholder = "{{tr 'Please paste your identity data here' /}}" / >
< / div >
2019-01-28 19:36:11 +00:00
< / div >
2019-08-30 21:06:39 +00:00
< div class = "container-file" >
< label >
< div class = "radio-button" >
< input type = "radio" name = "type" value = "file" / >
< div class = "mark" > < / div >
< / div >
< a > {{tr "Import from file" /}}< / a >
< / label >
< button class = "btn btn-brown button-load-file" > {{tr "Select file" /}}< / button >
< a class = "current-file" > {{tr "No file selected" /}}< / a >
< / div >
< / fieldset >
< input type = "file" class = "file-selector" / >
2019-01-28 19:36:11 +00:00
< div class = "footer" >
2019-08-30 21:06:39 +00:00
< button class = "btn btn-success button-import" > {{tr "Import" /}}< / button >
2019-01-28 19:36:11 +00:00
< / div >
< / div >
< / script >
< script class = "jsrender-template" id = "tmpl_settings-teamspeak_improve" type = "text/html" >
2019-08-30 21:06:39 +00:00
< div >
< div class = "options" >
< div class = "title" > {{tr "Identity: "/}} {{>identity_name}}< / div >
< div class = "row" >
< div class = "form-group identity-unique-id" >
< label > {{tr "Unique ID:" /}}< / label >
< input class = "form-control" value = "" readonly >
< / div >
< div class = "form-group identity-level" >
< label > {{tr "Current level: " /}}< / label >
< input class = "form-control" value = "loading" readonly >
2019-01-28 19:36:11 +00:00
< / div >
< / div >
2019-08-30 21:06:39 +00:00
< div class = "row" >
< div class = "form-group identity-target-level" >
< div class = "bmd-label-static" >
< div class = "container-tooltip" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a >
{{tr "The number of threads used to improve your identity" /}}< br >
{{tr "The optimal value is equal to the amount of kernel threads." /}}
< / a >
< / div >
< / div >
{{tr "Target level: " /}}
2019-01-28 19:36:11 +00:00
< / div >
2019-08-30 21:06:39 +00:00
< input class = "form-control" value = "0" type = "number" min = "0" max = "160" >
< / div >
< div class = "form-group threads" >
< div class = "bmd-label-static" >
< div class = "container-tooltip" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a > {{tr "A value of zero means unlimited. Improve until you abort" /}}< / a >
< / div >
< / div >
{{tr "Threads: " /}}
< / div >
< input class = "form-control" value = "2" type = "number" min = "1" max = "32" >
2019-01-28 19:36:11 +00:00
< / div >
< / div >
< / div >
2019-08-30 21:06:39 +00:00
< div class = "status" >
< div class = "row" >
< div class = "form-group hash-rate" >
< label > {{tr "Hashes/second:" /}}< / label >
< input class = "form-control" value = "0" readonly >
< / div >
< div class = "form-group time-elapsed" >
< label > {{tr "Elapsed time:" /}}< / label >
< input class = "form-control" value = "00:00" readonly >
< / div >
2019-01-28 19:36:11 +00:00
< / div >
< / div >
< div class = "buttons" >
2019-08-30 21:06:39 +00:00
< button class = "btn btn-danger btn-raised button-close" > {{tr "Close" /}}< / button >
2019-02-17 15:08:10 +00:00
< button class = "btn btn-success btn-raised button-start-stop" > {{tr "Start" /}}< / button >
2019-01-28 19:36:11 +00:00
< / div >
< / div >
< / script >
2018-12-28 14:39:23 +00:00
< script class = "jsrender-template" id = "settings-profile-list-entry" type = "text/html" >
< div class = "entry profile {{if id == 'default'}}default{{/if}}" >
< div class = "name" > {{>profile_name}}< / div >
<!-- <div class="button button - delete"><div class="icon client - delete"></div></div> -->
< div title = "{{tr 'Profile is valid' /}}" class = "icon client-delete status status-invalid" > < / div >
< div title = "{{tr 'Profile is invalid' /}}" class = "icon client-apply status status-valid" > < / div >
< / div >
< / script >
2018-12-14 23:09:47 +00:00
< script class = "jsrender-template" id = "settings-translations-list-entry" type = "text/html" >
{{if type == "repository" }}
2019-08-21 08:00:01 +00:00
< div class = "entry repository" repository = "{{:id}}" >
< div class = "name" > {{> name}}< / div >
< div class = "button button-delete" >
< div class = "icon client-delete" > < / div >
2018-12-14 23:09:47 +00:00
< / div >
2019-08-21 08:00:01 +00:00
< div class = "button button-info" >
< div class = "icon client-about" > < / div >
2019-03-28 16:29:25 +00:00
< / div >
2019-08-21 08:00:01 +00:00
< / div >
{{else type == "default" }}
< div class = "entry default {{if selected}}selected{{/if}}" >
2020-03-30 11:44:18 +00:00
< div class = "country flag-gb" title = "{{>fallback_country_name}}" > < / div >
2019-08-21 08:00:01 +00:00
< div class = "name" > {{tr "English (Default / Fallback)" /}}< / div >
< / div >
2018-12-14 23:09:47 +00:00
{{else}}
2019-08-21 08:00:01 +00:00
< div class = "entry translation {{if selected}}selected{{/if}}" parent-repository = "{{:id}}" >
< div class = "country flag-{{:country_code}}"
2020-03-30 11:44:18 +00:00
title="{{>country_name}}">< / div >
2019-08-21 08:00:01 +00:00
< div class = "name" > {{> name}}< / div >
< div class = "button button-info" >
< div class = "icon client-about" > < / div >
2018-12-14 23:09:47 +00:00
< / div >
2019-08-21 08:00:01 +00:00
< / div >
2018-12-14 23:09:47 +00:00
{{/if}}
< / script >
< script class = "jsrender-template" id = "settings-translations-list-entry-info" type = "text/html" >
< div class = "entry-info-container" >
2019-08-21 08:00:01 +00:00
{{if type == "repository" }}
2018-12-14 23:09:47 +00:00
<!--
unique_id: string;
url: string;
name?: string;
contact?: string;
translations?: RepositoryTranslation[];
load_timestamp?: number;
-->
2019-08-21 08:00:01 +00:00
< div class = "property property-name" >
< div class = "key" > Name:< / div >
< div class = "value" > {{>name}}< / div >
< / div >
< div class = "property property-url" >
< div class = "key" > URL:< / div >
< div class = "value" > {{>url}}< / div >
< / div >
< div class = "property property-contact" >
< div class = "key" > Contact:< / div >
< div class = "value" > {{>contact}}< / div >
< / div >
< div class = "property property-translations" >
< div class = "key" > Translations:< / div >
< div class = "value" > {{:translations.length}}< / div >
< / div >
{{else}}
2018-12-14 23:09:47 +00:00
<!--
name: string;
contributors: Contributor[];
-->
2019-08-21 08:00:01 +00:00
< div class = "property property-name" >
< div class = "key" > Name:< / div >
< div class = "value" > {{>name}}< / div >
< / div >
< div class = "property property-url" >
< div class = "key" > URL:< / div >
< div class = "value" > {{>url}}< / div >
< / div >
2018-12-14 23:09:47 +00:00
< div class = "property property-repository" >
2019-08-21 08:00:01 +00:00
< div class = "key" > {{tr "Repository:" /}}< / div >
2018-12-14 23:09:47 +00:00
< div class = "value" >
< p > {{>repository_name}}< / p >
2019-08-21 08:00:01 +00:00
< div class = "button button-info" >
< div class = "icon client-about" > < / div >
< / div >
2018-12-14 23:09:47 +00:00
< / div >
< / div >
{{if !contributors }}
{{else contributors.length == 1}}
2019-08-21 08:00:01 +00:00
< div class = "property property-contributor" >
< div class = "key" > Contributor:< / div >
< div class = "value" >
{{>contributors[0].name}}
{{if contributors[0].email}}
 < {{>contributors[0].email}}>
{{/if}}
2018-12-14 23:09:47 +00:00
< / div >
2019-08-21 08:00:01 +00:00
< / div >
{{else}}
< div class = "property property-contributors" >
< div class = "key" > Contributors:< / div >
< div class = "value" >
{{for contributors}}
< div class = "contributor" >
{{>name}}
{{if email}}
 < {{>email}}>
{{/if}}
2018-12-14 23:09:47 +00:00
< / div >
2019-08-21 08:00:01 +00:00
{{/for}}
2018-12-14 23:09:47 +00:00
< / div >
2019-08-21 08:00:01 +00:00
< / div >
{{/if}}
2018-12-14 23:09:47 +00:00
{{/if}}
< / div >
< / script >
2018-10-14 11:27:48 +00:00
< script class = "jsrender-template" id = "tmpl_change_volume" type = "text/html" >
2019-10-13 19:33:07 +00:00
< div > <!-- for the renderer -->
< div class = "info" >
< div > {{tr "Change volume for client "/}} < node key = "client" > < / node > :< / div >
< a class = "value" > error: value< / a >
< / div >
< div class = "container-slider" >
< div class = "filler" style = "width: 30%" > < / div >
< div class = "thumb container-tooltip" style = "left: 30%" >
< div class = "tooltip" >
< a > 86%< / a >
< / div >
< / div >
< / div >
< div class = "buttons" >
< button class = "btn btn-blue button-reset" > {{tr "Reset" /}}< / button >
< div class = "spacer" > < / div >
{{if !local}}
< button class = "btn btn-success button-apply" > {{tr "Apply" /}}< / button >
{{/if}}
< button class = "btn btn-danger button-cancel" > {{tr "Cancel" /}}< / button >
< button class = "btn btn-success button-save" > {{tr "Save" /}}< / button >
2019-08-21 08:00:01 +00:00
< / div >
2018-04-11 15:56:09 +00:00
< / div >
2018-06-24 11:38:53 +00:00
< / script >
2019-11-09 14:56:01 +00:00
< script class = "jsrender-template" id = "tmpl_change_latency" type = "text/html" >
< div > <!-- for the renderer -->
< div class = "info" >
< div > {{tr "Change latency for client "/}} < node key = "client" > < / node > < / div >
< / div >
< div class = "container-min" >
< div class = "container-value" >
{{tr "Min buffer: "/}}
< a class = "value" > 20ms< / a >
< / div >
< div class = "container-slider" >
< div class = "filler" style = "width: 30%" > < / div >
< div class = "thumb container-tooltip" style = "left: 30%" >
< div class = "tooltip" >
< a > 86%< / a >
< / div >
< / div >
< / div >
< / div >
< div class = "container-max" >
< div class = "container-value" >
{{tr "Max buffer: "/}}
< a class = "value" > 20ms< / a >
< / div >
< div class = "container-slider" >
< div class = "filler" style = "width: 30%" > < / div >
< div class = "thumb container-tooltip" style = "left: 30%" >
< div class = "tooltip" >
< a > 86%< / a >
< / div >
< / div >
< / div >
< / div >
< div class = "buttons" >
< button class = "btn btn-blue button-reset" > {{tr "Reset" /}}< / button >
2019-11-09 15:17:48 +00:00
{{if have_flush}}
< button class = "btn btn-blue button-flush" > {{tr "Flush buffer" /}}< / button >
{{/if}}
2019-11-09 14:56:01 +00:00
< div class = "spacer" > < / div >
< button class = "btn btn-danger button-cancel" > {{tr "Cancel" /}}< / button >
< button class = "btn btn-success button-close" > {{tr "Close" /}}< / button >
< / div >
< / div >
< / script >
2018-09-30 19:50:59 +00:00
<!-- Permission overview -->
2018-10-14 11:27:48 +00:00
< script class = "jsrender-template" id = "tmpl_server_permissions" type = "text/html" >
2019-08-21 08:00:01 +00:00
< div class = "container" >
< div class = "left" >
< div class = "header" >
< div class = "entry" > < a class = "container-selected" > {{tr "error" /}}< / a > < / div >
< / div >
< div class = "body" >
< div class = "container container-view-server-groups" >
< div class = "container-group-list" >
< div class = "list-groups" >
< div class = "entries" > < / div >
< / div >
< div class = "container-buttons" >
< div class = "button button-add" >
< img src = "img/icon_group_add.svg" >
< / div >
< div class = "button button-rename" >
< img src = "img/icon_group_rename.svg" >
< / div >
< div class = "button button-duplicate" >
< img src = "img/icon_group_duplicate.svg" >
< / div >
< div class = "button button-delete" >
< img src = "img/icon_group_delete.svg" >
2019-05-25 11:13:03 +00:00
< / div >
< / div >
2019-08-21 08:00:01 +00:00
< / div >
< div class = "container-client-list" >
< div class = "container-current-group" > < / div >
< div class = "list-clients" >
< div class = "entries" > < / div >
< / div >
< div class = "container-buttons" >
< div class = "button button-add" >
< img src = "img/icon_group_add.svg" >
< / div >
< div class = "button button-delete" >
< img src = "img/icon_group_delete.svg" >
< / div >
2019-05-25 11:13:03 +00:00
< / div >
< / div >
2018-09-30 19:50:59 +00:00
< / div >
2019-08-21 08:00:01 +00:00
< div class = "container container-view-channel-groups" >
< div class = "list-groups" >
2018-09-30 19:50:59 +00:00
< div class = "entries" > < / div >
< / div >
2019-08-21 08:00:01 +00:00
< div class = "container-buttons" >
< div class = "button button-add" >
< img src = "img/icon_group_add.svg" >
< / div >
< div class = "button button-rename" >
< img src = "img/icon_group_rename.svg" >
< / div >
< div class = "button button-duplicate" >
< img src = "img/icon_group_duplicate.svg" >
< / div >
< div class = "button button-delete" >
< img src = "img/icon_group_delete.svg" >
< / div >
2018-10-14 11:27:48 +00:00
< / div >
2018-09-30 19:50:59 +00:00
< / div >
2019-08-21 08:00:01 +00:00
< div class = "container container-view-channel-permissions" >
2018-09-30 19:50:59 +00:00
< div class = "list-channel" >
< div class = "entries" > < / div >
< / div >
< / div >
2019-08-21 08:00:01 +00:00
< div class = "container container-view-client-permissions" >
2018-09-30 19:50:59 +00:00
< div class = "client-info" >
2019-02-17 15:08:10 +00:00
< div class = "client-select form-group" >
< label class = "bmd-label-floating" > {{tr "Client unique ID"/}}< / label >
< input type = "text" class = "form-control client-select-uid" >
< div class = "invalid-feedback" > {{tr "Invalid unique id" /}}< / div >
2018-09-30 19:50:59 +00:00
< / div >
< hr >
< div class = "client-info" >
2019-02-17 15:08:10 +00:00
< div class = "form-group" >
< label > {{tr "Nickname:" /}}< / label >
2019-08-21 08:00:01 +00:00
< input class = "form-control client-name" disabled >
2019-02-17 15:08:10 +00:00
< / div >
2018-09-30 19:50:59 +00:00
2019-02-17 15:08:10 +00:00
< div class = "form-group" >
< label > {{tr "Unique ID:" /}}< / label >
2019-08-21 08:00:01 +00:00
< input class = "form-control client-uid" disabled >
2019-02-17 15:08:10 +00:00
< / div >
2018-09-30 19:50:59 +00:00
2019-02-17 15:08:10 +00:00
< div class = "form-group" >
< label > {{tr "Client database ID:" /}}< / label >
2019-08-21 08:00:01 +00:00
< input class = "form-control client-dbid" disabled >
2019-02-17 15:08:10 +00:00
< / div >
2018-09-30 19:50:59 +00:00
< / div >
< / div >
< / div >
2019-08-21 08:00:01 +00:00
< div class = "container container-view-client-channel-permissions" >
< div class = "client-info" >
< div class = "client-select form-group" >
< label class = "bmd-label-floating" > {{tr "Client unique ID"/}}< / label >
< input type = "text" class = "form-control client-select-uid" >
< div class = "invalid-feedback" > {{tr "Invalid unique id" /}}< / div >
< / div >
< hr >
2018-09-30 19:50:59 +00:00
< div class = "client-info" >
2019-08-21 08:00:01 +00:00
< div class = "form-group" >
< label > {{tr "Nickname:" /}}< / label >
< input class = "form-control client-name" disabled >
2019-02-17 15:08:10 +00:00
< / div >
2018-09-30 19:50:59 +00:00
2019-08-21 08:00:01 +00:00
< div class = "form-group" >
< label > {{tr "Unique ID:" /}}< / label >
< input class = "form-control client-uid" disabled >
< / div >
2018-09-30 19:50:59 +00:00
2019-08-21 08:00:01 +00:00
< div class = "form-group" >
< label > {{tr "Client database ID:" /}}< / label >
< input class = "form-control client-dbid" disabled >
2019-02-17 15:08:10 +00:00
< / div >
2018-09-30 19:50:59 +00:00
< / div >
< / div >
2019-08-21 08:00:01 +00:00
< hr >
< div class = "list-channel" >
< div class = "entries" > < / div >
2018-10-14 11:27:48 +00:00
< / div >
2018-09-30 19:50:59 +00:00
< / div >
2019-08-21 08:00:01 +00:00
< / div >
2018-10-14 11:27:48 +00:00
< / div >
2019-08-21 08:00:01 +00:00
< div class = "container-seperator vertical" seperator-id = "seperator-permissions" > < / div >
< div class = "right" >
< div class = "header" >
< div class = "entry sg" > < a > {{tr "Server Groups" /}}< / a > < / div >
< div class = "entry cg" > < a > {{tr "Channel Groups" /}}< / a > < / div >
< div class = "entry chp" > < a > {{tr "Channel Permissions" /}}< / a > < / div >
< div class = "entry clp" > < a > {{tr "Client Permissions" /}}< / a > < / div >
< div class = "entry clchp" > < a > {{tr "Client Channel Permissions" /}}< / a > < / div >
< / div >
< div class = "body" >
< div class = "container container-view-server-groups" >
< div class = "permission-editor" > < / div >
< / div >
< div class = "container container-view-channel-groups" >
< div class = "permission-editor" > < / div >
< / div >
< div class = "container container-view-channel-permissions" >
< div class = "permission-editor" > < / div >
< / div >
< div class = "container container-view-client-permissions" >
< div class = "permission-editor" > < / div >
< / div >
< div class = "container container-view-client-channel-permissions" >
< div class = "permission-editor" > < / div >
< / div >
< / div >
2018-09-30 19:50:59 +00:00
< / div >
< / div >
2019-08-21 08:00:01 +00:00
< / script >
< script class = "jsrender-template" id = "tmpl_server_group_assignment" type = "text/html" >
< div class = "group-assignment-list" >
< a > {{tr "Changing groups of" /}}
< node key = "client" / >
< / a >
< div class = "group-list" >
{{for groups}}
< div class = "group-entry" >
2019-09-18 23:25:57 +00:00
< label class = "checkbox {{if default}}disabled{{/if}}" >
< input type = "checkbox" group-id = "{{:id}}" { { if default } } default disabled = "true" { { / if } } >
< div class = "mark" > < / div >
2019-08-21 08:00:01 +00:00
< / label >
< node key = "icon_{{>id}}" > < / node >
< a > {{>name}} ({{>id}})< / a >
< / div >
{{/for}}
2018-10-14 11:27:48 +00:00
< / div >
< / div >
2019-08-21 08:00:01 +00:00
< div class = "container-buttons" >
< div class = "btn btn-danger button-remove-all" > {{tr "Remove all groups" /}}< / div >
< div class = "btn btn-success button-close" > {{tr "Close" /}}< / div >
< / div >
< / script >
< script class = "jsrender-template" id = "tmpl_group_add" type = "text/html" >
< div class = "form-group" >
< label > {{tr "Group name"/}}< / label >
< input type = "text" class = "form-control group-name" >
< div class = "invalid-feedback" > {{tr "Invalid group name" /}}< / div >
< / div >
< div class = "form-group" >
< label > {{tr "Created group should have the type:" /}}< / label >
< select class = "form-control group-type" >
< option class = "group-type-template" > {{tr "Template group" /}}< / option >
< option class = "group-type-regular" selected > {{tr "Regular group" /}}< / option >
{{if server_group}}
< option class = "group-type-query" > {{tr "ServerQuery group" /}}< / option >
{{/if}}
< / select >
< / div >
< div class = "buttons" >
< button class = "btn btn-danger button-cancel" > {{tr "Cancel" /}}< / button >
< button class = "btn btn-success button-create" > {{tr "Create" /}}< / button >
< / div >
2018-10-14 11:27:48 +00:00
< / script >
2019-08-21 08:00:01 +00:00
< script class = "jsrender-template" id = "tmpl_permission_editor_canvas" type = "text/html" >
< div class = "container-permissions container-permissions-canvas" >
2019-02-17 15:08:10 +00:00
< div class = "permission-explorer" >
< div class = "container-filter" >
< div class = "form-group container-input" >
< label class = "bmd-label-floating" > {{tr "filter permissions" /}}< / label >
< input type = "text" class = "form-control filter-input" / >
<!-- <small class="form - text text - muted">{{tr "Filter permissions by permission name" /}}</small> -->
< / div >
< div class = "form-group bmd-form-group" >
2019-03-28 21:20:29 +00:00
< div class = "switch" >
2019-02-17 15:08:10 +00:00
< label >
< input type = "checkbox" value = "" class = "filter-granted" >
{{tr "Show granted permissions only" /}}
< / label >
2018-10-14 11:27:48 +00:00
< / div >
< / div >
< / div >
2019-02-17 15:08:10 +00:00
< div class = "container-mode container-mode-permissions" >
< div class = "container-permission-list" >
< div class = "entry header" >
< div class = "column-name" > {{tr "Permission Name" /}}< / div >
< div class = "column-value" > {{tr "Value" /}}< / div >
< div class = "column-skip" > {{tr "Skip" /}}< / div >
< div class = "column-negate" > {{tr "Negate" /}}< / div >
< div class = "column-granted" > {{tr "Granted" /}}< / div >
< / div >
2019-08-21 08:00:01 +00:00
< div class = "entry-editor-container" > < / div >
2019-02-17 15:08:10 +00:00
< / div >
< / div >
2019-08-21 08:00:01 +00:00
< div class = "container-mode container-mode-private" >
2019-02-17 15:08:10 +00:00
< div class = "container-text" >
< a > {{tr "You dont have the permission to view this permissions" /}}< / a >
< / div >
< / div >
2019-08-21 08:00:01 +00:00
< div class = "container-mode container-mode-unset" > < / div >
2019-02-17 15:08:10 +00:00
< div class = "container-footer" >
2019-08-21 08:00:01 +00:00
< button class = "btn btn-secondary btn-raised button-update" >
< div class = "icon client-check_update" > < / div >
{{tr "Update" /}}
< / button >
2018-10-14 11:27:48 +00:00
< / div >
2018-09-30 19:50:59 +00:00
< / div >
< / div >
2019-02-17 15:08:10 +00:00
< div class = "container-error-permissions" > < / div >
2018-09-30 19:50:59 +00:00
< / script >
2019-08-21 08:00:01 +00:00
< script class = "jsrender-template" id = "tmpl_permission_editor_html" type = "text/html" >
< div class = "container-permissions container-permissions-html" >
< div class = "container-filter" >
< button class = "btn btn-success button-toggle-clients" > Hide clients in group< / button >
< div class = "form-group container-input" >
< label class = "bmd-label-floating" > {{tr "filter permissions" /}}< / label >
< input type = "text" class = "form-control filter-input" / >
<!-- <small class="form - text text - muted">{{tr "Filter permissions by permission name" /}}</small> -->
< / div >
2019-11-24 13:40:55 +00:00
< div class = "container-switchs" >
< label class = "container-granted-switch" title = "{{tr 'Show only permission which are assigned' /}}" >
2019-08-21 08:00:01 +00:00
< div class = "switch" >
< input type = "checkbox" class = "filter-granted" >
< span class = "slider" >
< span class = "dot" > < / span >
< / span >
< / div >
< a > {{tr "Assigned only" /}}< / a >
< / label >
2019-11-24 13:40:55 +00:00
< label class = "container-editable-switch" title = "{{tr 'Show only permissions which are editable by yourself' /}}" >
< div class = "switch" >
< input type = "checkbox" class = "filter-granted" >
< span class = "slider" >
< span class = "dot" > < / span >
< / span >
< / div >
< a > {{tr "Editable only" /}}< / a >
< / label >
2019-08-21 08:00:01 +00:00
< / div >
2019-10-19 15:13:40 +00:00
< div class = "container-icon-select" >
< div class = "button-select-icon icon-preview" >
< div class = "icon-container icon_empty" > < / div >
< / div >
< div class = "container-dropdown" >
< div class = "button" >
< div class = "arrow down" > < / div >
< / div >
< div class = "dropdown" >
< div class = "entry button-select-icon" > Edit icon< / div >
< div class = "entry button-icon-remove" > Remove icon< / div >
< / div >
< / div >
< / div >
2019-08-21 08:00:01 +00:00
< / div >
< div class = "container-mode container-mode-permissions" >
< div class = "container-permission-list" >
< div class = "entry header" >
2019-10-30 20:49:32 +00:00
< div class = "column-name" > < a title = "{{tr 'Permission Name' /}}" > {{tr "Permission Name" /}}< / a > < / div >
< div class = "column-value" > < a title = '{{tr "Value" /}}' > {{tr "Value" /}}< / a > < / div >
< div class = "column-skip" > < a title = '{{tr "Skip" /}}' > {{tr "Skip" /}}< / a > < / div >
2019-11-09 12:22:49 +00:00
< div class = "column-negate" > < a title = '{{tr "Negate" /}}' > {{tr "Negate" /}}< / a > < / div >
< div class = "column-granted" > < a title = '{{tr "Granted" /}}' > {{tr "Granted" /}}< / a > < / div >
2019-08-21 08:00:01 +00:00
< / div >
< div class = "body" >
< / div >
< / div >
< / div >
< div class = "container-mode container-mode-no-permissions" >
< div class = "container-text" >
< a > {{tr "You dont have the permission to view this permissions" /}}< / a >
< / div >
< / div >
< div class = "container-mode container-mode-unset" > < / div >
< div class = "container-footer" >
< button class = "btn btn-secondary btn-raised button-update" >
< div class = "icon client-check_update" > < / div >
{{tr "Update" /}}
< / button >
< / div >
< / div >
< / script >
2018-09-30 19:50:59 +00:00
2018-10-20 17:58:06 +00:00
<!-- General management templates -->
< script class = "jsrender-template" id = "tmpl_ban_list" type = "text/html" >
2019-09-12 21:59:35 +00:00
< div > <!-- required for jquery -->
< div class = "left" >
< div class = "head" >
< div class = "category category-add" >
< a > {{tr "Create" /}}< / a >
< div class = "background" > < / div >
< / div >
< div class = "category category-edit" >
< a > {{tr "Edit" /}}< / a >
< div class = "background" > < / div >
< / div >
< / div >
< div class = "body" >
< div class = "container-add" >
< div class = "container-no-permissions" >
< a > {{tr "You dont have permission to create bans" /}}< / a >
2018-10-20 17:58:06 +00:00
< / div >
2019-09-12 21:59:35 +00:00
< div class = "group group-name" >
< a > {{tr "Name" /}}< / a >
< div class = "input-boxed" >
< input placeholder = "{{tr 'Username to ban' /}}" / >
< / div >
2018-10-20 17:58:06 +00:00
< / div >
2019-09-12 21:59:35 +00:00
< div class = "group group-ip" >
< a > {{tr "IP" /}}< / a >
< div class = "input-boxed" >
< input placeholder = "{{tr 'IP to ban' /}}" / >
< / div >
< / div >
<!-- Currently not supported by TeaSpeak
< div class = "group group-interpret" >
< a > {{tr "Interpret IP / Name as" /}}< / a >
< div class = "input-boxed" >
< select class = "ban-regex-type" >
< option value = "wildcard-4" > {{tr "Wildcard IPv4" /}}< / option >
< option value = "wildcard-6" > {{tr "Wildcard IPv6" /}}< / option >
< option value = "fixed" selected > {{tr "Fixed string" /}}< / option >
< option value = "regex" > {{tr "Regular Expression" /}}< / option >
< / select >
< / div >
< / div >
-->
< div class = "group group-unique-id" >
< a > {{tr "Unique ID" /}}< / a >
< div class = "input-boxed" >
< input placeholder = "{{tr 'Client unique id to ban' /}}" / >
< / div >
< / div >
< div class = "group group-hwid" >
< a > {{tr "Hardware ID" /}}< / a >
< div class = "input-boxed" >
< input placeholder = "{{tr 'No Hardware ID given' /}}" / >
< div class = "container-tooltip" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< p >
{{tr "The hardware id has different meanings, depends on the users agent< br > " +
"TeaClient: The hardware id will be generate out of some unique system id's< br > " +
"TeaWeb: The TeaSpeak web client hasn't a hardware id, it will be random< br > " +
"TeamSpeak 3 client: The hardware id will be a result of a random generate string within the system registry" /}}
< / p >
< / div >
< / div >
< / div >
< / div >
< div class = "group group-reason" >
< a > {{tr "Reason" /}}< / a >
< textarea class = "input-boxed" placeholder = "{{tr 'No reason given' /}}" > < / textarea >
< / div >
< div class = "group group-duration" >
< a > {{tr "Duration" /}}< / a >
< div class = "container-value" >
< div class = "input-boxed value" >
< input type = "number" value = "1" min = "1" / >
< div class = "container-tooltip tooltip-max-time" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a class = "max" > error: max duration< / a >
< / div >
< / div >
< / div >
< select class = "input-boxed" >
< option value = "sec" > {{tr "seconds"/}}< / option >
< option value = "min" > {{tr "minutes"/}}< / option >
< option value = "hours" > {{tr "hours"/}}< / option >
< option value = "days" > {{tr "days"/}}< / option >
< option value = "perm" > {{tr "permanent"/}}< / option >
< / select >
< / div >
2018-10-20 17:58:06 +00:00
< / div >
2019-09-12 21:59:35 +00:00
< label class = "group-global" >
< div class = "checkbox" >
< input type = "checkbox" >
< div class = "mark" > < / div >
< / div >
< a > {{tr "Use this ban as a global ban" /}}< / a >
< / label >
2018-10-20 17:58:06 +00:00
< / div >
2019-09-12 21:59:35 +00:00
< div class = "container-edit" >
< div class = "group group-name" >
< a > {{tr "Name" /}}< / a >
< div class = "input-boxed" >
< input placeholder = "{{tr 'No username given' /}}" / >
2019-02-17 15:08:10 +00:00
< / div >
2019-09-12 21:59:35 +00:00
< / div >
< div class = "group group-ip" >
< a > {{tr "IP" /}}< / a >
< div class = "input-boxed" >
< input placeholder = "{{tr 'No IP given' /}}" / >
2019-02-17 15:08:10 +00:00
< / div >
2018-10-20 17:58:06 +00:00
< / div >
2019-09-12 21:59:35 +00:00
<!-- Currently not supported by TeaSpeak
< div class = "group group-interpret" >
< a > {{tr "Interpret IP / Name as" /}}< / a >
< div class = "input-boxed" >
< select class = "ban-regex-type" >
< option value = "wildcard-4" > {{tr "Wildcard IPv4" /}}< / option >
< option value = "wildcard-6" > {{tr "Wildcard IPv6" /}}< / option >
< option value = "fixed" > {{tr "Fixed string" /}}< / option >
< option value = "regex" > {{tr "Regular Expression" /}}< / option >
< / select >
< / div >
< / div >
-->
< div class = "group group-unique-id" >
< a > {{tr "Unique ID" /}}< / a >
< div class = "input-boxed" >
< input placeholder = "{{tr 'No Unique ID given' /}}" / >
< / div >
< / div >
< div class = "group group-hwid" >
< a > {{tr "Hardware ID" /}}< / a >
< div class = "input-boxed" >
< input placeholder = "{{tr 'No Hardware ID given' /}}" / >
< div class = "container-tooltip" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< p >
{{tr "The hardware id has different meanings, depends on the users agent< br > " +
"TeaClient: The hardware id will be generate out of some unique system id's< br > " +
"TeaWeb: The TeaSpeak web client hasn't a hardware id, it will be random< br > " +
"TeamSpeak 3 client: The hardware id will be a result of a random generate string within the system registry" /}}
< / p >
< / div >
< / div >
< / div >
< / div >
< div class = "group group-reason" >
< a > {{tr "Reason" /}}< / a >
< textarea class = "input-boxed" placeholder = "{{tr 'No reason given' /}}" > < / textarea >
< / div >
< div class = "group group-duration" >
< a > {{tr "Duration" /}}< / a >
< div class = "container-value" >
< div class = "input-boxed value" >
< input type = "number" value = "1" min = "1" / >
< div class = "container-tooltip tooltip-max-time" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a class = "detailed" > error: details< / a >
< a class = "max" > error: max duration< / a >
< / div >
< / div >
< / div >
< select class = "input-boxed" >
< option value = "sec" > {{tr "seconds"/}}< / option >
< option value = "min" > {{tr "minutes"/}}< / option >
< option value = "hours" > {{tr "hours"/}}< / option >
< option value = "days" > {{tr "days"/}}< / option >
< option value = "perm" > {{tr "permanent"/}}< / option >
< / select >
< / div >
< / div >
< div class = "group-creator" >
< a class = "key" > {{tr "Creator" /}}< / a >
< div class = "value" >
error: creator value
< / div >
< / div >
< div class = "group-enforcements" >
< a class = "key" > {{tr "Enforcements" /}}< / a >
< div class = "value" >
< a > 43< / a >
< button class = "btn btn-yellow button-enforcement-list" > {{tr "Show list" /}}< / button >
< / div >
2018-10-20 17:58:06 +00:00
< / div >
2019-09-12 21:59:35 +00:00
< label class = "group-global" >
< div class = "checkbox disabled" >
< input type = "checkbox" disabled >
< div class = "mark" > < / div >
< / div >
< a > {{tr "This ban is a global ban" /}}< / a >
< / label >
2018-10-20 17:58:06 +00:00
< / div >
< / div >
2019-09-12 21:59:35 +00:00
< div class = "buttons" >
< button class = "btn btn-success button-apply" > error: button apply< / button >
< / div >
2018-10-20 17:58:06 +00:00
< / div >
2019-09-12 21:59:35 +00:00
< div class = "container-seperator vertical" seperator-id = "seperator-banlist" >
< div class = "top" > < / div >
< / div >
< div class = "right" >
< div class = "container-banlist" >
< div class = "container-filter" >
< div class = "form-group" >
< label class = "bmd-label-floating" > {{tr "Filter" /}}< / label >
< input class = "form-control" >
< / div >
< / div >
< div class = "container-list" >
< div class = "entry header" >
< div class = "column column-key" > {{tr "Name/IP/UID/HWID" /}}< / div >
< div class = "column column-reason" > {{tr "Reason" /}}< / div >
< div class = "column column-expires" > {{tr "Expires" /}}< / div >
< div class = "column column-delete" > < / div >
< / div >
< div class = "body" >
< div class = "container-empty" >
< a > error: empty message< / a >
< / div >
< div class = "container-error" >
< a > error: no permissions< / a >
< / div >
<!-- <div class="entry local"></div> -->
< / div >
< / div >
< div class = "container-options" >
< label class = "container-option" >
< div class = "checkbox" >
< input type = "checkbox" class = "option-show-own" >
< div class = "mark" > < / div >
< / div >
< a > {{tr "Show only own bans" /}}< / a >
< / label >
< label class = "container-option" >
< div class = "checkbox" >
< input type = "checkbox" class = "option-highlight-own" >
< div class = "mark" > < / div >
< / div >
< a > {{tr "Highlight own bans" /}}< / a >
< / label >
< button class = "btn btn-success button-refresh-banlist" > {{tr "Refresh" /}}< / button >
< / div >
< / div >
< div class = "container-triggerlist" >
< div class = "container-filter" >
< div class = "form-group" >
< label class = "bmd-label-floating" > {{tr "Filter" /}}< / label >
< input class = "form-control" >
< / div >
< div class = "container-close" >
<!-- TODO -->
< / div >
< / div >
< div class = "container-list" >
< div class = "entry header" >
< div class = "column column-properties" > {{tr "Properties" /}}< / div >
< div class = "column column-timestamp" > {{tr "Timestamp" /}}< / div >
< / div >
< div class = "body" >
< div class = "container-empty" >
< a > error: empty message< / a >
< / div >
< div class = "container-error" >
< a > error: no permissions< / a >
< / div >
<!-- <div class="entry local"></div> -->
< / div >
< / div >
< div class = "container-options" >
< label class = "container-option" >
< div class = "checkbox" >
< input type = "checkbox" class = "option-highlight-cause" >
< div class = "mark" > < / div >
< / div >
< a > {{tr "Highlight cause" /}}< / a >
< / label >
< button class = "btn btn-success button-refresh-triggerlist" > {{tr "Refresh" /}}< / button >
2019-08-21 08:00:01 +00:00
< / div >
2019-02-17 15:08:10 +00:00
< / div >
< / div >
2019-09-12 21:59:35 +00:00
< / div >
2019-02-17 15:08:10 +00:00
< / script >
2018-10-20 17:58:06 +00:00
< script class = "jsrender-template" id = "tmpl_client_ban" type = "text/html" >
2019-09-18 23:25:57 +00:00
< div > <!-- for the renderer -->
< div class = "container-info" >
< div class = "container container-name" >
< div class = "title" > {{tr "Nickname" /}}< / div >
< div class = "value" >
{{for entries}}
{{>name}}< br >
{{/for}}
< / div >
< / div >
< div class = "container container-unique-id" >
< div class = "title" > {{tr "Unique ID" /}}< / div >
< div class = "value" >
{{for entries}}
{{>unique_id}}< br >
{{/for}}
< / div >
< / div >
< / div >
< div class = "container-duration" >
< a > {{tr "Duration" /}}< / a >
< div class = "container-value" >
< div class = "input-boxed value" >
< input type = "number" value = "1" min = "1" / >
< div class = "container-tooltip tooltip-max-time" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a class = "max" > error: max duration< / a >
< / div >
< / div >
< / div >
< select class = "input-boxed" >
2018-12-08 22:13:33 +00:00
< option value = "sec" > {{tr "seconds"/}}< / option >
< option value = "min" > {{tr "minutes"/}}< / option >
< option value = "hours" > {{tr "hours"/}}< / option >
< option value = "days" > {{tr "days"/}}< / option >
< option value = "perm" > {{tr "permanent"/}}< / option >
2018-10-20 17:58:06 +00:00
< / select >
< / div >
< / div >
2019-09-18 23:25:57 +00:00
< div class = "container-reason" >
< div class = "toolbar" >
< div class = "button button-bold" > B< / div >
< div class = "button button-italic" > I< / div >
< div class = "button button-underline" > U< / div >
< label class = "button button-color" >
< input type = "color" value = "#FF0000" >
< a class = "rainbow-letter" > C< / a >
< / label >
2018-10-20 17:58:06 +00:00
< / div >
2019-09-18 23:25:57 +00:00
< textarea class = "input-boxed ban-reason" placeholder = "{{tr 'Ban reason' /}}" > < / textarea >
< / div >
< div class = "container-criteria" >
< div class = "criteria nickname" >
< a > {{tr "Nickname and Unique ID" /}}< / a >
< label class = "checkbox" >
< input type = "checkbox" >
< div class = "mark" > < / div >
< / label >
< / div >
< div class = "criteria ip-address" >
< a > {{tr "IP-Address" /}}< / a >
< label class = "checkbox" >
< input type = "checkbox" >
< div class = "mark" > < / div >
< / label >
< / div >
< div class = "criteria hardware-id" >
< a > {{tr "Hardware ID" /}}< / a >
< label class = "checkbox" >
< input type = "checkbox" >
< div class = "mark" > < / div >
< / label >
< / div >
< / div >
< div class = "container-buttons" >
< button class = "btn btn-danger button-cancel" > {{tr "Cancel" /}}< / button >
< button class = "btn btn-success button-apply" > {{tr "Ok" /}}< / button >
2018-10-20 17:58:06 +00:00
< / div >
< / div >
< / script >
2018-12-08 22:13:33 +00:00
2019-09-12 21:59:35 +00:00
<!-- TODO: Delete me! -->
2018-10-20 17:58:06 +00:00
< script class = "jsrender-template" id = "tmpl_ban_create" type = "text/html" >
< div class = "bancreate" >
< div class = "frame-container" >
2019-02-17 15:08:10 +00:00
< div class = "form-group" >
< label class = "bmd-label-static" > {{tr "IP:" /}}< / label >
< input class = "form-control input-ip" type = "text" maxlength = "128" >
< / div >
< div class = "form-row" >
< div class = "form-group" >
< label class = "bmd-label-static" > {{tr "Name:" /}}< / label >
< input class = "form-control input-name" type = "text" maxlength = "128" >
< / div >
< div class = "form-group" >
< label class = "bmd-label-static" > {{tr "Interpret IP/Name as:" /}}< / label >
< select class = "form-control input-name-type" >
2018-12-08 22:13:33 +00:00
< option value = "wildcard-4" > {{tr "Wildcard IPv4" /}}< / option >
< option value = "wildcard-6" > {{tr "Wildcard IPv6" /}}< / option >
< option value = "fixed" selected > {{tr "Fixed string" /}}< / option >
< option value = "regex" > {{tr "Regular Expression" /}}< / option >
2018-10-20 17:58:06 +00:00
< / select >
< / div >
< / div >
2019-02-17 15:08:10 +00:00
< div class = "form-group" >
< label class = "bmd-label-static" > {{tr "Unique ID:" /}}< / label >
< div > < input class = "form-control input-uid" type = "text" maxlength = "64" > < / div >
2018-10-20 17:58:06 +00:00
< / div >
2019-02-17 15:08:10 +00:00
< div class = "form-group" >
< label class = "bmd-label-static" > {{tr "Hardware ID:" /}}< / label >
< input class = "form-control input-hwid" type = "text" max = "64" >
2018-10-20 17:58:06 +00:00
< / div >
2019-02-17 15:08:10 +00:00
< div class = "form-group container-reason" >
< label class = "bmd-label-static" > {{tr "Reason" /}}< / label >
< textarea class = "form-control input-reason" > < / textarea >
2018-10-20 17:58:06 +00:00
< / div >
2019-02-17 15:08:10 +00:00
< div class = "form-row" >
< div class = "form-group" >
< label > {{tr "Duration:" /}}< / label >
2019-08-21 08:00:01 +00:00
< input type = "number" value = "1" class = "form-control input-time" style = "margin-right: 7px"
min="1">
2019-02-17 15:08:10 +00:00
< / div >
< div class = "form-group input-time-unit" >
< select class = "form-control input-time-unit" >
2018-12-08 22:13:33 +00:00
< option value = "sec" > {{tr "seconds"/}}< / option >
< option value = "min" > {{tr "minutes"/}}< / option >
< option value = "hours" > {{tr "hours"/}}< / option >
< option value = "days" > {{tr "days"/}}< / option >
< option value = "perm" > {{tr "permanent"/}}< / option >
2018-10-20 17:58:06 +00:00
< / select >
< / div >
< / div >
< div class = "footer" >
2019-02-17 15:08:10 +00:00
< div class = "switch" >
< label >
2018-10-20 17:58:06 +00:00
< input type = "checkbox" class = "input-global" >
2019-02-17 15:08:10 +00:00
{{tr "Use this ban as a global ban" /}}
2018-10-20 17:58:06 +00:00
< div class = "help-tip tip-center tip-small" >
< p >
2018-12-09 19:18:49 +00:00
{{tr "Global bans are bans which apply instance wide.< br > " +
2019-10-19 16:03:48 +00:00
"This means that (if this rule apply to a victim) cant join < b > any< / b > virtualserver!< br > " +
2019-02-17 15:08:10 +00:00
"Global bans are by default shown to every server admin group,< br > " +
"but could only be created with query rights"/}}
2018-10-20 17:58:06 +00:00
< / p >
< / div >
2019-02-17 15:08:10 +00:00
< / label >
2018-10-20 17:58:06 +00:00
< / div >
2019-02-17 15:08:10 +00:00
< div class = "bmd-form-group" >
< button class = "btn btn-danger button-close" > {{tr "Cancel"/}}< / button >
< button class = "btn btn-success btn-raised button-success" > {{tr "OK"/}}< / button >
2018-10-20 17:58:06 +00:00
< / div >
< / div >
< / div >
< / div >
< / script >
2018-09-30 19:50:59 +00:00
<!-- Music interface -->
2018-10-14 11:27:48 +00:00
< script class = "jsrender-template" id = "tmpl_music_frame" type = "text/html" >
2018-06-24 11:38:53 +00:00
<!-- First we want to define some variables if not defined yet. -->
{{if !thumbnail}}
2019-08-21 08:00:01 +00:00
{{*
data.thumbnail = "img/music/no_thumbnail.svg";
}}
2018-06-24 11:38:53 +00:00
{{/if}}
2018-08-10 19:30:58 +00:00
{{*
2019-08-21 08:00:01 +00:00
if(!data.song_max_width) data.song_max_width = 300;
2018-08-10 19:30:58 +00:00
2019-08-21 08:00:01 +00:00
let width = calculate_width(data.song_name);
if(width > data.song_max_width)
data.song_use_scroller = true;
2018-08-10 19:30:58 +00:00
}}
2018-04-30 21:57:21 +00:00
< div class = "music-wrapper" >
< div class = "container" >
< div class = "left" >
< div class = "static-card" >
2018-06-24 11:38:53 +00:00
< img src = "{{:thumbnail}}" alt = "Thumbnail" class = "thumbnail" >
2018-04-30 21:57:21 +00:00
< / div >
< / div >
< div class = "right" >
< div class = "controls hover" >
< label class = "btn-forward" > < span > < / span > < / label >
< label class = "btn-rewind" > < span > < / span > < / label >
< label class = "btn-settings" > < span > < / span > < / label >
< / div >
< div class = "flip-card" >
2018-06-24 11:38:53 +00:00
< img src = "{{:thumbnail}}" alt = "Thumbnail" class = "thumbnail" >
2018-04-30 21:57:21 +00:00
< / div >
< / div >
< / div >
< div class = "controls-overlay" >
< div class = "timer" >
2018-11-04 12:54:18 +00:00
< div class = "button-container" >
< div class = "container-play-pause" >
< div class = "button button_play" >
2019-08-21 08:00:01 +00:00
< svg x = "0px" y = "0px" viewBox = "0 0 4.5 6.9"
style="enable-background:new 0 0 4.5 6.9;">
2018-11-04 12:54:18 +00:00
< defs >
< filter id = "shadow_play" title = "Start replaying" >
< feDropShadow dx = "4" dy = "8" stdDeviation = "4" / >
< / filter >
< / defs >
2019-08-21 08:00:01 +00:00
< polyline style = "filter:url(#shadow_play);" class = "button"
points="0.6,0.3 3.9,3.4 0.6,6.6 ">< / polyline >
2018-11-04 12:54:18 +00:00
< / svg >
< / div >
< div class = "button button_pause" title = "Pause the current song" >
2019-08-21 08:00:01 +00:00
< svg x = "0px" y = "0px" viewBox = "0 0 4.5 6.9"
style="enable-background:new 0 0 4.5 6.9;">
2018-11-04 12:54:18 +00:00
< defs >
< filter id = "shadow_pause" >
< feDropShadow dx = "4" dy = "8" stdDeviation = "4" / >
< / filter >
< / defs >
< g style = "filter:url(#shadow_pause);" >
< line x1 = "0.4" y1 = "0.1" x2 = "0.4" y2 = "6.8" > < / line >
< line x1 = "4.1" y1 = "0.1" x2 = "4.1" y2 = "6.8" > < / line >
< / g >
< / svg >
< / div >
< / div >
< div >
< div class = "button button_stop" title = "Stop the music bot" >
2019-08-21 08:00:01 +00:00
< svg x = "0px" y = "0px" viewBox = "0 0 4.5 6.9"
style="enable-background:new 0 0 4.5 6.9;">
2018-11-04 12:54:18 +00:00
< defs >
< filter id = "shadow_stop" >
< feDropShadow dx = "4" dy = "8" stdDeviation = "4" / >
< / filter >
< / defs >
< g style = "filter:url(#shadow_stop);" >
< rect x = "0.25" y = "1.45" width = "4" height = "4" fill = "black" > < / rect >
< / g >
< / svg >
< / div >
< / div >
2018-04-30 21:57:21 +00:00
< / div >
< div class = "timeline" >
< div class = "buffered" > < / div >
< div class = "played" > < / div >
< div class = "slider" > < / div >
< / div >
2018-08-10 19:30:58 +00:00
< div class = "time player_time" > --:--< / div >
< / div >
< div class = "song" >
{{if song_use_scroller}}
2019-08-21 08:00:01 +00:00
< div class = "scroll-left" >
< p class = "name" > {{>song_name}}< / p >
< / div >
2018-08-10 19:30:58 +00:00
{{else}}
2019-08-21 08:00:01 +00:00
< div class = "name" style = "" > {{>song_name}}< / div >
2018-08-10 19:30:58 +00:00
{{/if}}
2018-04-30 21:57:21 +00:00
< / div >
< / div >
< / div >
2018-06-24 11:38:53 +00:00
< / script >
2018-10-14 11:27:48 +00:00
< script class = "jsrender-template" id = "tmpl_music_frame_empty" type = "text/html" >
2018-04-30 21:57:21 +00:00
< div class = "music-wrapper empty" >
< img src = "img/music/empty_disk.svg" >
2018-12-08 22:13:33 +00:00
< a > {{tr "Not playing any music"/}}< / a >
2018-04-30 21:57:21 +00:00
< / div >
2018-10-03 20:04:29 +00:00
< / script >
2018-06-20 17:06:55 +00:00
2018-10-14 11:27:48 +00:00
< script class = "jsrender-template" id = "tmpl_selected_client" type = "text/html" >
2018-06-20 19:05:35 +00:00
< table class = "select_info_table" >
2018-06-20 17:06:55 +00:00
< tr >
2018-12-08 22:13:33 +00:00
< td > {{tr "Name:" /}}< / td >
2019-03-04 18:49:04 +00:00
< td style = "display: flex; flex-direction: row" >
2019-08-21 08:00:01 +00:00
< div style = "margin-right: 3px"
class="country flag-{{*:(data.property_client_country || 'xx').toLowerCase()}}"
title="{{*:i18n.country_name(data.property_client_country || 'XX')}}">< / div >
2019-03-04 18:49:04 +00:00
< node key = "client_name" / >
< / td >
2018-06-20 17:06:55 +00:00
< / tr >
{{if property_client_description.length > 0}}
< tr >
2018-12-08 22:13:33 +00:00
< td > {{tr "Description:"/}}< / td >
2018-06-20 19:05:35 +00:00
< td > {{>property_client_description}}< / td >
2018-06-20 17:06:55 +00:00
< / tr >
{{/if}}
2019-02-17 15:08:10 +00:00
{{if !client_is_query}}
2019-08-21 08:00:01 +00:00
< tr >
2018-12-08 22:13:33 +00:00
< td > {{tr "Version:"/}}< / td >
2019-03-17 11:15:39 +00:00
< td >
< a title = "{{>property_client_version}}" > {{*: data.property_client_version.split(" ")[0]; }}< / a >
2019-08-21 08:00:01 +00:00
{{if client_is_web & & false}}
<!-- we cant show any browser info because every browser claims to be any browser as well -->
2019-03-17 11:15:39 +00:00
< div class = "icon client-message_info button-browser-info" title = "{{tr 'Browser info' /}}" > < / div >
{{/if}}
on
< a > {{>property_client_platform}}< / a >
< / td >
2018-06-20 17:06:55 +00:00
< / tr >
2019-02-17 15:08:10 +00:00
{{/if}}
2018-06-20 17:06:55 +00:00
< tr >
2018-12-08 22:13:33 +00:00
< td > {{tr "Online since:"/}}< / td >
2018-06-20 19:05:35 +00:00
< td class = "update_onlinetime" > {{:client_onlinetime}}< / td >
2018-06-20 17:06:55 +00:00
< / tr >
2019-02-17 15:08:10 +00:00
{{if !client_is_query}}
2018-06-20 17:06:55 +00:00
< tr >
2018-12-08 22:13:33 +00:00
< td > {{tr "Volume:"/}}< / td >
2018-06-20 19:05:35 +00:00
< td > {{:sound_volume}}%< / td >
2018-06-20 17:06:55 +00:00
< / tr >
2019-02-17 15:08:10 +00:00
{{/if}}
2018-06-20 17:06:55 +00:00
2019-08-21 08:00:01 +00:00
{{if property_client_teaforo_id > 0}}
2018-06-20 17:06:55 +00:00
< tr >
2018-12-08 22:13:33 +00:00
< td > {{tr "TeaSpeak Account:" /}}< / td >
2019-08-21 08:00:01 +00:00
< td > < a href = "//forum.teaspeak.de/index.php?members/{{:property_client_teaforo_id}}" target = "_blank" > {{>property_client_teaforo_name}}< / a > < / td >
2018-06-20 17:06:55 +00:00
< / tr >
{{/if}}
< / table >
<!-- Server groups -->
< div style = "display: flex; flex-direction: column;" >
< div style = "display:flex;margin-top:5px;align-items:center" >
2019-08-21 08:00:01 +00:00
< div class = "icon client-permission_server_groups" > < / div >
< div style = "margin-left:3px;font-weight:bold" > {{tr "Server groups:"/}}< / div >
2018-06-20 17:06:55 +00:00
< / div >
{{for group_server}}
2019-08-21 08:00:01 +00:00
< div style = "display: flex; margin-top: 1px; margin-left: 10px; align-items: center;" >
< node key = "group_{{:group_id}}_icon" / >
< div style = "margin-left: 3px" > {{>group_name}}< / div >
< / div >
2018-06-20 17:06:55 +00:00
{{/for}}
< / div >
<!-- Channel group -->
< div style = "display: flex; flex-direction: column; margin-bottom: 20px" >
< div style = "display:flex;margin-top:10px;align-items:center" >
2019-08-21 08:00:01 +00:00
< div class = "icon client-permission_channel" > < / div >
< div style = "margin-left:3px;font-weight:bold" > {{tr "Channel group:"/}}< / div >
2018-06-20 17:06:55 +00:00
< / div >
< div style = "display: flex; margin-top: 1px; margin-left: 10px; align-items: center;" >
< node key = "group_{{:group_channel}}_icon" / >
< div style = "margin-left: 3px" > {{*: data["group_" + data.group_channel + "_name"]}}< / div >
< / div >
< / div >
2018-06-20 19:05:35 +00:00
<!-- Costume tags/icons -->
2018-09-25 10:57:47 +00:00
<!-- Client is away -->
{{if property_client_away}}
< div style = "display: inline-flex" >
< div class = "icon_x32 client-away" style = "margin-right: 5px" > < / div >
2018-12-08 22:13:33 +00:00
< a style = "align-self: center" > {{tr "Away"/}}
2018-09-25 10:57:47 +00:00
{{if property_client_away_message & & property_client_away_message.length > 0}}
2019-08-21 08:00:01 +00:00
({{>property_client_away_message}})
2018-09-25 10:57:47 +00:00
{{/if}}
< / a >
< / div >
{{/if}}
2018-06-20 19:05:35 +00:00
<!-- Speakers/Headphones disabled -->
{{if !property_client_output_hardware}}
2019-08-21 08:00:01 +00:00
< div style = "display: inline-flex" >
< div class = "icon_x32 client-hardware_output_muted" style = "margin-right: 5px" > < / div >
< a style = "align-self: center" > {{tr "Speakers/Headphones disabled"/}}< / a >
< / div >
2018-06-20 19:05:35 +00:00
{{/if}}
2019-08-21 08:00:01 +00:00
<!-- Microphone disabled -->
2018-06-20 19:05:35 +00:00
{{if !property_client_input_hardware}}
2019-08-21 08:00:01 +00:00
< div style = "display: inline-flex" >
< div class = "icon_x32 client-hardware_input_muted" style = "margin-right: 5px" > < / div >
< a style = "align-self: center" > {{tr "Microphone disabled"/}}< / a >
< / div >
2018-06-20 19:05:35 +00:00
{{/if}}
2019-08-21 08:00:01 +00:00
<!-- Speakers/Headphones Muted -->
2018-06-20 19:05:35 +00:00
{{if property_client_output_muted}}
2019-08-21 08:00:01 +00:00
< div style = "display: inline-flex" >
< div class = "icon_x32 client-output_muted" style = "margin-right: 5px" > < / div >
< a style = "align-self: center" > {{tr "Speakers/Headphones Muted"/}}< / a >
< / div >
2018-06-20 19:05:35 +00:00
{{/if}}
2019-08-21 08:00:01 +00:00
<!-- Microphone Muted -->
2018-06-20 19:05:35 +00:00
{{if property_client_input_muted}}
2019-08-21 08:00:01 +00:00
< div style = "display: inline-flex" >
< div class = "icon_x32 client-input_muted" style = "margin-right: 5px" > < / div >
< a style = "align-self: center" > {{tr "Microphone Muted"/}}< / a >
< / div >
2018-06-20 19:05:35 +00:00
{{/if}}
2018-08-12 14:38:38 +00:00
{{if property_client_flag_avatar & & property_client_flag_avatar.length > 0}}
2019-08-21 08:00:01 +00:00
< div style = "margin-top: 10px;" class = "client-avatar" >
< node key = "client_avatar" / >
< / div >
2018-08-12 14:38:38 +00:00
{{/if}}
2018-06-20 19:05:35 +00:00
< / script >
2018-10-14 11:27:48 +00:00
< script class = "jsrender-template" id = "tmpl_selected_music" type = "text/html" >
2018-08-10 19:30:58 +00:00
< table class = "select_info_table" >
< tr >
2018-12-08 22:13:33 +00:00
< td > {{tr "Name:"/}}< / td >
2019-08-21 08:00:01 +00:00
< td >
< node key = "client_name" / >
< / td >
2018-08-10 19:30:58 +00:00
< / tr >
{{if property_client_description.length > 0}}
< tr >
2018-12-08 22:13:33 +00:00
< td > {{tr "Description:"/}}< / td >
2018-08-10 19:30:58 +00:00
< td > {{>property_client_description}}< / td >
< / tr >
{{/if}}
2019-01-20 17:43:14 +00:00
{{if property_client_uptime_mode == 0}}
2018-08-10 19:30:58 +00:00
< tr >
2018-12-08 22:13:33 +00:00
< td > {{tr "Livetime:"/}}< / td >
2018-08-10 19:30:58 +00:00
< td class = "update_onlinetime" > {{:client_onlinetime}}< / td >
< / tr >
2019-01-20 17:43:14 +00:00
{{else}}
< tr >
< td > {{tr "Online since" /}}< / td >
< td > {{tr "Server start" /}}< / td >
< / tr >
{{/if}}
2018-08-10 19:30:58 +00:00
<!-- player_volume -->
< tr >
2018-12-08 22:13:33 +00:00
< td > {{tr "Remote Volume:"/}}< / td >
2019-01-20 17:43:14 +00:00
< td class = "property-volume-remote" > {{*: Math.floor(data.property_player_volume * 100) }}%< / td >
2018-08-10 19:30:58 +00:00
< / tr >
< tr >
2018-12-08 22:13:33 +00:00
< td > {{tr "Local Volume:"/}}< / td >
2019-01-20 17:43:14 +00:00
< td class = "property-volume-local" > {{>sound_volume}}%< / td >
2018-08-10 19:30:58 +00:00
< / tr >
2018-11-04 12:54:18 +00:00
{{if song_url}}
< tr >
2018-12-08 22:13:33 +00:00
< td > {{tr "Currently replaying:"/}}< / td >
2019-08-21 08:00:01 +00:00
< td >
< node key = "song_url" > < / node >
< / td >
2018-11-04 12:54:18 +00:00
< / tr >
{{/if}}
2018-08-10 19:30:58 +00:00
<!-- TODO: Created by -->
< / table >
<!-- Server groups -->
< div style = "display: flex; flex-direction: column;" >
< div style = "display:flex;margin-top:5px;align-items:center" >
< div class = "icon client-permission_server_groups" > < / div >
2018-12-08 22:13:33 +00:00
< div style = "margin-left:3px;font-weight:bold" > {{tr "Server groups:"/}}< / div >
2018-08-10 19:30:58 +00:00
< / div >
{{for group_server}}
< div style = "display: flex; margin-top: 1px; margin-left: 10px; align-items: center;" >
< node key = "group_{{:group_id}}_icon" / >
< div style = "margin-left: 3px" > {{:group_name}}< / div >
< / div >
{{/for}}
< / div >
<!-- Channel group -->
< div style = "display: flex; flex-direction: column; margin-bottom: 20px" >
< div style = "display:flex;margin-top:10px;align-items:center" >
< div class = "icon client-permission_channel" > < / div >
2018-12-08 22:13:33 +00:00
< div style = "margin-left:3px;font-weight:bold" > {{tr "Channel group:"/}}< / div >
2018-08-10 19:30:58 +00:00
< / div >
< div style = "display: flex; margin-top: 1px; margin-left: 10px; align-items: center;" >
< node key = "group_{{:group_channel}}_icon" / >
< div style = "margin-left: 3px" > {{*: data["group_" + data.group_channel + "_name"]}}< / div >
< / div >
< / div >
< div >
< node key = "music_player" / >
< / div >
< / script >
2018-10-14 11:27:48 +00:00
< script class = "jsrender-template" id = "tmpl_selected_server" type = "text/html" >
2018-09-25 15:39:38 +00:00
< div class = "select_server" >
2018-11-03 11:16:13 +00:00
< div class = "container" >
<!--
virtualserver_hostbanner_url: string = "";
virtualserver_hostbanner_gfx_url: string = "";
virtualserver_hostbanner_gfx_interval: number = 0;
virtualserver_hostbanner_mode: number = 0;
-->
< table class = "select_info_table" >
< tr >
2018-12-08 22:13:33 +00:00
< td > {{tr "Name:" /}}< / td >
2019-08-21 08:00:01 +00:00
< td >
< node key = "server_name" / >
< / td >
2018-11-03 11:16:13 +00:00
< / tr >
< tr >
2018-12-08 22:13:33 +00:00
< td > {{tr "Address:" /}}< / td >
2018-11-03 11:16:13 +00:00
< td > {{>server_address}}< / td >
< / tr >
2019-04-29 17:48:05 +00:00
{{if server_peer_address != server_address}}
< tr >
< td > {{tr "Peer address:" /}}< / td >
< td > {{>server_peer_address}}< / td >
< / tr >
{{/if}}
2019-04-15 13:33:51 +00:00
<!--
2018-11-03 11:16:13 +00:00
< tr >
2018-12-08 22:13:33 +00:00
< td > {{tr "Type:"/}}< / td >
2018-11-03 11:16:13 +00:00
< td > TeaSpeak< / td >
< / tr >
2019-04-15 13:33:51 +00:00
-->
2018-11-03 11:16:13 +00:00
< tr >
2018-12-08 22:13:33 +00:00
< td > {{tr "Version:"/}}< / td >
2019-08-21 08:00:01 +00:00
< td > < a title = "{{>property_virtualserver_version}}" > {{*:
data.property_virtualserver_version.split(" ")[0]; }}< / a > on
{{>property_virtualserver_platform}}
< / td >
2018-11-03 11:16:13 +00:00
< / tr >
< tr >
2018-12-08 22:13:33 +00:00
< td > {{tr "Uptime:"/}}< / td >
2018-11-03 11:16:13 +00:00
< td class = "update_onlinetime" > {{:server_onlinetime}}< / td >
< / tr >
< tr >
2018-12-08 22:13:33 +00:00
< td > {{tr "Current Channels:"/}}< / td >
2018-11-03 11:16:13 +00:00
< td > {{:property_virtualserver_channelsonline}}< / td >
< / tr >
< tr >
2018-12-08 22:13:33 +00:00
< td > {{tr "Current Clients:"/}}< / td >
2019-04-15 13:33:51 +00:00
< td >
{{:property_virtualserver_clientsonline}}/{{:property_virtualserver_maxclients}}
{{if property_virtualserver_reserved_slots > 0}}
2019-08-21 08:00:01 +00:00
(
2019-10-19 16:03:48 +00:00
< div class = "reserved-slots" > -{{:property_virtualserver_reserved_slots}} {{tr "Slots reserved" /}}
2019-08-21 08:00:01 +00:00
< / div >
)
2019-04-15 13:33:51 +00:00
{{/if}}
{{if hidden_clients > 0}}
({{:hidden_clients}} {{tr "clients hidden" /}})
{{/if}}
< / td >
2018-11-03 11:16:13 +00:00
< / tr >
< tr >
2018-12-08 22:13:33 +00:00
< td > {{tr "Current Queries:"/}}< / td >
2018-11-03 11:16:13 +00:00
< td > {{:property_virtualserver_queryclientsonline}}< / td >
< / tr >
< / table >
< / div >
2018-09-25 15:39:38 +00:00
2019-03-07 14:30:53 +00:00
< button class = "button-update btn btn-success" > {{tr "Update info"/}}< / button >
2018-09-25 15:39:38 +00:00
< / div >
2018-06-20 19:05:35 +00:00
< / script >
2018-10-14 11:27:48 +00:00
< script class = "jsrender-template" id = "tmpl_selected_channel" type = "text/html" >
2018-06-20 19:05:35 +00:00
< table class = "select_info_table" >
< tr >
2018-12-08 22:13:33 +00:00
< td > {{tr "Name:" /}}< / td >
2019-08-21 08:00:01 +00:00
< td >
< node key = "channel_name" / >
< / td >
2018-06-20 19:05:35 +00:00
< / tr >
2018-08-12 11:26:56 +00:00
{{if property_channel_topic}}
2018-06-20 19:05:35 +00:00
< tr >
2018-12-08 22:13:33 +00:00
< td > {{tr "Topic:"/}}< / td >
2018-06-20 19:05:35 +00:00
< td > {{>property_channel_topic}}< / td >
< / tr >
2018-08-12 11:26:56 +00:00
{{/if}}
2018-06-20 19:05:35 +00:00
< tr >
2018-12-08 22:13:33 +00:00
< td > {{tr "Codec:"/}}< / td >
2018-06-20 19:05:35 +00:00
< td > {{>property_channel_codec}}< / td >
< / tr >
< tr >
2018-12-08 22:13:33 +00:00
< td > {{tr "Codec Quality:"/}}< / td >
2018-06-20 19:05:35 +00:00
< td > {{>property_channel_codec_quality}}< / td >
< / tr >
< tr >
2018-12-08 22:13:33 +00:00
< td > {{tr "Type:"/}}< / td >
2018-06-20 19:05:35 +00:00
< td > {{>channel_type}}< / td >
< / tr >
< tr >
2018-12-08 22:13:33 +00:00
< td > {{tr "Current clients:"/}}< / td >
2018-06-20 19:05:35 +00:00
< td >
{{>channel_clients}} /
{{if property_channel_maxclients == -1}}
2019-08-21 08:00:01 +00:00
{{tr "Unlimited"/}}
2018-06-20 19:05:35 +00:00
{{else}}
2019-08-21 08:00:01 +00:00
{{>property_channel_maxclients}}
2018-06-20 19:05:35 +00:00
{{/if}}
< / td >
< / tr >
< tr >
2018-12-08 22:13:33 +00:00
< td > {{tr "Subscription Status:"/}}< / td >
2018-06-20 19:05:35 +00:00
< td >
{{if channel_subscribed}}
2019-08-21 08:00:01 +00:00
{{tr "Subscribed"/}}
2018-06-20 19:05:35 +00:00
{{else}}
2019-08-21 08:00:01 +00:00
{{tr "Unsubscribed"/}}
2018-06-20 19:05:35 +00:00
{{/if}}
< / td >
< / tr >
< tr >
2018-12-08 22:13:33 +00:00
< td > {{tr "Voice Data Encryption:" /}}< / td >
2018-06-20 19:05:35 +00:00
< td >
{{if property_channel_codec_is_unencrypted}}
2019-08-21 08:00:01 +00:00
{{tr "Unencrypted"/}}
2018-06-20 19:05:35 +00:00
{{else}}
2019-08-21 08:00:01 +00:00
{{tr "Encrypted"/}}
2018-06-20 19:05:35 +00:00
{{/if}}
2018-12-02 13:12:23 +00:00
{{if server_encryption == 2}}
2019-08-21 08:00:01 +00:00
{{tr "(Overridden by the server with Encrypted)" /}}
2018-12-02 13:12:23 +00:00
{{/if}}
{{if server_encryption == 1}}
2019-08-21 08:00:01 +00:00
{{tr "(Overridden by the server with Unencrypted)"/}}
2018-12-02 13:12:23 +00:00
{{/if}}
2018-06-20 19:05:35 +00:00
< / td >
< / tr >
< / table >
2018-12-26 17:58:13 +00:00
< div style = "margin-top: 10px; flex-shrink: 1; flex-direction: column; display: flex; flex-grow: 1;" >
2018-12-08 22:13:33 +00:00
< b style = "margin-bottom: 2px" > {{tr "Description"/}}< / b >
2018-08-12 17:17:57 +00:00
< node key = "bbcode_channel_description" > < / node >
< / div >
2018-06-20 17:06:55 +00:00
< / script >
2018-11-03 23:39:29 +00:00
< script class = "jsrender-template" id = "tmpl_poke_popup" type = "text/html" >
< div class = "container-poke" >
2019-05-25 17:06:57 +00:00
< div class = "container-servers" > < / div >
< div class = "buttons" >
< div class = "spacer" > < / div >
< button class = "btn btn-raised btn-primary button-close" > {{tr "Close" /}}< / button >
2018-11-03 23:39:29 +00:00
< / div >
< / div >
< / script >
2019-05-25 15:54:26 +00:00
< script class = "jsrender-template" id = "tmpl_invite" type = "text/html" >
2019-10-13 19:33:07 +00:00
< div class = "general-properties" >
< div class = "form-group property-type" >
< label > {{tr "Link type:" /}}< / label >
< select class = "form-control" >
< option value = "tea-web" > {{tr "TeaWeb" /}}< / option >
< option value = "tea-client" > {{tr "TeaClient" /}}< / option >
< option value = "teamspeak" > {{tr "TeamSpeak" /}}< / option >
< / select >
< / div >
< label class = "container-settings" >
< label >
< div class = "checkbox flag-direct-connect" >
< input type = "checkbox" >
< div class = "mark" > < / div >
2019-05-25 15:54:26 +00:00
< / div >
2019-10-13 19:33:07 +00:00
< a > {{tr "Connect directly" /}}< / a >
<!--
< div class = "help-tip tip-center tip-small" >
< p >
{{tr "Lets the user directly connect to the server and not open the connect modal" /}}
< / p >
< / div >
-->
< / label >
< label >
< div class = "checkbox flag-resolved-address" >
< input type = "checkbox" >
< div class = "mark" > < / div >
2019-05-25 15:54:26 +00:00
< / div >
2019-10-13 19:33:07 +00:00
< a > {{tr "Use resolved address" /}}< / a >
<!--
< div class = "help-tip tip-center tip-small" >
< p >
{{tr "Use the resolved server address (IP) instead of the given address" /}}
< / p >
< / div >
-->
< / label >
2019-05-25 15:54:26 +00:00
< / div >
< / div >
2019-10-13 19:33:07 +00:00
< textarea class = "text-output" readonly > < / textarea >
< div class = "buttons" >
< button class = "btn btn-primary button-copy" >
< div class = "icon client-copy" > < / div >
{{tr "Copy" /}}
< / button >
< button class = "btn btn-primary button-close" > {{tr "Close" /}}< / button >
< / div >
2019-05-25 15:54:26 +00:00
< / script >
2018-12-18 19:00:29 +00:00
< script class = "jsrender-template" id = "tmpl_query_create" type = "text/html" >
< div class = "query-create" >
< a > {{tr "Set the login name for your Server Query account." /}}< / a >
< a > {{tr "You'll receive your password within the next step." /}}< / a >
2019-02-17 15:08:10 +00:00
< div class = "form-group row-name" >
< label > Name:< / label >
< input type = "text" maxlength = "64" minlength = "3" class = "form-control input-name" >
2018-12-18 19:00:29 +00:00
< / div >
< div class = "buttons" >
2019-02-17 15:08:10 +00:00
< button class = "btn btn-danger button-close" > {{tr "Close" /}}< / button >
< button class = "btn btn-success btn-raised button-create" > {{tr "Create" /}}< / button >
2018-12-18 19:00:29 +00:00
< / div >
< / div >
< / script >
< script class = "jsrender-template" id = "tmpl_query_created" type = "text/html" >
< div class = "query-created" >
< a > {{tr "Your server query credentials:" /}}< / a >
2019-02-17 15:08:10 +00:00
< div class = "form-row" >
< div class = "form-group" >
< label > {{tr "Name:" /}}< / label >
2019-08-21 08:00:01 +00:00
< input class = "form-control query_name" type = "text" maxlength = "64" minlength = "3"
value="{{>username}}">
2019-02-17 15:08:10 +00:00
< / div >
< div class = "btn_copy_name icon_x32 client-copy" title = "{{tr 'Copy username' /}}" > < / div >
2018-12-18 19:00:29 +00:00
< / div >
2019-02-17 15:08:10 +00:00
< div class = "form-row" >
< div class = "form-group" >
< label > {{tr "Password:" /}}< / label >
2019-08-21 08:00:01 +00:00
< input class = "form-control query_password" type = "text" maxlength = "64" minlength = "3"
value="{{>password}}">
2019-02-17 15:08:10 +00:00
< / div >
< div class = "btn_copy_password icon_x32 client-copy" title = "{{tr 'Copy username' /}}" > < / div >
2018-12-18 19:00:29 +00:00
< / div >
< div class = "buttons" >
2019-02-17 15:08:10 +00:00
< button class = "btn btn-primary button-close" > {{tr "Close" /}}< / button >
2018-12-18 19:00:29 +00:00
< / div >
< / div >
< / script >
2018-12-23 16:41:14 +00:00
< script class = "jsrender-template" id = "tmpl_query_manager" type = "text/html" >
2019-10-13 19:33:07 +00:00
< div class = "container" > <!-- required for the seperator -->
< div class = "left" >
< div class = "title" >
< a > {{tr "Account list" /}}< / a >
< button class = "btn btn-success button-create" > {{tr "Create account" /}}< / button >
2019-02-17 15:08:10 +00:00
< / div >
2019-10-13 19:33:07 +00:00
< div class = "container-list" >
< div class = "container-entries" >
< div class = "container-empty" >
error: empty
< / div >
< div class = "container-error" >
error: query list
< / div >
< / div >
< div class = "container-search" >
< button class = "btn btn-blue button-update" > {{tr "Refresh" /}}< / button >
< div class = "form-group" >
< label class = "bmd-label-floating" > {{tr "Search for query" /}}< / label >
< input type = "text" class = "form-control filter-input" >
< / div >
2018-12-23 16:41:14 +00:00
< / div >
< / div >
< / div >
2019-10-13 19:33:07 +00:00
< div class = "container-seperator vertical" seperator-id = "seperator-query-manage" > < / div >
< div class = "right" >
< div class = "title" >
< a > {{tr "Account details" /}}< / a >
< button class = "btn btn-danger button-delete" > {{tr "Delete account" /}}< / button >
< / div >
< div class = "container-details" >
< div class = "detail login-name" >
< a class = "title" > {{tr "Login name" /}}< / a >
< a class = "value" > error: login name< / a >
< / div >
< div class = "detail unique-id" >
< div class = "title" >
< a > {{tr "Unique ID" /}}< / a >
< div class = "button button-copy" >
< div class = "icon_em client-copy" > < / div >
< / div >
< / div >
< a class = "value" > error: unique id< / a >
< / div >
< div class = "detail bound-server" >
< a class = "title" > {{tr "Bound server ID" /}}< / a >
< a class = "value" > error: bound server< / a >
< / div >
< div class = "spacer" > < / div >
< div class = "buttons" >
< button class = "btn btn-blue button-change-password" > {{tr "Change password" /}}< / button >
< button class = "btn btn-blue button-rename" > {{tr "Rename Account" /}}< / button >
< / div >
2019-02-17 15:08:10 +00:00
< / div >
< / div >
2018-12-23 16:41:14 +00:00
< / div >
< / script >
2019-01-20 17:43:14 +00:00
< script class = "jsrender-template" id = "tmpl_playlist_list" type = "text/html" >
< div class = "playlist-management" >
2019-02-17 15:08:10 +00:00
< div class = "header" >
< div class = "form-group bmd-form-group buttons" >
2019-08-21 08:00:01 +00:00
< button class = "btn btn-success button button-playlist-create" > {{tr "Create playlist" /}}
< / button >
2019-02-17 15:08:10 +00:00
< button class = "btn btn-danger button button-playlist-delete" > {{tr "Delete playlist" /}}< / button >
< button class = "btn btn-primary button-playlist-edit" > {{tr "Edit playlist" /}}< / button >
2019-01-20 17:43:14 +00:00
< / div >
2019-02-17 15:08:10 +00:00
< div class = "form-group search" >
< label class = "bmd-label-floating" > {{tr "search" /}}< / label >
< input class = "form-control input input-search" type = "text" >
2019-01-20 17:43:14 +00:00
< / div >
2019-02-17 15:08:10 +00:00
< / div >
< div class = "playlist-list" >
< div class = "playlist-list-header" >
< div class = "column column-id" > {{tr "ID" /}}< / div >
< div class = "column column-title" > {{tr "Title" /}}< / div >
< div class = "column column-creator" > {{tr "Creator" /}}< / div >
< div class = "column column-type" > {{tr "Type" /}}< / div >
< div class = "column column-used" > {{tr "Used" /}}< / div >
< / div >
< div class = "playlist-list-entries-container" >
< div class = "playlist-list-entries" >
2019-01-20 17:43:14 +00:00
< / div >
2019-02-17 15:08:10 +00:00
< / div >
< / div >
< div class = "footer" >
< div class = "info" >
< a > {{tr "loading..." /}}< / a >
< / div >
< div class = "buttons" >
< div class = "form-group highlight-own" >
< div class = "switch" >
< label >
< input type = "checkbox" class = "button-highlight-own" >
{{tr "Highlight own playlists" /}}
< / label >
2019-01-20 17:43:14 +00:00
< / div >
2019-02-17 15:08:10 +00:00
< / div >
< div class = "form-group bmd-form-group" >
< button class = "btn btn-secondary btn-raised button-refresh" > {{tr "Refresh" /}}< / button >
2019-01-20 17:43:14 +00:00
< / div >
< / div >
< / div >
< / div >
< / script >
< script class = "jsrender-template" id = "tmpl_playlist_list-list_entry" type = "text/html" >
< div class = "entry" playlist-owner-dbid = "{{>playlist_owner_dbid}}" >
< div class = "column column-id" > {{>playlist_id}}< / div >
< div class = "column column-title" > {{>playlist_title}}< / div >
< div class = "column column-creator" > {{>playlist_owner_name}}< / div >
< div class = "column column-type" >
{{if playlist_type == 0}}
2019-08-21 08:00:01 +00:00
bot bound
2019-01-20 17:43:14 +00:00
{{else playlist_type == 1}}
2019-08-21 08:00:01 +00:00
global
2019-01-20 17:43:14 +00:00
{{else}}
2019-08-21 08:00:01 +00:00
{{>playlist_type}}
2019-01-20 17:43:14 +00:00
{{/if}}
< / div >
< div class = "column column-used" >
{{if playlist_bot_id > 0}}
2019-08-21 08:00:01 +00:00
< div title = "{{tr 'Playlist is in use by bot ' /}}{{>playlist_bot_id}}"
class="icon client-apply">< / div >
2019-01-20 17:43:14 +00:00
{{else}}
< div title = "{{tr 'Playlist isnt use' /}}" class = "icon client-delete" > < / div >
{{/if}}
< / div >
< / div >
< / script >
< script class = "jsrender-template" id = "tmpl_playlist_edit" type = "text/html" >
< div class = "playlist-edit" >
2019-02-17 15:08:10 +00:00
< div class = "general-properties" >
< div class = "form-group property-owner" >
< label > {{tr "Playlist owner:" /}}< / label >
< input type = "text" class = "form-control value" readonly >
2019-01-20 17:43:14 +00:00
< / div >
2019-02-17 15:08:10 +00:00
< div class = "form-group property-title" >
< label > {{tr "Title:" /}}< / label >
< input type = "text" class = "form-control value" >
< / div >
< div class = "form-group property-description" >
< label > {{tr "Description:" /}}< / label >
< textarea class = "form-control value" > < / textarea >
< / div >
< div class = "form-group property-type" >
< label > {{tr "Type:" /}}< / label >
< select class = "form-control" >
< option value = "0" > {{tr "Bot bound" /}}< / option >
< option value = "1" > {{tr "Global" /}}< / option >
< / select >
< / div >
< / div >
< x-tab >
< x-entry >
< x-tag > {{tr "Songs" /}}< / x-tag >
< x-content >
< div class = "container-songs" >
< div class = "song-list" >
< div class = "song-list-header" >
< div class = "column column-id" > {{tr "ID" /}}< / div >
< div class = "column column-url" > {{tr "Url" /}}< / div >
< div class = "column column-loaded" > {{tr "loaded" /}}< / div >
< div class = "column column-buttons" > < / div >
2019-01-20 17:43:14 +00:00
< / div >
2019-02-17 15:08:10 +00:00
< div class = "song-list-entries-container" >
< div class = "song-list-entries" >
2019-01-20 17:43:14 +00:00
< / div >
< / div >
< / div >
2019-02-17 15:08:10 +00:00
< div class = "footer" >
< div class = "buttons" >
< button class = "btn btn-success button-song-add" > {{tr "Add song" /}}< / button >
< button class = "btn btn-secondary button-refresh" > {{tr "Refresh" /}}< / button >
2019-01-20 17:43:14 +00:00
< / div >
2019-02-17 15:08:10 +00:00
< div class = "info-message" > < / div >
< / div >
< / div >
< / x-content >
< / x-entry >
< x-entry >
< x-tag > {{tr "Playback settings"/}}< / x-tag >
< x-content >
< div class = "playback-properties" >
< div class = "form-group property-replay-mode" >
< label > {{tr "Replay mode" /}}< / label >
< select class = "form-control value" >
< option value = "0" > {{tr "Normal"/}}< / option >
< option value = "1" > {{tr "Loop list"/}}< / option >
< option value = "2" > {{tr "Loop single entry"/}}< / option >
< option value = "3" > {{tr "Shuffle"/}}< / option >
< / select >
< / div >
< div class = "form-group property-flag-delete-played" >
< div class = "switch" >
< label >
< input type = "checkbox" >
{{tr "Delete played song:" /}}
< / label >
2019-01-20 17:43:14 +00:00
< / div >
2019-02-17 15:08:10 +00:00
< / div >
< div class = "form-group property-current-song" >
< label > {{tr "Current replaying song:" /}}< / label >
< input type = "text" class = "form-control value" / >
< / div >
< div class = "form-group property-flag-finished" >
< div class = "switch" >
< label >
{{tr "Playlist finished status" /}}
< input type = "checkbox" >
2019-01-20 17:43:14 +00:00
<!-- TODO add info text here -->
2019-02-17 15:08:10 +00:00
< / label >
2019-01-20 17:43:14 +00:00
< / div >
< / div >
2019-02-17 15:08:10 +00:00
< / div >
< / x-content >
< / x-entry >
< x-entry >
< x-tag > {{tr "Permissions" /}}< / x-tag >
< x-content >
< div class = "container-permissions" >
< div class = "group_box" >
< div class = "header" > {{tr "Access/modify powers" /}}< / div >
< div class = "content permissions-list" >
< div class = "form-group permission" permission = "i_playlist_needed_view_power" >
< label > {{tr "View power" /}}< / label >
2019-08-21 08:00:01 +00:00
< input type = "number" min = "0" value = "0" class = "form-control value" >
2019-01-20 17:43:14 +00:00
< / div >
2019-02-17 15:08:10 +00:00
< div class = "form-group permission" permission = "i_playlist_needed_modify_power" >
< label > {{tr "Modify" /}}< / label >
< input type = "number" min = "0" value = "0" class = "form-control value" >
< / div >
2019-08-21 08:00:01 +00:00
< div class = "form-group permission"
permission="i_playlist_needed_permission_modify_power">
2019-02-17 15:08:10 +00:00
< label > {{tr "Permission modify" /}}< / label >
< input type = "number" min = "0" value = "0" class = "form-control value" >
< / div >
< div class = "form-group permission" permission = "i_playlist_needed_delete_power" >
< label > {{tr "Delete" /}}< / label >
< input type = "number" min = "0" value = "0" class = "form-control value" >
2019-01-20 17:43:14 +00:00
< / div >
< / div >
< / div >
2019-02-17 15:08:10 +00:00
< div class = "group_box" >
< div class = "header" > {{tr "Song management powers" /}}< / div >
< div class = "content permissions-list" >
2019-08-21 08:00:01 +00:00
< div class = "form-group permission"
permission="i_playlist_song_needed_add_power">
2019-02-17 15:08:10 +00:00
< label > {{tr "Song add" /}}< / label >
< input type = "number" min = "0" value = "0" class = "form-control value" >
< / div >
2019-08-21 08:00:01 +00:00
< div class = "form-group permission"
permission="i_playlist_song_needed_move_power">
2019-02-17 15:08:10 +00:00
< label > {{tr "Song reorder" /}}< / label >
< input type = "number" min = "0" value = "0" class = "form-control value" >
< / div >
2019-08-21 08:00:01 +00:00
< div class = "form-group permission"
permission="i_playlist_song_needed_remove_power">
2019-02-17 15:08:10 +00:00
< label > {{tr "Song delete" /}}< / label >
< input type = "number" min = "0" value = "0" class = "form-control value" >
< / div >
< / div >
2019-01-20 17:43:14 +00:00
< / div >
2019-02-17 15:08:10 +00:00
< / div >
< div class = "container-no-permissions" >
< div class = "text" > You dont have permissions to see playlist permissions!< / div >
< / div >
< / x-content >
< / x-entry >
< / x-tab >
< div class = "buttons" >
< button class = "btn btn-success button-save" > {{tr "Save" /}}< / button >
< button class = "btn btn-secondary button-close" > {{tr "Close" /}}< / button >
2019-01-20 17:43:14 +00:00
< / div >
< / div >
< / script >
< script class = "jsrender-template" id = "tmpl_playlist_edit-song_entry" type = "text/html" >
< div class = "entry" >
< div class = "column column-id" > {{>song_id}}< / div >
< div class = "column column-url" > {{>song_url}}< / div >
< div class = "column column-loaded" > {{>song_loaded}}< / div >
< div class = "column column-buttons" >
2019-08-21 08:00:01 +00:00
< div class = "button button-delete" >
< div class = "icon client-delete" > < / div >
< / div >
< div class = "button button-info" >
< div class = "icon client-about" > < / div >
< / div >
2019-01-20 17:43:14 +00:00
< / div >
< / div >
< / script >
< script class = "jsrender-template" id = "tmpl_playlist_edit-song_info" type = "text/html" >
< div class = "container-song-info" >
< div class = "properties" >
< div class = "property property-song-id" >
< div class = "key" > {{tr "Song ID:" /}}< / div >
< div class = "value" > {{>song_id}}< / div >
< / div >
< div class = "property property-song-order" >
< div class = "key" > {{tr "Song order:" /}}< / div >
< div class = "value" > {{>song_previous_song_id}}< / div >
< / div >
< div class = "property property-song-url" >
< div class = "key" > {{tr "URL:" /}}< / div >
< div class = "value" > {{>song_url}}< / div >
< / div >
< div class = "property property-song-url-loader" >
< div class = "key" > {{tr "URL resolver:"/}}< / div >
2019-08-21 08:00:01 +00:00
< div class = "value" > {{if song_url_loader}}{{>song_url_loader}}{{else}}{{tr "unset" /}}{{/if}}
< / div >
2019-01-20 17:43:14 +00:00
< / div >
< div class = "property property-song-loaded" >
< div class = "key" > {{tr "Song loaded:" /}}< / div >
< div class = "value" > {{if song_loaded}}{{tr "yes" /}}{{else}}{{tr "no" /}}{{/if}}< / div >
< / div >
{{if song_loaded}}
2019-08-21 08:00:01 +00:00
{{if metadata & & false}}
{{tr "Display metdata here!" /}}
{{else}}
< div class = "property property-metadata-raw" >
< div class = "line" >
< div class = "key" > {{tr "Metadata:" /}}< / div >
< div class = "value" >
< button class = "toggle-metadata" > show< / button >
2019-01-20 17:43:14 +00:00
< / div >
2019-08-21 08:00:01 +00:00
< / div >
< textarea > {{>song_metadata}}< / textarea >
< / div >
{{/if}}
2019-01-20 17:43:14 +00:00
{{/if}}
< / div >
< / div >
< / script >
< script class = "jsrender-template" id = "tmpl_playlist_edit-song_add" type = "text/html" >
< div class = "container-song-add" >
< div class = "properties" >
< div class = "property property-url" >
< div class = "key" > {{tr "URL:" /}}< / div >
2019-08-21 08:00:01 +00:00
< input class = "value" / >
2019-01-20 17:43:14 +00:00
< / div >
< div class = "property property-loader" >
< div class = "key" > {{tr "URL loader:" /}}< / div >
2019-08-21 08:00:01 +00:00
< input class = "value" type = "text" list = "song-loader-list" / >
2019-01-20 17:43:14 +00:00
< datalist id = "song-loader-list" >
< option > YouTube< / option >
< option > FFMpeg< / option >
2019-08-21 08:00:01 +00:00
<!-- <option>ChannelProvider</option> -->
<!-- requires a special url, may add a UI with file select? -->
2019-01-20 17:43:14 +00:00
< / datalist >
< / div >
< / div >
< div class = "container-buttons" >
< button class = "button-add" > {{tr "Add URL" /}}< / button >
< button class = "button-cancel" > {{tr "Cancel" /}}< / button >
< / div >
< / div >
< / script >
2018-12-28 14:39:23 +00:00
< script class = "jsrender-template" id = "tmpl_manage_bookmarks" type = "text/html" >
2019-08-31 16:31:01 +00:00
< div >
< div class = "left" >
2019-12-20 21:04:21 +00:00
< div class = "title" title = "{{tr 'Your bookmarks' /}}" > {{tr "Your bookmarks" /}}< / div >
2019-08-31 16:31:01 +00:00
< div class = "container-bookmarks" >
< / div >
< div class = "buttons" >
2019-12-20 21:04:21 +00:00
< button class = "btn btn-danger button-delete" title = "{{tr 'Delete' /}}" > {{tr "Delete" /}}< / button >
< button class = "btn btn-purple button-add-folder" title = "{{tr 'Add Folder' /}}" > {{tr "Add Folder" /}}< / button >
< button class = "btn btn-success button-add-bookmark" title = "{{tr 'Add Bookmark' /}}" > {{tr "Add Bookmark" /}}< / button >
2018-12-28 14:39:23 +00:00
< / div >
< / div >
2019-08-31 16:31:01 +00:00
< div class = "container-seperator vertical" seperator-id = "seperator-bookmarks" > < / div >
< div class = "right" >
< div class = "header" >
< div class = "container-name" > {{tr "Your bookmarks" /}}< / div >
< div class = "container-address" > < / div >
< / div >
2019-12-21 20:50:59 +00:00
< div class = "container-settings" data-simplebar data-simplebar-auto-hide = "false" >
2019-08-31 16:31:01 +00:00
< div class = "group" >
< div class = "row" >
< div class = "key" > {{tr "Bookmark Name" /}}< / div >
< div class = "value" >
< div class = "input-boxed" >
< input class = "input-bookmark-name" >
<!--
< div class = "container-tooltip" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a > {{tr "The displayed name of this bookmark." /}}< / a >
< / div >
< / div >
-->
2018-12-28 14:39:23 +00:00
< / div >
2019-08-31 16:31:01 +00:00
< / div >
< / div >
< div class = "row" >
< div class = "key" > {{tr "Connect Profile" /}}< / div >
< div class = "value" >
< div class = "input-boxed" >
< select class = "input-connect-profile" >
< / select >
<!--
< div class = "container-tooltip" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a > {{tr "The profile which you're connection with when you're using the bookmark." /}}< / a >
< / div >
< / div >
-->
2018-12-28 14:39:23 +00:00
< / div >
< / div >
< / div >
2019-08-31 16:31:01 +00:00
< / div >
< div class = "group" >
< div class = "row" >
< div class = "key" > {{tr "Server Address" /}}< / div >
< div class = "value" >
< div class = "input-boxed" >
< input class = "input-server-address" >
<!--
< div class = "container-tooltip" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a > {{tr "The server address of the bookmark. The port is separated via a colon" /}}< / a >
< / div >
< / div >
-->
2018-12-28 14:39:23 +00:00
< / div >
2019-08-31 16:31:01 +00:00
< / div >
< / div >
< div class = "row" >
< div class = "key" > {{tr "Server Password" /}}< / div >
< div class = "value" >
< div class = "input-boxed" >
< input type = "password" class = "input-server-password" >
<!--
< div class = "container-tooltip" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a > {{tr "The server port of the bookmark" /}}< / a >
< / div >
2019-02-17 15:08:10 +00:00
< / div >
2019-08-31 16:31:01 +00:00
-->
< / div >
< / div >
< / div >
< div class = "row" >
< div class = "key" > {{tr "Default Channel" /}}< / div >
< div class = "value" >
< div class = "input-boxed" >
< input class = "input-default-channel" placeholder = "{{tr 'Not yet implemented' /}}" disabled >
<!--
< div class = "container-tooltip" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a > {{tr "The server port of the bookmark" /}}< / a >
< / div >
2018-12-28 14:39:23 +00:00
< / div >
2019-08-31 16:31:01 +00:00
-->
2018-12-28 14:39:23 +00:00
< / div >
2019-08-31 16:31:01 +00:00
< / div >
< / div >
< div class = "row" >
< div class = "key" > {{tr "Channel Password" /}}< / div >
< div class = "value" >
< div class = "input-boxed" >
< input type = "password" class = "input-default-channel-password" placeholder = "{{tr 'Not yet implemented' /}}" disabled >
<!--
< div class = "container-tooltip" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a > {{tr "The server port of the bookmark" /}}< / a >
< / div >
< / div >
-->
2018-12-28 14:39:23 +00:00
< / div >
< / div >
< / div >
< / div >
2019-08-31 16:31:01 +00:00
< div class = "group info" >
< div class = "container-image" >
< img src = "img/serveredit_1.png" >
< / div >
< div class = "container-properties" >
< div class = "row" >
< a class = "key" > {{tr "Server name" /}}< / a >
< div class = "value server-name" >
error: name
< / div >
< / div >
< div class = "row" >
< a class = "key" > {{tr "Server region" /}}< / a >
< div class = "value server-region" >
error: region
< / div >
< / div >
< div class = "row" >
< a class = "key" > {{tr "Last ping" /}}< / a >
< div class = "value server-ping" >
error: ping
< / div >
< / div >
< div class = "row" >
< a class = "key" > {{tr "Last client count" /}}< / a >
< div class = "value server-client-count" >
error: last client
< / div >
< / div >
< div class = "row" >
< a class = "key" > {{tr "Your connection" /}}< / a >
< div class = "value server-connection-count" >
error: connection count
< / div >
< / div >
2018-12-28 14:39:23 +00:00
< / div >
< / div >
< / div >
2019-08-31 16:31:01 +00:00
< div class = "buttons" >
< button class = "btn btn-success button-connect-tab" > {{tr "Connect in a new tab" /}}< / button >
< button class = "btn btn-success button-connect" > {{tr "Connect" /}}< / button >
< / div >
2018-12-28 14:39:23 +00:00
< / div >
< / div >
< / script >
2019-03-25 19:04:04 +00:00
< script class = "jsrender-template" id = "tmpl_icon_select" type = "text/html" >
2019-10-13 19:33:07 +00:00
< div class = "container-icons" >
< div class = "left" >
< div class = "header" > {{tr "Remote" /}}< / div >
< div class = "content" >
< div class = "container-icons-list" >
< div class = "container-icons-remote {{if enable_select || enable_delete}}icon-select{{/if}}" > < / div >
< div class = "container-loading" >
< a > {{tr "loading..." /}}< / a >
2019-03-25 19:04:04 +00:00
< / div >
2019-10-13 19:33:07 +00:00
< div class = "container-no-permissions" >
< a > {{tr "You dont have permissions the view the icons" /}}< / a >
2019-03-25 19:04:04 +00:00
< / div >
2019-10-13 19:33:07 +00:00
< div class = "container-error" >
< a class = "error-message" > {{ŧr "An error occurred" /}}< / a >
2019-03-25 19:04:04 +00:00
< / div >
< / div >
2019-10-13 19:33:07 +00:00
< div class = "container-buttons" >
{{if enable_upload}}
< button class = "btn btn-success button-upload" > {{tr "Upload" /}}< / button >
{{/if}}
{{if enable_delete}}
< button class = "btn btn-danger button-delete" > {{tr "Delete" /}}< / button >
{{/if}}
< / div >
2019-03-25 19:04:04 +00:00
< / div >
< / div >
2019-10-13 19:33:07 +00:00
< div class = "right" >
< div class = "header" > {{tr "Local" /}}< / div >
< div class = "content" >
< div class = "container-icons-list" >
< div class = "container-icons-local {{if enable_select}}icon-select{{/if}}" > < / div >
< / div >
< / div >
2019-03-25 19:04:04 +00:00
< / div >
< / div >
2019-10-13 19:33:07 +00:00
< div class = "container-buttons" >
< button class = "btn btn-primary btn-raised button-reload" > {{tr "Reload" /}}< / button >
< div class = "spacer" > < / div >
{{if enable_select}}
< button class = "btn btn-success btn-raised button-select-no-icon" > {{tr "Remove icon" /}}< / button >
< button class = "btn btn-success btn-raised button-select" > < a > {{tr "Select " /}}< / a >
< div class = "selected-item-container" > < / div >
< / button >
{{/if}}
< / div >
2019-03-25 19:04:04 +00:00
< / script >
2019-05-24 20:14:02 +00:00
< script class = "jsrender-template" id = "tmpl_icon_upload" type = "text/html" >
2019-10-13 19:33:07 +00:00
< div class = "container-select" >
< div class = "container-icons" > < / div >
< div class = "container-buttons" >
< div class = "buttons-manage" >
< button class = "btn btn-primary btn-raised button-add" > {{tr "Add icon" /}}< / button >
< button class = "btn btn-danger button-remove" > {{tr "Remove selected" /}}< / button >
2019-05-24 20:14:02 +00:00
< / div >
2019-10-13 19:33:07 +00:00
< button class = "btn btn-primary btn-raised button-upload" > < / button >
< input type = "file" class = "input-file-upload" accept = "image/*" multiple / >
2019-05-24 20:14:02 +00:00
< / div >
2019-10-13 19:33:07 +00:00
< / div >
< div class = "container-upload" >
< div class = "container-error" >
< div class = "error-message" > You're not connected. Failed to upload icons< / div >
< button type = "button" class = "btn btn-danger btn-raised button-upload-abort" > {{tr "abort" /}}
< / button >
< / div >
< div class = "container-process" > < / div >
< div class = "container-info" >
< div class = "container-info-uploaded" > {{tr "Uploaded icons (total | successfully | error): "
/}}
2019-05-24 20:14:02 +00:00
< / div >
2019-10-13 19:33:07 +00:00
< div class = "uploaded-statistics" > < / div >
< / div >
< div class = "container-success" >
< div class = "message" > Uploaded 10 icons successfully< / div >
< button type = "button" class = "btn btn-success btn-raised button-upload-abort" > {{tr "okey" /}}
< / button >
2019-05-24 20:14:02 +00:00
< / div >
< / div >
< / script >
2019-03-25 19:04:04 +00:00
< script class = "jsrender-template" id = "tmpl_avatar_list" type = "text/html" >
< div class = "modal-avatar-list" >
< div class = "container-list" >
< div class = "list-header" >
< div class = "column column-username" > {{tr "Username" /}}< / div >
< div class = "column column-unique-id" > {{tr "Unique ID" /}}< / div >
< div class = "column column-size" > {{tr "Size" /}}< / div >
< div class = "column column-timestamp" > {{tr "Date" /}}< / div >
< / div >
< div class = "list-entries-container" >
< div class = "list-entries" >
< / div >
< / div >
< / div >
< div class = "container-info" >
< div class = "container-data" >
< div class = "form-group" >
< label class = "bmd-label-static" > {{tr "Username" /}}< / label >
< input class = "form-control property-username" disabled >
< / div >
< div class = "form-group" >
< label class = "bmd-label-static" > {{tr "Unique ID" /}}< / label >
< input class = "form-control property-unique-id" disabled >
< / div >
< div class = "form-group" >
< label class = "bmd-label-static" > {{tr "Avatar ID" /}}< / label >
< input class = "form-control property-avatar-id" disabled >
< / div >
< / div >
< div class = "container-preview" >
< div class = "container-image" > < / div >
< div class = "container-image-data" >
< a > {{tr "Image info:" /}}< / a >
< div class = "form-group" >
< label class = "bmd-label-static" > {{tr "Bytes" /}}< / label >
< input class = "form-control property-image-size" disabled >
< / div >
< div class = "form-group" >
< label class = "bmd-label-static" > {{tr "Width" /}}< / label >
< input class = "form-control property-image-width" disabled >
< / div >
< div class = "form-group" >
< label class = "bmd-label-static" > {{tr "Height" /}}< / label >
< input class = "form-control property-image-height" disabled >
< / div >
< div class = "form-group" >
< label class = "bmd-label-static" > {{tr "Type" /}}< / label >
< input class = "form-control property-image-type" disabled >
< / div >
< / div >
< / div >
< div class = "container-buttons" >
< button class = "btn btn-danger button-delete" > {{tr "Delete" /}}< / button >
< button class = "btn btn-success button-download" > {{tr "Download" /}}< / button >
< / div >
< div class = "disabled-overlay" >
< a > {{tr "Please select a user" /}}< / a >
< / div >
< / div >
< / div >
< / script >
2019-08-21 08:00:01 +00:00
< script class = "jsrender-template" id = "tmpl_avatar_upload" type = "text/html" >
< div class = "modal-avatar-upload" >
< div class = "container-upload" >
< div class = "bmd-form-group" >
< button type = "button" class = "btn btn-primary btn-raised button-select" > {{tr "Select avatar"
/}}
< / button >
< p >
{{tr "Supported image types: SVG, PNG, JPEG" /}}< br >
{{tr "Supported image sizes: any" /}}
< / p >
< input type = "file" class = "file-inputs" accept = ".svg, .png, .jpg, .jpeg" >
< / div >
< div class = "bmd-form-group" >
< button type = "button" class = "btn btn-success button-upload" > {{tr "Upload avatar" /}}< / button >
< button type = "button" class = "btn btn-warning button-delete" > {{tr "Delete avatar" /}}< / button >
< button type = "button" class = "btn btn-danger button-cancel" > {{tr "Cancel" /}}< / button >
< / div >
< / div >
< div class = "container-preview" >
< a class = "title" > {{tr "Preview" /}}< / a >
< div class = "previews" >
< div class = "preview preview-client-info" >
< div class = "container-avatar" >
< div class = "avatar" >
< img src = "#" >
< / div >
< / div >
< a > {{tr "Client info" /}}< / a >
< / div >
< div class = "preview preview-chat" >
< div class = "container-avatar" >
< div class = "avatar" >
< img src = "#" >
< / div >
< / div >
< a > {{tr "Chat avatar" /}}< / a >
< / div >
< div class = "preview preview-chat-entry" >
< div class = "container-avatar" >
< div class = "avatar" >
< img src = "#" >
< / div >
< / div >
< a > {{tr "Chat list avatar" /}}< / a >
< / div >
< / div >
< / div >
< / div >
< / script >
< script class = "jsrender-template" id = "tmpl_about" type = "text/html" >
< div class = "container-left" >
< div class = "container-logo" >
< img src = "https://teaspeak.de/img/teaspeak_cup_animated.png" / >
< / div >
< div class = "copyright" > Copyright (c) 2017-2019 TeaSpeak< br > (Markus Hadenfeldt)< / div >
< div class = "versions" >
{{if client}}
< div class = "version version-native" >
2019-10-26 01:02:58 +00:00
< a > TeaClient:< / a > < a class = "value version-client" > {{>version_client}}< / a >
2019-08-21 08:00:01 +00:00
< / div >
< div class = "version version-web" >
< a > UI:< / a > < a class = "value" > {{>version_ui}}< / a >
< / div >
{{else}}
< div class = "version version-web" >
< a > TeaWeb:< / a > < a class = "value" > {{>version_client}}< / a >
< / div >
{{/if}}
< / div >
< / div >
< div class = "container-right" >
{{if client}}
2019-10-26 01:02:58 +00:00
< h1 > TeaSpeak-Client build < span class = "version-client" > {{>version_client}}< / span > <!-- ({{>version_timestamp}}) --> < / h1 >
2019-08-21 08:00:01 +00:00
{{else}}
< h1 > TeaSpeak-Web build {{>version_client}} <!-- ({{>version_timestamp}}) --> < / h1 >
<!-- We currently dont have a timestamp for the web client -->
{{/if}}
< h2 > {{tr "Special thanks" /}}< / h2 >
< p >
2019-10-13 19:33:07 +00:00
"Яedeemer" (Janni K.)< br >
Chromatic-Solutions (Sofian) for the lovely dark design
2019-08-21 08:00:01 +00:00
< / p >
< h2 > {{tr "Contact" /}}< / h2 >
< p >
2019-10-13 19:33:07 +00:00
{{tr "E-Mail:" /}} < a href = "mailto:{{if client}}client{{else}}web{{/if}}.support@teaspeak.de" > {{if client}}client{{else}}web{{/if}}.support@teaspeak.de< / a > < br >
{{tr "WWW:" /}} < a href = "https://teaspeak.de" target = "_blank" > https://teaspeak.de< / a > < br >
{{tr "Community:" /}} < a href = "https://teaspeak.de" target = "_blank" > https://forum.teaspeak.de< / a >
2019-08-21 08:00:01 +00:00
< / p >
< h2 > {{tr "License" /}}< / h2 >
< p >
The {{if client}}TeaClient{{else}}TeaWeb{{/if}} application is licensed by MPL-2.0< br >
2019-10-13 19:33:07 +00:00
More information here: < a href = "https://github.com/TeaSpeak/TeaWeb/blob/master/LICENSE.TXT" target = "_blank" > https://github.com/TeaSpeak/TeaWeb/blob/master/LICENSE.TXT< / a >
2019-08-21 08:00:01 +00:00
< / p >
< / div >
< / script >
2019-03-25 19:04:04 +00:00
< script class = "jsrender-template" id = "tmpl_avatar_list-list_entry" type = "text/html" >
< div class = "entry" >
< div class = "column column-username" > {{>username}}< / div >
< div class = "column column-unique-id" > {{>unique_id}}< / div >
< div class = "column column-size" > {{>size}}< / div >
< div class = "column column-timestamp" > {{>timestamp}}< / div >
< / div >
< / script >
2019-08-21 08:00:01 +00:00
< script class = "jsrender-template" id = "tmpl_key_select" type = "text/html" >
< div > <!-- required for the renderer -->
< div class = "body" >
< a > {{tr "Press any key which you want to use." /}}< / a >
< div class = "container-select" >
< a > Current key:< / a >
< div class = "container-key" >
< a > < / a >
2019-03-25 19:04:04 +00:00
< / div >
< / div >
< / div >
2019-08-21 08:00:01 +00:00
< div class = "container-buttons" >
< button class = "btn btn-danger button-cancel" > {{tr "Cancel" /}}< / button >
< button class = "btn btn-success button-save" > {{tr "Save Key" /}}< / button >
2019-03-25 19:04:04 +00:00
< / div >
< / div >
2019-08-21 08:00:01 +00:00
< / script >
2019-08-30 21:06:39 +00:00
< script class = "jsrender-template" id = "tmpl_client_info" type = "text/html" >
< div > <!-- Important for the renderer -->
< div class = "head" >
< div class = "status-row" >
< div class = "status-entry status-away" >
< div class = "icon_em client-away" > < / div >
< / div >
< div class = "status-entry status-output-muted" >
< div class = "icon_em client-output_muted" > < / div >
< / div >
< div class = "status-entry status-output-disabled" >
< div class = "icon_em client-hardware_output_muted" > < / div >
< / div >
< div class = "status-entry status-input-muted" >
< div class = "icon_em client-input_muted" > < / div >
< / div >
< div class = "status-entry status-input-disabled" >
< div class = "icon_em client-hardware_input_muted" > < / div >
< / div >
< / div >
< div class = "container-away-message" title = "{{tr 'Away message' /}}" >
< a > A verry long away message, because I want to tell a story. There was a child....A verry long away message, because I want to tell a story. There was a child....A verry long away message, because I want to tell a story. There was a child....A verry long away message, because I want to tell a story. There was a child....A verry long away message, because I want to tell a story. There was a child....A verry long away message, because I want to tell a story. There was a child....A verry long away message, because I want to tell a story. There was a child....A verry long away message, because I want to tell a story. There was a child....< / a >
< / div >
< / div >
< div class = "body" >
< div class = "container-avatar" >
< / div >
< div class = "container-name" > < / div >
< div class = "container-description" >
< div class = "client-description" > < / div >
< / div >
< div class = "container-categories" >
< div class = "categories" >
< div class = "entry" container = "container-basic" > {{tr "Basic Info" /}}< / div >
< div class = "entry" container = "container-groups" > {{tr "Groups" /}}< / div >
< div class = "entry" container = "container-packets" > {{tr "Packets" /}}< / div >
< / div >
< div class = "bodies" >
< div class = "body container-basic" >
< div class = "left" >
< div class = "property property-unique-id" >
< div class = "title" >
< a > {{tr "Unique ID" /}}< / a >
< div class = "container-tooltip" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a > {{tr "Database ID:" /}} < span class = "value-dbid" > error: database id< / span > < / a >
< / div >
< / div >
< / div >
< div class = "value" >
< a > error: unique id< / a >
< div class = "button button-copy" >
< div class = "icon_em client-copy" > < / div >
< / div >
< / div >
< / div >
< div class = "property property-teaforo" >
< div class = "title" >
< a > {{tr "TeaForo Connection" /}}< / a >
< / div >
< div class = "value" >
< a > This will be a really long string...< / a >
< / div >
< / div >
< div class = "property property-version" >
< div class = "title" >
< a > {{tr "Version" /}}< / a >
< div class = "container-tooltip" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a > {{tr "Build timestamp:" /}} < span class = "value-timestamp" > error: no timestamp< / span > < / a >
< / div >
< / div >
< / div >
< div class = "value" >
< a > This will be a really long string...< / a >
< / div >
< / div >
< div class = "property property-country" >
< div class = "title" >
< a > {{tr "Country" /}}< / a >
< / div >
< div class = "value" >
< a > This will be a really long string...< / a >
< / div >
< / div >
< div class = "property property-ip" >
< div class = "title" >
< a > {{tr "IP Address" /}}< / a >
< / div >
< div class = "value" >
< a > error: IP< / a >
< div class = "button button-copy" >
< div class = "icon_em client-copy" > < / div >
< / div >
< / div >
< / div >
< / div >
< div class = "spacer" > < / div >
< div class = "right" >
< div class = "property property-first-connected" >
< div class = "title" >
< a > {{tr "First connected" /}}< / a >
< / div >
< div class = "value" >
< a > error: first connected< / a >
< / div >
< / div >
< div class = "property property-connect-count" >
< div class = "title" >
< a > {{tr "Connect count" /}}< / a >
< / div >
< div class = "value" >
< a > error: connect count< / a >
< / div >
< / div >
< div class = "property property-online-since" >
< div class = "title" >
< a > {{tr "Online since" /}}< / a >
< / div >
< div class = "value" >
< a > error: online since< / a >
< / div >
< / div >
< div class = "property property-idle-time" >
< div class = "title" >
< a > {{tr "Idle time" /}}< / a >
< / div >
< div class = "value" >
< a > error: idle time< / a >
< / div >
< / div >
< div class = "property property-ping" >
< div class = "title" >
< a > {{tr "Ping" /}}< / a >
< / div >
< div class = "value" >
< a > error: ping< / a >
< / div >
< / div >
< / div >
< / div >
< div class = "body container-groups" >
< div class = "left" >
<!-- <div class="title">{{tr "Server Groups" /}}</div> -->
< div class = "container" >
< div class = "entries" >
< / div >
< div class = "container-default-groups" >
< a > {{tr "Client has no own server group" /}}< / a >
< / div >
< / div >
< div class = "buttons" >
< button class = "btn btn-success button-group-add" > {{tr "Manage client server groups" /}}< / button >
< / div >
< / div >
<!--
< div class = "spacer" > < / div >
< div class = "right" >
< div class = "title" > {{tr "Channel Groups" /}}< / div >
< div class = "container" >
< / div >
< / div >
-->
< / div >
< div class = "body container-packets" >
< div class = "left" >
< div class = "statistic statistic-packet-loss" >
< div class = "title" >
< a > {{tr "Packetloss" /}}< / a >
< / div >
< div class = "downstream" >
< a > {{tr "Downstream" /}}< / a >
< a class = "value" > < / a >
< / div >
< div class = "upstream" >
< a > {{tr "Upstream" /}}< / a >
< a class = "value" > < / a >
< / div >
< / div >
< div class = "statistic statistic-transmitted-packets" >
< div class = "title" >
< a > {{tr "Transmitted Packets" /}}< / a >
< / div >
< div class = "downstream" >
< a > {{tr "Downstream" /}}< / a >
< a class = "value" > < / a >
< / div >
< div class = "upstream" >
< a > {{tr "Upstream" /}}< / a >
< a class = "value" > < / a >
< / div >
< / div >
< div class = "statistic statistic-transmitted-bytes" >
< div class = "title" >
< a > {{tr "Transmitted Bytes" /}}< / a >
< / div >
< div class = "downstream" >
< a > {{tr "Downstream" /}}< / a >
< a class = "value" > < / a >
< / div >
< div class = "upstream" >
< a > {{tr "Upstream" /}}< / a >
< a class = "value" > < / a >
< / div >
< / div >
< / div >
< div class = "spacer" > < / div >
< div class = "right" >
< div class = "statistic statistic-quota" >
< div class = "title" >
< a > {{tr "Used/Max file transfer quota" /}}< / a >
< / div >
< div class = "downstream" >
< a > {{tr "Downstream" /}}< / a >
< a class = "value" > < / a >
< / div >
< div class = "upstream" >
< a > {{tr "Upstream" /}}< / a >
< a class = "value" > < / a >
< / div >
< / div >
< div class = "statistic statistic-bandwidth-second" >
< div class = "title" >
< a > {{tr "Bandwidth last second" /}}< / a >
< / div >
< div class = "downstream" >
< a > {{tr "Downstream" /}}< / a >
< a class = "value" > < / a >
< / div >
< div class = "upstream" >
< a > {{tr "Upstream" /}}< / a >
< a class = "value" > < / a >
< / div >
< / div >
< div class = "statistic statistic-bandwidth-minute" >
< div class = "title" >
< a > {{tr "Bandwidth last minute" /}}< / a >
< / div >
< div class = "downstream" >
< a > {{tr "Downstream" /}}< / a >
< a class = "value" > < / a >
< / div >
< div class = "upstream" >
< a > {{tr "Upstream" /}}< / a >
< a class = "value" > < / a >
< / div >
< / div >
< / div >
< / div >
< / div >
< / div >
< / div >
< / div >
< / script >
2019-09-18 23:25:57 +00:00
< script class = "jsrender-template" id = "tmpl_channel_info" type = "text/html" >
< div > <!-- Important for the renderer -->
< div class = "row" >
< div class = "column channel-type" >
< a class = "title" > {{tr "Channel Type" /}}< / a >
< div class = "value" > error: channel type< / div >
< / div >
< div class = "column chat-mode" >
< a class = "title" > {{tr "Chat mode" /}}< / a >
< div class = "value" > error: chat mode< / div >
< / div >
< div class = "column current-clients" >
< a class = "title" > {{tr "Current clients" /}}< / a >
< div class = "value" > error: current clients< / div >
< / div >
< / div >
< div class = "row" >
< div class = "column audio-codec" >
< a class = "title" > {{tr "Audio Codec" /}}< / a >
< div class = "value" > error: audio codec< / div >
< / div >
< div class = "column audio-encrypted" >
< a class = "title" > {{tr "Audio encrypted" /}}< / a >
< div class = "value" > error: audio encrypted< / div >
< / div >
< div class = "column flag-password" >
< a class = "title" > {{tr "Password protected" /}}< / a >
< div class = "value" > error: password protected< / div >
< / div >
< / div >
< div class = "row topic" > <!-- only visible if set! -->
< div class = "column" >
< a class = "title" > {{tr "Topic" /}}< / a >
< div class = "value" > error: channel topic< / div >
< / div >
< / div >
< div class = "container-description" > <!-- only visible if set -->
< a class = "title" >
{{tr "Description" /}}
< div class = "button-copy" >
< div class = "icon client-copy" > < / div >
< / div >
< / a >
< div class = "value" >
error: channel description
< / div >
< div class = "no-value" > {{tr "Channel has no description" /}}< / div >
< / div >
< div class = "container-buttons" >
< button class = "btn btn-success button-update" > {{tr "Refresh" /}}< / button >
< / div >
< / div >
< / script >
2019-08-30 21:06:39 +00:00
< script class = "jsrender-template" id = "tmpl_server_info" type = "text/html" >
< div > <!-- required for the renderer -->
< div class = "container-top hostbanner" >
< / div >
< div class = "container-body" >
< div class = "group" >
< div class = "container-image" >
< img src = "img/serveredit_1.png" >
< / div >
< div class = "container-properties" >
< div class = "row" >
< a class = "key" > {{tr "Server name" /}}< / a >
< div class = "value server-name" >
error: name
< / div >
< / div >
< div class = "row" >
< a class = "key" > {{tr "Server region" /}}< / a >
< div class = "value server-region" >
error: region
< / div >
< / div >
< div class = "row" >
< a class = "key" > {{tr "Slots" /}}< / a >
< div class = "value server-slots" >
error: slots
< / div >
< / div >
< div class = "row" >
< a class = "key" > {{tr "First run" /}}< / a >
< div class = "value server-first-run" >
error: first run
< / div >
< / div >
< div class = "row" >
< a class = "key" > {{tr "Uptime" /}}< / a >
< div class = "value server-uptime" >
error: uptime
< / div >
< / div >
< / div >
< / div >
< div class = "group reverse" >
< div class = "container-image" >
< img src = "img/serveredit_2.png" >
< / div >
< div class = "container-properties" >
< div class = "row" >
< a class = "key" > {{tr "IP Address" /}}< / a >
< div class = "value server-ip" >
error: ip
< / div >
< / div >
< div class = "row" >
< a class = "key" > {{tr "Version" /}}< / a >
< div class = "value server-version" >
< div class = "container-tooltip" >
< img src = "img/icon_tooltip.svg" / >
< div class = "tooltip" >
< a > < / a >
< / div >
< / div >
< a > < / a >
< / div >
< / div >
< div class = "row" >
< a class = "key" > {{tr "Platform" /}}< / a >
< div class = "value server-platform" >
error: platform
< / div >
< / div >
< div class = "container-network" >
< div class = "container-button" >
< button class = "btn btn-purple button-show-bandwidth" > {{tr "Show Bandwidth" /}}< / button >
< / div >
< div class = "right" >
< div class = "row" >
< a class = "key" > {{tr "Average ping" /}}< / a >
< div class = "value server-ping" >
error: average ping
< / div >
< / div >
< div class = "row" >
< a class = "key" > {{tr "Average packet loss" /}}< / a >
< div class = "value server-packet-loss" >
error: average packet loss
< / div >
< / div >
< / div >
< / div >
< / div >
< / div >
< div class = "group" >
< div class = "container-image" >
< img src = "img/serveredit_3.png" >
< / div >
< div class = "container-properties" >
< div class = "row" >
< a class = "key" > {{tr "Global unique ID" /}}< / a >
< div class = "value server-unique-id" >
error: unique id
< / div >
< / div >
< div class = "row" >
< a class = "key" > {{tr "Current Channels" /}}< / a >
< div class = "value server-channel-count" >
error: channel count
< / div >
< / div >
< div class = "row" >
2019-09-18 23:25:57 +00:00
< a class = "key" > {{tr "Voice data encryption" /}}< / a >
2019-08-30 21:06:39 +00:00
< div class = "value server-voice-encryption" >
error: voice encryption
< / div >
< / div >
< div class = "row" >
< a class = "key" > {{tr "Minimal security level" /}}< / a >
< div class = "value server-min-security-level" >
error: security level
< / div >
< / div >
< div class = "row" >
< a class = "key" > {{tr "Complains until ban" /}}< / a >
< div class = "value server-complains" >
error: complains
< / div >
< / div >
< / div >
< / div >
2019-12-20 20:40:04 +00:00
< / div >
< div class = "container-buttons" >
< button class = "btn btn-success button-update" > {{tr "Refresh" /}}< / button >
< button class = "btn btn-danger button-close" > {{tr "Close" /}}< / button >
2019-08-30 21:06:39 +00:00
< / div >
< / div >
< / script >
2019-09-12 21:59:35 +00:00
< script class = "jsrender-template" id = "tmpl_server_info_bandwidth" type = "text/html" >
< div > <!-- required for the renderer -->
< div class = "top" >
< div class = "container-image" >
< img src = "img/serveredit_3.png" > <!-- TODO Get the right image! -->
< / div >
< div class = "container-stats" >
< div class = "statistic statistic-packets" >
< a > {{tr "Transmitted packets" /}}< / a >
< div class = "values" >
< a class = "upload" title = "{{tr 'Upload bandwidth' /}}" > error: upload< / a >
< a class = "download" title = "{{tr 'Download bandwidth' /}}" > error: download< / a >
< / div >
< / div >
< div class = "statistic statistic-bytes" >
< a > {{tr "Transmitted bytes" /}}< / a >
< div class = "values" >
< a class = "upload" title = "{{tr 'Upload bandwidth' /}}" > error: upload< / a >
< a class = "download" title = "{{tr 'Download bandwidth' /}}" > error: download< / a >
< / div >
< / div >
< div class = "statistic statistic-ft-bytes" >
< a > {{tr "Transferred file transfer bytes" /}}< / a >
< div class = "values" >
< a class = "upload" title = "{{tr 'Upload bandwidth' /}}" > error: upload< / a >
< a class = "download" title = "{{tr 'Download bandwidth' /}}" > error: download< / a >
< / div >
< / div >
< / div >
< / div >
< div class = "bottom" >
< div class = "statistic statistic-bandwidth" >
< a class = "title" > {{tr "Current bandwidth" /}}< / a >
< div class = "body" >
< div class = "container-canvas" >
< canvas > < / canvas >
< / div >
< div class = "values" >
< a class = "upload" title = "{{tr 'Upload bandwidth' /}}" > N Bytes/s< / a >
< a class = "download" title = "{{tr 'Download bandwidth' /}}" > N Bytes/s< / a >
< / div >
< / div >
< / div >
< div class = "statistic statistic-ft-bandwidth" >
< a class = "title" > {{tr "Current file transfer bandwidth" /}}< / a >
< div class = "body" >
< div class = "container-canvas" >
< canvas > < / canvas >
< / div >
< div class = "values" >
< a class = "upload" title = "{{tr 'Upload bandwidth' /}}" > N Bytes/s< / a >
< a class = "download" title = "{{tr 'Download bandwidth' /}}" > N Bytes/s< / a >
< / div >
< / div >
< / div >
< / div >
< / div >
< / script >
2019-08-21 08:00:01 +00:00
< / body >
< / html >