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-04-04 19:47:52 +00:00
< div class = "button btn_connect container-connect" title = "{{tr 'Connect to a server' /}}" >
2018-10-03 20:04:29 +00:00
< div class = "icon_x32 client-connect" > < / div >
< / div >
2019-04-04 19:47:52 +00:00
< div class = "button-dropdown container-disconnect" title = "{{tr 'Disconnect from server' /}}" style = "display: none" >
< div class = "buttons" >
< div class = "button icon_x32 client-disconnect btn_disconnect" > < / div >
< div class = "button-dropdown" >
< div class = "arrow down" > < / div >
< / div >
< / div >
< div class = "dropdown" style = "width: 350px" >
< div class = "btn_disconnect" > < div class = "icon client-disconnect" > < / div > < a > {{tr "Disconnect from current server" /}}< / a > < / div >
< div class = "btn_connect" > < div class = "icon client-connect" > < / div > < a > {{tr "Connect to a server" /}}< / a > < / div >
< / div >
< / div >
<!--
2018-12-14 23:09:47 +00:00
< div class = "button btn_disconnect" title = "{{tr 'Disconnect from server' /}}" style = "display: none" >
2018-10-03 20:04:29 +00:00
< div class = "icon_x32 client-disconnect" > < / div >
< / div >
2019-04-04 19:47:52 +00:00
-->
2018-12-18 19:00:29 +00:00
< div class = "button-dropdown btn_bookmark" title = "{{tr 'Bookmarks' /}}" >
< div class = "buttons" >
< div class = "button icon_x32 client-bookmark_manager btn_bookmark_list" > < / div >
< div class = "button-dropdown" >
2018-12-28 14:39:23 +00:00
< div class = "arrow down" > < / div >
2018-12-18 19:00:29 +00:00
< / div >
< / div >
2018-12-28 14:39:23 +00:00
< div class = "dropdown bookmark-dropdown" style = "width: 350px" >
2018-12-18 19:00:29 +00:00
< div class = "btn_bookmark_list" > < div class = "icon client-bookmark_manager" > < / div > < a > {{tr "Manage bookmarks" /}}< / a > < / div >
< div class = "btn_bookmark_add" > < div class = "icon client-bookmark_add" > < / div > < a > {{tr "Add current server to bookmarks" /}}< / a > < / div >
< div class = "btn_bookmark_remove" > < div class = "icon client-bookmark_remove" > < / div > < a > {{tr "Remove current server to bookmarks" /}}< / a > < / div >
< hr >
< / div >
< / div >
2018-12-28 14:39:23 +00:00
2018-10-03 20:04:29 +00:00
< div class = "divider" > < / div >
2019-03-17 11:15:39 +00:00
< div class = "hide-small button-dropdown btn_away" title = "{{tr 'Toggle away status' /}}" >
2018-10-03 20:04:29 +00:00
< div class = "buttons" >
< div class = "button icon_x32 client-away btn_away_toggle" > < / div >
< div class = "button-dropdown" >
2018-12-28 14:39:23 +00:00
< div class = "arrow down" > < / div >
2018-10-03 20:04:29 +00:00
< / div >
< / div >
2019-04-04 19:47:52 +00:00
< div class = "dropdown" style = "width: 350px" >
< div class = "btn_away_disable" > < div class = "icon client-present" > < / div > < a > {{tr "Go online" /}}< / a > < / div >
< div class = "btn_away_enable" > < div class = "icon client-away" > < / div > < a > {{tr "Set away on this server" /}}< / a > < / div >
< div class = "btn_away_message" > < div class = "icon client-away" > < / div > < a > {{tr "Set away message on this server" /}}< / a > < / div >
< hr class = "btn_away_message_global" > <!-- applied to this HR this class because it needs to get hidden as well if we dont have global settings -->
< div class = "btn_away_enable_global" > < div class = "icon client-away" > < / div > < a > {{tr "Set away for all servers" /}}< / a > < / div >
< div class = "btn_away_message_global" > < div class = "icon client-away" > < / div > < a > {{tr "Set away message for all servers" /}}< / a > < / div >
< div class = "btn_away_disable_global" > < div class = "icon client-present" > < / div > < a > {{tr "Go online for all servers" /}}< / a > < / div >
2018-10-03 20:04:29 +00:00
< / div >
< / div >
2019-03-17 11:15:39 +00:00
< div class = "hide-small button btn_mute_input" >
2018-12-14 23:09:47 +00:00
< div class = "icon_x32 client-input_muted" title = "{{tr 'Mute/unmute microphone' /}}" > < / div >
2018-10-03 20:04:29 +00:00
< / div >
2019-03-17 11:15:39 +00:00
< div class = "hide-small button btn_mute_output" >
2018-12-14 23:09:47 +00:00
< div class = "icon_x32 client-output_muted" title = "{{tr 'Mute/unmute headphones' /}}" > < / div >
2018-10-03 20:04:29 +00:00
< / div >
2019-03-17 11:15:39 +00:00
< div class = "show-small button-dropdown dropdown-audio" title = "{{tr 'Audio settings' /}}" >
< div class = "buttons" >
< div class = "button button-display icon_x32 client-music" > < / div >
< div class = "button-dropdown" >
< 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 >
< div class = "button button-subscribe-mode" >
< div class = "icon_x32" title = "{{tr 'Toggle channel subscribe mode' /}}" > < / div >
< / div >
< div class = "hide-small button-dropdown btn_token" title = "{{tr 'Use token' /}}" >
2018-10-03 20:04:29 +00:00
< div class = "buttons" >
< div class = "button icon_x32 client-token btn_token_use" > < / div >
< div class = "button-dropdown" >
2018-12-28 14:39:23 +00:00
< div class = "arrow down" > < / div >
2018-10-03 20:04:29 +00:00
< / div >
< / div >
< div class = "dropdown" >
2018-12-14 23:09:47 +00:00
< div class = "btn_token_list" > < div class = "icon client-token" > < / div > < a > {{tr "List tokens" /}}< / a > < / div >
< div class = "btn_token_use" > < div class = "icon client-token_use" > < / div > < a > {{tr "Use token" /}}< / a > < / div >
2018-10-03 20:04:29 +00:00
< / div >
< / div >
< div style = "width: 100%" > < / div >
2019-03-17 11:15:39 +00:00
< div class = "show-small button-dropdown dropdown-servertools" title = "{{tr 'Server tools' /}}" >
< div class = "buttons" >
< div class = "button button-display icon_x32 client-virtualserver_edit" > < / div >
< div class = "button-dropdown" >
< div class = "arrow down" > < / div >
< / div >
< / div >
< div class = "dropdown right" >
< div class = "button-playlist-manage" title = "{{tr 'Playlists' /}}" >
< div class = "icon icon-playlist-manage" > < / div >
< a > {{tr "Playlists" /}}< / a >
< / div >
< div class = "btn_banlist" title = "{{tr 'Banlist' /}}" >
< div class = "icon client-ban_list" > < / div >
< a > {{tr "Banlist" /}}< / a >
< / div >
< div class = "btn_permissions" title = "{{tr 'View/edit permissions' /}}" >
< div class = "icon client-permission_overview" > < / div >
< a > {{tr "View/edit permissions" /}}< / a >
< / div >
2019-03-25 19:04:04 +00:00
< div class = "btn_query_toggle" title = "{{tr 'Show/hide server queries' /}}" >
< div class = "icon client-toggle_server_query_clients" > < / div >
< a class = "query-text" > < / a >
< / div >
< div class = "btn_query_manage" title = "{{tr 'Manage server queries' /}}" >
< div class = "icon client-server_query" > < / div >
< a > {{tr "Manage server queries" /}}< / a >
< / div >
2019-03-17 11:15:39 +00:00
< / div >
< / div >
< div class = "hide-small button button-playlist-manage" title = "{{tr 'Playlists' /}}" >
< div class = "icon_x32 icon-playlist-manage" > < / div >
2019-01-20 17:43:14 +00:00
< / div >
2019-03-17 11:15:39 +00:00
< div class = "hide-small button btn_banlist" title = "{{tr 'Banlist' /}}" >
2018-10-20 17:58:06 +00:00
< div class = "icon_x32 client-ban_list" > < / div >
< / div >
2019-03-17 11:15:39 +00:00
< div class = "hide-small button btn_permissions" title = "{{tr 'View/edit permissions' /}}" >
2018-10-03 20:04:29 +00:00
< div class = "icon_x32 client-permission_overview" > < / div >
< / div >
2018-12-18 19:00:29 +00:00
<!-- the query button -->
2019-03-25 19:04:04 +00:00
< div class = "hide-small button-dropdown btn_query" title = "{{tr 'Show/hide server queries' /}}" >
2018-12-18 19:00:29 +00:00
< div class = "buttons" >
< div class = "button icon_x32 client-server_query btn_query_toggle" > < / div >
< div class = "button-dropdown" >
2018-12-28 14:39:23 +00:00
< div class = "arrow down" > < / div >
2018-12-18 19:00:29 +00:00
< / div >
< / div >
< div class = "dropdown display_left" >
2019-03-25 19:04:04 +00:00
< div class = "btn_query_toggle" > < div class = "icon client-toggle_server_query_clients" > < / div > < a class = "query-text" > < / a > < / div >
2018-12-23 16:41:14 +00:00
< div class = "btn_query_manage" > < div class = "icon client-server_query" > < / div > < a > {{tr "Manage server queries" /}}< / a > < / div >
<!-- <div class="btn_query_create"><div class="icon client - away"></div><a>{{tr "Create server query login" /}}</a></div> -->
2018-12-18 19:00:29 +00:00
< / div >
< / div >
2018-10-03 20:04:29 +00:00
< div class = "divider" > < / div >
2018-12-14 23:09:47 +00:00
< div class = "button btn_open_settings" title = "{{tr 'Edit global client settings' /}}" >
2018-10-03 20:04:29 +00:00
< div class = "icon_x32 client-settings" > < / div >
< / div >
< / div >
< / div >
2019-04-04 19:47:52 +00:00
< div class = "container-connection-handlers scrollbar" id = "connection-handlers" >
< div class = "connection-handlers" > < / div >
< 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-02-17 15:08:10 +00:00
< div class = "container-channel-tree main_container" >
< 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-01-19 12:16:12 +00:00
< div class = "container-seperator horizontal" seperator-id = "seperator-channel-chat" > < / div >
2019-01-19 12:03:51 +00:00
<!-- Chat window -->
2019-04-04 19:47:52 +00:00
< div class = "main_container container-chat" id = "chat" > < / div >
2018-10-03 20:04:29 +00:00
< / div >
2019-01-19 12:16:12 +00:00
< div class = "container-seperator vertical" seperator-id = "seperator-main-info" > < / div >
2019-04-04 19:47:52 +00:00
< div id = "select_info" class = "main_container container-info" > < / div > <!-- Selection info -->
2018-10-03 20:04:29 +00:00
< / div >
< / div >
< / div >
< div id = "contextMenu" class = "context-menu" > < / div >
< / script >
2019-02-17 15:08:10 +00:00
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%" >
< button type = "button" class = "close" aria-label = "Close" >
< span aria-hidden = "true" > × < / span >
< / button >
< div class = "container-banner" > < / div >
<!-- <div class="container - seperator horizontal" seperator - id="seperator - hostbanner - info"></div> -->
< div class = "container-select-info" > < / div >
< / div >
< / script >
< script class = "jsrender-template" id = "tmpl_frame_chat" type = "text/html" >
< div class = "container-frame-chat" >
< div class = "messages" >
< div class = "message_box" > < / div >
< / div >
< div class = "chats" > < / div >
< div class = "input" >
<!-- <div contentEditable="true" class="input_box"></div> -->
< div class = "form-group" >
< textarea id = "input-chat-input"
type="text"
2019-04-15 15:30:03 +00:00
class="form-control input-message client-chat-box-field"
2019-04-04 19:47:52 +00:00
placeholder="{{tr 'enter a chat message...' /}}"
autocomplete="off">< / textarea >
< / div >
< button class = "btn btn-primary button-send" > {{tr "Send" /}}< / button >
< / div >
< / div >
< / script >
2019-02-17 15:08:10 +00:00
< script class = "jsrender-template" id = "tmpl_modal" type = "text/html" >
< div class = "modal fade" tabindex = "-1" role = "dialog" style = "padding-right: 8%; padding-left: 8%;" aria-hidden = "true" >
< div class = "modal-dialog modal-dialog-centered" role = "document" style = "max-width: unset;" >
< div class = "modal-content" style = "{{if full_size}}flex-grow: 1{{/if}}" >
< div class = "modal-header {{if header_class}}{{:header_class}}{{/if}}" >
< node key = "modal_header" > < / node >
{{if closeable}}
< button type = "button" class = "close" data-dismiss = "modal" aria-label = "Close" >
< span aria-hidden = "true" > × < / span >
< / button >
{{/if}}
< / 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}}
2018-09-30 19:50:59 +00:00
< / div >
< / div >
2019-02-17 15:08:10 +00:00
< / div >
< / script >
< script class = "jsrender-template" id = "tmpl_modal_input" type = "text/html" >
< div class = "modal fade" tabindex = "-1" role = "dialog" style = "padding-right: 8%; padding-left: 8%;" aria-hidden = "true" >
< div class = "modal-dialog modal-dialog-centered" role = "document" style = "max-width: unset;" >
< div class = "modal-content" >
< div class = "modal-header modal-header-input" >
< node key = "modal_header" > < / node >
{{if closeable}}
< button type = "button" class = "close" data-dismiss = "modal" aria-label = "Close" >
< span aria-hidden = "true" > × < / span >
< / button >
{{/if}}
< / div >
< div class = "modal-body modal-body-input" >
< node key = "question" > < / node >
< div class = "form-group container-value {{if field_title}}with-title{{/if}}" >
{{if field_title}}
< label for = "input-modal-input" class = "bmd-label-floating" > {{>field_title}}< / label >
{{/if}}
<!-- 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}}
< span class = "bmd-help" > {{>field_label}}< / span >
{{/if}}
< / div >
{{/if}}
< / div >
< / div >
< div class = "modal-footer modal-footer-button-group" >
< 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-01-28 19:36:11 +00:00
< / div >
2018-12-28 14:39:23 +00:00
< / div >
2019-02-17 15:08:10 +00:00
< / div >
< / script >
< script class = "jsrender-template" id = "tmpl_modal_yesno" type = "text/html" >
< div class = "modal fade" tabindex = "-1" role = "dialog" style = "padding-right: 8%; padding-left: 8%;" aria-hidden = "true" >
< div class = "modal-dialog modal-dialog-centered" role = "document" style = "max-width: unset;" >
< div class = "modal-content" >
< div class = "modal-header modal-header-warning bg-warning" >
< node key = "modal_header" > < / node >
< / div >
< div class = "modal-body modal-body-input" >
< node key = "question" > < / node >
< / div >
< div class = "modal-footer modal-footer-button-group" >
< 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 >
2018-12-28 14:39:23 +00:00
< / div >
2018-09-30 19:50:59 +00:00
< / div >
< / script >
2019-02-17 15:08:10 +00:00
<!-- Template for the connect modal -->
< script class = "jsrender-template" id = "tmpl_connect" type = "text/html" >
< modal >
< modal-header >
< h5 class = "modal-title" > {{tr "Connect to a server" /}}< / h5 >
< / modal-header >
< modal-body class = "modal-connect" >
< div class = "container-address-password" >
< div class = "form-group container-address" >
< label for = "input-connect-address" > {{tr "Server Address" /}}< / label >
< input id = "input-connect-address" 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 >
< / div >
< div class = "form-group container-password" >
< label for = "input-connect-password-{{>password_id}}" 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 = "form-group container-nickname" >
< label for = "input-connect-nickname" > {{tr "Nickname" /}}< / label >
< input id = "input-connect-nickname" type = "text" class = "form-control" aria-describedby = "input-connect-nickname-help" placeholder = "Another TeaSpeak user" >
< 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" >
< label for = "select-connect-profile" class = "bmd-label-floating" > {{tr "Connect Profile" /}}< / label >
< select class = "form-control" id = "select-connect-profile" > < / select >
< div class = "invalid-feedback" > {{tr "Selected profile is invalid. Select another one or fix the profile." /}}< / div >
< / div >
< span class = "form-group bmd-form-group container-manage" > <!-- needed to match padding for floating labels -->
2019-03-25 19:04:04 +00:00
< button type = "button" class = "btn btn-raised button-manage-profiles" > {{tr "Profiles" /}}< / button >
2019-02-17 15:08:10 +00:00
< / span >
< / div >
< / modal-body >
< modal-footer >
2019-04-04 19:47:52 +00:00
< button type = "button" class = "btn btn-raised btn-success button-connect" > {{tr "Connect" /}}< / button >
{{if multi_tab}}
< button type = "button" class = "btn btn-raised btn-success button-connect-new-tab" > {{tr "Connect in a new tab" /}}< / button >
{{/if}}
2019-02-17 15:08:10 +00:00
< / modal-footer >
< / modal >
< / 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-03-25 19:04:04 +00:00
< div class = "align_column general_properties container-channel-edit-general" >
< div class = "container-name-icon form-row" >
< div class = "container-name form-group" >
< label > {{tr "Name:" /}}< / label >
< input class = "form-control channel_name" value = "{{>channel_name}}" / >
< / div >
< div class = "container-icon form-group" >
< label > {{tr "Icon:" /}}< / label >
< input class = "form-control" >
< span class = "bmd-form-group button-select-icon" >
< div class = "icon-node" >
< node key = "channel_icon" / >
< / div >
< / span >
< / div >
2019-02-17 15:08:10 +00:00
< / div >
2019-03-25 19:04:04 +00:00
2019-02-17 15:08:10 +00:00
< div class = "form-group" >
< label class = "bmd-label-floating" > {{tr "Channel password" /}}< / label >
<!-- Use a random id to trick the default browser password manager. (I think something like a default password is really useless and -->
<!-- Just display a random value here -->
< input class = "form-control channel_password" type = "password" id = "field_channel_password_{{rnd '0~13377331'/}}" { { if channel_flag_password } } value = "WolverinDEV" { { / if } } / >
< / div >
< div class = "form-group" >
< label class = "bmd-label-static" > {{tr "Topic:" /}}< / label >
< input class = "form-control channel_topic" value = "{{>channel_topic}}" / >
< / div >
< div class = "form-group" >
< label class = "bmd-label-static" > {{tr "Description:" /}}< / label >
< textarea class = "form-control channel_description" style = "min-height: 30px; max-height: 500px; resize: vertical;" > {{>channel_description}}< / textarea >
< / div >
<!--
2018-08-11 13:02:11 +00:00
< div class = "properties" >
2018-12-08 22:13:33 +00:00
< a class = "key" > {{tr "Name:"/}}< / a >
2018-06-24 11:38:53 +00:00
< input class = "value channel_name" value = "{{>channel_name}}" / >
2018-08-11 13:02:11 +00:00
2018-12-08 22:13:33 +00:00
< a class = "key" > {{tr "Password:"/}}< / a >
2018-06-24 11:38:53 +00:00
< input class = "value channel_password" type = "password" id = "field_channel_password_{{rnd '0~13377331'/}}" { { if channel_flag_password } } value = "WolverinDEV" { { / if } } / >
2018-08-11 13:02:11 +00:00
2018-12-08 22:13:33 +00:00
< a class = "key" > {{tr "Topic:"/}}< / a >
2018-06-24 11:38:53 +00:00
< input class = "value channel_topic" value = "{{>channel_topic}}" / >
2018-08-11 13:02:11 +00:00
2018-12-08 22:13:33 +00:00
< a class = "key" > {{tr "Description:"/}}< / a >
2018-06-24 11:38:53 +00:00
< textarea class = "value channel_description" style = "height: 150px; resize: none" > {{>channel_description}}< / textarea >
2018-04-16 18:38:35 +00:00
< / div >
2019-02-17 15:08:10 +00:00
-->
2018-04-16 18:38:35 +00:00
< / div >
< div style = "margin-bottom: 5px" > < / div >
2018-02-27 16:20:49 +00:00
< x-tab >
< x-entry >
2018-12-08 22:13:33 +00:00
< x-tag > {{tr "Standard" /}}< / x-tag >
2018-02-27 16:20:49 +00:00
< x-content >
2019-02-17 15:08:10 +00:00
< div class = "container-channel-settings-standard settings_standard" >
< div class = "container-left" >
2018-02-27 16:20:49 +00:00
< div >
2019-02-17 15:08:10 +00:00
< a > {{tr "Channel Type" /}}< / a > < br >
< fieldset class = "container-channel-type" >
< div class = "radio" > <!-- May add class disabled -->
< label >
< input type = "radio" name = "channel_type" value = "temp" { { if ! channel_flag_semi_permanent & & ! channel_flag_permanent } } checked { { / if } } / >
{{tr "Temporary" /}}
< / label >
< / div >
< div class = "radio" > <!-- May add class disabled -->
< label >
< input type = "radio" name = "channel_type" value = "semi" { { if channel_flag_semi_permanent } } checked { { / if } } / >
{{tr "Semi-Permanent" /}}
< / label >
< / div >
< div class = "radio" > <!-- May add class disabled -->
< label >
< input type = "radio" name = "channel_type" value = "perm" { { if channel_flag_semi_permanent } } checked { { / if } } / >
{{tr "Permanent" /}}
< / label >
< / div >
< hr style = "width: 100%;" >
< div class = "switch" >
< label >
< input type = "checkbox" name = "channel_default" id = "default" value = "def" >
{{tr "Default Channel" /}}
< / label >
< / div >
< / fieldset >
< / div >
< / div >
< div class = "container-divider" > < / div >
< div class = "container-right" >
< div class = "form-group" >
< label class = "bmd-label-static" > {{tr "Sort this channel after:"/}}< / label >
< select class = "form-control order_id" >
2018-02-27 16:20:49 +00:00
< / select >
< / div >
2019-02-17 15:08:10 +00:00
< div class = "form-group" >
< label class = "bmd-label-static" > {{tr "Needed Talk Power:"/}}< / label >
< input class = "form-control" type = "number" min = "0" value = "0" name = "talk_power" >
< / div >
2018-02-27 16:20:49 +00:00
< / div >
< / div >
< / x-content >
< / x-entry >
< x-entry >
2018-12-08 22:13:33 +00:00
< x-tag > {{tr "Audio" /}}< / x-tag >
2018-08-13 15:50:55 +00:00
< x-content >
2019-02-17 15:08:10 +00:00
< div class = "container-channel-settings-audio" >
< div class = "container-presets" >
2018-08-13 15:50:55 +00:00
< div class = "group_box" >
2018-12-08 22:13:33 +00:00
< div class = "header" > {{tr "Presets" /}}< / div >
2018-08-13 15:50:55 +00:00
< div class = "content" >
< fieldset style = "" >
2019-02-17 15:08:10 +00:00
< div class = "radio" >
< label >
< input type = "radio" name = "voice_template" value = "voice_mobile" / >
{{tr "Voice Mobile" /}}
< / label >
< / div >
< div class = "radio" >
< label >
< input type = "radio" name = "voice_template" value = "voice_desktop" / >
{{tr "Voice Desktop" /}}
< / label >
< / div >
< div class = "radio" >
< label >
< input type = "radio" name = "voice_template" value = "music" / >
{{tr "Music" /}}
< / label >
< / div >
< div class = "radio" >
< label >
< input type = "radio" name = "voice_template" value = "custom" / >
{{tr "Custom" /}}
< / label >
< / div >
2018-08-13 15:50:55 +00:00
< / fieldset >
< / div >
< / div >
2019-02-17 15:08:10 +00:00
< / div >
< div class = "container-divider" > < / div >
< div class = "container-custom" >
2018-08-13 15:50:55 +00:00
< div class = "group_box" >
2018-12-08 22:13:33 +00:00
< div class = "header" > {{tr "Custom Settings" /}}< / div >
2018-08-13 15:50:55 +00:00
< div class = "content" >
< div class = "custom" >
2019-02-17 15:08:10 +00:00
< div class = "form-group" >
< label class = "bmd-label-static" > Codec:< / label >
< select class = "form-control 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 >
2018-08-13 15:50:55 +00:00
2019-02-17 15:08:10 +00:00
< div class = "form-group" >
< label class = "bmd-label-static" >
{{tr "Quality:" /}}
< / label >
< input class = "form-control voice_quality_slider" type = "range" min = "1" max = "10" value = "6" >
< small class = "text-muted voice_quality_number" > < / small >
2018-08-13 15:50:55 +00:00
< / div >
< / div >
< / div >
< / div >
< / div >
< / div >
< / x-content >
2018-02-27 16:20:49 +00:00
< / x-entry >
< x-entry >
2018-12-08 22:13:33 +00:00
< x-tag > {{tr "Permissions" /}}< / x-tag >
2018-02-27 16:20:49 +00:00
< x-content >
2019-02-17 15:08:10 +00:00
< div class = "container-channel-settings-permission settings_permissions" >
< div class = "container-left" >
< div class = "group_box" >
< div class = "header" > {{tr "Regular needed powers:" /}}< / div >
< div class = "content" >
< div class = "form-group" >
< label > {{tr "Join:" /}}< / label >
< input type = "number" min = "0" value = "0" class = "form-control value" permission = "i_channel_needed_join_power" >
< span class = "bmd-help" > {{tr "Required power to join this channel" /}}< / span >
< / div >
< div class = "form-group" >
< label > {{tr "View:" /}}< / label >
< input type = "number" min = "0" value = "0" class = "form-control value" permission = "i_channel_needed_view_power" >
< span class = "bmd-help" > {{tr "Required power to see this channel" /}}< / span >
< / div >
< div class = "form-group" >
< label > {{tr "Subscribe:" /}}< / label >
< input type = "number" min = "0" value = "0" class = "form-control value" permission = "i_channel_needed_description_view_power" >
< span class = "bmd-help" > {{tr "Required power to subscribe to this channel" /}}< / span >
< / div >
< div class = "form-group" >
< label > {{tr "Modify:" /}}< / label >
< input type = "number" min = "0" value = "0" class = "form-control value" permission = "i_channel_needed_modify_power" >
< span class = "bmd-help" > {{tr "Required power to modify this channel permissions" /}}< / span >
< / div >
< div class = "form-group" >
< label > {{tr "Delete:" /}}< / label >
< input type = "number" min = "0" value = "0" class = "form-control value" permission = "i_channel_needed_delete_power" >
< span class = "bmd-help" > {{tr "Required power to delete this channel" /}}< / span >
< / div >
< div class = "form-group form-placeholder" >
< input class = "form-control" >
< / div > <!-- placeholder -->
< / div >
2018-08-13 15:50:55 +00:00
< / div >
2018-02-27 16:20:49 +00:00
< / div >
2019-02-17 15:08:10 +00:00
< div class = "container-right" >
< div class = "group_box" >
< div class = "header" > {{tr "File transfer needed powers:" /}}< / div >
< div class = "content" >
< div class = "form-group" >
< label > {{tr "Browse:" /}}< / label >
< input type = "number" min = "0" value = "0" class = "form-control value" permission = "i_ft_needed_file_browse_power" >
< span class = "bmd-help" > {{tr "Required power to browse all files and directories" /}}< / span >
< / div >
< div class = "form-group" >
< label > {{tr "Upload:" /}}< / label >
< input type = "number" min = "0" value = "0" class = "form-control value" permission = "i_ft_needed_file_upload_power" >
< span class = "bmd-help" > {{tr "Required power to upload files" /}}< / span >
< / div >
< div class = "form-group" >
< label > {{tr "Download:" /}}< / label >
< input type = "number" min = "0" value = "0" class = "form-control value" permission = "i_ft_needed_file_download_power" >
< span class = "bmd-help" > {{tr "Required power to download files" /}}< / span >
< / div >
< div class = "form-group" >
< label > {{tr "Rename:" /}}< / label >
< input type = "number" min = "0" value = "0" class = "form-control value" permission = "i_ft_needed_file_rename_power" >
< span class = "bmd-help" > {{tr "Required power to rename files within this channel" /}}< / span >
< / div >
< div class = "form-group" >
< label > {{tr "Directory create:" /}}< / label >
< input type = "number" min = "0" value = "0" class = "form-control value" permission = "i_ft_needed_directory_create_power" >
< span class = "bmd-help" > {{tr "Required power to create a directory" /}}< / span >
< / div >
< div class = "form-group" >
< label > {{tr "Delete:" /}}< / label >
< input type = "number" min = "0" value = "0" class = "form-control value" permission = "i_ft_needed_file_delete_power" >
< span class = "bmd-help" > {{tr "Required power to delete a directory or file" /}}< / span >
< / div >
< / div >
2018-08-13 15:50:55 +00:00
< / div >
2018-02-27 16:20:49 +00:00
< / div >
< / div >
< / x-content >
< / x-entry >
< x-entry >
2018-12-08 22:13:33 +00:00
< x-tag > {{tr "Advanced" /}}< / x-tag >
2018-08-13 15:50:55 +00:00
< x-content >
2019-02-17 15:08:10 +00:00
< div class = "container container-channel-settings-advanced settings_advanced" >
< div class = "container-other" >
< div class = "group_box" >
< div class = "header" > {{tr "Other Settings" /}}< / div >
< div class = "content" >
< div class = "form-group" >
< label class = "bmd-label-static" >
{{tr "Phonetic Name:" /}}
< / label >
< input class = "form-control channel_name_phonetic" value = "{{>channel_name_phonetic}}" >
< / div >
< div class = "form-group" >
< label class = "bmd-label-static" >
{{tr "Delete delay:" /}}
< / label >
<!-- TODO Implement max? -->
< input class = "form-control channel_delete_delay" type = "number" min = "0" max = "99999999" value = "{{if channel_delete_delay}}{{:channel_delete_delay}}{{else}}0{{/if}}" >
< / div >
2018-08-13 15:50:55 +00:00
2019-02-17 15:08:10 +00:00
< div class = "form-group" >
< div class = "switch" >
< label >
< input class = "channel_codec_is_unencrypted" type = "checkbox" name = "channel_default" value = "def" { { if ! channel_codec_is_unencrypted } } checked { { / if } } >
{{tr "Encrypt voice data" /}}
< / label >
< / div >
< / div >
< / div >
2018-08-13 15:50:55 +00:00
< / div >
< / div >
2019-02-17 15:08:10 +00:00
< div class = "container-max-users" >
< div class = "group_box" >
< div class = "header" > {{tr "Max users" /}}< / div >
< div class = "content max_users" >
< fieldset style = "" >
< div class = "form-row" >
< div class = "radio" >
< label >
< input type = "radio" name = "max_users" value = "infinity" { { if channel_flag_maxclients_unlimited } } checked { { / if } } / >
{{tr "Unlimited" /}}
< / label >
< / div >
< / div >
< div class = "form-row" >
< div class = "form-group" >
< div class = "radio" >
< label >
< input type = "radio" name = "max_users" value = "limited" { { if ! channel_flag_maxclients_unlimited } } checked { { / if } } / >
< a > {{tr "Limited" /}}< / a >
< / label >
< / div >
< / div >
< div style = "margin-left: 5px" class = "form-group" >
< input class = "form-control channel_maxclients" value = "{{if channel_maxclients}}{{:channel_maxclients}}{{else}}0{{/if}}" type = "number" min = "0" max = "99999999" >
< / div >
< / div >
< / fieldset >
< / div >
2018-08-13 15:50:55 +00:00
< / div >
2019-02-17 15:08:10 +00:00
< div class = "group_box" >
< div class = "header" > {{tr "Family Max users" /}}< / div >
< div class = "content max_users" >
< fieldset >
< div class = "form-row" >
< div class = "radio" >
< label >
< input type = "radio" name = "max_users_family" value = "inherited" { { if channel_flag_maxfamilyclients_inherited } } checked { { / if } } / >
{{tr "Inherited" /}}
< / label >
< / div >
< / div >
< div class = "form-row" >
< div class = "radio" >
< label >
< input type = "radio" name = "max_users_family" value = "infinity" { { if channel_flag_maxfamilyclients_unlimited } } checked { { / if } } / >
{{tr "Unlimited" /}}
< / label >
< / div >
< / div >
< div class = "form-row" >
< div class = "form-group" >
< div class = "radio" >
< label >
< input type = "radio" name = "max_users_family" value = "limited" { { if ! channel_flag_maxfamilyclients_unlimited & & ! channel_flag_maxfamilyclients_inherited } } { { tr " checked " / } } { { / if } } / >
< a > {{tr "Limited" /}}< / a >
< / label >
< / div >
< / div >
< div style = "margin-left: 5px" class = "form-group" >
< input class = "form-control channel_maxfamilyclients" value = "{{if channel_maxfamilyclients}}{{:channel_maxfamilyclients}}{{else}}0{{/if}}" type = "number" min = "0" max = "99999999" >
< / div >
< / div >
< / fieldset >
< / div >
2018-08-13 15:50:55 +00:00
< / div >
< / div >
< / div >
< / x-content >
2018-02-27 16:20:49 +00:00
< / x-entry >
< / x-tab >
2018-06-24 11:38:53 +00:00
< / script >
2018-10-14 11:27:48 +00:00
< script class = "jsrender-template" id = "tmpl_server_edit" type = "text/html" >
2019-02-17 15:08:10 +00:00
< modal >
< modal-header >
< h5 class = "modal-title" > {{tr "Manager the Virtual Server" /}}< / h5 >
< / modal-header >
< modal-body >
< div class = "container-server-settings-general" >
2019-03-25 19:04:04 +00:00
< div class = "container-name-icon form-row" >
< div class = "container-name form-group" >
< label > {{tr "Name:" /}}< / label >
< input class = "form-control virtualserver_name" value = "{{>virtualserver_name}}" / >
< / div >
< div class = "container-icon form-group" >
< label > {{tr "Icon:" /}}< / label >
< input class = "form-control" >
< span class = "bmd-form-group button-select-icon" >
< div class = "icon-node" >
< node key = "virtualserver_icon" / >
< / div >
< / span >
< / div >
2019-02-17 15:08:10 +00:00
< / div >
< div class = "form-group" >
< label > {{tr "Phonetic Name:" /}}< / label >
< input class = "form-control virtualserver_name_phonetic" value = "{{>virtualserver_name_phonetic}}" / >
< / div >
< div class = "form-group" >
< label > {{tr "Password:" /}}< / label >
< input class = "form-control virtualserver_password" autocomplete = "nope" type = "password" id = "field_server_password_{{rnd '0~13377331'/}}" { { if virtualserver_flag_password } } value = "WolverinDEV" { { / if } } / >
< / div >
< hr >
< div class = "container-server-settings-slots form-row" >
< div class = "form-group" >
< label > {{tr "Maximum Clients:" /}}< / label >
< input type = "number" min = "0" max = "1024" value = "{{:virtualserver_maxclients}}" class = "form-control virtualserver_maxclients" >
< / div >
< div class = "form-group" >
< label > {{tr "Reserved slots:" /}}< / label >
< input type = "number" min = "0" max = "{{*: data.virtualserver_maxclients - 1 }}" value = "{{:virtualserver_reserved_slots}}" class = "form-control virtualserver_reserved_slots" >
< / div >
< / div >
< div class = "form-group" >
< label > {{tr "Welcome Message:" /}}< / label >
< textarea class = "form-control virtualserver_welcomemessage" > {{>virtualserver_welcomemessage}}< / textarea >
< / div >
< hr >
2018-08-11 13:02:11 +00:00
< / div >
2019-02-17 15:08:10 +00:00
< div style = "margin-bottom: 5px" > < / div >
< x-tab >
< x-entry >
< x-tag > {{tr "Host" /}}< / x-tag >
< x-content >
< div class = "container-server-settings-host properties_host" >
< div class = "group_box" >
< div class = "header" > {{tr "Binding" /}}< / div >
< div class = "content" >
< div class = "form-group" >
< label > {{tr "Host:" /}}< / label >
< input class = "form-control virtualserver_host" value = "{{>virtualserver_host}}" / >
< / div >
< div class = "form-group" >
< label > {{tr "Port:" /}}< / label >
< input type = "number" min = "1" max = "65536" value = "{{>virtualserver_port}}" class = "form-control virtualserver_port" / >
< / div >
< a > {{tr "Note: These settings require a virtual server restart to take effect!" /}}< / a >
< / div >
< / div >
2018-08-11 13:02:11 +00:00
2019-02-17 15:08:10 +00:00
< div class = "group_box" >
< div class = "header" > {{tr "Host message" /}}< / div >
< div class = "content" >
< div class = "form-group" >
< label class = "bmd-label-static" > {{tr "Message:" /}}< / label >
< textarea class = "form-control virtualserver_hostmessage" value = "{{>virtualserver_hostmessage}}" / >
< / div >
< div class = "form-group" >
< label > {{tr "Message Mode:" /}}< / label >
< select class = "form-control virtualserver_hostmessage_mode" >
< option value = "none" > {{tr "No message" /}}< / option >
< option value = "log" > {{tr "Show message in log" /}}< / option >
< option value = "modal" > {{tr "Show message as modal" /}}< / option >
< option value = "modal_exit" > {{tr "Show message as modal and disconnect the client" /}}< / option >
< / select >
< / div >
< / div >
< / div >
2018-08-11 13:02:11 +00:00
2019-02-17 15:08:10 +00:00
< div class = "group_box" >
< div class = "header" > {{tr "Host banner" /}}< / div >
< div class = "properties-hostbanner content" >
< div class = "form-row" >
< div class = "form-group" >
< label > {{tr "URL:" /}}< / label >
< input type = "url" class = "form-control virtualserver_hostbanner_url" value = "{{>virtualserver_hostbanner_url}}" / >
< / div >
2018-08-11 13:02:11 +00:00
2019-02-17 15:08:10 +00:00
< div class = "form-group" >
< label > {{tr "Banner Gfx URL:" /}}< / label >
< input type = "url" class = "form-control virtualserver_hostbanner_gfx_url" value = "{{>virtualserver_hostbanner_gfx_url}}" / >
< / div >
< / div >
2018-08-11 13:02:11 +00:00
2019-02-17 15:08:10 +00:00
< div class = "form-row" >
< div class = "form-group" >
< label > {{tr "Gfx Interval" /}}< / label >
< input type = "number" pattern = "^(0|[0-9]+0)$" value = "{{:virtualserver_hostbanner_gfx_interval}}" class = "form-control virtualserver_hostbanner_gfx_interval" >
< / div >
< div class = "form-group" >
< label > {{tr "Resize" /}}< / label >
< select class = "form-control virtualserver_hostbanner_mode" >
< option value = "none" > {{tr "Do not adjust" /}}< / option >
< option value = "ignore_ratio" > {{tr "Adjust but ignore ratio aspect" /}}< / option >
< option value = "keep_ratio" > {{tr "Adjust and keep ratio aspect" /}}< / option >
< / select >
< / div >
< / div >
< / div >
< / div >
2018-08-11 13:02:11 +00:00
2019-02-17 15:08:10 +00:00
< div class = "group_box" >
< div class = "header" > {{tr "Host Button" /}}< / div >
< div class = "properties-hostbutton content" >
< div class = "form-group" >
< label > {{tr "Tooltip:" /}}< / label >
< input class = "form-control virtualserver_hostbutton_tooltip" value = "{{>virtualserver_hostbutton_tooltip}}" / >
< / div >
< div class = "form-row" >
< div class = "form-group" >
< label > {{tr "URL:" /}}< / label >
< input type = "url" class = "form-control virtualserver_hostbutton_url" value = "{{>virtualserver_hostbutton_url}}" / >
< / div >
< div class = "form-group" >
< label > {{tr "Icon URL:" /}}< / label >
< input type = "url" class = "form-control virtualserver_hostbutton_gfx_url" value = "{{>virtualserver_hostbutton_gfx_url}}" / >
< / div >
< / div >
< / div >
2018-08-11 13:02:11 +00:00
< / div >
< / div >
2019-02-17 15:08:10 +00:00
< / x-content >
< / x-entry >
< x-entry >
< x-tag > {{tr "Transfers" /}}< / x-tag >
< x-content >
< div class = "container-server-settings-file-transfer properties_transfer" >
< div class = "group_box" >
< div class = "header" > {{tr "Upload" /}}< / div >
< div class = "content" >
< div class = "form-group" >
< label > {{tr "Bandwidth Limit (Bytes/s):" /}}< / label >
< input type = "number" class = "form-control virtualserver_max_upload_total_bandwidth" value = "{{>virtualserver_max_upload_total_bandwidth}}" / >
< / div >
< div class = "form-group" >
< label > {{tr "Upload Quota (MiB):"/}}< / label >
< input type = "number" class = "form-control virtualserver_upload_quota" value = "{{>virtualserver_upload_quota}}" / >
< / div >
< / div >
< / div >
< div class = "group_box" >
< div class = "header" > {{tr "Download" /}}< / div >
< div class = "content" >
< div class = "form-group" >
< label > {{tr "Bandwidth Limit:"/}}< / label >
< input type = "number" class = "form-control virtualserver_max_download_total_bandwidth" value = "{{>virtualserver_max_download_total_bandwidth}}" / >
< / div >
2018-08-11 13:02:11 +00:00
2019-02-17 15:08:10 +00:00
< div class = "form-group" >
< label > {{tr "Download Quota:"/}}< / label >
< input type = "number" class = "form-control virtualserver_download_quota" value = "{{>virtualserver_download_quota}}" / >
< / div >
< / div >
< / div >
2018-08-11 13:02:11 +00:00
< / div >
2019-02-17 15:08:10 +00:00
< / x-content >
< / x-entry >
< x-entry >
< x-tag > {{tr "Anti-Flood" /}}< / x-tag >
< x-content >
< div class = "container-server-settings-anti-flood properties_flood" >
< div class = "form-group" >
< label > {{tr "Reduced points per tick:" /}}< / label >
< input type = "number" min = "1" max = "65536" class = "form-control virtualserver_antiflood_points_tick_reduce" value = "{{>virtualserver_antiflood_points_tick_reduce}}" / >
2018-11-04 13:20:38 +00:00
< / div >
2019-02-17 15:08:10 +00:00
< div class = "form-group" >
< label > {{tr "Points needed to block commands:" /}}< / label >
< input type = "number" min = "1" max = "65536" class = "form-control virtualserver_antiflood_points_needed_command_block" value = "{{>virtualserver_antiflood_points_needed_command_block}}" / >
< / div >
< div class = "form-group" >
< label > {{tr "Points needed to block IP:" /}}< / label >
< input type = "number" min = "1" max = "65536" class = "form-control virtualserver_antiflood_points_needed_ip_block" value = "{{>virtualserver_antiflood_points_needed_ip_block}}" / >
2018-11-04 13:20:38 +00:00
< / div >
< / div >
2019-02-17 15:08:10 +00:00
< / x-content >
< / x-entry >
< x-entry >
< x-tag > {{tr "Security" /}}< / x-tag >
< x-content >
< div class = "container-server-settings-security properties_security" >
< div class = "form-group" >
< label > {{tr "Needed Security Level:" /}}< / label >
< input type = "number" min = "1" max = "64" value = "{{:virtualserver_needed_identity_security_level}}" class = "form-control virtualserver_needed_identity_security_level" >
2018-11-04 13:20:38 +00:00
< / div >
2019-02-17 15:08:10 +00:00
< div class = "form-group" >
< label > {{tr "Channel voice data encryption:" /}}< / label >
< select class = "form-control virtualserver_codec_encryption_mode" >
< option value = "unset" > {{tr "Edit per channel individually" /}}< / option >
< option value = "off" > {{tr "Globally disabled" /}}< / option >
< option value = "on" > {{tr "Globally enabled (recommended)" /}}< / option >
< / select >
2018-11-04 13:20:38 +00:00
< / div >
< / div >
2019-02-17 15:08:10 +00:00
< / x-content >
< / x-entry >
< x-entry >
< x-tag > {{tr "Misc" /}}< / x-tag >
< x-content >
< div class = "container-server-settings-misc properties_misc" >
< div class = "group_box" >
< div class = "header" > {{tr "Default groups" /}}< / div >
< div class = "content" >
< div class = "form-group" >
< label > {{tr "Server group" /}}< / label >
< select class = "form-control default_server_group" > < / select >
< / div >
2018-09-24 19:21:48 +00:00
2019-02-17 15:08:10 +00:00
< div class = "form-group" >
< label > {{tr "Music bot group" /}}< / label >
< select class = "form-control default_music_group" > < / select >
< / div >
2018-08-13 11:06:42 +00:00
2019-02-17 15:08:10 +00:00
< div class = "form-group" >
< label > {{tr "Channel group" /}}< / label >
< select class = "form-control default_channel_group" > < / select >
< / div >
2018-08-13 11:06:42 +00:00
2019-02-17 15:08:10 +00:00
< div class = "form-group" >
< label > {{tr "Channel Admin group" /}}< / label >
< select class = "form-control default_channel_admin_group" > < / select >
< / div >
< / div >
< / div >
< div class = "group_box" >
< div class = "header" > {{tr "Complain" /}}< / div >
< div class = "content container-complains" >
< div class = "form-group" >
< label > {{tr "Autoban Count" /}}< / label >
< input type = "number" min = "1" max = "65536" value = "{{:virtualserver_complain_autoban_count}}" class = "form-control virtualserver_complain_autoban_count" >
< / div >
< div class = "form-group" >
< label > {{tr "Autoban Time" /}}< / label >
< input type = "number" min = "1" max = "65536" value = "{{:virtualserver_complain_autoban_time}}" class = "form-control virtualserver_complain_autoban_time" >
< / div >
< div class = "form-group" >
< label > {{tr "Remove Time" /}}< / label >
< input type = "number" min = "1" max = "65536" value = "{{:virtualserver_complain_remove_time}}" class = "form-control virtualserver_complain_remove_time" >
< / div >
< / div >
< / div >
< div class = "container-general" >
< div class = "form-group" >
< label > {{tr "Minimum clients is channel before silence:" /}}< / label >
< input type = "number" min = "1" max = "65536" value = "{{:virtualserver_min_clients_in_channel_before_forced_silence}}" class = "form-control virtualserver_min_clients_in_channel_before_forced_silence" >
< / div >
2018-08-13 11:06:42 +00:00
2019-02-17 15:08:10 +00:00
< div class = "form-group" >
< label > {{tr "Priority speaker dim modificator:" /}}< / label >
< input type = "number" min = "-100" max = "0" value = "{{:virtualserver_priority_speaker_dimm_modificator}}" class = "form-control virtualserver_priority_speaker_dimm_modificator" >
< / div >
2018-08-13 11:06:42 +00:00
2019-02-17 15:08:10 +00:00
< div class = "form-group" >
< label > {{tr "Delete delay for temporary channels" /}}< / label >
< input type = "number" min = "1" max = "65536" value = "{{:virtualserver_channel_temp_delete_delay_default}}" class = "form-control virtualserver_channel_temp_delete_delay_default" >
< / div >
< / div >
2018-08-13 09:03:55 +00:00
2019-02-17 15:08:10 +00:00
< div class = "group_box" >
< div class = "header" > {{tr "Server list" /}}< / div >
< div class = "content" >
< div class = "switch" >
< label >
< input type = "checkbox" class = "virtualserver_weblist_enabled" checked = "{{:virtualserver_weblist_enabled}}" >
{{tr "Enable reporting to the TeamSpeak server list" /}}
< / label >
< / div >
< div class = "switch" >
< label >
< input type = "checkbox" disabled >
{{tr "< del > Enable reporting to the TeaSpeak server list< / del > (TeaSpeak does not support this setting)" /}}
< / label >
< / div >
< / div >
2018-08-13 09:03:55 +00:00
< / div >
< / div >
2019-02-17 15:08:10 +00:00
< / x-content >
< / x-entry >
<!-- TeaSpeak don't have any configurable log section
< x-entry >
< x-tag > Log< / x-tag >
< x-content > TODO!< / x-content >
< / x-entry >
-->
< x-entry >
< x-tag > {{tr "Messages" /}}< / x-tag >
< x-content >
< div class = "container-server-settings-messages properties_messages" >
< div class = "group_box" >
< div class = "header" > {{tr "Channel" /}}< / div >
< div class = "content" >
< div class = "form-group" >
< label > {{tr "Default Topic:" /}}< / label >
< textarea class = "form-control virtualserver_default_channel_topic" > {{>virtualserver_default_channel_topic}}< / textarea >
< / div >
< div class = "form-group" >
< label > {{tr "Default Description" /}}< / label >
< textarea class = "form-control virtualserver_default_channel_description" > {{>virtualserver_default_channel_description}}< / textarea >
< / div >
< / div >
2018-08-13 09:03:55 +00:00
< / div >
2019-02-17 15:08:10 +00:00
< div class = "group_box" >
< div class = "header" > {{tr "Client" /}}< / div >
< div class = "content" >
< div class = "form-group" >
< label > {{tr "Default Description" /}}< / label >
< textarea class = "form-control virtualserver_default_client_description" > {{>virtualserver_default_client_description}}< / textarea >
< / div >
< / div >
< / div >
{{tr "Note: These settings require a virtual server restart to take effect!" /}}
2018-08-13 09:03:55 +00:00
< / div >
2019-02-17 15:08:10 +00:00
< / x-content >
< / x-entry >
< / x-tab >
< / modal-body >
< modal-footer >
< button class = "btn btn-danger button_cancel" > {{tr "Cancel" /}}< / button >
< button class = "btn btn-raised btn-success button_ok" > {{tr "Save" /}}< / button >
< / modal-footer >
< / modal >
2018-08-11 13:02:11 +00:00
< / script >
2018-03-24 22:38:01 +00:00
<!-- Template for the settings -->
2018-10-14 11:27:48 +00:00
< script class = "jsrender-template" id = "tmpl_settings" type = "text/html" >
2018-03-07 18:06:52 +00:00
< x-tab >
< x-entry >
2018-12-08 22:13:33 +00:00
< x-tag > {{tr "General"/}}< / x-tag >
2019-01-28 19:36:11 +00:00
< x-content >
< div class = "settings-general" >
< div class = "group_box" >
< div class = "header" > {{tr "TeaSpeak Forum Connection" /}}< / div >
< div class = "content settings-teaspeak-forum" >
< div class = "not-connected" >
< div > {{tr "You're currently not connected with your TeaSpeak Forum account" /}}< / div >
2019-02-17 15:08:10 +00:00
< button class = "btn btn-primary btn-raised button-login" > {{tr "login" /}}< / button >
2019-01-28 19:36:11 +00:00
< / div >
2019-02-17 15:08:10 +00:00
<!-- TODO new style! -->
2019-01-28 19:36:11 +00:00
< div class = "connected" >
< div class = "connected-info" > {{tr "You're connected via TeaSpeak forum" /}}< / div >
< div class = "container-info-action" >
< div class = "container-info" >
< div class = "property username" >
< div class = "key" > {{tr "Username:" /}}< / div >
< div class = "value" > WolverinDEV< / div >
< / div >
< div class = "property premium" >
< div class = "key" > {{tr "Premium:" /}}< / div >
< div class = "value" > YES< / div >
< / div >
< / div >
< div class = "divider" > < / div >
< div class = "container-actions" >
< button class = "button-logout" > logout< / button >
< / div >
< / div >
<!--
< div class = "property synchronized" >
< div class = "key" > {{tr "Synchronized:" /}}< / div >
< div class = "value" > NO < button class = "button-enable-disable-sync" > {{tr "enable synchronization" /}}< / button > < / div >
< / div >
-->
< / div >
< / div >
< / div >
< / div >
< / x-content >
2018-03-07 18:06:52 +00:00
< / x-entry >
< x-entry >
2018-12-08 22:13:33 +00:00
< x-tag > {{tr "Audio" /}}< / x-tag >
2018-03-07 18:06:52 +00:00
< x-content >
2018-10-28 17:25:43 +00:00
< div class = "settings_audio" >
2019-02-17 15:08:10 +00:00
< div class = "settings-device-error alert alert-warning alert-dismissible fade show" role = "alert" >
< div class = "message" > < / div >
< button type = "button" class = "close" data-dismiss = "alert" aria-label = "Close" >
< span aria-hidden = "true" > × < / span >
< / button >
< / div >
2018-10-28 17:25:43 +00:00
< div class = "group_box" >
2018-12-08 22:13:33 +00:00
< div class = "header" > {{tr "Microphone" /}}< / div >
2019-03-07 14:30:53 +00:00
< div class = "content settings-microphone {{if !voice_available}}disabled{{/if}}" >
{{if voice_available}}
2019-02-17 15:08:10 +00:00
< div class = "form-row settings-device settings-device-microphone" >
< div class = "form-group settings-device-select" >
< label for = "select-settings-microphone-device" class = "bmd-label-static" > {{tr "Device:" /}}< / label >
< select id = "select-settings-microphone-device" class = "form-control audio-select-microphone" > < / select >
< / div >
< div class = "form-group bmd-form-group" >
< button class = "btn btn-secondary button-device-update" > update< / button >
2018-03-17 07:05:37 +00:00
< / div >
2018-10-28 17:25:43 +00:00
< / div >
< div class = "settings-vad-container" >
< div class = "group_box" >
2018-12-08 22:13:33 +00:00
< div class = "header" > {{tr "Voice Activity Detection"/}}< / div >
2018-10-28 17:25:43 +00:00
< div class = "content" >
< fieldset >
2019-02-17 15:08:10 +00:00
< div class = "custom-control custom-radio" >
< input type = "radio" id = "select-settings-vad-type-1" value = "pt" name = "vad_type" class = "custom-control-input" >
< label class = "custom-control-label" for = "select-settings-vad-type-1" > {{tr "Always active" /}}< / label >
< / div >
< div class = "custom-control custom-radio" >
< input type = "radio" id = "select-settings-vad-type-2" value = "vad" name = "vad_type" class = "custom-control-input" >
< label class = "custom-control-label" for = "select-settings-vad-type-2" > {{tr "Voice activity detection"/}}< / label >
< / div >
< div class = "custom-control custom-radio" >
< input type = "radio" id = "select-settings-vad-type-3" value = "ppt" name = "vad_type" class = "custom-control-input" >
< label class = "custom-control-label" for = "select-settings-vad-type-3" > {{tr "Push to talk"/}}< / label >
< / div >
2018-10-28 17:25:43 +00:00
< / fieldset >
< / div >
< / div >
< div class = "settings-vad-impl" >
< div class = "settings-vad-impl-entry setting-vad-pt" >
2018-12-08 22:13:33 +00:00
{{tr "There are no setting entries for an < b > always< / b > online voice detection."/}}
2018-10-28 17:25:43 +00:00
< / div >
< div class = "settings-vad-impl-entry setting-vad-ppt" >
2019-01-27 12:11:40 +00:00
< div class = "property ppt-key" >
< div class = "key" > {{tr "Push to talk key:"/}}< / div >
< div class = "value" >
2019-02-17 15:08:10 +00:00
< button type = "button" class = "btn btn-raised btn-primary vat_ppt_key" > {{tr "Uninitialised"/}}< / button >
2019-01-27 12:11:40 +00:00
< / div >
< / div >
2019-02-17 15:08:10 +00:00
< div class = "form-group ppt-delay" >
< label for = "input-settings-ppt-delay" class = "bmd-label-static" > {{tr "Key release delay:" /}}< / label >
< input id = "input-settings-ppt-delay" class = "form-control value" type = "number" min = "0" max = "5000" / >
< / div >
2018-10-28 17:25:43 +00:00
< / div >
< div class = "settings-vad-impl-entry setting-vad-vad" >
2018-12-08 22:13:33 +00:00
< div > {{tr "Voice activity threshold (< a class = 'vad_vad_slider_value' > 20< / a > %)"/}}< / div >
2018-10-28 17:25:43 +00:00
< div class = "vad_vad_threshold_selector" >
< div class = "vad_vad_bar" >
2019-02-17 15:08:10 +00:00
< div class = "container-hider" >
< div class = "hider vad_vad_bar_filler" > < / div >
2018-10-28 17:25:43 +00:00
< / div >
< input type = "range" min = "0" max = "100" value = "50" class = "vad_vad_slider" >
2018-03-17 07:05:37 +00:00
< / div >
2018-03-08 14:40:31 +00:00
< / div >
< / div >
2018-03-07 18:06:52 +00:00
< / div >
< / div >
2019-03-07 14:30:53 +00:00
{{else}}
< div > {{tr "Voice had been disabled" /}}< / div >
{{/if}}
2018-03-07 18:06:52 +00:00
< / div >
< / div >
2018-10-28 17:25:43 +00:00
< div class = "group_box" >
2018-12-08 22:13:33 +00:00
< div class = "header" > {{tr "Speaker" /}}< / div >
2018-10-28 17:25:43 +00:00
< div class = "content settings-speaker" >
< div class = "settings-device settings-device-speaker" >
2019-02-17 15:08:10 +00:00
< div class = "form-group settings-device-select" >
< label for = "select-settings-speaker-device" class = "bmd-label-static" > {{tr "Device:" /}}< / label >
< select id = "select-settings-speaker-device" class = "form-control audio-select-speaker" > < / select >
< / div >
< div class = "form-group bmd-form-group" >
< button class = "btn btn-secondary button-device-update" > update< / button >
2018-10-28 17:25:43 +00:00
< / div >
< / div >
< / div >
< / div >
2019-01-27 12:11:40 +00:00
< hr >
< div class = "group_box sound" >
< div class = "header" > {{tr "Sound Settings" /}}< / div >
< div class = "content" >
< div class = "sound-settings" >
< div class = "property" >
< div class = "key" > Master volume:< / div >
< div class = "value master-volume" >
< input type = "range" min = "0" max = "100" value = "100" >
< a > (66%)< / a >
< / div >
< / div >
< div class = "property" >
< div class = "key" >
2019-02-17 15:08:10 +00:00
{{tr "Overlap same sounds:" /}}
2019-01-27 12:11:40 +00:00
< / div >
< div class = "value overlap-sounds" >
2019-02-17 15:08:10 +00:00
< div class = "switch" >
< label >
< input type = "checkbox" checked >
< div class = "help-tip-container" > <!-- lets be absolute -->
< div class = "help-tip tip-right tip-small" >
< p >
{{tr "This options deferments if a sound overlaps itself when played twice.< br > " +
"An example would be when you move multiple clients, you hear that sound n-times.< br > " +
"If this option is disabled, you hear that sound just once."
/}}
< / p >
< / div >
< / div >
< / label >
2019-01-27 12:11:40 +00:00
< / div >
< / div >
< / div >
< div class = "property" >
< div class = "key muted-sounds" >
Mute sounds when output is muted:
< / div >
< div class = "value muted-sounds" >
2019-02-17 15:08:10 +00:00
< div class = "switch" >
< label >
< input type = "checkbox" checked >
< div class = "help-tip-container" > <!-- lets be absolute -->
< div class = "help-tip tip-right tip-small" >
< p >
{{tr "Mute all system sounds, when you've muted your output.< br > If this option isn't disabled you'll still receive system sounds like 'user joined your channel'."/}}
< / p >
< / div >
< / div >
< / label >
2019-01-27 12:11:40 +00:00
< / div >
< / div >
< / div >
< div class = "sound-list" >
< div class = "sound-list-header" >
< div class = "column sound-name" > {{tr "Name" /}}< / div >
< div class = "column sound-activated" > {{tr "Activated" /}}< / div >
< / div >
< div class = "sound-list-entries-container" >
< div class = "sound-list-entries" >
< / div >
< / div >
< / div >
2019-02-17 15:08:10 +00:00
< div class = "form-group sound-list-filter" >
< label for = "input-settings-sounds-filter" class = "bmd-label-floating" > {{tr "Filter" /}}< / label >
< input id = "input-settings-sounds-filter" class = "form-control" type = "text" / >
2019-01-27 12:11:40 +00:00
< / div >
< / div >
< / div >
< / div >
2018-03-07 18:06:52 +00:00
< / div >
< / x-content >
< / x-entry >
2018-12-14 23:09:47 +00:00
< x-entry >
< x-tag >
2019-03-28 16:29:25 +00:00
< div class = "container-tabname-translations" > {{tr "Translations" /}} < div class = "country flag-en" > < / div > < / div >
2018-12-14 23:09:47 +00:00
< / x-tag >
< x-content >
< div class = "settings-translations" >
< div class = "group_box" >
< div class = "header" > {{tr "Available translations" /}}< / div >
2018-12-28 14:39:23 +00:00
< div class = "content" >
2018-12-14 23:09:47 +00:00
< div class = "setting-list" >
< div class = "list" >
< / div >
< div class = "management" >
2019-02-17 15:08:10 +00:00
< div class = "loading" > Loading...< / div >
< div class = "space" > < / div >
< button class = "btn btn-secondary button-add-repository" > {{tr "Add repository" /}}< / button >
2018-12-14 23:09:47 +00:00
< / div >
< div class = "restart-note" >
< p >
{{tr "Attention: These settings get only affected after a restart or reload!" /}}
< / p >
< button class = "button-reload" > {{tr "reload now" /}}< / button >
< / div >
< / div >
< / div >
< / div >
< / div >
< / x-content >
< / x-entry >
2018-12-28 14:39:23 +00:00
< x-entry >
< x-tag class = "tab-profiles" >
{{tr "Profiles" /}}
< / x-tag >
< x-content >
< div class = "settings-profiles" >
< div class = "group_box" >
< div class = "header" > {{tr "Available profiles" /}}< / div >
< div class = "content" >
< div class = "profile-list" >
< div class = "list" >
< / div >
< div class = "management" >
2019-02-17 15:08:10 +00:00
< button class = "btn btn-primary button-set-default" > {{tr "Set selected as default" /}}< / button >
< button class = "btn btn-danger button-delete" > {{tr "Delete selected" /}}< / button >
2018-12-28 14:39:23 +00:00
< div class = "space" > < / div >
2019-02-17 15:08:10 +00:00
< button class = "btn btn-success button-add-profile" > {{tr "Create profile" /}}< / button >
2018-12-28 14:39:23 +00:00
< / div >
< / div >
< / div >
< / div >
< div class = "group_box" >
< div class = "header" > {{tr "Profile settings" /}}< / div >
< div class = "content" >
< div class = "profile-settings" >
< div class = "general-settings" >
2019-02-17 15:08:10 +00:00
< div class = "form-group" >
< label for = "input-settings-profile-name" class = "bmd-label-static" > {{tr "Profile name:" /}}< / label >
< input id = "input-settings-profile-name" class = "form-control setting-name" >
< / div >
< div class = "form-group" >
< label for = "input-settings-profile-default-name" class = "bmd-label-static" > {{tr "Default nickname:" /}}< / label >
< input id = "input-settings-profile-default-name" class = "form-control setting-default-nickname" >
< / div >
< div class = "form-group" >
<!-- TODO use random ids -->
< label for = "input-settings-profile-default-password" class = "bmd-label-floating" > {{tr "Default server password" /}}< / label >
< input type = "password" id = "input-settings-profile-default-password" class = "form-control setting-default-password" >
< / div >
< div class = "form-group select-container" >
< label for = "input-settings-profile-identity-type" class = "bmd-label-static" > {{tr "Identify Type:" /}}< / label >
< select id = "input-settings-profile-identity-type" class = "form-control" >
< option name = "identity-type" value = "teaforo" > {{tr "Forum Account" /}}< / option >
< option name = "identity-type" value = "teamspeak" > {{tr "TeamSpeak" /}}< / option >
< option name = "identity-type" value = "nickname" > {{tr "Nickname (Debug purposes only!)" /}}< / option > <!-- Only available on localhost for debug -->
< / select >
2018-12-28 14:39:23 +00:00
< / div >
< / div >
< hr >
< div class = "identity-settings identity-settings-teamspeak" >
2019-01-28 19:36:11 +00:00
<!--
< div class = "import" >
{{tr "Please enter your exported TS3 Identity string bellow or select your exported Identity"/}}< br >
< div style = "width: 100%; display: flex; justify-content: stretch; flex-direction: row" >
< input placeholder = "Identity string" style = "min-width: 60%; flex-shrink: 1; flex-grow: 2; margin: 5px;" class = "identity_string" >
< div style = "max-width: 200px; flex-grow: 1; flex-shrink: 4; margin: 5px" > < input style = "display: flex; width: 100%;" class = "identity_file" type = "file" > < / div >
< / div >
< / div >
-->
< div class = "identity-info" style = "display: none" >
2019-02-17 15:08:10 +00:00
< div class = "form-group unique-id" >
< label > {{tr "UniqueID:" /}}< / label >
< input class = "form-control" type = "text" value = "xxjnc14LmvTk+Lyrm8OOeo4tOqw=" readonly / >
2019-01-28 19:36:11 +00:00
< / div >
2019-02-17 15:08:10 +00:00
< div class = "form-row level" >
< div class = "form-group container-input" >
< label > {{tr "Level:" /}}< / label >
< input class = "form-control" type = "text" value = "39" readonly / >
< / div >
< div class = "form-group bmd-form-group" >
< button class = "btn btn-raised button-improve" > {{tr "Improve" /}}< / button >
2019-01-28 19:36:11 +00:00
< / div >
< / div >
< / div >
< div class = "identity-undefined" >
< div > {{tr "You have'nt generated/imported an identity.< br > Generate a new one or import one." /}}< / div >
< / div >
< div class = "manage" >
2019-02-17 15:08:10 +00:00
< button class = "btn btn-primary button-generate" > {{tr "Generate new" /}}< / button >
2019-01-28 19:36:11 +00:00
< div class = "export-import" >
2019-02-17 15:08:10 +00:00
< button class = "btn btn-secondary button-import" > {{tr "Import identity" /}}< / button >
< button class = "btn btn-primary button-export" > {{tr "Export identity" /}}< / button >
2019-01-28 19:36:11 +00:00
< / div >
2018-12-28 14:39:23 +00:00
< / div >
< / div >
< div class = "identity-settings identity-settings-teaforo" >
< div class = "connected" >
{{tr "You're using your forum account as verification"/}}
< / div >
< div class = "disconnected" >
<!-- TODO tr -->
2019-01-28 19:36:11 +00:00
<!-- <a href="#" class="native - teaforo - login">here</a> -->
2019-02-17 15:08:10 +00:00
< div class = "error-forum-not-connected alert alert-warning fade show" role = "alert" >
You cant use your TeaSpeak forum account. You're not connected with your forum Account!< br >
Setup your connection < a class = "forum-setup" href = "#" > here< / a > .
< / div >
2018-12-28 14:39:23 +00:00
< / div >
< / div >
< div class = "identity-settings identity-settings-nickname" >
< a >
{{tr "This is just for debug and uses the name as unique identifier" /}}
< / a >
2019-02-17 15:08:10 +00:00
< div class = "form-group" >
< label for = "input-settings-profile-name-name" class = "bmd-label-floating" > {{tr "Username" /}}< / label >
< input id = "input-settings-profile-name-name" class = "form-control setting-name" >
2018-12-28 14:39:23 +00:00
< / div >
< / div >
2019-02-17 15:08:10 +00:00
< div class = "settings-profile-error alert alert-warning fade show" role = "alert" >
< div class = "message" > < / div >
< / div >
2018-12-28 14:39:23 +00:00
< / div >
< / div >
< / div >
< / div >
< / x-content >
< / x-entry >
2018-03-07 18:06:52 +00:00
< / x-tab >
2018-06-24 11:38:53 +00:00
< / script >
2018-12-14 23:09:47 +00:00
2019-01-27 12:11:40 +00:00
< script class = "jsrender-template" id = "tmpl_settings-sound_entry" type = "text/html" >
< div class = "entry" >
< div class = "column sound-name" > < div class = "icon client-play button-playback" > < / div > {{>name}}< / div >
< 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" >
< div class = "container-teamspeak-import" >
< div class = "error" > {{tr "Failed to import identity (my little error)" /}}< / div >
< div class = "load-data" >
< div > {{tr "Import an identity from TeamSpeak or an exported identity" /}}< / div >
< div class = "buttons" >
< button class = "button-load-text" > {{tr "Load from text" /}}< / button >
< button class = "button-load-file" > {{tr "Load from file" /}}< / button >
< input class = "input-file" type = "file" >
< / div >
< / div >
< div class = "success" >
{{tr "Identity successfully loaded. Ready to import" /}}
< / div >
< div class = "footer" >
< button class = "button-import" > {{tr "Import" /}}< / button >
< / div >
< / div >
< / script >
< script class = "jsrender-template" id = "tmpl_settings-teamspeak_improve" type = "text/html" >
< div class = "container-teamspeak-improve" >
2019-02-17 15:08:10 +00:00
< div class = "form-group identity-unique-id" >
< label > {{tr "Identity:" /}}< / label >
< input class = "form-control" value = "" readonly >
2019-01-28 19:36:11 +00:00
< / div >
2019-02-17 15:08:10 +00:00
< 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 >
2019-02-17 15:08:10 +00:00
< div class = "form-group identity-target-level" >
< div class = "bmd-label-static" >
2019-01-28 19:36:11 +00:00
< div class = "help-tagged" > {{tr "Target level: " /}}< / div >
< div class = "help-tip-container" > <!-- lets be absolute -->
< div class = "help-tip tip-right tip-small" >
< p >
{{tr "A value of zero means unlimited. Improve until you abort"/}}
< / p >
< / div >
< / div >
< / div >
2019-02-17 15:08:10 +00:00
< input class = "form-control" value = "0" type = "number" min = "0" max = "160" >
2019-01-28 19:36:11 +00:00
< / div >
2019-02-17 15:08:10 +00:00
< div class = "form-group threads" >
< div class = "bmd-label-static" >
2019-01-28 19:36:11 +00:00
< div class = "help-tagged" > {{tr "Threads: " /}}< / div >
< div class = "help-tip-container" > <!-- lets be absolute -->
< div class = "help-tip tip-right tip-small" >
< p >
{{tr "The number of threads used to improve your identity< br > The optimal value is equal to the amount of kernal threads."/}}
< / p >
< / div >
< / div >
< / div >
2019-02-17 15:08:10 +00:00
< input class = "form-control" value = "2" type = "number" min = "1" max = "32" >
2019-01-28 19:36:11 +00:00
< / div >
< hr >
2019-02-17 15:08:10 +00:00
< div class = "form-row" >
< div class = "form-group hash-rate" >
< label > {{tr "Hashes/second:" /}}< / label >
< input class = "form-control" value = "0" readonly >
2019-01-28 19:36:11 +00:00
< / div >
2019-02-17 15:08:10 +00:00
< div class = "form-group time-elapsed" >
< label > {{tr "Elapsed time:" /}}< / label >
< input class = "form-control" value = "00:00" readonly >
2019-01-28 19:36:11 +00:00
< / div >
< / div >
< div class = "buttons" >
2019-02-17 15:08:10 +00:00
< button class = "btn btn-secondary btn-raised button-close" > {{tr "Close" /}}< / button >
< 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" }}
< div class = "entry repository" repository = "{{:id}}" >
< div class = "name" > {{> name}}< / div >
< div class = "button button-delete" > < div class = "icon client-delete" > < / div > < / div >
< div class = "button button-info" > < div class = "icon client-about" > < / div > < / div >
< / div >
{{else type == "default" }}
2019-03-28 16:29:25 +00:00
< div class = "entry default {{if selected}}selected{{/if}}" >
< div class = "country flag-gb" title = "{{*:i18n.country_name('gb')}}" > < / div >
< div class = "name" > {{tr "English (Default / Fallback)" /}}< / div >
< / div >
2018-12-14 23:09:47 +00:00
{{else}}
< div class = "entry translation {{if selected}}selected{{/if}}" parent-repository = "{{:id}}" >
2019-03-28 16:29:25 +00:00
< div class = "country flag-{{:country_code}}" title = "{{*:i18n.country_name(data.country_code || 'XX')}}" > < / div >
2018-12-14 23:09:47 +00:00
< div class = "name" > {{> name}}< / div >
< div class = "button button-info" > < div class = "icon client-about" > < / div > < / div >
< / div >
{{/if}}
< / script >
< script class = "jsrender-template" id = "settings-translations-list-entry-info" type = "text/html" >
< div class = "entry-info-container" >
{{if type == "repository" }}
<!--
unique_id: string;
url: string;
name?: string;
contact?: string;
translations?: RepositoryTranslation[];
load_timestamp?: number;
-->
< 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}}
<!--
name: string;
contributors: Contributor[];
-->
< 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-repository" >
< div class = "key" > Repository:< / div >
< div class = "value" >
< p > {{>repository_name}}< / p >
< div class = "button button-info" > < div class = "icon client-about" > < / div > < / div >
< / div >
< / div >
{{if !contributors }}
{{else contributors.length == 1}}
< div class = "property property-contributor" >
< div class = "key" > Contributor:< / div >
< div class = "value" >
{{>contributors[0].name}}
{{if contributors[0].email}}
 < {{>contributors[0].email}}>
{{/if}}
< / div >
< / 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}}
< / div >
{{/for}}
< / div >
< / div >
{{/if}}
{{/if}}
< / div >
< / script >
2018-10-14 11:27:48 +00:00
< script class = "jsrender-template" id = "tmpl_change_volume" type = "text/html" >
2018-04-11 15:56:09 +00:00
< div style = "display: flex; justify-content: center; vertical-align: center" >
2019-01-20 17:43:14 +00:00
< input type = "range" min = "0" max = "{{>max_volume}}" value = "100" class = "volume_slider" style = "width: 100%" >
2018-04-11 15:56:09 +00:00
< div class = "display_volume" style = "width: 60px; align-self: center; text-align: center" > ± 0 %< / div >
< / div >
2018-06-24 11:38:53 +00:00
< / 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" >
2018-09-30 19:50:59 +00:00
< x-tab >
< x-entry >
2018-12-08 22:13:33 +00:00
< x-tag > {{tr "Server Groups" /}}< / x-tag >
2019-02-17 15:08:10 +00:00
< x-content class = "tab-group-server" >
2018-09-30 19:50:59 +00:00
< div class = "layout-group-server" >
< div class = "list-group-server" >
< div class = "entries" > < / div >
< / div >
2018-10-14 11:27:48 +00:00
< div class = "horizontal-stretch" >
2019-02-17 15:08:10 +00:00
< permission-editor class = "group-server" / >
2018-10-14 11:27:48 +00:00
< / div >
2018-09-30 19:50:59 +00:00
< div class = "list-group-server-clients" > < / div >
< / div >
< / x-content >
< / x-entry >
< x-entry >
2018-12-08 22:13:33 +00:00
< x-tag > {{tr "Channel Groups" /}}< / x-tag >
2019-02-17 15:08:10 +00:00
< x-content class = "tab-group-channel" >
2018-09-30 19:50:59 +00:00
< div class = "layout-group-channel" >
< div class = "list-group-channel" >
< div class = "entries" > < / div >
< / div >
2018-10-14 11:27:48 +00:00
< div class = "horizontal-stretch" >
2019-02-17 15:08:10 +00:00
< permission-editor class = "group-channel" / >
2018-10-14 11:27:48 +00:00
< / div >
2018-09-30 19:50:59 +00:00
< / div >
< / x-content >
< / x-entry >
< x-entry >
2018-12-08 22:13:33 +00:00
< x-tag > {{tr "Channel permissions" /}}< / x-tag >
2019-02-17 15:08:10 +00:00
< x-content class = "tab-channel" >
2018-09-30 19:50:59 +00:00
< div class = "layout-channel" >
< div class = "list-channel" >
< div class = "entries" > < / div >
< / div >
2018-10-14 11:27:48 +00:00
< div class = "horizontal-stretch" >
2019-02-17 15:08:10 +00:00
< permission-editor class = "channel" / >
2018-10-14 11:27:48 +00:00
< / div >
2018-09-30 19:50:59 +00:00
< / div >
< / x-content >
< / x-entry >
< x-entry >
2018-12-08 22:13:33 +00:00
< x-tag > {{tr "Client permissions"/}}< / x-tag >
2019-02-17 15:08:10 +00:00
< x-content class = "tab-client" >
2018-09-30 19:50:59 +00:00
< div class = "layout-client" >
< 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 >
< input class = "form-control client-name" >
< / 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 >
< input class = "form-control client-uid" >
< / 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 >
< input class = "form-control client-dbid" >
< / div >
2018-09-30 19:50:59 +00:00
< / div >
< / div >
2018-10-14 11:27:48 +00:00
< div class = "horizontal-stretch" >
2019-02-17 15:08:10 +00:00
< permission-editor class = "client" / >
2018-10-14 11:27:48 +00:00
< / div >
2018-09-30 19:50:59 +00:00
< / div >
< / x-content >
< / x-entry >
< x-entry >
2018-12-08 22:13:33 +00:00
< x-tag > {{tr "Client channel permissions" /}}< / x-tag >
2019-02-17 15:08:10 +00:00
< x-content class = "tab-client-channel" >
2018-09-30 19:50:59 +00:00
< div class = "layout-client-channel" >
2019-02-17 15:08:10 +00:00
< div class = "container-client-channel" >
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 >
< / div >
< hr >
< div class = "client-info" >
< div class = "form-group" >
< label > {{tr "Nickname:" /}}< / label >
< input class = "form-control client-name" >
< / 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 >
< input class = "form-control client-uid" >
< / 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 >
< input class = "form-control client-dbid" >
< / div >
< / div >
2018-09-30 19:50:59 +00:00
< / div >
< hr >
< div class = "list-channel" >
< div class = "entries" > < / div >
< / div >
< / div >
2018-10-14 11:27:48 +00:00
< div class = "horizontal-stretch" >
2019-02-17 15:08:10 +00:00
< permission-editor class = "client-channel" / >
2018-10-14 11:27:48 +00:00
< / div >
2018-09-30 19:50:59 +00:00
< / div >
< / x-content >
< / x-entry >
< / x-tab >
< / script >
2018-10-14 11:27:48 +00:00
< script class = "jsrender-template" id = "tmpl_server_group_assignment" type = "text/html" >
2018-09-30 19:50:59 +00:00
< div class = "group-assignment-list" >
2018-12-08 22:13:33 +00:00
< a > {{tr "Changing groups of" /}} < b > {{>client_name}}< / b > < / a >
2018-09-30 19:50:59 +00:00
< div class = "group-list" >
{{for groups}}
< div class = "group-entry" >
< label class = "checkbox {{if disabled}}disabled{{/if}}" >
< input type = "checkbox" group-id = "{{>id}}" { { if assigned } } checked { { / if } } >
< span class = "checkmark" > < / span >
< / label >
< node key = "icon_{{>id}}" > < / node >
< a > {{>name}} ({{>id}})< / a >
< / div >
{{/for}}
< / div >
< / div >
< / script >
2018-10-14 11:27:48 +00:00
< script class = "jsrender-template" id = "tmpl_permission_entry" type = "text/html" >
2019-02-17 15:08:10 +00:00
{{if type == "permission"}}
< div class = "entry permission" >
< div class = "column-name" > {{>permission_name}}< / div >
{{if permission_name.startsWith("b_") }}
< div class = "column-value" >
2018-10-14 11:27:48 +00:00
< label class = "checkbox" >
< input type = "checkbox" >
< span class = "checkmark" > < / span >
< / label >
2018-09-30 19:50:59 +00:00
< / div >
2019-02-17 15:08:10 +00:00
{{else}}
< div class = "column-value form-group" >
< input class = "form-control" type = "number" min-value = "-1" max-value = "9999999999" / >
< / div >
{{/if}}
< div class = "column-skip" >
2018-10-14 11:27:48 +00:00
< label class = "checkbox" >
< input type = "checkbox" >
< span class = "checkmark" > < / span >
< / label >
2018-09-30 19:50:59 +00:00
< / div >
2019-02-17 15:08:10 +00:00
< div class = "column-negate" >
2018-10-14 11:27:48 +00:00
< label class = "checkbox" >
< input type = "checkbox" >
< span class = "checkmark" > < / span >
< / label >
< / div >
2019-02-17 15:08:10 +00:00
< div class = "column-granted form-group" >
< input class = "form-control" type = "number" min-value = "-1" max-value = "9999999999" / >
2018-09-30 19:50:59 +00:00
< / div >
< / div >
2018-10-14 11:27:48 +00:00
{{else}}
2018-12-02 17:55:08 +00:00
< div class = "entry group tab-show-partitional" >
2018-09-30 19:50:59 +00:00
< div class = "title" > < div class = "arrow down" > < / div > < a > {{>name}}< / a > < / div >
< div class = "group-entries" >
2018-10-14 11:27:48 +00:00
{{for entries tmpl="tmpl_permission_entry"/}}
< / div >
< / div >
{{/if}}
< / script >
2019-02-17 15:08:10 +00:00
< script class = "jsrender-template" id = "tmpl_permission_editor" type = "text/html" >
2018-10-14 11:27:48 +00:00
< div class = "container-permissions" >
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-04-26 21:50:21 +00:00
< div class = "entry-editor-container" > < / div >
2019-02-17 15:08:10 +00:00
< / 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 >
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 >
2018-10-20 17:58:06 +00:00
<!-- General management templates -->
< script class = "jsrender-template" id = "tmpl_ban_list" type = "text/html" >
< div class = "banlist" >
< div class = "frame-container" >
< div class = "top-menu" >
2019-02-17 15:08:10 +00:00
< div class = "form-group bmd-form-group manage-buttons" >
< button class = "btn btn-success button-add" > {{tr "Add" /}}< / button >
< button class = "btn btn-primary button-edit" > {{tr "Edit" /}}< / button >
< button class = "btn btn-danger button-remove" > {{tr "Remove" /}}< / button >
2018-10-20 17:58:06 +00:00
< / div >
2019-02-17 15:08:10 +00:00
< div class = "search form-group" >
< label class = "bmd-label-floating" > {{tr "filter" /}}< / label >
< input type = "text" class = "form-control entry-filter" >
2018-10-20 17:58:06 +00:00
< / div >
< / div >
< div class = "entry-container" >
2019-02-17 15:08:10 +00:00
< div class = "ban-entry header" >
< div class = "column column-keys" > {{tr "Name/IP/UID/HWID"/}}< / div >
< div class = "column column-reason" > {{tr "Reason"/}}< / div >
< div class = "column column-creator" > {{tr "Creator"/}}< / div >
< div class = "column column-time" > {{tr "Created / Expires"/}}< / div >
2018-10-20 17:58:06 +00:00
< / div >
2019-02-17 15:08:10 +00:00
< div class = "entries" > < / div >
2018-10-20 17:58:06 +00:00
< / div >
< div class = "bottom-menu" >
< div class = "left" >
2019-02-17 15:08:10 +00:00
< button class = "btn btn-primary button-refresh btn-raised" > {{tr "Reload"/}}< / button >
< div class = "switch" >
< label >
< input type = "checkbox" class = "filter-flag-force-own" >
{{tr "Show only own bans" /}}
< / label >
< / div >
< div class = "switch" >
< label >
< input type = "checkbox" class = "filter-flag-highlight-own" >
{{tr "Highlight own bans" /}}
< / label >
< / div >
2018-10-20 17:58:06 +00:00
< / div >
< div class = "right" >
< a class = "entry-count-info" > < / a >
2019-02-17 15:08:10 +00:00
< button class = "btn btn-secondary btn-raised button-close" > {{tr "Close" /}}< / button >
2018-10-20 17:58:06 +00:00
< / div >
< / div >
< / div >
< / div >
< / script >
2018-12-28 14:39:23 +00:00
2019-02-17 15:08:10 +00:00
< script class = "jsrender-template" id = "tmpl_ban_entry" type = "text/html" >
< div class = "ban-entry {{if server_id == 0}}ban-entry-global{{/if}} {{if flag_own}}ban-entry-own{{/if}}" ban-id = {{ > banid}} server-id={{>server_id}}>
< div class = "column column-keys" >
{{if name }}< a class = "property property-name" > name={{>name}}< / a > {{/if}}
{{if ip }} < a class = "property property-ip" > ip={{>ip}}< / a > {{/if}}
{{if unique_id }} < a class = "property property-unique-id" > uid={{>unique_id}}< / a > {{/if}}
{{if hardware_id }}< a class = "property property-hardware-id" > hwid={{>hardware_id}}< / a > {{/if}}
< / div >
< div class = "column column-reason" > {{>reason}}< / div >
< div class = "column column-creator" > {{>invoker_name}}< / div >
< div class = "column column-time" >
< div class = "timestamp-created" > < a > {{tr "Created:" /}}< / a > {{fmt_date timestamp_created "DD.MM.YYYY HH:mm" /}}< / div >
< div class = "timestamp-expire" > < a > {{tr "Expire:" /}}< / a > {{if (!timestamp_expire || timestamp_expire.getTime() == 0) }}never{{else}}{{fmt_date timestamp_expire "DD.MM.YYYY HH:mm" /}}{{/if}}< / div >
< / div >
< / div >
< / script >
2018-10-20 17:58:06 +00:00
< script class = "jsrender-template" id = "tmpl_client_ban" type = "text/html" >
< div class = "align_column" >
< div class = "align_column" style = "margin: 5px" >
2018-12-08 22:13:33 +00:00
< a > {{tr "Name:" /}}< / a >
2018-10-20 17:58:06 +00:00
< input value = "{{>client_name}}" readonly >
< / div >
< div class = "align_column" style = "margin: 5px" >
2018-12-08 22:13:33 +00:00
< a > {{tr "Reason:" /}}< / a >
2018-10-20 17:58:06 +00:00
< textarea style = "height: 32px; resize: vertical; max-height: 150px; min-height: 32px" maxlength = "512" class = "ban_reason" > < / textarea >
< / div >
< div class = "align_row" style = "margin: 5px; justify-content: space-between" >
2018-12-08 22:13:33 +00:00
< a > {{tr "Duration:" /}}< / a >
2018-10-20 17:58:06 +00:00
< div class = "align_row" >
< input type = "number" value = "1" class = "ban_duration" style = "margin-right: 7px" min = "1" >
< select class = "ban_duration_type" >
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 = "group_box container-ban-type" >
2018-12-08 22:13:33 +00:00
< div class = "header" > {{tr "Ban client by"/}}< / div >
2018-10-20 17:58:06 +00:00
< div class = "content ban-types" >
< div >
< input type = "checkbox" class = "ban-type-nickname" >
2018-12-08 22:13:33 +00:00
< a > {{tr "Nickname"/}}< / a >
2018-10-20 17:58:06 +00:00
< div class = "help-tip tip-right tip-small" checked >
< p >
2018-12-09 19:18:49 +00:00
{{tr "Bans the client by his current nickname.< br > " +
"The currently nickname cant be used until the ban expired"/}}
2018-10-20 17:58:06 +00:00
< / p >
< / div >
< / div >
< div >
< input type = "checkbox" class = "ban-type-hardware-id" checked >
2018-12-08 22:13:33 +00:00
< a > {{tr "Hardware ID" /}}< / a >
2018-10-20 17:58:06 +00:00
< div class = "help-tip tip-right tip-small" >
< p >
2018-12-09 19:18:49 +00:00
{{tr "Bans the client by his hardware id.< br > " +
"The hardware id has different meanings, depends on the users agent< br > " +
"TeaClient: The hardware id will be equal to the mac address< 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 some hashes from hardware specific properties" /}}
2018-10-20 17:58:06 +00:00
< / p >
< / div >
< / div >
< div >
< input type = "checkbox" class = "ban-type-ip" checked >
2018-12-08 22:13:33 +00:00
< a > {{tr "IP Address" /}}< / a >
2018-10-20 17:58:06 +00:00
< / div >
< / div >
< / div >
< / div >
< / script >
2018-12-08 22:13:33 +00:00
2018-10-20 17:58:06 +00:00
<!-- `hwid` VARCHAR(" CLIENT_UID_LENGTH "), `uid` VARCHAR(" CLIENT_UID_LENGTH "), `name` VARCHAR(" CLIENT_NAME_LENGTH "), `ip` VARCHAR(128) -->
< 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 >
< input type = "number" value = "1" class = "form-control input-time" style = "margin-right: 7px" min = "1" >
< / 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-02-17 15:08:10 +00:00
"This means that (if this rule apply to a victim) cant join < b > any< / b > virtual server!< br > " +
"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}}
2018-08-10 19:30:58 +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
{{*
if(!data.song_max_width) data.song_max_width = 300;
let width = calculate_width(data.song_name);
if(width > data.song_max_width)
data.song_use_scroller = true;
}}
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" >
< svg x = "0px" y = "0px" viewBox = "0 0 4.5 6.9" style = "enable-background:new 0 0 4.5 6.9;" >
< defs >
< filter id = "shadow_play" title = "Start replaying" >
< feDropShadow dx = "4" dy = "8" stdDeviation = "4" / >
< / filter >
< / defs >
< polyline style = "filter:url(#shadow_play);" class = "button" points = "0.6,0.3 3.9,3.4 0.6,6.6 " > < / polyline >
< / svg >
< / div >
< div class = "button button_pause" title = "Pause the current song" >
< svg x = "0px" y = "0px" viewBox = "0 0 4.5 6.9" style = "enable-background:new 0 0 4.5 6.9;" >
< 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" >
< svg x = "0px" y = "0px" viewBox = "0 0 4.5 6.9" style = "enable-background:new 0 0 4.5 6.9;" >
< 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}}
< div class = "scroll-left" >
< p class = "name" > {{>song_name}}< / p >
< / div >
{{else}}
< div class = "name" style = "" > {{>song_name}}< / div >
{{/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-03-07 14:30:53 +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}}
2018-06-20 17:06:55 +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 >
{{if client_is_web & & false}} <!-- we cant show any browser info because every browser claims to be any browser as well -->
< 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
{{if client_teaforum_id > 0}}
< tr >
2018-12-08 22:13:33 +00:00
< td > {{tr "TeaSpeak Account:" /}}< / td >
2018-06-20 19:05:35 +00:00
< td > < a href = "//forum.teaspeak.de/index.php?members/{{:property_client_teaforum_id}}" target = "_blank" > {{>property_client_teaforum_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" >
< 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-06-20 17:06:55 +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" / >
2018-09-30 20:47:41 +00:00
< div style = "margin-left: 3px" > {{>group_name}}< / div >
2018-06-20 17:06:55 +00:00
< / 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-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}}
({{>property_client_away_message}})
{{/if}}
< / a >
< / div >
{{/if}}
2018-06-20 19:05:35 +00:00
<!-- Speakers/Headphones disabled -->
{{if !property_client_output_hardware}}
< div style = "display: inline-flex" >
< div class = "icon_x32 client-hardware_output_muted" style = "margin-right: 5px" > < / div >
2018-12-08 22:13:33 +00:00
< a style = "align-self: center" > {{tr "Speakers/Headphones disabled"/}}< / a >
2018-06-20 19:05:35 +00:00
< / div >
{{/if}}
<!-- Microphone disabled -->
{{if !property_client_input_hardware}}
< div style = "display: inline-flex" >
< div class = "icon_x32 client-hardware_input_muted" style = "margin-right: 5px" > < / div >
2018-12-08 22:13:33 +00:00
< a style = "align-self: center" > {{tr "Microphone disabled"/}}< / a >
2018-06-20 19:05:35 +00:00
< / div >
{{/if}}
<!-- Speakers/Headphones Muted -->
{{if property_client_output_muted}}
< div style = "display: inline-flex" >
< div class = "icon_x32 client-output_muted" style = "margin-right: 5px" > < / div >
2018-12-08 22:13:33 +00:00
< a style = "align-self: center" > {{tr "Speakers/Headphones Muted"/}}< / a >
2018-06-20 19:05:35 +00:00
< / div >
{{/if}}
<!-- Microphone Muted -->
{{if property_client_input_muted}}
< div style = "display: inline-flex" >
< div class = "icon_x32 client-input_muted" style = "margin-right: 5px" > < / div >
2018-12-08 22:13:33 +00:00
< a style = "align-self: center" > {{tr "Microphone Muted"/}}< / a >
2018-06-20 19:05:35 +00:00
< / div >
{{/if}}
2018-08-12 14:38:38 +00:00
{{if property_client_flag_avatar & & property_client_flag_avatar.length > 0}}
2019-02-17 15:08:10 +00:00
< div style = "margin-top: 10px;" class = "client-avatar" >
2018-08-12 14:38:38 +00:00
< node key = "client_avatar" / >
< / div >
{{/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 >
2018-08-10 19:30:58 +00:00
< td > < node key = "client_name" / > < / td >
< / 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 >
2018-11-04 12:54:18 +00:00
< td > < node key = "song_url" > < / node > < / td >
< / 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-11-03 11:16:13 +00:00
< script class = "jsrender-template" id = "tmpl_selected_hostbanner" type = "text/html" >
2019-04-04 19:47:52 +00:00
< div class = "hostbanner" x-divider-require-resize = "1" >
< img class = "meta-image hostbanner-image" src = "{{:hostbanner_gfx_url}}" / >
< a class = "image-container"
{{if property_virtualserver_hostbanner_url}}
href="{{:property_virtualserver_hostbanner_url}}"
{{/if}}
target="_blank">
2019-03-17 11:15:39 +00:00
< div
style="background: center no-repeat url({{:hostbanner_gfx_url}})"
alt="{{tr 'Host banner'/}}"
class="hostbanner-image hostbanner-mode-{{:property_virtualserver_hostbanner_mode}}"
2019-02-17 15:08:10 +00:00
>< / div >
2018-11-03 11:16:13 +00:00
< / a >
< / 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 >
2018-11-03 11:16:13 +00:00
< td > < node key = "server_name" / > < / td >
< / 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-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 >
2018-11-03 11:16:13 +00:00
< td > < a title = "{{>property_virtualserver_version}}" > {{*: data.property_virtualserver_version.split(" ")[0]; }}< / a > on {{>property_virtualserver_platform}}< / td >
< / 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}}
(< div class = "reserved-slots" > -{{:property_virtualserver_reserved_slots}} {{tr "Slots reserved" /}}< / div > )
{{/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 >
2018-06-20 19:05:35 +00:00
< td > < node key = "channel_name" / > < / td >
< / 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}}
2018-12-08 22:13:33 +00:00
{{tr "Unlimited"/}}
2018-06-20 19:05:35 +00:00
{{else}}
{{>property_channel_maxclients}}
{{/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}}
2018-12-08 22:13:33 +00:00
{{tr "Subscribed"/}}
2018-06-20 19:05:35 +00:00
{{else}}
2018-12-08 22:13:33 +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}}
2018-12-08 22:13:33 +00:00
{{tr "Unencrypted"/}}
2018-06-20 19:05:35 +00:00
{{else}}
2018-12-08 22:13:33 +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}}
2018-12-08 22:13:33 +00:00
{{tr "(Overridden by the server with Encrypted)" /}}
2018-12-02 13:12:23 +00:00
{{/if}}
{{if server_encryption == 1}}
2018-12-08 22:13:33 +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" >
< div class = "container-information" >
2018-12-08 22:13:33 +00:00
< a > {{tr "You have been poked by"/}} < / a > < node key = "invoker" > < / node > < a > :< / a >
2018-11-03 23:39:29 +00:00
< / div >
< div class = "container-message" >
< a class = "message" > {{>message}}< / a >
< / div >
2018-12-08 22:13:33 +00:00
< button class = "button-close" > {{tr "Close" /}}< / button >
2018-11-03 23:39:29 +00:00
< / div >
< / 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 >
< input class = "form-control query_name" type = "text" maxlength = "64" minlength = "3" value = "{{>username}}" >
< / 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 >
< input class = "form-control query_password" type = "text" maxlength = "64" minlength = "3" value = "{{>password}}" >
< / 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" >
< div class = "query-management" >
2019-02-17 15:08:10 +00:00
< div class = "header" >
< div class = "form-group bmd-form-group buttons" >
< button class = "btn btn-success button button-query-create" > {{tr "Create account" /}}< / button >
< button class = "btn btn-danger button button-query-delete" > {{tr "Delete account" /}}< / button >
< button class = "btn btn-primary button button-query-rename" > {{tr "Rename account" /}}< / button >
< button class = "btn btn-primary button button-query-change-password" > {{tr "Change password" /}}< / button >
2018-12-23 16:41: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" >
2018-12-23 16:41:14 +00:00
< / div >
2019-02-17 15:08:10 +00:00
< / div >
< div class = "query-list" >
< div class = "query-list-header" >
< div class = "column column-username" > {{tr "Username" /}}< / div >
< div class = "column column-unique-id" > {{tr "Unique ID" /}}< / div >
< div class = "column column-bound-server" > {{tr "Bounded Server" /}}< / div >
< / div >
< div class = "query-list-entries-container" >
< div class = "query-list-entries" >
2018-12-23 16:41:14 +00:00
< / div >
< / div >
< / div >
2019-02-17 15:08:10 +00:00
< div class = "footer" >
< div class = "info" >
< a > {{tr "loading..." /}}< / a >
< / div >
< div class = "buttons" >
< button class = "btn btn-primary button-refresh" > {{tr "Refresh" /}}< / button >
< / div >
< / div >
2018-12-23 16:41:14 +00:00
< / div >
< / script >
< script class = "jsrender-template" id = "tmpl_query_manager-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-bound-server" > {{>bounded_server}}< / div >
< / div >
< / script >
2018-12-28 14:39:23 +00:00
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" >
< button class = "btn btn-success button button-playlist-create" > {{tr "Create playlist" /}}< / button >
< 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}}
bot bound
{{else playlist_type == 1}}
global
{{else}}
{{>playlist_type}}
{{/if}}
< / div >
< div class = "column column-used" >
{{if playlist_bot_id > 0}}
< div title = "{{tr 'Playlist is in use by bot ' /}}{{>playlist_bot_id}}" class = "icon client-apply" > < / div >
{{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 >
< 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 >
< div class = "form-group permission" permission = "i_playlist_needed_permission_modify_power" >
< 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" >
< div class = "form-group permission" permission = "i_playlist_song_needed_add_power" >
< label > {{tr "Song add" /}}< / label >
< input type = "number" min = "0" value = "0" class = "form-control value" >
< / div >
< div class = "form-group permission" permission = "i_playlist_song_needed_move_power" >
< label > {{tr "Song reorder" /}}< / label >
< input type = "number" min = "0" value = "0" class = "form-control value" >
< / div >
< div class = "form-group permission" permission = "i_playlist_song_needed_remove_power" >
< 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" >
< div class = "button button-delete" > < div class = "icon client-delete" > < / div > < / div >
< div class = "button button-info" > < div class = "icon client-about" > < / div > < / div >
< / 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 >
< div class = "value" > {{if song_url_loader}}{{>song_url_loader}}{{else}}{{tr "unset" /}}{{/if}}< / div >
< / 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}}
{{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 > < / div >
< / div >
< textarea > {{>song_metadata}}< / textarea >
< / div >
{{/if}}
{{/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 >
< input class = "value" / >
< / div >
< div class = "property property-loader" >
< div class = "key" > {{tr "URL loader:" /}}< / div >
< input class = "value" type = "text" list = "song-loader-list" / >
< datalist id = "song-loader-list" >
< option > YouTube< / option >
< option > FFMpeg< / option >
<!-- <option>ChannelProvider</option> --> <!-- requires a special url, may add a UI with file select? -->
< / 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" >
< div class = "modal-bookmarks" >
2019-04-15 17:11:33 +00:00
< div class = "group_box gb-list" >
2018-12-28 14:39:23 +00:00
< div class = "header" > {{tr "Bookmarks" /}}< / div >
< div class = "content bookmark-list" >
< div class = "list" >
< div class = "entry bookmark" >
< div class = "name" > TeaSpeak official< / div >
< / div >
< / div >
< / div >
< / div >
< div class = "buttons" >
2019-04-15 17:11:33 +00:00
< button class = "button-large btn btn-raised btn-secondary button-create" > {{tr "Create new bookmark/directory" /}}< / button >
< button class = "button-large btn btn-danger button-delete" > {{tr "Delete selected bookmark/directory" /}}< / button >
< button class = "button-small btn btn-raised btn-secondary button-create" > {{tr "Create" /}}< / button >
< button class = "button-small btn btn-danger button-delete" > {{tr "Delete" /}}< / button >
2018-12-28 14:39:23 +00:00
< / div >
< hr >
2019-04-15 17:11:33 +00:00
< div class = "group_box gb-settings" >
2018-12-28 14:39:23 +00:00
< div class = "header" > {{tr "Bookmark settings" /}}< / div >
< div class = "content" >
< div class = "bookmark-setting bookmark-setting-bookmark" >
2019-02-17 15:08:10 +00:00
< div class = "form-group" >
< label for = "input-bookmark-name" class = "bmd-label-static" > {{tr "Bookmark name:" /}}< / label >
< input id = "input-bookmark-name" class = "form-control setting-bookmark-name" >
2018-12-28 14:39:23 +00:00
< / div >
2019-02-17 15:08:10 +00:00
< div class = "form-group" >
< label for = "input-bookmark-profile" class = "bmd-label-static" > {{tr "Connect profile:" /}}< / label >
< select id = "input-bookmark-profile" class = "form-control setting-bookmark-profile" > < / select >
2018-12-28 14:39:23 +00:00
< / div >
< div class = "group_box" >
< div class = "header" > {{tr "Server Properties" /}}< / div >
< div class = "content" >
2019-02-17 15:08:10 +00:00
< div class = "form-group" >
< label for = "input-bookmark-server-host" class = "bmd-label-static" > {{tr "Server address:" /}}< / label >
< input id = "input-bookmark-server-host" class = "form-control setting-server-host" >
2018-12-28 14:39:23 +00:00
< / div >
2019-02-17 15:08:10 +00:00
< div class = "form-group" >
< label for = "input-bookmark-server-port" class = "bmd-label-static" > {{tr "Server port:" /}}< / label >
< input type = "number" min = "1" max = "65665" id = "input-bookmark-server-port" class = "form-control setting-server-port" >
2018-12-28 14:39:23 +00:00
< / div >
2019-02-17 15:08:10 +00:00
< div class = "form-group" >
<!-- TODO generated id because of password field (id="bookmark_server_password_{{rnd '0~13377331'/}}") -->
< label for = "input-bookmark-server-password" class = "bmd-label-floating" > {{tr "Server password" /}}< / label >
< input id = "input-bookmark-server-password" class = "form-control setting-server-password" autocomplete = "nope" type = "password" >
2018-12-28 14:39:23 +00:00
< / div >
< / div >
< / div >
2019-04-15 17:11:33 +00:00
<!--
2018-12-28 14:39:23 +00:00
< div class = "group_box" >
< div class = "header" > {{tr "Connect Properties (Not yet supported)" /}}< / div >
< div class = "content" >
2019-02-17 15:08:10 +00:00
< div class = "form-group" >
< label for = "input-bookmark-username" class = "bmd-label-floating" > {{tr "Default Username" /}}< / label >
< input id = "input-bookmark-username" class = "form-control setting-username" disabled >
2018-12-28 14:39:23 +00:00
< / div >
2019-02-17 15:08:10 +00:00
< div class = "form-row container-default-channel-select" >
< div class = "form-group container-default-channel" >
< label for = "input-bookmark-channel" class = "bmd-label-floating" > {{tr "Default Channel" /}}< / label >
< input id = "input-bookmark-channel" class = "form-control setting-channel" disabled >
< / div >
< div class = "form-group bmd-form-group" >
< button class = "btn btn-primary button-set-to-current" disabled > {{tr "Current Channel" /}}< / button >
2018-12-28 14:39:23 +00:00
< / div >
< / div >
2019-02-17 15:08:10 +00:00
< div class = "form-group" >
2019-04-15 17:11:33 +00:00
<!- TODO generated id because of password field (id="bookmark_server_password_{{rnd '0~13377331'/}}") ->
2019-02-17 15:08:10 +00:00
< label for = "input-bookmark-channel-password" class = "bmd-label-floating" > {{tr "Default channel password" /}}< / label >
< input id = "input-bookmark-channel-password" class = "form-control setting-channel-password" type = "password" disabled >
2018-12-28 14:39:23 +00:00
< / div >
< / div >
< / div >
2019-04-15 17:11:33 +00:00
-->
2018-12-28 14:39:23 +00:00
< / div >
< div class = "bookmark-setting bookmark-setting-directory" >
2019-02-17 15:08:10 +00:00
< div class = "form-group" >
< label for = "input-bookmark-dirname" class = "bmd-label-static" > {{tr "Directory name:" /}}< / label >
< input id = "input-bookmark-dirname" class = "form-control setting-bookmark-name" >
2018-12-28 14:39:23 +00:00
< / div >
< / div >
< / div >
< / div >
< / div >
< / script >
< script class = "jsrender-template" id = "tmpl_manage_bookmarks-list_entry" type = "text/html" >
{{if type == "bookmark" }}
< div class = "entry bookmark" >
< div class = "name" > {{>name}}< / div >
< / div >
{{else type == "directory" }}
< div class = "entry directory" >
< div class = "name" > {{>name}}< / div >
< div class = "members" > < / div >
< / div >
{{/if}}
< / script >
< script class = "jsrender-template" id = "tmpl_manage_bookmarks-create" type = "text/html" >
< div class = "modal-bookmark-create" >
2019-03-25 19:04:04 +00:00
< div class = "form-group" >
< label class = "bmd-label-floating" > {{tr "Bookmark type:" /}}< / label >
< select class = "form-control bookmark-type" >
2018-12-28 14:39:23 +00:00
< option value = "bookmark" > Bookmark< / option >
< option value = "directory" > Directory< / option >
< / select >
< / div >
2019-03-25 19:04:04 +00:00
< div class = "form-group" >
< label class = "bmd-label-floating" > {{tr "Parent directory:" /}}< / label >
< select class = "form-control bookmark-parent" >
2018-12-28 14:39:23 +00:00
< option bookmark-uuid = "" > < / option >
< / select >
< / div >
2019-03-25 19:04:04 +00:00
< div class = "form-group" >
< label class = "bmd-label-floating" > {{tr "Bookmark name" /}}< / label >
< input class = "form-control bookmark-name" >
2018-12-28 14:39:23 +00:00
< / div >
< div class = "buttons" >
2019-03-25 19:04:04 +00:00
< button class = "btn btn-success button-create" > Create< / button >
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" >
< div class = "modal-icon-select" >
< div class = "container-icons" >
< div class = "group_box" >
< div class = "header" > {{tr "Remote" /}}< / div >
< div class = "content" >
< div class = "container-icons-list" >
< div class = "container-icons-remote {{if enable_select}}icon-select{{/if}}" > < / div >
< div class = "container-loading" >
< a > {{tr "loading..." /}}< / a >
< / div >
< div class = "container-no-permissions" >
< a > {{tr "You dont have permissions the view the icons" /}}< / a >
< / div >
< div class = "container-error" >
< a class = "error-message" > {{ŧr "An error occured" /}}< / a >
< / div >
< / div >
<!--
< div class = "container-buttons" >
< button class = "btn btn-success button-upload" > {{tr "Upload" /}}< / button >
< button class = "btn btn-danger button-upload" > {{tr "Delete" /}}< / button >
< / div >
-->
< / div >
< / div >
< div class = "group_box" >
< 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 >
< / div >
< / div >
< 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 >
< / div >
< / script >
< 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 >
< 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 >
2018-02-27 16:20:49 +00:00
< / body >
2019-03-25 19:04:04 +00:00
< / html >
<!--
< script class = "jsrender-template" id = "tmpl_query_manager-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-bound-server" > {{>bounded_server}}< / div >
< / div >
< / script >
< script class = "jsrender-template" id = "tmpl_playlist_list" type = "text/html" >
< div class = "playlist-management" >
< div class = "header" >
< div class = "form-group bmd-form-group buttons" >
< button class = "btn btn-success button button-playlist-create" > {{tr "Create playlist" /}}< / button >
< 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 >
< / div >
< div class = "form-group search" >
< label class = "bmd-label-floating" > {{tr "search" /}}< / label >
< input class = "form-control input input-search" type = "text" >
< / div >
< / 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" >
< / div >
< / 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 >
< / div >
< / div >
< div class = "form-group bmd-form-group" >
< button class = "btn btn-secondary btn-raised button-refresh" > {{tr "Refresh" /}}< / button >
< / div >
< / div >
< / div >
< / div >
< / script >