diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md new file mode 100644 index 000000000..09186bf7d --- /dev/null +++ b/.github/ISSUE_TEMPLATE.md @@ -0,0 +1,8 @@ +Before posting an issue, please search through closed/opened issues to make sure that the answer to your questions hasn't been answered already. + +Please make sure that you have latest theme (19.00) and Webmin (1.852) versions installed. + +Provide the following information: +* What is your server-side OS and its version? +* What is your client-side OS, browser and its versions? +* What are the steps to reproduce the issue? diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 000000000..ceeaab54e --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,29 @@ +## Changelog + +#### Version 19.00 (September 30, 2017) +* Single-page application design delivers you the fastest and smoothest _UX_ you've ever experienced +* Multiple stability and usability enhancements +* Dropped support for _Internet Explorer 11_ [#818](https://github.com/qooob/authentic-theme/issues/818) +* Fixed bugs [#754](https://github.com/qooob/authentic-theme/issues/754) [#786](https://github.com/qooob/authentic-theme/issues/786) [#807](https://github.com/qooob/authentic-theme/issues/807) [#812](https://github.com/qooob/authentic-theme/issues/812) [#822](https://github.com/qooob/authentic-theme/issues/822) [#825](https://github.com/qooob/authentic-theme/issues/825) [#827](https://github.com/qooob/authentic-theme/issues/827) [#832](https://github.com/qooob/authentic-theme/issues/832) [#833](https://github.com/qooob/authentic-theme/issues/833) [#v53082](https://www.virtualmin.com/node/53082) [#v53174](https://www.virtualmin.com/node/53174) [#v53358](https://www.virtualmin.com/node/53358) [#v53722](https://www.virtualmin.com/node/53722) [#c10414](https://forum.configserver.com/viewtopic.php?f=5&t=10414#p28652) + + + +--------------------------------- +  [18.00](https://github.com/qooob/authentic-theme/blob/18/CHANGELOG.md#version-1800-may-26-2016) +  [17.00](https://github.com/qooob/authentic-theme/blob/18/CHANGELOG.md#version-1700-october-11-2015) +  [16.00](https://github.com/qooob/authentic-theme/blob/18/CHANGELOG.md#version-1600-september-18-2015) +  [15.00](https://github.com/qooob/authentic-theme/blob/18/CHANGELOG.md#version-1500-august-23-2015) +  [14.00](https://github.com/qooob/authentic-theme/blob/18/CHANGELOG.md#version-1400-july-21-2015) +  [13.00](https://github.com/qooob/authentic-theme/blob/18/CHANGELOG.md#version-1300-may-24-2015) +  [12.00](https://github.com/qooob/authentic-theme/blob/18/CHANGELOG.md#version-1200-may-3-2015) +  [11.00](https://github.com/qooob/authentic-theme/blob/18/CHANGELOG.md#version-1100-mar-25-2015) +  [10.00](https://github.com/qooob/authentic-theme/blob/18/CHANGELOG.md#version-1000-mar-4-2015) +  [9.00](https://github.com/qooob/authentic-theme/blob/18/CHANGELOG.md#version-900-feb-1-2015) +  [8.00](https://github.com/qooob/authentic-theme/blob/18/CHANGELOG.md#version-800-jan-4-2015) +  [7.00](https://github.com/qooob/authentic-theme/blob/18/CHANGELOG.md#version-700-dec-21-2014) +  [6.00](https://github.com/qooob/authentic-theme/blob/18/CHANGELOG.md#version-600-nov-6-2014) +  [5.00](https://github.com/qooob/authentic-theme/blob/18/CHANGELOG.md#version-500-oct-30-2014) +  [4.00](https://github.com/qooob/authentic-theme/blob/18/CHANGELOG.md#version-400-oct-9-2014) +  [3.00](https://github.com/qooob/authentic-theme/blob/18/CHANGELOG.md#version-300-oct-5-2014) +  [2.00](https://github.com/qooob/authentic-theme/blob/18/CHANGELOG.md#version-200-oct-1-2014) +  [1.00](https://github.com/qooob/authentic-theme/blob/18/CHANGELOG.md#version-100-sep-21-2014) diff --git a/LICENSE b/LICENSE new file mode 100644 index 000000000..bbf309a86 --- /dev/null +++ b/LICENSE @@ -0,0 +1,23 @@ +The MIT License (MIT) + +Copyright (c) Ilia Rostovtsev + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + diff --git a/README.md b/README.md new file mode 100644 index 000000000..a46cb9b72 --- /dev/null +++ b/README.md @@ -0,0 +1,107 @@ +## Contents +* [Changelog](https://github.com/qooob/authentic-theme/blob/master/CHANGELOG.md) +* [Download![](https://rostovtsev.ru/pub/media/icons/download-23x14.png)](https://github.com/qooob/authentic-theme/releases) +* [About](#about) +* [FAQ](#faq) +* [Development](#development) +* [Donate![](https://rostovtsev.ru/pub/media/icons/heart-23x15.png)](https://github.com/qooob/authentic-theme#donation) +* [License](#license) + +## About +**Authentic Theme** is modern, ultrafast single-page application for [Webmin/](https://github.com/webmin/webmin)[Usermin](https://github.com/webmin/usermin) that is made with _love_. Managing servers, operating systems and applications has never been so easy. + +![](https://rostovtsev.ru/pub/media/screenshots/19.00-1.gif) +![](https://rostovtsev.ru/pub/media/screenshots/screenshot-pallets-1710.png) + +### Features +* Configurable theme options using _Webmin_/_Usermin_ UI, with ability to embed user logos, custom styles and scripts +* Code highlight when viewing and editing files +* Drop-down terminal interface for _Command Shell_ module +* Hotkeys and favorites for quicker access +* Notification slider for instant access to pushed system messages +* Extended support for _File Manager_ and _ConfigServer Security & Firewall_ modules + +### Requirements +* Webmin _1.850+_ (required), Usermin _1.720+_ (optional), Virtualmin _6.00+_ (optional), Cloudmin _9.20+_ (optional) + +### Recommended modules +* Installed _Net::SSLeay_ module, to make automatic update notifications work + +### Supported browsers + +###### ![](https://rostovtsev.ru/pub/media/icons/chrome-16.png) Chrome 60+ (recommended) + +###### ![](https://rostovtsev.ru/pub/media/icons/firefox-16.png) Firefox 56+ + +###### ![](https://rostovtsev.ru/pub/media/icons/safari-16.png) Safari 11+ + +###### ![](https://rostovtsev.ru/pub/media/icons/opera-16.png) Opera 46+ + +###### ![](https://rostovtsev.ru/pub/media/icons/edge-16.png) Edge 40+ + + +## FAQ + +### How to update _Authentic_ Theme manually? +Go to theme configuration and hit _Force update theme_ button to install either _stable_ or _production_ version of the theme. + +### How to update _Authentic_ Theme automatically? +The theme has built-in feature to notify administrative users to install updates. To enable this feature, turn on _Check for Authentic Theme updates_ in theme configuration. + +### How do I customize the theme? +Theme has configurable options. There, as well, you can upload custom _logos_ and code custom _styles.css_, _scripts.js_ and _scripts.pm_. + +### How do I execute shell command using search field? +Type `!` in search, followed by your command. Example: `!ls /root`. It's required to have _Command Shell_ module available. + + +## Extended support for bundled/third-party modules + +### _File Manager_ +Theme has great support for this module, by adding numerous must-have features, which enables you to use _File Manager_ just as normal desktop browser. + +### _ConfigServer Security & Firewall_ +Theme only re-renders this module and adds support for code highlight, when editing files manually. + +## Development +### Lead developer +* [Ilia Rostovtsev](https://rostovtsev.ru) [![](https://rostovtsev.ru/pub/media/icons/stackoverflow-18x17.jpg)](http://stackoverflow.com/users/1455661/ilia-rostovtsev) + +### Contributions + +#### Code +* [Jamie Cameron](https://www.linkedin.com/in/jamiecameron2/) +* [Joe Cooper](https://www.linkedin.com/in/swelljoe/) + +#### Translations +* [Richard van Laak](https://github.com/Rvanlaak) (Dutch) +* [MichaƂ Pawlik](https://github.com/majk-p) (Polish) +* [Kay Marquardt](https://github.com/gnadelwartz), [Michael Keck](https://github.com/mkkeck) (German) +* [Silviu-Ionut Radu](https://github.com/sealview) (Romanian) +* [Ilia Rostovtsev](https://github.com/qooob) (Russian) +* [David Canalias](https://github.com/diathesaron) (Catalan) +* [Sopor Spr](https://github.com/Sopor-) (Swedish) +* [7stars](https://github.com/7starsone) (Spanish, French, Portuguese) +* [miyorineko](https://github.com/miyorineko), [dreista](https://github.com/Dreista) (Chinese) +* [jlndk](https://github.com/jlndk) (Danish) +* [stuchy3](https://github.com/stuchy3) (Czech) +* [Samsul Ma'arif](https://github.com/samsulmaarif) (Indonesian) +* [Adalen Vladi](https://github.com/adalenv) (Albanian) +* Stein-Aksel Basma, [Kjetil Elde](https://github.com/w00p) (Norwegian) + +## Donate + It takes countless hours to develop and maintain this project. Donations show appreciation. Your donation would help me to pay my bills and _excite future development_. + +[![](https://rostovtsev.ru/pub/media/icons/bitcoin-175-207-2.png)](http://rostovtsev.ru/pub/api/donation/bitcoin.html) +
+[![](https://rostovtsev.ru/pub/media/icons/litecoin-175-42-1.png)](http://rostovtsev.ru/pub/api/donation/litecoin.html) +
+[![](https://rostovtsev.ru/pub/media/icons/ethereum-175-42-5.png)](http://rostovtsev.ru/pub/api/donation/ethereum.html) +
+![](http://rostovtsev.ru/pub/media/icons/paypal-175x45.png) +
+[![](https://rostovtsev.ru/pub/media/icons/yandex-175x38.png)](http://rostovtsev.ru/pub/api/donation/yandex.html) + +## License + +**Authentic Theme** is released under the [MIT License](https://github.com/qooob/authentic-theme/blob/master/LICENSE). diff --git a/THEME.pgp b/THEME.pgp new file mode 100644 index 000000000..2eecf973e --- /dev/null +++ b/THEME.pgp @@ -0,0 +1,52 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +mQINBFjrwlsBEACkQA1lrTQH2ugCeQdWgDshzTyDs3iqRXxDdAj7H49PXf7GlSME +ojXnY8N9nD1txdpehEN6s48yzy7E29plQOwX0RSnSPJkLQNJ0GGQuqcI4mUrxh1B +pDa6+D9BXWQ8gNZX+pQZIcR1mkCdpWlgL9gEPCiJO142cycfpdKkOtFoqvSLwpZf +ACTKsLtv7D3ko1cnqC+vRNFhBkibI3Sz8CuimlBq7lud5PPFIxKlKsd+A1CM+6Uu +KatJxv2Na3UsPK8LYFM68G1r2ACHVI2RI4zOLUpP8s00q8M2yIjE4N/2jAUxtTR2 +QqV9bUdv39F5riJk5qbGb1l0HJnyg6t/y/JmcEEzbw17woeLPquDeIzzKAcyJWur +JkyD0POkPXmsPO6G+M9Te4GMttR921/sOEQ97ws2kVoVUfu/dq4tA4uWlPzmogLF +wAMeKZRhslMCJWMp0NtccD687ZIBLv/5SoXpDhyq9ee2u6Zy2914rtXltfg9becr +y6rX8V9sc4tZzja+KChXXE9qno4r2D3WijwVstiHqUNQmTtXM8lodqaXnPPqu1Ld +aPKGTDDD/DOiwPQshdRLjABUCskeQmzZJmRarp5C3gtdm9sp7FdeiLJhFaDeJ0I1 +hYJKZ3NI5LDw7mCava5Kwy+mM9QVGCjgjFZWrjW9dHIUIEXNU2q7+1hgZQARAQAB +tCRJbGlhIFJvc3RvdnRzZXYgPGlsaWFAcm9zdG92dHNldi5ydT6JAjgEEwECACIF +AljrwlsCGwMGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEBIeFm3ZyCGr/ZUQ +AJM4hQ+P/oqM/eUYUSwklCrvxBpNNUcwQevC9uD42I2Dzk+ZQ1BwTOCHkHfW//6u +64P4nmPGpz7qarw2bcWqX15K+TXUFLmGc1kdxVHwZRFfQlIUtL4sOymED7fKqObS +oo20LkknrhdWCXQdQvUWL41519Mhi5JsJbMJIKxAwcHsFsfzbvRc8swIX3TVH8Qq +yqCt/6IfYJ18BEi467uMN05BDxJDZmMxV5dMtmi2Msxu9V+Ey8IRhBwSpCKeLsPB +dS1SAPv7YRVXVtBdskxWrAJNk320u8NY7q/QLxpKXE9oWCP6Jh7PivlS/J+5ff6Z +OXhyuprSpmOE4tq7S/6czc0iFc326geEwSZU7KwY5h5YfrfSteT0OyWoBuKTUFCm +UUyUTpa+FufB65zE0JrOmjNe5h3k2Gp7QbW+MY8E4tjNwK00+8n3udBiNLyH21Li +YpCbzI8z+i4+AvF0N+x0vaegVLAp5veWFjnSTh8slsbzqtsyIvHgSjRJFTv8ZXVo +8XG9C0YFoqBU3Y1qEjNpgIEVXi1IZZ3iy+zpTUUbAAOR8xlmlgRDRBgnH4S/yP3t +zEutZjh89eH3lFSO71GRO0eARQuSI1JSmwvOn8u2Yy+KqM6lUnVK1cAvo7Us+9Mp +6wSZSWHSjBPeXZVH64eMuhtFDcomGepx4PSHkHh3YIVwuQINBFjrwlsBEACfe+3V +72r+4JB2kg/CQGbhb1Spc9ifPiHerkkxk5OS1aa0F7iBTVEwy7xZb6DSvVh0C4Me +A9hPXt9ZhgMAfuWLh4qMeTP6JNMIDCo5Aan07XNbTHHCpr9z7pFpydCLmH7tqkWL +OOTla08anQpoHGzfkQDFM9h8/i5rg8oyz3kjA0JwZgdbDATt0qPrWZTNzIrL/Eaf +cSoeH1siT/hVnXw7ldqyzgjGxDp2EclpA1dUhU6cmFNgoZtiZWCl3uyNDIkn4a/6 +NN0QS9qjXtRJ6sIvBRGpyZgHu0J+ODwxqDTEPQMJa0l0bk9vLIjnTRgQ3a/Z3HjF +Hj8IkQMefT4QvmqoZCltoGPJY6t3JDeXQMX0qSu3omJhtGopKVxdUs0wYEjPQIU+ +7G0bQPxpoyu02B0pPLprnQLATZJf1rq5kfEnK9b0VB7YuT4snrenU+oyE5jf/SX4 +FKidS3AZVhI2xIsS5unVIE87MI4lp0ZjApvhc5FMCQU5Wm3UKplfyRkLQm6NOuMf +l3A/uJI2T49b7sL8Zkpum/LFApiVMsElPh3gqIcFf/xgpg9rAvCsKRoV18vWWxZA +bqhUJO83L4O/je+KLehIXlRbnza2pQSYxrx1VYr21fPUP58FPyr/7IuVVlevh2aZ +oTgx2GFvzSff0MbGrQ+mKNUrJqoXdtSu8dp5GQARAQABiQIfBBgBAgAJBQJY68Jb +AhsMAAoJEBIeFm3ZyCGr+MUP/3b/B1vWbbpKhDbWwDeNHINHrzzO71x+sKagaitT +nAcYkLxxULLGn3xvtdZWPr4jF0LZd7KYyF1l6yoecqdDE8NneNZ1Aqq8ukLYKkOq +brngH0nKOdgXayAvqyuLc8VbsPFixjlAjq4GNit4zneI8+dy47D5mZ7Avx4I0MVl +QhNo6SqIegskZvG4LaNpGKFV3QoXXkTCJfdM/osTmwo1KM8EtTUlDLf59EZvBJxz +oXnKESDIYm9a2NT/DUtaU14KVTzr9lYTQxR56NP76xN+FKuVsBLbdNp4PQ5K2KMe +aai9RLtwWUKhpuXeT6sT7gIe9MRLCzLR5UyTnChrW40TddBzQ6OmezEKBgqsG3Ke +vn3woXOamjJxKSZlLgUElyY+BijABBx5Wxd8lA1yIaNbkKYBvf7olQ0At2xY05s9 +16XgCpOweYkkjZEmOfbyioYgUj9nn+fz9HpxT3Ag1HMKaY571gmT71V3q78Y4LJ+ +I1r7dq45MKoTqO2+nuPAjjxOp3dprBChkyXpukx2udXG3aPncYI3Npcn3Oi7PKsJ +MMWuifl4006F5imms19cH+UBFx/fSa00ENR1spL5NFvf4E0uY9VgfvGKv7aF1DTg +1MrwjaM0aVu0S76NCI4v5cw/cU72Y0471nOU52bCeOTQF8/KP7zRl3im7qa/DFNA +f4W8 +=A+Dy +-----END PGP PUBLIC KEY BLOCK----- + diff --git a/VERSION.txt b/VERSION.txt new file mode 100644 index 000000000..6bf67c192 --- /dev/null +++ b/VERSION.txt @@ -0,0 +1 @@ +19.00 diff --git a/authentic-init.pm b/authentic-init.pm new file mode 100644 index 000000000..530fa89c1 --- /dev/null +++ b/authentic-init.pm @@ -0,0 +1,1076 @@ +# +# Authentic Theme (https://github.com/qooob/authentic-theme) +# Copyright Ilia Rostovtsev +# Licensed under MIT (https://github.com/qooob/authentic-theme/blob/master/LICENSE) +# + +init_vars(); +init_funcs(); + +sub settings +{ + my ($f, $e) = @_; + my %c; + if (-r $f) { + my $k = read_file_contents($f); + my %k = $k =~ /(.*?)=(.*)/g; + delete @k{ grep(!/^$e/, keys %k) }; + foreach $s (keys %k) { + $k{$s} =~ s/^[^']*\K'|'(?=[^']*$)|;(?=[^;]*$)//g; + $k{$s} =~ s/\\'/'/g; + $c{$s} .= $k{$s}; + } + return %c; + } else { + return %c; + } +} + +sub settings_filter +{ + my (%in_data) = @_; + + delete @in_data{ grep(!/^config_portable_|^settings_/, keys %in_data) }; + delete @in_data{ grep(!m/^\w*$/, keys %in_data) }; + for (values %in_data) {s/(.*)/'$1';/} + for (values %in_data) {s/\$|`*//g} + for (values %in_data) {s/<\n"; + print '', "\n"; + print ' ', "\n"; + if ($t_uri__i =~ /xnavigation=1/) { + print ' '; + exit; + } + print ' ', "\n"; + print ' ', $args[0], '', "\n"; + print ' ' . "\n"; + print ' ' . "\n"; + + ($args[1] && (print($args[1] . "\n"))); + + if (get_stripped()) { + print ''; + return; + } + + my @css = ('bootstrap', 'fontawesome-animation', 'fontbase', 'jquery.scrollbar', + 'jquery.autocomplete', 'codemirror', 'nprogress', 'messenger', + 'select2', 'bootstrap.tagsinput', 'datepicker', 'jquery.datatables', + 'authentic'); + + my @js = ('timeplot', 'jquery', 'bootstrap', 'jquery.scrollintoview', + 'bootbox', 'bootstrap.tagsinput', 'datepicker', 'fileinput', + 'jquery.datatables', 'jquery.datatables.plugins', 'jquery.easypiechart', 'clipboard', + 'contextmenu', 'pjax', 'jquery.scrollbar', 'jquery.autocomplete', + 'codemirror', 'momentjs', 'favico', 'select2', + 'jquery.purl', 'jquery.injectCSS', 'jquery.mobile', 'transition', + 'nprogress', 'messenger', 'sortable', 'authentic-core', + 'authentic-objs', 'authentic-funcs', 'authentic'); + + if ($args[3] eq '1') { + + if ($args[2] eq 'debug') { + foreach my $css (@css) { + print ' ' . "\n"; + } + embed_css_fonts(); + } else { + + embed_css_bundle(); + } + + embed_css_night_rider(); + + embed_styles(0); + embed_settings(); + + if ($args[2] eq 'debug') { + foreach my $js (@js) { + + if (is_st_p() && + $js eq 'timeplot') + { + next; + } + + print ' ' . "\n"; + } + } else { + embed_js_bundle(); + } + } else { + + if ($args[2] eq 'debug') { + foreach my $css (@css) { + print ' ' . "\n"; + } + embed_css_fonts(); + } else { + embed_css_bundle(); + } + + embed_css_night_rider(); + + if ((length $__settings{'settings_navigation_color'} && $__settings{'settings_navigation_color'} ne 'blue') || + theme_night_mode()) + { + print ' ' . "\n"; + + } + + embed_styles(1); + embed_settings(); + + if ($args[2] eq 'debug') { + foreach my $js (@js) { + + if (is_st_p() && + $js eq 'timeplot') + { + next; + } + + print ' ' . "\n"; + } + } else { + embed_js_bundle(); + } + + } + embed_js_scripts(); + print '', "\n"; +} + +sub embed_settings +{ + my $str_unauthenticated = "unauthenticated"; + my $str_settings = "settings"; + my $str_js = "js"; + my $cur_time = time(); + my $global_config_file = ($config_directory . "/" . $current_theme . "/" . $str_settings . "." . $str_js); + my $user_config_file = (get_tuconfig_file()); + my $js_directory = "/" . $current_theme . "/" . $str_unauthenticated . "/" . $str_js; + my $js_root_directory = ($root_directory . $js_directory); + + # Global configuration + if (-r $global_config_file) { + + copy_source_dest($global_config_file, $js_root_directory); + print ' ' . "\n"; + } elsif (-r $js_root_directory . "/" . $str_settings . "." . $str_js && !-r $global_config_file) { + unlink $js_root_directory . "/" . $str_settings . "." . $str_js; + } + + # User configuration + if (-r $user_config_file) { + + copy_source_dest($user_config_file, $js_root_directory . "/" . $str_settings . "_" . $remote_user . "." . $str_js); + print ' ' . "\n"; + } elsif (-r $js_root_directory . "/" . $str_settings . "_" . $remote_user . "." . $str_js && + !-r $user_config_file) + { + unlink $js_root_directory . "/" . $str_settings . "_" . $remote_user . "." . $str_js; + } +} + +sub embed_styles +{ + my ($force) = @_; + if (-r $config_directory . "/$current_theme/styles.css") { + if ($force || + (-s $config_directory . + "/$current_theme/styles.css" ne -s $root_directory . "/$current_theme/unauthenticated/css/styles.css")) + { + copy_source_dest($config_directory . "/$current_theme/styles.css", + $root_directory . "/$current_theme/unauthenticated/css"); + } + print ' ' . "\n"; + } elsif (-r $root_directory . "/$current_theme/unauthenticated/css/styles.css" && + !-r $config_directory . "/$current_theme/styles.css") + { + unlink $root_directory . "/$current_theme/unauthenticated/css/styles.css"; + } +} + +sub embed_pm_scripts +{ + my $scripts = $config_directory . "/$current_theme/scripts.pm"; + if (-r $scripts && -s $scripts) { + require $scripts; + } +} + +sub embed_css_fonts +{ + + if (!$__settings{'settings_font_family'} || $__settings{'settings_font_family'} eq 'undefined') { + print ' ' . "\n"; + } elsif ($__settings{'settings_font_family'} != '1') { + print ' ' . "\n"; + } +} + +sub embed_css_bundle +{ + print ' ' . "\n"; + embed_css_fonts(); +} + +sub embed_css_night_rider +{ + if (theme_night_mode()) { + print ' ' . "\n"; + } +} + +sub embed_css_content_palette +{ + if (theme_night_mode()) { + print ' ' . "\n"; + } +} + +sub embed_js_timeplot +{ + print ' ' . "\n"; +} + +sub embed_js_bundle +{ + print ' ' . "\n"; +} + +sub embed_js_scripts +{ + + (get_stripped() && return); + + if (-r $config_directory . "/$current_theme/scripts.js" && -s $config_directory . "/$current_theme/scripts.js") { + copy_source_dest($config_directory . "/$current_theme/scripts.js", + $root_directory . "/$current_theme/unauthenticated/js"); + print ' ' . "\n"; + } else { + unlink $root_directory . "/$current_theme/unauthenticated/js/scripts.js"; + } +} + +sub embed_footer +{ + my (@args) = @_; + + (get_stripped() && return); + + if (get_env('script_name') !~ /session_login.cgi/ && + get_env('script_name') !~ /pam_login.cgi/ && + get_env('script_name') !~ /password_form.cgi/ && + get_env('script_name') !~ /password_change.cgi/) + { + + # Load `MySQL/PostgreSQL` specific scripts + if (get_module_name() =~ /mysql/ || + get_module_name() =~ /postgresql/) + { + print ' ' . "\n"; + } + + # Load `File Manager` specific scripts + if (get_module_name() =~ /file-manager/ || + get_module_name() =~ /filemin/) + { + print ' ' . "\n"; + } + + } +} + +sub is_st_p +{ + return ($t_uri__i !~ /\/virtual-server\/pro\/history.cgi/ && + $t_uri__i !~ /\/server-manager\/bwgraph.cgi/ && + $t_uri__i !~ /\/server-manager\/history.cgi/ && + $t_uri__i !~ /\/server-manager\/one_history.cgi/) ? + 1 : + 0; +} + +sub Atext +{ + + my $rv = $Atext{ $_[0] }; + $rv =~ s/\$(\d+)/$1 < @_ ? $_[$1] : '$'.$1/ge; + return $rv; +} + +sub init_vars +{ + + our $t_uri__i = get_env('request_uri'); + our %__settings = (settings_default(), + settings($config_directory . "/$current_theme/settings.js", 'settings_'), + settings(get_tuconfig_file(), 'settings_')); + our (%text, %in, %gconfig, $current_theme, $root_directory, $theme_root_directory, $t_var_switch_m, $t_var_product_m); + + our %Atext = (&load_language($current_theme), %Atext); + + if ($t_uri__i =~ /sysinfo.cgi/) { + our %Atext = (&load_language('virtual-server'), %Atext); + our %Atext = (&load_language('server-manager'), %Atext); + } + + our ($has_virtualmin, $get_user_level, $has_cloudmin) = get_user_level(); + + our $t_uri__x = get_env('script_name'); + our $t_uri___i; + our $t_uri____i; + + our %gaccess = &get_module_acl(); + our $title = &get_html_framed_title(); + our %cookies = get_cookies(); + + our ($t_var_switch_m, $t_var_product_m) = get_swith_mode(); +} + +sub init_funcs +{ + + # Embed debug functions + if (theme_mode() eq 'debug') { + require "$root_directory/$current_theme/.debug.pm"; + } +} + +sub licenses +{ + my ($id) = @_; + if (&foreign_available("virtual-server") && $id eq "vm") { + my %virtualmin = &get_module_info("virtual-server"); + if ($virtualmin{'version'} =~ /gpl/igs) { + return 0; + } else { + return 1; + } + } elsif (&foreign_available("server-manager") && $id eq "cm") { + my %cloudmin = &get_module_info("server-manager"); + if ($cloudmin{'version'} =~ /gpl/igs) { + return 0; + } else { + return 1; + } + } else { + return 0; + } +} + +sub usermin_available +{ + my ($_module) = @_; + $_module = ($_module ? ($_module eq '__version' ? $_module : ('/' . $_module)) : undef); + $__usermin_root = $root_directory; + $__usermin_root =~ s/webmin/usermin/; + $__usermin_config = $config_directory; + $__usermin_config =~ s/webmin/usermin/; + + if (!-d $__usermin_config . '/' . $current_theme) { + mkdir($__usermin_config . '/' . $current_theme, 0755); + } + + if ((-r $__usermin_root . $_module || $_module eq '__version') && + -r $__usermin_root . '/web-lib-funcs.pl') + { + my $usermin_version = read_file_lines($__usermin_config . '/version', 1)->[0]; + return ($_module eq '__version' ? $usermin_version : 1); + } else { + return 0; + } + +} + +sub dashboard_switch +{ + if (!&foreign_available("virtual-server") && + !&foreign_available("server-manager") && + &get_product_name() ne 'usermin') + { + return 1; + } else { + return 0; + } +} + +sub get_current_user_language +{ + return + substr( + ($gconfig{ 'lang' . '_' . $base_remote_user } ? $gconfig{ 'lang' . '_' . $base_remote_user } : + $gconfig{'lang'} + ), + 0, 2); +} + +sub get_filters +{ + my ($type) = @_; + return foreign_available('webmin') ? + '-webkit-filter: grayscale(' . $__settings{ 'settings_grayscale_level_' . $type . '' } . + ') ' . ($type eq 'navigation' && 'sepia(' . $__settings{ 'settings_sepia_level_' . $type . '' } . ')') . + ' saturate(' . $__settings{ 'settings_saturate_level_' . $type . '' } . + ') hue-rotate(' . $__settings{ 'settings_hue_level_' . $type . '' } . 'deg)' . ($type eq 'navigation' && + ' invert(' . $__settings{ 'settings_invert_level_' . $type . '' } . + ') brightness(' . $__settings{ 'settings_brightness_level_' . $type . '' } . + ') contrast(' . $__settings{ 'settings_contrast_level_' . $type . '' } . ')') . + '; filter: grayscale(' . $__settings{ 'settings_grayscale_level_' . $type . '' } . + ') ' . ($type eq 'navigation' && 'sepia(' . $__settings{ 'settings_sepia_level_' . $type . '' } . ')') . + ' saturate(' . $__settings{ 'settings_saturate_level_' . $type . '' } . + ') hue-rotate(' . $__settings{ 'settings_hue_level_' . $type . '' } . 'deg)' . ($type eq 'navigation' && + ' invert(' . $__settings{ 'settings_invert_level_' . $type . '' } . + ') brightness(' . $__settings{ 'settings_brightness_level_' . $type . '' } . + ') contrast(' . $__settings{ 'settings_contrast_level_' . $type . '' } . ')') . + ';' : + undef; +} + +sub get_user_level +{ + my ($a, $b, $c); + $b = &foreign_available("server-manager"); + $a = &foreign_available("virtual-server"); + if ($b) { + &foreign_require("server-manager", "server-manager-lib.pl"); + } + if ($a) { + &foreign_require("virtual-server", "virtual-server-lib.pl"); + } + if ($b) { + $c = $server_manager::access{'owner'} ? 4 : 0; + } elsif ($a) { + $c = + &virtual_server::master_admin() ? 0 : + &virtual_server::reseller_admin() ? 1 : + 2; + } elsif (&get_product_name() eq "usermin") { + $c = 3; + } else { + $c = 0; + } + return ($a, $c, $b); +} + +sub get_initial_wizard +{ + # Going to Post-Installation Wizard + if ($get_user_level eq '0') { + our %virtualmin_config = foreign_config('virtual-server'); + if ($virtualmin_config{'wizard_run'} ne '1') { + return 1; + } + } + return 0; +} + +sub get_button_style +{ + my ($mod, $label) = @_; + + my %_lang = reverse load_language($mod); + my $entry = $_lang{ "e_escape($label) }; + + my $class = "default"; + my $icon = ''; + + if ($entry eq 'edit_createnow' || $entry eq 'edit_savenow') { + $icon =~ s/%icon/backup fa-1_25x/ig; + } elsif ($entry =~ /save/ || + $entry eq 'backup_ok2' || + $entry eq 'sharedips_ok' || + $entry eq 'categories_ok' || + $entry eq 'frame_ok' || + $entry eq 'newquotas_ok' || + $entry eq 'newdynip_ok') + { + $class = "success "; + $icon =~ s/%icon/check-circle/ig; + } elsif ($entry eq 'form_ok') { + $class = "success "; + $icon =~ s/%icon/check-circle/ig; + } elsif ($entry =~ /apply/) { + $class = "info "; + $icon =~ s/%icon/check-circle-o/ig; + } elsif ($entry =~ /update/ || + $entry =~ /index_sync/) + { + $class = "info "; + $icon =~ s/%icon/refresh/ig; + } elsif (($entry =~ /delete/ && $entry ne 'users_delete') || + $entry =~ /wipe/ || + $entry =~ /ddrop_ok/ || + $entry =~ /dbs_dok/ || + $entry =~ /tprivs_dok/ || + $entry =~ /hosts_dok/ || + $entry =~ /cprivs_dok/ || + $entry =~ /dbase_drop/ || + $entry =~ /ddrop_title/ || + $entry =~ /dbase_delete2/ || + $entry =~ /table_drop/ || + $entry =~ /tdrop_title/ || + $entry =~ /tdrop_ok/ || + $entry =~ /index_drops/ || + $entry =~ /delq_confirm/ || + $entry =~ /umass_del2/ || + $entry =~ /index_gmass/ || + $entry eq 'html_dtitle') + { + $class = "danger "; + + $icon =~ s/%icon/times-circle/ig; + } elsif ($entry =~ /twofactor_enable/) { + $class = "info "; + $icon =~ s/%icon/lock/ig; + } elsif ($entry =~ /twofactor_disable/) { + $class = "warning "; + $icon =~ s/%icon/unlock/ig; + } elsif (($entry =~ /install/ || $entry =~ /recsok/ || $entry eq 'scripts_iok' || $entry eq 'right_upok') && + $entry !~ /uninstall/) + { + $class = "success "; + $icon =~ s/%icon/package-install fa-1_25x/ig; + } elsif ($entry =~ /uninstall/ || $entry eq 'drecs_ok') { + $class = "danger "; + $icon =~ s/%icon/times-circle-o/ig; + } elsif ($entry =~ /upgrade/) { + $class = "info "; + $icon =~ s/%icon/update/ig; + } elsif ($entry =~ /index_srefresh/) { + $icon =~ s/%icon/user-md/ig; + } elsif ($entry =~ /quota/) { + $icon =~ s/%icon/pie-chart/ig; + } elsif ($entry =~ /addboot/ || + $entry =~ /enable/ || + $entry eq 'massdomains_enaok') + { + $icon =~ s/%icon/toggle-switch fa-1_25x/ig; + } elsif ($entry =~ /shutdown/) { + $icon =~ s/%icon/power-off/ig; + } elsif ($entry =~ /docker_reg/) { + $icon =~ s/%icon/check-circle-o/ig; + } elsif ($entry eq 'tmpl_nprev' || $entry eq 'wizard_prev') { + $icon =~ s/%icon/arrow-circle-o-left/ig; + } elsif ($entry eq 'tmpl_nnext' || + $entry eq 'wizard_next' || + $entry eq 'tmpl_cnext' || + $entry eq 'tmpl_snext' || + $entry eq 'download_cont') + { + $icon =~ s/%icon/arrow-circle-o-right/ig; + } elsif ($entry =~ /cancel/) { + $icon =~ s/%icon/times-circle-o/ig; + } elsif ($entry eq 'ticket_submit') { + $icon =~ s/%icon/question-circle/ig; + } elsif ($entry eq 'passwd_change') { + $icon =~ s/%icon/key-li/ig; + } elsif ($entry eq 'newnotify_ok') { + $icon =~ s/%icon/send fa-1_25x/ig; + } elsif ($entry eq 'nf_seen') { + $icon =~ s/%icon/clear-all fa-1_25x/ig; + } elsif ($entry =~ /history_ok/) { + $icon =~ s/%icon/area-chart/ig; + } elsif ($entry =~ /edit_open/) { + $icon =~ s/%icon/files-o/ig; + } elsif ($entry =~ /reboot/ || + $entry eq 'view_refresh' || + $entry =~ /refreshmods_title/ || + $entry eq 'index_buttinit') + { + if ($entry =~ /refreshmods_title/) { + $class = "primary "; + } elsif ($entry ne 'reboot_ok' && $entry ne 'index_reboot' || + $entry eq 'index_buttinit') + { + $class = "warning "; + } + $icon =~ s/%icon/refresh-fi fa-1_25x/ig; + } elsif ($entry =~ /search/ || + $entry =~ /index_broad/ || + $entry eq 'scripts_findok' || + $entry eq 'kill_title') + { + $class = "info "; + $icon =~ s/%icon/search/ig; + } elsif ($entry =~ /restart/ || $entry eq 'edit_kill') { + $class = "warning "; + $icon =~ s/%icon/refresh/ig; + } elsif ($entry eq "ddrop_empty") { + $class = "warning "; + $icon =~ s/%icon/times-circle-o/ig; + } elsif ($entry =~ /start/) { + $class = "success "; + $icon =~ s/%icon/play/ig; + } elsif ($entry =~ /index_stop/ || + $entry =~ /edit_stopnow/) + { + $class = "danger "; + $icon =~ s/%icon/stop/ig; + } elsif ($entry =~ /ok_ok/) { + $icon =~ s/%icon/check-square-o/ig; + $class = "success "; + } elsif ($entry =~ /index_delboot/) { + $class = "grey "; + $icon =~ s/%icon/toggle-switch-off fa-1_25x/ig; + } elsif ($entry =~ /index_refsel/ || + $entry eq 'index_reset' || + $entry eq 'index_regen' || + $entry eq 'index_reload') + { + $class = "warning "; + $icon =~ s/%icon/refresh/ig; + } elsif ($entry eq 'index_script') { + $icon =~ s/%icon/update/ig; + } elsif ($entry =~ /status/) { + $icon =~ s/%icon/info-circle/ig; + } elsif ($entry eq 'index_clear' || $entry eq 'shell_clear') { + $icon =~ s/%icon/history/ig; + } elsif ($entry eq 'index_clearcmds' || $entry eq 'shell_clearcmds') { + $icon =~ s/%icon/broom fa-1_25x/ig; + } elsif ($entry eq 'index_boot' || + $entry eq 'index_bootup' || + $entry eq 'index_atboot' || + $entry eq 'massdomains_disok' || + $entry =~ /disable/) + { + $icon =~ s/%icon/toggle-switch-off fa-1_25x/ig; + } elsif ($entry =~ /index_global/ || + $entry eq 'umass_ok' || + $entry eq 'vars_edit' || + $entry eq 'lusers_mass' || + $entry eq 'root_ok' || + $entry eq 'index_edit') + { + $class = "primary "; + $icon =~ s/%icon/pencil-square-o/ig; + } elsif ($entry =~ /clone/) { + $icon =~ s/%icon/clone/ig; + } elsif ($entry =~ /index_tmpls/) { + $icon =~ s/%icon/table-edit fa-1_25x/ig; + } elsif ($entry =~ /index_sched/ || + $entry =~ /sched_title/) + { + if ($entry =~ /sched_title/) { + $class = "primary "; + } + $icon =~ s/%icon/clock/ig; + } elsif ($entry =~ /uedit_mail/) { + $icon =~ s/%icon/envelope/ig; + } elsif ($entry =~ /uedit_swit/ || $entry eq 'user_switch') { + $icon =~ s/%icon/webmin/ig; + } elsif ($entry =~ /uedit_logins/ || + $entry =~ /index_logins/ || + $entry eq 'login_enable') + { + $icon =~ s/%icon/key/ig; + } elsif ($entry =~ /index_who/) { + $icon =~ s/%icon/sign-in/ig; + } elsif ($entry eq 'dbase_add' || $entry eq 'databases_import') { + $class = "success "; + $icon =~ s/%icon/database-plus fa-1_25x/ig; + } + elsif (($entry =~ /add/ && $entry ne 'dbase_addview' && $entry ne 'edit_addinc') || + ($entry =~ /create/ && + $entry ne 'user_priv_create_view') || + $entry =~ /index_crnow/ || + $entry eq 'view_new' || + $entry eq 'mass_ok' || + $entry eq 'rmass_ok') + { + $class = "success "; + $icon =~ s/%icon/plus-circle/ig; + } elsif ($entry =~ /force_title/ || + $entry =~ /index_force/) + { + $class = "warning "; + $icon =~ s/%icon/rotate-3d fa-1_25x margined-left--3 margined-right--3/ig; + } elsif ($entry =~ /csv/) { + $icon =~ s/%icon/export/ig; + } elsif ($entry eq 'backup_title' || + $entry eq 'dbase_backup' || + $entry eq 'backup_ok' || + $entry eq 'backup_now') + { + $icon =~ s/%icon/backup fa-1_25x/ig; + } elsif ($entry =~ /dbase_exec/ || + $entry =~ /exec_exec/ || + $entry =~ /user_priv_execute/ || + $entry =~ /exec_title/ || + $entry =~ /exec_tabexec/) + { + $icon =~ s/%icon/database/ig; + } elsif ($entry =~ /create_view/ || + $entry =~ /addview/ || + $entry eq "view_title1") + { + $icon =~ s/%icon/list/ig; + } elsif ($entry eq 'table_data') { + $icon =~ s/%icon/database-outline/ig; + } elsif ($entry eq 'index_title1' || $entry eq 'table_index') { + $icon =~ s/%icon/key-plus fa-1_25x/ig; + } elsif ($entry eq 'transfer_transferok') { + $icon =~ s/%icon/transform fa-1_25x/ig; + } elsif ($entry eq 'transfer_uploadok' || + $entry eq 'transfer_tabupload' || + $entry eq 'html_uploadok') + { + $class = "primary "; + $icon =~ s/%icon/upload/ig; + } elsif ($entry eq 'index_down' || $entry eq 'transfer_downloadok') { + $class = "primary "; + $icon =~ s/%icon/download/ig; + } elsif ($entry eq 'index_up' || $entry eq 'download_need') { + $class = "primary "; + $icon =~ s/%icon/download/ig; + } elsif ($entry =~ /umass_del1/ || + $entry =~ /gdel_del/ || + $entry =~ /gdel_title/ || + $entry eq 'drecs_title' || + $entry eq 'rdmass_ok') + { + $icon =~ s/%icon/times-circle-o/ig; + } elsif ($entry eq 'users_dok' || $entry eq 'users_delete') { + $class = "danger "; + $icon =~ s/%icon/user-times/ig; + } elsif ($entry eq 'index_mass2') { + $class = "warning "; + $icon =~ s/%icon/toggle-switch fa-1_25x/ig; + } elsif ($entry eq 'index_mass3') { + $class = "success "; + $icon =~ s/%icon/toggle-switch-off fa-1_25x/ig; + } elsif ($entry eq 'index_ok' || + $entry eq 'assignment_ok' || + $entry eq 'lang_ok') + { + $icon =~ s/%icon/check-circle-o/ig; + } else { + $icon = undef; + } + + return ($entry, $class, $icon); +} + +sub theme_night_mode +{ + if ($__settings{'settings_force_night_mode'} eq '1') { + return 1; + } else { + return 0; + } +} + +sub theme_git_version +{ + my ($force) = @_; + my $git_version = undef; + my $git_version_file = $root_directory . "/$current_theme/version"; + if (-e $git_version_file && + ($__settings{'settings_sysinfo_theme_patched_updates'} eq 'true' || $force)) + { + $git_version = read_file_lines($git_version_file, 1); + $git_version = $git_version->[0]; + } + return $git_version; +} + +sub theme_version +{ + my ($switch) = @_; + my $sh__ln__p___version = '18.49'; + my $sh__ln__c___version = '19.00'; + my $sh__ln__g___version = theme_git_version('uncond'); + ((!$switch && $sh__ln__g___version) && + ($sh__ln__c___version = $sh__ln__g___version, ($sh__ln__c___version =~ s/\.|-|git//ig))); + + if (theme_mode() eq 'debug' && !$switch && $sh__ln__g___version) { + $sh__ln__c___version .= time(); + } elsif ((!$switch || $switch eq 'full') && !$sh__ln__g___version) { + $sh__ln__c___version = read_file_lines($root_directory . "/$current_theme/VERSION.txt", 1)->[0]; + if ($switch ne 'full') { + $sh__ln__c___version =~ s/\.|-//ig; + if (length($sh__ln__c___version) < 5) { + $sh__ln__c___version .= "0"; + } + } + } + return $sh__ln__c___version; +} + +sub theme_mode +{ + my $debug_mode = "$root_directory/$current_theme/.debug.pm"; + if (-r $debug_mode) { + return 'debug'; + } else { + return 'production'; + } +} + +sub theme_post_update +{ + my $update = $root_directory . "/$current_theme/update"; + + if (-f $update && $get_user_level eq '0') { + unlink $update; + return '1'; + } else { + return '0'; + } +} + +sub header_html_data +{ + my ($module, $skip, @args) = @_; + return 'data-hostname="' . + get_display_hostname() . '" data-title-initial="' . $args[0] . '" data-debug="' . theme_mode() . '" data-session="' . + ($remote_user ? 1 : 0) . '" data-script-name="' . ($module ? "/$module/" : get_env('script_name')) . + '"' . ($skip ? '' : ' data-background-style="' . (theme_night_mode() ? 'nightRider' : 'gainsboro') . '"') . + '' . ($skip ? '' : ' data-night-mode="' . theme_night_mode() . '"') . + ' data-sestatus="' . is_selinux_enabled() . '" data-shell="' . foreign_available("shell") . + '" data-webmin="' . foreign_available("webmin") . '" data-usermin="' . usermin_available() . + '" data-navigation="' . ($args[3] eq '1' ? '0' : '1') . '" data-status="' . foreign_available("system-status") . + '" data-package-updates="' . foreign_available("package-updates") . '" data-csf="' . foreign_available("csf") . '"' . + ($skip ? '' : ' data-theme="' . (theme_night_mode() ? 'gunmetal' : $__settings{'settings_navigation_color'}) . '"') . + '' . + ($skip ? '' : ' data-default-theme="' . $__settings{'settings_navigation_color'} . '"') . ' data-theme-version="' . + (theme_git_version() ? theme_git_version() : theme_version('version')) . '" data-theme-git-version="' . + theme_git_version('uncond') . '" data-level="' . $get_user_level . '" data-user-home="' . + get_user_home() . '" data-user="' . $remote_user . '" data-dashboard="' . dashboard_switch() . '" data-language="' . + get_current_user_language() . '" data-charset="' . get_charset() . '" data-notice="' . theme_post_update() . + '" data-redirect="' . get_tmp_var('redirected') . '" data-initial-wizard="' . get_initial_wizard() . + '" data-webprefix="' . $gconfig{'webprefix'} . '" data-current-product="' . get_product_name() . '" data-module="' . + ($module ? "$module" : get_module_name()) . '" data-uri="' . ($module ? "/$module/" : get_env('request_uri')) . + '" data-progress="' . ($__settings{'settings_hide_top_loader'} ne 'true' ? '1' : '0') . + '" data-product="' . get_product_name() . '" data-access-level="' . $get_user_level . '"'; +} + +sub header_body_data +{ + my ($module) = @_; + return 'data-uri="' . ($module ? "/$module/" : get_env('request_uri')) . '"' + . + ( (get_module_name() || $module) ? + ' class="' . + ($module ? $module : get_module_name()) . '" data-module="' . ($module ? $module : get_module_name()) . '"' : + undef + ) . + '' . + (get_env('request_uri') =~ /\/config.cgi\?/ ? ' id="configCGI"' : '') . ''; +} + +sub get_version +{ + my ($version) = @_; + return $version =~ /([0-9]+[.][0-9]+)/; +} + +sub get_version_full +{ + my ($version) = @_; + return $version =~ /([0-9]+[.][0-9]+(?:-alpha[\d]+|-beta[\d]+|-RC[\d]+|))/; +} + +sub get_env +{ + my ($key) = @_; + return $ENV{ uc($key) }; +} + +sub set_tmp_var +{ + my ($key, $value) = @_; + my $tmp = 'tmp'; + my %var; + + $var{$key} = $value; + + write_file(('/' . $tmp . '/.' . $tmp . '_' . $key . '_' . $remote_user), \%var); +} + +sub get_tmp_var +{ + my ($key, $keep) = @_; + my $tmp = 'tmp'; + my $tmp_file = '/' . $tmp . '/.' . $tmp . '_' . $key . '_' . $remote_user; + + read_file($tmp_file, \%tmp_var); + if (!$keep) { + unlink_file($tmp_file); + } + + return $tmp_var{$key}; +} + +sub get_user_home +{ + my @my_user_info = $remote_user ? getpwnam($remote_user) : getpwuid($<); + return @my_user_info[7]; +} + +sub get_tuconfig_file +{ + my $tuconfig = $config_directory . "/$current_theme/settings-" . $remote_user; + return $tuconfig; +} + +sub get_stripped +{ + if (get_env('request_uri') =~ /stripped=1/ || get_env('http_x_pjax') eq 'true') { + return 1; + } else { + return 0; + } +} + +sub get_raw +{ + if (get_env('request_uri') =~ /stripped=1&stripped=2/ || + get_module_name() eq "file" || + get_env('http_progressive_output') eq 'progressive') + { + return 1; + } else { + return 0; + } +} + +sub ltrim +{ + my $s = shift; + $s =~ s/^\s+//; + return $s; +} + +sub rtrim +{ + my $s = shift; + $s =~ s/\s+$//; + return $s; +} + +sub trim +{ + my $s = shift; + $s =~ s/^\s+|\s+$//g; + return $s; +} + +sub replace +{ + my ($from, $to, $string) = @_; + $string =~ s/\Q$from\E/$to/ig; + + return $string; +} + +sub get_link +{ + my ($string, $type) = @_; + my $url; + + if ($type eq 'ugly') { + $string =~ //; + $url = $1; + } elsif ($type eq 'bad') { + $string =~ //; + $url = $1; + } else { + $string =~ //; + $url = $1; + } + $string =~ /([\s\S]+?)<\/a>/; + + return [$url, $1]; + +} + +1; diff --git a/authentic-lib.pm b/authentic-lib.pm new file mode 100644 index 000000000..55025992f --- /dev/null +++ b/authentic-lib.pm @@ -0,0 +1,3300 @@ +# +# Authentic Theme (https://github.com/qooob/authentic-theme) +# Copyright Ilia Rostovtsev +# Licensed under MIT (https://github.com/qooob/authentic-theme/blob/master/LICENSE) +# + +BEGIN {push(@INC, "..");} +use WebminCore; +use File::Basename; +use lib (dirname(__FILE__) . "/lib"); +use JSON qw( decode_json ); + +our (%in, %text, %config); + +init_type(); +init_config(); + +require "$current_theme/authentic-init.pm"; + +sub authentic +{ + init(); + header($title); + content(); + footer(); +} + +sub print_category +{ + my ($c, $label) = @_; + $label = $c eq "others" ? $Atext{'left_others'} : $label; + + my %icon_table = ('webmin' => 'fa-cog', + 'usermin' => 'fa-cog', + 'settings' => 'fa-cog', + 'global_setting' => 'fa-cog', + 'cat_settings' => 'fa-cog', + 'system' => 'fa-wrench', + 'cat_system' => 'fa-wrench', + 'servers' => 'fa-rocket', + 'other' => 'fa-gavel', + 'info' => 'fa-info', + 'hardware' => 'fa-hdd-o', + 'global_hardware' => 'fa-hdd-o', + 'global_storage' => 'fa-hdd-o', + 'cluster' => 'fa-power-off', + 'global_cluster' => 'fa-power-off', + 'unused' => 'fa-puzzle-piece', + 'global_unused' => 'fa-puzzle-piece', + 'mail' => 'fa-envelope', + 'global_mail' => 'fa-envelope', + 'email' => 'fa-envelope', + 'global_email' => 'fa-envelope', + 'login' => 'fa-user', + 'global_login' => 'fa-user', + 'apps' => 'fa-rocket', + 'global_apps' => 'fa-rocket', + 'custom' => 'fa-wrench', + 'global_custom' => 'fa-wrench', + 'net' => 'fa-shield', + 'ip' => 'fa-shield', + 'global_ip' => 'fa-shield', + 'check' => 'fa-user-md', + 'global_check' => 'fa-user-md', + 'add' => 'fa-plus', + 'global_add' => 'fa-plus', + 'backup' => 'fa-floppy-o', + 'global_backup' => 'fa-floppy-o', + 'global_server', => 'fa-cogs', + 'cat_server', => 'fa-cogs', + 'global_system' => 'fa-cogs', + 'global_delete' => 'fa-plug', + 'cat_delete' => 'fa-plug', + 'global_logs' => 'fa-file-text', + 'cat_logs' => 'fa-file-text', + 'global_services' => 'fa-puzzle-piece', + 'cat_services' => 'fa-puzzle-piece', + 'create_new' => 'fa-plus', + 'global_gce' => 'fa-google', + 'global_ec2' => 'fa-cubes', + 'global_hosts' => 'fa-globe', + 'global_virtualmin' => 'fa-sun-o', + 'global_owners' => 'fa-users', + 'global_monitor' => 'fa-desktop', + 'global_settings' => 'fa-cloud', + 'cat_manage' => 'fa-gavel', + 'cat_res' => 'fa-share-alt', + 'global_admin' => 'fa-key', + 'cat_admin' => 'fa-key', + 'global_power' => 'fa-power-off', + 'cat_power' => 'fa-power-off',); + my $icon = $icon_table{$c} || 'fa-link'; + + if ($label) { + + # Show link to close or open catgory + print '
  • ' . "\n"; + print ' ' . $label . '' . "\n"; + print '
  • ' . "\n"; + } +} + +sub get_swith_mode +{ + my ($t_var_switch_m, $t_var_product_m); + + if (&get_product_name() eq 'webmin' && + &foreign_available("asterisk")) + { + $t_var_switch_m = '2'; + $t_var_product_m = '5'; + } elsif (&get_product_name() eq 'usermin' && + &foreign_available("mailbox")) + { + $t_var_switch_m = '2'; + $t_var_product_m = '4'; + } elsif (!&foreign_available("virtual-server") && !&foreign_available("server-manager") || + &get_product_name() eq 'usermin' || + $get_user_level eq '2') + { + + $t_var_switch_m = '2'; + $t_var_product_m = '1'; + } elsif (&foreign_available("virtual-server") && + &foreign_available("server-manager")) + { + $t_var_switch_m = '3'; + $t_var_product_m = '3'; + } + elsif (&foreign_available("virtual-server") || + &foreign_available("server-manager") && (!&foreign_available("virtual-server") || + !&foreign_available("server-manager"))) + { + $t_var_switch_m = '2'; + $t_var_product_m = '2'; + } + + return ($t_var_switch_m, $t_var_product_m); +} + +sub print_switch_webmin +{ + print ' + + ' + . (&get_product_name() eq 'webmin' ? $Atext{'theme_xhred_titles_wm'} : + $Atext{'theme_xhred_titles_um'} + ) . + ''; +} + +sub print_switch_dashboard +{ + print ' + + ' + . $Atext{'theme_xhred_titles_dashboard'} . ''; +} + +sub print_switch_virtualmin +{ + print ' + + ' + . $Atext{'theme_xhred_titles_vm'} . ''; +} + +sub print_switch_cloudmin +{ + print ' + + ' + . $Atext{'theme_xhred_titles_cm'} . ''; +} + +sub print_switch_webmail +{ + print ' + + + ' . $Atext{'theme_xhred_titles_mail'} . ''; +} + +sub print_switch_thirdlane +{ + print ' + '; +} + +sub print_switch +{ + my $o = ($__settings{'settings_switch_rdisplay'} ne 'true' ? 'd' : + 'r'); + + print '
    '; + if ($t_var_product_m eq '1') { + if ($o eq 'd') { + if ($get_user_level eq '2') { + print_switch_webmin(); + print_switch_virtualmin(); + + } else { + print_switch_webmin(); + print_switch_dashboard(); + } + } else { + if ($get_user_level eq '2') { + print_switch_virtualmin(); + print_switch_webmin(); + + } else { + print_switch_dashboard(); + print_switch_webmin(); + } + } + } + if ($t_var_product_m eq '2') { + + if ($o eq 'd') { + print_switch_webmin(); + &foreign_available("virtual-server") ? print_switch_virtualmin() : + print_switch_cloudmin(); + + } else { + &foreign_available("virtual-server") ? print_switch_virtualmin() : + print_switch_cloudmin(); + print_switch_webmin(); + + } + + } + if ($t_var_product_m eq '3') { + if ($o eq 'd') { + print_switch_webmin(); + print_switch_virtualmin(); + print_switch_cloudmin(); + + } else { + print_switch_cloudmin(); + print_switch_virtualmin(); + print_switch_webmin(); + + } + } + if ($t_var_product_m eq '4') { + + if ($o eq 'd') { + print_switch_webmail(); + print_switch_webmin(); + } else { + print_switch_webmin(); + print_switch_webmail(); + } + + } + if ($t_var_product_m eq '5') { + + if ($o eq 'd') { + print_switch_webmin(); + print_switch_thirdlane(); + } else { + print_switch_thirdlane(); + print_switch_webmin(); + } + + } + print ' +

    '; +} + +sub print_category_link +{ + my ($link, $label, $state) = @_; + print '' . "\n"; +} + +sub print_sysinfo_link +{ + my ($user) = @_; + if (dashboard_switch() ne '1') { + print '
  • ' . + ($user ? $Atext{'body_header1'} : $Atext{'body_header0'}) . '
  • ' . "\n"; + } +} + +sub get_sysinfo_warning +{ + my (@info) = @_; + my $returned_data = ''; + + # Show notifications first + @info = + sort {($b->{'type'} eq 'warning') <=> ($a->{'type'} eq 'warning')} @info; + $returned_data .= '
    '; + foreach my $info (@info) { + if ($info->{'type'} eq 'warning') { + $returned_data .= &ui_alert_box($info->{'warning'}, $info->{'level'} || 'warn', undef, 1); + } + } + return $returned_data; +} + +sub get_extended_sysinfo +{ + my ($info_ref, $x) = @_; + my $returned_sysinfo = ''; + + if ($info_ref) { + $returned_sysinfo .= + '
    '; + foreach my $info (@{$info_ref}) { + if ($info->{'id'} ne 'domain' && + $info->{'id'} ne 'notifications' && + $info->{'type'} ne 'link' && + $info->{'module'} ne 'mailbox' && + $info->{'module'} ne 'system-status' && + $a->{'type'} ne 'warning' && + $b->{'type'} ne 'warning') + { + our $charts_not_supported = 'no'; + if ($info->{'type'} eq 'chart') { + foreach my $t (@{ $info->{'chart'} }) { + if ($t->{'chart'}[0] < 0 || $t->{'chart'}[1] < 0) { + $charts_not_supported = 'yes'; + } + } + } + + if ($info->{'id'} && $charts_not_supported eq 'no') { + + my $open = + $info->{'open'} ? ' in' : + ($__settings{'settings_sysinfo_expand_all_accordions'} eq 'true' ? ' in' : ''); + + $returned_sysinfo .= ' +
    + +
    +
    '; + + if ($info->{'id'} ne 'plugin_virtualmin-notes') { + $returned_sysinfo .= +'
    '; + } + + if ($info->{'type'} eq 'table' && + ( $info->{'module'} ne 'system-status' && + $info->{'type'} ne 'link' + + )) + { + + foreach my $t (@{ $info->{'table'} }) { + my $__checkmark = ''; + my $__stop = ''; + my $__down = ''; + my $__start = ''; + my $__restart = ''; + + $t->{"value"} =~ s//$__checkmark/g; + $t->{"value"} =~ s//$__stop/g; + $t->{"value"} =~ s//$__down/g; + $t->{"value"} =~ s//$__start/g; + $t->{"value"} =~ s//$__restart/g; + + $returned_sysinfo .= ' + + + '; + } + } elsif ($info->{'type'} eq 'chart') { + foreach my $t (@{ $info->{'chart'} }) { + my $percent = ' ' . $t->{'chart'}[1] . '%'; + my $percent_width = $t->{'chart'}[1]; + my $dd = $Atext{'right_out'}; + $dd =~ s/\s| |\$1|\$2//g; + + if ($t->{"value"} !~ /\Q$dd/) { + $percent = ' ' . $Atext{'right_unlimited'}; + $percent_width = '0'; + } + + $returned_sysinfo .= ' + + + + '; + } + } elsif ($info->{'type'} eq 'html') { + $info->{'html'} =~ s/]*>.*?<\/script>//igs; + $returned_sysinfo .= $info->{'html'}; + } + + if ($info->{'id'} ne 'plugin_virtualmin-notes') { + $returned_sysinfo .= '
    ' . replace('href=\'', "href='$gconfig{'webprefix'}", $t->{"desc"}) . '' + . replace('href=\'', "href='$gconfig{'webprefix'}", $t->{"value"}) . '
    ' + . replace('edit_domain', 'summary_domain', + replace('href=\'', "href='$gconfig{'webprefix'}", $t->{"desc"})) . + ' +
    +
    + ' . $percent . ' +
    +
    +
    ' + . $t->{"value"} . '
    '; + } + + $returned_sysinfo .= '
    +
    +
    '; + + } + } + } + $returned_sysinfo .= '




    '; + return $returned_sysinfo; + } + +} + +sub print_sysstat_link +{ + my $link; + if ($get_user_level eq '0') { + if (-d $root_directory . "/virtual-server/pro/timeplot") { + $link = 'virtual-server/pro'; + } elsif (-d $root_directory . "/server-manager/timeplot") { + $link = 'server-manager'; + } + if ($link) { + print '
  • ' . + $Atext{'left_statistics'} . '
  • ' . "\n"; + } + } +} + +sub print_netdata_link +{ + my $link; + if ($get_user_level eq '0') { + if (has_command('netdata') && + $__settings{'settings_leftmenu_netdata'} ne 'false') + { + ($__settings{'settings_leftmenu_netdata_link'} ? ($link = $__settings{'settings_leftmenu_netdata_link'}) : + ($link = 'http://' . get_system_hostname() . ':19999')); + } + + if ($link) { + print '' . "\n"; + } + } +} + +sub print_search +{ + if (-r "$root_directory/webmin_search.cgi" && $gaccess{'webminsearch'}) { + print '' . "\n"; + } else { + print '
    '; + } +} + +sub add_webprefix +{ + my ($link) = @_; + + if (substr($link, -5) eq '&') { + $link = substr($link, 0, -5); + } + + if ($link !~ /^http/) { + $link = ($link !~ /^\Q$gconfig{'webprefix'}/ ? $gconfig{'webprefix'} . $link : $link); + + if ($link !~ /^\//) { + $link = "/" . $link; + } + } + return $link; +} + +sub print_left_menu +{ + my ($module, $items, $group, $id, $selected, $xhr) = @_; + my $__hr = 0; + my $__custom_print = 0; + my $__custom_link = 0; + foreach my $item (@$items) { + if ($module eq $item->{'module'} || $group) { + + my $link = add_webprefix($item->{'link'}); + my $icon; + + if ($item->{'type'} eq 'item' && + $link ne add_webprefix("/virtual-server/edit_lang.cgi") && + $link ne add_webprefix("/virtual-server/edit_lang.cgi") && + $link ne add_webprefix("/virtual-server/pro/history.cgi")) + { + + # Define an icon for the link/accordion + if ($link eq add_webprefix("/virtual-server/index.cgi") || + $link eq add_webprefix("/server-manager/index.cgi")) + { + $icon = ''; + } elsif ($link =~ /\/virtual-server\/edit_newvalidate.cgi/ && + $get_user_level ne '0') + { + $icon = ''; + } elsif ($link eq add_webprefix("/mailbox/list_folders.cgi") || + $link eq add_webprefix("/mailbox/list_ifolders.cgi")) + { + $icon = ''; + } elsif ($link eq add_webprefix("/mailbox/list_addresses.cgi")) { + $icon = ''; + } elsif ($link eq add_webprefix("/filter/edit_forward.cgi")) { + $icon = ''; + } elsif ($link eq add_webprefix("/filter/edit_auto.cgi")) { + $icon = ''; + } elsif ($link eq add_webprefix("/filter/")) { + $icon = ''; + } elsif ($link eq add_webprefix("/mailbox/edit_sig.cgi")) { + $icon = ''; + } elsif ($link =~ /mailbox\/index.cgi?id=/) { + $icon = ''; + } + if ($get_user_level == 1) { + if ($link =~ /\/virtual-server\/edit_pass.cgi/ && + $link !~ /\/virtual-server\/edit_pass.cgi\?/) + { + $icon = ''; + } elsif ($link =~ /\/virtual-server\/edit_newplan.cgi/) { + $icon = ''; + } elsif ($link =~ /\/virtual-server\/edit_newresels.cgi/) { + $icon = ''; + } elsif ($link =~ /\/virtual-server\/bwgraph.cgi/ && $id ne 'cat_logs') { + $icon = ''; + } + } + + if ($link =~ /\/virtual-server\/domain_form.cgi/) { + $icon = ''; + } + + elsif ($link =~ /\/virtual-server\/edit_domain.cgi/ || + $link =~ /\/server-manager\/edit_serv.cgi/) + { + $icon = ''; + } elsif ($link =~ /\/virtual-server\/view_domain.cgi/) { + $icon = ''; + } + + elsif ($link =~ /\/virtual-server\/list_users.cgi/) { + $icon = ''; + } elsif ($link =~ /\/virtual-server\/list_aliases.cgi/) { + $icon = ''; + } elsif ($link =~ /\/virtual-server\/list_databases.cgi/) { + $icon = ''; + } elsif ($link =~ /\/virtual-server\/list_scripts.cgi/ || + $link =~ /\/server-manager\/mass_update_form.cgi/) + { + $icon = ''; + } elsif ($link =~ /\/filemin\/index.cgi/) { + $icon = ''; + } + + elsif ($link =~ /\/virtual-server\/edit_html.cgi/) { + $icon = ''; + } elsif ($link =~ /\/server-manager\/edit_pass.cgi/) { + $icon = ''; + } elsif ($link =~ /\/server-manager\/save_serv.cgi/) { + if ($link =~ /refresh=1/) { + $icon = ''; + } elsif ($link =~ /regen=1/) { + $icon = ''; + } + } elsif ($link =~ /^http:\/\// || + $link =~ /^https:\/\// || + $link =~ /^ftp:\/\// || + $link =~ /^ftps:\/\//) + { + $icon = ''; + } elsif ($link =~ /\/servers\/link.cgi/) { + $icon = ''; + } + + # Print Virtual Server Summary link + if ($get_user_level eq '0' && + $__custom_link eq '0' && + $link =~ /\/virtual-server\/domain_form.cgi/ && + domain_available_count()) + { + print '
  • ' . + $Atext{'right_vm_server_summary'} . '
  • ' . "\n"; + } + + # Set variable in case it hasn't been set before + if (!length $link) { + $icon = undef; + } + + print '
  • {'target'} ? ' class="navigation_external"' : + '' + ) . + '>' . "\n"; + print '{'target'}) ? "class=\"navigation_module_trigger\" " : + '' + ) . + 'href="' . $link . '">' . + ($icon =~ /' . $item->{'desc'} . '' . "\n"; + print '
  • ' . "\n"; + print "\n"; + + } elsif ($item->{'type'} eq 'html') { + print ''; + } elsif ($item->{'type'} eq 'cat') { + + # Skip printing Webmin category because there is a switch for it + if ($item->{'id'} eq 'cat_webmin' && $get_user_level eq '2') { + next; + } + + my $c = $item->{'id'}; + if ($item->{'module'} ne 'mailbox') { + &print_category($c, $item->{'desc'}); + } + print '
  • \n"; + } elsif ($item->{'type'} eq 'hr') { + if ($__hr eq '1') { + print_search(); + } + $__hr++; + } elsif (($item->{'type'} eq 'menu' || $item->{'type'} eq 'input') && + $item->{'module'} ne 'mailbox') + { + # For with an input of some kind + if ($item->{'cgi'}) { + print "
  • \n"; + } else { + print "
  • \n"; + } + foreach my $h (@{ $item->{'hidden'} }) { + print ui_hidden(@$h); + } + + print $item->{'desc'}, "\n"; + if ($item->{'type'} eq 'menu' || $item->{'type'} eq 'input') { + my $default = get_default_target(); + print ui_select( + ($item->{'name'} eq 'dname' ? 'dom' : + $item->{'name'} + ), + ((($selected || $selected == 0) && $xhr) ? $selected : + ( $default ? $default : + $item->{'value'} + ) + ), + ( + $item->{'name'} eq 'dname' ? [map {[$_->{'id'}, &virtual_server::show_domain_name($_)]} + grep {&virtual_server::can_edit_domain($_)} + sort {$a->{'dom'} cmp $b->{'dom'}} &virtual_server::list_domains() + ] : + $item->{'menu'} + ), + 1, 0, 0, 0, + "data-autocomplete-title=\" + " + . ( + ($__settings{'settings_right_default_tab_webmin'} =~ /virtualmin/ || + $in{'xhr-navigation-type'} eq 'virtualmin' + ) ? $Atext{'right_fdoms'} : + $Atext{'right_fvm2'} + ) . + " + \" " + . "style='width:" + . + ( + ($__settings{'settings_leftmenu_width'} ? $__settings{'settings_leftmenu_width'} : + '260' + ) - 24 + ) . + "px; margin-top: 0 !important' disabled"); + + } + print "
  • \n"; + } + } + } +} + +sub print_easypie_charts +{ + my ($cpu_percent, $mem_percent, $virt_percent, $disk_percent) = @_; + + print '
    ' . "\n"; + my $columns = '3'; + + # CPU usage + print_easypie_chart($columns, + (($cpu_percent || $cpu_percent eq "0") ? $cpu_percent : + 'NaN' + ), + $Atext{'body_cp'}, + 'sysinfo_cpu_percent'); + + # Memory allocation + print_easypie_chart($columns, + (($mem_percent || $mem_percent eq "0") ? $mem_percent : + 'NaN' + ), + (($current_lang eq 'ru' || $current_lang eq 'ru.UTF-8') ? $Atext{'body_real2'} : + $Atext{'body_real'} + ), + 'sysinfo_mem_percent'); + print_easypie_chart( + $columns, + (($virt_percent || $virt_percent eq "0") ? $virt_percent : 'NaN') + , # -sin(9**9**9) + (($current_lang eq 'ru' || $current_lang eq 'ru.UTF-8') ? $Atext{'body_virt2'} : + $Atext{'body_virt'} + ), + 'sysinfo_virt_percent'); + + # Disk usage + print_easypie_chart($columns, + (($disk_percent || $disk_percent eq "0") ? $disk_percent : + 'NaN' + ), + (($current_lang eq 'ru' || $current_lang eq 'ru.UTF-8') ? $Atext{'body_disk2'} : + $Atext{'body_disk'} + ), + 'sysinfo_disk_percent'); + + print '
    ' . "\n"; +} + +sub print_easypie_chart +{ + my ($columns, $percent, $label, $id) = @_; + print '
    ' . "\n"; + print ' + + ' . $label . ' + '; + print '
    ' . "\n"; +} + +sub get_sysinfo_vars +{ + + if (&foreign_available("system-status")) { + + # Ask status module for collected info + &foreign_require("system-status"); + my ($info) = &system_status::get_collected_info(); + + # Define used vars + my ($cpu_percent, $mem_percent, $virt_percent, $disk_percent, + $host, $os, $webmin_version, $virtualmin_version, + $cloudmin_version, $authentic_theme_version, $local_time, $kernel_arch, + $cpu_type, $cpu_temperature, $hdd_temperature, $uptime, + $running_proc, $load, $real_memory, $virtual_memory, + $disk_space, $package_message, $csf_title, $csf_data, + $csf_remote_version, $authentic_remote_version); + + # Require memory information + if ($info->{'mem'}) { + @m = @{ $info->{'mem'} }; + } + + # Easypie charts numbers + if ($info->{'cpu'}) { + @c = @{ $info->{'cpu'} }; + $cpu_percent = $c[0] + $c[1] + $c[3]; + $cpu_percent = int($cpu_percent); + } + if (@m && $m[0]) { + $mem_percent = ($m[0] - $m[1]) / $m[0] * 100; + $mem_percent = int($mem_percent); + } + if (@m && $m[2]) { + $virt_percent = ($m[2] - $m[3]) / $m[2] * 100; + $virt_percent = int($virt_percent); + } + if ($info->{'disk_total'}) { + ($total, $free) = + ($info->{'disk_total'}, $info->{'disk_free'}); + $disk_percent = ($total - $free) / $total * 100; + $disk_percent = int($disk_percent); + } + + # Operation system + my $ip = + $info->{'ips'} ? $info->{'ips'}->[0]->[0] : + &to_ipaddress(get_system_hostname()); + $ip = " ($ip)" if ($ip); + my $host = &get_system_hostname() . $ip; + if (&foreign_available("net")) { + $host = '' . $host . ''; + } + + # Operating System Info + if ($gconfig{'os_version'} eq '*') { + $os = $gconfig{'real_os_type'}; + } else { + $os = $gconfig{'real_os_type'} . ' ' . $gconfig{'real_os_version'}; + } + + #Webmin version + $webmin_version = + &get_webmin_version() . +'
    '; + + # Virtualmin version + if ($has_virtualmin) { + my ($vs_license, $__virtual_server_version); + my %vinfo = &get_module_info("virtual-server"); + + $vs_license = licenses('vm'); + + $__virtual_server_version = $vinfo{'version'}; + $__virtual_server_version =~ s/.gpl//igs; + + $virtualmin_version = ( + $__virtual_server_version . " " . ( + $vs_license eq '0' ? '' : + '' + + . ' Pro
    ' + . + ( ($vs_license eq '1') ? + '
    ' : + '' + ) . + '' + + )); + } + + # Cloudmin version + if ($has_cloudmin) { + my ($vm2_license, $__server_manager_version); + my %vinfo = &get_module_info("server-manager"); + + $vm2_license = licenses('cm'); + + $__server_manager_version = $vinfo{'version'}; + $__server_manager_version =~ s/.gpl//igs; + + $cloudmin_version = ( + $__server_manager_version . " " . ( + $vm2_license eq '0' ? '' : + '' + + . ' Pro
    ' + . + ( ($vm2_license eq '1') ? + '
    ' : + '' + ) . + '' + )); + } + + # Theme version/updates + get_authentic_version(); + + $authentic_remote_version = $remote_version; + + use Version::Compare; + + # Build version response message + if (&Version::Compare::version_compare($remote_version, $installed_version) == 1) { + my $git_version_remote = $remote_version =~ /-git-/; + my $remote_version_tag = $remote_version; + my @_remote_version_tag = split /-/, $remote_version_tag; + $remote_version_tag = $_remote_version_tag[0]; + $authentic_theme_version = + '' . + $Atext{'theme_name'} . ' ' . ($git_version_local ? $git_version_local : $installed_version) . + '. ' . ($git_version_remote ? $Atext{'theme_git_patch_available'} : $Atext{'theme_update_available'}) . + ' ' . $remote_version . '   '; + + } else { + $authentic_theme_version = + '' . + $Atext{'theme_name'} . ' ' . ($git_version_local ? $git_version_local : $installed_version) . + '
    ' . +'
    '; + } + + #ConfigServer Security & Firewall + if (&foreign_check("csf") && &foreign_available("csf")) { + + # Define CSF installed version + my $csf_installed_version = read_file_lines('/etc/csf/version.txt', 1); + our $csf_installed_version = $csf_installed_version->[0]; + + # Define CSF actual version if allowed + if ($__settings{'settings_sysinfo_csf_updates'} eq 'true' && + $get_user_level eq '0') + { + http_download('download.configserver.com', '80', '/csf/version.txt', \$csf_remote_version, \$error, undef, + undef, undef, undef, 5); + + # Trim versions' number + $csf_installed_version =~ s/^\s+|\s+$//g; + $csf_remote_version =~ s/^\s+|\s+$//g; + } else { + $csf_remote_version = '0'; + } + + if ($csf_remote_version <= $csf_installed_version) { + $csf_update_required = '0'; + } else { + $csf_update_required = '1'; + } + + $csf_title = $Atext{'body_firewall'} . ' ' + . + ( `pgrep lfd` ? '' : +'     Stopped ' + ); + $csf_data = ( + 'ConfigServer Security & Firewall ' . + $csf_installed_version . '' + + . ($csf_update_required eq '1' ? + '. ' . $Atext{'theme_update_available'} . ' ' . $csf_remote_version . '   ' : + '   ' + ) . + ' + + + + + + ' + . ( + $csf_update_required eq '1' ? + '' + : + '' + ) . + ''); + } + + #System time + use Time::Local; + my ($_time, $local_time); + $_time = time(); + $local_time = localtime($_time); + if (foreign_available("time")) { + $local_time = '' . $local_time . ''; + } else { + $local_time = '' . localtime($_time) . ''; + } + + # Kernel and arch + if ($info->{'kernel'}) { + $kernel_arch = + &Atext('body_kernelon', $info->{'kernel'}->{'os'}, $info->{'kernel'}->{'version'}, + $info->{'kernel'}->{'arch'}); + } + + # CPU Type and cores + if ($info->{'load'}) { + @c = @{ $info->{'load'} }; + if (@c > 3) { + $cpu_type = &Atext('body_cputype', @c); + } + } + + # Temperatures + if ($info->{'cputemps'}) { + foreach my $t (@{ $info->{'cputemps'} }) { + $cpu_temperature .= +' Core ' + . $t->{'core'} + . ': ' . + int($t->{'temp'}) . '°C' . + ($__settings{'settings_sysinfo_drive_status_on_new_line'} eq 'true' ? '
    ' : ' '); + } + } + if ($info->{'drivetemps'}) { + foreach my $t (@{ $info->{'drivetemps'} }) { + my $short = $t->{'device'}; + $short =~ s/^\/dev\///; + my $emsg; + if ($t->{'errors'}) { + $emsg .= +'  ' + . &Atext('body_driveerr', $t->{'errors'}) + . ""; + } elsif ($t->{'failed'}) { + $emsg .= +'  ' + . &Atext('body_drivefailed') + . ''; + } + $hdd_temperature .= +'' + . $short . ': ' . + int($t->{'temp'}) . '°C ' . $emsg . '' . + ($__settings{'settings_sysinfo_drive_status_on_new_line'} eq 'true' ? '
    ' : ' '); + } + } + + # System uptime + &foreign_require("proc"); + my ($day, $hour, $minute) = &proc::get_system_uptime(); + if ($day) { + $uptime_text = &Atext('body_updays', $day, $hour, $minute); + } elsif ($minute && $hour) { + $uptime_text = &Atext('body_uphours', $hour, $minute); + } elsif ($minute) { + $uptime_text = &Atext('body_upmins', $minute); + } + + $uptime = '' . $uptime_text . ''; + + # Running processes + if (&foreign_check("proc")) { + @procs = &proc::list_processes(); + $running_proc = scalar(@procs); + if (&foreign_available("proc")) { + $running_proc = '' . $running_proc . ''; + } + } + + # Load averages + if ($info->{'load'}) { + my @c = @{ $info->{'load'} }; + if (@c) { + $load = &Atext('body_load', @c); + } + } + + # Memory + if ($info->{'mem'}) { + + # Real memory details + $real_memory = + &Atext('body_used', nice_size(($m[0]) * 1000), nice_size(($m[0] - $m[1]) * 1000)); + + # Virtual memory details + $virtual_memory = + &Atext('body_used', nice_size(($m[2]) * 1000), nice_size(($m[2] - $m[3]) * 1000)); + } + + # Local disk space + if ($info->{'disk_total'} && $info->{'disk_total'}) { + $disk_space = &Atext('body_used_and_free', + nice_size($info->{'disk_total'}), + nice_size($info->{'disk_free'}), + nice_size($info->{'disk_total'} - $info->{'disk_free'})); + } + + # Package updates + if (&foreign_available("package-updates") && $info->{'poss'}) { + @poss = @{ $info->{'poss'} }; + @secs = grep {$_->{'security'}} @poss; + + my $poss = scalar(@poss); + my $secs = scalar(@secs); + + if ($poss && $secs) { + $msg = &Atext( + ($poss gt 1 && + $secs gt 1 ? 'body_upsec' : $poss gt 1 && + $secs eq 1 ? 'body_upsec1' : $poss eq 1 && + $secs gt 1 ? 'body_upsec2' : 'body_upsec3' + ), + $poss, $secs); + } elsif ($poss) { + $msg = &Atext(($poss gt 1 ? 'body_upneed' : 'body_upneed1'), $poss); + } else { + $msg = $Atext{'body_upok'}; + } + if (&foreign_available("package-updates")) { + $msg =~ s/([0-9]+)/" $1 <\/i>"/eg; + $package_message = + '' . $msg . ''; + } + } + + return ($cpu_percent, $mem_percent, $virt_percent, $disk_percent, + $host, $os, $webmin_version, $virtualmin_version, + $cloudmin_version, $authentic_theme_version, $local_time, $kernel_arch, + $cpu_type, $cpu_temperature, $hdd_temperature, $uptime, + $running_proc, $load, $real_memory, $virtual_memory, + $disk_space, $package_message, $csf_title, $csf_data, + $csf_remote_version, $authentic_remote_version); + + } else { + return; + } +} + +sub csf_mod +{ + if (foreign_check("csf") && + foreign_available("csf") && + $current_theme =~ /authentic-theme/) + { + my $ext = (theme_mode() eq 'debug' ? 'src' : 'min'); + + my $styles = $root_directory . "/$current_theme/unauthenticated/css/styles.css"; + my $scripts = $root_directory . "/$current_theme/unauthenticated/js/styles.js"; + + my $csf_header_mod = $root_directory . "/$current_theme/extensions/csf/csf.header"; + my $csf_body_mod = $root_directory . "/$current_theme/extensions/csf/csf.body"; + my $csf_footer_mod = $root_directory . "/$current_theme/extensions/csf/csf.footer"; + my $csf_htmltag_mod = $root_directory . "/$current_theme/extensions/csf/csf.htmltag"; + my $csf_bodytag_mod = $root_directory . "/$current_theme/extensions/csf/csf.bodytag"; + + my $x_version = "02"; + + open(my $fh, '>', $csf_header_mod) or die $!; + + print $fh '' . "\n"; + print $fh '' . "\n"; + print $fh '' . "\n"; + + if (!$__settings{'settings_font_family'}) { + print $fh '' . "\n"; + } elsif ($__settings{'settings_font_family'} != '1') { + print $fh '' . "\n"; + } + + if (-r $styles) { + print $fh '' . "\n"; + } + if (-r $scripts) { + print $fh '' . "\n"; + } + + print $fh '' . "\n"; + + print $fh '' . "\n"; + print $fh '' . "\n"; + + close $fh; + + open(my $fh, '>', $csf_body_mod) or die $!; + print $fh '
    ' . "\n"; + close $fh; + + open(my $fh, '>', $csf_footer_mod) or die $!; + print $fh '
    ' . "\n"; + close $fh; + + open(my $fh, '>', $csf_htmltag_mod) or die $!; + print $fh ' ' . replace("\"", "'", header_html_data('csf', '1', (get_html_framed_title(), 0, 0, '1'))) . ''; + close $fh; + + open(my $fh, '>', $csf_bodytag_mod) or die $!; + print $fh ' ' . replace("\"", "'", header_body_data('csf')) . ''; + close $fh; + + my $csf_etc = "/etc/csf"; + my $csf_prefix = "csf."; + my $csf_header = $csf_etc . "/" . $csf_prefix . "header"; + my $csf_body = $csf_etc . "/" . $csf_prefix . "body"; + my $csf_footer = $csf_etc . "/" . $csf_prefix . "footer"; + my $csf_html_tag = $csf_etc . "/" . $csf_prefix . "htmltag"; + my $csf_body_tag = $csf_etc . "/" . $csf_prefix . "bodytag"; + if (-e $csf_etc && -d $csf_etc) { + copy_source_dest($csf_header_mod, $csf_etc); + + copy_source_dest($csf_body_mod, $csf_etc); + + copy_source_dest($csf_footer_mod, $csf_etc); + + copy_source_dest($csf_htmltag_mod, $csf_etc); + + copy_source_dest($csf_bodytag_mod, $csf_etc); + + } + my $csf_ui = uc('style' . '_' . 'custom'); + my $csf_conf = ($csf_etc . "/" . $csf_prefix . "conf"); + + if (-f $csf_conf && + !-f $config_directory . "/$current_theme/" . $csf_prefix . "ui-introduced") + { + + (my $fc = read_file_contents($csf_conf)) =~ s/$csf_ui = "0"/$csf_ui = "1"/g; + + write_file_contents($csf_conf, $fc); + write_file_contents($config_directory . "/$current_theme/" . $csf_prefix . "ui-introduced", "\n"); + } + + } +} + +sub csf_temporary_list +{ + if (&foreign_check("csf") && &foreign_available("csf")) { + my @t; + my @l; + + if (-e "/var/lib/csf/csf.tempban" && !-z "/var/lib/csf/csf.tempban") { + open($IN, "<", "/var/lib/csf/csf.tempban") or die $!; + @t = <$IN>; + chomp @t; + close($IN); + } + + if (@t && -e "/var/lib/csf/stats/iptables_log") { + open($IN, "<", "/var/lib/csf/stats/iptables_log") or die $!; + flock($IN, LOCK_SH); + my @i = <$IN>; + close($IN); + chomp @i; + @i = reverse @i; + my $c = 0; + + my $s = scalar @i; + for (my $x = 0; $x < $s; $x++) { + $c++; + my $u = $i[$x]; + my ($o, $l) = split(/\|/, $u); + my ($r, $w, $k); + if ($l =~ /SRC=(\S+)/) {$r = $1} + if ($l =~ /DST=(\S+)/) {$w = $1} + if ($l =~ /DPT=(\d+)/) {$k = $1} + + foreach my $h (reverse @t) { + if (!length $h) {next} + my ($a, $b, $d, $e, $f, $g) = split(/\|/, $h); + if ($r eq $b) { + push @l, $a . '|' . $b . '|' . $w . '|' . $k . '|' . $d . '|' . $e . '|' . $f . '|' . $g; + } + } + + } + } + + get_json(\@l); + } else { + get_json_empty(); + } +} + +sub get_current_user_config +{ + our ($___user) = + grep {$_->{'name'} eq $base_remote_user} &acl::list_users(); + return $___user; +} + +sub get_col_num +{ + my ($info, $max_col) = @_; + my $num_col = 0; + if ($info->{'cpu'}) {$num_col++;} + if ($info->{'mem'}) { + @m = @{ $info->{'mem'} }; + if (@m && $m[0]) {$num_col++;} + if (@m && $m[2]) {$num_col++;} + } + if ($info->{'disk_total'}) {$num_col++;} + my $col = $max_col / $num_col; + return $col; +} + +sub print_table_row +{ + my ($title, $content, $id) = @_; + print '' . "\n"; + print '' . $title . '' . "\n"; + print '' . $content . '' . "\n"; + print '' . "\n"; +} + +sub print_favorites +{ + + my $f = &read_file_contents($config_directory . "/$current_theme/favorites.json"); + + print '
    +
    + +
    + +
    +
    +
    +
    +
    +
    '; +} + +sub print_panels_group_start +{ + my ($id) = @_; + print '
    '; +} + +sub print_panels_group_end +{ + print '
    '; +} + +sub print_panel +{ + my ($opened, $id, $title, $data) = @_; + + print ' +
    + +
    +
    ' . $data . '
    '; + +} + +sub parse_license_date +{ + if ($_[0] =~ /^(\d{4})-(\d+)-(\d+)$/) { + return eval {timelocal(0, 0, 0, $3, $2 - 1, $1 - 1900)}; + } + return undef; +} + +sub embed_logo +{ + + my $logo; + my $usermin_config_directory; + my $usermin_root_directory; + + ((get_env('script_name') eq '/session_login.cgi' || get_env('script_name') eq '/pam_login.cgi') ? + ($logo = 'logo_welcome') : + ($logo = 'logo')); + + if (usermin_available()) { + ($usermin_config_directory = $config_directory) =~ s/webmin/usermin/; + ($usermin_root_directory = $root_directory) =~ s/webmin/usermin/; + + } + + if (-r $config_directory . "/$current_theme/" . $logo . ".png") { + if ($get_user_level eq '0' && + (-s $config_directory . + "/$current_theme/" . $logo . ".png" ne -s $root_directory . "/$current_theme/images/" . $logo . ".png" || + -s $usermin_config_directory . "/$current_theme/" . + $logo . ".png" ne -s $usermin_root_directory . "/$current_theme/images/" . $logo . ".png")) + { + # Update logo for Webmin + copy_source_dest($config_directory . "/$current_theme/" . $logo . ".png", + $root_directory . "/$current_theme/images"); + + # Push logo update in case Usermin is installed + if (usermin_available()) { + copy_source_dest($usermin_config_directory . "/$current_theme/" . $logo . ".png", + $usermin_root_directory . "/$current_theme/images"); + } + } + if (-r $root_directory . "/$current_theme/images/" . $logo . ".png") { + print '' . "\n"; + } + } +} + +sub head +{ + print "Content-type: text/html\n\n"; +} + +sub embed_login_head +{ + + my $ext = (theme_mode() eq 'debug' ? 'src' : 'min'); + + print '', "\n"; + print '', "\n"; + print '', $title, '', "\n"; + print '' . "\n"; + print '' . "\n"; + + print '' . "\n"; + + embed_css_night_rider(); + embed_css_fonts(); + embed_styles(1); + + print '' . "\n"; + print '', "\n"; +} + +sub get_authentic_version +{ + + our $remote_version; + our $git_version_local = theme_git_version('uncond'); + + # Get local version + our $installed_version = read_file_lines($root_directory . "/$current_theme/VERSION.txt", 1); + $installed_version = $installed_version->[0]; + + # Get local git version if available + if (theme_git_version()) { + $installed_version = theme_git_version(); + } + + $installed_version =~ s/^\s+|\s+$//g; + + if ($__settings{'settings_sysinfo_theme_updates'} eq 'true' && $get_user_level eq '0') { + + # Get remote version if allowed + http_download('raw.githubusercontent.com', + '443', + '/qooob/authentic-theme/master/' + . + ( $__settings{'settings_sysinfo_theme_patched_updates'} ne 'true' ? 'VERSION.txt' : + 'version' + ) . + '', + \$remote_version, + \$error, + undef, 1, undef, undef, 5); + + # In case there was a release and no Git patches available + if (!$remote_version) { + http_download('raw.githubusercontent.com', '443', '/qooob/authentic-theme/master/VERSION.txt', + \$remote_version, \$error, undef, 1, undef, undef, 5); + } + + # Trim versions' number + $remote_version =~ s/^\s+|\s+$//g; + } else { + $remote_version = '0'; + } + + return ($installed_version, $remote_version); +} + +sub theme_config_dir_available +{ + my $_wm_at_conf_dir = $config_directory . '/' . $current_theme; + + if (!-d $_wm_at_conf_dir) { + mkdir($_wm_at_conf_dir, 0755); + } else { + chmod(0755, $_wm_at_conf_dir); + } + + if (usermin_available()) { + (my $_um_at_conf_dir = $config_directory) =~ s/webmin/usermin/; + + if (!-d $_um_at_conf_dir) { + mkdir($_um_at_conf_dir, 0755); + } else { + chmod(0755, $_um_at_conf_dir); + } + } +} + +sub domain_available +{ + my ($id, $type) = @_; + if (&foreign_available('virtual-server')) { + &foreign_require("virtual-server", "virtual-server-lib.pl"); + foreach my $dom (&virtual_server::list_visible_domains()) { + if ($id eq $dom->{$type}) { + return $dom; + } + } + } else { + return undef; + } + +} + +sub domain_available_count +{ + if (&foreign_available('virtual-server')) { + &foreign_require("virtual-server", "virtual-server-lib.pl"); + my %doms = virtual_server::list_visible_domains(); + return scalar(keys %doms); + } +} + +sub server_available +{ + my ($id, $type) = @_; + if (&foreign_available('server-manager')) { + &foreign_require("server-manager", "server-manager-lib.pl"); + foreach my $host (&server_manager::list_managed_servers()) { + if ($id eq $host->{$type}) { + return $host; + } + } + } else { + return undef; + } + +} + +sub get_default_target +{ + my $default; + my $taget_data; + my $in; + my $module; + + if ($__settings{'settings_right_default_tab_webmin'} =~ /virtualmin/) { + $module = 'virtualmin'; + } elsif ($__settings{'settings_right_default_tab_webmin'} =~ /cloudmin/) { + $module = 'cloudmin'; + } + + if ($t_uri__i =~ /virtual-server/ || $t_uri__i =~ /server-manager/) { + $module = ($t_uri__i =~ /virtual-server/ ? 'virtualmin' : + 'cloudmin'); + $in = $t_uri___i; + } else { + $in = $in{$t_uri____i}; + } + + $taget_data = ($module eq 'virtualmin' ? domain_available($in, 'dom') : + server_available($in, 'host')); + if ($taget_data) { + $default = $taget_data->{'id'}; + } else { + $default = $__settings{ 'settings_right_' . $module . '_default' }; + $default = ($default ne 'index.cgi' ? $default : + undef); + } + + return $default; +} + +sub settings_get_select_font_family +{ + my ($v, $k) = @_; + return ''; + +} + +sub settings_get_select_navigation_color +{ + my ($v, $k) = @_; + return ''; + +} + +sub settings_get_select_editor_color +{ + my ($v, $k) = @_; + return ''; + +} + +sub _settings +{ + my ($t, $k, $v) = @_; + + if ($t eq 'get') { + my @settings = ( + '__', + _settings('fa', 'file-o', + &Atext('settings_right_page_defaults_title') . "~" . &Atext('settings_right_page_default_description') + ), + 'settings_right_default_tab_webmin', + (foreign_available("virtual-server") ? 'virtualmin' : '/'), + 'settings_webmin_default_module', + get_goto_module(), + 'settings_right_virtualmin_default', + 'sysinfo.cgi', + 'settings_right_cloudmin_default', + 'sysinfo.cgi', + 'settings_right_default_tab_usermin', + '/', + + '__', + _settings('fa', 'desktop', &Atext('settings_global_options_title')), + 'settings_font_family', + '0', + 'settings_navigation_color', + 'blue', + 'settings_grayscale_level_navigation', + '0', + 'settings_sepia_level_navigation', + '0', + 'settings_saturate_level_navigation', + '1', + 'settings_hue_level_navigation', + '0', + 'settings_invert_level_navigation', + '0', + 'settings_brightness_level_navigation', + '1', + 'settings_contrast_level_navigation', + '1', + 'settings_grayscale_level_content', + '0', + 'settings_saturate_level_content', + '1', + 'settings_hue_level_content', + '0', + 'settings_cm_editor_palette', + 'monokai', + 'settings_hide_top_loader', + 'false', + 'settings_animation_left', + 'true', + 'settings_animation_tabs', + 'true', + 'settings_right_reload', + 'true', + 'settings_global_passgen_format', + '12|a-z,A-Z,0-9,#', + '__', + _settings('fa', 'sub-title', '' . "~" . &Atext('settings_window_replaced_timestamps_options_description')), + 'settings_window_replace_timestamps', + 'true', + 'settings_window_replaced_timestamp_format_full', + 'LLLL', + 'settings_window_replaced_timestamp_format_short', + 'L, LTS', + + '__', + _settings('fa', 'bell', &Atext('settings_right_notification_slider_options_title')), + 'settings_side_slider_enabled', + 'true', + 'settings_side_slider_fixed', + 'false', + 'settings_side_slider_sysinfo_enabled', + 'true', + 'settings_side_slider_notifications_enabled', + 'true', + 'settings_side_slider_favorites_enabled', + 'true', + 'settings_side_slider_palette', + 'grey', + 'settings_side_slider_background_refresh_time', + '5', + + '__', + _settings('fa', 'bars', &Atext('settings_right_navigation_menu_title')), + 'settings_leftmenu_width', + '260', + 'settings_switch_rdisplay', + 'false', + 'settings_button_tooltip', + 'true', + 'settings_leftmenu_section_hide_refresh_modules', + 'false', + 'settings_leftmenu_section_hide_unused_modules', + 'false', + 'settings_sysinfo_link_mini', + 'false', + 'settings_show_night_mode_link', + 'true', + 'settings_show_terminal_link', + 'true', + 'settings_favorites', + 'true', + 'settings_theme_options_button', + 'true', + 'settings_leftmenu_button_language', + 'false', + 'settings_leftmenu_button_refresh', + 'false', + 'settings_leftmenu_netdata', + 'true', + 'settings_leftmenu_netdata_link', + 'http://' . get_system_hostname() . ':19999', + 'settings_leftmenu_user_html', + '', + 'settings_leftmenu_user_html_only_for_administrator', + 'false', + + '__', + _settings('fa', 'table', &Atext('settings_right_table_options_title')), + 'settings_right_hide_table_icons', + 'false', + 'settings_right_small_table_icons', + 'false', + 'settings_right_animate_table_icons', + 'true', + 'settings_right_grayscaled_table_icons', + 'true', + + '__', + _settings('fa', 'keyboard-o', &Atext('settings_right_hotkey_options_title')), + 'settings_hotkeys_active', + 'true', + 'settings_hotkey_toggle_modifier', + 'altKey', + 'settings_hotkey_toggle_key_webmin', + 'w', + 'settings_hotkey_toggle_key_virtualmin', + 'v', + 'settings_hotkey_toggle_key_cloudmin', + 'c', + 'settings_hotkey_toggle_key_usermin', + 'u', + 'settings_hotkey_toggle_key_webmail', + 'm', + 'settings_hotkey_shell', + 'k', + 'settings_hotkey_sysinfo', + 'i', + 'settings_hotkey_toggle_slider', + 'n', + 'settings_hotkey_favorites', + 'f', + 'settings_hotkey_focus_search', + 's', + 'settings_hotkey_reload', + 'r', + 'settings_hotkey_toggle_key_night_mode', + 'l', '__', + _settings('fa', 'sub-title', '' . "~" . &Atext('settings_right_hotkey_custom_options_description')), + 'settings_hotkey_custom_1', + '', + 'settings_hotkey_custom_2', + '', + 'settings_hotkey_custom_3', + '', + 'settings_hotkey_custom_4', + '', + 'settings_hotkey_custom_5', + '', + 'settings_hotkey_custom_6', + '', + 'settings_hotkey_custom_7', + '', + 'settings_hotkey_custom_8', + '', + 'settings_hotkey_custom_9', + '', + + '__', + _settings('fa', 'info-circle', &Atext('settings_right_sysinfo_page_options_title')), + 'settings_sysinfo_easypie_charts', + 'true', + 'settings_sysinfo_easypie_charts_size', + '172', + 'settings_sysinfo_easypie_charts_width', + '4', + 'settings_sysinfo_easypie_charts_scale', + '8', + 'settings_sysinfo_drive_status_on_new_line', + 'true', + 'settings_sysinfo_expand_all_accordions', + 'false', + + '__', + _settings('fa', 'info-circle', &Atext('settings_right_soft_updates_page_options_title')), + 'settings_sysinfo_theme_updates', + 'false', + 'settings_sysinfo_theme_patched_updates', + 'false', + 'settings_sysinfo_csf_updates', + 'false'); + + return (@settings); + } + + if ($t eq 'exclusions') { + my @_s_e = (); + + # List of combined settings for Virtualmin/Cloudmin/Usermin + my @s_vc_e = ('settings_right_default_tab_webmin', 'settings_right_reload'); + + if (!&foreign_available("server-manager") && + !foreign_available("virtual-server")) + { + foreach my $e (@s_vc_e) { + push(@_s_e, $e); + } + } + + if (!&foreign_available("server-manager") && + !foreign_available("virtual-server") && + !usermin_available('mailbox')) + { + push(@_s_e, 'settings_right_page_defaults_title'); + } + + # List of settings for Virtualmin + my @s_vm_e = ('settings_right_virtualmin_default', 'settings_hotkey_toggle_key_virtualmin'); + + if (!foreign_available("virtual-server")) { + foreach my $e (@s_vm_e) { + push(@_s_e, $e); + } + } + + # List of settings for Cloudmin + my @s_cm_e = ('settings_right_cloudmin_default', 'settings_hotkey_toggle_key_cloudmin'); + if (!&foreign_available("server-manager")) { + foreach my $e (@s_cm_e) { + push(@_s_e, $e); + } + } + + # List of settings for Usermin + my @s_um_e = ('settings_hotkey_toggle_key_usermin'); + if (!usermin_available()) { + foreach my $e (@s_um_e) { + push(@_s_e, $e); + } + } + + # List of settings for Webmail + my @s_wm_e = ('settings_hotkey_toggle_key_webmail', 'settings_right_default_tab_usermin'); + if (!usermin_available("mailbox")) { + foreach my $e (@s_wm_e) { + push(@_s_e, $e); + } + } + + # List of settings for ConfigServer Security & Firewall + my @s_cf_e = ('settings_sysinfo_csf_updates'); + if (!&foreign_available("csf")) { + foreach my $e (@s_cf_e) { + push(@_s_e, $e); + } + } + + # Netdata link and default address + my @s_netd_e = ('settings_leftmenu_netdata', 'settings_leftmenu_netdata_link'); + if (!has_command('netdata')) { + foreach my $e (@s_netd_e) { + push(@_s_e, $e); + } + } + + return @_s_e; + } + + if ($t eq 'fa') { + return $v; + } + + if ($t eq 'header') { + return ' + ' . $Atext{'settings_right_title'} . ' +

    +
    +
    + + + + + + + +
     ' + . $Atext{'settings_right_theme_configurable_options_title'} . '
    + + + '; + } + + if ($t eq 'section') { + foreach my $e (@_s_e) { + if ($k =~ /\Q$Atext{$e}\E/) { + return; + } + } + return ' + + + + '; + } + + if ($t eq 'content') { + foreach my $o (@_s_e) { + if ($k eq $o) { + return; + } + } + + my $v = (length $__settings{$k} ? $__settings{$k} : $v); + + if ($v eq 'true' || $v eq 'false') { + my $disabled; + + # Force disabled state + if (!has_command('git') && + ($k eq 'settings_sysinfo_theme_updates' || $k eq 'settings_sysinfo_theme_patched_updates')) + { + $disabled = " pointer-events-none"; + } + + $v = ' + + + + + + '; + + } elsif ($k =~ /settings_security_notify_on_/ || + $k =~ /settings_hotkey_toggle_key_/ || + $k eq 'settings_hotkey_focus_search' || + $k eq 'settings_hotkey_toggle_slider' || + $k eq 'settings_hotkey_reload' || + $k eq 'settings_hotkey_shell' || + $k eq 'settings_hotkey_sysinfo' || + $k eq 'settings_hotkey_favorites' || + $k eq 'settings_side_slider_background_refresh_time' || + $k eq 'settings_sysinfo_easypie_charts_size' || + $k eq 'settings_sysinfo_easypie_charts_width' || + $k eq 'settings_sysinfo_easypie_charts_scale') + { + + my $width = + ($k =~ /settings_hotkey_toggle_key_/ || + $k eq 'settings_hotkey_focus_search' || + $k eq 'settings_hotkey_toggle_slider' || + $k eq 'settings_hotkey_reload' || + $k eq 'settings_hotkey_shell' || + $k eq 'settings_hotkey_sysinfo' || + $k eq 'settings_hotkey_favorites' || + $k eq 'settings_side_slider_background_refresh_time' || + $k eq 'settings_sysinfo_easypie_charts_width' || + $k eq 'settings_sysinfo_easypie_charts_scale') ? + ' width: 36px; ' : + ($k eq 'settings_sysinfo_easypie_charts_size' ? ' width: 48px; ' : ' width: 95%; '); + my $max_length = + ($k =~ /settings_hotkey_toggle_key_/ || + $k eq 'settings_hotkey_focus_search' || + $k eq 'settings_hotkey_toggle_slider' || + $k eq 'settings_hotkey_reload' || + $k eq 'settings_hotkey_shell' || + $k eq 'settings_hotkey_sysinfo' || + $k eq 'settings_hotkey_favorites') ? + ' maxlength="1"' : + ' '; + + $v = ' + + '; + + } elsif ($k eq 'settings_grayscale_level_navigation' || + $k eq 'settings_sepia_level_navigation' || + $k eq 'settings_saturate_level_navigation' || + $k eq 'settings_hue_level_navigation' || + $k eq 'settings_invert_level_navigation' || + $k eq 'settings_brightness_level_navigation' || + $k eq 'settings_contrast_level_navigation' || + $k eq 'settings_grayscale_level_content' || + $k eq 'settings_saturate_level_content' || + $k eq 'settings_leftmenu_width' || + $k eq 'settings_hue_level_content') + { + + my $range_max = '1'; + my $range_min = '0'; + my $range_step; + + if ($k eq 'settings_grayscale_level_navigation' || + $k eq 'settings_sepia_level_navigation' || + $k eq 'settings_saturate_level_navigation' || + $k eq 'settings_invert_level_navigation' || + $k eq 'settings_grayscale_level_content' || + $k eq 'settings_saturate_level_content') + { + + if ($k eq 'settings_saturate_level_navigation' || + $k eq 'settings_saturate_level_content') + { + $range_max = '3'; + } + $range_step = '0.1'; + } elsif ($k eq 'settings_brightness_level_navigation' || + $k eq 'settings_contrast_level_navigation') + { + $range_min = '0.1'; + $range_max = '3'; + $range_step = '0.01'; + } elsif ($k eq 'settings_hue_level_navigation' || + $k eq 'settings_hue_level_content') + { + $range_min = '-360'; + $range_max = '360'; + $range_step = '1'; + } elsif ($k eq 'settings_leftmenu_width') { + $range_min = '260'; + $range_max = '520'; + $range_step = '1'; + } + $v = ' + + '; + + } elsif ($k eq 'settings_hotkey_custom_1' || + $k eq 'settings_hotkey_custom_2' || + $k eq 'settings_hotkey_custom_3' || + $k eq 'settings_hotkey_custom_4' || + $k eq 'settings_hotkey_custom_5' || + $k eq 'settings_hotkey_custom_6' || + $k eq 'settings_hotkey_custom_7' || + $k eq 'settings_hotkey_custom_8' || + $k eq 'settings_hotkey_custom_9' || + $k eq 'settings_leftmenu_netdata_link' || + $k eq 'settings_leftmenu_user_html' || + $k eq 'settings_global_passgen_format' || + $k eq 'settings_window_replaced_timestamp_format_full' || + $k eq 'settings_window_replaced_timestamp_format_short') + { + my $width = ' width: 40%; '; + + if ($k eq 'settings_global_passgen_format') { + $width = ' width: 30%; '; + } + if ($k eq 'settings_window_replaced_timestamp_format_full' || + $k eq 'settings_window_replaced_timestamp_format_short' || + $k eq 'settings_leftmenu_netdata_link') + { + $width = ' width: 50%; '; + } elsif ($k eq 'settings_leftmenu_user_html') { + $width = ' width: 95%; '; + } + + $v = ' + + '; + } elsif ($k eq 'settings_right_default_tab_webmin') { + $v = ''; + } elsif ($k eq 'settings_webmin_default_module') { + my @modules = get_all_module_infos(); + my $select = ui_select("goto_webmin_default_module", + $gconfig{'gotomodule'}, + [["", ""], map {[$_->{'dir'}, $_->{'desc'}]} + sort {$a->{'desc'} cmp $b->{'desc'}} @modules + ]); + $v = $select; + } elsif ($k eq 'settings_right_default_tab_usermin') { + $v = ''; + } + + elsif ($k eq 'settings_hotkey_toggle_modifier') { + $v = ''; + } elsif ($k eq 'settings_right_virtualmin_default') { + get_user_level(); + $v = &ui_select($k, $v, + [[undef, undef], + ['index.cgi', $Atext{'theme_settings_virtualmin'}], + map {[$_->{'id'}, &virtual_server::show_domain_name($_)]} + grep {&virtual_server::can_edit_domain($_)} + sort {$a->{'dom'} cmp $b->{'dom'}} &virtual_server::list_domains() + ]); + } elsif ($k eq 'settings_right_cloudmin_default') { + get_user_level(); + @servers = &server_manager::list_available_managed_servers_sorted(); + $v = &ui_select($k, $v, + [[undef, undef], + ['index.cgi', $Atext{'theme_settings_cloudmin'}], + map {[$_->{'id'}, $_->{'host'}]} @servers, + ]); + + } elsif ($k eq 'settings_font_family') { + $v = settings_get_select_font_family($v, $k); + } elsif ($k eq 'settings_navigation_color') { + $v = settings_get_select_navigation_color($v, $k); + } elsif ($k eq 'settings_background_color') { + $v = settings_get_select_background_color($v, $k); + } elsif ($k eq 'settings_cm_editor_palette') { + $v = settings_get_select_editor_color($v, $k); + } elsif ($k eq 'settings_side_slider_palette') { + $v = ''; + } + + return ' + + + + + '; + } + + if ($t eq 'footer') { + return ' + +
    ' . $k . '' . + ($v && '
    ' . $v . '
    ') . '
    ' + . $Atext{$k} . '' . ($Atext{ $k . '_description' } && + '
    ' . $Atext{ $k . '_description' } . '
    ') . + '
    ' + . $v . '
    +
    +
    + + + + + + + +
    +
    + ' + . $text{'save'} . ' + ' + . $Atext{'settings_right_restore_defaults'} . ' + ' + . $Atext{'settings_right_clear_local_cache'} . ' + ' . ( + $get_user_level eq '0' && has_command('git') ? + ' + + + ' + : + '' + ) . + ' +
    +
    + +
    +
    + '; + } + + if ($t eq 'save' || $t eq 'restore') { + + theme_config_dir_available(); + + if ($t eq 'save') { + !foreign_available("webmin") && + error($Atext{'theme_error_access_not_root'}); + my %i = settings_filter(%in, $t); + write_file($config_directory . "/$current_theme/settings.js", \%i); + } + if ($t eq 'restore') { + + !foreign_available("webmin") && + error($Atext{'theme_error_access_not_root'}); + + unlink_file($config_directory . "/$current_theme/settings.js"); + unlink_file(get_tuconfig_file()); + if (usermin_available()) { + unlink_file($__usermin_config . "/$current_theme/settings.js"); + } + } + + if (usermin_available()) { + unlink_file($__usermin_config . "/$current_theme/settings.js"); + copy_source_dest($config_directory . "/$current_theme/settings.js", $__usermin_config . "/$current_theme"); + } + + if (-r $config_directory . "/$current_theme/logo.png" && + usermin_available()) + { + unlink_file($__usermin_config . "/$current_theme/logo.png"); + copy_source_dest($config_directory . "/$current_theme/logo.png", $__usermin_config . "/$current_theme"); + } + if (-r $config_directory . "/$current_theme/logo_welcome.png" && + usermin_available()) + { + unlink_file($__usermin_config . "/$current_theme/logo_welcome.png"); + copy_source_dest($config_directory . "/$current_theme/logo_welcome.png", $__usermin_config . "/$current_theme"); + } + } +} + +sub get_xhr_request +{ + + if ($in =~ /xhr-/) { + head(); + + if ($in{'xhr-navigation'} eq '1') { + require "$current_theme/navigation.pm"; + } elsif ($in{'xhr-buttons'} eq '1') { + require "$current_theme/buttons.pm"; + } elsif ($in{'xhr-default'} eq '1') { + print get_default_right(); + } elsif ($in{'xhr-settings'} eq '1') { + if ($in{'save'} eq '1') { + _settings('save', undef, undef); + } elsif ($in{'restore'} eq '1') { + _settings('restore', undef, undef); + } else { + require "$current_theme/settings.pm"; + } + } elsif ($in{'xhr-manage-config'} eq '1') { + if ($in{'save'} eq '1') { + print manage_theme_config('save'); + } elsif ($in{'load'} eq '1') { + print manage_theme_config('load'); + } + } elsif ($in{'xhr-get_theme_language'} eq '1') { + print get_theme_language(); + } elsif ($in{'xhr-get_available_modules'} eq '1') { + print get_available_modules('json'); + } elsif ($in{'xhr-get_size'} eq '1') { + my $size = recursive_disk_usage(get_access_data('root') . $in{'xhr-get_size_path'}); + print nice_size($size) . '|' . $size; + } elsif ($in{'xhr-get_list'} eq '1') { + + my $path = "$in{'xhr-get_list_path'}"; + my @dirs; + + if ($get_user_level eq '2' || $get_user_level eq '4') { + $path = get_user_home() . $path; + } + opendir(my $dirs, $path); + while (my $dir = readdir $dirs) { + next unless -d $path . '/' . $dir; + next if $dir eq '.' or $dir eq '..'; + push @dirs, $dir; + } + closedir $dirs; + + @dirs = sort {"\L$a" cmp "\L$b"} @dirs; + print get_json(\@dirs); + + } elsif ($in{'xhr-encoding_convert'} eq '1') { + if ($get_user_level ne '1') { + switch_to_remote_user(); + } + my $data; + use Encode qw( encode decode ); + eval { + $data = Encode::encode('utf-8', + Encode::decode($in{'xhr-encoding_convert_name'}, + read_file_contents($in{'xhr-encoding_convert_file'}) + )); + }; + print $data; + } elsif ($in{'xhr-get_update_notice'} eq '1') { + print update_notice(); + } elsif ($in{'xhr-get_nice_size'} eq '1') { + print nice_size($in{'xhr-get_nice_size_sum'}); + } elsif ($in{'xhr-get_command_exists'} eq '1') { + print has_command($in{'xhr-get_command_exists_name'}); + } elsif ($in{'xhr-get_symlink'} eq '1') { + print resolve_links(get_access_data('root') . $in{'xhr-get_symlink_path'}); + } elsif ($in{'xhr-get_autocompletes'} eq '1') { + my @data = + get_autocomplete_shell($in{'xhr-get_autocomplete_type'}, $in{'xhr-get_autocomplete_string'}); + print get_json(\@data); + } elsif ($in{'xhr-update'} eq '1' && foreign_available('webmin')) { + my @update_rs; + my $version_type = $in{'xhr-update-type'}; + if (!has_command('git')) { + @update_rs = { "no_git" => $Atext{'theme_git_patch_no_git_message'}, }; + print get_json(\@update_rs); + } else { + my $usermin = usermin_available(); + my $usermin_root; + backquote_logged("yes | $root_directory/$current_theme/theme-update.sh -$version_type -no-restart"); + if ($usermin) { + $usermin_root = $root_directory; + $usermin_root =~ s/webmin/usermin/; + backquote_logged("yes | $usermin_root/$current_theme/theme-update.sh -$version_type -no-restart"); + } + my $tversion = (theme_git_version(1) ? theme_git_version(1) : theme_version('full')); + @update_rs = { + "success" => ($usermin ? Atext('theme_git_patch_update_success_message2', $tversion) : + Atext('theme_git_patch_update_success_message', $tversion) + ) }; + print get_json(\@update_rs); + } + } elsif ($in{'xhr-info'} eq '1') { + our ($cpu_percent, $mem_percent, $virt_percent, $disk_percent, + $host, $os, $webmin_version, $virtualmin_version, + $cloudmin_version, $authentic_theme_version, $local_time, $kernel_arch, + $cpu_type, $cpu_temperature, $hdd_temperature, $uptime, + $running_proc, $load, $real_memory, $virtual_memory, + $disk_space, $package_message, $csf_title, $csf_data, + $csf_remote_version, $authentic_remote_version + ) = get_sysinfo_vars(); + + if (&foreign_available("system-status")) { + my @info = &list_combined_system_info({ 'qshow', 1 }); + my @updated_info = { "data" => 1, + "cpu_percent" => $cpu_percent, + "mem_percent" => $mem_percent, + "virt_percent" => $virt_percent, + "disk_percent" => $disk_percent, + "host" => $host, + "os" => $os, + "webmin_version" => $webmin_version, + "virtualmin_version" => $virtualmin_version, + "cloudmin_version" => $cloudmin_version, + "authentic_theme_version" => $authentic_theme_version, + "local_time" => $local_time, + "kernel_arch" => $kernel_arch, + "cpu_type" => $cpu_type, + "cpu_temperature" => $cpu_temperature, + "hdd_temperature" => $hdd_temperature, + "uptime" => $uptime, + "running_proc" => $running_proc, + "load" => $load, + "real_memory" => $real_memory, + "virtual_memory" => $virtual_memory, + "disk_space" => $disk_space, + "package_message" => $package_message, + "csf_title" => $csf_title, + "csf_data" => $csf_data, + "csf_remote_version" => $csf_remote_version, + "authentic_remote_version" => $authentic_remote_version, + "csf_deny" => csf_temporary_list(), + "extended_si" => get_extended_sysinfo(\@info, undef), + "warning_si" => get_sysinfo_warning(@info), }; + print get_json(@updated_info); + } else { + print get_json_empty(); + } + } + + exit; + } +} + +sub get_default_right +{ + # Check user settings on default page for Virtualmin/Cloudmin + if ($t_uri__i =~ /virtual-server/ && + ( $t_uri___i || + ( length $__settings{'settings_right_virtualmin_default'} && + $__settings{'settings_right_virtualmin_default'} ne '' && + (\domain_available($__settings{'settings_right_virtualmin_default'}, 'id') || + $__settings{'settings_right_virtualmin_default'} eq 'index.cgi'))) + + ) + { + if ($get_user_level eq '2') { + if ($t_uri___i) { + my $dom = domain_available($t_uri___i, 'dom'); + if ($dom) { + return '/virtual-server/view_domain.cgi?dom=' . $dom->{'id'}; + } else { + return '/sysinfo.cgi'; + } + } else { + return '/sysinfo.cgi'; + } + + } else { + if ($__settings{'settings_right_virtualmin_default'} eq 'index.cgi' && + !$t_uri___i) + { + return '/virtual-server/index.cgi'; + } else { + if (!$t_uri___i) { + return '/virtual-server/summary_domain.cgi?dom=' . $__settings{'settings_right_virtualmin_default'}; + } else { + if ($t_uri___i) { + my $dom = domain_available($t_uri___i, 'dom'); + if ($dom) { + return '/virtual-server/summary_domain.cgi?dom=' . $dom->{'id'}; + } else { + return '/virtual-server/index.cgi'; + } + } else { + return '/virtual-server/index.cgi'; + } + } + + } + } + } + elsif ($t_uri__i =~ /server-manager/ && + ($t_uri___i || + ( length $__settings{'settings_right_cloudmin_default'} && + $__settings{'settings_right_cloudmin_default'} ne '' && + (\server_available($__settings{'settings_right_cloudmin_default'}, 'id') || + $__settings{'settings_right_cloudmin_default'} eq 'index.cgi')))) + { + if ($__settings{'settings_right_cloudmin_default'} eq 'index.cgi' && + !$t_uri___i) + { + return '/server-manager/index.cgi'; + } else { + if (!$t_uri___i) { + return '/server-manager/edit_serv.cgi?id=' . $__settings{'settings_right_cloudmin_default'}; + } else { + + if ($t_uri___i) { + my $host = server_available($t_uri___i, 'host'); + if ($host) { + return '/server-manager/edit_serv.cgi?id=' . $host->{'id'}; + } else { + return '/server-manager/index.cgi'; + } + } else { + return '/server-manager/index.cgi'; + } + } + } + } + + # Going to default right page for Webmin/Usermin + my $minfo = &get_goto_module(); + return ($minfo ? "$minfo->{'dir'}/" : '/sysinfo.cgi'); + + # Prevent Virtualmin/Cloudmin module from being set as default page + if ($minfo->{'dir'} eq 'virtual-server' || + $minfo->{'dir'} eq 'server-manager') + { + return '/sysinfo.cgi'; + } + + # Goto Inbox in Usermin Mail mode + if ($get_user_level eq '3' & foreign_available("mailbox") && + $t_uri__i =~ /mailbox/) + { + return '/mailbox/index.cgi?id=INBOX'; + } +} + +sub init_error +{ + if (!-d $root_directory . "/authentic-theme" && + -d $root_directory . "/authentic-theme-master") + { + die( +"ATTENTION:\nHave you downloaded Authentic Theme from GitHub, and unpacked it manually\nto Webmin directory? In this case you need to rename theme directory from\n`authentic-theme-master` to `authentic-theme` in order to make theme work.\nAfterward, you will need to reset the theme again in Webmin Configuration.\n" + ); + } +} + +sub init_type +{ + (($ENV{'CONTENT_TYPE'} =~ /multipart\/form-data/i) ? ReadParseMime() : + ReadParse()); +} + +sub init +{ + + # Make sure that config directory exists + theme_config_dir_available(); + + # Register hooks + $t_uri____i = ($t_uri__i =~ /virtual-server/ ? 'dom' : 'sid'); + $t_uri__i =~ /virtual-server/ ? ($t_uri___i = ($in{'domain'} ? $in{'domain'} : $in{'dom'})) : + undef; + $t_uri__i =~ /server-manager/ ? ($t_uri___i = ($in{'serv'} ? $in{'serv'} : $in{'server'})) : + undef; + + # User-friendly message for those installing from GitHub + init_error(); + + # Provide unobstructive access for AJAX calls + get_xhr_request(); + + # ConfigServer Security Firewall mod + csf_mod(); +} + +sub content +{ + + # Mobile toggle + print '
    '; + print '' . "\n"; + print '
    ' . "\n"; + + print '' . "\n"; + + # Authenticated logo + embed_logo(); + + # Favorites menu + print_favorites(); + + # Content + print '
    ' . "\n"; + + print '
    ' . "\n"; +} + +sub update_notice +{ + my $changelog_data = + (read_file_contents($root_directory . '/' . $current_theme . "/CHANGELOG.md") =~ + /#### Version(.*?)/s)[0]; + if ($changelog_data) { + $changelog_data =~ +s/###(.*?)\)/<\/ul>@{[get_version_full($1)]}$2<\/a>
      /g; + } else { + $changelog_data = + (read_file_contents($root_directory . '/' . $current_theme . "/CHANGELOG.md") =~ + /### Version(.*?)/s)[0]; + } + my @changelog_version = split /\n/, $changelog_data; + + $changelog_data =~ s/^[^\n]*\n/\n/s; + $changelog_data =~ s/`(.*?)`/$1<\/code>/g; + $changelog_data =~ s/__(.*?)__/$1<\/strong>/g; + $changelog_data =~ s/_(.*?)_/$1<\/em>/g; + $changelog_data =~ s/(Fixed bugs)/$1<\/span>/g; + $changelog_data =~ s/\[([^\[]+)\]\(([^\)]+)\)/$1<\/a>/g; + $changelog_data =~ s/\n\*(.*)/\n
    • $1<\/li>/g; + + my $changelog_content = ' + '; + return $changelog_content; +} + +sub get_json +{ + if (@_) { + return JSON->new->latin1->encode(@_); + } else { + return JSON->new->latin1->encode({}); + } +} + +sub get_json_empty +{ + return JSON->new->latin1->encode({}); +} + +sub get_cookies +{ + + my @r = split /; /, get_env('http_cookie'); + my %c; + + foreach (@r) { + my ($k, $v) = split /=/, $_; + $c{$k} = $v; + } + + return %c; +} + +sub get_access_data +{ + my ($key) = @_; + if ($key) { + if ($key eq 'root' && $gaccess{'root'} eq '/') { + return undef; + } else { + return $gaccess{$key}; + } + } else { + return %gaccess; + } +} + +sub get_available_modules +{ + my ($json) = @_; + my @mods; + + foreach my $x (get_all_module_infos()) { + if ($x->{'dir'} ne undef && &foreign_available($x->{'dir'})) { + push @mods, $x->{'dir'}; + } + } + if ($json eq 'json') { + get_json(\@mods); + } else { + return @mods; + } + +} + +sub manage_theme_config +{ + my ($action) = @_; + my %tuconfig; + + if ($action eq 'save') { + my %i = settings_filter(%in); + write_file(get_tuconfig_file(), \%i); + } elsif ($action eq 'load') { + my $tuconfig_file = (get_tuconfig_file()); + if (-f $tuconfig_file) { + my %tuconfig = (settings($tuconfig_file, 'config_portable_')); + get_json(\%tuconfig); + } else { + get_json_empty(); + } + } +} + +sub get_button_tooltip +{ + my ($label, $key, $placement) = @_; + + my $mod_key = $__settings{'settings_hotkey_toggle_modifier'}; + my $the_key = ucfirst($__settings{$key}); + + return ($__settings{'settings_button_tooltip'} ne 'false' ? + (' data-placement="' . $placement . '" data-toggle="tooltip" data-title="' + . + ($Atext{$label} + . + (length $__settings{'settings_hotkeys_active'} && + $__settings{'settings_hotkeys_active'} ne 'false' && + $the_key ? + " (" . + ($mod_key eq "altKey" ? "Alt" : $mod_key eq "ctrlKey" ? "Ctrl" : "Meta") . '+' . $the_key . ")" : + '' + ) + ) . + '"' + ) : + ' '); +} + +sub get_theme_language +{ + + my %text = &load_language($current_theme); + + my %s; + foreach my $key (keys %text) { + if ($key !~ /_xhred_/ && + $key !~ /body_/ && + $key !~ /right_/) + { + next; + } + $s{$key} .= $Atext{$key}; + } + + get_json(\%s); + +} + +sub get_module_config_data +{ + my ($module, $key) = @_; + + if (-r $config_directory . '/' . $module . '/config') { + + my $config = &read_file_contents($config_directory . '/' . $module . '/config'); + my %config = $config =~ /(.*?)=(.*)/g; + + if ($key) { + return $config{$key}; + } else { + return %config; + } + } else { + return undef; + } + +} + +sub get_autocomplete_shell +{ + my ($type, $string) = @_; + my ($cd, $cmd, $cd_cmd, $command, @rs); + + if ($type eq 'commands') { + $command = '-c'; + } elsif ($type eq 'groups') { + $command = '-g'; + } elsif ($type eq 'service') { + (!string_starts_with($string, '::::') && ($command = '-s')); + } elsif ($type eq 'systemctl') { + $command = undef; + } elsif ($type eq 'users') { + $command = '-u'; + } else { + my @strings = + split /::::/, $string; + ($cd, $string, $cmd, $cmd2) = @strings[0, 1, 2, 3]; + $cd_cmd = "cd $cd; "; + $command = '-o default'; + } + + if ($command) { + @rs = + array_unique( + backquote_command($cd_cmd . "bash -c 'compgen " . $command . " '" . quotemeta($cmd2 ? $cmd2 : $string) . "")); + + } else { + if ($type eq 'service' && has_command('service')) { + my @cmd = split /::::/, $string; + my $units_tmp = + backquote_command("service " . quotemeta($cmd[1])); + my ($unit_tmp) = $units_tmp =~ / \( ( [^\)]+ ) \) /x; + if (!$unit_tmp) { + ($unit_tmp) = $units_tmp =~ / { ( [^}]+ ) } /x; + } + if (!$unit_tmp) { + ($unit_tmp) = $units_tmp =~ / \[ ( [^]]+ ) \] /x; + } + + $unit_tmp =~ s/\s+//g; + $unit_tmp =~ s/\|/,/g; + $unit_tmp =~ s/;/,/g; + + my @units_tmp = split /,/, $unit_tmp; + my @units_possible_tmp = ('start', 'stop', 'restart', 'try-restart', 'reload', 'force-reload', 'status'); + @rs_tmp = (@units_tmp ? @units_tmp : @units_possible_tmp); + my @rs_cmd; + + if ($cmd[2]) { + foreach my $cmd (@rs_tmp) { + if (string_starts_with($cmd, $cmd[2])) { + push @rs_cmd, $cmd; + } + } + @rs = @rs_cmd; + } else { + @rs = @rs_tmp; + } + } + if ($type eq 'systemctl' && has_command('systemctl')) { + my (@units, @units_tmp); + + @units_tmp = array_unique(backquote_command("systemctl list-unit-files")); + my $i = 0; + my $n = $#units_tmp; + foreach my $unit (@units_tmp) { + my @tmp = split / {1,}/, $unit; + my ($unit_tmp, $status_tmp) = @tmp[0, 1]; + + if ($i && + --$n && + $unit_tmp && + (!$string || + string_starts_with($unit_tmp, $string))) + { + push @units, $unit_tmp; + } + + $i++; + } + @rs = @units; + } + } + if ($cd || $cmd2) { + my @rs_tmp; + foreach my $file (@rs) { + if (-d $file || -d ($cd . $file)) { + push @rs_tmp, ($file . '/'); + } else { + if ($cmd ne 'cd') { + push @rs_tmp, $file; + } + } + } + @rs = @rs_tmp; + } + return @rs; +} + +sub string_starts_with +{ + my ($string, $search) = @_; + if ($string =~ m/^\Q$search/) { + return 1; + } else { + return 0; + } +} + +sub array_unique +{ + my @unique; + my %seen; + + foreach my $value (@_) { + if (!$seen{$value}++) { + $value =~ tr/\r\n//d; + push @unique, $value; + } + } + return @unique; +} + +1; diff --git a/authentic.pm b/authentic.pm new file mode 100644 index 000000000..23d167963 --- /dev/null +++ b/authentic.pm @@ -0,0 +1,1066 @@ +# +# Authentic Theme (https://github.com/qooob/authentic-theme) +# Copyright Ilia Rostovtsev +# Licensed under MIT (https://github.com/qooob/authentic-theme/blob/master/LICENSE) +# + +do "$current_theme/authentic-init.pm"; + +sub theme_header +{ + + (get_raw() && return); + embed_header(($_[0], $_[7], theme_mode(), (@_ > 1 ? '1' : '0'))); + + print '' . "\n"; + if (@_ > 1 && $_[1] ne 'stripped') { + print '
      ' . "\n"; + my %this_module_info = &get_module_info(&get_module_name()); + print '
      ' . "\n"; + print '
      ' . "\n"; + print "\n"; + + print '\n"; + if ($_[1]) { + print "\n"; + } else { + my $ts = + defined($tconfig{'titlesize'}) ? $tconfig{'titlesize'} : + "+2"; + print "\n"; + } + print "
      ", "\"$_[0]\"", ($ts ? "" : ""), $_[0], ($ts ? "" : ""); + print "
      $_[9]\n" if ($_[9]); + print "
      "; + print $_[6]; + print "
      \n"; + print $tconfig{'postheader'}; + print '
      ' . "\n"; + print '
      ' . "\n"; + } + $miniserv::page_capture = 1; +} + +sub theme_footer +{ + (get_raw() && return); + for (my $i = 0; $i + 1 < @_; $i += 2) { + my $url = $_[$i]; + if ($url ne '/' || !$tconfig{'noindex'}) { + if ($url eq '/') { + $url = "/?cat=$this_module_info{'category'}"; + } elsif ($url eq '' && &get_module_name()) { + $url = "/" . &get_module_name() . "/" . $this_module_info{'index_link'}; + } elsif ($url =~ /^\?/ && &get_module_name()) { + $url = "/" . &get_module_name() . "/$url"; + } + $url = "$gconfig{'webprefix'}$url" if ($url =~ /^\//); + $url = $url . "/" if ($url =~ /[^\/]$/ && $url !~ /.cgi/ && $url !~ /javascript:history/); + print +"   ", + &text('main_return', $_[$i + 1]), "\n"; + } + } + + print "
      \n"; + if (!@_ && get_env('script_name') ne '/session_login.cgi' && get_env('script_name') ne '/pam_login.cgi') { + my $prefix; + my $hostname = ($prefix) = split(/\./, get_display_hostname()); + print '
      +
      +
      +
      + [' + . $remote_user . + '@' . ($prefix ? $prefix : get_display_hostname()) . ' ~]' . ($get_user_level eq '0' ? '#' : '$') . +'  +
      +
      +
      ', "\n"; + } + embed_footer((theme_mode()), + ( + (get_module_name() || + get_env('request_uri') =~ /\/config.cgi\?/ || + get_env('request_uri') =~ /\/uconfig.cgi\?/ || + get_env('request_uri') =~ /\/webmin_search.cgi\?/ || + get_env('request_uri') =~ /\/settings-user.cgi/ || + get_env('request_uri') =~ /\/settings-editor_read.cgi/ || + get_env('request_uri') =~ /\/settings-upload.cgi/ + ) ? '1' : '0' + ), + $_[0]); + embed_pm_scripts(); + + if (get_env('script_name') eq '/session_login.cgi' || + get_env('script_name') eq '/pam_login.cgi') + { + embed_js_scripts(); + } + print '', "\n"; + print '', "\n"; +} + +sub theme_popup_prehead +{ + print ''; +} + +sub theme_file_chooser_button +{ + my $form = defined($_[2]) ? $_[2] : 0; + my $chroot = defined($_[3]) ? $_[3] : "/"; + my $add = int($_[4]); + my ($w, $h) = (520, 600); + if ($gconfig{'db_sizefile'}) { + ($w, $h) = split(/x/, $gconfig{'db_sizefile'}); + } + return +"\n"; +} + +sub theme_user_chooser_button +{ + my $form = defined($_[2]) ? $_[2] : 0; + my $w = $_[1] ? 500 : 300; + my $h = 600; + if ($_[1] && $gconfig{'db_sizeusers'}) { + ($w, $h) = split(/x/, $gconfig{'db_sizeusers'}); + } elsif (!$_[1] && $gconfig{'db_sizeuser'}) { + ($w, $h) = split(/x/, $gconfig{'db_sizeuser'}); + } + return +"\n"; +} + +sub theme_group_chooser_button +{ + my $form = defined($_[2]) ? $_[2] : 0; + my $w = $_[1] ? 500 : 300; + my $h = 600; + if ($_[1] && $gconfig{'db_sizeusers'}) { + ($w, $h) = split(/x/, $gconfig{'db_sizeusers'}); + } elsif (!$_[1] && $gconfig{'db_sizeuser'}) { + ($w, $h) = split(/x/, $gconfig{'db_sizeuser'}); + } + return +"\n"; +} + +sub theme_date_chooser_button +{ + my ($w, $h) = (320, 270); + if ($gconfig{'db_sizedate'}) { + ($w, $h) = split(/x/, $gconfig{'db_sizedate'}); + } + return +"\n"; +} + +sub theme_popup_window_button +{ + my ($url, $w, $h, $scroll, $fields) = @_; + my $scrollyn = $scroll ? "yes" : "no"; + my $rv = ""; + return $rv; +} + +sub theme_ui_upload +{ + my ($name, $size, $dis, $tags) = @_; + $size = &ui_max_text_width($size); + return ""; +} + +sub theme_icons_table +{ + my $hide_table_icons = ($__settings{'settings_right_hide_table_icons'} eq 'true' ? 1 : 0); + print '
      ' . "\n"; + for (my $i = 0; $i < @{ $_[0] }; $i++) { + + $hide_table_icons && + print '
      ' . "\n"; + &generate_icon($_[2]->[$i], $_[1]->[$i], $_[0]->[$i], ref($_[4]) ? $_[4]->[$i] : $_[4], + $_[5], $_[6], $_[7]->[$i], $_[8]->[$i]); + + $hide_table_icons && print '
      ' . "\n"; + } + print '
      ' . "\n"; +} + +sub theme_generate_icon +{ + my ($icon, $title, $link, $href, $width, $height, $before, $after) = @_; + if ($__settings{'settings_right_hide_table_icons'} eq 'true') { + print '
      '; + print $before; + print '

        ' . $title . '

      '; + print $after; + print '
      '; + } else { + my $icon_outer = $icon; + $icon =~ s/images//g; + my $grayscaled_table_icons = ($__settings{'settings_right_grayscaled_table_icons'} ne 'false' ? 0 : + 1); + my $animate_table_icons = ($__settings{'settings_right_animate_table_icons'} ne 'false' ? 0 : + 1); + (my $___svg = $icon) =~ s/.gif/.svg/; + + (!-r $root_directory . "/" . get_module_name() . "/" . $icon_outer) && + ($icon_outer = undef); + + my $__icon = (-r $root_directory . "/$current_theme/images/modules/" . get_module_name() . $icon ? + $gconfig{'webprefix'} . "/images/modules/" . get_module_name() . $icon : + -r $root_directory . "/$current_theme/images/modules/" . get_module_name() . $___svg ? + $gconfig{'webprefix'} . "/images/modules/" . get_module_name() . $___svg : + $icon_outer ? $icon_outer : + ($gconfig{'webprefix'} . "/images/not_found.svg")); + + if ($__settings{'settings_right_small_table_icons'} eq 'true') { + print '
      '; + if ($_[6] || $_[7]) { + if ($_[6]) { + print "$_[6]\n"; + } + if ($_[7]) { + print +"$_[7]\n"; + } + } + print "" . ''; + print "$title\n"; + print '
      '; + } else { + print '
      '; + if ($_[6] || $_[7]) { + if ($_[6]) { + print "$_[6]\n"; + } + if ($_[7]) { + print +"$_[7]\n"; + } + } + print "" . '
      '; + print "$title
      \n"; + print '
      '; + } + } +} + +sub theme_ui_columns_start +{ + my ($heads, $width, $noborder, $tdtags, $title) = @_; + my ($rv, $i); + + $rv .= '' . "\n"; + $rv .= '' . "\n"; + $rv .= '' . "\n"; + for ($i = 0; $i < @$heads; $i++) { + $rv .= '' . "\n"; + } + $rv .= '' . "\n"; + $rv .= '' . "\n"; + + return $rv; +} + +sub theme_ui_columns_row +{ + my ($cols, $tdtags) = @_; + my ($rv, $i); + + $rv .= '' . "\n"; + for ($i = 0; $i < @$cols; $i++) { + $rv .= '' . "\n"; + } + $rv .= '' . "\n"; + + return $rv; +} + +sub theme_ui_columns_header +{ + my ($cols, $tdtags) = @_; + my ($rv, $i); + + $rv .= '' . "\n"; + $rv .= '' . "\n"; + for ($i = 0; $i < @$cols; $i++) { + $rv .= '' . "\n"; + } + $rv .= '' . "\n"; + $rv .= '' . "\n"; + + return $rv; +} + +sub theme_ui_columns_end +{ + my $rv; + + $rv .= '
      '; + $rv .= ($heads->[$i] eq '' ? '
      ' : $heads->[$i]); + $rv .= '
      ' . "\n"; + $rv .= ($cols->[$i] !~ /\S/ ? '
      ' : $cols->[$i]); + $rv .= '
      '; + $rv .= ($cols->[$i] eq '' ? '#' : $cols->[$i]); + $rv .= '
      ' . "\n"; + + return $rv; +} + +sub theme_ui_link +{ + + my ($href, $text, $class, $tags) = @_; + return ( + "$text"); +} + +sub theme_select_all_link +{ + + my ($field, $form, $text) = @_; + $form = int($form); + $text ||= $text{'ui_selall'}; + return "$text"; +} + +sub theme_select_invert_link +{ + + my ($field, $form, $text) = @_; + $form = int($form); + $text ||= $text{'ui_selinv'}; + return "$text"; +} + +sub theme_select_rows_link +{ + my ($field, $form, $text, $rows) = @_; + $form = int($form); + my $js = "var sel = { " . join(",", map {"\"" . "e_escape($_) . "\":1"} @$rows) . " }; "; + $js .= +"for(var i=0; i$text"; +} + +sub theme_ui_form_start +{ + my ($script, $method, $target, $tags) = @_; + my $rv; + + $rv .= '
      \n"; + my $b; + $rv .= '
      '; + foreach $b (@$buttons) { + if (ref($b)) { + $rv .= &ui_submit($b->[1], $b->[0], $b->[3], $b->[4]) . ($b->[2] ? " " . $b->[2] : ""); + } elsif ($b) { + $rv .= "$b\n"; + } else { + $rv .= " \n"; + } + } + $rv .= '
      '; + $rv .= "\n"; + } + $rv .= "
      \n"; + if (!$nojs) { + + # When going back to a form, re-enable any text fields generated by + # ui_opt_textbox that aren't in the default state. + $rv .= "\n"; + } + return $rv; +} + +sub theme_ui_textbox +{ + my ($name, $value, $size, $dis, $max, $tags) = @_; + my $rv; + + $rv .= +'[0]); + my $label = $o->[1] || $o->[0]; + my $after; + if ($label =~ /^([\000-\377]*?)(([0]) . '" '; + $rv .= ($o->[0] eq $val ? 'checked ' : ''); + $rv .= ($dis ? 'disabled="true" ' : ''); + $rv .= 'id="' . $id . '" '; + $rv .= $o->[2] . ' '; + $rv .= '>' . "\n"; + $rv .= '' . $after . "\n"; + } + + return $rv; +} + +sub theme_ui_yesno_radio +{ + my ($name, $value, $yes, $no, $dis) = @_; + $yes = 1 if (!defined($yes)); + $no = 0 if (!defined($no)); + if ($value =~ /^[0-9,.E]+$/ || !$value) { + $value = int($value); + } + return ui_radio($name, $value, [[$yes, $text{'yes'}], [$no, $text{'no'}]], $dis); +} + +sub theme_ui_oneradio +{ + my ($name, $value, $label, $sel, $tags, $dis) = @_; + my $id = "e_escape("${name}_${value}"); + my $after; + if ($label =~ /^([^<]*)(<[\000-\377]*)$/) { + $label = $1; + $after = $2; + } + my $ret = + ""; + $ret .= + ' '; + $ret .= "$after\n"; + return $ret; +} + +sub theme_ui_checkbox +{ + my ($name, $value, $label, $sel, $tags, $dis) = @_; + my $after; + if ($label =~ /^([^<]*)(<[\000-\377]*)$/) { + $label = $1; + $after = $2; + } + return " " . '' . $after; +} + +sub theme_ui_textarea +{ + my ($name, $value, $rows, $cols, $wrap, $dis, $tags) = @_; + $cols = &ui_max_text_width($cols, 1); + + return ""; +} + +sub theme_ui_submit +{ + my ($label, $name, $dis, $tags) = @_; + my ($entry, $class, $icon) = + get_button_style(get_module_name(), $label); + + return "\n" . "\n"; +} + +sub theme_ui_reset +{ + my ($label, $dis) = @_; + my $rv; + + $rv .= '' . "\n"; + + return $rv; +} + +sub theme_ui_button +{ + my ($label, $name, $dis, $tags) = @_; + my $rv; + + $rv .= '' . "\n"; + + return $rv; +} + +sub theme_ui_post_header +{ + my ($text) = @_; + my $rv; + + if (defined($text)) { + $rv = ''; + } + + return $rv; +} + +sub theme_ui_pre_footer +{ + my $rv; + $rv .= '
      ' . "\n"; + $rv .= '
      ' . "\n"; + + return $rv; +} + +sub theme_ui_tabs_start +{ + my ($tabs, $name, $sel, $border) = @_; + my $rv; + + $rv .= '' . "\n"; + $rv .= '
      ' . "\n"; + $main::ui_tabs_selected = $sel; + $rv .= &ui_hidden($name, $sel) . "\n"; + + return $rv; +} + +sub theme_ui_tabs_end +{ + my ($border) = @_; + my $rv; + + $rv .= '
      ' . "\n"; + + return $rv; +} + +sub theme_ui_tabs_start_tab +{ + my ($name, $tab) = @_; + my $rv; + my $defclass = $tab eq $main::ui_tabs_selected ? 'active' : ''; + + $rv .= '
      ' . "\n"; + + return $rv; +} + +sub theme_ui_tabs_end_tab +{ + my $rv; + + $rv .= '
      ' . "\n"; + + return $rv; +} + +sub theme_ui_hr +{ + my $rv; + + $rv .= '
      ' . "\n"; + + return $rv; +} + +sub theme_ui_alert_box +{ + my ($msg, $class, $style, $new_line) = @_; + my ($rv, $type, $tmsg, $fa); + my %text = (&load_language($current_theme), %text); + + if ($class eq "success") { + $type = 'alert-success', $tmsg = ($text{'theme_global_success'} . '!'), $fa = 'fa-check-circle'; + } elsif ($class eq "info") { + $type = 'alert-info', $tmsg = ($text{'theme_global_info'} . '!'), $fa = 'fa-info-circle'; + } elsif ($class eq "warn") { + $type = 'alert-warning', $tmsg = ($text{'theme_global_warning'} . '!'), $fa = 'fa-exclamation-circle'; + } elsif ($class eq "danger") { + $type = 'alert-danger', $tmsg = ($text{'theme_global_error'} . '!'), $fa = 'fa-bolt'; + } + + $rv .= '
      ' . "\n"; + $rv .= ' ' . $tmsg . ''; + $rv .= ($new_line ? '
      ' : ' ') . "\n"; + $rv .= $msg . "\n"; + $rv .= '
      ' . "\n"; + + return $rv; +} + +sub theme_ui_table_start +{ + my ($heading, $tabletags, $cols, $tds, $rightheading) = @_; + if (defined($main::ui_table_cols)) { + + push(@main::ui_table_cols_stack, $main::ui_table_cols); + push(@main::ui_table_pos_stack, $main::ui_table_pos); + push(@main::ui_table_default_tds_stack, $main::ui_table_default_tds); + } + my $colspan = 1; + my $rv; + $rv .= "
      \n"; + if (defined($heading) || defined($rightheading)) { + $rv .= ""; + if (defined($heading)) { + $rv .= ""; + } + if (defined($rightheading)) { + $rv .= ""; + $colspan++; + } + $rv .= "\n"; + } + $rv .= "
      $heading$rightheading
      " . "\n"; + $main::ui_table_cols = $cols || 4; + $main::ui_table_pos = 0; + $main::ui_table_default_tds = $tds; + return $rv; +} + +sub theme_ui_table_end +{ + my $rv; + if ($main::ui_table_cols == 4 && $main::ui_table_pos) { + + $rv .= &ui_table_row(" ", " "); + } + if (@main::ui_table_cols_stack) { + $main::ui_table_cols = pop(@main::ui_table_cols_stack); + $main::ui_table_pos = pop(@main::ui_table_pos_stack); + $main::ui_table_default_tds = pop(@main::ui_table_default_tds_stack); + } else { + $main::ui_table_cols = undef; + $main::ui_table_pos = undef; + $main::ui_table_default_tds = undef; + } + $rv .= "
      \n"; + return $rv; +} + +sub theme_ui_table_row +{ + my ($label, $value, $cols, $tds) = @_; + $cols ||= 1; + $tds ||= $main::ui_table_default_tds; + my $rv; + if ($main::ui_table_pos + $cols + 1 > $main::ui_table_cols && + $main::ui_table_pos != 0) + { + $rv .= "\n"; + $main::ui_table_pos = 0; + } + $rv .= "\n" + if ($main::ui_table_pos % $main::ui_table_cols == 0); + $rv .= "$label\n" + if (defined($label)); + $rv .= '' . $value . ''; + $main::ui_table_pos += $cols + (defined($label) ? 1 : 0); + if ($main::ui_table_pos % $main::ui_table_cols == 0) { + $rv .= "\n"; + $main::ui_table_pos = 0; + } + return $rv; +} + +sub theme_ui_table_hr +{ + my $rv; + if ($ui_table_pos) { + $rv .= "\n"; + $ui_table_pos = 0; + } + $rv .= " " . "
      \n"; + return $rv; +} + +sub theme_ui_opt_textbox +{ + my ($name, $value, $size, $opt1, $opt2, $dis, $extra, $max, $tags) = @_; + my $dis1 = &js_disable_inputs([$name, @$extra], []); + my $dis2 = &js_disable_inputs([], [$name, @$extra]); + my $rv; + $size = &ui_max_text_width($size); + $rv .= &ui_radio($name . "_def", + $value eq '' ? 1 : 0, + [[1, $opt1, "onClick='$dis1'"], [0, $opt2 || " ", "onClick='$dis2'"]], $dis) . + "\n"; + $rv .= +""; + return $rv; +} + +sub theme_ui_checked_columns_row +{ + my ($cols, $tdtags, $checkname, $checkvalue, $checked, $disabled, $tags) = @_; + my $rv; + $rv .= "\n"; + $rv .= + "[0] . ">" . &ui_checkbox($checkname, $checkvalue, undef, $checked, $tags, $disabled) . "\n"; + my $i; + for ($i = 0; $i < @$cols; $i++) { + $rv .= "[$i + 1] . ">"; + if ($cols->[$i] !~ /"; + } + $rv .= ($cols->[$i] !~ /\S/ ? "
      " : $cols->[$i]); + if ($cols->[$i] !~ /$defimg\n"; + $rv .= "$title
      \n"; + $rv .= "
      \n"; + return $rv; +} + +sub theme_ui_hidden_table_start +{ + my ($heading, $tabletags, $cols, $name, $status, $tds, $rightheading) = @_; + my $rv; + if (!$main::ui_hidden_start_donejs++) { + $rv .= &ui_hidden_javascript(); + } + my $divid = "hiddendiv_$name"; + my $openerid = "hiddenopener_$name"; + my $defimg = + $status ? "" : + ""; + my $defclass = + $status ? 'opener_shown' : + 'opener_hidden'; + my $text = + defined($tconfig{'cs_text'}) ? $tconfig{'cs_text'} : + defined($gconfig{'cs_text'}) ? $gconfig{'cs_text'} : + "f00"; + $rv .= "\n"; + my $colspan = 1; + + if (defined($heading) || defined($rightheading)) { + $rv .= ""; + } + if (defined($rightheading)) { + $rv .= ""; + $colspan++; + } + $rv .= "\n"; + } + $rv .= + "')}function __f___um(){var e=localStorage.getItem(v___server_hostname+"-settings_thirdparty_filemanager_usermode");return e?"&username="+e:""}function checkSelected(){return _f__table().dataTable().$("tr.hl-aw",{filter:"applied"}).length}function renameDialog(e){e=Convert.htmlUnEscape(e),$($v__fm__container_fluid+" #renameForm input[name=name]").val(e),$($v__fm__container_fluid+" #renameForm input[name=file]").val(e),$($v__fm__container_fluid+" #renameDialog").modal({backdrop:"static",keyboard:!0,show:!0})}function __f___gd(){var e=$(_f__table().fnGetNodes()).find("input").add($($v__fm__container_fluid+" .active form > input:not([name='path'])")).serialize();return e=e+"&path="+$($v__fm__container_fluid+" #path").val()}function _f__gr(e){return e?$(_f__table().fnGetNodes()).find("input:checked"):$(_f__table().fnGetNodes()).find("input")}function __f__ld__sh(){}function __f__ld__bg(){theme_modal_dismiss(),__f_____ul()}function __f__upd_____tl(e){var a=$($v__fm__container_fluid+" div.total").children().clone();$($v__fm__container_fluid+" div.total").empty().html(e+". ").append(a)}function __f___ub(){$($v__fm__container_fluid+" div button.o__f_m-button-delete").removeClass("disabled").attr("onclick","removeDialog()"),$($v__fm__container_fluid+" .o__f_m-button-chmod").removeClass("disabled").find("a").attr("onclick","chmodDialog()"),$($v__fm__container_fluid+" .o__f_m-button-chown").removeClass("disabled").find("a").attr("onclick","chownDialog()"),$($v__fm__container_fluid+" .o__f_m-button-chattr").removeClass("disabled").find("a").attr("onclick","chattrDialog()"),$($v__fm__container_fluid+" .o__f_m-button-chcon").removeClass("disabled").find("a").attr("onclick","chconDialog()"),$($v__fm__container_fluid+" .o__f_m-button-compress").removeClass("disabled").find("a").attr("onclick","compressDialog()"),$($v__fm__container_fluid+" .o__f_m-button-copy").removeClass("disabled"),$($v__fm__container_fluid+" .o__f_m-button-cut").removeClass("disabled")}function __f___lb(){$($v__fm__container_fluid+" div button.o__f_m-button-delete").addClass("disabled").removeAttr("onclick"),$($v__fm__container_fluid+" .o__f_m-button-chmod").addClass("disabled").find("a").removeAttr("onclick"),$($v__fm__container_fluid+" .o__f_m-button-chown").addClass("disabled").find("a").removeAttr("onclick"),$($v__fm__container_fluid+" .o__f_m-button-chattr").addClass("disabled").find("a").removeAttr("onclick"),$($v__fm__container_fluid+" .o__f_m-button-chcon").addClass("disabled").find("a").removeAttr("onclick"),$($v__fm__container_fluid+" .o__f_m-button-compress").addClass("disabled").find("a").removeAttr("onclick"),$($v__fm__container_fluid+" .o__f_m-button-copy").addClass("disabled").find("a").removeAttr("onclick"),$($v__fm__container_fluid+" .o__f_m-button-cut").addClass("disabled").find("a").removeAttr("onclick")}function __f_____sl(){}function __f_____hl(){}function __f_____hl_(){setTimeout(function(){},750)}function __f_____undel(){var e=$("body"),a='.breadcrumb:visible [data-toggle="popover-path"]';e.undelegate(a,"inserted.bs.popover shown.bs.popover hide.bs.popover");a=$v__fm__container_fluid+' [data-toggle="popover-path"]';e.undelegate(a,"hide.bs.popover");a=$v__fm__container_fluid+' a[data-toggle="tab"]';e.undelegate(a,"hide.bs.tab show.bs.tab shown.bs.tab");a="click.fm contextmenu.fm submit.fm change.fm mouseleave.fm mouseenter.fm mouseup.fm mouseout.fm mouseover.fm mousemove.fm input.fm keyup.fm keydown.fm keypress.fm sortupdate.fm";e.off(a),$("body *").undelegate(a).unbind(a).off(a)}function __f___es_adj(e,a){var t=e.find("option:selected").text(),_=$("'),$($v__fm__container_fluid+" .active td.dataTables_empty").length?$($v__fm__container_fluid+" tr.directory_go_up").trigger("mouseover"):$($v__fm__container_fluid+" tr.directory_go_up").removeClass("hidden"),setTimeout(function(){theme_title_generate()},0)},initComplete:function(e){o&&__f___up__d("index.cgi?path="+Convert.uriEncodeComponent(l||u),n,!1),!o&&__f___upd___tb(l,n),!o&&__f___up__tb_store(),0!=f&&o&&$($v__fm__container_fluid+' a[href="#tab-'+n+'"').attr("newly-created","1").trigger("click"),s&&(u&&"/"!=u||setTimeout(function(){$($v__fm__container_fluid+' a[href="#tab-1"] i.fa-close-box').trigger("click")},600)),$(c+" tbody").on("mouseout","tr",function(e){__f___cs()}).on("mouseover","tr",function(e){$(this).addClass("m-active")}),(0===t||1===$(c+" tbody tr").length&&$(c+" tbody tr td.dataTables_empty").length)&&table_data_filter_clear(),$(c+' select[name^="DataTables_Table"][name$="_length"]').val(x).change()},bInfo:!0,destroy:!0,oLanguage:{sEmptyTable:theme_language("theme_xhred_datatable_semptydirectory"),sInfo:theme_language("theme_xhred_datatable_sinfo"),sInfoEmpty:theme_language("theme_xhred_datatable_sinfoempty"),sLengthMenu:theme_language("theme_xhred_datatable_slengthmenu"),sLoadingRecords:theme_language("theme_xhred_datatable_sloadingrecords"),sProcessing:theme_language("theme_xhred_datatable_sprocessing"),sSearch:" ",sZeroRecords:theme_language("theme_xhred_datatable_szerorecords")},conditionalPaging:!0,columnDefs:[{orderable:!1,targets:[0,1,h||0]}],bStateSave:!0,bPaginate:x,aLengthMenu:[[5,10,15,20,25,30,35,40,50,100,250,500,1e3],[5,10,15,20,25,30,35,40,50,100,250,500,1e3]]}),$($v__fm__container_fluid+' div button[onclick="removeDialog()"]').addClass("disabled o__f_m-button-delete").removeAttr("onclick"),$($v__fm__container_fluid+' a[onclick="chmodDialog()"]').removeAttr("onclick").parent("li").addClass("disabled o__f_m-button-chmod"),$($v__fm__container_fluid+' a[onclick="chownDialog()"]').removeAttr("onclick").parent("li").addClass("disabled o__f_m-button-chown"),$($v__fm__container_fluid+' a[onclick="chattrDialog()"]').removeAttr("onclick").parent("li").addClass("disabled o__f_m-button-chattr"),$($v__fm__container_fluid+' a[onclick="chconDialog()"]').removeAttr("onclick").parent("li").addClass("disabled o__f_m-button-chcon"),$($v__fm__container_fluid+' a[onclick="compressDialog()"]').removeAttr("onclick").parent("li").addClass("disabled o__f_m-button-compress"),$($v__fm__container_fluid+' a[onclick="copySelected()"]').removeAttr("onclick").parent("li").addClass("disabled o__f_m-button-copy"),$($v__fm__container_fluid+" li.o__f_m-button-copy").addClass("disabled"),$($v__fm__container_fluid+' a[onclick="cutSelected()"]').removeAttr("onclick").parent("li").addClass("disabled o__f_m-button-cut"),$($v__fm__container_fluid+" li.o__f_m-button-cut").addClass("disabled"),localStorage.getItem(v___server_hostname+"-copy")||localStorage.getItem(v___server_hostname+"-cut")?$($v__fm__container_fluid+' a[onclick*="paste.cgi"]').removeAttr("onclick").parent("li").addClass("o__f_m-button-paste"):$($v__fm__container_fluid+' a[onclick*="paste.cgi"]').removeAttr("onclick").parent("li").addClass("disabled o__f_m-button-paste"),"extract"===_&&theme_messenger(''+theme_language("theme_xhred_filemanager_successful_extraction"),5,"info",_+"_info"),"chmod"===_&&theme_messenger(''+theme_language("theme_xhred_filemanager_successful_permissions"),5,"info",_+"_info"),"chown"===_&&theme_messenger(''+theme_language("theme_xhred_filemanager_successful_ownership"),5,"info",_+"_info"),"compress"===_&&theme_messenger(''+theme_language("theme_xhred_filemanager_successful_compression"),5,"info",_+"_info"),"rename"===_&&theme_messenger(''+theme_language("theme_xhred_filemanager_successful_rename").replace("%from",Convert.htmlEscape($('#renameForm input[name="file"]').val())).replace("%to",Convert.htmlEscape($('#renameForm input[name="name"]').val())),5,"info",_+"_info"),"create_folder"===_&&theme_messenger(''+theme_language("theme_xhred_filemanager_successful_directory_creation").replace("%value",Convert.htmlEscape($('#createFolderForm input[name="name"]').val())),5,"info",_+"_info"),"create_file"===_&&theme_messenger(''+theme_language("theme_xhred_filemanager_successful_file_creation").replace("%value",Convert.htmlEscape($('#createFileForm input[name="name"]').val())),5,"info",_+"_info")}}function f_m__bm__cm(){var e=void 0!==(e=$($v__fm__container_fluid_form+' > input[type="hidden"][name="path"]').val())&&(e.length?e:"/");$($v__fm__container_fluid+" .btn-group > .at-o__f_m-favorites-dropdown").find('li a[href*="index.cgi?path="]').filter(function(){return Convert.uriEncodeComponent($(this).text())===e}).length?($(".data-context-bookmarks a").text(theme_language("theme_xhred_filemanager_unbookmark")),$("#__f__c__m").find(".fa-star-o").addClass("fa-star").removeClass("fa-star-o")):($(".data-context-bookmarks a").text(theme_language("theme_xhred_filemanager_bookmark")),$("#__f__c__m").find(".fa-star").removeClass("fa-star").addClass("fa-star-o")),setTimeout(function(){$(".file-manager-remove-bookmark").length||$.each($('.dropdown-menu.at-o__f_m-favorites-dropdown > li:not(.data-context-bookmarks) > a:not([href^="bookmark.cgi"])'),function(e,a){$(this).prepend('')});var e=$(".btn-group .dropdown-menu.at-o__f_m-favorites-dropdown > li"),a=e.find('a[href]:not([href^="bookmark.cgi"], [href="#"])');e.find(".no_effect").parent("li").remove(),a.length?$(".bm_e__me").remove():($(".bm_e__me").remove(),e.parent("ul").append('
    • '+theme_language("theme_xhred_filemanager__no_bookmarks")+"
    • ")),$(".dropdown-menu.at-o__f_m-favorites-dropdown li.divider").nextAll("li").remove(),$(".btn-group .at-o__f_m-favorites-dropdown li:not(:first-child):not(:empty)").clone().insertAfter("li.data-context-bookmarks + .divider")},0)}function f_m__bm__c(){var e=void 0!==(e=$($v__fm__container_fluid_form+' > input[type="hidden"][name="path"]').val())&&(e.length?e:"/");$.each($(".btn-group > .at-o__f_m-favorites-dropdown").find('li a[href*="index.cgi?path="]'),function(){if(Convert.uriEncodeComponent($(this).text())==e)return $(this).parents(".at-o__f_m-favorites-dropdown").find('a[href^="bookmark.cgi?path="]').html(''+theme_language("theme_xhred_filemanager_unbookmark")),!1;$(this).parents(".at-o__f_m-favorites-dropdown").find('a[href^="bookmark.cgi?path="]').html(''+theme_language("theme_xhred_filemanager_bookmark"))}).promise().done(function(){setTimeout(function(){f_m__bm__cm()},100)})}function f_m__bm__u(){var e=void 0!==(e=$($v__fm__container_fluid_form+' > input[type="hidden"][name="path"]').val())?e.length?e:Convert.uriEncodeComponent("/"):"",a=$(".file-manager .btn-group > .at-o__f_m-favorites-dropdown").find('li a[href*="index.cgi?path="]').filter(function(){return Convert.uriEncodeComponent($(this).text())===e});return a.length?(a.parents(".at-o__f_m-favorites-dropdown").find('a[href^="bookmark.cgi?path="]').html(''+theme_language("theme_xhred_filemanager_bookmark")),a.parent("li").remove()):($($v__fm__container_fluid+" .btn-group > .at-o__f_m-favorites-dropdown").find('a[href^="bookmark.cgi?path="]').html(''+theme_language("theme_xhred_filemanager_unbookmark")),$("body.file-manager").find("ul.dropdown-menu.at-o__f_m-favorites-dropdown").append('
    • '+Convert.htmlEscape(Convert.uriDecodeComponent(e))+"
    • ")),f_m__bm__cm(),a}function __f___upd___cr(e,a){var t=$("body.file-manager"),_="";t.find(".breadcrumb").empty(),0==get_access_level()||1==get_access_level()?t.find(".breadcrumb").append('
    • '):t.find(".breadcrumb").append('
    • '),$.each($(e),function(e,a){if(_+=""!=a?"/"+a:"",""!=a){var n='';3==get_access_level()&&-1===_.indexOf(v___server_userhome+"/")&&(n=""),t.find(".breadcrumb").append('
    • '+Convert.htmlEscape(a)+n+"
    • ")}}).promise().done(function(){$.isEmptyObject(a)?$($v__fm__container_fluid+" .breadcrumb li:first-child").find(".fa.fa-keyboard-o").length||$($v__fm__container_fluid+" a.popover-path").length||($($v__fm__container_fluid+" .breadcrumb li:first-child").prepend('
      \'>
      '),1!=config_portable_module_filemanager_hide_toolbar&&($($v__fm__container_fluid+" .fa.fa-keyboard-o.popover-path").detach().appendTo(".breadcrumb li:last-child"),$($v__fm__container_fluid+" .fa.fa-keyboard-o.popover-path").css("margin-left","2px")),$($v__fm__container_fluid+' [data-toggle="popover-path"]').popover()):(t.find(".breadcrumb li a").removeAttr("href").replaceTagName("span"),t.find(".breadcrumb li:last-child span").after($(a[0])),t.find(".breadcrumb li:first-child").replaceWith('
    • '),$($v__fm__container_fluid+" div.total").html(a[1]))})}function __f___upd___tb(e,a){var t=e.replace(/\/$/,"").split("/").slice(-1)[0];t=t||"/",a?($($v__fm__container_fluid+' li a[href="#tab-'+a+'"] span[data-tab-path]').text(t).attr("data-original-title",e?Convert.htmlEscape(e):"/"),$("#file-manager-new-instance").removeClass("disabled").find("span.cspinner").parent("span").replaceWith('')):$($v__fm__container_fluid+" li.active a span[data-tab-path]").text(t).attr("data-original-title",e?Convert.htmlEscape(e):"/")}function __f___up__tb_store(){var e=[];$($v__fm__container_fluid+" .nav.nav-tabs li a span[data-original-title]").each(function(a,t){var _=$(t).attr("data-original-title").replace(/\/$/,"");e.push(_)}).promise().done(function(){var a={};a[v___server_username]=e;var t=JSON.parse(localStorage.getItem(v___server_hostname+"-settings_thirdparty_filemanager_remembered_tabs"));$.isEmptyObject(t)||delete t[v___server_username];var _=$.extend({},a,t);localStorage.setItem(v___server_hostname+"-settings_thirdparty_filemanager_remembered_tabs",JSON.stringify(_))})}function __f___ld__tb_stored_chk(){var e=JSON.parse(localStorage.getItem(v___server_hostname+"-settings_thirdparty_filemanager_remembered_tabs"));return!$.isEmptyObject(e)&&e[v___server_username]}function __f___ld__tb_stored(){var e=__f___ld__tb_stored_chk();$.isArray(e)&&$.each($(e),function(e,a){__f___nt(a,!1,e)})}function __f___up__tb_vis(){1===$($v__fm__container_fluid+" .nav.nav-tabs li").length?$(".nav.nav-tabs li:first-child").addClass("hidden"):$(".nav.nav-tabs li:first-child").removeClass("hidden")}function __f___up__d(e,a,t){var _=Convert.htmlUnEscape(Convert.uriDecodeComponent(e)).replace("//","/").replace("index.cgi?path=",""),n=_.split("/");$("body.file-manager");$($v__fm__container_fluid+' [data-toggle="popover-path"]').popover("hide"),$($v__fm__container_fluid+" .popover-path-button").find("i").removeClass("invisible").parent().find(".cspinner").addClass("hidden"),__f___upd___cr(n,t),__f___upd___tb(_,a),_?$($v__fm__container_fluid+' #headln2l > div.btn-group > a[href*="'+v___module_file_manager+'"][href*="index.cgi"]').removeClass("hidden"):$($v__fm__container_fluid+' #headln2l > div.btn-group > a[href*="'+v___module_file_manager+'"][href*="index.cgi"]').addClass("hidden"),$.each($($v__fm__container_fluid+' .modal .modal-body form input[name="path"]'),function(){$(this).val(_)}),$($v__fm__container_fluid+' ul li a[href^="bookmark.cgi?path="]').attr("href","bookmark.cgi?path="+Convert.htmlEscape(_)),f_m__bm__c(),favorites_detect(),setTimeout(function(){theme_title_generate(),__r____changed(1),__f___up__tb_vis(),__f___up__tb_store()},0)}function __f___nt(e,a,t){var _=Convert.uriEncodeComponent(Convert.htmlUnEscape(e)),t=void 0!==t&&0===t;$this=$("#file-manager-new-instance"),$this.blur(),$($v__fm__container_fluid+" .nav.nav-tabs li").addClass("disabled"),tab___to______create+=1,$($v__fm__container_fluid+" .tabs-top > .nav.nav-tabs").append('
    •  
    • '),$($v__fm__container_fluid+" .tabs-top > .tab-content").append('
      \t \t\t
      \t \t\t\t
      "; + if (defined($heading)) { + $rv .= +"$defimg $heading$rightheading
      \n"; + $main::ui_table_cols = $cols || 4; + $main::ui_table_pos = 0; + $main::ui_table_default_tds = $tds; + return $rv; +} + +sub theme_ui_buttons_start +{ + return "
      \n
      "; +} + +sub theme_ui_buttons_row +{ + my ($script, $label, $desc, $hiddens, $after, $before) = @_; + if (ref($hiddens)) { + $hiddens = join("\n", map {&ui_hidden(@$_)} @$hiddens); + } + return "
      \n" . + $hiddens . "" . " " . "\n" . "\n" . "
      " . + ($before ? $before . " " : "") . &ui_submit($label) . ($after ? " " . $after : "") . + "" . $desc . "
      \n" . "
      \n"; +} + +sub theme_ui_buttons_end +{ + return "
      \n"; +} + +sub theme_ui_radio_table +{ + my ($name, $sel, $rows, $nobold) = @_; + return "" if (!@$rows); + my $rv = "\n"; + foreach my $r (@$rows) { + $rv .= "\n"; + $rv .= + "[2]) ? "" : " colspan=2") . + ">" . ($nobold ? "" : "") . &ui_oneradio($name, $r->[0], $r->[1], $r->[0] eq $sel, $r->[3]) . + ($nobold ? "" : "") . "\n"; + if (defined($r->[2])) { + $rv .= "\n"; + } + $rv .= "\n"; + } + $rv .= "
      " . $r->[2] . "
      \n"; + return $rv; +} + +sub theme_redirect +{ + my $protocol = get_env('https') ? 'https://' : 'http://'; + my $host = $protocol . get_env('http_host'); + my $location = replace($host, (get_env('http_origin') . $gconfig{'webprefix'}), $_[1]); + set_tmp_var('redirected', ($location . ($location =~ /\?/ ? "&" : "?") . "xnavigation=1")); + print "Location: $location\n\n"; +} + +sub theme_post_save_domain +{ + my ($d, $action) = @_; + print ''; +} + +sub theme_post_save_domains +{ + my ($d, $action) = @_; + print ''; +} + +sub theme_post_save_server +{ + my ($s, $action) = @_; + if ($action eq 'create' || + $action eq 'delete' || + !$done_theme_post_save_server++) + { + print ''; + } +} + +sub theme_post_change_theme +{ + if (&foreign_check("csf") && &foreign_available("csf")) { + unlink_file('/etc/csf/csf.header'); + unlink_file('/etc/csf/csf.footer'); + } +} + +$main::cloudmin_no_create_links = 1; +$main::cloudmin_no_edit_buttons = 1; +$main::cloudmin_no_global_links = 1; + +$main::mailbox_no_addressbook_button = 1; +$main::mailbox_no_folder_button = 1; + +$main::basic_virtualmin_menu = 1; +$main::basic_virtualmin_domain = 1; +$main::nocreate_virtualmin_menu = 1; +$main::nosingledomain_virtualmin_mode = 1; + +1; diff --git a/buttons.pm b/buttons.pm new file mode 100644 index 000000000..603faa589 --- /dev/null +++ b/buttons.pm @@ -0,0 +1,127 @@ +# +# Authentic Theme (https://github.com/qooob/authentic-theme) +# Copyright Ilia Rostovtsev +# Licensed under MIT (https://github.com/qooob/authentic-theme/blob/master/LICENSE) +# + +our $user = $remote_user; + +if ($__settings{'settings_sysinfo_link_mini'} eq 'true' && + dashboard_switch() ne '1') +{ + print ''; +} + +print ''; + +if ($__settings{'settings_show_terminal_link'} ne 'false' && + foreign_available("shell")) +{ + print ''; +} + +if ($get_user_level eq '0' && + foreign_available('webmin')) +{ + print ''; +} + +if ($__settings{'settings_theme_options_button'} ne 'false') { + print ''; +} + +print ''; + +&get_miniserv_config(\%miniserv); + +if ($miniserv{'logout'} && + !get_env('ssl_user') && + get_env('http_user_agent') !~ /webmin/i) +{ + print ''; +} + +if (-r "$root_directory/virtual-server/edit_lang.cgi" && + $__settings{'settings_leftmenu_button_language'} eq 'true' && + ($t_uri_virtualmin != -1 || + $t_uri_cloudmin != -1 || + $in{'xhr-buttons-type'} eq '1')) +{ + print ''; +} elsif (&foreign_available("change-user") && + $__settings{'settings_leftmenu_button_language'} eq 'true') +{ + print ''; +} + +print '
    • '; + +1; diff --git a/config b/config new file mode 100644 index 000000000..368d77f95 --- /dev/null +++ b/config @@ -0,0 +1,7 @@ +functions=authentic.pm +noindex=1 +inframe=0 +framed=0 +cs_table=feffff +cs_header=ffffff" class="thead +cs_link=376ebd diff --git a/extensions/csf/csf.min.css b/extensions/csf/csf.min.css new file mode 100644 index 000000000..cd13cbb6a --- /dev/null +++ b/extensions/csf/csf.min.css @@ -0,0 +1,5 @@ +/*! + * Authentic Theme (https://github.com/qooob/authentic-theme) + * Copyright Ilia Rostovtsev + * Licensed under MIT (https://github.com/qooob/authentic-theme/blob/master/LICENSE) + */.csf table tbody tr th p{padding-top:10px;padding-bottom:0}.csf table tbody tr,.csf table tbody td{padding:2px !important}.csf div#home>form>table button[type="submit"]{opacity:1;pointer-events:auto}.csf div#home>table button[type="submit"]{opacity:.75;pointer-events:none}.csf #upgradetable{margin-top:10px !important}.csf .csf-container button{background:#fff}.csf .csf-tr form[action*='index.cgi']{margin-left:-2px}.csf #CSFpauseID{margin-top:5px;margin-left:5px;vertical-align:baseline}.csf .csf-box+.csf-box{margin-top:2px}.csf input[name='ip']+br+input[name='comment']{margin-top:1px}.csf select[name='profile1'],.csf select[name='profile2'],.csf select[name='backup']{min-height:200px !important}.csf input[value='rblchecksave']+select[name='freq']{vertical-align:baseline !important}.csf input+select[name='dur']{margin-top:0 !important;margin-bottom:-2px !important}.csf table tbody tr.csf-tr td,.csf table tbody tr.csf-tr{padding:1px 10px 1px 3px !important}.csf table tbody tr.csf-tr td[nowrap]{padding:0 10px 0 3px !important}.csf .panel-body>table ~ table.csf-table.table.table-striped.table-condensed[align='center'][border='0'][cellpadding='4'][cellspacing='0'] tbody tr.csf-tr td,.csf .panel-body>table ~ table.csf-table.table.table-striped.table-condensed[align='center'][border='0'][cellpadding='4'][cellspacing='0'] tbody tr.csf-tr{padding:3px 10px 3px 5px !important}.csf .panel-body>table ~ table.csf-table.table.table-striped.table-condensed[align='center'][border='0'][cellpadding='4'][cellspacing='0'] tbody tr.csf-tr td[nowrap]{padding:2px 10px 2px 5px !important}body.csf table.table.table-striped.table-condensed>thead>tr:first-child,body.csf .table>thead>tr:first-child>th,body.csf .table>thead>tr:first-child>td{border-top:1px solid #eaeaea !important}.csf #grep input.collapse,.csf #qallow input.collapse,.csf #qdeny input.collapse,.csf #qignore input.collapse,.csf #kill input.collapse,.csf #tempdeny input.collapse{display:none}.csf .csf-box>form[action='index.cgi']>input[type='submit'],.csf select[name='freq']+input[name='email']+input[type='submit'],.csf button[onclick='CSFrefreshtimer()'].input{vertical-align:middle !important}.csf .circles{position:absolute;margin-top:12px;text-align:right}.csf .circle i{font-size:13px;display:block;margin-top:1px;margin-right:2px;opacity:.50;color:#fff}.csf .circle{position:relative;display:inline-block;float:right;width:15px;height:15px;margin-left:10px;cursor:help;border-radius:50%}.csf .circle.success{background:#5cb85c}.csf .circle.info{background:#5bc0de}.csf .circle.warning{background:#f0ad4e}.csf .circle.danger{background:#d9534f}.csf .circle+.circle{margin-right:-5px}.csf .circles .tooltip-inner{min-width:180px !important;max-width:320px !important}html[data-post='status'] .CodeMirror pre{white-space:pre-wrap;word-wrap:break-word}html[data-post='servercheck'] div[style*="clear: both;padding"] strong,.csf a[data-toggle='tab']{font-weight:400}html[data-post='temp'] .dataTables_wrapper+div{text-align:center}html[data-post='temp'] .dataTables_wrapper+div a.btn-xxs{cursor:pointer}html[data-module='csf'][data-post='viewlogs']:not([data-background-style="nightRider"]) .col_header_custom.big_big,html[data-post='temp'] body.csf .table>thead>tr:first-child>th{border-top:1px solid #f0f0f0 !important;vertical-align:middle !important}html[data-module='csf'][data-post='viewlogs']:not([data-background-style="nightRider"]) .col_header_custom.big_big{border-top-width:3px}html[data-post='viewlogs'] .dataTables_wrapper .table tbody tr.odd{background-color:#fff}html[data-post='viewlogs'] .dataTables_wrapper .table tbody tr.submenu{background-color:#ffffe4 !important}html[data-post='viewlogs'] .table.table-striped.table-condensed tbody tr:not(.submenu):hover{background-color:#ebf2fc !important}html[data-post='viewlogs'] .table.table-striped.table-condensed tbody tr:not(.submenu){cursor:pointer}html[data-post='viewlogs'] button.fa.fa-1_25x{display:none}html[data-post='temp'] tr td .btn{visibility:hidden;margin-top:-4px}html[data-post='temp'] tr:hover td .btn{visibility:visible}html[data-post='temp'] tr td .btn.btn-danger{margin-left:-3px}div[style*=': 1px solid #DDDDDD']{border-color:#eaeaea !important}html[data-post='logtail'] .panel .panel-body .panel,html[data-post='loggrep'] .panel .panel-body .panel{border:1px solid #eaeaea !important}html[data-post=''] .panel-injected-custom .panel-body{padding-top:23px}html[data-post='sips'] .panel-injected-custom .panel-body,html[data-post='rblcheck'] .panel-injected-custom .panel-body,html[data-post='servercheck'] .panel-injected-custom .panel-body{padding-top:0}html[data-post='syslogusers'] .panel-injected-custom .panel>.panel-body,html[data-post='dyndns'] .panel-injected-custom .panel>.panel-body,html[data-post='rblcheckedit'] .panel-injected-custom .panel>.panel-body,html[data-post='blocklists'] .panel-injected-custom .panel>.panel-body,html[data-post='logfiles'] .panel-injected-custom .panel>.panel-body,html[data-post='dirwatch'] .panel-injected-custom .panel>.panel-body,html[data-post='templates'] .panel-injected-custom .panel>.panel-body,html[data-post='ignorefiles'] .panel-injected-custom .panel>.panel-body,html[data-post='redirect'] .panel-injected-custom .panel>.panel-body,html[data-post='deny'] .panel-injected-custom .panel>.panel-body,html[data-post='allow'] .panel-injected-custom .panel>.panel-body{padding:0;padding-bottom:15px;margin-top:-3px !important}html[data-post='syslogusers'] div>div.panel.panel-default.panel-injected-custom>div.panel-body>form>div,html[data-post='dyndns'] div>div.panel.panel-default.panel-injected-custom>div.panel-body>form>div,html[data-post='rblcheckedit'] div>div.panel.panel-default.panel-injected-custom>div.panel-body>form>div,html[data-post='blocklists'] div>div.panel.panel-default.panel-injected-custom>div.panel-body>form>div,html[data-post='logfiles'] div>div.panel.panel-default.panel-injected-custom>div.panel-body>form>div,html[data-post='dirwatch'] div>div.panel.panel-default.panel-injected-custom>div.panel-body>form>div,html[data-post='templates'] div>div.panel.panel-default.panel-injected-custom>div.panel-body>form>div,html[data-post='ignorefiles'] div>div.panel.panel-default.panel-injected-custom>div.panel-body>form>div,html[data-post='redirect'] div>div.panel.panel-default.panel-injected-custom>div.panel-body>form>div,html[data-post='deny'] div>div.panel.panel-default.panel-injected-custom>div.panel-body>form>div,html[data-post='allow'] div>div.panel.panel-default.panel-injected-custom>div.panel-body>form>div{margin-bottom:0}.__csf__{pointer-events:none;opacity:0}.csf form input+input{vertical-align:bottom !important}.csf form .comment .fst-ln-c{font-weight:500}.csf form .comment{font-size:13px;margin-top:-1px;padding:10px;border:1px solid #e4e4e4;border-top:1px solid #f0f0f0;border-bottom:0}.csf form .section{border:1px solid #eaeaea;border-top:3px solid #f1f1f1;background:#fff}.csf form .comment+.value-other+.value-default,.csf form .comment+.value-default+br+.value-default{margin-top:-1px}.csf-container br+br,html[data-post='savesyslogusers'] .csf-container br,html[data-post='saveblocklists'] .csf-container br,html[data-post='savelogfiles'] .csf-container br,html[data-post='savetemplates'] .csf-container br,html[data-post='savedyndns'] .csf-container br,html[data-post='savedirwatch'] .csf-container br,html[data-post='saveignorefiles'] .csf-container br,html[data-post='saveredirect'] .csf-container br,html[data-post='sipsave'] .csf-container br,html[data-post='temp'] .csf-container br,html[data-post='viewlogs'] .csf-container br,html[data-post='status'] .csf-container br,html[data-post='chart'] .csf-container br,html[data-post='servercheck'] .csf-container br+br,html[data-post='saveconf'] .csf-container br,html[data-post='restart'] .csf-container br+br,html[data-post='csftest'] .csf-container br,html[data-post='csftest'] .csf-container .panel br+br,.csf-container .panel-body>script+br,.csf-container form .comment+br,.csf-container form .section+br{display:none !important}.csf form .section+br+.comment{margin-top:-1px}.csf form .value-other>tbody tr td,.csf form .value-other>tbody{border:0 !important}.csf .btn:not(.btn-xxs):not(.btn-tiny):not(.ui_link_replaced).btn-csf-config{font-size:13px;margin-top:-2px;padding:4px 17px}.csf .btn:not(.btn-xxs):not(.btn-tiny):not(.ui_link_replaced).btn-csf-config.active{color:#fff !important;border-color:#4cae4c !important;background-color:#5cb85c !important}.csf form .section{background-color:#f7f7f7}.csf .panel-body .table-subtable tr th:not(.table-title),.csf .panel-body tr th:not(.table-title){padding:5px 22px !important}html[data-post='servercheck'] div[style*="clear: both;padding"],.csf .table:not(.dataTable) thead tr th,.csf form .section,.csf tbody tr th{font-size:18px;font-weight:normal;padding-top:6px;padding-bottom:7px;text-align:center;vertical-align:bottom !important;background-color:#f6f6f6 !important}html[data-post='servercheck'] div[style*="clear: both;padding"]{padding-top:4px !important;padding-bottom:4px !important}.csf .table th,.csf .dataTable th{font-size:14px}html[data-post='profiles'] .csf .table thead tr th,html[data-post=''] .csf .table thead tr th{font-size:18px}.csf form .value-other>table,.csf form .value-default>tbody,.csf form .value-other>tr td,.csf form .value-default>tbody tr td{border-color:transparent !important}.csf form .value-default+.value-default,.csf form .value-other+.value-other{border-top:0}.csf form .value-other>tr,.csf form .value-default>tbody tr{background:#fff}.csf form .value-other>table,.csf form .value-default{margin:0 !important}html[data-post='rblcheck'] div[style="clear: both;background: #BDECB6;padding: 8px;border: 1px solid #DDDDDD;"]{border-top:none !important}html[data-post='conf'] .csf select{vertical-align:bottom !important}html[data-post='conf'] .csf .text-center button[type="submit"].page_footer_submit{margin-bottom:7px}.csf form .value-other,.csf form .value-default{font-size:12px;padding:0;border:1px solid #e9e9e9;border-top:1px solid #f0f0f0;background:#fbfbfb}.csf form .value-other>b,.csf form .value-default>b{display:inline-block;margin-top:7px;margin-bottom:7px;padding:4px}.csf form .value-other>input,.csf form .value-default>input,.csf form .value-other>select,.csf form .value-default>select{margin-top:1px;margin-bottom:3px}.csf form .value-other>b+input[type='text'],.csf form .value-default>b+input[type='text'],.csf form .value-other>b+select.heighter-34,.csf form .value-default>b+select.heighter-34{font-size:13px !important;height:28px !important;min-height:28px !important;max-height:28px !important;padding-top:2px !important;padding-bottom:2px !important}.csf img[src*='csfimages/plus.png']+.fa-minus-circle:before,.csf img[src*='csfimages/plus.png']+.fa-plus-circle:before{content:'\f05e' !important;color:#449d44 !important}.csf img[src*='csfimages/minus.png']+.fa-minus-circle:before,.csf img[src*='csfimages/minus.png']+.fa-plus-circle:before{content:'\f02a' !important;color:#c9302c !important}.csf form fieldset legend{margin-bottom:0 !important}.csf form fieldset legend b{font-size:16px !important;font-weight:normal !important;line-height:26px !important;display:block;margin-right:-1px;padding:2px 0 !important;text-align:center !important;border:1px solid #f0f0f0 !important;border-top:2px solid #f0f0f0 !important;background-color:#f7f7f7 !important}html[data-post=''] button[value='denyf']{color:#fff !important;border-color:#eea236 !important;background-color:#f0ad4e !important}html[data-post=''] .csf button[value='denyf']:active,html[data-post=''] .csf button[value='denyf']:focus,.csf td>form[action='index.cgi']>input[value='denyf']+input[type='submit']:hover{color:#fff !important;border-color:#d58512 !important;background-color:#ec971f !important}html[data-post=''] button[value='disable']{color:#fff !important;border-color:#992020 !important;background-color:#bd1e1e !important}html[data-post=''] button[value='disable']:active,html[data-post=''] button[value='disable']:focus,html[data-post=''] button[value='disable']:hover{color:#fff !important;border-color:#992020 !important;background-color:#ad2828 !important}html[data-post=''] button[value='enable']{color:#fff !important;border-color:#4cae4c !important;background-color:#5cb85c !important}html[data-post=''] button[value='enable']:active,html[data-post=''] button[value='enable']:focus,html[data-post=''] button[value='enable']:hover{color:#fff !important;border-color:#398439 !important;background-color:#449d44 !important}html[data-post=''] button[value='restart']{color:#fff !important;border-color:#46b8da !important;background-color:#5bc0de !important}.csf td>form[action='index.cgi']>input[value='lfdrestart']+input[type='submit']:active,.csf td>form[action='index.cgi']>input[value='lfdrestart']+input[type='submit']:focus,.csf td>form[action='index.cgi']>input[value='lfdrestart']+input[type='submit']:hover,html[data-post=''] .csf button[value='restart']:active,html[data-post=''] .csf button[value='restart']:focus,html[data-post=''] .csf button[value='restart']:hover{color:#fff !important;border-color:#269abc !important;background-color:#31b0d5 !important}.csf input#csfreturn{color:#fff !important;border-color:#357ebd !important;background-color:#428bca !important}.csf input#csfreturn:active,.csf input#csfreturn:focus,.csf input#csfreturn:hover{color:#fff !important;border-color:#285e8e !important;background-color:#3071a9 !important}.csf .csf-table{padding:2px !important;border:1px solid #eee !important;border-radius:0 !important}.csf script+.csf-table+.csf-table,.csf script+.csf-table{border:1px solid transparent !important}.csf a[target='_blank']:hover:not(.btn-xxs){text-decoration:underline}.csf table tbody tr[bgcolor='#F4F4EA']{background:#fff !important}.csf td.section-comment{width:80%;background:#fff !important}.csf td.section-full,.csf td.section-ok{font-style:italic;width:20%;color:#fff;border:1px solid #398439 !important;border-top:none !important;background-color:#449d44 !important}.csf #CSFajax pre.no_data{background-color:#282822;color:#f8f8f2}html[data-background-style='nightRider'] .csf #CSFajax pre.no_data{background-color:#2e3032;color:rgba(255,255,255,0.80)}.csf td.section-gap{line-height:0 !important;margin:0 !important;padding:1px !important;background-color:#fff !important}.csf td.section-title{font-size:18px;text-align:center;color:#333;border:1px solid #eaeaea !important}.csf td.section-warning{color:#fff;border:1px solid #d58512 !important;border-top:none !important;background-color:#ec971f !important}.csf .footer_module_index_top:hover{color:#23527c}.csf .footer_module_index_top{line-height:19px;float:left;height:34px !important;margin-top:9px;margin-right:-38px !important;margin-left:0;color:#ccc;border-color:#ddd}.mobilecontainer{display:none !important}.normalcontainer{display:block !important}html>body{background-color:Gainsboro !important}html[data-module='csf'] .csf-tr form[action*='index.cgi'] select.heighter-34{margin-left:0 !important}html[data-module='csf'] .csf-tr form[action*='index.cgi'] select.heighter-34+input{margin-left:-4px !important}html[data-module='csf'] .csf-tr form[action*='index.cgi'] select.heighter-34[name='template']+input,html[data-module='csf'] .csf-tr form[action*='index.cgi'] select.heighter-34[name='template']{margin-top:0 !important;margin-bottom:0 !important}html[data-module='csf'] .csf-tr form[action*='index.cgi'] input[value='upgrade']+input.heighter-34{margin-left:1px !important}html[data-module='csf'] .custom_table_head td b{font-size:15px;font-weight:400 !important}html[data-module='csf'] .csf-switch-field .awobject{display:inline-block;margin-top:-10px !important;margin-bottom:10px !important}html[data-post='viewlogs'] .table.dataTable>thead>tr:first-child>th,html[data-post='viewlogs'] .table.table.table-striped.table-condensed>thead>tr:first-child,html[data-post='viewlogs'] .table.table.table-striped.table-condensed>thead>tr:first-child,.csf table.dataTable{border-top-width:1px !important}html[data-module='csf'] .col_header_custom{line-height:27px !important;height:36px !important;margin-bottom:5px !important}html[data-module='csf'] .col_header_custom.big_big{border-bottom-color:transparent !important;background-color:#f6f6f6 !important;line-height:25px !important}html[data-post='servercheck']:not([data-background-style="nightRider"]) div[style*="clear: both;padding"],html[data-module='csf']:not([data-background-style="nightRider"]) .col_header_custom.big_big{border-top:1px solid #eaeaea !important}html[data-post='viewports'] .col_header_custom{line-height:25px !important;height:34px}html[data-module='csf'] .bs-callout{margin:10px 0;padding:8px 6px 4px 6px;border:1px solid #eaeaea;border-left-width:3px;border-radius:0}html[data-module='csf'] .bs-callout h4{margin-top:0;margin-bottom:5px}html[data-module='csf'] .bs-callout p:last-child{margin-bottom:0}html[data-module='csf'] .bs-callout code{border-radius:0}html[data-module='csf'] .bs-callout+.bs-callout{margin-top:-5px}html[data-module='csf'] .bs-callout-success{border-left-color:#5cb85c;background-color:#edf7ed}html[data-module='csf'] .bs-callout-success h4{color:#5cb85c}html[data-module='csf'] .bs-callout-info{border-left-color:#5bc0de;background-color:#eaf7fb}html[data-module='csf'] .bs-callout-info h4{color:#5bc0de}html[data-module='csf'] .bs-callout-warning{border-left-color:#f0ad4e;background-color:#fdf4e8}html[data-module='csf'] .bs-callout-warning h4{color:#f0ad4e}html[data-module='csf'] .bs-callout-danger{border-left-color:#d9534f;background-color:#faebea}html[data-module='csf'] .bs-callout-danger h4{color:#d9534f}html[data-module='csf'] .tab-pane>.table.table-striped.table-condensed,html[data-module='csf'] .table.table-striped.table-condensed+.table.table-striped.table-condensed{margin-top:10px !important}html[data-module='csf'] .tab-pane>.table.table-striped.table-condensed tr:first-child>th:first-child,html[data-module='csf'] .table.table-striped.table-condensed+.table.table-striped.table-condensed tbody>tr:first-child,html[data-module='csf'] .table.table-striped.table-condensed+.table.table-striped.table-condensed tr:first-child>th:first-child{border-top:3px solid #f0f0f0}.csf form .value-default+br,.csf form .value-other+br,html[data-module='csf'] a#MobileView,html[data-module='csf'] a#toplink,html[data-module='csf'] a#botlink,html[data-module='csf'] div#loader{display:none !important}html[data-module='csf'] .icon-configserver{font-size:100% !important;display:inline-block !important;padding:0 4px 0 1px;vertical-align:top;color:#aaa}html[data-module='csf'] .csf .csf-container code{font-size:90%;padding:2px 4px;text-decoration:underline;color:#333;border-radius:0;background-color:transparent}html[data-module='csf'] ._btn-changelog{margin-top:-3px}html[data-module='csf'] ._btn-changelog i{margin-right:5px;margin-left:-3px}html[data-module='csf'] #CSFajax .panel-body,html[data-module='csf'] .panel-body>form>.panel.panel-default>.panel-body>.panel-body,html[data-module='csf'] .panel._devcon .panel-body{box-shadow:none}html[data-module='csf'] .panel-body>form>.panel.panel-default>.panel-body>.panel-heading,html[data-module='csf'] .panel._devcon .panel-heading{font-size:18px;padding:6.5px;border-bottom:1px solid #e4e4e4;box-shadow:none}html[data-module='csf'] .panel._devcon{border-color:#eaeaea;border-top-width:1px;box-shadow:none}html[data-module='csf'] .footer-string{font-size:11px;color:#999;border-top:1px solid #eaeaea}html[data-module='csf'] .footer-string a{cursor:pointer;color:#5a799c}html[data-module='csf'] .panel-footer{margin-bottom:-15px;padding:8px 0 0 0;border-top:0;border-radius:0;background:transparent}html[data-module='csf'] .panel-body>form>.panel.panel-default>.panel-body>.panel-heading{line-height:21px;padding:0 6.5px;text-align:center;border:1px solid #f0f0f0;border-bottom:0;background-color:#f7f7f7}html[data-module='csf'] .panel-body>form>.panel.panel-default>.panel-body>.panel-heading code{font-size:12px;display:block;margin-top:-7px;margin-bottom:-6px;text-decoration:none}html[data-module='csf'] .panel-body>form>.panel.panel-default>.panel-body>.panel-body{padding:1px;border:1px solid #eaeaea}html[data-module='csf'] form>.panel.panel-default>.panel-body,html[data-module='csf'] form>.panel.panel-default{border-color:transparent;box-shadow:none}html[data-module='csf'] div.panel-body>div+hr{margin-top:10px}html[data-module='csf'] div.panel-body>div[style*='background: #F4F4EA']{border-radius:0 !important;background-color:#f7f7f7 !important}html[data-module='csf'] div.panel-body>div[style*='background: #F4F4EA']+div[style*='background']{border-top:0 !important}html[data-module='csf'] table[align='center'] tbody tr td div[style*='border-radius']{margin-bottom:10px;border-radius:0 !important}.csf form[action="index.cgi"]>input[type="submit"],html[data-module='csf'][data-post=''] input[name='ip']{vertical-align:middle !important}html[data-module='csf'][data-post=''] select.heighter-34+button,html[data-module='csf'][data-post=''] input.heighter-34:not(.btn-lg):not(.ui_form_end_submit)+select.heighter-34,html[data-module='csf'][data-post=''] select.heighter-34,html[data-module='csf'][data-post=''] .btn.heighter-34:not(.btn-lg):not(.ui_form_end_submit){font-size:14px !important;line-height:16px !important;height:31px !important;min-height:31px !important;max-height:31px !important;margin-left:0 !important}html[data-module='csf'][data-post=''] select.heighter-34+button[type='submit'],html[data-module='csf'][data-post=''] select[name='ignorefile'].heighter-34+input[type='submit'].btn.btn-default,html[data-module='csf'][data-post=''] select[name='ignorefile'].heighter-34+input[type='submit'].btn.btn-default.heighter-34{margin-left:-2px !important}html[data-post='viewports'] .dataTables_wrapper table.dataTable{margin-top:3px !important;border-top:0 !important}html[data-module='csf'] hr+div>form[action='index.cgi']>button[type='submit']{margin-top:-2px}html[data-module='csf'] .btn-group-csf-home{position:absolute;top:19px;left:15px}html[data-module='csf'] .btn-group-csf-home a{border:1px solid #ddd}html[data-module='csf'] .btn-group-csf-home a.ported_module_csf_help{cursor:help}html[data-module='csf']:not([data-background-style="nightRider"]) .table-striped>tbody>tr:nth-child(even){background-color:#f7f7f7}html[data-module='csf']:not([data-background-style="nightRider"]) .table-striped>tbody>tr:nth-child(odd){background-color:#fff}html[data-post='profiles'] input[name='backup']+input{vertical-align:middle !important}html[data-post='profiles'] input[value='profilerestore']+table tbody tr td,html[data-post='profiles'] input[value='profilediff']+table tbody tr td{text-align:center}html[data-post='profiles'] th[style*='#990000']{border-left:1px solid transparent !important}html[data-post='profiles'] td[style*='#990000']{text-align:center;border-left:1px solid #eaeaea !important}html[data-post='profiles'] body>div>div>div.panel-body>form:nth-child(1)>table>thead>tr>th:nth-child(1),html[data-post='profiles'] input[value='profileapply']+table tbody tr:first-child th:first-child{padding-left:150px !important}.csf form[action='index.cgi'] button.__restart,html[data-post='csftest'] form[action='index.cgi'] input[value='restart']+input,html[data-post='profileapply'] form[action='index.cgi'] input[value='restartboth']+input{margin-bottom:10px !important}.csf [style*='background: #BDECB6'],.csf [style*='background:#BDECB6']{background-color:#e3ffdd !important}.csf [style*='background: #FFD1DC'],.csf [style*='background:#FFD1DC']{background-color:#fdd !important}.csf [style*='background: #FFD1DC'][style*='border'],.csf [style*='background:#FFD1DC'][style*='border']{border-bottom-color:#ddd !important}.csf [style*='background: #990000'],.csf [style*='background:#990000']{background-color:#d04646 !important}.csf div+div[style*='text-align:center;border:1px solid #DDDDDD;width:500px']{border-top:0 !important}html[data-post=''] input[name='comment']{margin-top:2px}html[data-module='csf'] #DataTables_Table_0>thead>tr>th:nth-child(1){opacity:1 !important}html[data-module='csf'] #DataTables_Table_0>thead>tr>th:nth-child(1){background:0}html[data-background-style='nightRider'] .csf form .value-other,html[data-background-style='nightRider'] .csf form .value-default,html[data-background-style='nightRider'] .csf form .comment,html[data-background-style='nightRider'] .csf form .section{background-color:#2f3237;border-color:#383a40;border-top-width:1px}html[data-background-style='nightRider'] .csf .btn:not(.btn-xxs):not(.btn-tiny):not(.ui_link_replaced).btn-csf-config.active{color:#bfc9d3 !important;border-color:rgba(27,191,137,.45) !important;background-color:rgba(27,191,137,.07) !important}html[data-module='csf'][data-background-style='nightRider'] .tab-pane>.table.table-striped.table-condensed tr:first-child>th:first-child,html[data-module='csf'][data-background-style='nightRider'] .table.table-striped.table-condensed+.table.table-striped.table-condensed tbody>tr:first-child,html[data-module='csf'][data-background-style='nightRider'] .table.table-striped.table-condensed+.table.table-striped.table-condensed tr:first-child>th:first-child{border-top-color:#3d3f43 !important;border-top-width:1px;background-color:#2d3036}html[data-background-style='nightRider'] hr,html[data-module='csf'][data-background-style='nightRider'] .csf .footer-string{border-top-color:#3d3f43 !important;border-top-width:1px}html[data-post=''][data-background-style='nightRider'] body>div>div>div.panel-body>div:nth-child(2)>div>div.panel-body{background-color:#2d3036 !important}html[data-post=''][data-background-style='nightRider'] button[value='denyf']{color:#bfc9d3 !important;border-color:rgba(247,175,62,.68) !important;background-color:rgba(247,175,62,.07) !important}html[data-post=''][data-background-style='nightRider'] .csf button[value='denyf']:active,html[data-post=''][data-background-style='nightRider'] .csf button[value='denyf']:focus,html[data-post=''][data-background-style='nightRider'] .csf button[value='denyf']:hover,html[data-background-style='nightRider'] .csf td>form[action='index.cgi']>input[value='denyf']+input[type='submit']:hover{color:#fff !important;border-color:#f7af3e !important;outline:0 !important;background-color:rgba(247,175,62,.1) !important;box-shadow:none !important}html[data-post=''][data-background-style='nightRider'] button[value='disable']{color:#bfc9d3 !important;border-color:rgba(219,82,75,.69) !important;background-color:rgba(219,82,75,.07) !important}html[data-post=''][data-background-style='nightRider'] button[value='disable']:active,html[data-post=''][data-background-style='nightRider'] button[value='disable']:focus,html[data-post=''][data-background-style='nightRider'] button[value='disable']:hover{color:#fff !important;border-color:#db524b !important;outline:0 !important;background-color:rgba(219,82,75,.1) !important;box-shadow:none !important}html[data-post=''][data-background-style='nightRider'] button[value='enable']{color:#bfc9d3 !important;border-color:rgba(27,191,137,.55) !important;background-color:rgba(27,191,137,.07) !important}html[data-post=''][data-background-style='nightRider'] button[value='enable']:active,html[data-post=''][data-background-style='nightRider'] button[value='enable']:focus,html[data-post=''][data-background-style='nightRider'] button[value='enable']:hover{color:#fff !important;border-color:#1bbf89 !important;outline:0 !important;background-color:rgba(27,191,137,.1) !important;box-shadow:none !important}html[data-background-style='nightRider'] .csf td>form[action='index.cgi']>input[value='lfdrestart']+input[type='submit'],html[data-post=''][data-background-style='nightRider'] .csf button[value='restart']{color:#bfc9d3 !important;border-color:rgba(86,192,224,.72) !important;background-color:rgba(86,192,224,.07) !important}html[data-background-style='nightRider'] .csf td>form[action='index.cgi']>input[value='lfdrestart']+input[type='submit']:active,html[data-background-style='nightRider'] .csf td>form[action='index.cgi']>input[value='lfdrestart']+input[type='submit']:focus,html[data-background-style='nightRider'] .csf td>form[action='index.cgi']>input[value='lfdrestart']+input[type='submit']:hover,html[data-post=''][data-background-style='nightRider'] .csf button[value='restart']:active,html[data-post=''][data-background-style='nightRider'] .csf button[value='restart']:focus,html[data-post=''][data-background-style='nightRider'] .csf button[value='restart']:hover{color:#fff !important;border-color:#56c0e0 !important;outline:0 !important;background-color:rgba(86,192,224,.1) !important;box-shadow:none !important}html[data-background-style='nightRider'] body.csf .table>thead>tr:first-child>th,html[data-background-style='nightRider'] body.csf .table>tbody>tr:first-child>th,html[data-background-style='nightRider'] body.csf table>tfoot>tr:first-child>th,html[data-background-style='nightRider'] body.csf .table>thead>tr:first-child>td,html[data-background-style='nightRider'] body.csf .table>tfoot>tr:first-child>td{border-top:1px solid #3a3c41 !important}html[data-module='csf'][data-background-style='nightRider'] .panel-body>form>.panel.panel-default>.panel-body>.panel-heading{border:1px solid #424449;background-color:#2d3036}html[data-background-style='nightRider'] code{background-color:#2d3036 !important}html[data-module='csf'][data-background-style='nightRider'] .panel-body>form>.panel.panel-default>.panel-body>.panel-body{border-color:#424449}html[data-module='csf'][data-background-style='nightRider'] .panel-body>form>.panel.panel-default>.panel-body>.panel-heading{border-bottom:0}html[data-module='csf'][data-background-style='nightRider'] div.panel-body>div[style*='background: #F4F4EA']{background-color:#2d3036 !important;border-color:#3d3f43 !important}html[data-module='csf'][data-background-style='nightRider'] [style*='border-right: 1px solid #DDDDDD']{border-color:rgba(61,63,67,0.85) !important}html[data-module='csf'][data-background-style='nightRider'] [style*='background:#FFD1DC'],html[data-module='csf'][data-background-style='nightRider'] [style*='background: #FFD1DC']{border-color:rgba(61,63,67,0.85) !important;outline:0 !important;background-color:rgba(219,82,75,.1) !important}html[data-module='csf'][data-background-style='nightRider'] [style*='background:#BDECB6'],html[data-module='csf'][data-background-style='nightRider'] [style*='background: #BDECB6']{background-color:rgba(27,191,137,.1) !important;border-color:rgba(61,63,67,0.85) !important}html[data-module='csf'][data-background-style='nightRider'] [style*='background: #FFFDD8'],html[data-module='csf'][data-background-style='nightRider'] [style*='background:#FFFDD8']{background-color:rgba(247,175,62,.1) !important}html[data-module='csf'][data-background-style='nightRider'] [style*='border: 1px solid #DDDDDD'],html[data-module='csf'][data-background-style='nightRider'] [style*='border:1px solid #DDDDDD']{border-color:rgba(61,63,67,0.85) !important}html[data-module='csf'][data-background-style='nightRider'] [style*='background: #990000'],html[data-module='csf'][data-background-style='nightRider'] [style*='background:#990000']{background-color:#a84b4b !important}html[data-post='logtail'][data-background-style='nightRider'] .panel .panel-body .panel,html[data-post='loggrep'][data-background-style='nightRider'] .panel .panel-body .panel{border:1px solid #424449 !important}html[data-module='csf'][data-post="allow"] .panel-body>form>.panel.panel-default>.panel-body>.panel-heading,html[data-module='csf'][data-post="deny"] .panel-body>form>.panel.panel-default>.panel-body>.panel-heading,html[data-module='csf'][data-post="redirect"] .panel-body>form>.panel.panel-default>.panel-body>.panel-heading,html[data-module='csf'][data-post="ignorefiles"] .panel-body>form>.panel.panel-default>.panel-body>.panel-heading,html[data-module='csf'][data-post="dirwatch"] .panel-body>form>.panel.panel-default>.panel-body>.panel-heading,html[data-module='csf'][data-post="dyndns"] .panel-body>form>.panel.panel-default>.panel-body>.panel-heading,html[data-module='csf'][data-post="templates"] .panel-body>form>.panel.panel-default>.panel-body>.panel-heading,html[data-module='csf'][data-post="logfiles"] .panel-body>form>.panel.panel-default>.panel-body>.panel-heading,html[data-module='csf'][data-post="blocklists"] .panel-body>form>.panel.panel-default>.panel-body>.panel-heading,html[data-module='csf'][data-post="syslogusers"] .panel-body>form>.panel.panel-default>.panel-body>.panel-heading,html[data-module='csf'][data-post="viewports"]:not([data-background-style="nightRider"]) body.csf .panel-body h4.col_header_custom{border-top:1px solid #f0f0f0 !important}html[data-module='csf'][data-post="viewports"] body.csf .table>thead>tr:first-child>th,html[data-module='csf'][data-post="viewports"] body.csf .table>thead>tr:first-child>td{border-top-width:1px}html[data-post='viewports'][data-background-style='nightRider'] .col_header_custom{border-top:1px solid #393b40 !important;border-right:1px solid #393b40 !important;border-left:1px solid #393b40 !important}html[data-module='csf'][data-background-style='nightRider'] .col_header_custom.big_big{background-color:#292c32 !important;border-left:1px solid #3a3c41 !important;border-right:1px solid #3a3c41 !important}html[data-module='csf'][data-background-style='nightRider'] .dataTables_wrapper .dataTables_empty:hover,html[data-module='csf'][data-background-style='nightRider'] .dataTables_wrapper .dataTables_empty{background-color:#2f3237}html[data-module='csf'][data-background-style='nightRider'] .table thead tr th,html[data-module='csf'][data-background-style='nightRider'] .csf form .section,html[data-module='csf'][data-background-style='nightRider'] .csf tbody tr th{background-color:#292c32 !important}html[data-module='csf'][data-background-style='nightRider'] #home>form:nth-child(1)>table>thead>tr>th,html[data-module='csf'][data-background-style='nightRider'] .panel._devcon .panel-heading{border-bottom:1px solid #252729 !important}html[data-module='csf'][data-background-style='nightRider'] body>div>div>div.panel-body>div:nth-child(2)>div>div.panel-heading,html[data-module='csf'][data-background-style='nightRider'] .panel{color:rgba(151,155,160,.82) !important}html[data-module='csf'][data-background-style='nightRider'] .cspinner .cspinner-icon.dark{border-top-color:#70737b;border-left-color:#5d5c5c}html[data-post='viewlogs'][data-background-style='nightRider'] .table.table-striped.table-condensed tbody tr:not(.submenu):nth-child(odd){background-color:#2f3237}html[data-post='viewlogs'][data-background-style='nightRider'] .table.table-striped.table-condensed tbody tr:not(.submenu):hover{background-color:#393737 !important}html[data-post='viewlogs'][data-background-style='nightRider'] .dataTables_wrapper .table tbody tr.submenu{background-color:#3d353b !important}html[data-post='viewlogs'][data-background-style='nightRider'] table.dataTable{border-top:0 !important}html[data-module='csf'][data-background-style='nightRider'] .panel-body>form>.panel.panel-default>.panel-body>.panel-heading,html[data-module='csf'][data-background-style='nightRider'] .panel._devcon .panel-heading,html[data-module='csf'][data-background-style='nightRider'] .panel._devcon{border-color:#3a3e43 !important}html[data-module='csf'][data-background-style='nightRider'] .panel-body>form>.panel.panel-default>.panel-body>.panel-heading{border-width:1px !important}html[data-post='servercheck'][data-background-style='nightRider'] div[style*="clear: both;padding"]{padding-top:5px !important;padding-bottom:6px !important}html[data-post=''][data-module='csf'][data-background-style='nightRider'] div#home table tr:nth-child(even) td{background-color:#2a2d31 !important}html[data-post='chart'][data-background-style='nightRider'] td{border-color:#252729}html[data-post='chart'][data-background-style='nightRider'] td img{filter:sepia(60%) invert(82%) grayscale(40%) contrast(93%) saturate(3) hue-rotate(330deg);-webkit-filter:sepia(60%) invert(82%) grayscale(40%) contrast(93%) saturate(3) hue-rotate(330deg)}html[data-background-style='nightRider'] .csf .circle.success{background-color:rgba(27,191,137,0.40)}html[data-background-style='nightRider'] .csf .circle.info{background-color:rgba(91,192,222,0.42)}html[data-background-style='nightRider'] .csf .circle.warning{background-color:rgba(173,112,27,0.56)}html[data-background-style='nightRider'] .csf .circle.danger{background-color:rgba(217,83,79,0.57)} \ No newline at end of file diff --git a/extensions/csf/csf.min.js b/extensions/csf/csf.min.js new file mode 100644 index 000000000..2178b7468 --- /dev/null +++ b/extensions/csf/csf.min.js @@ -0,0 +1,6 @@ +/*! + * Authentic Theme (https://github.com/qooob/authentic-theme) + * Copyright Ilia Rostovtsev + * Licensed under MIT (https://github.com/qooob/authentic-theme/blob/master/LICENSE) + */ +function __c_____undel(){CSFpause=1,b.CSFcreateRequestObject=function(){return!1},b.CSFsendRequest=function(){return!1},b.CSFhandleResponse=function(){return!1},b.CSFgrep=function(){return!1},b.CSFtimer=function(){return!1},b.CSFpausetimer=function(){return!1},b.CSFrefreshtimer=function(){return!1},b.windowSize=function(){return!1};var t="keydown.csf click.csf click.csf2 click.csf3 click.csf4 click.csf5 click.csf6 click.csf7 click.csf8 click.csf9 ";$("html, body").off(t),$("html, body *").undelegate(t).unbind(t).off(t),$(".csf-container").removeClass("csf-container")}function csf_init(){function t(t,e){if(!o.find(".csf-container").find('textarea[name="formdata"]').length&&$("html[data-post]").attr("data-post"))if(o.find(".csf-container").find('pre:not(:contains("<---"))').length){t&&o.find(".csf-container").find("pre").css({position:"initial",left:"initial",opacity:"0"}),o.find(".csf-container").find("pre").each(function(n,a){var i=$(this),o=Convert.htmlStrip(i.html());i.empty(),window["log_"+n]=window.CodeMirror(this,{value:o,lineNumbers:e,mode:null,theme:v___available_navigation&&!f.v___theme_night_mode?f.settings_cm_editor_palette:"monokai",readOnly:!0,viewportMargin:1/0}),t&&window["log_"+n].setSize(null,$(window).outerHeight()/1.7)}).promise().done(function(){if(t&&(o.find(".csf-container").find("pre").css({position:"initial",left:"initial"}),o.find(".csf-container").find("pre").animate({opacity:1},f.$settings_animation_left_slide_time)),!t){var e=1==$("pre[style]").length?1.4:1.8;$.each($("pre[style]"),function(t,n){var a=$(window).outerHeight()/(e*$("pre[style]").length),i=17*$(this).find(".CodeMirror-code").find("pre").length;i>a?window["log_"+t].setSize(null,a):window["log_"+t].setSize(null,i-10)})}"logtail"!=get_server_data("post")&&"loggrep"!=get_server_data("post")||$(".CodeMirror-scroll").scrollTop($(".CodeMirror-code").height())})}else o.find(".csf-container").find("pre").css({position:"initial",left:"initial"}),"monokai"===f.settings_cm_editor_palette&&o.find(".csf-container").find("pre").addClass("no_data"),o.find(".csf-container").find("pre").replaceText(/<---- /gi,""),o.find(".csf-container").find("pre").replaceText(/ ---->/gi,"")}function e(){$('html[data-post="viewlogs"]').length&&$.each($(".table.table-striped.table-condensed tbody tr"),function(){var t=$(this);targ=t.find('td[style*="nowrap"] button[type="button"]').attr("onclick"),__id=targ?parseInt(targ.match(/\d+/)[0]):-1,$.grep($__submenus__,function(e){$(e).attr("id")=="s"+__id&&t.after($(e))})})}function n(){setTimeout(function(){o.find(".csf-container").find(".panel-heading").prepend('\t\t\t\t\t'),o.find(".csf-container").find(".dataTables_filter").hide();var t=o.find(".csf-container").find(".btn-filter-top-right");t.unbind("click.csf"),t.on("click.csf",function(t){!$(t.target).is("input")&&$(this).find("label").slideToggle(300,function(){$(this).find("input").focus()})}),o.find(".csf-container").find(".dataTable-mirror").keyup(function(t){o.find(".csf-container").find(".dataTables_filter input").val($(this).val()).trigger("keyup"),$.trim($(this).val()).length>0?o.find(".csf-container").find(".btn-filter-top-right i").addClass("text-danger"):o.find(".csf-container").find(".btn-filter-top-right i").removeClass("text-danger")}),o.find(".csf-container").find(".btn-filter-top-right input").blur(function(t){$(this).parent("label").slideToggle(0)}),o.unbind("keydown.csf"),o.on("keydown.csf",function(t){if(!f.$('aside input[name="search"]').is(":focus")){var e=t.keyCode?t.keyCode:t.which;if(!(o.find(".csf-container").find("input").is(":focus")||o.find(".csf-container").find("select").is(":focus")||o.find(".csf-container").find("textarea").is(":focus")||o.find(".csf-container").find(".modal.in").length)){var n=String.fromCharCode(e).toLowerCase();!n||!/[a-zA-Z0-9]/.test(n)||t.ctrlKey||t.altKey||t.metaKey||106===e||107===e||109===e||112===e||113===e||114===e||115===e||116===e||117===e||118===e||119===e||120===e||121===e||122===e||123===e||o.find(".csf-container").find(".dataTables_filter label input").length&&(o.find(".csf-container").find(".btn-filter-top-right").trigger("click"),o.find(".csf-container").find(".btn-filter-top-right .dataTable-mirror").focus().trigger("keyup"))}}})},0)}(function(t){return!1}).prototype.navigate=function(t){return!1},"logtail"!=get_server_data("post")&&(CSFpause=1),"logtail"===get_server_data("post")&&($('button[onclick="CSFrefreshtimer()"], button[onclick="CSFpausetimer()"]').addClass("heighter-28"),setTimeout(function(){$('button[onclick="CSFrefreshtimer()"]').click()},1)),"function"==typeof CSFhandleResponse&&Core.fnExtend("CSFhandleResponse",function(){4==CSFajaxHTTP.readyState&&200==CSFajaxHTTP.status&&CSFajaxHTTP.responseText&&t(!1,!1)}),$is_lang=1;var a={order:[],aaSorting:[],bDestroy:!0,bPaginate:!1,bInfo:!1,destroy:!0,oLanguage:{sEmptyTable:f.theme_language("theme_xhred_datatable_semptytable"),sInfo:f.theme_language("theme_xhred_datatable_sinfo"),sInfoEmpty:f.theme_language("theme_xhred_datatable_sinfoempty"),sLengthMenu:f.theme_language("theme_xhred_datatable_slengthmenu"),sLoadingRecords:f.theme_language("theme_xhred_datatable_sloadingrecords"),sProcessing:f.theme_language("theme_xhred_datatable_sprocessing"),sSearch:" ",sZeroRecords:f.theme_language("theme_xhred_datatable_szerorecords")},drawCallback:function(t){e()}};if((r=$('link[href*="configserver"], style:not([data-persist]), .csf a#toplink, .csf a#botlink, .csf div#loader, .csf a#webmintr2')).remove(),v___available_navigation){var i=$('body:not(".mobile-menu-toggler")');i.unbind("click.csf9"),i.on("click.csf9",function(t){$(t.target).is('a[data-toggle="tab"]')||f.navigation_hide()}),f.$("#open_webmin").length>0&&"open_webmin"!=f.$(".switch-toggle input:checked").attr("id")&&"1"==f.$("body").data("dashboard")&&f.set_switch_position("webmin"),f.$('a[href="csf/"]').parent("li").addClass("sub_active").append('').parent("ul.sub").show().prev("li").addClass("active")}var o=$("html"),s=$("body"),l=$('body .container-fluid:not([data-dcontainer="1"])'),d=$("html").attr("data-post"),c=(c=$('pre:contains("csf:")').text().match(/((?:(\d+)\.)?(?:(\d+)\.)?(\*|\d+))$/))&&c[0]?c[0]:"10.xx";l.removeClass().addClass("container-fluid-original"),l.wrapInner('
      '),s.find(".panel-injected-custom").unwrap(),o.find(".container-fluid").addClass("csf-container"),o.find(".csf-container").find(".panel-default").wrapInner('
      '),o.find(".csf-container").find(".panel-default:first").css("border-top-width","4px").prepend('
       FirewallConfigServer Security & Firewall version '+c+"
      "),o.find(".csf-container").find(".panel-heading + .panel-body > .panel:first").remove(),favorites_empty(),favorites_detect(),o.find(".csf-container").find(".nav.nav-tabs").addClass("hidden"),o.find(".csf-container").find('a[data-toggle="tab"][href="#other"]').parent("li").remove(),o.find(".csf-container").find(".nav.nav-tabs:hidden + .tab-content").attr("style","margin-top: -10px !important"),0===o.find(".csf-container").find('button[value="upgrade"]').length&&$("#upgradetable").remove(),o.find(".csf-container").find('a[href$="/csf/changelog.txt"]').addClass("btn btn-xxs btn-default _btn-changelog").html('Changelog'),o.find("body table.table.table-bordered.table-striped").each(function(){$(this).addClass("table-condensed").removeClass("table-bordered").removeAttr("style")}),o.find(".csf-container").find("a#MobileView").parent(".panel-body").parent(".panel-body").parent(".panel").remove();var p=0;o.find(".csf-container").find(".mobilecontainer").length&&(p=1),o.find(".csf-container").find(".mobilecontainer").remove(),"undefined"==typeof settings_allowed_hostname&&(settings_allowed_hostname=!0);var g=p?o.find(".csf-container").find('.panel-heading:contains("Development Contribution")').parent().parent():o.find(".csf-container").find('.panel-heading:contains("Development Contribution")').parent(),h=get_server_data("hostname")==settings_allowed_hostname?1:0,m=o.find(".csf-container").find('br + pre:contains("csf:")');if(d)if(h)m.prev("br").remove(),m.next("p").remove(),m.remove();else{var u=m.next("p");m.remove(),m.prev("br").remove(),u.addClass("text-right footer-string")}else h?p?g.remove():(g.parent().find('br, br + pre:contains("csf:")').remove(),g.parent().find("p").remove(),g.remove()):p?(g.find('br, br + pre:contains("csf:")').remove(),g.find(".panel-info").removeClass("panel-info").addClass("panel-default text-center margined-top-10 _devcon"),g.find("p").addClass("text-right footer-string")):(g.parent().find('br, br + pre:contains("csf:")').remove(),g.parent().find(".panel-info").removeClass("panel-info").addClass("panel-default text-center margined-top-10 _devcon"),g.parent().find("p").addClass("text-right footer-string"));get_server_data("post")&&$(".csf .footer-string").remove(),o.find(".csf-container").find('select:not([name="backup"], [name="profile1"], [name="profile2"], [name="do"], [name="dur"]), .csf input:not([name="comment"], [name="ip"], [name="ports"], [name="timeout"], [aria-controls*="DataTables_Table_"])').addClass("heighter-34");var b=o.find(".csf-container").find('h4:contains("iptables logs*")');if(b.length){$(".panel-body .pull-right").addClass("hidden");var _=b.next().next(".table.table-striped.table-condensed");b.addClass("col_header_custom big_big"),b.find("b").css("margin-left","4px"),_.attr("style","margin-top: -8px !important"),_.find("tbody tr:nth-child(2) td:first-child").css("min-width","200px"),$__submenus__=$(".submenu").detach(),setTimeout(function(){o.find(".csf-container").find(".panel-heading").prepend('\t\t\t
      \t\t\t\t\t\t\t\t\t\t\t\t\t
      \t\t');var t=".btn-toggle-top-right";o.undelegate(t,"click.csf2"),o.find("body").on("click.csf2",t,function(t){t.preventDefault(),$(this).find(".fa-toggle-switch-off").length?(o.find(".csf-container").find('button[onclick*=".show()"]')[0].click(),o.find(".csf-container").find(".btn.btn-xxs.fa-1_25x").removeClass("fa-toggle-switch-off").addClass("fa-toggle-switch"),$(this).find(".fa-toggle-switch-off").removeClass("fa-toggle-switch-off").addClass("fa-toggle-switch")):(o.find(".csf-container").find('button[onclick*=".hide()"]')[0].click(),o.find(".csf-container").find(".btn.btn-xxs.fa-1_25x").removeClass("fa-toggle-switch").addClass("fa-toggle-switch-off"),$(this).find(".fa-toggle-switch").addClass("fa-toggle-switch-off").removeClass("fa-toggle-switch"))})},0),$('html[data-post="viewlogs"] button.glyphicon.glyphicon-resize-vertical').addClass("btn-xxs").removeClass("glyphicon glyphicon-resize-vertical").addClass("fa fa-toggle-switch-off fa-1_25x").removeAttr("data-tooltip").removeAttr("data-title").removeAttr("data-original-title");H=".table.table-striped.table-condensed tbody tr";$("body").undelegate(H,"click.csf3"),$("body").on("click.csf3",H,function(t){$(this).find("button").trigger("click")});H=".btn.btn-xxs.fa-1_25x";$("body").undelegate(H,"click.csf4"),$("body").on("click.csf4",H,function(t){t.preventDefault(),t.stopImmediatePropagation(),$(this).hasClass("fa-toggle-switch-off")?$(this).removeClass("fa-toggle-switch-off").addClass("fa-toggle-switch"):$(this).removeClass("fa-toggle-switch").addClass("fa-toggle-switch-off")}),$(".table.table-striped.table-condensed").dataTable(a),n(),setTimeout(function(){$(".btn-filter-top-right").parent().css("right","58px")},100)}if(o.find(".csf-container").find('select[name="dur"]')[0]){var v=o.find(".csf-container").find('select[name="dur"]')[0].nextSibling;"."==v.nodeValue&&$(v).remove()}$('html[data-post="conf"] .csf form .comment > br:first-child').map(function(){this.previousSibling.nodeValue&&$(this.previousSibling).wrap('')});o.find(".csf-container").find("#paginatediv2.paginationstyle > select").each(function(){$(this).attr("style","vertical-align: top !important")}),o.find(".csf-container").find("#paginatediv2 > a").each(function(){$(this).attr("style","vertical-align: baseline !important")}),o.find(".csf-container").find("p > select").each(function(){$(this).attr("style","vertical-align: baseline !important")});var y=f.v___theme_night_mode_enabled||f.v___theme_night_mode?1:0;o.find(".csf-container").find('img[src*="csfimages/loader.gif"]').each(function(){$(this).attr("src",(v___available_navigation?f.v___location_prefix:"")+"/images/loader-horizontal"+(y?"_dark":"")+".gif").css("margin-left","10px")}),o.find(".csf-container").find(".paginationstyle a").each(function(){$(this).addClass("btn btn-default")}),o.find(".csf-container").find('img[src^="lfd_"], img[src^="/csf/lfd_"]').each(function(){$(this).parents("table").removeClass("table-striped")}),o.find(".csf-container").find('img[src^="csfimages/delete.png"]').each(function(){$(this).replaceWith('')}),o.find(".csf-container").find('img[src^="csfimages/perm.png"]').each(function(){$(this).replaceWith('')}),o.find(".csf-container").find('img[src^="csfimages/plus.png"]').each(function(){$(this).addClass("hidden"),$(this).after('')}),o.find(".csf-container").find('img[src^="csfimages/minus.png"]').each(function(){$(this).addClass("hidden"),$(this).after('')}),o.find(".csf-container").find("fieldset legend b").each(function(){$(this).text().indexOf("Edit ConfigServer Firewall")>=0&&($submit_changes=o.find(".csf-container").find('input[value="Change"]'),$submit_changes.addClass("csf-submit_changes"),$submit_changes.unbind("click.csf5"),$submit_changes.on("click.csf5",function(){o.find(".csf-container").find('input[value="saveconf"]').parent("form").submit()}))}),"undefined"!=typeof __csf__listen_log_grep&&clearInterval(__csf__listen_log_grep),o.find(".csf-container").find("#CSFgrep_D").length&&o.find(".csf-container").find("#CSFgrep_E").length&&o.find(".csf-container").find("#CSFgrep_i").length&&(o.find(".csf-container").find('select, input[type="text"], button[onclick="CSFgrep()"]').removeClass("heighter-34").addClass("heighter-28"),o.find(".csf-container").find("#CSFgrep_i, #CSFgrep_E, #CSFgrep_D").attr("style","vertical-align: middle; margin-right: 4px;"),o.find(".csf-container").find("#CSFajax").css("margin-bottom","4px")),o.find(".csf-container").find("#CSFajax.csf-box").addClass("csf_force_log_size"),"function"==typeof CodeMirror&&t(!1,!1),"function"==typeof window.CodeMirror&&$("html[data-post]").attr("data-post")&&o.find(".csf-container").find('textarea[name="formdata"]').each(function(t,e){var n=$(this);$parent_width=n.parent("td").width();var a=window.CodeMirror.fromTextArea(e,{mode:{name:"rpm-spec"},matchBrackets:!0,lineNumbers:!0,keyMap:"sublime",highlightSelectionMatches:{showToken:/\w/,annotateScrollbar:!0},indentUnit:0,autofocus:!0,foldGutter:!0,gutters:["CodeMirror-linenumbers","CodeMirror-foldgutter"],extraKeys:{"Ctrl-Space":"autocomplete"},styleActiveLine:!0,lineWrapping:!0,theme:v___available_navigation&&!f.v___theme_night_mode?f.settings_cm_editor_palette:"monokai"});$window_height=$(window).outerHeight()-$(window).outerHeight()/2,a.setSize($parent_width,$window_height),$(window).resize(function(){$parent_width=n.parent("td").width(),$window_height=$(window).outerHeight()-$(window).outerHeight()/2,a.setSize($parent_width,$window_height)})}),"viewports"===get_server_data("post")&&(o.find(".csf-container").find(".panel .panel-body table.table-striped").each(function(){o.find(".csf-container").find("h4").addClass("col_header_custom").attr("style","margin-bottom: -5px !important; margin-top: 2px !important"),o.find(".csf-container").find("h4").text("Ports listening for external connections"),$(this).dataTable(a)}),n()),"temp"===get_server_data("post")&&(o.find(".csf-container").find('table:not(:contains("©2006-"))').each(function(){$('html[data-post="temp"] tr td .btn').attr("data-placement","right"),$('html[data-post="temp"] tr td .btn').addClass("btn-xxs").find("span.glyphicon.glyphicon-ban-circle").removeClass("glyphicon glyphicon-ban-circle").addClass("fa fa-ban"),$('html[data-post="temp"] tr td .btn').find("span.glyphicon.glyphicon-ok-circle").removeClass("glyphicon glyphicon-ok-circle").addClass("fa fa-unlock"),$.each($('html[data-post="temp"] tr td a.btn'),function(t,e){$(this).attr("data-placement","right"),$(this).addClass("btn-xxs"),$(this).hasClass("btn-danger")&&$(this).addClass("margined-right-8")}),$(this).dataTable(a),setTimeout(function(){o.find(".csf-container").find(".dataTable thead tr th:eq(0)").addClass("no-controls")},10)}),n(),$('.dataTables_wrapper + div:contains("There are no temporary IP entries")').remove(),$('html[data-post="temp"] .dataTables_wrapper + div').find("a").addClass("btn-xxs btn-inverse").removeClass("btn-success").prepend(' ')),get_server_data("post")||(o.find(".csf-container").find('button[value="conf"]').prepend(''),o.find(".csf-container").find('button[value="enable"]').addClass("page_footer_submit btn-success").removeClass("btn-default").prepend(''),o.find(".csf-container").find('button[value="disable"]').addClass("page_footer_submit btn-danger").removeClass("btn-default").prepend(''),o.find(".csf-container").find('button[value="restart"]').addClass("page_footer_submit btn-info").removeClass("btn-default").prepend(''),o.find(".csf-container").find('button[value="denyf"]').addClass("page_footer_submit btn-warning").removeClass("btn-default").prepend(''),o.find(".csf-container").find('button[value="templates"]').addClass("heighter-34").attr("style","margin-left: -2px !important; min-height: 34px !important"));var x=$('p:contains("..."):contains("Done")');if(x.length||$('html[data-post="logtail"], \t\t\t\t\t\t\t\t\thtml[data-post="allow"],\t\t\t\t\t\t\t\t\thtml[data-post="deny"],\t\t\t\t\t\t\t\t\thtml[data-post="redirect"],\t\t\t\t\t\t\t\t\thtml[data-post="ignorefiles"],\t\t\t\t\t\t\t\t\thtml[data-post="dirwatch"],\t\t\t\t\t\t\t\t\thtml[data-post="dyndns"],\t\t\t\t\t\t\t\t\thtml[data-post="templates"],\t\t\t\t\t\t\t\t\thtml[data-post="logfiles"],\t\t\t\t\t\t\t\t\thtml[data-post="blocklists"],\t\t\t\t\t\t\t\t\thtml[data-post="syslogusers"]').length?($("#csfreturn").parent("form").parent("div").prev("hr").replaceTagName("br"),x.remove()):$('html[data-post="servercheck"], html[data-post="readme"], html[data-post="viewlogs"], html[data-post="chart"], html[data-post="loggrep"], html[data-post="viewports"], html[data-post="profiles"], html[data-post="status"], html[data-post="sips"], html[data-post="temp"]').length&&($('html[data-post="temp"]')&&$('a[href="index.cgi?action=temprm&ip=all"]').length||$("#csfreturn").parent("form").parent("div").prev("hr").replaceTagName("br")),"profiles"===get_server_data("post")){var C=$(".table.table-striped.table-condensed:first thead");C.find("th:last-child").remove(),C.find("th").attr("colspan","2")}var w=$("#csfreturn").length;$('#csfreturn, \t\t html[data-post="rblcheckedit"] input[value="rblcheck"] + input,\t\t html[data-post="serverchecksave"] input[value="servercheck"] + input,\t\t html[data-post="temprm"] input[value="temp"] + input,\t\t html[data-post="temptoperm"] input[value="temp"] + input\t\t').replaceWith('");var k=$('html input[value="lfdrestart"] + input, html input[value="restart"] + input, html input[value="restartboth"] + input'),S="Save",T="fa-circle-check";k.length&&(S=k.val(),T="fa-circle-o-notch");var F=$('input[value="Change"],\t\thtml:not([data-post=""]) input[value="restartboth"] + input,\t\thtml:not([data-post=""]) input[value="lfdrestart"] + input,\t\thtml:not([data-post=""]) input[value="restart"] + input\t\t');F.parents("form").nextAll("br").remove(),F.replaceWith('");var z=".panel-heading font",M=z+" + .circles",D=$(".bs-callout:visible");if(D.length&&!$(M).length&&$(z).after(''),$.each(D,function(){var t=$.trim($(this).attr("class").replace("bs-callout","").replace("bs-callout-","").replace("text-center","").replace("collapse","")),e=$(this).text();e&&($(M).prepend(''),$(this).remove())}),""!==$("html").attr("data-post")){if(o.find(".csf-container").find(".btn-primary.page_footer_submit").length){o.find(".csf-container").find(".panel-heading font").before('');$("body").undelegate(".footer_module_index_top","click.csf6"),$("body").on("click.csf6",".footer_module_index_top",function(t){t.preventDefault(),$("body").find(".btn.btn-primary.page_footer_submit").before(''),$(".submit_tmp_index").trigger("click")})}}else{var R=o.find(".csf-container").find('button[value="conf"]');R.text();conf_row=R.parent("form").parent("td").parent("tr").addClass("hidden").detach(),info_button=o.find(".csf-container").find('button[value="readme"]'),title_help=info_button.text(),info_row=info_button.parent("td").parent("tr").addClass("hidden").detach(),$("#csf > table > tbody").append(conf_row),o.find(".csf-container").find(".panel-heading font").before('
      ');H='a[href="/"].ported_module_csf_conf';$("body").undelegate(H,"click.csf7"),$("body").on("click.csf7",H,function(t){t.preventDefault(),R.after('').trigger("click")}),$("#home form table tbody").append(info_row);var H='a[href="/"].ported_module_csf_help';$("body").undelegate(H,"click.csf8"),$("body").on("click.csf8",H,function(t){t.preventDefault(),info_button.after('').trigger("click")})}var I=$(".page_footer_submit.btn-primary").parent("form").parent("div");I.prev("hr").remove();var j=I.addClass("margined-bottom-20").detach();o.find(".csf-container").append(j)}var b=window,f=b,html=$("html"),r=$('link[href*="configserver"]'),empty=$("style:not([data-persist])"),v___theme_night_mode_enabled=$('html[data-background-style="nightRider"]').length&&$('link[href*="nightrider"]').length?1:0;f.v___initial_load=0,empty.remove(),r.remove(); \ No newline at end of file diff --git a/extensions/file-manager/bookmark.cgi b/extensions/file-manager/bookmark.cgi new file mode 100755 index 000000000..1effbc2c8 --- /dev/null +++ b/extensions/file-manager/bookmark.cgi @@ -0,0 +1,38 @@ +#!/usr/bin/perl + +# +# Authentic Theme (https://github.com/qooob/authentic-theme) +# Copyright Ilia Rostovtsev +# Copyright Alexandr Bezenkov (https://github.com/real-gecko/filemin) +# Licensed under MIT (https://github.com/qooob/authentic-theme/blob/master/LICENSE) +# + +use File::Basename; +use lib ( dirname(__FILE__) . '/../../lib' ); + +require( dirname(__FILE__) . '/file-manager-lib.pm' ); + +get_paths(); +$confdir = "$remote_user_info[7]/.filemin"; + +if ( !-d $confdir ) { + mkdir $confdir or &error("$text{'error_creating_conf'}: $!"); +} + +if ( !-f "$confdir/.bookmarks" ) { + utime time, time, "$configdir/.bookmarks"; +} + +$bookmarks = read_file_lines( $confdir . '/.bookmarks' ); +if ( !length $path ) { + $path = '/'; +} +if ( grep { $_ eq $path } @$bookmarks ) { + @$bookmarks = grep !/\A\Q$path\E\z/, @$bookmarks; +} +else { + push @$bookmarks, $path; +} + +flush_file_lines( $confdir . '/.bookmarks' ); +head(); diff --git a/extensions/file-manager/chattr.cgi b/extensions/file-manager/chattr.cgi new file mode 100755 index 000000000..ea1064a64 --- /dev/null +++ b/extensions/file-manager/chattr.cgi @@ -0,0 +1,45 @@ +#!/usr/bin/perl + +# +# Authentic Theme (https://github.com/qooob/authentic-theme) +# Copyright Ilia Rostovtsev +# Copyright Alexandr Bezenkov (https://github.com/real-gecko/filemin) +# Licensed under MIT (https://github.com/qooob/authentic-theme/blob/master/LICENSE) +# + +use File::Basename; +use lib ( dirname(__FILE__) . '/../../lib' ); + +require( dirname(__FILE__) . '/file-manager-lib.pm' ); + +my $recursive; +my %errors; +my $error_fatal; + +if ( $in{'recursive'} eq 'true' ) { $recursive = '-R'; } +else { $recursive = ''; } + +if ( !$in{'label'} ) { + redirect( 'list.cgi?path=' . urlize($path) . '&module=' . $in{'module'} ); +} + +my $label = quotemeta("$in{'label'}"); +$label =~ s/\\-/-/g; +$label =~ s/\\+//g; +$label =~ tr/a-zA-Z\-\+ //dc; + +foreach my $file ( split( /\0/, $in{'name'} ) ) { + $file = simplify_path($file); + if ( system_logged( "chattr $recursive " . $label . " " . quotemeta("$cwd/$file") ) != 0 ) { + $errors{ html_escape($file) } = lc("$text{'attr_label_error_proc'}: $?"); + } +} + +redirect( 'list.cgi?path=' + . urlize($path) + . '&module=' + . $in{'module'} + . '&error=' + . get_errors( \%errors ) + . '&error_fatal=' + . $error_fatal ); diff --git a/extensions/file-manager/chcon.cgi b/extensions/file-manager/chcon.cgi new file mode 100755 index 000000000..66d4b672c --- /dev/null +++ b/extensions/file-manager/chcon.cgi @@ -0,0 +1,42 @@ +#!/usr/bin/perl + +# +# Authentic Theme (https://github.com/qooob/authentic-theme) +# Copyright Ilia Rostovtsev +# Copyright Alexandr Bezenkov (https://github.com/real-gecko/filemin) +# Licensed under MIT (https://github.com/qooob/authentic-theme/blob/master/LICENSE) +# + +use File::Basename; +use lib ( dirname(__FILE__) . '/../../lib' ); + +require( dirname(__FILE__) . '/file-manager-lib.pm' ); + +my $recursive; +my %errors; +my $error_fatal; + +if ( $in{'recursive'} eq 'true' ) { $recursive = '-R'; } +else { $recursive = ''; } + +if ( !$in{'label'} ) { + redirect( 'list.cgi?path=' . urlize($path) . '&module=' . $in{'module'} ); +} + +foreach my $file ( split( /\0/, $in{'name'} ) ) { + $file = simplify_path($file); + if ( + system_logged( "chcon $recursive " . quotemeta("$in{'label'}") . " " . quotemeta("$cwd/$file") ) != 0 ) + { + $errors{ html_escape($file) } = lc("$text{'context_label_error_proc'}: $?"); + } +} + +redirect( 'list.cgi?path=' + . urlize($path) + . '&module=' + . $in{'module'} + . '&error=' + . get_errors( \%errors ) + . '&error_fatal=' + . $error_fatal ); diff --git a/extensions/file-manager/chmod.cgi b/extensions/file-manager/chmod.cgi new file mode 100755 index 000000000..40fa21b02 --- /dev/null +++ b/extensions/file-manager/chmod.cgi @@ -0,0 +1,106 @@ +#!/usr/bin/perl + +# +# Authentic Theme (https://github.com/qooob/authentic-theme) +# Copyright Ilia Rostovtsev +# Copyright Alexandr Bezenkov (https://github.com/real-gecko/filemin) +# Licensed under MIT (https://github.com/qooob/authentic-theme/blob/master/LICENSE) +# + +use File::Basename; +use lib ( dirname(__FILE__) . '/../../lib' ); + +require( dirname(__FILE__) . '/file-manager-lib.pm' ); + +my %errors; + +my $perms = $in{'perms'}; + +# Selected directories and files only +if ( $in{'applyto'} eq '1' ) { + foreach my $name ( split( /\0/, $in{'name'} ) ) { + $name = simplify_path($name); + if ( system_logged( "chmod " . quotemeta($perms) . " " . quotemeta("$cwd/$name") ) != 0 ) { + $errors{ urlize($name) } = lc("$text{'error_chmod'}: $?"); + } + } +} + +# Selected files and directories and files in selected directories +if ( $in{'applyto'} eq '2' ) { + foreach my $name ( split( /\0/, $in{'name'} ) ) { + $name = simplify_path($name); + if ( system_logged( "chmod " . quotemeta($perms) . " " . quotemeta("$cwd/$name") ) != 0 ) { + $errors{ urlize($name) } = lc("$text{'error_chmod'}: $?"); + } + if ( -d "$cwd/$name" ) { + if ( + system_logged( "find " + . quotemeta("$cwd/$name") + . " -maxdepth 1 -type f -exec chmod " + . quotemeta($perms) + . " {} \\;" + ) != 0 ) + { + $errors{ urlize($name) } = lc("$text{'error_chmod'}: $?"); + } + } + } +} + +# All (recursive) +if ( $in{'applyto'} eq '3' ) { + foreach my $name ( split( /\0/, $in{'name'} ) ) { + $name = simplify_path($name); + if ( system_logged( "chmod -R " . quotemeta($perms) . " " . quotemeta("$cwd/$name") ) != 0 ) { + $errors{ urlize($name) } = lc("$text{'error_chmod'}: $?"); + } + } +} + +# Selected files and files under selected directories and subdirectories +if ( $in{'applyto'} eq '4' ) { + foreach my $name ( split( /\0/, $in{'name'} ) ) { + $name = simplify_path($name); + if ( -f "$cwd/$name" ) { + if ( system_logged( "chmod " . quotemeta($perms) . " " . quotemeta("$cwd/$name") ) != 0 ) { + $errors{ urlize($name) } = lc("$text{'error_chmod'}: $?"); + } + } + else { + if ( + system_logged( "find " + . quotemeta("$cwd/$name") + . " -type f -exec chmod " + . quotemeta($perms) + . " {} \\;" + ) != 0 ) + { + $errors{ urlize($name) } = lc("$text{'error_chmod'}: $?"); + } + } + } +} + +# Selected directories and subdirectories +if ( $in{'applyto'} eq '5' ) { + foreach $name ( split( /\0/, $in{'name'} ) ) { + if ( -d "$cwd/$name" ) { + if ( system_logged( "chmod " . quotemeta($perms) . " " . quotemeta("$cwd/$name") ) != 0 ) { + $errors{ urlize($name) } = lc("$text{'error_chmod'}: $?"); + } + if ( + system_logged( "find " + . quotemeta("$cwd/$name") + . " -type d -exec chmod " + . quotemeta($perms) + . " {} \\;" + ) != 0 ) + { + $errors{ urlize($name) } = lc("$text{'error_chmod'}: $?"); + } + } + } +} + +redirect( 'list.cgi?path=' . urlize($path) . '&module=' . $in{'module'} . '&error=' . get_errors( \%errors ) ); diff --git a/extensions/file-manager/chown.cgi b/extensions/file-manager/chown.cgi new file mode 100755 index 000000000..81150fb95 --- /dev/null +++ b/extensions/file-manager/chown.cgi @@ -0,0 +1,54 @@ +#!/usr/bin/perl + +# +# Authentic Theme (https://github.com/qooob/authentic-theme) +# Copyright Ilia Rostovtsev +# Copyright Alexandr Bezenkov (https://github.com/real-gecko/filemin) +# Licensed under MIT (https://github.com/qooob/authentic-theme/blob/master/LICENSE) +# + +use File::Basename; +use lib ( dirname(__FILE__) . '/../../lib' ); + +require( dirname(__FILE__) . '/file-manager-lib.pm' ); + +my %errors; +my $error_fatal; + +if ( !$in{'owner'} or !$in{'group'} ) { + redirect( 'list.cgi?path=' . urlize($path) . '&module=' . $in{'module'} ); +} + +( my $login, my $pass, my $uid, my $gid ) = getpwnam( $in{'owner'} ); +my $grid = getgrnam( $in{'group'} ); +my $recursive; +if ( $in{'recursive'} eq 'true' ) { $recursive = '-R'; } +else { $recursive = ''; } + +if ( !defined $login ) { + $errors{ $in{'owner'} } = $text{'error_user_not_found'}; + $error_fatal = 1; +} + +if ( !defined $grid ) { + $errors{ $in{'group'} } = $text{'error_group_not_found'}; + $error_fatal = 1; +} + +if ( !scalar %errors ) { + foreach my $name ( split( /\0/, $in{'name'} ) ) { + $name = simplify_path($name); + if ( !$name || system_logged( "chown $recursive $uid:$grid " . quotemeta("$cwd/$name") ) != 0 ) { + $errors{ urlize($name) } = lc("$text{'error_chown'}: $?"); + } + } +} + +redirect( 'list.cgi?path=' + . urlize($path) + . '&module=' + . $in{'module'} + . '&error=' + . get_errors( \%errors ) + . '&error_fatal=' + . $error_fatal ); diff --git a/extensions/file-manager/compress.cgi b/extensions/file-manager/compress.cgi new file mode 100755 index 000000000..d38292d66 --- /dev/null +++ b/extensions/file-manager/compress.cgi @@ -0,0 +1,43 @@ +#!/usr/bin/perl + +# +# Authentic Theme (https://github.com/qooob/authentic-theme) +# Copyright Ilia Rostovtsev +# Copyright Alexandr Bezenkov (https://github.com/real-gecko/filemin) +# Licensed under MIT (https://github.com/qooob/authentic-theme/blob/master/LICENSE) +# + +use File::Basename; +use lib ( dirname(__FILE__) . '/../../lib' ); + +require( dirname(__FILE__) . '/file-manager-lib.pm' ); + +if ( !$in{'arch'} ) { + redirect( 'list.cgi?path=' . urlize($path) . '&module=' . $in{'module'} ); +} + +my %errors; +my $command; +my $extension; + +if ( $in{'method'} eq 'tar' ) { + $command = "tar czf " . quotemeta("$cwd/$in{'arch'}.tar.gz") . " -C " . quotemeta($cwd); + $extension = ".tar.gz"; +} +elsif ( $in{'method'} eq 'zip' ) { + $command = "cd " . quotemeta($cwd) . " && zip -r " . quotemeta("$cwd/$in{'arch'}.zip"); + $extension = ".zip"; +} + +foreach my $name ( split( /\0/, $in{'name'} ) ) { + $name =~ s/$in{'cwd'}\///ig; + $command .= " " . quotemeta($name); + + if ( !-e ( $cwd . '/' . $name ) ) { + $errors{ urlize($name) } = lc( $text{'theme_xhred_global_no_target'} ); + } +} + +system_logged($command); + +redirect( 'list.cgi?path=' . urlize($path) . '&module=' . $in{'module'} . '&error=' . get_errors( \%errors ) ); diff --git a/extensions/file-manager/copy.cgi b/extensions/file-manager/copy.cgi new file mode 100755 index 000000000..5ec9a1615 --- /dev/null +++ b/extensions/file-manager/copy.cgi @@ -0,0 +1,25 @@ +#!/usr/bin/perl + +# +# Authentic Theme (https://github.com/qooob/authentic-theme) +# Copyright Ilia Rostovtsev +# Copyright Alexandr Bezenkov (https://github.com/real-gecko/filemin) +# Licensed under MIT (https://github.com/qooob/authentic-theme/blob/master/LICENSE) +# + +use File::Basename; +use lib ( dirname(__FILE__) . '/../../lib' ); + +require( dirname(__FILE__) . '/file-manager-lib.pm' ); + +open( my $fh, ">", &get_paste_buffer_file() ) or die "Error: $!"; +print $fh "copy\n"; +print $fh "$path\n"; + +foreach my $name ( split( /\0/, $in{'name'} ) ) { + print $fh "$name\n"; +} + +close($fh); + +head(); diff --git a/extensions/file-manager/create_file.cgi b/extensions/file-manager/create_file.cgi new file mode 100755 index 000000000..3c534c7be --- /dev/null +++ b/extensions/file-manager/create_file.cgi @@ -0,0 +1,49 @@ +#!/usr/bin/perl + +# +# Authentic Theme (https://github.com/qooob/authentic-theme) +# Copyright Ilia Rostovtsev +# Copyright Alexandr Bezenkov (https://github.com/real-gecko/filemin) +# Licensed under MIT (https://github.com/qooob/authentic-theme/blob/master/LICENSE) +# + +use File::Basename; +use lib ( dirname(__FILE__) . '/../../lib' ); + +require( dirname(__FILE__) . '/file-manager-lib.pm' ); + +$path_urlized = urlize($path); + +if ( !$in{'name'} ) { + redirect("list.cgi?path=$path_urlized&module=$in{'module'}"); +} + +my $type; +if ( -d "$cwd/$in{'name'}" ) { + $type = 'directory'; +} +else { + $type = 'file'; +} + +if ( -f "$cwd/$in{'name'}" || -d "$cwd/$in{'name'}" ) { + print_error( + ( + text( 'filemanager_create_object_exists', $in{'name'}, + $path, $text{ 'theme_xhred_global_' . $type . '' } + ) + ) ); +} +else { + if ( open my $fh, "> $cwd/$in{'name'}" ) { + close($fh); + redirect("list.cgi?path=$path_urlized&module=$in{'module'}"); + } + else { + print_error( + ( + text( 'filemanager_create_object_denied', $in{'name'}, $path, $text{'theme_xhred_global_file'} + ) + ) ); + } +} diff --git a/extensions/file-manager/create_folder.cgi b/extensions/file-manager/create_folder.cgi new file mode 100755 index 000000000..bc8504471 --- /dev/null +++ b/extensions/file-manager/create_folder.cgi @@ -0,0 +1,49 @@ +#!/usr/bin/perl + +# +# Authentic Theme (https://github.com/qooob/authentic-theme) +# Copyright Ilia Rostovtsev +# Copyright Alexandr Bezenkov (https://github.com/real-gecko/filemin) +# Licensed under MIT (https://github.com/qooob/authentic-theme/blob/master/LICENSE) +# + +use File::Basename; +use lib ( dirname(__FILE__) . '/../../lib' ); + +require( dirname(__FILE__) . '/file-manager-lib.pm' ); + +$path_urlized = urlize($path); + +if ( !$in{'name'} ) { + redirect("list.cgi?path=$path_urlized&module=$in{'module'}"); +} +my $type; +if ( -d "$cwd/$in{'name'}" ) { + $type = 'directory'; +} +else { + $type = 'file'; +} + +if ( -f "$cwd/$in{'name'}" || -d "$cwd/$in{'name'}" ) { + print_error( + ( + text( 'filemanager_create_object_exists', $in{'name'}, + $path, $text{ 'theme_xhred_global_' . $type . '' } + ) + ) ); +} +else { + if ( mkdir( "$cwd/$in{'name'}", oct(755) ) ) { + + redirect("list.cgi?path=$path_urlized&module=$in{'module'}"); + } + else { + print_error( + ( + text( 'filemanager_create_object_denied', $in{'name'}, + $path, $text{'theme_xhred_global_directory'} + ) + ) ); + } +} diff --git a/extensions/file-manager/cut.cgi b/extensions/file-manager/cut.cgi new file mode 100755 index 000000000..7ae5ccb41 --- /dev/null +++ b/extensions/file-manager/cut.cgi @@ -0,0 +1,25 @@ +#!/usr/bin/perl + +# +# Authentic Theme (https://github.com/qooob/authentic-theme) +# Copyright Ilia Rostovtsev +# Copyright Alexandr Bezenkov (https://github.com/real-gecko/filemin) +# Licensed under MIT (https://github.com/qooob/authentic-theme/blob/master/LICENSE) +# + +use File::Basename; +use lib ( dirname(__FILE__) . '/../../lib' ); + +require( dirname(__FILE__) . '/file-manager-lib.pm' ); + +open( my $fh, ">", &get_paste_buffer_file() ) or die "Error: $!"; +print $fh "cut\n"; +print $fh "$path\n"; + +foreach my $name ( split( /\0/, $in{'name'} ) ) { + print $fh "$name\n"; +} + +close($fh); + +head(); diff --git a/extensions/file-manager/delete.cgi b/extensions/file-manager/delete.cgi new file mode 100755 index 000000000..3100422c6 --- /dev/null +++ b/extensions/file-manager/delete.cgi @@ -0,0 +1,24 @@ +#!/usr/bin/perl + +# +# Authentic Theme (https://github.com/qooob/authentic-theme) +# Copyright Ilia Rostovtsev +# Copyright Alexandr Bezenkov (https://github.com/real-gecko/filemin) +# Licensed under MIT (https://github.com/qooob/authentic-theme/blob/master/LICENSE) +# + +use File::Basename; +use lib ( dirname(__FILE__) . '/../../lib' ); + +require( dirname(__FILE__) . '/file-manager-lib.pm' ); + +my %errors; + +foreach my $name ( split( /\0/, $in{'name'} ) ) { + $name = simplify_path($name); + if ( !&unlink_logged( $cwd . '/' . $name ) ) { + $errors{ urlize($name) } = "$text{'error_delete'}"; + } +} + +redirect( 'list.cgi?path=' . urlize($path) . '&module=' . $in{'module'} . '&error=' . get_errors( \%errors ) ); diff --git a/extensions/file-manager/extract.cgi b/extensions/file-manager/extract.cgi new file mode 100755 index 000000000..6dd8a6208 --- /dev/null +++ b/extensions/file-manager/extract.cgi @@ -0,0 +1,43 @@ +#!/usr/bin/perl + +# +# Authentic Theme (https://github.com/qooob/authentic-theme) +# Copyright Ilia Rostovtsev +# Copyright Alexandr Bezenkov (https://github.com/real-gecko/filemin) +# Licensed under MIT (https://github.com/qooob/authentic-theme/blob/master/LICENSE) +# + +use File::Basename; +use lib (dirname(__FILE__) . '/../../lib'); + +require(dirname(__FILE__) . '/file-manager-lib.pm'); + +foreach my $name (split(/\0/, $in{'name'})) { + $archive_type = mimetype($cwd . '/' . $name); + if ($archive_type =~ /x-bzip/) { + &backquote_logged("tar xvjfp " . quotemeta("$cwd/$name") . " -C " . quotemeta($cwd)); + } elsif ($archive_type =~ /x-tar/ || + $archive_type =~ /\/gzip/ || + $archive_type =~ /x-xz/ || + $archive_type =~ /x-compressed-tar/) + { + &backquote_logged("tar xfp " . quotemeta("$cwd/$name") . " -C " . quotemeta($cwd)); + } elsif ($archive_type =~ /x-7z/) { + &backquote_logged("7z x -aoa " . quotemeta("$cwd/$name") . " -o" . quotemeta($cwd)); + } elsif ($archive_type =~ /\/zip/) { + &backquote_logged("unzip -o " . quotemeta("$cwd/$name") . " -d " . quotemeta($cwd)); + } elsif ($archive_type =~ /\/x-rar/) { + &backquote_logged("unrar x -r -y -o+ " . quotemeta("$cwd/$name") . " " . quotemeta($cwd)); + } elsif ($archive_type =~ "/x-rpm" || $archive_type =~ /\/x-deb/) { + my $dir = fileparse("$cwd/$name", qr/\.[^.]*/); + my $path = quotemeta("$cwd/$dir"); + &backquote_logged("mkdir $path"); + if ($archive_type =~ /\/x-rpm/) { + &backquote_logged("(rpm2cpio " . quotemeta("$cwd/$name") . " | (cd " . $path . "; cpio -idmv))"); + } else { + &backquote_logged("dpkg -x " . quotemeta("$cwd/$name") . " " . $path); + } + } +} + +redirect('list.cgi?path=' . urlize($path) . '&module=' . $in{'module'}); diff --git a/extensions/file-manager/fetcher.cgi b/extensions/file-manager/fetcher.cgi new file mode 100755 index 000000000..afb29dd6a --- /dev/null +++ b/extensions/file-manager/fetcher.cgi @@ -0,0 +1,38 @@ +#!/usr/bin/perl + +# +# Authentic Theme (https://github.com/qooob/authentic-theme) +# Copyright Ilia Rostovtsev +# Copyright Alexandr Bezenkov (https://github.com/real-gecko/filemin) +# Licensed under MIT (https://github.com/qooob/authentic-theme/blob/master/LICENSE) +# + +use File::Basename; +use lib (dirname(__FILE__) . '/../../lib'); + +require(dirname(__FILE__) . '/file-manager-lib.pm'); + +if (is_root()) { + + if ($in{'list_users'} || $in{'home_base'}) { + foreign_require("useradmin"); + my %uconfig = foreign_config("useradmin"); + my $user_home_base = resolve_links($uconfig{'home_base'} || '/home'); + + if ($in{'list_users'}) { + my %users; + while (($name, $passwd, $uid, $gid, $quota, $comment, $gcos, $dir, $shell) = getpwent) { + if ($dir =~ /\Q$user_home_base\E/) { + $users{$name} = $uid . ":" . $gid . ":" . $dir; + } + } + print_json(\%users); + } + + if ($in{'home_base'}) { + print_json({ 'home_base' => $user_home_base }); + } + } +} else { + print_json({}); +} diff --git a/extensions/file-manager/file-manager-lib.pm b/extensions/file-manager/file-manager-lib.pm new file mode 100644 index 000000000..9a23c6db4 --- /dev/null +++ b/extensions/file-manager/file-manager-lib.pm @@ -0,0 +1,440 @@ +# +# Authentic Theme (https://github.com/qooob/authentic-theme) +# Copyright Alexandr Bezenkov (https://github.com/real-gecko/filemin) +# Licensed under MIT (https://github.com/qooob/authentic-theme/blob/master/LICENSE) +# + +our %request_uri = get_request_uri(); +set_module($request_uri{'module'}); +get_libs($request_uri{'module'}); + +our %text = (load_language($current_theme), %text); +our %text = (load_language($request_uri{'module'}), %text); + +our $checked_path; + +sub set_module +{ + my ($module) = @_; + set_env('foreign_module_name', $module); + set_env('foreign_root_directory', (get_env('document_root') . '/' . $module)); +} + +sub get_libs +{ + my ($module) = @_; + + use Cwd 'abs_path'; + use Encode qw(decode encode); + use File::Basename; + use File::MimeInfo; + use POSIX; + use JSON qw( decode_json ); + + require(get_env('document_root') . '/' . $module . '/filemin-lib.pl'); + + &ReadParse(); + + get_paths(); + + switch_to_user($in{'username'}); + + if (!$in{'error'}) { + set_response(); + set_response_count(); + } + + $checked_path = $path; + if (join(" , ", @allowed_paths) ne '/') { + $checked_path =~ s/$in{'cwd'}\//\//ig; + } + +} + +sub get_type +{ + my ($dir) = @_; + if (-d $dir) { + return 1; + } else { + return 0; + } +} + +sub get_json +{ + return JSON->new->latin1->encode(@_); +} + +sub print_json +{ + head(), print get_json(@_); +} + +sub get_errors +{ + my %errors = %{ $_[0] }; + + if (scalar %errors) { + return JSON->new->latin1->encode(\%errors); + } else { + return undef; + } + +} + +sub get_request_uri +{ + (my $uri = get_env('request_uri')) =~ s/\?/&/; + my @r = split /&/, $uri; + my %c; + + foreach (@r) { + my ($k, $v) = split /=/, $_; + $c{$k} = $v; + } + + return %c; +} + +sub head +{ + print "Content-type: text/html\n\n"; +} + +sub set_response +{ + my ($c) = @_; + print "Set-Cookie: file-manager-response=" . $c . "; path=/\r\n"; +} + +sub set_response_count +{ + my ($c) = @_; + print "Set-Cookie: file-manager-response_count=" . $c . "; path=/\r\n"; +} + +sub fatal_errors +{ + my @errors = @_; + + head(); + print $text{'errors_occured'}; + print "
        "; + foreach $error (@errors) { + print("
      • $error
      • "); + } + print "
      "; +} + +sub print_error +{ + my ($error) = @_; + + head(); + print $error; + exit; + +} + +sub print_content +{ + + my $setype = get_selinux_command_type(); + my %secontext; + my %attributes; + + # Filter out not allowed entries + if ($remote_user_info[0] ne 'root' && $allowed_paths[0] ne '$ROOT') { + + # Leave only allowed + for $path (@allowed_paths) { + my $slashed = $path; + $slashed .= "/" if ($slashed !~ /\/$/); + push @tmp_list, grep {$slashed =~ /^$_\// || $_ =~ /$slashed/} @list; + } + + # Remove duplicates + my %hash = map {$_, 1} @tmp_list; + @list = keys %hash; + } + + # List attributes + if ($userconfig{'columns'} =~ /attributes/ && get_attr_status()) { + my $command = + get_attr_command() . join(' ', map {quotemeta("$_")} @list); + my $output = `$command`; + my @attributesArr = + map {[split(/\s+/, $_, 2)]} split(/\n/, $output); + %attributes = map {$_->[1] => ('' . $_->[0] . '')} @attributesArr; + } + + # List security context + if ($userconfig{'columns'} =~ /selinux/ && get_selinux_status()) { + my $command = + get_selinux_command() . join(' ', map {quotemeta("$_")} @list); + my $output = `$command`; + (!$setype && ($output =~ s/\n//g, $output =~ s/,\s/,/g)); + my $delimiter = ($setype ? '\n' : ','); + my @searray = + map {[split(/\s+/, $_, 2)]} split(/$delimiter/, $output); + %secontext = + map {$_->[1] => ($_->[0] eq "?" ? undef : ('' . $_->[0] . ''))} @searray; + } + + # Get info about directory entries + @info = map {[$_, lstat($_), &mimetype($_), -d, -l $_, $secontext{$_}, $attributes{$_}]} @list; + + # Filter out folders + @folders = map {$_} grep {$_->[15] == 1} @info; + + # Filter out files + @files = map {$_} grep {$_->[15] != 1} @info; + + # Sort stuff by name + @folders = sort {$a->[0] cmp $b->[0]} @folders; + @files = sort {$a->[0] cmp $b->[0]} @files; + + # Recreate list + undef(@list); + push @list, @folders, @files; + + @allowed_for_edit = split(/\s+/, $access{'allowed_for_edit'}); + %allowed_for_edit = map {$_ => 1} @allowed_for_edit; + + # Set icons variables + $edit_icon = ""; + $rename_icon = ""; + $extract_icon = ""; + $goto_icon = ""; + + $page = 1; + $pagelimit = 4294967295; + + my $info_total; + my $info_files = scalar @files; + my $info_folders = scalar @folders; + + if ($info_files eq 1 && $info_folders eq 1) { + $info_total = 'filemanager_global_info_total1'; + } elsif ($info_files ne 1 && $info_folders eq 1) { + $info_total = 'filemanager_global_info_total2'; + } elsif ($info_files eq 1 && $info_folders ne 1) { + $info_total = 'filemanager_global_info_total3'; + } else { + $info_total = 'filemanager_global_info_total4'; + } + + head(); + print ''; + print ''; + print ''; + print ''; + print "
      " . text($info_total, $info_files, $info_folders) . "
      "; + + # Render current directory entries + print &ui_form_start("", "post", undef, "id='list_form'"); + @ui_columns = ('', ''); + push @ui_columns, ('' . $text{'name'} . ''); + push @ui_columns, ('' . $text{'type'} . '') + if ($userconfig{'columns'} =~ /type/); + push @ui_columns, ('' . $text{'actions'} . ''); + push @ui_columns, ('' . $text{'size'} . '') + if ($userconfig{'columns'} =~ /size/); + push @ui_columns, ('' . $text{'ownership'} . '') + if ($userconfig{'columns'} =~ /owner_user/); + push @ui_columns, ('' . $text{'permissions'} . '') + if ($userconfig{'columns'} =~ /permissions/); + push @ui_columns, ('' . $text{'attributes'} . '') + if (get_attr_status() && $userconfig{'columns'} =~ /attributes/); + push @ui_columns, ('' . $text{'selinux'} . '') + if (get_selinux_status() && $userconfig{'columns'} =~ /selinux/); + push @ui_columns, ('' . $text{'last_mod_time'} . '') + if ($userconfig{'columns'} =~ /last_mod_time/); + + print &ui_columns_start(\@ui_columns); + for (my $count = 1 + $pagelimit * ($page - 1); $count <= $pagelimit + $pagelimit * ($page - 1); $count++) { + if ($count > scalar(@list)) {last;} + my $class = $count & 1 ? "odd" : "even"; + my $link = $list[$count - 1][0]; + $link =~ s/\Q$cwd\E\///; + $link =~ s/^\///g; + $vlink = html_escape($link); + $vlink = decode('UTF-8', $vlink, Encode::FB_DEFAULT); + $hlink = html_escape($vlink); + $path = html_escape($path); + + my $type = $list[$count - 1][14]; + $type =~ s/\//\-/g; + my $img = "images/icons/mime/$type.png"; + unless (-e $request_uri{'module'} . '/' . $img) { + $img = "images/icons/mime/unknown.png"; + } + $size = &nice_size($list[$count - 1][8]); + $user = + getpwuid($list[$count - 1][5]) ? + getpwuid($list[$count - 1][5]) : + $list[$count - 1][5]; + $group = + getgrgid($list[$count - 1][6]) ? + getgrgid($list[$count - 1][6]) : + $list[$count - 1][6]; + $permissions = sprintf("%04o", $list[$count - 1][3] & 07777); + + if (get_selinux_status() && $userconfig{'columns'} =~ /selinux/) { + $selinux = $list[$count - 1][17]; + } + + if (get_attr_status() && $userconfig{'columns'} =~ /attributes/) { + $attributes = $list[$count - 1][18]; + } + + $mod_time = POSIX::strftime('%Y/%m/%d - %T', localtime($list[$count - 1][10])); + + $actions = +"$rename_icon"; + + if ($list[$count - 1][15] == 1) { + if ($path eq '/' . $link) { + $href = "index.cgi?path=" . &urlize("$path"); + } else { + $href = "index.cgi?path=" . &urlize("$path/$link"); + } + } else { + ($fname, $fpath, $fsuffix) = + fileparse($list[$count - 1][0]); + if ($base ne '/') { + $fpath =~ s/^\Q$base\E//g; + } + $href = "download.cgi?file=" . &urlize($link) . "&path=" . &urlize($fpath); + if ($0 =~ /search.cgi/) { + $actions = + "$actions$goto_icon"; + } + if ($type =~ /text-/ or + exists($allowed_for_edit{$type})) + { + $actions = + "$actions$edit_icon"; + } + if (($type =~ /application-zip/ && has_command('unzip')) || + ($type =~ /application-x-7z-compressed/ && + has_command('7z')) || + ($type =~ /application-x-rar/ && + has_command('unrar')) || + ($type =~ /application-x-rpm/ && + has_command('rpm2cpio') && + has_command('cpio')) || + ($type =~ /application-x-deb/ && + has_command('dpkg')) + || + ( + ($type =~ /x-compressed-tar/ || $type =~ /-x-tar/ || + ($type =~ /-x-bzip/ && + has_command('bzip2')) || + ($type =~ /-gzip/ && + has_command('gzip')) || + ($type =~ /-x-xz/ && + has_command('xz')) + ) && + has_command('tar'))) + { + $actions = + "$actions $extract_icon "; + } + } + @row_data = ("", "$vlink"); + push @row_data, $type if ($userconfig{'columns'} =~ /type/); + push @row_data, $actions; + push @row_data, $size if ($userconfig{'columns'} =~ /size/); + push @row_data, $user . ':' . $group + if ($userconfig{'columns'} =~ /owner_user/); + push @row_data, $permissions + if ($userconfig{'columns'} =~ /permissions/); + push @row_data, $attributes + if (get_attr_status() && $userconfig{'columns'} =~ /attributes/); + push @row_data, $selinux + if (get_selinux_status() && $userconfig{'columns'} =~ /selinux/); + push @row_data, $mod_time + if ($userconfig{'columns'} =~ /last_mod_time/); + print &ui_checked_columns_row(\@row_data, "", "name", $vlink); + } + print ui_columns_end(); + print &ui_hidden("path", $path), "\n"; + print ''; + print '
      ' . $in{'error'} . '
      ' + if (length $in{'error'}); + print '
      ' . $in{'error_fatal'} . '
      ' + if (length $in{'error_fatal'}); + print ''; + print ''; + +} + +sub paster +{ + my ($c, $f, $s, $d, $r, $m) = @_; + my $x; + my $j = $c . '/' . $f; + if (!$r && -f $j ne -d $j) { + for (my $t = 1; $t <= inf; $t += 1) { + if (!-e ($j . '(' . $t . ')')) { + $x = $t; + last; + } + } + } + if ($m && $j =~ /\Q$s\E/) { + set_response('merr'); + return; + } + my ($o, $e) = copy_source_dest($s, $j . (!$x ? '' : '(' . $x . ')')); + if ($x) { + set_response('cc'); + } + if ($m) { + unlink_file($s); + } + + return $e; + +} + +sub switch_to_user +{ + my ($username) = @_; + my @uinfo = getpwnam($username); + if (@uinfo) { + switch_to_unix_user(\@uinfo); + } + +} + +sub is_root +{ + return ($base_remote_user eq 'root' ? 1 : 0); +} + +sub get_env +{ + my ($key) = @_; + return $ENV{ uc($key) }; +} + +sub set_env +{ + my ($k, $v) = @_; + $ENV{ uc($k) } = $v; +} + +sub trim +{ + my $s = shift; + $s =~ s/^\s+|\s+$//g; + return $s; +} + +1; diff --git a/extensions/file-manager/file-manager.min.js b/extensions/file-manager/file-manager.min.js new file mode 100644 index 000000000..d8f51ff6c --- /dev/null +++ b/extensions/file-manager/file-manager.min.js @@ -0,0 +1,6 @@ +/*! + * Authentic Theme (https://github.com/qooob/authentic-theme) + * Copyright Ilia Rostovtsev + * Licensed under MIT (https://github.com/qooob/authentic-theme/blob/master/LICENSE) + */ +function __f___globals(){$____loader_block__=1,$g__v__home_base=Math.random(),$v__fm__container_fluid=".container-fluid",$v__fm__container_fluid_form=".container-fluid #list_form",$v__fm__container_fluid_modal_in=".container-fluid .modal.in",$($v__fm__container_fluid).addClass("fmx"),$v__fm__container_fluid+=".fmx","undefined"==typeof __f___cas_jp_rev&&(__f___cas_jp_rev=0),tab___to______create=1}function uriEncodeParam(e,a){var t=URI.parseQuery(URI(e).query())[a];return t&&(e=(e=e.replace(t,Convert.uriEncodeComponent(t))).replace("//","/")),e}function _f__table(){var e=parseInt($(".container-fluid .tab-pane.active").attr("id").replace(/^\D+/g,""));return window["_f__table"+e]}function __r____changed(){if($("body").attr("class")&&$("body").attr("class").indexOf(v___module_file_manager)>-1){$(".total_size_data").parent("span").addClass("hidden");var e=_f__table().dataTable().$("tr.hl-aw",{filter:"applied"}).length;e?__f___ub():__f___lb(),$(".total_selected").html(1==e?theme_language("theme_xhred_filemanager_selected_entry").replace("%value","1"):theme_language("theme_xhred_filemanager_selected_entries").replace("%value",""+e+""))}}function __f___mn(){return v___module}function f__insert_dir_up(){var e=$("#path").val();e&&"/"!=e&&"%2F"!=e&&!$($v__fm__container_fluid+" .active table tbody tr.directory_go_up").length&&$($v__fm__container_fluid+" .active table tbody").prepend('
        ..
        ..
      \t \t\t\t\t \t\t\t
      ');var n=$($v__fm__container_fluid+" .active table thead").clone();n.removeClass("hidden"),n.prependTo("#list_form_AuthenticThemeTmp"+tab___to______create+" table"),__f____r("get","index.cgi?path="+_,!1,0,[tab___to______create,a,t]),setTimeout(function(){},0),tab___is______new=!0}function __f____r(e,a,t,_,n){if("object"==typeof n)var i=n[2],o=n[1],n=n[0];else o=!0;a&&!$.isArray(a)&&(a=uriEncodeParam(a,"path"));var l=Convert.htmlUnEscape(URI.parseQuery(URI(a).query()).path.replace("//","/"));if(void 0===n&&(n=!1),"get"===e){if($("body.file-manager").find($v__fm__container_fluid_form+" table tbody").hasClass("o__f_m-updating")&&o)return;__f_____lo(!0,!0),!$($v__fm__container_fluid+" div.popover.popover-path-data.in:visible").length&&!n&&$($v__fm__container_fluid+' .active a[href="'+Convert.htmlEscape(a)+'"] img').before(''),l=encodeURIComponent(l),$.ajax({type:"POST",url:v___server_extensions_path+"/file-manager/list.cgi?path="+l+"&module="+v___module,data:!1,dataType:"html",success:function(t){if(theme_message_dismiss("refreshDir_info"),j=$.parseHTML(t),!$(j[1]).find("table").length)return $(j[10]).is("h3")&&3==get_access_level()?theme_messenger(''+$(j[10]).text().replace(" :",":").replace(" ,",","),15,"error","getPath_error"):theme_messenger(''+t,15,"error","getPath_error"),__f_____ul(),$($v__fm__container_fluid+" .active table .cspinner").remove(),void(n&&($($v__fm__container_fluid+' a[href="#tab-'+n+'"]').parent("li").remove(),$($v__fm__container_fluid+' .tab-content .tab-pane[id="tab-'+n+'"]').remove()));$($v__fm__container_fluid+' [data-toggle="popover-path"]').popover("hide");var r=Convert.uriEncodeComponent(Convert.htmlUnEscape(Convert.uriDecodeComponent(a)).replace("//","/").replace("index.cgi?path=",""));!n&&$($v__fm__container_fluid_form+' > input[type="hidden"][name="path"]').val(r),o&&$($v__fm__container_fluid+" div.total").append(__f___tl_v());var s=$(j[0]).append(__f___tl_v()).html();o&&$($v__fm__container_fluid+" .total").html(s),n?$($v__fm__container_fluid+' .tab-pane[id="tab-'+n+'"]').data("totalValue",s):$($v__fm__container_fluid+" .tab-pane.active form table").data("totalValue",s),__f___u("upd",$(j[1]).find("table").find(".ui_checked_columns"),_,!1,[n,o,Convert.uriDecodeComponent(l),s,i],$(e[0]).text()),$("#__f__c__m").css("display","none"),setTimeout(function(){__f___us_a(),"function"==typeof sortable&&sortable($($v__fm__container_fluid+" .tabs-top > ul.nav"))},10)},error:function(e){}})}}function __f___us_a(){if(0==get_access_level()&&1==config_portable_module_filemanager_switch_user){var e=$($v__fm__container_fluid+" #path").val();e&&e.indexOf($g__v__home_base)>-1&&e!=$g__v__home_base?$.ajax({type:"POST",url:v___server_extensions_path+"/file-manager/fetcher.cgi?module="+v___module+"&list_users=1",data:!1,dataType:"JSON",success:function(a){$.each(Convert.arrFlip(a),function(a,t){var _=Convert.uriEncodeComponent(a.split(":")[2]);(e==_||e.startsWith(_+"%2F"))&&localStorage.setItem(v___server_hostname+"-settings_thirdparty_filemanager_usermode",t),__f___us_tl()})},error:function(e){}}):(__f___us_m_def(),__f___us_tl())}}function __f___us_m_def(){localStorage.setItem(v___server_hostname+"-settings_thirdparty_filemanager_usermode","")}function __f___us_tl(){var e=localStorage.getItem(v___server_hostname+"-settings_thirdparty_filemanager_usermode"),a=theme_language("theme_xhred_filemanager_user_switch")+"

      "+theme_language("theme_xhred_filemanager_user_switch_current_user")+": "+(e||v___server_username)+"",t="#file-manager-switch-user";$(t).attr("data-original-title",a),e?$(t).addClass("btn-warning"):$(t).removeClass("btn-warning")}function __f___tl_v(){return'. '+theme_language("theme_xhred_filemanager_selected_entries").replace("%value","0")+' '}function ___f__tw(){if(__f___globals(),__f_____undel(),$("body.file-manager").attr("class")&&$("body.file-manager").attr("class").indexOf(v___module_file_manager)>-1){if($__f__rf_s="fa-refresh","object"!=typeof jsPanel&&$.getScript(v___location_prefix+"/unauthenticated/js/jquery.jspanel."+v___source_type+".js",function(e,a,t){$('head link[rel="stylesheet"]:first').before('')}),"config.cgi"==v___location_file){$('input[name="per_page"], input[name="disable_pagination"], input[name="menu_style"], textarea[name="bookmarks"]').parents("td.col_value").parent("tr").addClass("hidden"),$("#columns_size").parent(".awobject").remove(),$('form[action="save_config.cgi"]').append(''),$(".table-subtable .sub_table_container.table-hardcoded").find("tbody").append('\t\t\t\t\t\t\t\t\t'+theme_language("theme_xhred_filemanager_hide_toolbar")+'\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'+theme_language("theme_xhred_filemanager_hovered_toolbar")+'\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'+theme_language("theme_xhred_filemanager_hide_actions")+'\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'+theme_language("theme_xhred_filemanager_settings_tabs_remember_state")+'\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'+theme_language("theme_xhred_filemanager_context_calculate_size")+'\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    '),$.ajax({type:"POST",url:v___location_prefix+"/index.cgi/?xhr-get_list=1&xhr-get_list_path="+i,data:!1,dataType:"JSON",success:function(e){$.each($(e),function(e,a){_.parent("a").next("span[data-tree]").append('  '+($dirCurrent==a?" "+Convert.htmlEscape(a)+"":" "+Convert.htmlEscape(a))+"")}).promise().done(function(){_.removeClass("invisible").next(".cspinner").remove(),_.parent("a").removeClass("text-black"),_.parent("a").next("span[data-tree]").removeClass("hidden");var e=_.parent("a").next("span[data-tree]"),a=$("span[data-tree] i.fa-folder-open-o").parent("a");void 0!==a.offset()&&void 0!==e.offset()&&e.animate({scrollTop:a.offset().top-e.offset().top+e.scrollTop()},0)})},error:function(e){}}))}).on("mouseenter.fm",$v__fm__container_fluid+" .breadcrumb .fa-caret-right",function(e){$(this).parent("a").addClass("text-black")}).on("mouseleave.fm",$v__fm__container_fluid+" .breadcrumb .fa-caret-right",function(e){$(this).parent("a").removeClass("text-black")}),$("body.file-manager").on("click.fm",function(e){var a=$($v__fm__container_fluid+" .breadcrumb a + span[data-tree]"),t=$($v__fm__container_fluid+" .breadcrumb .fa-caret-down");a.length&&(a.remove(),t.addClass("fa-caret-right").removeClass("fa-caret-down"))}),$.each($($v__fm__container_fluid+" .modal .modal-content .modal-footer"),function(e,a){$(this).wrapInner('
    ')}),$($v__fm__container_fluid+" .btn-group.pull-right").find(".fa-check-square").removeClass("fa-check-square").addClass("fa-share-square-o"),$($v__fm__container_fluid+" #headln2l .help_popup").css("padding","6px 12px"),$($v__fm__container_fluid+" #headln2l .btn-group > a.btn:first-child > i").attr("data-title",theme_language("theme_xhred_global_dir_up")).attr("data-toggle","tooltip"),$($v__fm__container_fluid+' ul > li > a[href^="bookmark.cgi?path="]').parents("ul").addClass("at-o__f_m-favorites-dropdown").find(".fa-bookmark-o").removeClass("fa-bookmark-o").addClass("fa-fw fa-star-o"),$($v__fm__container_fluid+' div button[onclick="removeDialog()"]').addClass("disabled o__f_m-button-delete").removeAttr("onclick"),$($v__fm__container_fluid+' a[onclick="chmodDialog()"]').removeAttr("onclick").parent("li").addClass("disabled o__f_m-button-chmod"),$($v__fm__container_fluid+' a[onclick="chownDialog()"]').removeAttr("onclick").parent("li").addClass("disabled o__f_m-button-chown"),$($v__fm__container_fluid+' a[onclick="chattrDialog()"]').removeAttr("onclick").parent("li").addClass("disabled o__f_m-button-chattr"),$($v__fm__container_fluid+' a[onclick="chconDialog()"]').removeAttr("onclick").parent("li").addClass("disabled o__f_m-button-chcon"),$($v__fm__container_fluid+' a[onclick="compressDialog()"]').removeAttr("onclick").parent("li").addClass("disabled o__f_m-button-compress"),$($v__fm__container_fluid+' a[onclick="copySelected()"]').removeAttr("onclick").parent("li").addClass("disabled o__f_m-button-copy"),$($v__fm__container_fluid+' a[onclick="cutSelected()"]').removeAttr("onclick").parent("li").addClass("disabled o__f_m-button-cut"),localStorage.getItem(v___server_hostname+"-copy")||localStorage.getItem(v___server_hostname+"-cut")?$($v__fm__container_fluid+' a[onclick*="paste.cgi"]').removeAttr("onclick").parent("li").addClass("o__f_m-button-paste"):$($v__fm__container_fluid+' a[onclick*="paste.cgi"]').removeAttr("onclick").parent("li").addClass("disabled o__f_m-button-paste"),v___server_sestatus||($($v__fm__container_fluid+" li.o__f_m-button-chcon").addClass("hidden"),$($v__fm__container_fluid+" #__f__c__m a[data-context-chcon]").parent("li").addClass("hidden"),$($v__fm__container_fluid+" #__f__c__m .dropdown-submenu-properties").css("top","-74px")),$("body.file-manager").on("click.fm",$v__fm__container_fluid+' button + .dropdown-menu.at-o__f_m-favorites-dropdown > li > a:not([href^="bookmark.cgi"])',function(){$(this).parents("ul").trigger("mouseleave")}),$.each($($v__fm__container_fluid+" .btn-group.pull-right .btn-group"),function(){$(this).find("button > .caret").css("margin-left","3px"),$(this).find("button + ul.dropdown-menu > li > a").css("padding-left","12px"),$(this).find("button + ul.dropdown-menu > li > a > i").append("  "),$(this).find("ul").addClass("pull-right").find(".fa-paste").removeClass("fa-paste").addClass("fa-fw fa-clipboard").text("").after("  "),$(this).find("ul").addClass("pull-right").find(".fa-search").addClass("fa-fw").text("").after(" ")}).promise().done(function(){f_m__bm__c()}),$("body.file-manager").on("click.fm",$v__fm__container_fluid+" .file-manager-remove-bookmark",function(e){e.preventDefault(),e.stopPropagation();var a=URI.parseQuery(URI($(this).parent("a").attr("href")).query()).path;$(this).parent("a").parent("li").remove(),$.ajax({type:"POST",url:v___server_extensions_path+"/file-manager/bookmark.cgi?path="+Convert.uriEncodeComponent(a)+"&module="+v___module,data:!1,dataType:"text",success:function(e){f_m__bm__c(),theme_messenger(''+theme_language("theme_xhred_filemanager_unbookmark_success").replace("%value",a?Convert.htmlEscape(a):"/"),5,"warning","bookmarkAddRemove")},error:function(e){}})}),$("body.file-manager").on("mousemove.fm",function(e){$(this).data("mousePageX",e.pageX).data("mousePageY",e.pageY)}),$("body.file-manager").on("MacIntel"!==window.navigator.platform||___is_Safari?"click.fm":"mouseup.fm",".___f_m__q__:visible .ui_checked_columns",function(e){if(e.ctrlKey){if($(e.target).is('input[name="name"].iawobject'))return;e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation(),$(this).find("td:first-child").trigger("contextmenu")}}),0!==get_access_level()&&1!==get_access_level()&&$("body.file-manager").find($v__fm__container_fluid+" .breadcrumb li:first-child a").html(' '),$("body.file-manager").find($v__fm__container_fluid+" .breadcrumb li:first-child").addClass("fm___root__"),__f___u(!1,!1,0,0),$($v__fm__container_fluid+' button[onclick="selectAll()"], '+$v__fm__container_fluid+' button[onclick="invertSelection()"]').click(function(){setTimeout(function(){__r____changed()},0)}),$("body.file-manager").on("click.fm",$v__fm__container_fluid+' #headln2l > div.btn-group > a[href*="'+v___module_file_manager+'"][href*="index.cgi"]',function(e){e.preventDefault(),e.stopPropagation();var a="";(a=$($v__fm__container_fluid+" .breadcrumb li:first-child a i").hasClass("fa-search")?"index.cgi?path="+Convert.uriEncodeComponent($('#list_form > input[type="hidden"][name="path"]').val()):$($v__fm__container_fluid+" .breadcrumb > li:eq(-2) > a").attr("href"))||(a="index.cgi?path="),__f____r("get",a,!1,0),$($v__fm__container_fluid+" .active i.fa-folder-btl").after('')}),$("body.file-manager").on("click.fm",$v__fm__container_fluid+" .breadcrumb li > a:not(.fa-keyboard-o), .breadcrumb li > a + span[data-tree] > a, .dropdown-menu.at-o__f_m-favorites-dropdown > li:not(.data-context-bookmarks) > a:not(.no_effect), .active table label > a.o__f_m-follow-file",function(e){e.preventDefault(),e.stopPropagation();var a="index.cgi?path=",t=0;$(this).attr("href")&&-1===$(this).attr("href").indexOf("/"+v___module_file_manager)&&(a=$(this).attr("href")),"index.cgi?path=/"===a&&(a="index.cgi?path="),a&&a.indexOf("bookmark.cgi?")>-1?t=1:(__f____r("get",a,!1,t),$($v__fm__container_fluid+" .active i.fa-folder-btl").after(''))}),$("body.file-manager").on("click.fm",$v__fm__container_fluid+' li.o__f_m-button-copy:not(".disabled") a',function(e){e.preventDefault(),e.stopPropagation(),theme_messenger(''+theme_language("theme_xhred_filemanager_copying_selected")+" "+theme_language("theme_xhred_global_please_wait"),10,"info","copy_info"),__f____a("copy",!1)}),$("body.file-manager").on("click.fm",$v__fm__container_fluid+' li.o__f_m-button-cut:not(".disabled") a',function(e){e.preventDefault(),e.stopPropagation(),theme_messenger(''+theme_language("theme_xhred_filemanager_cutting_selected")+" "+theme_language("theme_xhred_global_please_wait"),10,"warning","cut_warning"),__f____a("cut",!1)}),$("body.file-manager").on("click.fm",$v__fm__container_fluid+' li.o__f_m-button-paste:not(".disabled") a',function(e){e.preventDefault(),e.stopPropagation(),theme_messenger(''+theme_language("theme_xhred_filemanager_pasting_selected")+" "+theme_language("theme_xhred_global_please_wait"),1e5,"info","paste_info"),__f____a("paste",!1)}),$("body.file-manager").on("click.fm",$v__fm__container_fluid+' a[href^="extract.cgi"]',function(e){e.preventDefault(),e.stopPropagation(),theme_messenger(''+theme_language("theme_xhred_filemanager_unpacking_archive")+" "+theme_language("theme_xhred_global_please_wait"),1e5,"info","extract_info"),__f____a("extract",$(this).attr("href"))}),$("body.file-manager").find($v__fm__container_fluid+' #removeDialog button[type="button"][onclick="removeSelected()"]').removeAttr("onclick").addClass("_at_filemanager_delete_submit"),$("body.file-manager").on("click.fm",$v__fm__container_fluid+" #removeDialog button._at_filemanager_delete_submit",function(e){e.preventDefault(),e.stopPropagation(),theme_messenger(''+theme_language("theme_xhred_filemanager_deleting_selected")+" "+theme_language("theme_xhred_global_please_wait"),1e5,"info","delete_info"),__f____a("delete",!1),theme_modal_dismiss()}),$($v__fm__container_fluid+" #removeDialog").on("show.bs.modal",function(){var e=$(this).find("#items-to-remove");e.empty(),$.each(_f__gr("checked"),function(){e.append(Convert.htmlEscape($(this).val())+"
    ")})}),$("body.file-manager").find($v__fm__container_fluid+' #renameDialog button[type="button"][onclick="renameSelected()"]').removeAttr("onclick").addClass("_at_filemanager_rename_submit"),$("body.file-manager").on("click.fm",$v__fm__container_fluid+" #renameDialog button._at_filemanager_rename_submit",function(e){e.preventDefault(),e.stopPropagation(),theme_messenger(''+theme_language("theme_xhred_filemanager_renaming_selected")+" "+theme_language("theme_xhred_global_please_wait"),10,"info","rename_info"),__f____a("rename",!1)}),$("body.file-manager").on("submit.fm",$v__fm__container_fluid+" #renameDialog",function(e){e.preventDefault(),e.stopPropagation(),$($v__fm__container_fluid+" #renameDialog button._at_filemanager_rename_submit").trigger("click")}),$($v__fm__container_fluid+" #renameDialog").on("shown.bs.modal",function(){var e=$(this).find('input[type="text"]');e.focus(),e.select()}),$($v__fm__container_fluid+" #renameDialog").on("show.bs.modal",function(e){$(this).find('input[type="text"]'),$(this).find("button._at_filemanager_rename_submit")}),$($v__fm__container_fluid+' #renameDialog input[type="text"]').on("keyup.fm change.fm click.fm input.fm",function(e){var a=$($v__fm__container_fluid+" #renameDialog").find("button._at_filemanager_rename_submit");$(this).val()?a.prop("disabled",!1):a.prop("disabled",!0)}),$("body.file-manager").find($v__fm__container_fluid+' #createFolderDialog button[type="button"][onclick="createFolder()"]').removeAttr("onclick").addClass("_at_filemanager_create_folder_submit"),$("body.file-manager").on("click.fm",$v__fm__container_fluid+" #createFolderDialog button._at_filemanager_create_folder_submit",function(e){e.preventDefault(),e.stopPropagation(),theme_messenger(''+theme_language("theme_xhred_filemanager_creating_directory")+" `"+Convert.htmlEscape($('#createFolderForm input[name="name"]').val())+"`. "+theme_language("theme_xhred_global_please_wait"),10,"info","create_folder_info"),__f____a("create_folder",!1)}),$("body.file-manager").on("submit.fm",$v__fm__container_fluid+" #createFolderForm",function(e){e.preventDefault(),e.stopPropagation(),$($v__fm__container_fluid+" #createFolderDialog button._at_filemanager_create_folder_submit").trigger("click")}),$($v__fm__container_fluid+" #createFolderDialog").on("shown.bs.modal",function(){$(this).find('input[type="text"]').focus()}),$($v__fm__container_fluid+" #createFolderDialog").on("show.bs.modal",function(){var e=$(this).find('input[type="text"]'),a=$(this).find("button._at_filemanager_create_folder_submit");e.val(""),!e.val()&&a.prop("disabled",!0)}),$($v__fm__container_fluid+' #createFolderDialog input[type="text"]').on("keyup.fm change.fm click.fm input.fm",function(e){var a=$($v__fm__container_fluid+" #createFolderDialog").find("button._at_filemanager_create_folder_submit");$(this).val()?a.prop("disabled",!1):a.prop("disabled",!0)}),$("body.file-manager").find($v__fm__container_fluid+' #createFileDialog button[type="button"][onclick="createFile()"]').removeAttr("onclick").addClass("_at_filemanager_create_file_submit"),$("body.file-manager").on("click.fm",$v__fm__container_fluid+" #createFileDialog button._at_filemanager_create_file_submit",function(e){e.preventDefault(),e.stopPropagation(),theme_messenger(''+theme_language("theme_xhred_filemanager_creating_file")+" `"+$('#createFileForm input[name="name"]').val()+"`. "+theme_language("theme_xhred_global_please_wait"),10,"info","create_file_info"),__f____a("create_file",!1)}),$("body.file-manager").on("submit.fm",$v__fm__container_fluid+" #createFileForm",function(e){e.preventDefault(),e.stopPropagation(),$($v__fm__container_fluid+" #createFileDialog button._at_filemanager_create_file_submit").trigger("click")}),$($v__fm__container_fluid+" #createFileDialog").on("shown.bs.modal",function(){$(this).find('input[type="text"]').focus()}),$($v__fm__container_fluid+" #createFileDialog").on("show.bs.modal",function(){var e=$(this).find('input[type="text"]'),a=$(this).find("button._at_filemanager_create_file_submit");e.val(""),!e.val()&&a.prop("disabled",!0)}),$($v__fm__container_fluid+' #createFileDialog input[type="text"]').on("keyup.fm change.fm click.fm input.fm",function(e){var a=$($v__fm__container_fluid+" #createFileDialog").find("button._at_filemanager_create_file_submit");$(this).val()?a.prop("disabled",!1):a.prop("disabled",!0)}),$("body.file-manager").find($v__fm__container_fluid+' #downFromUrlDialog button[type="button"][onclick="downFromUrl()"]').removeAttr("onclick").addClass("o__f_m-submitter-url_download"),$("body.file-manager").on("click.fm",$v__fm__container_fluid+" #downFromUrlDialog button.o__f_m-submitter-url_download",function(e){e.preventDefault(),e.stopPropagation(),theme_messenger(''+theme_language("theme_xhred_filemanager_downloading_from")+" "+URI($('#downFromUrlForm input[name="link"]').val()).hostname()+". "+theme_language("theme_xhred_global_please_wait"),1e6,"info","url_download_info"),__f____a("url_download",!1)}),$("body.file-manager").on("submit.fm",$v__fm__container_fluid+" #downFromUrlForm",function(e){e.preventDefault(),e.stopPropagation(),$($v__fm__container_fluid+" #downFromUrlDialog button.o__f_m-submitter-url_download").trigger("click")}),$($v__fm__container_fluid+" #downFromUrlDialog").on("shown.bs.modal",function(){$(this).find('input[name="link"]').focus()}),$($v__fm__container_fluid+" #downFromUrlDialog").on("show.bs.modal",function(){var e=$(this).find('input[name="link"]'),a=$(this).find("button.o__f_m-submitter-url_download");!e.val()&&a.prop("disabled",!0)}),$($v__fm__container_fluid+' #downFromUrlDialog input[name="link"]').on("keyup.fm change.fm click.fm input.fm",function(e){var a=$($v__fm__container_fluid+" #downFromUrlDialog").find("button.o__f_m-submitter-url_download");$(this).val()?a.prop("disabled",!1):a.prop("disabled",!0)}),$($v__fm__container_fluid+" #readyForUploadDialog").on("show.bs.modal",function(){var e=URI.parseQuery(URI($($v__fm__container_fluid+" #upload-form").attr("action")).query()).id;$($v__fm__container_fluid+" #upload-form").attr("action","upload.cgi?path="+Convert.uriEncodeComponent($("#upload-form").find('input[name="path"]').val())+"&id="+e)}),$("body.file-manager").find($v__fm__container_fluid+' #searchDialog button[type="button"][onclick="search()"]').removeAttr("onclick").addClass("_at_filemanager_search_submit"),$("body.file-manager").on("click.fm",$v__fm__container_fluid+" #searchDialog button._at_filemanager_search_submit",function(e){e.preventDefault(),e.stopPropagation(),__f____a("search",!1)}),$("body.file-manager").on("submit.fm",$v__fm__container_fluid+" #searchForm",function(e){e.preventDefault(),e.stopPropagation(),$($v__fm__container_fluid+" #searchDialog button._at_filemanager_search_submit").trigger("click")}),$($v__fm__container_fluid+" #searchDialog").on("shown.bs.modal",function(){$(this).find('input[name="query"]').focus()}).on("show.bs.modal",function(){$($v__fm__container_fluid+' #searchDialog input[name="query"]').trigger("keyup"),$($v__fm__container_fluid+' input[name="grepreplace"]').prop("disabled",!0).val(""),$($v__fm__container_fluid+" ._at_filemanager_search_submit").text(theme_language("theme_xhred_global_find")).removeClass("btn-warning").addClass("btn-primary")}).on("keyup.fm",$v__fm__container_fluid+' input[name="query"]',function(){$(this).val().length?$($v__fm__container_fluid+' input[name="grepstring"], input[name="grepreplace"]').removeAttr("disabled"):$($v__fm__container_fluid+' input[name="grepstring"], input[name="grepreplace"]').prop("disabled",!0),$($v__fm__container_fluid+' #searchDialog input[name="grepstring"]').trigger("keyup")}).on("keyup.fm",$v__fm__container_fluid+' input[name="grepstring"]',function(){$(this).val().length?$($v__fm__container_fluid+' input[name="grepreplace"]').removeAttr("disabled"):$($v__fm__container_fluid+' input[name="grepreplace"]').prop("disabled",!0)}).on("keyup.fm",$v__fm__container_fluid+' input[name="grepreplace"]',function(){$.trim($(this).val()).length?$($v__fm__container_fluid+" ._at_filemanager_search_submit").text(theme_language("theme_xhred_global_replace")).removeClass("btn-primary").addClass("btn-warning"):$($v__fm__container_fluid+" ._at_filemanager_search_submit").text(theme_language("theme_xhred_global_find")).removeClass("btn-warning").addClass("btn-primary")}),$($v__fm__container_fluid+" #searchDialog").on("show.bs.modal",function(){var e=$(this).find('input[type="text"]'),a=$(this).find("button._at_filemanager_search_submit");!e.val()&&a.prop("disabled",!0)}),$("body.file-manager").on("click.fm",$v__fm__container_fluid+" .__o__f_m-search-results-data",function(e){__f____r("get","index.cgi?path="+((e=$($v__fm__container_fluid+" #path").val())?Convert.uriEncodeComponent(e):""),!1,0)}),$($v__fm__container_fluid+' #searchDialog input[type="text"]').on("keyup.fm change.fm click.fm input.fm",function(e){var a=$($v__fm__container_fluid+" #searchDialog").find("button._at_filemanager_search_submit");$(this).val()?a.prop("disabled",!1):a.prop("disabled",!0)}),$("body.file-manager").on("click.fm",$v__fm__container_fluid+' a[href^="bookmark.cgi"]',function(e){e.preventDefault(),e.stopPropagation();var a=$(this).attr("href");"bookmark.cgi?path="===a&&(a+="/"),__f____a("bookmark",a)}),$('body .container-fluid #chmodDialog button[onclick="chmodSelected()"]').removeAttr("onclick").addClass("o__f_m-submitter-chmod"),$("body.file-manager").on("click.fm",$v__fm__container_fluid+" #chmodDialog button.o__f_m-submitter-chmod",function(e){e.preventDefault(),e.stopPropagation(),theme_messenger(''+theme_language("theme_xhred_filemanager_setting_permissions").replace("%value",Convert.htmlEscape($("#perms").val()))+" "+theme_language("theme_xhred_global_please_wait"),1e5,"info","chmod_info"),__f____a("chmod",[$("#perms").val(),$('#chmodForm select[name="applyto"] option:selected').val()])}),$($v__fm__container_fluid+" #chmodDialog").on("shown.bs.modal",function(){$($v__fm__container_fluid+' #chmodDialog input[id="perms"]').focus().select()}),$('body .container-fluid #chownDialog button[onclick="chownSelected()"]').removeAttr("onclick").addClass("o__f_m-submitter-chown"),$("body.file-manager").on("click.fm",$v__fm__container_fluid+" #chownDialog button.o__f_m-submitter-chown",function(e){e.preventDefault(),e.stopPropagation(),theme_messenger(''+theme_language("theme_xhred_filemanager_changing_ownership").replace("%value",Convert.htmlEscape($('#chownForm input[name="owner"]').val())+":"+$('#chownForm input[name="group"]').val())+" "+theme_language("theme_xhred_global_please_wait"),1e5,"info","chown_info"),__f____a("chown",[$('#chownForm input[name="owner"]').val(),$('#chownForm input[name="group"]').val(),$('#chownForm input[name="recursive"]').prop("checked")])}),$($v__fm__container_fluid+" #chownDialog").on("shown.bs.modal",function(){$($v__fm__container_fluid+' #chownDialog input[name="owner"]').focus()}),$($v__fm__container_fluid+" #chownDialog").on("show.bs.modal",function(){$(this).find("button.o__f_m-submitter-chown").prop("disabled",!0)}),$($v__fm__container_fluid+' #chownDialog input[name="owner"], '+$v__fm__container_fluid+' #chownDialog input[name="group"]').on("keyup.fm change.fm click.fm input.fm",function(e){var a=$($v__fm__container_fluid+" #chownDialog").find("button.o__f_m-submitter-chown");$($v__fm__container_fluid+' #chownDialog input[name="owner"]').val()&&$($v__fm__container_fluid+' #chownDialog input[name="group"]').val()?a.prop("disabled",!1):a.prop("disabled",!0)}),$($v__fm__container_fluid+' #chownDialog input[name="owner"], '+$v__fm__container_fluid+' #chownDialog input[name="group"]').on("keyup.fm",function(e){e.preventDefault(),13==e.which&&$($v__fm__container_fluid+" #chownDialog button.o__f_m-submitter-chown").trigger("click")}),$($v__fm__container_fluid+" #chownDialog").on("show.bs.modal",function(){$($v__fm__container_fluid+' #chownDialog input[name="owner"], '+$v__fm__container_fluid+' #chownDialog input[name="group"]').val(""),$($v__fm__container_fluid+' #chownDialog input[name="recursive"]').removeAttr("checked")}),$('body .container-fluid #chattrDialog button[onclick="chattrSelected()"]').removeAttr("onclick").addClass("o__f_m-submitter-chattr"),$("body.file-manager").on("click.fm",$v__fm__container_fluid+" #chattrDialog button.o__f_m-submitter-chattr",function(e){e.preventDefault(),e.stopPropagation(),theme_messenger(''+theme_language("theme_xhred_filemanager_changing_attributes").replace("%value",Convert.htmlEscape($('#chattrForm input[name="label"]').val()))+" "+theme_language("theme_xhred_global_please_wait"),1e5,"info","chattr_info"),__f____a("chattr",[$('#chattrForm input[name="label"]').val(),$('#chattrForm input[name="recursive"]').prop("checked")])}),$($v__fm__container_fluid+" #chattrDialog").on("shown.bs.modal",function(){$($v__fm__container_fluid+' #chattrDialog input[name="label"]').focus()}),$($v__fm__container_fluid+" #chattrDialog").on("show.bs.modal",function(){$(this).find("button.o__f_m-submitter-chattr").prop("disabled",!0)}),$($v__fm__container_fluid+' #chattrDialog input[name="label"]').on("keyup.fm change.fm click.fm input.fm",function(e){var a=$($v__fm__container_fluid+" #chattrDialog").find("button.o__f_m-submitter-chattr");$($v__fm__container_fluid+' #chattrDialog input[name="label"]').val()?a.prop("disabled",!1):a.prop("disabled",!0)}),$($v__fm__container_fluid+' #chattrDialog input[name="label"]').on("keyup.fm",function(e){e.preventDefault(),13==e.which&&$($v__fm__container_fluid+" #chattrDialog button.o__f_m-submitter-chattr").trigger("click")}),$($v__fm__container_fluid+" #chattrDialog").on("show.bs.modal",function(){$($v__fm__container_fluid+' #chattrDialog input[name="label"]').val(""),$($v__fm__container_fluid+' #chattrForm input[name="recursive"]').removeAttr("checked")}),$('body .container-fluid #chconDialog button[onclick="chconSelected()"]').removeAttr("onclick").addClass("o__f_m-submitter-chcon"),$("body.file-manager").on("click.fm",$v__fm__container_fluid+" #chconDialog button.o__f_m-submitter-chcon",function(e){e.preventDefault(),e.stopPropagation(),theme_messenger(''+theme_language("theme_xhred_filemanager_changing_secontext").replace("%value",Convert.htmlEscape($('#chconForm input[name="label"]').val()))+" "+theme_language("theme_xhred_global_please_wait"),1e5,"info","chcon_info"),__f____a("chcon",[$($v__fm__container_fluid+' #chconForm input[name="label"]').val(),$($v__fm__container_fluid+' #chconForm input[name="recursive"]').prop("checked")])}),$($v__fm__container_fluid+" #chconDialog").on("shown.bs.modal",function(){$($v__fm__container_fluid+' #chconDialog input[name="label"]').focus()}),$($v__fm__container_fluid+" #chconDialog").on("show.bs.modal",function(){$(this).find("button.o__f_m-submitter-chcon").prop("disabled",!0);var e={};$.unique($($v__fm__container_fluid+" tr td span[data-secontext]").map(function(){e[$(this).text()]=$(this).text()}).get());var a=$.map(e,function(e,a){if("undefined"!=a)return{value:e,url:a,data:{category:0}}});"function"==typeof $().autocomplete&&$($v__fm__container_fluid+' #chconDialog input[name="label"]').autocomplete({lookup:a,onSelect:function(e){},showNoSuggestionNotice:!0,noSuggestionNotice:theme_language("theme_xhred_global_no_results_found")})}),$($v__fm__container_fluid+' #chconDialog input[name="label"]').on("keyup.fm change.fm click.fm input.fm",function(e){var a=$($v__fm__container_fluid+" #chconDialog").find("button.o__f_m-submitter-chcon");$('#chconDialog input[name="label"]').val()?a.prop("disabled",!1):a.prop("disabled",!0)}),$($v__fm__container_fluid+' #chconDialog input[name="label"]').on("keydown.fm",function(e){13!=e.which||$(".autocomplete-suggestions:visible").length||$($v__fm__container_fluid+" #chconDialog button.o__f_m-submitter-chcon").trigger("click")}),$($v__fm__container_fluid+" #chconDialog").on("show.bs.modal",function(){$($v__fm__container_fluid+' #chconDialog input[name="label"]').val(""),$($v__fm__container_fluid+' #chconForm input[name="recursive"]').removeAttr("checked")});function a(){$.ajax({type:"POST",url:v___location_prefix+"/index.cgi/?xhr-get_command_exists=1&xhr-get_command_exists_name=zip",data:!1,dataType:"text",success:function(e){e?$($v__fm__container_fluid+' select[name="method"] option[value="zip"]').prop("disabled",!1):($($v__fm__container_fluid+' select[name="method"]').val("tar"),$($v__fm__container_fluid+' select[name="method"] option[value="zip"]').prop("disabled",!0),theme_messenger(''+theme_language("theme_xhred_global_no_such_command").replace("%cmd","zip"),15,"error"))},error:function(e){}})}$('body .container-fluid #compressDialog button[onclick="compressSelected()"]').removeAttr("onclick").addClass("o__f_m-submitter-compress").prop("disabled",!0),$("body.file-manager").on("click.fm",$v__fm__container_fluid+" #compressDialog button.o__f_m-submitter-compress",function(e){e.preventDefault(),e.stopPropagation(),theme_messenger(''+theme_language("theme_xhred_filemanager_compressing_selected")+" "+theme_language("theme_xhred_global_please_wait"),1e5,"info","compress_info",0),__f____a("compress",[Convert.htmlEscape($('#compressSelectedForm input[name="filename"]').val()),$('#compressSelectedForm select[name="method"] option:selected').val()])}),$($v__fm__container_fluid+' #compressDialog input[name="filename"]').on("keyup.fm change.fm click.fm input.fm",function(e){var a=$("#compressDialog").find("button.o__f_m-submitter-compress");$(this).val()?a.prop("disabled",!1):a.prop("disabled",!0)}),$("body.file-manager").on("submit.fm",$v__fm__container_fluid+" #compressSelectedForm",function(e){e.preventDefault(),e.stopPropagation(),$($v__fm__container_fluid+" #compressDialog button.o__f_m-submitter-compress").trigger("click")}),$($v__fm__container_fluid+" #compressDialog").on("show.bs.modal",function(){$($v__fm__container_fluid+' #compressDialog input[name="filename"]').val("")}).on("shown.bs.modal",function(){$($v__fm__container_fluid+' #compressDialog input[name="filename"]').focus(),$($v__fm__container_fluid+' select[name="method"] option[value="zip"]').prop("disabled",!1),"zip"==$($v__fm__container_fluid+' select[name="method"]').val()&&a()}),$($v__fm__container_fluid+' select[name="method"]').change(function(e){"zip"==$(this).val()&&a()}),$("body.file-manager").on("click.fm",$v__fm__container_fluid+" .dropdown-menu > li.disabled",function(e){e.preventDefault(),e.stopPropagation()}),"index.cgi"!==v___location_file||URI(v___location).hasQuery("path")||$($v__fm__container_fluid+" #headln2l").find('a[href*="'+v___module_file_manager+'"][href*="index.cgi"]').addClass("hidden"),$($v__fm__container_fluid+" .btn-group.pull-right > button:eq(2)").removeAttr("onclick"),$("body.file-manager").on("click.fm",$v__fm__container_fluid+" .btn-group.pull-right > button:eq(2)",function(e){var a=$($v__fm__container_fluid+" #path").val();__f____r("get","index.cgi?path="+(a?Convert.uriEncodeComponent(a):""),!1,0),0===$____loader_block__&&theme_messenger(''+theme_language("theme_xhred_filemanager_refreshing")+" "+theme_language("theme_xhred_global_please_wait"),1e5,"info","refreshDir_info")}),setTimeout(function(){1!=config_portable_module_filemanager_hovered_toolbar&&$($v__fm__container_fluid+" .btn-group.pull-right > .btn-group > button").hover(function(e){e.preventDefault(),e.stopPropagation()})},100),$("body.file-manager").on("click.fm",$v__fm__container_fluid+" .btn-group.pull-right > button:eq(0), "+$v__fm__container_fluid+" .btn-group.pull-right > button:eq(1), "+$v__fm__container_fluid+" input",function(){0!==$($v__fm__container_fluid+" .active table tbody input:checked").length?__f___ub():__f___lb()}),$($v__fm__container_fluid+" .o__f_m-button-chmod a").html('  '+theme_language("theme_xhred_filemanager_context_chmod")),$($v__fm__container_fluid+" #chmodDialog .modal-header h4").html('  '+theme_language("theme_xhred_filemanager_context_chmod")),$($v__fm__container_fluid+" .o__f_m-button-chown a").html('  '+theme_language("theme_xhred_filemanager_context_chown")),$($v__fm__container_fluid+" #chownDialog .modal-header h4").html('  '+theme_language("theme_xhred_filemanager_context_chown")),$($v__fm__container_fluid+" .o__f_m-button-chattr a").html('  '+theme_language("theme_xhred_filemanager_context_chattr")),$($v__fm__container_fluid+" #chattrDialog .modal-header h4").html('  '+theme_language("theme_xhred_filemanager_context_chattr")),$($v__fm__container_fluid+" .o__f_m-button-chcon a").html('  '+theme_language("theme_xhred_filemanager_context_chcon")),$($v__fm__container_fluid+" #chconDialog .modal-header h4").html('  '+theme_language("theme_xhred_filemanager_context_chcon")),$($v__fm__container_fluid+" .o__f_m-button-compress a").html('   '+theme_language("theme_xhred_filemanager_context_newarchive")),$($v__fm__container_fluid+" #compressDialog .modal-header h4").html('  '+theme_language("theme_xhred_filemanager_context_newarchive")),$($v__fm__container_fluid+" #searchDialog .modal-header h4").html('  '+theme_language("theme_xhred_filemanager_context_search")),$($v__fm__container_fluid+" .o__f_m-button-copy a").html('   '+theme_language("theme_xhred_filemanager_context_copy")),$($v__fm__container_fluid+" .o__f_m-button-cut a").html('   '+theme_language("theme_xhred_filemanager_context_cut")),$($v__fm__container_fluid+' .btn-group .btn-group a[onclick="createFileDialog()"]').html('   '+theme_language("theme_xhred_filemanager_context_newfile")),$($v__fm__container_fluid+" #createFileDialog .modal-header h4").html('   '+theme_language("theme_xhred_filemanager_context_newfile")),$($v__fm__container_fluid+' .btn-group .btn-group a[onclick="createFolderDialog()"]').parent("li").addClass("_createFolderDialog_"),$($v__fm__container_fluid+' .btn-group .btn-group a[onclick="createFolderDialog()"]').html('   '+theme_language("theme_xhred_filemanager_context_newfoder")),$($v__fm__container_fluid+" #createFolderDialog .modal-header h4").html('   '+theme_language("theme_xhred_filemanager_context_newfoder")),$($v__fm__container_fluid+' .btn-group .btn-group a[onclick="viewReadyForUpload()"]').html('   '+theme_language("theme_xhred_filemanager_context_upload")),$($v__fm__container_fluid+" #readyForUploadDialog .modal-header h4").html('   '+theme_language("theme_xhred_filemanager_context_upload")),$($v__fm__container_fluid+' .btn-group .btn-group a[onclick="downFromUrlDialog()"]').html('   '+theme_language("theme_xhred_filemanager_context_download")),$($v__fm__container_fluid+" #downFromUrlDialog .modal-header h4").html('   '+theme_language("theme_xhred_filemanager_context_download")),$($v__fm__container_fluid+" #renameDialog .modal-header h4").prepend('   '),$($v__fm__container_fluid+' .btn-group .btn-group a[onclick="downFromUrlDialog()"] i').removeClass("fa-globe").addClass("fa-download"),$($v__fm__container_fluid+" #removeDialog .modal-header h4").html('  '+theme_language("theme_xhred_filemanager_context_delete_selected")),$($v__fm__container_fluid+" .o__f_m-button-compress").detach().insertAfter("._createFolderDialog_"),config_portable_module_filemanager_hide_toolbar&&($($v__fm__container_fluid+" .btn-group.pull-right").addClass("hidden"),$($v__fm__container_fluid+" .breadcrumb.pull-left").removeClass("pull-left").addClass("pull-right").css("margin-bottom","-20px"),$($v__fm__container_fluid+" .o__f_m-main-spinner").css({"margin-top":"40px","margin-left":"170px"})),$($v__fm__container_fluid+" .btn-group .at-o__f_m-favorites-dropdown li:not(:first-child):not(:empty)").clone().insertAfter("li.data-context-bookmarks + .divider");t='.breadcrumb:visible [data-toggle="popover-path"]';$("body.file-manager").on("inserted.bs.popover",t,function(){$(".popover-path-input").parents(".popover").addClass("popover-path-data")}),$("body.file-manager").on("shown.bs.popover",t,function(){$(".popover-path-input").val(Convert.uriDecodeComponent($($v__fm__container_fluid+" #path").val())),$(".popover-path-input").focus(),$(".popover-path-input").keydown(function(e){13==(e.keyCode?e.keyCode:e.which)&&($(".breadcrumb").append(''),$(".popover-path-button").find("i").addClass("invisible").parent().find(".cspinner").removeClass("hidden"),$(".popover-path-input-value").find("a").trigger("click").remove(),$('[data-toggle="popover-path"]').popover("hide"),__f__ld__sh())}),setTimeout(function(){$(".popover-path-data").animate({opacity:1},$settings_animation_left_slide_time)},100)});t=$v__fm__container_fluid+' [data-toggle="popover-path"]';$("body.file-manager").on("hide.bs.popover",t,function(){$($v__fm__container_fluid+" .popover-path-data").css("opacity",0)}),$("body.file-manager").on("click.fm",$v__fm__container_fluid+" .popover-path-button",function(){var e=jQuery.Event("keydown");e.which=13,$($v__fm__container_fluid+" .popover-path-input").trigger(e)}),$("body.file-manager").on("contextmenu.fm",$v__fm__container_fluid+" .breadcrumb",function(e){e.preventDefault(),$($v__fm__container_fluid+' [data-toggle="popover-path"]').popover("show")}),$($v__fm__container_fluid+" #nothingSelected").remove(),$($v__fm__container_fluid+" .active ul.pagination li:first-child").trigger("click")}table_data_filter(),$($v__fm__container_fluid+' .modal-content input:not([type="radio"], '+$v__fm__container_fluid+' [type="checkbox"], '+$v__fm__container_fluid+' [type="hidden"])').addClass("heighter-28"),setTimeout(function(){table_data_filter_clear()},10),$("body.file-manager").on("click.fm",$v__fm__container_fluid+" .active .ui_checked_columns",function(e){var a=e.keyCode?e.keyCode:e.which;if(!check_selected_text()&&1===a){var t=$(e.target).parents("tr");if(!$(e.target).is(":checkbox")&&!$(e.target).is(".lawobject")){var _=$($v__fm__container_fluid+" #path").val();if(goup=t.hasClass("directory_go_up"),link=t.find('td a[href*="index.cgi?path="]').attr("href"),link_escaped=t.find("td a[data-filemin-link]").attr("data-filemin-link"),download=t.find('td a[href*="download.cgi?"]').attr("href"),td_tag=$(e.target).is("td"),goup&&($($v__fm__container_fluid+" .active i.fa-folder-btl").after(''),$($v__fm__container_fluid+' #headln2l > div.btn-group > a[href*="'+v___module_file_manager+'"][href*="index.cgi"]').trigger("click")),e.preventDefault(),!download||td_tag)return link?($(this).find("img").before(''),void __f____r("get","index.cgi?path="+Convert.uriEncodeComponent(Convert.htmlUnEscape(_))+"/"+Convert.uriEncodeComponent(Convert.htmlUnEscape(link_escaped)),!1,0)):void(td_tag&&$(e.target).parents("tr").find('td.ui_checked_checkbox input[type="checkbox"]').trigger("click"));theme_open_new_tab(v___location_prefix+"/"+v___module_file_manager+"/"+download)}}}),$("body.file-manager").on("keydown.fm",function(e){var a=e.keyCode?e.keyCode:e.which;if($("#__f__c__m").is(":visible")&&27==a)$("#__f__c__m").css("display","none");else if(!$("#__f__c__m").is(":visible")&&!$($v__fm__container_fluid+" input.popover-path-input").is(":focus")&&!$(".popover:visible").length){if(!$(":focus").parents(".jsPanel").is(".jsPanel")&&!$(".modal.in").length){if(32==a&&e.ctrlKey&&(e.preventDefault(),e.stopPropagation(),e.shiftKey?$($v__fm__container_fluid+" .nav.nav-tabs").find("li.active").find("a").find("i").trigger("click"):$("#file-manager-new-instance:not(.disabled_no_styling)").trigger("click")),(37==a||39==a)&&e.ctrlKey)return e.preventDefault(),e.stopPropagation(),void(37==a?$($v__fm__container_fluid+" .nav.nav-tabs").find("li.active").prev("li").find("a").trigger("click"):$($v__fm__container_fluid+" .nav.nav-tabs").find("li.active").next("li").find("a").trigger("click"));if((49==a||50==a||51==a||52==a||53==a||54==a||55==a||56==a||57==a)&&e.ctrlKey){var t=a-48;return e.preventDefault(),e.stopPropagation(),void $.each($($v__fm__container_fluid+" .nav.nav-tabs").find("li"),function(e,a){e+1!=t||$(this).find("a").trigger("click")})}}if(!(120!=a&&121!=a||e.ctrlKey||e.shiftKey||$(":focus").parents(".jsPanel").is(".jsPanel")||$(".modal.in").length)){if(120==a)return void $($v__fm__container_fluid+' a[onclick="downFromUrlDialog()"]').trigger("click");if(121==a)return void $($v__fm__container_fluid+' a[onclick="viewReadyForUpload()"]').trigger("click")}if($($v__fm__container_fluid+" input.popover-path-input").is(":focus")||"l"!=String.fromCharCode(a).toLowerCase()||!e.ctrlKey||$(":focus").parents(".jsPanel").is(".jsPanel")||$(".modal.in").length){if(93==a&&!$(":focus").parents(".jsPanel").is(".jsPanel")&&!$(".modal.in").length)return e.preventDefault(),e.stopPropagation(),$($v__fm__container_fluid_form+" table tbody tr.m-active").length||$($v__fm__container_fluid_form+" table tbody tr:first-child:not(.directory_go_up)").addClass("m-active"),void $($v__fm__container_fluid_form+" table tbody tr.m-active").find("td:first-child input").trigger("contextmenu");if(13==a&&$(":focus").parents(".jsPanel").is(".jsPanel")&&(e.ctrlKey&&e.shiftKey?($(":focus").parents(".jsPanel").find("._filemanager_file_editor_save").trigger("click"),$(":focus").parents(".jsPanel").find(".jsPanel-btn-close").trigger("click")):e.ctrlKey&&$(":focus").parents(".jsPanel").find("._filemanager_file_editor_save").trigger("click")),27==a&&$(":focus").parents(".jsPanel").is(".jsPanel"))e.ctrlKey?$(":focus").parents(".jsPanel").find(".jsPanel-btn-min").trigger("click"):$(":focus").parents(".jsPanel").find(".jsPanel-btn-close").trigger("click");else if(!$(":focus").parents(".jsPanel").is(".jsPanel"))if(13!=a||1!==$($v__fm__container_fluid_form+" table tbody tr.m-active").length||$(".modal.in").length)if($($v__fm__container_fluid_modal_in).length||!e.ctrlKey||"c"!=String.fromCharCode(a).toLowerCase()&&"v"!=String.fromCharCode(a).toLowerCase()&&"x"!=String.fromCharCode(a).toLowerCase()||0!==$($v__fm__container_fluid_form+" table tbody tr td:first-child").find("input:checked").length||1!==$($v__fm__container_fluid_form+" table tbody tr.m-active").length||!e.ctrlKey||"c"!=String.fromCharCode(a).toLowerCase()&&"v"!=String.fromCharCode(a).toLowerCase()&&"x"!=String.fromCharCode(a).toLowerCase()||$($v__fm__container_fluid_form+" table tbody tr.m-active").find("td:first-child input").trigger("click"),13==a&&$($v__fm__container_fluid_modal_in).length&&(e.preventDefault(),e.stopPropagation(),$($v__fm__container_fluid_modal_in+" .modal-footer button._at_filemanager_delete_submit").length?$($v__fm__container_fluid_modal_in+" .modal-footer button._at_filemanager_delete_submit").trigger("click"):$($v__fm__container_fluid_modal_in+" .modal-footer button.o__f_m-submitter-chmod").length?$($v__fm__container_fluid_modal_in+" .modal-footer button.o__f_m-submitter-chmod").trigger("click"):$($v__fm__container_fluid_modal_in+" .modal-footer button._at_filemanager_create_folder_submit").length?$($v__fm__container_fluid_modal_in+" .modal-footer button._at_filemanager_create_folder_submit").trigger("click"):$($v__fm__container_fluid_modal_in+" .modal-footer button._at_filemanager_create_file_submit").length?$($v__fm__container_fluid_modal_in+" .modal-footer button._at_filemanager_create_file_submit").trigger("click"):$($v__fm__container_fluid_modal_in+" .modal-footer button.o__f_m-submitter-compress").length?$($v__fm__container_fluid_modal_in+" .modal-footer button.o__f_m-submitter-compress").trigger("click"):$($v__fm__container_fluid_modal_in+" .modal-footer button._at_filemanager_rename_submit").length?$($v__fm__container_fluid_modal_in+" .modal-footer button._at_filemanager_rename_submit").trigger("click"):$($v__fm__container_fluid_modal_in+" .modal-footer button._at_filemanager_search_submit").length&&$($v__fm__container_fluid_modal_in+" .modal-footer button._at_filemanager_search_submit").trigger("click")),13!=a||1!==$($v__fm__container_fluid_form+" table tbody tr:not(.directory_go_up)").length||$($v__fm__container_fluid_modal_in).length){if(13!=a&&(32!=a||e.shiftKey||$($v__fm__container_fluid_form+" table tbody tr.m-active").length))if(46!=a&&113!=a&&114!=a&&115!=a&&116!=a&&117!=a&&119!=a||_f__table().dataTable().$("tr.hl-aw",{filter:"applied"}).length||$($v__fm__container_fluid+" .ui_checked_columns input:checked").length||$($v__fm__container_fluid_modal_in).length||$($v__fm__container_fluid+" .popover").is(":visible")||$($v__fm__container_fluid+" input").is(":focus")||$($v__fm__container_fluid_form+" table tbody tr.m-active").length||!(!e.shiftKey||116==a&&e.shiftKey||115==a&&!e.shiftKey)){if(!(e.shiftKey||e.ctrlKey||e.altKey||e.metaKey||$("#__f__c__m").is(":visible"))){if(33!=a&&34!=a&&$($v__fm__container_fluid_form+" table tbody tr.m-active").length&&(e.preventDefault(),e.stopPropagation()),"undefined"!=typeof ___contextmenu__triggered___)return;l=$($v__fm__container_fluid_form+" table tbody tr.m-active").removeClass("m-active");l.index();var _=l.index();38!=a||$($v__fm__container_fluid_modal_in).length||($($v__fm__container_fluid+" .dataTable-mirror").is(":focus")&&$.each($($v__fm__container_fluid+" input"),function(){$(this).blur()}),_--,$($v__fm__container_fluid+" .dataTables_filter label input").blur(),$($v__fm__container_fluid_form+" table tbody tr").addClass("m-not-active")),40!=a||$($v__fm__container_fluid_modal_in).length||($($v__fm__container_fluid+" .dataTable-mirror").is(":focus")&&$.each($($v__fm__container_fluid+" input"),function(){$(this).blur()}),_++,$($v__fm__container_fluid+" .dataTables_filter label input").blur(),$($v__fm__container_fluid_form+" table tbody tr").addClass("m-not-active"))}if(38!=a&&40!=a&&32!=a&&13!=a&&46!=a&&119!=a&&117!=a&&115!=a&&116!=a&&113!=a&&114!=a||$(".modal.in").length||(l=!$($v__fm__container_fluid_form+" table tbody tr").find(".dataTables_empty").length&&$($v__fm__container_fluid_form+" table tbody tr").eq(_).addClass("m-active m-not-active")),27==a&&(e.preventDefault(),e.stopPropagation(),$($v__fm__container_fluid_modal_in+' button[data-dismiss="modal"]').trigger("click")),35!=a||$("input").is(":focus")||$(".modal.in").length||(e.preventDefault(),e.stopPropagation(),l=$($v__fm__container_fluid_form+" table tbody tr").eq(parseInt($($v__fm__container_fluid_form+" table tbody tr").length)-1).addClass("m-active m-not-active")),36!=a||$("input").is(":focus")||$($v__fm__container_fluid_modal_in).length||(e.preventDefault(),e.stopPropagation(),l=$($v__fm__container_fluid_form+" table tbody tr").eq(0).addClass("m-active m-not-active")),13==a&&($($v__fm__container_fluid_modal_in).length||(e.preventDefault(),e.stopPropagation(),$($v__fm__container_fluid+" .dataTables_filter label input").blur(),$($v__fm__container_fluid_form+" table tbody tr.m-active").find("td:first-child").trigger("click"))),8!=a||$($v__fm__container_fluid+" .o__f_m-main-spinner").is(":visible")||$($v__fm__container_fluid+" input").is(":focus")||$($v__fm__container_fluid_modal_in).length||(e.preventDefault(),e.stopPropagation(),$($v__fm__container_fluid+" .active i.fa-folder-btl").after(''),$($v__fm__container_fluid+' #headln2l > div.btn-group > a[href*="'+v___module_file_manager+'"][href*="index.cgi"]:not(.hidden)').trigger("click")),"m"==String.fromCharCode(a).toLowerCase()&&e.ctrlKey&&($($v__fm__container_fluid_modal_in).length||(e.preventDefault(),e.stopPropagation(),$("#file-manager-switch-user").trigger("click"))),32==a&&!e.ctrlKey&&!$($v__fm__container_fluid_modal_in).length){e.preventDefault(),e.stopPropagation();var n=$($v__fm__container_fluid_form+" table tbody tr.m-active"),o=jQuery.Event("keydown");n.find("td:first-child input").trigger("click"),o.which=40,$("body.file-manager").trigger(o),__r____changed(),config_portable_module_filemanager_calculate_size&&__f__get_fs()}if((106==a||e.shiftKey&&56==a)&&($($v__fm__container_fluid_modal_in).length||(e.preventDefault(),e.stopPropagation(),$('body .container-fluid button[onclick="invertSelection()"]').trigger("click"))),(107==a||e.shiftKey&&187==a)&&($($v__fm__container_fluid_modal_in).length||(e.preventDefault(),e.stopPropagation(),$('body .container-fluid button[onclick="selectAll()"]').trigger("click"))),(109==a||e.shiftKey&&189==a)&&!$($v__fm__container_fluid_modal_in).length){e.preventDefault(),e.stopPropagation();var r=document.getElementsByClassName("ui_checked_columns");for(i=0;i
    ')}var i=f,o=c,l="UTF-8"!=get_server_data("charset"),r=$(e).find(".ui_form"),d=""+Convert.htmlEscape(Convert.uriDecodeComponent(f))+" ("+Convert.htmlEscape(Convert.uriDecodeComponent($($v__fm__container_fluid+" #path").val()?2==get_access_level()?v___server_userhome+$($v__fm__container_fluid+" #path").val():$($v__fm__container_fluid+" #path").val():2==get_access_level()?v___server_userhome:"/"))+")",m=this,u=$(m),p=parseInt(_.attr("id").replace("jsPanel-",""))+1;if(_.attr("data-uid",s),!$(r).find("textarea").length)r=$(e).find('form[action="save_file.cgi"]').append($(e).find("#data").removeAttr("id")).prepend($(e).find("#file").removeAttr("id")).prepend($(e).find("#path").removeAttr("id"));_.headerTitle(d),u.data("jspuid",s),u.find(".jsPanel-hdr h3").prepend('  ').find("strong").attr("title",d.replace(/<\/?[^>]+(>|$)/g,"")),u.find(".jsPanel-content").html(r);var g=u.find(".jsPanel-content");g.find(".ui_form_end_buttons tr td span:first-child input"),g.find(".ui_form_end_buttons tr td span:nth-child(2) input");g.find(".ui_form_end_buttons").remove(),u.find(".jsPanel-hdr .jsPanel-controlbar").prepend('
    "),u.find(".jsPanel-hdr .jsPanel-controlbar .__helper___tr").click(function(e){var a=u.find(".jsPanel-hdr .fa-edit");a.removeClass("pointer-events-none").trigger("click"),a.removeClass("pointer-events-none")}),u.find(".jsPanel-hdr .jsPanel-controlbar .jsPanel-btn-align:not(.disabled)").click(function(e){$(this).hasClass("disabled")||__f___cas_jp(0,m,$(this).hasClass("horizontal")?1:0)}),__f___cas_jp(1,m,0);var h=g.find("form").attr("data-encoding"),v=v___server_hostname+"-__cm_editor_encoding",b=!!h,h=h||(localStorage.getItem(v)?"not_detected":"UTF-8"),x="",w={"UTF-8":"utf-8","ISO-8859-1":"iso-8859-1 (cp1252)‎","windows-1252":"cp1252 (iso-8859-1)‎","windows-1250":"cp1250","windows-1251":"cp1251","windows-1253":"cp1253","windows-1254":"cp1254","windows-1255":"cp1255","windows-1256":"cp1256","ISO-8859-2":"iso-8859-2","ISO-8859-7":"iso-8859-7","ISO-8859-9":"iso-8859-9","ISO-8859-15":"iso-8859-15","US-ASCII":"ascii","x-IBM874":"cp874",IBM866:"cp866","KOI8-R":"koi8","EUC-KR":"EUC encoding, Korean","EUC-JP":"EUC encoding, Japanese",Shift_JIS:"Shift-JIS, Japanese"};w.hasOwnProperty(h)||"not_detected"==h||(x+='"),$.each(w,function(e,a){x+='"}),u.find(".jsPanel-hdr .jsPanel-controlbar").prepend('
    ");var y=u.find("select[data-encoding]"),k=y.val(),C=u.find("._filemanager_file_editor_save");__f___es_adj(y,p),k==Object.keys(w)[2]&&y.val(Object.keys(w)[1]),y.on("change.fm",function(e){if(!(l||C.hasClass("text-danger")&&C.hasClass("__locked__"))){var a=$(this).val(),t=o+"/"+i;__f___es_adj($(this),p),!b&&localStorage.setItem(v,a),"2"==get_access_level()&&(t=v___server_userhome+t),$.ajax({type:"POST",url:v___location_prefix+"/index.cgi?xhr-encoding_convert=1&xhr-encoding_convert_name="+a+"&xhr-encoding_convert_file="+t,data:!1,dataType:"text",success:function(e){window["__cm_editor_"+p].setValue(e),C.removeClass("text-danger __locked__"),y.removeClass("pointer-events-none")},error:function(){}})}});var D=localStorage.getItem(v);l||b||!D||D&&w.hasOwnProperty(D)&&y.val(D).trigger("change"),editor_init(g.find("textarea"),d,[null,parseInt(g.css("height"))],p,!1,!0),u.addClass("jspShown").css("opacity",0),u.animate({opacity:1},400,function(){window["__cm_editor_"+p].focus(),u.find(".jsPanel-btn-togglewrap").click(function(e){var a=window["__cm_editor_"+p];a.setOption("lineWrapping",!a.getOption("lineWrapping"))})}),u.click(function(){var e=parseInt($(this).attr("data-uid").replace("jsp_",""));window["jsp_"+e].front()}),u.find(".jsPanel-hdr .jsPanel-controlbar [data-encoding-label], .jsPanel-hdr .jsPanel-controlbar .dropdown, .jsPanel-hdr .jsPanel-controlbar .jsPanel-btn").each(function(e,a){$(this).attr("data-toggle","tooltip").attr("data-placement","auto top").attr("data-delay",'{"show":"800", "hide":"30"}');var t="data-title",_=".jsPanel-btn-",n="theme_xhred_global_";$(this).is(_+"maximize")&&$(this).attr(t,theme_language(n+"maximize")),$(this).is(_+"minimize")&&$(this).attr(t,theme_language(n+"minimize")),$(this).is(_+"normalize")&&$(this).attr(t,theme_language(n+"normalize")),$(this).is(_+"close")&&$(this).attr(t,theme_language(n+"close")),$(this).is(_+"save")&&$(this).attr(t,theme_language(n+"save")),$(this).is("[data-encoding-label]")&&$(this).attr(t,theme_language(n+"set_encoding"))}),y.click(function(e){void 0!==e.originalEvent?!l&&$(this).hasClass("pointer-events-none")&&theme_messenger(''+theme_language("theme_xhred_filemanager_save_to_change_encoding"),4,"warning","savingFileDone"):$(this).hasClass("pointer-events-none")?theme_messenger(''+theme_language("theme_xhred_filemanager_save_to_refresh_content"),4,"warning","savingFileDone"):theme_messenger(''+theme_language("theme_xhred_filemanager_save_to_refresh_content_proc")+" "+theme_language("theme_xhred_global_please_wait"),1,"info","refreshingFileDone")}),u.find(".jsPanel-hdr .jsPanel-controlbar .jsPanel-btn-content-refresh").click(function(e){y.val(y.val()).trigger("change").trigger("click")}),$("body.file-manager").keydown(function(e){m.find(".dropdown").hasClass("open")&&(e.altKey&&!e.shiftKey&&(u.find(".jsPanel-btn-align.vertical").addClass("hidden"),u.find(".jsPanel-btn-align.horizontal").removeClass("hidden")),e.shiftKey&&(__f___cas_jp_rev=1))}).keyup(function(e){m.find(".dropdown").hasClass("open")&&(u.find(".jsPanel-btn-align.horizontal").addClass("hidden"),u.find(".jsPanel-btn-align.vertical").removeClass("hidden")),e.shiftKey||(__f___cas_jp_rev=0)}),m.find(".dropdown").on("show.bs.dropdown",function(e){u.find(".jsPanel-btn-align.horizontal").addClass("hidden"),u.find(".jsPanel-btn-align.vertical").removeClass("hidden")}),C.click(function(e){$(this).find("i").replaceWith(theme_spinner_small()),$(this).removeClass("text-danger __locked__"),y.removeClass("pointer-events-none"),u.find('form[action="save_file.cgi"]').submit()}),u.find('form[action="save_file.cgi"]').submit(function(e){e.preventDefault(),e.stopPropagation(),theme_messenger(''+theme_language("theme_xhred_filemanager_saving_file").replace("%value",d)+" "+theme_language("theme_xhred_global_please_wait"),5,"info","savingFileDone");var a=u.find("select[data-encoding]").val(),t=u.find('form[action="save_file.cgi"] input:not([name="path"]), form[action="save_file.cgi"] textarea').serialize();t=t+"&path="+o,a&&(t=t+"&encoding="+a),$.ajax({type:"POST",url:v___location_prefix+"/"+__f___mn()+"/save_file.cgi",data:t,dataType:"text",success:function(e){var a=u.find("._filemanager_file_editor_save .cspinner");if(!$(e).find("textarea#data").length)return theme_messenger(''+$(e).find(".panel-body").html(),10,"error","savingFileError"),1===a.parent(".btn").index()&&theme_modal_dismiss(),void n();theme_messenger(''+theme_language("theme_xhred_filemanager_file_saved").replace("%value",d),1.5,"success","savingFileDone"),n(),0===$("._filemanager_file_editor_save.text-danger").length&&set_onbeforeunload_status(0,0)},error:function(e){}})})}},maximizedMargin:{top:10,right:10,bottom:10,left:10},panelSize:{width:.9*($(window).width()-(settings_side_slider_fixed?600:0)),height:.7*$(window).height()},dblclicks:{title:"maximize"},headerControls:{smallify:"remove"},resizeit:{stop:function(){__f___cm_resize(this)}},onresized:function(){__f___cm_resize(this)},onnormalized:function(){var e=parseInt($(this).attr("id").replace("jsPanel-",""));this.resize({width:$(window).width()/3,height:$(window).height()/4}),e
    "+theme_language("theme_xhred_filemanager_file_edit_but_not_saved_what_to_do"),title:'   '+$this.find(".jsPanel-title strong").text()+"",buttons:{success:{label:'   '+theme_language("theme_xhred_global_save_and_close")+"  ",className:"btn-primary vertical-align-top ",callback:function(){$this.find(".jsPanel-btn-save").trigger("click"),$this.find(".jsPanel-btn-close").trigger("click")}},danger:{label:'   '+theme_language("theme_xhred_global_close_without_saving")+"  ",className:"btn-danger vertical-align-top margined-left--2",callback:function(){$this.find("._filemanager_file_editor_save.text-danger").removeClass("text-danger"),$this.find(".jsPanel-btn-close").trigger("click"),0===$("._filemanager_file_editor_save.text-danger").length&&set_onbeforeunload_status(0,0)}},main:{label:'   '+theme_language("theme_xhred_global_continue_editing")+"  ",className:"btn-default vertical-align-top margined-left--2",callback:function(){setTimeout(function(){var e=window["__cm_editor_"+(parseInt($this.attr("id").replace("jsPanel-",""))+1)];e&&e.focus()},100)}}},onEscape:function(){setTimeout(function(){var e=window["__cm_editor_"+(parseInt($this.attr("id").replace("jsPanel-",""))+1)];e&&e.focus()},100)}}),!1):void 0)}}),__f___cs()}else theme_messenger(''+theme_language("theme_xhred_filemanager_not_editable"),.75,"warning","notEditableTarget");if(!($("input").is(":focus")||$("select").is(":focus")||$("textarea").is(":focus")||$(".modal.in").length||32==a||113==a||114==a||106==a||107==a||116==a||109==a||46==a||119==a||118==a||115==a)){if($($v__fm__container_fluid+" .tab-pane.active .paginate_button.next").parents("ul.pagination").hasClass("pointer-events-none"))return;if(39===a)$($v__fm__container_fluid+" .tab-pane.active .paginate_button.next").trigger("click"),$($v__fm__container_fluid_form+" table tbody tr.m-active").removeClass("m-active"),$($v__fm__container_fluid_form+" table tbody tr").addClass("m-not-active");else if(37===a)$($v__fm__container_fluid+" .tab-pane.active .paginate_button.previous").trigger("click"),$($v__fm__container_fluid_form+" table tbody tr.m-active").removeClass("m-active"),$($v__fm__container_fluid_form+" table tbody tr").addClass("m-not-active");else{var m=String.fromCharCode(a);!m||!/[a-zA-Z0-9]/.test(m)||e.ctrlKey||e.altKey||e.metaKey||$($v__fm__container_fluid+" .dataTables_filter label input").trigger("keyup").focus()}}if("s"==String.fromCharCode(a).toLowerCase()&&e.ctrlKey&&(e.preventDefault(),e.stopPropagation(),_f__table().dataTable().$("tr.hl-aw",{filter:"applied"}).length&&__f__get_fs()),!e.shiftKey||!e.ctrlKey)if($($v__fm__container_fluid_modal_in).length||$($v__fm__container_fluid+" .popover").is(":visible")||$($v__fm__container_fluid+" input.popover-path-input").is(":focus")||$($v__fm__container_fluid+" .btn-filter-top-right input").is(":focus")||115!=a&&116!=a&&118!=a&&"c"!=String.fromCharCode(a).toLowerCase()&&"v"!=String.fromCharCode(a).toLowerCase()&&"x"!=String.fromCharCode(a).toLowerCase());else{if(!("c"==String.fromCharCode(e.which).toLowerCase()&&e.ctrlKey||"v"==String.fromCharCode(e.which).toLowerCase()&&e.ctrlKey||"x"==String.fromCharCode(e.which).toLowerCase()&&e.ctrlKey||115==a&&e.shiftKey||116==a&&e.shiftKey||118==a&&e.shiftKey||19==e.which))return!0;if(e.preventDefault(),115==a&&!$($v__fm__container_fluid_modal_in).length)return e.stopPropagation(),$($v__fm__container_fluid+' a[onclick = "createFileDialog()"]').trigger("click"),void __f___cs();if(116==a&&!$($v__fm__container_fluid_modal_in).length){if(e.stopPropagation(),$($v__fm__container_fluid_form+" table tbody tr.m-active").find("i.fa-extract-archive").parent("a").length){var u=$($v__fm__container_fluid_form+" table tbody tr.m-active").find("td.ui_checked_checkbox input");!u.is(":checked")&&u.trigger("click"),e.preventDefault(),e.stopPropagation(),$($v__fm__container_fluid_form+" table tbody tr.m-active").find("i.fa-extract-archive").parent("a")[0].click(),__f___cs()}else theme_messenger(''+theme_language("theme_xhred_filemanager_not_decompressable"),.75,"warning","notDecompressableTarget");return}if(118==a&&!$($v__fm__container_fluid_modal_in).length)return e.stopPropagation(),$($v__fm__container_fluid+' a[onclick = "searchDialog()"]').trigger("click"),void __f___cs();if("c"==String.fromCharCode(a).toLowerCase()&&!$($v__fm__container_fluid_modal_in).length&&!$(".popover").is(":visible")&&!$($v__fm__container_fluid+" input.popover-path-input").is(":focus"))return e.stopPropagation(),void($($v__fm__container_fluid+" .o__f_m-button-copy.disabled").length?theme_messenger(''+theme_language("theme_xhred_filemanager_no_selection_to_copy"),.75,"warning","nothingSelected"):($("body .container-fluid .o__f_m-button-copy a").trigger("click"),__f___cs()));if("v"==String.fromCharCode(a).toLowerCase()&&!$($v__fm__container_fluid_modal_in).length&&!$($v__fm__container_fluid+" .popover").is(":visible")&&!$($v__fm__container_fluid+" input.popover-path-input").is(":focus"))return e.stopPropagation(),void($($v__fm__container_fluid+" .o__f_m-button-paste.disabled").length?theme_messenger(''+theme_language("theme_xhred_filemanager_empty_clipboard"),.75,"warning","emptyClipboard"):($("body .container-fluid .o__f_m-button-paste a").trigger("click"),__f___cs()));if("x"==String.fromCharCode(a).toLowerCase()&&!$($v__fm__container_fluid_modal_in).length&&!$($v__fm__container_fluid+" .popover").is(":visible")&&!$($v__fm__container_fluid+" input.popover-path-input").is(":focus"))return e.stopPropagation(),void($($v__fm__container_fluid+" .o__f_m-button-cut.disabled").length?theme_messenger(''+theme_language("theme_xhred_filemanager_no_selection_to_cut"),.75,"warning","nothingSelected"):($("body .container-fluid .o__f_m-button-cut a").trigger("click"),__f___cs()))}}else{if(e.preventDefault(),e.stopPropagation(),document.activeElement&&$(document.activeElement).is('a[href^="edit_file.cgi"]'))return;theme_messenger(''+theme_language("theme_xhred_filemanager_nothing_is_selected"),.75,"warning","noSelection_warning")}}else $($v__fm__container_fluid+' .active form table tbody tr td a[href*="index.cgi?path="]').length&&$($v__fm__container_fluid+' .active form table tbody tr td a[href*="index.cgi?path="]').first()[0].click();else if($($v__fm__container_fluid_form+" table tbody tr.m-active").hasClass("directory_go_up"))$($v__fm__container_fluid+' #headln2l > div.btn-group > a[href*="'+v___module_file_manager+'"][href*="index.cgi"]').trigger("click");else{var p=$($v__fm__container_fluid+' .active form table tbody tr.m-active td a[href*="index.cgi?path="]');p.length&&p.first()[0].click()}}else{e.preventDefault(),e.stopPropagation();var g=$($v__fm__container_fluid+' #headln2r > div.btn-group > a[href^="config.cgi"]');Test.scrolledIntoView(g)?$('[data-toggle="popover-path"]').popover("show"):g.scrollIntoView({duration:200,direction:"vertical",complete:function(){setTimeout(function(){$($v__fm__container_fluid+' [data-toggle="popover-path"]').popover("show")},100)}})}}}),$("body.file-manager").on("click.fm",$v__fm__container_fluid+" a.action-link > .fa",function(e){if(e.preventDefault(),$(this).hasClass("fa-extract-archive")){var a=$(this).parents("tr").find("td.ui_checked_checkbox input");!a.is(":checked")&&a.trigger("click")}else $(this).hasClass("fa-i-cursor")&&e.stopPropagation()}),$("body.file-manager").on("click.fm",$v__fm__container_fluid+" #file-manager-switch-user:not(.disabled_no_styling)",function(e){var a=$(this);a.addClass("disabled_no_styling"),$.ajax({type:"POST",url:v___server_extensions_path+"/file-manager/fetcher.cgi?module="+v___module+"&list_users=1",data:!1,dataType:"JSON",success:function(e){var t=localStorage.getItem(v___server_hostname+"-settings_thirdparty_filemanager_usermode"),_='";$.each(e,function(e,a){_+='"});var n=$("body.file-manager"),i=' \t\t \t";n.append(i);var o=".modal-list-users";$("body "+o).on("show.bs.modal",function(){$("body "+o).find("select").on("change.fm",function(){var e=$(this).val();localStorage.setItem(v___server_hostname+"-settings_thirdparty_filemanager_usermode",e),0==config_portable_module_filemanager_switch_user&&__f___us_tl(),$("body "+o).modal("hide")})}),$("body "+o).on("shown.bs.modal",function(){setTimeout(function(){$("body "+o).focus(),$("body "+o).find("select").trigger("focus")},360)}),$("body "+o).on("hidden.bs.modal",function(){$(this).remove(),a.removeClass("disabled_no_styling")}),$("body "+o).modal("show")},error:function(e){}})}),$("body.file-manager").on("click.fm",$v__fm__container_fluid+" #file-manager-new-instance:not(.disabled_no_styling)",function(e){__f___nt($($v__fm__container_fluid+" #path").val(),!0)}),$("body.file-manager").on("click.fm",$v__fm__container_fluid+" .nav.nav-tabs li.ui-sortable-handle.disabled",function(e){return e.preventDefault,e.stopPropagation,!1}),$("body.file-manager").on("mouseenter.fm mousemove.fm",$v__fm__container_fluid+" .nav.nav-tabs li",function(){$(this).find("a > i").removeClass("invisible")}).on("mouseleave.fm",$v__fm__container_fluid+" .nav.nav-tabs li",function(){$(this).find("a > i").addClass("invisible")}),$("body.file-manager").on("click.fm",$v__fm__container_fluid+" .nav.nav-tabs li:not(.disabled) i",function(e){if(e.preventDefault,!($($v__fm__container_fluid+" .nav.nav-tabs li:not(.ui-sortable-placeholder)").length<=1)){var a=$(this),t=a.parent("a").parent("li"),_=parseInt(a.parent("a").attr("href").replace(/^\D+/g,""));return t.hasClass("active")?(tab___to______delete=_,a.parent("a").parent("li").prev("li:not(.active)").length?a.parent("a").parent("li").prev("li:not(.active)").find("a").trigger("click"):a.parent("a").parent("li").next("li:not(.active)").length&&a.parent("a").parent("li").next("li:not(.active)").find("a").trigger("click")):($($v__fm__container_fluid+' a[href="#tab-'+_+'"]').parent("li").remove(),$($v__fm__container_fluid+' .tab-content .tab-pane[id="tab-'+_+'"]').remove(),__f___up__tb_vis(),__f___up__tb_store(),setTimeout(function(){"function"==typeof sortable&&sortable($($v__fm__container_fluid+" .tabs-top > ul.nav"))},100)),!1}});var t=$v__fm__container_fluid+' a[data-toggle="tab"]';$("body.file-manager").on("hide.bs.tab",t,function(e){var a=$(e.target).attr("href").replace(/^\D+/g,"");$($v__fm__container_fluid+" .__o__f_m-search-results").length&&$($v__fm__container_fluid+' .tab-content .tab-pane[id="tab-'+a+'"]').data("searchQuery",$($v__fm__container_fluid+" .__o__f_m-search-results")).data("searchQueryTotal",$(".total").html())}),$("body.file-manager").on("show.bs.tab",t,function(e){$(".nav.nav-tabs li").addClass("disabled")}),$("body.file-manager").on("shown.bs.tab",t,function(e){setTimeout(function(){$($v__fm__container_fluid+" .nav.nav-tabs li").removeClass("disabled")},400);var a=$(e.target).attr("href"),t=a.replace(/^\D+/g,""),_=$(e.relatedTarget).attr("href"),n="_AuthenticThemeTmp"+_.replace(/^\D+/g,"");$(_).find("form").attr({id:"list_form"+n,name:"list_form"+n}),$(_).find(".ui_checked_columns").removeClass("ui_checked_columns").addClass("_ui_checked_columns_tmp"),$.each($(_).find("form *[id]"),function(){var e=$(this).attr("id"),a=$(this).attr("name"),t=e+n,_=!!a&&a+n;-1===e.indexOf("DataTable")&&($(this).attr({id:t}),a&&$(this).attr({name:_}))}).promise().done(function(){var _="_AuthenticThemeTmp"+t;$(a).find("._ui_checked_columns_tmp").addClass("ui_checked_columns").removeClass("_ui_checked_columns_tmp"),$(a).find("form").attr({id:"list_form",name:"list_form"}),$.each($(a).find("form *[id]"),function(){var e=$(this).attr("id"),a=$(this).attr("name"),t=e.replace(_,""),n=!!a&&a.replace(_,"");e.indexOf(_)>-1&&($(this).attr({id:t}),a&&$(this).attr({name:n}))}).promise().done(function(){if(f__insert_dir_up(),__f__c__m(1),"1"==$(e.target).attr("newly-created"))$(e.target).removeAttr("newly-created");else{var _=$('.tab-content .tab-pane[id="tab-'+t+'"]').data("searchQuery"),n=$('.tab-content .tab-pane[id="tab-'+t+'"]').data("searchQueryTotal"),i=[];_&&(i.push(_),i.push(n),$('.tab-content .tab-pane[id="tab-'+t+'"]').removeData("searchQuery").removeData("searchQueryTotal")),__f___up__d("index.cgi?path="+Convert.uriEncodeComponent($(a).find("form input#path").val()),!1,i)}if(!_&&$(".total").html($(".tab-pane.active").data("totalValue")),"undefined"!=typeof tab___is______new?(_f__table().DataTable().draw(),delete tab___is______new):__init__dt_ck__e(),"undefined"!=typeof tab___to______delete){var o=tab___to______delete;delete tab___to______delete,$('a[href="#tab-'+o+'"]').parent("li").remove(),$('.tab-content .tab-pane[id="tab-'+o+'"]').remove()}__f___us_a()})})}),$($v__fm__container_fluid+" #searchForm label:first-child").text(theme_language("theme_xhred_filemanager_search_query")),$($v__fm__container_fluid+" #searchForm .form-group").after('\t\t
    \t\t\t
    \t\t\t\t\t\t\t\t
    \t\t\t\t\t\t\t
    \t\t\t
    \t\t\t\t\t\t\t\t
    \t\t\t\t\t\t\t
    \t\t
    \t');var _=$("#searchForm").find("span.awcheckbox");_.prev("br").remove(),_.detach().appendTo($("#searchForm .form-inline")),$($v__fm__container_fluid+' #searchDialog input[name="query"]').val("*"),navigation_detect("/filemin/index.cgi?path=/",1),setTimeout(function(){$($v__fm__container_fluid+" ."+$__f__rf_s).trigger("click"),$____loader_block__=0},v___available_navigation?100:1200)}setTimeout(function(){!v___available_navigation&&___f__tw()},v___available_navigation?0:200); \ No newline at end of file diff --git a/extensions/file-manager/list.cgi b/extensions/file-manager/list.cgi new file mode 100755 index 000000000..d5395b7c6 --- /dev/null +++ b/extensions/file-manager/list.cgi @@ -0,0 +1,24 @@ +#!/usr/bin/perl + +# +# Authentic Theme (https://github.com/qooob/authentic-theme) +# Copyright Ilia Rostovtsev +# Copyright Alexandr Bezenkov (https://github.com/real-gecko/filemin) +# Licensed under MIT (https://github.com/qooob/authentic-theme/blob/master/LICENSE) +# + +use File::Basename; +use lib ( dirname(__FILE__) . '/../../lib' ); + +require( dirname(__FILE__) . '/file-manager-lib.pm' ); + +unless ( opendir( DIR, $cwd ) ) { + fatal_errors("$text{'theme_global_error'}: `$cwd`- $!."); + exit; +} + +# Push file names with full paths to array, filtering out "." and ".." +@list = map { &simplify_path("$cwd/$_") } grep { $_ ne '.' && $_ ne '..' } readdir(DIR); +closedir(DIR); + +print_content(); diff --git a/extensions/file-manager/paste.cgi b/extensions/file-manager/paste.cgi new file mode 100755 index 000000000..54b057d69 --- /dev/null +++ b/extensions/file-manager/paste.cgi @@ -0,0 +1,53 @@ +#!/usr/bin/perl + +# +# Authentic Theme (https://github.com/qooob/authentic-theme) +# Copyright Ilia Rostovtsev +# Copyright Alexandr Bezenkov (https://github.com/real-gecko/filemin) +# Licensed under MIT (https://github.com/qooob/authentic-theme/blob/master/LICENSE) +# + +use File::Basename; +use lib ( dirname(__FILE__) . '/../../lib' ); + +require( dirname(__FILE__) . '/file-manager-lib.pm' ); + +open( my $fh, "<" . &get_paste_buffer_file() ) or die "Error: $!"; +my @arr = <$fh>; +close($fh); +my $act = $arr[0]; +my $dir = $arr[1]; +chomp($act); +chomp($dir); +$from = abs_path( $base . $dir ); +my @errors; +my $mv = ( $act eq "copy" ? 0 : 1 ); +my $fr = ( length $request_uri{'ua'} ? 1 : 0 ); +my $fo = ( $request_uri{'ua'} eq '1' ? 1 : 0 ); + +for ( my $i = 2 ; $i <= scalar(@arr) - 1 ; $i++ ) { + chomp( $arr[$i] ); + $arr[$i] = simplify_path( $arr[$i] ); + + if ( ( -e "$cwd/$arr[$i]" ) && $cwd ne $from && !$fr ) { + set_response('ep'); + } + else { + $out = paster( "$cwd", "$arr[$i]", "$from/$arr[$i]", "$cwd/$arr[$i]", $fo, $mv ); + } + $out && push( @errors, $out ); +} + +if ( scalar(@errors) > 0 ) { + set_response('err'); + redirect( 'list.cgi?path=' + . urlize($path) + . '&module=' + . $in{'module'} + . '&error=' + . text('filemanager_paste_warning') ); +} +else { + set_response_count( scalar(@arr) - 2 ); + redirect( 'list.cgi?path=' . urlize($path) . '&module=' . $in{'module'} . '&error=1' ); +} diff --git a/extensions/file-manager/rename.cgi b/extensions/file-manager/rename.cgi new file mode 100755 index 000000000..3c0d4703d --- /dev/null +++ b/extensions/file-manager/rename.cgi @@ -0,0 +1,46 @@ +#!/usr/bin/perl + +# +# Authentic Theme (https://github.com/qooob/authentic-theme) +# Copyright Ilia Rostovtsev +# Copyright Alexandr Bezenkov (https://github.com/real-gecko/filemin) +# Licensed under MIT (https://github.com/qooob/authentic-theme/blob/master/LICENSE) +# + +use File::Basename; +use lib ( dirname(__FILE__) . '/../../lib' ); + +require( dirname(__FILE__) . '/file-manager-lib.pm' ); + +if ( !$in{'name'} ) { + redirect( 'list.cgi?path=' . urlize($path) . '&module=' . $in{'module'} ); +} + +my $type; +if ( -d "$cwd/$in{'name'}" ) { + $type = 'directory'; +} +else { + $type = 'file'; +} + +if ( -e "$cwd/$in{'name'}" ) { + print_error( + ( + text( 'filemanager_rename_exists', $in{'name'}, $path, $text{ 'theme_xhred_global_' . $type . '' } + ) + ) ); +} +else { + if ( &rename_file( $cwd . '/' . $in{'file'}, $cwd . '/' . $in{'name'} ) ) { + redirect( 'list.cgi?path=' . urlize($path) . '&module=' . $in{'module'} ); + } + else { + print_error( + ( + text( 'filemanager_rename_denied', $in{'name'}, + $path, lc( $text{ 'theme_xhred_global_' . $type . '' } ) + ) + ) ); + } +} diff --git a/extensions/file-manager/search.cgi b/extensions/file-manager/search.cgi new file mode 100755 index 000000000..edbe09c68 --- /dev/null +++ b/extensions/file-manager/search.cgi @@ -0,0 +1,61 @@ +#!/usr/bin/perl + +# +# Authentic Theme (https://github.com/qooob/authentic-theme) +# Copyright Ilia Rostovtsev +# Copyright Alexandr Bezenkov (https://github.com/real-gecko/filemin) +# Licensed under MIT (https://github.com/qooob/authentic-theme/blob/master/LICENSE) +# + +use File::Basename; +use lib ( dirname(__FILE__) . '/../../lib' ); + +require( dirname(__FILE__) . '/file-manager-lib.pm' ); + +my $mask = trim( $in{'query'} ); +my $criteria; +my $insensitive; +if ( $in{'caseins'} ) { + $criteria = '-iname'; + $insensitive = 'i'; +} +else { + $criteria = '-name'; +} +@list = split( '\n', &backquote_logged( "find " . quotemeta($cwd) . " $criteria " . quotemeta("*$mask*") ) ); + +my $query = quotemeta( trim( $in{'grepstring'} ) ); +if ( length $query ) { + my @matched; + + foreach my $file (@list) { + if ($insensitive) { + if ( read_file_contents($file) =~ /$query/i ) { + push @matched, $file; + } + } + else { + if ( read_file_contents($file) =~ /$query/ ) { + push @matched, $file; + } + } + } + undef(@list); + @list = @matched; +} + +my $replace = trim( $in{'grepreplace'} ); +if ( length $query && length $replace ) { + foreach my $file (@list) { + if ($insensitive) { + ( my $fc = read_file_contents($file) ) =~ s/$query/$replace/gi; + write_file_contents( $file, $fc ); + } + else { + ( my $fc = read_file_contents($file) ) =~ s/$query/$replace/g; + write_file_contents( $file, $fc ); + } + } +} + +print_content(); diff --git a/extensions/sql.min.js b/extensions/sql.min.js new file mode 100644 index 000000000..ec4074978 --- /dev/null +++ b/extensions/sql.min.js @@ -0,0 +1,6 @@ +/*! + * Authentic Theme (https://github.com/qooob/authentic-theme) + * Copyright Ilia Rostovtsev + * Licensed under MIT (https://github.com/qooob/authentic-theme/blob/master/LICENSE) + */ +function __sql_____undel(){var e="change.sql keydown.sql click.sql dblclick.sql";$("body").off(e),$("body *").undelegate(e).unbind(e).off(e),f__ex__mysql_runner_active=0}function db_check_selected(){if(f__ex__mysql_runner_active){var e=$('.table.table-striped.table-hover.table-condensed input[type="checkbox"]:checked, form div.icons-container.highlighted, form div.small-icons-container.highlighted, form div.xsmall-icons-container.highlighted').length;0===e?$("button#edit, button#delete, button#deleteClone, input#delete").prop("disabled",!0):$("button#edit, button#delete, button#deleteClone, input#delete").prop("disabled",!1);var t=$("button#edit span"),a=$("button#delete span"),l=$("button#deleteClone span");v___location_path==v___location_prefix+"/mysql/edit_dbase.cgi"||v___location_path==v___location_prefix+"/postgresql/edit_dbase.cgi"?e>1?l.text(theme_language("theme_xhred_database_objects_selected_delete")):l.text(theme_language("theme_xhred_database_object_selected_delete")):v___location_path==v___location_prefix+"/mysql/edit_table.cgi"||v___location_path==v___location_prefix+"/postgresql/edit_table.cgi"?e>1?l.text(theme_language("theme_xhred_database_delete_selected_fields")):l.text(theme_language("theme_xhred_database_delete_selected_field")):v___location_path==v___location_prefix+"/mysql/"||v___location_path==v___location_prefix+"/postgresql/"||v___location_path==v___location_prefix+"/mysql/index.cgi"||v___location_path==v___location_prefix+"/postgresql/index.cgi"?e>1?l.text(theme_language("theme_xhred_database_dbs_selected_drop")):l.text(theme_language("theme_xhred_database_db_selected_drop")):"list_users.cgi"!=v___location_file&&"list_dbs.cgi"!=v___location_file&&"list_tprivs.cgi"!=v___location_file&&"list_cprivs.cgi"!=v___location_file&&"list_grants.cgi"!=v___location_file&&"list_hosts.cgi"!=v___location_file&&(e>1?(t.text(theme_language("theme_xhred_database_edit_selected_rows")),a.text(theme_language("theme_xhred_database_delete_selected_rows"))):(t.text(theme_language("theme_xhred_database_edit_selected_row")),a.text(theme_language("theme_xhred_database_delete_selected_row"))))}}function proc_sql_table(e){f__ex__mysql_runner_active&&(v___location_path!=v___location_prefix+"/mysql/view_table.cgi"&&v___location_path!=v___location_prefix+"/postgresql/view_table.cgi"||(e.parent("tr").addClass("selectable"),e.addClass("selectable")),!e.find("table").length&&e.attr("title",$.trim(e.text())))}function f__ex__mysql_runner(){f__ex__mysql_runner_active=1,v___location_path!=v___location_prefix+"/mysql/view_table.cgi"&&v___location_path!=v___location_prefix+"/postgresql/view_table.cgi"||$.each($('input[type="submit"].btn.btn-default'),function(e,t){$(this).parent().is(".end_submits")||($(this).before('"),$(this).addClass("hidden"))});var e=$("body");e.undelegate('input[type="checkbox"]',"change.sql"),$(".table.table-striped.table-hover.table-condensed").on("change.sql",'input[type="checkbox"]',function(e){db_check_selected()});if(e.undelegate(".select_all, .select_invert","click.sql"),e.on("click.sql",".select_all, .select_invert",function(e){db_check_selected()}),$isResizeable=!1,v___location_file&&"list_users.cgi"!=v___location_file&&"list_dbs.cgi"!=v___location_file&&"list_tprivs.cgi"!=v___location_file&&"list_cprivs.cgi"!=v___location_file||(db_check_selected(),table_data_init($(".table.table-striped.table-hover.table-condensed")),table_data_filter(),"list_dbs.cgi"!=v___location_file&&"list_tprivs.cgi"!=v___location_file&&"list_cprivs.cgi"!=v___location_file||$(".fa-user-times").addClass("fa-times-circle").removeClass("fa-user-times")),v___location_path!=v___location_prefix+"/mysql/drop_dbases.cgi"&&v___location_path!=v___location_prefix+"/postgresql/drop_dbases.cgi"&&v___location_path!=v___location_prefix+"/mysql/drop_tables.cgi"&&v___location_path!=v___location_prefix+"/postgresql/drop_tables.cgi"||setTimeout(function(){$(".btn.btn-default").removeClass("heighter-28 btn-default").addClass("heighter-34 btn-danger")},10),v___location_path!=v___location_prefix+"/mysql/"&&v___location_path!=v___location_prefix+"/postgresql/"&&v___location_path!=v___location_prefix+"/mysql/index.cgi"&&v___location_path!=v___location_prefix+"/postgresql/index.cgi"||(setTimeout(function(){$('.panel-body .table-hardcoded tr td[align="right"]:last-child').find("a").addClass("btn btn-tiny btn-inverse"),$(".ui_select.heighter-34").length&&$('a[href="newdb_form.cgi"]').addClass("btn btn-success").text($('a[href="newdb_form.cgi"]').text().replace(".","")).prepend('  ')},10),e.undelegate("#newClone, #deleteClone","click.sql"),e.on("click.sql","#newClone, #deleteClone",function(e){e.preventDefault(),$("#"+$(this).attr("id").replace("Clone","")).trigger("click")})),config_portable_module_xsql_fit_content_screen_height||e.addClass("long-table-scroll-maxHeight"),v___location_path==v___location_prefix+"/mysql/edit_dbase.cgi"||v___location_path==v___location_prefix+"/mysql/edit_table.cgi"||v___location_path==v___location_prefix+"/mysql/view_table.cgi"||v___location_path==v___location_prefix+"/postgresql/edit_dbase.cgi"||v___location_path==v___location_prefix+"/postgresql/edit_table.cgi"||v___location_path==v___location_prefix+"/postgresql/view_table.cgi"){if(setTimeout(function(){$('.panel-body .table-hardcoded tr td[align="right"]:last-child').find("a").addClass("btn btn-tiny btn-inverse")},10),v___location_path==v___location_prefix+"/mysql/view_table.cgi"||v___location_path==v___location_prefix+"/postgresql/view_table.cgi"){$("#delete").remove(),$("#edit").length&&$("#new").addClass("hidden"),$("#edit").replaceWith(' \t\t\t\t
    \t\t\t\t\t \t\t\t\t\t \t\t\t\t\t \t\t\t\t
    \t\t\t");t="#newClone, #deleteClone";e.undelegate(t,"click.sql"),e.on("click.sql",t,function(e){var t=$(document.activeElement).parents("form");$("").attr({type:"hidden",name:$(document.activeElement).attr("name").replace("Clone",""),value:$.trim(document.activeElement.innerText)}).appendTo(t),$("#"+$(this).attr("id").replace("Clone","")).trigger("click")})}$(".table.table-striped.table-hover.table-condensed").css({width:"99.7%"}).wrap('
    ');var t='td > label[for^="row_"], td.td_tag.selectable';e.undelegate(t,"click.sql"),e.on("click.sql",t,function(e){e.preventDefault(),e.stopPropagation(),$(this).selectText()}),e.undelegate(t,"dblclick.sql"),e.on("dblclick.sql",t,function(e){e.preventDefault(),e.stopPropagation()}),e.undelegate(".long-table-wrapper div.thead","click.sql"),e.on("click.sql",".long-table-wrapper div.thead",function(e){$("#savenew").length||($(this).find("i").hasClass("fa-plus-square")?($(this).find("i").removeClass("fa-plus-square").addClass("fa-minus-square"),$(this).find("i").parent().next(".long-table-scroll").find(".table-hardcoded").removeClass("hidden")):($(this).find("i").addClass("fa-plus-square").removeClass("fa-minus-square"),$(this).find("i").parent().next(".long-table-scroll").find(".table-hardcoded").addClass("hidden")),$(window).trigger("resize"))}),$.each($(".table.table-striped.table-hover.table-condensed").find("thead th, tbody td:last-child"),function(e,t){$(this).is("th")&&$(this).html(""+$(this).text()+""),$(this).is(":last-child")&&!$(this).parents(".table-hardcoded").length&&$(this).css("border-right","1px solid #"+(v___theme_night_mode_enabled?"2f3238":"eee"))}).promise().done(function(){$.each($(".table.table-striped.table-hover.table-condensed").find("tbody tr td"),function(e,t){proc_sql_table($(this))}).promise().done(function(){var t='  ',a='  ',l='';if(v___location_path==v___location_prefix+"/mysql/view_table.cgi"||v___location_path==v___location_prefix+"/postgresql/view_table.cgi")var n=parseInt($(".ui_form > .long-table-wrapper .long-table-scroll").width()),i=parseInt($(".ui_form > .long-table-wrapper .long-table-scroll > table").width())>n;if(i||e.addClass("__non_res__"),(v___location_path==v___location_prefix+"/mysql/view_table.cgi"||v___location_path==v___location_prefix+"/postgresql/view_table.cgi")&&$("#save, #savenew").length&&$("#cancel").length){$("#save").length&&$("#cancel").length&&($("#cancel").remove(),$("#save").replaceWith('\t\t\t\t\t\t\t\t
    \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \t\t\t\t\t\t\t")),$("#savenew").length&&$("#cancel").length&&($("#cancel").remove(),$("#savenew").replaceWith('\t\t\t\t\t\t\t\t
    \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \t\t\t\t\t\t\t"));var s=$("td.td_tag .table-hardcoded"),o=parseInt($(".ui_form > .long-table-wrapper .long-table-scroll").width()),_=$(".table.table-striped.table-hover.table-condensed").find("thead th").filter(function(e){return $(this).position().left+$(this).width()-1?(d=25,r=13,c=20):(d=19,r=10,c=15),s.find('input[type="text"], textarea').addClass("input-sm"),s.wrap('
    ').addClass("container-resizeable-table").css({width:"99%","margin-top":"-1px"}).parent().parent().parent("td").removeClass("selectable").addClass("col-no-styling container-resizeable-col").attr({colspan:_,style:"padding: 0 !important;"}).find(".long-table-wrapper").attr({style:"margin: 0 !important"}).find(".table-hardcoded tr.thead").attr({style:"border: 0 !important"}).addClass("hidden").next("tr").find("td:first-child").css({width:"20%","text-align":"left","padding-left":"10%"}).parent("tr").find("td:last-child").css({width:"80%","text-align":"left","padding-left":"10%"}),setTimeout(function(){$.each(s.parent(".long-table-scroll").parent(".long-table-wrapper"),function(){var e=(e=$(this).find(".table-hardcoded").find("tbody tr:nth-child(2) td:last-child")).find('input[type="text"]').val()?e.find('input[type="text"]').val():e.text();$(this).prepend('\t\t\t\t\t \t\t\t\t
    \t\t\t\t\t \t\t\t\t \t\t\t\t\t\t \t\t\t\t \t'+($("#savenew").length?"":e)+'\t\t\t\t\t \t\t\t\t \t'+($("#savenew").length?theme_language("theme_xhred_database_adding_new_row_data"):"")+"\t\t\t\t\t \t\t\t\t
    \t\t\t\t\t\t\t\t")}),$(".col-no-styling").parent("tr").addClass("row-no-styling"),$(".table.table-striped.table-hover.table-condensed > thead > tr, .table.table-striped.table-hover.table-condensed > tbody > tr:not(.row-no-styling)").addClass("opacity-0_5");var t=$(".container-resizeable-head").length>1?"s":"",a=$("#savenew").length?theme_language("theme_xhred_database_adding_new_row"):theme_language("theme_xhred_database_editing_row"+t);$(".panel-body > center").remove(),$(".panel-body").prepend('
    '+a+"
    "),hSB=$(".ui_form > .long-table-wrapper .long-table-scroll").hasScrollBar(),hSB&&($("#savenew").length?$(".long-table-scroll").scrollTop($(".long-table-scroll")[0].scrollHeight):$(".container-resizeable-head:last").scrollIntoView({duration:200,direction:"vertical",complete:function(){}}));var l=".container-resizeable-table input, .container-resizeable-table textarea";e.undelegate(l,"keydown.sql"),e.on("keydown.sql",l,function(){$("button.btn-success").removeClass("btn-success").addClass("btn-warning").attr("data-form-onbeforeunload","1").attr("data-form-onbeforeunload-tabledata","1"),set_onbeforeunload_status(1,0)})},10),$(window).resize(function(){var t=0,a=0,l=0,n=0,i=0;setTimeout(function(){navigator.userAgent.toLowerCase().indexOf("firefox")>-1?(i=25,n=18):(i=19,n=5),l=$(".ui_form > .long-table-wrapper .long-table-scroll").hasScrollBar(),t=parseInt($(".ui_form > .long-table-wrapper .long-table-scroll").width()),a=$(".table.table-striped.table-hover.table-condensed").find("thead th").filter(function(e){return $(this).position().left+$(this).width()'),setTimeout(function(){$.ajax({type:"POST",url:v___location_path+"?xhr&"+s+"=1&stripped=1",data:n.parents("form").serialize(),dataType:"text",success:function(e){if($("button").find(".cspinner_container").replaceWith("save"==i||"savenew"==i?t:a),$(e).find(".ui_form").length){if($("button.btn-warning").removeClass("btn-warning").addClass("btn-success").attr("data-form-onbeforeunload",0),set_onbeforeunload_status(0,0),"save"==i||"save-close"==i){$(".container-resizeable-head").length;"save-close"==i&&$("#cancel").trigger("click")}if("savenew"==i||"savenew-close"==i){"savenew-close"==i&&$("#cancel").trigger("click");var l="";$.each($("tr.row-no-styling"),function(){var e=$(this);l+='',$.each(e.find("table tbody tr:not(.thead) td:last-child"),function(){var e=$(this).find('input[type="text"], textarea').val();l+=""+(e||"")+""}),l+=""}).promise().done(function(){$(".long-table-wrapper > .long-table-scroll > .table.table-striped.table-hover.table-condensed tbody tr.row-no-styling").before(l),$.each($(".table.table-striped.table-hover.table-condensed").find("thead th, tbody td:last-child"),function(e,t){$(this).is("th")&&$(this).html(""+$(this).text()+""),$(this).is(":last-child")&&!$(this).parents(".table-hardcoded").length&&$(this).css("border-right","1px solid #"+(v___theme_night_mode_enabled?"2f3238":"eee"))})})}}else theme_messenger(''+$(e).find(".panel-body h3").find("tt:last-child").html(),10,"error")},error:function(e){}})},100)})}else table_data_init($(".table.table-striped.table-hover.table-condensed"),!1,i),$(".table.table-striped.table-hover.table-condensed").prev(".dataTables_filter").attr("style","margin-top: -25px !important; margin-right: 1px;"),$(".dataTable.no-footer").find("thead th:first-child").addClass("pointer-events-none opacity-0"),$.each($(".dataTables_filter"),function(){var e=$(this).parents(".long-table-wrapper"),t=e.find(".table.table-striped.table-hover.table-condensed"),a=-1/0;t.find("tr").each(function(e,t){a=Math.max(a,parseFloat(e))}),a<10?t.parents(".dataTables_wrapper").find(".dataTables_filter").remove():$(this).detach().insertBefore(e).css({float:"right","margin-top":"-30px"})}).promise().done(function(){table_data_filter()}),v___location_path!=v___location_prefix+"/mysql/edit_dbase.cgi"&&v___location_path!=v___location_prefix+"/postgresql/edit_dbase.cgi"||($('.table-hardcoded[width="100%"]').nextAll(".select_all, .select_invert").attr("style","margin-top: 4px !important"),$("#delete").addClass("hidden").after('"),$("#fields").addClass("heighter-34"),$(".ui_form_end_submit").parent().find(".ui_form_end_submit:not(:first), .ui_form_end_submit:not(:first) + input").wrapAll('
    '),$(".btn-group.end_submits .btn").addClass("heighter-34 heighter-34-force")),v___location_path!=v___location_prefix+"/mysql/edit_table.cgi"&&v___location_path!=v___location_prefix+"/postgresql/edit_table.cgi"||$("#delete").addClass("hidden").after('"),$('button#delete, button#deleteClone[data-clone-allowed="1"]').confirmation({},function(e){if(e.preventDefault(),e.stopPropagation(),"edit_table.cgi"==v___location_file||"view_table.cgi"==v___location_file){var t=$(this);setTimeout(function(){t.addClass("btn-danger"),t.find(".fa.fa-trash, .fa.fa-trash-o").replaceWith(l)},0),$.ajax({type:"POST",url:t.parents("form").attr("action")+"?xhr&"+t.attr("id")+"=1&stripped=1",data:t.parents("form").serialize(),dataType:"text",success:function(e){if($(e).find(".ui_form").length){var a=$(".table.table-striped.table-hover.table-condensed tbody tr"),l=$('.table.table-striped.table-hover.table-condensed tr td:first-child input[type="checkbox"]:checked').parents("tr"),n=(l.length,".table.table-striped.table-hover.table-condensed");"view_table.cgi"==v___location_file?$.each(a,function(){$(n).DataTable().row($(this)).remove()}).promise().done(function(){$(n).DataTable().rows.add($(e).find(n).find("tbody").find("tr")).draw(),$.each($(".table.table-striped.table-hover.table-condensed").find("tbody tr td"),function(e,t){proc_sql_table($(this))}),page_table_rows_control()}):$.each(l,function(){$(n).DataTable().row($(this)).remove().draw()});v___location_file;t.prop("disabled",!0),db_check_selected()}else theme_messenger(''+$(e).find(".panel-body h3").html(),10,"error");$("button").find(".cspinner_container").replaceWith('  '),t.removeClass("btn-danger")},error:function(e){}})}})}),db_check_selected()})}}!v___available_navigation&&f__ex__mysql_runner(); \ No newline at end of file diff --git a/help/editor.ca.UTF-8.html b/help/editor.ca.UTF-8.html new file mode 100644 index 000000000..81afbe20e --- /dev/null +++ b/help/editor.ca.UTF-8.html @@ -0,0 +1,110 @@ + +
    Cerca/Substitueix +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    TeclaComanda
    Ctrl + FCerca
    Ctrl + HSubstitueix
    Ctrl + ⇧ + RSubstitueix-ho tot
    Ctrl + GCercar el segĂŒent
    Ctrl + ⇧ + GCercar l'anterior
    Alt + GSalta a la lĂ­nia
    +
    ManipulaciĂł del text +
    + + + + + + + + + + + + +
    TeclaComanda
    Ctrl + KUTransforma en majĂșscules
    Ctrl + KLTransforma en minĂșscules
    +
    Editant +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TeclaComanda
    Ctrl + SpaceHabilita autocompletar
    Ctrl + XTalla la lĂ­nia
    Ctrl + ⇧ + ↑Moure línia/selecció cap amunt
    Ctrl + ⇧ + ↓Moure línia/selecció cap avall
    Ctrl + LSelecciona la lĂ­nia - Repeteix per seleccionar les segĂŒents lĂ­nies
    Ctrl + DSelecciona paraula - Repeteix per seleccionar les altres
    Ctrl + MSalta per tancar parĂšntesis. Repeteix per obrir parĂšntesis
    Ctrl + ⇧ + MSelecciona tots els continguts de dins el parùntesis actual
    Ctrl + ⇧ + KElimina la línia
    Ctrl + KKElimina des del cursos fins al final de la lĂ­nia
    Ctrl + K + retrocésElimina des del cursor fins al principi de la línia
    Ctrl + ⇧ + DDuplica les línies
    Ctrl + JAjunta la lĂ­nia de sota amb el final de la lĂ­nia actual
    Ctrl + /Comenta/descomenta la lĂ­nia actual
    Ctrl + ⇧ + /Comenta la selecció actual
    Ctrl + YDesfĂ©s, o repeteix la Ășltima comanda
    Ctrl + ⇧ + VEnganxa
    Ctrl + SpaceSelecciona la segĂŒent suggerĂšncia automĂ tica
    Ctrl + Udesfer suau; salta cap a l'Ășltim canvi realitzat desfent el canvi quan es repeteixi
    + diff --git a/help/editor.de.UTF-8.html b/help/editor.de.UTF-8.html new file mode 100644 index 000000000..a6fb7cb17 --- /dev/null +++ b/help/editor.de.UTF-8.html @@ -0,0 +1,110 @@ + +
    Suchern/Ersetzen +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    TastenBefehl
    Ctrl + FSuchen
    Ctrl + HErsetzen
    Ctrl + ⇧ + RAlle ersetzen
    Ctrl + GSuche nÀchste
    Ctrl + ⇧ + GSuche vorherige
    Alt + GSpringe zu Zeile
    +
    Text Umwandeln +
    + + + + + + + + + + + + +
    TastenBefehl
    Ctrl + KUIn GROSSBUCHSTEBN umwandeln
    Ctrl + KLIn kleinbuchstaben umwandeln
    +
    Bearbeiten +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TastenBefehl
    Ctrl + SpaceAuto-VervollstÀndigen
    Ctrl + XZeile ausschneiden
    Ctrl + ⇧ + ↑Verschiebe Auswahl/Zeile nach oben
    Ctrl + ⇧ + ↓Verschiebe Auswahl/Zeile nach unten
    Ctrl + LZeile auswĂ€hlen - Wiederholen fĂŒr nĂ€chste Zeilen
    Ctrl + DWort auswĂ€hlen - Wiederholen fĂŒr nĂ€chste Wörter
    Ctrl + MSpringe zu schließender Klammer - Springe zu nĂ€chster öffnenden Klammer
    Ctrl + ⇧ + MInhalt er aktuellen Klammer auswĂ€hlen
    Ctrl + ⇧ + KLösche Zeile
    Ctrl + KKLösche von aktueller Position bis zum Ende der Zeile
    Ctrl + K + BackspaceLösche von aktueller Position bis zum Beginn der Zeile
    Ctrl + ⇧ + DDupliziere Zeile(n)
    Ctrl + JZeilen zusammenfĂŒhren
    Ctrl + /Aktuelle Zeile auskommentieren / Kommentar aufheben
    Ctrl + ⇧ + /Auswahl in Kommentarblock umwandeln
    Ctrl + YWiederholen des letzter Befehl bzw. Schnellzugriffs Taste
    Ctrl + ⇧ + VEinfĂŒgen mit korrekter EinrĂŒckung
    Ctrl + SpaceNĂ€chsten Auto-AusfĂŒllen Vorschlag selektieren
    Ctrl + USanftes RĂŒckgĂ€ngig; springt zu letzter Änderung, RĂŒckgĂ€ngig erst wenn nochmals ausgefĂŒhrt
    + diff --git a/help/editor.html b/help/editor.html new file mode 100644 index 000000000..eca51c8fb --- /dev/null +++ b/help/editor.html @@ -0,0 +1,110 @@ + +
    Find/Replace +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    KeypressCommand
    Ctrl + FFind
    Ctrl + HReplace
    Ctrl + ⇧ + RReplace all
    Ctrl + GFind next
    Ctrl + ⇧ + GFind previous
    Alt + GJump to line
    +
    Text manipulation +
    + + + + + + + + + + + + +
    KeypressCommand
    Ctrl + KUTransform to Uppercase
    Ctrl + KLTransform to Lowercase
    +
    Editing +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    KeypressCommand
    Ctrl + SpaceActivate autocompletion
    Ctrl + XCut line
    Ctrl + ⇧ + ↑Move line/selection up
    Ctrl + ⇧ + ↓Move line/selection down
    Ctrl + LSelect line - Repeat to select next lines
    Ctrl + DSelect word - Repeat select others occurrences
    Ctrl + MJump to closing parentheses Repeat to jump to opening parentheses
    Ctrl + ⇧ + MSelect all contents of the current parentheses
    Ctrl + ⇧ + KDelete Line
    Ctrl + KKDelete from cursor to end of line
    Ctrl + K + BackspaceDelete from cursor to start of line
    Ctrl + ⇧ + DDuplicate line(s)
    Ctrl + JJoin line below to the end of the current line
    Ctrl + /Comment/un-comment current line
    Ctrl + ⇧ + /Block comment current selection
    Ctrl + YRedo, or repeat last keyboard shortcut command
    Ctrl + ⇧ + VPaste and indent correctly
    Ctrl + SpaceSelect next auto-complete suggestion
    Ctrl + Usoft undo; jumps to your last change before undoing change when repeated
    + diff --git a/help/editor.id.UTF-8.html b/help/editor.id.UTF-8.html new file mode 100644 index 000000000..e156bb835 --- /dev/null +++ b/help/editor.id.UTF-8.html @@ -0,0 +1,110 @@ + +
    Cari/Ganti +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    Tombol yang ditekanPerintah
    Ctrl + FCari
    Ctrl + HGanti
    Ctrl + ⇧ + RGanti semua
    Ctrl + GCari berikutnya
    Ctrl + ⇧ + GCari sebelumnya
    Alt + GLompat ke baris
    +
    Manipulasi teks +
    + + + + + + + + + + + + +
    Tombol yand ditekanPerintah
    Ctrl + KUUbah ke huruf besar
    Ctrl + KLUbah ke huruf kecil
    +
    Menyunting +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Tombol yang ditekanPerintah
    Ctrl + SpaceAktifkan pelengkapan otomatis
    Ctrl + XPotong baris
    Ctrl + ⇧ + ↑Pindah baris/seleksi ke atas
    Ctrl + ⇧ + ↓Pindah baris/seleksi ke bawah
    Ctrl + LPilih baris - Ulangi untui memilih baris berikutnya
    Ctrl + DPilih kata - Ulangi memilih kejadian lainnya
    Ctrl + MLompat ke penutupan tanda kurung Ulangi untuk melompat kembali ke pembuka kurung
    Ctrl + ⇧ + MPilih seluruh konten dalam kurung saat ini
    Ctrl + ⇧ + KHapus Baris
    Ctrl + KKHapus dari kursor ke akhir baris
    Ctrl + K + BackspaceHapus dari kursor ke awal baris
    Ctrl + ⇧ + DGandakan baris
    Ctrl + JGabungkan baris berikut ke akhir baris saat ini
    Ctrl + /Komentari/hapus komentar baris saat ini
    Ctrl + ⇧ + /Blok komentar pada pilihan saat ini
    Ctrl + YRedo, atau ulangi perintah pintasan papan ketik terakhir
    Ctrl + ⇧ + Vtempel dan indentasikan secara benar
    Ctrl + SpacePilih saran pelengkapan otomatis berikutnya
    Ctrl + Uundo lembut; melompat ke perubahan terakhir Anda sebelum mengganti perubahan saat diulang
    + diff --git a/help/editor.ro_RO.UTF-8.html b/help/editor.ro_RO.UTF-8.html new file mode 100644 index 000000000..f41bf5b76 --- /dev/null +++ b/help/editor.ro_RO.UTF-8.html @@ -0,0 +1,110 @@ + +
    Caută/ÎnlocuieƟte +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    KeypressComandă
    Ctrl + FCaută
    Ctrl + HÎnlocuieƟte
    Ctrl + ⇧ + RÎnlocuieƟte tot
    Ctrl + GCaută următorul
    Ctrl + ⇧ + GCaută anterior
    Alt + GSări la linia
    +
    Manipularea textului +
    + + + + + + + + + + + + +
    KeypressComandă
    Ctrl + KUTransformaĆŁi Ăźn Litere Mari
    Ctrl + KLTransformaĆŁi Ăźn Litere Mici
    +
    Editare +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    KeypressComandă
    Ctrl + SpaceActivează Autocompletarea
    Ctrl + XTaie rĂąndul
    Ctrl + ⇧ + ↑Mută rñndul/selecƣia sus
    Ctrl + ⇧ + ↓Mută rñndul/selecƣia jos
    Ctrl + LSelectează rßndul - Repetă selectarea la rùndurile următoare
    Ctrl + DSelectează cuvùnt - Repetă selecƣia la alte evenimente
    Ctrl + MSări la inchiderea parantezelor Repetă săritura la parantezele deschise
    Ctrl + ⇧ + MSelectează tot conƣinutul parentezelor curente
    Ctrl + ⇧ + Kƞterge Ründul
    Ctrl + KKƞterge de la cursor pñnă la sfñrƟitul rñndului
    Ctrl + K + Backspaceƞterge de la cursor pñnă la ünceputul rñndului
    Ctrl + ⇧ + DDuplică rñnd(uri)
    Ctrl + JAlăturați linia de mai jos pĂąnă la sfĂąrșitul liniei curente
    Ctrl + /Comentează/de-comentează rùndul curent
    Ctrl + ⇧ + /Blochează comentarea selecƣiei curente
    Ctrl + YRefă, sau repetă ultima comandă scurtătură de tastatură
    Ctrl + ⇧ + VLipiți și indentați corect
    Ctrl + SpaceSelectaƣi următoarea sugestie din autocompletare
    Ctrl + UDesfă uƟor; sare la ultima schimbare ünainte de a anula modificarea atunci cñnd se repetă
    + diff --git a/help/editor.zh_CN.UTF-8.html b/help/editor.zh_CN.UTF-8.html new file mode 100644 index 000000000..d8069cd28 --- /dev/null +++ b/help/editor.zh_CN.UTF-8.html @@ -0,0 +1,110 @@ + +
    Find/Replace +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    按鍔指什
    Ctrl + Fæœć°‹
    Ctrl + Hæ›żæ›
    Ctrl + ⇧ + Rć…šéƒšæ›żæ›
    Ctrl + Gæœć°‹ćŸŒäž€ć€‹
    Ctrl + ⇧ + Gæœć°‹ć‰äž€ć€‹
    Alt + Gè·łćˆ°æŸèĄŒ
    +
    æ–‡æœŹæ“äœœ +
    + + + + + + + + + + + + +
    按鍔指什
    Ctrl + KUèœ‰è‡łć€§ćŻ«
    Ctrl + KLèœ‰è‡łć°ćŻ«
    +
    ç·šèŒŻ +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Keypress指什
    Ctrl + Space敟甹è‡Șć‹•èŁœć…š
    Ctrl + Xć‰Șäž‹èĄŒ
    Ctrl + ⇧ + â†‘ć‘äžŠç§»ć‹•èĄŒ/遾侭慧ćźč
    Ctrl + ⇧ + â†“ć‘äž‹ç§»ć‹•èĄŒ/遾侭慧ćźč
    Ctrl + Léžæ“‡èĄŒ - é‡è€‡ä»„éžæ“‡äž‹äž€èĄŒ
    Ctrl + D遞擇詞 - 重耇仄遞擇䞋䞀ćŒč配
    Ctrl + MJump to closing parentheses Repeat to jump to opening parentheses
    Ctrl + ⇧ + MSelect all contents of the current parentheses
    Ctrl + ⇧ + KćˆȘé™€èĄŒ
    Ctrl + KKDelete from cursor to end of line
    Ctrl + K + BackspaceDelete from cursor to start of line
    Ctrl + ⇧ + DDuplicate line(s)
    Ctrl + JJoin line below to the end of the current line
    Ctrl + /Comment/un-comment current line
    Ctrl + ⇧ + /Block comment current selection
    Ctrl + YRedo, or repeat last keyboard shortcut command
    Ctrl + ⇧ + VPaste and indent correctly
    Ctrl + SpaceSelect next auto-complete suggestion
    Ctrl + Usoft undo; jumps to your last change before undoing change when repeated
    + diff --git a/help/file-manager.de.UTF-8.html b/help/file-manager.de.UTF-8.html new file mode 100644 index 000000000..9a2f6790a --- /dev/null +++ b/help/file-manager.de.UTF-8.html @@ -0,0 +1,169 @@ +
    File Manager
    + +Es gibt einige Schnellzugriffs-Tasten und Tasten Kombinationen fĂŒr den schnellen/direkten Zugriff auf bestimmte Funktionen. +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Taste Befehl
    Numerische Eingabe
      Schnelle Suche
    hoch/runter
    pos1/ende
      Cursor Postion
    Eingabe
      In Verzeichnis wechseln
    ZurĂŒck
      Vorheriges Verzeichnis
    Kontext-MenĂŒ
    Rechts-Klick
      Kontext-MenĂŒ
    Leertaste
    Alt + Rechts-Klick
      Zeile auswĂ€hlen
    Strg + L
    Rechts-Klick auf Pfad
      Pfad hĂ€ndisch eingeben
    *
      Auswahl umkehren
    +
      Alles auswĂ€hlen
    -
      Nichts auswĂ€hlen
    F2
      Rechte Ă€ndern
    ⇧ + F2
      Eigenschaften Ă€ndern
    F3
      Besitzer Ă€ndern
    ⇧ +F3
      Sicherheits Kontext Ă€ndern
    F4
      Bearbeiten (falls möglich)
    F5
    ⇧ + F5
      Packen/Entpacken
    F6
      Umbenennen
    F7
    ⇧ + F4
      Neue Datei/Ordner
    ⇧ + F7
      Suchen
    F8 / Entf
      Löschen
    F9 / F10
      Hoch-/Herunterladen in
      aktuelles Verzeichnis
    Strg + S
      GrĂ¶ĂŸe der Auswahl berechnen
    Strg + Leertaste
      New tab
    Strg + ⇧ + Leertaste
      Aktuellen Tab schließen
    Strg + links/rechts
      Zwischen den Tabs wechseln
    Strg + 1..9
      Gehe zu Tab
    Strg + C/X/V
      Kopieren/Ausschneiden/EinfĂŒgen
    Esc
      Bearbeiten Fenster schließen
    Strg + Esc
      Bearbeiten Fenster minimieren
    Strg + Enter
    Strg + ⇧ + Enter
      Speichern/Speichern und beenden
    Theme neu laden Taste
      Aktuellen Ordner neu laden
    +
    diff --git a/help/file-manager.html b/help/file-manager.html new file mode 100644 index 000000000..6047fa766 --- /dev/null +++ b/help/file-manager.html @@ -0,0 +1,169 @@ +
    File Manager
    + +There are multiple keyboard shortcuts/hotkeys, that can be used to provide quicker access and smoother user expirience. +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Keypress Command
    alphanumeric typing
      Quick search
    up/down
    home/end
      Cursor position
    Enter
      Descent into directory
    Backspace
      Previous folder
    contextmenu
    right-click
      Context menu
    spacebar
    Alt + right-click
      Select row
    Ctrl + L
    right-click on path
      Enter path manually
    *
      Inverse select
    +
      Select all
    -
      Deselect all
    F2
      Change permissions
    ⇧ + F2
      Change attributes
    F3
      Change ownership
    ⇧ +F3
      Change security context
    F4
      Edit when possible
    F5
    ⇧ + F5
      Compress/decompress
    F6
      Rename
    F7
    ⇧ + F4
      New folder/file
    ⇧ + F7
      Search
    F8 / Delete
      Delete
    F9 / F10
      Download/upload to
      current folder
    Ctrl + S
      Calculate selected size
    Ctrl + spacebar
      New tab
    Ctrl + ⇧ + spacebar
      Close current tab
    Ctrl + left/right
      Change tabs
    Ctrl + 1..9
      Switch to the tab
      number
    Ctrl + C/X/V
      Copy/Cut/Paste
    Esc
      Close active editor
      window
    Ctrl + Esc
      Minimize active editor
      window
    Ctrl + Enter
    Ctrl + ⇧ + Enter
      Save/Save and close
      editor
    Theme reload hotkey
      Reload current
      folder
    +
    diff --git a/help/file-manager.id.UTF-8.html b/help/file-manager.id.UTF-8.html new file mode 100644 index 000000000..44e413ed6 --- /dev/null +++ b/help/file-manager.id.UTF-8.html @@ -0,0 +1,169 @@ +
    Manajer berkas
    + +Ada beberapa pintasan keyboard/hotkey, yang dapat digunakan untuk kemudahan akses dan pengalaman pengguna yang menyentuh. +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Tombol yang ditekan Perintah
    alphanumeric typing
      Quick search
    arah atas/bawah
    home/end
      Posisi kursor
    Enter
      Turun ke direktori
    Backspace
      Folder sebelumnya
    contextmenu
    klik-kanan
      Konteks menu
    spasi
    Alt + klik-kanan
      Pilih baris
    Ctrl + L
    klik-kanan pada lokasi
      Masukkan lokasi secara manual
    *
      Balikkan pilihan
    +
      Pilih semua
    -
      Batal pilih semua
    F2
      Ubah hak akses
    ⇧ + F2
      Ubah atribut
    F3
      Ubah kepemilikan
    ⇧ +F3
      Ubah konteks keamanan
    F4
      Sunting jika mungkin
    F5
    ⇧ + F5
      Kompres/bongkar
    F6
      Ganti nama
    F7
    ⇧ + F4
      Berkas/direktori baru
    ⇧ + F7
      Cari
    F8 / Delete
      Hapus
    F9 / F10
      Unduh/unggah ke
      direktori saat ini
    Ctrl + S
      Hitung berkas terpilih
    Ctrl + spacebar
      Tab baru
    Ctrl + ⇧ + spacebar
      Tutup tab saat ini
    Ctrl + left/right
      Ubah tab
    Ctrl + 1..9
      Beralih ke tab
    nomor  
    Ctrl + C/X/V
      Salin/Potong/Tempel
    Esc
      Tutup jendela penyunting
      yang aktif
    Ctrl + Esc
      Minimalkan jendela penyunting
      yang aktif
    Ctrl + Enter
    Ctrl + ⇧ + Enter
      Simpan/Simpan dan Tutup
      penyunting
    Theme reload hotkey
      Muat ulang folder
      saat ini
    +
    diff --git a/images/after.gif b/images/after.gif new file mode 100644 index 000000000..4bce1628c Binary files /dev/null and b/images/after.gif differ diff --git a/images/attach.gif b/images/attach.gif new file mode 100644 index 000000000..2b97269c5 Binary files /dev/null and b/images/attach.gif differ diff --git a/images/before.gif b/images/before.gif new file mode 100644 index 000000000..589b6a7b9 Binary files /dev/null and b/images/before.gif differ diff --git a/images/blank.gif b/images/blank.gif new file mode 100644 index 000000000..c04c50c11 Binary files /dev/null and b/images/blank.gif differ diff --git a/images/blank.png b/images/blank.png new file mode 100644 index 000000000..c04c50c11 Binary files /dev/null and b/images/blank.png differ diff --git a/images/blue.gif b/images/blue.gif new file mode 100644 index 000000000..b51188308 Binary files /dev/null and b/images/blue.gif differ diff --git a/images/bottom.gif b/images/bottom.gif new file mode 100644 index 000000000..4bce1628c Binary files /dev/null and b/images/bottom.gif differ diff --git a/images/bottom.png b/images/bottom.png new file mode 100644 index 000000000..584fc747b Binary files /dev/null and b/images/bottom.png differ diff --git a/images/bottom_dark.gif b/images/bottom_dark.gif new file mode 100644 index 000000000..5ce6e658d Binary files /dev/null and b/images/bottom_dark.gif differ diff --git a/images/check.png b/images/check.png new file mode 100644 index 000000000..571c68771 Binary files /dev/null and b/images/check.png differ diff --git a/images/close.gif b/images/close.gif new file mode 100644 index 000000000..68546215c Binary files /dev/null and b/images/close.gif differ diff --git a/images/closed.gif b/images/closed.gif new file mode 100644 index 000000000..1282b89f6 Binary files /dev/null and b/images/closed.gif differ diff --git a/images/cross.png b/images/cross.png new file mode 100644 index 000000000..12a1a7198 Binary files /dev/null and b/images/cross.png differ diff --git a/images/dir.gif b/images/dir.gif new file mode 100644 index 000000000..cad26e3c2 Binary files /dev/null and b/images/dir.gif differ diff --git a/images/down.gif b/images/down.gif new file mode 100644 index 000000000..5bd278150 Binary files /dev/null and b/images/down.gif differ diff --git a/images/down_dark.gif b/images/down_dark.gif new file mode 100644 index 000000000..27caa4386 Binary files /dev/null and b/images/down_dark.gif differ diff --git a/images/empty.gif b/images/empty.gif new file mode 100644 index 000000000..c04c50c11 Binary files /dev/null and b/images/empty.gif differ diff --git a/images/ext.gif b/images/ext.gif new file mode 100644 index 000000000..c1d9e107c Binary files /dev/null and b/images/ext.gif differ diff --git a/images/favicon-usermin.ico b/images/favicon-usermin.ico new file mode 100644 index 000000000..37d84bf98 Binary files /dev/null and b/images/favicon-usermin.ico differ diff --git a/images/favicon-webmin.ico b/images/favicon-webmin.ico new file mode 100644 index 000000000..bc5dc58b0 Binary files /dev/null and b/images/favicon-webmin.ico differ diff --git a/images/filter.gif b/images/filter.gif new file mode 100644 index 000000000..498e3ff52 Binary files /dev/null and b/images/filter.gif differ diff --git a/images/first-grey.gif b/images/first-grey.gif new file mode 100644 index 000000000..99a6998f8 Binary files /dev/null and b/images/first-grey.gif differ diff --git a/images/first.gif b/images/first.gif new file mode 100644 index 000000000..cfe3267c3 Binary files /dev/null and b/images/first.gif differ diff --git a/images/gap.gif b/images/gap.gif new file mode 100644 index 000000000..c04c50c11 Binary files /dev/null and b/images/gap.gif differ diff --git a/images/grey.gif b/images/grey.gif new file mode 100644 index 000000000..857b3cabb Binary files /dev/null and b/images/grey.gif differ diff --git a/images/last-grey.gif b/images/last-grey.gif new file mode 100644 index 000000000..e5ea11bb8 Binary files /dev/null and b/images/last-grey.gif differ diff --git a/images/last.gif b/images/last.gif new file mode 100644 index 000000000..d33dcff8d Binary files /dev/null and b/images/last.gif differ diff --git a/images/left-grey.gif b/images/left-grey.gif new file mode 100644 index 000000000..e49ac9fed Binary files /dev/null and b/images/left-grey.gif differ diff --git a/images/left.gif b/images/left.gif new file mode 100644 index 000000000..649331dba Binary files /dev/null and b/images/left.gif differ diff --git a/images/loader-horizontal.gif b/images/loader-horizontal.gif new file mode 100644 index 000000000..a1a111577 Binary files /dev/null and b/images/loader-horizontal.gif differ diff --git a/images/loader-horizontal_dark.gif b/images/loader-horizontal_dark.gif new file mode 100644 index 000000000..5749acdf9 Binary files /dev/null and b/images/loader-horizontal_dark.gif differ diff --git a/images/modules/acl/convert.gif b/images/modules/acl/convert.gif new file mode 100644 index 000000000..0d1e2384a Binary files /dev/null and b/images/modules/acl/convert.gif differ diff --git a/images/modules/acl/icon.gif b/images/modules/acl/icon.gif new file mode 100644 index 000000000..4ea2d2ad3 Binary files /dev/null and b/images/modules/acl/icon.gif differ diff --git a/images/modules/acl/pass.gif b/images/modules/acl/pass.gif new file mode 100644 index 000000000..0f705382a Binary files /dev/null and b/images/modules/acl/pass.gif differ diff --git a/images/modules/acl/rbac.gif b/images/modules/acl/rbac.gif new file mode 100644 index 000000000..45579b7c3 Binary files /dev/null and b/images/modules/acl/rbac.gif differ diff --git a/images/modules/acl/sessions.gif b/images/modules/acl/sessions.gif new file mode 100644 index 000000000..ab98a6085 Binary files /dev/null and b/images/modules/acl/sessions.gif differ diff --git a/images/modules/acl/sql.gif b/images/modules/acl/sql.gif new file mode 100644 index 000000000..1e878ec27 Binary files /dev/null and b/images/modules/acl/sql.gif differ diff --git a/images/modules/acl/sync.gif b/images/modules/acl/sync.gif new file mode 100644 index 000000000..01b005466 Binary files /dev/null and b/images/modules/acl/sync.gif differ diff --git a/images/modules/acl/twofactor.gif b/images/modules/acl/twofactor.gif new file mode 100644 index 000000000..644446ad6 Binary files /dev/null and b/images/modules/acl/twofactor.gif differ diff --git a/images/modules/acl/unix.gif b/images/modules/acl/unix.gif new file mode 100644 index 000000000..681ed2d1c Binary files /dev/null and b/images/modules/acl/unix.gif differ diff --git a/images/modules/adsl-client/icon.gif b/images/modules/adsl-client/icon.gif new file mode 100644 index 000000000..7f58bb716 Binary files /dev/null and b/images/modules/adsl-client/icon.gif differ diff --git a/images/modules/apache/defines.gif b/images/modules/apache/defines.gif new file mode 100644 index 000000000..eb3de4b3c Binary files /dev/null and b/images/modules/apache/defines.gif differ diff --git a/images/modules/apache/dir.gif b/images/modules/apache/dir.gif new file mode 100644 index 000000000..0337c1016 Binary files /dev/null and b/images/modules/apache/dir.gif differ diff --git a/images/modules/apache/edit.gif b/images/modules/apache/edit.gif new file mode 100644 index 000000000..ce1f3a3f0 Binary files /dev/null and b/images/modules/apache/edit.gif differ diff --git a/images/modules/apache/icon.gif b/images/modules/apache/icon.gif new file mode 100644 index 000000000..279202e30 Binary files /dev/null and b/images/modules/apache/icon.gif differ diff --git a/images/modules/apache/mods.gif b/images/modules/apache/mods.gif new file mode 100644 index 000000000..a3b93ffca Binary files /dev/null and b/images/modules/apache/mods.gif differ diff --git a/images/modules/apache/recon.gif b/images/modules/apache/recon.gif new file mode 100644 index 000000000..a3b93ffca Binary files /dev/null and b/images/modules/apache/recon.gif differ diff --git a/images/modules/apache/show.gif b/images/modules/apache/show.gif new file mode 100644 index 000000000..e03a26dbc Binary files /dev/null and b/images/modules/apache/show.gif differ diff --git a/images/modules/apache/type_icon_0.gif b/images/modules/apache/type_icon_0.gif new file mode 100644 index 000000000..ea7785e1c Binary files /dev/null and b/images/modules/apache/type_icon_0.gif differ diff --git a/images/modules/apache/type_icon_1.gif b/images/modules/apache/type_icon_1.gif new file mode 100644 index 000000000..2427db7c8 Binary files /dev/null and b/images/modules/apache/type_icon_1.gif differ diff --git a/images/modules/apache/type_icon_10.gif b/images/modules/apache/type_icon_10.gif new file mode 100644 index 000000000..759cba64e Binary files /dev/null and b/images/modules/apache/type_icon_10.gif differ diff --git a/images/modules/apache/type_icon_11.gif b/images/modules/apache/type_icon_11.gif new file mode 100644 index 000000000..823820449 Binary files /dev/null and b/images/modules/apache/type_icon_11.gif differ diff --git a/images/modules/apache/type_icon_12.gif b/images/modules/apache/type_icon_12.gif new file mode 100644 index 000000000..b043a887f Binary files /dev/null and b/images/modules/apache/type_icon_12.gif differ diff --git a/images/modules/apache/type_icon_13.gif b/images/modules/apache/type_icon_13.gif new file mode 100644 index 000000000..9d13da72c Binary files /dev/null and b/images/modules/apache/type_icon_13.gif differ diff --git a/images/modules/apache/type_icon_14.gif b/images/modules/apache/type_icon_14.gif new file mode 100644 index 000000000..be290a890 Binary files /dev/null and b/images/modules/apache/type_icon_14.gif differ diff --git a/images/modules/apache/type_icon_16.gif b/images/modules/apache/type_icon_16.gif new file mode 100644 index 000000000..f909e710f Binary files /dev/null and b/images/modules/apache/type_icon_16.gif differ diff --git a/images/modules/apache/type_icon_17.gif b/images/modules/apache/type_icon_17.gif new file mode 100644 index 000000000..cc4fa8220 Binary files /dev/null and b/images/modules/apache/type_icon_17.gif differ diff --git a/images/modules/apache/type_icon_18.gif b/images/modules/apache/type_icon_18.gif new file mode 100644 index 000000000..c76c144bb Binary files /dev/null and b/images/modules/apache/type_icon_18.gif differ diff --git a/images/modules/apache/type_icon_19.gif b/images/modules/apache/type_icon_19.gif new file mode 100644 index 000000000..b57101b08 Binary files /dev/null and b/images/modules/apache/type_icon_19.gif differ diff --git a/images/modules/apache/type_icon_2.gif b/images/modules/apache/type_icon_2.gif new file mode 100644 index 000000000..67ed09436 Binary files /dev/null and b/images/modules/apache/type_icon_2.gif differ diff --git a/images/modules/apache/type_icon_20.gif b/images/modules/apache/type_icon_20.gif new file mode 100644 index 000000000..7fa199336 Binary files /dev/null and b/images/modules/apache/type_icon_20.gif differ diff --git a/images/modules/apache/type_icon_3.gif b/images/modules/apache/type_icon_3.gif new file mode 100644 index 000000000..490a54023 Binary files /dev/null and b/images/modules/apache/type_icon_3.gif differ diff --git a/images/modules/apache/type_icon_4.gif b/images/modules/apache/type_icon_4.gif new file mode 100644 index 000000000..0f705382a Binary files /dev/null and b/images/modules/apache/type_icon_4.gif differ diff --git a/images/modules/apache/type_icon_5.gif b/images/modules/apache/type_icon_5.gif new file mode 100644 index 000000000..c5ff11975 Binary files /dev/null and b/images/modules/apache/type_icon_5.gif differ diff --git a/images/modules/apache/type_icon_6.gif b/images/modules/apache/type_icon_6.gif new file mode 100644 index 000000000..89fb516ca Binary files /dev/null and b/images/modules/apache/type_icon_6.gif differ diff --git a/images/modules/apache/type_icon_7.gif b/images/modules/apache/type_icon_7.gif new file mode 100644 index 000000000..db22cef34 Binary files /dev/null and b/images/modules/apache/type_icon_7.gif differ diff --git a/images/modules/apache/type_icon_8.gif b/images/modules/apache/type_icon_8.gif new file mode 100644 index 000000000..c6bc5174d Binary files /dev/null and b/images/modules/apache/type_icon_8.gif differ diff --git a/images/modules/apache/type_icon_9.gif b/images/modules/apache/type_icon_9.gif new file mode 100644 index 000000000..495a42928 Binary files /dev/null and b/images/modules/apache/type_icon_9.gif differ diff --git a/images/modules/apache/virt.gif b/images/modules/apache/virt.gif new file mode 100644 index 000000000..c02353929 Binary files /dev/null and b/images/modules/apache/virt.gif differ diff --git a/images/modules/at/icon.gif b/images/modules/at/icon.gif new file mode 100644 index 000000000..2ca3de493 Binary files /dev/null and b/images/modules/at/icon.gif differ diff --git a/images/modules/backup-config/icon.gif b/images/modules/backup-config/icon.gif new file mode 100644 index 000000000..a93952df8 Binary files /dev/null and b/images/modules/backup-config/icon.gif differ diff --git a/images/modules/bandwidth/icon.gif b/images/modules/bandwidth/icon.gif new file mode 100644 index 000000000..384e9bd11 Binary files /dev/null and b/images/modules/bandwidth/icon.gif differ diff --git a/images/modules/bind8/A.gif b/images/modules/bind8/A.gif new file mode 100644 index 000000000..8f07fa957 Binary files /dev/null and b/images/modules/bind8/A.gif differ diff --git a/images/modules/bind8/ALL.gif b/images/modules/bind8/ALL.gif new file mode 100644 index 000000000..a3b93ffca Binary files /dev/null and b/images/modules/bind8/ALL.gif differ diff --git a/images/modules/bind8/CNAME.gif b/images/modules/bind8/CNAME.gif new file mode 100644 index 000000000..4237986bf Binary files /dev/null and b/images/modules/bind8/CNAME.gif differ diff --git a/images/modules/bind8/HINFO.gif b/images/modules/bind8/HINFO.gif new file mode 100644 index 000000000..9bf5f29b4 Binary files /dev/null and b/images/modules/bind8/HINFO.gif differ diff --git a/images/modules/bind8/KEY.gif b/images/modules/bind8/KEY.gif new file mode 100644 index 000000000..c164cfea8 Binary files /dev/null and b/images/modules/bind8/KEY.gif differ diff --git a/images/modules/bind8/LOC.gif b/images/modules/bind8/LOC.gif new file mode 100644 index 000000000..89fb516ca Binary files /dev/null and b/images/modules/bind8/LOC.gif differ diff --git a/images/modules/bind8/MX.gif b/images/modules/bind8/MX.gif new file mode 100644 index 000000000..07fc14988 Binary files /dev/null and b/images/modules/bind8/MX.gif differ diff --git a/images/modules/bind8/NS.gif b/images/modules/bind8/NS.gif new file mode 100644 index 000000000..884c421bc Binary files /dev/null and b/images/modules/bind8/NS.gif differ diff --git a/images/modules/bind8/PTR.gif b/images/modules/bind8/PTR.gif new file mode 100644 index 000000000..c30e6758a Binary files /dev/null and b/images/modules/bind8/PTR.gif differ diff --git a/images/modules/bind8/RP.gif b/images/modules/bind8/RP.gif new file mode 100644 index 000000000..4ea2d2ad3 Binary files /dev/null and b/images/modules/bind8/RP.gif differ diff --git a/images/modules/bind8/SPF.gif b/images/modules/bind8/SPF.gif new file mode 100644 index 000000000..f3ff6dc3e Binary files /dev/null and b/images/modules/bind8/SPF.gif differ diff --git a/images/modules/bind8/SRV.gif b/images/modules/bind8/SRV.gif new file mode 100644 index 000000000..6d3bede7e Binary files /dev/null and b/images/modules/bind8/SRV.gif differ diff --git a/images/modules/bind8/TXT.gif b/images/modules/bind8/TXT.gif new file mode 100644 index 000000000..3e93b5c21 Binary files /dev/null and b/images/modules/bind8/TXT.gif differ diff --git a/images/modules/bind8/WKS.gif b/images/modules/bind8/WKS.gif new file mode 100644 index 000000000..823820449 Binary files /dev/null and b/images/modules/bind8/WKS.gif differ diff --git a/images/modules/bind8/acl.gif b/images/modules/bind8/acl.gif new file mode 100644 index 000000000..0f705382a Binary files /dev/null and b/images/modules/bind8/acl.gif differ diff --git a/images/modules/bind8/acls.gif b/images/modules/bind8/acls.gif new file mode 100644 index 000000000..0f705382a Binary files /dev/null and b/images/modules/bind8/acls.gif differ diff --git a/images/modules/bind8/controls.gif b/images/modules/bind8/controls.gif new file mode 100644 index 000000000..3d1643092 Binary files /dev/null and b/images/modules/bind8/controls.gif differ diff --git a/images/modules/bind8/delegation.gif b/images/modules/bind8/delegation.gif new file mode 100644 index 000000000..38529f5e8 Binary files /dev/null and b/images/modules/bind8/delegation.gif differ diff --git a/images/modules/bind8/delegation.png b/images/modules/bind8/delegation.png new file mode 100644 index 000000000..cd362ffe1 Binary files /dev/null and b/images/modules/bind8/delegation.png differ diff --git a/images/modules/bind8/files.gif b/images/modules/bind8/files.gif new file mode 100644 index 000000000..ca711648f Binary files /dev/null and b/images/modules/bind8/files.gif differ diff --git a/images/modules/bind8/findfree.gif b/images/modules/bind8/findfree.gif new file mode 100644 index 000000000..86046cde3 Binary files /dev/null and b/images/modules/bind8/findfree.gif differ diff --git a/images/modules/bind8/forward.gif b/images/modules/bind8/forward.gif new file mode 100644 index 000000000..fea4818d2 Binary files /dev/null and b/images/modules/bind8/forward.gif differ diff --git a/images/modules/bind8/forwarding.gif b/images/modules/bind8/forwarding.gif new file mode 100644 index 000000000..f9443285b Binary files /dev/null and b/images/modules/bind8/forwarding.gif differ diff --git a/images/modules/bind8/gen.gif b/images/modules/bind8/gen.gif new file mode 100644 index 000000000..10d398fa3 Binary files /dev/null and b/images/modules/bind8/gen.gif differ diff --git a/images/modules/bind8/hint.gif b/images/modules/bind8/hint.gif new file mode 100644 index 000000000..43797e3de Binary files /dev/null and b/images/modules/bind8/hint.gif differ diff --git a/images/modules/bind8/icon.gif b/images/modules/bind8/icon.gif new file mode 100644 index 000000000..086c850f1 Binary files /dev/null and b/images/modules/bind8/icon.gif differ diff --git a/images/modules/bind8/keys.gif b/images/modules/bind8/keys.gif new file mode 100644 index 000000000..c164cfea8 Binary files /dev/null and b/images/modules/bind8/keys.gif differ diff --git a/images/modules/bind8/logging.gif b/images/modules/bind8/logging.gif new file mode 100644 index 000000000..490a54023 Binary files /dev/null and b/images/modules/bind8/logging.gif differ diff --git a/images/modules/bind8/manual.gif b/images/modules/bind8/manual.gif new file mode 100644 index 000000000..ce1f3a3f0 Binary files /dev/null and b/images/modules/bind8/manual.gif differ diff --git a/images/modules/bind8/master.gif b/images/modules/bind8/master.gif new file mode 100644 index 000000000..c02353929 Binary files /dev/null and b/images/modules/bind8/master.gif differ diff --git a/images/modules/bind8/misc.gif b/images/modules/bind8/misc.gif new file mode 100644 index 000000000..495a42928 Binary files /dev/null and b/images/modules/bind8/misc.gif differ diff --git a/images/modules/bind8/ncheck.gif b/images/modules/bind8/ncheck.gif new file mode 100644 index 000000000..3aa37ad25 Binary files /dev/null and b/images/modules/bind8/ncheck.gif differ diff --git a/images/modules/bind8/net.gif b/images/modules/bind8/net.gif new file mode 100644 index 000000000..43e4f098a Binary files /dev/null and b/images/modules/bind8/net.gif differ diff --git a/images/modules/bind8/options.gif b/images/modules/bind8/options.gif new file mode 100644 index 000000000..086c850f1 Binary files /dev/null and b/images/modules/bind8/options.gif differ diff --git a/images/modules/bind8/servers.gif b/images/modules/bind8/servers.gif new file mode 100644 index 000000000..6d3bede7e Binary files /dev/null and b/images/modules/bind8/servers.gif differ diff --git a/images/modules/bind8/slave.gif b/images/modules/bind8/slave.gif new file mode 100644 index 000000000..84719b62f Binary files /dev/null and b/images/modules/bind8/slave.gif differ diff --git a/images/modules/bind8/slaves.gif b/images/modules/bind8/slaves.gif new file mode 100644 index 000000000..28fc23d00 Binary files /dev/null and b/images/modules/bind8/slaves.gif differ diff --git a/images/modules/bind8/soa.gif b/images/modules/bind8/soa.gif new file mode 100644 index 000000000..e1cac8691 Binary files /dev/null and b/images/modules/bind8/soa.gif differ diff --git a/images/modules/bind8/stub.gif b/images/modules/bind8/stub.gif new file mode 100644 index 000000000..718cbe3ab Binary files /dev/null and b/images/modules/bind8/stub.gif differ diff --git a/images/modules/bind8/text.gif b/images/modules/bind8/text.gif new file mode 100644 index 000000000..cedfe0588 Binary files /dev/null and b/images/modules/bind8/text.gif differ diff --git a/images/modules/bind8/view.gif b/images/modules/bind8/view.gif new file mode 100644 index 000000000..86046cde3 Binary files /dev/null and b/images/modules/bind8/view.gif differ diff --git a/images/modules/bind8/whois.gif b/images/modules/bind8/whois.gif new file mode 100644 index 000000000..e5c85b646 Binary files /dev/null and b/images/modules/bind8/whois.gif differ diff --git a/images/modules/bind8/zonedef.gif b/images/modules/bind8/zonedef.gif new file mode 100644 index 000000000..086c850f1 Binary files /dev/null and b/images/modules/bind8/zonedef.gif differ diff --git a/images/modules/burner/dev.gif b/images/modules/burner/dev.gif new file mode 100644 index 000000000..495a42928 Binary files /dev/null and b/images/modules/burner/dev.gif differ diff --git a/images/modules/burner/icon.gif b/images/modules/burner/icon.gif new file mode 100644 index 000000000..55ba13f34 Binary files /dev/null and b/images/modules/burner/icon.gif differ diff --git a/images/modules/burner/mkisofs.gif b/images/modules/burner/mkisofs.gif new file mode 100644 index 000000000..7083f8a77 Binary files /dev/null and b/images/modules/burner/mkisofs.gif differ diff --git a/images/modules/cfengine/cfd.gif b/images/modules/cfengine/cfd.gif new file mode 100644 index 000000000..ccb8b8c7c Binary files /dev/null and b/images/modules/cfengine/cfd.gif differ diff --git a/images/modules/cfengine/down.gif b/images/modules/cfengine/down.gif new file mode 100644 index 000000000..39eb7d915 Binary files /dev/null and b/images/modules/cfengine/down.gif differ diff --git a/images/modules/cfengine/hosts.gif b/images/modules/cfengine/hosts.gif new file mode 100644 index 000000000..2427db7c8 Binary files /dev/null and b/images/modules/cfengine/hosts.gif differ diff --git a/images/modules/cfengine/icon.gif b/images/modules/cfengine/icon.gif new file mode 100644 index 000000000..3d1643092 Binary files /dev/null and b/images/modules/cfengine/icon.gif differ diff --git a/images/modules/cfengine/push.gif b/images/modules/cfengine/push.gif new file mode 100644 index 000000000..1ffdc0518 Binary files /dev/null and b/images/modules/cfengine/push.gif differ diff --git a/images/modules/cfengine/run.gif b/images/modules/cfengine/run.gif new file mode 100644 index 000000000..086c850f1 Binary files /dev/null and b/images/modules/cfengine/run.gif differ diff --git a/images/modules/cfengine/up.gif b/images/modules/cfengine/up.gif new file mode 100644 index 000000000..92d3958f0 Binary files /dev/null and b/images/modules/cfengine/up.gif differ diff --git a/images/modules/change-user/icon.gif b/images/modules/change-user/icon.gif new file mode 100644 index 000000000..b57101b08 Binary files /dev/null and b/images/modules/change-user/icon.gif differ diff --git a/images/modules/cluster-copy/icon.gif b/images/modules/cluster-copy/icon.gif new file mode 100644 index 000000000..3aa1d41b1 Binary files /dev/null and b/images/modules/cluster-copy/icon.gif differ diff --git a/images/modules/cluster-copy/smallicon.gif b/images/modules/cluster-copy/smallicon.gif new file mode 100644 index 000000000..01040059e Binary files /dev/null and b/images/modules/cluster-copy/smallicon.gif differ diff --git a/images/modules/cluster-cron/icon.gif b/images/modules/cluster-cron/icon.gif new file mode 100644 index 000000000..2ca3de493 Binary files /dev/null and b/images/modules/cluster-cron/icon.gif differ diff --git a/images/modules/cluster-cron/smallicon.gif b/images/modules/cluster-cron/smallicon.gif new file mode 100644 index 000000000..fa450f60d Binary files /dev/null and b/images/modules/cluster-cron/smallicon.gif differ diff --git a/images/modules/cluster-passwd/icon.gif b/images/modules/cluster-passwd/icon.gif new file mode 100644 index 000000000..c164cfea8 Binary files /dev/null and b/images/modules/cluster-passwd/icon.gif differ diff --git a/images/modules/cluster-passwd/smallicon.gif b/images/modules/cluster-passwd/smallicon.gif new file mode 100644 index 000000000..47a7d4ac9 Binary files /dev/null and b/images/modules/cluster-passwd/smallicon.gif differ diff --git a/images/modules/cluster-shell/icon.gif b/images/modules/cluster-shell/icon.gif new file mode 100644 index 000000000..65da85268 Binary files /dev/null and b/images/modules/cluster-shell/icon.gif differ diff --git a/images/modules/cluster-shell/smallicon.gif b/images/modules/cluster-shell/smallicon.gif new file mode 100644 index 000000000..4a40a88ab Binary files /dev/null and b/images/modules/cluster-shell/smallicon.gif differ diff --git a/images/modules/cluster-software/close.gif b/images/modules/cluster-software/close.gif new file mode 100644 index 000000000..d7afdd66b Binary files /dev/null and b/images/modules/cluster-software/close.gif differ diff --git a/images/modules/cluster-software/icon.gif b/images/modules/cluster-software/icon.gif new file mode 100644 index 000000000..7cf1b96d6 Binary files /dev/null and b/images/modules/cluster-software/icon.gif differ diff --git a/images/modules/cluster-software/open.gif b/images/modules/cluster-software/open.gif new file mode 100644 index 000000000..66f705f1d Binary files /dev/null and b/images/modules/cluster-software/open.gif differ diff --git a/images/modules/cluster-software/pack.gif b/images/modules/cluster-software/pack.gif new file mode 100644 index 000000000..fe1ade966 Binary files /dev/null and b/images/modules/cluster-software/pack.gif differ diff --git a/images/modules/cluster-software/smallicon.gif b/images/modules/cluster-software/smallicon.gif new file mode 100644 index 000000000..521432035 Binary files /dev/null and b/images/modules/cluster-software/smallicon.gif differ diff --git a/images/modules/cluster-software/template.gif b/images/modules/cluster-software/template.gif new file mode 100644 index 000000000..2427db7c8 Binary files /dev/null and b/images/modules/cluster-software/template.gif differ diff --git a/images/modules/cluster-useradmin/icon.gif b/images/modules/cluster-useradmin/icon.gif new file mode 100644 index 000000000..c6bc5174d Binary files /dev/null and b/images/modules/cluster-useradmin/icon.gif differ diff --git a/images/modules/cluster-webmin/icon.gif b/images/modules/cluster-webmin/icon.gif new file mode 100644 index 000000000..6d3bede7e Binary files /dev/null and b/images/modules/cluster-webmin/icon.gif differ diff --git a/images/modules/cpan/cat.gif b/images/modules/cpan/cat.gif new file mode 100644 index 000000000..d7afdd66b Binary files /dev/null and b/images/modules/cpan/cat.gif differ diff --git a/images/modules/cpan/icon.gif b/images/modules/cpan/icon.gif new file mode 100644 index 000000000..7cf1b96d6 Binary files /dev/null and b/images/modules/cpan/icon.gif differ diff --git a/images/modules/cpan/mod.gif b/images/modules/cpan/mod.gif new file mode 100644 index 000000000..c43d69077 Binary files /dev/null and b/images/modules/cpan/mod.gif differ diff --git a/images/modules/cron/icon.gif b/images/modules/cron/icon.gif new file mode 100644 index 000000000..2ca3de493 Binary files /dev/null and b/images/modules/cron/icon.gif differ diff --git a/images/modules/custom/icon.gif b/images/modules/custom/icon.gif new file mode 100644 index 000000000..dbb49a7d1 Binary files /dev/null and b/images/modules/custom/icon.gif differ diff --git a/images/modules/dhcpd-2.0/group.gif b/images/modules/dhcpd-2.0/group.gif new file mode 100644 index 000000000..b2d26e8b2 Binary files /dev/null and b/images/modules/dhcpd-2.0/group.gif differ diff --git a/images/modules/dhcpd-2.0/host.gif b/images/modules/dhcpd-2.0/host.gif new file mode 100644 index 000000000..4c48954a4 Binary files /dev/null and b/images/modules/dhcpd-2.0/host.gif differ diff --git a/images/modules/dhcpd-2.0/icon.gif b/images/modules/dhcpd-2.0/icon.gif new file mode 100644 index 000000000..6731381d1 Binary files /dev/null and b/images/modules/dhcpd-2.0/icon.gif differ diff --git a/images/modules/dhcpd-2.0/shared.gif b/images/modules/dhcpd-2.0/shared.gif new file mode 100644 index 000000000..803cc0129 Binary files /dev/null and b/images/modules/dhcpd-2.0/shared.gif differ diff --git a/images/modules/dhcpd-2.0/subnet.gif b/images/modules/dhcpd-2.0/subnet.gif new file mode 100644 index 000000000..a1617cbb3 Binary files /dev/null and b/images/modules/dhcpd-2.0/subnet.gif differ diff --git a/images/modules/dhcpd/group.gif b/images/modules/dhcpd/group.gif new file mode 100644 index 000000000..28fc23d00 Binary files /dev/null and b/images/modules/dhcpd/group.gif differ diff --git a/images/modules/dhcpd/host.gif b/images/modules/dhcpd/host.gif new file mode 100644 index 000000000..6010312df Binary files /dev/null and b/images/modules/dhcpd/host.gif differ diff --git a/images/modules/dhcpd/icon.gif b/images/modules/dhcpd/icon.gif new file mode 100644 index 000000000..6731381d1 Binary files /dev/null and b/images/modules/dhcpd/icon.gif differ diff --git a/images/modules/dhcpd/pool.gif b/images/modules/dhcpd/pool.gif new file mode 100644 index 000000000..342028051 Binary files /dev/null and b/images/modules/dhcpd/pool.gif differ diff --git a/images/modules/dhcpd/shared.gif b/images/modules/dhcpd/shared.gif new file mode 100644 index 000000000..2427db7c8 Binary files /dev/null and b/images/modules/dhcpd/shared.gif differ diff --git a/images/modules/dhcpd/subnet.gif b/images/modules/dhcpd/subnet.gif new file mode 100644 index 000000000..9d13da72c Binary files /dev/null and b/images/modules/dhcpd/subnet.gif differ diff --git a/images/modules/dnsadmin/icon.gif b/images/modules/dnsadmin/icon.gif new file mode 100644 index 000000000..7d51bad72 Binary files /dev/null and b/images/modules/dnsadmin/icon.gif differ diff --git a/images/modules/dovecot/icon.gif b/images/modules/dovecot/icon.gif new file mode 100644 index 000000000..44c5d58b5 Binary files /dev/null and b/images/modules/dovecot/icon.gif differ diff --git a/images/modules/dovecot/login.gif b/images/modules/dovecot/login.gif new file mode 100644 index 000000000..c6bc5174d Binary files /dev/null and b/images/modules/dovecot/login.gif differ diff --git a/images/modules/dovecot/mail.gif b/images/modules/dovecot/mail.gif new file mode 100644 index 000000000..17a173186 Binary files /dev/null and b/images/modules/dovecot/mail.gif differ diff --git a/images/modules/dovecot/manual.gif b/images/modules/dovecot/manual.gif new file mode 100644 index 000000000..ce1f3a3f0 Binary files /dev/null and b/images/modules/dovecot/manual.gif differ diff --git a/images/modules/dovecot/net.gif b/images/modules/dovecot/net.gif new file mode 100644 index 000000000..9d13da72c Binary files /dev/null and b/images/modules/dovecot/net.gif differ diff --git a/images/modules/dovecot/ssl.gif b/images/modules/dovecot/ssl.gif new file mode 100644 index 000000000..c164cfea8 Binary files /dev/null and b/images/modules/dovecot/ssl.gif differ diff --git a/images/modules/download/icon.gif b/images/modules/download/icon.gif new file mode 100644 index 000000000..115c28306 Binary files /dev/null and b/images/modules/download/icon.gif differ diff --git a/images/modules/escputil/icon.gif b/images/modules/escputil/icon.gif new file mode 100644 index 000000000..6c8d0645a Binary files /dev/null and b/images/modules/escputil/icon.gif differ diff --git a/images/modules/exports/export.gif b/images/modules/exports/export.gif new file mode 100644 index 000000000..6d0dcb710 Binary files /dev/null and b/images/modules/exports/export.gif differ diff --git a/images/modules/exports/icon.gif b/images/modules/exports/icon.gif new file mode 100644 index 000000000..6d0dcb710 Binary files /dev/null and b/images/modules/exports/icon.gif differ diff --git a/images/modules/fdisk/ext.gif b/images/modules/fdisk/ext.gif new file mode 100644 index 000000000..6b22a0f30 Binary files /dev/null and b/images/modules/fdisk/ext.gif differ diff --git a/images/modules/fdisk/icon.gif b/images/modules/fdisk/icon.gif new file mode 100644 index 000000000..41d7ddaa4 Binary files /dev/null and b/images/modules/fdisk/icon.gif differ diff --git a/images/modules/fdisk/smallicon.gif b/images/modules/fdisk/smallicon.gif new file mode 100644 index 000000000..741180dcb Binary files /dev/null and b/images/modules/fdisk/smallicon.gif differ diff --git a/images/modules/fdisk/use.gif b/images/modules/fdisk/use.gif new file mode 100644 index 000000000..735294b2d Binary files /dev/null and b/images/modules/fdisk/use.gif differ diff --git a/images/modules/fetchmail/icon.gif b/images/modules/fetchmail/icon.gif new file mode 100644 index 000000000..cc406d91b Binary files /dev/null and b/images/modules/fetchmail/icon.gif differ diff --git a/images/modules/file/acl.gif b/images/modules/file/acl.gif new file mode 100644 index 000000000..dbda2798a Binary files /dev/null and b/images/modules/file/acl.gif differ diff --git a/images/modules/file/add.gif b/images/modules/file/add.gif new file mode 100644 index 000000000..8ec31ae40 Binary files /dev/null and b/images/modules/file/add.gif differ diff --git a/images/modules/file/attr.gif b/images/modules/file/attr.gif new file mode 100644 index 000000000..496c8f354 Binary files /dev/null and b/images/modules/file/attr.gif differ diff --git a/images/modules/file/binary.gif b/images/modules/file/binary.gif new file mode 100644 index 000000000..72c4dee40 Binary files /dev/null and b/images/modules/file/binary.gif differ diff --git a/images/modules/file/cancel.gif b/images/modules/file/cancel.gif new file mode 100644 index 000000000..03448225a Binary files /dev/null and b/images/modules/file/cancel.gif differ diff --git a/images/modules/file/config.gif b/images/modules/file/config.gif new file mode 100644 index 000000000..040ea5b19 Binary files /dev/null and b/images/modules/file/config.gif differ diff --git a/images/modules/file/copy.gif b/images/modules/file/copy.gif new file mode 100644 index 000000000..daee94412 Binary files /dev/null and b/images/modules/file/copy.gif differ diff --git a/images/modules/file/cut.gif b/images/modules/file/cut.gif new file mode 100644 index 000000000..9a5add0b0 Binary files /dev/null and b/images/modules/file/cut.gif differ diff --git a/images/modules/file/delete.gif b/images/modules/file/delete.gif new file mode 100644 index 000000000..7855e5272 Binary files /dev/null and b/images/modules/file/delete.gif differ diff --git a/images/modules/file/dir.gif b/images/modules/file/dir.gif new file mode 100644 index 000000000..66f705f1d Binary files /dev/null and b/images/modules/file/dir.gif differ diff --git a/images/modules/file/down.gif b/images/modules/file/down.gif new file mode 100644 index 000000000..3f5bdcd19 Binary files /dev/null and b/images/modules/file/down.gif differ diff --git a/images/modules/file/edit.gif b/images/modules/file/edit.gif new file mode 100644 index 000000000..23b2b9729 Binary files /dev/null and b/images/modules/file/edit.gif differ diff --git a/images/modules/file/ext.gif b/images/modules/file/ext.gif new file mode 100644 index 000000000..80f998c46 Binary files /dev/null and b/images/modules/file/ext.gif differ diff --git a/images/modules/file/extract.gif b/images/modules/file/extract.gif new file mode 100644 index 000000000..f63eee02e Binary files /dev/null and b/images/modules/file/extract.gif differ diff --git a/images/modules/file/find.gif b/images/modules/file/find.gif new file mode 100644 index 000000000..f1ad60c86 Binary files /dev/null and b/images/modules/file/find.gif differ diff --git a/images/modules/file/goto.gif b/images/modules/file/goto.gif new file mode 100644 index 000000000..191547648 Binary files /dev/null and b/images/modules/file/goto.gif differ diff --git a/images/modules/file/html.gif b/images/modules/file/html.gif new file mode 100644 index 000000000..cec8db33b Binary files /dev/null and b/images/modules/file/html.gif differ diff --git a/images/modules/file/icon.gif b/images/modules/file/icon.gif new file mode 100644 index 000000000..ca711648f Binary files /dev/null and b/images/modules/file/icon.gif differ diff --git a/images/modules/file/image.gif b/images/modules/file/image.gif new file mode 100644 index 000000000..2a764f096 Binary files /dev/null and b/images/modules/file/image.gif differ diff --git a/images/modules/file/makelink.gif b/images/modules/file/makelink.gif new file mode 100644 index 000000000..36bf9b611 Binary files /dev/null and b/images/modules/file/makelink.gif differ diff --git a/images/modules/file/mdir.gif b/images/modules/file/mdir.gif new file mode 100644 index 000000000..22d0f4101 Binary files /dev/null and b/images/modules/file/mdir.gif differ diff --git a/images/modules/file/mkdir.gif b/images/modules/file/mkdir.gif new file mode 100644 index 000000000..a59c003d0 Binary files /dev/null and b/images/modules/file/mkdir.gif differ diff --git a/images/modules/file/mount.gif b/images/modules/file/mount.gif new file mode 100644 index 000000000..82b0f7f1b Binary files /dev/null and b/images/modules/file/mount.gif differ diff --git a/images/modules/file/new.gif b/images/modules/file/new.gif new file mode 100644 index 000000000..ea9dd9f56 Binary files /dev/null and b/images/modules/file/new.gif differ diff --git a/images/modules/file/paste.gif b/images/modules/file/paste.gif new file mode 100644 index 000000000..371ca475b Binary files /dev/null and b/images/modules/file/paste.gif differ diff --git a/images/modules/file/preview.gif b/images/modules/file/preview.gif new file mode 100644 index 000000000..979ec5e50 Binary files /dev/null and b/images/modules/file/preview.gif differ diff --git a/images/modules/file/props.gif b/images/modules/file/props.gif new file mode 100644 index 000000000..1270b3a5f Binary files /dev/null and b/images/modules/file/props.gif differ diff --git a/images/modules/file/refresh.gif b/images/modules/file/refresh.gif new file mode 100644 index 000000000..e71e75233 Binary files /dev/null and b/images/modules/file/refresh.gif differ diff --git a/images/modules/file/rename.gif b/images/modules/file/rename.gif new file mode 100644 index 000000000..63ae4ca14 Binary files /dev/null and b/images/modules/file/rename.gif differ diff --git a/images/modules/file/ret.gif b/images/modules/file/ret.gif new file mode 100644 index 000000000..e35f58aef Binary files /dev/null and b/images/modules/file/ret.gif differ diff --git a/images/modules/file/save.gif b/images/modules/file/save.gif new file mode 100644 index 000000000..8ec31ae40 Binary files /dev/null and b/images/modules/file/save.gif differ diff --git a/images/modules/file/sdir.gif b/images/modules/file/sdir.gif new file mode 100644 index 000000000..069361c97 Binary files /dev/null and b/images/modules/file/sdir.gif differ diff --git a/images/modules/file/search.gif b/images/modules/file/search.gif new file mode 100644 index 000000000..8a3b9ea45 Binary files /dev/null and b/images/modules/file/search.gif differ diff --git a/images/modules/file/share.gif b/images/modules/file/share.gif new file mode 100644 index 000000000..e8deb23aa Binary files /dev/null and b/images/modules/file/share.gif differ diff --git a/images/modules/file/smdir.gif b/images/modules/file/smdir.gif new file mode 100644 index 000000000..f12d5d6c0 Binary files /dev/null and b/images/modules/file/smdir.gif differ diff --git a/images/modules/file/symlink.gif b/images/modules/file/symlink.gif new file mode 100644 index 000000000..a07c90a36 Binary files /dev/null and b/images/modules/file/symlink.gif differ diff --git a/images/modules/file/text.gif b/images/modules/file/text.gif new file mode 100644 index 000000000..20e5ad3a6 Binary files /dev/null and b/images/modules/file/text.gif differ diff --git a/images/modules/file/udir.gif b/images/modules/file/udir.gif new file mode 100644 index 000000000..d7afdd66b Binary files /dev/null and b/images/modules/file/udir.gif differ diff --git a/images/modules/file/unknown.gif b/images/modules/file/unknown.gif new file mode 100644 index 000000000..59ecb0c9c Binary files /dev/null and b/images/modules/file/unknown.gif differ diff --git a/images/modules/file/upload.gif b/images/modules/file/upload.gif new file mode 100644 index 000000000..4bac9c36f Binary files /dev/null and b/images/modules/file/upload.gif differ diff --git a/images/modules/firewall/icon.gif b/images/modules/firewall/icon.gif new file mode 100644 index 000000000..04cc48c38 Binary files /dev/null and b/images/modules/firewall/icon.gif differ diff --git a/images/modules/frox/acl.gif b/images/modules/frox/acl.gif new file mode 100644 index 000000000..0f705382a Binary files /dev/null and b/images/modules/frox/acl.gif differ diff --git a/images/modules/frox/cache.gif b/images/modules/frox/cache.gif new file mode 100644 index 000000000..7e6091445 Binary files /dev/null and b/images/modules/frox/cache.gif differ diff --git a/images/modules/frox/ftp.gif b/images/modules/frox/ftp.gif new file mode 100644 index 000000000..6d0dcb710 Binary files /dev/null and b/images/modules/frox/ftp.gif differ diff --git a/images/modules/frox/general.gif b/images/modules/frox/general.gif new file mode 100644 index 000000000..495a42928 Binary files /dev/null and b/images/modules/frox/general.gif differ diff --git a/images/modules/frox/icon.gif b/images/modules/frox/icon.gif new file mode 100644 index 000000000..6d3bede7e Binary files /dev/null and b/images/modules/frox/icon.gif differ diff --git a/images/modules/frox/iptables.gif b/images/modules/frox/iptables.gif new file mode 100644 index 000000000..04cc48c38 Binary files /dev/null and b/images/modules/frox/iptables.gif differ diff --git a/images/modules/frox/net.gif b/images/modules/frox/net.gif new file mode 100644 index 000000000..3d1643092 Binary files /dev/null and b/images/modules/frox/net.gif differ diff --git a/images/modules/fsdump/icon.gif b/images/modules/fsdump/icon.gif new file mode 100644 index 000000000..a93952df8 Binary files /dev/null and b/images/modules/fsdump/icon.gif differ diff --git a/images/modules/generate-acls/icon.gif b/images/modules/generate-acls/icon.gif new file mode 100644 index 000000000..78165d957 Binary files /dev/null and b/images/modules/generate-acls/icon.gif differ diff --git a/images/modules/gnupg/decrypt.gif b/images/modules/gnupg/decrypt.gif new file mode 100644 index 000000000..c532f17e3 Binary files /dev/null and b/images/modules/gnupg/decrypt.gif differ diff --git a/images/modules/gnupg/encrypt.gif b/images/modules/gnupg/encrypt.gif new file mode 100644 index 000000000..7d3e1ef2a Binary files /dev/null and b/images/modules/gnupg/encrypt.gif differ diff --git a/images/modules/gnupg/keys.gif b/images/modules/gnupg/keys.gif new file mode 100644 index 000000000..99b3b7fc4 Binary files /dev/null and b/images/modules/gnupg/keys.gif differ diff --git a/images/modules/gnupg/secret.gif b/images/modules/gnupg/secret.gif new file mode 100644 index 000000000..98d7607e2 Binary files /dev/null and b/images/modules/gnupg/secret.gif differ diff --git a/images/modules/gnupg/sign.gif b/images/modules/gnupg/sign.gif new file mode 100644 index 000000000..1e76bf689 Binary files /dev/null and b/images/modules/gnupg/sign.gif differ diff --git a/images/modules/gnupg/verify.gif b/images/modules/gnupg/verify.gif new file mode 100644 index 000000000..4fa7e01af Binary files /dev/null and b/images/modules/gnupg/verify.gif differ diff --git a/images/modules/grub/chain.gif b/images/modules/grub/chain.gif new file mode 100644 index 000000000..cc8ec73d6 Binary files /dev/null and b/images/modules/grub/chain.gif differ diff --git a/images/modules/grub/icon.gif b/images/modules/grub/icon.gif new file mode 100644 index 000000000..505049b89 Binary files /dev/null and b/images/modules/grub/icon.gif differ diff --git a/images/modules/grub/kernel.gif b/images/modules/grub/kernel.gif new file mode 100644 index 000000000..2163bd88a Binary files /dev/null and b/images/modules/grub/kernel.gif differ diff --git a/images/modules/heartbeat/auth.gif b/images/modules/heartbeat/auth.gif new file mode 100644 index 000000000..c164cfea8 Binary files /dev/null and b/images/modules/heartbeat/auth.gif differ diff --git a/images/modules/heartbeat/conf.gif b/images/modules/heartbeat/conf.gif new file mode 100644 index 000000000..a3b93ffca Binary files /dev/null and b/images/modules/heartbeat/conf.gif differ diff --git a/images/modules/heartbeat/icon.gif b/images/modules/heartbeat/icon.gif new file mode 100644 index 000000000..a8146b386 Binary files /dev/null and b/images/modules/heartbeat/icon.gif differ diff --git a/images/modules/heartbeat/res.gif b/images/modules/heartbeat/res.gif new file mode 100644 index 000000000..6d3bede7e Binary files /dev/null and b/images/modules/heartbeat/res.gif differ diff --git a/images/modules/help/icon.gif b/images/modules/help/icon.gif new file mode 100644 index 000000000..4e19732a7 Binary files /dev/null and b/images/modules/help/icon.gif differ diff --git a/images/modules/htaccess-htpasswd/icon.gif b/images/modules/htaccess-htpasswd/icon.gif new file mode 100644 index 000000000..c164cfea8 Binary files /dev/null and b/images/modules/htaccess-htpasswd/icon.gif differ diff --git a/images/modules/htpasswd-file/icon.gif b/images/modules/htpasswd-file/icon.gif new file mode 100644 index 000000000..4fa7e01af Binary files /dev/null and b/images/modules/htpasswd-file/icon.gif differ diff --git a/images/modules/idmapd/icon.gif b/images/modules/idmapd/icon.gif new file mode 100644 index 000000000..3aa1d41b1 Binary files /dev/null and b/images/modules/idmapd/icon.gif differ diff --git a/images/modules/inetd/inetd.gif b/images/modules/inetd/inetd.gif new file mode 100644 index 000000000..3d1643092 Binary files /dev/null and b/images/modules/inetd/inetd.gif differ diff --git a/images/modules/init/icon.gif b/images/modules/init/icon.gif new file mode 100644 index 000000000..3d1643092 Binary files /dev/null and b/images/modules/init/icon.gif differ diff --git a/images/modules/inittab/icon.gif b/images/modules/inittab/icon.gif new file mode 100644 index 000000000..39395463e Binary files /dev/null and b/images/modules/inittab/icon.gif differ diff --git a/images/modules/ipchains/chain.forward.gif b/images/modules/ipchains/chain.forward.gif new file mode 100644 index 000000000..7df043ad1 Binary files /dev/null and b/images/modules/ipchains/chain.forward.gif differ diff --git a/images/modules/ipchains/chain.input.gif b/images/modules/ipchains/chain.input.gif new file mode 100644 index 000000000..7ffa0c295 Binary files /dev/null and b/images/modules/ipchains/chain.input.gif differ diff --git a/images/modules/ipchains/chain.other.gif b/images/modules/ipchains/chain.other.gif new file mode 100644 index 000000000..44538b342 Binary files /dev/null and b/images/modules/ipchains/chain.other.gif differ diff --git a/images/modules/ipchains/chain.output.gif b/images/modules/ipchains/chain.output.gif new file mode 100644 index 000000000..b8cdc5ea2 Binary files /dev/null and b/images/modules/ipchains/chain.output.gif differ diff --git a/images/modules/ipchains/icon.gif b/images/modules/ipchains/icon.gif new file mode 100644 index 000000000..04cc48c38 Binary files /dev/null and b/images/modules/ipchains/icon.gif differ diff --git a/images/modules/ipsec/config.gif b/images/modules/ipsec/config.gif new file mode 100644 index 000000000..495a42928 Binary files /dev/null and b/images/modules/ipsec/config.gif differ diff --git a/images/modules/ipsec/icon.gif b/images/modules/ipsec/icon.gif new file mode 100644 index 000000000..be290a890 Binary files /dev/null and b/images/modules/ipsec/icon.gif differ diff --git a/images/modules/ipsec/policy.gif b/images/modules/ipsec/policy.gif new file mode 100644 index 000000000..681ed2d1c Binary files /dev/null and b/images/modules/ipsec/policy.gif differ diff --git a/images/modules/ipsec/secrets.gif b/images/modules/ipsec/secrets.gif new file mode 100644 index 000000000..99b3b7fc4 Binary files /dev/null and b/images/modules/ipsec/secrets.gif differ diff --git a/images/modules/ipsec/showkey.gif b/images/modules/ipsec/showkey.gif new file mode 100644 index 000000000..4fa7e01af Binary files /dev/null and b/images/modules/ipsec/showkey.gif differ diff --git a/images/modules/iptables/chain.forward.gif b/images/modules/iptables/chain.forward.gif new file mode 100644 index 000000000..7df043ad1 Binary files /dev/null and b/images/modules/iptables/chain.forward.gif differ diff --git a/images/modules/iptables/chain.input.gif b/images/modules/iptables/chain.input.gif new file mode 100644 index 000000000..7ffa0c295 Binary files /dev/null and b/images/modules/iptables/chain.input.gif differ diff --git a/images/modules/iptables/chain.other.gif b/images/modules/iptables/chain.other.gif new file mode 100644 index 000000000..44538b342 Binary files /dev/null and b/images/modules/iptables/chain.other.gif differ diff --git a/images/modules/iptables/chain.output.gif b/images/modules/iptables/chain.output.gif new file mode 100644 index 000000000..b8cdc5ea2 Binary files /dev/null and b/images/modules/iptables/chain.output.gif differ diff --git a/images/modules/iptables/chain.postrouting.gif b/images/modules/iptables/chain.postrouting.gif new file mode 100644 index 000000000..b8cdc5ea2 Binary files /dev/null and b/images/modules/iptables/chain.postrouting.gif differ diff --git a/images/modules/iptables/chain.prerouting.gif b/images/modules/iptables/chain.prerouting.gif new file mode 100644 index 000000000..7ffa0c295 Binary files /dev/null and b/images/modules/iptables/chain.prerouting.gif differ diff --git a/images/modules/iptables/icon.gif b/images/modules/iptables/icon.gif new file mode 100644 index 000000000..04cc48c38 Binary files /dev/null and b/images/modules/iptables/icon.gif differ diff --git a/images/modules/jabber/icon.gif b/images/modules/jabber/icon.gif new file mode 100644 index 000000000..d857c0244 Binary files /dev/null and b/images/modules/jabber/icon.gif differ diff --git a/images/modules/jsample/icon.gif b/images/modules/jsample/icon.gif new file mode 100644 index 000000000..a3b93ffca Binary files /dev/null and b/images/modules/jsample/icon.gif differ diff --git a/images/modules/krb5/icon.gif b/images/modules/krb5/icon.gif new file mode 100644 index 000000000..a4eabf414 Binary files /dev/null and b/images/modules/krb5/icon.gif differ diff --git a/images/modules/ldap-useradmin/icon.gif b/images/modules/ldap-useradmin/icon.gif new file mode 100644 index 000000000..c6bc5174d Binary files /dev/null and b/images/modules/ldap-useradmin/icon.gif differ diff --git a/images/modules/lilo/icon.gif b/images/modules/lilo/icon.gif new file mode 100644 index 000000000..505049b89 Binary files /dev/null and b/images/modules/lilo/icon.gif differ diff --git a/images/modules/lilo/image.gif b/images/modules/lilo/image.gif new file mode 100644 index 000000000..2163bd88a Binary files /dev/null and b/images/modules/lilo/image.gif differ diff --git a/images/modules/lilo/other.gif b/images/modules/lilo/other.gif new file mode 100644 index 000000000..cc8ec73d6 Binary files /dev/null and b/images/modules/lilo/other.gif differ diff --git a/images/modules/logrotate/icon.gif b/images/modules/logrotate/icon.gif new file mode 100644 index 000000000..07f0ca3e9 Binary files /dev/null and b/images/modules/logrotate/icon.gif differ diff --git a/images/modules/lpadmin/icon.gif b/images/modules/lpadmin/icon.gif new file mode 100644 index 000000000..8313eccff Binary files /dev/null and b/images/modules/lpadmin/icon.gif differ diff --git a/images/modules/lvm/hdd_unmount.png b/images/modules/lvm/hdd_unmount.png new file mode 100644 index 000000000..69c68fc5a Binary files /dev/null and b/images/modules/lvm/hdd_unmount.png differ diff --git a/images/modules/lvm/icon.gif b/images/modules/lvm/icon.gif new file mode 100644 index 000000000..6f864227f Binary files /dev/null and b/images/modules/lvm/icon.gif differ diff --git a/images/modules/lvm/lv.gif b/images/modules/lvm/lv.gif new file mode 100644 index 000000000..69c68fc5a Binary files /dev/null and b/images/modules/lvm/lv.gif differ diff --git a/images/modules/lvm/pv.gif b/images/modules/lvm/pv.gif new file mode 100644 index 000000000..69c68fc5a Binary files /dev/null and b/images/modules/lvm/pv.gif differ diff --git a/images/modules/lvm/smallicon.gif b/images/modules/lvm/smallicon.gif new file mode 100644 index 000000000..390f1b1fb Binary files /dev/null and b/images/modules/lvm/smallicon.gif differ diff --git a/images/modules/lvm/snap.gif b/images/modules/lvm/snap.gif new file mode 100644 index 000000000..246ad66d5 Binary files /dev/null and b/images/modules/lvm/snap.gif differ diff --git a/images/modules/lvm/vg.gif b/images/modules/lvm/vg.gif new file mode 100644 index 000000000..6f864227f Binary files /dev/null and b/images/modules/lvm/vg.gif differ diff --git a/images/modules/lvs/icon.gif b/images/modules/lvs/icon.gif new file mode 100644 index 000000000..a1617cbb3 Binary files /dev/null and b/images/modules/lvs/icon.gif differ diff --git a/images/modules/mailbox/attach.gif b/images/modules/mailbox/attach.gif new file mode 100644 index 000000000..7f488e5d6 Binary files /dev/null and b/images/modules/mailbox/attach.gif differ diff --git a/images/modules/mailbox/boxes.gif b/images/modules/mailbox/boxes.gif new file mode 100644 index 000000000..07fc14988 Binary files /dev/null and b/images/modules/mailbox/boxes.gif differ diff --git a/images/modules/mailbox/error.gif b/images/modules/mailbox/error.gif new file mode 100644 index 000000000..4d506be32 Binary files /dev/null and b/images/modules/mailbox/error.gif differ diff --git a/images/modules/mailbox/icon.gif b/images/modules/mailbox/icon.gif new file mode 100644 index 000000000..17a173186 Binary files /dev/null and b/images/modules/mailbox/icon.gif differ diff --git a/images/modules/mailbox/read.gif b/images/modules/mailbox/read.gif new file mode 100644 index 000000000..add287777 Binary files /dev/null and b/images/modules/mailbox/read.gif differ diff --git a/images/modules/mailbox/special.gif b/images/modules/mailbox/special.gif new file mode 100644 index 000000000..3da7e412a Binary files /dev/null and b/images/modules/mailbox/special.gif differ diff --git a/images/modules/mailboxes/attach.gif b/images/modules/mailboxes/attach.gif new file mode 100644 index 000000000..7f488e5d6 Binary files /dev/null and b/images/modules/mailboxes/attach.gif differ diff --git a/images/modules/mailboxes/boxes.gif b/images/modules/mailboxes/boxes.gif new file mode 100644 index 000000000..07fc14988 Binary files /dev/null and b/images/modules/mailboxes/boxes.gif differ diff --git a/images/modules/mailboxes/error.gif b/images/modules/mailboxes/error.gif new file mode 100644 index 000000000..4d506be32 Binary files /dev/null and b/images/modules/mailboxes/error.gif differ diff --git a/images/modules/mailboxes/icon.gif b/images/modules/mailboxes/icon.gif new file mode 100644 index 000000000..17a173186 Binary files /dev/null and b/images/modules/mailboxes/icon.gif differ diff --git a/images/modules/mailboxes/read.gif b/images/modules/mailboxes/read.gif new file mode 100644 index 000000000..add287777 Binary files /dev/null and b/images/modules/mailboxes/read.gif differ diff --git a/images/modules/majordomo/access.gif b/images/modules/majordomo/access.gif new file mode 100644 index 000000000..a68fc993c Binary files /dev/null and b/images/modules/majordomo/access.gif differ diff --git a/images/modules/majordomo/dig.gif b/images/modules/majordomo/dig.gif new file mode 100644 index 000000000..461c39f7f Binary files /dev/null and b/images/modules/majordomo/dig.gif differ diff --git a/images/modules/majordomo/digest.gif b/images/modules/majordomo/digest.gif new file mode 100644 index 000000000..7f795a554 Binary files /dev/null and b/images/modules/majordomo/digest.gif differ diff --git a/images/modules/majordomo/head.gif b/images/modules/majordomo/head.gif new file mode 100644 index 000000000..b4fda86be Binary files /dev/null and b/images/modules/majordomo/head.gif differ diff --git a/images/modules/majordomo/icon.gif b/images/modules/majordomo/icon.gif new file mode 100644 index 000000000..0852859e0 Binary files /dev/null and b/images/modules/majordomo/icon.gif differ diff --git a/images/modules/majordomo/list.gif b/images/modules/majordomo/list.gif new file mode 100644 index 000000000..5c11f7c58 Binary files /dev/null and b/images/modules/majordomo/list.gif differ diff --git a/images/modules/majordomo/members.gif b/images/modules/majordomo/members.gif new file mode 100644 index 000000000..45579b7c3 Binary files /dev/null and b/images/modules/majordomo/members.gif differ diff --git a/images/modules/majordomo/mesg.gif b/images/modules/majordomo/mesg.gif new file mode 100644 index 000000000..17a173186 Binary files /dev/null and b/images/modules/majordomo/mesg.gif differ diff --git a/images/modules/majordomo/misc.gif b/images/modules/majordomo/misc.gif new file mode 100644 index 000000000..495a42928 Binary files /dev/null and b/images/modules/majordomo/misc.gif differ diff --git a/images/modules/majordomo/mod.gif b/images/modules/majordomo/mod.gif new file mode 100644 index 000000000..b627b437d Binary files /dev/null and b/images/modules/majordomo/mod.gif differ diff --git a/images/modules/majordomo/subs.gif b/images/modules/majordomo/subs.gif new file mode 100644 index 000000000..ab98a6085 Binary files /dev/null and b/images/modules/majordomo/subs.gif differ diff --git a/images/modules/man/icon.gif b/images/modules/man/icon.gif new file mode 100644 index 000000000..c8e333594 Binary files /dev/null and b/images/modules/man/icon.gif differ diff --git a/images/modules/mon/auth.gif b/images/modules/mon/auth.gif new file mode 100644 index 000000000..0f705382a Binary files /dev/null and b/images/modules/mon/auth.gif differ diff --git a/images/modules/mon/global.gif b/images/modules/mon/global.gif new file mode 100644 index 000000000..f9e6c6b3b Binary files /dev/null and b/images/modules/mon/global.gif differ diff --git a/images/modules/mon/groups.gif b/images/modules/mon/groups.gif new file mode 100644 index 000000000..6d3bede7e Binary files /dev/null and b/images/modules/mon/groups.gif differ diff --git a/images/modules/mon/icon.gif b/images/modules/mon/icon.gif new file mode 100644 index 000000000..28a6fcd03 Binary files /dev/null and b/images/modules/mon/icon.gif differ diff --git a/images/modules/mon/mon_conf.gif b/images/modules/mon/mon_conf.gif new file mode 100644 index 000000000..495a42928 Binary files /dev/null and b/images/modules/mon/mon_conf.gif differ diff --git a/images/modules/mon/mon_global.gif b/images/modules/mon/mon_global.gif new file mode 100644 index 000000000..f9e6c6b3b Binary files /dev/null and b/images/modules/mon/mon_global.gif differ diff --git a/images/modules/mon/mon_status.gif b/images/modules/mon/mon_status.gif new file mode 100644 index 000000000..ee21b68c8 Binary files /dev/null and b/images/modules/mon/mon_status.gif differ diff --git a/images/modules/mon/periods.gif b/images/modules/mon/periods.gif new file mode 100644 index 000000000..8bdfa8fca Binary files /dev/null and b/images/modules/mon/periods.gif differ diff --git a/images/modules/mon/status.gif b/images/modules/mon/status.gif new file mode 100644 index 000000000..ee21b68c8 Binary files /dev/null and b/images/modules/mon/status.gif differ diff --git a/images/modules/mon/users.gif b/images/modules/mon/users.gif new file mode 100644 index 000000000..c6bc5174d Binary files /dev/null and b/images/modules/mon/users.gif differ diff --git a/images/modules/mon/watches.gif b/images/modules/mon/watches.gif new file mode 100644 index 000000000..86046cde3 Binary files /dev/null and b/images/modules/mon/watches.gif differ diff --git a/images/modules/mount/icon.gif b/images/modules/mount/icon.gif new file mode 100644 index 000000000..6d0dcb710 Binary files /dev/null and b/images/modules/mount/icon.gif differ diff --git a/images/modules/mysql/cnf.gif b/images/modules/mysql/cnf.gif new file mode 100644 index 000000000..1e878ec27 Binary files /dev/null and b/images/modules/mysql/cnf.gif differ diff --git a/images/modules/mysql/cprivs.gif b/images/modules/mysql/cprivs.gif new file mode 100644 index 000000000..4fa7e01af Binary files /dev/null and b/images/modules/mysql/cprivs.gif differ diff --git a/images/modules/mysql/db.gif b/images/modules/mysql/db.gif new file mode 100644 index 000000000..a1f7b7437 Binary files /dev/null and b/images/modules/mysql/db.gif differ diff --git a/images/modules/mysql/dbs.gif b/images/modules/mysql/dbs.gif new file mode 100644 index 000000000..a68fc993c Binary files /dev/null and b/images/modules/mysql/dbs.gif differ diff --git a/images/modules/mysql/hosts.gif b/images/modules/mysql/hosts.gif new file mode 100644 index 000000000..43e4f098a Binary files /dev/null and b/images/modules/mysql/hosts.gif differ diff --git a/images/modules/mysql/icon.gif b/images/modules/mysql/icon.gif new file mode 100644 index 000000000..1e878ec27 Binary files /dev/null and b/images/modules/mysql/icon.gif differ diff --git a/images/modules/mysql/procs.gif b/images/modules/mysql/procs.gif new file mode 100644 index 000000000..43797e3de Binary files /dev/null and b/images/modules/mysql/procs.gif differ diff --git a/images/modules/mysql/root.gif b/images/modules/mysql/root.gif new file mode 100644 index 000000000..108d62e85 Binary files /dev/null and b/images/modules/mysql/root.gif differ diff --git a/images/modules/mysql/table.gif b/images/modules/mysql/table.gif new file mode 100644 index 000000000..68da5fb65 Binary files /dev/null and b/images/modules/mysql/table.gif differ diff --git a/images/modules/mysql/tables.gif b/images/modules/mysql/tables.gif new file mode 100644 index 000000000..68da5fb65 Binary files /dev/null and b/images/modules/mysql/tables.gif differ diff --git a/images/modules/mysql/tprivs.gif b/images/modules/mysql/tprivs.gif new file mode 100644 index 000000000..ac8f568a7 Binary files /dev/null and b/images/modules/mysql/tprivs.gif differ diff --git a/images/modules/mysql/users.gif b/images/modules/mysql/users.gif new file mode 100644 index 000000000..c6bc5174d Binary files /dev/null and b/images/modules/mysql/users.gif differ diff --git a/images/modules/mysql/vars.gif b/images/modules/mysql/vars.gif new file mode 100644 index 000000000..495a42928 Binary files /dev/null and b/images/modules/mysql/vars.gif differ diff --git a/images/modules/net/dns.gif b/images/modules/net/dns.gif new file mode 100644 index 000000000..086c850f1 Binary files /dev/null and b/images/modules/net/dns.gif differ diff --git a/images/modules/net/hosts.gif b/images/modules/net/hosts.gif new file mode 100644 index 000000000..884c421bc Binary files /dev/null and b/images/modules/net/hosts.gif differ diff --git a/images/modules/net/icon.gif b/images/modules/net/icon.gif new file mode 100644 index 000000000..43797e3de Binary files /dev/null and b/images/modules/net/icon.gif differ diff --git a/images/modules/net/ifcs.gif b/images/modules/net/ifcs.gif new file mode 100644 index 000000000..37b534556 Binary files /dev/null and b/images/modules/net/ifcs.gif differ diff --git a/images/modules/net/routes.gif b/images/modules/net/routes.gif new file mode 100644 index 000000000..9d13da72c Binary files /dev/null and b/images/modules/net/routes.gif differ diff --git a/images/modules/nettools/icon.gif b/images/modules/nettools/icon.gif new file mode 100644 index 000000000..5e9224aba Binary files /dev/null and b/images/modules/nettools/icon.gif differ diff --git a/images/modules/nis/client.gif b/images/modules/nis/client.gif new file mode 100644 index 000000000..43e4f098a Binary files /dev/null and b/images/modules/nis/client.gif differ diff --git a/images/modules/nis/icon.gif b/images/modules/nis/icon.gif new file mode 100644 index 000000000..884c421bc Binary files /dev/null and b/images/modules/nis/icon.gif differ diff --git a/images/modules/nis/security.gif b/images/modules/nis/security.gif new file mode 100644 index 000000000..0f705382a Binary files /dev/null and b/images/modules/nis/security.gif differ diff --git a/images/modules/nis/server.gif b/images/modules/nis/server.gif new file mode 100644 index 000000000..6d3bede7e Binary files /dev/null and b/images/modules/nis/server.gif differ diff --git a/images/modules/nis/switch.gif b/images/modules/nis/switch.gif new file mode 100644 index 000000000..43797e3de Binary files /dev/null and b/images/modules/nis/switch.gif differ diff --git a/images/modules/nis/tables.gif b/images/modules/nis/tables.gif new file mode 100644 index 000000000..96191365e Binary files /dev/null and b/images/modules/nis/tables.gif differ diff --git a/images/modules/openslp/icon.gif b/images/modules/openslp/icon.gif new file mode 100644 index 000000000..759cba64e Binary files /dev/null and b/images/modules/openslp/icon.gif differ diff --git a/images/modules/openvpn/icon.gif b/images/modules/openvpn/icon.gif new file mode 100644 index 000000000..cfee5a8ab Binary files /dev/null and b/images/modules/openvpn/icon.gif differ diff --git a/images/modules/openvpn/listactiveconnect.gif b/images/modules/openvpn/listactiveconnect.gif new file mode 100644 index 000000000..cfee5a8ab Binary files /dev/null and b/images/modules/openvpn/listactiveconnect.gif differ diff --git a/images/modules/openvpn/listca.gif b/images/modules/openvpn/listca.gif new file mode 100644 index 000000000..cfee5a8ab Binary files /dev/null and b/images/modules/openvpn/listca.gif differ diff --git a/images/modules/openvpn/listvpn.gif b/images/modules/openvpn/listvpn.gif new file mode 100644 index 000000000..cfee5a8ab Binary files /dev/null and b/images/modules/openvpn/listvpn.gif differ diff --git a/images/modules/openvpn/openvpn.gif b/images/modules/openvpn/openvpn.gif new file mode 100644 index 000000000..491e27607 Binary files /dev/null and b/images/modules/openvpn/openvpn.gif differ diff --git a/images/modules/openvpn/openvpn1.gif b/images/modules/openvpn/openvpn1.gif new file mode 100644 index 000000000..12f8b2c92 Binary files /dev/null and b/images/modules/openvpn/openvpn1.gif differ diff --git a/images/modules/pam/icon.gif b/images/modules/pam/icon.gif new file mode 100644 index 000000000..0f705382a Binary files /dev/null and b/images/modules/pam/icon.gif differ diff --git a/images/modules/pap/dialin.gif b/images/modules/pap/dialin.gif new file mode 100644 index 000000000..ab98a6085 Binary files /dev/null and b/images/modules/pap/dialin.gif differ diff --git a/images/modules/pap/icon.gif b/images/modules/pap/icon.gif new file mode 100644 index 000000000..5a7bbea90 Binary files /dev/null and b/images/modules/pap/icon.gif differ diff --git a/images/modules/pap/mgetty.gif b/images/modules/pap/mgetty.gif new file mode 100644 index 000000000..37b534556 Binary files /dev/null and b/images/modules/pap/mgetty.gif differ diff --git a/images/modules/pap/options.gif b/images/modules/pap/options.gif new file mode 100644 index 000000000..495a42928 Binary files /dev/null and b/images/modules/pap/options.gif differ diff --git a/images/modules/pap/secrets.gif b/images/modules/pap/secrets.gif new file mode 100644 index 000000000..c6bc5174d Binary files /dev/null and b/images/modules/pap/secrets.gif differ diff --git a/images/modules/passwd/icon.gif b/images/modules/passwd/icon.gif new file mode 100644 index 000000000..c164cfea8 Binary files /dev/null and b/images/modules/passwd/icon.gif differ diff --git a/images/modules/phpini/db.gif b/images/modules/phpini/db.gif new file mode 100644 index 000000000..1e878ec27 Binary files /dev/null and b/images/modules/phpini/db.gif differ diff --git a/images/modules/phpini/dirs.gif b/images/modules/phpini/dirs.gif new file mode 100644 index 000000000..0337c1016 Binary files /dev/null and b/images/modules/phpini/dirs.gif differ diff --git a/images/modules/phpini/errors.gif b/images/modules/phpini/errors.gif new file mode 100644 index 000000000..490a54023 Binary files /dev/null and b/images/modules/phpini/errors.gif differ diff --git a/images/modules/phpini/limits.gif b/images/modules/phpini/limits.gif new file mode 100644 index 000000000..94928754e Binary files /dev/null and b/images/modules/phpini/limits.gif differ diff --git a/images/modules/phpini/manual.gif b/images/modules/phpini/manual.gif new file mode 100644 index 000000000..ce1f3a3f0 Binary files /dev/null and b/images/modules/phpini/manual.gif differ diff --git a/images/modules/phpini/misc.gif b/images/modules/phpini/misc.gif new file mode 100644 index 000000000..495a42928 Binary files /dev/null and b/images/modules/phpini/misc.gif differ diff --git a/images/modules/phpini/safe.gif b/images/modules/phpini/safe.gif new file mode 100644 index 000000000..0f705382a Binary files /dev/null and b/images/modules/phpini/safe.gif differ diff --git a/images/modules/phpini/session.gif b/images/modules/phpini/session.gif new file mode 100644 index 000000000..c6bc5174d Binary files /dev/null and b/images/modules/phpini/session.gif differ diff --git a/images/modules/phpini/vars.gif b/images/modules/phpini/vars.gif new file mode 100644 index 000000000..ce1f3a3f0 Binary files /dev/null and b/images/modules/phpini/vars.gif differ diff --git a/images/modules/postfix/address_rewriting.gif b/images/modules/postfix/address_rewriting.gif new file mode 100644 index 000000000..44c5d58b5 Binary files /dev/null and b/images/modules/postfix/address_rewriting.gif differ diff --git a/images/modules/postfix/aliases.gif b/images/modules/postfix/aliases.gif new file mode 100644 index 000000000..05003ad1f Binary files /dev/null and b/images/modules/postfix/aliases.gif differ diff --git a/images/modules/postfix/attach.gif b/images/modules/postfix/attach.gif new file mode 100644 index 000000000..dee0fa8ba Binary files /dev/null and b/images/modules/postfix/attach.gif differ diff --git a/images/modules/postfix/bcc.gif b/images/modules/postfix/bcc.gif new file mode 100644 index 000000000..5c11f7c58 Binary files /dev/null and b/images/modules/postfix/bcc.gif differ diff --git a/images/modules/postfix/body.gif b/images/modules/postfix/body.gif new file mode 100644 index 000000000..28a6fcd03 Binary files /dev/null and b/images/modules/postfix/body.gif differ diff --git a/images/modules/postfix/boxes.gif b/images/modules/postfix/boxes.gif new file mode 100644 index 000000000..07fc14988 Binary files /dev/null and b/images/modules/postfix/boxes.gif differ diff --git a/images/modules/postfix/canonical.gif b/images/modules/postfix/canonical.gif new file mode 100644 index 000000000..c1320a590 Binary files /dev/null and b/images/modules/postfix/canonical.gif differ diff --git a/images/modules/postfix/client.gif b/images/modules/postfix/client.gif new file mode 100644 index 000000000..b7e2f90a3 Binary files /dev/null and b/images/modules/postfix/client.gif differ diff --git a/images/modules/postfix/debug.gif b/images/modules/postfix/debug.gif new file mode 100644 index 000000000..490a54023 Binary files /dev/null and b/images/modules/postfix/debug.gif differ diff --git a/images/modules/postfix/general.gif b/images/modules/postfix/general.gif new file mode 100644 index 000000000..495a42928 Binary files /dev/null and b/images/modules/postfix/general.gif differ diff --git a/images/modules/postfix/header.gif b/images/modules/postfix/header.gif new file mode 100644 index 000000000..91e49357d Binary files /dev/null and b/images/modules/postfix/header.gif differ diff --git a/images/modules/postfix/icon.gif b/images/modules/postfix/icon.gif new file mode 100644 index 000000000..617e1916c Binary files /dev/null and b/images/modules/postfix/icon.gif differ diff --git a/images/modules/postfix/ldap.gif b/images/modules/postfix/ldap.gif new file mode 100644 index 000000000..9bf5f29b4 Binary files /dev/null and b/images/modules/postfix/ldap.gif differ diff --git a/images/modules/postfix/local_delivery.gif b/images/modules/postfix/local_delivery.gif new file mode 100644 index 000000000..cc406d91b Binary files /dev/null and b/images/modules/postfix/local_delivery.gif differ diff --git a/images/modules/postfix/mailq.gif b/images/modules/postfix/mailq.gif new file mode 100644 index 000000000..0852859e0 Binary files /dev/null and b/images/modules/postfix/mailq.gif differ diff --git a/images/modules/postfix/manual.gif b/images/modules/postfix/manual.gif new file mode 100644 index 000000000..ce1f3a3f0 Binary files /dev/null and b/images/modules/postfix/manual.gif differ diff --git a/images/modules/postfix/master.gif b/images/modules/postfix/master.gif new file mode 100644 index 000000000..ccb8b8c7c Binary files /dev/null and b/images/modules/postfix/master.gif differ diff --git a/images/modules/postfix/postfinger.gif b/images/modules/postfix/postfinger.gif new file mode 100644 index 000000000..3aa37ad25 Binary files /dev/null and b/images/modules/postfix/postfinger.gif differ diff --git a/images/modules/postfix/rate.gif b/images/modules/postfix/rate.gif new file mode 100644 index 000000000..94928754e Binary files /dev/null and b/images/modules/postfix/rate.gif differ diff --git a/images/modules/postfix/relocated.gif b/images/modules/postfix/relocated.gif new file mode 100644 index 000000000..d6de4b411 Binary files /dev/null and b/images/modules/postfix/relocated.gif differ diff --git a/images/modules/postfix/resource.gif b/images/modules/postfix/resource.gif new file mode 100644 index 000000000..e7a7bd3a8 Binary files /dev/null and b/images/modules/postfix/resource.gif differ diff --git a/images/modules/postfix/sasl.gif b/images/modules/postfix/sasl.gif new file mode 100644 index 000000000..7d3e1ef2a Binary files /dev/null and b/images/modules/postfix/sasl.gif differ diff --git a/images/modules/postfix/smtp.gif b/images/modules/postfix/smtp.gif new file mode 100644 index 000000000..ff942ace7 Binary files /dev/null and b/images/modules/postfix/smtp.gif differ diff --git a/images/modules/postfix/smtpd.gif b/images/modules/postfix/smtpd.gif new file mode 100644 index 000000000..6d3bede7e Binary files /dev/null and b/images/modules/postfix/smtpd.gif differ diff --git a/images/modules/postfix/transport.gif b/images/modules/postfix/transport.gif new file mode 100644 index 000000000..9d13da72c Binary files /dev/null and b/images/modules/postfix/transport.gif differ diff --git a/images/modules/postfix/virtual.gif b/images/modules/postfix/virtual.gif new file mode 100644 index 000000000..5b8d00d09 Binary files /dev/null and b/images/modules/postfix/virtual.gif differ diff --git a/images/modules/postgresql/db.gif b/images/modules/postgresql/db.gif new file mode 100644 index 000000000..ca711648f Binary files /dev/null and b/images/modules/postgresql/db.gif differ diff --git a/images/modules/postgresql/grants.gif b/images/modules/postgresql/grants.gif new file mode 100644 index 000000000..ac8f568a7 Binary files /dev/null and b/images/modules/postgresql/grants.gif differ diff --git a/images/modules/postgresql/groups.gif b/images/modules/postgresql/groups.gif new file mode 100644 index 000000000..c6bc5174d Binary files /dev/null and b/images/modules/postgresql/groups.gif differ diff --git a/images/modules/postgresql/hosts.gif b/images/modules/postgresql/hosts.gif new file mode 100644 index 000000000..2427db7c8 Binary files /dev/null and b/images/modules/postgresql/hosts.gif differ diff --git a/images/modules/postgresql/icon.gif b/images/modules/postgresql/icon.gif new file mode 100644 index 000000000..01e15cbf4 Binary files /dev/null and b/images/modules/postgresql/icon.gif differ diff --git a/images/modules/postgresql/table.gif b/images/modules/postgresql/table.gif new file mode 100644 index 000000000..0337c1016 Binary files /dev/null and b/images/modules/postgresql/table.gif differ diff --git a/images/modules/postgresql/users.gif b/images/modules/postgresql/users.gif new file mode 100644 index 000000000..4ea2d2ad3 Binary files /dev/null and b/images/modules/postgresql/users.gif differ diff --git a/images/modules/ppp-client/icon.gif b/images/modules/ppp-client/icon.gif new file mode 100644 index 000000000..7f58bb716 Binary files /dev/null and b/images/modules/ppp-client/icon.gif differ diff --git a/images/modules/ppp-client/modem-externe.gif b/images/modules/ppp-client/modem-externe.gif new file mode 100644 index 000000000..7f58bb716 Binary files /dev/null and b/images/modules/ppp-client/modem-externe.gif differ diff --git a/images/modules/ppp-client/modem.gif b/images/modules/ppp-client/modem.gif new file mode 100644 index 000000000..7f58bb716 Binary files /dev/null and b/images/modules/ppp-client/modem.gif differ diff --git a/images/modules/ppp-client/smallicon.gif b/images/modules/ppp-client/smallicon.gif new file mode 100644 index 000000000..0e9b437cb Binary files /dev/null and b/images/modules/ppp-client/smallicon.gif differ diff --git a/images/modules/pptp-client/icon.gif b/images/modules/pptp-client/icon.gif new file mode 100644 index 000000000..07ecda23c Binary files /dev/null and b/images/modules/pptp-client/icon.gif differ diff --git a/images/modules/pptp-client/smallicon.gif b/images/modules/pptp-client/smallicon.gif new file mode 100644 index 000000000..7e0728bc1 Binary files /dev/null and b/images/modules/pptp-client/smallicon.gif differ diff --git a/images/modules/pptp-client/tunnel.gif b/images/modules/pptp-client/tunnel.gif new file mode 100644 index 000000000..a4eabf414 Binary files /dev/null and b/images/modules/pptp-client/tunnel.gif differ diff --git a/images/modules/pptp-server/conf.gif b/images/modules/pptp-server/conf.gif new file mode 100644 index 000000000..e1cac8691 Binary files /dev/null and b/images/modules/pptp-server/conf.gif differ diff --git a/images/modules/pptp-server/conns.gif b/images/modules/pptp-server/conns.gif new file mode 100644 index 000000000..3d1643092 Binary files /dev/null and b/images/modules/pptp-server/conns.gif differ diff --git a/images/modules/pptp-server/icon.gif b/images/modules/pptp-server/icon.gif new file mode 100644 index 000000000..a4eabf414 Binary files /dev/null and b/images/modules/pptp-server/icon.gif differ diff --git a/images/modules/pptp-server/options.gif b/images/modules/pptp-server/options.gif new file mode 100644 index 000000000..495a42928 Binary files /dev/null and b/images/modules/pptp-server/options.gif differ diff --git a/images/modules/pptp-server/pipe.gif b/images/modules/pptp-server/pipe.gif new file mode 100644 index 000000000..9d13da72c Binary files /dev/null and b/images/modules/pptp-server/pipe.gif differ diff --git a/images/modules/pptp-server/secrets.gif b/images/modules/pptp-server/secrets.gif new file mode 100644 index 000000000..07ecda23c Binary files /dev/null and b/images/modules/pptp-server/secrets.gif differ diff --git a/images/modules/pptp-server/smallicon.gif b/images/modules/pptp-server/smallicon.gif new file mode 100644 index 000000000..7b4a1631a Binary files /dev/null and b/images/modules/pptp-server/smallicon.gif differ diff --git a/images/modules/proc/icon.gif b/images/modules/proc/icon.gif new file mode 100644 index 000000000..ccb8b8c7c Binary files /dev/null and b/images/modules/proc/icon.gif differ diff --git a/images/modules/proc/smallicon.gif b/images/modules/proc/smallicon.gif new file mode 100644 index 000000000..9e5d14149 Binary files /dev/null and b/images/modules/proc/smallicon.gif differ diff --git a/images/modules/procmail/icon.gif b/images/modules/procmail/icon.gif new file mode 100644 index 000000000..c1320a590 Binary files /dev/null and b/images/modules/procmail/icon.gif differ diff --git a/images/modules/procyonguide/icon.gif b/images/modules/procyonguide/icon.gif new file mode 100644 index 000000000..c8e333594 Binary files /dev/null and b/images/modules/procyonguide/icon.gif differ diff --git a/images/modules/proftpd/anon.gif b/images/modules/proftpd/anon.gif new file mode 100644 index 000000000..4ea2d2ad3 Binary files /dev/null and b/images/modules/proftpd/anon.gif differ diff --git a/images/modules/proftpd/dir.gif b/images/modules/proftpd/dir.gif new file mode 100644 index 000000000..0337c1016 Binary files /dev/null and b/images/modules/proftpd/dir.gif differ diff --git a/images/modules/proftpd/dirs.gif b/images/modules/proftpd/dirs.gif new file mode 100644 index 000000000..0337c1016 Binary files /dev/null and b/images/modules/proftpd/dirs.gif differ diff --git a/images/modules/proftpd/edit.gif b/images/modules/proftpd/edit.gif new file mode 100644 index 000000000..ff82029d5 Binary files /dev/null and b/images/modules/proftpd/edit.gif differ diff --git a/images/modules/proftpd/ftpusers.gif b/images/modules/proftpd/ftpusers.gif new file mode 100644 index 000000000..45579b7c3 Binary files /dev/null and b/images/modules/proftpd/ftpusers.gif differ diff --git a/images/modules/proftpd/icon.gif b/images/modules/proftpd/icon.gif new file mode 100644 index 000000000..6d3bede7e Binary files /dev/null and b/images/modules/proftpd/icon.gif differ diff --git a/images/modules/proftpd/limit.gif b/images/modules/proftpd/limit.gif new file mode 100644 index 000000000..3e2421f6d Binary files /dev/null and b/images/modules/proftpd/limit.gif differ diff --git a/images/modules/proftpd/log.gif b/images/modules/proftpd/log.gif new file mode 100644 index 000000000..0b247c2ea Binary files /dev/null and b/images/modules/proftpd/log.gif differ diff --git a/images/modules/proftpd/misc.gif b/images/modules/proftpd/misc.gif new file mode 100644 index 000000000..c183c3ac4 Binary files /dev/null and b/images/modules/proftpd/misc.gif differ diff --git a/images/modules/proftpd/type_icon_0.gif b/images/modules/proftpd/type_icon_0.gif new file mode 100644 index 000000000..a5f64ac9a Binary files /dev/null and b/images/modules/proftpd/type_icon_0.gif differ diff --git a/images/modules/proftpd/type_icon_1.gif b/images/modules/proftpd/type_icon_1.gif new file mode 100644 index 000000000..0b247c2ea Binary files /dev/null and b/images/modules/proftpd/type_icon_1.gif differ diff --git a/images/modules/proftpd/type_icon_2.gif b/images/modules/proftpd/type_icon_2.gif new file mode 100644 index 000000000..f6a34a259 Binary files /dev/null and b/images/modules/proftpd/type_icon_2.gif differ diff --git a/images/modules/proftpd/type_icon_3.gif b/images/modules/proftpd/type_icon_3.gif new file mode 100644 index 000000000..a68fc993c Binary files /dev/null and b/images/modules/proftpd/type_icon_3.gif differ diff --git a/images/modules/proftpd/type_icon_4.gif b/images/modules/proftpd/type_icon_4.gif new file mode 100644 index 000000000..c183c3ac4 Binary files /dev/null and b/images/modules/proftpd/type_icon_4.gif differ diff --git a/images/modules/proftpd/type_icon_5.gif b/images/modules/proftpd/type_icon_5.gif new file mode 100644 index 000000000..45579b7c3 Binary files /dev/null and b/images/modules/proftpd/type_icon_5.gif differ diff --git a/images/modules/proftpd/type_icon_6.gif b/images/modules/proftpd/type_icon_6.gif new file mode 100644 index 000000000..eade0c6d9 Binary files /dev/null and b/images/modules/proftpd/type_icon_6.gif differ diff --git a/images/modules/proftpd/virt.gif b/images/modules/proftpd/virt.gif new file mode 100644 index 000000000..f9e6c6b3b Binary files /dev/null and b/images/modules/proftpd/virt.gif differ diff --git a/images/modules/pserver/access.gif b/images/modules/pserver/access.gif new file mode 100644 index 000000000..a68fc993c Binary files /dev/null and b/images/modules/pserver/access.gif differ diff --git a/images/modules/pserver/config.gif b/images/modules/pserver/config.gif new file mode 100644 index 000000000..6d3bede7e Binary files /dev/null and b/images/modules/pserver/config.gif differ diff --git a/images/modules/pserver/cvsweb.gif b/images/modules/pserver/cvsweb.gif new file mode 100644 index 000000000..04c028df3 Binary files /dev/null and b/images/modules/pserver/cvsweb.gif differ diff --git a/images/modules/pserver/icon.gif b/images/modules/pserver/icon.gif new file mode 100644 index 000000000..c261f6c0d Binary files /dev/null and b/images/modules/pserver/icon.gif differ diff --git a/images/modules/pserver/passwd.gif b/images/modules/pserver/passwd.gif new file mode 100644 index 000000000..c6bc5174d Binary files /dev/null and b/images/modules/pserver/passwd.gif differ diff --git a/images/modules/qmailadmin/aliases.gif b/images/modules/qmailadmin/aliases.gif new file mode 100644 index 000000000..05003ad1f Binary files /dev/null and b/images/modules/qmailadmin/aliases.gif differ diff --git a/images/modules/qmailadmin/assigns.gif b/images/modules/qmailadmin/assigns.gif new file mode 100644 index 000000000..45579b7c3 Binary files /dev/null and b/images/modules/qmailadmin/assigns.gif differ diff --git a/images/modules/qmailadmin/attach.gif b/images/modules/qmailadmin/attach.gif new file mode 100644 index 000000000..7f488e5d6 Binary files /dev/null and b/images/modules/qmailadmin/attach.gif differ diff --git a/images/modules/qmailadmin/bads.gif b/images/modules/qmailadmin/bads.gif new file mode 100644 index 000000000..4d506be32 Binary files /dev/null and b/images/modules/qmailadmin/bads.gif differ diff --git a/images/modules/qmailadmin/boxes.gif b/images/modules/qmailadmin/boxes.gif new file mode 100644 index 000000000..07fc14988 Binary files /dev/null and b/images/modules/qmailadmin/boxes.gif differ diff --git a/images/modules/qmailadmin/icon.gif b/images/modules/qmailadmin/icon.gif new file mode 100644 index 000000000..420d5786c Binary files /dev/null and b/images/modules/qmailadmin/icon.gif differ diff --git a/images/modules/qmailadmin/locals.gif b/images/modules/qmailadmin/locals.gif new file mode 100644 index 000000000..9bf5f29b4 Binary files /dev/null and b/images/modules/qmailadmin/locals.gif differ diff --git a/images/modules/qmailadmin/misc.gif b/images/modules/qmailadmin/misc.gif new file mode 100644 index 000000000..495a42928 Binary files /dev/null and b/images/modules/qmailadmin/misc.gif differ diff --git a/images/modules/qmailadmin/percents.gif b/images/modules/qmailadmin/percents.gif new file mode 100644 index 000000000..44c5d58b5 Binary files /dev/null and b/images/modules/qmailadmin/percents.gif differ diff --git a/images/modules/qmailadmin/queue.gif b/images/modules/qmailadmin/queue.gif new file mode 100644 index 000000000..0852859e0 Binary files /dev/null and b/images/modules/qmailadmin/queue.gif differ diff --git a/images/modules/qmailadmin/rcpts.gif b/images/modules/qmailadmin/rcpts.gif new file mode 100644 index 000000000..883b0a1c5 Binary files /dev/null and b/images/modules/qmailadmin/rcpts.gif differ diff --git a/images/modules/qmailadmin/routes.gif b/images/modules/qmailadmin/routes.gif new file mode 100644 index 000000000..cc406d91b Binary files /dev/null and b/images/modules/qmailadmin/routes.gif differ diff --git a/images/modules/qmailadmin/virts.gif b/images/modules/qmailadmin/virts.gif new file mode 100644 index 000000000..5b8d00d09 Binary files /dev/null and b/images/modules/qmailadmin/virts.gif differ diff --git a/images/modules/quota/icon.gif b/images/modules/quota/icon.gif new file mode 100644 index 000000000..41d7ddaa4 Binary files /dev/null and b/images/modules/quota/icon.gif differ diff --git a/images/modules/raid/0.gif b/images/modules/raid/0.gif new file mode 100644 index 000000000..7c27237d9 Binary files /dev/null and b/images/modules/raid/0.gif differ diff --git a/images/modules/raid/0.ia.gif b/images/modules/raid/0.ia.gif new file mode 100644 index 000000000..cc90524ac Binary files /dev/null and b/images/modules/raid/0.ia.gif differ diff --git a/images/modules/raid/1.gif b/images/modules/raid/1.gif new file mode 100644 index 000000000..9153d5871 Binary files /dev/null and b/images/modules/raid/1.gif differ diff --git a/images/modules/raid/1.ia.gif b/images/modules/raid/1.ia.gif new file mode 100644 index 000000000..a5307de09 Binary files /dev/null and b/images/modules/raid/1.ia.gif differ diff --git a/images/modules/raid/4.gif b/images/modules/raid/4.gif new file mode 100644 index 000000000..d7b4c83f3 Binary files /dev/null and b/images/modules/raid/4.gif differ diff --git a/images/modules/raid/4.ia.gif b/images/modules/raid/4.ia.gif new file mode 100644 index 000000000..822c082e9 Binary files /dev/null and b/images/modules/raid/4.ia.gif differ diff --git a/images/modules/raid/5.gif b/images/modules/raid/5.gif new file mode 100644 index 000000000..d43cf4503 Binary files /dev/null and b/images/modules/raid/5.gif differ diff --git a/images/modules/raid/5.ia.gif b/images/modules/raid/5.ia.gif new file mode 100644 index 000000000..a2da39536 Binary files /dev/null and b/images/modules/raid/5.ia.gif differ diff --git a/images/modules/raid/disk.gif b/images/modules/raid/disk.gif new file mode 100644 index 000000000..69c68fc5a Binary files /dev/null and b/images/modules/raid/disk.gif differ diff --git a/images/modules/raid/icon.gif b/images/modules/raid/icon.gif new file mode 100644 index 000000000..6f864227f Binary files /dev/null and b/images/modules/raid/icon.gif differ diff --git a/images/modules/raid/linear.gif b/images/modules/raid/linear.gif new file mode 100644 index 000000000..3f5074739 Binary files /dev/null and b/images/modules/raid/linear.gif differ diff --git a/images/modules/raid/linear.ia.gif b/images/modules/raid/linear.ia.gif new file mode 100644 index 000000000..6e03edbad Binary files /dev/null and b/images/modules/raid/linear.ia.gif differ diff --git a/images/modules/samba/askepass.gif b/images/modules/samba/askepass.gif new file mode 100644 index 000000000..8acdccf0c Binary files /dev/null and b/images/modules/samba/askepass.gif differ diff --git a/images/modules/samba/editepass.gif b/images/modules/samba/editepass.gif new file mode 100644 index 000000000..4ea2d2ad3 Binary files /dev/null and b/images/modules/samba/editepass.gif differ diff --git a/images/modules/samba/editgsync.gif b/images/modules/samba/editgsync.gif new file mode 100644 index 000000000..d24abe22f Binary files /dev/null and b/images/modules/samba/editgsync.gif differ diff --git a/images/modules/samba/editsync.gif b/images/modules/samba/editsync.gif new file mode 100644 index 000000000..676c79a41 Binary files /dev/null and b/images/modules/samba/editsync.gif differ diff --git a/images/modules/samba/icon.gif b/images/modules/samba/icon.gif new file mode 100644 index 000000000..083982489 Binary files /dev/null and b/images/modules/samba/icon.gif differ diff --git a/images/modules/samba/icon_0.gif b/images/modules/samba/icon_0.gif new file mode 100644 index 000000000..6d3bede7e Binary files /dev/null and b/images/modules/samba/icon_0.gif differ diff --git a/images/modules/samba/icon_1.gif b/images/modules/samba/icon_1.gif new file mode 100644 index 000000000..43e4f098a Binary files /dev/null and b/images/modules/samba/icon_1.gif differ diff --git a/images/modules/samba/icon_10.gif b/images/modules/samba/icon_10.gif new file mode 100644 index 000000000..083982489 Binary files /dev/null and b/images/modules/samba/icon_10.gif differ diff --git a/images/modules/samba/icon_2.gif b/images/modules/samba/icon_2.gif new file mode 100644 index 000000000..0f705382a Binary files /dev/null and b/images/modules/samba/icon_2.gif differ diff --git a/images/modules/samba/icon_3.gif b/images/modules/samba/icon_3.gif new file mode 100644 index 000000000..9ad444f7e Binary files /dev/null and b/images/modules/samba/icon_3.gif differ diff --git a/images/modules/samba/icon_4.gif b/images/modules/samba/icon_4.gif new file mode 100644 index 000000000..495a42928 Binary files /dev/null and b/images/modules/samba/icon_4.gif differ diff --git a/images/modules/samba/icon_5.gif b/images/modules/samba/icon_5.gif new file mode 100644 index 000000000..6d0dcb710 Binary files /dev/null and b/images/modules/samba/icon_5.gif differ diff --git a/images/modules/samba/icon_6.gif b/images/modules/samba/icon_6.gif new file mode 100644 index 000000000..aa17776d6 Binary files /dev/null and b/images/modules/samba/icon_6.gif differ diff --git a/images/modules/samba/icon_9.gif b/images/modules/samba/icon_9.gif new file mode 100644 index 000000000..f7749b7c1 Binary files /dev/null and b/images/modules/samba/icon_9.gif differ diff --git a/images/modules/samba/listgroups.gif b/images/modules/samba/listgroups.gif new file mode 100644 index 000000000..c6bc5174d Binary files /dev/null and b/images/modules/samba/listgroups.gif differ diff --git a/images/modules/samba/winbind.gif b/images/modules/samba/winbind.gif new file mode 100644 index 000000000..65c129bff Binary files /dev/null and b/images/modules/samba/winbind.gif differ diff --git a/images/modules/sarg/icon.gif b/images/modules/sarg/icon.gif new file mode 100644 index 000000000..e2b12cba8 Binary files /dev/null and b/images/modules/sarg/icon.gif differ diff --git a/images/modules/sarg/log.gif b/images/modules/sarg/log.gif new file mode 100644 index 000000000..490a54023 Binary files /dev/null and b/images/modules/sarg/log.gif differ diff --git a/images/modules/sarg/report.gif b/images/modules/sarg/report.gif new file mode 100644 index 000000000..2163bd88a Binary files /dev/null and b/images/modules/sarg/report.gif differ diff --git a/images/modules/sarg/sched.gif b/images/modules/sarg/sched.gif new file mode 100644 index 000000000..2ca3de493 Binary files /dev/null and b/images/modules/sarg/sched.gif differ diff --git a/images/modules/sarg/style.gif b/images/modules/sarg/style.gif new file mode 100644 index 000000000..69f5db940 Binary files /dev/null and b/images/modules/sarg/style.gif differ diff --git a/images/modules/sargreports/icon.gif b/images/modules/sargreports/icon.gif new file mode 100644 index 000000000..e2b12cba8 Binary files /dev/null and b/images/modules/sargreports/icon.gif differ diff --git a/images/modules/sendmail/access.gif b/images/modules/sendmail/access.gif new file mode 100644 index 000000000..0f705382a Binary files /dev/null and b/images/modules/sendmail/access.gif differ diff --git a/images/modules/sendmail/aliases.gif b/images/modules/sendmail/aliases.gif new file mode 100644 index 000000000..d23af7fa6 Binary files /dev/null and b/images/modules/sendmail/aliases.gif differ diff --git a/images/modules/sendmail/attach.gif b/images/modules/sendmail/attach.gif new file mode 100644 index 000000000..7f488e5d6 Binary files /dev/null and b/images/modules/sendmail/attach.gif differ diff --git a/images/modules/sendmail/boxes.gif b/images/modules/sendmail/boxes.gif new file mode 100644 index 000000000..07fc14988 Binary files /dev/null and b/images/modules/sendmail/boxes.gif differ diff --git a/images/modules/sendmail/cgs.gif b/images/modules/sendmail/cgs.gif new file mode 100644 index 000000000..43797e3de Binary files /dev/null and b/images/modules/sendmail/cgs.gif differ diff --git a/images/modules/sendmail/cws.gif b/images/modules/sendmail/cws.gif new file mode 100644 index 000000000..5b8d00d09 Binary files /dev/null and b/images/modules/sendmail/cws.gif differ diff --git a/images/modules/sendmail/domains.gif b/images/modules/sendmail/domains.gif new file mode 100644 index 000000000..086c850f1 Binary files /dev/null and b/images/modules/sendmail/domains.gif differ diff --git a/images/modules/sendmail/features.gif b/images/modules/sendmail/features.gif new file mode 100644 index 000000000..a3b93ffca Binary files /dev/null and b/images/modules/sendmail/features.gif differ diff --git a/images/modules/sendmail/generics.gif b/images/modules/sendmail/generics.gif new file mode 100644 index 000000000..44c5d58b5 Binary files /dev/null and b/images/modules/sendmail/generics.gif differ diff --git a/images/modules/sendmail/icon.gif b/images/modules/sendmail/icon.gif new file mode 100644 index 000000000..f3ff6dc3e Binary files /dev/null and b/images/modules/sendmail/icon.gif differ diff --git a/images/modules/sendmail/mailers.gif b/images/modules/sendmail/mailers.gif new file mode 100644 index 000000000..6d3bede7e Binary files /dev/null and b/images/modules/sendmail/mailers.gif differ diff --git a/images/modules/sendmail/mailq.gif b/images/modules/sendmail/mailq.gif new file mode 100644 index 000000000..0852859e0 Binary files /dev/null and b/images/modules/sendmail/mailq.gif differ diff --git a/images/modules/sendmail/masq.gif b/images/modules/sendmail/masq.gif new file mode 100644 index 000000000..d6de4b411 Binary files /dev/null and b/images/modules/sendmail/masq.gif differ diff --git a/images/modules/sendmail/opts.gif b/images/modules/sendmail/opts.gif new file mode 100644 index 000000000..495a42928 Binary files /dev/null and b/images/modules/sendmail/opts.gif differ diff --git a/images/modules/sendmail/ports.gif b/images/modules/sendmail/ports.gif new file mode 100644 index 000000000..43797e3de Binary files /dev/null and b/images/modules/sendmail/ports.gif differ diff --git a/images/modules/sendmail/relay.gif b/images/modules/sendmail/relay.gif new file mode 100644 index 000000000..b4c4350c7 Binary files /dev/null and b/images/modules/sendmail/relay.gif differ diff --git a/images/modules/sendmail/trusts.gif b/images/modules/sendmail/trusts.gif new file mode 100644 index 000000000..4ea2d2ad3 Binary files /dev/null and b/images/modules/sendmail/trusts.gif differ diff --git a/images/modules/sendmail/virtusers.gif b/images/modules/sendmail/virtusers.gif new file mode 100644 index 000000000..c6bc5174d Binary files /dev/null and b/images/modules/sendmail/virtusers.gif differ diff --git a/images/modules/sentry/icon.gif b/images/modules/sentry/icon.gif new file mode 100644 index 000000000..28a6fcd03 Binary files /dev/null and b/images/modules/sentry/icon.gif differ diff --git a/images/modules/server-manager/ec2.gif b/images/modules/server-manager/ec2.gif new file mode 100644 index 000000000..05e8edaa6 Binary files /dev/null and b/images/modules/server-manager/ec2.gif differ diff --git a/images/modules/server-manager/images.gif b/images/modules/server-manager/images.gif new file mode 100644 index 000000000..55ba13f34 Binary files /dev/null and b/images/modules/server-manager/images.gif differ diff --git a/images/modules/server-manager/keys.gif b/images/modules/server-manager/keys.gif new file mode 100644 index 000000000..c164cfea8 Binary files /dev/null and b/images/modules/server-manager/keys.gif differ diff --git a/images/modules/server-manager/zones.gif b/images/modules/server-manager/zones.gif new file mode 100644 index 000000000..2795c076d Binary files /dev/null and b/images/modules/server-manager/zones.gif differ diff --git a/images/modules/servers/asianux.gif b/images/modules/servers/asianux.gif new file mode 100644 index 000000000..971eec887 Binary files /dev/null and b/images/modules/servers/asianux.gif differ diff --git a/images/modules/servers/caldera.gif b/images/modules/servers/caldera.gif new file mode 100644 index 000000000..23230e57a Binary files /dev/null and b/images/modules/servers/caldera.gif differ diff --git a/images/modules/servers/centos.gif b/images/modules/servers/centos.gif new file mode 100644 index 000000000..37a33e825 Binary files /dev/null and b/images/modules/servers/centos.gif differ diff --git a/images/modules/servers/cobalt.gif b/images/modules/servers/cobalt.gif new file mode 100644 index 000000000..7bbb607dc Binary files /dev/null and b/images/modules/servers/cobalt.gif differ diff --git a/images/modules/servers/debian.gif b/images/modules/servers/debian.gif new file mode 100644 index 000000000..86fa35da7 Binary files /dev/null and b/images/modules/servers/debian.gif differ diff --git a/images/modules/servers/fedora.gif b/images/modules/servers/fedora.gif new file mode 100644 index 000000000..682909478 Binary files /dev/null and b/images/modules/servers/fedora.gif differ diff --git a/images/modules/servers/freebsd.gif b/images/modules/servers/freebsd.gif new file mode 100644 index 000000000..7a78f2d89 Binary files /dev/null and b/images/modules/servers/freebsd.gif differ diff --git a/images/modules/servers/hpux.gif b/images/modules/servers/hpux.gif new file mode 100644 index 000000000..686326f78 Binary files /dev/null and b/images/modules/servers/hpux.gif differ diff --git a/images/modules/servers/icon.gif b/images/modules/servers/icon.gif new file mode 100644 index 000000000..6d3bede7e Binary files /dev/null and b/images/modules/servers/icon.gif differ diff --git a/images/modules/servers/irix.gif b/images/modules/servers/irix.gif new file mode 100644 index 000000000..f5b1ad913 Binary files /dev/null and b/images/modules/servers/irix.gif differ diff --git a/images/modules/servers/linux.gif b/images/modules/servers/linux.gif new file mode 100644 index 000000000..8a0d2d9a8 Binary files /dev/null and b/images/modules/servers/linux.gif differ diff --git a/images/modules/servers/mac.gif b/images/modules/servers/mac.gif new file mode 100644 index 000000000..34041fe17 Binary files /dev/null and b/images/modules/servers/mac.gif differ diff --git a/images/modules/servers/mandrake.gif b/images/modules/servers/mandrake.gif new file mode 100644 index 000000000..49edf7a30 Binary files /dev/null and b/images/modules/servers/mandrake.gif differ diff --git a/images/modules/servers/msc.gif b/images/modules/servers/msc.gif new file mode 100644 index 000000000..dd5b41c56 Binary files /dev/null and b/images/modules/servers/msc.gif differ diff --git a/images/modules/servers/openbsd.gif b/images/modules/servers/openbsd.gif new file mode 100644 index 000000000..7a78f2d89 Binary files /dev/null and b/images/modules/servers/openbsd.gif differ diff --git a/images/modules/servers/redflag.gif b/images/modules/servers/redflag.gif new file mode 100644 index 000000000..b099f3e1c Binary files /dev/null and b/images/modules/servers/redflag.gif differ diff --git a/images/modules/servers/redhat.gif b/images/modules/servers/redhat.gif new file mode 100644 index 000000000..7a704db30 Binary files /dev/null and b/images/modules/servers/redhat.gif differ diff --git a/images/modules/servers/sco.gif b/images/modules/servers/sco.gif new file mode 100644 index 000000000..7e9c35910 Binary files /dev/null and b/images/modules/servers/sco.gif differ diff --git a/images/modules/servers/slackware.gif b/images/modules/servers/slackware.gif new file mode 100644 index 000000000..dc1c025eb Binary files /dev/null and b/images/modules/servers/slackware.gif differ diff --git a/images/modules/servers/smallicon.gif b/images/modules/servers/smallicon.gif new file mode 100644 index 000000000..1c1b45f5d Binary files /dev/null and b/images/modules/servers/smallicon.gif differ diff --git a/images/modules/servers/solaris.gif b/images/modules/servers/solaris.gif new file mode 100644 index 000000000..638fdab17 Binary files /dev/null and b/images/modules/servers/solaris.gif differ diff --git a/images/modules/servers/suse.gif b/images/modules/servers/suse.gif new file mode 100644 index 000000000..6444359df Binary files /dev/null and b/images/modules/servers/suse.gif differ diff --git a/images/modules/servers/turbo.gif b/images/modules/servers/turbo.gif new file mode 100644 index 000000000..065a62fa7 Binary files /dev/null and b/images/modules/servers/turbo.gif differ diff --git a/images/modules/servers/ubuntu.gif b/images/modules/servers/ubuntu.gif new file mode 100644 index 000000000..13af0c986 Binary files /dev/null and b/images/modules/servers/ubuntu.gif differ diff --git a/images/modules/servers/unknown.gif b/images/modules/servers/unknown.gif new file mode 100644 index 000000000..6d3bede7e Binary files /dev/null and b/images/modules/servers/unknown.gif differ diff --git a/images/modules/servers/windows.gif b/images/modules/servers/windows.gif new file mode 100644 index 000000000..7d17e537f Binary files /dev/null and b/images/modules/servers/windows.gif differ diff --git a/images/modules/shell/icon.gif b/images/modules/shell/icon.gif new file mode 100644 index 000000000..fbbe4f48a Binary files /dev/null and b/images/modules/shell/icon.gif differ diff --git a/images/modules/shorewall/icon.gif b/images/modules/shorewall/icon.gif new file mode 100644 index 000000000..04cc48c38 Binary files /dev/null and b/images/modules/shorewall/icon.gif differ diff --git a/images/modules/simple-firewall/icon.gif b/images/modules/simple-firewall/icon.gif new file mode 100644 index 000000000..04cc48c38 Binary files /dev/null and b/images/modules/simple-firewall/icon.gif differ diff --git a/images/modules/smart-status/icon.gif b/images/modules/smart-status/icon.gif new file mode 100644 index 000000000..fc50f7f23 Binary files /dev/null and b/images/modules/smart-status/icon.gif differ diff --git a/images/modules/software/close.gif b/images/modules/software/close.gif new file mode 100644 index 000000000..d7afdd66b Binary files /dev/null and b/images/modules/software/close.gif differ diff --git a/images/modules/software/icon.gif b/images/modules/software/icon.gif new file mode 100644 index 000000000..7cf1b96d6 Binary files /dev/null and b/images/modules/software/icon.gif differ diff --git a/images/modules/software/open.gif b/images/modules/software/open.gif new file mode 100644 index 000000000..66f705f1d Binary files /dev/null and b/images/modules/software/open.gif differ diff --git a/images/modules/software/pack.gif b/images/modules/software/pack.gif new file mode 100644 index 000000000..fe1ade966 Binary files /dev/null and b/images/modules/software/pack.gif differ diff --git a/images/modules/software/smallicon.gif b/images/modules/software/smallicon.gif new file mode 100644 index 000000000..521432035 Binary files /dev/null and b/images/modules/software/smallicon.gif differ diff --git a/images/modules/spam/awl.gif b/images/modules/spam/awl.gif new file mode 100644 index 000000000..3aa37ad25 Binary files /dev/null and b/images/modules/spam/awl.gif differ diff --git a/images/modules/spam/db.gif b/images/modules/spam/db.gif new file mode 100644 index 000000000..1e878ec27 Binary files /dev/null and b/images/modules/spam/db.gif differ diff --git a/images/modules/spam/header.gif b/images/modules/spam/header.gif new file mode 100644 index 000000000..f6a34a259 Binary files /dev/null and b/images/modules/spam/header.gif differ diff --git a/images/modules/spam/icon.gif b/images/modules/spam/icon.gif new file mode 100644 index 000000000..84a82839d Binary files /dev/null and b/images/modules/spam/icon.gif differ diff --git a/images/modules/spam/mail.gif b/images/modules/spam/mail.gif new file mode 100644 index 000000000..17a173186 Binary files /dev/null and b/images/modules/spam/mail.gif differ diff --git a/images/modules/spam/manual.gif b/images/modules/spam/manual.gif new file mode 100644 index 000000000..ce1f3a3f0 Binary files /dev/null and b/images/modules/spam/manual.gif differ diff --git a/images/modules/spam/priv.gif b/images/modules/spam/priv.gif new file mode 100644 index 000000000..3710abdce Binary files /dev/null and b/images/modules/spam/priv.gif differ diff --git a/images/modules/spam/procmail.gif b/images/modules/spam/procmail.gif new file mode 100644 index 000000000..c1320a590 Binary files /dev/null and b/images/modules/spam/procmail.gif differ diff --git a/images/modules/spam/razor.gif b/images/modules/spam/razor.gif new file mode 100644 index 000000000..ff942ace7 Binary files /dev/null and b/images/modules/spam/razor.gif differ diff --git a/images/modules/spam/report.gif b/images/modules/spam/report.gif new file mode 100644 index 000000000..ff82029d5 Binary files /dev/null and b/images/modules/spam/report.gif differ diff --git a/images/modules/spam/score.gif b/images/modules/spam/score.gif new file mode 100644 index 000000000..b627b437d Binary files /dev/null and b/images/modules/spam/score.gif differ diff --git a/images/modules/spam/settings.gif b/images/modules/spam/settings.gif new file mode 100644 index 000000000..495a42928 Binary files /dev/null and b/images/modules/spam/settings.gif differ diff --git a/images/modules/spam/setup.gif b/images/modules/spam/setup.gif new file mode 100644 index 000000000..c1320a590 Binary files /dev/null and b/images/modules/spam/setup.gif differ diff --git a/images/modules/spam/simple.gif b/images/modules/spam/simple.gif new file mode 100644 index 000000000..e03a26dbc Binary files /dev/null and b/images/modules/spam/simple.gif differ diff --git a/images/modules/spam/user.gif b/images/modules/spam/user.gif new file mode 100644 index 000000000..495a42928 Binary files /dev/null and b/images/modules/spam/user.gif differ diff --git a/images/modules/spam/white.gif b/images/modules/spam/white.gif new file mode 100644 index 000000000..ab98a6085 Binary files /dev/null and b/images/modules/spam/white.gif differ diff --git a/images/modules/squid/acl.gif b/images/modules/squid/acl.gif new file mode 100644 index 000000000..0f705382a Binary files /dev/null and b/images/modules/squid/acl.gif differ diff --git a/images/modules/squid/admin.gif b/images/modules/squid/admin.gif new file mode 100644 index 000000000..3710abdce Binary files /dev/null and b/images/modules/squid/admin.gif differ diff --git a/images/modules/squid/auth.gif b/images/modules/squid/auth.gif new file mode 100644 index 000000000..c6bc5174d Binary files /dev/null and b/images/modules/squid/auth.gif differ diff --git a/images/modules/squid/authparam.gif b/images/modules/squid/authparam.gif new file mode 100644 index 000000000..c164cfea8 Binary files /dev/null and b/images/modules/squid/authparam.gif differ diff --git a/images/modules/squid/cache.gif b/images/modules/squid/cache.gif new file mode 100644 index 000000000..823820449 Binary files /dev/null and b/images/modules/squid/cache.gif differ diff --git a/images/modules/squid/cachemgr.gif b/images/modules/squid/cachemgr.gif new file mode 100644 index 000000000..759cba64e Binary files /dev/null and b/images/modules/squid/cachemgr.gif differ diff --git a/images/modules/squid/calamaris.gif b/images/modules/squid/calamaris.gif new file mode 100644 index 000000000..e2b12cba8 Binary files /dev/null and b/images/modules/squid/calamaris.gif differ diff --git a/images/modules/squid/clear.gif b/images/modules/squid/clear.gif new file mode 100644 index 000000000..4152a1e62 Binary files /dev/null and b/images/modules/squid/clear.gif differ diff --git a/images/modules/squid/delay.gif b/images/modules/squid/delay.gif new file mode 100644 index 000000000..94928754e Binary files /dev/null and b/images/modules/squid/delay.gif differ diff --git a/images/modules/squid/edit_cachemgr.gif b/images/modules/squid/edit_cachemgr.gif new file mode 100644 index 000000000..642cc87ea Binary files /dev/null and b/images/modules/squid/edit_cachemgr.gif differ diff --git a/images/modules/squid/icon.gif b/images/modules/squid/icon.gif new file mode 100644 index 000000000..7fb8524a6 Binary files /dev/null and b/images/modules/squid/icon.gif differ diff --git a/images/modules/squid/icp.gif b/images/modules/squid/icp.gif new file mode 100644 index 000000000..6d3bede7e Binary files /dev/null and b/images/modules/squid/icp.gif differ diff --git a/images/modules/squid/iptables.gif b/images/modules/squid/iptables.gif new file mode 100644 index 000000000..04cc48c38 Binary files /dev/null and b/images/modules/squid/iptables.gif differ diff --git a/images/modules/squid/list_headeracc.gif b/images/modules/squid/list_headeracc.gif new file mode 100644 index 000000000..5e5795200 Binary files /dev/null and b/images/modules/squid/list_headeracc.gif differ diff --git a/images/modules/squid/list_refresh.gif b/images/modules/squid/list_refresh.gif new file mode 100644 index 000000000..fea4818d2 Binary files /dev/null and b/images/modules/squid/list_refresh.gif differ diff --git a/images/modules/squid/logs.gif b/images/modules/squid/logs.gif new file mode 100644 index 000000000..0b247c2ea Binary files /dev/null and b/images/modules/squid/logs.gif differ diff --git a/images/modules/squid/manual.gif b/images/modules/squid/manual.gif new file mode 100644 index 000000000..ce1f3a3f0 Binary files /dev/null and b/images/modules/squid/manual.gif differ diff --git a/images/modules/squid/mem.gif b/images/modules/squid/mem.gif new file mode 100644 index 000000000..65d16e84e Binary files /dev/null and b/images/modules/squid/mem.gif differ diff --git a/images/modules/squid/misc.gif b/images/modules/squid/misc.gif new file mode 100644 index 000000000..495a42928 Binary files /dev/null and b/images/modules/squid/misc.gif differ diff --git a/images/modules/squid/nauth.gif b/images/modules/squid/nauth.gif new file mode 100644 index 000000000..c6bc5174d Binary files /dev/null and b/images/modules/squid/nauth.gif differ diff --git a/images/modules/squid/ports.gif b/images/modules/squid/ports.gif new file mode 100644 index 000000000..718cbe3ab Binary files /dev/null and b/images/modules/squid/ports.gif differ diff --git a/images/modules/squid/progs.gif b/images/modules/squid/progs.gif new file mode 100644 index 000000000..28a6fcd03 Binary files /dev/null and b/images/modules/squid/progs.gif differ diff --git a/images/modules/squid/smem.gif b/images/modules/squid/smem.gif new file mode 100644 index 000000000..65d16e84e Binary files /dev/null and b/images/modules/squid/smem.gif differ diff --git a/images/modules/squid/sports.gif b/images/modules/squid/sports.gif new file mode 100644 index 000000000..3d1643092 Binary files /dev/null and b/images/modules/squid/sports.gif differ diff --git a/images/modules/squidguard/icon.gif b/images/modules/squidguard/icon.gif new file mode 100644 index 000000000..357540cb4 Binary files /dev/null and b/images/modules/squidguard/icon.gif differ diff --git a/images/modules/squidinfo/icon.gif b/images/modules/squidinfo/icon.gif new file mode 100644 index 000000000..384e9bd11 Binary files /dev/null and b/images/modules/squidinfo/icon.gif differ diff --git a/images/modules/squidreports/icon.gif b/images/modules/squidreports/icon.gif new file mode 100644 index 000000000..e2b12cba8 Binary files /dev/null and b/images/modules/squidreports/icon.gif differ diff --git a/images/modules/squidstat/icon.gif b/images/modules/squidstat/icon.gif new file mode 100644 index 000000000..d67c4415f Binary files /dev/null and b/images/modules/squidstat/icon.gif differ diff --git a/images/modules/ssh/access.gif b/images/modules/ssh/access.gif new file mode 100644 index 000000000..0f705382a Binary files /dev/null and b/images/modules/ssh/access.gif differ diff --git a/images/modules/ssh/auths.gif b/images/modules/ssh/auths.gif new file mode 100644 index 000000000..681ed2d1c Binary files /dev/null and b/images/modules/ssh/auths.gif differ diff --git a/images/modules/ssh/host.gif b/images/modules/ssh/host.gif new file mode 100644 index 000000000..6010312df Binary files /dev/null and b/images/modules/ssh/host.gif differ diff --git a/images/modules/ssh/hosts.gif b/images/modules/ssh/hosts.gif new file mode 100644 index 000000000..43e4f098a Binary files /dev/null and b/images/modules/ssh/hosts.gif differ diff --git a/images/modules/ssh/icon.gif b/images/modules/ssh/icon.gif new file mode 100644 index 000000000..a4eabf414 Binary files /dev/null and b/images/modules/ssh/icon.gif differ diff --git a/images/modules/ssh/keys.gif b/images/modules/ssh/keys.gif new file mode 100644 index 000000000..99b3b7fc4 Binary files /dev/null and b/images/modules/ssh/keys.gif differ diff --git a/images/modules/ssh/knowns.gif b/images/modules/ssh/knowns.gif new file mode 100644 index 000000000..3e2421f6d Binary files /dev/null and b/images/modules/ssh/knowns.gif differ diff --git a/images/modules/ssh/misc.gif b/images/modules/ssh/misc.gif new file mode 100644 index 000000000..495a42928 Binary files /dev/null and b/images/modules/ssh/misc.gif differ diff --git a/images/modules/ssh/net.gif b/images/modules/ssh/net.gif new file mode 100644 index 000000000..3d1643092 Binary files /dev/null and b/images/modules/ssh/net.gif differ diff --git a/images/modules/ssh/sync.gif b/images/modules/ssh/sync.gif new file mode 100644 index 000000000..c164cfea8 Binary files /dev/null and b/images/modules/ssh/sync.gif differ diff --git a/images/modules/ssh/users.gif b/images/modules/ssh/users.gif new file mode 100644 index 000000000..370a2d8db Binary files /dev/null and b/images/modules/ssh/users.gif differ diff --git a/images/modules/sshd/access.gif b/images/modules/sshd/access.gif new file mode 100644 index 000000000..0f705382a Binary files /dev/null and b/images/modules/sshd/access.gif differ diff --git a/images/modules/sshd/host.gif b/images/modules/sshd/host.gif new file mode 100644 index 000000000..6010312df Binary files /dev/null and b/images/modules/sshd/host.gif differ diff --git a/images/modules/sshd/hosts.gif b/images/modules/sshd/hosts.gif new file mode 100644 index 000000000..43e4f098a Binary files /dev/null and b/images/modules/sshd/hosts.gif differ diff --git a/images/modules/sshd/icon.gif b/images/modules/sshd/icon.gif new file mode 100644 index 000000000..a4eabf414 Binary files /dev/null and b/images/modules/sshd/icon.gif differ diff --git a/images/modules/sshd/manual.gif b/images/modules/sshd/manual.gif new file mode 100644 index 000000000..ce1f3a3f0 Binary files /dev/null and b/images/modules/sshd/manual.gif differ diff --git a/images/modules/sshd/misc.gif b/images/modules/sshd/misc.gif new file mode 100644 index 000000000..495a42928 Binary files /dev/null and b/images/modules/sshd/misc.gif differ diff --git a/images/modules/sshd/net.gif b/images/modules/sshd/net.gif new file mode 100644 index 000000000..3d1643092 Binary files /dev/null and b/images/modules/sshd/net.gif differ diff --git a/images/modules/sshd/sync.gif b/images/modules/sshd/sync.gif new file mode 100644 index 000000000..c164cfea8 Binary files /dev/null and b/images/modules/sshd/sync.gif differ diff --git a/images/modules/sshd/users.gif b/images/modules/sshd/users.gif new file mode 100644 index 000000000..370a2d8db Binary files /dev/null and b/images/modules/sshd/users.gif differ diff --git a/images/modules/status/down.gif b/images/modules/status/down.gif new file mode 100644 index 000000000..4cd502bbd Binary files /dev/null and b/images/modules/status/down.gif differ diff --git a/images/modules/status/icon.gif b/images/modules/status/icon.gif new file mode 100644 index 000000000..11f248cde Binary files /dev/null and b/images/modules/status/icon.gif differ diff --git a/images/modules/status/not.gif b/images/modules/status/not.gif new file mode 100644 index 000000000..179604596 Binary files /dev/null and b/images/modules/status/not.gif differ diff --git a/images/modules/status/up.gif b/images/modules/status/up.gif new file mode 100644 index 000000000..80a220a12 Binary files /dev/null and b/images/modules/status/up.gif differ diff --git a/images/modules/stunnel/icon.gif b/images/modules/stunnel/icon.gif new file mode 100644 index 000000000..3fcfb06c3 Binary files /dev/null and b/images/modules/stunnel/icon.gif differ diff --git a/images/modules/swell-wizard/icon.gif b/images/modules/swell-wizard/icon.gif new file mode 100644 index 000000000..78165d957 Binary files /dev/null and b/images/modules/swell-wizard/icon.gif differ diff --git a/images/modules/sysgraph/icon.gif b/images/modules/sysgraph/icon.gif new file mode 100644 index 000000000..384e9bd11 Binary files /dev/null and b/images/modules/sysgraph/icon.gif differ diff --git a/images/modules/sysgraph/mem.png b/images/modules/sysgraph/mem.png new file mode 100644 index 000000000..d79086db3 Binary files /dev/null and b/images/modules/sysgraph/mem.png differ diff --git a/images/modules/sysinfo/connections.gif b/images/modules/sysinfo/connections.gif new file mode 100644 index 000000000..718cbe3ab Binary files /dev/null and b/images/modules/sysinfo/connections.gif differ diff --git a/images/modules/sysinfo/cpu.gif b/images/modules/sysinfo/cpu.gif new file mode 100644 index 000000000..6d3b2ce9c Binary files /dev/null and b/images/modules/sysinfo/cpu.gif differ diff --git a/images/modules/sysinfo/fs.gif b/images/modules/sysinfo/fs.gif new file mode 100644 index 000000000..69c68fc5a Binary files /dev/null and b/images/modules/sysinfo/fs.gif differ diff --git a/images/modules/sysinfo/icon.gif b/images/modules/sysinfo/icon.gif new file mode 100644 index 000000000..e7a7bd3a8 Binary files /dev/null and b/images/modules/sysinfo/icon.gif differ diff --git a/images/modules/sysinfo/irq.gif b/images/modules/sysinfo/irq.gif new file mode 100644 index 000000000..37b534556 Binary files /dev/null and b/images/modules/sysinfo/irq.gif differ diff --git a/images/modules/sysinfo/mem.gif b/images/modules/sysinfo/mem.gif new file mode 100644 index 000000000..d79086db3 Binary files /dev/null and b/images/modules/sysinfo/mem.gif differ diff --git a/images/modules/sysinfo/network.gif b/images/modules/sysinfo/network.gif new file mode 100644 index 000000000..43e4f098a Binary files /dev/null and b/images/modules/sysinfo/network.gif differ diff --git a/images/modules/sysinfo/sockets.gif b/images/modules/sysinfo/sockets.gif new file mode 100644 index 000000000..6d3bede7e Binary files /dev/null and b/images/modules/sysinfo/sockets.gif differ diff --git a/images/modules/sysinfo/usockets.gif b/images/modules/sysinfo/usockets.gif new file mode 100644 index 000000000..9d13da72c Binary files /dev/null and b/images/modules/sysinfo/usockets.gif differ diff --git a/images/modules/sysinfo/who.gif b/images/modules/sysinfo/who.gif new file mode 100644 index 000000000..c6bc5174d Binary files /dev/null and b/images/modules/sysinfo/who.gif differ diff --git a/images/modules/syslog/icon.gif b/images/modules/syslog/icon.gif new file mode 100644 index 000000000..0b247c2ea Binary files /dev/null and b/images/modules/syslog/icon.gif differ diff --git a/images/modules/sysstats/icon.gif b/images/modules/sysstats/icon.gif new file mode 100644 index 000000000..384e9bd11 Binary files /dev/null and b/images/modules/sysstats/icon.gif differ diff --git a/images/modules/sysstats/mem.png b/images/modules/sysstats/mem.png new file mode 100644 index 000000000..d79086db3 Binary files /dev/null and b/images/modules/sysstats/mem.png differ diff --git a/images/modules/telnet/icon.gif b/images/modules/telnet/icon.gif new file mode 100644 index 000000000..ff4ce23e6 Binary files /dev/null and b/images/modules/telnet/icon.gif differ diff --git a/images/modules/template/icon.gif b/images/modules/template/icon.gif new file mode 100644 index 000000000..a3b93ffca Binary files /dev/null and b/images/modules/template/icon.gif differ diff --git a/images/modules/time/icon.gif b/images/modules/time/icon.gif new file mode 100644 index 000000000..2ca3de493 Binary files /dev/null and b/images/modules/time/icon.gif differ diff --git a/images/modules/tsunamiguide/icon.gif b/images/modules/tsunamiguide/icon.gif new file mode 100644 index 000000000..c8e333594 Binary files /dev/null and b/images/modules/tsunamiguide/icon.gif differ diff --git a/images/modules/tunnel/icon.gif b/images/modules/tunnel/icon.gif new file mode 100644 index 000000000..3fcfb06c3 Binary files /dev/null and b/images/modules/tunnel/icon.gif differ diff --git a/images/modules/updown/icon.gif b/images/modules/updown/icon.gif new file mode 100644 index 000000000..115c28306 Binary files /dev/null and b/images/modules/updown/icon.gif differ diff --git a/images/modules/updown/left.gif b/images/modules/updown/left.gif new file mode 100644 index 000000000..876fef3bd Binary files /dev/null and b/images/modules/updown/left.gif differ diff --git a/images/modules/updown/pack.gif b/images/modules/updown/pack.gif new file mode 100644 index 000000000..c43d69077 Binary files /dev/null and b/images/modules/updown/pack.gif differ diff --git a/images/modules/useradmin/icon.gif b/images/modules/useradmin/icon.gif new file mode 100644 index 000000000..c6bc5174d Binary files /dev/null and b/images/modules/useradmin/icon.gif differ diff --git a/images/modules/usermin/access.gif b/images/modules/usermin/access.gif new file mode 100644 index 000000000..0f705382a Binary files /dev/null and b/images/modules/usermin/access.gif differ diff --git a/images/modules/usermin/acl.gif b/images/modules/usermin/acl.gif new file mode 100644 index 000000000..f125b82f4 Binary files /dev/null and b/images/modules/usermin/acl.gif differ diff --git a/images/modules/usermin/advanced.gif b/images/modules/usermin/advanced.gif new file mode 100644 index 000000000..e1cac8691 Binary files /dev/null and b/images/modules/usermin/advanced.gif differ diff --git a/images/modules/usermin/anon.gif b/images/modules/usermin/anon.gif new file mode 100644 index 000000000..05a76c6b4 Binary files /dev/null and b/images/modules/usermin/anon.gif differ diff --git a/images/modules/usermin/assignment.gif b/images/modules/usermin/assignment.gif new file mode 100644 index 000000000..10d398fa3 Binary files /dev/null and b/images/modules/usermin/assignment.gif differ diff --git a/images/modules/usermin/bind.gif b/images/modules/usermin/bind.gif new file mode 100644 index 000000000..3d1643092 Binary files /dev/null and b/images/modules/usermin/bind.gif differ diff --git a/images/modules/usermin/blocked.gif b/images/modules/usermin/blocked.gif new file mode 100644 index 000000000..a0dc6d925 Binary files /dev/null and b/images/modules/usermin/blocked.gif differ diff --git a/images/modules/usermin/categories.gif b/images/modules/usermin/categories.gif new file mode 100644 index 000000000..904a39cfc Binary files /dev/null and b/images/modules/usermin/categories.gif differ diff --git a/images/modules/usermin/configs.gif b/images/modules/usermin/configs.gif new file mode 100644 index 000000000..495a42928 Binary files /dev/null and b/images/modules/usermin/configs.gif differ diff --git a/images/modules/usermin/dav.gif b/images/modules/usermin/dav.gif new file mode 100644 index 000000000..6d3bede7e Binary files /dev/null and b/images/modules/usermin/dav.gif differ diff --git a/images/modules/usermin/defacl.gif b/images/modules/usermin/defacl.gif new file mode 100644 index 000000000..c164cfea8 Binary files /dev/null and b/images/modules/usermin/defacl.gif differ diff --git a/images/modules/usermin/descs.gif b/images/modules/usermin/descs.gif new file mode 100644 index 000000000..6c717ee4c Binary files /dev/null and b/images/modules/usermin/descs.gif differ diff --git a/images/modules/usermin/icon.gif b/images/modules/usermin/icon.gif new file mode 100644 index 000000000..c6bc5174d Binary files /dev/null and b/images/modules/usermin/icon.gif differ diff --git a/images/modules/usermin/lang.gif b/images/modules/usermin/lang.gif new file mode 100644 index 000000000..b57101b08 Binary files /dev/null and b/images/modules/usermin/lang.gif differ diff --git a/images/modules/usermin/logout.gif b/images/modules/usermin/logout.gif new file mode 100644 index 000000000..2ca3de493 Binary files /dev/null and b/images/modules/usermin/logout.gif differ diff --git a/images/modules/usermin/mobile.gif b/images/modules/usermin/mobile.gif new file mode 100644 index 000000000..c912b31e3 Binary files /dev/null and b/images/modules/usermin/mobile.gif differ diff --git a/images/modules/usermin/mods.gif b/images/modules/usermin/mods.gif new file mode 100644 index 000000000..a3b93ffca Binary files /dev/null and b/images/modules/usermin/mods.gif differ diff --git a/images/modules/usermin/os.gif b/images/modules/usermin/os.gif new file mode 100644 index 000000000..6010312df Binary files /dev/null and b/images/modules/usermin/os.gif differ diff --git a/images/modules/usermin/referers.gif b/images/modules/usermin/referers.gif new file mode 100644 index 000000000..0d1e2384a Binary files /dev/null and b/images/modules/usermin/referers.gif differ diff --git a/images/modules/usermin/restrict.gif b/images/modules/usermin/restrict.gif new file mode 100644 index 000000000..28a6fcd03 Binary files /dev/null and b/images/modules/usermin/restrict.gif differ diff --git a/images/modules/usermin/session.gif b/images/modules/usermin/session.gif new file mode 100644 index 000000000..370a2d8db Binary files /dev/null and b/images/modules/usermin/session.gif differ diff --git a/images/modules/usermin/sessions.gif b/images/modules/usermin/sessions.gif new file mode 100644 index 000000000..ab98a6085 Binary files /dev/null and b/images/modules/usermin/sessions.gif differ diff --git a/images/modules/usermin/ssl.gif b/images/modules/usermin/ssl.gif new file mode 100644 index 000000000..a4eabf414 Binary files /dev/null and b/images/modules/usermin/ssl.gif differ diff --git a/images/modules/usermin/themes.gif b/images/modules/usermin/themes.gif new file mode 100644 index 000000000..69f5db940 Binary files /dev/null and b/images/modules/usermin/themes.gif differ diff --git a/images/modules/usermin/ui.gif b/images/modules/usermin/ui.gif new file mode 100644 index 000000000..f125b82f4 Binary files /dev/null and b/images/modules/usermin/ui.gif differ diff --git a/images/modules/usermin/upgrade.gif b/images/modules/usermin/upgrade.gif new file mode 100644 index 000000000..a3b81b838 Binary files /dev/null and b/images/modules/usermin/upgrade.gif differ diff --git a/images/modules/usermin/users.gif b/images/modules/usermin/users.gif new file mode 100644 index 000000000..c6bc5174d Binary files /dev/null and b/images/modules/usermin/users.gif differ diff --git a/images/modules/vgetty/icon.gif b/images/modules/vgetty/icon.gif new file mode 100644 index 000000000..886904e1d Binary files /dev/null and b/images/modules/vgetty/icon.gif differ diff --git a/images/modules/vgetty/messages.gif b/images/modules/vgetty/messages.gif new file mode 100644 index 000000000..3ea08dfd7 Binary files /dev/null and b/images/modules/vgetty/messages.gif differ diff --git a/images/modules/vgetty/options.gif b/images/modules/vgetty/options.gif new file mode 100644 index 000000000..495a42928 Binary files /dev/null and b/images/modules/vgetty/options.gif differ diff --git a/images/modules/vgetty/received.gif b/images/modules/vgetty/received.gif new file mode 100644 index 000000000..5b8d00d09 Binary files /dev/null and b/images/modules/vgetty/received.gif differ diff --git a/images/modules/vgetty/vgetty.gif b/images/modules/vgetty/vgetty.gif new file mode 100644 index 000000000..886904e1d Binary files /dev/null and b/images/modules/vgetty/vgetty.gif differ diff --git a/images/modules/virtual-server/aliases.gif b/images/modules/virtual-server/aliases.gif new file mode 100644 index 000000000..05003ad1f Binary files /dev/null and b/images/modules/virtual-server/aliases.gif differ diff --git a/images/modules/virtual-server/blue.gif b/images/modules/virtual-server/blue.gif new file mode 100644 index 000000000..603c5639a Binary files /dev/null and b/images/modules/virtual-server/blue.gif differ diff --git a/images/modules/virtual-server/down.gif b/images/modules/virtual-server/down.gif new file mode 100644 index 000000000..289f83ae6 Binary files /dev/null and b/images/modules/virtual-server/down.gif differ diff --git a/images/modules/virtual-server/icon.gif b/images/modules/virtual-server/icon.gif new file mode 100644 index 000000000..43797e3de Binary files /dev/null and b/images/modules/virtual-server/icon.gif differ diff --git a/images/modules/virtual-server/newbw.gif b/images/modules/virtual-server/newbw.gif new file mode 100644 index 000000000..384e9bd11 Binary files /dev/null and b/images/modules/virtual-server/newbw.gif differ diff --git a/images/modules/virtual-server/newchroot.gif b/images/modules/virtual-server/newchroot.gif new file mode 100644 index 000000000..6d3bede7e Binary files /dev/null and b/images/modules/virtual-server/newchroot.gif differ diff --git a/images/modules/virtual-server/newfields.gif b/images/modules/virtual-server/newfields.gif new file mode 100644 index 000000000..440ea8bbb Binary files /dev/null and b/images/modules/virtual-server/newfields.gif differ diff --git a/images/modules/virtual-server/newips.gif b/images/modules/virtual-server/newips.gif new file mode 100644 index 000000000..43e4f098a Binary files /dev/null and b/images/modules/virtual-server/newips.gif differ diff --git a/images/modules/virtual-server/newmxs.gif b/images/modules/virtual-server/newmxs.gif new file mode 100644 index 000000000..617e1916c Binary files /dev/null and b/images/modules/virtual-server/newmxs.gif differ diff --git a/images/modules/virtual-server/newnotify.gif b/images/modules/virtual-server/newnotify.gif new file mode 100644 index 000000000..17a173186 Binary files /dev/null and b/images/modules/virtual-server/newnotify.gif differ diff --git a/images/modules/virtual-server/newplan.gif b/images/modules/virtual-server/newplan.gif new file mode 100644 index 000000000..b72902d3e Binary files /dev/null and b/images/modules/virtual-server/newplan.gif differ diff --git a/images/modules/virtual-server/newplugin.gif b/images/modules/virtual-server/newplugin.gif new file mode 100644 index 000000000..a3b93ffca Binary files /dev/null and b/images/modules/virtual-server/newplugin.gif differ diff --git a/images/modules/virtual-server/newquotas.gif b/images/modules/virtual-server/newquotas.gif new file mode 100644 index 000000000..41d7ddaa4 Binary files /dev/null and b/images/modules/virtual-server/newquotas.gif differ diff --git a/images/modules/virtual-server/newresels.gif b/images/modules/virtual-server/newresels.gif new file mode 100644 index 000000000..3ba9bf298 Binary files /dev/null and b/images/modules/virtual-server/newresels.gif differ diff --git a/images/modules/virtual-server/newscripts.gif b/images/modules/virtual-server/newscripts.gif new file mode 100644 index 000000000..f909e710f Binary files /dev/null and b/images/modules/virtual-server/newscripts.gif differ diff --git a/images/modules/virtual-server/newtmpl.gif b/images/modules/virtual-server/newtmpl.gif new file mode 100644 index 000000000..b64b50c2d Binary files /dev/null and b/images/modules/virtual-server/newtmpl.gif differ diff --git a/images/modules/virtual-server/newupdate.gif b/images/modules/virtual-server/newupdate.gif new file mode 100644 index 000000000..e09387c1b Binary files /dev/null and b/images/modules/virtual-server/newupdate.gif differ diff --git a/images/modules/virtual-server/newuser.gif b/images/modules/virtual-server/newuser.gif new file mode 100644 index 000000000..e09387c1b Binary files /dev/null and b/images/modules/virtual-server/newuser.gif differ diff --git a/images/modules/virtual-server/newvalidate.gif b/images/modules/virtual-server/newvalidate.gif new file mode 100644 index 000000000..3b7a6907e Binary files /dev/null and b/images/modules/virtual-server/newvalidate.gif differ diff --git a/images/modules/virtual-server/newweb.gif b/images/modules/virtual-server/newweb.gif new file mode 100644 index 000000000..279202e30 Binary files /dev/null and b/images/modules/virtual-server/newweb.gif differ diff --git a/images/modules/virtual-server/red.gif b/images/modules/virtual-server/red.gif new file mode 100644 index 000000000..2841e8ade Binary files /dev/null and b/images/modules/virtual-server/red.gif differ diff --git a/images/modules/virtual-server/up.gif b/images/modules/virtual-server/up.gif new file mode 100644 index 000000000..8ec31ae40 Binary files /dev/null and b/images/modules/virtual-server/up.gif differ diff --git a/images/modules/virtual-server/usage-ftp.gif b/images/modules/virtual-server/usage-ftp.gif new file mode 100644 index 000000000..6b8623be5 Binary files /dev/null and b/images/modules/virtual-server/usage-ftp.gif differ diff --git a/images/modules/virtual-server/usage-mail.gif b/images/modules/virtual-server/usage-mail.gif new file mode 100644 index 000000000..4073bf78a Binary files /dev/null and b/images/modules/virtual-server/usage-mail.gif differ diff --git a/images/modules/virtual-server/usage-unix.gif b/images/modules/virtual-server/usage-unix.gif new file mode 100644 index 000000000..d9e4327d2 Binary files /dev/null and b/images/modules/virtual-server/usage-unix.gif differ diff --git a/images/modules/virtual-server/usage-web.gif b/images/modules/virtual-server/usage-web.gif new file mode 100644 index 000000000..603c5639a Binary files /dev/null and b/images/modules/virtual-server/usage-web.gif differ diff --git a/images/modules/virtual-server/users.gif b/images/modules/virtual-server/users.gif new file mode 100644 index 000000000..07fc14988 Binary files /dev/null and b/images/modules/virtual-server/users.gif differ diff --git a/images/modules/virtual-server/view.gif b/images/modules/virtual-server/view.gif new file mode 100644 index 000000000..3710abdce Binary files /dev/null and b/images/modules/virtual-server/view.gif differ diff --git a/images/modules/virtualmin-mailman/access.gif b/images/modules/virtualmin-mailman/access.gif new file mode 100644 index 000000000..a68fc993c Binary files /dev/null and b/images/modules/virtualmin-mailman/access.gif differ diff --git a/images/modules/virtualmin-mailman/dig.gif b/images/modules/virtualmin-mailman/dig.gif new file mode 100644 index 000000000..461c39f7f Binary files /dev/null and b/images/modules/virtualmin-mailman/dig.gif differ diff --git a/images/modules/virtualmin-mailman/digest.gif b/images/modules/virtualmin-mailman/digest.gif new file mode 100644 index 000000000..7f795a554 Binary files /dev/null and b/images/modules/virtualmin-mailman/digest.gif differ diff --git a/images/modules/virtualmin-mailman/head.gif b/images/modules/virtualmin-mailman/head.gif new file mode 100644 index 000000000..b4fda86be Binary files /dev/null and b/images/modules/virtualmin-mailman/head.gif differ diff --git a/images/modules/virtualmin-mailman/icon.gif b/images/modules/virtualmin-mailman/icon.gif new file mode 100644 index 000000000..0852859e0 Binary files /dev/null and b/images/modules/virtualmin-mailman/icon.gif differ diff --git a/images/modules/virtualmin-mailman/list.gif b/images/modules/virtualmin-mailman/list.gif new file mode 100644 index 000000000..5c11f7c58 Binary files /dev/null and b/images/modules/virtualmin-mailman/list.gif differ diff --git a/images/modules/virtualmin-mailman/members.gif b/images/modules/virtualmin-mailman/members.gif new file mode 100644 index 000000000..45579b7c3 Binary files /dev/null and b/images/modules/virtualmin-mailman/members.gif differ diff --git a/images/modules/virtualmin-mailman/mesg.gif b/images/modules/virtualmin-mailman/mesg.gif new file mode 100644 index 000000000..17a173186 Binary files /dev/null and b/images/modules/virtualmin-mailman/mesg.gif differ diff --git a/images/modules/virtualmin-mailman/misc.gif b/images/modules/virtualmin-mailman/misc.gif new file mode 100644 index 000000000..495a42928 Binary files /dev/null and b/images/modules/virtualmin-mailman/misc.gif differ diff --git a/images/modules/virtualmin-mailman/mod.gif b/images/modules/virtualmin-mailman/mod.gif new file mode 100644 index 000000000..b627b437d Binary files /dev/null and b/images/modules/virtualmin-mailman/mod.gif differ diff --git a/images/modules/virtualmin-mailman/subs.gif b/images/modules/virtualmin-mailman/subs.gif new file mode 100644 index 000000000..ab98a6085 Binary files /dev/null and b/images/modules/virtualmin-mailman/subs.gif differ diff --git a/images/modules/virtualmin-support/icon.gif b/images/modules/virtualmin-support/icon.gif new file mode 100644 index 000000000..0aa5c17ef Binary files /dev/null and b/images/modules/virtualmin-support/icon.gif differ diff --git a/images/modules/virtualmin-support/login.gif b/images/modules/virtualmin-support/login.gif new file mode 100644 index 000000000..a4eabf414 Binary files /dev/null and b/images/modules/virtualmin-support/login.gif differ diff --git a/images/modules/virtualmin-support/ticket.gif b/images/modules/virtualmin-support/ticket.gif new file mode 100755 index 000000000..8ca9379bf Binary files /dev/null and b/images/modules/virtualmin-support/ticket.gif differ diff --git a/images/modules/virtualmin-svn/access.gif b/images/modules/virtualmin-svn/access.gif new file mode 100644 index 000000000..a68fc993c Binary files /dev/null and b/images/modules/virtualmin-svn/access.gif differ diff --git a/images/modules/virtualmin-svn/config.gif b/images/modules/virtualmin-svn/config.gif new file mode 100644 index 000000000..6d3bede7e Binary files /dev/null and b/images/modules/virtualmin-svn/config.gif differ diff --git a/images/modules/virtualmin-svn/cvsweb.gif b/images/modules/virtualmin-svn/cvsweb.gif new file mode 100644 index 000000000..04c028df3 Binary files /dev/null and b/images/modules/virtualmin-svn/cvsweb.gif differ diff --git a/images/modules/virtualmin-svn/icon.gif b/images/modules/virtualmin-svn/icon.gif new file mode 100644 index 000000000..c261f6c0d Binary files /dev/null and b/images/modules/virtualmin-svn/icon.gif differ diff --git a/images/modules/virtualmin-svn/passwd.gif b/images/modules/virtualmin-svn/passwd.gif new file mode 100644 index 000000000..c6bc5174d Binary files /dev/null and b/images/modules/virtualmin-svn/passwd.gif differ diff --git a/images/modules/webalizer/icon.gif b/images/modules/webalizer/icon.gif new file mode 100644 index 000000000..e2b12cba8 Binary files /dev/null and b/images/modules/webalizer/icon.gif differ diff --git a/images/modules/webfetch/icon.gif b/images/modules/webfetch/icon.gif new file mode 100644 index 000000000..b043a887f Binary files /dev/null and b/images/modules/webfetch/icon.gif differ diff --git a/images/modules/webmin-iptables/chain.forward.gif b/images/modules/webmin-iptables/chain.forward.gif new file mode 100644 index 000000000..7df043ad1 Binary files /dev/null and b/images/modules/webmin-iptables/chain.forward.gif differ diff --git a/images/modules/webmin-iptables/chain.input.gif b/images/modules/webmin-iptables/chain.input.gif new file mode 100644 index 000000000..7ffa0c295 Binary files /dev/null and b/images/modules/webmin-iptables/chain.input.gif differ diff --git a/images/modules/webmin-iptables/chain.other.gif b/images/modules/webmin-iptables/chain.other.gif new file mode 100644 index 000000000..44538b342 Binary files /dev/null and b/images/modules/webmin-iptables/chain.other.gif differ diff --git a/images/modules/webmin-iptables/chain.output.gif b/images/modules/webmin-iptables/chain.output.gif new file mode 100644 index 000000000..b8cdc5ea2 Binary files /dev/null and b/images/modules/webmin-iptables/chain.output.gif differ diff --git a/images/modules/webmin-iptables/chain.postrouting.gif b/images/modules/webmin-iptables/chain.postrouting.gif new file mode 100644 index 000000000..b8cdc5ea2 Binary files /dev/null and b/images/modules/webmin-iptables/chain.postrouting.gif differ diff --git a/images/modules/webmin-iptables/chain.prerouting.gif b/images/modules/webmin-iptables/chain.prerouting.gif new file mode 100644 index 000000000..7ffa0c295 Binary files /dev/null and b/images/modules/webmin-iptables/chain.prerouting.gif differ diff --git a/images/modules/webmin-iptables/icon.gif b/images/modules/webmin-iptables/icon.gif new file mode 100644 index 000000000..c6015291e Binary files /dev/null and b/images/modules/webmin-iptables/icon.gif differ diff --git a/images/modules/webmin/access.gif b/images/modules/webmin/access.gif new file mode 100644 index 000000000..0f705382a Binary files /dev/null and b/images/modules/webmin/access.gif differ diff --git a/images/modules/webmin/advanced.gif b/images/modules/webmin/advanced.gif new file mode 100644 index 000000000..e1cac8691 Binary files /dev/null and b/images/modules/webmin/advanced.gif differ diff --git a/images/modules/webmin/anon.gif b/images/modules/webmin/anon.gif new file mode 100644 index 000000000..05a76c6b4 Binary files /dev/null and b/images/modules/webmin/anon.gif differ diff --git a/images/modules/webmin/assignment.gif b/images/modules/webmin/assignment.gif new file mode 100644 index 000000000..8cd148faf Binary files /dev/null and b/images/modules/webmin/assignment.gif differ diff --git a/images/modules/webmin/bind.gif b/images/modules/webmin/bind.gif new file mode 100644 index 000000000..3d1643092 Binary files /dev/null and b/images/modules/webmin/bind.gif differ diff --git a/images/modules/webmin/blocked.gif b/images/modules/webmin/blocked.gif new file mode 100644 index 000000000..a0dc6d925 Binary files /dev/null and b/images/modules/webmin/blocked.gif differ diff --git a/images/modules/webmin/ca.gif b/images/modules/webmin/ca.gif new file mode 100644 index 000000000..681ed2d1c Binary files /dev/null and b/images/modules/webmin/ca.gif differ diff --git a/images/modules/webmin/categories.gif b/images/modules/webmin/categories.gif new file mode 100644 index 000000000..904a39cfc Binary files /dev/null and b/images/modules/webmin/categories.gif differ diff --git a/images/modules/webmin/debug.gif b/images/modules/webmin/debug.gif new file mode 100644 index 000000000..51c48a234 Binary files /dev/null and b/images/modules/webmin/debug.gif differ diff --git a/images/modules/webmin/descs.gif b/images/modules/webmin/descs.gif new file mode 100644 index 000000000..6c717ee4c Binary files /dev/null and b/images/modules/webmin/descs.gif differ diff --git a/images/modules/webmin/icon.gif b/images/modules/webmin/icon.gif new file mode 100644 index 000000000..fc149c02f Binary files /dev/null and b/images/modules/webmin/icon.gif differ diff --git a/images/modules/webmin/lang.gif b/images/modules/webmin/lang.gif new file mode 100644 index 000000000..b57101b08 Binary files /dev/null and b/images/modules/webmin/lang.gif differ diff --git a/images/modules/webmin/lock.gif b/images/modules/webmin/lock.gif new file mode 100644 index 000000000..9a0e37e93 Binary files /dev/null and b/images/modules/webmin/lock.gif differ diff --git a/images/modules/webmin/log.gif b/images/modules/webmin/log.gif new file mode 100644 index 000000000..0b247c2ea Binary files /dev/null and b/images/modules/webmin/log.gif differ diff --git a/images/modules/webmin/mobile.gif b/images/modules/webmin/mobile.gif new file mode 100644 index 000000000..c912b31e3 Binary files /dev/null and b/images/modules/webmin/mobile.gif differ diff --git a/images/modules/webmin/mods.gif b/images/modules/webmin/mods.gif new file mode 100644 index 000000000..a3b93ffca Binary files /dev/null and b/images/modules/webmin/mods.gif differ diff --git a/images/modules/webmin/os.gif b/images/modules/webmin/os.gif new file mode 100644 index 000000000..39d164f6f Binary files /dev/null and b/images/modules/webmin/os.gif differ diff --git a/images/modules/webmin/proxy.gif b/images/modules/webmin/proxy.gif new file mode 100644 index 000000000..9d13da72c Binary files /dev/null and b/images/modules/webmin/proxy.gif differ diff --git a/images/modules/webmin/referers.gif b/images/modules/webmin/referers.gif new file mode 100644 index 000000000..43797e3de Binary files /dev/null and b/images/modules/webmin/referers.gif differ diff --git a/images/modules/webmin/sendmail.gif b/images/modules/webmin/sendmail.gif new file mode 100644 index 000000000..f3ff6dc3e Binary files /dev/null and b/images/modules/webmin/sendmail.gif differ diff --git a/images/modules/webmin/session.gif b/images/modules/webmin/session.gif new file mode 100644 index 000000000..370a2d8db Binary files /dev/null and b/images/modules/webmin/session.gif differ diff --git a/images/modules/webmin/ssl.gif b/images/modules/webmin/ssl.gif new file mode 100644 index 000000000..c164cfea8 Binary files /dev/null and b/images/modules/webmin/ssl.gif differ diff --git a/images/modules/webmin/startpage.gif b/images/modules/webmin/startpage.gif new file mode 100644 index 000000000..10d398fa3 Binary files /dev/null and b/images/modules/webmin/startpage.gif differ diff --git a/images/modules/webmin/status.gif b/images/modules/webmin/status.gif new file mode 100644 index 000000000..2ca3de493 Binary files /dev/null and b/images/modules/webmin/status.gif differ diff --git a/images/modules/webmin/themes.gif b/images/modules/webmin/themes.gif new file mode 100644 index 000000000..69f5db940 Binary files /dev/null and b/images/modules/webmin/themes.gif differ diff --git a/images/modules/webmin/twofactor.gif b/images/modules/webmin/twofactor.gif new file mode 100644 index 000000000..644446ad6 Binary files /dev/null and b/images/modules/webmin/twofactor.gif differ diff --git a/images/modules/webmin/ui.gif b/images/modules/webmin/ui.gif new file mode 100644 index 000000000..f125b82f4 Binary files /dev/null and b/images/modules/webmin/ui.gif differ diff --git a/images/modules/webmin/upgrade.gif b/images/modules/webmin/upgrade.gif new file mode 100644 index 000000000..a3b81b838 Binary files /dev/null and b/images/modules/webmin/upgrade.gif differ diff --git a/images/modules/webmin/web.gif b/images/modules/webmin/web.gif new file mode 100644 index 000000000..279202e30 Binary files /dev/null and b/images/modules/webmin/web.gif differ diff --git a/images/modules/webmin/webmincron.gif b/images/modules/webmin/webmincron.gif new file mode 100644 index 000000000..3b77e470b Binary files /dev/null and b/images/modules/webmin/webmincron.gif differ diff --git a/images/modules/webminguide/icon.gif b/images/modules/webminguide/icon.gif new file mode 100644 index 000000000..c8e333594 Binary files /dev/null and b/images/modules/webminguide/icon.gif differ diff --git a/images/modules/webminlog/icon.gif b/images/modules/webminlog/icon.gif new file mode 100644 index 000000000..0b247c2ea Binary files /dev/null and b/images/modules/webminlog/icon.gif differ diff --git a/images/modules/webminlog/star.gif b/images/modules/webminlog/star.gif new file mode 100644 index 000000000..3da7e412a Binary files /dev/null and b/images/modules/webminlog/star.gif differ diff --git a/images/modules/wpad-wizard/icon.gif b/images/modules/wpad-wizard/icon.gif new file mode 100644 index 000000000..78165d957 Binary files /dev/null and b/images/modules/wpad-wizard/icon.gif differ diff --git a/images/modules/wuftpd/acl.gif b/images/modules/wuftpd/acl.gif new file mode 100644 index 000000000..0f705382a Binary files /dev/null and b/images/modules/wuftpd/acl.gif differ diff --git a/images/modules/wuftpd/alias.gif b/images/modules/wuftpd/alias.gif new file mode 100644 index 000000000..3da735b6a Binary files /dev/null and b/images/modules/wuftpd/alias.gif differ diff --git a/images/modules/wuftpd/aliases.gif b/images/modules/wuftpd/aliases.gif new file mode 100644 index 000000000..3da735b6a Binary files /dev/null and b/images/modules/wuftpd/aliases.gif differ diff --git a/images/modules/wuftpd/anon.gif b/images/modules/wuftpd/anon.gif new file mode 100644 index 000000000..91e49357d Binary files /dev/null and b/images/modules/wuftpd/anon.gif differ diff --git a/images/modules/wuftpd/class.gif b/images/modules/wuftpd/class.gif new file mode 100644 index 000000000..681ed2d1c Binary files /dev/null and b/images/modules/wuftpd/class.gif differ diff --git a/images/modules/wuftpd/icon.gif b/images/modules/wuftpd/icon.gif new file mode 100644 index 000000000..6d3bede7e Binary files /dev/null and b/images/modules/wuftpd/icon.gif differ diff --git a/images/modules/wuftpd/log.gif b/images/modules/wuftpd/log.gif new file mode 100644 index 000000000..490a54023 Binary files /dev/null and b/images/modules/wuftpd/log.gif differ diff --git a/images/modules/wuftpd/message.gif b/images/modules/wuftpd/message.gif new file mode 100644 index 000000000..ff82029d5 Binary files /dev/null and b/images/modules/wuftpd/message.gif differ diff --git a/images/modules/wuftpd/misc.gif b/images/modules/wuftpd/misc.gif new file mode 100644 index 000000000..495a42928 Binary files /dev/null and b/images/modules/wuftpd/misc.gif differ diff --git a/images/modules/wuftpd/net.gif b/images/modules/wuftpd/net.gif new file mode 100644 index 000000000..6d3bede7e Binary files /dev/null and b/images/modules/wuftpd/net.gif differ diff --git a/images/modules/wuftpd/perm.gif b/images/modules/wuftpd/perm.gif new file mode 100644 index 000000000..c164cfea8 Binary files /dev/null and b/images/modules/wuftpd/perm.gif differ diff --git a/images/modules/xinetd/icon.gif b/images/modules/xinetd/icon.gif new file mode 100644 index 000000000..3d1643092 Binary files /dev/null and b/images/modules/xinetd/icon.gif differ diff --git a/images/modules/zones/icon.gif b/images/modules/zones/icon.gif new file mode 100644 index 000000000..ff4e41dc4 Binary files /dev/null and b/images/modules/zones/icon.gif differ diff --git a/images/modules/zones/zone.gif b/images/modules/zones/zone.gif new file mode 100644 index 000000000..ff4e41dc4 Binary files /dev/null and b/images/modules/zones/zone.gif differ diff --git a/images/movedown.gif b/images/movedown.gif new file mode 100644 index 000000000..5bd278150 Binary files /dev/null and b/images/movedown.gif differ diff --git a/images/movedown_dark.gif b/images/movedown_dark.gif new file mode 100644 index 000000000..27caa4386 Binary files /dev/null and b/images/movedown_dark.gif differ diff --git a/images/movegap.gif b/images/movegap.gif new file mode 100644 index 000000000..c04c50c11 Binary files /dev/null and b/images/movegap.gif differ diff --git a/images/moveup.gif b/images/moveup.gif new file mode 100644 index 000000000..8baa67994 Binary files /dev/null and b/images/moveup.gif differ diff --git a/images/moveup_dark.gif b/images/moveup_dark.gif new file mode 100644 index 000000000..5677c035a Binary files /dev/null and b/images/moveup_dark.gif differ diff --git a/images/not.png b/images/not.png new file mode 100644 index 000000000..774711fff Binary files /dev/null and b/images/not.png differ diff --git a/images/not_found.svg b/images/not_found.svg new file mode 100644 index 000000000..208a289cf --- /dev/null +++ b/images/not_found.svg @@ -0,0 +1,241 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + NOT FOUND + IMAGE + diff --git a/images/notifications_authentic_remote_version.png b/images/notifications_authentic_remote_version.png new file mode 100644 index 000000000..f743a8b9f Binary files /dev/null and b/images/notifications_authentic_remote_version.png differ diff --git a/images/notifications_csf_deny.png b/images/notifications_csf_deny.png new file mode 100644 index 000000000..5db436be7 Binary files /dev/null and b/images/notifications_csf_deny.png differ diff --git a/images/notifications_csf_remote_version.png b/images/notifications_csf_remote_version.png new file mode 100644 index 000000000..0179878db Binary files /dev/null and b/images/notifications_csf_remote_version.png differ diff --git a/images/notifications_package_message.png b/images/notifications_package_message.png new file mode 100644 index 000000000..8396ccdf8 Binary files /dev/null and b/images/notifications_package_message.png differ diff --git a/images/ok.gif b/images/ok.gif new file mode 100644 index 000000000..14eb7576f Binary files /dev/null and b/images/ok.gif differ diff --git a/images/open.gif b/images/open.gif new file mode 100644 index 000000000..1282b89f6 Binary files /dev/null and b/images/open.gif differ diff --git a/images/p1.gif b/images/p1.gif new file mode 100644 index 000000000..381b22901 Binary files /dev/null and b/images/p1.gif differ diff --git a/images/p2.gif b/images/p2.gif new file mode 100644 index 000000000..7399dcd4a Binary files /dev/null and b/images/p2.gif differ diff --git a/images/pack.gif b/images/pack.gif new file mode 100644 index 000000000..d6ad2c6f0 Binary files /dev/null and b/images/pack.gif differ diff --git a/images/palettes/nightRider/sort_asc.png b/images/palettes/nightRider/sort_asc.png new file mode 100644 index 000000000..50a705f4f Binary files /dev/null and b/images/palettes/nightRider/sort_asc.png differ diff --git a/images/palettes/nightRider/sort_both.png b/images/palettes/nightRider/sort_both.png new file mode 100644 index 000000000..da2f25b6b Binary files /dev/null and b/images/palettes/nightRider/sort_both.png differ diff --git a/images/palettes/nightRider/sort_desc.png b/images/palettes/nightRider/sort_desc.png new file mode 100644 index 000000000..eb474aa5a Binary files /dev/null and b/images/palettes/nightRider/sort_desc.png differ diff --git a/images/purple.gif b/images/purple.gif new file mode 100644 index 000000000..b0d3f572e Binary files /dev/null and b/images/purple.gif differ diff --git a/images/red.gif b/images/red.gif new file mode 100644 index 000000000..b1565aa7c Binary files /dev/null and b/images/red.gif differ diff --git a/images/replied.gif b/images/replied.gif new file mode 100644 index 000000000..e30008b53 Binary files /dev/null and b/images/replied.gif differ diff --git a/images/right-grey.gif b/images/right-grey.gif new file mode 100644 index 000000000..0928dd4f3 Binary files /dev/null and b/images/right-grey.gif differ diff --git a/images/right.gif b/images/right.gif new file mode 100644 index 000000000..81b9cbc70 Binary files /dev/null and b/images/right.gif differ diff --git a/images/screenshot.png b/images/screenshot.png new file mode 100644 index 000000000..f5ffae00b Binary files /dev/null and b/images/screenshot.png differ diff --git a/images/search.gif b/images/search.gif new file mode 100644 index 000000000..d933da701 Binary files /dev/null and b/images/search.gif differ diff --git a/images/smallicon.gif b/images/smallicon.gif new file mode 100644 index 000000000..c04c50c11 Binary files /dev/null and b/images/smallicon.gif differ diff --git a/images/sort_asc.png b/images/sort_asc.png new file mode 100644 index 000000000..2a1fe32a3 Binary files /dev/null and b/images/sort_asc.png differ diff --git a/images/sort_asc_disabled.png b/images/sort_asc_disabled.png new file mode 100644 index 000000000..dcd7b7b8c Binary files /dev/null and b/images/sort_asc_disabled.png differ diff --git a/images/sort_both.png b/images/sort_both.png new file mode 100644 index 000000000..18670406b Binary files /dev/null and b/images/sort_both.png differ diff --git a/images/sort_desc.png b/images/sort_desc.png new file mode 100644 index 000000000..901a9f06f Binary files /dev/null and b/images/sort_desc.png differ diff --git a/images/sort_desc_disabled.png b/images/sort_desc_disabled.png new file mode 100644 index 000000000..7824973cc Binary files /dev/null and b/images/sort_desc_disabled.png differ diff --git a/images/sortasc.gif b/images/sortasc.gif new file mode 100644 index 000000000..5491bfaf7 Binary files /dev/null and b/images/sortasc.gif differ diff --git a/images/sortascgrey.gif b/images/sortascgrey.gif new file mode 100644 index 000000000..82d18ab8d Binary files /dev/null and b/images/sortascgrey.gif differ diff --git a/images/sortdesc.gif b/images/sortdesc.gif new file mode 100644 index 000000000..27a36c18f Binary files /dev/null and b/images/sortdesc.gif differ diff --git a/images/sortdescgrey.gif b/images/sortdescgrey.gif new file mode 100644 index 000000000..8dd3f8972 Binary files /dev/null and b/images/sortdescgrey.gif differ diff --git a/images/special.gif b/images/special.gif new file mode 100644 index 000000000..fe534b1f0 Binary files /dev/null and b/images/special.gif differ diff --git a/images/staroff.gif b/images/staroff.gif new file mode 100644 index 000000000..1c0f3ac32 Binary files /dev/null and b/images/staroff.gif differ diff --git a/images/staron.gif b/images/staron.gif new file mode 100644 index 000000000..eeb8913ce Binary files /dev/null and b/images/staron.gif differ diff --git a/images/tick.gif b/images/tick.gif new file mode 100644 index 000000000..c04c50c11 Binary files /dev/null and b/images/tick.gif differ diff --git a/images/top.gif b/images/top.gif new file mode 100644 index 000000000..589b6a7b9 Binary files /dev/null and b/images/top.gif differ diff --git a/images/top.png b/images/top.png new file mode 100644 index 000000000..f749c1251 Binary files /dev/null and b/images/top.png differ diff --git a/images/top_dark.gif b/images/top_dark.gif new file mode 100644 index 000000000..3f4cb48ec Binary files /dev/null and b/images/top_dark.gif differ diff --git a/images/unknown.gif b/images/unknown.gif new file mode 100644 index 000000000..ad4d3b38a Binary files /dev/null and b/images/unknown.gif differ diff --git a/images/up.gif b/images/up.gif new file mode 100644 index 000000000..8baa67994 Binary files /dev/null and b/images/up.gif differ diff --git a/images/up_dark.gif b/images/up_dark.gif new file mode 100644 index 000000000..5677c035a Binary files /dev/null and b/images/up_dark.gif differ diff --git a/images/usage-ftp.gif b/images/usage-ftp.gif new file mode 100644 index 000000000..3633cb839 Binary files /dev/null and b/images/usage-ftp.gif differ diff --git a/images/usage-mail.gif b/images/usage-mail.gif new file mode 100644 index 000000000..a0e657320 Binary files /dev/null and b/images/usage-mail.gif differ diff --git a/images/usage-unix.gif b/images/usage-unix.gif new file mode 100644 index 000000000..d6cd591b0 Binary files /dev/null and b/images/usage-unix.gif differ diff --git a/images/usage-web.gif b/images/usage-web.gif new file mode 100644 index 000000000..1b670d2ba Binary files /dev/null and b/images/usage-web.gif differ diff --git a/images/use.gif b/images/use.gif new file mode 100644 index 000000000..2350b0d5a Binary files /dev/null and b/images/use.gif differ diff --git a/images/users.gif b/images/users.gif new file mode 100644 index 000000000..7416f19eb Binary files /dev/null and b/images/users.gif differ diff --git a/images/white.gif b/images/white.gif new file mode 100644 index 000000000..cc36b140e Binary files /dev/null and b/images/white.gif differ diff --git a/index.cgi b/index.cgi new file mode 100755 index 000000000..1212f8efc --- /dev/null +++ b/index.cgi @@ -0,0 +1,11 @@ +#!/usr/bin/perl + +# +# Authentic Theme (https://github.com/qooob/authentic-theme) +# Copyright Ilia Rostovtsev +# Licensed under MIT (https://github.com/qooob/authentic-theme/blob/master/LICENSE) +# + +use File::Basename; +require(dirname(__FILE__) . "/authentic-lib.pm"); +authentic(); diff --git a/lang/ca b/lang/ca new file mode 120000 index 000000000..34c4baf45 --- /dev/null +++ b/lang/ca @@ -0,0 +1 @@ +ca.UTF-8 \ No newline at end of file diff --git a/lang/ca.UTF-8 b/lang/ca.UTF-8 new file mode 100644 index 000000000..d412c9aea --- /dev/null +++ b/lang/ca.UTF-8 @@ -0,0 +1,726 @@ +body_cp=CPU +body_cpu=Mitjana de cĂ rrega del CPU +body_cpuinfo=InformaciĂł del CPU +body_cputemps=Temperatures del CPU +body_cputype=$5, $8 nucli(s) +body_disk=Espai total en disc +body_driveerr=$1 errors! +body_drivefailed=El control SMART ha fallat! +body_drivetemps=Temperatura dels discs +body_firewall=VersiĂł del tallafoc +body_header0=InformaciĂł del sistema +body_header1=InformaciĂł del compte +body_host=Nom del sistema (adreça IP) +body_kernel=VersiĂł del nucli +body_kernelon=$1 $2 de $3 +body_load=$1 (1 minut) $2 (5 minuts) $3 (15 minuts) +body_os=Sistema Operatiu +body_procs=Processos en execussiĂł +body_real=Memoria real +body_time=Hora del sistema +body_updates=Actualitzacions de paquets +body_updays=$1 dies, $2 hores, $3 minuts +body_uphours=$1 hores, $2 minuts +body_upmins=$1 minuts +body_upneed=Hi ha disponibles $1 actualitzacions +body_upneed1=Hi ha disponibles $1 actualitzacions +body_upok=Tots els paquets instal·lats estan actualitzats +body_upsec=$1 actualitzacions de paquets estan disponibles, dels quals $2 sĂłn actualitzacions de seguretat +body_upsec1=$1 actualitzacions de paquets estan disponibles, dels quals $2 sĂłn actualitzacions de seguretat +body_upsec2=$1 actualitzacions de paquets estan disponibles, dels quals $2 sĂłn actualitzacions de seguretat +body_upsec3=$1 actualitzacions de paquets estan disponibles, dels quals $2 sĂłn actualitzacions de seguretat +body_uptime=Temps total del sistema +body_used=$1 total / $2 utilitzat +body_used_and_free=$1 total / $2 lliure / $3 utilitzat +body_usermin=VersiĂł d'Usermin +body_virt=MemĂČria virtual +body_webmin=VersiĂł del Webmin + +left_favorites=Favorits +left_favorites_no=Encara no s'ha afegit cap favorit... +left_feedback=Envian's la teva opiniĂł +left_home=InformaciĂł del sistema +left_others=Altres +left_refresh_modules=Refresca els mĂČduls +left_search=Cercar +left_statistics=EstadĂ­stiques del sistema + +login_danger=ATENCIÓ +login_message=Has d'introduĂŻr un nom d'usuari i contrasenya per iniciar la sessiĂł +login_pass=Contrasenya +login_reset=Restableix +login_save=Recorda'm +login_signin=Entrar +login_success=CORRECTE +login_token=Identificador +login_user=Usuari +login_warning=ERROR + +session_failed=Usuari o contrasenya incorrecta, torna-ho a provar. +session_logout=Has sortit correctament del sistema. +session_timed_out=La teva sessiĂł ha caducat desprĂ©s de $1 minuts d'inactivitat. +session_twofailed=L'autenticaciĂł en dos factors ha fallat: $1 + +right_aliases=Àlies de servidors +right_bw=Ús i lĂ­mit de l'ample de banda +right_dom=Nom del servidor +right_faliases=Àlies de correu +right_fdbs=Bases de dades +right_fdoms=Servidors virtuals +right_from=IP de connexiĂł +right_fusers2=Usuaris FTP +right_fusers=Usuaris Mail/FTP +right_fvm2=MĂ quines virtuals +right_fweb=Llocs web virtuals +right_licenceheader_vm2=LlicĂšncies Cloudmin +right_login=Connectat com a +right_not=No istal·lat +right_of=$1 de $2 +right_quota=Quota Ășs del dics +right_reselip=(DistribuĂŻdor $1) +right_sharedip=(IP compartida) +right_slcheck=Torna a verificar la llicĂšncia de Cloudmin +right_subs=Sub-servidors +right_virtdocs2=DocumentaciĂł addicional +right_virtualmin=VersiĂł de Virtualmin +right_vlcheck=Torna a verificar la llicĂšncia de Virtualmin +right_vm2=VersiĂł de Cloudmin + + + + + + + + + + +settings_right_options=Opcions +settings_right_restore_defaults=Restaura a valors per defecte +settings_right_restored=Restaurat +settings_right_restoring=Restaurant... +settings_right_saved=Desat +settings_right_saving=Desant... + +settings_right_theme_extensions=Complements +settings_right_theme_extensions_title=Complements +settings_right_file_edit=Edita l'arxiu del complement: +settings_right_extensions_title=El disseny obert del tema et permet manipular fĂ cilment parts especĂ­fiques de la interfĂ­cie. + +settings_right_theme_logos=Logotip +settings_right_theme_logos_title=Logotip +settings_right_logos_title=Els logotips, tant pels usuaris autenticats com no, es poden configurar aquĂ­. Es recomana utilitzar una imatge de 180x90 pĂ­xels utilitzant el format PNG si es vol utilitzar transparĂšncia. +settings_right_logo_authenticated_users=Logotip per a usuaris autenticats +settings_right_logo_unauthenticated_users=Logotip per usuaris no autenticats + +settings_right_current_theme=Tema actual +settings_right_title=Equesta pĂ gina et permet configurar les opcions per a l'Authentic Theme. Cal que desis els canvis per tal que les modificacions quedin gravades. +settings_right_theme_left_configuration_title=ConfiguraciĂł de l'Authentic Theme +settings_right_theme_left_extensions_title=Editor de Complements +settings_right_theme_left_logo_title=GestiĂł del logotip +settings_right_theme_configurable_options_title=Opcions de configuraciĂł + + +settings_right_window_options_title=Finestra d'opcions +settings_right_navigation_menu_title=Opcions del menĂș de navegaciĂł +settings_right_table_options_title=Opcions de les taules +settings_security_title=Opcions de les alertes de seguretat +settings_security_description=Les alertes de seguretat permeten configurar l'enviament de notificacions per correu en determinats esdeveniments.
    Format: Message|Subject|Comma separated list of users/emails|Comma separated list of ignored IPv4/IPv6
    Usage: %3 successful login alert for user %1 from %2|%3 successful login alert|root,user@example.org|1.2.3.4,5.6.7.8
    Output: From: root, To: root, Subject: Webmin successful login alert, Message: Webmin successful login alert for user root from 2.3.4.5 +settings_right_hotkey_options_title=Opcions de les dreceres +settings_right_sysinfo_page_options_title=Opcions de la pàgina d'informació del sistema + +settings_right_hotkey_custom_options_description=Les dreceres personalitzades permeten utilitzar els dígits del 1 fins al 9 per tal d'accedir de forma ràpida a qualsevol element. La URL es pot obtenir mirant el seu orígen. És important que la URL no tingui la barra inclinada ni utilitzi cap prefixe.
    Per exemple, per accedir rĂ pidament al mĂČdul Apache cal definir al camp "Drecera 1", el parĂ metre /apache/. Si la opciĂł de drecera estĂ  configurat a ALT, prement "Alt+1" s'obrirĂ  el mĂČdul d'apache. +settings_hotkey_custom_1=Drecera 1 +settings_hotkey_custom_2=Drecera 2 +settings_hotkey_custom_3=Drecera 3 +settings_hotkey_custom_4=Drecera 4 +settings_hotkey_custom_5=Drecera 5 +settings_hotkey_custom_6=Drecera 6 +settings_hotkey_custom_7=Drecera 7 +settings_hotkey_custom_8=Drecera 8 +settings_hotkey_custom_9=Drecera 9 + +settings_navigation_color=Color del menĂș de navegaciĂł +settings_background_color=Color del fons +settings_animation_left=Habilita l'animaciĂł en el menĂș de navegaciĂł +settings_animation_tabs=Habilita l'animaciĂł en les pestanyes +settings_loader_top=Habilitar la barra de progrĂ©s superior +settings_loader_left=Habilitar el selector pel menĂș de navegaciĂł +settings_right_reload=Carrega els continguts per dectecte de la pĂ gina +settings_right_reload_description=Quan es canvia de pestanya, el contingut del marc dret es torna a carregar. Vols descartar el contingut actual i regarregar amb els valors per defecte? + +settings_right_hide_table_icons=Amagar les icones +settings_right_hide_table_icons_description=Mostra enllaços en comptes d'icones en les taules. +settings_right_small_table_icons=Icones petites en les taules +settings_right_small_table_icons_description=Mostra icones petites en les taules. +settings_right_animate_table_icons=Habilita l'animaciĂł de les icones +settings_right_grayscaled_table_icons=Mostra les icones sense color + +settings_leftmenu_section_hide_refresh_modules=Amagar l'enllaç d'actualitzaciĂł de mĂČduls +settings_leftmenu_section_hide_unused_modules=Amagar l'enllaç dels mĂČduls no utilitzats +settings_favorites=Mostrar el botĂł de favorits +settings_leftmenu_button_language=Mostrar el botĂł de l'idioma +settings_leftmenu_button_refresh=Mostrar el botĂł d'actualitzaciĂł dels mĂČduls + +settings_theme_options_button=Mostrar el botĂł de la configuraciĂł del tema + +settings_hotkeys_active=Habilita les dreceres +settings_hotkey_toggle_modifier=OpciĂł de drecera +settings_hotkey_toggle_key_webmin=Drecera per Webmin +settings_hotkey_toggle_key_virtualmin=Drecera per Virtualmin +settings_hotkey_toggle_key_cloudmin=Drecera per Cloudmin +settings_hotkey_toggle_key_usermin=Drecera per Usermin +settings_hotkey_toggle_key_webmail=Drecera pel Correu +settings_hotkey_sysinfo=Drecera del tauler +settings_hotkey_shell=Drecera pel terminal +settings_hotkey_favorites=Drecera pels favorits +settings_hotkey_focus_search=Drecera per cerques +settings_hotkey_reload=Drecera per recarregar pĂ gina + +settings_side_slider_background_refresh_time=FreqĂŒĂšncia d'actualitzaciĂł de les notificacions +settings_side_slider_background_refresh_time_description=Estableix un temps d'espera, en minuts, per actualitzar les notificacions. +settings_sysinfo_easypie_charts=Mostrar les grĂ fiques +settings_sysinfo_theme_updates=Comprova actualitzacions del tema +settings_sysinfo_csf_updates=Comprova les actualitzacions de seguretat i tallafocs +settings_sysinfo_drive_status_on_new_line=Mostrar l'estat del CPU i dels discs en lĂ­nies diferents +settings_sysinfo_expand_all_accordions=Expandeix-ho tot +settings_sysinfo_link_mini=Mostrar l'enllaç d'informaciĂł del sistema com a un botĂł + +settings_right_page_defaults_title=PĂ gines per defecte +settings_right_default_tab_webmin=PĂ gina per defecte de Webmin +settings_right_default_tab_usermin=PĂ gina per defecte d'Usermin +settings_right_virtualmin_default=PĂ gina per defecte de Virtualmin +settings_right_cloudmin_default=PĂ gina per defecte de Cloudmin + +settings_right_clear_local_cache=Neteja la memĂČria cau +settings_right_notification_slider_options_title=Opcions del panell dret +settings_side_slider_fixed=Mantenir sempre visible +settings_side_slider_palette=Color del fons +settings_hotkey_toggle_slider=Dreceres del panell dret +settings_window_replace_timestamps=Habilita la substituciĂł de dates +settings_window_replaced_timestamp_format_short=Format de data/hora curta +settings_window_replaced_timestamp_format_full=Format de data/hora llarga +settings_window_replaced_timestamps_options_description=Modifica la configuraciĂł de la data i hora per obtenir el format desitjat. Aquesta opciĂł nomĂ©s tĂ© efectes al panell de notificacions i en la informaciĂł del sistema. Per defecte el format llarg correspon a LLLL i el curt L, LTS. El format Ă©s diferent per a cada zona horĂ ria. + +settings_side_slider_enabled=Habilitar el panell dret +settings_leftmenu_user_html=Mostrar retall HTML +settings_leftmenu_user_html_description=El codi HTML s'injectarĂ  al final del menĂș de navegaciĂł. Es pot utilitzar per identificar el sistema, per exemple. + + +theme_changelog=Notes de la versiĂł +theme_conference=Conversa del tema +theme_development_support=Ajuda al desenvolupament +theme_donate=DonaciĂł +theme_download=Descarregar +theme_name=Autentic-theme +theme_update=Actualitzar +theme_update_available=Última versiĂł disponible +theme_update_notice=InformaciĂł de l'actualitzaciĂł +theme_version=VersiĂł del tema + + +# Version 17.40 +theme_global_error=ERROR +theme_global_warning=ATENCIÓ +theme_global_success=CORRECTE +theme_global_info=INFORMACIÓ +sysinfo_system_status_warning=Per mostrar la InformaciĂł del sistema has d'habilitar el mĂČdul Estat del sistema. +settings_leftmenu_user_html_only_for_administrator=Mostrar el retall HTML nomĂ©s als administradors +theme_sysinfo_wmdocs=DocumentaciĂł de Webmin +theme_sysinfo_vmdocs=DocumentaciĂł de Virtualmin +theme_sysinfo_cmdocs=DocumentaciĂł de Cloudmin +theme_fileformat_css=CSS +theme_fileformat_json=JSON +theme_fileformat_js=Javascript +theme_fileformat_plain_text=Text pla + +theme_xhred_titles_wm=Webmin +theme_xhred_titles_um=Usermin +theme_xhred_titles_dashboard=Tauler +theme_xhred_titles_mail=Correu +theme_xhred_titles_vm=Virtualmin +theme_xhred_titles_cm=Cloudmin +theme_xhred_titles_thirdlane=De tercers + +theme_xhred_global_please_wait=Espera un moment... +theme_xhred_filemanager_copying_selected=Copiant els elements seleccionats. +theme_xhred_filemanager_cutting_selected=Tallant els elements seleccionats. +theme_xhred_filemanager_pasting_selected=Enganxant des del porta-retalls. +theme_xhred_filemanager_unpacking_archive=Descomprimint els arxius seleccionats. +theme_xhred_filemanager_deleting_selected=Eliminant els elements seleccionats. +theme_xhred_filemanager_renaming_selected=Canviant de nom l'element seleccionat. +theme_xhred_filemanager_creating_directory=Creant una nova carpeta +theme_xhred_filemanager_creating_file=Creant un nou arxiu +theme_xhred_filemanager_downloading_from=Descarregant des de +theme_xhred_filemanager_setting_permissions=Establir els permisos %value en els arxius seleccionats. +theme_xhred_filemanager_changing_ownership=Canviar la propietat %value en els arxius seleccionats. +theme_xhred_filemanager_compressing_selected=Comprimint els elements seleccionats en segon pla. +theme_xhred_filemanager_refreshing=Actualitzant el contingut de la carpeta. +theme_xhred_filemanager_copying_successful=S'ha copiat al porta-retalls. +theme_xhred_filemanager_cutting_successful=S'ha tallat al porta-retalls. +theme_xhred_filemanager_pasting_successful=S'ha enganxat des del porta-retalls. +theme_xhred_filemanager_bookmark_success=La carpeta %value s'ha afegit correctament als teus marcadors. +theme_xhred_filemanager_searching=Cercant el valor `%value` en els arxius i carpetes. +theme_xhred_filemanager_search_founds=S'han trobat %value elements. +theme_xhred_filemanager_search_found=S'ha trobat 1 element. +theme_xhred_filemanager_search_no_matches=La cerca no ha trobat cap resultat. +theme_xhred_filemanager_nothing_is_selected=No hi ha res seleccionat. +theme_xhred_filemanager_saving_file=L'arxiu `%value` s'ha desat. +theme_xhred_filemanager_file_saved=L'arxiu `%value` s'ha desat correctament. +theme_xhred_filemanager_not_editable=No Ă©s possible editar aquests elements. +theme_xhred_filemanager_not_decompressable=No Ă©s possible descomprimir aquest arxiu. +theme_xhred_filemanager_no_selection_to_copy=No s'ha seleccionat cap arxiu ni carpeta per copiar. +theme_xhred_filemanager_no_selection_to_cut=No s'ha seleccionat cap arxiu ni carpeta per tallar. +theme_xhred_filemanager_empty_clipboard=El porta-retalls Ă©s buit. + +theme_xhred_filemanager_successful_extraction=S'han descomprimit correctament els arxius seleccionats. +theme_xhred_filemanager_successful_deletion=S'ha eliminat correctament. +theme_xhred_filemanager_successful_permissions=Els permisos s'han aplicat correctament. +theme_xhred_filemanager_successful_ownership=El propietari s'ha canviat correctament. +theme_xhred_filemanager_successful_compression=La compressiĂł ha acabat correctament. +theme_xhred_filemanager_successful_directory_creation=S'ha creat correctament la carpeta `%value`. +theme_xhred_filemanager_successful_file_creation=S'ha creat correctament l'arxiu `%value`. + +theme_xhred_notifications_packages_updates=ActualitzaciĂł de paquests +theme_xhred_notifications_theme_update=ActualitzaciĂł del tema +theme_xhred_notifications_theme_update_message=S'ha trobat una nova versiĂł (%v) de l'authentic-theme. Actualitza'l. +theme_xhred_notifications_firewall_update=ActualitzaciĂł del tallafocs +theme_xhred_notifications_firewall_update_message=Hi ha disponible una nova versiĂł (%v) de la configuraciĂł de seguretat del servidor. Actualitza-ho. + +theme_xhred_notifications_firewall_danger=Perill +theme_xhred_notifications_firewall_danger_message=Sembla que el ConfigServer Server Security and Firewall no s'estĂ  executant o s'ha parat. Comprova la configuraciĂł del tallafocs (%v) + +theme_xhred_notifications_firewall_warning=AtenciĂł + +#17.50 +settings_grayscale_level_navigation=Filtre del color +settings_grayscale_level_navigation_description=Valor per defecte/Actual: 0/0 +settings_sepia_level_navigation=Filtre tintat SĂ­pia +settings_sepia_level_navigation_description=Valor per defecte/Actual: 0/0 +settings_saturate_level_navigation=Filtre de saturaciĂł +settings_saturate_level_navigation_description=Valor per defecte/Actual: 1/0 +settings_hue_level_navigation=Filtre de matĂ­s +settings_hue_level_navigation_description=Valor per defecte/Actual: 0°/0° +settings_invert_level_navigation=Filtre d'inversiĂł +settings_invert_level_navigation_description=Valor per defecte/Actual: 0/0 +settings_brightness_level_navigation=Filtre de brillantor +settings_brightness_level_navigation_description=Valor per defecte/Actual: 1/0 +settings_contrast_level_navigation=Filtre de contrast +settings_contrast_level_navigation_description=Valor per defecte/Actual: 1/0 + +settings_grayscale_level_content=Filtre del color +settings_grayscale_level_content_description=Valor per defecte/Actual: 0/0 +settings_saturate_level_content=Filtre de saturaciĂł +settings_saturate_level_content_description=Valor per defecte/Actual: 1/0 +settings_hue_level_content=Filtre de matĂ­s +settings_hue_level_content_description=Valor per defecte/Actual: 0°/0° + +settings_cm_view_palette=Colors del visor +settings_cm_editor_palette=Editor dels colors + +theme_xhred_filemanager_context_select_all=Selecciona-ho tot +theme_xhred_filemanager_context_select_invert=Inverteix la selecciĂł +theme_xhred_filemanager_context_refresh=Actualitza +theme_xhred_filemanager_context_newfile=Crea un nou arxiu +theme_xhred_filemanager_context_newfoder=Crea una carpeta nova +theme_xhred_filemanager_context_copy=Copia +theme_xhred_filemanager_context_cut=Retalla +theme_xhred_filemanager_context_paste=Enganxa +theme_xhred_filemanager_context_chmod=Canvia els permisos (CHMOD) +theme_xhred_filemanager_context_chown=Canvia el propietari (CHOWN) + +#17.51 +theme_xhred_filemanager_context_new=Nou +theme_xhred_filemanager_context_newarchive=Crea un nou arxiu comprimit +theme_xhred_filemanager_context_delete=Elimina +theme_xhred_filemanager_context_rename=Canvia el nom +theme_xhred_filemanager_context_edit=Edita +theme_xhred_filemanager_context_extract=Descomprimeix +theme_xhred_filemanager_context_goto=Obre la ubicaciĂł de l'element +theme_xhred_filemanager_context_properties=Propietats +theme_xhred_filemanager_context_search=Cerca + +#17.52 +theme_xhred_filemanager_context_deselect_all=Deselecciona-ho tot +theme_xhred_filemanager_context_upload=Puja a la carpeta actual +theme_xhred_filemanager_context_download=Descarrega des d'una ubicaciĂł remota + +#17.53 +theme_settings_virtualmin=Servidors virtuals de Virtualmin +theme_settings_cloudmin=Sistemes gestionats per Cloudmin +settings_right_thirdparties_options_title=Opcions dels mĂČduls de tercers +theme_xhred_filemanager_context_calculate_size=Calcula la mida +theme_xhred_filemanager_context_bookmarks=Marcadors +theme_xhred_filemanager_context_bookmark_current=Marca la ruta actual +theme_xhred_filemanager_context_transfer=Transfereix + +#17.54 +theme_xhred_filemanager_title_symlink_target=Adreça de l'enllaç + +#17.60 +right_unlimited=Il·limitat +settings_leftmenu_width=Amplada del panell de navegaciĂł +settings_leftmenu_width_description=Amplada per defecte/actual: 260/0 +settings_switch_rdisplay=Mostrar la pestanya Tauler en primer lloc +settings_switch_rdisplay_description=Aquesta opciĂł canvia l'ordre de les pestanyes. Has d'actualitzar la pĂ gina per aplicar la nova configuraciĂł. + + +#17.63 +theme_xhred_filemanager_context_calculate_selected_size=Calcula la mida dels elements seleccionats +theme_xhred_filemanager_selected_entries=Seleccionat: %value elements +theme_xhred_filemanager_manual_path=Escriu la ruta + +theme_xhred_datatable_semptytable=No s'ha trobat cap dada +theme_xhred_datatable_sinfo=Mostrant _START_ a _END_ de _TOTAL_ elements +theme_xhred_datatable_sinfoempty=Mostrant 0 a 0 de 0 elements +theme_xhred_datatable_slengthmenu=Mostra _MENU_ elements +theme_xhred_datatable_sloadingrecords=Carregant +theme_xhred_datatable_sprocessing=Processant... +theme_xhred_datatable_szerorecords=No s'ha trobat cap element en la cerca + +#17.64 +theme_xhred_filemanager_file_edit_but_not_saved=L'arxiu s'ha editat perĂČ encara no s'ha desat. +theme_xhred_filemanager_file_edit_but_not_saved_what_to_do=QuĂš vols fer? +theme_xhred_global_save=Desar +theme_xhred_global_save_and_close=Desar i tancar +theme_xhred_global_close_without_saving=Tancar sense desar +theme_xhred_global_continue_editing=Continuar editant +theme_xhred_filemanager_context_download_file=Descarregar + +#17.65 +settings_sysinfo_easypie_charts_width= Amplada de lĂ­nia +settings_sysinfo_easypie_charts_scale= Escala + +#17.80 +right_return_theme_options=opcions del tema +theme_xhred_datatable_semptydirectory=El directori Ă©s buit +theme_xhred_filemanager_context_clipboard=Copia la ruta al porta-retalls +theme_xhred_global_warning=Alerta +theme_xhred_global_close=Tancar +theme_xhred_encoding_warning=S'ha detectat que no utilitzes carĂ cters unicode.Poden aparĂšixer carĂ cters no desitjats. Pots canviar la configuraciĂł de l'idioma a %prod Configuration to %lang.UTF-8 i assegura que el teu navegador es capaç de detectar-lo correctament. Tingues en compte que el mĂČdul "Canvi d'idioma i tema" pot sobreescriure la configuraciĂł general. + +theme_xhred_filemanager__no_bookmarks=No s'ha desat cap marcador +theme_xhred_filemanager_unbookmark_success=La carpeta %value s'ha eliminat correctament dels teus marcadors. +theme_xhred_filemanager_bookmark=Marcar la carpeta actual +theme_xhred_filemanager_unbookmark=Desmarcar la carpeta actual +theme_xhred_filemanager_move_into_self=No Ă©s possible moure la carpeta sobre si mateixa! La carpeta de destĂ­ estĂ  a sobre de la carpeta d'orĂ­gen. +theme_xhred_filemanager_pasting_and_copying_1=L'element seleccionat s'ha enganxat correctament utilitzant el nou nom. +theme_xhred_filemanager_pasting_and_copying_2=Els elements seleccionats s'han enganxat correctament utilitzant el nou nom. +theme_xhred_filemanager_pasting_and_replacing_1=L'element existent s'ha desplaçat correctament. +theme_xhred_filemanager_pasting_and_replacing_2=Els elements existents s'han desplaçat correctament. +theme_xhred_filemanager_target_conflict_1=S'ha detectat un conflicte en el destĂ­. +theme_xhred_filemanager_target_conflict_2=S'han detectat conflictes en el destĂ­. +theme_xhred_filemanager_target_conflict_message_1=L'element ja existeix! QuĂš vols fer? +theme_xhred_filemanager_target_conflict_message_2=Els elements ja existeixen! QuĂš vols fer? +theme_xhred_filemanager_target_conflict_replace=Substitueix +theme_xhred_filemanager_target_conflict_paste=Enganxar amb un nou nom + +theme_xhred_editor_help_title=Editor de dreceres de teclat +theme_xhred_editor_help_content=
    Cerca/Substitueix
    Tecla Comanda
    Ctrl + F Cerca
    Ctrl + H Substitueix
    Ctrl + ⇧ + R Substitueix-ho tot
    Ctrl + G Cercar el segĂŒent
    Ctrl + ⇧ + G Cercar l'anterior
    Alt + G Salta a la lĂ­nia
    ManipulaciĂł del text
    Tecla Comanda
    Ctrl + KU Transforma en majĂșscules
    Ctrl + KL Transforma en minĂșscules
    Editant
    Tecla Comanda
    Ctrl + Space Habilita autocompletar
    Ctrl + X Talla la lĂ­nia
    Ctrl + ⇧ + ↑ Moure línia/selecció cap amunt
    Ctrl + ⇧ + ↓ Moure línia/selecció cap avall
    Ctrl + L Selecciona la lĂ­nia - Repeteix per seleccionar les segĂŒents lĂ­nies
    Ctrl + D Selecciona paraula - Repeteix per seleccionar les altres
    Ctrl + M Salta per tancar parĂšntesis. Repeteix per obrir parĂšntesis
    Ctrl + ⇧ + M Selecciona tots els continguts de dins el parùntesis actual
    Ctrl + ⇧ + K Elimina la línia
    Ctrl + KK Elimina des del cursos fins al final de la lĂ­nia
    Ctrl + K + retrocés Elimina des del cursor fins al principi de la línia
    Ctrl + ⇧ + D Duplica les línies
    Ctrl + J Ajunta la lĂ­nia de sota amb el final de la lĂ­nia actual
    Ctrl + / Comenta/descomenta la lĂ­nia actual
    Ctrl + ⇧ + / Comenta la selecció actual
    Ctrl + Y DesfĂ©s, o repeteix la Ășltima comanda
    Ctrl + ⇧ + V Enganxa
    Ctrl + Space Selecciona la segĂŒent suggerĂšncia automĂ tica
    Ctrl + U desfer suau; salta cap a l'Ășltim canvi realitzat desfent el canvi quan es repeteixi
    + +theme_xhred_filemanager_hide_toolbar=Amagar la barra d'eines +theme_xhred_filemanager_hide_actions=Amagar la columna d'accions +theme_xhred_filemanager_hovered_toolbar=Habilitar el desplegament automĂ tic +theme_xhred_filemanager_context_delete_selected=Elimina els elements seleccionats + +#17.83 +theme_xhred_database_adding_new_row=Afegint una nova fila +theme_xhred_database_editing_row=Editant la fila seleccionada +theme_xhred_database_editing_rows=Editant les files seleccionades +theme_xhred_database_adding_new_row_data=Afegeint noves dades + +#17.84 +theme_xhred_datatable_filter=Filtre + +theme_xhred_global_update=Actualitza +theme_xhred_global_update_and_return=Actualitza i retorna +theme_xhred_global_update_and_close=Actualitza i tanca +theme_xhred_global_back=Enrrere +theme_xhred_global_cancel=Cancel·la + +theme_xhred_database_add_row_successful=La nova filera s'ha afegit correctament +theme_xhred_database_edit_row_successful=La filera seleccionada s'ha editat correctament +theme_xhred_database_edit_rows_successful=Les fileres seleccionades s'han editat correctament +theme_xhred_database_edit_row_delete_successful=La filera seleccionada s'ha eliminat correctament +theme_xhred_database_edit_rows_delete_successful=S'han eliminat correctament %n fileres +theme_xhred_database_edit_field_delete_successful=El camp seleccionat s'ha eliminat correctament +theme_xhred_database_edit_fields_delete_successful=S'han eliminat correctament %n camps +theme_xhred_database_edit_selected_row=Editar la filera seleccionada +theme_xhred_database_edit_selected_rows=Editar les fileres seleccionades +theme_xhred_database_add_new_row=Afegir nova filera +theme_xhred_database_delete_selected_row=Eliminar la fila seleccionada +theme_xhred_database_delete_selected_rows=Eliminar les files seleccionades +theme_xhred_database_delete_selected_field=Eliminar el camp seleccionat +theme_xhred_database_delete_selected_fields=Eliminar els camps seleccionats +theme_xhred_database_object_selected_delete=Eliminar l'objecte seleccionat +theme_xhred_database_objects_selected_delete=Eliminar els objectes seleccionats +theme_xhred_database_db_selected_drop=Elimina la base de dades seleccionada +theme_xhred_database_dbs_selected_drop=Elimina les base de dades seleccionades +theme_xhred_database_edit_but_not_saved=La informaciĂł de la taula s'ha modificat perĂČ encara no s'ha desat. + +theme_xhred_global_no_such_command=Sembla que la comanda %cmd no estĂ  instal·lada o no es troba en la ruta per defecte en el sistema. + +theme_xhred_global_notice=NotificaciĂł + +theme_xhred_updates_disabled_notice=S'ha detectat que no has habilitat les notificacions per l'Authentic Theme.

    Habilitant aquesta caracterĂ­stica ConfiguraciĂł del tema t'ajudarĂ  estar actualitzat a la Ășltima versiĂł. + + +#18.00 +theme_xhred_global_file=Arxiu +theme_xhred_global_directory=Carpeta +theme_xhred_global_no_target=DestĂ­ inexistent o inaccessible +theme_xhred_global_error_code=Codi d'error +theme_xhred_global_on=Si +theme_xhred_global_off=No +theme_xhred_global_all=Tots +theme_xhred_global_none=Cap +theme_xhred_global_yes=Si +theme_xhred_global_no=No + +theme_xhred_filemanager_new_tab=Afegir nova pestanya (Ctrl+Espai) +theme_xhred_datatable_no_search_results=No s'ha trobat cap resultat
    Utilitza un altre criteri de cerca + +theme_xhred_filemanager_buffer_error=S'ha produĂŻt un error mentres s'enganxaven els arxius al bĂșfer - permĂ­s denegat. + +filemanager_create_object_exists=$3 `$1` ja existeix a `$2` +filemanager_create_object_denied=No es pot crear $3 `$1` en `$2` - permĂ­s denegat. + +filemanager_paste_warning=No Ă©s possible enganxar l'objecte. Podria ser que els objectes s'hagin canviat de nom, mogut, eliminat o que no tinguis permĂ­s d'escriptura. + +theme_xhred_filemanager_delete_warning=Alguns dels objectes no s'han eliminat correctament. Podria ser que els objectes s'hagin canviat de nom, mogut, eliminat o que no tinguis permĂ­s d'escriptura. Error: + + +filemanager_rename_exists=$3 amb el nom `$1` ja existeix a `$2` +filemanager_rename_denied=El $3 no es pot canviar de nom. AixĂČ podria ser degut a que l'orĂ­gen $3 s'hagi eliminat o hi hagi problemes amb els permisos. + +theme_xhred_filemanager_successful_rename=S'ha canviat correctament el nom `%from` a `%to`. + +filemanager_global_info_total1=Total: $1 arxiu i $2 carpeta +filemanager_global_info_total2=Total: $1 arxius i $2 carpeta +filemanager_global_info_total3=Total: $1 arxiu i $2 carpetes +filemanager_global_info_total4=Total: $1 arxius i $2 carpetes + +theme_xhred_filemanager_selected_entry=Seleccionat: %value element(s) + +theme_xhred_filemanager_search_query=Cerca +theme_xhred_filemanager_search_match=Troba en els resultats +theme_xhred_filemanager_search_replace=Substitueix en els resultats + +theme_xhred_global_find=Cerca +theme_xhred_global_replace=Substitueix + +theme_xhred_filemanager_searching_matching=Cercant `%value` que correspongui amb arxius o carpetes, amb el text `%text`. +theme_xhred_filemanager_searching_replacing=Substituint el text `%text` per `%replace` en arxius que contingin `%value`. + +theme_xhred_filemanager_search_replaced_multi=S'ha trobat i substituĂŻt en %value arxius. +theme_xhred_filemanager_search_replaced=S'ha trobat i substituĂŻt en 1 arxiu. + +theme_xhred_filemanager_successful_permissions_with_errors=S'ha produĂŻt un error mentres es canviaven els permisos en alguns objectes: + +theme_xhred_filemanager_successful_ownership_with_errors=S'ha produĂŻt un error mentres es canviava el propietari en alguns objectes: +theme_xhred_filemanager_successful_ownership_with_errors_fatal=El propietari no s'ha pogut canviar pels errors: + +theme_xhred_filemanager_successful_compression_with_errors=Ha finalitzat la compressiĂł amb els segĂŒents errors: +theme_xhred_filemanager_successful_compression_bg=La compressiĂł ha finalitzat correctament. L'arxiu comprimit `%file estĂ  ubicat a la carpeta `%path`. +theme_xhred_filemanager_successful_compression_bg_with_errors=La compressiĂł ha finalitzat amb errors. L'arxiu comprimit `%file hauria d'estar ubicat a la carpeta `%path`. + +theme_xhred_filemanager_settings_notification_type=Tipus de notificacions a mostrar +theme_xhred_filemanager_settings_notification_type_inf_warn_err=Informacions, alertes i errors +theme_xhred_filemanager_settings_notification_type_warn_err=Alertes i errors +theme_xhred_filemanager_settings_notification_type_err=NomĂ©s els errors + +theme_xhred_filemanager_settings_tabs_remember_state=Recorda l'estat de la sessiĂł anterior +theme_xhred_filemanager_context_open_new_tab=Obrir en una nova pestanya + +theme_xhred_xsql_fit_content_screen_height=Encaixa l'amplada de la taula en la finestra + +theme_xhred_datatable_filter_visible_tables=Filtrar les taules visibles +theme_xhred_module_help=Ajuda del mĂČdul + +theme_xhred_server_process_running=El procĂ©s encara estĂ  en execussiĂł. Encara que surtis el procĂ©s continuarĂ . Estas segur que vols sortir i no visualitzar dels resultats? + + +#18.03 +settings_global_options_title=Opcions generals +settings_global_passgen_format=Generador de contrasenyes +settings_global_passgen_format_description=Estableix la llargada i els tipus de carĂ cters per a generar la contrasenya. El primer valor Ă©s numĂšric i estableix la llargada de la contrasenya, seguit per | com a delimitador. Tipus de carĂ cters: NĂșmeros (0-9), lletres en minĂșscula (a-z), lletres en majĂșscula (A-Z), carĂ cters especials (#). El valor per defecte Ă©s: 12|a-z,A-Z,0-9,#. +theme_xhred_password_generator_new=Genera una nova contrasenya
    (Al porta-retalls) +theme_xhred_password_generator_new_success=S'ha generat la contrasenya %password i s'ha copiat al porta-retalls. + + +#18.08 +theme_fileformat_perl=Perl +theme_fileformat_perl_placeholder=Aquest arxiu ha d'acabar en `1;` per a funcionar correctament. + + +#18.10 +theme_error_access_not_root=AccĂ©s denegat: L'usuari necessita poder accedir a la configuraciĂł de webmin per tal de poder editar la configuraciĂł del tema. + + +#18.20 +settings_hide_top_loader=Amagar la barra de progrĂ©s + + +#18.30 +settings_leftmenu_vm_cm_dropdown_icons=Mostra icones simbĂČliques a Virtualmin/Cloudmin +settings_font_family=Tipus de lletra +settings_font_family_description=Per defecte s'utilitza el tipus de lletra Roboto. Pots selecionar et tipus de lletra que vulguis perĂČ tingues en compte que cal tenir-los instal·lats en el teu ordinador. +theme_xhred_global_shipped=Enviat +theme_xhred_global_available=Disponible +theme_xhred_global_not_available=No disponible +theme_xhred_global_default=Per defecte +theme_xhred_global_system_default=Per defecte del sistema +theme_xhred_global_local_system_default=Sistema local per defecte +theme_xhred_global_stats=Estats +theme_xhred_global_notifications=Notificacions +theme_xhred_global_favorites=Favorits +theme_xhred_global_cpu_load=CĂ rrega de CPU +theme_xhred_notification_none=No hi ha cap notificaciĂł disponible +theme_xhred_notification_no_data=No s'ha recopilat cap informaciĂł +theme_xhred_notification_no_favorites=No hi ha cap informaciĂł dels favorits +theme_xhred_global_theme_version=VersiĂł del tema + +settings_side_slider_sysinfo_enabled=Mostrar la pestanya del tauler +settings_side_slider_notifications_enabled=Mostrar la pestanya de les notificacions +settings_side_slider_favorites_enabled=Mostrar la pestanya dels favorits +settings_show_terminal_link=Mostrar el botĂł del terminal + +theme_xhred_sysinfo_system_monitors=Monitors del sistema +theme_xhred_sysinfo_server_status=Estat dels servidors +theme_xhred_sysinfo_software_versions=Versions del programari +theme_xhred_sysinfo_recent_logins=Accessos recents +theme_xhred_sysinfo_vm_package_updates=Actualitzacions dels paquets de Virtualmin +theme_xhred_sysinfo_disk_quotas=Quotes de disc +theme_xhred_sysinfo_bandwidth_quotas=Quotes de transferĂšncia + +left_netdata=MonitoritzaciĂł en temps real +settings_leftmenu_netdata=Mostrar l'enllaç d'informaciĂł de xarxa en temps real +settings_leftmenu_netdata_link=Enllaç de servidor preferit d'informaciĂł de xarxa + +theme_xhred_filemanager_context_chattr=Canviar els atributs +theme_xhred_filemanager_changing_attributes=Establint els atributs %value en els arxius seleciconats. +theme_xhred_filemanager_successful_attributes_with_errors=Els atributs no s'han establet pels segĂŒents elements: +theme_xhred_filemanager_successful_attributes=Els nous atributs s'han establert correctament. + +theme_xhred_filemanager_context_chcon=Canvia el context de seguretat +theme_xhred_filemanager_changing_secontext=Canviant el context de seguretat a %value en els arxius seleccionats. +theme_xhred_filemanager_successful_secontext_with_errors=El context de seguretat no s'ha canviat en els segĂŒents elements: +theme_xhred_filemanager_successful_secontext=El context de seguretat s'ha canviat correctament. + +theme_xhred_global_no_results_found=No s'ha trobat cap resultat + + +#18.40 +theme_new_password_header=Establir una nova contrasenya +login_reset=Recuperar la contrasenya +theme_xhred_move_top=Moure a sobre +theme_xhred_move_bottom=Moure a sota +theme_xhred_move_up=Moure a dalt +theme_xhred_move_down=Moure a baix +theme_xhred_add_after=Afegir desprĂ©s +theme_xhred_add_before=Afegir abans +settings_button_tooltip=Mostrar informaciĂł contextual en els botons +settings_show_night_mode_link=Mostrar el botĂł d'intercanvi entre els modes clar i fosc +settings_hotkey_toggle_key_night_mode=Drecera per canviar entre el modes clar i fosc +settings_title=ConfiguraciĂł del tema +settings_subtitle=Per a l'usuari + +theme_tooltip_night_mode=Canvi entre el mode clar i el mode fosc +theme_tooltip_terminal_link=Terminal +theme_tooltip_language_link=Idioma +theme_tooltip_switch_user=Canviar d'usuari +theme_tooltip_logout=Sortir +theme_tooltip_edit_user=Editar l'usuari + + +#18.45 +settings_sysinfo_easypie_charts_size=Mida de les grĂ fiques +theme_xhred_global_choose=Escull +theme_xhred_global_select=Selecciona +theme_xhred_global_ok=D'acord +settings_sysinfo_theme_patched_updates=Incloure versions amb correccions +settings_sysinfo_theme_updates_description=Per tal de que funcioni, cal tenir la comanda git instal·lada en el sistema. +theme_git_patch_available=Última correcciĂł disponible +theme_git_patch_no_git_message=Per tal d'instal·lar les Ășltimes correccions directament de GitHub, cal tenir la comanda git instal·lada en el sistema. +theme_git_patch_update_success_message=L'actualitzaciĂł del tema de Webmin s'ha instal·lat correctament. La versiĂł actual Ă©s $1. Recarregant... +theme_git_patch_update_success_message2=L'actualitzaciĂł del tema de Webmin i Usermin s'ha instal·lat correctament. La versiĂł actual Ă©s $1. Recarregant... +theme_xhred_git_patch_update=No s'ha pogut actualitzar el tema. Utilitza la consola per a realitzar una actualitzaciĂł manual. +theme_xhred_git_patch_initiated=S'ha iniciat correctament l'actualitzaciĂł del tema. +theme_xhred_global_prev_page=PĂ gina anterior +theme_xhred_global_help=Ajuda +settings_right_soft_updates_page_options_title=Actualitzacions de programari +theme_xhred_git_compare_changes=Compara els canvis +theme_xhred_filemanager_link_to_clipboard=El nom de l'enllaç `%value` s'ha copiat correctament al porta-retalls. + + + +#18.46 +theme_left_mail_prefs=PreferĂšncies de correu electrĂČnic +theme_left_mail_change_password=Canviar la contrasenya +theme_left_mail_account_functions=Funcions del compte +theme_xhred_global_dir_up=Anar a la carpeta anterior (RetrocĂ©s) +theme_xhred_global_module_config=ConfiguraciĂł del mĂČdul +theme_xhred_global_return=Retrocedir +theme_xhred_global_return_to_module_index=Anar a l'Ă­ndex del mĂČdul + + +#18.47 +settings_account_info_link_mini=Mostrar l'enllaç d'informaciĂł del compte com un botĂł +theme_xhred_global_complete_changelog=Registre de canvis +theme_xhred_global_beta_version=VersiĂł beta +theme_xhred_global_release=VersiĂł +theme_xhred_global_released_on=Alliberada el +theme_xhred_global_committed_on=Realitzada el +theme_xhred_global_resolved_issues=Problemes resolts en %value + + +#18.48 +theme_force_upgrade=ActualitzaciĂł manual +theme_force_upgrade_beta=Instal·la l'Ășltima versiĂł beta disponible +theme_force_upgrade_stable=Instal·la l'Ășltima versiĂł estable disponible +theme_xhred_source_encoding=Codi font +theme_update_footer=Per tal de millorar dia a dia, t'agraĂŻm que ens informis de qualsevol error que trobis a $1. Segueix-nos al canal de $2 per estar assabentat de les Ășltimes novetats. +theme_xhred_encoding_manually_set=Escriure directament el codi font +theme_xhred_filemanager_save_to_change_encoding=L'arxiu s'ha de desar prĂšviament per tal de poder canviar el codi. + + +#18.49 +theme_xhred_filemanager_user_switch=Canviar a l'usuari (Ctrl+M) +theme_xhred_filemanager_user_switch_description=Selecciona un usuari de la llista per tal de treballar amb aquest usuari. +theme_xhred_filemanager_user_switch_description_back=Per a canviar un altre cop al mode predeterminat selecciona la primera opciĂł. +theme_xhred_filemanager_user_switch_current_user=Usuari actual +theme_xhred_filemanager_user_switch_option=AutomĂ ticament canvia al mode d'usuari en el moment d'entrar al seu directori d'inici +theme_xhred_filemanager_editor_align_panels_horizontally=Alinear els panells horitzontalment +theme_xhred_filemanager_editor_align_panels_vertically=Alinear els panells verticalment +theme_xhred_filemanager_editor_toggle_soft_wrap=Alternar +theme_xhred_filemanager_editor_refresh_content=Refresca el contingut +theme_xhred_filemanager_save_to_refresh_content=L'arxiu s'ha de desar prĂšviament per tal de refrescar el seu contingut. +theme_xhred_filemanager_save_to_refresh_content_proc=Refrescant el contingut de l'arxiu. +theme_xhred_global_dark=Fosc +theme_xhred_global_light=Clar +theme_xhred_global_minimize=Minimize +theme_xhred_global_maximize=Maximize +theme_xhred_global_normalize=Normalize +theme_xhred_global_set_encoding=Set encoding + + +#19.00 +theme_xhred_sysinfo_update_start=System information is being recollected. +theme_xhred_sysinfo_update_end=System information has been recollected successfully. +theme_xhred_sysinfo_update_failed=System information can't be recollected. Try again later. + +theme_xhred_global_development_version=Development version + +right_vm_server_summary=Virtual Server Summary + +settings_webmin_default_module=Default module for Webmin + +theme_xhred_global_unbeforeunload_title=Changes you made may not be saved +theme_xhred_global_unbeforeunload_message=If you continue, unsaved changes on this page could be permanently lost. +theme_xhred_global_continue=Continue + +theme_xhred_global_automatic_refresh=Automatic refresh +theme_xhred_global_second=Second +theme_xhred_global_seconds=Seconds +theme_xhred_global_minute=Minute +theme_xhred_global_minutes=Minutes diff --git a/lang/cz b/lang/cz new file mode 120000 index 000000000..82fe54d2a --- /dev/null +++ b/lang/cz @@ -0,0 +1 @@ +cz.UTF-8 \ No newline at end of file diff --git a/lang/cz.UTF-8 b/lang/cz.UTF-8 new file mode 100644 index 000000000..8950255c6 --- /dev/null +++ b/lang/cz.UTF-8 @@ -0,0 +1,726 @@ +body_cp=CPU +body_cpu=PrĆŻměrnĂĄ zĂĄtÄ›ĆŸ CPU +body_cpuinfo=Informace o procesoru +body_cputemps=Teploty CPU +body_cputype=$5, $8 jader +body_disk=DiskovĂœ prostor +body_driveerr=$1 chyb! +body_drivefailed=Kontrola SMART selhala! +body_drivetemps=Teploty diskĆŻ +body_firewall=Verze firewallu +body_header0=Informace o systĂ©mu +body_header1=Informace o Ășčtu +body_host=NĂĄzev systĂ©mu +body_kernel=JĂĄdro a architektura +body_kernelon=$1 $2 na $3 +body_load=$1 (1 minuta) $2 (5 minut) $3 (15 minut) +body_os=OperačnĂ­ systĂ©m +body_procs=BÄ›ĆŸĂ­cĂ­ procesy +body_real=OperačnĂ­ paměƄ +body_time=Čas systĂ©mu +body_updates=Aktualizace balíčkĆŻ +body_updays=$1 dnĂ­, $2 hodin, $3 minut +body_uphours=$1 hodin, $2 minut +body_upmins=$1 minut +body_upneed=K dispozici je aktualizace $1 balíčkĆŻ +body_upneed1=$1 package update is available +body_upok=VĆĄechny nainstalovanĂ© balíčky jsou aktuĂĄlnĂ­ +body_upsec=K dispozici je aktualizace $1 balíčkĆŻ, pƙičemĆŸ $2 z nich jsou bezpečnostnĂ­ +body_upsec1=$1 package updates are available, of which $2 is security update +body_upsec2=$1 package update is available, of which $2 are security updates +body_upsec3=$1 package update is available, of which $2 is security update +body_uptime=Doba běhu systĂ©mu +body_used=$1 celkem / $2 pouĆŸitĂ© +body_used_and_free=$1 celkem / $2 volnĂ© / $3 pouĆŸitĂ© +body_usermin=Verze Userminu +body_virt=VirtuĂĄlnĂ­ paměƄ +body_webmin=Verze Webminu + +left_favorites=Favorites +left_favorites_no=There were no favorites added yet... +left_feedback=Poslat zpětnou vazbu +left_home=Informace o systĂ©mu +left_others=OstatnĂ­ +left_refresh_modules=Obnovit moduly +left_search=Hledat +left_statistics=Statistiky systĂ©mu + +login_danger=Nebezpečí! +login_message=Pro pƙihlĂĄĆĄenĂ­ na server musĂ­te zadat uĆŸivatelskĂ© jmĂ©no a heslo +login_pass=Heslo +login_reset=Reset +login_save=Pamatuj si mě +login_signin=PƙihlĂĄsit +login_success=Úspěch! +login_token=Token +login_user=UĆŸivatelskĂ© jmĂ©no +login_warning=VarovĂĄnĂ­! + +right_aliases=Alias servery +right_bw=VyuĆŸitĂ­ ơíƙky pĂĄsma a omezenĂ­ +right_dom=NĂĄzev serveru +right_faliases=EmailovĂ© aliasy +right_fdbs=DatabĂĄze +right_fdoms=VirtuĂĄlnĂ­ servery +right_from=PƙihlĂĄĆĄen z +right_fusers2=UĆŸivatelĂ© FTP +right_fusers=UĆŸivatelĂ© Mail/FTP +right_fvm2=VirtuĂĄlnĂ­ stroje +right_fweb=VirtuĂĄlnĂ­ weby +right_licenceheader_vm2=Licence pro Cloudmin +right_login=PƙihlĂĄĆĄen jako +right_not=NenainstalovĂĄno +right_of=$1 z $2 +right_quota=VyuĆŸitĂ­ diskĆŻ a kvĂłty +right_reselip=(Pƙeprodejce $1) +right_sharedip=(SdĂ­lenĂĄ IP) +right_slcheck=Pƙekontrolovat licenci Cloudminu +right_subs=Pod-servery +right_virtdocs2=DoplƈujĂ­cĂ­ dokumentace +right_virtualmin=Verze Virtualminu +right_vlcheck=Pƙekontrolovat licenci Virtualminu +right_vm2=Verze Cloudminu + +session_failed=PƙihlĂĄĆĄenĂ­ se nezdaƙilo. Zkuste to prosĂ­m znovu. +session_logout=OdhlĂĄĆĄenĂ­ ĂșspěơnĂ©. Pro opětovnĂ© pƙihlĂĄĆĄenĂ­ vyuĆŸijte formuláƙ nĂ­ĆŸe. +session_timed_out=Platnost sezenĂ­ vyprĆĄela po $1 minutĂĄch neaktivity. +session_twofailed=Dvou-faktorovĂĄ autentizace selhala: $1 + + + + + + + + + + +settings_right_options=NastavenĂ­ +settings_right_restore_defaults=Obnovit vĂœchozĂ­ +settings_right_restored=Obnoveno +settings_right_restoring=Obnovuji +settings_right_saved=UloĆŸeno +settings_right_saving=UklĂĄdĂĄm + +settings_right_theme_extensions=RozơíƙenĂ­ tĂ©matu +settings_right_theme_extensions_title=RozơíƙenĂ­ tĂ©matu +settings_right_file_edit=Upravit soubor rozơíƙenĂ­: +settings_right_extensions_title=Struktura tohoto tĂ©matu umoĆŸĆˆuje jednoduchou manipulaci s pƙísluĆĄnĂœmi částmi rozhranĂ­. + +settings_right_theme_logos=Loga tĂ©matu +settings_right_theme_logos_title=Loga tĂ©matu +settings_right_logos_title=Zde lze nastavit loga tĂ©matu jak pro autentizovanĂ©, tak pro neautentizovanĂ© uĆŸivatele. DoporučenĂĄ velikost loga je 180x90 pixelĆŻ a jedinĂœ podporovanĂœ formĂĄt je .png, aby bylo moĆŸnĂ© zachovat prĆŻhlednĂœ alfa kanĂĄl. +settings_right_logo_authenticated_users=Logo pro autentizovanĂ© uĆŸivatele +settings_right_logo_unauthenticated_users=Logo pro neautentizovanĂ© uĆŸivatele + +settings_right_current_theme=AktuĂĄlnĂ­ tĂ©ma +settings_right_title=Tato strĂĄnka umoĆŸĆˆuje upravit nastavenĂ­ tĂ©matu Authentic Theme. NastavenĂ­ budou uloĆŸena jen do tĂ© doby, neĆŸ bude provedena aktualizace tĂ©matu samotnĂ©ho. +settings_right_theme_left_configuration_title=Konfigurace tĂ©matu Authentic Theme +settings_right_theme_left_extensions_title=Authentic Theme Extensions Editor +settings_right_theme_left_logo_title=Authentic Theme Logo Control +settings_right_theme_configurable_options_title=DostupnĂĄ nastavenĂ­ pro Authentic Theme + + +settings_right_window_options_title=MoĆŸnosti oken +settings_right_navigation_menu_title=MoĆŸnosti navigačnĂ­ho panelu +settings_right_table_options_title=MoĆŸnosti tabulek +settings_security_title=MoĆŸnosti bezpečnostnĂ­ch upozorněnĂ­ +settings_security_description=BezpečnostnĂ­ upozorněnĂ­ umoĆŸĆˆujĂ­ nastavit emailovĂ© notifikace na zĂĄkladě konkrĂ©tnĂ­ch udĂĄlostĂ­.
    FormĂĄt: ZprĂĄva|Pƙedmět|Seznam uĆŸivatelĆŻ/emailovĂœch adres oddělenĂœch čárkou|Seznam ignorovanĂœch IPv4/IPv6 adres
    PouĆŸitĂ­: %3 upozorněnĂ­ na ĂșspěơnĂ© pƙihlĂĄĆĄenĂ­ uĆŸivatele %1 z adresy %2|%3 ĂșspěơnĂ© pƙihlĂĄĆĄenĂ­|root,user@example.org|1.2.3.4,5.6.7.8
    VĂœstup: From: root, To: root, Subject: Webmin ĂșspěơnĂ© pƙihlĂĄĆĄenĂ­, Message: Webmin upozorněnĂ­ na ĂșspěơnĂ© pƙihlĂĄĆĄenĂ­ uĆŸivatele root z adresy 2.3.4.5 +settings_right_hotkey_options_title=NastavenĂ­ klĂĄvesovĂœch zkratek +settings_right_sysinfo_page_options_title=NastavenĂ­ strĂĄnky System Information + +settings_right_hotkey_custom_options_description=VlastnĂ­ odkazy umoĆŸĆˆujĂ­ pouĆŸĂ­t čísla od 1 do 9 pro rychlĂœ pƙístup k jakĂ©koliv Webmin/Usermin/Virtualmin/Cloudmin URL adrese. URL adresu je moĆŸnĂ© zĂ­skat z aktuĂĄlně otevƙenĂ©ho pravĂ©ho rĂĄmce po zhlĂ©dnutĂ­ jeho zdrojovĂ©ho kĂłdu. Je dĆŻleĆŸitĂ©, aby URL adresa neobsahovala ĆŸĂĄdnĂ© lomĂ­tko na začátku a neobsahovala ĆŸĂĄdnĂœ prefix. Napƙíklad tedy k rychlĂ©mu pƙístupu k Apache, nastavte hodnotu pole pro vlastnĂ­ link 1 jako /apache/. Pokud je pƙepĂ­nač klĂĄvesovĂœch zkratek nastavenĂœ na Alt, pak se klĂĄvesovou zkratkou Alt+1, dostanete na strĂĄnku Apache. +settings_hotkey_custom_1=VlastnĂ­ odkaz 1 +settings_hotkey_custom_2=VlastnĂ­ odkaz 2 +settings_hotkey_custom_3=VlastnĂ­ odkaz 3 +settings_hotkey_custom_4=VlastnĂ­ odkaz 4 +settings_hotkey_custom_5=VlastnĂ­ odkaz 5 +settings_hotkey_custom_6=VlastnĂ­ odkaz 6 +settings_hotkey_custom_7=VlastnĂ­ odkaz 7 +settings_hotkey_custom_8=Vlastni odkaz 8 +settings_hotkey_custom_9=Vlastni odkaz 9 + +settings_navigation_color=Navigation menu color palette +settings_background_color=Content page color palette +settings_animation_left=Enable animation in navigation menu +settings_animation_tabs=Enable animation in tabs +settings_loader_left=Povolit posuvnĂ­k pro navigačnĂ­ panel +settings_right_reload=NahrĂĄnĂ­ vĂœchozĂ­ strĂĄnky +settings_right_reload_description=Obsah strĂĄnky pravĂ©ho rĂĄmce je opětovně načten pƙi pƙepnutĂ­ tabĆŻ. ZobrazĂ­t po pƙepnutĂ­ tabu vĂœchozĂ­ obsah pravĂ©ho rĂĄmce? + +settings_right_hide_table_icons=Schovat ikony v tabulkĂĄch v pravĂ©m rĂĄmci +settings_right_hide_table_icons_description=Úplně odstranit ikony ze strĂĄnek a zobrazit textovĂ© linky se ĆĄipkou +settings_right_small_table_icons=MalĂ© ikony tabulek +settings_right_small_table_icons_description=Nahradit standardnĂ­ velikost ikon v tabulkĂĄch malĂœmi ikonami a zobrazit odkaz v tooltip +settings_right_animate_table_icons=Animovat ikony tabulek pƙi vĂœberu +settings_right_grayscaled_table_icons=Nechat ikony černobĂ­lĂ© a zbarvit je pouze pƙi najetĂ­ myĆĄi + +settings_leftmenu_section_hide_refresh_modules=Schovat odkaz Refresh Modules +settings_leftmenu_section_hide_unused_modules=Schovat odkaz Unused Modules +settings_favorites=Show favorites button +settings_leftmenu_button_language=Zobrazit tlačítko pro nastavenĂ­ jazyka +settings_leftmenu_button_refresh=Zobrazit tlačítko pro obnovenĂ­ + +settings_theme_options_button=Zobrazit tlačítko konfigurace tĂ©matu + +settings_hotkeys_active=Povolit klĂĄvesovĂ© zkratky +settings_hotkey_toggle_modifier=PƙepĂ­nač klĂĄvesovĂœch zkratek +settings_hotkey_toggle_key_webmin=KlĂĄvesovĂĄ zkratka pro Webmin +settings_hotkey_toggle_key_virtualmin=KlĂĄvesovĂĄ zkratka pro Virtualmin +settings_hotkey_toggle_key_cloudmin=KlĂĄvesovĂĄ zkratka pro Cloudmin +settings_hotkey_toggle_key_usermin=KlĂĄvesovĂĄ zkratka pro Usermin +settings_hotkey_toggle_key_webmail=KlĂĄvesovĂĄ zkratka pro Mail +settings_hotkey_sysinfo=Hotkey for dashboard +settings_hotkey_shell=Hotkey for terminal +settings_hotkey_favorites=Hotkey for favorites +settings_hotkey_focus_search=KlĂĄvesovĂĄ zkratka pro hledĂĄnĂ­ +settings_hotkey_reload=KlĂĄvesovĂĄ zkratka pro opetovnĂ© načtenĂ­ strĂĄnky + +settings_side_slider_background_refresh_time=Timeout for background information update +settings_side_slider_background_refresh_time_description=Set desired timeout for updating notification slider in background calls. The value meant to be in minutes. Minimum recommended value is 1 minute. Default is set to 5 minutes. Decimal values can also be used. +settings_sysinfo_easypie_charts=Zobrazit grafy +settings_sysinfo_theme_updates=Zkontrolovat aktualizace Authentic Theme tĂ©matu +settings_sysinfo_csf_updates=Zkontrolovat aktualizace ConfigServer Security & Firewall +settings_sysinfo_drive_status_on_new_line=Zobrazit stav CPU a diskĆŻ kaĆŸdĂœ na zvlĂĄĆĄtnĂ­m ƙádku +settings_sysinfo_expand_all_accordions=Rozbalit vĆĄechny zĂĄloĆŸky +settings_sysinfo_link_mini=Zobrazit odkaz System Information jako tlačítko + +settings_right_page_defaults_title=VĂœchozĂ­ strĂĄnky +settings_right_default_tab_webmin=VĂœchozĂ­ zĂĄloĆŸka po pƙihlĂĄĆĄenĂ­ do Webminu +settings_right_default_tab_usermin=VĂœchozĂ­ zĂĄloĆŸka po pƙihlĂĄĆĄenĂ­ do Userminu +settings_right_virtualmin_default=VĂœchozĂ­ strĂĄnka Virtualminu +settings_right_cloudmin_default=VĂœchozĂ­ strĂĄnka Cloudminu + +settings_right_clear_local_cache=Clear cache +settings_right_notification_slider_options_title=Side slider options +settings_side_slider_fixed=Keep slider always visible +settings_side_slider_palette=Slider palette +settings_hotkey_toggle_slider=Hotkey for slider +settings_window_replace_timestamps=Enable dates substitutions +settings_window_replaced_timestamp_format_short=Short date/time format +settings_window_replaced_timestamp_format_full=Full date/time format +settings_window_replaced_timestamps_options_description=Tweak date/time settings to set desired output for displaying dates in full or short format. In-built this option has effect in Notification Slider and System Information page (on the row Time on system). By default, full format equals to LLLL and short is L, LTS. The time output is different for different locales. Locale is based on Webmin language settings. + + +settings_side_slider_enabled=Enable slider +settings_leftmenu_user_html=Show HTML snippet +settings_leftmenu_user_html_description=User defined text or HTML code will be injected to the bottom of the navigation menu. It can be used for identification purposes. For example, to make explicitly show your hostname, you could add to the field <br><kbd>hostname:10000</kbd> + + +theme_changelog=Seznam změn +theme_conference=Theme Conference +theme_development_support=Podpora vĂœvoje +theme_donate=Pƙispět +theme_download=StĂĄhnout +theme_name=Authentic Theme +theme_update=Aktualizovat +theme_update_available=NejnovějĆĄĂ­ dostupnĂĄ verze +theme_update_notice=PoznĂĄmky k vydĂĄnĂ­ +theme_version=Verze tĂ©matu + + +# Version 17.40 +theme_global_error=Error +theme_global_warning=Warning +theme_global_success=Success +theme_global_info=Information +sysinfo_system_status_warning=In order to have System Information displayed you will need to enable System Status module in user settings. +settings_leftmenu_user_html_only_for_administrator=Show HTML snippet for administrators only +theme_sysinfo_wmdocs=Webmin documentation +theme_sysinfo_vmdocs=Virtualmin documentation +theme_sysinfo_cmdocs=Cloudmin documentation +theme_fileformat_css=CSS +theme_fileformat_json=JSON +theme_fileformat_js=Javascript +theme_fileformat_plain_text=Plain Text + +theme_xhred_titles_wm=Webmin +theme_xhred_titles_um=Usermin +theme_xhred_titles_dashboard=Dashboard +theme_xhred_titles_mail=Mail +theme_xhred_titles_vm=Virtualmin +theme_xhred_titles_cm=Cloudmin +theme_xhred_titles_thirdlane=Thirdlane + +theme_xhred_global_please_wait=Please wait... +theme_xhred_filemanager_copying_selected=Copying selected. +theme_xhred_filemanager_cutting_selected=Cutting selected. +theme_xhred_filemanager_pasting_selected=Pasting from clipboard. +theme_xhred_filemanager_unpacking_archive=Unpacking selected file(s). +theme_xhred_filemanager_deleting_selected=Deleting selected. +theme_xhred_filemanager_renaming_selected=Renaming selected. +theme_xhred_filemanager_creating_directory=Creating directory +theme_xhred_filemanager_creating_file=Creating file +theme_xhred_filemanager_downloading_from=Downloading from +theme_xhred_filemanager_setting_permissions=Setting permissions to %value on selected file(s). +theme_xhred_filemanager_changing_ownership=Changing ownership to %value on selected file(s). +theme_xhred_filemanager_compressing_selected=Compressing selected in the background. +theme_xhred_filemanager_refreshing=Refreshing directory content. +theme_xhred_filemanager_copying_successful=Copy to clipboard successful. +theme_xhred_filemanager_cutting_successful=Cut to clipboard successful. +theme_xhred_filemanager_pasting_successful=Paste from clipboard was successful. +theme_xhred_filemanager_bookmark_success=Directory %value was successfully added to your bookmarks. +theme_xhred_filemanager_searching=Searching for `%value` matching names of files/directories. +theme_xhred_filemanager_search_founds=Found %value matches. +theme_xhred_filemanager_search_found=Found 1 match. +theme_xhred_filemanager_search_no_matches=No matches found. +theme_xhred_filemanager_nothing_is_selected=Nothing is selected! +theme_xhred_filemanager_saving_file=File `%value` is being saved. +theme_xhred_filemanager_file_saved=File `%value` has been successfully saved. +theme_xhred_filemanager_not_editable=Can not edit this type of selection. +theme_xhred_filemanager_not_decompressable=Can not decompress this type of file. +theme_xhred_filemanager_no_selection_to_copy=No directories/files selected to copy. +theme_xhred_filemanager_no_selection_to_cut=No directories/files selected to cut. +theme_xhred_filemanager_empty_clipboard=Clipboard is empty. + +theme_xhred_filemanager_successful_extraction=Extraction of selected file(s) was successful. +theme_xhred_filemanager_successful_deletion=Deletion was successful. +theme_xhred_filemanager_successful_permissions=Permissions have been changed successfully. +theme_xhred_filemanager_successful_ownership=Ownership has been changed successfully. +theme_xhred_filemanager_successful_compression=Compression has successfully finished. +theme_xhred_filemanager_successful_directory_creation=Directory `%value` was created successfully. +theme_xhred_filemanager_successful_file_creation=File `%value` was created successfully. + +theme_xhred_notifications_packages_updates=Packages Update +theme_xhred_notifications_theme_update=Theme Update +theme_xhred_notifications_theme_update_message=A new version %v of Authentic Theme is available. Please update. +theme_xhred_notifications_firewall_update=Firewall Update +theme_xhred_notifications_firewall_update_message=A new version %v of ConfigServer Server Security and Firewall is available. Please update. + +theme_xhred_notifications_firewall_danger=Firewall Danger +theme_xhred_notifications_firewall_danger_message=It appears that ConfigServer Server Security and Firewall is not running or has been stopped! Don't leave your server exposed, check for the firewall settings (%v) + +theme_xhred_notifications_firewall_warning=Firewall Warning + +#17.50 +settings_grayscale_level_navigation=Grayscale filter +settings_grayscale_level_navigation_description=Default/current values 0/0 +settings_sepia_level_navigation=Sepia filter +settings_sepia_level_navigation_description=Default/current values 0/0 +settings_saturate_level_navigation=Saturate filter +settings_saturate_level_navigation_description=Default/current values 1/0 +settings_hue_level_navigation=Hue-rotate filter +settings_hue_level_navigation_description=Default/current values 0°/0° +settings_invert_level_navigation=Invert filter +settings_invert_level_navigation_description=Default/current values 0/0 +settings_brightness_level_navigation=Brightness filter +settings_brightness_level_navigation_description=Default/current values 1/0 +settings_contrast_level_navigation=Contrast filter +settings_contrast_level_navigation_description=Default/current values 1/0 + +settings_grayscale_level_content=Grayscale filter +settings_grayscale_level_content_description=Default/current values 0/0 +settings_saturate_level_content=Saturate filter +settings_saturate_level_content_description=Default/current values 1/0 +settings_hue_level_content=Hue-rotate filter +settings_hue_level_content_description=Default/current values 0°/0° + +settings_cm_view_palette=Viewer color palette +settings_cm_editor_palette=Editor color palette + +theme_xhred_filemanager_context_select_all=Select All +theme_xhred_filemanager_context_select_invert=Invert Selection +theme_xhred_filemanager_context_refresh=Refresh +theme_xhred_filemanager_context_newfile=Create new file +theme_xhred_filemanager_context_newfoder=Create new directory +theme_xhred_filemanager_context_copy=Copy +theme_xhred_filemanager_context_cut=Cut +theme_xhred_filemanager_context_paste=Paste +theme_xhred_filemanager_context_chmod=Change Permissions +theme_xhred_filemanager_context_chown=Change Ownership + +#17.51 +theme_xhred_filemanager_context_new=New +theme_xhred_filemanager_context_newarchive=Create new archive +theme_xhred_filemanager_context_delete=Delete +theme_xhred_filemanager_context_rename=Rename +theme_xhred_filemanager_context_edit=Edit +theme_xhred_filemanager_context_extract=Extract +theme_xhred_filemanager_context_goto=Open Item Location +theme_xhred_filemanager_context_properties=Properties +theme_xhred_filemanager_context_search=Search + +#17.52 +theme_xhred_filemanager_context_deselect_all=Deselect All +theme_xhred_filemanager_context_upload=Upload to current directory +theme_xhred_filemanager_context_download=Download from remote URL + +#17.53 +theme_settings_virtualmin=Virtualmin Virtual Servers +theme_settings_cloudmin=Cloudmin Managed Systems +settings_right_thirdparties_options_title=Third-parties modules options +theme_xhred_filemanager_context_calculate_size=Calculate size on spacebar +theme_xhred_filemanager_context_bookmarks=Bookmarks +theme_xhred_filemanager_context_bookmark_current=Bookmark currently opened path +theme_xhred_filemanager_context_transfer=Transfer + +#17.54 +theme_xhred_filemanager_title_symlink_target=Link target + +#17.60 +right_unlimited=Unlimited +settings_leftmenu_width=Preferable width +settings_leftmenu_width_description=Default/current width 260/0 +settings_switch_rdisplay=Reverse switch output +settings_switch_rdisplay_description=This option allows you to set different order for top-left switches. After changing this option, complete page reload is required to apply new settings. + + +#17.63 +theme_xhred_filemanager_context_calculate_selected_size=Calculate selected size +theme_xhred_filemanager_selected_entries=Selected: %value entries +theme_xhred_filemanager_manual_path=Enter path manually + +theme_xhred_datatable_semptytable=No data available in table +theme_xhred_datatable_sinfo=Showing _START_ to _END_ of _TOTAL_ entries +theme_xhred_datatable_sinfoempty=Showing 0 to 0 of 0 entries +theme_xhred_datatable_slengthmenu=Show _MENU_ entries +theme_xhred_datatable_sloadingrecords=Loading +theme_xhred_datatable_sprocessing=Processing... +theme_xhred_datatable_szerorecords=No matching records found + +#17.64 +theme_xhred_filemanager_file_edit_but_not_saved=File has been edited but hasn't been saved. +theme_xhred_filemanager_file_edit_but_not_saved_what_to_do=What do you want to do? +theme_xhred_global_save=Save +theme_xhred_global_save_and_close=Save and close +theme_xhred_global_close_without_saving=Close without saving +theme_xhred_global_continue_editing=Continue editing +theme_xhred_filemanager_context_download_file=Download + +#17.65 +settings_sysinfo_easypie_charts_width=Width of charts +settings_sysinfo_easypie_charts_scale=Scale length of charts + +#17.80 +right_return_theme_options=theme options +theme_xhred_datatable_semptydirectory=Directory is empty +theme_xhred_filemanager_context_clipboard=Copy path to clipboard +theme_xhred_global_warning=Warning +theme_xhred_global_close=Close +theme_xhred_encoding_warning=Detected that you are using non-unicode character set, which is not recommended. Strange  character might appear in text-editor mode and/or other encoding issues are going to happen.

    Change language in %prod Configuration to %lang.UTF-8 and make sure, that your browser also detected it correctly.

    Pay attention, that Webmin in-built module, named Change Language and Theme can override global settings.
    + +theme_xhred_filemanager__no_bookmarks=No saved bookmarks +theme_xhred_filemanager_unbookmark_success=Directory %value was successfully removed from your bookmarks. +theme_xhred_filemanager_bookmark=Bookmark current directory +theme_xhred_filemanager_unbookmark=Unbookmark current directory +theme_xhred_filemanager_move_into_self=You cannot move a directory into itself! The destination directory is inside the source directory. +theme_xhred_filemanager_pasting_and_copying_1=Selected source has been pasted with the new name successfully. +theme_xhred_filemanager_pasting_and_copying_2=Selected sources have been pasted with the new names successfully. +theme_xhred_filemanager_pasting_and_replacing_1=Existing target has been replaced with new successfully. +theme_xhred_filemanager_pasting_and_replacing_2=Existing targets have been replaced with new successfully. +theme_xhred_filemanager_target_conflict_1=Target conflict +theme_xhred_filemanager_target_conflict_2=Targets conflicts +theme_xhred_filemanager_target_conflict_message_1=Pasted target already exists! What do you prefer to do? +theme_xhred_filemanager_target_conflict_message_2=Pasted targets already exist! What do you prefer to do? +theme_xhred_filemanager_target_conflict_replace=Merge and replace +theme_xhred_filemanager_target_conflict_paste=Paste with new name + +theme_xhred_editor_help_title=Editor Keyboard Shortcuts +theme_xhred_editor_help_content=
    Find/Replace
    Keypress Command
    Ctrl + F Find
    Ctrl + H Replace
    Ctrl + ⇧ + R Replace all
    Ctrl + G Find next
    Ctrl + ⇧ + G Find previous
    Alt + G Jump to line
    Text manipulation
    Keypress Command
    Ctrl + KU Transform to Uppercase
    Ctrl + KL Transform to Lowercase
    Editing
    Keypress Command
    Ctrl + Space Activate autocompletion
    Ctrl + X Cut line
    Ctrl + ⇧ + ↑ Move line/selection up
    Ctrl + ⇧ + ↓ Move line/selection down
    Ctrl + L Select line - Repeat to select next lines
    Ctrl + D Select word - Repeat select others occurrences
    Ctrl + M Jump to closing parentheses Repeat to jump to opening parentheses
    Ctrl + ⇧ + M Select all contents of the current parentheses
    Ctrl + ⇧ + K Delete Line
    Ctrl + KK Delete from cursor to end of line
    Ctrl + K + Backspace Delete from cursor to start of line
    Ctrl + ⇧ + D Duplicate line(s)
    Ctrl + J Join line below to the end of the current line
    Ctrl + / Comment/un-comment current line
    Ctrl + ⇧ + / Block comment current selection
    Ctrl + Y Redo, or repeat last keyboard shortcut command
    Ctrl + ⇧ + V Paste and indent correctly
    Ctrl + Space Select next auto-complete suggestion
    Ctrl + U soft undo; jumps to your last change before undoing change when repeated
    + +theme_xhred_filemanager_hide_toolbar=Hide toolbar +theme_xhred_filemanager_hide_actions=Hide actions column +theme_xhred_filemanager_hovered_toolbar=Activate dropdown in toolbar on mouse hover +theme_xhred_filemanager_context_delete_selected=Delete selected + +#17.83 +theme_xhred_database_adding_new_row=Adding new row +theme_xhred_database_editing_row=Editing selected row +theme_xhred_database_editing_rows=Editing selected rows +theme_xhred_database_adding_new_row_data=Set data + +#17.84 +theme_xhred_datatable_filter=Filter + +theme_xhred_global_update=Update +theme_xhred_global_update_and_return=Update and return +theme_xhred_global_update_and_close=Update and close +theme_xhred_global_back=Back +theme_xhred_global_cancel=Cancel + +theme_xhred_database_add_row_successful=New row was successfully added +theme_xhred_database_edit_row_successful=Selected row was successfully updated +theme_xhred_database_edit_rows_successful=Selected rows were successfully updated +theme_xhred_database_edit_row_delete_successful=Selected row was successfully deleted +theme_xhred_database_edit_rows_delete_successful=Successfully deleted %n selected rows +theme_xhred_database_edit_field_delete_successful=Selected field was successfully deleted +theme_xhred_database_edit_fields_delete_successful=Successfully deleted %n selected fields +theme_xhred_database_edit_selected_row=Edit selected row +theme_xhred_database_edit_selected_rows=Edit selected rows +theme_xhred_database_add_new_row=Add row +theme_xhred_database_delete_selected_row=Delete selected row +theme_xhred_database_delete_selected_rows=Delete selected rows +theme_xhred_database_delete_selected_field=Delete selected field +theme_xhred_database_delete_selected_fields=Delete selected fields +theme_xhred_database_object_selected_delete=Delete selected object +theme_xhred_database_objects_selected_delete=Delete selected objects +theme_xhred_database_db_selected_drop=Drop selected database +theme_xhred_database_dbs_selected_drop=Drop selected databases +theme_xhred_database_edit_but_not_saved=Table data has been edited but not saved. + +theme_xhred_global_no_such_command=It appears that %cmd executable is not installed or not in the path on your system. + +theme_xhred_global_notice=Notice + +theme_xhred_updates_disabled_notice=Detected that you don't have enabled notifications for Authentic Theme updates?

    Enabling this feature in Theme Configuration will help you to update to the latest version in a single click as soon as it's out. + + +#18.00 +theme_xhred_global_file=File +theme_xhred_global_directory=Directory +theme_xhred_global_no_target=Target doesn't exist or not accessible +theme_xhred_global_error_code=Error code +theme_xhred_global_on=On +theme_xhred_global_off=Off +theme_xhred_global_all=All +theme_xhred_global_none=None +theme_xhred_global_yes=Yes +theme_xhred_global_no=No + +theme_xhred_filemanager_new_tab=Add new tab (Ctrl+Space) +theme_xhred_datatable_no_search_results=No results found
    Try a different search + +theme_xhred_filemanager_buffer_error=Failed to paste files to the buffer - permission denied. + +filemanager_create_object_exists=$3 `$1` already exists in `$2` +filemanager_create_object_denied=Can't create $3 `$1` in `$2` - permission denied. + +filemanager_paste_warning=Failed to paste target(s). It is possible that requested object(s) could have been renamed, moved or deleted while/before pasting. Another possible cause is that destination is not writable. It is worth checking objects' attributes. + +theme_xhred_filemanager_delete_warning=Deletion has finished successfully but not for all objects. It is possible that requested object(s) could have been renamed or moved before deletion. Restricted permissions (attributes) is another possible cause. Error message: + + +filemanager_rename_exists=$3 with name `$1` already exists in `$2` +filemanager_rename_denied=Can not rename the $3. This might happen because the source $3 has been removed or due to restricted permissions. + +theme_xhred_filemanager_successful_rename=Renaming `%from` to `%to` was successful. + +filemanager_global_info_total1=Total: $1 file and $2 directory +filemanager_global_info_total2=Total: $1 files and $2 directory +filemanager_global_info_total3=Total: $1 file and $2 directories +filemanager_global_info_total4=Total: $1 files and $2 directories + +theme_xhred_filemanager_selected_entry=Selected: %value entry + +theme_xhred_filemanager_search_query=Query mask +theme_xhred_filemanager_search_match=Find in results +theme_xhred_filemanager_search_replace=Replace in results + +theme_xhred_global_find=Find +theme_xhred_global_replace=Replace + +theme_xhred_filemanager_searching_matching=Searching for `%value` matching names of files/directories, containing `%text` text. +theme_xhred_filemanager_searching_replacing=Replacing matches `%text` with `%replace` in files with names containing `%value`. + +theme_xhred_filemanager_search_replaced_multi=Found and replaced in %value files. +theme_xhred_filemanager_search_replaced=Found and replaced in 1 file. + +theme_xhred_filemanager_successful_permissions_with_errors=Permissions have been changed successfully but not for all objects: + +theme_xhred_filemanager_successful_ownership_with_errors=Ownership has not been changed successfully for all objects: +theme_xhred_filemanager_successful_ownership_with_errors_fatal=Ownership can't be changed due to following errors: + +theme_xhred_filemanager_successful_compression_with_errors=Compression has finished with the following errors: +theme_xhred_filemanager_successful_compression_bg=Compression has successfully finished. Compressed file `%file is located in `%path` directory. +theme_xhred_filemanager_successful_compression_bg_with_errors=Compression has finished with errors. Compressed file `%file should be located in `%path` directory. + +theme_xhred_filemanager_settings_notification_type=Type of notifications to display +theme_xhred_filemanager_settings_notification_type_inf_warn_err=Informations, warnings and errors +theme_xhred_filemanager_settings_notification_type_warn_err=Warnings and errors +theme_xhred_filemanager_settings_notification_type_err=Errors only + +theme_xhred_filemanager_settings_tabs_remember_state=Restore previously used tabs on first load +theme_xhred_filemanager_context_open_new_tab=Open in new tab + +theme_xhred_xsql_fit_content_screen_height=Fit database table content in screen height + +theme_xhred_datatable_filter_visible_tables=Filter Visible Table(s) +theme_xhred_module_help=Module help + +theme_xhred_server_process_running=Server process is still running!? Are you sure that you want to navigate away and have no access to output information? Even if you leave now the process will not be terminated. + + +#18.03 +settings_global_options_title=Global options +settings_global_passgen_format=Password generator +settings_global_passgen_format_description=Set the length and character type used in the generated password. First value is numerical, which is the length of the password, immediately followed by | as a delimiter. Next is the type, where you can use numbers 0-9, letters a-z and/or A-Z, and special characters #. All of these sets can be used together or individually, using comma as a delimiter. Default value equals to 12|a-z,A-Z,0-9,#, which represents password with 12 characters in length, containing upper and lower case letters, numbers and special characters. +theme_xhred_password_generator_new=Generate New Password
    (To Clipboard) +theme_xhred_password_generator_new_success=Generated password %password has been copied to clipboard successfully. + + +#18.08 +theme_fileformat_perl=Perl +theme_fileformat_perl_placeholder=This file must end with `1;` to work successfully. + + +#18.10 +theme_error_access_not_root=Access denied: User needs access to the Webmin Configuration module to edit theme configuration + + +#18.20 +settings_hide_top_loader=Hide top progress bar + + +#18.30 +settings_leftmenu_vm_cm_dropdown_icons=Show symbolic icons in drop-down in Virtualmin/Cloudmin +settings_font_family=Font family +settings_font_family_description=Among all presented fonts' variants Roboto is shipped with the theme and set as default. The other fonts must be installed on your local computer in order to work. By using local fonts, the default one is not loaded, which will result in faster theme load +theme_xhred_global_shipped=Shipped +theme_xhred_global_available=Available +theme_xhred_global_not_available=Not available +theme_xhred_global_default=Default +theme_xhred_global_system_default=System default +theme_xhred_global_local_system_default=Local system default +theme_xhred_global_stats=Stats +theme_xhred_global_notifications=Notifications +theme_xhred_global_favorites=Favorites +theme_xhred_global_cpu_load=CPU load +theme_xhred_notification_none=No notifications +theme_xhred_notification_no_data=No collected data +theme_xhred_notification_no_favorites=No favorites data +theme_xhred_global_theme_version=Theme version + +settings_side_slider_sysinfo_enabled=Show dashboard tab +settings_side_slider_notifications_enabled=Show notifications tab +settings_side_slider_favorites_enabled=Show favorites tab +settings_show_terminal_link=Show terminal button + +theme_xhred_sysinfo_system_monitors=System Monitors +theme_xhred_sysinfo_server_status=Servers Status +theme_xhred_sysinfo_software_versions=Software Versions +theme_xhred_sysinfo_recent_logins=Recent Logins +theme_xhred_sysinfo_vm_package_updates=Virtualmin Package Updates +theme_xhred_sysinfo_disk_quotas=Disk Quotas +theme_xhred_sysinfo_bandwidth_quotas=Bandwidth Quotas + +left_netdata=Realtime Monitoring +settings_leftmenu_netdata=Show Netdata realtime monitoring link +settings_leftmenu_netdata_link=Netdata server preferred link + +theme_xhred_filemanager_context_chattr=Change attributes +theme_xhred_filemanager_changing_attributes=Setting attributes to %value on selected file(s). +theme_xhred_filemanager_successful_attributes_with_errors=Attributes haven't been set successfully for all objects: +theme_xhred_filemanager_successful_attributes=Attributes have been set successfully. + +theme_xhred_filemanager_context_chcon=Change security context +theme_xhred_filemanager_changing_secontext=Changing security context to %value on selected file(s). +theme_xhred_filemanager_successful_secontext_with_errors=Security context has not been changed successfully for all objects: +theme_xhred_filemanager_successful_secontext=Security context has been changed successfully. + +theme_xhred_global_no_results_found=No results found + + +#18.40 +theme_new_password_header=Set new password for user +login_reset=Password recovery +theme_xhred_move_top=Move to top +theme_xhred_move_bottom=Move to bottom +theme_xhred_move_up=Move up +theme_xhred_move_down=Move down +theme_xhred_add_after=Add after +theme_xhred_add_before=Add before +settings_button_tooltip=Show tooltip on buttons +settings_show_night_mode_link=Show palette toggle +settings_hotkey_toggle_key_night_mode=Hotkey for toggling dark/light palette +settings_title=Theme Configuration +settings_subtitle=For user + +theme_tooltip_night_mode=Day/night mode toggle +theme_tooltip_terminal_link=Terminal +theme_tooltip_language_link=Language +theme_tooltip_switch_user=Switch user +theme_tooltip_logout=Sign out +theme_tooltip_edit_user=Edit user + + +#18.45 +settings_sysinfo_easypie_charts_size=Diameter of charts +theme_xhred_global_choose=Choose +theme_xhred_global_select=Select +theme_xhred_global_ok=OK +settings_sysinfo_theme_patched_updates=Including patched versions +settings_sysinfo_theme_updates_description=In order to make this option work, git command has to be installed on your system +theme_git_patch_available=Latest available patch +theme_git_patch_no_git_message=In order to install latest patches directly from GitHub you must make sure that git command is installed. +theme_git_patch_update_success_message=Theme update for Webmin was successful. Currently installed version is $1. Reloading... +theme_git_patch_update_success_message2=Theme update for both Webmin and Usermin was successful. Currently installed version is $1. Reloading... +theme_xhred_git_patch_update=Theme update has failed. Try using console to do it manually. +theme_xhred_git_patch_initiated=Theme update has been initiated. +theme_xhred_global_prev_page=Go back one page +theme_xhred_global_help=Help +settings_right_soft_updates_page_options_title=Software updates +theme_xhred_git_compare_changes=Compare changes +theme_xhred_filemanager_link_to_clipboard=Symbolic link's name `%value` has been copied to clipboard. + + + +#18.46 +theme_left_mail_prefs=Mail Preferences +theme_left_mail_change_password=Change Password +theme_left_mail_account_functions=Account Functions +theme_xhred_global_dir_up=Go to previous directory (Backspace) +theme_xhred_global_module_config=Module config +theme_xhred_global_return=Return +theme_xhred_global_return_to_module_index=Return to module index + + +#18.47 +settings_account_info_link_mini=Show account information link as button +theme_xhred_global_complete_changelog=Complete changelog +theme_xhred_global_beta_version=Beta version +theme_xhred_global_release=Release +theme_xhred_global_released_on=Released on +theme_xhred_global_committed_on=Committed on +theme_xhred_global_resolved_issues=Resolved issues in %value releases + + +#18.48 +theme_force_upgrade=Force update theme +theme_force_upgrade_beta=Install latest development version (beta) +theme_force_upgrade_stable=Install latest release version (stable) +theme_xhred_source_encoding=Source encoding +theme_update_footer=Please be kind reporting bugs to $1 repository. Follow theme's $2 channel for the latest updates. +theme_xhred_encoding_manually_set=Manually set encoding +theme_xhred_filemanager_save_to_change_encoding=File must be saved, in order to allow encoding to be changed. + + +#18.49 +theme_xhred_filemanager_user_switch=Switch to user (Ctrl+M) +theme_xhred_filemanager_user_switch_description=By selecting the username listed below, you will switch further operations to be performed as this user. +theme_xhred_filemanager_user_switch_description_back=To switch back to default mode choose the first option in select. +theme_xhred_filemanager_user_switch_current_user=Current user +theme_xhred_filemanager_user_switch_option=Automatically switch to user mode upon entering its home directory +theme_xhred_filemanager_editor_align_panels_horizontally=Align Panels Horizontally +theme_xhred_filemanager_editor_align_panels_vertically=Align Panels Vertically +theme_xhred_filemanager_editor_toggle_soft_wrap=Toggle Soft Wrap +theme_xhred_filemanager_editor_refresh_content=Refresh Content +theme_xhred_filemanager_save_to_refresh_content=File must be saved, in order to allow its content to be refreshed. +theme_xhred_filemanager_save_to_refresh_content_proc=Refreshing file content. +theme_xhred_global_dark=Dark +theme_xhred_global_light=Light +theme_xhred_global_minimize=Minimize +theme_xhred_global_maximize=Maximize +theme_xhred_global_normalize=Normalize +theme_xhred_global_set_encoding=Set encoding + + +#19.00 +theme_xhred_sysinfo_update_start=System information is being recollected. +theme_xhred_sysinfo_update_end=System information has been recollected successfully. +theme_xhred_sysinfo_update_failed=System information can't be recollected. Try again later. + +theme_xhred_global_development_version=Development version + +right_vm_server_summary=Virtual Server Summary + +settings_webmin_default_module=Default module for Webmin + +theme_xhred_global_unbeforeunload_title=Changes you made may not be saved +theme_xhred_global_unbeforeunload_message=If you continue, unsaved changes on this page could be permanently lost. +theme_xhred_global_continue=Continue + +theme_xhred_global_automatic_refresh=Automatic refresh +theme_xhred_global_second=Second +theme_xhred_global_seconds=Seconds +theme_xhred_global_minute=Minute +theme_xhred_global_minutes=Minutes diff --git a/lang/da b/lang/da new file mode 120000 index 000000000..794c1f666 --- /dev/null +++ b/lang/da @@ -0,0 +1 @@ +da.UTF-8 \ No newline at end of file diff --git a/lang/da.UTF-8 b/lang/da.UTF-8 new file mode 100644 index 000000000..a3c90e0ba --- /dev/null +++ b/lang/da.UTF-8 @@ -0,0 +1,726 @@ +body_cp=CPU +body_cpu=CPU-belastning gennemsnit +body_cpuinfo=Processor information +body_cputemps=CPU temperature +body_cputype=$5, $8 kerner +body_disk=Local diskplads +body_driveerr=$1 fejl! +body_drivefailed=SMART check fejlede! +body_drivetemps=Drev temperatur +body_firewall=Firewall version +body_header0=System Information +body_header1=Profil Information +body_host=System hostnavn +body_kernel=Kernel og CPU +body_kernelon=$1 $2 on $3 +body_load=$1 (1 min) $2 (5 min) $3 (15 min) +body_os=Styresystem +body_procs=KÞrende processer +body_real=Fysisk Hukommelse +body_time=Systemtid +body_updates=Pakkeopdateringer +body_updays=$1 dage, $2 timer, $3 minutter +body_uphours=$1 timer, $2 minutter +body_upmins=$1 minutter +body_upneed=$1 pakkeopdateringer er tilgÊngelige +body_upneed1=$1 package update is available +body_upok=Alle indstallerede pakker er opdateret til nyeste version. +body_upsec=$1 pakkeopdateringer er tilgÊngelige, hvoraf $2 er sikkerhedsopdateringer +body_upsec1=$1 package updates are available, of which $2 is security update +body_upsec2=$1 package update is available, of which $2 are security updates +body_upsec3=$1 package update is available, of which $2 is security update +body_uptime=Oppetid +body_used=$1 total / $2 brugt +body_used_and_free=$1 total / $2 tilgÊngelige / $3 brugte +body_usermin=Usermin version +body_virt=Virtuel hukommelse +body_webmin=Webmin version + +left_favorites=Favorites +left_favorites_no=There were no favorites added yet... +left_feedback=Send Feedback +left_home=System Information +left_others=Andre +left_refresh_modules=GenindlÊs Moduler +left_search=SÞg +left_statistics=System Statistikker + +login_danger=Advarsel! +login_message=Du skal indtaste et brugernavn og en adgangskode for at logge in pÄ denne server +login_pass=Adgangskdoe +login_reset=Nulstil +login_save=Husk mig +login_signin=Log ind +login_success=succes! +login_token=Token +login_user=Brugernavn +login_warning=Advarsel! + +right_aliases=Alias servere +right_bw=BÄndbredte forbrug og loft +right_dom=Dit server navn +right_faliases=Mail aliaser +right_fdbs=Databaser +right_fdoms=Virtuelle Servere +right_from=Logget ind fra +right_fusers2=FTP brugere +right_fusers=Mail/FTP brugere +right_fvm2=Virtuelle maskiner +right_fweb=Virtuelle websider +right_licenceheader_vm2=Cloudmin Licenser +right_login=Logget ind som +right_not=Ikke indstalleret +right_of=$1 ud af $2 +right_quota=Diskforbrug og kvote +right_reselip=(Forhandler $1) +right_sharedip=(Delt IP) +right_slcheck=Re-Check Cloudmin License +right_subs=Underservere +right_virtdocs2=Yderligere dokumentation +right_virtualmin=Virtualmin version +right_vlcheck=Re-Check Virtualmin License +right_vm2=Cloudmin version + +session_failed=Login fejlede. PrÞv venligst igen. +session_logout=Loggede ud uden fejl. Brug formen under for at logge ind igen. +session_timed_out=Sessionen udlÞb efter $1 minutters inaktivitet. +session_twofailed=To-faktor godkendelse fejlede: $1 + + + + + + + + + + +settings_right_options=Options +settings_right_restore_defaults=Restore defaults +settings_right_restored=Restored +settings_right_restoring=Restoring +settings_right_saved=Saved +settings_right_saving=Saving + +settings_right_theme_extensions=Theme extensions +settings_right_theme_extensions_title=Theme Extensions +settings_right_file_edit=Edit extension file: +settings_right_extensions_title=Theme extensive design, enables you easily manipulate on targeted parts of the interface. + +settings_right_theme_logos=Theme logos +settings_right_theme_logos_title=Theme Logos +settings_right_logos_title=Theme logos can be easily set here, for both, authenticated and unauthenticated users. Recommended logo size is 180x90 pixels and the only supported format is .png, to provide alpha transparency. +settings_right_logo_authenticated_users=Logo for authenticated users +settings_right_logo_unauthenticated_users=Logo for unauthenticated users + +settings_right_current_theme=Current theme +settings_right_title=This page allows you to configure options for Authentic Theme. Settings will be stored upon theme update. +settings_right_theme_left_configuration_title=Authentic Theme Configuration +settings_right_theme_left_extensions_title=Authentic Theme Extensions Editor +settings_right_theme_left_logo_title=Authentic Theme Logo Control +settings_right_theme_configurable_options_title=Configurable options for Authentic Theme + + +settings_right_window_options_title=Window options +settings_right_navigation_menu_title=Navigation menu options +settings_right_table_options_title=Table options +settings_security_title=Security Alerts options +settings_security_description=Security alerts will let you setup email notifications upon certain events.
    Format: Message|Subject|Comma separated list of users/emails|Comma separated list of ignored IPv4/IPv6
    Usage: %3 successful login alert for user %1 from %2|%3 successful login alert|root,user@example.org|1.2.3.4,5.6.7.8
    Output: From: root, To: root, Subject: Webmin successful login alert, Message: Webmin successful login alert for user root from 2.3.4.5 +settings_right_hotkey_options_title=Hotkey options +settings_right_sysinfo_page_options_title=System Information page options + +settings_right_hotkey_custom_options_description=Custom links enable you to use digits from 1 to 9 in order to quick-access any valid Webmin/Usermin/Virtualmin/Cloudmin URL. The URL can be extracted from the currently opened right frame content page, by reading its source. It's important that URL has no slash at the beginning and doesn't use prefixes. For example, to quick-switch to Apache, set to custom link 1 field /apache/. If the default hotkeys modifier set to Alt, clicking Alt+1, will open you Apache module. +settings_hotkey_custom_1=Custom link 1 +settings_hotkey_custom_2=Custom link 2 +settings_hotkey_custom_3=Custom link 3 +settings_hotkey_custom_4=Custom link 4 +settings_hotkey_custom_5=Custom link 5 +settings_hotkey_custom_6=Custom link 6 +settings_hotkey_custom_7=Custom link 7 +settings_hotkey_custom_8=Custom link 8 +settings_hotkey_custom_9=Custom link 9 + +settings_navigation_color=Navigation menu color palette +settings_background_color=Content page color palette +settings_animation_left=Enable animation in navigation menu +settings_animation_tabs=Enable animation in tabs +settings_loader_top=Enable page progress loader on top of the screen +settings_loader_left=Enable spinner for navigation menu +settings_right_reload=Load default content page +settings_right_reload_description=When switching tabs, right frame content page is reloaded. Do not keep currently opened right frame content page and reload with default? + +settings_right_hide_table_icons=Hide table icons for the right frame +settings_right_hide_table_icons_description=Completely remove icons from the content page tables and display plain links with right chevron +settings_right_small_table_icons=Small table icons +settings_right_small_table_icons_description=Substitute standard size table icons with small ones and display icons link using tooltip +settings_right_animate_table_icons=Animate table icons on focus +settings_right_grayscaled_table_icons=Grayscale table icons and bring color on focus only + +settings_leftmenu_section_hide_refresh_modules=Hide Refresh Modules link +settings_leftmenu_section_hide_unused_modules=Hide Unused Modules link +settings_favorites=Show favorites button +settings_leftmenu_button_language=Show language button +settings_leftmenu_button_refresh=Show refresh button + +settings_theme_options_button=Show theme settings button + +settings_hotkeys_active=Enable hotkeys usage +settings_hotkey_toggle_modifier=Hotkeys modifier +settings_hotkey_toggle_key_webmin=Hotkey for Webmin +settings_hotkey_toggle_key_virtualmin=Hotkey for Virtualmin +settings_hotkey_toggle_key_cloudmin=Hotkey for Cloudmin +settings_hotkey_toggle_key_usermin=Hotkey for Usermin +settings_hotkey_toggle_key_webmail=Hotkey for Mail +settings_hotkey_sysinfo=Hotkey for dashboard +settings_hotkey_shell=Hotkey for terminal +settings_hotkey_favorites=Hotkey for favorites +settings_hotkey_focus_search=Hotkey for search field +settings_hotkey_reload=Hotkey for page reload + +settings_side_slider_background_refresh_time=Timeout for background information update +settings_side_slider_background_refresh_time_description=Set desired timeout for updating notification slider in background calls. The value meant to be in minutes. Minimum recommended value is 1 minute. Default is set to 5 minutes. Decimal values can also be used. +settings_sysinfo_easypie_charts=Show charts +settings_sysinfo_theme_updates=Check for Authentic Theme updates +settings_sysinfo_csf_updates=Check for ConfigServer Security & Firewall updates +settings_sysinfo_drive_status_on_new_line=Show CPU and drives status each on new line +settings_sysinfo_expand_all_accordions=Make all accordions expanded +settings_sysinfo_link_mini=Show system information link as button + +settings_right_page_defaults_title=Default pages +settings_right_default_tab_webmin=Default tab after logging in to Webmin +settings_right_default_tab_usermin=Default tab after logging in to Usermin +settings_right_virtualmin_default=Default page for Virtualmin +settings_right_cloudmin_default=Default page for Cloudmin + +settings_right_clear_local_cache=Clear cache +settings_right_notification_slider_options_title=Side slider options +settings_side_slider_fixed=Keep slider always visible +settings_side_slider_palette=Slider palette +settings_hotkey_toggle_slider=Hotkey for slider +settings_window_replace_timestamps=Enable dates substitutions +settings_window_replaced_timestamp_format_short=Short date/time format +settings_window_replaced_timestamp_format_full=Full date/time format +settings_window_replaced_timestamps_options_description=Tweak date/time settings to set desired output for displaying dates in full or short format. In-built this option has effect in Notification Slider and System Information page (on the row Time on system). By default, full format equals to LLLL and short is L, LTS. The time output is different for different locales. Locale is based on Webmin language settings. + +settings_side_slider_enabled=Enable slider +settings_leftmenu_user_html=Show HTML snippet +settings_leftmenu_user_html_description=User defined text or HTML code will be injected to the bottom of the navigation menu. It can be used for identification purposes. For example, to make explicitly show your hostname, you could add to the field <br><kbd>hostname:10000</kbd> + + +theme_changelog=Changelog +theme_conference=Theme Conference +theme_development_support=Stþt udviklingen +theme_donate=Donere +theme_download=Hent +theme_name=Authentic Tema +theme_update=Updater +theme_update_available=Seneste tilgéngelige version +theme_update_notice=Opdateringsbesked +theme_version=Temaets version + + +# Version 17.40 +theme_global_error=Error +theme_global_warning=Warning +theme_global_success=Success +theme_global_info=Information +sysinfo_system_status_warning=In order to have System Information displayed you will need to enable System Status module in user settings. +settings_leftmenu_user_html_only_for_administrator=Show HTML snippet for administrators only +theme_sysinfo_wmdocs=Webmin documentation +theme_sysinfo_vmdocs=Virtualmin documentation +theme_sysinfo_cmdocs=Cloudmin documentation +theme_fileformat_css=CSS +theme_fileformat_json=JSON +theme_fileformat_js=Javascript +theme_fileformat_plain_text=Plain Text + +theme_xhred_titles_wm=Webmin +theme_xhred_titles_um=Usermin +theme_xhred_titles_dashboard=Dashboard +theme_xhred_titles_mail=Mail +theme_xhred_titles_vm=Virtualmin +theme_xhred_titles_cm=Cloudmin +theme_xhred_titles_thirdlane=Thirdlane + +theme_xhred_global_please_wait=Please wait... +theme_xhred_filemanager_copying_selected=Copying selected. +theme_xhred_filemanager_cutting_selected=Cutting selected. +theme_xhred_filemanager_pasting_selected=Pasting from clipboard. +theme_xhred_filemanager_unpacking_archive=Unpacking selected file(s). +theme_xhred_filemanager_deleting_selected=Deleting selected. +theme_xhred_filemanager_renaming_selected=Renaming selected. +theme_xhred_filemanager_creating_directory=Creating directory +theme_xhred_filemanager_creating_file=Creating file +theme_xhred_filemanager_downloading_from=Downloading from +theme_xhred_filemanager_setting_permissions=Setting permissions to %value on selected file(s). +theme_xhred_filemanager_changing_ownership=Changing ownership to %value on selected file(s). +theme_xhred_filemanager_compressing_selected=Compressing selected in the background. +theme_xhred_filemanager_refreshing=Refreshing directory content. +theme_xhred_filemanager_copying_successful=Copy to clipboard successful. +theme_xhred_filemanager_cutting_successful=Cut to clipboard successful. +theme_xhred_filemanager_pasting_successful=Paste from clipboard was successful. +theme_xhred_filemanager_bookmark_success=Directory %value was successfully added to your bookmarks. +theme_xhred_filemanager_searching=Searching for `%value` matching names of files/directories. +theme_xhred_filemanager_search_founds=Found %value matches. +theme_xhred_filemanager_search_found=Found 1 match. +theme_xhred_filemanager_search_no_matches=No matches found. +theme_xhred_filemanager_nothing_is_selected=Nothing is selected! +theme_xhred_filemanager_saving_file=File `%value` is being saved. +theme_xhred_filemanager_file_saved=File `%value` has been successfully saved. +theme_xhred_filemanager_not_editable=Can not edit this type of selection. +theme_xhred_filemanager_not_decompressable=Can not decompress this type of file. +theme_xhred_filemanager_no_selection_to_copy=No directories/files selected to copy. +theme_xhred_filemanager_no_selection_to_cut=No directories/files selected to cut. +theme_xhred_filemanager_empty_clipboard=Clipboard is empty. + +theme_xhred_filemanager_successful_extraction=Extraction of selected file(s) was successful. +theme_xhred_filemanager_successful_deletion=Deletion was successful. +theme_xhred_filemanager_successful_permissions=Permissions have been changed successfully. +theme_xhred_filemanager_successful_ownership=Ownership has been changed successfully. +theme_xhred_filemanager_successful_compression=Compression has successfully finished. +theme_xhred_filemanager_successful_directory_creation=Directory `%value` was created successfully. +theme_xhred_filemanager_successful_file_creation=File `%value` was created successfully. + +theme_xhred_notifications_packages_updates=Packages Update +theme_xhred_notifications_theme_update=Theme Update +theme_xhred_notifications_theme_update_message=A new version %v of Authentic Theme is available. Please update. +theme_xhred_notifications_firewall_update=Firewall Update +theme_xhred_notifications_firewall_update_message=A new version %v of ConfigServer Server Security and Firewall is available. Please update. + +theme_xhred_notifications_firewall_danger=Firewall Danger +theme_xhred_notifications_firewall_danger_message=It appears that ConfigServer Server Security and Firewall is not running or has been stopped! Don't leave your server exposed, check for the firewall settings (%v) + +theme_xhred_notifications_firewall_warning=Firewall Warning + +#17.50 +settings_grayscale_level_navigation=Grayscale filter +settings_grayscale_level_navigation_description=Default/current values 0/0 +settings_sepia_level_navigation=Sepia filter +settings_sepia_level_navigation_description=Default/current values 0/0 +settings_saturate_level_navigation=Saturate filter +settings_saturate_level_navigation_description=Default/current values 1/0 +settings_hue_level_navigation=Hue-rotate filter +settings_hue_level_navigation_description=Default/current values 0°/0° +settings_invert_level_navigation=Invert filter +settings_invert_level_navigation_description=Default/current values 0/0 +settings_brightness_level_navigation=Brightness filter +settings_brightness_level_navigation_description=Default/current values 1/0 +settings_contrast_level_navigation=Contrast filter +settings_contrast_level_navigation_description=Default/current values 1/0 + +settings_grayscale_level_content=Grayscale filter +settings_grayscale_level_content_description=Default/current values 0/0 +settings_saturate_level_content=Saturate filter +settings_saturate_level_content_description=Default/current values 1/0 +settings_hue_level_content=Hue-rotate filter +settings_hue_level_content_description=Default/current values 0°/0° + +settings_cm_view_palette=Viewer color palette +settings_cm_editor_palette=Editor color palette + +theme_xhred_filemanager_context_select_all=Select All +theme_xhred_filemanager_context_select_invert=Invert Selection +theme_xhred_filemanager_context_refresh=Refresh +theme_xhred_filemanager_context_newfile=Create new file +theme_xhred_filemanager_context_newfoder=Create new directory +theme_xhred_filemanager_context_copy=Copy +theme_xhred_filemanager_context_cut=Cut +theme_xhred_filemanager_context_paste=Paste +theme_xhred_filemanager_context_chmod=Change Permissions +theme_xhred_filemanager_context_chown=Change Ownership + +#17.51 +theme_xhred_filemanager_context_new=New +theme_xhred_filemanager_context_newarchive=Create new archive +theme_xhred_filemanager_context_delete=Delete +theme_xhred_filemanager_context_rename=Rename +theme_xhred_filemanager_context_edit=Edit +theme_xhred_filemanager_context_extract=Extract +theme_xhred_filemanager_context_goto=Open Item Location +theme_xhred_filemanager_context_properties=Properties +theme_xhred_filemanager_context_search=Search + +#17.52 +theme_xhred_filemanager_context_deselect_all=Deselect All +theme_xhred_filemanager_context_upload=Upload to current directory +theme_xhred_filemanager_context_download=Download from remote URL + +#17.53 +theme_settings_virtualmin=Virtualmin Virtual Servers +theme_settings_cloudmin=Cloudmin Managed Systems +settings_right_thirdparties_options_title=Third-parties modules options +theme_xhred_filemanager_context_calculate_size=Calculate size on spacebar +theme_xhred_filemanager_context_bookmarks=Bookmarks +theme_xhred_filemanager_context_bookmark_current=Bookmark currently opened path +theme_xhred_filemanager_context_transfer=Transfer + +#17.54 +theme_xhred_filemanager_title_symlink_target=Link target + +#17.60 +right_unlimited=Unlimited +settings_leftmenu_width=Preferable width +settings_leftmenu_width_description=Default/current width 260/0 +settings_switch_rdisplay=Reverse switch output +settings_switch_rdisplay_description=This option allows you to set different order for top-left switches. After changing this option, complete page reload is required to apply new settings. + + +#17.63 +theme_xhred_filemanager_context_calculate_selected_size=Calculate selected size +theme_xhred_filemanager_selected_entries=Selected: %value entries +theme_xhred_filemanager_manual_path=Enter path manually + +theme_xhred_datatable_semptytable=No data available in table +theme_xhred_datatable_sinfo=Showing _START_ to _END_ of _TOTAL_ entries +theme_xhred_datatable_sinfoempty=Showing 0 to 0 of 0 entries +theme_xhred_datatable_slengthmenu=Show _MENU_ entries +theme_xhred_datatable_sloadingrecords=Loading +theme_xhred_datatable_sprocessing=Processing... +theme_xhred_datatable_szerorecords=No matching records found + +#17.64 +theme_xhred_filemanager_file_edit_but_not_saved=File has been edited but hasn't been saved. +theme_xhred_filemanager_file_edit_but_not_saved_what_to_do=What do you want to do? +theme_xhred_global_save=Save +theme_xhred_global_save_and_close=Save and close +theme_xhred_global_close_without_saving=Close without saving +theme_xhred_global_continue_editing=Continue editing +theme_xhred_filemanager_context_download_file=Download + +#17.65 +settings_sysinfo_easypie_charts_width=Width of charts +settings_sysinfo_easypie_charts_scale=Scale length of charts + +#17.80 +right_return_theme_options=theme options +theme_xhred_datatable_semptydirectory=Directory is empty +theme_xhred_filemanager_context_clipboard=Copy path to clipboard +theme_xhred_global_warning=Warning +theme_xhred_global_close=Close +theme_xhred_encoding_warning=Detected that you are using non-unicode character set, which is not recommended. Strange  character might appear in text-editor mode and/or other encoding issues are going to happen.

    Change language in %prod Configuration to %lang.UTF-8 and make sure, that your browser also detected it correctly.

    Pay attention, that Webmin in-built module, named Change Language and Theme can override global settings.
    + +theme_xhred_filemanager__no_bookmarks=No saved bookmarks +theme_xhred_filemanager_unbookmark_success=Directory %value was successfully removed from your bookmarks. +theme_xhred_filemanager_bookmark=Bookmark current directory +theme_xhred_filemanager_unbookmark=Unbookmark current directory +theme_xhred_filemanager_move_into_self=You cannot move a directory into itself! The destination directory is inside the source directory. +theme_xhred_filemanager_pasting_and_copying_1=Selected source has been pasted with the new name successfully. +theme_xhred_filemanager_pasting_and_copying_2=Selected sources have been pasted with the new names successfully. +theme_xhred_filemanager_pasting_and_replacing_1=Existing target has been replaced with new successfully. +theme_xhred_filemanager_pasting_and_replacing_2=Existing targets have been replaced with new successfully. +theme_xhred_filemanager_target_conflict_1=Target conflict +theme_xhred_filemanager_target_conflict_2=Targets conflicts +theme_xhred_filemanager_target_conflict_message_1=Pasted target already exists! What do you prefer to do? +theme_xhred_filemanager_target_conflict_message_2=Pasted targets already exist! What do you prefer to do? +theme_xhred_filemanager_target_conflict_replace=Merge and replace +theme_xhred_filemanager_target_conflict_paste=Paste with new name + +theme_xhred_editor_help_title=Editor Keyboard Shortcuts +theme_xhred_editor_help_content=
    Find/Replace
    Keypress Command
    Ctrl + F Find
    Ctrl + H Replace
    Ctrl + ⇧ + R Replace all
    Ctrl + G Find next
    Ctrl + ⇧ + G Find previous
    Alt + G Jump to line
    Text manipulation
    Keypress Command
    Ctrl + KU Transform to Uppercase
    Ctrl + KL Transform to Lowercase
    Editing
    Keypress Command
    Ctrl + Space Activate autocompletion
    Ctrl + X Cut line
    Ctrl + ⇧ + ↑ Move line/selection up
    Ctrl + ⇧ + ↓ Move line/selection down
    Ctrl + L Select line - Repeat to select next lines
    Ctrl + D Select word - Repeat select others occurrences
    Ctrl + M Jump to closing parentheses Repeat to jump to opening parentheses
    Ctrl + ⇧ + M Select all contents of the current parentheses
    Ctrl + ⇧ + K Delete Line
    Ctrl + KK Delete from cursor to end of line
    Ctrl + K + Backspace Delete from cursor to start of line
    Ctrl + ⇧ + D Duplicate line(s)
    Ctrl + J Join line below to the end of the current line
    Ctrl + / Comment/un-comment current line
    Ctrl + ⇧ + / Block comment current selection
    Ctrl + Y Redo, or repeat last keyboard shortcut command
    Ctrl + ⇧ + V Paste and indent correctly
    Ctrl + Space Select next auto-complete suggestion
    Ctrl + U soft undo; jumps to your last change before undoing change when repeated
    + +theme_xhred_filemanager_hide_toolbar=Hide toolbar +theme_xhred_filemanager_hide_actions=Hide actions column +theme_xhred_filemanager_hovered_toolbar=Activate dropdown in toolbar on mouse hover +theme_xhred_filemanager_context_delete_selected=Delete selected + +#17.83 +theme_xhred_database_adding_new_row=Adding new row +theme_xhred_database_editing_row=Editing selected row +theme_xhred_database_editing_rows=Editing selected rows +theme_xhred_database_adding_new_row_data=Set data + +#17.84 +theme_xhred_datatable_filter=Filter + +theme_xhred_global_update=Update +theme_xhred_global_update_and_return=Update and return +theme_xhred_global_update_and_close=Update and close +theme_xhred_global_back=Back +theme_xhred_global_cancel=Cancel + +theme_xhred_database_add_row_successful=New row was successfully added +theme_xhred_database_edit_row_successful=Selected row was successfully updated +theme_xhred_database_edit_rows_successful=Selected rows were successfully updated +theme_xhred_database_edit_row_delete_successful=Selected row was successfully deleted +theme_xhred_database_edit_rows_delete_successful=Successfully deleted %n selected rows +theme_xhred_database_edit_field_delete_successful=Selected field was successfully deleted +theme_xhred_database_edit_fields_delete_successful=Successfully deleted %n selected fields +theme_xhred_database_edit_selected_row=Edit selected row +theme_xhred_database_edit_selected_rows=Edit selected rows +theme_xhred_database_add_new_row=Add row +theme_xhred_database_delete_selected_row=Delete selected row +theme_xhred_database_delete_selected_rows=Delete selected rows +theme_xhred_database_delete_selected_field=Delete selected field +theme_xhred_database_delete_selected_fields=Delete selected fields +theme_xhred_database_object_selected_delete=Delete selected object +theme_xhred_database_objects_selected_delete=Delete selected objects +theme_xhred_database_db_selected_drop=Drop selected database +theme_xhred_database_dbs_selected_drop=Drop selected databases +theme_xhred_database_edit_but_not_saved=Table data has been edited but not saved. + +theme_xhred_global_no_such_command=It appears that %cmd executable is not installed or not in the path on your system. + +theme_xhred_global_notice=Notice + +theme_xhred_updates_disabled_notice=Detected that you don't have enabled notifications for Authentic Theme updates?

    Enabling this feature in Theme Configuration will help you to update to the latest version in a single click as soon as it's out. + + +#18.00 +theme_xhred_global_file=File +theme_xhred_global_directory=Directory +theme_xhred_global_no_target=Target doesn't exist or not accessible +theme_xhred_global_error_code=Error code +theme_xhred_global_on=On +theme_xhred_global_off=Off +theme_xhred_global_all=All +theme_xhred_global_none=None +theme_xhred_global_yes=Yes +theme_xhred_global_no=No + +theme_xhred_filemanager_new_tab=Add new tab (Ctrl+Space) +theme_xhred_datatable_no_search_results=No results found
    Try a different search + +theme_xhred_filemanager_buffer_error=Failed to paste files to the buffer - permission denied. + +filemanager_create_object_exists=$3 `$1` already exists in `$2` +filemanager_create_object_denied=Can't create $3 `$1` in `$2` - permission denied. + +filemanager_paste_warning=Failed to paste target(s). It is possible that requested object(s) could have been renamed, moved or deleted while/before pasting. Another possible cause is that destination is not writable. It is worth checking objects' attributes. + +theme_xhred_filemanager_delete_warning=Deletion has finished successfully but not for all objects. It is possible that requested object(s) could have been renamed or moved before deletion. Restricted permissions (attributes) is another possible cause. Error message: + + +filemanager_rename_exists=$3 with name `$1` already exists in `$2` +filemanager_rename_denied=Can not rename the $3. This might happen because the source $3 has been removed or due to restricted permissions. + +theme_xhred_filemanager_successful_rename=Renaming `%from` to `%to` was successful. + +filemanager_global_info_total1=Total: $1 file and $2 directory +filemanager_global_info_total2=Total: $1 files and $2 directory +filemanager_global_info_total3=Total: $1 file and $2 directories +filemanager_global_info_total4=Total: $1 files and $2 directories + +theme_xhred_filemanager_selected_entry=Selected: %value entry + +theme_xhred_filemanager_search_query=Query mask +theme_xhred_filemanager_search_match=Find in results +theme_xhred_filemanager_search_replace=Replace in results + +theme_xhred_global_find=Find +theme_xhred_global_replace=Replace + +theme_xhred_filemanager_searching_matching=Searching for `%value` matching names of files/directories, containing `%text` text. +theme_xhred_filemanager_searching_replacing=Replacing matches `%text` with `%replace` in files with names containing `%value`. + +theme_xhred_filemanager_search_replaced_multi=Found and replaced in %value files. +theme_xhred_filemanager_search_replaced=Found and replaced in 1 file. + +theme_xhred_filemanager_successful_permissions_with_errors=Permissions have been changed successfully but not for all objects: + +theme_xhred_filemanager_successful_ownership_with_errors=Ownership has not been changed successfully for all objects: +theme_xhred_filemanager_successful_ownership_with_errors_fatal=Ownership can't be changed due to following errors: + +theme_xhred_filemanager_successful_compression_with_errors=Compression has finished with the following errors: +theme_xhred_filemanager_successful_compression_bg=Compression has successfully finished. Compressed file `%file is located in `%path` directory. +theme_xhred_filemanager_successful_compression_bg_with_errors=Compression has finished with errors. Compressed file `%file should be located in `%path` directory. + +theme_xhred_filemanager_settings_notification_type=Type of notifications to display +theme_xhred_filemanager_settings_notification_type_inf_warn_err=Informations, warnings and errors +theme_xhred_filemanager_settings_notification_type_warn_err=Warnings and errors +theme_xhred_filemanager_settings_notification_type_err=Errors only + +theme_xhred_filemanager_settings_tabs_remember_state=Restore previously used tabs on first load +theme_xhred_filemanager_context_open_new_tab=Open in new tab + +theme_xhred_xsql_fit_content_screen_height=Fit database table content in screen height + +theme_xhred_datatable_filter_visible_tables=Filter Visible Table(s) +theme_xhred_module_help=Module help + +theme_xhred_server_process_running=Server process is still running!? Are you sure that you want to navigate away and have no access to output information? Even if you leave now the process will not be terminated. + + +#18.03 +settings_global_options_title=Global options +settings_global_passgen_format=Password generator +settings_global_passgen_format_description=Set the length and character type used in the generated password. First value is numerical, which is the length of the password, immediately followed by | as a delimiter. Next is the type, where you can use numbers 0-9, letters a-z and/or A-Z, and special characters #. All of these sets can be used together or individually, using comma as a delimiter. Default value equals to 12|a-z,A-Z,0-9,#, which represents password with 12 characters in length, containing upper and lower case letters, numbers and special characters. +theme_xhred_password_generator_new=Generate New Password
    (To Clipboard) +theme_xhred_password_generator_new_success=Generated password %password has been copied to clipboard successfully. + + +#18.08 +theme_fileformat_perl=Perl +theme_fileformat_perl_placeholder=This file must end with `1;` to work successfully. + + +#18.10 +theme_error_access_not_root=Access denied: User needs access to the Webmin Configuration module to edit theme configuration + + +#18.20 +settings_hide_top_loader=Hide top progress bar + + +#18.30 +settings_leftmenu_vm_cm_dropdown_icons=Show symbolic icons in drop-down in Virtualmin/Cloudmin +settings_font_family=Font family +settings_font_family_description=Among all presented fonts' variants Roboto is shipped with the theme and set as default. The other fonts must be installed on your local computer in order to work. By using local fonts, the default one is not loaded, which will result in faster theme load +theme_xhred_global_shipped=Shipped +theme_xhred_global_available=Available +theme_xhred_global_not_available=Not available +theme_xhred_global_default=Default +theme_xhred_global_system_default=System default +theme_xhred_global_local_system_default=Local system default +theme_xhred_global_stats=Stats +theme_xhred_global_notifications=Notifications +theme_xhred_global_favorites=Favorites +theme_xhred_global_cpu_load=CPU load +theme_xhred_notification_none=No notifications +theme_xhred_notification_no_data=No collected data +theme_xhred_notification_no_favorites=No favorites data +theme_xhred_global_theme_version=Theme version + +settings_side_slider_sysinfo_enabled=Show dashboard tab +settings_side_slider_notifications_enabled=Show notifications tab +settings_side_slider_favorites_enabled=Show favorites tab +settings_show_terminal_link=Show terminal button + +theme_xhred_sysinfo_system_monitors=System Monitors +theme_xhred_sysinfo_server_status=Servers Status +theme_xhred_sysinfo_software_versions=Software Versions +theme_xhred_sysinfo_recent_logins=Recent Logins +theme_xhred_sysinfo_vm_package_updates=Virtualmin Package Updates +theme_xhred_sysinfo_disk_quotas=Disk Quotas +theme_xhred_sysinfo_bandwidth_quotas=Bandwidth Quotas + +left_netdata=Realtime Monitoring +settings_leftmenu_netdata=Show Netdata realtime monitoring link +settings_leftmenu_netdata_link=Netdata server preferred link + +theme_xhred_filemanager_context_chattr=Change attributes +theme_xhred_filemanager_changing_attributes=Setting attributes to %value on selected file(s). +theme_xhred_filemanager_successful_attributes_with_errors=Attributes haven't been set successfully for all objects: +theme_xhred_filemanager_successful_attributes=Attributes have been set successfully. + +theme_xhred_filemanager_context_chcon=Change security context +theme_xhred_filemanager_changing_secontext=Changing security context to %value on selected file(s). +theme_xhred_filemanager_successful_secontext_with_errors=Security context has not been changed successfully for all objects: +theme_xhred_filemanager_successful_secontext=Security context has been changed successfully. + +theme_xhred_global_no_results_found=No results found + + +#18.40 +theme_new_password_header=Set new password for user +login_reset=Password recovery +theme_xhred_move_top=Move to top +theme_xhred_move_bottom=Move to bottom +theme_xhred_move_up=Move up +theme_xhred_move_down=Move down +theme_xhred_add_after=Add after +theme_xhred_add_before=Add before +settings_button_tooltip=Show tooltip on buttons +settings_show_night_mode_link=Show palette toggle +settings_hotkey_toggle_key_night_mode=Hotkey for toggling dark/light palette +settings_title=Theme Configuration +settings_subtitle=For user + +theme_tooltip_night_mode=Day/night mode toggle +theme_tooltip_terminal_link=Terminal +theme_tooltip_language_link=Language +theme_tooltip_switch_user=Switch user +theme_tooltip_logout=Sign out +theme_tooltip_edit_user=Edit user + + +#18.45 +settings_sysinfo_easypie_charts_size=Diameter of charts +theme_xhred_global_choose=Choose +theme_xhred_global_select=Select +theme_xhred_global_ok=OK +settings_sysinfo_theme_patched_updates=Including patched versions +settings_sysinfo_theme_updates_description=In order to make this option work, git command has to be installed on your system +theme_git_patch_available=Latest available patch +theme_git_patch_no_git_message=In order to install latest patches directly from GitHub you must make sure that git command is installed. +theme_git_patch_update_success_message=Theme update for Webmin was successful. Currently installed version is $1. Reloading... +theme_git_patch_update_success_message2=Theme update for both Webmin and Usermin was successful. Currently installed version is $1. Reloading... +theme_xhred_git_patch_update=Theme update has failed. Try using console to do it manually. +theme_xhred_git_patch_initiated=Theme update has been initiated. +theme_xhred_global_prev_page=Go back one page +theme_xhred_global_help=Help +settings_right_soft_updates_page_options_title=Software updates +theme_xhred_git_compare_changes=Compare changes +theme_xhred_filemanager_link_to_clipboard=Symbolic link's name `%value` has been copied to clipboard. + + + +#18.46 +theme_left_mail_prefs=Mail Preferences +theme_left_mail_change_password=Change Password +theme_left_mail_account_functions=Account Functions +theme_xhred_global_dir_up=Go to previous directory (Backspace) +theme_xhred_global_module_config=Module config +theme_xhred_global_return=Return +theme_xhred_global_return_to_module_index=Return to module index + + +#18.47 +settings_account_info_link_mini=Show account information link as button +theme_xhred_global_complete_changelog=Complete changelog +theme_xhred_global_beta_version=Beta version +theme_xhred_global_release=Release +theme_xhred_global_released_on=Released on +theme_xhred_global_committed_on=Committed on +theme_xhred_global_resolved_issues=Resolved issues in %value releases + + +#18.48 +theme_force_upgrade=Force update theme +theme_force_upgrade_beta=Install latest development version (beta) +theme_force_upgrade_stable=Install latest release version (stable) +theme_xhred_source_encoding=Source encoding +theme_update_footer=Please be kind reporting bugs to $1 repository. Follow theme's $2 channel for the latest updates. +theme_xhred_encoding_manually_set=Manually set encoding +theme_xhred_filemanager_save_to_change_encoding=File must be saved, in order to allow encoding to be changed. + + +#18.49 +theme_xhred_filemanager_user_switch=Switch to user (Ctrl+M) +theme_xhred_filemanager_user_switch_description=By selecting the username listed below, you will switch further operations to be performed as this user. +theme_xhred_filemanager_user_switch_description_back=To switch back to default mode choose the first option in select. +theme_xhred_filemanager_user_switch_current_user=Current user +theme_xhred_filemanager_user_switch_option=Automatically switch to user mode upon entering its home directory +theme_xhred_filemanager_editor_align_panels_horizontally=Align Panels Horizontally +theme_xhred_filemanager_editor_align_panels_vertically=Align Panels Vertically +theme_xhred_filemanager_editor_toggle_soft_wrap=Toggle Soft Wrap +theme_xhred_filemanager_editor_refresh_content=Refresh Content +theme_xhred_filemanager_save_to_refresh_content=File must be saved, in order to allow its content to be refreshed. +theme_xhred_filemanager_save_to_refresh_content_proc=Refreshing file content. +theme_xhred_global_dark=Dark +theme_xhred_global_light=Light +theme_xhred_global_minimize=Minimize +theme_xhred_global_maximize=Maximize +theme_xhred_global_normalize=Normalize +theme_xhred_global_set_encoding=Set encoding + + +#19.00 +theme_xhred_sysinfo_update_start=System information is being recollected. +theme_xhred_sysinfo_update_end=System information has been recollected successfully. +theme_xhred_sysinfo_update_failed=System information can't be recollected. Try again later. + +theme_xhred_global_development_version=Development version + +right_vm_server_summary=Virtual Server Summary + +settings_webmin_default_module=Default module for Webmin + +theme_xhred_global_unbeforeunload_title=Changes you made may not be saved +theme_xhred_global_unbeforeunload_message=If you continue, unsaved changes on this page could be permanently lost. +theme_xhred_global_continue=Continue + +theme_xhred_global_automatic_refresh=Automatic refresh +theme_xhred_global_second=Second +theme_xhred_global_seconds=Seconds +theme_xhred_global_minute=Minute +theme_xhred_global_minutes=Minutes diff --git a/lang/de b/lang/de new file mode 120000 index 000000000..7dd832dcc --- /dev/null +++ b/lang/de @@ -0,0 +1 @@ +de.UTF-8 \ No newline at end of file diff --git a/lang/de.UTF-8 b/lang/de.UTF-8 new file mode 100644 index 000000000..25b76f397 --- /dev/null +++ b/lang/de.UTF-8 @@ -0,0 +1,718 @@ +body_cp=CPU +body_cpu=Durchschnitlliche CPU-Auslastung +body_cpuinfo=Prozessorinformation +body_cputemps=CPU-Temperatur +body_cputype=$5, $8 Kerne +body_disk=Lokale HDD-SpeicherkapazitĂ€t +body_driveerr=$1 Fehler! +body_drivefailed=SMART-Check fehlgeschlagen! +body_drivetemps=HDD-Temperatur +body_firewall=Firewall-Version +body_header0=Systeminformation +body_header1=Nutzerinformation +body_host=System Hostname +body_kernel=Kernel und CPU +body_kernelon=$1 $2 on $3 +body_load=$1 (1 Min) $2 (5 Min) $3 (15 Min) +body_os=Betriebssystem +body_procs=Laufende Prozesse +body_real=TatsĂ€chlicher Speicher +body_time=Systemzeit +body_updates=Paket-Updates +body_updays=$1 Tage, $2 Stunden, $3 Minuten +body_uphours=$1 Stunden, $2 Minuten +body_upmins=$1 Minuten +body_upneed=$1 verfĂŒgbare Updates +body_upneed1=$1 Paket Update ist verfĂŒgbar +body_upok=Alle installierten Pakete sind auf dem aktuellesten Stand +body_upsec=$1 verfĂŒgbare Updates, davon $2 Sicherheits-Updates +body_upsec1=$1 Paket Updates verfĂŒgbar, davon $2 Sicherheits-Updates +body_upsec2=$1 Paket Updates verfĂŒgbar, davon $2 Sicherheits-Updates +body_upsec3=$1 Paket Updates verfĂŒgbar, davon $2 Sicherheits-Updates +body_uptime=System-Betriebszeit +body_used=$1 gesamt / $2 genutzt +body_used_and_free=$1 gesamt / $2 freien / $3 genutzt +body_usermin=Usermin-Version +body_virt=Virtueller Speicher +body_webmin=Webmin-Version + +left_favorites=Favoriten +left_favorites_no=Keine Favoriten zum hinzufĂŒgen... +left_feedback=Feedback senden +left_home=System Information +left_others=Sonstiges +left_refresh_modules=Module aktualisieren +left_search=Suche +left_statistics=Systemstatistik + +login_danger=Gefahr! +login_message=Bitte mit Nutzernamen und Passwort anmelden. +login_pass=Passwort +login_reset=Abbrechen +login_save=Angemeldet bleiben +login_signin=Anmelden +login_success=Erfolgreich! +login_token=Token +login_user=Nutzername +login_warning=Warnung! + +right_aliases=Server Aliase +right_bw=Bandbreitennutzung und Limits +right_dom=Ihr Servername +right_faliases=Mail Aliase +right_fdbs=Datenbanken +right_fdoms=Virtuelle Server +right_from=Angemeldet von +right_fusers2=FTP Benutzer +right_fusers=Mail/FTP Benutzer +right_fvm2=Virtuelle Maschinen +right_fweb=Virtuelle Webseiten +right_licenceheader_vm2=Cloudmin Lizenz +right_login=Angemeldet als +right_not=Nicht installiert +right_of=$1 von insgesamt $2 +right_quota=Festplattennutzung und Limits +right_reselip=(WiederverkĂ€ufer $1) +right_sharedip=(Gemeinsame IP) +right_slcheck=ÜberprĂŒfen Sie die Cloudmin Lizenz +right_subs=Untergeordnete Server +right_virtdocs2=ZusĂ€tzliche Dokumentation +right_virtualmin=Virtualmin Version +right_vlcheck=ÜberprĂŒfen Sie Virtualmin Lizenz +right_vm2=Cloudmin Version + +session_failed=Die Anmeldung ist fehlgeschlagen. Bitte versuchen sie es erneut. +session_logout=Erfolgreich abgemeldet. FĂŒr eine erneute Anmeldung bitte das folgende Formular nutzen. +session_timed_out=Sitzung wurde nach $1 Minuten InaktivitĂ€t abgebrochen. +session_twofailed=2-Faktor-Authentifizierung fehlgeschlagen: $1 + + +settings_right_options=Optionen +settings_right_restore_defaults=Auf Grundeinstellung zurĂŒcksetzen +settings_right_restored=ZurĂŒckgesetzt +settings_right_restoring=ZurĂŒcksetzen +settings_right_saved=Gespeichert +settings_right_saving=Speichern + +settings_right_theme_extensions=Design Erweiterungen +settings_right_theme_extensions_title=Design Erweiterungen +settings_right_file_edit=Bearbeite Erweitungs Datei: +settings_right_extensions_title=Das erweiterbare Design erlaubt es sehr einfach Teile der Benutzerschnittstelle +settings_right_theme_logos=Design Logos +settings_right_theme_logos_title=Design Logos +settings_right_logos_title=Hier kann man die Design Logos angemeldete und nicht angemeldete Benutzer einstellen. Die empfohlene GrĂ¶ĂŸe der Logos betrĂ€gt 180x90 Pixel im Format .png da UnterstĂŒtzung fĂŒr den Hintergrund Kanals benötigt wird. +settings_right_logo_authenticated_users=Logo fĂŒr angemeldete Benutzer +settings_right_logo_unauthenticated_users=Logo fĂŒr nicht angemeldete Benutzer + +settings_right_current_theme=Aktuelles Design +settings_right_title=Aus dieser Seite lassen die Einstellungen fĂŒr Authentic Design anpassen. Die Einstellungen bleiben auch nach einem Design Update erhaletn. +settings_right_theme_left_configuration_title=Authentic Design Konfiguration +settings_right_theme_left_extensions_title=Authentic Design Erweiterungs Editor +settings_right_theme_left_logo_title=Authentic Design Logo Einstellungen +settings_right_theme_configurable_options_title=Konfigurierbare Einstellungen fĂŒr Authentic Design + + +settings_right_window_options_title=Optionen fĂŒr Fenster +settings_right_navigation_menu_title=Optionen fĂŒr Navigations MenĂŒ +settings_right_table_options_title=Optionen fĂŒr Tabellen +settings_security_title=Optionen fĂŒr Sicherheits Warnungen +settings_security_description=Sicherheits Warnungen ermöglichen es Mail Benachrichtungen bei bestimmten Vorkomnissen zu versenden.
    Format: Nachricht|Betreff|Liste Benutzer/Mail Adresse|Liste ignorierter IPv4/IPv6 Adressen
    Beispiel: %3 successful login alert for user %1 from %2|%3 successful login alert|root,user@example.org|1.2.3.4,5.6.7.8
    Ergebis: From: root, To: root, Subject: Webmin successful login alert, Message: Webmin successful login alert for user root from 2.3.4.5 +settings_right_hotkey_options_title=Optionen fĂŒr Schnellzugriffs Tasten +settings_right_sysinfo_page_options_title=Optionen fĂŒr System Informationen + +settings_right_hotkey_custom_options_description=Benutzerdefinierte Links erlauben es die Ziffertasten 1 bis 9 als Schnellzugriffs Tasten fĂŒr beliebige Webmin/Usermin/Virtualmin/Cloudmin URLs einzurichten. Die URL erhĂ€lt man wenn man sich nur den rechten Frame anzeigen lĂ€ĂŸt, z.B. mit einem rechtsklick auf die rechte Inhalts Seite und der Auswahl "Nur diesem Frame anzeigen". Wichtig: Es darf nur das letzte TeilstĂŒck der URL verwendet werden! Zum Aufrufen der Apache Configuration muss der Eintrag in Benuterzdefinierter Link 1 /apache/ sein, ohne fĂŒrende oder folgende SchrĂ€gstiche (/). +settings_hotkey_custom_1=Benutzerdefinierter Link 1 +settings_hotkey_custom_2=Benutzerdefinierter Link 2 +settings_hotkey_custom_3=Benutzerdefinierter Link 3 +settings_hotkey_custom_4=Benutzerdefinierter Link 4 +settings_hotkey_custom_5=Benutzerdefinierter Link 5 +settings_hotkey_custom_6=Benutzerdefinierter Link 6 +settings_hotkey_custom_7=Benutzerdefinierter Link 7 +settings_hotkey_custom_8=Benutzerdefinierter Link 8 +settings_hotkey_custom_9=Benutzerdefinierter Link 9 + +settings_navigation_color=Farbpalette fĂŒr Navigations MenĂŒ +settings_background_color=Farbpalette fĂŒr Inhalts Seite +settings_animation_left=Anminationen im Navigations MenĂŒ einschalten +settings_animation_tabs=Anminationen in den Tabs einschalten +settings_loader_top=Fortschrittsanzeige Oben auf der Seite einschalten +settings_loader_left=Drehende Anzeige im Navigations MenĂŒ einschalten +settings_right_reload=Lade Standard Inhalts Seite +settings_right_reload_description=Bei Umschalten zwischen den Tabs wird der Inhalt des rechten Frames neu geladen. Soll beim Umschalten der letzte Inhalt des Tabs durch den Standard Inhalt ersetzt werden? + +settings_right_hide_table_icons=Tabellen Symbole im rechten Fenster nicht anzeigen +settings_right_hide_table_icons_description=Entferne Symbole aus allen Inhaltstabellen und zeige stattdessen Links an. +settings_right_small_table_icons=Kleine Tabellen Symbole +settings_right_small_table_icons_description=Mache Tabellen Symbole kleiner und zeige den Link als Tooltip +settings_right_animate_table_icons=Animiere Tabellen Symbole bei Eingabe +settings_right_grayscaled_table_icons=Farbige Tabellen Symbole nur bei Eingabe anzeigen + +settings_leftmenu_section_hide_refresh_modules=EintragModule aktualisieren verbergen +settings_leftmenu_section_hide_unused_modules=EintragNicht benutzte Module verbergen +settings_favorites=Knopf fĂŒr Favoriten anzeigen +settings_leftmenu_button_language=Knopf Sprachen anzeigen +settings_leftmenu_button_refresh=Knopf Neu Laden anzeigen + +settings_theme_options_button=Knopf Design Einstellungen anzeigen + +settings_hotkeys_active=Schalte Schnellzugriffs Tasten ein +settings_hotkey_toggle_modifier=Schnellzugriffs Taste +settings_hotkey_toggle_key_webmin=Schnellzugriffs Taste fĂŒr Webmin +settings_hotkey_toggle_key_virtualmin=Schnellzugriffs Taste fĂŒr Virtualmin +settings_hotkey_toggle_key_cloudmin=Schnellzugriffs Taste fĂŒr Cloudmin +settings_hotkey_toggle_key_usermin=Schnellzugriffs Taste fĂŒr Usermin +settings_hotkey_toggle_key_webmail=Schnellzugriffs Taste fĂŒr Mail +settings_hotkey_sysinfo=Schnellzugriffs Taste fĂŒr Dashboard +settings_hotkey_shell=Schnellzugriffs Taste fĂŒr Terminal +settings_hotkey_favorites=Schnellzugriffs Taste fĂŒr Favoriten +settings_hotkey_focus_search=Schnellzugriffs Taste fĂŒr Suchfeld +settings_hotkey_reload=Schnellzugriffs Taste fĂŒr neu Laden + +settings_side_slider_background_refresh_time=Wartezeit bei Übertragung von Informationen im Hintergrund +settings_side_slider_background_refresh_time_description=GewĂŒnschte Wartezeit in Minuten bei Übertragung von Informationen im Hintergrund. Der kleinstmögliche Wert betrĂ€gt 1 Minute, der Standardwert ist 5 Minuten. +settings_sysinfo_easypie_charts=Diagramm anzeigen +settings_sysinfo_theme_updates=PrĂŒfe auf Update fĂŒr Authentic Design +settings_sysinfo_csf_updates=PrĂŒfe auf Update fĂŒr Security & Firewall +settings_sysinfo_drive_status_on_new_line=CPU und Laufwerks Status auf eigener Zeile +settings_sysinfo_expand_all_accordions=Alle Unterpunkte aufklappen +settings_sysinfo_link_mini=Link Dashboard als Knopf anzeigen + +settings_right_page_defaults_title=Standard Titel +settings_right_default_tab_webmin=Standard Kategorie nach Anmelden in Webmin +settings_right_default_tab_usermin=Standard Kategorie nach Anmelden in Usermin +settings_right_virtualmin_default=Standard Kategorie fĂŒr Virtualmin +settings_right_cloudmin_default=Standard Kategorie fĂŒr Cloudmin + +settings_right_clear_local_cache=Lösche Zwischenspeicher +settings_right_notification_slider_options_title=Optionen fĂŒr schwebende Benachrichtigungen +settings_side_slider_fixed=Schwebende Benachrichtigungen immer ananzeigen +settings_side_slider_palette=Farbpalette fĂŒr schwebende Benachrichtigungen +settings_hotkey_toggle_slider=Schnellzugriffs Taste fĂŒr schwebende Benachrichtigungen +settings_window_replace_timestamps=Erlaube Datum ersetzen +settings_window_replaced_timestamp_format_short=Kurzes Datums Format +settings_window_replaced_timestamp_format_full=Langes Datums Format +settings_window_replaced_timestamps_options_description=WĂ€hlen Sie ob die Datumsanzeige im kurzen oder langen Format erfolgen soll. : Diese Option beeinflusst derzeit nur die Datumsanzeige in den System Informationen und im Hinweis schwebende Benachrichtigungen. StandardmĂ€ĂŸig wird LLLL als langes und L, LTS als kurzes Datumsformat verwendet. Die Ausgabe des Datums ist auch von der gewĂ€hlten Sprache in Webmin/Usermin abhĂ€ngig. + +settings_side_slider_enabled=Schwebende Benachrichtigungen einschalten +settings_leftmenu_user_html=HTML Schnipsel anzeigen +settings_leftmenu_user_html_description=Benuterzdefinerter Text oder HTML Code der unterhalb der linken Navigation agezeigt wird. z.B. um ein Logo oder einen Hinweis anzuzeigen. + + +theme_changelog=Änderungs Historie +theme_conference=Design Konferenz +theme_development_support=EntwicklungsunterstĂŒtzung +theme_donate=Spende +theme_download=Download +theme_name=Authentic Design +theme_update=Update +theme_update_available=Neueste verfĂŒgbare Release +theme_update_notice=Aktualisieren und Datenschutz +theme_version=Design-Version + + +# Version 17.40 +theme_global_error=Fehler +theme_global_warning=Warnung +theme_global_success=Erfolgreich +theme_global_info=Information +sysinfo_system_status_warning=Damit System Informationen angezeigt werden, muss das Modul System Status in den Benutzer Einstellungen eingeschaltet sein. +settings_leftmenu_user_html_only_for_administrator=HTML Schnipsel nur fĂŒr Administratoren anzeigen +theme_sysinfo_wmdocs=Webmin Dockmentation +theme_sysinfo_vmdocs=Virtualmin Dockmentation +theme_sysinfo_cmdocs=Cloudmin Dokumentation +theme_fileformat_css=CSS +theme_fileformat_json=JSON +theme_fileformat_js=Javascript +theme_fileformat_plain_text=Nur Text + +theme_xhred_titles_wm=Webmin +theme_xhred_titles_um=Usermin +theme_xhred_titles_dashboard=Dashboard +theme_xhred_titles_mail=Mail +theme_xhred_titles_vm=Virtualmin +theme_xhred_titles_cm=Cloudmin +theme_xhred_titles_thirdlane=Thirdlane + +theme_xhred_global_please_wait=Bitte warten... +theme_xhred_filemanager_copying_selected=Kopiere Auswahl. +theme_xhred_filemanager_cutting_selected=Schneide Auswahl aus. +theme_xhred_filemanager_pasting_selected=FĂŒge aus Zwischenablage ein. +theme_xhred_filemanager_unpacking_archive=Entpacke auswahlgewĂ€hlte Dateien. +theme_xhred_filemanager_deleting_selected=Lösche Auswahl. +theme_xhred_filemanager_renaming_selected=Benenne Auswahl um. +theme_xhred_filemanager_creating_directory=Lege Verzeichnis an +theme_xhred_filemanager_creating_file=LEge Datei an +theme_xhred_filemanager_downloading_from=Downloade von +theme_xhred_filemanager_setting_permissions=Rechte der ausgewĂ€hlten Dateien auf %value Ă€ndern. +theme_xhred_filemanager_changing_ownership=Besitzer der ausgewĂ€hlten Dateien auf %value Ă€ndern. +theme_xhred_filemanager_compressing_selected=Packe ausgewĂ€hlte Dateien im Hintergrund. +theme_xhred_filemanager_refreshing=Lade Verzeichnisinhalt enu. +theme_xhred_filemanager_copying_successful=Erfolgreich in Zwischenablage kopiert. +theme_xhred_filemanager_cutting_successful=Erfolgreich in Zwischenablage ausgeschnitten. +theme_xhred_filemanager_pasting_successful=Erfolgreich aus Zwischenablage eingefĂŒgt. +theme_xhred_filemanager_bookmark_success=Verzeichnis %value erfolreich zu den Favoriten hinzugefĂŒgt. +theme_xhred_filemanager_searching=Suche Verzeichnisse/Dateien die auf Suchbegriff `%value` passen. +theme_xhred_filemanager_search_founds=%value Übereinstimmungen gefunden. +theme_xhred_filemanager_search_found=Eine Übereinstimmungen gefunden. +theme_xhred_filemanager_search_no_matches=Keine Übereinstimmungen gefunden. +theme_xhred_filemanager_nothing_is_selected=Nichts AusgewĂ€hlt! +theme_xhred_filemanager_saving_file=Datei `%value` wird gespeichert. +theme_xhred_filemanager_file_saved=Datei `%value` erfolgreich gespeichert. +theme_xhred_filemanager_not_editable=Kann diese Auswahl nicht bearbeiten. +theme_xhred_filemanager_not_decompressable=Kann diesen Datei Typ nicht entpacken. +theme_xhred_filemanager_no_selection_to_copy=Keine Verzeichnisse/Dateien zum Kopieren ausgewĂ€hlt. +theme_xhred_filemanager_no_selection_to_cut=Keine Verzeichnisse/Dateien zum Ausschneiden ausgewĂ€hlt. +theme_xhred_filemanager_empty_clipboard=Zwischenablage ist leer. + +theme_xhred_filemanager_successful_extraction=AusgewĂ€hlte Dateien erfolgreich entpackt. +theme_xhred_filemanager_successful_deletion=Löschen erfolgreich. +theme_xhred_filemanager_successful_permissions=Rechte erfolgreich geĂ€ndert. +theme_xhred_filemanager_successful_ownership=Besitzer erfolgreich geĂ€ndert. +theme_xhred_filemanager_successful_compression=Packen erfolgreich. +theme_xhred_filemanager_successful_directory_creation=Verzeichnis `%value` erfolgreich erzeugt. +theme_xhred_filemanager_successful_file_creation=Datzei `%value` erfolgreich erzeugt. + +theme_xhred_notifications_packages_updates=Paket Update +theme_xhred_notifications_theme_update=Design Update +theme_xhred_notifications_theme_update_message=Es ist eine neue Version %v des Authentic Design verfĂŒgbar. Bitte updaten. +theme_xhred_notifications_firewall_update=Firewall Update +theme_xhred_notifications_firewall_update_message=Es ist eine neue Version %v von ConfigServer Server Security und Firewall verfĂŒgbar. Bitte updaten. + +theme_xhred_notifications_firewall_danger=Firewall Problem +theme_xhred_notifications_firewall_danger_message=Es scheint das ConfigServer Server Security und Firewall nicht lĂ€uft oder gestopp wurde! Lassen sie Ihren Server nicht ungeschĂŒtzt, ĂŒberprĂŒfen sie die Firewall Einstellungen (%v) + +theme_xhred_notifications_firewall_warning=Firewall Warnung + +#17.50 +settings_grayscale_level_navigation=Graustufen Filter +settings_grayscale_level_navigation_description=Standard Wert/aktueller Wert: 0/0 +settings_sepia_level_navigation=Sepia Filter +settings_sepia_level_navigation_description=Standard Wert/aktueller Wert: 0/0 +settings_saturate_level_navigation=SĂ€ttigungs Filter +settings_saturate_level_navigation_description=Standard Wert/aktueller Wert: 1/0 +settings_hue_level_navigation=Hue-rotate Filter +settings_hue_level_navigation_description=Standard Wert/aktueller Wert: 0°/0° +settings_invert_level_navigation=Filter umkehren +settings_invert_level_navigation_description=Standard Wert/aktueller Wert: code>0
    /0 +settings_brightness_level_navigation=Helligkeits filter +settings_brightness_level_navigation_description=Standard Wert/aktueller Wert: 1/0 +settings_contrast_level_navigation=Kontrast Filter +settings_contrast_level_navigation_description=Standard Wert/aktueller Wert: 1/0 + +settings_grayscale_level_content=Graustufen Filter +settings_grayscale_level_content_description=Standard Wert/aktueller Wert: 0/0 +settings_saturate_level_content=SĂ€ttigungs Filter +settings_saturate_level_content_description=Standard Wert/aktueller Wert: 1/0 +settings_hue_level_content=Hue-rotate Filter +settings_hue_level_content_description=Standard Wert/aktueller Wert: 0°/0° + +settings_cm_view_palette=Farbpaletten angzeigen +settings_cm_editor_palette=Farbpaletten Editor + +theme_xhred_filemanager_context_select_all=Alles AuswĂ€hlen +theme_xhred_filemanager_context_select_invert=Auswahl umkehren +theme_xhred_filemanager_context_refresh=Neu Laden +theme_xhred_filemanager_context_newfile=Neue Datei anlegen +theme_xhred_filemanager_context_newfoder=Neues Verzeichnis angelegen +theme_xhred_filemanager_context_copy=Kopieren +theme_xhred_filemanager_context_cut=Ausschneiden +theme_xhred_filemanager_context_paste=EinfĂŒgen +theme_xhred_filemanager_context_chmod=Rechte Ă€ndern +theme_xhred_filemanager_context_chown=Besitzer Ă€ndern + +#17.51 +theme_xhred_filemanager_context_new=Neu +theme_xhred_filemanager_context_newarchive=Neues Archiv erzeugen +theme_xhred_filemanager_context_delete=Löschen +theme_xhred_filemanager_context_rename=Umbenennen +theme_xhred_filemanager_context_edit=Bearbeiten +theme_xhred_filemanager_context_extract=Auspacken +theme_xhred_filemanager_context_goto=Ablageort öffnen +theme_xhred_filemanager_context_properties=Eigenschaften +theme_xhred_filemanager_context_search=Suche + +#17.52 +theme_xhred_filemanager_context_deselect_all=Nichts auswĂ€hlen +theme_xhred_filemanager_context_upload=In aktuelles Verzeichnis hochladen +theme_xhred_filemanager_context_download=Von entfernert URL herunterladen + +#17.53 +theme_settings_virtualmin=Virtualmin virtuelle Server +theme_settings_cloudmin=Cloudmin gemanagte System +settings_right_thirdparties_options_title=Optionen fĂŒr Drittanbieter Module +theme_xhred_filemanager_context_calculate_size=Freien Platz im Leerraum berechnen +theme_xhred_filemanager_context_bookmarks=Lesezeichen +theme_xhred_filemanager_context_bookmark_current=Pfad zum aktuell geöffneten Lesezeichen +theme_xhred_filemanager_context_transfer=Übertragung + +#17.54 +theme_xhred_filemanager_title_symlink_target=Link Ziel + +#17.60 +right_unlimited=UnbeschrĂ€nkt +settings_leftmenu_width=Bevorzugte Breite +settings_leftmenu_width_description=Standard Wert/aktueller Wert: 260/0 +settings_switch_rdisplay=Schalter in umgekehrter Reihenfolge anzeigen +settings_switch_rdisplay_description=Diese Einstellung ermöglicht es die Schalter oben links anders herum anzuordnen. Neuladen der Seite erforderlich. + +#17.63 +theme_xhred_filemanager_context_calculate_selected_size=GrĂ¶ĂŸe der Auswahl berechnen +theme_xhred_filemanager_selected_entries=%value ausgewĂ€hlt +theme_xhred_filemanager_manual_path=Pfad hĂ€ndisch eingeben + +theme_xhred_datatable_semptytable=Keine Daten in Tabelle +theme_xhred_datatable_sinfo=EintrĂ€ge _START_ bis _END_ von _TOTAL_ insgesammt +theme_xhred_datatable_sinfoempty=Keine EintrĂ€ge zum anzeigen +theme_xhred_datatable_slengthmenu=Zeige _MENU_ EintrĂ€ge +theme_xhred_datatable_sloadingrecords=Lade +theme_xhred_datatable_sprocessing=Bearbeite... +theme_xhred_datatable_szerorecords=Keine passenden EintrĂ€ge gefunden + +#17.64 +theme_xhred_filemanager_file_edit_but_not_saved=Datei wurde bearbeitet, aber nicht gespeichert. +theme_xhred_filemanager_file_edit_but_not_saved_what_to_do=Wie möchten sie fortfahren? +theme_xhred_global_save=Speichern +theme_xhred_global_save_and_close=Speichen und beenden +theme_xhred_global_close_without_saving=Beenden ohne zu speichern +theme_xhred_global_continue_editing=Bearbeitung fortsetzen +theme_xhred_filemanager_context_download_file=Herunterladen + +#17.65 +settings_sysinfo_easypie_charts_width=Breite der Diagramme +settings_sysinfo_easypie_charts_scale=SkalenlĂ€nge der Diagramme + +#17.80 +right_return_theme_options=Design Optionen +theme_xhred_datatable_semptydirectory=Verzeichnis ist leer +theme_xhred_filemanager_context_clipboard=Pfad in Zwischeablage kopieren +theme_xhred_global_warning=Warnung +theme_xhred_global_close=Schließen +theme_xhred_encoding_warning=Es wurde ein nicht Unicode kompatibler Zeichensatz erkannt. Dies kann zu Darstellungsfehlern fĂŒhren z.B. zu ungewöhlichen Zeichen wie Â.

    Ändern Sie die Srache in den %prod Einstellungen auf %lang.UTF-8.

    Beachten Sie das die Einstellungen im Webmin Modul Sprache und Design die Standard Einstellungen ĂŒberschreiben.
    + +theme_xhred_filemanager__no_bookmarks=Keine Lesezeichen vorhanden +theme_xhred_filemanager_unbookmark_success=Verzeichnis %value wurde erfolgreich aus den Lesezeichen entfernt. +theme_xhred_filemanager_bookmark=Lesezeichen fĂŒr aktuelles Verzeichnis setzen +theme_xhred_filemanager_unbookmark=Aktuelles Verzeichnis aus den Lesezeichen entfernen +theme_xhred_filemanager_move_into_self=Verzeichnis kann nicht in sich selbst verschoben werden! Das Zielverzeichnis liegt innerhalb des Quellverzeichnisses. +theme_xhred_filemanager_pasting_and_copying_1=AusgewĂ€hltes Element erfolgreich unter neuem Namen eingefĂŒgt. +theme_xhred_filemanager_pasting_and_copying_2=AusgewĂ€hlte Elemente erfolgreich unter neuen Namen eingefĂŒgt. +theme_xhred_filemanager_pasting_and_replacing_1=AusgewĂ€hltes Ziel erfolgreich durch neues Element ersetzt. +theme_xhred_filemanager_pasting_and_replacing_2=AusgewĂ€hlte Ziele erfolgreich durch neue Elemente ersetzt. +theme_xhred_filemanager_target_conflict_1=Problem mit Ziel Element +theme_xhred_filemanager_target_conflict_2=Proleme mit Ziel Elementen +theme_xhred_filemanager_target_conflict_message_1=EinzufĂŒgendes Ziel Element existiert bereits! Wie möchten sie fortfahren? +theme_xhred_filemanager_target_conflict_message_2=EinzufĂŒgende Ziel Elemente existieren bereits! Wie möchten sie fortfahren? +theme_xhred_filemanager_target_conflict_replace=Vereinigen und ersetzen +theme_xhred_filemanager_target_conflict_paste=Unter neuem Namen einfĂŒgen + +theme_xhred_editor_help_title=Editor Schnellzugriffs Tasten +theme_xhred_editor_help_content=
    Find/Replace
    Keypress Command
    Ctrl + F Find
    Ctrl + H Replace
    Ctrl + ⇧ + R Replace all
    Ctrl + G Find next
    Ctrl + ⇧ + G Find previous
    Alt + G Jump to line
    Text manipulation
    Keypress Command
    Ctrl + KU Transform to Uppercase
    Ctrl + KL Transform to Lowercase
    Editing
    Keypress Command
    Ctrl + Space Activate autocompletion
    Ctrl + X Cut line
    Ctrl + ⇧ + ↑ Move line/selection up
    Ctrl + ⇧ + ↓ Move line/selection down
    Ctrl + L Select line - Repeat to select next lines
    Ctrl + D Select word - Repeat select others occurrences
    Ctrl + M Jump to closing parentheses Repeat to jump to opening parentheses
    Ctrl + ⇧ + M Select all contents of the current parentheses
    Ctrl + ⇧ + K Delete Line
    Ctrl + KK Delete from cursor to end of line
    Ctrl + K + Backspace Delete from cursor to start of line
    Ctrl + ⇧ + D Duplicate line(s)
    Ctrl + J Join line below to the end of the current line
    Ctrl + / Comment/un-comment current line
    Ctrl + ⇧ + / Block comment current selection
    Ctrl + Y Redo, or repeat last keyboard shortcut command
    Ctrl + ⇧ + V Paste and indent correctly
    Ctrl + Space Select next auto-complete suggestion
    Ctrl + U soft undo; jumps to your last change before undoing change when repeated
    + +theme_xhred_filemanager_hide_toolbar=Toolbar verbergen +theme_xhred_filemanager_hide_actions=AktivitĂ€ten Zeile verbergen +theme_xhred_filemanager_hovered_toolbar=Auwahlliste in der Toolbar beim Überfahren mit der Maus anzeigen +theme_xhred_filemanager_context_delete_selected=AusgewĂ€hlte löschen + +#17.83 +theme_xhred_database_adding_new_row=Neue Zeile hinzufĂŒgen +theme_xhred_database_editing_row=AusgewĂ€hlte Zeile bearbeiten +theme_xhred_database_editing_rows=AusgwĂ€hlte Zeilen bearbeiten +theme_xhred_database_adding_new_row_data=Daten setzen + +#17.84 +theme_xhred_datatable_filter=Filter + +theme_xhred_global_update=Updaten +theme_xhred_global_update_and_return=Updaten und zurĂŒck +theme_xhred_global_update_and_close=Updaten und beenden +theme_xhred_global_back=ZurĂŒck +theme_xhred_global_cancel=Abbrechen + +theme_xhred_database_add_row_successful=Neue Zeile erfolgreich hinzugefĂŒgt +theme_xhred_database_edit_row_successful=AusgewĂ€hlte Zeile erfolgreich aktualisiert +theme_xhred_database_edit_rows_successful=AusgewĂ€hlte Zeilen erfolgreich aktualisiert +theme_xhred_database_edit_row_delete_successful=AusgewĂ€hlte Zeile erfolgreich gelöscht +theme_xhred_database_edit_rows_delete_successful=%n ausgewĂ€hlte Zeilen erfolgreich gelöscht +theme_xhred_database_edit_field_delete_successful=AusgewĂ€hltes Feld erfolgreich gelöscht +theme_xhred_database_edit_fields_delete_successful=%n ausgewĂ€hlte Felder erfolgreich gelöscht +theme_xhred_database_edit_selected_row=AusgewĂ€hlte Zeile bearbeiten +theme_xhred_database_edit_selected_rows=AusgewĂ€hlte Zeilen bearbeiten +theme_xhred_database_add_new_row=Zeile hinzufĂŒgen +theme_xhred_database_delete_selected_row=AusgewĂ€hlte Zeile löschen +theme_xhred_database_delete_selected_rows=AusgewĂ€hlte Zeilev löschen +theme_xhred_database_delete_selected_field=AusgewĂ€hltes Feld löschen +theme_xhred_database_delete_selected_fields=AusgewĂ€hlte Felder löschen +theme_xhred_database_object_selected_delete=AusgewĂ€hlte Element löschen +theme_xhred_database_objects_selected_delete=AusgewĂ€hlte Elemente löschen +theme_xhred_database_db_selected_drop=AusgewĂ€hlte Datenbank löschen +theme_xhred_database_dbs_selected_drop=AusgewĂ€hlte Datenbanken löschen +theme_xhred_database_edit_but_not_saved=Datenbank Tablle wĂŒrde verĂ€ndert aber nicht gespeichert. + +theme_xhred_global_no_such_command=Es scheind das Programm %cmd ist nicht installiert oder nicht im System Pfad. + +theme_xhred_global_notice=Hinweis + +theme_xhred_updates_disabled_notice=Es wurde erkannt das die Benachrichtigung fĂŒr Updates von Authentic Design ausgeschaltet ist!

    Das einschalten dieser Funktion in den Design Einstellungen erlaubt es mit einem Mausklick die neueste Design Version zu installieren, sobald sie verfĂŒgbar ist. + + +#18.00 +theme_xhred_global_file=Datei +theme_xhred_global_directory=Verzeichnis +theme_xhred_global_no_target=Ziel existiert nicht oder kann nicht erreicht werden +theme_xhred_global_error_code=Fehler Nummer +theme_xhred_global_on=An +theme_xhred_global_off=Aus +theme_xhred_global_all=Alle +theme_xhred_global_none=Keine +theme_xhred_global_yes=Ja +theme_xhred_global_no=Nein + +theme_xhred_filemanager_new_tab=Neuen Tab hinzufĂŒgen (Strg+Leertaste) +theme_xhred_datatable_no_search_results=Keine Ergebnisse vorhanden
    FĂŒhren sie eine neue Suche durch + +theme_xhred_filemanager_buffer_error=Dateien nicht in den Zwischenspeicher kopiert - keine Berechtigung. + +filemanager_create_object_exists=$3 `$1` existiert bereits in `$2` +filemanager_create_object_denied=Anlegen von $3 `$1` in `$2` nicht möglich - keine Berechtigung. + +filemanager_paste_warning=EinfĂŒgen im Ziel fehlgeschagen. Möglicherweise wurden die Quell Elemente umbenannt, verschoben doer gelöscht. Alternativ fehlt Ihnen die Schreibberechtigung im Ziel, dies sollten sie ĂŒberprĂŒfen. + +theme_xhred_filemanager_delete_warning=Nicht alle Elemente wurden erfolgreich gelöscht. Möglicherweise wurden die Quell Elemente umbenannt oder verschoben. Alternativ fehlt Ihnen die Löschberechtigung. Fehlermeldung: + + +filemanager_rename_exists=$3 mit dem Namen `$1` existiert bereits in `$2` +filemanager_rename_denied=Kann $3 nicht umbenennen. Möglicherweise wurde die Quelle $3 gelöscht oder es sind nicht genĂŒgend Rechte vorhanden. + +theme_xhred_filemanager_successful_rename=Erfolgreich von `%from` nach `%to` umbenannt. + +filemanager_global_info_total1=Total: $1 Datei und $2 Verzeichnis +filemanager_global_info_total2=Total: $1 Dateien und $2 Verzeichnis +filemanager_global_info_total3=Total: $1 Datei und $2 Verzeichnisse +filemanager_global_info_total4=Total: $1 Dateien und $2 Verzeichnisse + +theme_xhred_filemanager_selected_entry=%value ausgwĂ€hlt + +theme_xhred_filemanager_search_query=Suchanfrage +theme_xhred_filemanager_search_match=Suche in Ergbnissen +theme_xhred_filemanager_search_replace=Ersetze in Ergebnissen + +theme_xhred_global_find=Suche +theme_xhred_global_replace=Ersetze + +theme_xhred_filemanager_searching_matching=Suche nach Dateien/Verzeichnissen deren Name auf `%value` passt und folgenden Text Text enthalten `%text`. +theme_xhred_filemanager_searching_replacing=Ersetze Text `%text` durch `%replace` in Dateien deren Name `%value` enthĂ€lt. + +theme_xhred_filemanager_search_replaced_multi=Suchen und ersetzen in %value Dateien ausgefĂŒhrt. +theme_xhred_filemanager_search_replaced=Suchen und ersetzen in 1 Datei ausgefĂŒhrt. + +theme_xhred_filemanager_successful_permissions_with_errors=Rechte konnten nicht fĂŒr alle Objekte geĂ€ndert werden: + +theme_xhred_filemanager_successful_ownership_with_errors=Besitzer konnte nicht fĂŒr alle Objekte geĂ€ndert werden:: +theme_xhred_filemanager_successful_ownership_with_errors_fatal=Besitzer konnte wegen folgender Fehler nicht geĂ€ndert werden: + +theme_xhred_filemanager_successful_compression_with_errors=Komprimieren wurde mit folgenden Fehlermedlungen abgeschlossen: +theme_xhred_filemanager_successful_compression_bg=Komprimieren erfolgreich durchgefĂŒhrt. Die Archiv Datei `%file befindet sich im Verzeichnis `%path`. +theme_xhred_filemanager_successful_compression_bg_with_errors=Komrimieren wurd mit Fehlern abgeschlossen. Die Archiv Datei `%file befindet sich im Verzeichnis `%path`. + +theme_xhred_filemanager_settings_notification_type=Anzuzeigende Benachrichtigungen +theme_xhred_filemanager_settings_notification_type_inf_warn_err=Informationen, Warnungen und Fehler +theme_xhred_filemanager_settings_notification_type_warn_err=Warnungen und Fehler +theme_xhred_filemanager_settings_notification_type_err=Nur Fehler + +theme_xhred_filemanager_settings_tabs_remember_state=Inhalt der Tabs beim ersten Laden wieder herstellen + +theme_xhred_filemanager_context_open_new_tab=In neuem Tab öffnen + +theme_xhred_xsql_fit_content_screen_height=Passe Tabelle mit Datenbank Inhalte an Fensterhöhe an + +theme_xhred_datatable_filter_visible_tables=Sichtbare Tabelle(n) filtern +theme_xhred_module_help=Module Hilfe + +theme_xhred_server_process_running=Server Vorgang noch nicht abgeschlossen! Sind Sie sicher das sie die Seite verlasen möchten und das Ergebnis nicht sehen wollen? Der Vorgang lĂ€uft im Hintergund weiter. + + +#18.03 +settings_global_options_title=Globale Einstellungen +settings_global_passgen_format=Passwort Generator +settings_global_passgen_format_description=Einstellung fĂŒr LĂ€nge und der fĂŒr das zu generierende Passwort zu verwendenden Zeichen. Der Stanrdardwwert ist 12|a-z,A-Z,0-9,#, d.h. das generierte Passwort ist 12 Zeichen lang und besteht aus Kleinbuchstaben, Großbuchstaben, Ziffern und Sonderzeichen. ErklĂ€rung: Die Zahl legt die LĂ€nge des Passworts fest. Nach dem Trennzeichen | folgen, getrennt durch Kommata, die fĂŒr das Passwort zu verwendenden Zeichen: Ziffern 0-9, Kleinbuchstaben a-z, GROSSBUCHSTABEN A-Z und Sonderzeichen #. Jede dieser Angaben kann einzeln oder als komma-separierte Liste verwendet werden. +theme_xhred_password_generator_new=Neues Passwort erzeugen
    (In Zwischenablage) +theme_xhred_password_generator_new_success=Erzeugtes Passwort %password wurde in Zwischenablage kopiert. + + +#18.08 +theme_fileformat_perl=Perl +theme_fileformat_perl_placeholder=Die Datei muss mit `1;` enden, siehe http://stackoverflow.com/questions/1940182/what-does-1-mean-in-perl + + +#18.10 +theme_error_access_not_root=Zugriff verweigert: Der Benutzer benötigt Zugriff auf die Webmin Konfiguration, um die Design Einstellungen zu bearbeiten + + +#18.20 +settings_hide_top_loader=Verberge obere Fortschrittsanzeige + + +#18.30 +settings_leftmenu_vm_cm_dropdown_icons=Symbole in Virtualmin/Cloudmin Dropdown Liste azeigen +settings_font_family=Schriftart +settings_font_family_description=Die Schriftart Roboto wurde mit dem Design installiert und wird als Standard verwendet. Alle anderen Schriftarten mĂŒssen lokal vorhanden sein. Mit einer lokalen Schriftart werden die Seiten schneller aufgebaut, daher kann es sinvoll sein auch Roboto lokal zu installieren. +theme_xhred_global_shipped=integriert +theme_xhred_global_available=Vorhanden +theme_xhred_global_not_available=Nicht vorhanden +theme_xhred_global_default=Standard +theme_xhred_global_system_default=System Standard +theme_xhred_global_local_system_default=Lokaler System Standard +theme_xhred_global_stats=Statistik +theme_xhred_global_notifications=Benachrichtigungen +theme_xhred_global_favorites=Favoriten +theme_xhred_global_cpu_load=CPU Auslastung +theme_xhred_notification_none=Keine Benachrichtigungen vorhanden +theme_xhred_notification_no_data=Keine Daten vorhanden +theme_xhred_notification_no_favorites=Keine Favoriten vorhanden +theme_xhred_global_theme_version=Design Version + +settings_side_slider_sysinfo_enabled=Tab Dashboard anzeigen +settings_side_slider_notifications_enabled=Tab Benachrichtigungen anzeigen +settings_side_slider_favorites_enabled=Tab Favoriten anzeigen +settings_show_terminal_link=Knopf Terminal anzeigen + +theme_xhred_sysinfo_system_monitors=System Monitor +theme_xhred_sysinfo_server_status=Server Status +theme_xhred_sysinfo_software_versions=Software Versionen +theme_xhred_sysinfo_recent_logins=Letzte Anmeldungen +theme_xhred_sysinfo_vm_package_updates=Virtualmin Paket Updates +theme_xhred_sysinfo_disk_quotas=Festplatten Kontingent +theme_xhred_sysinfo_bandwidth_quotas=Netzwerk Kontingent + +left_netdata=Echtzeit Monitoring +settings_leftmenu_netdata=Netdata Echtzeit Monitoring Link anzeigen +settings_leftmenu_netdata_link=Netdata bevorzugter Server Link + +theme_xhred_filemanager_context_chattr=Eigenschaften Ă€ndern +theme_xhred_filemanager_changing_attributes=Eigenschaften der markierten Datei(en) auf %value Ă€ndern. +theme_xhred_filemanager_successful_attributes_with_errors=Eigenschaften konnten nicht fĂŒr alle betroffenen Elemente geĂ€ndert werden: +theme_xhred_filemanager_successful_attributes=Eigenschaften erfolgreich geĂ€ndert. + +theme_xhred_filemanager_context_chcon=Sicherheits Kontext Ă€ndern +theme_xhred_filemanager_changing_secontext=Sicherheits Kontext der markierten Datei(en) auf %value Ă€ndern. +theme_xhred_filemanager_successful_secontext_with_errors=Sicherheits Kontext konnten nicht fĂŒr alle betroffenen Elemente geĂ€ndert werden: +theme_xhred_filemanager_successful_secontext=Sicherheits Kontext erfolgreich geĂ€ndert. + +theme_xhred_global_no_results_found=Keine Ergebnisse gefunden + + +#18.40 +theme_new_password_header=Setze neues Benutzer Passwort +login_reset=Passwort wiederherstellen +theme_xhred_move_top=An den Anfang +theme_xhred_move_bottom=An das Ende +theme_xhred_move_up=Nach oben +theme_xhred_move_down=nach unten +theme_xhred_add_after=Danach einfĂŒgen +theme_xhred_add_before=Davor einfĂŒgen +settings_button_tooltip=Tooltips auf Knöpfen anzeigen +settings_show_night_mode_link=Umschaltung Farbpalette anzeigen +settings_hotkey_toggle_key_night_mode=Schnellzugriffs Taste zum Umschalten der hell/dunkel Farbpalette +settings_title=Design Konfiguration +settings_subtitle=FĂŒr Benutzer + +theme_tooltip_night_mode=Tag/Nacht Modus umschalten +theme_tooltip_terminal_link=Terminal +theme_tooltip_language_link=Sprache +theme_tooltip_switch_user=Benutzer wechseln +theme_tooltip_logout=Abmelden +theme_tooltip_edit_user=Benutzer bearbeiten + + +#18.45 +settings_sysinfo_easypie_charts_size=Durchmesser der Diagramme +theme_xhred_global_choose=AuswĂ€hlen +theme_xhred_global_select=AuswĂ€hlen +theme_xhred_global_ok=OK +settings_sysinfo_theme_patched_updates=Inklusive gepatcher Versionen +settings_sysinfo_theme_updates_description=Damit dies funktioniert, muss das git Programm installiert sein. +theme_git_patch_available=Aktuell verfĂŒgbare Korrekturen +theme_git_patch_no_git_message=Damit die neueste Korrekturen von Github installiert werden können, muss das git Programm installiert sein. +theme_git_patch_update_success_message=Design Update fĂŒr Webmin war erfolgreich. Aktuell installierte Version ist $1. Lade neu... +theme_git_patch_update_success_message2=Design Update fĂŒr Webmin und Usermin war erfolgreich. Aktuell installierte Version ist $1. Lade neu... +theme_xhred_git_patch_update=Design Update fehlgeschlagen. Versuche es bitte selbst auf der Kommandozeile auszufĂŒhren. +theme_xhred_git_patch_initiated=Design Update wurde angestoßen. +theme_xhred_global_prev_page=Eine Seite zurĂŒck +theme_xhred_global_help=Hilfe +settings_right_soft_updates_page_options_title=Software Updates +theme_xhred_git_compare_changes=Vergleiche Änderungen +theme_xhred_filemanager_link_to_clipboard=Name des symbolischen Links `%value` wurde in die Zwischenablage kopiert. + + + +#18.46 +theme_left_mail_prefs=Mail Einstellungen +theme_left_mail_change_password=Passwort Ă€ndern +theme_left_mail_account_functions=Konto Funktionen +theme_xhred_global_dir_up=ZurĂŒck zum vorherigen Verzeichnis (Backspace) +theme_xhred_global_module_config=Module Konfiguration +theme_xhred_global_return=ZurĂŒck +theme_xhred_global_return_to_module_index=ZurĂŒck zur Modul Übersicht + + +#18.47 +settings_account_info_link_mini=Link Konto Informationen als Knopf anzeigen +theme_xhred_global_complete_changelog=Änderungsprotokoll anzeigen +theme_xhred_global_beta_version=Beta Version +theme_xhred_global_release=Release +theme_xhred_global_released_on=Veröffentlicht am +theme_xhred_global_committed_on=HinzugefĂŒgt am +theme_xhred_global_resolved_issues=Gelöste Probleme in %value Release + + +#18.48 +theme_force_upgrade=Erzwinge Design Update +theme_force_upgrade_beta=Installiere aktuelle Entwickler Version (beta) +theme_force_upgrade_stable=Installiere aktuelle Release Version (stable) +theme_xhred_source_encoding=Quellen Enkodierung +theme_update_footer=Bitte melde Fehler an Entwickler Repository $1 . Folge $2 fĂŒr aktuelle Design Updates. +theme_xhred_encoding_manually_set=Enkodierung hĂ€ndisch Ă€ndern +theme_xhred_filemanager_save_to_change_encoding=Datei muss gespeichert werden damit Enkodierung geĂ€ndert werden kann. + + +#18.49 +theme_xhred_filemanager_user_switch=Schneller Benutzerwechsel (Ctrl+M) +theme_xhred_filemanager_user_switch_description=Nach Auswahl eines Benutzers aus der Liste werden nachfolgende Operationen unter diesem Benutzer-Account ausgefĂŒhrt. +theme_xhred_filemanager_user_switch_description_back=Zum ZĂŒcksetzen auf den Standard Benutzer bitte die erste Option in der Liste auswĂ€hlen. +theme_xhred_filemanager_user_switch_current_user=Aktueller Benutzer +theme_xhred_filemanager_user_switch_option=Automatischer Benutzerwechsel wenn man in das Heimatverzeichnis eines Benutzers wechselt +theme_xhred_filemanager_editor_align_panels_horizontally=Tableau hotizontal ausrichetn +theme_xhred_filemanager_editor_align_panels_vertically=Tableau vertikal ausrichten +theme_xhred_filemanager_editor_toggle_soft_wrap=Sanfter Umbruch umschalten +theme_xhred_filemanager_editor_refresh_content=Inhalt aktualisieren +theme_xhred_filemanager_save_to_refresh_content=Datei muss gespeichert werden, damit der Inhalt aktualisiert werden kann. +theme_xhred_filemanager_save_to_refresh_content_proc=Datei Inhalt aktualisieren. +theme_xhred_global_dark=Dunkel +theme_xhred_global_light=Hell +theme_xhred_global_minimize=Minimieren +theme_xhred_global_maximize=Maximieren +theme_xhred_global_normalize=Normal +theme_xhred_global_set_encoding=Enkodierung setzen + + + +#19.00 +theme_xhred_sysinfo_update_start=System information is being recollected. +theme_xhred_sysinfo_update_end=System information has been recollected successfully. +theme_xhred_sysinfo_update_failed=System information can't be recollected. Try again later. + +theme_xhred_global_development_version=Development version + +right_vm_server_summary=Virtual Server Summary + +settings_webmin_default_module=Default module for Webmin + +theme_xhred_global_unbeforeunload_title=Changes you made may not be saved +theme_xhred_global_unbeforeunload_message=If you continue, unsaved changes on this page could be permanently lost. +theme_xhred_global_continue=Continue + +theme_xhred_global_automatic_refresh=Automatic refresh +theme_xhred_global_second=Second +theme_xhred_global_seconds=Seconds +theme_xhred_global_minute=Minute +theme_xhred_global_minutes=Minutes diff --git a/lang/en b/lang/en new file mode 120000 index 000000000..6aee6e819 --- /dev/null +++ b/lang/en @@ -0,0 +1 @@ +en.UTF-8 \ No newline at end of file diff --git a/lang/en.UTF-8 b/lang/en.UTF-8 new file mode 100644 index 000000000..75e3ccda1 --- /dev/null +++ b/lang/en.UTF-8 @@ -0,0 +1,723 @@ +body_cp=CPU +body_cpu=CPU load averages +body_cpuinfo=Processor information +body_cputemps=CPU temperatures +body_cputype=$5, $8 cores +body_disk=Local disk space +body_driveerr=$1 errors! +body_drivefailed=SMART check failed! +body_drivetemps=Drive temperatures +body_firewall=Firewall version +body_header0=System Information +body_header1=Account Information +body_host=System hostname +body_kernel=Kernel and CPU +body_kernelon=$1 $2 on $3 +body_load=$1 (1 min) $2 (5 mins) $3 (15 mins) +body_os=Operating system +body_procs=Running processes +body_real=Real memory +body_time=Time on system +body_updates=Package updates +body_updays=$1 days, $2 hours, $3 minutes +body_uphours=$1 hours, $2 minutes +body_upmins=$1 minutes +body_upneed=$1 package updates are available +body_upneed1=$1 package update is available +body_upok=All installed packages are up to date +body_upsec=$1 package updates are available, of which $2 are security updates +body_upsec1=$1 package updates are available, of which $2 is security update +body_upsec2=$1 package update is available, of which $2 are security updates +body_upsec3=$1 package update is available, of which $2 is security update +body_uptime=System uptime +body_used=$1 total / $2 used +body_used_and_free=$1 total / $2 free / $3 used +body_usermin=Usermin version +body_virt=Virtual memory +body_webmin=Webmin version + +left_favorites=Favorites +left_favorites_no=There were no favorites added yet... +left_feedback=Send Feedback +left_home=System Information +left_others=Others +left_refresh_modules=Refresh Modules +left_search=Search +left_statistics=System Statistics + +login_danger=Danger! +login_message=You must enter a username and password to login to the server on +login_pass=Password +login_save=Remember me +login_signin=Sign in +login_success=Success! +login_token=Token +login_user=Username +login_warning=Warning! + +right_aliases=Alias servers +right_bw=Bandwith usage and limit +right_dom=Your server name +right_faliases=Mail aliases +right_fdbs=Databases +right_fdoms=Virtual Servers +right_from=Logged in from +right_fusers2=FTP users +right_fusers=Mail/FTP users +right_fvm2=Virtual Machines +right_fweb=Virtual Websites +right_licenceheader_vm2=Cloudmin Licenses +right_login=Logged in as +right_not=Not installed +right_of=$1 out of $2 +right_quota=Disk usage and quota +right_reselip=(Reseller $1) +right_sharedip=(Shared IP) +right_slcheck=Re-Check Cloudmin License +right_subs=Sub-servers +right_virtdocs2=Additional documentation +right_virtualmin=Virtualmin version +right_vlcheck=Re-Check Virtualmin License +right_vm2=Cloudmin version + +session_failed=Login failed. Please try again. +session_logout=Logout successful. Use the form below to login again. +session_timed_out=Session timed out after $1 minutes of inactivity. +session_twofailed=Two-factor authentication failed: $1 + + + + + + + + + + +settings_right_options=Options +settings_right_restore_defaults=Restore defaults +settings_right_restored=Restored +settings_right_restoring=Restoring +settings_right_saved=Saved +settings_right_saving=Saving + +settings_right_theme_extensions=Theme extensions +settings_right_theme_extensions_title=Theme Extensions +settings_right_file_edit=Edit extension file: +settings_right_extensions_title=Theme extensive design, enables you easily manipulate on targeted parts of the interface. + +settings_right_theme_logos=Theme logos +settings_right_theme_logos_title=Theme Logos +settings_right_logos_title=Theme logos can be easily set here, for both, authenticated and unauthenticated users. Recommended logo size is 180x90 pixels and the only supported format is .png, to provide alpha transparency. +settings_right_logo_authenticated_users=Logo for authenticated users +settings_right_logo_unauthenticated_users=Logo for unauthenticated users + +settings_right_current_theme=Current theme +settings_right_title=This page allows you to configure options for Authentic Theme. Settings will be stored upon theme update. +settings_right_theme_left_configuration_title=Authentic Theme Configuration +settings_right_theme_left_extensions_title=Authentic Theme Extensions Editor +settings_right_theme_left_logo_title=Authentic Theme Logo Control +settings_right_theme_configurable_options_title=Configurable options for Authentic Theme + + +settings_right_window_options_title=Window options +settings_right_navigation_menu_title=Navigation menu options +settings_right_table_options_title=Table options +settings_security_title=Security Alerts options +settings_security_description=Security alerts will let you setup email notifications upon certain events. (Linux mail command is required for this feature to work)
    Format: Message|Subject|Comma separated list of users/emails|Comma separated list of ignored IPv4/IPv6
    Usage: %3 successful login alert for user %1 from %2|%3 successful login alert|root,user@example.org|1.2.3.4,5.6.7.8
    Output: From: root, To: root, Subject: Webmin successful login alert, Message: Webmin successful login alert for user root from 2.3.4.5 +settings_right_hotkey_options_title=Hotkey options +settings_right_sysinfo_page_options_title=System Information page options + +settings_right_hotkey_custom_options_description=Custom links enable you to use digits from 1 to 9 in order to quick-access any valid Webmin/Usermin/Virtualmin/Cloudmin URL. The URL can be extracted from the currently opened right frame content page, by reading its source. It's important that URL has no slash at the beginning and doesn't use prefixes. For example, to quick-switch to Apache, set to custom link 1 field /apache/. If the default hotkeys modifier set to Alt, clicking Alt+1, will open you Apache module +settings_hotkey_custom_1=Custom link 1 +settings_hotkey_custom_2=Custom link 2 +settings_hotkey_custom_3=Custom link 3 +settings_hotkey_custom_4=Custom link 4 +settings_hotkey_custom_5=Custom link 5 +settings_hotkey_custom_6=Custom link 6 +settings_hotkey_custom_7=Custom link 7 +settings_hotkey_custom_8=Custom link 8 +settings_hotkey_custom_9=Custom link 9 + +settings_navigation_color=Navigation menu color palette +settings_background_color=Content page color palette +settings_animation_left=Enable animation in navigation menu +settings_animation_tabs=Enable animation in tabs +settings_loader_top=Enable page progress loader on top of the screen +settings_loader_left=Enable spinner for navigation menu +settings_right_reload=Load default content page +settings_right_reload_description=When switching tabs, right frame content page is reloaded. Do not keep currently opened right frame content page and reload with default? + +settings_right_hide_table_icons=Hide table icons for the right frame +settings_right_hide_table_icons_description=Completely remove icons from the content page tables and display plain links with right chevron +settings_right_small_table_icons=Small table icons +settings_right_small_table_icons_description=Substitute standard size table icons with small ones and display icons link using tooltip +settings_right_animate_table_icons=Animate table icons on focus +settings_right_grayscaled_table_icons=Grayscale table icons and bring color on focus only + +settings_leftmenu_section_hide_refresh_modules=Hide refresh modules link +settings_leftmenu_section_hide_unused_modules=Hide un-used modules section +settings_favorites=Show favorites button +settings_leftmenu_button_language=Show language button +settings_leftmenu_button_refresh=Show refresh button + +settings_theme_options_button=Show theme settings button + +settings_hotkeys_active=Enable hotkeys usage +settings_hotkey_toggle_modifier=Hotkeys modifier +settings_hotkey_toggle_key_webmin=Hotkey for Webmin +settings_hotkey_toggle_key_virtualmin=Hotkey for Virtualmin +settings_hotkey_toggle_key_cloudmin=Hotkey for Cloudmin +settings_hotkey_toggle_key_usermin=Hotkey for Usermin +settings_hotkey_toggle_key_webmail=Hotkey for Mail +settings_hotkey_sysinfo=Hotkey for dashboard +settings_hotkey_shell=Hotkey for terminal +settings_hotkey_favorites=Hotkey for favorites +settings_hotkey_focus_search=Hotkey for search field +settings_hotkey_reload=Hotkey for page reload + +settings_side_slider_background_refresh_time=Timeout for background information update +settings_side_slider_background_refresh_time_description=Set desired timeout for updating notification slider in background calls. The value meant to be in minutes. Minimum recommended value is 1 minute. Default is set to 5 minutes. Decimal values can also be used. +settings_sysinfo_easypie_charts=Show charts +settings_sysinfo_theme_updates=Check for Authentic Theme updates +settings_sysinfo_csf_updates=Check for ConfigServer Security & Firewall updates +settings_sysinfo_drive_status_on_new_line=Show CPU and drives status each on new line +settings_sysinfo_expand_all_accordions=Make all accordions expanded +settings_sysinfo_link_mini=Show system information link as button + +settings_right_page_defaults_title=Default pages +settings_right_default_tab_webmin=Default tab after logging in to Webmin +settings_right_default_tab_usermin=Default tab after logging in to Usermin +settings_right_virtualmin_default=Default page for Virtualmin +settings_right_cloudmin_default=Default page for Cloudmin + +settings_right_clear_local_cache=Clear cache +settings_right_notification_slider_options_title=Side slider options +settings_side_slider_fixed=Keep slider always visible +settings_side_slider_palette=Slider palette +settings_hotkey_toggle_slider=Hotkey for slider +settings_window_replace_timestamps=Enable dates substitutions +settings_window_replaced_timestamp_format_short=Short date/time format +settings_window_replaced_timestamp_format_full=Full date/time format +settings_window_replaced_timestamps_options_description=Tweak date/time settings to set desired output for displaying dates in full or short format. In-built this option has effect in Notification Slider and System Information page (on the row Time on system). By default, full format equals to LLLL and short is L, LTS. The time output is different for different locales. Locale is based on Webmin language settings. + +settings_side_slider_enabled=Enable slider +settings_leftmenu_user_html=Show HTML snippet +settings_leftmenu_user_html_description=User defined text or HTML code will be injected to the bottom of the navigation menu. It can be used for identification purposes. For example, to make explicitly show your hostname, you could add to the field <br><kbd>hostname:10000</kbd> + + +theme_changelog=Changelog +theme_conference=Theme Conference +theme_development_support=Development Support +theme_donate=Donate +theme_download=Download +theme_name=Authentic Theme +theme_update=Update +theme_update_available=Latest available release +theme_update_notice=Update Notice +theme_version=Theme version + + +# Version 17.40 +theme_global_error=Error +theme_global_warning=Warning +theme_global_success=Success +theme_global_info=Information +sysinfo_system_status_warning=In order to have System Information displayed you will need to enable System Status module in user settings. +settings_leftmenu_user_html_only_for_administrator=Show HTML snippet for administrators only +theme_sysinfo_wmdocs=Webmin documentation +theme_sysinfo_vmdocs=Virtualmin documentation +theme_sysinfo_cmdocs=Cloudmin documentation +theme_fileformat_css=CSS +theme_fileformat_json=JSON +theme_fileformat_js=Javascript +theme_fileformat_plain_text=Plain Text + +theme_xhred_titles_wm=Webmin +theme_xhred_titles_um=Usermin +theme_xhred_titles_dashboard=Dashboard +theme_xhred_titles_mail=Mail +theme_xhred_titles_vm=Virtualmin +theme_xhred_titles_cm=Cloudmin +theme_xhred_titles_thirdlane=Thirdlane + +theme_xhred_global_please_wait=Please wait... +theme_xhred_filemanager_copying_selected=Copying selected. +theme_xhred_filemanager_cutting_selected=Cutting selected. +theme_xhred_filemanager_pasting_selected=Pasting from clipboard. +theme_xhred_filemanager_unpacking_archive=Unpacking selected file(s). +theme_xhred_filemanager_deleting_selected=Deleting selected. +theme_xhred_filemanager_renaming_selected=Renaming selected. +theme_xhred_filemanager_creating_directory=Creating directory +theme_xhred_filemanager_creating_file=Creating file +theme_xhred_filemanager_downloading_from=Downloading from +theme_xhred_filemanager_setting_permissions=Setting permissions to %value on selected file(s). +theme_xhred_filemanager_changing_ownership=Changing ownership to %value on selected file(s). +theme_xhred_filemanager_compressing_selected=Compressing selected in the background. +theme_xhred_filemanager_refreshing=Refreshing directory content. +theme_xhred_filemanager_copying_successful=Copy to clipboard successful. +theme_xhred_filemanager_cutting_successful=Cut to clipboard successful. +theme_xhred_filemanager_pasting_successful=Paste from clipboard was successful. +theme_xhred_filemanager_bookmark_success=Directory %value was successfully added to your bookmarks. +theme_xhred_filemanager_searching=Searching for `%value` matching names of files/directories. +theme_xhred_filemanager_search_founds=Found %value matches. +theme_xhred_filemanager_search_found=Found 1 match. +theme_xhred_filemanager_search_no_matches=No matches found. +theme_xhred_filemanager_nothing_is_selected=Nothing is selected! +theme_xhred_filemanager_saving_file=File `%value` is being saved. +theme_xhred_filemanager_file_saved=File `%value` has been successfully saved. +theme_xhred_filemanager_not_editable=Can not edit this type of selection. +theme_xhred_filemanager_not_decompressable=Can not decompress this type of file. +theme_xhred_filemanager_no_selection_to_copy=No directories/files selected to copy. +theme_xhred_filemanager_no_selection_to_cut=No directories/files selected to cut. +theme_xhred_filemanager_empty_clipboard=Clipboard is empty. + +theme_xhred_filemanager_successful_extraction=Extraction of selected file(s) was successful. +theme_xhred_filemanager_successful_deletion=Deletion was successful. +theme_xhred_filemanager_successful_permissions=Permissions have been changed successfully. +theme_xhred_filemanager_successful_ownership=Ownership has been changed successfully. +theme_xhred_filemanager_successful_compression=Compression has successfully finished. +theme_xhred_filemanager_successful_directory_creation=Directory `%value` was created successfully. +theme_xhred_filemanager_successful_file_creation=File `%value` was created successfully. + +theme_xhred_notifications_packages_updates=Packages Update +theme_xhred_notifications_theme_update=Theme Update +theme_xhred_notifications_theme_update_message=A new version %v of Authentic Theme is available. Please update. +theme_xhred_notifications_firewall_update=Firewall Update +theme_xhred_notifications_firewall_update_message=A new version %v of ConfigServer Server Security and Firewall is available. Please update. + +theme_xhred_notifications_firewall_danger=Firewall Danger +theme_xhred_notifications_firewall_danger_message=It appears that ConfigServer Server Security and Firewall is not running or has been stopped! Don't leave your server exposed, check for the firewall settings (%v) + +theme_xhred_notifications_firewall_warning=Firewall Warning + +#17.50 +settings_grayscale_level_navigation=Grayscale filter +settings_grayscale_level_navigation_description=Default/current values 0/0 +settings_sepia_level_navigation=Sepia filter +settings_sepia_level_navigation_description=Default/current values 0/0 +settings_saturate_level_navigation=Saturate filter +settings_saturate_level_navigation_description=Default/current values 1/0 +settings_hue_level_navigation=Hue-rotate filter +settings_hue_level_navigation_description=Default/current values 0°/0° +settings_invert_level_navigation=Invert filter +settings_invert_level_navigation_description=Default/current values 0/0 +settings_brightness_level_navigation=Brightness filter +settings_brightness_level_navigation_description=Default/current values 1/0 +settings_contrast_level_navigation=Contrast filter +settings_contrast_level_navigation_description=Default/current values 1/0 + +settings_grayscale_level_content=Grayscale filter +settings_grayscale_level_content_description=Default/current values 0/0 +settings_saturate_level_content=Saturate filter +settings_saturate_level_content_description=Default/current values 1/0 +settings_hue_level_content=Hue-rotate filter +settings_hue_level_content_description=Default/current values 0°/0° + +settings_cm_view_palette=Viewer color palette +settings_cm_editor_palette=Editor color palette + +theme_xhred_filemanager_context_select_all=Select All +theme_xhred_filemanager_context_select_invert=Invert Selection +theme_xhred_filemanager_context_refresh=Refresh +theme_xhred_filemanager_context_newfile=Create new file +theme_xhred_filemanager_context_newfoder=Create new directory +theme_xhred_filemanager_context_copy=Copy +theme_xhred_filemanager_context_cut=Cut +theme_xhred_filemanager_context_paste=Paste +theme_xhred_filemanager_context_chmod=Change permissions +theme_xhred_filemanager_context_chown=Change ownership + +#17.51 +theme_xhred_filemanager_context_new=New +theme_xhred_filemanager_context_newarchive=Create new archive +theme_xhred_filemanager_context_delete=Delete +theme_xhred_filemanager_context_rename=Rename +theme_xhred_filemanager_context_edit=Edit +theme_xhred_filemanager_context_extract=Extract +theme_xhred_filemanager_context_goto=Open item location +theme_xhred_filemanager_context_properties=Properties +theme_xhred_filemanager_context_search=Search + +#17.52 +theme_xhred_filemanager_context_deselect_all=Deselect All +theme_xhred_filemanager_context_upload=Upload to current directory +theme_xhred_filemanager_context_download=Download from remote URL + +#17.53 +theme_settings_virtualmin=Virtualmin Virtual Servers +theme_settings_cloudmin=Cloudmin Managed Systems +settings_right_thirdparties_options_title=Third-parties modules options +theme_xhred_filemanager_context_calculate_size=Calculate size on spacebar +theme_xhred_filemanager_context_bookmarks=Bookmarks +theme_xhred_filemanager_context_bookmark_current=Bookmark currently opened path +theme_xhred_filemanager_context_transfer=Transfer + +#17.54 +theme_xhred_filemanager_title_symlink_target=Link target + +#17.60 +right_unlimited=Unlimited +settings_leftmenu_width=Preferable width +settings_leftmenu_width_description=Default/current width 260/0 +settings_switch_rdisplay=Reverse switch output +settings_switch_rdisplay_description=This option allows you to set different order for top-left switches. After changing this option, complete page reload is required to apply new settings. + +#17.63 +theme_xhred_filemanager_context_calculate_selected_size=Calculate selected size +theme_xhred_filemanager_selected_entries=Selected: %value entries +theme_xhred_filemanager_manual_path=Enter path manually + +theme_xhred_datatable_semptytable=No data available in table +theme_xhred_datatable_sinfo=Showing _START_ to _END_ of _TOTAL_ entries +theme_xhred_datatable_sinfoempty=Showing 0 to 0 of 0 entries +theme_xhred_datatable_slengthmenu=Show _MENU_ entries +theme_xhred_datatable_sloadingrecords=Loading +theme_xhred_datatable_sprocessing=Processing... +theme_xhred_datatable_szerorecords=No matching records found + +#17.64 +theme_xhred_filemanager_file_edit_but_not_saved=File has been edited but hasn't been saved. +theme_xhred_filemanager_file_edit_but_not_saved_what_to_do=What do you want to do? +theme_xhred_global_save=Save +theme_xhred_global_save_and_close=Save and close +theme_xhred_global_close_without_saving=Close without saving +theme_xhred_global_continue_editing=Continue editing +theme_xhred_filemanager_context_download_file=Download + +#17.65 +settings_sysinfo_easypie_charts_width=Width of charts +settings_sysinfo_easypie_charts_scale=Scale length of charts + +#17.80 +right_return_theme_options=theme options +theme_xhred_datatable_semptydirectory=Directory is empty +theme_xhred_filemanager_context_clipboard=Copy path to clipboard +theme_xhred_global_warning=Warning +theme_xhred_global_close=Close +theme_xhred_encoding_warning=Detected that you are using non-unicode character set, which is not recommended. Strange  character might appear in text-editor mode and/or other encoding issues are going to happen.

    Change language in %prod Configuration to %lang.UTF-8 and make sure, that your browser also detected it correctly.

    Pay attention, that Webmin in-built module, named Change Language and Theme can override global settings.
    + +theme_xhred_filemanager__no_bookmarks=No saved bookmarks +theme_xhred_filemanager_unbookmark_success=Directory %value was successfully removed from your bookmarks. +theme_xhred_filemanager_bookmark=Bookmark current directory +theme_xhred_filemanager_unbookmark=Unbookmark current directory +theme_xhred_filemanager_move_into_self=You cannot move a directory into itself! The destination directory is inside the source directory. +theme_xhred_filemanager_pasting_and_copying_1=Selected source has been pasted with the new name successfully. +theme_xhred_filemanager_pasting_and_copying_2=Selected sources have been pasted with the new names successfully. +theme_xhred_filemanager_pasting_and_replacing_1=Existing target has been replaced with new successfully. +theme_xhred_filemanager_pasting_and_replacing_2=Existing targets have been replaced with new successfully. +theme_xhred_filemanager_target_conflict_1=Target conflict +theme_xhred_filemanager_target_conflict_2=Targets conflicts +theme_xhred_filemanager_target_conflict_message_1=Pasted target already exists! What do you prefer to do? +theme_xhred_filemanager_target_conflict_message_2=Pasted targets already exist! What do you prefer to do? +theme_xhred_filemanager_target_conflict_replace=Merge and replace +theme_xhred_filemanager_target_conflict_paste=Paste with new name + +theme_xhred_editor_help_title=Editor Keyboard Shortcuts +theme_xhred_editor_help_content=
    Find/Replace
    Keypress Command
    Ctrl + F Find
    Ctrl + H Replace
    Ctrl + ⇧ + R Replace all
    Ctrl + G Find next
    Ctrl + ⇧ + G Find previous
    Alt + G Jump to line
    Text manipulation
    Keypress Command
    Ctrl + KU Transform to Uppercase
    Ctrl + KL Transform to Lowercase
    Editing
    Keypress Command
    Ctrl + Space Activate autocompletion
    Ctrl + X Cut line
    Ctrl + ⇧ + ↑ Move line/selection up
    Ctrl + ⇧ + ↓ Move line/selection down
    Ctrl + L Select line - Repeat to select next lines
    Ctrl + D Select word - Repeat select others occurrences
    Ctrl + M Jump to closing parentheses Repeat to jump to opening parentheses
    Ctrl + ⇧ + M Select all contents of the current parentheses
    Ctrl + ⇧ + K Delete Line
    Ctrl + KK Delete from cursor to end of line
    Ctrl + K + Backspace Delete from cursor to start of line
    Ctrl + ⇧ + D Duplicate line(s)
    Ctrl + J Join line below to the end of the current line
    Ctrl + / Comment/un-comment current line
    Ctrl + ⇧ + / Block comment current selection
    Ctrl + Y Redo, or repeat last keyboard shortcut command
    Ctrl + ⇧ + V Paste and indent correctly
    Ctrl + Space Select next auto-complete suggestion
    Ctrl + U soft undo; jumps to your last change before undoing change when repeated
    + +theme_xhred_filemanager_hide_toolbar=Hide toolbar +theme_xhred_filemanager_hide_actions=Hide actions column +theme_xhred_filemanager_hovered_toolbar=Activate dropdown in toolbar on mouse hover +theme_xhred_filemanager_context_delete_selected=Delete selected + +#17.83 +theme_xhred_database_adding_new_row=Adding new row +theme_xhred_database_editing_row=Editing selected row +theme_xhred_database_editing_rows=Editing selected rows +theme_xhred_database_adding_new_row_data=Set data + +#17.84 +theme_xhred_datatable_filter=Filter + +theme_xhred_global_update=Update +theme_xhred_global_update_and_return=Update and return +theme_xhred_global_update_and_close=Update and close +theme_xhred_global_back=Back +theme_xhred_global_cancel=Cancel + +theme_xhred_database_add_row_successful=New row was successfully added +theme_xhred_database_edit_row_successful=Selected row was successfully updated +theme_xhred_database_edit_rows_successful=Selected rows were successfully updated +theme_xhred_database_edit_row_delete_successful=Selected row was successfully deleted +theme_xhred_database_edit_rows_delete_successful=Successfully deleted %n selected rows +theme_xhred_database_edit_field_delete_successful=Selected field was successfully deleted +theme_xhred_database_edit_fields_delete_successful=Successfully deleted %n selected fields +theme_xhred_database_edit_selected_row=Edit selected row +theme_xhred_database_edit_selected_rows=Edit selected rows +theme_xhred_database_add_new_row=Add row +theme_xhred_database_delete_selected_row=Delete selected row +theme_xhred_database_delete_selected_rows=Delete selected rows +theme_xhred_database_delete_selected_field=Delete selected field +theme_xhred_database_delete_selected_fields=Delete selected fields +theme_xhred_database_object_selected_delete=Delete selected object +theme_xhred_database_objects_selected_delete=Delete selected objects +theme_xhred_database_db_selected_drop=Drop selected database +theme_xhred_database_dbs_selected_drop=Drop selected databases +theme_xhred_database_edit_but_not_saved=Table data has been edited but not saved. + +theme_xhred_global_no_such_command=It appears that %cmd executable is not installed or not in the path on your system. + +theme_xhred_global_notice=Notice + +theme_xhred_updates_disabled_notice=Detected that you don't have enabled notifications for Authentic Theme updates?

    Enabling this feature in Theme Configuration will help you to update to the latest version in a single click as soon as it's out. + + +#18.00 +theme_xhred_global_file=File +theme_xhred_global_directory=Directory +theme_xhred_global_no_target=Target doesn't exist or not accessible +theme_xhred_global_error_code=Error code +theme_xhred_global_on=On +theme_xhred_global_off=Off +theme_xhred_global_all=All +theme_xhred_global_none=None +theme_xhred_global_yes=Yes +theme_xhred_global_no=No + +theme_xhred_filemanager_new_tab=Add new tab (Ctrl+Space) +theme_xhred_datatable_no_search_results=No results found
    Try a different search + +theme_xhred_filemanager_buffer_error=Failed to paste files to the buffer - permission denied. + +filemanager_create_object_exists=$3 `$1` already exists in `$2` +filemanager_create_object_denied=Can't create $3 `$1` in `$2` - permission denied. + +filemanager_paste_warning=Failed to paste target(s). It is possible that requested object(s) could have been renamed, moved or deleted while/before pasting. Another possible cause is that destination is not writable. It is worth checking objects' attributes. + +theme_xhred_filemanager_delete_warning=Deletion has finished successfully but not for all objects. It is possible that requested object(s) could have been renamed or moved before deletion. Restricted permissions (attributes) is another possible cause. Error message: + + +filemanager_rename_exists=$3 with name `$1` already exists in `$2` +filemanager_rename_denied=Can not rename the $3. This might happen because the source $3 has been removed or due to restricted permissions. + +theme_xhred_filemanager_successful_rename=Renaming `%from` to `%to` was successful. + +filemanager_global_info_total1=Total: $1 file and $2 directory +filemanager_global_info_total2=Total: $1 files and $2 directory +filemanager_global_info_total3=Total: $1 file and $2 directories +filemanager_global_info_total4=Total: $1 files and $2 directories + +theme_xhred_filemanager_selected_entry=Selected: %value entry + +theme_xhred_filemanager_search_query=Query mask +theme_xhred_filemanager_search_match=Find in results +theme_xhred_filemanager_search_replace=Replace in results + +theme_xhred_global_find=Find +theme_xhred_global_replace=Replace + +theme_xhred_filemanager_searching_matching=Searching for `%value` matching names of files/directories, containing `%text` text. +theme_xhred_filemanager_searching_replacing=Replacing matches `%text` with `%replace` in files with names containing `%value`. + +theme_xhred_filemanager_search_replaced_multi=Found and replaced in %value files. +theme_xhred_filemanager_search_replaced=Found and replaced in 1 file. + +theme_xhred_filemanager_successful_permissions_with_errors=Permissions have been changed successfully but not for all objects: + +theme_xhred_filemanager_successful_ownership_with_errors=Ownership has not been changed successfully for all objects: +theme_xhred_filemanager_successful_ownership_with_errors_fatal=Ownership can't be changed due to following errors: + +theme_xhred_filemanager_successful_compression_with_errors=Compression has finished with the following errors: +theme_xhred_filemanager_successful_compression_bg=Compression has successfully finished. Compressed file `%file is located in `%path` directory. +theme_xhred_filemanager_successful_compression_bg_with_errors=Compression has finished with errors. Compressed file `%file should be located in `%path` directory. + +theme_xhred_filemanager_settings_notification_type=Type of notifications to display +theme_xhred_filemanager_settings_notification_type_inf_warn_err=Informations, warnings and errors +theme_xhred_filemanager_settings_notification_type_warn_err=Warnings and errors +theme_xhred_filemanager_settings_notification_type_err=Errors only + +theme_xhred_filemanager_settings_tabs_remember_state=Restore previously used tabs on first load +theme_xhred_filemanager_context_open_new_tab=Open in new tab + +theme_xhred_xsql_fit_content_screen_height=Fit database table content in screen height + +theme_xhred_datatable_filter_visible_tables=Filter Visible Table(s) +theme_xhred_module_help=Module help + +theme_xhred_server_process_running=Server process is still running!? Are you sure that you want to navigate away and have no access to output information? Even if you leave now the process will not be terminated. + + +#18.03 +settings_global_options_title=Global options +settings_global_passgen_format=Password generator +settings_global_passgen_format_description=Set the length and character type used in the generated password. Default value equals to 12|a-z,A-Z,0-9,#, which represents password with 12 characters in length, containing upper and lower case letters, numbers and special characters. First value is numerical, which is the length of the password, immediately followed by | as a delimiter. Next is the type, where you can use numbers 0-9, letters a-z and/or A-Z, and special characters #. All of these sets can be used together or individually, using comma as a delimiter. +theme_xhred_password_generator_new=Generate New Password
    (To Clipboard) +theme_xhred_password_generator_new_success=Generated password %password has been copied to clipboard successfully. + + +#18.08 +theme_fileformat_perl=Perl +theme_fileformat_perl_placeholder=This file must end with `1;` to work successfully. + + +#18.10 +theme_error_access_not_root=Access denied: User needs access to the Webmin Configuration module to edit theme configuration + + +#18.20 +settings_hide_top_loader=Hide top progress bar + + +#18.30 +settings_leftmenu_vm_cm_dropdown_icons=Show symbolic icons in drop-down in Virtualmin/Cloudmin +settings_font_family=Font family +settings_font_family_description=Among all presented fonts' variants Roboto is shipped with the theme and set as default. The other fonts must be installed on your local computer in order to work. By using local fonts, the default one is not loaded, which will result in faster theme load +theme_xhred_global_shipped=Shipped +theme_xhred_global_available=Available +theme_xhred_global_not_available=Not available +theme_xhred_global_default=Default +theme_xhred_global_system_default=System default +theme_xhred_global_local_system_default=Local system default +theme_xhred_global_stats=Stats +theme_xhred_global_notifications=Notifications +theme_xhred_global_favorites=Favorites +theme_xhred_global_cpu_load=CPU load +theme_xhred_notification_none=No notifications +theme_xhred_notification_no_data=No collected data +theme_xhred_notification_no_favorites=No favorites data +theme_xhred_global_theme_version=Theme version + +settings_side_slider_sysinfo_enabled=Show dashboard tab +settings_side_slider_notifications_enabled=Show notifications tab +settings_side_slider_favorites_enabled=Show favorites tab +settings_show_terminal_link=Show terminal button + +theme_xhred_sysinfo_system_monitors=System Monitors +theme_xhred_sysinfo_server_status=Servers Status +theme_xhred_sysinfo_software_versions=Software Versions +theme_xhred_sysinfo_recent_logins=Recent Logins +theme_xhred_sysinfo_vm_package_updates=Virtualmin Package Updates +theme_xhred_sysinfo_disk_quotas=Disk Quotas +theme_xhred_sysinfo_bandwidth_quotas=Bandwidth Quotas + +left_netdata=Realtime Monitoring +settings_leftmenu_netdata=Show Netdata realtime monitoring link +settings_leftmenu_netdata_link=Netdata server preferred link + +theme_xhred_filemanager_context_chattr=Change attributes +theme_xhred_filemanager_changing_attributes=Setting attributes to %value on selected file(s). +theme_xhred_filemanager_successful_attributes_with_errors=Attributes haven't been set successfully for all objects: +theme_xhred_filemanager_successful_attributes=Attributes have been set successfully. + +theme_xhred_filemanager_context_chcon=Change security context +theme_xhred_filemanager_changing_secontext=Changing security context to %value on selected file(s). +theme_xhred_filemanager_successful_secontext_with_errors=Security context has not been changed successfully for all objects: +theme_xhred_filemanager_successful_secontext=Security context has been changed successfully. + +theme_xhred_global_no_results_found=No results found + + +#18.40 +theme_new_password_header=Set new password for user +login_reset=Password recovery +theme_xhred_move_top=Move to top +theme_xhred_move_bottom=Move to bottom +theme_xhred_move_up=Move up +theme_xhred_move_down=Move down +theme_xhred_add_after=Add after +theme_xhred_add_before=Add before +settings_button_tooltip=Show tooltip on buttons +settings_show_night_mode_link=Show palette toggle +settings_hotkey_toggle_key_night_mode=Hotkey for toggling dark/light palette +settings_title=Theme Configuration +settings_subtitle=For user + +theme_tooltip_night_mode=Day/night mode toggle +theme_tooltip_terminal_link=Terminal +theme_tooltip_language_link=Language +theme_tooltip_switch_user=Switch user +theme_tooltip_logout=Sign out +theme_tooltip_edit_user=Edit user + + +#18.45 +settings_sysinfo_easypie_charts_size=Diameter of charts +theme_xhred_global_choose=Choose +theme_xhred_global_select=Select +theme_xhred_global_ok=OK +settings_sysinfo_theme_patched_updates=Including patched versions +settings_sysinfo_theme_updates_description=In order to make this option work, git command has to be installed on your system +theme_git_patch_available=Latest available patch +theme_git_patch_no_git_message=In order to install latest patches directly from GitHub you must make sure that git command is installed. +theme_git_patch_update_success_message=Theme update for Webmin was successful. Currently installed version is $1. Reloading... +theme_git_patch_update_success_message2=Theme update for both Webmin and Usermin was successful. Currently installed version is $1. Reloading... +theme_xhred_git_patch_update=Theme update has failed. Try using console to do it manually. +theme_xhred_git_patch_initiated=Theme update has been initiated. +theme_xhred_global_prev_page=Go back one page +theme_xhred_global_help=Help +settings_right_soft_updates_page_options_title=Software updates +theme_xhred_git_compare_changes=Compare changes +theme_xhred_filemanager_link_to_clipboard=Symbolic link's name `%value` has been copied to clipboard. + + +#18.46 +theme_left_mail_prefs=Mail Preferences +theme_left_mail_change_password=Change Password +theme_left_mail_account_functions=Account Functions +theme_xhred_global_dir_up=Go to previous directory (Backspace) +theme_xhred_global_module_config=Module config +theme_xhred_global_return=Return +theme_xhred_global_return_to_module_index=Return to module index + + +#18.47 +settings_account_info_link_mini=Show account information link as button +theme_xhred_global_complete_changelog=Complete changelog +theme_xhred_global_beta_version=Beta version +theme_xhred_global_release=Release +theme_xhred_global_released_on=Released on +theme_xhred_global_committed_on=Committed on +theme_xhred_global_resolved_issues=Resolved issues in %value releases + + +#18.48 +theme_force_upgrade=Force update theme +theme_force_upgrade_beta=Install latest development version (beta) +theme_force_upgrade_stable=Install latest release version (stable) +theme_xhred_source_encoding=Source encoding +theme_update_footer=Please be kind reporting bugs to $1 repository. Follow theme's $2 channel for the latest updates. +theme_xhred_encoding_manually_set=Manually set encoding +theme_xhred_filemanager_save_to_change_encoding=File must be saved, in order to allow encoding to be changed. + + +#18.49 +theme_xhred_filemanager_user_switch=Switch to user (Ctrl+M) +theme_xhred_filemanager_user_switch_description=By selecting the username listed below, you will switch further operations to be performed as this user. +theme_xhred_filemanager_user_switch_description_back=To switch back to default mode choose the first option in select. +theme_xhred_filemanager_user_switch_current_user=Current user +theme_xhred_filemanager_user_switch_option=Automatically switch to user mode upon entering its home directory +theme_xhred_filemanager_editor_align_panels_horizontally=Align Panels Horizontally +theme_xhred_filemanager_editor_align_panels_vertically=Align Panels Vertically +theme_xhred_filemanager_editor_toggle_soft_wrap=Toggle Soft Wrap +theme_xhred_filemanager_editor_refresh_content=Refresh Content +theme_xhred_filemanager_save_to_refresh_content=File must be saved, in order to allow its content to be refreshed. +theme_xhred_filemanager_save_to_refresh_content_proc=Refreshing file content. +theme_xhred_global_dark=Dark +theme_xhred_global_light=Light +theme_xhred_global_minimize=Minimize +theme_xhred_global_maximize=Maximize +theme_xhred_global_normalize=Normalize +theme_xhred_global_set_encoding=Set encoding + + +#19.00 +theme_xhred_sysinfo_update_start=System information is being recollected. +theme_xhred_sysinfo_update_end=System information has been recollected successfully. +theme_xhred_sysinfo_update_failed=System information can't be recollected. Try again later. + +theme_xhred_global_development_version=Development version + +right_vm_server_summary=Virtual Server Summary + +settings_webmin_default_module=Default module for Webmin + +theme_xhred_global_unbeforeunload_title=Changes you made may not be saved +theme_xhred_global_unbeforeunload_message=If you continue, unsaved changes on this page could be permanently lost. +theme_xhred_global_continue=Continue + +theme_xhred_global_automatic_refresh=Automatic refresh +theme_xhred_global_second=Second +theme_xhred_global_seconds=Seconds +theme_xhred_global_minute=Minute +theme_xhred_global_minutes=Minutes diff --git a/lang/es b/lang/es new file mode 120000 index 000000000..76ffc6a26 --- /dev/null +++ b/lang/es @@ -0,0 +1 @@ +es.UTF-8 \ No newline at end of file diff --git a/lang/es.UTF-8 b/lang/es.UTF-8 new file mode 100644 index 000000000..8be6cbad4 --- /dev/null +++ b/lang/es.UTF-8 @@ -0,0 +1,726 @@ +body_cp=CPU +body_cpu=Carga media en CPU +body_cpuinfo=InformaciĂłn CPU +body_cputemps=Temperaturas CPU +body_cputype=$5, $8 nĂșcleos +body_disk=Espacio en el disco local +body_driveerr=$1 errores! +body_drivefailed=Control SMART fallado! +body_drivetemps=Temperaturas discos +body_firewall=VersiĂłn Firewall +body_header0=InformaciĂłn del sistema +body_header1=InformaciĂłn de la cuenta +body_host=Nombre host del sistema +body_kernel=Kernel +body_kernelon=$1 $2 de $3 +body_load=$1 (1 minuto) $2 (5 minutos) $3 (15 minutos) +body_os=Sistema Operativo +body_procs=Procesos en ejecuciĂłn +body_real=Memoria real +body_time=Hora del sistema +body_updates=Actualizaciones de paquetes +body_updays=$1 dĂ­as, $2 horas, $3 minutos +body_uphours=$1 horas, $2 minutos +body_upmins=$1 minutos +body_upneed=$1 actualizaciones de paquetes estĂĄn disponibles +body_upneed1=$1 package update is available +body_upok=Todos los paquetes instalados estĂĄn actualizados +body_upsec=$1 actualizaciones de paquetes estĂĄn disponibles, de los cuales $2 son actualizaciones de seguridad +body_upsec1=$1 package updates are available, of which $2 is security update +body_upsec2=$1 package update is available, of which $2 are security updates +body_upsec3=$1 package update is available, of which $2 is security update +body_uptime=Uptime de Sistema +body_used=$1 total / $2 usado +body_used_and_free=$1 total / $2 libre / $3 usado +body_usermin=VersiĂłn Usermin +body_virt=Memoria virtual +body_webmin=VersiĂłn Webmin + +left_favorites=Favorites +left_favorites_no=There were no favorites added yet... +left_feedback=EnvĂ­a Feedback +left_home=InformaciĂłn del sistema +left_others=Otros +left_refresh_modules=Reajusta mĂłdulos +left_search=Buscar +left_statistics=EstadĂ­sticas del sistema + +login_danger=Peligro! +login_message=Debe ingresar un nombre de usuario y contraseña para iniciar sesiĂłn +login_pass=Contraseña +login_reset=Reajusta +login_save=RecuĂ©rdame +login_signin=Entra +login_success=Éxito +login_token=Token +login_user=Nombre de usuario +login_warning=AtenciĂłn! + +right_aliases=Servidores alias +right_bw=UtilizaciĂłn y lĂ­mite del ancho de banda +right_dom=Su nombre de servidor +right_faliases=Alias de correo +right_fdbs=Bases de datos +right_fdoms=Servidores Virtuales +right_from=Conectado de IP +right_fusers2=Usuarios FTP +right_fusers=Usuarios Mail/FTP +right_fvm2=MĂĄquinas Virtuales +right_fweb=Sitios Web Virtuales +right_licenceheader_vm2=Licencias Cloudmin +right_login=Conectado como +right_not=No instalado +right_of=$1 de $2 +right_quota=Quota y uso disco +right_reselip=(Distribuidor $1) +right_sharedip=(IP compartido) +right_slcheck=Vuelva a verificar la licencia Cloudmin +right_subs=Sub-servidores +right_virtdocs2=DocumentaciĂłn adicional +right_virtualmin=VersiĂłn Virtualmin +right_vlcheck=Vuelva a verificar la licencia Virtualmin +right_vm2=VersiĂłn Cloudmin + +session_failed=Login fallado. Por favor, intĂ©ntalo de nuevo. +session_logout=Logout exitoso. Utilice el formulario de abajo para iniciar sesiĂłn de nuevo. +session_timed_out=Su sesiĂłn ha expirado despuĂ©s $1 minutos de inactividad. +session_twofailed=AutenticaciĂłn de dos factores fallada: $1 + + + + + + + + + + +settings_right_options=Options +settings_right_restore_defaults=Restore defaults +settings_right_restored=Restored +settings_right_restoring=Restoring +settings_right_saved=Saved +settings_right_saving=Saving + +settings_right_theme_extensions=Theme extensions +settings_right_theme_extensions_title=Theme Extensions +settings_right_file_edit=Edit extension file: +settings_right_extensions_title=Theme extensive design, enables you easily manipulate on targeted parts of the interface. + +settings_right_theme_logos=Theme logos +settings_right_theme_logos_title=Theme Logos +settings_right_logos_title=Theme logos can be easily set here, for both, authenticated and unauthenticated users. Recommended logo size is 180x90 pixels and the only supported format is .png, to provide alpha transparency. +settings_right_logo_authenticated_users=Logo for authenticated users +settings_right_logo_unauthenticated_users=Logo for unauthenticated users + +settings_right_current_theme=Current theme +settings_right_title=This page allows you to configure options for Authentic Theme. Settings will be stored upon theme update. +settings_right_theme_left_configuration_title=Authentic Theme Configuration +settings_right_theme_left_extensions_title=Authentic Theme Extensions Editor +settings_right_theme_left_logo_title=Authentic Theme Logo Control +settings_right_theme_configurable_options_title=Configurable options for Authentic Theme + + +settings_right_window_options_title=Window options +settings_right_navigation_menu_title=Navigation menu options +settings_right_table_options_title=Table options +settings_security_title=Security Alerts options +settings_security_description=Security alerts will let you setup email notifications upon certain events.
    Format: Message|Subject|Comma separated list of users/emails|Comma separated list of ignored IPv4/IPv6
    Usage: %3 successful login alert for user %1 from %2|%3 successful login alert|root,user@example.org|1.2.3.4,5.6.7.8
    Output: From: root, To: root, Subject: Webmin successful login alert, Message: Webmin successful login alert for user root from 2.3.4.5 +settings_right_hotkey_options_title=Hotkey options +settings_right_sysinfo_page_options_title=System Information page options + +settings_right_hotkey_custom_options_description=Custom links enable you to use digits from 1 to 9 in order to quick-access any valid Webmin/Usermin/Virtualmin/Cloudmin URL. The URL can be extracted from the currently opened right frame content page, by reading its source. It's important that URL has no slash at the beginning and doesn't use prefixes. For example, to quick-switch to Apache, set to custom link 1 field /apache/. If the default hotkeys modifier set to Alt, clicking Alt+1, will open you Apache module. +settings_hotkey_custom_1=Custom link 1 +settings_hotkey_custom_2=Custom link 2 +settings_hotkey_custom_3=Custom link 3 +settings_hotkey_custom_4=Custom link 4 +settings_hotkey_custom_5=Custom link 5 +settings_hotkey_custom_6=Custom link 6 +settings_hotkey_custom_7=Custom link 7 +settings_hotkey_custom_8=Custom link 8 +settings_hotkey_custom_9=Custom link 9 + +settings_navigation_color=Navigation menu color palette +settings_background_color=Content page color palette +settings_animation_left=Enable animation in navigation menu +settings_animation_tabs=Enable animation in tabs +settings_loader_top=Enable page progress loader on top of the screen +settings_loader_left=Enable spinner for navigation menu +settings_right_reload=Load default content page +settings_right_reload_description=When switching tabs, right frame content page is reloaded. Do not keep currently opened right frame content page and reload with default? + +settings_right_hide_table_icons=Hide table icons for the right frame +settings_right_hide_table_icons_description=Completely remove icons from the content page tables and display plain links with right chevron +settings_right_small_table_icons=Small table icons +settings_right_small_table_icons_description=Substitute standard size table icons with small ones and display icons link using tooltip +settings_right_animate_table_icons=Animate table icons on focus +settings_right_grayscaled_table_icons=Grayscale table icons and bring color on focus only + +settings_leftmenu_section_hide_refresh_modules=Hide Refresh Modules link +settings_leftmenu_section_hide_unused_modules=Hide Unused Modules link +settings_favorites=Show favorites button +settings_leftmenu_button_language=Show language button +settings_leftmenu_button_refresh=Show refresh button + +settings_theme_options_button=Show theme settings button + +settings_hotkeys_active=Enable hotkeys usage +settings_hotkey_toggle_modifier=Hotkeys modifier +settings_hotkey_toggle_key_webmin=Hotkey for Webmin +settings_hotkey_toggle_key_virtualmin=Hotkey for Virtualmin +settings_hotkey_toggle_key_cloudmin=Hotkey for Cloudmin +settings_hotkey_toggle_key_usermin=Hotkey for Usermin +settings_hotkey_toggle_key_webmail=Hotkey for Mail +settings_hotkey_sysinfo=Hotkey for dashboard +settings_hotkey_shell=Hotkey for terminal +settings_hotkey_favorites=Hotkey for favorites +settings_hotkey_focus_search=Hotkey for search field +settings_hotkey_reload=Hotkey for page reload + +settings_side_slider_background_refresh_time=Timeout for background information update +settings_side_slider_background_refresh_time_description=Set desired timeout for updating notification slider in background calls. The value meant to be in minutes. Minimum recommended value is 1 minute. Default is set to 5 minutes. Decimal values can also be used. +settings_sysinfo_easypie_charts=Show charts +settings_sysinfo_theme_updates=Check for Authentic Theme updates +settings_sysinfo_csf_updates=Check for ConfigServer Security & Firewall updates +settings_sysinfo_drive_status_on_new_line=Show CPU and drives status each on new line +settings_sysinfo_expand_all_accordions=Make all accordions expanded +settings_sysinfo_link_mini=Show system information link as button + +settings_right_page_defaults_title=Default pages +settings_right_default_tab_webmin=Default tab after logging in to Webmin +settings_right_default_tab_usermin=Default tab after logging in to Usermin +settings_right_virtualmin_default=Default page for Virtualmin +settings_right_cloudmin_default=Default page for Cloudmin + +settings_right_clear_local_cache=Clear cache +settings_right_notification_slider_options_title=Side slider options +settings_side_slider_fixed=Keep slider always visible +settings_side_slider_palette=Slider palette +settings_hotkey_toggle_slider=Hotkey for slider +settings_window_replace_timestamps=Enable dates substitutions +settings_window_replaced_timestamp_format_short=Short date/time format +settings_window_replaced_timestamp_format_full=Full date/time format +settings_window_replaced_timestamps_options_description=Tweak date/time settings to set desired output for displaying dates in full or short format. In-built this option has effect in Notification Slider and System Information page (on the row Time on system). By default, full format equals to LLLL and short is L, LTS. The time output is different for different locales. Locale is based on Webmin language settings. + +settings_side_slider_enabled=Enable slider +settings_leftmenu_user_html=Show HTML snippet +settings_leftmenu_user_html_description=User defined text or HTML code will be injected to the bottom of the navigation menu. It can be used for identification purposes. For example, to make explicitly show your hostname, you could add to the field <br><kbd>hostname:10000</kbd> + + +theme_changelog=Notas de la versiĂłn +theme_conference=Theme Conference +theme_development_support=Apoyo al Desarrollo +theme_donate=DonaciĂłn +theme_download=Descargar +theme_name=Authentic Tema +theme_update=Actualizar +theme_update_available=La Ășltima versiĂłn disponible +theme_update_notice=NotificaciĂłn de actualizaciĂłn +theme_version=VersiĂłn Tema + + +# Version 17.40 +theme_global_error=Error +theme_global_warning=Warning +theme_global_success=Success +theme_global_info=Information +sysinfo_system_status_warning=In order to have System Information displayed you will need to enable System Status module in user settings. +settings_leftmenu_user_html_only_for_administrator=Show HTML snippet for administrators only +theme_sysinfo_wmdocs=Webmin documentation +theme_sysinfo_vmdocs=Virtualmin documentation +theme_sysinfo_cmdocs=Cloudmin documentation +theme_fileformat_css=CSS +theme_fileformat_json=JSON +theme_fileformat_js=Javascript +theme_fileformat_plain_text=Plain Text + +theme_xhred_titles_wm=Webmin +theme_xhred_titles_um=Usermin +theme_xhred_titles_dashboard=Dashboard +theme_xhred_titles_mail=Mail +theme_xhred_titles_vm=Virtualmin +theme_xhred_titles_cm=Cloudmin +theme_xhred_titles_thirdlane=Thirdlane + +theme_xhred_global_please_wait=Please wait... +theme_xhred_filemanager_copying_selected=Copying selected. +theme_xhred_filemanager_cutting_selected=Cutting selected. +theme_xhred_filemanager_pasting_selected=Pasting from clipboard. +theme_xhred_filemanager_unpacking_archive=Unpacking selected file(s). +theme_xhred_filemanager_deleting_selected=Deleting selected. +theme_xhred_filemanager_renaming_selected=Renaming selected. +theme_xhred_filemanager_creating_directory=Creating directory +theme_xhred_filemanager_creating_file=Creating file +theme_xhred_filemanager_downloading_from=Downloading from +theme_xhred_filemanager_setting_permissions=Setting permissions to %value on selected file(s). +theme_xhred_filemanager_changing_ownership=Changing ownership to %value on selected file(s). +theme_xhred_filemanager_compressing_selected=Compressing selected in the background. +theme_xhred_filemanager_refreshing=Refreshing directory content. +theme_xhred_filemanager_copying_successful=Copy to clipboard successful. +theme_xhred_filemanager_cutting_successful=Cut to clipboard successful. +theme_xhred_filemanager_pasting_successful=Paste from clipboard was successful. +theme_xhred_filemanager_bookmark_success=Directory %value was successfully added to your bookmarks. +theme_xhred_filemanager_searching=Searching for `%value` matching names of files/directories. +theme_xhred_filemanager_search_founds=Found %value matches. +theme_xhred_filemanager_search_found=Found 1 match. +theme_xhred_filemanager_search_no_matches=No matches found. +theme_xhred_filemanager_nothing_is_selected=Nothing is selected! +theme_xhred_filemanager_saving_file=File `%value` is being saved. +theme_xhred_filemanager_file_saved=File `%value` has been successfully saved. +theme_xhred_filemanager_not_editable=Can not edit this type of selection. +theme_xhred_filemanager_not_decompressable=Can not decompress this type of file. +theme_xhred_filemanager_no_selection_to_copy=No directories/files selected to copy. +theme_xhred_filemanager_no_selection_to_cut=No directories/files selected to cut. +theme_xhred_filemanager_empty_clipboard=Clipboard is empty. + +theme_xhred_filemanager_successful_extraction=Extraction of selected file(s) was successful. +theme_xhred_filemanager_successful_deletion=Deletion was successful. +theme_xhred_filemanager_successful_permissions=Permissions have been changed successfully. +theme_xhred_filemanager_successful_ownership=Ownership has been changed successfully. +theme_xhred_filemanager_successful_compression=Compression has successfully finished. +theme_xhred_filemanager_successful_directory_creation=Directory `%value` was created successfully. +theme_xhred_filemanager_successful_file_creation=File `%value` was created successfully. + +theme_xhred_notifications_packages_updates=Packages Update +theme_xhred_notifications_theme_update=Theme Update +theme_xhred_notifications_theme_update_message=A new version %v of Authentic Theme is available. Please update. +theme_xhred_notifications_firewall_update=Firewall Update +theme_xhred_notifications_firewall_update_message=A new version %v of ConfigServer Server Security and Firewall is available. Please update. + +theme_xhred_notifications_firewall_danger=Firewall Danger +theme_xhred_notifications_firewall_danger_message=It appears that ConfigServer Server Security and Firewall is not running or has been stopped! Don't leave your server exposed, check for the firewall settings (%v) + +theme_xhred_notifications_firewall_warning=Firewall Warning + +#17.50 +settings_grayscale_level_navigation=Grayscale filter +settings_grayscale_level_navigation_description=Default/current values 0/0 +settings_sepia_level_navigation=Sepia filter +settings_sepia_level_navigation_description=Default/current values 0/0 +settings_saturate_level_navigation=Saturate filter +settings_saturate_level_navigation_description=Default/current values 1/0 +settings_hue_level_navigation=Hue-rotate filter +settings_hue_level_navigation_description=Default/current values 0°/0° +settings_invert_level_navigation=Invert filter +settings_invert_level_navigation_description=Default/current values 0/0 +settings_brightness_level_navigation=Brightness filter +settings_brightness_level_navigation_description=Default/current values 1/0 +settings_contrast_level_navigation=Contrast filter +settings_contrast_level_navigation_description=Default/current values 1/0 + +settings_grayscale_level_content=Grayscale filter +settings_grayscale_level_content_description=Default/current values 0/0 +settings_saturate_level_content=Saturate filter +settings_saturate_level_content_description=Default/current values 1/0 +settings_hue_level_content=Hue-rotate filter +settings_hue_level_content_description=Default/current values 0°/0° + +settings_cm_view_palette=Viewer color palette +settings_cm_editor_palette=Editor color palette + +theme_xhred_filemanager_context_select_all=Select All +theme_xhred_filemanager_context_select_invert=Invert Selection +theme_xhred_filemanager_context_refresh=Refresh +theme_xhred_filemanager_context_newfile=Create new file +theme_xhred_filemanager_context_newfoder=Create new directory +theme_xhred_filemanager_context_copy=Copy +theme_xhred_filemanager_context_cut=Cut +theme_xhred_filemanager_context_paste=Paste +theme_xhred_filemanager_context_chmod=Change Permissions +theme_xhred_filemanager_context_chown=Change Ownership + +#17.51 +theme_xhred_filemanager_context_new=New +theme_xhred_filemanager_context_newarchive=Create new archive +theme_xhred_filemanager_context_delete=Delete +theme_xhred_filemanager_context_rename=Rename +theme_xhred_filemanager_context_edit=Edit +theme_xhred_filemanager_context_extract=Extract +theme_xhred_filemanager_context_goto=Open Item Location +theme_xhred_filemanager_context_properties=Properties +theme_xhred_filemanager_context_search=Search + +#17.52 +theme_xhred_filemanager_context_deselect_all=Deselect All +theme_xhred_filemanager_context_upload=Upload to current directory +theme_xhred_filemanager_context_download=Download from remote URL + +#17.53 +theme_settings_virtualmin=Virtualmin Virtual Servers +theme_settings_cloudmin=Cloudmin Managed Systems +settings_right_thirdparties_options_title=Third-parties modules options +theme_xhred_filemanager_context_calculate_size=Calculate size on spacebar +theme_xhred_filemanager_context_bookmarks=Bookmarks +theme_xhred_filemanager_context_bookmark_current=Bookmark currently opened path +theme_xhred_filemanager_context_transfer=Transfer + +#17.54 +theme_xhred_filemanager_title_symlink_target=Link target + +#17.60 +right_unlimited=Unlimited +settings_leftmenu_width=Preferable width +settings_leftmenu_width_description=Default/current width 260/0 +settings_switch_rdisplay=Reverse switch output +settings_switch_rdisplay_description=This option allows you to set different order for top-left switches. After changing this option, complete page reload is required to apply new settings. + + +#17.63 +theme_xhred_filemanager_context_calculate_selected_size=Calculate selected size +theme_xhred_filemanager_selected_entries=Selected: %value entries +theme_xhred_filemanager_manual_path=Enter path manually + +theme_xhred_datatable_semptytable=No data available in table +theme_xhred_datatable_sinfo=Showing _START_ to _END_ of _TOTAL_ entries +theme_xhred_datatable_sinfoempty=Showing 0 to 0 of 0 entries +theme_xhred_datatable_slengthmenu=Show _MENU_ entries +theme_xhred_datatable_sloadingrecords=Loading +theme_xhred_datatable_sprocessing=Processing... +theme_xhred_datatable_szerorecords=No matching records found + +#17.64 +theme_xhred_filemanager_file_edit_but_not_saved=File has been edited but hasn't been saved. +theme_xhred_filemanager_file_edit_but_not_saved_what_to_do=What do you want to do? +theme_xhred_global_save=Save +theme_xhred_global_save_and_close=Save and close +theme_xhred_global_close_without_saving=Close without saving +theme_xhred_global_continue_editing=Continue editing +theme_xhred_filemanager_context_download_file=Download + +#17.65 +settings_sysinfo_easypie_charts_width=Width of charts +settings_sysinfo_easypie_charts_scale=Scale length of charts + +#17.80 +right_return_theme_options=theme options +theme_xhred_datatable_semptydirectory=Directory is empty +theme_xhred_filemanager_context_clipboard=Copy path to clipboard +theme_xhred_global_warning=Warning +theme_xhred_global_close=Close +theme_xhred_encoding_warning=Detected that you are using non-unicode character set, which is not recommended. Strange  character might appear in text-editor mode and/or other encoding issues are going to happen.

    Change language in %prod Configuration to %lang.UTF-8 and make sure, that your browser also detected it correctly.

    Pay attention, that Webmin in-built module, named Change Language and Theme can override global settings.
    + +theme_xhred_filemanager__no_bookmarks=No saved bookmarks +theme_xhred_filemanager_unbookmark_success=Directory %value was successfully removed from your bookmarks. +theme_xhred_filemanager_bookmark=Bookmark current directory +theme_xhred_filemanager_unbookmark=Unbookmark current directory +theme_xhred_filemanager_move_into_self=You cannot move a directory into itself! The destination directory is inside the source directory. +theme_xhred_filemanager_pasting_and_copying_1=Selected source has been pasted with the new name successfully. +theme_xhred_filemanager_pasting_and_copying_2=Selected sources have been pasted with the new names successfully. +theme_xhred_filemanager_pasting_and_replacing_1=Existing target has been replaced with new successfully. +theme_xhred_filemanager_pasting_and_replacing_2=Existing targets have been replaced with new successfully. +theme_xhred_filemanager_target_conflict_1=Target conflict +theme_xhred_filemanager_target_conflict_2=Targets conflicts +theme_xhred_filemanager_target_conflict_message_1=Pasted target already exists! What do you prefer to do? +theme_xhred_filemanager_target_conflict_message_2=Pasted targets already exist! What do you prefer to do? +theme_xhred_filemanager_target_conflict_replace=Merge and replace +theme_xhred_filemanager_target_conflict_paste=Paste with new name + +theme_xhred_editor_help_title=Editor Keyboard Shortcuts +theme_xhred_editor_help_content=
    Find/Replace
    Keypress Command
    Ctrl + F Find
    Ctrl + H Replace
    Ctrl + ⇧ + R Replace all
    Ctrl + G Find next
    Ctrl + ⇧ + G Find previous
    Alt + G Jump to line
    Text manipulation
    Keypress Command
    Ctrl + KU Transform to Uppercase
    Ctrl + KL Transform to Lowercase
    Editing
    Keypress Command
    Ctrl + Space Activate autocompletion
    Ctrl + X Cut line
    Ctrl + ⇧ + ↑ Move line/selection up
    Ctrl + ⇧ + ↓ Move line/selection down
    Ctrl + L Select line - Repeat to select next lines
    Ctrl + D Select word - Repeat select others occurrences
    Ctrl + M Jump to closing parentheses Repeat to jump to opening parentheses
    Ctrl + ⇧ + M Select all contents of the current parentheses
    Ctrl + ⇧ + K Delete Line
    Ctrl + KK Delete from cursor to end of line
    Ctrl + K + Backspace Delete from cursor to start of line
    Ctrl + ⇧ + D Duplicate line(s)
    Ctrl + J Join line below to the end of the current line
    Ctrl + / Comment/un-comment current line
    Ctrl + ⇧ + / Block comment current selection
    Ctrl + Y Redo, or repeat last keyboard shortcut command
    Ctrl + ⇧ + V Paste and indent correctly
    Ctrl + Space Select next auto-complete suggestion
    Ctrl + U soft undo; jumps to your last change before undoing change when repeated
    + +theme_xhred_filemanager_hide_toolbar=Hide toolbar +theme_xhred_filemanager_hide_actions=Hide actions column +theme_xhred_filemanager_hovered_toolbar=Activate dropdown in toolbar on mouse hover +theme_xhred_filemanager_context_delete_selected=Delete selected + +#17.83 +theme_xhred_database_adding_new_row=Adding new row +theme_xhred_database_editing_row=Editing selected row +theme_xhred_database_editing_rows=Editing selected rows +theme_xhred_database_adding_new_row_data=Set data + +#17.84 +theme_xhred_datatable_filter=Filter + +theme_xhred_global_update=Update +theme_xhred_global_update_and_return=Update and return +theme_xhred_global_update_and_close=Update and close +theme_xhred_global_back=Back +theme_xhred_global_cancel=Cancel + +theme_xhred_database_add_row_successful=New row was successfully added +theme_xhred_database_edit_row_successful=Selected row was successfully updated +theme_xhred_database_edit_rows_successful=Selected rows were successfully updated +theme_xhred_database_edit_row_delete_successful=Selected row was successfully deleted +theme_xhred_database_edit_rows_delete_successful=Successfully deleted %n selected rows +theme_xhred_database_edit_field_delete_successful=Selected field was successfully deleted +theme_xhred_database_edit_fields_delete_successful=Successfully deleted %n selected fields +theme_xhred_database_edit_selected_row=Edit selected row +theme_xhred_database_edit_selected_rows=Edit selected rows +theme_xhred_database_add_new_row=Add row +theme_xhred_database_delete_selected_row=Delete selected row +theme_xhred_database_delete_selected_rows=Delete selected rows +theme_xhred_database_delete_selected_field=Delete selected field +theme_xhred_database_delete_selected_fields=Delete selected fields +theme_xhred_database_object_selected_delete=Delete selected object +theme_xhred_database_objects_selected_delete=Delete selected objects +theme_xhred_database_db_selected_drop=Drop selected database +theme_xhred_database_dbs_selected_drop=Drop selected databases +theme_xhred_database_edit_but_not_saved=Table data has been edited but not saved. + +theme_xhred_global_no_such_command=It appears that %cmd executable is not installed or not in the path on your system. + +theme_xhred_global_notice=Notice + +theme_xhred_updates_disabled_notice=Detected that you don't have enabled notifications for Authentic Theme updates?

    Enabling this feature in Theme Configuration will help you to update to the latest version in a single click as soon as it's out. + + +#18.00 +theme_xhred_global_file=File +theme_xhred_global_directory=Directory +theme_xhred_global_no_target=Target doesn't exist or not accessible +theme_xhred_global_error_code=Error code +theme_xhred_global_on=On +theme_xhred_global_off=Off +theme_xhred_global_all=All +theme_xhred_global_none=None +theme_xhred_global_yes=Yes +theme_xhred_global_no=No + +theme_xhred_filemanager_new_tab=Add new tab (Ctrl+Space) +theme_xhred_datatable_no_search_results=No results found
    Try a different search + +theme_xhred_filemanager_buffer_error=Failed to paste files to the buffer - permission denied. + +filemanager_create_object_exists=$3 `$1` already exists in `$2` +filemanager_create_object_denied=Can't create $3 `$1` in `$2` - permission denied. + +filemanager_paste_warning=Failed to paste target(s). It is possible that requested object(s) could have been renamed, moved or deleted while/before pasting. Another possible cause is that destination is not writable. It is worth checking objects' attributes. + +theme_xhred_filemanager_delete_warning=Deletion has finished successfully but not for all objects. It is possible that requested object(s) could have been renamed or moved before deletion. Restricted permissions (attributes) is another possible cause. Error message: + + +filemanager_rename_exists=$3 with name `$1` already exists in `$2` +filemanager_rename_denied=Can not rename the $3. This might happen because the source $3 has been removed or due to restricted permissions. + +theme_xhred_filemanager_successful_rename=Renaming `%from` to `%to` was successful. + +filemanager_global_info_total1=Total: $1 file and $2 directory +filemanager_global_info_total2=Total: $1 files and $2 directory +filemanager_global_info_total3=Total: $1 file and $2 directories +filemanager_global_info_total4=Total: $1 files and $2 directories + +theme_xhred_filemanager_selected_entry=Selected: %value entry + +theme_xhred_filemanager_search_query=Query mask +theme_xhred_filemanager_search_match=Find in results +theme_xhred_filemanager_search_replace=Replace in results + +theme_xhred_global_find=Find +theme_xhred_global_replace=Replace + +theme_xhred_filemanager_searching_matching=Searching for `%value` matching names of files/directories, containing `%text` text. +theme_xhred_filemanager_searching_replacing=Replacing matches `%text` with `%replace` in files with names containing `%value`. + +theme_xhred_filemanager_search_replaced_multi=Found and replaced in %value files. +theme_xhred_filemanager_search_replaced=Found and replaced in 1 file. + +theme_xhred_filemanager_successful_permissions_with_errors=Permissions have been changed successfully but not for all objects: + +theme_xhred_filemanager_successful_ownership_with_errors=Ownership has not been changed successfully for all objects: +theme_xhred_filemanager_successful_ownership_with_errors_fatal=Ownership can't be changed due to following errors: + +theme_xhred_filemanager_successful_compression_with_errors=Compression has finished with the following errors: +theme_xhred_filemanager_successful_compression_bg=Compression has successfully finished. Compressed file `%file is located in `%path` directory. +theme_xhred_filemanager_successful_compression_bg_with_errors=Compression has finished with errors. Compressed file `%file should be located in `%path` directory. + +theme_xhred_filemanager_settings_notification_type=Type of notifications to display +theme_xhred_filemanager_settings_notification_type_inf_warn_err=Informations, warnings and errors +theme_xhred_filemanager_settings_notification_type_warn_err=Warnings and errors +theme_xhred_filemanager_settings_notification_type_err=Errors only + +theme_xhred_filemanager_settings_tabs_remember_state=Restore previously used tabs on first load +theme_xhred_filemanager_context_open_new_tab=Open in new tab + +theme_xhred_xsql_fit_content_screen_height=Fit database table content in screen height + +theme_xhred_datatable_filter_visible_tables=Filter Visible Table(s) +theme_xhred_module_help=Module help + +theme_xhred_server_process_running=Server process is still running!? Are you sure that you want to navigate away and have no access to output information? Even if you leave now the process will not be terminated. + + +#18.03 +settings_global_options_title=Global options +settings_global_passgen_format=Password generator +settings_global_passgen_format_description=Set the length and character type used in the generated password. First value is numerical, which is the length of the password, immediately followed by | as a delimiter. Next is the type, where you can use numbers 0-9, letters a-z and/or A-Z, and special characters #. All of these sets can be used together or individually, using comma as a delimiter. Default value equals to 12|a-z,A-Z,0-9,#, which represents password with 12 characters in length, containing upper and lower case letters, numbers and special characters. +theme_xhred_password_generator_new=Generate New Password
    (To Clipboard) +theme_xhred_password_generator_new_success=Generated password %password has been copied to clipboard successfully. + + +#18.08 +theme_fileformat_perl=Perl +theme_fileformat_perl_placeholder=This file must end with `1;` to work successfully. + + +#18.10 +theme_error_access_not_root=Access denied: User needs access to the Webmin Configuration module to edit theme configuration + + +#18.20 +settings_hide_top_loader=Hide top progress bar + + +#18.30 +settings_leftmenu_vm_cm_dropdown_icons=Show symbolic icons in drop-down in Virtualmin/Cloudmin +settings_font_family=Font family +settings_font_family_description=Among all presented fonts' variants Roboto is shipped with the theme and set as default. The other fonts must be installed on your local computer in order to work. By using local fonts, the default one is not loaded, which will result in faster theme load +theme_xhred_global_shipped=Shipped +theme_xhred_global_available=Available +theme_xhred_global_not_available=Not available +theme_xhred_global_default=Default +theme_xhred_global_system_default=System default +theme_xhred_global_local_system_default=Local system default +theme_xhred_global_stats=Stats +theme_xhred_global_notifications=Notifications +theme_xhred_global_favorites=Favorites +theme_xhred_global_cpu_load=CPU load +theme_xhred_notification_none=No notifications +theme_xhred_notification_no_data=No collected data +theme_xhred_notification_no_favorites=No favorites data +theme_xhred_global_theme_version=Theme version + +settings_side_slider_sysinfo_enabled=Show dashboard tab +settings_side_slider_notifications_enabled=Show notifications tab +settings_side_slider_favorites_enabled=Show favorites tab +settings_show_terminal_link=Show terminal button + +theme_xhred_sysinfo_system_monitors=System Monitors +theme_xhred_sysinfo_server_status=Servers Status +theme_xhred_sysinfo_software_versions=Software Versions +theme_xhred_sysinfo_recent_logins=Recent Logins +theme_xhred_sysinfo_vm_package_updates=Virtualmin Package Updates +theme_xhred_sysinfo_disk_quotas=Disk Quotas +theme_xhred_sysinfo_bandwidth_quotas=Bandwidth Quotas + +left_netdata=Realtime Monitoring +settings_leftmenu_netdata=Show Netdata realtime monitoring link +settings_leftmenu_netdata_link=Netdata server preferred link + +theme_xhred_filemanager_context_chattr=Change attributes +theme_xhred_filemanager_changing_attributes=Setting attributes to %value on selected file(s). +theme_xhred_filemanager_successful_attributes_with_errors=Attributes haven't been set successfully for all objects: +theme_xhred_filemanager_successful_attributes=Attributes have been set successfully. + +theme_xhred_filemanager_context_chcon=Change security context +theme_xhred_filemanager_changing_secontext=Changing security context to %value on selected file(s). +theme_xhred_filemanager_successful_secontext_with_errors=Security context has not been changed successfully for all objects: +theme_xhred_filemanager_successful_secontext=Security context has been changed successfully. + +theme_xhred_global_no_results_found=No results found + + +#18.40 +theme_new_password_header=Set new password for user +login_reset=Password recovery +theme_xhred_move_top=Move to top +theme_xhred_move_bottom=Move to bottom +theme_xhred_move_up=Move up +theme_xhred_move_down=Move down +theme_xhred_add_after=Add after +theme_xhred_add_before=Add before +settings_button_tooltip=Show tooltip on buttons +settings_show_night_mode_link=Show palette toggle +settings_hotkey_toggle_key_night_mode=Hotkey for toggling dark/light palette +settings_title=Theme Configuration +settings_subtitle=For user + +theme_tooltip_night_mode=Day/night mode toggle +theme_tooltip_terminal_link=Terminal +theme_tooltip_language_link=Language +theme_tooltip_switch_user=Switch user +theme_tooltip_logout=Sign out +theme_tooltip_edit_user=Edit user + + +#18.45 +settings_sysinfo_easypie_charts_size=Diameter of charts +theme_xhred_global_choose=Choose +theme_xhred_global_select=Select +theme_xhred_global_ok=OK +settings_sysinfo_theme_patched_updates=Including patched versions +settings_sysinfo_theme_updates_description=In order to make this option work, git command has to be installed on your system +theme_git_patch_available=Latest available patch +theme_git_patch_no_git_message=In order to install latest patches directly from GitHub you must make sure that git command is installed. +theme_git_patch_update_success_message=Theme update for Webmin was successful. Currently installed version is $1. Reloading... +theme_git_patch_update_success_message2=Theme update for both Webmin and Usermin was successful. Currently installed version is $1. Reloading... +theme_xhred_git_patch_update=Theme update has failed. Try using console to do it manually. +theme_xhred_git_patch_initiated=Theme update has been initiated. +theme_xhred_global_prev_page=Go back one page +theme_xhred_global_help=Help +settings_right_soft_updates_page_options_title=Software updates +theme_xhred_git_compare_changes=Compare changes +theme_xhred_filemanager_link_to_clipboard=Symbolic link's name `%value` has been copied to clipboard. + + + +#18.46 +theme_left_mail_prefs=Mail Preferences +theme_left_mail_change_password=Change Password +theme_left_mail_account_functions=Account Functions +theme_xhred_global_dir_up=Go to previous directory (Backspace) +theme_xhred_global_module_config=Module config +theme_xhred_global_return=Return +theme_xhred_global_return_to_module_index=Return to module index + + +#18.47 +settings_account_info_link_mini=Show account information link as button +theme_xhred_global_complete_changelog=Complete changelog +theme_xhred_global_beta_version=Beta version +theme_xhred_global_release=Release +theme_xhred_global_released_on=Released on +theme_xhred_global_committed_on=Committed on +theme_xhred_global_resolved_issues=Resolved issues in %value releases + + +#18.48 +theme_force_upgrade=Force update theme +theme_force_upgrade_beta=Install latest development version (beta) +theme_force_upgrade_stable=Install latest release version (stable) +theme_xhred_source_encoding=Source encoding +theme_update_footer=Please be kind reporting bugs to $1 repository. Follow theme's $2 channel for the latest updates. +theme_xhred_encoding_manually_set=Manually set encoding +theme_xhred_filemanager_save_to_change_encoding=File must be saved, in order to allow encoding to be changed. + + +#18.49 +theme_xhred_filemanager_user_switch=Switch to user (Ctrl+M) +theme_xhred_filemanager_user_switch_description=By selecting the username listed below, you will switch further operations to be performed as this user. +theme_xhred_filemanager_user_switch_description_back=To switch back to default mode choose the first option in select. +theme_xhred_filemanager_user_switch_current_user=Current user +theme_xhred_filemanager_user_switch_option=Automatically switch to user mode upon entering its home directory +theme_xhred_filemanager_editor_align_panels_horizontally=Align Panels Horizontally +theme_xhred_filemanager_editor_align_panels_vertically=Align Panels Vertically +theme_xhred_filemanager_editor_toggle_soft_wrap=Toggle Soft Wrap +theme_xhred_filemanager_editor_refresh_content=Refresh Content +theme_xhred_filemanager_save_to_refresh_content=File must be saved, in order to allow its content to be refreshed. +theme_xhred_filemanager_save_to_refresh_content_proc=Refreshing file content. +theme_xhred_global_dark=Dark +theme_xhred_global_light=Light +theme_xhred_global_minimize=Minimize +theme_xhred_global_maximize=Maximize +theme_xhred_global_normalize=Normalize +theme_xhred_global_set_encoding=Set encoding + + +#19.00 +theme_xhred_sysinfo_update_start=System information is being recollected. +theme_xhred_sysinfo_update_end=System information has been recollected successfully. +theme_xhred_sysinfo_update_failed=System information can't be recollected. Try again later. + +theme_xhred_global_development_version=Development version + +right_vm_server_summary=Virtual Server Summary + +settings_webmin_default_module=Default module for Webmin + +theme_xhred_global_unbeforeunload_title=Changes you made may not be saved +theme_xhred_global_unbeforeunload_message=If you continue, unsaved changes on this page could be permanently lost. +theme_xhred_global_continue=Continue + +theme_xhred_global_automatic_refresh=Automatic refresh +theme_xhred_global_second=Second +theme_xhred_global_seconds=Seconds +theme_xhred_global_minute=Minute +theme_xhred_global_minutes=Minutes diff --git a/lang/fr b/lang/fr new file mode 120000 index 000000000..93c0bdc53 --- /dev/null +++ b/lang/fr @@ -0,0 +1 @@ +fr.UTF-8 \ No newline at end of file diff --git a/lang/fr.UTF-8 b/lang/fr.UTF-8 new file mode 100644 index 000000000..6539bf193 --- /dev/null +++ b/lang/fr.UTF-8 @@ -0,0 +1,726 @@ +body_cp=CPU +body_cpu=Charge moyenne du CPU +body_cpuinfo=Informations CPU +body_cputemps=TempĂ©ratures CPU +body_cputype=$5, $8 cƓurs +body_disk=Espace disque local +body_driveerr=$1 erreurs! +body_drivefailed=Erreur de contrĂŽle SMART! +body_drivetemps=TempĂ©ratures disques +body_firewall=Version Firewall +body_header0=Informations de SystĂšme +body_header1=Informations Compte +body_host=Nom d'hĂŽte du SystĂšme +body_kernel=Kernel +body_kernelon=$1 $2 sur $3 +body_load=$1 (1 minute) $2 (5 minutes) $3 (15 minutes) +body_os=SystĂšme d'exploitation +body_procs=Processus en cours +body_real=MĂ©moire rĂ©elle +body_time=Temps systĂšme +body_updates=Mises Ă  jour de paquets +body_updays=$1 jours, $2 heures, $3 minutes +body_uphours=$1 heures, $2 minutes +body_upmins=$1 minutes +body_upneed=$1 mises Ă  jour de paquets sont disponibles +body_upneed1=$1 package update is available +body_upok=Tous les paquets installĂ©s sont Ă  jour +body_upsec=$1 mises Ă  jour de paquets sont disponibles, d'entre elles $2 sont mises Ă  jour de sĂ©curitĂ© +body_upsec1=$1 package updates are available, of which $2 is security update +body_upsec2=$1 package update is available, of which $2 are security updates +body_upsec3=$1 package update is available, of which $2 is security update +body_uptime=SystĂšme Uptime +body_used=$1 total / $2 utilisĂ© +body_used_and_free=$1 total / $2 libre / $3 utilisĂ© +body_usermin=Version de Usermin +body_virt=MĂ©moire virtuelle +body_webmin=Version de Webmin + +left_favorites=Favorites +left_favorites_no=There were no favorites added yet... +left_feedback=Envoyer Feedback +left_home=Informations SystĂšme +left_others=Autres +left_refresh_modules=RafraĂźchir les modules +left_search=Recherche +left_statistics=Statistiques systĂšme + +login_danger=Danger! +login_message=Vous devez saisir un nom d'utilisateur et mot de passe pour vous connecter +login_pass=Mot de passe +login_reset=Effacer +login_save=Se souvenir de moi +login_signin=Entrer +login_success=SuccĂšs! +login_token=Jeton +login_user=Nom d'utilisateur +login_warning=Attention! + +right_aliases=Serveurs alias +right_bw=Utilisation et limite de la bande passante +right_dom=Votre nom serveur +right_faliases=Alias de messagerie +right_fdbs=Bases de donnĂ©es +right_fdoms=Serveurs Virtuels +right_from=ConnectĂ© par l'IP +right_fusers2=Utilisateurs FTP +right_fusers=Utilisateurs Mail/FTP +right_fvm2=Machines Virtuelles +right_fweb=Sites Web Virtuels +right_licenceheader_vm2=Licences Cloudmin +right_login=ConnectĂ© en tant que +right_not=Non installĂ© +right_of=$1 sur $2 +right_quota=Quota et utilisation disque +right_reselip=(Revendeur $1) +right_sharedip=(IP partagĂ©e) +right_slcheck=RevĂ©rifier licence Cloudmin +right_subs=Sous-serveurs +right_virtdocs2=Documentation supplĂ©mentaire +right_virtualmin=Version Virtualmin +right_vlcheck=RevĂ©rifier licence Virtualmin +right_vm2=Version Cloudmin + +session_failed=Login manquĂ©. Veuillez rĂ©essayer. +session_logout=Logout rĂ©ussi. Utilisez le formulaire ci-dessous pour vous reconnecter. +session_timed_out=La session a expirĂ© aprĂšs $1 minutes d'inactivitĂ©. +session_twofailed=Authentification Ă  deux facteurs manquĂ©: $1 + + + + + + + + + + +settings_right_options=Options +settings_right_restore_defaults=Restore defaults +settings_right_restored=Restored +settings_right_restoring=Restoring +settings_right_saved=Saved +settings_right_saving=Saving + +settings_right_theme_extensions=Theme extensions +settings_right_theme_extensions_title=Theme Extensions +settings_right_file_edit=Edit extension file: +settings_right_extensions_title=Theme extensive design, enables you easily manipulate on targeted parts of the interface. + +settings_right_theme_logos=Theme logos +settings_right_theme_logos_title=Theme Logos +settings_right_logos_title=Theme logos can be easily set here, for both, authenticated and unauthenticated users. Recommended logo size is 180x90 pixels and the only supported format is .png, to provide alpha transparency. +settings_right_logo_authenticated_users=Logo for authenticated users +settings_right_logo_unauthenticated_users=Logo for unauthenticated users + +settings_right_current_theme=Current theme +settings_right_title=This page allows you to configure options for Authentic Theme. Settings will be stored upon theme update. +settings_right_theme_left_configuration_title=Authentic Theme Configuration +settings_right_theme_left_extensions_title=Authentic Theme Extensions Editor +settings_right_theme_left_logo_title=Authentic Theme Logo Control +settings_right_theme_configurable_options_title=Configurable options for Authentic Theme + + +settings_right_window_options_title=Window options +settings_right_navigation_menu_title=Navigation menu options +settings_right_table_options_title=Table options +settings_security_title=Security Alerts options +settings_security_description=Security alerts will let you setup email notifications upon certain events.
    Format: Message|Subject|Comma separated list of users/emails|Comma separated list of ignored IPv4/IPv6
    Usage: %3 successful login alert for user %1 from %2|%3 successful login alert|root,user@example.org|1.2.3.4,5.6.7.8
    Output: From: root, To: root, Subject: Webmin successful login alert, Message: Webmin successful login alert for user root from 2.3.4.5 +settings_right_hotkey_options_title=Hotkey options +settings_right_sysinfo_page_options_title=System Information page options + +settings_right_hotkey_custom_options_description=Custom links enable you to use digits from 1 to 9 in order to quick-access any valid Webmin/Usermin/Virtualmin/Cloudmin URL. The URL can be extracted from the currently opened right frame content page, by reading its source. It's important that URL has no slash at the beginning and doesn't use prefixes. For example, to quick-switch to Apache, set to custom link 1 field /apache/. If the default hotkeys modifier set to Alt, clicking Alt+1, will open you Apache module. +settings_hotkey_custom_1=Custom link 1 +settings_hotkey_custom_2=Custom link 2 +settings_hotkey_custom_3=Custom link 3 +settings_hotkey_custom_4=Custom link 4 +settings_hotkey_custom_5=Custom link 5 +settings_hotkey_custom_6=Custom link 6 +settings_hotkey_custom_7=Custom link 7 +settings_hotkey_custom_8=Custom link 8 +settings_hotkey_custom_9=Custom link 9 + +settings_navigation_color=Navigation menu color palette +settings_background_color=Content page color palette +settings_animation_left=Enable animation in navigation menu +settings_animation_tabs=Enable animation in tabs +settings_loader_top=Enable page progress loader on top of the screen +settings_loader_left=Enable spinner for navigation menu +settings_right_reload=Load default content page +settings_right_reload_description=When switching tabs, right frame content page is reloaded. Do not keep currently opened right frame content page and reload with default? + +settings_right_hide_table_icons=Hide table icons for the right frame +settings_right_hide_table_icons_description=Completely remove icons from the content page tables and display plain links with right chevron +settings_right_small_table_icons=Small table icons +settings_right_small_table_icons_description=Substitute standard size table icons with small ones and display icons link using tooltip +settings_right_animate_table_icons=Animate table icons on focus +settings_right_grayscaled_table_icons=Grayscale table icons and bring color on focus only + +settings_leftmenu_section_hide_refresh_modules=Hide Refresh Modules link +settings_leftmenu_section_hide_unused_modules=Hide Unused Modules link +settings_favorites=Show favorites button +settings_leftmenu_button_language=Show language button +settings_leftmenu_button_refresh=Show refresh button + +settings_theme_options_button=Show theme settings button + +settings_hotkeys_active=Enable hotkeys usage +settings_hotkey_toggle_modifier=Hotkeys modifier +settings_hotkey_toggle_key_webmin=Hotkey for Webmin +settings_hotkey_toggle_key_virtualmin=Hotkey for Virtualmin +settings_hotkey_toggle_key_cloudmin=Hotkey for Cloudmin +settings_hotkey_toggle_key_usermin=Hotkey for Usermin +settings_hotkey_toggle_key_webmail=Hotkey for Mail +settings_hotkey_sysinfo=Hotkey for dashboard +settings_hotkey_shell=Hotkey for terminal +settings_hotkey_favorites=Hotkey for favorites +settings_hotkey_focus_search=Hotkey for search field +settings_hotkey_reload=Hotkey for page reload + +settings_side_slider_background_refresh_time=Timeout for background information update +settings_side_slider_background_refresh_time_description=Set desired timeout for updating notification slider in background calls. The value meant to be in minutes. Minimum recommended value is 1 minute. Default is set to 5 minutes. Decimal values can also be used. +settings_sysinfo_easypie_charts=Show charts +settings_sysinfo_theme_updates=Check for Authentic Theme updates +settings_sysinfo_csf_updates=Check for ConfigServer Security & Firewall updates +settings_sysinfo_drive_status_on_new_line=Show CPU and drives status each on new line +settings_sysinfo_expand_all_accordions=Make all accordions expanded +settings_sysinfo_link_mini=Show system information link as button + +settings_right_page_defaults_title=Default pages +settings_right_default_tab_webmin=Default tab after logging in to Webmin +settings_right_default_tab_usermin=Default tab after logging in to Usermin +settings_right_virtualmin_default=Default page for Virtualmin +settings_right_cloudmin_default=Default page for Cloudmin + +settings_right_clear_local_cache=Clear cache +settings_right_notification_slider_options_title=Side slider options +settings_side_slider_fixed=Keep slider always visible +settings_side_slider_palette=Slider palette +settings_hotkey_toggle_slider=Hotkey for slider +settings_window_replace_timestamps=Enable dates substitutions +settings_window_replaced_timestamp_format_short=Short date/time format +settings_window_replaced_timestamp_format_full=Full date/time format +settings_window_replaced_timestamps_options_description=Tweak date/time settings to set desired output for displaying dates in full or short format. In-built this option has effect in Notification Slider and System Information page (on the row Time on system). By default, full format equals to LLLL and short is L, LTS. The time output is different for different locales. Locale is based on Webmin language settings. + +settings_side_slider_enabled=Enable slider +settings_leftmenu_user_html=Show HTML snippet +settings_leftmenu_user_html_description=User defined text or HTML code will be injected to the bottom of the navigation menu. It can be used for identification purposes. For example, to make explicitly show your hostname, you could add to the field <br><kbd>hostname:10000</kbd> + + +theme_changelog=Notes de version +theme_conference=Theme Conference +theme_development_support=Aide au dĂ©veloppement +theme_donate=Donation +theme_download=TĂ©lĂ©charger +theme_name=Authentic Theme +theme_update=Mettre Ă  jour +theme_update_available=DerniĂšre version disponible +theme_update_notice=Mise Ă  jour Avis +theme_version=Version ThĂšme + + +# Version 17.40 +theme_global_error=Error +theme_global_warning=Warning +theme_global_success=Success +theme_global_info=Information +sysinfo_system_status_warning=In order to have System Information displayed you will need to enable System Status module in user settings. +settings_leftmenu_user_html_only_for_administrator=Show HTML snippet for administrators only +theme_sysinfo_wmdocs=Webmin documentation +theme_sysinfo_vmdocs=Virtualmin documentation +theme_sysinfo_cmdocs=Cloudmin documentation +theme_fileformat_css=CSS +theme_fileformat_json=JSON +theme_fileformat_js=Javascript +theme_fileformat_plain_text=Plain Text + +theme_xhred_titles_wm=Webmin +theme_xhred_titles_um=Usermin +theme_xhred_titles_dashboard=Dashboard +theme_xhred_titles_mail=Mail +theme_xhred_titles_vm=Virtualmin +theme_xhred_titles_cm=Cloudmin +theme_xhred_titles_thirdlane=Thirdlane + +theme_xhred_global_please_wait=Please wait... +theme_xhred_filemanager_copying_selected=Copying selected. +theme_xhred_filemanager_cutting_selected=Cutting selected. +theme_xhred_filemanager_pasting_selected=Pasting from clipboard. +theme_xhred_filemanager_unpacking_archive=Unpacking selected file(s). +theme_xhred_filemanager_deleting_selected=Deleting selected. +theme_xhred_filemanager_renaming_selected=Renaming selected. +theme_xhred_filemanager_creating_directory=Creating directory +theme_xhred_filemanager_creating_file=Creating file +theme_xhred_filemanager_downloading_from=Downloading from +theme_xhred_filemanager_setting_permissions=Setting permissions to %value on selected file(s). +theme_xhred_filemanager_changing_ownership=Changing ownership to %value on selected file(s). +theme_xhred_filemanager_compressing_selected=Compressing selected in the background. +theme_xhred_filemanager_refreshing=Refreshing directory content. +theme_xhred_filemanager_copying_successful=Copy to clipboard successful. +theme_xhred_filemanager_cutting_successful=Cut to clipboard successful. +theme_xhred_filemanager_pasting_successful=Paste from clipboard was successful. +theme_xhred_filemanager_bookmark_success=Directory %value was successfully added to your bookmarks. +theme_xhred_filemanager_searching=Searching for `%value` matching names of files/directories. +theme_xhred_filemanager_search_founds=Found %value matches. +theme_xhred_filemanager_search_found=Found 1 match. +theme_xhred_filemanager_search_no_matches=No matches found. +theme_xhred_filemanager_nothing_is_selected=Nothing is selected! +theme_xhred_filemanager_saving_file=File `%value` is being saved. +theme_xhred_filemanager_file_saved=File `%value` has been successfully saved. +theme_xhred_filemanager_not_editable=Can not edit this type of selection. +theme_xhred_filemanager_not_decompressable=Can not decompress this type of file. +theme_xhred_filemanager_no_selection_to_copy=No directories/files selected to copy. +theme_xhred_filemanager_no_selection_to_cut=No directories/files selected to cut. +theme_xhred_filemanager_empty_clipboard=Clipboard is empty. + +theme_xhred_filemanager_successful_extraction=Extraction of selected file(s) was successful. +theme_xhred_filemanager_successful_deletion=Deletion was successful. +theme_xhred_filemanager_successful_permissions=Permissions have been changed successfully. +theme_xhred_filemanager_successful_ownership=Ownership has been changed successfully. +theme_xhred_filemanager_successful_compression=Compression has successfully finished. +theme_xhred_filemanager_successful_directory_creation=Directory `%value` was created successfully. +theme_xhred_filemanager_successful_file_creation=File `%value` was created successfully. + +theme_xhred_notifications_packages_updates=Packages Update +theme_xhred_notifications_theme_update=Theme Update +theme_xhred_notifications_theme_update_message=A new version %v of Authentic Theme is available. Please update. +theme_xhred_notifications_firewall_update=Firewall Update +theme_xhred_notifications_firewall_update_message=A new version %v of ConfigServer Server Security and Firewall is available. Please update. + +theme_xhred_notifications_firewall_danger=Firewall Danger +theme_xhred_notifications_firewall_danger_message=It appears that ConfigServer Server Security and Firewall is not running or has been stopped! Don't leave your server exposed, check for the firewall settings (%v) + +theme_xhred_notifications_firewall_warning=Firewall Warning + +#17.50 +settings_grayscale_level_navigation=Grayscale filter +settings_grayscale_level_navigation_description=Default/current values 0/0 +settings_sepia_level_navigation=Sepia filter +settings_sepia_level_navigation_description=Default/current values 0/0 +settings_saturate_level_navigation=Saturate filter +settings_saturate_level_navigation_description=Default/current values 1/0 +settings_hue_level_navigation=Hue-rotate filter +settings_hue_level_navigation_description=Default/current values 0°/0° +settings_invert_level_navigation=Invert filter +settings_invert_level_navigation_description=Default/current values 0/0 +settings_brightness_level_navigation=Brightness filter +settings_brightness_level_navigation_description=Default/current values 1/0 +settings_contrast_level_navigation=Contrast filter +settings_contrast_level_navigation_description=Default/current values 1/0 + +settings_grayscale_level_content=Grayscale filter +settings_grayscale_level_content_description=Default/current values 0/0 +settings_saturate_level_content=Saturate filter +settings_saturate_level_content_description=Default/current values 1/0 +settings_hue_level_content=Hue-rotate filter +settings_hue_level_content_description=Default/current values 0°/0° + +settings_cm_view_palette=Viewer color palette +settings_cm_editor_palette=Editor color palette + +theme_xhred_filemanager_context_select_all=Select All +theme_xhred_filemanager_context_select_invert=Invert Selection +theme_xhred_filemanager_context_refresh=Refresh +theme_xhred_filemanager_context_newfile=Create new file +theme_xhred_filemanager_context_newfoder=Create new directory +theme_xhred_filemanager_context_copy=Copy +theme_xhred_filemanager_context_cut=Cut +theme_xhred_filemanager_context_paste=Paste +theme_xhred_filemanager_context_chmod=Change Permissions +theme_xhred_filemanager_context_chown=Change Ownership + +#17.51 +theme_xhred_filemanager_context_new=New +theme_xhred_filemanager_context_newarchive=Create new archive +theme_xhred_filemanager_context_delete=Delete +theme_xhred_filemanager_context_rename=Rename +theme_xhred_filemanager_context_edit=Edit +theme_xhred_filemanager_context_extract=Extract +theme_xhred_filemanager_context_goto=Open Item Location +theme_xhred_filemanager_context_properties=Properties +theme_xhred_filemanager_context_search=Search + +#17.52 +theme_xhred_filemanager_context_deselect_all=Deselect All +theme_xhred_filemanager_context_upload=Upload to current directory +theme_xhred_filemanager_context_download=Download from remote URL + +#17.53 +theme_settings_virtualmin=Virtualmin Virtual Servers +theme_settings_cloudmin=Cloudmin Managed Systems +settings_right_thirdparties_options_title=Third-parties modules options +theme_xhred_filemanager_context_calculate_size=Calculate size on spacebar +theme_xhred_filemanager_context_bookmarks=Bookmarks +theme_xhred_filemanager_context_bookmark_current=Bookmark currently opened path +theme_xhred_filemanager_context_transfer=Transfer + +#17.54 +theme_xhred_filemanager_title_symlink_target=Link target + +#17.60 +right_unlimited=Unlimited +settings_leftmenu_width=Preferable width +settings_leftmenu_width_description=Default/current width 260/0 +settings_switch_rdisplay=Reverse switch output +settings_switch_rdisplay_description=This option allows you to set different order for top-left switches. After changing this option, complete page reload is required to apply new settings. + + +#17.63 +theme_xhred_filemanager_context_calculate_selected_size=Calculate selected size +theme_xhred_filemanager_selected_entries=Selected: %value entries +theme_xhred_filemanager_manual_path=Enter path manually + +theme_xhred_datatable_semptytable=No data available in table +theme_xhred_datatable_sinfo=Showing _START_ to _END_ of _TOTAL_ entries +theme_xhred_datatable_sinfoempty=Showing 0 to 0 of 0 entries +theme_xhred_datatable_slengthmenu=Show _MENU_ entries +theme_xhred_datatable_sloadingrecords=Loading +theme_xhred_datatable_sprocessing=Processing... +theme_xhred_datatable_szerorecords=No matching records found + +#17.64 +theme_xhred_filemanager_file_edit_but_not_saved=File has been edited but hasn't been saved. +theme_xhred_filemanager_file_edit_but_not_saved_what_to_do=What do you want to do? +theme_xhred_global_save=Save +theme_xhred_global_save_and_close=Save and close +theme_xhred_global_close_without_saving=Close without saving +theme_xhred_global_continue_editing=Continue editing +theme_xhred_filemanager_context_download_file=Download + +#17.65 +settings_sysinfo_easypie_charts_width=Width of charts +settings_sysinfo_easypie_charts_scale=Scale length of charts + +#17.80 +right_return_theme_options=theme options +theme_xhred_datatable_semptydirectory=Directory is empty +theme_xhred_filemanager_context_clipboard=Copy path to clipboard +theme_xhred_global_warning=Warning +theme_xhred_global_close=Close +theme_xhred_encoding_warning=Detected that you are using non-unicode character set, which is not recommended. Strange  character might appear in text-editor mode and/or other encoding issues are going to happen.

    Change language in %prod Configuration to %lang.UTF-8 and make sure, that your browser also detected it correctly.

    Pay attention, that Webmin in-built module, named Change Language and Theme can override global settings.
    + +theme_xhred_filemanager__no_bookmarks=No saved bookmarks +theme_xhred_filemanager_unbookmark_success=Directory %value was successfully removed from your bookmarks. +theme_xhred_filemanager_bookmark=Bookmark current directory +theme_xhred_filemanager_unbookmark=Unbookmark current directory +theme_xhred_filemanager_move_into_self=You cannot move a directory into itself! The destination directory is inside the source directory. +theme_xhred_filemanager_pasting_and_copying_1=Selected source has been pasted with the new name successfully. +theme_xhred_filemanager_pasting_and_copying_2=Selected sources have been pasted with the new names successfully. +theme_xhred_filemanager_pasting_and_replacing_1=Existing target has been replaced with new successfully. +theme_xhred_filemanager_pasting_and_replacing_2=Existing targets have been replaced with new successfully. +theme_xhred_filemanager_target_conflict_1=Target conflict +theme_xhred_filemanager_target_conflict_2=Targets conflicts +theme_xhred_filemanager_target_conflict_message_1=Pasted target already exists! What do you prefer to do? +theme_xhred_filemanager_target_conflict_message_2=Pasted targets already exist! What do you prefer to do? +theme_xhred_filemanager_target_conflict_replace=Merge and replace +theme_xhred_filemanager_target_conflict_paste=Paste with new name + +theme_xhred_editor_help_title=Editor Keyboard Shortcuts +theme_xhred_editor_help_content=
    Find/Replace
    Keypress Command
    Ctrl + F Find
    Ctrl + H Replace
    Ctrl + ⇧ + R Replace all
    Ctrl + G Find next
    Ctrl + ⇧ + G Find previous
    Alt + G Jump to line
    Text manipulation
    Keypress Command
    Ctrl + KU Transform to Uppercase
    Ctrl + KL Transform to Lowercase
    Editing
    Keypress Command
    Ctrl + Space Activate autocompletion
    Ctrl + X Cut line
    Ctrl + ⇧ + ↑ Move line/selection up
    Ctrl + ⇧ + ↓ Move line/selection down
    Ctrl + L Select line - Repeat to select next lines
    Ctrl + D Select word - Repeat select others occurrences
    Ctrl + M Jump to closing parentheses Repeat to jump to opening parentheses
    Ctrl + ⇧ + M Select all contents of the current parentheses
    Ctrl + ⇧ + K Delete Line
    Ctrl + KK Delete from cursor to end of line
    Ctrl + K + Backspace Delete from cursor to start of line
    Ctrl + ⇧ + D Duplicate line(s)
    Ctrl + J Join line below to the end of the current line
    Ctrl + / Comment/un-comment current line
    Ctrl + ⇧ + / Block comment current selection
    Ctrl + Y Redo, or repeat last keyboard shortcut command
    Ctrl + ⇧ + V Paste and indent correctly
    Ctrl + Space Select next auto-complete suggestion
    Ctrl + U soft undo; jumps to your last change before undoing change when repeated
    + +theme_xhred_filemanager_hide_toolbar=Hide toolbar +theme_xhred_filemanager_hide_actions=Hide actions column +theme_xhred_filemanager_hovered_toolbar=Activate dropdown in toolbar on mouse hover +theme_xhred_filemanager_context_delete_selected=Delete selected + +#17.83 +theme_xhred_database_adding_new_row=Adding new row +theme_xhred_database_editing_row=Editing selected row +theme_xhred_database_editing_rows=Editing selected rows +theme_xhred_database_adding_new_row_data=Set data + +#17.84 +theme_xhred_datatable_filter=Filter + +theme_xhred_global_update=Update +theme_xhred_global_update_and_return=Update and return +theme_xhred_global_update_and_close=Update and close +theme_xhred_global_back=Back +theme_xhred_global_cancel=Cancel + +theme_xhred_database_add_row_successful=New row was successfully added +theme_xhred_database_edit_row_successful=Selected row was successfully updated +theme_xhred_database_edit_rows_successful=Selected rows were successfully updated +theme_xhred_database_edit_row_delete_successful=Selected row was successfully deleted +theme_xhred_database_edit_rows_delete_successful=Successfully deleted %n selected rows +theme_xhred_database_edit_field_delete_successful=Selected field was successfully deleted +theme_xhred_database_edit_fields_delete_successful=Successfully deleted %n selected fields +theme_xhred_database_edit_selected_row=Edit selected row +theme_xhred_database_edit_selected_rows=Edit selected rows +theme_xhred_database_add_new_row=Add row +theme_xhred_database_delete_selected_row=Delete selected row +theme_xhred_database_delete_selected_rows=Delete selected rows +theme_xhred_database_delete_selected_field=Delete selected field +theme_xhred_database_delete_selected_fields=Delete selected fields +theme_xhred_database_object_selected_delete=Delete selected object +theme_xhred_database_objects_selected_delete=Delete selected objects +theme_xhred_database_db_selected_drop=Drop selected database +theme_xhred_database_dbs_selected_drop=Drop selected databases +theme_xhred_database_edit_but_not_saved=Table data has been edited but not saved. + +theme_xhred_global_no_such_command=It appears that %cmd executable is not installed or not in the path on your system. + +theme_xhred_global_notice=Notice + +theme_xhred_updates_disabled_notice=Detected that you don't have enabled notifications for Authentic Theme updates?

    Enabling this feature in Theme Configuration will help you to update to the latest version in a single click as soon as it's out. + + +#18.00 +theme_xhred_global_file=File +theme_xhred_global_directory=Directory +theme_xhred_global_no_target=Target doesn't exist or not accessible +theme_xhred_global_error_code=Error code +theme_xhred_global_on=On +theme_xhred_global_off=Off +theme_xhred_global_all=All +theme_xhred_global_none=None +theme_xhred_global_yes=Yes +theme_xhred_global_no=No + +theme_xhred_filemanager_new_tab=Add new tab (Ctrl+Space) +theme_xhred_datatable_no_search_results=No results found
    Try a different search + +theme_xhred_filemanager_buffer_error=Failed to paste files to the buffer - permission denied. + +filemanager_create_object_exists=$3 `$1` already exists in `$2` +filemanager_create_object_denied=Can't create $3 `$1` in `$2` - permission denied. + +filemanager_paste_warning=Failed to paste target(s). It is possible that requested object(s) could have been renamed, moved or deleted while/before pasting. Another possible cause is that destination is not writable. It is worth checking objects' attributes. + +theme_xhred_filemanager_delete_warning=Deletion has finished successfully but not for all objects. It is possible that requested object(s) could have been renamed or moved before deletion. Restricted permissions (attributes) is another possible cause. Error message: + + +filemanager_rename_exists=$3 with name `$1` already exists in `$2` +filemanager_rename_denied=Can not rename the $3. This might happen because the source $3 has been removed or due to restricted permissions. + +theme_xhred_filemanager_successful_rename=Renaming `%from` to `%to` was successful. + +filemanager_global_info_total1=Total: $1 file and $2 directory +filemanager_global_info_total2=Total: $1 files and $2 directory +filemanager_global_info_total3=Total: $1 file and $2 directories +filemanager_global_info_total4=Total: $1 files and $2 directories + +theme_xhred_filemanager_selected_entry=Selected: %value entry + +theme_xhred_filemanager_search_query=Query mask +theme_xhred_filemanager_search_match=Find in results +theme_xhred_filemanager_search_replace=Replace in results + +theme_xhred_global_find=Find +theme_xhred_global_replace=Replace + +theme_xhred_filemanager_searching_matching=Searching for `%value` matching names of files/directories, containing `%text` text. +theme_xhred_filemanager_searching_replacing=Replacing matches `%text` with `%replace` in files with names containing `%value`. + +theme_xhred_filemanager_search_replaced_multi=Found and replaced in %value files. +theme_xhred_filemanager_search_replaced=Found and replaced in 1 file. + +theme_xhred_filemanager_successful_permissions_with_errors=Permissions have been changed successfully but not for all objects: + +theme_xhred_filemanager_successful_ownership_with_errors=Ownership has not been changed successfully for all objects: +theme_xhred_filemanager_successful_ownership_with_errors_fatal=Ownership can't be changed due to following errors: + +theme_xhred_filemanager_successful_compression_with_errors=Compression has finished with the following errors: +theme_xhred_filemanager_successful_compression_bg=Compression has successfully finished. Compressed file `%file is located in `%path` directory. +theme_xhred_filemanager_successful_compression_bg_with_errors=Compression has finished with errors. Compressed file `%file should be located in `%path` directory. + +theme_xhred_filemanager_settings_notification_type=Type of notifications to display +theme_xhred_filemanager_settings_notification_type_inf_warn_err=Informations, warnings and errors +theme_xhred_filemanager_settings_notification_type_warn_err=Warnings and errors +theme_xhred_filemanager_settings_notification_type_err=Errors only + +theme_xhred_filemanager_settings_tabs_remember_state=Restore previously used tabs on first load +theme_xhred_filemanager_context_open_new_tab=Open in new tab + +theme_xhred_xsql_fit_content_screen_height=Fit database table content in screen height + +theme_xhred_datatable_filter_visible_tables=Filter Visible Table(s) +theme_xhred_module_help=Module help + +theme_xhred_server_process_running=Server process is still running!? Are you sure that you want to navigate away and have no access to output information? Even if you leave now the process will not be terminated. + + +#18.03 +settings_global_options_title=Global options +settings_global_passgen_format=Password generator +settings_global_passgen_format_description=Set the length and character type used in the generated password. First value is numerical, which is the length of the password, immediately followed by | as a delimiter. Next is the type, where you can use numbers 0-9, letters a-z and/or A-Z, and special characters #. All of these sets can be used together or individually, using comma as a delimiter. Default value equals to 12|a-z,A-Z,0-9,#, which represents password with 12 characters in length, containing upper and lower case letters, numbers and special characters. +theme_xhred_password_generator_new=Generate New Password
    (To Clipboard) +theme_xhred_password_generator_new_success=Generated password %password has been copied to clipboard successfully. + + +#18.08 +theme_fileformat_perl=Perl +theme_fileformat_perl_placeholder=This file must end with `1;` to work successfully. + + +#18.10 +theme_error_access_not_root=Access denied: User needs access to the Webmin Configuration module to edit theme configuration + + +#18.20 +settings_hide_top_loader=Hide top progress bar + + +#18.30 +settings_leftmenu_vm_cm_dropdown_icons=Show symbolic icons in drop-down in Virtualmin/Cloudmin +settings_font_family=Font family +settings_font_family_description=Among all presented fonts' variants Roboto is shipped with the theme and set as default. The other fonts must be installed on your local computer in order to work. By using local fonts, the default one is not loaded, which will result in faster theme load +theme_xhred_global_shipped=Shipped +theme_xhred_global_available=Available +theme_xhred_global_not_available=Not available +theme_xhred_global_default=Default +theme_xhred_global_system_default=System default +theme_xhred_global_local_system_default=Local system default +theme_xhred_global_stats=Stats +theme_xhred_global_notifications=Notifications +theme_xhred_global_favorites=Favorites +theme_xhred_global_cpu_load=CPU load +theme_xhred_notification_none=No notifications +theme_xhred_notification_no_data=No collected data +theme_xhred_notification_no_favorites=No favorites data +theme_xhred_global_theme_version=Theme version + +settings_side_slider_sysinfo_enabled=Show dashboard tab +settings_side_slider_notifications_enabled=Show notifications tab +settings_side_slider_favorites_enabled=Show favorites tab +settings_show_terminal_link=Show terminal button + +theme_xhred_sysinfo_system_monitors=System Monitors +theme_xhred_sysinfo_server_status=Servers Status +theme_xhred_sysinfo_software_versions=Software Versions +theme_xhred_sysinfo_recent_logins=Recent Logins +theme_xhred_sysinfo_vm_package_updates=Virtualmin Package Updates +theme_xhred_sysinfo_disk_quotas=Disk Quotas +theme_xhred_sysinfo_bandwidth_quotas=Bandwidth Quotas + +left_netdata=Realtime Monitoring +settings_leftmenu_netdata=Show Netdata realtime monitoring link +settings_leftmenu_netdata_link=Netdata server preferred link + +theme_xhred_filemanager_context_chattr=Change attributes +theme_xhred_filemanager_changing_attributes=Setting attributes to %value on selected file(s). +theme_xhred_filemanager_successful_attributes_with_errors=Attributes haven't been set successfully for all objects: +theme_xhred_filemanager_successful_attributes=Attributes have been set successfully. + +theme_xhred_filemanager_context_chcon=Change security context +theme_xhred_filemanager_changing_secontext=Changing security context to %value on selected file(s). +theme_xhred_filemanager_successful_secontext_with_errors=Security context has not been changed successfully for all objects: +theme_xhred_filemanager_successful_secontext=Security context has been changed successfully. + +theme_xhred_global_no_results_found=No results found + + +#18.40 +theme_new_password_header=Set new password for user +login_reset=Password recovery +theme_xhred_move_top=Move to top +theme_xhred_move_bottom=Move to bottom +theme_xhred_move_up=Move up +theme_xhred_move_down=Move down +theme_xhred_add_after=Add after +theme_xhred_add_before=Add before +settings_button_tooltip=Show tooltip on buttons +settings_show_night_mode_link=Show palette toggle +settings_hotkey_toggle_key_night_mode=Hotkey for toggling dark/light palette +settings_title=Theme Configuration +settings_subtitle=For user + +theme_tooltip_night_mode=Day/night mode toggle +theme_tooltip_terminal_link=Terminal +theme_tooltip_language_link=Language +theme_tooltip_switch_user=Switch user +theme_tooltip_logout=Sign out +theme_tooltip_edit_user=Edit user + + +#18.45 +settings_sysinfo_easypie_charts_size=Diameter of charts +theme_xhred_global_choose=Choose +theme_xhred_global_select=Select +theme_xhred_global_ok=OK +settings_sysinfo_theme_patched_updates=Including patched versions +settings_sysinfo_theme_updates_description=In order to make this option work, git command has to be installed on your system +theme_git_patch_available=Latest available patch +theme_git_patch_no_git_message=In order to install latest patches directly from GitHub you must make sure that git command is installed. +theme_git_patch_update_success_message=Theme update for Webmin was successful. Currently installed version is $1. Reloading... +theme_git_patch_update_success_message2=Theme update for both Webmin and Usermin was successful. Currently installed version is $1. Reloading... +theme_xhred_git_patch_update=Theme update has failed. Try using console to do it manually. +theme_xhred_git_patch_initiated=Theme update has been initiated. +theme_xhred_global_prev_page=Go back one page +theme_xhred_global_help=Help +settings_right_soft_updates_page_options_title=Software updates +theme_xhred_git_compare_changes=Compare changes +theme_xhred_filemanager_link_to_clipboard=Symbolic link's name `%value` has been copied to clipboard. + + + +#18.46 +theme_left_mail_prefs=Mail Preferences +theme_left_mail_change_password=Change Password +theme_left_mail_account_functions=Account Functions +theme_xhred_global_dir_up=Go to previous directory (Backspace) +theme_xhred_global_module_config=Module config +theme_xhred_global_return=Return +theme_xhred_global_return_to_module_index=Return to module index + + +#18.47 +settings_account_info_link_mini=Show account information link as button +theme_xhred_global_complete_changelog=Complete changelog +theme_xhred_global_beta_version=Beta version +theme_xhred_global_release=Release +theme_xhred_global_released_on=Released on +theme_xhred_global_committed_on=Committed on +theme_xhred_global_resolved_issues=Resolved issues in %value releases + + +#18.48 +theme_force_upgrade=Force update theme +theme_force_upgrade_beta=Install latest development version (beta) +theme_force_upgrade_stable=Install latest release version (stable) +theme_xhred_source_encoding=Source encoding +theme_update_footer=Please be kind reporting bugs to $1 repository. Follow theme's $2 channel for the latest updates. +theme_xhred_encoding_manually_set=Manually set encoding +theme_xhred_filemanager_save_to_change_encoding=File must be saved, in order to allow encoding to be changed. + + +#18.49 +theme_xhred_filemanager_user_switch=Switch to user (Ctrl+M) +theme_xhred_filemanager_user_switch_description=By selecting the username listed below, you will switch further operations to be performed as this user. +theme_xhred_filemanager_user_switch_description_back=To switch back to default mode choose the first option in select. +theme_xhred_filemanager_user_switch_current_user=Current user +theme_xhred_filemanager_user_switch_option=Automatically switch to user mode upon entering its home directory +theme_xhred_filemanager_editor_align_panels_horizontally=Align Panels Horizontally +theme_xhred_filemanager_editor_align_panels_vertically=Align Panels Vertically +theme_xhred_filemanager_editor_toggle_soft_wrap=Toggle Soft Wrap +theme_xhred_filemanager_editor_refresh_content=Refresh Content +theme_xhred_filemanager_save_to_refresh_content=File must be saved, in order to allow its content to be refreshed. +theme_xhred_filemanager_save_to_refresh_content_proc=Refreshing file content. +theme_xhred_global_dark=Dark +theme_xhred_global_light=Light +theme_xhred_global_minimize=Minimize +theme_xhred_global_maximize=Maximize +theme_xhred_global_normalize=Normalize +theme_xhred_global_set_encoding=Set encoding + + +#19.00 +theme_xhred_sysinfo_update_start=System information is being recollected. +theme_xhred_sysinfo_update_end=System information has been recollected successfully. +theme_xhred_sysinfo_update_failed=System information can't be recollected. Try again later. + +theme_xhred_global_development_version=Development version + +right_vm_server_summary=Virtual Server Summary + +settings_webmin_default_module=Default module for Webmin + +theme_xhred_global_unbeforeunload_title=Changes you made may not be saved +theme_xhred_global_unbeforeunload_message=If you continue, unsaved changes on this page could be permanently lost. +theme_xhred_global_continue=Continue + +theme_xhred_global_automatic_refresh=Automatic refresh +theme_xhred_global_second=Second +theme_xhred_global_seconds=Seconds +theme_xhred_global_minute=Minute +theme_xhred_global_minutes=Minutes diff --git a/lang/id b/lang/id new file mode 120000 index 000000000..27c70ec29 --- /dev/null +++ b/lang/id @@ -0,0 +1 @@ +id.UTF-8 \ No newline at end of file diff --git a/lang/id.UTF-8 b/lang/id.UTF-8 new file mode 100644 index 000000000..49a14e674 --- /dev/null +++ b/lang/id.UTF-8 @@ -0,0 +1,728 @@ +body_cp=CPU +body_cpu=Rata-rata beban CPU +body_cpuinfo=Informasi prosesor +body_cputemps=Suhu CPU +body_cputype=$5, $8 core +body_disk=Ruang disk lokal +body_driveerr=$1 error! +body_drivefailed=Pemeriksaan SMART gagal! +body_drivetemps=Suhu drive +body_firewall=Versi firewall +body_header0=Informasi Sistem +body_header1=Informasi akun +body_host=Nama host sistem +body_kernel=Kernel dan CPU +body_kernelon=$1 $2 pada $3 +body_load=$1 (1 men) $2 (5 men) $3 (15 men) +body_os=Sistem operasi +body_procs=Proses berjalan +body_real=Memori nyata +body_time=Waktu sistem +body_updates=Pembaruan paket +body_updays=$1 hari, $2 jam, $3 menit +body_uphours=$1 jam, $2 menit +body_upmins=$1 menit +body_upneed=$1 pembaruan paket tersedia +body_upneed1=$1 pembaruan paket tersedia +body_upok=Semua paket sudah yang paling baru +body_upsec=$1 pembaruan paket tersedia, $2 di antaranya merupakan pembaruan keamanan +body_upsec1=$1 pembaruan paket tersedia, $2 di antaranya merupakan pembaruan keamanan +body_upsec2=$1 pembaruan paket tersedia, $2 di antaranya merupakan pembaruan keamanan +body_upsec3=$1 pembaruan paket tersedia, $2 di antaranya merupakan pembaruan keamanan +body_uptime=Sistem uptime +body_used=$1 total / $2 digunakan +body_used_and_free=$1 total / $2 bebas / $3 digunakan +body_usermin=Versi Usermin +body_virt=Memori virtual +body_webmin=Versi Webmin + +left_favorites=Favorit +left_favorites_no=Belum ada item favorit yang ditambahkan... +left_feedback=Kirim umpan balik +left_home=Informasi sistem +left_others=Lainnya +left_refresh_modules=Muat ulang modul +left_search=Cari +left_statistics=Statistik Sistem + +login_danger=Bahaya! +login_message=Anda harus memasukkan nama pengguna dan kata sandi untuk masuk ke server +login_pass=Kata sandi +login_save=Ingat aku +login_signin=Masuk +login_success=Berhasil! +login_token=Token +login_user=Nama pengguna +login_warning=Peringatan! + +right_aliases=Server alias +right_bw=Penggunaan bandwidth dan batasan +right_dom=Nama server Anda +right_faliases=Alias surel +right_fdbs=Basisdata +right_fdoms=Virtual Servers +right_from=Masuk dari +right_fusers2=Pengguna FTP +right_fusers=Pengguna Mail/FTP +right_fvm2=Mesin Virtual +right_fweb=Website Virtual +right_licenceheader_vm2=Lisensi Cloudmin +right_login=Masuk sebagai +right_not=Belum terpasang +right_of=$1 dari $2 +right_quota=Penggunaan Disk dan kuota +right_reselip=(Pengecer $1) +right_sharedip=(IP bersama) +right_slcheck=Periksa ulang lisensi Cloudmin +right_subs=Sub-server +right_virtdocs2=Dokumentasi tambahan +right_virtualmin=Versi Virtualmin +right_vlcheck=Periksa ulang lisensi Virtualmin +right_vm2=Versi Cloudmin + +session_failed=Gagal masuk. Silakan coba lagi. +session_logout=Berhasil keluar. Gunakan formulir berikut untuk masuk kembali. +session_timed_out=Sesi berakhir setalah tidak aktif selama $1 menit. +session_twofailed=Otentikasi dua faktor gagal: $1 + + + + + + + + + + +settings_right_options=Pilihan +settings_right_restore_defaults=Pulihkan default +settings_right_restored=Dipulihkan +settings_right_restoring=Memulihkan +settings_right_saved=Tersimpan +settings_right_saving=Menyimpan + +settings_right_theme_extensions=Ekstensi tema +settings_right_theme_extensions_title=Ekstensi tema +settings_right_file_edit=Sunting berkas ekstensi: +settings_right_extensions_title=Desain ekstensi tema, memungkinkan Anda untuk memanipulasi bagian tertentu pada antarmuka dengan mudah. + +settings_right_theme_logos=Logo tema +settings_right_theme_logos_title=Logo tema +settings_right_logos_title=Logo tema dapat dengan mudah diatur di sini, untuk pengguna terotentikasi dan tidak terotentikasi. Ukuran logo direkomendasikan adalah 180x90 dan hanya format .png yang didukung, untuk menyediakan transparansi alpha. +settings_right_logo_authenticated_users=Logo untuk pengguna terotentikasi +settings_right_logo_unauthenticated_users=Logo untuk pengguna tidak terotentikasi + +settings_right_current_theme=Tema saat ini +settings_right_title=Halaman ini memungkinkan Anda untuk mengonfigurasi pilihan untuk Tema Authentic. Pengaturan aan disimpan saat tema diperbarui. +settings_right_theme_left_configuration_title=Konfigurasi Tema Authentic +settings_right_theme_left_extensions_title=Penyunting Esktensi Tema Authentic +settings_right_theme_left_logo_title=Kontrol Logo Tema Authentic +settings_right_theme_configurable_options_title=Pilihan yang dapat dikonfigurasi untuk tema Authentic + + +settings_right_window_options_title=Pilihan jendela +settings_right_navigation_menu_title=Pilihan menu navigasi +settings_right_table_options_title=Pilihan tabel +settings_security_title=Security Alerts options +settings_security_description=Peringatan keamanan memungkinkan Anda mengatur surel notifikasi ketuka terjadi suatu event. (Perintah mail pada Linux diperlukan agar fitur ini dapat bekerja)
    Format: Pesan|Judul|Daftar pengguna/surel dipisahkan dengan koma|Daftar IPv4/IPv6 yang diabaikan dipisahkan dengan koma
    Pengunaan: %3 peringatan berhasil masuk untuk pengguna %1 dari %2|%3 peringatan berhasil masuk|root,user@example.org|1.2.3.4,5.6.7.8
    Keluaran: Dari: root, Ke: root, Judul: Peringatan berhasil masuk Webmin, Pesan: Peringatan berhasil masuk Webmin untuk pengguna root ari 2.3.4.5 +settings_right_hotkey_options_title=Pilihan Hotkey +settings_right_sysinfo_page_options_title=Laman pilihan Informasi Sistem + +settings_right_hotkey_custom_options_description=Tautan khusus memungkinkan Anda untuk menggunakan digit antara 1 hingga 9 untuk mengakses dengan cepat URL Webmin/Usermin/Virtualmin/Cloudmin. URL dapat diambil dari konten frame laman yang sedang dibuka, dengan membaca sumbernya. URL tidak menggunakan garis miring di depannya dan tidak memilik awalan, ini penting. Misalnya, untuk berpindah ke Apache dengan cepat, atur field tautan khusus 1 dengan /apache/. Jika modifier hotkey default diatur ke Alt, dengan meng-klik Alt+1, akan membuka modul Apache Anda +settings_hotkey_custom_1=Tautan khusus 1 +settings_hotkey_custom_2=Tautan khusus 2 +settings_hotkey_custom_3=Tautan khusus 3 +settings_hotkey_custom_4=Tautan khusus 4 +settings_hotkey_custom_5=Tautan khusus 5 +settings_hotkey_custom_6=Tautan khusus 6 +settings_hotkey_custom_7=Tautan khusus 7 +settings_hotkey_custom_8=Tautan khusus 8 +settings_hotkey_custom_9=Tautan khusus 9 + +settings_navigation_color=Palet warna menu navigasi +settings_background_color=Palet warna laman konten +settings_animation_left=Aktifkan animasi pada menu navigasi +settings_animation_tabs=Aktifkan animasi pada tab +settings_loader_top=Aktifkan progress loader laman pada bagian atas layar +settings_loader_left=Aktifkan spinner untuk menu navigasi +settings_right_reload=Muat konten laman default +settings_right_reload_description=Ketika berpindah tab, konten laman frame kanan dimuat ulang. Jangan pertahankan frame kanan saat ini tetap terbuka dan muat ulang dengan default? + +settings_right_hide_table_icons=Sembunyikan tabel ikon untuk frame kanan +settings_right_hide_table_icons_description=Sepenuhnya hapus ikon dari tabel laman konten dan tampilkan tautan murni dengan chevron yang tepat +settings_right_small_table_icons=Ikon tabel kecil +settings_right_small_table_icons_description=Gantikan ikon tabel ukuran standar dengan yang kecil dan ikon tampilan link menggunakan tooltip +settings_right_animate_table_icons=Animasikan ikon tabel pada fokus +settings_right_grayscaled_table_icons=Abu-abu-kan ikon tabel dan hanya membawa warna pada fokus + +settings_right_iconize_header_links=Ganti tautan header tabel dengan ikon +settings_right_iconize_header_links_description=Pilih apakah akan mengganti gaya lama tautan tabel header dengan ikon atau tetap menggunakan gaya lama tautan teks + +settings_leftmenu_section_hide_refresh_modules=Sembunyikantautan modul refresh +settings_leftmenu_section_hide_unused_modules=Sembunyikan bagian modul yang tidak terpakai +settings_favorites=Tampilkan tombol favorit +settings_leftmenu_button_language=Tampilkan tombol bahasa +settings_leftmenu_button_refresh=Tampilkan tombol muat ulang + +settings_theme_options_button=Tampilkan tombol pengaturan tema + +settings_hotkeys_active=Aktifkan penggunaan hotkey +settings_hotkey_toggle_modifier=Pengubah hotkey +settings_hotkey_toggle_key_webmin=Hotkey untuk Webmin +settings_hotkey_toggle_key_virtualmin=Hotkey untuk Virtualmin +settings_hotkey_toggle_key_cloudmin=Hotkey untuk Cloudmin +settings_hotkey_toggle_key_usermin=Hotkey untuk Usermin +settings_hotkey_toggle_key_webmail=Hotkey untuk Mail +settings_hotkey_sysinfo=Hotkey untuk dashboard +settings_hotkey_shell=Hotkey untuk shell +settings_hotkey_favorites=Hotkey untuk favorit +settings_hotkey_focus_search=Hotkey untuk kotak pencarian +settings_hotkey_reload=Hotkey halaman yang dimuat ulang + +settings_side_slider_background_refresh_time=Kehabisan waktu untuk memperbarui informasi di latar belakang +settings_side_slider_background_refresh_time_description=Atur batasan waktu untuk memperbarui slider notifikasi pada panggilan di latar belakang. Nilai yang dimaksud adalah dalam menit. Waktu minimal yang direkomendasikan adalah 1 menit. Secara default ditetapkan 5 menit. Nilai desimal juga dapat digunakan. +settings_sysinfo_easypie_charts=Tampilkan grafik +settings_sysinfo_theme_updates=Periksa untuk pembaruan Tema Authentic +settings_sysinfo_csf_updates=Periksa untuk pembaruan ConfigServer Security & Firewall +settings_sysinfo_drive_status_on_new_line=Perlihatkan status CPU dan drives masing-masing pada tiap baris +settings_sysinfo_expand_all_accordions=Buat semua akordeon terkembang +settings_sysinfo_link_mini=Tampilkan tautan informasi sistem sebagai tombol + +settings_right_page_defaults_title=Halaman default +settings_right_default_tab_webmin=Tab default setelah masuk ke Webmin +settings_right_default_tab_usermin=Tab default setelah masuk ke Usermin +settings_right_virtualmin_default=Halaman default untuk Virtualmin +settings_right_cloudmin_default=Halaman default untuk Cloudmin + +settings_right_clear_local_cache=Kosongkan cache +settings_right_notification_slider_options_title=Pilihan slider samping +settings_side_slider_fixed=Pertahankan slider selalu terlihat +settings_side_slider_palette=Palet slider +settings_hotkey_toggle_slider=Hotkey untuk slider +settings_window_replace_timestamps=Aktifkan penggantian tanggal +settings_window_replaced_timestamp_format_short=Format tanggal/waktu pendek +settings_window_replaced_timestamp_format_full=format tanggal/waktu lengkap +settings_window_replaced_timestamps_options_description=Tweak pengaturan waktu/tanggal untuk mengatur keluaran yang diinginkan untuk menampilkan tanggal secara penuh atau pendek format. Pilihan built-in ini berpengaruh pada halama Pemberitahuan Slider dan Informasi Sistem (pada baris Waktu sistem). Secara default, format lengkap sama dengan LLLL dan singkatnya adalah L, LTS. Keluaran waktu berbeda untuk lokasi yang berbeda. Locale didasarkan pada pengaturan bahasa Webmin + +settings_side_slider_enabled=Aktifkan slider +settings_leftmenu_user_html=Tampilkan cuplikan HTML +settings_leftmenu_user_html_description=Teks yang ditetapkan pengguna atau kode HTML akan disuntikkan ke bagian bawah menu navigasi. Ini dapat digunakan untuk tujuan identifikasi. Misalnya, untuk membuat nama host Anda secara eksplisit, Anda dapat menambahkan kolom <br><kbd>hostname:10000</kbd> + + +theme_changelog=Catatan perubahan +theme_conference=Konferensi Tema +theme_development_support=Dukungan Pengembangan +theme_donate=Donasi +theme_download=Unduh +theme_name=Tema Authentic +theme_update=Pembaruan +theme_force_update=Paksa perbarui +theme_update_available=Rilis terkini yang tersedia +theme_update_notice=Pemberitahuan Pembaruan +theme_version=Versi tema + + +# Version 17.40 +theme_global_error=Kesalahan +theme_global_warning=Peringatan +theme_global_success=Sukses +theme_global_info=Informasi +sysinfo_system_status_warning=Agar Informasi Sistem ditampilkan, Anda harus mengaktifkan modul Status Sistem di pengaturan pengguna. +settings_leftmenu_user_html_only_for_administrator=Tampilkan cuplikan HTML hanya untuk administrator +theme_sysinfo_wmdocs=Dokumentasi Webmin +theme_sysinfo_vmdocs=Dokumentasi Virtualmin +theme_sysinfo_cmdocs=Dokumentasi Cloudmin +theme_fileformat_css=CSS +theme_fileformat_json=JSON +theme_fileformat_js=Javascript +theme_fileformat_plain_text=Teks polos + +theme_xhred_titles_wm=Webmin +theme_xhred_titles_um=Usermin +theme_xhred_titles_dashboard=Dasbor +theme_xhred_titles_mail=Surel +theme_xhred_titles_vm=Virtualmin +theme_xhred_titles_cm=Cloudmin +theme_xhred_titles_thirdlane=Thirdlane + +theme_xhred_global_please_wait=Harap tunggu... +theme_xhred_filemanager_copying_selected=Menyalin yang dipilih. +theme_xhred_filemanager_cutting_selected=Memotong yang dipilih. +theme_xhred_filemanager_pasting_selected=Menempelkan dari papan klip. +theme_xhred_filemanager_unpacking_archive=Membongkar berkas yang dipilih. +theme_xhred_filemanager_deleting_selected=Menghapus berkas yang dipilih. +theme_xhred_filemanager_renaming_selected=Mengganti nama berkas yang dipilih. +theme_xhred_filemanager_creating_directory=Membuat direktori +theme_xhred_filemanager_creating_file=Membuat berkas +theme_xhred_filemanager_downloading_from=Mengunduh dari +theme_xhred_filemanager_setting_permissions=Menyetel izin ke %value pada berkas yang dipilih. +theme_xhred_filemanager_changing_ownership=Mengganti kepemilikan %value pada berkas yang dipilih. +theme_xhred_filemanager_compressing_selected=Mengompres yang dipiliih di latar belakang. +theme_xhred_filemanager_refreshing=Menyegarkan konten direktori. +theme_xhred_filemanager_copying_successful=Berhasil menyalin ke papan klip. +theme_xhred_filemanager_cutting_successful=Berhasil memotong ke papan klip. +theme_xhred_filemanager_pasting_successful=Berhasil menempel dari papan klip. +theme_xhred_filemanager_bookmark_success=Direktori %value telah berhasil ditambahkan ke markah Anda. +theme_xhred_filemanager_searching=Mencari `%value` kecocokan nama berkas/direktori. +theme_xhred_filemanager_search_founds=Ditemukan kecocokan %value. +theme_xhred_filemanager_search_found=Ditemukan 1 kecocokan. +theme_xhred_filemanager_search_no_matches=Tidak ada yang ditemukan. +theme_xhred_filemanager_nothing_is_selected=Tidak ada yang dipilih! +theme_xhred_filemanager_saving_file=Berkas `%value` sedang didimpan. +theme_xhred_filemanager_file_saved=Berkas `%value` telah berhasil disimpan. +theme_xhred_filemanager_not_editable=Tidak dapat menyunting tipe yang dipilih. +theme_xhred_filemanager_not_decompressable=Tidak dapat membongkar jenis berkas ini. +theme_xhred_filemanager_no_selection_to_copy=Tidak ada direktori/berkas yang akan disalin. +theme_xhred_filemanager_no_selection_to_cut=Tidak ada direktori/berkas yang akan dipotong. +theme_xhred_filemanager_empty_clipboard=Papan klip kosong. + +theme_xhred_filemanager_successful_extraction=Ekstraksi berkas terpilih berhasil. +theme_xhred_filemanager_successful_deletion=Berhasil menghapus. +theme_xhred_filemanager_successful_permissions=Hak akses telah berhasil diubah. +theme_xhred_filemanager_successful_ownership=Kepemilikan telah berhasil diubah. +theme_xhred_filemanager_successful_compression=Kompresi telah berhasil. +theme_xhred_filemanager_successful_directory_creation=Direktori `%value` berhasil dibuat. +theme_xhred_filemanager_successful_file_creation=Berkas `%value` telah berhasil dibuat. + +theme_xhred_notifications_packages_updates=Pembaruan paket +theme_xhred_notifications_theme_update=Pembaruan Tema +theme_xhred_notifications_theme_update_message=Versi baru %v dari Tema Authentic tersedia. Silakan diperbarui. +theme_xhred_notifications_firewall_update=Pembaruan Firewall +theme_xhred_notifications_firewall_update_message=Versi terbaru %v dari ConfigServer Server Security and Firewall tersedia. Silakan diperbarui. + +theme_xhred_notifications_firewall_danger=Firewall Berbahaya +theme_xhred_notifications_firewall_danger_message=Sepertinya ConfigServer Server Security and Firewall tidak berjalan atau telah dihentikan! Jangan biarkan server Anda terpapar, periksa pengaturan firewall (%v) + +theme_xhred_notifications_firewall_warning=Peringatan Firewall + +#17.50 +settings_grayscale_level_navigation=Filter abu-abu +settings_grayscale_level_navigation_description=Nilai default/saat ini 0/0 +settings_sepia_level_navigation=Filter Sepia +settings_sepia_level_navigation_description=Nilai default/saat ini 0/0 +settings_saturate_level_navigation=Filter Saturasi +settings_saturate_level_navigation_description=Nilai default/saat ini 1/0 +settings_hue_level_navigation=Filter Hue-rotate +settings_hue_level_navigation_description=Nilai default/saat ini 0°/0° +settings_invert_level_navigation=Balikkan filter +settings_invert_level_navigation_description=Nilai default/saat ini 0/0 +settings_brightness_level_navigation=Filter kecerahan +settings_brightness_level_navigation_description=Nilai default/saat ini 1/0 +settings_contrast_level_navigation=Filter kontras +settings_contrast_level_navigation_description=Nilai default/saat ini 1/0 + +settings_grayscale_level_content=Filter abu-abu +settings_grayscale_level_content_description=Nilai default/saat ini 0/0 +settings_saturate_level_content=Filter Saturasi +settings_saturate_level_content_description=Nilai default/saat ini 1/0 +settings_hue_level_content=Filter Hue-rotate +settings_hue_level_content_description=Nilai default/saat ini 0°/0° + +settings_cm_view_palette=Penambil palet warna +settings_cm_editor_palette=Penyunting palet warna + +theme_xhred_filemanager_context_select_all=Pilih Semua +theme_xhred_filemanager_context_select_invert=Balikkan pilihan +theme_xhred_filemanager_context_refresh=Segarkan +theme_xhred_filemanager_context_newfile=Buat berkas baru +theme_xhred_filemanager_context_newfoder=Buat direktori baru +theme_xhred_filemanager_context_copy=Salin +theme_xhred_filemanager_context_cut=Potong +theme_xhred_filemanager_context_paste=Tempel +theme_xhred_filemanager_context_chmod=Ubah hak akses +theme_xhred_filemanager_context_chown=Ubah kepemilikan + +#17.51 +theme_xhred_filemanager_context_new=Baru +theme_xhred_filemanager_context_newarchive=Buat arsip baru +theme_xhred_filemanager_context_delete=Hapus +theme_xhred_filemanager_context_rename=Ganti nama +theme_xhred_filemanager_context_edit=Sunting +theme_xhred_filemanager_context_extract=Ekstrak +theme_xhred_filemanager_context_goto=Buka lokasi item +theme_xhred_filemanager_context_properties=Properti +theme_xhred_filemanager_context_search=Cari + +#17.52 +theme_xhred_filemanager_context_deselect_all=Batalkan semua pilihan +theme_xhred_filemanager_context_upload=Unggah ke direktori saat ini +theme_xhred_filemanager_context_download=Unduh dari URL + +#17.53 +theme_settings_virtualmin=Virtualmin Virtual Server +theme_settings_cloudmin=Cloudmin Managed Systems +settings_right_thirdparties_options_title=Pilihan modul pihak ketiga +theme_xhred_filemanager_context_calculate_size=Hitung ukuran spasi +theme_xhred_filemanager_context_bookmarks=Bookmarks +theme_xhred_filemanager_context_bookmark_current=Bookmark lokasi yang sedang dibuka +theme_xhred_filemanager_context_transfer=Kirim + +#17.54 +theme_xhred_filemanager_title_symlink_target=Target tautan + +#17.60 +right_unlimited=Tak terbatas +settings_leftmenu_width=Lebar yang lebih disuka +settings_leftmenu_width_description=Lebar default/saat ini 260/0 +settings_switch_rdisplay=Balikkan keluaran switch +settings_switch_rdisplay_description=Pilihan ini memungkinkan Anda mengatur urutan yang berbeda untuk tombol kiri atas. Setepah mengubah pilihan ini, muat ulang halaman secara lengkap, hal ini diperlukan untuk menerapkan pengaturan baru. + +#17.63 +theme_xhred_filemanager_context_calculate_selected_size=Hitung ukurang yang terpilih +theme_xhred_filemanager_selected_entries=Terpilih: %value entries +theme_xhred_filemanager_manual_path=Masukkan lokasi secara manual + +theme_xhred_datatable_semptytable=Data tidak tersedia di dalam tabel +theme_xhred_datatable_sinfo=Menampilkan _START_ ke _END_ dari _TOTAL_ entri +theme_xhred_datatable_sinfoempty=Menampilkan 0 ke 0 dari 0 entri +theme_xhred_datatable_slengthmenu=Tampilkan _MENU_ entri +theme_xhred_datatable_sloadingrecords=Memuat +theme_xhred_datatable_sprocessing=Memroses... +theme_xhred_datatable_szerorecords=Tidak ditemukan catatan yang cocok + +#17.64 +theme_xhred_filemanager_file_edit_but_not_saved=Berkas telah disunting namun belum disimpan. +theme_xhred_filemanager_file_edit_but_not_saved_what_to_do=Apa yang ingin Anda lakukan? +theme_xhred_global_save=Simpan +theme_xhred_global_save_and_close=Simpan dan Tutup +theme_xhred_global_close_without_saving=Tutup tanpa menyimpan +theme_xhred_global_continue_editing=Lanjutkan menyunting +theme_xhred_filemanager_context_download_file=Mengunduh + +#17.65 +settings_sysinfo_easypie_charts_width=Lebar grafik +settings_sysinfo_easypie_charts_scale=Skala panjang grafik + +#17.80 +right_return_theme_options=pilihan tema +theme_xhred_datatable_semptydirectory=Direktori kosong +theme_xhred_filemanager_context_clipboard=Salin lokasi ke papan klip +theme_xhred_global_warning=Peringatan +theme_xhred_global_close=Tutup +theme_xhred_encoding_warning=Anda terdeteksi menggunakan set karakter non-unicodem yang mana tidak disarankan. Karakter aneh  mungkin muncul dalam mode penyunting teks dan/atau masalah pengkodean lainnya yang akan terjadi.

    Ubah bahasa di Konfigurasi %prod ke %lang.UTF-8 dan pastikan, peramban Anda mendeteksi dengan benar.

    Perhatikan, bahwa modul built-in Webmin, dinamai Ubah Bahasa dan Tema dapat menggantikan pengaturan global.
    + +theme_xhred_filemanager__no_bookmarks=Tidak ada bookmarks tersimpan +theme_xhred_filemanager_unbookmark_success=Direktori %value telah berhasil dihapus dari bookmark Anda. +theme_xhred_filemanager_bookmark=Bookmark direktori saat ini +theme_xhred_filemanager_unbookmark=Hapus bookmark direktori saat ini +theme_xhred_filemanager_move_into_self=Anda tidak dapat memindahkan direktori ke dalam dirinya sendiri! Direktori tujuan ada di dalam direktori sumber. +theme_xhred_filemanager_pasting_and_copying_1=Sumber yang terpilih telah berhasil ditempel dengan nama baru. +theme_xhred_filemanager_pasting_and_copying_2=Sumber yang terpilih telah berhasil ditempel dengan nama baru. +theme_xhred_filemanager_pasting_and_replacing_1=Target yang ada telah berhasil diganti dengan yang baru. +theme_xhred_filemanager_pasting_and_replacing_2=Target yang ada telah berhasil diganti dengan yang beru. +theme_xhred_filemanager_target_conflict_1=Konflik target +theme_xhred_filemanager_target_conflict_2=Konflik target +theme_xhred_filemanager_target_conflict_message_1=Target yang ditempelkan sudah ada! Apa yang lebih suka Anda lakukan? +theme_xhred_filemanager_target_conflict_message_2=Target yang ditempelkan sudah ada! Apa yang lebih suka Anda lakukan? +theme_xhred_filemanager_target_conflict_replace=Gabungkan dan ganti +theme_xhred_filemanager_target_conflict_paste=Tempelkan dengan nama baru + +theme_xhred_editor_help_title=Penyunting Pintasan Keyboard +theme_xhred_editor_help_content=
    Cari/Ganti
    Tombol ditekan Perintah
    Ctrl + F Cari
    Ctrl + H Ganti
    Ctrl + ⇧ + R Ganti semua
    Ctrl + G Cari berikutnya
    Ctrl + ⇧ + G Cari sebelumnya
    Alt + G Lompat ke baris
    Manipulasi teks
    Tombol ditekan Perintah
    Ctrl + KU Ubah ke huruf besar
    Ctrl + KL Ubah ke huruf kecil
    Menyunting
    Tombol ditekan Perintah
    Ctrl + Spasi Aktifkan pelengkapan otomatis
    Ctrl + X Potong baris
    Ctrl + ⇧ + ↑ Pindah baris/Seleksi atas
    Ctrl + ⇧ + ↓ Pindah baris/seleksi bawah
    Ctrl + L Seleksi baris - Ulangi untuk memilih baris berikutnya
    Ctrl + D Seleksi kata - Ulangi pilih kejadian lainnya
    Ctrl + M Langsung ke tanda kurung tutup. Ulangiuntuk melompat ke tanda kurung pembukaan
    Ctrl + ⇧ + M Pilih semua isi dari tanda kurung saat ini
    Ctrl + ⇧ + K Hapus baris
    Ctrl + KK Hapus dari kursor ke ujung baris
    Ctrl + K + Backspace Hapus dari kursor ke awal baris
    Ctrl + ⇧ + D Gandakan baris
    Ctrl + J Gabungkan bari bawah ke akhir baris saat ini
    Ctrl + / Beri komentar/hapus komentar di baris saat ini
    Ctrl + ⇧ + / Blok komentar yang sedang dipilih
    Ctrl + Y Redo, atau ulangi perintah pintasan keyboard terakhir
    Ctrl + ⇧ + V Tempel dan indentasi dengan benar
    Ctrl + Space Pilih saran pelengkapan otomatis berikutnya
    Ctrl + U Undo lembut; Melompat ke perubahan terakir Anda sebelum mengganti perubahan saat diulang
    + +theme_xhred_filemanager_hide_toolbar=Sembunyikan toolbar +theme_xhred_filemanager_hide_actions=Sembunyikan kolom aksi +theme_xhred_filemanager_hovered_toolbar=Aktifkan dropdown pada toolbar pada saat mouse hover +theme_xhred_filemanager_context_delete_selected=Hapus yang dipilih + +#17.83 +theme_xhred_database_adding_new_row=Menambahkan baris baru +theme_xhred_database_editing_row=Menyunting baris terpilih +theme_xhred_database_editing_rows=Menyunting baris terpilih +theme_xhred_database_adding_new_row_data=Atur data + +#17.84 +theme_xhred_datatable_filter=Saring + +theme_xhred_global_update=Perbarui +theme_xhred_global_update_and_return=Perbarui dan kembali +theme_xhred_global_update_and_close=Perbarui dan tutup +theme_xhred_global_back=Kembali +theme_xhred_global_cancel=Batal + +theme_xhred_database_add_row_successful=Baris baru telah berhasil ditambahkan +theme_xhred_database_edit_row_successful=Baris terpilih telah berhasil diperbarui +theme_xhred_database_edit_rows_successful=Baris terpilih telah berhasil diperbarui +theme_xhred_database_edit_row_delete_successful=Baris terpilih telah berhasil dihapus +theme_xhred_database_edit_rows_delete_successful=Berhasil menghapus baris terpilih %n +theme_xhred_database_edit_field_delete_successful=Field terpilih telah berhasil dihapus +theme_xhred_database_edit_fields_delete_successful=Berhasil menghapus baris terpilih %n +theme_xhred_database_edit_selected_row=Menyunting baris terpilih +theme_xhred_database_edit_selected_rows=Menyunting baris terpilih +theme_xhred_database_add_new_row=Tambahkan baris +theme_xhred_database_delete_selected_row=Hapus baris terpilih +theme_xhred_database_delete_selected_rows=Hapus baris terpilih +theme_xhred_database_delete_selected_field=Hapus field terpilih +theme_xhred_database_delete_selected_fields=Hapus field terpilih +theme_xhred_database_object_selected_delete=Hapus objek terpilih +theme_xhred_database_objects_selected_delete=Hapus objek terpilih +theme_xhred_database_db_selected_drop=Buang basisdata terpilih +theme_xhred_database_dbs_selected_drop=Buang basisdata terpilih +theme_xhred_database_edit_but_not_saved=Data tabel telah disunting namun tidak disimpan. + +theme_xhred_global_no_such_command=Tampaknya %cmd yang dapat dieksekusi tidak terinstal atau tidak dijalankan pada sistem. + +theme_xhred_global_notice=Pemberitahuan + +theme_xhred_updates_disabled_notice=Anda yakin tidak mengaktifkan pemberitahuan untuk pembaruan Tema Authentic?

    Mengaktifkan fitur ini di Konfigurasi Tema akan membantu Anda memperbaharui ke versi terbaru dalam satu klik segera setelah keluar. + + +#18.00 +theme_xhred_global_file=Berkas +theme_xhred_global_directory=Direktori +theme_xhred_global_no_target=Target tidak ada atau tidak dapat diakses +theme_xhred_global_error_code=Kode error +theme_xhred_global_on=Hidup +theme_xhred_global_off=Mati +theme_xhred_global_all=Semua +theme_xhred_global_none=Tidak ada +theme_xhred_global_yes=Ya +theme_xhred_global_no=Tidak + +theme_xhred_filemanager_new_tab=Tambahkan Tab Baru (Ctrl+Space) +theme_xhred_datatable_no_search_results=Tidak menemukan hasil
    Coba pencarian lain + +theme_xhred_filemanager_buffer_error=Gagal menyisipkan ke buffer - izin ditolak. + +filemanager_create_object_exists=$3 `$1` sudah ada di `$2` +filemanager_create_object_denied=Tidak dapat membuat $3 `$1` di `$2` - izin ditolak. + +filemanager_paste_warning=Tidak dapat menyisipkan ke target. Ada kemungkinan bahwa objek yang diminta bisa saja diganti diganti namanya, dipindahkan atau dihapus saat/sebelum menempelkan. Penyebab lain yang mungkin adalah bahwa tujuan tidak dapat ditulis. Mungkin sebaiknya periksa atribut objek tersebut. + +theme_xhred_filemanager_delete_warning=Penghapusan telahberhasil dilakukan namun tidak untuk semua objek. Ada kemungkinan bahwa objjek yang diminta bisa saja diganti nama atau dipindah sebelum dihapus. Izin yang dibatasi (atribut) adalah kemungkinan penyebab lainnya. Pesan kesalahan: + + +filemanager_rename_exists=$3 dengan nama `$1` telah ada di `$2` +filemanager_rename_denied=Tidak dapat mengganti nama $3. Ini mungkin terjadi karena sumber $3 telah dihapus atau karena izin yang dibatasi. + +theme_xhred_filemanager_successful_rename=Telah berhasil mengganti nama `%from` ke `%to`. + +filemanager_global_info_total1=Total: $1 berkas dan $2 direktori +filemanager_global_info_total2=Total: $1 berkas dan $2 direktori +filemanager_global_info_total3=Total: $1 berkas dan $2 direktori +filemanager_global_info_total4=Total: $1 berkas dan $2 direktori + +theme_xhred_filemanager_selected_entry=Dipilih: entri %value + +theme_xhred_filemanager_search_query=Query mask +theme_xhred_filemanager_search_match=Temukan dalam hasil +theme_xhred_filemanager_search_replace=Ganti dalam hasil + +theme_xhred_global_find=Cari +theme_xhred_global_replace=Ganti + +theme_xhred_filemanager_searching_matching=Pencarian untuk `%value` berkas/direktori yang cocok, berisi teks `%text`. +theme_xhred_filemanager_searching_replacing=Mengganti `%text` yang cocok dengan `%replace` dalam berkas yang mengandung `%value`. + +theme_xhred_filemanager_search_replaced_multi=Ditemukan dan diganti dengan berkas %value. +theme_xhred_filemanager_search_replaced=Ditemukan dan diganti dengan 1 berkas. + +theme_xhred_filemanager_successful_permissions_with_errors=Izin telah berhasil diubah namun tidak untuk semua objek: + +theme_xhred_filemanager_successful_ownership_with_errors=Kepemilikan belum berhasil diubah untuk semua objek: +theme_xhred_filemanager_successful_ownership_with_errors_fatal=Kepemilikan belum dapat diubah karena kesalahan berikut: + +theme_xhred_filemanager_successful_compression_with_errors=Kompresi telah berhasil dengan kesalahan berikut: +theme_xhred_filemanager_successful_compression_bg=Kompresi telah selesai. Berkas terkompresi `%file terletak di direktori `%path`. +theme_xhred_filemanager_successful_compression_bg_with_errors=Kompresi telah selesai dengan kesalahan. Berkas terkompresi `%file seharusnya terletak di direktori `%path`. + +theme_xhred_filemanager_settings_notification_type=Tipe notifikasi untuk ditampilkan +theme_xhred_filemanager_settings_notification_type_inf_warn_err=Informasi, peringatan dan kesalahan +theme_xhred_filemanager_settings_notification_type_warn_err=Peringatan dan kesalahan +theme_xhred_filemanager_settings_notification_type_err=Hanya kesalahan + +theme_xhred_filemanager_settings_tabs_remember_state=Pulihkan tab sebelumnya yang digunakan pada saat pertama kali dimuat +theme_xhred_filemanager_context_open_new_tab=Buka di tab baru + +theme_xhred_xsql_fit_content_screen_height=Cocokkan isi tabel basisdata di tinggi layar + +theme_xhred_datatable_filter_visible_tables=Saring Tabel Terlihat +theme_xhred_module_help=Bantuan Modul + +theme_xhred_server_process_running=Proses server masih berjalan!? Apakah Anda yakin ingin menavigasi dan tidak memiliki akses ke informasi keluaran? Bahkan jika Anda pergii sekarang prosesnya tidak akan dihentikan. + + +#18.03 +settings_global_options_title=Pilihan Global +settings_global_passgen_format=Generator kata sandi +settings_global_passgen_format_description=Tetapkan panjang dan jenis karakter yang digunakan dalam kata kunci yang dihasilkan. Nilai pertama adalah numerik, yaitu panjang kata sandi, diikuti oleh | sebagai pembatas. Selanjutnya adalah tipe, di mana Anda dapat menggunakan angka 0-9, huruf a-z dan/atau A-Z, dan karakter khusus #. Semua rangkaian ini dapat digunakan bersama atau secara individu, menggunakan koma sebagai pembatas. Nilai default sama dengan 12|a-z,A-Z,0-9,#, yang mewakili kata sandi dengan panjang 12 karakter, berrisi huruf besar, kecil, angka dan karakter khusus. +theme_xhred_password_generator_new=Ciptakan kata sandi baru
    (Ke Papan Klip) +theme_xhred_password_generator_new_success=Kata sandi %password yang baru diciptakan telah berhasil disalin ke papan klip. + + +#18.08 +theme_fileformat_perl=Perl +theme_fileformat_perl_placeholder=Berkas ini harus diakhiri dengan `1;` agar dapat bekerja dengan baik. + + +#18.10 +theme_error_access_not_root=Izin ditolak: Pengguna perlu mengakses modul Konfigurasi Webmin untuk menyunting konfigurasi tema + + +#18.20 +settings_hide_top_loader=Sembunyikan pita kemajuan di atas dan loadernya + + +#18.30 +settings_leftmenu_vm_cm_dropdown_icons=Tampilkan ikon simbolis pada drop-down di Virtualmin/Cloudmin +settings_font_family=Keluarga fonta +settings_font_family_description=Di antara semua varian 'fonta' yang ditampilkan Roboto dibawa oleh tema dan ditetapkan sebagai default. Fonta lainnya harus dipasang di komputer lokal agar dapat bekerja. Dengan menggunakan fonta lokal, yang default tidak dimuat, yang akan menghasilkan beban tema yang lebih cepat +theme_xhred_global_shipped=Dibawa +theme_xhred_global_available=Tersedia +theme_xhred_global_not_available=Tidak tersedia +theme_xhred_global_default=Default +theme_xhred_global_system_default=Default Sistem +theme_xhred_global_local_system_default=Default lokal sistem +theme_xhred_global_stats=Statistik +theme_xhred_global_notifications=Pemberitahuan +theme_xhred_global_favorites=Kesukaan +theme_xhred_global_cpu_load=CPU load +theme_xhred_notification_none=Tanpa pemberitahuan +theme_xhred_notification_no_data=Tidak ada data yang dikoleksi +theme_xhred_notification_no_favorites=Tidak ada data kesukaan +theme_xhred_global_theme_version=Versi Tema + +settings_side_slider_sysinfo_enabled=Tampilkan tab dashboard +settings_side_slider_notifications_enabled=Tampilkan tab pemberitahuan +settings_side_slider_favorites_enabled=Tampilkan tab kesukaan +settings_show_terminal_link=Tampilkan tombol terminal + +theme_xhred_sysinfo_system_monitors=Monitor Sistem +theme_xhred_sysinfo_server_status=Status Peladen +theme_xhred_sysinfo_software_versions=Versi Perangkat Lunak +theme_xhred_sysinfo_recent_logins=Masuk Terbaru +theme_xhred_sysinfo_vm_package_updates=Pembaruan Paket Virtualmin +theme_xhred_sysinfo_disk_quotas=Kuota Disk +theme_xhred_sysinfo_bandwidth_quotas=Kuota Banwidth + +left_netdata=Pemantauan Realtime +settings_leftmenu_netdata=Tampilkan tautan pemantauan realtime Netdata +settings_leftmenu_netdata_link=Tautan pilihan server Netdata + +theme_xhred_filemanager_context_chattr=Ubah atribut +theme_xhred_filemanager_changing_attributes=Menetapkan atribut ke %value pada berkas yang dipilih. +theme_xhred_filemanager_successful_attributes_with_errors=Atribut belum berhasil dibuat untuk semua objek: +theme_xhred_filemanager_successful_attributes=Atribut telah berhasil ditetapkan. + +theme_xhred_filemanager_context_chcon=Ubah konteks keamanan +theme_xhred_filemanager_changing_secontext=Mengubah konteks keamanan menjadi %value pada berkas terpilih. +theme_xhred_filemanager_successful_secontext_with_errors=Konteks keamanan belum berhasil diubah untuk semua objek: +theme_xhred_filemanager_successful_secontext=Konteks keamanan telah berhasil diubah. + +theme_xhred_global_no_results_found=Tidak ada hasil yang ditemukan + + +#18.40 +theme_new_password_header=Atur kata sandi baru untuk pengguna +settings_sysinfo_theme_beta_updates=Sertakan versi beta +login_reset=Pemulihan kata sandi +theme_xhred_move_top=Pindahkan ke atas +theme_xhred_move_bottom=Pindahkan ke bawah +theme_xhred_move_up=Naikkan +theme_xhred_move_down=Turunkan +theme_xhred_add_after=Tambahkan setelah +theme_xhred_add_before=Tambahkan sebelumnya +settings_button_tooltip=Tampilkan tooltip pada tombol +settings_show_night_mode_link=Tampilkan palet toggle +settings_hotkey_toggle_key_night_mode=Hotkey palet untuk beralih gelap/terang +settings_title=Konfigurasi Tema +settings_subtitle=Untuk pengguna + +theme_tooltip_night_mode=Beralih mode Siang/malam +theme_tooltip_terminal_link=Terminal +theme_tooltip_language_link=Bahasa +theme_tooltip_switch_user=Berganti pengguna +theme_tooltip_logout=Keluar +theme_tooltip_edit_user=Sunting pengguna + + +#18.45 +settings_sysinfo_easypie_charts_size=Diameter grafik +theme_xhred_global_choose=Pilih +theme_xhred_global_select=Pilih +theme_xhred_global_ok=OK +settings_sysinfo_theme_patched_updates=Termasuk versi pathc +settings_sysinfo_theme_updates_description=Agar opsi ini berhasil, perintah git harus diinstall di sistem Anda +theme_git_patch_available=Patch terbaru yang tersedia +theme_git_patch_no_git_message=Untuk menginstal path terbaru langsung dari GitHub Anda harus memastikan bahwa perintah git terinstall. +theme_git_patch_update_success_message=Pembaruan tema untuk Webmin berhasil. Versi yang terinstall saat ini $1. Memuat ulang... +theme_git_patch_update_success_message2=Pembaruan tema untuk Webmin dan Usermin telah berhasil. Versi yang terinstall saat ini $1. Memuat ulang... +theme_xhred_git_patch_update=Pembaruan tema gagal. Coba gunakan konsol untuk melakukannya secara manual. +theme_xhred_git_patch_initiated=Pembaruan tema telah diinisiasi. +theme_xhred_global_prev_page=Kembali satu halaman +theme_xhred_global_help=Bantuan +settings_right_soft_updates_page_options_title=Pembaruan perangkat lunak +theme_xhred_git_compare_changes=Bandingkan perubahan +theme_xhred_filemanager_link_to_clipboard=Nama tautan simbolis `%value` telah disalin ke papan klip. + + +#18.46 +theme_left_mail_prefs=Preferensi Surel +theme_left_mail_change_password=Ubah Kata sandi +theme_left_mail_account_functions=Fungsi Akun +theme_xhred_global_dir_up=Kembali ke direktori sebelumnya (Backspace) +theme_xhred_global_module_config=Konfigurasi Modul +theme_xhred_global_return=Kembali +theme_xhred_global_return_to_module_index=Kembali ke indeks modul + + +#18.47 +settings_account_info_link_mini=Tampilkan tautan informasi akun sebagai tombol +theme_xhred_global_complete_changelog=Catatan perubahan lengkap +theme_xhred_global_beta_version=Versi Beta +theme_xhred_global_release=Rilis +theme_xhred_global_released_on=Dirilis pada +theme_xhred_global_committed_on=Dikomit pada +theme_xhred_global_resolved_issues=Isu terselesaikan dalam rilis %value + + +#18.48 +theme_force_upgrade=Paksa pembaruan tema +theme_force_upgrade_beta=Install versi pengembangan terbaru (beta) +theme_force_upgrade_stable=Install versi rilis terkini (stabil) +theme_xhred_source_encoding=Sumber encoding +theme_update_footer=Mohon melaporkan bug ke repositori $1. Ikuti kanal tema $2 untuk pembaruan terkini. +theme_xhred_encoding_manually_set=Atur encoding secara manual +theme_xhred_filemanager_save_to_change_encoding=Berkas harus disimpan, agar encoding dapat diubah. + + +#18.49 +theme_xhred_filemanager_user_switch=Beralih ke pengguna (Ctrl+M) +theme_xhred_filemanager_user_switch_description=Dengan memilih nama pengguna yang tercantum di bawah ini, Anda akan beralih operasi lebih lanjut untuk dilakukan sebagai pengguna ini. +theme_xhred_filemanager_user_switch_description_back=Untuk kembali ke mode default pilih opsi pertama yang dipilih. +theme_xhred_filemanager_user_switch_current_user=Pengguna saat ini +theme_xhred_filemanager_user_switch_option=Secara otomatis beralih ke mode pengguna saat masuk ke direktori home +theme_xhred_filemanager_editor_align_panels_horizontally=Ratakan panel secara horizontal +theme_xhred_filemanager_editor_align_panels_vertically=Ratakan panel secara vertikal +theme_xhred_filemanager_editor_toggle_soft_wrap=Beralih Lipatan Lembut +theme_xhred_filemanager_editor_refresh_content=Segarkan ulang Konten +theme_xhred_filemanager_save_to_refresh_content=Berkas harus disimpan, agar kontennya dapat disegarkan. +theme_xhred_filemanager_save_to_refresh_content_proc=Menyegarkan konten berkas +theme_xhred_global_dark=Gelap +theme_xhred_global_light=Cerah +theme_xhred_global_minimize=Minimalkan +theme_xhred_global_maximize=Maksimalkan +theme_xhred_global_normalize=Normalkan +theme_xhred_global_set_encoding=Atur encoding + + +#19.00 +theme_xhred_sysinfo_update_start=System information is being recollected. +theme_xhred_sysinfo_update_end=System information has been recollected successfully. +theme_xhred_sysinfo_update_failed=System information can't be recollected. Try again later. + +theme_xhred_global_development_version=Development version + +right_vm_server_summary=Virtual Server Summary + +settings_webmin_default_module=Default module for Webmin + +theme_xhred_global_unbeforeunload_title=Changes you made may not be saved +theme_xhred_global_unbeforeunload_message=If you continue, unsaved changes on this page could be permanently lost. +theme_xhred_global_continue=Continue + +theme_xhred_global_automatic_refresh=Automatic refresh +theme_xhred_global_second=Second +theme_xhred_global_seconds=Seconds +theme_xhred_global_minute=Minute +theme_xhred_global_minutes=Minutes diff --git a/lang/it b/lang/it new file mode 120000 index 000000000..1461d2855 --- /dev/null +++ b/lang/it @@ -0,0 +1 @@ +it.UTF-8 \ No newline at end of file diff --git a/lang/it.UTF-8 b/lang/it.UTF-8 new file mode 100644 index 000000000..b57ffc0bb --- /dev/null +++ b/lang/it.UTF-8 @@ -0,0 +1,726 @@ +body_cp=CPU +body_cpu=Carico medio su CPU +body_cpuinfo=Informazioni CPU +body_cputemps=Temperature CPU +body_cputype=$5, $8 core +body_disk=Spazio disco locale +body_driveerr=$1 errori! +body_drivefailed=Controllo SMART fallito! +body_drivetemps=Temperature dischi +body_firewall=Versione Firewall +body_header0=Informazioni di Sistema +body_header1=Informazioni Account +body_host=Nome Host di Sistema +body_kernel=Kernel +body_kernelon=$1 $2 su $3 +body_load=$1 (1 minuto) $2 (5 minuti) $3 (15 minuti) +body_os=Sistema Operativo +body_procs=Processi in esecuzione +body_real=Memoria reale +body_time=Ora di Sistema +body_updates=Aggiornamenti pacchetto +body_updays=$1 giorni, $2 ore, $3 minuti +body_uphours=$1 ore, $2 minuti +body_upmins=$1 minuti +body_upneed=$1 aggiornamenti di pacchetto sono disponibili +body_upneed1=$1 package update is available +body_upok=Tutti i pacchetti installati sono aggiornati +body_upsec=$1 aggiornamenti di pacchetto sono disponibili, dei quali $2 sono aggiornamenti di sicurezza +body_upsec1=$1 package updates are available, of which $2 is security update +body_upsec2=$1 package update is available, of which $2 are security updates +body_upsec3=$1 package update is available, of which $2 is security update +body_uptime=Uptime di Sistema +body_used=$1 totale / $2 usato +body_used_and_free=$1 totale / $2 libero / $3 usato +body_usermin=Versione Usermin +body_virt=Memoria virtuale +body_webmin=Versione Webmin + +left_favorites=Favorites +left_favorites_no=There were no favorites added yet... +left_feedback=Invia Feedback +left_home=Informazioni di Sistema +left_others=Altri +left_refresh_modules=Resetta moduli +left_search=Cerca +left_statistics=Statistiche di sistema + +login_danger=Pericolo! +login_message=Devi inserire nome utente e password per effettuare il login +login_pass=Password +login_reset=Reimposta +login_save=Ricordami +login_signin=Entra +login_success=Successo! +login_token=Token +login_user=Nome Utente +login_warning=Attenzione! + +right_aliases=Alias server +right_bw=Utilizzo e limite della larghezza di banda +right_dom=Il tuo nome server +right_faliases=Alias mail +right_fdbs=Basi di dati +right_fdoms=Server Virtuali +right_from=Loggato da +right_fusers2=Utenti FTP +right_fusers=Utenti Mail/FTP +right_fvm2=Macchine Virtuali +right_fweb=Siti Web Virtuali +right_licenceheader_vm2=Licenze Cloudmin +right_login=Loggato come +right_not=Non installato +right_of=$1 su $2 +right_quota=Quota ed utilizzo disco +right_reselip=(Rivenditore $1) +right_sharedip=(IP condiviso) +right_slcheck=Ri-controlla licenza Cloudmin +right_subs=Sotto-servers +right_virtdocs2=Documentazione aggiuntiva +right_virtualmin=Versione Virtualmin +right_vlcheck=Ri-controlla licenza Virtualmin +right_vm2=Versione Cloudmin + +session_failed=Login fallito. Per favore prova di nuovo. +session_logout=Logout riuscito. Usa il form di seguito per loggarti di nuovo. +session_timed_out=Sessione scaduta dopo $1 minuti di inattivitĂ . +session_twofailed=Autenticazione a due fattori fallita: $1 + + + + + + + + + + +settings_right_options=Options +settings_right_restore_defaults=Restore defaults +settings_right_restored=Restored +settings_right_restoring=Restoring +settings_right_saved=Saved +settings_right_saving=Saving + +settings_right_theme_extensions=Theme extensions +settings_right_theme_extensions_title=Theme Extensions +settings_right_file_edit=Edit extension file: +settings_right_extensions_title=Theme extensive design, enables you easily manipulate on targeted parts of the interface. + +settings_right_theme_logos=Theme logos +settings_right_theme_logos_title=Theme Logos +settings_right_logos_title=Theme logos can be easily set here, for both, authenticated and unauthenticated users. Recommended logo size is 180x90 pixels and the only supported format is .png, to provide alpha transparency. +settings_right_logo_authenticated_users=Logo for authenticated users +settings_right_logo_unauthenticated_users=Logo for unauthenticated users + +settings_right_current_theme=Current theme +settings_right_title=This page allows you to configure options for Authentic Theme. Settings will be stored upon theme update. +settings_right_theme_left_configuration_title=Authentic Theme Configuration +settings_right_theme_left_extensions_title=Authentic Theme Extensions Editor +settings_right_theme_left_logo_title=Authentic Theme Logo Control +settings_right_theme_configurable_options_title=Configurable options for Authentic Theme + + +settings_right_window_options_title=Window options +settings_right_navigation_menu_title=Navigation menu options +settings_right_table_options_title=Table options +settings_security_title=Security Alerts options +settings_security_description=Security alerts will let you setup email notifications upon certain events.
    Format: Message|Subject|Comma separated list of users/emails|Comma separated list of ignored IPv4/IPv6
    Usage: %3 successful login alert for user %1 from %2|%3 successful login alert|root,user@example.org|1.2.3.4,5.6.7.8
    Output: From: root, To: root, Subject: Webmin successful login alert, Message: Webmin successful login alert for user root from 2.3.4.5 +settings_right_hotkey_options_title=Hotkey options +settings_right_sysinfo_page_options_title=System Information page options + +settings_right_hotkey_custom_options_description=Custom links enable you to use digits from 1 to 9 in order to quick-access any valid Webmin/Usermin/Virtualmin/Cloudmin URL. The URL can be extracted from the currently opened right frame content page, by reading its source. It's important that URL has no slash at the beginning and doesn't use prefixes. For example, to quick-switch to Apache, set to custom link 1 field /apache/. If the default hotkeys modifier set to Alt, clicking Alt+1, will open you Apache module. +settings_hotkey_custom_1=Custom link 1 +settings_hotkey_custom_2=Custom link 2 +settings_hotkey_custom_3=Custom link 3 +settings_hotkey_custom_4=Custom link 4 +settings_hotkey_custom_5=Custom link 5 +settings_hotkey_custom_6=Custom link 6 +settings_hotkey_custom_7=Custom link 7 +settings_hotkey_custom_8=Custom link 8 +settings_hotkey_custom_9=Custom link 9 + +settings_navigation_color=Navigation menu color palette +settings_background_color=Content page color palette +settings_animation_left=Enable animation in navigation menu +settings_animation_tabs=Enable animation in tabs +settings_loader_top=Enable page progress loader on top of the screen +settings_loader_left=Enable spinner for navigation menu +settings_right_reload=Load default content page +settings_right_reload_description=When switching tabs, right frame content page is reloaded. Do not keep currently opened right frame content page and reload with default? + +settings_right_hide_table_icons=Hide table icons for the right frame +settings_right_hide_table_icons_description=Completely remove icons from the content page tables and display plain links with right chevron +settings_right_small_table_icons=Small table icons +settings_right_small_table_icons_description=Substitute standard size table icons with small ones and display icons link using tooltip +settings_right_animate_table_icons=Animate table icons on focus +settings_right_grayscaled_table_icons=Grayscale table icons and bring color on focus only + +settings_leftmenu_section_hide_refresh_modules=Hide Refresh Modules link +settings_leftmenu_section_hide_unused_modules=Hide Unused Modules link +settings_favorites=Show favorites button +settings_leftmenu_button_language=Show language button +settings_leftmenu_button_refresh=Show refresh button + +settings_theme_options_button=Show theme settings button + +settings_hotkeys_active=Enable hotkeys usage +settings_hotkey_toggle_modifier=Hotkeys modifier +settings_hotkey_toggle_key_webmin=Hotkey for Webmin +settings_hotkey_toggle_key_virtualmin=Hotkey for Virtualmin +settings_hotkey_toggle_key_cloudmin=Hotkey for Cloudmin +settings_hotkey_toggle_key_usermin=Hotkey for Usermin +settings_hotkey_toggle_key_webmail=Hotkey for Mail +settings_hotkey_sysinfo=Hotkey for dashboard +settings_hotkey_shell=Hotkey for terminal +settings_hotkey_favorites=Hotkey for favorites +settings_hotkey_focus_search=Hotkey for search field +settings_hotkey_reload=Hotkey for page reload + +settings_side_slider_background_refresh_time=Timeout for background information update +settings_side_slider_background_refresh_time_description=Set desired timeout for updating notification slider in background calls. The value meant to be in minutes. Minimum recommended value is 1 minute. Default is set to 5 minutes. Decimal values can also be used. +settings_sysinfo_easypie_charts=Show charts +settings_sysinfo_theme_updates=Check for Authentic Theme updates +settings_sysinfo_csf_updates=Check for ConfigServer Security & Firewall updates +settings_sysinfo_drive_status_on_new_line=Show CPU and drives status each on new line +settings_sysinfo_expand_all_accordions=Make all accordions expanded +settings_sysinfo_link_mini=Show system information link as button + +settings_right_page_defaults_title=Default pages +settings_right_default_tab_webmin=Default tab after logging in to Webmin +settings_right_default_tab_usermin=Default tab after logging in to Usermin +settings_right_virtualmin_default=Default page for Virtualmin +settings_right_cloudmin_default=Default page for Cloudmin + +settings_right_clear_local_cache=Clear cache +settings_right_notification_slider_options_title=Side slider options +settings_side_slider_fixed=Keep slider always visible +settings_side_slider_palette=Slider palette +settings_hotkey_toggle_slider=Hotkey for slider +settings_window_replace_timestamps=Enable dates substitutions +settings_window_replaced_timestamp_format_short=Short date/time format +settings_window_replaced_timestamp_format_full=Full date/time format +settings_window_replaced_timestamps_options_description=Tweak date/time settings to set desired output for displaying dates in full or short format. In-built this option has effect in Notification Slider and System Information page (on the row Time on system). By default, full format equals to LLLL and short is L, LTS. The time output is different for different locales. Locale is based on Webmin language settings. + +settings_side_slider_enabled=Enable slider +settings_leftmenu_user_html=Show HTML snippet +settings_leftmenu_user_html_description=User defined text or HTML code will be injected to the bottom of the navigation menu. It can be used for identification purposes. For example, to make explicitly show your hostname, you could add to the field <br><kbd>hostname:10000</kbd> + + +theme_changelog=Note di rilascio +theme_conference=Theme Conference +theme_development_support=Supporto per lo sviluppo +theme_donate=Donazione +theme_download=Scarica +theme_name=Authentic Tema +theme_update=Aggiorna +theme_update_available=Ultima versione disponibile +theme_update_notice=Nota di aggiornamento +theme_version=Versione Tema + + +# Version 17.40 +theme_global_error=Error +theme_global_warning=Warning +theme_global_success=Success +theme_global_info=Information +sysinfo_system_status_warning=In order to have System Information displayed you will need to enable System Status module in user settings. +settings_leftmenu_user_html_only_for_administrator=Show HTML snippet for administrators only +theme_sysinfo_wmdocs=Webmin documentation +theme_sysinfo_vmdocs=Virtualmin documentation +theme_sysinfo_cmdocs=Cloudmin documentation +theme_fileformat_css=CSS +theme_fileformat_json=JSON +theme_fileformat_js=Javascript +theme_fileformat_plain_text=Plain Text + +theme_xhred_titles_wm=Webmin +theme_xhred_titles_um=Usermin +theme_xhred_titles_dashboard=Dashboard +theme_xhred_titles_mail=Mail +theme_xhred_titles_vm=Virtualmin +theme_xhred_titles_cm=Cloudmin +theme_xhred_titles_thirdlane=Thirdlane + +theme_xhred_global_please_wait=Please wait... +theme_xhred_filemanager_copying_selected=Copying selected. +theme_xhred_filemanager_cutting_selected=Cutting selected. +theme_xhred_filemanager_pasting_selected=Pasting from clipboard. +theme_xhred_filemanager_unpacking_archive=Unpacking selected file(s). +theme_xhred_filemanager_deleting_selected=Deleting selected. +theme_xhred_filemanager_renaming_selected=Renaming selected. +theme_xhred_filemanager_creating_directory=Creating directory +theme_xhred_filemanager_creating_file=Creating file +theme_xhred_filemanager_downloading_from=Downloading from +theme_xhred_filemanager_setting_permissions=Setting permissions to %value on selected file(s). +theme_xhred_filemanager_changing_ownership=Changing ownership to %value on selected file(s). +theme_xhred_filemanager_compressing_selected=Compressing selected in the background. +theme_xhred_filemanager_refreshing=Refreshing directory content. +theme_xhred_filemanager_copying_successful=Copy to clipboard successful. +theme_xhred_filemanager_cutting_successful=Cut to clipboard successful. +theme_xhred_filemanager_pasting_successful=Paste from clipboard was successful. +theme_xhred_filemanager_bookmark_success=Directory %value was successfully added to your bookmarks. +theme_xhred_filemanager_searching=Searching for `%value` matching names of files/directories. +theme_xhred_filemanager_search_founds=Found %value matches. +theme_xhred_filemanager_search_found=Found 1 match. +theme_xhred_filemanager_search_no_matches=No matches found. +theme_xhred_filemanager_nothing_is_selected=Nothing is selected! +theme_xhred_filemanager_saving_file=File `%value` is being saved. +theme_xhred_filemanager_file_saved=File `%value` has been successfully saved. +theme_xhred_filemanager_not_editable=Can not edit this type of selection. +theme_xhred_filemanager_not_decompressable=Can not decompress this type of file. +theme_xhred_filemanager_no_selection_to_copy=No directories/files selected to copy. +theme_xhred_filemanager_no_selection_to_cut=No directories/files selected to cut. +theme_xhred_filemanager_empty_clipboard=Clipboard is empty. + +theme_xhred_filemanager_successful_extraction=Extraction of selected file(s) was successful. +theme_xhred_filemanager_successful_deletion=Deletion was successful. +theme_xhred_filemanager_successful_permissions=Permissions have been changed successfully. +theme_xhred_filemanager_successful_ownership=Ownership has been changed successfully. +theme_xhred_filemanager_successful_compression=Compression has successfully finished. +theme_xhred_filemanager_successful_directory_creation=Directory `%value` was created successfully. +theme_xhred_filemanager_successful_file_creation=File `%value` was created successfully. + +theme_xhred_notifications_packages_updates=Packages Update +theme_xhred_notifications_theme_update=Theme Update +theme_xhred_notifications_theme_update_message=A new version %v of Authentic Theme is available. Please update. +theme_xhred_notifications_firewall_update=Firewall Update +theme_xhred_notifications_firewall_update_message=A new version %v of ConfigServer Server Security and Firewall is available. Please update. + +theme_xhred_notifications_firewall_danger=Firewall Danger +theme_xhred_notifications_firewall_danger_message=It appears that ConfigServer Server Security and Firewall is not running or has been stopped! Don't leave your server exposed, check for the firewall settings (%v) + +theme_xhred_notifications_firewall_warning=Firewall Warning + +#17.50 +settings_grayscale_level_navigation=Grayscale filter +settings_grayscale_level_navigation_description=Default/current values 0/0 +settings_sepia_level_navigation=Sepia filter +settings_sepia_level_navigation_description=Default/current values 0/0 +settings_saturate_level_navigation=Saturate filter +settings_saturate_level_navigation_description=Default/current values 1/0 +settings_hue_level_navigation=Hue-rotate filter +settings_hue_level_navigation_description=Default/current values 0°/0° +settings_invert_level_navigation=Invert filter +settings_invert_level_navigation_description=Default/current values 0/0 +settings_brightness_level_navigation=Brightness filter +settings_brightness_level_navigation_description=Default/current values 1/0 +settings_contrast_level_navigation=Contrast filter +settings_contrast_level_navigation_description=Default/current values 1/0 + +settings_grayscale_level_content=Grayscale filter +settings_grayscale_level_content_description=Default/current values 0/0 +settings_saturate_level_content=Saturate filter +settings_saturate_level_content_description=Default/current values 1/0 +settings_hue_level_content=Hue-rotate filter +settings_hue_level_content_description=Default/current values 0°/0° + +settings_cm_view_palette=Viewer color palette +settings_cm_editor_palette=Editor color palette + +theme_xhred_filemanager_context_select_all=Select All +theme_xhred_filemanager_context_select_invert=Invert Selection +theme_xhred_filemanager_context_refresh=Refresh +theme_xhred_filemanager_context_newfile=Create new file +theme_xhred_filemanager_context_newfoder=Create new directory +theme_xhred_filemanager_context_copy=Copy +theme_xhred_filemanager_context_cut=Cut +theme_xhred_filemanager_context_paste=Paste +theme_xhred_filemanager_context_chmod=Change Permissions +theme_xhred_filemanager_context_chown=Change Ownership + +#17.51 +theme_xhred_filemanager_context_new=New +theme_xhred_filemanager_context_newarchive=Create new archive +theme_xhred_filemanager_context_delete=Delete +theme_xhred_filemanager_context_rename=Rename +theme_xhred_filemanager_context_edit=Edit +theme_xhred_filemanager_context_extract=Extract +theme_xhred_filemanager_context_goto=Open Item Location +theme_xhred_filemanager_context_properties=Properties +theme_xhred_filemanager_context_search=Search + +#17.52 +theme_xhred_filemanager_context_deselect_all=Deselect All +theme_xhred_filemanager_context_upload=Upload to current directory +theme_xhred_filemanager_context_download=Download from remote URL + +#17.53 +theme_settings_virtualmin=Virtualmin Virtual Servers +theme_settings_cloudmin=Cloudmin Managed Systems +settings_right_thirdparties_options_title=Third-parties modules options +theme_xhred_filemanager_context_calculate_size=Calculate size on spacebar +theme_xhred_filemanager_context_bookmarks=Bookmarks +theme_xhred_filemanager_context_bookmark_current=Bookmark currently opened path +theme_xhred_filemanager_context_transfer=Transfer + +#17.54 +theme_xhred_filemanager_title_symlink_target=Link target + +#17.60 +right_unlimited=Unlimited +settings_leftmenu_width=Preferable width +settings_leftmenu_width_description=Default/current width 260/0 +settings_switch_rdisplay=Reverse switch output +settings_switch_rdisplay_description=This option allows you to set different order for top-left switches. After changing this option, complete page reload is required to apply new settings. + + +#17.63 +theme_xhred_filemanager_context_calculate_selected_size=Calculate selected size +theme_xhred_filemanager_selected_entries=Selected: %value entries +theme_xhred_filemanager_manual_path=Enter path manually + +theme_xhred_datatable_semptytable=No data available in table +theme_xhred_datatable_sinfo=Showing _START_ to _END_ of _TOTAL_ entries +theme_xhred_datatable_sinfoempty=Showing 0 to 0 of 0 entries +theme_xhred_datatable_slengthmenu=Show _MENU_ entries +theme_xhred_datatable_sloadingrecords=Loading +theme_xhred_datatable_sprocessing=Processing... +theme_xhred_datatable_szerorecords=No matching records found + +#17.64 +theme_xhred_filemanager_file_edit_but_not_saved=File has been edited but hasn't been saved. +theme_xhred_filemanager_file_edit_but_not_saved_what_to_do=What do you want to do? +theme_xhred_global_save=Save +theme_xhred_global_save_and_close=Save and close +theme_xhred_global_close_without_saving=Close without saving +theme_xhred_global_continue_editing=Continue editing +theme_xhred_filemanager_context_download_file=Download + +#17.65 +settings_sysinfo_easypie_charts_width=Width of charts +settings_sysinfo_easypie_charts_scale=Scale length of charts + +#17.80 +right_return_theme_options=theme options +theme_xhred_datatable_semptydirectory=Directory is empty +theme_xhred_filemanager_context_clipboard=Copy path to clipboard +theme_xhred_global_warning=Warning +theme_xhred_global_close=Close +theme_xhred_encoding_warning=Detected that you are using non-unicode character set, which is not recommended. Strange  character might appear in text-editor mode and/or other encoding issues are going to happen.

    Change language in %prod Configuration to %lang.UTF-8 and make sure, that your browser also detected it correctly.

    Pay attention, that Webmin in-built module, named Change Language and Theme can override global settings.
    + +theme_xhred_filemanager__no_bookmarks=No saved bookmarks +theme_xhred_filemanager_unbookmark_success=Directory %value was successfully removed from your bookmarks. +theme_xhred_filemanager_bookmark=Bookmark current directory +theme_xhred_filemanager_unbookmark=Unbookmark current directory +theme_xhred_filemanager_move_into_self=You cannot move a directory into itself! The destination directory is inside the source directory. +theme_xhred_filemanager_pasting_and_copying_1=Selected source has been pasted with the new name successfully. +theme_xhred_filemanager_pasting_and_copying_2=Selected sources have been pasted with the new names successfully. +theme_xhred_filemanager_pasting_and_replacing_1=Existing target has been replaced with new successfully. +theme_xhred_filemanager_pasting_and_replacing_2=Existing targets have been replaced with new successfully. +theme_xhred_filemanager_target_conflict_1=Target conflict +theme_xhred_filemanager_target_conflict_2=Targets conflicts +theme_xhred_filemanager_target_conflict_message_1=Pasted target already exists! What do you prefer to do? +theme_xhred_filemanager_target_conflict_message_2=Pasted targets already exist! What do you prefer to do? +theme_xhred_filemanager_target_conflict_replace=Merge and replace +theme_xhred_filemanager_target_conflict_paste=Paste with new name + +theme_xhred_editor_help_title=Editor Keyboard Shortcuts +theme_xhred_editor_help_content=
    Find/Replace
    Keypress Command
    Ctrl + F Find
    Ctrl + H Replace
    Ctrl + ⇧ + R Replace all
    Ctrl + G Find next
    Ctrl + ⇧ + G Find previous
    Alt + G Jump to line
    Text manipulation
    Keypress Command
    Ctrl + KU Transform to Uppercase
    Ctrl + KL Transform to Lowercase
    Editing
    Keypress Command
    Ctrl + Space Activate autocompletion
    Ctrl + X Cut line
    Ctrl + ⇧ + ↑ Move line/selection up
    Ctrl + ⇧ + ↓ Move line/selection down
    Ctrl + L Select line - Repeat to select next lines
    Ctrl + D Select word - Repeat select others occurrences
    Ctrl + M Jump to closing parentheses Repeat to jump to opening parentheses
    Ctrl + ⇧ + M Select all contents of the current parentheses
    Ctrl + ⇧ + K Delete Line
    Ctrl + KK Delete from cursor to end of line
    Ctrl + K + Backspace Delete from cursor to start of line
    Ctrl + ⇧ + D Duplicate line(s)
    Ctrl + J Join line below to the end of the current line
    Ctrl + / Comment/un-comment current line
    Ctrl + ⇧ + / Block comment current selection
    Ctrl + Y Redo, or repeat last keyboard shortcut command
    Ctrl + ⇧ + V Paste and indent correctly
    Ctrl + Space Select next auto-complete suggestion
    Ctrl + U soft undo; jumps to your last change before undoing change when repeated
    + +theme_xhred_filemanager_hide_toolbar=Hide toolbar +theme_xhred_filemanager_hide_actions=Hide actions column +theme_xhred_filemanager_hovered_toolbar=Activate dropdown in toolbar on mouse hover +theme_xhred_filemanager_context_delete_selected=Delete selected + +#17.83 +theme_xhred_database_adding_new_row=Adding new row +theme_xhred_database_editing_row=Editing selected row +theme_xhred_database_editing_rows=Editing selected rows +theme_xhred_database_adding_new_row_data=Set data + +#17.84 +theme_xhred_datatable_filter=Filter + +theme_xhred_global_update=Update +theme_xhred_global_update_and_return=Update and return +theme_xhred_global_update_and_close=Update and close +theme_xhred_global_back=Back +theme_xhred_global_cancel=Cancel + +theme_xhred_database_add_row_successful=New row was successfully added +theme_xhred_database_edit_row_successful=Selected row was successfully updated +theme_xhred_database_edit_rows_successful=Selected rows were successfully updated +theme_xhred_database_edit_row_delete_successful=Selected row was successfully deleted +theme_xhred_database_edit_rows_delete_successful=Successfully deleted %n selected rows +theme_xhred_database_edit_field_delete_successful=Selected field was successfully deleted +theme_xhred_database_edit_fields_delete_successful=Successfully deleted %n selected fields +theme_xhred_database_edit_selected_row=Edit selected row +theme_xhred_database_edit_selected_rows=Edit selected rows +theme_xhred_database_add_new_row=Add row +theme_xhred_database_delete_selected_row=Delete selected row +theme_xhred_database_delete_selected_rows=Delete selected rows +theme_xhred_database_delete_selected_field=Delete selected field +theme_xhred_database_delete_selected_fields=Delete selected fields +theme_xhred_database_object_selected_delete=Delete selected object +theme_xhred_database_objects_selected_delete=Delete selected objects +theme_xhred_database_db_selected_drop=Drop selected database +theme_xhred_database_dbs_selected_drop=Drop selected databases +theme_xhred_database_edit_but_not_saved=Table data has been edited but not saved. + +theme_xhred_global_no_such_command=It appears that %cmd executable is not installed or not in the path on your system. + +theme_xhred_global_notice=Notice + +theme_xhred_updates_disabled_notice=Detected that you don't have enabled notifications for Authentic Theme updates?

    Enabling this feature in Theme Configuration will help you to update to the latest version in a single click as soon as it's out. + + +#18.00 +theme_xhred_global_file=File +theme_xhred_global_directory=Directory +theme_xhred_global_no_target=Target doesn't exist or not accessible +theme_xhred_global_error_code=Error code +theme_xhred_global_on=On +theme_xhred_global_off=Off +theme_xhred_global_all=All +theme_xhred_global_none=None +theme_xhred_global_yes=Yes +theme_xhred_global_no=No + +theme_xhred_filemanager_new_tab=Add new tab (Ctrl+Space) +theme_xhred_datatable_no_search_results=No results found
    Try a different search + +theme_xhred_filemanager_buffer_error=Failed to paste files to the buffer - permission denied. + +filemanager_create_object_exists=$3 `$1` already exists in `$2` +filemanager_create_object_denied=Can't create $3 `$1` in `$2` - permission denied. + +filemanager_paste_warning=Failed to paste target(s). It is possible that requested object(s) could have been renamed, moved or deleted while/before pasting. Another possible cause is that destination is not writable. It is worth checking objects' attributes. + +theme_xhred_filemanager_delete_warning=Deletion has finished successfully but not for all objects. It is possible that requested object(s) could have been renamed or moved before deletion. Restricted permissions (attributes) is another possible cause. Error message: + + +filemanager_rename_exists=$3 with name `$1` already exists in `$2` +filemanager_rename_denied=Can not rename the $3. This might happen because the source $3 has been removed or due to restricted permissions. + +theme_xhred_filemanager_successful_rename=Renaming `%from` to `%to` was successful. + +filemanager_global_info_total1=Total: $1 file and $2 directory +filemanager_global_info_total2=Total: $1 files and $2 directory +filemanager_global_info_total3=Total: $1 file and $2 directories +filemanager_global_info_total4=Total: $1 files and $2 directories + +theme_xhred_filemanager_selected_entry=Selected: %value entry + +theme_xhred_filemanager_search_query=Query mask +theme_xhred_filemanager_search_match=Find in results +theme_xhred_filemanager_search_replace=Replace in results + +theme_xhred_global_find=Find +theme_xhred_global_replace=Replace + +theme_xhred_filemanager_searching_matching=Searching for `%value` matching names of files/directories, containing `%text` text. +theme_xhred_filemanager_searching_replacing=Replacing matches `%text` with `%replace` in files with names containing `%value`. + +theme_xhred_filemanager_search_replaced_multi=Found and replaced in %value files. +theme_xhred_filemanager_search_replaced=Found and replaced in 1 file. + +theme_xhred_filemanager_successful_permissions_with_errors=Permissions have been changed successfully but not for all objects: + +theme_xhred_filemanager_successful_ownership_with_errors=Ownership has not been changed successfully for all objects: +theme_xhred_filemanager_successful_ownership_with_errors_fatal=Ownership can't be changed due to following errors: + +theme_xhred_filemanager_successful_compression_with_errors=Compression has finished with the following errors: +theme_xhred_filemanager_successful_compression_bg=Compression has successfully finished. Compressed file `%file is located in `%path` directory. +theme_xhred_filemanager_successful_compression_bg_with_errors=Compression has finished with errors. Compressed file `%file should be located in `%path` directory. + +theme_xhred_filemanager_settings_notification_type=Type of notifications to display +theme_xhred_filemanager_settings_notification_type_inf_warn_err=Informations, warnings and errors +theme_xhred_filemanager_settings_notification_type_warn_err=Warnings and errors +theme_xhred_filemanager_settings_notification_type_err=Errors only + +theme_xhred_filemanager_settings_tabs_remember_state=Restore previously used tabs on first load +theme_xhred_filemanager_context_open_new_tab=Open in new tab + +theme_xhred_xsql_fit_content_screen_height=Fit database table content in screen height + +theme_xhred_datatable_filter_visible_tables=Filter Visible Table(s) +theme_xhred_module_help=Module help + +theme_xhred_server_process_running=Server process is still running!? Are you sure that you want to navigate away and have no access to output information? Even if you leave now the process will not be terminated. + + +#18.03 +settings_global_options_title=Global options +settings_global_passgen_format=Password generator +settings_global_passgen_format_description=Set the length and character type used in the generated password. First value is numerical, which is the length of the password, immediately followed by | as a delimiter. Next is the type, where you can use numbers 0-9, letters a-z and/or A-Z, and special characters #. All of these sets can be used together or individually, using comma as a delimiter. Default value equals to 12|a-z,A-Z,0-9,#, which represents password with 12 characters in length, containing upper and lower case letters, numbers and special characters. +theme_xhred_password_generator_new=Generate New Password
    (To Clipboard) +theme_xhred_password_generator_new_success=Generated password %password has been copied to clipboard successfully. + + +#18.08 +theme_fileformat_perl=Perl +theme_fileformat_perl_placeholder=This file must end with `1;` to work successfully. + + +#18.10 +theme_error_access_not_root=Access denied: User needs access to the Webmin Configuration module to edit theme configuration + + +#18.20 +settings_hide_top_loader=Hide top progress bar + + +#18.30 +settings_leftmenu_vm_cm_dropdown_icons=Show symbolic icons in drop-down in Virtualmin/Cloudmin +settings_font_family=Font family +settings_font_family_description=Among all presented fonts' variants Roboto is shipped with the theme and set as default. The other fonts must be installed on your local computer in order to work. By using local fonts, the default one is not loaded, which will result in faster theme load +theme_xhred_global_shipped=Shipped +theme_xhred_global_available=Available +theme_xhred_global_not_available=Not available +theme_xhred_global_default=Default +theme_xhred_global_system_default=System default +theme_xhred_global_local_system_default=Local system default +theme_xhred_global_stats=Stats +theme_xhred_global_notifications=Notifications +theme_xhred_global_favorites=Favorites +theme_xhred_global_cpu_load=CPU load +theme_xhred_notification_none=No notifications +theme_xhred_notification_no_data=No collected data +theme_xhred_notification_no_favorites=No favorites data +theme_xhred_global_theme_version=Theme version + +settings_side_slider_sysinfo_enabled=Show dashboard tab +settings_side_slider_notifications_enabled=Show notifications tab +settings_side_slider_favorites_enabled=Show favorites tab +settings_show_terminal_link=Show terminal button + +theme_xhred_sysinfo_system_monitors=System Monitors +theme_xhred_sysinfo_server_status=Servers Status +theme_xhred_sysinfo_software_versions=Software Versions +theme_xhred_sysinfo_recent_logins=Recent Logins +theme_xhred_sysinfo_vm_package_updates=Virtualmin Package Updates +theme_xhred_sysinfo_disk_quotas=Disk Quotas +theme_xhred_sysinfo_bandwidth_quotas=Bandwidth Quotas + +left_netdata=Realtime Monitoring +settings_leftmenu_netdata=Show Netdata realtime monitoring link +settings_leftmenu_netdata_link=Netdata server preferred link + +theme_xhred_filemanager_context_chattr=Change attributes +theme_xhred_filemanager_changing_attributes=Setting attributes to %value on selected file(s). +theme_xhred_filemanager_successful_attributes_with_errors=Attributes haven't been set successfully for all objects: +theme_xhred_filemanager_successful_attributes=Attributes have been set successfully. + +theme_xhred_filemanager_context_chcon=Change security context +theme_xhred_filemanager_changing_secontext=Changing security context to %value on selected file(s). +theme_xhred_filemanager_successful_secontext_with_errors=Security context has not been changed successfully for all objects: +theme_xhred_filemanager_successful_secontext=Security context has been changed successfully. + +theme_xhred_global_no_results_found=No results found + + +#18.40 +theme_new_password_header=Set new password for user +login_reset=Password recovery +theme_xhred_move_top=Move to top +theme_xhred_move_bottom=Move to bottom +theme_xhred_move_up=Move up +theme_xhred_move_down=Move down +theme_xhred_add_after=Add after +theme_xhred_add_before=Add before +settings_button_tooltip=Show tooltip on buttons +settings_show_night_mode_link=Show palette toggle +settings_hotkey_toggle_key_night_mode=Hotkey for toggling dark/light palette +settings_title=Theme Configuration +settings_subtitle=For user + +theme_tooltip_night_mode=Day/night mode toggle +theme_tooltip_terminal_link=Terminal +theme_tooltip_language_link=Language +theme_tooltip_switch_user=Switch user +theme_tooltip_logout=Sign out +theme_tooltip_edit_user=Edit user + + +#18.45 +settings_sysinfo_easypie_charts_size=Diameter of charts +theme_xhred_global_choose=Choose +theme_xhred_global_select=Select +theme_xhred_global_ok=OK +settings_sysinfo_theme_patched_updates=Including patched versions +settings_sysinfo_theme_updates_description=In order to make this option work, git command has to be installed on your system +theme_git_patch_available=Latest available patch +theme_git_patch_no_git_message=In order to install latest patches directly from GitHub you must make sure that git command is installed. +theme_git_patch_update_success_message=Theme update for Webmin was successful. Currently installed version is $1. Reloading... +theme_git_patch_update_success_message2=Theme update for both Webmin and Usermin was successful. Currently installed version is $1. Reloading... +theme_xhred_git_patch_update=Theme update has failed. Try using console to do it manually. +theme_xhred_git_patch_initiated=Theme update has been initiated. +theme_xhred_global_prev_page=Go back one page +theme_xhred_global_help=Help +settings_right_soft_updates_page_options_title=Software updates +theme_xhred_git_compare_changes=Compare changes +theme_xhred_filemanager_link_to_clipboard=Symbolic link's name `%value` has been copied to clipboard. + + + +#18.46 +theme_left_mail_prefs=Mail Preferences +theme_left_mail_change_password=Change Password +theme_left_mail_account_functions=Account Functions +theme_xhred_global_dir_up=Go to previous directory (Backspace) +theme_xhred_global_module_config=Module config +theme_xhred_global_return=Return +theme_xhred_global_return_to_module_index=Return to module index + + +#18.47 +settings_account_info_link_mini=Show account information link as button +theme_xhred_global_complete_changelog=Complete changelog +theme_xhred_global_beta_version=Beta version +theme_xhred_global_release=Release +theme_xhred_global_released_on=Released on +theme_xhred_global_committed_on=Committed on +theme_xhred_global_resolved_issues=Resolved issues in %value releases + + +#18.48 +theme_force_upgrade=Force update theme +theme_force_upgrade_beta=Install latest development version (beta) +theme_force_upgrade_stable=Install latest release version (stable) +theme_xhred_source_encoding=Source encoding +theme_update_footer=Please be kind reporting bugs to $1 repository. Follow theme's $2 channel for the latest updates. +theme_xhred_encoding_manually_set=Manually set encoding +theme_xhred_filemanager_save_to_change_encoding=File must be saved, in order to allow encoding to be changed. + + +#18.49 +theme_xhred_filemanager_user_switch=Switch to user (Ctrl+M) +theme_xhred_filemanager_user_switch_description=By selecting the username listed below, you will switch further operations to be performed as this user. +theme_xhred_filemanager_user_switch_description_back=To switch back to default mode choose the first option in select. +theme_xhred_filemanager_user_switch_current_user=Current user +theme_xhred_filemanager_user_switch_option=Automatically switch to user mode upon entering its home directory +theme_xhred_filemanager_editor_align_panels_horizontally=Align Panels Horizontally +theme_xhred_filemanager_editor_align_panels_vertically=Align Panels Vertically +theme_xhred_filemanager_editor_toggle_soft_wrap=Toggle Soft Wrap +theme_xhred_filemanager_editor_refresh_content=Refresh Content +theme_xhred_filemanager_save_to_refresh_content=File must be saved, in order to allow its content to be refreshed. +theme_xhred_filemanager_save_to_refresh_content_proc=Refreshing file content. +theme_xhred_global_dark=Dark +theme_xhred_global_light=Light +theme_xhred_global_minimize=Minimize +theme_xhred_global_maximize=Maximize +theme_xhred_global_normalize=Normalize +theme_xhred_global_set_encoding=Set encoding + + +#19.00 +theme_xhred_sysinfo_update_start=System information is being recollected. +theme_xhred_sysinfo_update_end=System information has been recollected successfully. +theme_xhred_sysinfo_update_failed=System information can't be recollected. Try again later. + +theme_xhred_global_development_version=Development version + +right_vm_server_summary=Virtual Server Summary + +settings_webmin_default_module=Default module for Webmin + +theme_xhred_global_unbeforeunload_title=Changes you made may not be saved +theme_xhred_global_unbeforeunload_message=If you continue, unsaved changes on this page could be permanently lost. +theme_xhred_global_continue=Continue + +theme_xhred_global_automatic_refresh=Automatic refresh +theme_xhred_global_second=Second +theme_xhred_global_seconds=Seconds +theme_xhred_global_minute=Minute +theme_xhred_global_minutes=Minutes diff --git a/lang/nl b/lang/nl new file mode 120000 index 000000000..c5353e5c9 --- /dev/null +++ b/lang/nl @@ -0,0 +1 @@ +nl.UTF-8 \ No newline at end of file diff --git a/lang/nl.UTF-8 b/lang/nl.UTF-8 new file mode 100644 index 000000000..806670ce6 --- /dev/null +++ b/lang/nl.UTF-8 @@ -0,0 +1,726 @@ +body_cp=CPU +body_cpu=CPU load gemiddelden +body_cpuinfo=Processor informatie +body_cputemps=CPU temperaturen +body_cputype=$5, $8 cores +body_disk=Locale schijfruimte +body_driveerr=$1 fouten! +body_drivefailed=SMART check heeft gefaald! +body_drivetemps=Schijf temperaturen +body_firewall=Firewall versie +body_header0=Systeem Informatie +body_header1=Account Informatie +body_host=Systeem hostnaam +body_kernel=Kernel en CPU +body_kernelon=$1 $2 op $3 +body_load=$1 (1 min) $2 (5 min) $3 (15 min) +body_os=Besturingssysteem +body_procs=Lopende processen +body_real=Fysiek geheugen +body_time=Systeemtijd +body_updates=Pakket updates +body_updays=$1 dagen, $2 uren, $3 minuten +body_uphours=$1 uren, $2 minuten +body_upmins=$1 minuten +body_upneed=Er zijn $1 pakket updates beschikbaar +body_upneed1=$1 package update is available +body_upok=Alle geĂŻnstalleerde pakketten zijn up-to-date +body_upsec=Er zijn $1 pakket updates beschikbaar, waarvan $2 beveiligings updates +body_upsec1=$1 package updates are available, of which $2 is security update +body_upsec2=$1 package update is available, of which $2 are security updates +body_upsec3=$1 package update is available, of which $2 is security update +body_uptime=Systeem uptime +body_used=$1 totaal / $2 gebruikt +body_used_and_free=$1 totaal / $2 vrij / $3 gebruikt +body_usermin=Usermin Versie +body_virt=Virtueel geheugen +body_webmin=Webmin versie + +left_favorites=Favorieten +left_favorites_no=Er zijn nog geen favorieten toegevoegd... +left_feedback=Verstuur feedback +left_home=Systeem informatie +left_others=Overige +left_refresh_modules=Modules verversen +left_search=Zoeken +left_statistics=Systeem statistieken + +login_danger=Let op! +login_message=Geef een gebruikersnaam en wachtwoord op om in te loggen op de server +login_pass=Wachtwoord +login_reset=Resetten +login_save=Onthoud mij +login_signin=Inloggen +login_success=Succesvol! +login_token=Token +login_user=Gebruikersnaam +login_warning=Waarschuwing! + +right_aliases=Alias servers +right_bw=Bandbreedte gebruik en limiet +right_dom=Uw server naam +right_faliases=Mail aliassen +right_fdbs=Databases +right_fdoms=Virtuele Servers +right_from=Ingelogd vanaf +right_fusers2=FTP gebruikers +right_fusers=Mail/FTP gebruikers +right_fvm2=Virtuele Machines +right_fweb=Virtuele Websites +right_licenceheader_vm2=Cloudmin Licenties +right_login=Ingelogd als +right_not=Niet geĂŻnstalleerd +right_of=$1 van $2 +right_quota=Disk gebruik en quotum +right_reselip=(Reseller $1) +right_sharedip=(Gedeeld IP) +right_slcheck=Cloudmin licentie opnieuw controleren +right_subs=Sub-servers +right_virtdocs2=Extra documentatie +right_virtualmin=Virtualmin versie +right_vlcheck=Virtualmin licentie opnieuw controleren +right_vm2=Cloudmin versie + +session_failed=Inloggen mislukt. Probeer opnieuw in te loggen. +session_logout=Succesvol uitgelogd. Gebruik het formulier om opnieuw in te loggen. +session_timed_out=Sessie is verlopen na $1 minuten inactiviteit. +session_twofailed=Two-factor authenticatie mislukt: $1 + + + + + + + + + + +settings_right_options=Opties +settings_right_restore_defaults=Standaardwaarden herstellen +settings_right_restored=Hersteld +settings_right_restoring=Bezig met herstellen +settings_right_saved=Opgeslagen +settings_right_saving=Bezig met opslaan + +settings_right_theme_extensions=Thema extensies +settings_right_theme_extensions_title=Thema extensies +settings_right_file_edit=Extensie bestand wijzigen: +settings_right_extensions_title=Thema uitbreidbaar design, stelt je in staat om delen van de interface te wijzigen. + +settings_right_theme_logos=Thema logo's +settings_right_theme_logos_title=Thema Logo's +settings_right_logos_title=Theme logos can be easily set here, for both, authenticated and unauthenticated users. Recommended logo size is 180x90 pixels and the only supported format is .png, to provide alpha transparency. +settings_right_logo_authenticated_users=Logo voor geauthenticeerde gebruikers +settings_right_logo_unauthenticated_users=Logo voor niet geauthenticeerde gebruikers + +settings_right_current_theme=Huidige thema +settings_right_title=Op deze pagina kunnen configuratie-opties gewijzigd worden voor Authentic Theme. De opties worden opgeslagen bij een update van het thema. +settings_right_theme_left_configuration_title=Authentic Theme configuratie +settings_right_theme_left_extensions_title=Authentic Theme Extensions Editor +settings_right_theme_left_logo_title=Authentic Theme Logo Control +settings_right_theme_configurable_options_title=Configureerbare opties voor Authentic Theme + + +settings_right_window_options_title=Venster opties +settings_right_navigation_menu_title=Navigatiemenu opties +settings_right_table_options_title=Tabel opties +settings_security_title=Beveiligingsmelding opties +settings_security_description=Security alerts will let you setup email notifications upon certain events.
    Format: Message|Subject|Comma separated list of users/emails|Comma separated list of ignored IPv4/IPv6
    Usage: %3 successful login alert for user %1 from %2|%3 successful login alert|root,user@example.org|1.2.3.4,5.6.7.8
    Output: From: root, To: root, Subject: Webmin successful login alert, Message: Webmin successful login alert for user root from 2.3.4.5 +settings_right_hotkey_options_title=Hotkey opties + +settings_right_sysinfo_page_options_title=System Information page options +settings_right_hotkey_custom_options_description=Custom links enable you to use digits from 1 to 9 in order to quick-access any valid Webmin/Usermin/Virtualmin/Cloudmin URL. The URL can be extracted from the currently opened right frame content page, by reading its source. It's important that URL has no slash at the beginning and doesn't use prefixes. For example, to quick-switch to Apache, set to custom link 1 field /apache/. If the default hotkeys modifier set to Alt, clicking Alt+1, will open you Apache module. +settings_hotkey_custom_1=Custom link 1 +settings_hotkey_custom_2=Custom link 2 +settings_hotkey_custom_3=Custom link 3 +settings_hotkey_custom_4=Custom link 4 +settings_hotkey_custom_5=Custom link 5 +settings_hotkey_custom_6=Custom link 6 +settings_hotkey_custom_7=Custom link 7 +settings_hotkey_custom_8=Custom link 8 +settings_hotkey_custom_9=Custom link 9 + +settings_navigation_color=Navigation menu color palette +settings_background_color=Content page color palette +settings_animation_left=Enable animation in navigation menu +settings_animation_tabs=Enable animation in tabs +settings_loader_top=Enable page progress loader on top of the screen +settings_loader_left=Enable spinner for navigation menu +settings_right_reload=Load default content page +settings_right_reload_description=When switching tabs, right frame content page is reloaded. Do not keep currently opened right frame content page and reload with default? + +settings_right_hide_table_icons=Hide table icons for the right frame +settings_right_hide_table_icons_description=Completely remove icons from the content page tables and display plain links with right chevron +settings_right_small_table_icons=Small table icons +settings_right_small_table_icons_description=Substitute standard size table icons with small ones and display icons link using tooltip +settings_right_animate_table_icons=Animate table icons on focus +settings_right_grayscaled_table_icons=Grayscale table icons and bring color on focus only + +settings_leftmenu_section_hide_refresh_modules=Hide Refresh Modules link +settings_leftmenu_section_hide_unused_modules=Hide Unused Modules link +settings_favorites=Show favorites button +settings_leftmenu_button_language=Show language button +settings_leftmenu_button_refresh=Show refresh button + +settings_theme_options_button=Show theme settings button + +settings_hotkeys_active=Enable hotkeys usage +settings_hotkey_toggle_modifier=Hotkeys modifier +settings_hotkey_toggle_key_webmin=Hotkey for Webmin +settings_hotkey_toggle_key_virtualmin=Hotkey for Virtualmin +settings_hotkey_toggle_key_cloudmin=Hotkey for Cloudmin +settings_hotkey_toggle_key_usermin=Hotkey for Usermin +settings_hotkey_toggle_key_webmail=Hotkey for Mail +settings_hotkey_sysinfo=Hotkey for dashboard +settings_hotkey_shell=Hotkey for terminal +settings_hotkey_favorites=Hotkey for favorites +settings_hotkey_focus_search=Hotkey for search field +settings_hotkey_reload=Hotkey for page reload + +settings_side_slider_background_refresh_time=Timeout for background information update +settings_side_slider_background_refresh_time_description=Set desired timeout for updating notification slider in background calls. The value meant to be in minutes. Minimum recommended value is 1 minute. Default is set to 5 minutes. Decimal values can also be used. +settings_sysinfo_easypie_charts=Show charts +settings_sysinfo_theme_updates=Check for Authentic Theme updates +settings_sysinfo_csf_updates=Check for ConfigServer Security & Firewall updates +settings_sysinfo_drive_status_on_new_line=Show CPU and drives status each on new line +settings_sysinfo_expand_all_accordions=Make all accordions expanded +settings_sysinfo_link_mini=Show system information link as button + +settings_right_page_defaults_title=Default pages +settings_right_default_tab_webmin=Default tab after logging in to Webmin +settings_right_default_tab_usermin=Default tab after logging in to Usermin +settings_right_virtualmin_default=Default page for Virtualmin +settings_right_cloudmin_default=Default page for Cloudmin + +settings_right_clear_local_cache=Clear cache +settings_right_notification_slider_options_title=Side slider options +settings_side_slider_fixed=Keep slider always visible +settings_side_slider_palette=Slider palette +settings_hotkey_toggle_slider=Hotkey for slider +settings_window_replace_timestamps=Enable dates substitutions +settings_window_replaced_timestamp_format_short=Short date/time format +settings_window_replaced_timestamp_format_full=Full date/time format +settings_window_replaced_timestamps_options_description=Tweak date/time settings to set desired output for displaying dates in full or short format. In-built this option has effect in Notification Slider and System Information page (on the row Time on system). By default, full format equals to LLLL and short is L, LTS. The time output is different for different locales. Locale is based on Webmin language settings. + +settings_side_slider_enabled=Enable slider +settings_leftmenu_user_html=Show HTML snippet +settings_leftmenu_user_html_description=User defined text or HTML code will be injected to the bottom of the navigation menu. It can be used for identification purposes. For example, to make explicitly show your hostname, you could add to the field <br><kbd>hostname:10000</kbd> + + +theme_changelog=Changelog +theme_conference=Theme Conference +theme_development_support=Development Ondersteuning +theme_donate=Doneren +theme_download=Downloaden +theme_name=Authentic Theme +theme_update=Updaten +theme_update_available=Laatst beschikbare versie +theme_update_notice=Update melding +theme_version=Thema versie + + +# Version 17.40 +theme_global_error=Error +theme_global_warning=Warning +theme_global_success=Success +theme_global_info=Information +sysinfo_system_status_warning=In order to have System Information displayed you will need to enable System Status module in user settings. +settings_leftmenu_user_html_only_for_administrator=Show HTML snippet for administrators only +theme_sysinfo_wmdocs=Webmin documentation +theme_sysinfo_vmdocs=Virtualmin documentation +theme_sysinfo_cmdocs=Cloudmin documentation +theme_fileformat_css=CSS +theme_fileformat_json=JSON +theme_fileformat_js=Javascript +theme_fileformat_plain_text=Plain Text + +theme_xhred_titles_wm=Webmin +theme_xhred_titles_um=Usermin +theme_xhred_titles_dashboard=Dashboard +theme_xhred_titles_mail=Mail +theme_xhred_titles_vm=Virtualmin +theme_xhred_titles_cm=Cloudmin +theme_xhred_titles_thirdlane=Thirdlane + +theme_xhred_global_please_wait=Please wait... +theme_xhred_filemanager_copying_selected=Copying selected. +theme_xhred_filemanager_cutting_selected=Cutting selected. +theme_xhred_filemanager_pasting_selected=Pasting from clipboard. +theme_xhred_filemanager_unpacking_archive=Unpacking selected file(s). +theme_xhred_filemanager_deleting_selected=Deleting selected. +theme_xhred_filemanager_renaming_selected=Renaming selected. +theme_xhred_filemanager_creating_directory=Creating directory +theme_xhred_filemanager_creating_file=Creating file +theme_xhred_filemanager_downloading_from=Downloading from +theme_xhred_filemanager_setting_permissions=Setting permissions to %value on selected file(s). +theme_xhred_filemanager_changing_ownership=Changing ownership to %value on selected file(s). +theme_xhred_filemanager_compressing_selected=Compressing selected in the background. +theme_xhred_filemanager_refreshing=Refreshing directory content. +theme_xhred_filemanager_copying_successful=Copy to clipboard successful. +theme_xhred_filemanager_cutting_successful=Cut to clipboard successful. +theme_xhred_filemanager_pasting_successful=Paste from clipboard was successful. +theme_xhred_filemanager_bookmark_success=Directory %value was successfully added to your bookmarks. +theme_xhred_filemanager_searching=Searching for `%value` matching names of files/directories. +theme_xhred_filemanager_search_founds=Found %value matches. +theme_xhred_filemanager_search_found=Found 1 match. +theme_xhred_filemanager_search_no_matches=No matches found. +theme_xhred_filemanager_nothing_is_selected=Nothing is selected! +theme_xhred_filemanager_saving_file=File `%value` is being saved. +theme_xhred_filemanager_file_saved=File `%value` has been successfully saved. +theme_xhred_filemanager_not_editable=Can not edit this type of selection. +theme_xhred_filemanager_not_decompressable=Can not decompress this type of file. +theme_xhred_filemanager_no_selection_to_copy=No directories/files selected to copy. +theme_xhred_filemanager_no_selection_to_cut=No directories/files selected to cut. +theme_xhred_filemanager_empty_clipboard=Clipboard is empty. + +theme_xhred_filemanager_successful_extraction=Extraction of selected file(s) was successful. +theme_xhred_filemanager_successful_deletion=Deletion was successful. +theme_xhred_filemanager_successful_permissions=Permissions have been changed successfully. +theme_xhred_filemanager_successful_ownership=Ownership has been changed successfully. +theme_xhred_filemanager_successful_compression=Compression has successfully finished. +theme_xhred_filemanager_successful_directory_creation=Directory `%value` was created successfully. +theme_xhred_filemanager_successful_file_creation=File `%value` was created successfully. + +theme_xhred_notifications_packages_updates=Packages Update +theme_xhred_notifications_theme_update=Theme Update +theme_xhred_notifications_theme_update_message=A new version %v of Authentic Theme is available. Please update. +theme_xhred_notifications_firewall_update=Firewall Update +theme_xhred_notifications_firewall_update_message=A new version %v of ConfigServer Server Security and Firewall is available. Please update. + +theme_xhred_notifications_firewall_danger=Firewall Danger +theme_xhred_notifications_firewall_danger_message=It appears that ConfigServer Server Security and Firewall is not running or has been stopped! Don't leave your server exposed, check for the firewall settings (%v) + +theme_xhred_notifications_firewall_warning=Firewall Warning + +#17.50 +settings_grayscale_level_navigation=Grayscale filter +settings_grayscale_level_navigation_description=Default/current values 0/0 +settings_sepia_level_navigation=Sepia filter +settings_sepia_level_navigation_description=Default/current values 0/0 +settings_saturate_level_navigation=Saturate filter +settings_saturate_level_navigation_description=Default/current values 1/0 +settings_hue_level_navigation=Hue-rotate filter +settings_hue_level_navigation_description=Default/current values 0°/0° +settings_invert_level_navigation=Invert filter +settings_invert_level_navigation_description=Default/current values 0/0 +settings_brightness_level_navigation=Brightness filter +settings_brightness_level_navigation_description=Default/current values 1/0 +settings_contrast_level_navigation=Contrast filter +settings_contrast_level_navigation_description=Default/current values 1/0 + +settings_grayscale_level_content=Grayscale filter +settings_grayscale_level_content_description=Default/current values 0/0 +settings_saturate_level_content=Saturate filter +settings_saturate_level_content_description=Default/current values 1/0 +settings_hue_level_content=Hue-rotate filter +settings_hue_level_content_description=Default/current values 0°/0° + +settings_cm_view_palette=Viewer color palette +settings_cm_editor_palette=Editor color palette + +theme_xhred_filemanager_context_select_all=Select All +theme_xhred_filemanager_context_select_invert=Invert Selection +theme_xhred_filemanager_context_refresh=Refresh +theme_xhred_filemanager_context_newfile=Create new file +theme_xhred_filemanager_context_newfoder=Create new directory +theme_xhred_filemanager_context_copy=Copy +theme_xhred_filemanager_context_cut=Cut +theme_xhred_filemanager_context_paste=Paste +theme_xhred_filemanager_context_chmod=Change Permissions +theme_xhred_filemanager_context_chown=Change Ownership + +#17.51 +theme_xhred_filemanager_context_new=New +theme_xhred_filemanager_context_newarchive=Create new archive +theme_xhred_filemanager_context_delete=Delete +theme_xhred_filemanager_context_rename=Rename +theme_xhred_filemanager_context_edit=Edit +theme_xhred_filemanager_context_extract=Extract +theme_xhred_filemanager_context_goto=Open Item Location +theme_xhred_filemanager_context_properties=Properties +theme_xhred_filemanager_context_search=Search + +#17.52 +theme_xhred_filemanager_context_deselect_all=Deselect All +theme_xhred_filemanager_context_upload=Upload to current directory +theme_xhred_filemanager_context_download=Download from remote URL + +#17.53 +theme_settings_virtualmin=Virtualmin Virtual Servers +theme_settings_cloudmin=Cloudmin Managed Systems +settings_right_thirdparties_options_title=Third-parties modules options +theme_xhred_filemanager_context_calculate_size=Calculate size on spacebar +theme_xhred_filemanager_context_bookmarks=Bookmarks +theme_xhred_filemanager_context_bookmark_current=Bookmark currently opened path +theme_xhred_filemanager_context_transfer=Transfer + +#17.54 +theme_xhred_filemanager_title_symlink_target=Link target + +#17.60 +right_unlimited=Unlimited +settings_leftmenu_width=Preferable width +settings_leftmenu_width_description=Default/current width 260/0 +settings_switch_rdisplay=Reverse switch output +settings_switch_rdisplay_description=This option allows you to set different order for top-left switches. After changing this option, complete page reload is required to apply new settings. + + +#17.63 +theme_xhred_filemanager_context_calculate_selected_size=Calculate selected size +theme_xhred_filemanager_selected_entries=Selected: %value entries +theme_xhred_filemanager_manual_path=Enter path manually + +theme_xhred_datatable_semptytable=No data available in table +theme_xhred_datatable_sinfo=Showing _START_ to _END_ of _TOTAL_ entries +theme_xhred_datatable_sinfoempty=Showing 0 to 0 of 0 entries +theme_xhred_datatable_slengthmenu=Show _MENU_ entries +theme_xhred_datatable_sloadingrecords=Loading +theme_xhred_datatable_sprocessing=Processing... +theme_xhred_datatable_szerorecords=No matching records found + +#17.64 +theme_xhred_filemanager_file_edit_but_not_saved=File has been edited but hasn't been saved. +theme_xhred_filemanager_file_edit_but_not_saved_what_to_do=What do you want to do? +theme_xhred_global_save=Save +theme_xhred_global_save_and_close=Save and close +theme_xhred_global_close_without_saving=Close without saving +theme_xhred_global_continue_editing=Continue editing +theme_xhred_filemanager_context_download_file=Download + +#17.65 +settings_sysinfo_easypie_charts_width=Width of charts +settings_sysinfo_easypie_charts_scale=Scale length of charts + +#17.80 +right_return_theme_options=theme options +theme_xhred_datatable_semptydirectory=Directory is empty +theme_xhred_filemanager_context_clipboard=Copy path to clipboard +theme_xhred_global_warning=Warning +theme_xhred_global_close=Close +theme_xhred_encoding_warning=Detected that you are using non-unicode character set, which is not recommended. Strange  character might appear in text-editor mode and/or other encoding issues are going to happen.

    Change language in %prod Configuration to %lang.UTF-8 and make sure, that your browser also detected it correctly.

    Pay attention, that Webmin in-built module, named Change Language and Theme can override global settings.
    + +theme_xhred_filemanager__no_bookmarks=No saved bookmarks +theme_xhred_filemanager_unbookmark_success=Directory %value was successfully removed from your bookmarks. +theme_xhred_filemanager_bookmark=Bookmark current directory +theme_xhred_filemanager_unbookmark=Unbookmark current directory +theme_xhred_filemanager_move_into_self=You cannot move a directory into itself! The destination directory is inside the source directory. +theme_xhred_filemanager_pasting_and_copying_1=Selected source has been pasted with the new name successfully. +theme_xhred_filemanager_pasting_and_copying_2=Selected sources have been pasted with the new names successfully. +theme_xhred_filemanager_pasting_and_replacing_1=Existing target has been replaced with new successfully. +theme_xhred_filemanager_pasting_and_replacing_2=Existing targets have been replaced with new successfully. +theme_xhred_filemanager_target_conflict_1=Target conflict +theme_xhred_filemanager_target_conflict_2=Targets conflicts +theme_xhred_filemanager_target_conflict_message_1=Pasted target already exists! What do you prefer to do? +theme_xhred_filemanager_target_conflict_message_2=Pasted targets already exist! What do you prefer to do? +theme_xhred_filemanager_target_conflict_replace=Merge and replace +theme_xhred_filemanager_target_conflict_paste=Paste with new name + +theme_xhred_editor_help_title=Editor Keyboard Shortcuts +theme_xhred_editor_help_content=
    Find/Replace
    Keypress Command
    Ctrl + F Find
    Ctrl + H Replace
    Ctrl + ⇧ + R Replace all
    Ctrl + G Find next
    Ctrl + ⇧ + G Find previous
    Alt + G Jump to line
    Text manipulation
    Keypress Command
    Ctrl + KU Transform to Uppercase
    Ctrl + KL Transform to Lowercase
    Editing
    Keypress Command
    Ctrl + Space Activate autocompletion
    Ctrl + X Cut line
    Ctrl + ⇧ + ↑ Move line/selection up
    Ctrl + ⇧ + ↓ Move line/selection down
    Ctrl + L Select line - Repeat to select next lines
    Ctrl + D Select word - Repeat select others occurrences
    Ctrl + M Jump to closing parentheses Repeat to jump to opening parentheses
    Ctrl + ⇧ + M Select all contents of the current parentheses
    Ctrl + ⇧ + K Delete Line
    Ctrl + KK Delete from cursor to end of line
    Ctrl + K + Backspace Delete from cursor to start of line
    Ctrl + ⇧ + D Duplicate line(s)
    Ctrl + J Join line below to the end of the current line
    Ctrl + / Comment/un-comment current line
    Ctrl + ⇧ + / Block comment current selection
    Ctrl + Y Redo, or repeat last keyboard shortcut command
    Ctrl + ⇧ + V Paste and indent correctly
    Ctrl + Space Select next auto-complete suggestion
    Ctrl + U soft undo; jumps to your last change before undoing change when repeated
    + +theme_xhred_filemanager_hide_toolbar=Hide toolbar +theme_xhred_filemanager_hide_actions=Hide actions column +theme_xhred_filemanager_hovered_toolbar=Activate dropdown in toolbar on mouse hover +theme_xhred_filemanager_context_delete_selected=Delete selected + +#17.83 +theme_xhred_database_adding_new_row=Adding new row +theme_xhred_database_editing_row=Editing selected row +theme_xhred_database_editing_rows=Editing selected rows +theme_xhred_database_adding_new_row_data=Set data + +#17.84 +theme_xhred_datatable_filter=Filter + +theme_xhred_global_update=Update +theme_xhred_global_update_and_return=Update and return +theme_xhred_global_update_and_close=Update and close +theme_xhred_global_back=Back +theme_xhred_global_cancel=Cancel + +theme_xhred_database_add_row_successful=New row was successfully added +theme_xhred_database_edit_row_successful=Selected row was successfully updated +theme_xhred_database_edit_rows_successful=Selected rows were successfully updated +theme_xhred_database_edit_row_delete_successful=Selected row was successfully deleted +theme_xhred_database_edit_rows_delete_successful=Successfully deleted %n selected rows +theme_xhred_database_edit_field_delete_successful=Selected field was successfully deleted +theme_xhred_database_edit_fields_delete_successful=Successfully deleted %n selected fields +theme_xhred_database_edit_selected_row=Edit selected row +theme_xhred_database_edit_selected_rows=Edit selected rows +theme_xhred_database_add_new_row=Add row +theme_xhred_database_delete_selected_row=Delete selected row +theme_xhred_database_delete_selected_rows=Delete selected rows +theme_xhred_database_delete_selected_field=Delete selected field +theme_xhred_database_delete_selected_fields=Delete selected fields +theme_xhred_database_object_selected_delete=Delete selected object +theme_xhred_database_objects_selected_delete=Delete selected objects +theme_xhred_database_db_selected_drop=Drop selected database +theme_xhred_database_dbs_selected_drop=Drop selected databases +theme_xhred_database_edit_but_not_saved=Table data has been edited but not saved. + +theme_xhred_global_no_such_command=It appears that %cmd executable is not installed or not in the path on your system. + +theme_xhred_global_notice=Notice + +theme_xhred_updates_disabled_notice=Detected that you don't have enabled notifications for Authentic Theme updates?

    Enabling this feature in Theme Configuration will help you to update to the latest version in a single click as soon as it's out. + + +#18.00 +theme_xhred_global_file=File +theme_xhred_global_directory=Directory +theme_xhred_global_no_target=Target doesn't exist or not accessible +theme_xhred_global_error_code=Error code +theme_xhred_global_on=On +theme_xhred_global_off=Off +theme_xhred_global_all=All +theme_xhred_global_none=None +theme_xhred_global_yes=Yes +theme_xhred_global_no=No + +theme_xhred_filemanager_new_tab=Add new tab (Ctrl+Space) +theme_xhred_datatable_no_search_results=No results found
    Try a different search + +theme_xhred_filemanager_buffer_error=Failed to paste files to the buffer - permission denied. + +filemanager_create_object_exists=$3 `$1` already exists in `$2` +filemanager_create_object_denied=Can't create $3 `$1` in `$2` - permission denied. + +filemanager_paste_warning=Failed to paste target(s). It is possible that requested object(s) could have been renamed, moved or deleted while/before pasting. Another possible cause is that destination is not writable. It is worth checking objects' attributes. + +theme_xhred_filemanager_delete_warning=Deletion has finished successfully but not for all objects. It is possible that requested object(s) could have been renamed or moved before deletion. Restricted permissions (attributes) is another possible cause. Error message: + + +filemanager_rename_exists=$3 with name `$1` already exists in `$2` +filemanager_rename_denied=Can not rename the $3. This might happen because the source $3 has been removed or due to restricted permissions. + +theme_xhred_filemanager_successful_rename=Renaming `%from` to `%to` was successful. + +filemanager_global_info_total1=Total: $1 file and $2 directory +filemanager_global_info_total2=Total: $1 files and $2 directory +filemanager_global_info_total3=Total: $1 file and $2 directories +filemanager_global_info_total4=Total: $1 files and $2 directories + +theme_xhred_filemanager_selected_entry=Selected: %value entry + +theme_xhred_filemanager_search_query=Query mask +theme_xhred_filemanager_search_match=Find in results +theme_xhred_filemanager_search_replace=Replace in results + +theme_xhred_global_find=Find +theme_xhred_global_replace=Replace + +theme_xhred_filemanager_searching_matching=Searching for `%value` matching names of files/directories, containing `%text` text. +theme_xhred_filemanager_searching_replacing=Replacing matches `%text` with `%replace` in files with names containing `%value`. + +theme_xhred_filemanager_search_replaced_multi=Found and replaced in %value files. +theme_xhred_filemanager_search_replaced=Found and replaced in 1 file. + +theme_xhred_filemanager_successful_permissions_with_errors=Permissions have been changed successfully but not for all objects: + +theme_xhred_filemanager_successful_ownership_with_errors=Ownership has not been changed successfully for all objects: +theme_xhred_filemanager_successful_ownership_with_errors_fatal=Ownership can't be changed due to following errors: + +theme_xhred_filemanager_successful_compression_with_errors=Compression has finished with the following errors: +theme_xhred_filemanager_successful_compression_bg=Compression has successfully finished. Compressed file `%file is located in `%path` directory. +theme_xhred_filemanager_successful_compression_bg_with_errors=Compression has finished with errors. Compressed file `%file should be located in `%path` directory. + +theme_xhred_filemanager_settings_notification_type=Type of notifications to display +theme_xhred_filemanager_settings_notification_type_inf_warn_err=Informations, warnings and errors +theme_xhred_filemanager_settings_notification_type_warn_err=Warnings and errors +theme_xhred_filemanager_settings_notification_type_err=Errors only + +theme_xhred_filemanager_settings_tabs_remember_state=Restore previously used tabs on first load +theme_xhred_filemanager_context_open_new_tab=Open in new tab + +theme_xhred_xsql_fit_content_screen_height=Fit database table content in screen height + +theme_xhred_datatable_filter_visible_tables=Filter Visible Table(s) +theme_xhred_module_help=Module help + +theme_xhred_server_process_running=Server process is still running!? Are you sure that you want to navigate away and have no access to output information? Even if you leave now the process will not be terminated. + + +#18.03 +settings_global_options_title=Global options +settings_global_passgen_format=Password generator +settings_global_passgen_format_description=Set the length and character type used in the generated password. First value is numerical, which is the length of the password, immediately followed by | as a delimiter. Next is the type, where you can use numbers 0-9, letters a-z and/or A-Z, and special characters #. All of these sets can be used together or individually, using comma as a delimiter. Default value equals to 12|a-z,A-Z,0-9,#, which represents password with 12 characters in length, containing upper and lower case letters, numbers and special characters. +theme_xhred_password_generator_new=Generate New Password
    (To Clipboard) +theme_xhred_password_generator_new_success=Generated password %password has been copied to clipboard successfully. + + +#18.08 +theme_fileformat_perl=Perl +theme_fileformat_perl_placeholder=This file must end with `1;` to work successfully. + + +#18.10 +theme_error_access_not_root=Access denied: User needs access to the Webmin Configuration module to edit theme configuration + + +#18.20 +settings_hide_top_loader=Hide top progress bar + + +#18.30 +settings_leftmenu_vm_cm_dropdown_icons=Show symbolic icons in drop-down in Virtualmin/Cloudmin +settings_font_family=Font family +settings_font_family_description=Among all presented fonts' variants Roboto is shipped with the theme and set as default. The other fonts must be installed on your local computer in order to work. By using local fonts, the default one is not loaded, which will result in faster theme load +theme_xhred_global_shipped=Shipped +theme_xhred_global_available=Available +theme_xhred_global_not_available=Not available +theme_xhred_global_default=Default +theme_xhred_global_system_default=System default +theme_xhred_global_local_system_default=Local system default +theme_xhred_global_stats=Stats +theme_xhred_global_notifications=Notifications +theme_xhred_global_favorites=Favorites +theme_xhred_global_cpu_load=CPU load +theme_xhred_notification_none=No notifications +theme_xhred_notification_no_data=No collected data +theme_xhred_notification_no_favorites=No favorites data +theme_xhred_global_theme_version=Theme version + +settings_side_slider_sysinfo_enabled=Show dashboard tab +settings_side_slider_notifications_enabled=Show notifications tab +settings_side_slider_favorites_enabled=Show favorites tab +settings_show_terminal_link=Show terminal button + +theme_xhred_sysinfo_system_monitors=System Monitors +theme_xhred_sysinfo_server_status=Servers Status +theme_xhred_sysinfo_software_versions=Software Versions +theme_xhred_sysinfo_recent_logins=Recent Logins +theme_xhred_sysinfo_vm_package_updates=Virtualmin Package Updates +theme_xhred_sysinfo_disk_quotas=Disk Quotas +theme_xhred_sysinfo_bandwidth_quotas=Bandwidth Quotas + +left_netdata=Realtime Monitoring +settings_leftmenu_netdata=Show Netdata realtime monitoring link +settings_leftmenu_netdata_link=Netdata server preferred link + +theme_xhred_filemanager_context_chattr=Change attributes +theme_xhred_filemanager_changing_attributes=Setting attributes to %value on selected file(s). +theme_xhred_filemanager_successful_attributes_with_errors=Attributes haven't been set successfully for all objects: +theme_xhred_filemanager_successful_attributes=Attributes have been set successfully. + +theme_xhred_filemanager_context_chcon=Change security context +theme_xhred_filemanager_changing_secontext=Changing security context to %value on selected file(s). +theme_xhred_filemanager_successful_secontext_with_errors=Security context has not been changed successfully for all objects: +theme_xhred_filemanager_successful_secontext=Security context has been changed successfully. + +theme_xhred_global_no_results_found=No results found + + +#18.40 +theme_new_password_header=Set new password for user +login_reset=Password recovery +theme_xhred_move_top=Move to top +theme_xhred_move_bottom=Move to bottom +theme_xhred_move_up=Move up +theme_xhred_move_down=Move down +theme_xhred_add_after=Add after +theme_xhred_add_before=Add before +settings_button_tooltip=Show tooltip on buttons +settings_show_night_mode_link=Show palette toggle +settings_hotkey_toggle_key_night_mode=Hotkey for toggling dark/light palette +settings_title=Theme Configuration +settings_subtitle=For user + +theme_tooltip_night_mode=Day/night mode toggle +theme_tooltip_terminal_link=Terminal +theme_tooltip_language_link=Language +theme_tooltip_switch_user=Switch user +theme_tooltip_logout=Sign out +theme_tooltip_edit_user=Edit user + + +#18.45 +settings_sysinfo_easypie_charts_size=Diameter of charts +theme_xhred_global_choose=Choose +theme_xhred_global_select=Select +theme_xhred_global_ok=OK +settings_sysinfo_theme_patched_updates=Including patched versions +settings_sysinfo_theme_updates_description=In order to make this option work, git command has to be installed on your system +theme_git_patch_available=Latest available patch +theme_git_patch_no_git_message=In order to install latest patches directly from GitHub you must make sure that git command is installed. +theme_git_patch_update_success_message=Theme update for Webmin was successful. Currently installed version is $1. Reloading... +theme_git_patch_update_success_message2=Theme update for both Webmin and Usermin was successful. Currently installed version is $1. Reloading... +theme_xhred_git_patch_update=Theme update has failed. Try using console to do it manually. +theme_xhred_git_patch_initiated=Theme update has been initiated. +theme_xhred_global_prev_page=Go back one page +theme_xhred_global_help=Help +settings_right_soft_updates_page_options_title=Software updates +theme_xhred_git_compare_changes=Compare changes +theme_xhred_filemanager_link_to_clipboard=Symbolic link's name `%value` has been copied to clipboard. + + + +#18.46 +theme_left_mail_prefs=Mail Preferences +theme_left_mail_change_password=Change Password +theme_left_mail_account_functions=Account Functions +theme_xhred_global_dir_up=Go to previous directory (Backspace) +theme_xhred_global_module_config=Module config +theme_xhred_global_return=Return +theme_xhred_global_return_to_module_index=Return to module index + + +#18.47 +settings_account_info_link_mini=Show account information link as button +theme_xhred_global_complete_changelog=Complete changelog +theme_xhred_global_beta_version=Beta version +theme_xhred_global_release=Release +theme_xhred_global_released_on=Released on +theme_xhred_global_committed_on=Committed on +theme_xhred_global_resolved_issues=Resolved issues in %value releases + + +#18.48 +theme_force_upgrade=Force update theme +theme_force_upgrade_beta=Install latest development version (beta) +theme_force_upgrade_stable=Install latest release version (stable) +theme_xhred_source_encoding=Source encoding +theme_update_footer=Please be kind reporting bugs to $1 repository. Follow theme's $2 channel for the latest updates. +theme_xhred_encoding_manually_set=Manually set encoding +theme_xhred_filemanager_save_to_change_encoding=File must be saved, in order to allow encoding to be changed. + + +#18.49 +theme_xhred_filemanager_user_switch=Switch to user (Ctrl+M) +theme_xhred_filemanager_user_switch_description=By selecting the username listed below, you will switch further operations to be performed as this user. +theme_xhred_filemanager_user_switch_description_back=To switch back to default mode choose the first option in select. +theme_xhred_filemanager_user_switch_current_user=Current user +theme_xhred_filemanager_user_switch_option=Automatically switch to user mode upon entering its home directory +theme_xhred_filemanager_editor_align_panels_horizontally=Align Panels Horizontally +theme_xhred_filemanager_editor_align_panels_vertically=Align Panels Vertically +theme_xhred_filemanager_editor_toggle_soft_wrap=Toggle Soft Wrap +theme_xhred_filemanager_editor_refresh_content=Refresh Content +theme_xhred_filemanager_save_to_refresh_content=File must be saved, in order to allow its content to be refreshed. +theme_xhred_filemanager_save_to_refresh_content_proc=Refreshing file content. +theme_xhred_global_dark=Dark +theme_xhred_global_light=Light +theme_xhred_global_minimize=Minimize +theme_xhred_global_maximize=Maximize +theme_xhred_global_normalize=Normalize +theme_xhred_global_set_encoding=Set encoding + + +#19.00 +theme_xhred_sysinfo_update_start=System information is being recollected. +theme_xhred_sysinfo_update_end=System information has been recollected successfully. +theme_xhred_sysinfo_update_failed=System information can't be recollected. Try again later. + +theme_xhred_global_development_version=Development version + +right_vm_server_summary=Virtual Server Summary + +settings_webmin_default_module=Default module for Webmin + +theme_xhred_global_unbeforeunload_title=Changes you made may not be saved +theme_xhred_global_unbeforeunload_message=If you continue, unsaved changes on this page could be permanently lost. +theme_xhred_global_continue=Continue + +theme_xhred_global_automatic_refresh=Automatic refresh +theme_xhred_global_second=Second +theme_xhred_global_seconds=Seconds +theme_xhred_global_minute=Minute +theme_xhred_global_minutes=Minutes diff --git a/lang/no b/lang/no new file mode 120000 index 000000000..c11935626 --- /dev/null +++ b/lang/no @@ -0,0 +1 @@ +no.UTF-8 \ No newline at end of file diff --git a/lang/no.UTF-8 b/lang/no.UTF-8 new file mode 100644 index 000000000..14408f8e6 --- /dev/null +++ b/lang/no.UTF-8 @@ -0,0 +1,583 @@ +body_cp=CPU +body_cpu=CPU gjennomsnittlig last +body_cpuinfo=Prosessor informasjon +body_cputemps=CPU temperaturer +body_cputype=$5, $8 kjerner +body_disk=Lokal diskplass +body_driveerr=$1 feil! +body_drivefailed=SMART sjekk feilet! +body_drivetemps=Disk temperaturer +body_firewall=Firewall versjon +body_header0=Systeminformasjon +body_header1=Kontoinformasjon +body_host=Systemets vertsnavn +body_kernel=Kjerne og CPU +body_kernelon=$1 $2 pĂ„ $3 +body_load=$1 (1 min) $2 (5 min) $3 (15 min) +body_os=Operativsystem +body_procs=Prosesser som kjĂžrer +body_real=Faktisk minne +body_time=Tid pĂ„ serveren +body_updates=Pakkeoppdateringer +body_updays=$1 dag, $2 timer, $3 minutter +body_uphours=$1 timer, $2 minutter +body_upmins=$1 minutter +body_upneed=$1 pakkeoppdateringer er tilgjengelig +body_upneed1=$1 pakkeoppdatering er tilgjengelig +body_upok=Alle installerte pakker er oppdatert +body_upsec=$1 pakkeoppdateringer er tilgjengelig, $2 er sikkerhetsoppdateringer +body_upsec1=$1 pakkeoppdateringer er tilgjengelig, $2 er sikkerhetsoppdatering +body_upsec2=$1 pakkeoppdatering er tilgjengelig, $2 er sikkerhetsoppdateringer +body_upsec3=$1 pakkeoppdatering er tilgjengelig, $2 er sikkerhetsoppdatering +body_uptime=Systemets oppetid +body_used=$1 totalt / $2 brukt +body_used_and_free=$1 totalt / $2 ledig / $3 brukt +body_usermin=Usermin versjon +body_virt=Virtuelt minne +body_webmin=Webmin versjon +filemanager_create_object_denied=Kan ikke opprettet $3 `$1` i `$2` - tilgang nektet. +filemanager_create_object_exists=$3 `$1` finnes allerede i `$2` +filemanager_global_info_total1=Totalt: $1 fil og $2 katalog +filemanager_global_info_total2=Totalt: $1 filer og $2 katalog +filemanager_global_info_total3=Totalt: $1 fil og $2 kataloger +filemanager_global_info_total4=Totalt: $1 filer og $2 kataloger +filemanager_paste_warning=Failed to paste target(s). It is possible that requested object(s) could have been renamed, moved or deleted while/before pasting. Another possible cause is that destination is not writable. It is worth checking objects' attributes. +filemanager_rename_denied=Can not rename the $3. This might happen because the source $3 has been removed or due to restricted permissions. +filemanager_rename_exists=$3 med navn `$1` finnes allerede i `$2` +left_favorites=Favoritter +left_favorites_no=Det er ikke lagt til noen favoritter enda... +left_feedback=Send tilbakemelding +left_home=Systeminformasjon +left_netdata=Sanntids overvĂ„king +left_others=Andre +left_refresh_modules=Oppdater moduler +left_search=SĂžk +left_statistics=System Statistikk +login_danger=Feil! +login_message=Du mĂ„ skrive inn et brukernavn og passord for Ă„ logge inn pĂ„ +login_pass=Passord +login_reset=Tilbakestill +login_save=Husk meg +login_signin=Logg inn +login_success=Vellykket! +login_token=Token +login_user=Brukernavn +login_warning=Advarsel! +right_aliases=Alias tjenere +right_bw=BĂ„ndbreddebruk og begrensing +right_dom=Navn pĂ„ din tjener +right_faliases=E-post aliaser +right_fdbs=Databaser +right_fdoms=Virtuelle Tjenere +right_from=Innlogget fra +right_fusers=E-post/FTP brukere +right_fusers2=FTP brukere +right_fvm2=Virtuelle maskiner +right_fweb=Virtuelle Nettsteder +right_licenceheader_vm2=Cloudmin lisenser +right_login=Innlogget som +right_not=Ikke installert +right_of=$1 av $2 +right_quota=Diskbruk og kvoter +right_reselip=(Forhandler $1) +right_return_theme_options=tema innstillinger +right_sharedip=(Delt IP) +right_slcheck=Re-sjekk Cloudmin lisens +right_subs=Under-tjenere +right_unlimited=Ubegrenset +right_virtdocs2=Ekstra dokumentasjon +right_virtualmin=Virtualmin versjon +right_vlcheck=Re-sjekk Virtualmin lisens +right_vm2=Cloudmin versjon +session_failed=Feil ved innlogging. Vennligst prĂžv igjen. +session_logout=Du har blitt logget ut. Bruk skjema under for Ă„ logge inn igjen. +session_timed_out=Økta gikk ut etter $ 1 minutter uten aktivitet. +session_twofailed=To-faktor autentisering feilet: $1 +settings_account_info_link_mini=Vis lenke til konto-informasjon som knapp +settings_animation_left=Aktiver animasjon i navigasjonsmeny +settings_animation_tabs=Aktiver animasjon i faner +settings_background_color=Fargepalett for innholdsside +settings_brightness_level_navigation=Brightness filter +settings_brightness_level_navigation_description=Standard/gjeldende verdier 1/0 +settings_button_tooltip=Vis verktĂžytips pĂ„ knapper +settings_cm_editor_palette=Editor fargepalett +settings_cm_view_palette=Viewer color palette +settings_contrast_level_navigation=Kontrast filter +settings_contrast_level_navigation_description=Standard/gjeldende verdier 1/0 +settings_favorites=Vis Favoritter-knapp +settings_font_family=Skrift-familie +settings_font_family_description=Blant alle presenterte skrift-varianter leveres Roboto med temaet og er satt som standard. De andre skriftene mĂ„ vĂŠre installert pĂ„ din lokale maskin for Ă„ fungere. Ved Ă„ bruke lokale skrifter, blir standard font ikke lastet, noe som vil resultere i raskere lasting av tema +settings_global_options_title=Globale innstillinger +settings_global_passgen_format=Passord generator +settings_global_passgen_format_description=Angi lengde og tegntype som brukes i genererte passord. FĂžrste verdi er numerisk, og angir passord lengden, umiddelbart etterfulgt av | som skilletegn. Neste er typen, hvor du kan bruke tall 0-9, bokstaver a-z og eller A-Z, og spesialtegn #. Alle disse settene kan brukes sammen eller enkeltvis, bruk komma som skilletegn mellom dem. Standardverdien er 12|a-z,A-Z,0-9,#, som angir passord med 12 tegns lengde, og som inneholder smĂ„ og store bokstaver, tall og spesialtegn. +settings_grayscale_level_content=GrĂ„skala filter +settings_grayscale_level_content_description=Standard/gjeldende verdier 0/0 +settings_grayscale_level_navigation=GrĂ„skala filter +settings_grayscale_level_navigation_description=Standard/gjeldende verdier 0/0 +settings_hide_top_loader=Skjul fremdriftslinjen pĂ„ toppen og lasteren dens +settings_hotkey_custom_1=Egendefinert lenke 1 +settings_hotkey_custom_2=Egendefinert lenke 2 +settings_hotkey_custom_3=Egendefinert lenke 3 +settings_hotkey_custom_4=Egendefinert lenke 4 +settings_hotkey_custom_5=Egendefinert lenke 5 +settings_hotkey_custom_6=Egendefinert lenke 6 +settings_hotkey_custom_7=Egendefinert lenke 7 +settings_hotkey_custom_8=Egendefinert lenke 8 +settings_hotkey_custom_9=Egendefinert lenke 9 +settings_hotkey_favorites=Hurtigtast for Favoritter +settings_hotkey_focus_search=Hurtigtast for sĂžkefelt +settings_hotkey_reload=Hurtigtast for omlasting av side +settings_hotkey_shell=Hurtigtast for skall +settings_hotkey_sysinfo=Hurtigtast for System Informasjon +settings_hotkey_toggle_key_cloudmin=Hurtigtast for Cloudmin +settings_hotkey_toggle_key_night_mode=Hurtigtast for veksling mellom mĂžrk og lys palett +settings_hotkey_toggle_key_usermin=Hurtigtast for Usermin +settings_hotkey_toggle_key_virtualmin=Hurtigtast for Virtualmin +settings_hotkey_toggle_key_webmail=Hurtigtast for E-post +settings_hotkey_toggle_key_webmin=Hurtigtast for Webmin +settings_hotkey_toggle_modifier=Hotkeys modifier +settings_hotkey_toggle_slider=Hurtigtast for Notification Slider +settings_hotkeys_active=Aktiver bruk av hurtigtaster +settings_hue_level_content=Hue-rotate filter +settings_hue_level_content_description=Standard/gjeldende verdier 0°/0° +settings_hue_level_navigation=Hue-rotate filter +settings_hue_level_navigation_description=Standard/gjeldende verdier 0°/0° +settings_invert_level_navigation=Invert filter +settings_invert_level_navigation_description=Standard/gjeldende verdier 0/0 +settings_leftmenu_button_language=Vis sprĂ„k-knapp +settings_leftmenu_button_refresh=Vis oppfriskings-knapp +settings_leftmenu_netdata=Vis lenke for Netdata sanntidsovervĂ„king +settings_leftmenu_netdata_link=Foretrukket lenke for Netdata tjener +settings_leftmenu_section_hide_refresh_modules=Skjul lenken Oppfrisk moduler +settings_leftmenu_section_hide_unused_modules=Skjul lenken Ubrukte moduler +settings_leftmenu_user_html=Vis HTML snippet +settings_leftmenu_user_html_description=Brukerdefinert tekst eller HTML-kode settes inn nederst i navigasjonsmenyen. Den kan brukes til identifikasjonsformĂ„l. Hvis du for eksempel vil vise vertsnavnet ditt eksplisitt, kan du legge til feltet <br><kbd>hostname:10000</kbd> +settings_leftmenu_user_html_only_for_administrator=Vis HTML snippet kun for administratorer +settings_leftmenu_vm_cm_dropdown_icons=Vis symbolske ikoner i neddtrekk i Virtualmin/Cloudmin +settings_leftmenu_width=Foretrukket bredde +settings_leftmenu_width_description=Standard/gjeldende bredde 260/0 +settings_loader_left=Aktiver spinner for navigasjonsmeny +settings_loader_top=Aktiver side fremdriftslasert pĂ„ toppen av skjermen +settings_navigation_color=Fargepalett for navigasjonsmeny +settings_right_animate_table_icons=Animer tabellikoner ved fokus +settings_right_clear_local_cache=Nullstill cache +settings_right_cloudmin_default=Standard side for Cloudmin +settings_right_current_theme=Gjeldende tema +settings_right_default_tab_usermin=Standard fane etter innlogging pĂ„ Usermin +settings_right_default_tab_webmin=Standard fane etter innlogging pĂ„ Webmin +settings_right_extensions_title=Omfattende temadesign gjĂžr at du enkelt kan manipulere spesifikke deler av grensesnittet. +settings_right_file_edit=Rediger utvidelsesfil: +settings_right_grayscaled_table_icons=GrĂ„skaler tabellikoner og sett farge kun pĂ„ fokus ikon +settings_right_hide_table_icons=Skjul tabellikoner for hĂžyre ramme +settings_right_hide_table_icons_description=Fjerner ikoner helt fra tabeller pĂ„ innholdssiden og viser vanlige lenker med hĂžyre dobbelthake +settings_right_hotkey_custom_options_description=Tilpassede koblinger gjĂžr at du kan bruke tallene fra 1 til 9 for rask tilgang til en hvilken som helst gyldig Webmin/Usermin/Virtualmin/Cloudmin URL. URLen kan hentes ut fra den gjeldende innholdssiden i hĂžyre ramme ved Ă„ lese kilden. Det er viktig at URLen ikke har noen skrĂ„strek i begynnelsen og ikke bruke prefikser. For eksempel, for Ă„ hurtigskifte til Apache, sett tilpasset kobling 1 felt til /apache/. Hvis standard hurtigtaster-tast er satt til Alt vil Alt + 1 Ă„pne Apache-modulen +settings_right_hotkey_options_title=Hurtigtast innstillinger +settings_right_logo_authenticated_users=Logo for autentiserte brukere +settings_right_logo_unauthenticated_users=Logo for unauthenticated users +settings_right_logos_title=Tema logoer kan enkelt settes her, for bĂ„de autentiserte og uautoriserte brukere. Anbefalt logostĂžrrelse er 180x90 piksler, og det eneste stĂžttede formatet er .png, for Ă„ gi alfa-gjennomsiktighet. +settings_right_navigation_menu_title=Innstillinger for navigasjonsmeny +settings_right_notification_slider_options_title=Notification Slider options +settings_right_options=Innstillinger +settings_right_page_defaults_title=Standard sider +settings_right_reload=Last standard innholdsside +settings_right_reload_description=NĂ„r du bytter faner, lastes innholdet pĂ„ hĂžyre ramme pĂ„ nytt. Ikke behold hĂžyre rammeinnholdsside og last pĂ„ nytt med standard innholdsside? +settings_right_restore_defaults=Gjenopprett standardverdier +settings_right_restored=Gjenopprettet +settings_right_restoring=Gjenoppretter +settings_right_saved=Lagret +settings_right_saving=Lagrer +settings_right_small_table_icons=SmĂ„ tabellikoner +settings_right_small_table_icons_description=Erstatt standard stĂžrrelse tabellikoner med smĂ„ ikoner og vis ikonenes lenke som verktĂžytips +settings_right_soft_updates_page_options_title=Programvareoppdateringer +settings_right_sysinfo_page_options_title=Innstillinger for Systeminformasjonsside +settings_right_table_options_title=Tabell innstillinger +settings_right_theme_configurable_options_title=Konfigurerbare innstillinger for Authentic tema +settings_right_theme_extensions=Tema utvidelser +settings_right_theme_extensions_title=Tema utvidelser +settings_right_theme_left_configuration_title=Authentic tema Konfigurasjon +settings_right_theme_left_extensions_title=Authentic tema utvidelses-editor +settings_right_theme_left_logo_title=Authentic tema logokontroll +settings_right_theme_logos=Tema logoer +settings_right_theme_logos_title=Tema logoer +settings_right_thirdparties_options_title=Innstillinger for tredje-parts moduler +settings_right_title=Denne siden lar deg konfigurere innstillinger for Authentic tema. Innstillinger vil bli lagret ved oppdatering av tema. +settings_right_virtualmin_default=Standard side for Virtualmin +settings_right_window_options_title=Vindu innstillinger +settings_saturate_level_content=Metningsfilter +settings_saturate_level_content_description=Standard/gjeldende verdier 1/0 +settings_saturate_level_navigation=Metningsfilter +settings_saturate_level_navigation_description=Standard/gjeldende verdier 1/0 +settings_security_description=Sikkerhetsvarsler lar deg sette opp e-postvarsler ved bestemte hendelser. (Linux-kommandoen mail er nĂždvendig for at denne funksjonen skal fungere)
    Format: Melding|Emne|Kommaseparert liste over brukere/e-post|Kommaseparert liste over ignorert IPv4/IPv6
    Bruk: %3 vellykket pÄloggingsvarsel for bruker %1 fra %2|%3 vellykket pÄloggingsvarsel|root,user@example.org|1.2.3.4,5.6.7.8
    Output: Fra: root, Til: root, Emne: Webmin vellykket pÄloggingsvarsling, Melding: Webmin vellykket pÄloggingsvarsel for bruker root fra 2.3.4.5 +settings_security_title=Innstillinger for sikkerhetsvarsler +settings_sepia_level_navigation=Sepia filter +settings_sepia_level_navigation_description=Standard/gjeldende verdier 0/0 +settings_show_night_mode_link=Vis palettbryter +settings_show_terminal_link=Vis terminal-knapp +settings_side_slider_background_refresh_time=Tidsavbrudd for bakgrunnsinformasjon oppdatering +settings_side_slider_background_refresh_time_description=Angi Þnsket tidsavbrudd for oppdatering av varslingsglass i bakgrunnssamtaler. Verdien er ment Ä vÊre i minutter. Minimum anbefalt verdi er 1 minutt. Standard er satt til 5 minutter. Desimalverdier kan ogsÄ brukes. +settings_side_slider_enabled=Aktiver slider +settings_side_slider_favorites_enabled=Vis Favoritter-fane +settings_side_slider_fixed=Hold glidebryter alltid synlig +settings_side_slider_notifications_enabled=Vis Beskjeder-fane +settings_side_slider_palette=Slider palett +settings_side_slider_sysinfo_enabled=Vis Oversikt fane +settings_subtitle=For bruker +settings_switch_rdisplay=Reverse switch output +settings_switch_rdisplay_description=Dette alternativet lar deg angi annen rekkefÞlge pÄ topp-venstre brytere. Etter Ä ha endret dette alternativet, mÄ du foreta en fullstendig omlasting av siden for Ä ta i bruk nye innstillinger. +settings_sysinfo_csf_updates=Se etter ConfigServer Security & Firewall oppdateringer +settings_sysinfo_drive_status_on_new_line=Vis status for CPU og disker pÄ hver sin linje +settings_sysinfo_easypie_charts=Vis diagrammer +settings_sysinfo_easypie_charts_scale=Diagram skalalengde +settings_sysinfo_easypie_charts_size=Diameter for diagrammer +settings_sysinfo_easypie_charts_width=Diagram bredde +settings_sysinfo_expand_all_accordions=Utvid alle trekkspill +settings_sysinfo_link_mini=Vis system-informasjon lenke som knapp +settings_sysinfo_theme_patched_updates=Inkludert patchede versjoner +settings_sysinfo_theme_updates_description=For at denne innstillingen skal virke mÄ git kommandoen vÊre installert pÄ systemet ditt +settings_sysinfo_theme_updates=Check for Authentic Theme updates +settings_theme_options_button=VIs knapp for tema innstillinger +settings_title=Tema konfigurasjon +settings_window_replace_timestamps=Aktiver dato-erstatninger +settings_window_replaced_timestamp_format_full=Langt dato/tidsformat +settings_window_replaced_timestamp_format_short=Kort dato/tidsformat +settings_window_replaced_timestamps_options_description=Tilpass dato/tids-innstillinger for Ä angi Þnsket utdata for visning av datoer i full eller kort format. Innbygget har dette alternativet effekt i Notifikasjon Slider og Systeminformasjon-siden (pÄ rad Tid pÄ system). Som standard er fullt format lik LLLL og kort er L, LTS. Tidsformatet er forskjellig for forskjellige lokaliteter. SprÄk er basert pÄ Webmin sprÄkinnstillinger. +sysinfo_system_status_warning=For Ä ha vise Systeminformasjon mÄ du aktivere System Status modulen i brukerinnstillingene. +theme_changelog=Endringslogg +theme_conference=Tema Konferanse +theme_development_support=Utvikling Support +theme_donate=Donasjon +theme_download=Last ned +theme_error_access_not_root=Tilgang nektet: Brukeren mÄ ha tilgang til modulen Webmin konfigurasjon for Ä redigere tema-konfigurasjon +theme_fileformat_css=CSS +theme_fileformat_js=Javascript +theme_fileformat_json=JSON +theme_fileformat_perl=Perl +theme_fileformat_perl_placeholder=Denne filen mÄ slutte med `1;` for Ä virke ordentlig. +theme_fileformat_plain_text=Vanlig tekst +theme_force_upgrade=Tving oppdatering av tema +theme_force_upgrade_beta=Installer siste utviklingsversjon (beta) +theme_force_upgrade_stable=Installer siste ordinÊre versjon (stabil) +theme_git_patch_available=Siste tilgjengelige patch +theme_git_patch_no_git_message=For Ä kunne installere siste patcher direkte fra GitHub mÄ git kommandoen vÊre installert. +theme_git_patch_update_success_message=Tema oppgradering for Webmin gjennomfÞrt. Gjeldende installerte versjon er $1. Laster pÄ nytt... +theme_git_patch_update_success_message2=Tema oppgradering for bÄde Webmin og Usermin gjennomfÞrt. Gjeldende installerte versjon er $1. Laster pÄ nytt... +theme_global_error=Feil +theme_global_info=Informasjon +theme_global_success=Suksess +theme_global_warning=Advarsel +theme_left_mail_account_functions=Konto-funksjoner +theme_left_mail_change_password=Endre passord +theme_left_mail_prefs=E-post innstillinger +theme_name=Authentic tema +theme_new_password_header=Sett nytt passord for bruker +theme_settings_cloudmin=Cloudmin administrerte systemer +theme_settings_virtualmin=Virtualmin Virtuelle tjenere +theme_sysinfo_cmdocs=Cloudmin dokumentasjon +theme_sysinfo_vmdocs=Virtualmin dokumentasjon +theme_sysinfo_wmdocs=Webmin dokumentasjon +theme_tooltip_edit_user=Rediger bruker +theme_tooltip_language_link=SprÄk +theme_tooltip_logout=Logg ut +theme_tooltip_night_mode=Bytt mellom dag og natt modus +theme_tooltip_switch_user=Bytt bruker +theme_tooltip_terminal_link=Terminal +theme_update=Oppdater +theme_update_available=Siste tilgjengelige versjon +theme_update_footer=VÊr snill Ä rapportere feil til $ 1 depot. FÞlg temaets $ 2 kanal for de siste oppdateringene. +theme_update_notice=Oppdateringsmelding +theme_version=Temaversjon +theme_xhred_add_after=Legg til etter +theme_xhred_add_before=Legg til fÞr +theme_xhred_database_add_new_row=Legg til rad +theme_xhred_database_add_row_successful=Ny rad ble lagt til +theme_xhred_database_adding_new_row=Legger til ny rad +theme_xhred_database_adding_new_row_data=Sett data +theme_xhred_database_db_selected_drop=Dropp valgt database +theme_xhred_database_dbs_selected_drop=Dropp valgte databaser +theme_xhred_database_delete_selected_field=Slett valgt felt +theme_xhred_database_delete_selected_fields=Slett valgte felt +theme_xhred_database_delete_selected_row=Slett valgt rad +theme_xhred_database_delete_selected_rows=Slett valgte rader +theme_xhred_database_edit_but_not_saved=Tabell-data er redigert men ikke lagret. +theme_xhred_database_edit_field_delete_successful=Valgt felt ble slettet +theme_xhred_database_edit_fields_delete_successful=Slettet %n valgte felt +theme_xhred_database_edit_row_delete_successful=Valgt rad ble slettet +theme_xhred_database_edit_row_successful=Valgt rad ble oppdatert +theme_xhred_database_edit_rows_delete_successful=Slettet %n valgte rader +theme_xhred_database_edit_rows_successful=Valgte rader ble oppdatert +theme_xhred_database_edit_selected_row=Rediger valgt rad +theme_xhred_database_edit_selected_rows=Rediger valgte rader +theme_xhred_database_editing_row=Redigerer valgt rad +theme_xhred_database_editing_rows=Redigerer valgte rader +theme_xhred_database_object_selected_delete=Slett valgt objekt +theme_xhred_database_objects_selected_delete=Slett valgte objekter +theme_xhred_datatable_filter=Filter +theme_xhred_datatable_filter_visible_tables=Filtrer synlig(e) tabell(er) +theme_xhred_datatable_no_search_results=Ingen reultater funnet
    PrĂžv et annet sĂžk +theme_xhred_datatable_semptydirectory=Katalogen er tom +theme_xhred_datatable_semptytable=Ingen data tilgjengelig i tabellen +theme_xhred_datatable_sinfo=Viser _START_ til _END_ av _TOTAL_ oppfĂžringer +theme_xhred_datatable_sinfoempty=Viser 0 til 0 av 0 oppfĂžringer +theme_xhred_datatable_slengthmenu=Vise _MENU_ oppfĂžringer +theme_xhred_datatable_sloadingrecords=Laster +theme_xhred_datatable_sprocessing=Behandler... +theme_xhred_datatable_szerorecords=Ingen matchende oppfĂžringer funnet +theme_xhred_editor_help_content=
    Finn/Erstatt
    Tastetrykk Kommando
    Ctrl + F Finn
    Ctrl + H Erstatt
    Ctrl + ñ‡§ + R Erstatt alle
    Ctrl + G Finn neste
    Ctrl + ñ‡§ + G Finn forrige
    Alt + G GĂ„ til linje
    Tekst manipulasjon
    Tastetrykk Kommando
    Ctrl + KU Endre til STORE bokstaver
    Ctrl + KL Endre til smÄ bokstaver
    Redigering
    Tastetrykk Kommando
    Ctrl + Mellomrom Aktiver autofullfĂžr
    Ctrl + X Klipp ut linje
    Ctrl + ñ‡§ + ñ†‘ Flytt linje/utvalg opp
    Ctrl + ñ‡§ + ñ†“ Flytt linje/utvalg ned
    Ctrl + L Velg linje - Gjenta for Ă„ velge neste linjer
    Ctrl + D Velg ord - Gjenta velger andre forekomster
    Ctrl + M GÄ til lukkende parentes Gjenta for Ä gÄ til lukkende parentes
    Ctrl + ñ‡§ + M Velg alt innhold i aktiv parentes
    Ctrl + ñ‡§ + K Slett linje
    Ctrl + KK Slegg fra markĂžr til slutten av linje
    Ctrl + K + Backspace Slett fra markĂžr til starten av linje
    Ctrl + ñ‡§ + D Dupliser linje(r)
    Ctrl + J Lim linjen under op slutten av gjeldende linje
    Ctrl + / Kommenter/av-kommenter gjeldende linje
    Ctrl + ñ‡§ + / Blokk-kommenter gjeldende utvalg
    Ctrl + Y GjÞr pÄ nytt eller gjenta siste tastatur-snarvei kommando
    Ctrl + ñ‡§ + V Lim inn og indenter korrekt
    Ctrl + Mellomrom Velg neste auto-fullfĂžr forslag
    Ctrl + U mykt angre; gÄr til din siste endring fÞr angring av endring, hvis gjentatt
    +theme_xhred_editor_help_title=Editor tastatur-snarveier +theme_xhred_encoding_manually_set=Set koding manuelt +theme_xhred_encoding_warning=Oppdaget at du bruker ikke-unicode tegnsett, som ikke anbefales. Merkelig Ã-tegn kan vises i tekstredigeringsmodus og/eller du kan oppleve andre kodingsproblemer.

    Endre sprÄk i %prod Konfigurasjon til %lang.UTF-8 og sÞrg for at nettleseren din ogsÄ oppdager det riktig.

    VÊr oppmerksom pÄ at den innebygde Webmin modulen Endre sprÄk og tema kan overstyre globale innstillinger.
    +theme_xhred_filemanager__no_bookmarks=Ingen lagrede bokmerker +theme_xhred_filemanager_bookmark=Bokmerk gjeldende katalog +theme_xhred_filemanager_bookmark_success=Katalogen %value ble lagt til i bokmerkene dine. +theme_xhred_filemanager_buffer_error=Kunne ikke lime inn filer til bufferet - tilgang nektet. +theme_xhred_filemanager_changing_attributes=Setter attributter til %value pĂ„ valgt(e) fil(er). +theme_xhred_filemanager_changing_ownership=Endrer eierskap til %value pĂ„ valgt(e) fil(er). +theme_xhred_filemanager_changing_secontext=Endrer sikkerhetskontekst til %value pĂ„ valgt(e) fil(er). +theme_xhred_filemanager_compressing_selected=Komprimerer valgt(e) i bakgrunnen. +theme_xhred_filemanager_context_bookmark_current=Lag bokmerke for gjeldende Ă„pen sti +theme_xhred_filemanager_context_bookmarks=Bokmerker +theme_xhred_filemanager_context_calculate_selected_size=Beregn valgt stĂžrrelse +theme_xhred_filemanager_context_calculate_size=Beregn stĂžrrelse pĚmellomromstast +theme_xhred_filemanager_context_chattr=Endre attributter +theme_xhred_filemanager_context_chcon=Endre sikkerhets-kontekst +theme_xhred_filemanager_context_chmod=Endre tillatelser +theme_xhred_filemanager_context_chown=Endre eierskap +theme_xhred_filemanager_context_clipboard=Kopier sti til uklippstavle +theme_xhred_filemanager_context_copy=Kopier +theme_xhred_filemanager_context_cut=Klipp ut +theme_xhred_filemanager_context_delete=Slett +theme_xhred_filemanager_context_delete_selected=Slett valgte +theme_xhred_filemanager_context_deselect_all=Fravelg alt +theme_xhred_filemanager_context_download=Last ned fra ekstern URL +theme_xhred_filemanager_context_download_file=Last ned +theme_xhred_filemanager_context_edit=Rediger +theme_xhred_filemanager_context_extract=Pakk ut +theme_xhred_filemanager_context_goto=Åpne elementets plassering +theme_xhred_filemanager_context_new=Ny +theme_xhred_filemanager_context_newarchive=Nytt arkiv +theme_xhred_filemanager_context_newfile=Ny fil +theme_xhred_filemanager_context_newfoder=Ny katalog +theme_xhred_filemanager_context_open_new_tab=Åpne i ny fane +theme_xhred_filemanager_context_paste=Lim inn +theme_xhred_filemanager_context_properties=Egenskaper +theme_xhred_filemanager_context_refresh=Oppfrisk +theme_xhred_filemanager_context_rename=OmdĂžp +theme_xhred_filemanager_context_search=SĂžk +theme_xhred_filemanager_context_select_all=Velg alt +theme_xhred_filemanager_context_select_invert=Inverter valg +theme_xhred_filemanager_context_transfer=OverfĂžr +theme_xhred_filemanager_context_upload=Last opp til gjeldende katalog +theme_xhred_filemanager_copying_selected=Kopierer valgte. +theme_xhred_filemanager_copying_successful=Kopiert til utklippstavle. +theme_xhred_filemanager_creating_directory=Oppretter katalog +theme_xhred_filemanager_creating_file=Oppretter fil +theme_xhred_filemanager_cutting_selected=Klipper ut valgt. +theme_xhred_filemanager_cutting_successful=Utklipp til utklippstavle gjennomfĂžrt. +theme_xhred_filemanager_delete_warning=Sletting er fullfĂžrt, men ikke for alle objekter. Det kan hende al forespurt(e) objekt(er) har blitt omdĂžpt eller flyttet fĂžr sletting. Manglende rettigheter (attributter) er en annen mulig Ă„rsak. Feilmelding: +theme_xhred_filemanager_deleting_selected=Sletter valgte. +theme_xhred_filemanager_downloading_from=Laster ned fra +theme_xhred_filemanager_editor_align_panels_horizontally=Juster paneler horisontalt +theme_xhred_filemanager_editor_align_panels_vertically=Juster paneler vertikalt +theme_xhred_filemanager_editor_refresh_content=Oppfrisk innhold +theme_xhred_filemanager_editor_toggle_soft_wrap=SlĂ„ av/pĂ„ myk wrap +theme_xhred_filemanager_empty_clipboard=Utklippstavlen er tom. +theme_xhred_filemanager_file_edit_but_not_saved=Filen er blitt redigert men er ikke blitt lagret. +theme_xhred_filemanager_file_edit_but_not_saved_what_to_do=Hva Ăžnsker du Ă„ gjĂžre? +theme_xhred_filemanager_file_saved=Filen `%value` er lagret. +theme_xhred_filemanager_hide_actions=Skul handlings-kolonne +theme_xhred_filemanager_hide_toolbar=Skjul verktĂžylinje +theme_xhred_filemanager_hovered_toolbar=Aktiver nedtrekk i verktĂžylinjen musepekeren beveges over +theme_xhred_filemanager_link_to_clipboard=Symbolsk lenkes navn `%value` er kopiert til utklippstavlen. +theme_xhred_filemanager_manual_path=Angi sti manuelt +theme_xhred_filemanager_move_into_self=Du kan ikke flytte en katalog til seg selv! MĂ„lkatalogen er inne i kildekatalogen. +theme_xhred_filemanager_new_tab=Legg til ny fane (Ctrl+Mellomrom) +theme_xhred_filemanager_no_selection_to_copy=Ingen kataloger/filer valgt for kopiering. +theme_xhred_filemanager_no_selection_to_cut=Ingen kataloger/filer valgt for Ă„ klippe ut. +theme_xhred_filemanager_not_decompressable=Kan ikke dekomprimere denne filtypen. +theme_xhred_filemanager_not_editable=Kan ikke redigere denne type valg. +theme_xhred_filemanager_nothing_is_selected=Ingenting valgt! +theme_xhred_filemanager_pasting_and_copying_1=Valgt kilde er limt inn med nytt navn. +theme_xhred_filemanager_pasting_and_copying_2=Valgte kilder er limt inn med de nye navnene. +theme_xhred_filemanager_pasting_and_replacing_1=Eksisterende mĂ„l er erstattet med nytt mĂ„l. +theme_xhred_filemanager_pasting_and_replacing_2=Eksisterende mĂ„l er erstatte med nye. +theme_xhred_filemanager_pasting_selected=Limer inn fra utklippstavle. +theme_xhred_filemanager_pasting_successful=Innliming fra utklippstavle utfĂžrt. +theme_xhred_filemanager_refreshing=Oppfrisker katalog-innhold. +theme_xhred_filemanager_renaming_selected=OmdĂžper valgt(e) +theme_xhred_filemanager_save_to_change_encoding=FIlen mĂ„ lagres fĂžr koding kan endres. +theme_xhred_filemanager_save_to_refresh_content=FIlen mĂ„ lagres fĂžr innholdet kan oppfriskes. +theme_xhred_filemanager_save_to_refresh_content_proc=Oppfrisker fil-innhold. +theme_xhred_filemanager_saving_file=Filen `%value` blir lagret. +theme_xhred_filemanager_search_found=Fant 1 match. +theme_xhred_filemanager_search_founds=Fant %value matcher. +theme_xhred_filemanager_search_match=Finn i resultater +theme_xhred_filemanager_search_no_matches=Ingen matcher funnet. +theme_xhred_filemanager_search_query=SpĂžrre maske +theme_xhred_filemanager_search_replace=Erstatt i resultater +theme_xhred_filemanager_search_replaced=Fant og erstattet i 1 fil. +theme_xhred_filemanager_search_replaced_multi=Fant og erstattet i %value filer. +theme_xhred_filemanager_searching=SĂžker etter `%value` matchende navn pĂ„ filer/kataloger. +theme_xhred_filemanager_searching_matching=SĂžker etter `%value` matchende navn pĂ„ filer/kataloger som inneholder teksten `%text`. +theme_xhred_filemanager_searching_replacing=Erstatter matcher `% text` med `%replace` i filer med navn som inneholder `%value`. +theme_xhred_filemanager_selected_entries=Valgt: %value oppfĂžringer +theme_xhred_filemanager_selected_entry=Valgt: %value oppfĂžring +theme_xhred_filemanager_setting_permissions=Setter tillatelser til %value pĂ„ valgt(e) fil(er). +theme_xhred_filemanager_settings_notification_type=Type beskjed som skal vises +theme_xhred_filemanager_settings_notification_type_err=Kun feil +theme_xhred_filemanager_settings_notification_type_inf_warn_err=Informasjoner, advarsler og feil +theme_xhred_filemanager_settings_notification_type_warn_err=Advarsler og feil +theme_xhred_filemanager_settings_tabs_remember_state=Gjenopprett tidligere brukte faner ved fĂžrste lasting. +theme_xhred_filemanager_successful_attributes=Attributter er satt +theme_xhred_filemanager_successful_attributes_with_errors=Attributter er ikke satt for alle objekter. +theme_xhred_filemanager_successful_compression=Komprimering er fullfĂžrt +theme_xhred_filemanager_successful_compression_bg=Komprimering er fullfĂžrt. Komprimert fil `%file finnes i katalogen `%path` . +theme_xhred_filemanager_successful_compression_bg_with_errors=Komprimering er fullfĂžrt med feil. Komprimert fil `%file skal finnes i katalogen `%path` . +theme_xhred_filemanager_successful_compression_with_errors=Komprimering er fullfĂžrt med fĂžlgende feil: +theme_xhred_filemanager_successful_deletion=Sletting utfĂžrt. +theme_xhred_filemanager_successful_directory_creation=Katalogen `%value` ble opprettet. +theme_xhred_filemanager_successful_extraction=Utpakking av valgt(e) fil(er) utfĂžrt. +theme_xhred_filemanager_successful_file_creation=Filen `%value` ble opprettet. +theme_xhred_filemanager_successful_ownership=Eierskap er endret. +theme_xhred_filemanager_successful_ownership_with_errors=Eierskap er ikke endret for alle objekter: +theme_xhred_filemanager_successful_ownership_with_errors_fatal=Eierskap kan ikke endres pga. fĂžlgende feil: +theme_xhred_filemanager_successful_permissions=Tillatelser er endret. +theme_xhred_filemanager_successful_permissions_with_errors=Tillatelser er endret men ikke for alle objekter: +theme_xhred_filemanager_successful_rename=OmdĂžping av `%from` til `%to` er gjennomfĂžrt. +theme_xhred_filemanager_successful_secontext=Sikkerhets-kontekst er endret. +theme_xhred_filemanager_successful_secontext_with_errors=Sikkerhets-kontekst er ikke endret for alle objekter. +theme_xhred_filemanager_target_conflict_1=MĂ„l-konflikt +theme_xhred_filemanager_target_conflict_2=MĂ„l-konflikter +theme_xhred_filemanager_target_conflict_message_1=Innlimt mĂ„l finnes allerede! Hva Ăžnsker du Ă„ gjĂžre? +theme_xhred_filemanager_target_conflict_message_2=Innlimte mĂ„l finnes allerede! Hva Ăžnsker du Ă„ gjĂžre? +theme_xhred_filemanager_target_conflict_paste=Lim inn med nytt navn +theme_xhred_filemanager_target_conflict_replace=Flett og erstatt +theme_xhred_filemanager_title_symlink_target=Lenke-mĂ„l +theme_xhred_filemanager_unbookmark=Fjern bokmerke for gjeldende katalog +theme_xhred_filemanager_unbookmark_success=Katalogen%value ble fjernet fra bokmerkene dine. +theme_xhred_filemanager_unpacking_archive=Pakker ut valgt(e) fil(er). +theme_xhred_filemanager_user_switch=Bytt til bruker (Ctrl+M) +theme_xhred_filemanager_user_switch_current_user=Gjeldende bruker +theme_xhred_filemanager_user_switch_description=Ved Ă„ velge brukernavnet angitt nedenfor vil pĂ„fĂžlgende handlinger/operasjoner bli utfĂžrt som den brukeren. +theme_xhred_filemanager_user_switch_description_back=For Ă„ bytte tilbake til standardmodus velger du det fĂžrste alternativet i valglisten. +theme_xhred_filemanager_user_switch_option=Bytt automatisk til brukermodus nĂ„r du gĂ„r inn i brukerens hjemmekatalog +theme_xhred_git_compare_changes=Sammenlign endringer +theme_xhred_git_patch_initiated=Tema-oppgradering er startet-. +theme_xhred_git_patch_update=Tema oppgradering feilet. PrĂžv Ă„ bruke konsollet for Ă„ oppgradere manuelt. +theme_xhred_global_all=Alle +theme_xhred_global_available=Tilgjengelig +theme_xhred_global_back=Tilbake +theme_xhred_global_beta_version=Beta versjon +theme_xhred_global_cancel=Avbryt +theme_xhred_global_choose=Velg +theme_xhred_global_close=Lukk +theme_xhred_global_close_without_saving=Lukk uten lagring +theme_xhred_global_committed_on=Sendt inn +theme_xhred_global_complete_changelog=Fullstendig endringslogg +theme_xhred_global_continue_editing=Fortsett redigering +theme_xhred_global_cpu_load=CPU last +theme_xhred_global_dark=MĂžrk +theme_xhred_global_default=Standard +theme_xhred_global_dir_up=GĂ„ til forrige katalog (Backspace) +theme_xhred_global_directory=Katalog +theme_xhred_global_error_code=Feilkode +theme_xhred_global_favorites=Favoritter +theme_xhred_global_file=Fil +theme_xhred_global_find=Finn +theme_xhred_global_help=Hjelp +theme_xhred_global_light=Lys +theme_xhred_global_local_system_default=Lokal system standard +theme_xhred_global_maximize=Maksimer +theme_xhred_global_minimize=Minimer +theme_xhred_global_module_config=Modul konfig +theme_xhred_global_no=Nei +theme_xhred_global_no_results_found=Ingen resultater funnet +theme_xhred_global_no_such_command=Det ser ut til at %cmd programmet ikke er installert eller sĂ„ er det ikke i stien pĂ„ systemet ditt. +theme_xhred_global_no_target=MĂ„l finnes ikke eller er ikke tilgjengelig +theme_xhred_global_none=Ingen +theme_xhred_global_normalize=Normaliser +theme_xhred_global_not_available=Ikke tilgjengelig +theme_xhred_global_notice=Beskjed +theme_xhred_global_notifications=Beskjeder +theme_xhred_global_off=Av +theme_xhred_global_ok=OK +theme_xhred_global_on=PĂ„ +theme_xhred_global_please_wait=Vennligst vent... +theme_xhred_global_prev_page=GĂ„ tilbake en side +theme_xhred_global_release=Utgivelse +theme_xhred_global_released_on=Utgitt +theme_xhred_global_replace=Erstatt +theme_xhred_global_resolved_issues=LĂžste problemer i %value utgivelser +theme_xhred_global_return=Returner +theme_xhred_global_return_to_module_index=Tilbake til modul-indeks +theme_xhred_global_save=Lagre +theme_xhred_global_save_and_close=Lagre og lukk +theme_xhred_global_select=Velg +theme_xhred_global_set_encoding=Sett koding +theme_xhred_global_shipped=Levert +theme_xhred_global_stats=Stats +theme_xhred_global_system_default=System standard +theme_xhred_global_theme_version=Tema versjon +theme_xhred_global_update=Oppdater +theme_xhred_global_update_and_close=Oppdater og lukk +theme_xhred_global_update_and_return=Oppdater og returner +theme_xhred_global_warning=Advarsel +theme_xhred_global_yes=Ja +theme_xhred_module_help=Modul Hjelp +theme_xhred_move_bottom=Flytt til bunnen +theme_xhred_move_down=Flytt ned +theme_xhred_move_top=Flytt til toppen +theme_xhred_move_up=Flytt opp +theme_xhred_notification_no_data=Ingen innsamlede data +theme_xhred_notification_no_favorites=Ingen favoritter data +theme_xhred_notification_none=Ingen beskjeder +theme_xhred_notifications_firewall_danger=Brannmur Fare +theme_xhred_notifications_firewall_danger_message=Det ser ut til at ConfigServer Server Security and Firewall ikke kjĂžrer eller er stoppet. Ikke la din tjener vĂŠre utsatt, sjekk brannmurinnstillingene (%v) +theme_xhred_notifications_firewall_update=Brannmur Oppdater +theme_xhred_notifications_firewall_update_message=En ny versjon %v av ConfigServer Server Security and Firewall er tilgjengelig. Vennligst oppdater. +theme_xhred_notifications_firewall_warning=Brannmur advarsel +theme_xhred_notifications_packages_updates=Pakker oppdater +theme_xhred_notifications_theme_update=Tema Oppdater +theme_xhred_notifications_theme_update_message=En ny versjon %v av Authentic Tema er tilgjengelig. Vennligst oppdater. +theme_xhred_password_generator_new=Generer nytt passord
    (Til utklippstavle) +theme_xhred_password_generator_new_success=Generert passord %password er kopiert til utklippstavlen. +theme_xhred_server_process_running=Tjenerprosessen kjÞrer fortsatt? Er du sikker pÄ at du Þnsker Ä navigere bort fra denne siden og ikke ha tilgang til output-informasjonen? Selv om du forlater siden nÄ vil prosessen ikke bli terminert. +theme_xhred_source_encoding=Kilde-koding +theme_xhred_sysinfo_bandwidth_quotas=BÄndbredde-kvoter +theme_xhred_sysinfo_disk_quotas=Disk kvoter +theme_xhred_sysinfo_recent_logins=Siste innlogginger +theme_xhred_sysinfo_server_status=Tjenere Status +theme_xhred_sysinfo_software_versions=Programvare versjoner +theme_xhred_sysinfo_system_monitors=System monitorer +theme_xhred_sysinfo_vm_package_updates=Virtualmin pakkeoppdateringer +theme_xhred_titles_cm=Cloudmin +theme_xhred_titles_dashboard=Oversikt +theme_xhred_titles_mail=E-post +theme_xhred_titles_thirdlane=Thirdlane +theme_xhred_titles_um=Usermin +theme_xhred_titles_vm=Virtualmin +theme_xhred_titles_wm=Webmin +theme_xhred_updates_disabled_notice=Oppdaget at du ikke har aktivert varsler for Autentic Tema oppdateringer?

    Aktiver denne funksjonen i Tema-konfigurasjon vil hjelpe deg med Ă„ oppdatere til den nyeste versjonen med et enkelt klikk sĂ„ snart det er ute. +theme_xhred_xsql_fit_content_screen_height=Tilpass database tabellinnhold til skjerm-hĂžyde + + + +#19.00 +theme_xhred_sysinfo_update_start=System information is being recollected. +theme_xhred_sysinfo_update_end=System information has been recollected successfully. +theme_xhred_sysinfo_update_failed=System information can't be recollected. Try again later. + +theme_xhred_global_development_version=Development version + +right_vm_server_summary=Virtual Server Summary + +settings_webmin_default_module=Default module for Webmin + +theme_xhred_global_unbeforeunload_title=Changes you made may not be saved +theme_xhred_global_unbeforeunload_message=If you continue, unsaved changes on this page could be permanently lost. +theme_xhred_global_continue=Continue + +theme_xhred_global_automatic_refresh=Automatic refresh +theme_xhred_global_second=Second +theme_xhred_global_seconds=Seconds +theme_xhred_global_minute=Minute +theme_xhred_global_minutes=Minutes diff --git a/lang/pl b/lang/pl new file mode 120000 index 000000000..71219e076 --- /dev/null +++ b/lang/pl @@ -0,0 +1 @@ +pl.UTF-8 \ No newline at end of file diff --git a/lang/pl.UTF-8 b/lang/pl.UTF-8 new file mode 100644 index 000000000..e2a3c99b8 --- /dev/null +++ b/lang/pl.UTF-8 @@ -0,0 +1,726 @@ +body_cp=CPU +body_cpu=ƚrednie obciÄ…ĆŒenia CPU +body_cpuinfo=Informacje o procesorze +body_cputemps=Temperatury CPU +body_cputype=$5, $8 rdzeni +body_disk=PrzestrzeƄ na dysku lokalnym +body_driveerr=$1 bƂędĂłw! +body_drivefailed=Sprawdzenie SMART nie powiodƂo się! +body_drivetemps=Temperatury napędĂłw +body_firewall=Wersja Firewalla +body_header0=Informacje o systemie +body_header1=Informacje o koncie +body_host=Nazwa hosta +body_kernel=Kernel i CPU +body_kernelon=$1 $2 na $3 +body_load=$1 (1 minuta) $2 (5 minut) $3 (15 minut) +body_os=System operacyjny +body_procs=DziaƂające procesy +body_real=Pamięć rzeczywista +body_time=Czas systemu +body_updates=Aktualizacje pakietĂłw +body_updays=$1 dni, $2 godzin, $3 minut +body_uphours=$1 godzin, $2 minut +body_upmins=$1 minut +body_upneed=$1 dostępnych aktualizacji paczek +body_upneed1=$1 package update is available +body_upok=Wszystkie zainstalowane pakiety są aktualne +body_upsec=$1 dostępnych aktualizacji paczek, z ktĂłrych $2 to aktualizacje zabezpieczeƄ +body_upsec1=$1 package updates are available, of which $2 is security update +body_upsec2=$1 package update is available, of which $2 are security updates +body_upsec3=$1 package update is available, of which $2 is security update +body_uptime=Czas pracy systemu +body_used=$1 w sumie / $2 uĆŒyte +body_used_and_free=$1 sumie / $2 wolne / $3 uĆŒyte +body_usermin=Wersja Usermina +body_virt=Pamięć wirtualna +body_webmin=Wersja Webmina + +left_favorites=Favorites +left_favorites_no=There were no favorites added yet... +left_feedback=Wyƛlij opinię +left_home=Informacje o systemie +left_others=Inne +left_refresh_modules=OdƛwieĆŒ moduƂy +left_search=Szukaj +left_statistics=Statystyki systemowe + +login_danger=NiebezpieczeƄstwo! +login_message=Musisz podać nazwę uĆŒytkownika aby zalogować się na serwer +login_pass=HasƂo +login_reset=Reset +login_save=Zapamiętaj mnie +login_signin=Zaloguj się +login_success=Sukces! +login_token=Token +login_user=Nazwa uĆŒytkownika +login_warning=OstrzeĆŒenie! + +right_aliases=Aliasy serwerĂłw +right_bw=UĆŒycie i limity Ƃącza +right_dom=Nazwa Twojego serwera +right_faliases=Aliasy mailowe +right_fdbs=Bazy danych +right_fdoms=Serwery wirtualne +right_from=Zalogowany z +right_fusers2=UĆŒytkownicy FTP +right_fusers=UĆŒytkownicy Mail/FTP +right_fvm2=Maszyny Wirtualne +right_fweb=Wirtualne strony +right_licenceheader_vm2=Licencje Cloudmina +right_login=Zalogowany jako +right_not=Nie zainstalowane +right_of=$1 z $2 +right_quota=UĆŒycie i przydziaƂ dyskĂłw +right_reselip=(Reseller $1) +right_sharedip=(WspóƂdzielone IP) +right_slcheck=Ponownie sprawdĆș licencję Cloudmina +right_subs=Sub-serwery +right_virtdocs2=Dokumentacja dodatkowa +right_virtualmin=Wersja Virtualmina +right_vlcheck=Ponownie sprawdĆș licencję Virtualmina +right_vm2=Wersja Cloudmina + +session_failed=Logowanie nie powiodƂo się. SprĂłbuj ponownie. +session_logout=Wylogowano prawidƂowo. UĆŒyj formularza poniĆŒej, aby ponownie się zalogować. +session_timed_out=UpƂynąƂ limit czasu sesji po $1 minutach nieaktywnoƛci. +session_twofailed=DwuskƂadnikowe uwierzytelnienie nie powiodƂo się: $1 + + + + + + + + + + +settings_right_options=Options +settings_right_restore_defaults=Restore defaults +settings_right_restored=Restored +settings_right_restoring=Restoring +settings_right_saved=Saved +settings_right_saving=Saving + +settings_right_theme_extensions=Theme extensions +settings_right_theme_extensions_title=Theme Extensions +settings_right_file_edit=Edit extension file: +settings_right_extensions_title=Theme extensive design, enables you easily manipulate on targeted parts of the interface. + +settings_right_theme_logos=Theme logos +settings_right_theme_logos_title=Theme Logos +settings_right_logos_title=Theme logos can be easily set here, for both, authenticated and unauthenticated users. Recommended logo size is 180x90 pixels and the only supported format is .png, to provide alpha transparency. +settings_right_logo_authenticated_users=Logo for authenticated users +settings_right_logo_unauthenticated_users=Logo for unauthenticated users + +settings_right_current_theme=Current theme +settings_right_title=This page allows you to configure options for Authentic Theme. Settings will be stored upon theme update. +settings_right_theme_left_configuration_title=Authentic Theme Configuration +settings_right_theme_left_extensions_title=Authentic Theme Extensions Editor +settings_right_theme_left_logo_title=Authentic Theme Logo Control +settings_right_theme_configurable_options_title=Configurable options for Authentic Theme + + +settings_right_window_options_title=Window options +settings_right_navigation_menu_title=Navigation menu options +settings_right_table_options_title=Table options +settings_security_title=Security Alerts options +settings_security_description=Security alerts will let you setup email notifications upon certain events.
    Format: Message|Subject|Comma separated list of users/emails|Comma separated list of ignored IPv4/IPv6
    Usage: %3 successful login alert for user %1 from %2|%3 successful login alert|root,user@example.org|1.2.3.4,5.6.7.8
    Output: From: root, To: root, Subject: Webmin successful login alert, Message: Webmin successful login alert for user root from 2.3.4.5 +settings_right_hotkey_options_title=Hotkey options +settings_right_sysinfo_page_options_title=System Information page options + +settings_right_hotkey_custom_options_description=Custom links enable you to use digits from 1 to 9 in order to quick-access any valid Webmin/Usermin/Virtualmin/Cloudmin URL. The URL can be extracted from the currently opened right frame content page, by reading its source. It's important that URL has no slash at the beginning and doesn't use prefixes. For example, to quick-switch to Apache, set to custom link 1 field /apache/. If the default hotkeys modifier set to Alt, clicking Alt+1, will open you Apache module. +settings_hotkey_custom_1=Custom link 1 +settings_hotkey_custom_2=Custom link 2 +settings_hotkey_custom_3=Custom link 3 +settings_hotkey_custom_4=Custom link 4 +settings_hotkey_custom_5=Custom link 5 +settings_hotkey_custom_6=Custom link 6 +settings_hotkey_custom_7=Custom link 7 +settings_hotkey_custom_8=Custom link 8 +settings_hotkey_custom_9=Custom link 9 + +settings_navigation_color=Navigation menu color palette +settings_background_color=Content page color palette +settings_animation_left=Enable animation in navigation menu +settings_animation_tabs=Enable animation in tabs +settings_loader_top=Enable page progress loader on top of the screen +settings_loader_left=Enable spinner for navigation menu +settings_right_reload=Load default content page +settings_right_reload_description=When switching tabs, right frame content page is reloaded. Do not keep currently opened right frame content page and reload with default? + +settings_right_hide_table_icons=Hide table icons for the right frame +settings_right_hide_table_icons_description=Completely remove icons from the content page tables and display plain links with right chevron +settings_right_small_table_icons=Small table icons +settings_right_small_table_icons_description=Substitute standard size table icons with small ones and display icons link using tooltip +settings_right_animate_table_icons=Animate table icons on focus +settings_right_grayscaled_table_icons=Grayscale table icons and bring color on focus only + +settings_leftmenu_section_hide_refresh_modules=Hide Refresh Modules link +settings_leftmenu_section_hide_unused_modules=Hide Unused Modules link +settings_favorites=Show favorites button +settings_leftmenu_button_language=Show language button +settings_leftmenu_button_refresh=Show refresh button + +settings_theme_options_button=Show theme settings button + +settings_hotkeys_active=Enable hotkeys usage +settings_hotkey_toggle_modifier=Hotkeys modifier +settings_hotkey_toggle_key_webmin=Hotkey for Webmin +settings_hotkey_toggle_key_virtualmin=Hotkey for Virtualmin +settings_hotkey_toggle_key_cloudmin=Hotkey for Cloudmin +settings_hotkey_toggle_key_usermin=Hotkey for Usermin +settings_hotkey_toggle_key_webmail=Hotkey for Mail +settings_hotkey_sysinfo=Hotkey for dashboard +settings_hotkey_shell=Hotkey for terminal +settings_hotkey_favorites=Hotkey for favorites +settings_hotkey_focus_search=Hotkey for search field +settings_hotkey_reload=Hotkey for page reload + +settings_side_slider_background_refresh_time=Timeout for background information update +settings_side_slider_background_refresh_time_description=Set desired timeout for updating notification slider in background calls. The value meant to be in minutes. Minimum recommended value is 1 minute. Default is set to 5 minutes. Decimal values can also be used. +settings_sysinfo_easypie_charts=Show charts +settings_sysinfo_theme_updates=Check for Authentic Theme updates +settings_sysinfo_csf_updates=Check for ConfigServer Security & Firewall updates +settings_sysinfo_drive_status_on_new_line=Show CPU and drives status each on new line +settings_sysinfo_expand_all_accordions=Make all accordions expanded +settings_sysinfo_link_mini=Show system information link as button + +settings_right_page_defaults_title=Default pages +settings_right_default_tab_webmin=Default tab after logging in to Webmin +settings_right_default_tab_usermin=Default tab after logging in to Usermin +settings_right_virtualmin_default=Default page for Virtualmin +settings_right_cloudmin_default=Default page for Cloudmin + +settings_right_clear_local_cache=Clear cache +settings_right_notification_slider_options_title=Side slider options +settings_side_slider_fixed=Keep slider always visible +settings_side_slider_palette=Slider palette +settings_hotkey_toggle_slider=Hotkey for slider +settings_window_replace_timestamps=Enable dates substitutions +settings_window_replaced_timestamp_format_short=Short date/time format +settings_window_replaced_timestamp_format_full=Full date/time format +settings_window_replaced_timestamps_options_description=Tweak date/time settings to set desired output for displaying dates in full or short format. In-built this option has effect in Notification Slider and System Information page (on the row Time on system). By default, full format equals to LLLL and short is L, LTS. The time output is different for different locales. Locale is based on Webmin language settings. + +settings_side_slider_enabled=Enable slider +settings_leftmenu_user_html=Show HTML snippet +settings_leftmenu_user_html_description=User defined text or HTML code will be injected to the bottom of the navigation menu. It can be used for identification purposes. For example, to make explicitly show your hostname, you could add to the field <br><kbd>hostname:10000</kbd> + + +theme_changelog=Lista zmian +theme_conference=Theme Conference +theme_development_support=Wsparcie rozwoju +theme_donate=Dotacja +theme_download=Pobierz +theme_name=Authentic Theme +theme_update=Zaktualizuj +theme_update_available=Ostatnie dostępne wydanie +theme_update_notice=Aktualizacja Wskazówka +theme_version=Wersja motywu + + +# Version 17.40 +theme_global_error=Error +theme_global_warning=Warning +theme_global_success=Success +theme_global_info=Information +sysinfo_system_status_warning=In order to have System Information displayed you will need to enable System Status module in user settings. +settings_leftmenu_user_html_only_for_administrator=Show HTML snippet for administrators only +theme_sysinfo_wmdocs=Webmin documentation +theme_sysinfo_vmdocs=Virtualmin documentation +theme_sysinfo_cmdocs=Cloudmin documentation +theme_fileformat_css=CSS +theme_fileformat_json=JSON +theme_fileformat_js=Javascript +theme_fileformat_plain_text=Plain Text + +theme_xhred_titles_wm=Webmin +theme_xhred_titles_um=Usermin +theme_xhred_titles_dashboard=Dashboard +theme_xhred_titles_mail=Mail +theme_xhred_titles_vm=Virtualmin +theme_xhred_titles_cm=Cloudmin +theme_xhred_titles_thirdlane=Thirdlane + +theme_xhred_global_please_wait=Please wait... +theme_xhred_filemanager_copying_selected=Copying selected. +theme_xhred_filemanager_cutting_selected=Cutting selected. +theme_xhred_filemanager_pasting_selected=Pasting from clipboard. +theme_xhred_filemanager_unpacking_archive=Unpacking selected file(s). +theme_xhred_filemanager_deleting_selected=Deleting selected. +theme_xhred_filemanager_renaming_selected=Renaming selected. +theme_xhred_filemanager_creating_directory=Creating directory +theme_xhred_filemanager_creating_file=Creating file +theme_xhred_filemanager_downloading_from=Downloading from +theme_xhred_filemanager_setting_permissions=Setting permissions to %value on selected file(s). +theme_xhred_filemanager_changing_ownership=Changing ownership to %value on selected file(s). +theme_xhred_filemanager_compressing_selected=Compressing selected in the background. +theme_xhred_filemanager_refreshing=Refreshing directory content. +theme_xhred_filemanager_copying_successful=Copy to clipboard successful. +theme_xhred_filemanager_cutting_successful=Cut to clipboard successful. +theme_xhred_filemanager_pasting_successful=Paste from clipboard was successful. +theme_xhred_filemanager_bookmark_success=Directory %value was successfully added to your bookmarks. +theme_xhred_filemanager_searching=Searching for `%value` matching names of files/directories. +theme_xhred_filemanager_search_founds=Found %value matches. +theme_xhred_filemanager_search_found=Found 1 match. +theme_xhred_filemanager_search_no_matches=No matches found. +theme_xhred_filemanager_nothing_is_selected=Nothing is selected! +theme_xhred_filemanager_saving_file=File `%value` is being saved. +theme_xhred_filemanager_file_saved=File `%value` has been successfully saved. +theme_xhred_filemanager_not_editable=Can not edit this type of selection. +theme_xhred_filemanager_not_decompressable=Can not decompress this type of file. +theme_xhred_filemanager_no_selection_to_copy=No directories/files selected to copy. +theme_xhred_filemanager_no_selection_to_cut=No directories/files selected to cut. +theme_xhred_filemanager_empty_clipboard=Clipboard is empty. + +theme_xhred_filemanager_successful_extraction=Extraction of selected file(s) was successful. +theme_xhred_filemanager_successful_deletion=Deletion was successful. +theme_xhred_filemanager_successful_permissions=Permissions have been changed successfully. +theme_xhred_filemanager_successful_ownership=Ownership has been changed successfully. +theme_xhred_filemanager_successful_compression=Compression has successfully finished. +theme_xhred_filemanager_successful_directory_creation=Directory `%value` was created successfully. +theme_xhred_filemanager_successful_file_creation=File `%value` was created successfully. + +theme_xhred_notifications_packages_updates=Packages Update +theme_xhred_notifications_theme_update=Theme Update +theme_xhred_notifications_theme_update_message=A new version %v of Authentic Theme is available. Please update. +theme_xhred_notifications_firewall_update=Firewall Update +theme_xhred_notifications_firewall_update_message=A new version %v of ConfigServer Server Security and Firewall is available. Please update. + +theme_xhred_notifications_firewall_danger=Firewall Danger +theme_xhred_notifications_firewall_danger_message=It appears that ConfigServer Server Security and Firewall is not running or has been stopped! Don't leave your server exposed, check for the firewall settings (%v) + +theme_xhred_notifications_firewall_warning=Firewall Warning + +#17.50 +settings_grayscale_level_navigation=Grayscale filter +settings_grayscale_level_navigation_description=Default/current values 0/0 +settings_sepia_level_navigation=Sepia filter +settings_sepia_level_navigation_description=Default/current values 0/0 +settings_saturate_level_navigation=Saturate filter +settings_saturate_level_navigation_description=Default/current values 1/0 +settings_hue_level_navigation=Hue-rotate filter +settings_hue_level_navigation_description=Default/current values 0°/0° +settings_invert_level_navigation=Invert filter +settings_invert_level_navigation_description=Default/current values 0/0 +settings_brightness_level_navigation=Brightness filter +settings_brightness_level_navigation_description=Default/current values 1/0 +settings_contrast_level_navigation=Contrast filter +settings_contrast_level_navigation_description=Default/current values 1/0 + +settings_grayscale_level_content=Grayscale filter +settings_grayscale_level_content_description=Default/current values 0/0 +settings_saturate_level_content=Saturate filter +settings_saturate_level_content_description=Default/current values 1/0 +settings_hue_level_content=Hue-rotate filter +settings_hue_level_content_description=Default/current values 0°/0° + +settings_cm_view_palette=Viewer color palette +settings_cm_editor_palette=Editor color palette + +theme_xhred_filemanager_context_select_all=Select All +theme_xhred_filemanager_context_select_invert=Invert Selection +theme_xhred_filemanager_context_refresh=Refresh +theme_xhred_filemanager_context_newfile=Create new file +theme_xhred_filemanager_context_newfoder=Create new directory +theme_xhred_filemanager_context_copy=Copy +theme_xhred_filemanager_context_cut=Cut +theme_xhred_filemanager_context_paste=Paste +theme_xhred_filemanager_context_chmod=Change Permissions +theme_xhred_filemanager_context_chown=Change Ownership + +#17.51 +theme_xhred_filemanager_context_new=New +theme_xhred_filemanager_context_newarchive=Create new archive +theme_xhred_filemanager_context_delete=Delete +theme_xhred_filemanager_context_rename=Rename +theme_xhred_filemanager_context_edit=Edit +theme_xhred_filemanager_context_extract=Extract +theme_xhred_filemanager_context_goto=Open Item Location +theme_xhred_filemanager_context_properties=Properties +theme_xhred_filemanager_context_search=Search + +#17.52 +theme_xhred_filemanager_context_deselect_all=Deselect All +theme_xhred_filemanager_context_upload=Upload to current directory +theme_xhred_filemanager_context_download=Download from remote URL + +#17.53 +theme_settings_virtualmin=Virtualmin Virtual Servers +theme_settings_cloudmin=Cloudmin Managed Systems +settings_right_thirdparties_options_title=Third-parties modules options +theme_xhred_filemanager_context_calculate_size=Calculate size on spacebar +theme_xhred_filemanager_context_bookmarks=Bookmarks +theme_xhred_filemanager_context_bookmark_current=Bookmark currently opened path +theme_xhred_filemanager_context_transfer=Transfer + +#17.54 +theme_xhred_filemanager_title_symlink_target=Link target + +#17.60 +right_unlimited=Unlimited +settings_leftmenu_width=Preferable width +settings_leftmenu_width_description=Default/current width 260/0 +settings_switch_rdisplay=Reverse switch output +settings_switch_rdisplay_description=This option allows you to set different order for top-left switches. After changing this option, complete page reload is required to apply new settings. + + +#17.63 +theme_xhred_filemanager_context_calculate_selected_size=Calculate selected size +theme_xhred_filemanager_selected_entries=Selected: %value entries +theme_xhred_filemanager_manual_path=Enter path manually + +theme_xhred_datatable_semptytable=No data available in table +theme_xhred_datatable_sinfo=Showing _START_ to _END_ of _TOTAL_ entries +theme_xhred_datatable_sinfoempty=Showing 0 to 0 of 0 entries +theme_xhred_datatable_slengthmenu=Show _MENU_ entries +theme_xhred_datatable_sloadingrecords=Loading +theme_xhred_datatable_sprocessing=Processing... +theme_xhred_datatable_szerorecords=No matching records found + +#17.64 +theme_xhred_filemanager_file_edit_but_not_saved=File has been edited but hasn't been saved. +theme_xhred_filemanager_file_edit_but_not_saved_what_to_do=What do you want to do? +theme_xhred_global_save=Save +theme_xhred_global_save_and_close=Save and close +theme_xhred_global_close_without_saving=Close without saving +theme_xhred_global_continue_editing=Continue editing +theme_xhred_filemanager_context_download_file=Download + +#17.65 +settings_sysinfo_easypie_charts_width=Width of charts +settings_sysinfo_easypie_charts_scale=Scale length of charts + +#17.80 +right_return_theme_options=theme options +theme_xhred_datatable_semptydirectory=Directory is empty +theme_xhred_filemanager_context_clipboard=Copy path to clipboard +theme_xhred_global_warning=Warning +theme_xhred_global_close=Close +theme_xhred_encoding_warning=Detected that you are using non-unicode character set, which is not recommended. Strange  character might appear in text-editor mode and/or other encoding issues are going to happen.

    Change language in %prod Configuration to %lang.UTF-8 and make sure, that your browser also detected it correctly.

    Pay attention, that Webmin in-built module, named Change Language and Theme can override global settings.
    + +theme_xhred_filemanager__no_bookmarks=No saved bookmarks +theme_xhred_filemanager_unbookmark_success=Directory %value was successfully removed from your bookmarks. +theme_xhred_filemanager_bookmark=Bookmark current directory +theme_xhred_filemanager_unbookmark=Unbookmark current directory +theme_xhred_filemanager_move_into_self=You cannot move a directory into itself! The destination directory is inside the source directory. +theme_xhred_filemanager_pasting_and_copying_1=Selected source has been pasted with the new name successfully. +theme_xhred_filemanager_pasting_and_copying_2=Selected sources have been pasted with the new names successfully. +theme_xhred_filemanager_pasting_and_replacing_1=Existing target has been replaced with new successfully. +theme_xhred_filemanager_pasting_and_replacing_2=Existing targets have been replaced with new successfully. +theme_xhred_filemanager_target_conflict_1=Target conflict +theme_xhred_filemanager_target_conflict_2=Targets conflicts +theme_xhred_filemanager_target_conflict_message_1=Pasted target already exists! What do you prefer to do? +theme_xhred_filemanager_target_conflict_message_2=Pasted targets already exist! What do you prefer to do? +theme_xhred_filemanager_target_conflict_replace=Merge and replace +theme_xhred_filemanager_target_conflict_paste=Paste with new name + +theme_xhred_editor_help_title=Editor Keyboard Shortcuts +theme_xhred_editor_help_content=
    Find/Replace
    Keypress Command
    Ctrl + F Find
    Ctrl + H Replace
    Ctrl + ⇧ + R Replace all
    Ctrl + G Find next
    Ctrl + ⇧ + G Find previous
    Alt + G Jump to line
    Text manipulation
    Keypress Command
    Ctrl + KU Transform to Uppercase
    Ctrl + KL Transform to Lowercase
    Editing
    Keypress Command
    Ctrl + Space Activate autocompletion
    Ctrl + X Cut line
    Ctrl + ⇧ + ↑ Move line/selection up
    Ctrl + ⇧ + ↓ Move line/selection down
    Ctrl + L Select line - Repeat to select next lines
    Ctrl + D Select word - Repeat select others occurrences
    Ctrl + M Jump to closing parentheses Repeat to jump to opening parentheses
    Ctrl + ⇧ + M Select all contents of the current parentheses
    Ctrl + ⇧ + K Delete Line
    Ctrl + KK Delete from cursor to end of line
    Ctrl + K + Backspace Delete from cursor to start of line
    Ctrl + ⇧ + D Duplicate line(s)
    Ctrl + J Join line below to the end of the current line
    Ctrl + / Comment/un-comment current line
    Ctrl + ⇧ + / Block comment current selection
    Ctrl + Y Redo, or repeat last keyboard shortcut command
    Ctrl + ⇧ + V Paste and indent correctly
    Ctrl + Space Select next auto-complete suggestion
    Ctrl + U soft undo; jumps to your last change before undoing change when repeated
    + +theme_xhred_filemanager_hide_toolbar=Hide toolbar +theme_xhred_filemanager_hide_actions=Hide actions column +theme_xhred_filemanager_hovered_toolbar=Activate dropdown in toolbar on mouse hover +theme_xhred_filemanager_context_delete_selected=Delete selected + +#17.83 +theme_xhred_database_adding_new_row=Adding new row +theme_xhred_database_editing_row=Editing selected row +theme_xhred_database_editing_rows=Editing selected rows +theme_xhred_database_adding_new_row_data=Set data + +#17.84 +theme_xhred_datatable_filter=Filter + +theme_xhred_global_update=Update +theme_xhred_global_update_and_return=Update and return +theme_xhred_global_update_and_close=Update and close +theme_xhred_global_back=Back +theme_xhred_global_cancel=Cancel + +theme_xhred_database_add_row_successful=New row was successfully added +theme_xhred_database_edit_row_successful=Selected row was successfully updated +theme_xhred_database_edit_rows_successful=Selected rows were successfully updated +theme_xhred_database_edit_row_delete_successful=Selected row was successfully deleted +theme_xhred_database_edit_rows_delete_successful=Successfully deleted %n selected rows +theme_xhred_database_edit_field_delete_successful=Selected field was successfully deleted +theme_xhred_database_edit_fields_delete_successful=Successfully deleted %n selected fields +theme_xhred_database_edit_selected_row=Edit selected row +theme_xhred_database_edit_selected_rows=Edit selected rows +theme_xhred_database_add_new_row=Add row +theme_xhred_database_delete_selected_row=Delete selected row +theme_xhred_database_delete_selected_rows=Delete selected rows +theme_xhred_database_delete_selected_field=Delete selected field +theme_xhred_database_delete_selected_fields=Delete selected fields +theme_xhred_database_object_selected_delete=Delete selected object +theme_xhred_database_objects_selected_delete=Delete selected objects +theme_xhred_database_db_selected_drop=Drop selected database +theme_xhred_database_dbs_selected_drop=Drop selected databases +theme_xhred_database_edit_but_not_saved=Table data has been edited but not saved. + +theme_xhred_global_no_such_command=It appears that %cmd executable is not installed or not in the path on your system. + +theme_xhred_global_notice=Notice + +theme_xhred_updates_disabled_notice=Detected that you don't have enabled notifications for Authentic Theme updates?

    Enabling this feature in Theme Configuration will help you to update to the latest version in a single click as soon as it's out. + + +#18.00 +theme_xhred_global_file=File +theme_xhred_global_directory=Directory +theme_xhred_global_no_target=Target doesn't exist or not accessible +theme_xhred_global_error_code=Error code +theme_xhred_global_on=On +theme_xhred_global_off=Off +theme_xhred_global_all=All +theme_xhred_global_none=None +theme_xhred_global_yes=Yes +theme_xhred_global_no=No + +theme_xhred_filemanager_new_tab=Add new tab (Ctrl+Space) +theme_xhred_datatable_no_search_results=No results found
    Try a different search + +theme_xhred_filemanager_buffer_error=Failed to paste files to the buffer - permission denied. + +filemanager_create_object_exists=$3 `$1` already exists in `$2` +filemanager_create_object_denied=Can't create $3 `$1` in `$2` - permission denied. + +filemanager_paste_warning=Failed to paste target(s). It is possible that requested object(s) could have been renamed, moved or deleted while/before pasting. Another possible cause is that destination is not writable. It is worth checking objects' attributes. + +theme_xhred_filemanager_delete_warning=Deletion has finished successfully but not for all objects. It is possible that requested object(s) could have been renamed or moved before deletion. Restricted permissions (attributes) is another possible cause. Error message: + + +filemanager_rename_exists=$3 with name `$1` already exists in `$2` +filemanager_rename_denied=Can not rename the $3. This might happen because the source $3 has been removed or due to restricted permissions. + +theme_xhred_filemanager_successful_rename=Renaming `%from` to `%to` was successful. + +filemanager_global_info_total1=Total: $1 file and $2 directory +filemanager_global_info_total2=Total: $1 files and $2 directory +filemanager_global_info_total3=Total: $1 file and $2 directories +filemanager_global_info_total4=Total: $1 files and $2 directories + +theme_xhred_filemanager_selected_entry=Selected: %value entry + +theme_xhred_filemanager_search_query=Query mask +theme_xhred_filemanager_search_match=Find in results +theme_xhred_filemanager_search_replace=Replace in results + +theme_xhred_global_find=Find +theme_xhred_global_replace=Replace + +theme_xhred_filemanager_searching_matching=Searching for `%value` matching names of files/directories, containing `%text` text. +theme_xhred_filemanager_searching_replacing=Replacing matches `%text` with `%replace` in files with names containing `%value`. + +theme_xhred_filemanager_search_replaced_multi=Found and replaced in %value files. +theme_xhred_filemanager_search_replaced=Found and replaced in 1 file. + +theme_xhred_filemanager_successful_permissions_with_errors=Permissions have been changed successfully but not for all objects: + +theme_xhred_filemanager_successful_ownership_with_errors=Ownership has not been changed successfully for all objects: +theme_xhred_filemanager_successful_ownership_with_errors_fatal=Ownership can't be changed due to following errors: + +theme_xhred_filemanager_successful_compression_with_errors=Compression has finished with the following errors: +theme_xhred_filemanager_successful_compression_bg=Compression has successfully finished. Compressed file `%file is located in `%path` directory. +theme_xhred_filemanager_successful_compression_bg_with_errors=Compression has finished with errors. Compressed file `%file should be located in `%path` directory. + +theme_xhred_filemanager_settings_notification_type=Type of notifications to display +theme_xhred_filemanager_settings_notification_type_inf_warn_err=Informations, warnings and errors +theme_xhred_filemanager_settings_notification_type_warn_err=Warnings and errors +theme_xhred_filemanager_settings_notification_type_err=Errors only + +theme_xhred_filemanager_settings_tabs_remember_state=Restore previously used tabs on first load +theme_xhred_filemanager_context_open_new_tab=Open in new tab + +theme_xhred_xsql_fit_content_screen_height=Fit database table content in screen height + +theme_xhred_datatable_filter_visible_tables=Filter Visible Table(s) +theme_xhred_module_help=Module help + +theme_xhred_server_process_running=Server process is still running!? Are you sure that you want to navigate away and have no access to output information? Even if you leave now the process will not be terminated. + + +#18.03 +settings_global_options_title=Global options +settings_global_passgen_format=Password generator +settings_global_passgen_format_description=Set the length and character type used in the generated password. First value is numerical, which is the length of the password, immediately followed by | as a delimiter. Next is the type, where you can use numbers 0-9, letters a-z and/or A-Z, and special characters #. All of these sets can be used together or individually, using comma as a delimiter. Default value equals to 12|a-z,A-Z,0-9,#, which represents password with 12 characters in length, containing upper and lower case letters, numbers and special characters. +theme_xhred_password_generator_new=Generate New Password
    (To Clipboard) +theme_xhred_password_generator_new_success=Generated password %password has been copied to clipboard successfully. + + +#18.08 +theme_fileformat_perl=Perl +theme_fileformat_perl_placeholder=This file must end with `1;` to work successfully. + + +#18.10 +theme_error_access_not_root=Access denied: User needs access to the Webmin Configuration module to edit theme configuration + + +#18.20 +settings_hide_top_loader=Hide top progress bar + + +#18.30 +settings_leftmenu_vm_cm_dropdown_icons=Show symbolic icons in drop-down in Virtualmin/Cloudmin +settings_font_family=Font family +settings_font_family_description=Among all presented fonts' variants Roboto is shipped with the theme and set as default. The other fonts must be installed on your local computer in order to work. By using local fonts, the default one is not loaded, which will result in faster theme load +theme_xhred_global_shipped=Shipped +theme_xhred_global_available=Available +theme_xhred_global_not_available=Not available +theme_xhred_global_default=Default +theme_xhred_global_system_default=System default +theme_xhred_global_local_system_default=Local system default +theme_xhred_global_stats=Stats +theme_xhred_global_notifications=Notifications +theme_xhred_global_favorites=Favorites +theme_xhred_global_cpu_load=CPU load +theme_xhred_notification_none=No notifications +theme_xhred_notification_no_data=No collected data +theme_xhred_notification_no_favorites=No favorites data +theme_xhred_global_theme_version=Theme version + +settings_side_slider_sysinfo_enabled=Show dashboard tab +settings_side_slider_notifications_enabled=Show notifications tab +settings_side_slider_favorites_enabled=Show favorites tab +settings_show_terminal_link=Show terminal button + +theme_xhred_sysinfo_system_monitors=System Monitors +theme_xhred_sysinfo_server_status=Servers Status +theme_xhred_sysinfo_software_versions=Software Versions +theme_xhred_sysinfo_recent_logins=Recent Logins +theme_xhred_sysinfo_vm_package_updates=Virtualmin Package Updates +theme_xhred_sysinfo_disk_quotas=Disk Quotas +theme_xhred_sysinfo_bandwidth_quotas=Bandwidth Quotas + +left_netdata=Realtime Monitoring +settings_leftmenu_netdata=Show Netdata realtime monitoring link +settings_leftmenu_netdata_link=Netdata server preferred link + +theme_xhred_filemanager_context_chattr=Change attributes +theme_xhred_filemanager_changing_attributes=Setting attributes to %value on selected file(s). +theme_xhred_filemanager_successful_attributes_with_errors=Attributes haven't been set successfully for all objects: +theme_xhred_filemanager_successful_attributes=Attributes have been set successfully. + +theme_xhred_filemanager_context_chcon=Change security context +theme_xhred_filemanager_changing_secontext=Changing security context to %value on selected file(s). +theme_xhred_filemanager_successful_secontext_with_errors=Security context has not been changed successfully for all objects: +theme_xhred_filemanager_successful_secontext=Security context has been changed successfully. + +theme_xhred_global_no_results_found=No results found + + +#18.40 +theme_new_password_header=Set new password for user +login_reset=Password recovery +theme_xhred_move_top=Move to top +theme_xhred_move_bottom=Move to bottom +theme_xhred_move_up=Move up +theme_xhred_move_down=Move down +theme_xhred_add_after=Add after +theme_xhred_add_before=Add before +settings_button_tooltip=Show tooltip on buttons +settings_show_night_mode_link=Show palette toggle +settings_hotkey_toggle_key_night_mode=Hotkey for toggling dark/light palette +settings_title=Theme Configuration +settings_subtitle=For user + +theme_tooltip_night_mode=Day/night mode toggle +theme_tooltip_terminal_link=Terminal +theme_tooltip_language_link=Language +theme_tooltip_switch_user=Switch user +theme_tooltip_logout=Sign out +theme_tooltip_edit_user=Edit user + + +#18.45 +settings_sysinfo_easypie_charts_size=Diameter of charts +theme_xhred_global_choose=Choose +theme_xhred_global_select=Select +theme_xhred_global_ok=OK +settings_sysinfo_theme_patched_updates=Including patched versions +settings_sysinfo_theme_updates_description=In order to make this option work, git command has to be installed on your system +theme_git_patch_available=Latest available patch +theme_git_patch_no_git_message=In order to install latest patches directly from GitHub you must make sure that git command is installed. +theme_git_patch_update_success_message=Theme update for Webmin was successful. Currently installed version is $1. Reloading... +theme_git_patch_update_success_message2=Theme update for both Webmin and Usermin was successful. Currently installed version is $1. Reloading... +theme_xhred_git_patch_update=Theme update has failed. Try using console to do it manually. +theme_xhred_git_patch_initiated=Theme update has been initiated. +theme_xhred_global_prev_page=Go back one page +theme_xhred_global_help=Help +settings_right_soft_updates_page_options_title=Software updates +theme_xhred_git_compare_changes=Compare changes +theme_xhred_filemanager_link_to_clipboard=Symbolic link's name `%value` has been copied to clipboard. + + + +#18.46 +theme_left_mail_prefs=Mail Preferences +theme_left_mail_change_password=Change Password +theme_left_mail_account_functions=Account Functions +theme_xhred_global_dir_up=Go to previous directory (Backspace) +theme_xhred_global_module_config=Module config +theme_xhred_global_return=Return +theme_xhred_global_return_to_module_index=Return to module index + + +#18.47 +settings_account_info_link_mini=Show account information link as button +theme_xhred_global_complete_changelog=Complete changelog +theme_xhred_global_beta_version=Beta version +theme_xhred_global_release=Release +theme_xhred_global_released_on=Released on +theme_xhred_global_committed_on=Committed on +theme_xhred_global_resolved_issues=Resolved issues in %value releases + + +#18.48 +theme_force_upgrade=Force update theme +theme_force_upgrade_beta=Install latest development version (beta) +theme_force_upgrade_stable=Install latest release version (stable) +theme_xhred_source_encoding=Source encoding +theme_update_footer=Please be kind reporting bugs to $1 repository. Follow theme's $2 channel for the latest updates. +theme_xhred_encoding_manually_set=Manually set encoding +theme_xhred_filemanager_save_to_change_encoding=File must be saved, in order to allow encoding to be changed. + + +#18.49 +theme_xhred_filemanager_user_switch=Switch to user (Ctrl+M) +theme_xhred_filemanager_user_switch_description=By selecting the username listed below, you will switch further operations to be performed as this user. +theme_xhred_filemanager_user_switch_description_back=To switch back to default mode choose the first option in select. +theme_xhred_filemanager_user_switch_current_user=Current user +theme_xhred_filemanager_user_switch_option=Automatically switch to user mode upon entering its home directory +theme_xhred_filemanager_editor_align_panels_horizontally=Align Panels Horizontally +theme_xhred_filemanager_editor_align_panels_vertically=Align Panels Vertically +theme_xhred_filemanager_editor_toggle_soft_wrap=Toggle Soft Wrap +theme_xhred_filemanager_editor_refresh_content=Refresh Content +theme_xhred_filemanager_save_to_refresh_content=File must be saved, in order to allow its content to be refreshed. +theme_xhred_filemanager_save_to_refresh_content_proc=Refreshing file content. +theme_xhred_global_dark=Dark +theme_xhred_global_light=Light +theme_xhred_global_minimize=Minimize +theme_xhred_global_maximize=Maximize +theme_xhred_global_normalize=Normalize +theme_xhred_global_set_encoding=Set encoding + + +#19.00 +theme_xhred_sysinfo_update_start=System information is being recollected. +theme_xhred_sysinfo_update_end=System information has been recollected successfully. +theme_xhred_sysinfo_update_failed=System information can't be recollected. Try again later. + +theme_xhred_global_development_version=Development version + +right_vm_server_summary=Virtual Server Summary + +settings_webmin_default_module=Default module for Webmin + +theme_xhred_global_unbeforeunload_title=Changes you made may not be saved +theme_xhred_global_unbeforeunload_message=If you continue, unsaved changes on this page could be permanently lost. +theme_xhred_global_continue=Continue + +theme_xhred_global_automatic_refresh=Automatic refresh +theme_xhred_global_second=Second +theme_xhred_global_seconds=Seconds +theme_xhred_global_minute=Minute +theme_xhred_global_minutes=Minutes diff --git a/lang/pt b/lang/pt new file mode 120000 index 000000000..4858492e8 --- /dev/null +++ b/lang/pt @@ -0,0 +1 @@ +pt.UTF-8 \ No newline at end of file diff --git a/lang/pt.UTF-8 b/lang/pt.UTF-8 new file mode 100644 index 000000000..9959451b4 --- /dev/null +++ b/lang/pt.UTF-8 @@ -0,0 +1,726 @@ +body_cp=CPU +body_cpu=MĂ©dias de carga CPU +body_cpuinfo=InformaçÔes sobre o processador +body_cputemps=Temperaturas CPU +body_cputype=$5, $8 cores +body_disk=Espaço em disco local +body_driveerr=$1 erros! +body_drivefailed=Verificação SMART falhou! +body_drivetemps=Temperaturas Disco +body_firewall=VersĂŁo Firewall +body_header0=InformaçÔes sobre o sistema +body_header1=InformaçÔes da Conta +body_host=Nome do host do sistema +body_kernel=Kernel e CPU +body_kernelon=$1 $2 no $3 +body_load=$1 (1 min) $2 (5 mins) $3 (15 mins) +body_os=Sistema operacional +body_procs=Processos em execução +body_real=MemĂłria real +body_time=Tempo no sistema +body_updates=AtualizaçÔes de pacotes +body_updays=$1 dias, $2 horas, $3 minutos +body_uphours=$1 horas, $2 minutos +body_upmins=$1 minutos +body_upneed=$1 atualizaçÔes de pacotes estĂŁo disponĂ­veis +body_upneed1=$1 package update is available +body_upok=Todos os pacotes instalados estĂŁo atualizados +body_upsec=$1 atualizaçÔes de pacotes estĂŁo disponĂ­veis, dos quais $2 sĂŁo atualizaçÔes de segurança +body_upsec1=$1 package updates are available, of which $2 is security update +body_upsec2=$1 package update is available, of which $2 are security updates +body_upsec3=$1 package update is available, of which $2 is security update +body_uptime=Uptime Sistema +body_used=$1 total / $2 usado +body_used_and_free=$1 total / $2 livre / $3 usado +body_usermin=VersĂŁo Usermin +body_virt=MemĂłria Virtual +body_webmin=VersĂŁo Webmin + +left_favorites=Favorites +left_favorites_no=There were no favorites added yet... +left_feedback=Enviar comentĂĄrios +left_home=InformaçÔes sobre o sistema +left_others=Outros +left_refresh_modules=Atualizar MĂłdulos +left_search=Pesquisa +left_statistics=EstatĂ­sticas do Sistema + +login_danger=Perigo! +login_message=VocĂȘ deve digitar um nome de usuĂĄrio e senha para acessar o servidor no +login_pass=Senha +login_reset=Restabelecer +login_save=Lembre de mim +login_signin=Entrar +login_success=Sucesso! +login_token=Token +login_user=Nome de usuĂĄrio +login_warning=Aviso! + +right_aliases=Alias servidores +right_bw=Uso de banda e limite +right_dom=Seu nome do servidor +right_faliases=Mail aliases +right_fdbs=Bases de dados +right_fdoms=Servidores Virtuais +right_from=Logado de +right_fusers2=FTP usuĂĄrios +right_fusers=Mail/FTP usuĂĄrios +right_fvm2=MĂĄquinas Virtuais +right_fweb=Websites virtuais +right_licenceheader_vm2=Licenças Cloudmin +right_login=Logado como +right_not=NĂŁo instalado +right_of=$1 de $2 +right_quota=Uso do disco e quota +right_reselip=(Revendedor $1) +right_sharedip=(IP compartilhado) +right_slcheck=Verifique novamente licença Cloudmin +right_subs=Sub-servidores +right_virtdocs2=Documentação adicional +right_virtualmin=VersĂŁo Virtualmin +right_vlcheck=Verifique novamente licença Virtualmin +right_vm2=VersĂŁo Cloudmin + +session_failed=Login falhou. Por favor, tente novamente. +session_logout=Logout com sucesso. Utilize o formulĂĄrio abaixo para efetuar o login novamente. +session_timed_out=SessĂŁo expirou apĂłs $1 minutos de inatividade. +session_twofailed=Autenticação Two-factor falhou: $1 + + + + + + + + + + +settings_right_options=Options +settings_right_restore_defaults=Restore defaults +settings_right_restored=Restored +settings_right_restoring=Restoring +settings_right_saved=Saved +settings_right_saving=Saving + +settings_right_theme_extensions=Theme extensions +settings_right_theme_extensions_title=Theme Extensions +settings_right_file_edit=Edit extension file: +settings_right_extensions_title=Theme extensive design, enables you easily manipulate on targeted parts of the interface. + +settings_right_theme_logos=Theme logos +settings_right_theme_logos_title=Theme Logos +settings_right_logos_title=Theme logos can be easily set here, for both, authenticated and unauthenticated users. Recommended logo size is 180x90 pixels and the only supported format is .png, to provide alpha transparency. +settings_right_logo_authenticated_users=Logo for authenticated users +settings_right_logo_unauthenticated_users=Logo for unauthenticated users + +settings_right_current_theme=Current theme +settings_right_title=This page allows you to configure options for Authentic Theme. Settings will be stored upon theme update. +settings_right_theme_left_configuration_title=Authentic Theme Configuration +settings_right_theme_left_extensions_title=Authentic Theme Extensions Editor +settings_right_theme_left_logo_title=Authentic Theme Logo Control +settings_right_theme_configurable_options_title=Configurable options for Authentic Theme + + +settings_right_window_options_title=Window options +settings_right_navigation_menu_title=Navigation menu options +settings_right_table_options_title=Table options +settings_security_title=Security Alerts options +settings_security_description=Security alerts will let you setup email notifications upon certain events.
    Format: Message|Subject|Comma separated list of users/emails|Comma separated list of ignored IPv4/IPv6
    Usage: %3 successful login alert for user %1 from %2|%3 successful login alert|root,user@example.org|1.2.3.4,5.6.7.8
    Output: From: root, To: root, Subject: Webmin successful login alert, Message: Webmin successful login alert for user root from 2.3.4.5 +settings_right_hotkey_options_title=Hotkey options +settings_right_sysinfo_page_options_title=System Information page options + +settings_right_hotkey_custom_options_description=Custom links enable you to use digits from 1 to 9 in order to quick-access any valid Webmin/Usermin/Virtualmin/Cloudmin URL. The URL can be extracted from the currently opened right frame content page, by reading its source. It's important that URL has no slash at the beginning and doesn't use prefixes. For example, to quick-switch to Apache, set to custom link 1 field /apache/. If the default hotkeys modifier set to Alt, clicking Alt+1, will open you Apache module. +settings_hotkey_custom_1=Custom link 1 +settings_hotkey_custom_2=Custom link 2 +settings_hotkey_custom_3=Custom link 3 +settings_hotkey_custom_4=Custom link 4 +settings_hotkey_custom_5=Custom link 5 +settings_hotkey_custom_6=Custom link 6 +settings_hotkey_custom_7=Custom link 7 +settings_hotkey_custom_8=Custom link 8 +settings_hotkey_custom_9=Custom link 9 + +settings_navigation_color=Navigation menu color palette +settings_background_color=Content page color palette +settings_animation_left=Enable animation in navigation menu +settings_animation_tabs=Enable animation in tabs +settings_loader_top=Enable page progress loader on top of the screen +settings_loader_left=Enable spinner for navigation menu +settings_right_reload=Load default content page +settings_right_reload_description=When switching tabs, right frame content page is reloaded. Do not keep currently opened right frame content page and reload with default? + +settings_right_hide_table_icons=Hide table icons for the right frame +settings_right_hide_table_icons_description=Completely remove icons from the content page tables and display plain links with right chevron +settings_right_small_table_icons=Small table icons +settings_right_small_table_icons_description=Substitute standard size table icons with small ones and display icons link using tooltip +settings_right_animate_table_icons=Animate table icons on focus +settings_right_grayscaled_table_icons=Grayscale table icons and bring color on focus only + +settings_leftmenu_section_hide_refresh_modules=Hide Refresh Modules link +settings_leftmenu_section_hide_unused_modules=Hide Unused Modules link +settings_favorites=Show favorites button +settings_leftmenu_button_language=Show language button +settings_leftmenu_button_refresh=Show refresh button + +settings_theme_options_button=Show theme settings button + +settings_hotkeys_active=Enable hotkeys usage +settings_hotkey_toggle_modifier=Hotkeys modifier +settings_hotkey_toggle_key_webmin=Hotkey for Webmin +settings_hotkey_toggle_key_virtualmin=Hotkey for Virtualmin +settings_hotkey_toggle_key_cloudmin=Hotkey for Cloudmin +settings_hotkey_toggle_key_usermin=Hotkey for Usermin +settings_hotkey_toggle_key_webmail=Hotkey for Mail +settings_hotkey_sysinfo=Hotkey for dashboard +settings_hotkey_shell=Hotkey for terminal +settings_hotkey_favorites=Hotkey for favorites +settings_hotkey_focus_search=Hotkey for search field +settings_hotkey_reload=Hotkey for page reload + +settings_side_slider_background_refresh_time=Timeout for background information update +settings_side_slider_background_refresh_time_description=Set desired timeout for updating notification slider in background calls. The value meant to be in minutes. Minimum recommended value is 1 minute. Default is set to 5 minutes. Decimal values can also be used. +settings_sysinfo_easypie_charts=Show charts +settings_sysinfo_theme_updates=Check for Authentic Theme updates +settings_sysinfo_csf_updates=Check for ConfigServer Security & Firewall updates +settings_sysinfo_drive_status_on_new_line=Show CPU and drives status each on new line +settings_sysinfo_expand_all_accordions=Make all accordions expanded +settings_sysinfo_link_mini=Show system information link as button + +settings_right_page_defaults_title=Default pages +settings_right_default_tab_webmin=Default tab after logging in to Webmin +settings_right_default_tab_usermin=Default tab after logging in to Usermin +settings_right_virtualmin_default=Default page for Virtualmin +settings_right_cloudmin_default=Default page for Cloudmin + +settings_right_clear_local_cache=Clear cache +settings_right_notification_slider_options_title=Side slider options +settings_side_slider_fixed=Keep slider always visible +settings_side_slider_palette=Slider palette +settings_hotkey_toggle_slider=Hotkey for slider +settings_window_replace_timestamps=Enable dates substitutions +settings_window_replaced_timestamp_format_short=Short date/time format +settings_window_replaced_timestamp_format_full=Full date/time format +settings_window_replaced_timestamps_options_description=Tweak date/time settings to set desired output for displaying dates in full or short format. In-built this option has effect in Notification Slider and System Information page (on the row Time on system). By default, full format equals to LLLL and short is L, LTS. The time output is different for different locales. Locale is based on Webmin language settings. + +settings_side_slider_enabled=Enable slider +settings_leftmenu_user_html=Show HTML snippet +settings_leftmenu_user_html_description=User defined text or HTML code will be injected to the bottom of the navigation menu. It can be used for identification purposes. For example, to make explicitly show your hostname, you could add to the field <br><kbd>hostname:10000</kbd> + + +theme_changelog=Changelog +theme_conference=Theme Conference +theme_development_support=Apoio ao Desenvolvimento +theme_donate=Doar +theme_download=Baixar +theme_name=Tema Authentic +theme_update=Atualizar +theme_update_available=Última versão disponível +theme_update_notice=Aviso de atualização +theme_version=Versão Tema + + +# Version 17.40 +theme_global_error=Error +theme_global_warning=Warning +theme_global_success=Success +theme_global_info=Information +sysinfo_system_status_warning=In order to have System Information displayed you will need to enable System Status module in user settings. +settings_leftmenu_user_html_only_for_administrator=Show HTML snippet for administrators only +theme_sysinfo_wmdocs=Webmin documentation +theme_sysinfo_vmdocs=Virtualmin documentation +theme_sysinfo_cmdocs=Cloudmin documentation +theme_fileformat_css=CSS +theme_fileformat_json=JSON +theme_fileformat_js=Javascript +theme_fileformat_plain_text=Plain Text + +theme_xhred_titles_wm=Webmin +theme_xhred_titles_um=Usermin +theme_xhred_titles_dashboard=Dashboard +theme_xhred_titles_mail=Mail +theme_xhred_titles_vm=Virtualmin +theme_xhred_titles_cm=Cloudmin +theme_xhred_titles_thirdlane=Thirdlane + +theme_xhred_global_please_wait=Please wait... +theme_xhred_filemanager_copying_selected=Copying selected. +theme_xhred_filemanager_cutting_selected=Cutting selected. +theme_xhred_filemanager_pasting_selected=Pasting from clipboard. +theme_xhred_filemanager_unpacking_archive=Unpacking selected file(s). +theme_xhred_filemanager_deleting_selected=Deleting selected. +theme_xhred_filemanager_renaming_selected=Renaming selected. +theme_xhred_filemanager_creating_directory=Creating directory +theme_xhred_filemanager_creating_file=Creating file +theme_xhred_filemanager_downloading_from=Downloading from +theme_xhred_filemanager_setting_permissions=Setting permissions to %value on selected file(s). +theme_xhred_filemanager_changing_ownership=Changing ownership to %value on selected file(s). +theme_xhred_filemanager_compressing_selected=Compressing selected in the background. +theme_xhred_filemanager_refreshing=Refreshing directory content. +theme_xhred_filemanager_copying_successful=Copy to clipboard successful. +theme_xhred_filemanager_cutting_successful=Cut to clipboard successful. +theme_xhred_filemanager_pasting_successful=Paste from clipboard was successful. +theme_xhred_filemanager_bookmark_success=Directory %value was successfully added to your bookmarks. +theme_xhred_filemanager_searching=Searching for `%value` matching names of files/directories. +theme_xhred_filemanager_search_founds=Found %value matches. +theme_xhred_filemanager_search_found=Found 1 match. +theme_xhred_filemanager_search_no_matches=No matches found. +theme_xhred_filemanager_nothing_is_selected=Nothing is selected! +theme_xhred_filemanager_saving_file=File `%value` is being saved. +theme_xhred_filemanager_file_saved=File `%value` has been successfully saved. +theme_xhred_filemanager_not_editable=Can not edit this type of selection. +theme_xhred_filemanager_not_decompressable=Can not decompress this type of file. +theme_xhred_filemanager_no_selection_to_copy=No directories/files selected to copy. +theme_xhred_filemanager_no_selection_to_cut=No directories/files selected to cut. +theme_xhred_filemanager_empty_clipboard=Clipboard is empty. + +theme_xhred_filemanager_successful_extraction=Extraction of selected file(s) was successful. +theme_xhred_filemanager_successful_deletion=Deletion was successful. +theme_xhred_filemanager_successful_permissions=Permissions have been changed successfully. +theme_xhred_filemanager_successful_ownership=Ownership has been changed successfully. +theme_xhred_filemanager_successful_compression=Compression has successfully finished. +theme_xhred_filemanager_successful_directory_creation=Directory `%value` was created successfully. +theme_xhred_filemanager_successful_file_creation=File `%value` was created successfully. + +theme_xhred_notifications_packages_updates=Packages Update +theme_xhred_notifications_theme_update=Theme Update +theme_xhred_notifications_theme_update_message=A new version %v of Authentic Theme is available. Please update. +theme_xhred_notifications_firewall_update=Firewall Update +theme_xhred_notifications_firewall_update_message=A new version %v of ConfigServer Server Security and Firewall is available. Please update. + +theme_xhred_notifications_firewall_danger=Firewall Danger +theme_xhred_notifications_firewall_danger_message=It appears that ConfigServer Server Security and Firewall is not running or has been stopped! Don't leave your server exposed, check for the firewall settings (%v) + +theme_xhred_notifications_firewall_warning=Firewall Warning + +#17.50 +settings_grayscale_level_navigation=Grayscale filter +settings_grayscale_level_navigation_description=Default/current values 0/0 +settings_sepia_level_navigation=Sepia filter +settings_sepia_level_navigation_description=Default/current values 0/0 +settings_saturate_level_navigation=Saturate filter +settings_saturate_level_navigation_description=Default/current values 1/0 +settings_hue_level_navigation=Hue-rotate filter +settings_hue_level_navigation_description=Default/current values 0°/0° +settings_invert_level_navigation=Invert filter +settings_invert_level_navigation_description=Default/current values 0/0 +settings_brightness_level_navigation=Brightness filter +settings_brightness_level_navigation_description=Default/current values 1/0 +settings_contrast_level_navigation=Contrast filter +settings_contrast_level_navigation_description=Default/current values 1/0 + +settings_grayscale_level_content=Grayscale filter +settings_grayscale_level_content_description=Default/current values 0/0 +settings_saturate_level_content=Saturate filter +settings_saturate_level_content_description=Default/current values 1/0 +settings_hue_level_content=Hue-rotate filter +settings_hue_level_content_description=Default/current values 0°/0° + +settings_cm_view_palette=Viewer color palette +settings_cm_editor_palette=Editor color palette + +theme_xhred_filemanager_context_select_all=Select All +theme_xhred_filemanager_context_select_invert=Invert Selection +theme_xhred_filemanager_context_refresh=Refresh +theme_xhred_filemanager_context_newfile=Create new file +theme_xhred_filemanager_context_newfoder=Create new directory +theme_xhred_filemanager_context_copy=Copy +theme_xhred_filemanager_context_cut=Cut +theme_xhred_filemanager_context_paste=Paste +theme_xhred_filemanager_context_chmod=Change Permissions +theme_xhred_filemanager_context_chown=Change Ownership + +#17.51 +theme_xhred_filemanager_context_new=New +theme_xhred_filemanager_context_newarchive=Create new archive +theme_xhred_filemanager_context_delete=Delete +theme_xhred_filemanager_context_rename=Rename +theme_xhred_filemanager_context_edit=Edit +theme_xhred_filemanager_context_extract=Extract +theme_xhred_filemanager_context_goto=Open Item Location +theme_xhred_filemanager_context_properties=Properties +theme_xhred_filemanager_context_search=Search + +#17.52 +theme_xhred_filemanager_context_deselect_all=Deselect All +theme_xhred_filemanager_context_upload=Upload to current directory +theme_xhred_filemanager_context_download=Download from remote URL + +#17.53 +theme_settings_virtualmin=Virtualmin Virtual Servers +theme_settings_cloudmin=Cloudmin Managed Systems +settings_right_thirdparties_options_title=Third-parties modules options +theme_xhred_filemanager_context_calculate_size=Calculate size on spacebar +theme_xhred_filemanager_context_bookmarks=Bookmarks +theme_xhred_filemanager_context_bookmark_current=Bookmark currently opened path +theme_xhred_filemanager_context_transfer=Transfer + +#17.54 +theme_xhred_filemanager_title_symlink_target=Link target + +#17.60 +right_unlimited=Unlimited +settings_leftmenu_width=Preferable width +settings_leftmenu_width_description=Default/current width 260/0 +settings_switch_rdisplay=Reverse switch output +settings_switch_rdisplay_description=This option allows you to set different order for top-left switches. After changing this option, complete page reload is required to apply new settings. + + +#17.63 +theme_xhred_filemanager_context_calculate_selected_size=Calculate selected size +theme_xhred_filemanager_selected_entries=Selected: %value entries +theme_xhred_filemanager_manual_path=Enter path manually + +theme_xhred_datatable_semptytable=No data available in table +theme_xhred_datatable_sinfo=Showing _START_ to _END_ of _TOTAL_ entries +theme_xhred_datatable_sinfoempty=Showing 0 to 0 of 0 entries +theme_xhred_datatable_slengthmenu=Show _MENU_ entries +theme_xhred_datatable_sloadingrecords=Loading +theme_xhred_datatable_sprocessing=Processing... +theme_xhred_datatable_szerorecords=No matching records found + +#17.64 +theme_xhred_filemanager_file_edit_but_not_saved=File has been edited but hasn't been saved. +theme_xhred_filemanager_file_edit_but_not_saved_what_to_do=What do you want to do? +theme_xhred_global_save=Save +theme_xhred_global_save_and_close=Save and close +theme_xhred_global_close_without_saving=Close without saving +theme_xhred_global_continue_editing=Continue editing +theme_xhred_filemanager_context_download_file=Download + +#17.65 +settings_sysinfo_easypie_charts_width=Width of charts +settings_sysinfo_easypie_charts_scale=Scale length of charts + +#17.80 +right_return_theme_options=theme options +theme_xhred_datatable_semptydirectory=Directory is empty +theme_xhred_filemanager_context_clipboard=Copy path to clipboard +theme_xhred_global_warning=Warning +theme_xhred_global_close=Close +theme_xhred_encoding_warning=Detected that you are using non-unicode character set, which is not recommended. Strange  character might appear in text-editor mode and/or other encoding issues are going to happen.

    Change language in %prod Configuration to %lang.UTF-8 and make sure, that your browser also detected it correctly.

    Pay attention, that Webmin in-built module, named Change Language and Theme can override global settings.
    + +theme_xhred_filemanager__no_bookmarks=No saved bookmarks +theme_xhred_filemanager_unbookmark_success=Directory %value was successfully removed from your bookmarks. +theme_xhred_filemanager_bookmark=Bookmark current directory +theme_xhred_filemanager_unbookmark=Unbookmark current directory +theme_xhred_filemanager_move_into_self=You cannot move a directory into itself! The destination directory is inside the source directory. +theme_xhred_filemanager_pasting_and_copying_1=Selected source has been pasted with the new name successfully. +theme_xhred_filemanager_pasting_and_copying_2=Selected sources have been pasted with the new names successfully. +theme_xhred_filemanager_pasting_and_replacing_1=Existing target has been replaced with new successfully. +theme_xhred_filemanager_pasting_and_replacing_2=Existing targets have been replaced with new successfully. +theme_xhred_filemanager_target_conflict_1=Target conflict +theme_xhred_filemanager_target_conflict_2=Targets conflicts +theme_xhred_filemanager_target_conflict_message_1=Pasted target already exists! What do you prefer to do? +theme_xhred_filemanager_target_conflict_message_2=Pasted targets already exist! What do you prefer to do? +theme_xhred_filemanager_target_conflict_replace=Merge and replace +theme_xhred_filemanager_target_conflict_paste=Paste with new name + +theme_xhred_editor_help_title=Editor Keyboard Shortcuts +theme_xhred_editor_help_content=
    Find/Replace
    Keypress Command
    Ctrl + F Find
    Ctrl + H Replace
    Ctrl + ⇧ + R Replace all
    Ctrl + G Find next
    Ctrl + ⇧ + G Find previous
    Alt + G Jump to line
    Text manipulation
    Keypress Command
    Ctrl + KU Transform to Uppercase
    Ctrl + KL Transform to Lowercase
    Editing
    Keypress Command
    Ctrl + Space Activate autocompletion
    Ctrl + X Cut line
    Ctrl + ⇧ + ↑ Move line/selection up
    Ctrl + ⇧ + ↓ Move line/selection down
    Ctrl + L Select line - Repeat to select next lines
    Ctrl + D Select word - Repeat select others occurrences
    Ctrl + M Jump to closing parentheses Repeat to jump to opening parentheses
    Ctrl + ⇧ + M Select all contents of the current parentheses
    Ctrl + ⇧ + K Delete Line
    Ctrl + KK Delete from cursor to end of line
    Ctrl + K + Backspace Delete from cursor to start of line
    Ctrl + ⇧ + D Duplicate line(s)
    Ctrl + J Join line below to the end of the current line
    Ctrl + / Comment/un-comment current line
    Ctrl + ⇧ + / Block comment current selection
    Ctrl + Y Redo, or repeat last keyboard shortcut command
    Ctrl + ⇧ + V Paste and indent correctly
    Ctrl + Space Select next auto-complete suggestion
    Ctrl + U soft undo; jumps to your last change before undoing change when repeated
    + +theme_xhred_filemanager_hide_toolbar=Hide toolbar +theme_xhred_filemanager_hide_actions=Hide actions column +theme_xhred_filemanager_hovered_toolbar=Activate dropdown in toolbar on mouse hover +theme_xhred_filemanager_context_delete_selected=Delete selected + +#17.83 +theme_xhred_database_adding_new_row=Adding new row +theme_xhred_database_editing_row=Editing selected row +theme_xhred_database_editing_rows=Editing selected rows +theme_xhred_database_adding_new_row_data=Set data + +#17.84 +theme_xhred_datatable_filter=Filter + +theme_xhred_global_update=Update +theme_xhred_global_update_and_return=Update and return +theme_xhred_global_update_and_close=Update and close +theme_xhred_global_back=Back +theme_xhred_global_cancel=Cancel + +theme_xhred_database_add_row_successful=New row was successfully added +theme_xhred_database_edit_row_successful=Selected row was successfully updated +theme_xhred_database_edit_rows_successful=Selected rows were successfully updated +theme_xhred_database_edit_row_delete_successful=Selected row was successfully deleted +theme_xhred_database_edit_rows_delete_successful=Successfully deleted %n selected rows +theme_xhred_database_edit_field_delete_successful=Selected field was successfully deleted +theme_xhred_database_edit_fields_delete_successful=Successfully deleted %n selected fields +theme_xhred_database_edit_selected_row=Edit selected row +theme_xhred_database_edit_selected_rows=Edit selected rows +theme_xhred_database_add_new_row=Add row +theme_xhred_database_delete_selected_row=Delete selected row +theme_xhred_database_delete_selected_rows=Delete selected rows +theme_xhred_database_delete_selected_field=Delete selected field +theme_xhred_database_delete_selected_fields=Delete selected fields +theme_xhred_database_object_selected_delete=Delete selected object +theme_xhred_database_objects_selected_delete=Delete selected objects +theme_xhred_database_db_selected_drop=Drop selected database +theme_xhred_database_dbs_selected_drop=Drop selected databases +theme_xhred_database_edit_but_not_saved=Table data has been edited but not saved. + +theme_xhred_global_no_such_command=It appears that %cmd executable is not installed or not in the path on your system. + +theme_xhred_global_notice=Notice + +theme_xhred_updates_disabled_notice=Detected that you don't have enabled notifications for Authentic Theme updates?

    Enabling this feature in Theme Configuration will help you to update to the latest version in a single click as soon as it's out. + + +#18.00 +theme_xhred_global_file=File +theme_xhred_global_directory=Directory +theme_xhred_global_no_target=Target doesn't exist or not accessible +theme_xhred_global_error_code=Error code +theme_xhred_global_on=On +theme_xhred_global_off=Off +theme_xhred_global_all=All +theme_xhred_global_none=None +theme_xhred_global_yes=Yes +theme_xhred_global_no=No + +theme_xhred_filemanager_new_tab=Add new tab (Ctrl+Space) +theme_xhred_datatable_no_search_results=No results found
    Try a different search + +theme_xhred_filemanager_buffer_error=Failed to paste files to the buffer - permission denied. + +filemanager_create_object_exists=$3 `$1` already exists in `$2` +filemanager_create_object_denied=Can't create $3 `$1` in `$2` - permission denied. + +filemanager_paste_warning=Failed to paste target(s). It is possible that requested object(s) could have been renamed, moved or deleted while/before pasting. Another possible cause is that destination is not writable. It is worth checking objects' attributes. + +theme_xhred_filemanager_delete_warning=Deletion has finished successfully but not for all objects. It is possible that requested object(s) could have been renamed or moved before deletion. Restricted permissions (attributes) is another possible cause. Error message: + + +filemanager_rename_exists=$3 with name `$1` already exists in `$2` +filemanager_rename_denied=Can not rename the $3. This might happen because the source $3 has been removed or due to restricted permissions. + +theme_xhred_filemanager_successful_rename=Renaming `%from` to `%to` was successful. + +filemanager_global_info_total1=Total: $1 file and $2 directory +filemanager_global_info_total2=Total: $1 files and $2 directory +filemanager_global_info_total3=Total: $1 file and $2 directories +filemanager_global_info_total4=Total: $1 files and $2 directories + +theme_xhred_filemanager_selected_entry=Selected: %value entry + +theme_xhred_filemanager_search_query=Query mask +theme_xhred_filemanager_search_match=Find in results +theme_xhred_filemanager_search_replace=Replace in results + +theme_xhred_global_find=Find +theme_xhred_global_replace=Replace + +theme_xhred_filemanager_searching_matching=Searching for `%value` matching names of files/directories, containing `%text` text. +theme_xhred_filemanager_searching_replacing=Replacing matches `%text` with `%replace` in files with names containing `%value`. + +theme_xhred_filemanager_search_replaced_multi=Found and replaced in %value files. +theme_xhred_filemanager_search_replaced=Found and replaced in 1 file. + +theme_xhred_filemanager_successful_permissions_with_errors=Permissions have been changed successfully but not for all objects: + +theme_xhred_filemanager_successful_ownership_with_errors=Ownership has not been changed successfully for all objects: +theme_xhred_filemanager_successful_ownership_with_errors_fatal=Ownership can't be changed due to following errors: + +theme_xhred_filemanager_successful_compression_with_errors=Compression has finished with the following errors: +theme_xhred_filemanager_successful_compression_bg=Compression has successfully finished. Compressed file `%file is located in `%path` directory. +theme_xhred_filemanager_successful_compression_bg_with_errors=Compression has finished with errors. Compressed file `%file should be located in `%path` directory. + +theme_xhred_filemanager_settings_notification_type=Type of notifications to display +theme_xhred_filemanager_settings_notification_type_inf_warn_err=Informations, warnings and errors +theme_xhred_filemanager_settings_notification_type_warn_err=Warnings and errors +theme_xhred_filemanager_settings_notification_type_err=Errors only + +theme_xhred_filemanager_settings_tabs_remember_state=Restore previously used tabs on first load +theme_xhred_filemanager_context_open_new_tab=Open in new tab + +theme_xhred_xsql_fit_content_screen_height=Fit database table content in screen height + +theme_xhred_datatable_filter_visible_tables=Filter Visible Table(s) +theme_xhred_module_help=Module help + +theme_xhred_server_process_running=Server process is still running!? Are you sure that you want to navigate away and have no access to output information? Even if you leave now the process will not be terminated. + + +#18.03 +settings_global_options_title=Global options +settings_global_passgen_format=Password generator +settings_global_passgen_format_description=Set the length and character type used in the generated password. First value is numerical, which is the length of the password, immediately followed by | as a delimiter. Next is the type, where you can use numbers 0-9, letters a-z and/or A-Z, and special characters #. All of these sets can be used together or individually, using comma as a delimiter. Default value equals to 12|a-z,A-Z,0-9,#, which represents password with 12 characters in length, containing upper and lower case letters, numbers and special characters. +theme_xhred_password_generator_new=Generate New Password
    (To Clipboard) +theme_xhred_password_generator_new_success=Generated password %password has been copied to clipboard successfully. + + +#18.08 +theme_fileformat_perl=Perl +theme_fileformat_perl_placeholder=This file must end with `1;` to work successfully. + + +#18.10 +theme_error_access_not_root=Access denied: User needs access to the Webmin Configuration module to edit theme configuration + + +#18.20 +settings_hide_top_loader=Hide top progress bar + + +#18.30 +settings_leftmenu_vm_cm_dropdown_icons=Show symbolic icons in drop-down in Virtualmin/Cloudmin +settings_font_family=Font family +settings_font_family_description=Among all presented fonts' variants Roboto is shipped with the theme and set as default. The other fonts must be installed on your local computer in order to work. By using local fonts, the default one is not loaded, which will result in faster theme load +theme_xhred_global_shipped=Shipped +theme_xhred_global_available=Available +theme_xhred_global_not_available=Not available +theme_xhred_global_default=Default +theme_xhred_global_system_default=System default +theme_xhred_global_local_system_default=Local system default +theme_xhred_global_stats=Stats +theme_xhred_global_notifications=Notifications +theme_xhred_global_favorites=Favorites +theme_xhred_global_cpu_load=CPU load +theme_xhred_notification_none=No notifications +theme_xhred_notification_no_data=No collected data +theme_xhred_notification_no_favorites=No favorites data +theme_xhred_global_theme_version=Theme version + +settings_side_slider_sysinfo_enabled=Show dashboard tab +settings_side_slider_notifications_enabled=Show notifications tab +settings_side_slider_favorites_enabled=Show favorites tab +settings_show_terminal_link=Show terminal button + +theme_xhred_sysinfo_system_monitors=System Monitors +theme_xhred_sysinfo_server_status=Servers Status +theme_xhred_sysinfo_software_versions=Software Versions +theme_xhred_sysinfo_recent_logins=Recent Logins +theme_xhred_sysinfo_vm_package_updates=Virtualmin Package Updates +theme_xhred_sysinfo_disk_quotas=Disk Quotas +theme_xhred_sysinfo_bandwidth_quotas=Bandwidth Quotas + +left_netdata=Realtime Monitoring +settings_leftmenu_netdata=Show Netdata realtime monitoring link +settings_leftmenu_netdata_link=Netdata server preferred link + +theme_xhred_filemanager_context_chattr=Change attributes +theme_xhred_filemanager_changing_attributes=Setting attributes to %value on selected file(s). +theme_xhred_filemanager_successful_attributes_with_errors=Attributes haven't been set successfully for all objects: +theme_xhred_filemanager_successful_attributes=Attributes have been set successfully. + +theme_xhred_filemanager_context_chcon=Change security context +theme_xhred_filemanager_changing_secontext=Changing security context to %value on selected file(s). +theme_xhred_filemanager_successful_secontext_with_errors=Security context has not been changed successfully for all objects: +theme_xhred_filemanager_successful_secontext=Security context has been changed successfully. + +theme_xhred_global_no_results_found=No results found + + +#18.40 +theme_new_password_header=Set new password for user +login_reset=Password recovery +theme_xhred_move_top=Move to top +theme_xhred_move_bottom=Move to bottom +theme_xhred_move_up=Move up +theme_xhred_move_down=Move down +theme_xhred_add_after=Add after +theme_xhred_add_before=Add before +settings_button_tooltip=Show tooltip on buttons +settings_show_night_mode_link=Show palette toggle +settings_hotkey_toggle_key_night_mode=Hotkey for toggling dark/light palette +settings_title=Theme Configuration +settings_subtitle=For user + +theme_tooltip_night_mode=Day/night mode toggle +theme_tooltip_terminal_link=Terminal +theme_tooltip_language_link=Language +theme_tooltip_switch_user=Switch user +theme_tooltip_logout=Sign out +theme_tooltip_edit_user=Edit user + + +#18.45 +settings_sysinfo_easypie_charts_size=Diameter of charts +theme_xhred_global_choose=Choose +theme_xhred_global_select=Select +theme_xhred_global_ok=OK +settings_sysinfo_theme_patched_updates=Including patched versions +settings_sysinfo_theme_updates_description=In order to make this option work, git command has to be installed on your system +theme_git_patch_available=Latest available patch +theme_git_patch_no_git_message=In order to install latest patches directly from GitHub you must make sure that git command is installed. +theme_git_patch_update_success_message=Theme update for Webmin was successful. Currently installed version is $1. Reloading... +theme_git_patch_update_success_message2=Theme update for both Webmin and Usermin was successful. Currently installed version is $1. Reloading... +theme_xhred_git_patch_update=Theme update has failed. Try using console to do it manually. +theme_xhred_git_patch_initiated=Theme update has been initiated. +theme_xhred_global_prev_page=Go back one page +theme_xhred_global_help=Help +settings_right_soft_updates_page_options_title=Software updates +theme_xhred_git_compare_changes=Compare changes +theme_xhred_filemanager_link_to_clipboard=Symbolic link's name `%value` has been copied to clipboard. + + + +#18.46 +theme_left_mail_prefs=Mail Preferences +theme_left_mail_change_password=Change Password +theme_left_mail_account_functions=Account Functions +theme_xhred_global_dir_up=Go to previous directory (Backspace) +theme_xhred_global_module_config=Module config +theme_xhred_global_return=Return +theme_xhred_global_return_to_module_index=Return to module index + + +#18.47 +settings_account_info_link_mini=Show account information link as button +theme_xhred_global_complete_changelog=Complete changelog +theme_xhred_global_beta_version=Beta version +theme_xhred_global_release=Release +theme_xhred_global_released_on=Released on +theme_xhred_global_committed_on=Committed on +theme_xhred_global_resolved_issues=Resolved issues in %value releases + + +#18.48 +theme_force_upgrade=Force update theme +theme_force_upgrade_beta=Install latest development version (beta) +theme_force_upgrade_stable=Install latest release version (stable) +theme_xhred_source_encoding=Source encoding +theme_update_footer=Please be kind reporting bugs to $1 repository. Follow theme's $2 channel for the latest updates. +theme_xhred_encoding_manually_set=Manually set encoding +theme_xhred_filemanager_save_to_change_encoding=File must be saved, in order to allow encoding to be changed. + + +#18.49 +theme_xhred_filemanager_user_switch=Switch to user (Ctrl+M) +theme_xhred_filemanager_user_switch_description=By selecting the username listed below, you will switch further operations to be performed as this user. +theme_xhred_filemanager_user_switch_description_back=To switch back to default mode choose the first option in select. +theme_xhred_filemanager_user_switch_current_user=Current user +theme_xhred_filemanager_user_switch_option=Automatically switch to user mode upon entering its home directory +theme_xhred_filemanager_editor_align_panels_horizontally=Align Panels Horizontally +theme_xhred_filemanager_editor_align_panels_vertically=Align Panels Vertically +theme_xhred_filemanager_editor_toggle_soft_wrap=Toggle Soft Wrap +theme_xhred_filemanager_editor_refresh_content=Refresh Content +theme_xhred_filemanager_save_to_refresh_content=File must be saved, in order to allow its content to be refreshed. +theme_xhred_filemanager_save_to_refresh_content_proc=Refreshing file content. +theme_xhred_global_dark=Dark +theme_xhred_global_light=Light +theme_xhred_global_minimize=Minimize +theme_xhred_global_maximize=Maximize +theme_xhred_global_normalize=Normalize +theme_xhred_global_set_encoding=Set encoding + + +#19.00 +theme_xhred_sysinfo_update_start=System information is being recollected. +theme_xhred_sysinfo_update_end=System information has been recollected successfully. +theme_xhred_sysinfo_update_failed=System information can't be recollected. Try again later. + +theme_xhred_global_development_version=Development version + +right_vm_server_summary=Virtual Server Summary + +settings_webmin_default_module=Default module for Webmin + +theme_xhred_global_unbeforeunload_title=Changes you made may not be saved +theme_xhred_global_unbeforeunload_message=If you continue, unsaved changes on this page could be permanently lost. +theme_xhred_global_continue=Continue + +theme_xhred_global_automatic_refresh=Automatic refresh +theme_xhred_global_second=Second +theme_xhred_global_seconds=Seconds +theme_xhred_global_minute=Minute +theme_xhred_global_minutes=Minutes diff --git a/lang/ro_RO b/lang/ro_RO new file mode 120000 index 000000000..a4955b207 --- /dev/null +++ b/lang/ro_RO @@ -0,0 +1 @@ +ro_RO.UTF-8 \ No newline at end of file diff --git a/lang/ro_RO.UTF-8 b/lang/ro_RO.UTF-8 new file mode 100644 index 000000000..1541da3e9 --- /dev/null +++ b/lang/ro_RO.UTF-8 @@ -0,0 +1,717 @@ +body_cp=Procesor +body_cpu=Media utilizare Procesor +body_cpuinfo=InformaĆŁii Procesor +body_cputemps=Temperaturi Procesoare +body_cputype=$5, $8 miezuri +body_disk=Spațiul discului local +body_driveerr=$1 erori! +body_drivefailed=Verificarea SMART a eșuat! +body_drivetemps=Temperaturile discurilor +body_firewall=Versiunea Firewall +body_header0=Informații despre Sistem +body_header1=Informații despre Cont +body_host=Numele de Host al Sistemului +body_kernel=Kernel și Procesor +body_kernelon=$1 $2 pe $3 +body_load=$1 (1 min) $2 (5 min) $3 (15 min) +body_os=Sistem de Operare +body_procs=Procese Ăźn derulare +body_real=Memorie reală +body_time=Timpul Sistemului +body_updates=Pachete de actializat +body_updays=$1 zile, $2 ore, $3 minute +body_uphours=$1 ore, $2 minute +body_upmins=$1 minute +body_upneed=Sunt disponibile $1 pachete de actualizat +body_upneed1=$1 pachet disponibil pentru actualizare +body_upok=Toate pachetele instalate sunt la zi +body_upsec=Sunt disponibile $1 pachete de actualizat, din care $2 sunt actualizări de securitate +body_upsec1=$1 pachete disponibile pentru actualizare, din care $2 este este actualizare de securitate +body_upsec2=$1 pachet disponibil pentru actualizare, din care $2 sunt actualizări de securitate +body_upsec3=$1 pachet disponibil pentru actualizare, din care $2 este este actualizare de securitate +body_uptime=Durata activă a Sistemului +body_used=$1 total / $2 utilizat +body_used_and_free=$1 total / $2 liber / $3 utilizat +body_usermin=Versiunea Usermin +body_virt=Memorie Virtuală +body_webmin=Versiunea Webmin + +left_favorites=Favorite +left_favorites_no=Momentan nu au fost adăugate Favorite... +left_feedback=Trimite Feedback +left_home=Informații despre Sistem +left_others=Altele +left_refresh_modules=Împrospătează Modulele +left_search=Caută +left_statistics=Statistici Sistem + +login_danger=Pericol! +login_message=Trebuie să introduci un utilizator Ɵi parolă pentru a te autentifica Ăźn Server +login_pass=Parola +login_reset=Resetează +login_save=Ține-mă minte +login_signin=Intră +login_success=Suces! +login_token=Jeton Token +login_user=Utilizator +login_warning=Atentie! + +right_aliases=Servere alias +right_bw=Lăƣime de bandă folosită Ɵi limita +right_dom=Numele serverului tău +right_faliases=Pseudonime Email +right_fdbs=Baze de date +right_fdoms=Servere Virtuale +right_from=Autentificat de la +right_fusers2=Utilizatori FTP +right_fusers=Utilizatori Email/FTP +right_fvm2=Mașini Virtuale +right_fweb=Site-uri Virtuale +right_licenceheader_vm2=Licențe Cloudmin +right_login=Autentificat ca +right_not=Neinstalat +right_of=$1 din $2 +right_quota=Disc utilizat și cota +right_reselip=(Reseller $1) +right_sharedip=(IP Partajat) +right_slcheck=Verifică din nou Licența Cloudmin +right_subs=Sub-servere +right_virtdocs2=Documente Suplimentare +right_virtualmin=Versiune Virtualmin +right_vlcheck=Verifică din nou Licența Virtualmin +right_vm2=Versiunea Cloudmin + +session_failed=Autentificare eșuată. Te rog Ăźncearcă din nou. +session_logout=Decontectare reușită. Utilizați formularul de mai jos pentru re-autentificare. +session_timed_out=Sesiunea a expirat după $1 minute de inactivitate. +session_twofailed=Autentificarea cu factor dublu a eșuat: $1 + + + + + + + + + + +settings_right_options=Opțiuni +settings_right_restore_defaults=Restaurare setări implicite +settings_right_restored=Restaurat +settings_right_restoring=În curs de restaurare +settings_right_saved=Salvat +settings_right_saving=În curs de salvare + +settings_right_theme_extensions=Extensii pentru temă +settings_right_theme_extensions_title=Extensiile Temei +settings_right_file_edit=Editează fișierele temei: +settings_right_extensions_title=Proiectarea extinsă a Temei, vă permite manipularea cu ușurință a părților vizate din interfață. + +settings_right_theme_logos=Logo-urile temei +settings_right_theme_logos_title=Logo-urile Temei +settings_right_logos_title=Logo-urile temei pot fi ușor configurate aici, pentru ambele moduri, atĂąt pentru utilizatorii autentificați cĂąt și neautentificați. Dimensiunea recomandată a logo-ului este 180x90 pixeli și singurul format acceptat este .png, pentru a asigura transpatența Ăźn mod ALPHA. +settings_right_logo_authenticated_users=Logo pentru utilizatori autentificați +settings_right_logo_unauthenticated_users=Logo pentru utilizatori neautentificați + +settings_right_current_theme=Temă curentă +settings_right_title=Această pagină ĂźÈ›i permite modificarea Authentic Theme. Configurările vor fi Ăźnregistrate după Actualizarea Temei. +settings_right_theme_left_configuration_title=Configurația Authentic Theme +settings_right_theme_left_extensions_title=Editor de Extensii Authentic Theme +settings_right_theme_left_logo_title=Administrare Logo Authentic Theme +settings_right_theme_configurable_options_title=Opțiuni configurabile pentru Authentic Theme + + +settings_right_window_options_title=Opțiunile de Fereastră +settings_right_navigation_menu_title=Opțiunile Meniului de Navigare +settings_right_table_options_title=Opțiuni pentru Tabele +settings_security_title=Opțiuni pentru Alerte de Securitate +settings_security_description=Alertele de securitate vă va lăsa să configurați notificări prin email asupra unor evenimente.
    Format: Mesaj|Subiect|Lista de utilizatori/emailuri separare prin virgulă|Lista IPv4/IPv6 ignorate, separate prin virgulă
    Utilizare: %3 alerta autentificare reușită pentru utilizator %1 din %2|%3 alerta autentificare reuƟită|root,user@example.org|1.2.3.4,5.6.7.8
    Generat: From: root, To: root, Subject: Webmin alerta autentificare reuƟită, Message: Webmin alertă autentificare reuƟită pentru utilizator root de la 2.3.4.5 +settings_right_hotkey_options_title=Opțiuni Hotkeys +settings_right_sysinfo_page_options_title=Opțiuni pagină Informații de Sistem + +settings_right_hotkey_custom_options_description=Legăturile personalizate ĂźÈ›i dă voie sa folosești cifre de la 1 la 9 pentru a accesa orice URL valid Webmin/Usermin/Virtualmin/Cloudmin. URL-ul poate fi extras din cardul din dreapta al paginii curente, citindu-i sursa. Este important ca URL-ul să nu aibă slash-uri la Ăźnceput și să nu folosească prefixe. Ca exemplu, pentru a trece rapid la Apache, configurează cĂąmpul legătură personalizată 1 /apache/. Dacă tasta pentru hotkey este implicit Alt, făcĂąnd click Alt+1, va deschide modulul Apache. +settings_hotkey_custom_1=Legătură personalizată 1 +settings_hotkey_custom_2=Legătură personalizată 2 +settings_hotkey_custom_3=Legătură personalizată 3 +settings_hotkey_custom_4=Legătură personalizată 4 +settings_hotkey_custom_5=Legătură personalizată 5 +settings_hotkey_custom_6=Legătură personalizată 6 +settings_hotkey_custom_7=Legătură personalizată 7 +settings_hotkey_custom_8=Legătură personalizată 8 +settings_hotkey_custom_9=Legătură personalizată 9 + +settings_navigation_color=Culoare meniu navigare +settings_background_color=Culoare pagina conĆŁinut +settings_animation_left=Activează animația Ăźn meniul de navigare +settings_animation_tabs=Activează animația in taburi +settings_loader_top=Activează bara de Ăźncărcare a paginii Ăźn partea superioară a ecranului +settings_loader_left=Activează spinner pentru meniul de navigare +settings_right_reload=Încarcă pagina cu conținut implicit +settings_right_reload_description=CĂąnd defilezi prin taburi, pagina cu conținut din cadrul din drepta se reĂźncarcă. Nu păstrezi conținutul paginii deja deschise din cardul din drepta și reĂźncarci cu conținutul standard? + +settings_right_hide_table_icons=Ascunde pictogramele tabelelor din cadrul din dreapta +settings_right_hide_table_icons_description=Elimină complet pictogramele din tabelele paginii de conținut și afișează doar linkuri cu săgeată la dreapta +settings_right_small_table_icons=Pictograme mici in tabele +settings_right_small_table_icons_description=Substituează pictogramele tabelelor de dimensiune standard cu unele mici și afișează linkul pictogramelor folosind chenar cu descriere +settings_right_animate_table_icons=Animează pictogramele tabelelor la focus pe el +settings_right_grayscaled_table_icons=Tranformă Ăźn scala gri pictogramele tabelelor și colorează-le doar la focus pe el + +settings_leftmenu_section_hide_refresh_modules=Ascunde linkul Împrospătează Module +settings_leftmenu_section_hide_unused_modules=Ascunde linkul Module Neutilizate +settings_favorites=Arată butonul pentru favorite +settings_leftmenu_button_language=Atată butonul limbi +settings_leftmenu_button_refresh=Arată butonul reĂźmprospătare + +settings_theme_options_button=Arată butonul setări de temă + +settings_hotkeys_active=Activează utilizarea Taste Rapide +settings_hotkey_toggle_modifier=Modificator de Taste Rapide +settings_hotkey_toggle_key_webmin=Tastă Rapidă pentru Webmin +settings_hotkey_toggle_key_virtualmin=Tastă Rapidă pentru Virtualmin +settings_hotkey_toggle_key_cloudmin=Tastă Rapidă pentru Cloudmin +settings_hotkey_toggle_key_usermin=Tastă Rapidă pentru Usermin +settings_hotkey_toggle_key_webmail=Tastă Rapidă pentru Mail +settings_hotkey_sysinfo=Hotkey for dashboard +settings_hotkey_shell=Hotkey for terminal +settings_hotkey_favorites=Tastă Rapidă pentru Favorite +settings_hotkey_focus_search=Tastă Rapidă pentru cĂąmpul de căutare +settings_hotkey_reload=Tastă Rapidă pentru reĂźncărcarea paginii + +settings_side_slider_background_refresh_time=Expirare timp pentru actualizări de informații Ăźn fundal +settings_side_slider_background_refresh_time_description=Aplică timpul de expirare dorit pentru actualizări de stare și informații de sistem ce rulează cereri Ăźn fundal. Valoare trebuie să fie Ăźn minute. Valoarea minimă recomandată este de 1 minut. Configuarea implicită este de 5 minute. Se pot folosi valori zecimale. +settings_sysinfo_easypie_charts=Afișează diagrame +settings_sysinfo_theme_updates=Verifică actualizări pentru Authentic Theme +settings_sysinfo_csf_updates=Verifică actualizări pentru ConfigServer Security și Firewall +settings_sysinfo_drive_status_on_new_line=Afișează starea Procesorului și a Discurilor fiecare pe un nou rĂąnd +settings_sysinfo_expand_all_accordions=Menține toate acordeoanele extinse +settings_sysinfo_link_mini=Afișează linkul Informații de Sistem ca buton + +settings_right_page_defaults_title=Pagini implicite +settings_right_default_tab_webmin=Tabul implicit după autentificarea Ăźn Webmin +settings_right_default_tab_usermin=Tabul implicit după autentificarea Ăźn Usermin +settings_right_virtualmin_default=Paginia implicită pentru Virtualmin +settings_right_cloudmin_default=Paginia implicită pentru Cloudmin + +settings_right_clear_local_cache=Eliberează Cache-ul +settings_right_notification_slider_options_title=Side slider options +settings_side_slider_fixed=Menține Ăźntotdeauna sliderul vizibil +settings_side_slider_palette=Culoare Slider +settings_hotkey_toggle_slider=Hotkey for slider +settings_window_replace_timestamps=Activează substituirea datelor +settings_window_replaced_timestamp_format_short=Formă scurtă dată/oră +settings_window_replaced_timestamp_format_full=Formă Ăźntreagă dată/oră +settings_window_replaced_timestamps_options_description=Ajustează setările dată/oră după bunul plac pentru afișarea Ăźn formă scurtă sau Ăźntreagă. Această opțiune Pre-Construită are efect Ăźn pagina Sliderul de Notificări și Informații de Sistem (de pe rĂąndul Timpul Ăźn sistem). Implicit, forma Ăźntre echivalează cu LLLL și forma scurtă este L, LTS. Expunerea timpului este diferit pentru localizări diferite. Localizarea este bazată pe setările de limbă ale Webmin. + +settings_side_slider_enabled=Activează slider +settings_leftmenu_user_html=Arată fragmente HTML +settings_leftmenu_user_html_description=Text definit de utilizator sau cod HTML va fi injectat Ăźn subsolul meniului de navigare. Poate fi folosit Ăźn scopuri de identificare. Exemplu, pentru a arăta Ăźn mod explicit numele gazdei, poți adăuga cĂąmpului <br><kbd>hostname:10000</kbd> unde hostname = numele gazdei + + +theme_changelog=Jurnal schimbări +theme_conference=Conferință Temă +theme_development_support=Asistență Developement +theme_donate=Donează +theme_download=Descarcă +theme_name=Authentic Theme +theme_update=Actualizează +theme_update_available=Ultima versiune disponibilă +theme_update_notice=Notificare de Actualizare +theme_version=Versiunea Temei + + +# Version 17.40 +theme_global_error=Eroare +theme_global_warning=Atenționare +theme_global_success=Succes +theme_global_info=Informație +sysinfo_system_status_warning=Pentru a avea afișat Informații despre Sistem va trebui să activezi modulul Statistici Sistem Ăźn configurațiile utilizatorului. +settings_leftmenu_user_html_only_for_administrator=Arată fragmente HTML numia pentru administratori +theme_sysinfo_wmdocs=Documentație Webmin +theme_sysinfo_vmdocs=Documentație Virtualmin +theme_sysinfo_cmdocs=Documentație Cloudmin +theme_fileformat_css=CSS +theme_fileformat_json=JSON +theme_fileformat_js=Javascript +theme_fileformat_plain_text=Plain Text + +theme_xhred_titles_wm=Webmin +theme_xhred_titles_um=Usermin +theme_xhred_titles_dashboard=Panou Principal +theme_xhred_titles_mail=Email +theme_xhred_titles_vm=Virtualmin +theme_xhred_titles_cm=Cloudmin +theme_xhred_titles_thirdlane=Thirdlane + +theme_xhred_global_please_wait=Te rog așteaptă... +theme_xhred_filemanager_copying_selected=Copiez selecțiile. +theme_xhred_filemanager_cutting_selected=Tai selecțiile. +theme_xhred_filemanager_pasting_selected=Alipesc din clipboard. +theme_xhred_filemanager_unpacking_archive=Desfac arhiva. +theme_xhred_filemanager_deleting_selected=Șterg selecțiile. +theme_xhred_filemanager_renaming_selected=Redenumesc selecțiile. +theme_xhred_filemanager_creating_directory=Creez dosar +theme_xhred_filemanager_creating_file=Creez fișier +theme_xhred_filemanager_downloading_from=Descar de la +theme_xhred_filemanager_setting_permissions=Setez permisiuni pentru %value pe fișier(ele) selectat(e). +theme_xhred_filemanager_changing_ownership=Modifica proprietatea pentru %value pe fișier(ele) selectat(e). +theme_xhred_filemanager_compressing_selected=Compressing selected in the background. +theme_xhred_filemanager_refreshing=ReĂźmprospătez conșinutul dosarului. +theme_xhred_filemanager_copying_successful=Copiere cu succes Ăźn clipboard. +theme_xhred_filemanager_cutting_successful=Tăiere cu succes Ăźn clipboard. +theme_xhred_filemanager_pasting_successful=Alipirea din clipboard efectuată cu succes. +theme_xhred_filemanager_bookmark_success=Dosar %value a fost adăugat cu succes la favorite. +theme_xhred_filemanager_searching=Searching for `%value` matching names of files/directories. +theme_xhred_filemanager_search_founds=Găsit %value potriviri. +theme_xhred_filemanager_search_found=Găsit 1 potrivire. +theme_xhred_filemanager_search_no_matches=Nicio potrivire găsită. +theme_xhred_filemanager_nothing_is_selected=Nu-i nimic selectat! +theme_xhred_filemanager_saving_file=Fișier `%value` Ăźn curs de salvare. +theme_xhred_filemanager_file_saved=Fișier `%value` salvat cu succes. +theme_xhred_filemanager_not_editable=Nu pot edita acest gen de selecție. +theme_xhred_filemanager_not_decompressable=Nu pot decomprima acest gen de fișier. +theme_xhred_filemanager_no_selection_to_copy=Niciun dosar/fișier selectat pentru copiere. +theme_xhred_filemanager_no_selection_to_cut=Niciun dosar/fișier selectat pentru tăiere. +theme_xhred_filemanager_empty_clipboard=Clipboard-ul este gol. + +theme_xhred_filemanager_successful_extraction=Dezarhivare efectuată cu succes. +theme_xhred_filemanager_successful_deletion=Ștergere efectuată cu succes. +theme_xhred_filemanager_successful_permissions=Permisiunile au fost modificate cu succes. +theme_xhred_filemanager_successful_ownership=Proprietatea a fost schimbată cu succes. +theme_xhred_filemanager_successful_compression=Comprimarea s-a finașizat cu succes. +theme_xhred_filemanager_successful_directory_creation=Dosar `%value` creat cu succes. +theme_xhred_filemanager_successful_file_creation=Fișier `%value` creat cu succes. + +theme_xhred_notifications_packages_updates=Actualizări de Pachete +theme_xhred_notifications_theme_update=Actualizări de Temă +theme_xhred_notifications_theme_update_message=O nouă versiune %v a Authentic Theme este disponibilă. Te rog actualizează. +theme_xhred_notifications_firewall_update=Actualizare de Firewall +theme_xhred_notifications_firewall_update_message=O nouă versiune %v a ConfigServer Server Security și Firewall este disponibilă. Te rog actualizează. + +theme_xhred_notifications_firewall_danger=Pericol Firewall +theme_xhred_notifications_firewall_danger_message=Se pare că ConfigServer Server Security și Firewall nu-i activ sau s-a oprit! Nu-ți lăsa serverul expus, verifică setările Firewall-ului (%v) + +theme_xhred_notifications_firewall_warning=Atenționare Firewall + +#17.50 +settings_grayscale_level_navigation=Filtru nuanĆŁe de gri +settings_grayscale_level_navigation_description=Valori implicite/curente 0/0 +settings_sepia_level_navigation=Filtru nuanĆŁe sepia +settings_sepia_level_navigation_description=Valori implicite/curente 0/0 +settings_saturate_level_navigation=Filtru nuanĆŁe saturate +settings_saturate_level_navigation_description=Valori implicite/curente 1/0 +settings_hue_level_navigation=Filtru cu nuanĆŁe inversate +settings_hue_level_navigation_description=Valori implicite/curente 0°/0° +settings_invert_level_navigation=Filtru de inversare +settings_invert_level_navigation_description=Valori implicite/curente 0/0 +settings_brightness_level_navigation=Filtru de strălucire +settings_brightness_level_navigation_description=Valori implicite/curente 1/0 +settings_contrast_level_navigation=Filtru de contrast +settings_contrast_level_navigation_description=Valori implicite/curente 1/0 + +settings_grayscale_level_content=Filtru nuanĆŁe de gri +settings_grayscale_level_content_description=Valori implicite/curente 0/0 +settings_saturate_level_content=Filtru nuanƟe saturate +settings_saturate_level_content_description=Valori implicite/curente 1/0 +settings_hue_level_content=Filtru cu nuanĆŁe inversate +settings_hue_level_content_description=Valori implicite/curente 0°/0° + +settings_cm_view_palette=Vizualizator paletă de culori +settings_cm_editor_palette=Editor paletă de culori + +theme_xhred_filemanager_context_select_all=Selectează ot +theme_xhred_filemanager_context_select_invert=Inversează SelecĆŁia +theme_xhred_filemanager_context_refresh=ReĂźmprospătează +theme_xhred_filemanager_context_newfile=Crează fiƟier nou +theme_xhred_filemanager_context_newfoder=Crează director nou +theme_xhred_filemanager_context_copy=Copiază +theme_xhred_filemanager_context_cut=Taie +theme_xhred_filemanager_context_paste=LipeƟte +theme_xhred_filemanager_context_chmod=Schimbă Permisiuni +theme_xhred_filemanager_context_chown=Schimbă Proprietate + +#17.51 +theme_xhred_filemanager_context_new=Nou +theme_xhred_filemanager_context_newarchive=Crează o nouă arhivă +theme_xhred_filemanager_context_delete=ƞterge +theme_xhred_filemanager_context_rename=RedenumeƟte +theme_xhred_filemanager_context_edit=Editează +theme_xhred_filemanager_context_extract=Despachetează +theme_xhred_filemanager_context_goto=Deschide LocaĆŁia Articolului +theme_xhred_filemanager_context_properties=Proprietăƣi +theme_xhred_filemanager_context_search=Caută + +#17.52 +theme_xhred_filemanager_context_deselect_all=Deselectează Tot +theme_xhred_filemanager_context_upload=Încarcă Ăźn directorul curent +theme_xhred_filemanager_context_download=Descarcă din URL de la distanƣă + +#17.53 +theme_settings_virtualmin=Virtualmin Servere Virtuale +theme_settings_cloudmin=Cloudmin Sisteme Administrate +settings_right_thirdparties_options_title=OpĆŁiunile modulelor terĆŁe +theme_xhred_filemanager_context_calculate_size=Calculează dimensiunea la spacebar +theme_xhred_filemanager_context_bookmarks=Marcaje +theme_xhred_filemanager_context_bookmark_current=Marchează calea deschisă acum +theme_xhred_filemanager_context_transfer=Transferă + +#17.54 +theme_xhred_filemanager_title_symlink_target=Ćąintă Link + +#17.60 +right_unlimited=Nelimitat +settings_leftmenu_width=Lăƣimea preferată +settings_leftmenu_width_description=Lăƣimea implicită/curentă 260/0 +settings_switch_rdisplay=Buton de inversare +settings_switch_rdisplay_description=Această opĆŁiune ßƣi permite configurarea ordinii difertie pentru butoanele din stĂąnga sus. După modificarea opĆŁiuni, este necesară reĂźncărcarea paginii pentru a se aplica modificarea. + + +#17.63 +theme_xhred_filemanager_context_calculate_selected_size=Calculează dimensiunea selectată +theme_xhred_filemanager_selected_entries=Selectat: %value intrări +theme_xhred_filemanager_manual_path=Introdu calea manual + +theme_xhred_datatable_semptytable=NU sunt date disponibile +theme_xhred_datatable_sinfo=AfiƟez de la _START_ pĂąnă la _END_ din _TOTAL_ intrări +theme_xhred_datatable_sinfoempty=AfiƟez de la 0 pĂąnă la 0 din 0 intrări +theme_xhred_datatable_slengthmenu=AfiƟez _MENU_ intrări +theme_xhred_datatable_sloadingrecords=Încarc +theme_xhred_datatable_sprocessing=Procesez... +theme_xhred_datatable_szerorecords=Nico Ăźnregistrare potrivită + +#17.64 +theme_xhred_filemanager_file_edit_but_not_saved=FiƟierul a fost editat dar n-a fost salvat. +theme_xhred_filemanager_file_edit_but_not_saved_what_to_do=Ce doreƟti să faci? +theme_xhred_global_save=Salvează +theme_xhred_global_save_and_close=Salvează Ɵi Ăźnchide +theme_xhred_global_close_without_saving=Închide fără să salvezi +theme_xhred_global_continue_editing=Continuă editarea +theme_xhred_filemanager_context_download_file=Descarcă + +#17.65 +settings_sysinfo_easypie_charts_width=Lăƣime grafice +settings_sysinfo_easypie_charts_scale=Scalează lungimea graficelor + +#17.80 +right_return_theme_options=OpĆŁiuni temă +theme_xhred_datatable_semptydirectory=Directorul este gol +theme_xhred_filemanager_context_clipboard=Copiați calea Ăźn clipboard +theme_xhred_global_warning=AtenĆŁie +theme_xhred_global_close=Închide +theme_xhred_encoding_warning=Am detectat că utilizați un set de caractere non-unicode, care nu este recomandat. Un caracter ciudat  ar putea apărea Ăźn modul editor-text și/sau alte probleme de codare vor apărea.

    Schimbă limba ün %prod Configuraƣie pentru %lang.UTF-8 Ɵi asigurăte că Ɵi browserul tău ül detectează corect.

    Atenƣie, modulele Webmin incorporate, denumit Modifică Limba Ɵi Tema pot suprascrie setările globale.
    + +theme_xhred_filemanager__no_bookmarks=Niciun marcaj salvat +theme_xhred_filemanager_unbookmark_success=Directorul %value a fost eliminat cu succes din marcaje. +theme_xhred_filemanager_bookmark=Marchează directorul curent +theme_xhred_filemanager_unbookmark=Demarchează directorul current +theme_xhred_filemanager_move_into_self=Nu poƣi muta un director ün el ünsuƟi! Directorul destinarat este ün directorul sursă. +theme_xhred_filemanager_pasting_and_copying_1=Sursa selectată a fost lipită cu succes sub noul nume. +theme_xhred_filemanager_pasting_and_copying_2=Sursele selectate au fost lipite cu succes sub noile nume. +theme_xhred_filemanager_pasting_and_replacing_1=Ʊinta existentă a fost ünlocuită cu succes cu cea nouă. +theme_xhred_filemanager_pasting_and_replacing_2=Ʊintele existente au fost ünlocuite cu succes de cele noi. +theme_xhred_filemanager_target_conflict_1=Conflict de obiectiv. +theme_xhred_filemanager_target_conflict_2=Conflict de obiective. +theme_xhred_filemanager_target_conflict_message_1=Ʊinta lipită există deja! Ce preferi să faci? +theme_xhred_filemanager_target_conflict_message_2=Ʊintele lipite există deja! Ce preferisa faci? +theme_xhred_filemanager_target_conflict_replace=Îmbinare sau ünlocuire +theme_xhred_filemanager_target_conflict_paste=LipeƟte cu nume nou + +theme_xhred_editor_help_title=Editor Scurtături de Tastatură +theme_xhred_editor_help_content=
    Caută/ÎnlocuieƟte
    Keypress Comandă
    Ctrl + F Caută
    Ctrl + H ÎnlocuieƟte
    Ctrl + ⇧ + R ÎnlocuieƟte tot
    Ctrl + G Caută următorul
    Ctrl + ⇧ + G Caută anterior
    Alt + G Sări la linia
    Manipularea textului
    Keypress Comandă
    Ctrl + KU TransformaĆŁi Ăźn Litere Mari
    Ctrl + KL TransformaĆŁi Ăźn Litere Mici
    Editare
    Keypress Comandă
    Ctrl + Space Activează Autocompletarea
    Ctrl + X Taie rĂąndul
    Ctrl + ⇧ + ↑ Mută rñndul/selecƣia sus
    Ctrl + ⇧ + ↓ Mută rñndul/selecƣia jos
    Ctrl + L Selectează rßndul - Repetă selectarea la rùndurile următoare
    Ctrl + D Selectează cuvùnt - Repetă selecƣia la alte evenimente
    Ctrl + M Sări la inchiderea parantezelor Repetă săritura la parantezele deschise
    Ctrl + ⇧ + M Selectează tot conƣinutul parentezelor curente
    Ctrl + ⇧ + K ƞterge Ründul
    Ctrl + KK ƞterge de la cursor pñnă la sfñrƟitul rñndului
    Ctrl + K + Backspace ƞterge de la cursor pñnă la ünceputul rñndului
    Ctrl + ⇧ + D Duplică rñnd(uri)
    Ctrl + J Alăturați linia de mai jos pĂąnă la sfĂąrșitul liniei curente
    Ctrl + / Comentează/de-comentează rùndul curent
    Ctrl + ⇧ + / Blochează comentarea selecƣiei curente
    Ctrl + Y Refă, sau repetă ultima comandă scurtătură de tastatură
    Ctrl + ⇧ + V Lipiți și indentați corect
    Ctrl + Space Selectaƣi următoarea sugestie din autocompletare
    Ctrl + U Desfă uƟor; sare la ultima schimbare ünainte de a anula modificarea atunci cñnd se repetă
    + +theme_xhred_filemanager_hide_toolbar=Ascunde bara de instrumente +theme_xhred_filemanager_hide_actions=Ascunde coloana de acĆŁiuni +theme_xhred_filemanager_hovered_toolbar=Activează meniuri Ăźn bara de instrumente la planarea cursorului +theme_xhred_filemanager_context_delete_selected=ƞterge ce-i selectat + +#17.83 +theme_xhred_database_adding_new_row=Adăugarea unui rĂąnd nou +theme_xhred_database_editing_row=Editarea rĂąndului selectat +theme_xhred_database_editing_rows=Editarea rĂąndurilor selectate +theme_xhred_database_adding_new_row_data=Setare date + +#17.84 +theme_xhred_datatable_filter=Filttru + +theme_xhred_global_update=Actualizează +theme_xhred_global_update_and_return=Actualizează Ɵi Ăźntoarce-te +theme_xhred_global_update_and_close=Actualizează Ɵi Ăźnchide +theme_xhred_global_back=Înapoi +theme_xhred_global_cancel=Renunƣă + +theme_xhred_database_add_row_successful=RĂąndul nou a fost adăugat cu succes +theme_xhred_database_edit_row_successful=RĂąndul selectat a fost actualizat cu succes +theme_xhred_database_edit_rows_successful=RĂąndurile selectate au fost actualizate cu succes +theme_xhred_database_edit_row_delete_successful=RĂąndul selectat a fost șters cu succes +theme_xhred_database_edit_rows_delete_successful=S-au șters cu succes %n rĂąnduri selectate +theme_xhred_database_edit_field_delete_successful=CĂąmpul selectat a fost șters cu succes +theme_xhred_database_edit_fields_delete_successful=S-au șters cu succes %n cĂąmpuri selectate +theme_xhred_database_edit_selected_row=Editează rĂąnd selectat +theme_xhred_database_edit_selected_rows=Editează rĂąnduri selectate +theme_xhred_database_add_new_row=Adaugă rĂąnd +theme_xhred_database_delete_selected_row=ƞterge rĂąnd selectat +theme_xhred_database_delete_selected_rows=ƞterge rĂąnduri selectate +theme_xhred_database_delete_selected_field=ƞterge cĂąmp selectat +theme_xhred_database_delete_selected_fields=ƞterge cĂąmpuri selectate +theme_xhred_database_object_selected_delete=ƞterge obiect selectat +theme_xhred_database_objects_selected_delete=ƞterge obiecte selectate +theme_xhred_database_db_selected_drop=Scoateți baza de date selectată +theme_xhred_database_dbs_selected_drop=ScoateĆŁi bazele de date selectate +theme_xhred_database_edit_but_not_saved=Datele din tabel au fost editate, dar nu au fost salvate. + +theme_xhred_global_no_such_command=Se pare că executabilul %cmd nu este instalat sau nu este in calea sistem tău. + +theme_xhred_global_notice=Notificare + +theme_xhred_updates_disabled_notice=Am detectat că nu ai activate notificările pentru actualizările Authentic Theme?

    Activarea acestor ün Configurare Temă te va ajuta să actualizezi la ultima versiune cu un singur click imediat ce este publicat. + + +#18.00 +theme_xhred_global_file=FiƟier +theme_xhred_global_directory=Director +theme_xhred_global_no_target=Obiectivul nu există sau nu este accesibil +theme_xhred_global_error_code=Cod de eroare +theme_xhred_global_on=Deschis +theme_xhred_global_off=Închis +theme_xhred_global_all=Toate +theme_xhred_global_none=Nimic +theme_xhred_global_yes=Da +theme_xhred_global_no=Nu + +theme_xhred_filemanager_new_tab=Adauga un nou tab (Ctrl+Space) +theme_xhred_datatable_no_search_results=Niciun rezultat găsit
    Încearcă o căutare diferită + +theme_xhred_filemanager_buffer_error=EƟuare la lipirea fiƟierelor Ăźn tampon - acces refuzat. + +filemanager_create_object_exists=$3 `$1` există deja Ăźn `$2` +filemanager_create_object_denied=Nu pot crea $3 `$1` Ăźn `$2` - acces refuzat. + +filemanager_paste_warning=EƟuare Ăźn lipirea obiectiv(elor). Este posibil ca obiectiv(ele) cerute să fi fost redenumite, mutate sau Ɵterse Ăźn timp/Ăźnaintea lipirii. O altă posibilă cauză este aceea ca destinaĆŁia să nu poată fi scrisă. Merită verificate atributele obiectivului. + +theme_xhred_filemanager_delete_warning=ƞtergerea s-a finalizat cu succes, dar nu toate obiectele. Este posibil ca obiectul(/ele) cerut(e) să fi fost redenumit(e) sau mutat(e) Ăźnainte de Ɵtergere. Permisiuni restricĆŁionate (atribute) sunt o altă posibilă cauză.Mesaj de eroare: + + +filemanager_rename_exists=$3 cu numele `$1` există deja Ăźn `$2` +filemanager_rename_denied=Nu pot redenumi $3. Aceasta se poate ĂźntĂąmpla deaorece sursa $3 a fost muatată sau are permisiuni restricĆŁionate. + +theme_xhred_filemanager_successful_rename=Redenumirea `%from` Ăźn `%to` efectuată cu succes. + +filemanager_global_info_total1=Total: $1 fiƟier Ɵi $2 director +filemanager_global_info_total2=Total: $1 fiƟiere Ɵi $2 director +filemanager_global_info_total3=Total: $1 fiƟier Ɵi $2 directoare +filemanager_global_info_total4=Total: $1 fiƟiere Ɵi $2 directoare + +theme_xhred_filemanager_selected_entry=Selectat: %value intrare + +theme_xhred_filemanager_search_query=Mască de interogare +theme_xhred_filemanager_search_match=Caută Ɵi ĂźnlocuieƟte +theme_xhred_filemanager_search_replace=ÎnlocuieƟte rezultatele + +theme_xhred_global_find=Caută +theme_xhred_global_replace=Înlocuiește + +theme_xhred_filemanager_searching_matching=Căutarea pentru `%value` potrivirea numelor de fiƟiere/directoare care conĆŁin `%text` ca text. +theme_xhred_filemanager_searching_replacing=Înlocuirea potrivirilor `%text` cu `%replace` Ăźn fisiere cu nume conĆŁinĂąnd `%value`. + +theme_xhred_filemanager_search_replaced_multi=Găsit Ɵi Ăźnlocuit Ăźn %value fiƟiere. +theme_xhred_filemanager_search_replaced=Găsit Ɵi Ăźnlocuit Ăźn 1 fiƟier. + +theme_xhred_filemanager_successful_permissions_with_errors=Permisiunile au fost modificate cu succes dar nu la toate obiectele: + +theme_xhred_filemanager_successful_ownership_with_errors=Proprietatea a fost modificată cu succes pentru toate obiectele: +theme_xhred_filemanager_successful_ownership_with_errors_fatal=Proprietatea nu poate fi modificată din cauza erorilor următoare: + +theme_xhred_filemanager_successful_compression_with_errors=Comprimarea s-a efectuat cu următoarele erori: +theme_xhred_filemanager_successful_compression_bg=Comprimarea s-a efectuat cu succes. FiƟierul comprimat`%file se află Ăźn directorul `%path`. +theme_xhred_filemanager_successful_compression_bg_with_errors=Compresia s-a efectuat cu erori.FiƟierul comprimat `%file ar trebui să se afle Ăźn directorul `%path`. + +theme_xhred_filemanager_settings_notification_type=Tipuri de notificări pentru afiƟare. +theme_xhred_filemanager_settings_notification_type_inf_warn_err=InformaĆŁii, atenĆŁionări Ɵi erori +theme_xhred_filemanager_settings_notification_type_warn_err=AtenĆŁionări Ɵi erori +theme_xhred_filemanager_settings_notification_type_err=Doar erori + +theme_xhred_filemanager_settings_tabs_remember_state=Restaurează filele utilizate anterior la prima Ăźncărcare +theme_xhred_filemanager_context_open_new_tab=Deschide Ăźntro filă nouă + +theme_xhred_xsql_fit_content_screen_height=Ajustează conținutului tabelului bază de date Ăźn Ăźnălțimea ecranului + +theme_xhred_datatable_filter_visible_tables=Filtrează Tabel(ele) Vizibile +theme_xhred_module_help=Ajutorul modulului + +theme_xhred_server_process_running=Procesul serverului Ăźncă rulează!? Sunteți sigur că doriți să navigați și să nu aveți acces la informațiile generate? Chiar dacă ieƟiĆŁi acum, procesul nu va fi terminat. + + +#18.03 +settings_global_options_title=OpĆŁiuni globale +settings_global_passgen_format=Generator de parolă +settings_global_passgen_format_description=ConfiguraĆŁi lungimea și tipul de caractere utilizate Ăźn parola generată. Prima valoare este numerică, adică lungimea parolei, urmată imediat de | ca delimitator. Următorul tip este tipul unde puteți utiliza numerele 0-9, literele a-z și/sau A-Z, Ɵi caratcere speciale#. Toate aceste seturi pot fi utilizate Ăźmpreună sau individual, folosind virgulă ca delimitator. Valoarea implicită este egală cu 12|a-z,A-Z,0-9,#, care reprezintă o parolă cu lungimea de 12 caractere, conținĂąnd litere mari, mici și caractere speciale. +theme_xhred_password_generator_new=Generează Parola Nouă
    (În Clipboard) +theme_xhred_password_generator_new_success=Parola generată %password s-a copiat cu succes Ăźn clipboard. + + +#18.08 +theme_fileformat_perl=Perl +theme_fileformat_perl_placeholder=Aces fiƟier trebuie să se termine cu `1;` ca să poată funcĆŁiona cu succes. + + +#18.10 +theme_error_access_not_root=Acces refuzat: Utilizatorul are nevoie de acces la modulul Configurări Webmin pentru a edita configurația temei + + +#18.20 +settings_hide_top_loader=Ascunde bara de progress Ɵi Ăźncărcătorul + + +#18.30 +settings_leftmenu_vm_cm_dropdown_icons=Afișați pictogramele simbolice Ăźn meniul derulant Ăźn Virtualmin/Cloudmin +settings_font_family=Familia de fonturi +settings_font_family_description=Dintre toate variantele prezentate de fonturi Roboto este livrat odataă cu tema și setat ca implicit. Celelalte fonturi trebuie să fie instalate pe calculatorul local pentru a lucra. Prin utilizarea fonturilor locale, cea implicită nu este Ăźncărcată, ceea ce va duce la Ăźncărcarea mai rapidă a temelor +theme_xhred_global_shipped=Livrat +theme_xhred_global_available=Disponibil +theme_xhred_global_not_available=Indisponibil +theme_xhred_global_default=Implicit +theme_xhred_global_system_default=Implicit de sistem +theme_xhred_global_local_system_default=Implicite locale de sistem +theme_xhred_global_stats=Statistici +theme_xhred_global_notifications=Notificări +theme_xhred_global_favorites=Favorite +theme_xhred_global_cpu_load=Încărcare CPU +theme_xhred_notification_none=Fără notificări +theme_xhred_notification_no_data=Fără date colectate +theme_xhred_notification_no_favorites=Fără favorite +theme_xhred_global_theme_version=Versiunea temei + +settings_side_slider_sysinfo_enabled=Afișați fila tabloului de bord +settings_side_slider_notifications_enabled=Afișați fila notificări +settings_side_slider_favorites_enabled=Afișați fila Favorite +settings_show_terminal_link=Afișați butonul terminalului + +theme_xhred_sysinfo_system_monitors=Monitorizări Sitem +theme_xhred_sysinfo_server_status=Starea Serverului +theme_xhred_sysinfo_software_versions=Versiuni Software +theme_xhred_sysinfo_recent_logins=Autentificări Recente +theme_xhred_sysinfo_vm_package_updates=Pachete de actualizări Virtualmin +theme_xhred_sysinfo_disk_quotas=Cote de Disc +theme_xhred_sysinfo_bandwidth_quotas=Cote de bandă + +left_netdata=Monitorizarea Ăźn Timp Real +settings_leftmenu_netdata=Afișați linkul de monitorizare Netdata Ăźn timp real +settings_leftmenu_netdata_link=Link server preferat de Netdata + +theme_xhred_filemanager_context_chattr=Schimbă Atribute +theme_xhred_filemanager_changing_attributes=Aplic atributele %value fiƟierelor selectate.. +theme_xhred_filemanager_successful_attributes_with_errors=Nu s-au aplicat atributele tuturor obiecteleor: +theme_xhred_filemanager_successful_attributes=Atributele s-au aplicat cu succes. + +theme_xhred_filemanager_context_chcon=Modifică contextul de securitate +theme_xhred_filemanager_changing_secontext=Schimb contextul de securitate ca %value fiƟierelor selectate. +theme_xhred_filemanager_successful_secontext_with_errors=Contextul de securitate nu a fost schimbat cu succes pentru toate obiectele: +theme_xhred_filemanager_successful_secontext=Contextul de securitate s-a schimbat cu succes. + +theme_xhred_global_no_results_found=N-am găsit rezultate + + +#18.40 +theme_new_password_header=Aplica noua parolă pentru utilizator +login_reset=Recuperare parolă +theme_xhred_move_top=Mută la Ăźnceput +theme_xhred_move_bottom=Mută la sfĂąrƟit +theme_xhred_move_up=Mută sus +theme_xhred_move_down=Mută jos +theme_xhred_add_after=Adaugă după +theme_xhred_add_before=Adaugă Ăźnaintea +settings_button_tooltip=Arată sugestii la butoane +settings_show_night_mode_link=AfiƟaĆŁi comutare paletă +settings_hotkey_toggle_key_night_mode=Tastă rapidă pentru comutare Ăźntunecat/luminos +settings_title=Configurare Temă +settings_subtitle=Pentru utilizator + +theme_tooltip_night_mode=Comutare mod Zi/Noapte +theme_tooltip_terminal_link=Terminal +theme_tooltip_language_link=Limbă +theme_tooltip_switch_user=Schimbă utilizator +theme_tooltip_logout=IeƟire +theme_tooltip_edit_user=Editare utilizator + + +#18.45 +settings_sysinfo_easypie_charts_size=Diametru grafice +theme_xhred_global_choose=Alege +theme_xhred_global_select=Selectează +theme_xhred_global_ok=OK +settings_sysinfo_theme_patched_updates=Inclusiv versiuni patch-uite +settings_sysinfo_theme_updates_description=Ca această opĆŁiune să funcĆŁioneze, comanda git trebuie să fie instalată pe sistem +theme_git_patch_available=Ultimile patch-uri disponibile +theme_git_patch_no_git_message=Ca să instalezi ulimile patch-uri direct de pe GitHub asigurăte ca ai comanda git instalată. +theme_git_patch_update_success_message=Actualizarea temei pentru Webmin efectuată. Versiunea curentă instalată este $1. ReĂźncarc... +theme_git_patch_update_success_message2=Actualizarea temelor pentru Webmin Ɵi Usermin efectuată. Versiunea curentă instalată este $1. ReĂźncarc... +theme_xhred_git_patch_update=Actualizare temă eƟuată.Încearcă să foloseƟti consola pentru instalare manuală. +theme_xhred_git_patch_initiated=Actualizare temă iniƟiată. +theme_xhred_global_prev_page=Înapoi o pagină +theme_xhred_global_help=Ajutor +settings_right_soft_updates_page_options_title=Actualizări Software +theme_xhred_git_compare_changes=Compară schimbările +theme_xhred_filemanager_link_to_clipboard=Numele link-ului simbolic `%value` a fost copiat Ăźn clipboard. + + + +#18.46 +theme_left_mail_prefs=PreferinĆŁe de email +theme_left_mail_change_password=Schimbă parola +theme_left_mail_account_functions=FuncĆŁiile contului +theme_xhred_global_dir_up=Mergi la directorul precedent (Backspace) +theme_xhred_global_module_config=Configurare modul +theme_xhred_global_return=Întoarce-te +theme_xhred_global_return_to_module_index=Întoarce-te la indexul modulului + + +#18.47 +settings_account_info_link_mini=AfiƟează link-ul informaĆŁia contului ca buton +theme_xhred_global_complete_changelog=Changelog complet +theme_xhred_global_beta_version=Versiune Beta +theme_xhred_global_release=Release +theme_xhred_global_released_on=Eliberat pe +theme_xhred_global_committed_on=Comis pe +theme_xhred_global_resolved_issues=Probleme rezolvate Ăźn %value +theme_force_upgrade=ForĆŁează actualizarea temei folosind ultima publicare de pe GitHub + + +#18.49 +theme_xhred_filemanager_user_switch=Comută la utilizator (Ctrl+M) +theme_xhred_filemanager_user_switch_description=SelectĂąnd utilizatorul listat mai jos, vei schimba modalitatea de operare, urmĂąnd a fi efectuate sub acest utilizator. +theme_xhred_filemanager_user_switch_description_back=Pentru a reveni la modul implicit, alegeți prima opțiune din selecĆŁie. +theme_xhred_filemanager_user_switch_current_user=Utilizator curent +theme_xhred_filemanager_user_switch_option=Comutați automat la modul Utilizator la accesarea directorului său home +theme_xhred_filemanager_editor_align_panels_horizontally=Align Panels Horizontally +theme_xhred_filemanager_editor_align_panels_vertically=Align Panels Vertically +theme_xhred_filemanager_editor_toggle_soft_wrap=Toggle Soft Wrap +theme_xhred_filemanager_editor_refresh_content=Refresh Content +theme_xhred_filemanager_save_to_refresh_content=File must be saved, in order to allow its content to be refreshed. +theme_xhred_filemanager_save_to_refresh_content_proc=Refreshing file content. +theme_xhred_global_dark=Dark +theme_xhred_global_light=Light +theme_xhred_global_minimize=Minimize +theme_xhred_global_maximize=Maximize +theme_xhred_global_normalize=Normalize +theme_xhred_global_set_encoding=Set encoding + + +#19.00 +theme_xhred_sysinfo_update_start=System information is being recollected. +theme_xhred_sysinfo_update_end=System information has been recollected successfully. +theme_xhred_sysinfo_update_failed=System information can't be recollected. Try again later. + +theme_xhred_global_development_version=Development version + +right_vm_server_summary=Virtual Server Summary + +settings_webmin_default_module=Default module for Webmin + +theme_xhred_global_unbeforeunload_title=Changes you made may not be saved +theme_xhred_global_unbeforeunload_message=If you continue, unsaved changes on this page could be permanently lost. +theme_xhred_global_continue=Continue + +theme_xhred_global_automatic_refresh=Automatic refresh +theme_xhred_global_second=Second +theme_xhred_global_seconds=Seconds +theme_xhred_global_minute=Minute +theme_xhred_global_minutes=Minutes diff --git a/lang/ru b/lang/ru new file mode 120000 index 000000000..0c97b6be5 --- /dev/null +++ b/lang/ru @@ -0,0 +1 @@ +ru.UTF-8 \ No newline at end of file diff --git a/lang/ru.UTF-8 b/lang/ru.UTF-8 new file mode 100644 index 000000000..40d4456d2 --- /dev/null +++ b/lang/ru.UTF-8 @@ -0,0 +1,729 @@ +body_cp=ЩП +body_cpu=ĐĄŃ€Đ”ĐŽĐœŃŃ ĐœĐ°ĐłŃ€ŃƒĐ·ĐșĐ° ĐœĐ° ЩП +body_cpuinfo=Đ˜ĐœŃ„ĐŸŃ€ĐŒĐ°Ń†ĐžŃ ĐŸ ĐżŃ€ĐŸŃ†Đ”ŃŃĐŸŃ€Đ” +body_cputemps=ĐąĐ”ĐŒĐżĐ”Ń€Đ°Ń‚ŃƒŃ€Đ° ЩП +body_cputype=$5, $8 яЮра +body_disk=ĐĄĐČĐŸĐ±ĐŸĐŽĐœĐŸĐ” ЎОсĐșĐŸĐČĐŸĐ” ĐżŃ€ĐŸŃŃ‚Ń€Đ°ĐœŃŃ‚ĐČĐŸ +body_disk2=ĐĄĐČ. ЎОсĐș. ĐżŃ€ĐŸŃŃ‚Ń€Đ°Đœ. +body_driveerr=$1 ĐŸŃˆĐžĐ±ĐŸĐș! +body_drivefailed=SMART ĐœĐ” ĐżŃ€ĐŸŃˆĐ”Đ» ĐżŃ€ĐŸĐČДрĐșу! +body_drivetemps=ĐąĐ”ĐŒĐżĐ”Ń€Đ°Ń‚ŃƒŃ€Đ° ЎОсĐșĐŸĐČ +body_firewall=Đ’Đ”Ń€ŃĐžŃ Firewall +body_header0=ĐĄĐžŃŃ‚Đ”ĐŒĐœĐ°Ń Đ˜ĐœŃ„ĐŸŃ€ĐŒĐ°Ń†ĐžŃ +body_header1=Đ˜ĐœŃ„ĐŸŃ€ĐŒĐ°Ń†ĐžŃ АĐșĐșĐ°ŃƒĐœŃ‚Đ° +body_host=Đ˜ĐŒŃ узла ŃĐžŃŃ‚Đ”ĐŒŃ‹ +body_kernel=ĐŻĐŽŃ€ĐŸ +body_kernelon=$1 $2 ĐœĐ° $3 +body_load=$1 (1 ĐŒĐžĐœŃƒŃ‚Ńƒ) $2 (5 ĐŒĐžĐœŃƒŃ‚) $3 (15 ĐŒĐžĐœŃƒŃ‚) +body_os=ĐžĐżĐ”Ń€Đ°Ń†ĐžĐŸĐœĐœĐ°Ń ŃĐžŃŃ‚Đ”ĐŒĐ° +body_procs=Đ—Đ°ĐżŃƒŃ‰Đ”ĐœĐœŃ‹Ń… ĐżŃ€ĐŸŃ†Đ”ŃŃĐŸĐČ +body_real=ЀОзОчДсĐșая ĐżĐ°ĐŒŃŃ‚ŃŒ +body_real2=ЀОз. ĐżĐ°ĐŒŃŃ‚ŃŒ +body_time=Đ’Ń€Đ”ĐŒŃ ĐœĐ° ŃĐžŃŃ‚Đ”ĐŒĐ” +body_updates=ĐžĐ±ĐœĐŸĐČĐ»Đ”ĐœĐžŃ паĐșĐ”Ń‚ĐŸĐČ +body_updays=$1 ĐŽĐœ., $2 час., $3 ĐŒĐžĐœ. +body_uphours=$1 час., $2 ĐŒĐžĐœ. +body_upmins=$1 ĐŒĐžĐœ. +body_upneed=Đ”ĐŸŃŃ‚ŃƒĐżĐœĐŸ $1 ĐŸĐ±ĐœĐŸĐČĐ»Đ”Đœ. +body_upneed1=$1 package update is available +body_upok=ВсД ĐŸĐ±ĐœĐŸĐČĐ»Đ”ĐœĐžŃ ŃƒŃŃ‚Đ°ĐœĐŸĐČĐ»Đ”ĐœŃ‹ +body_upsec=Đ”ĐŸŃŃ‚ŃƒĐżĐœĐŸ $1 ĐŸĐ±ĐœĐŸĐČĐ»Đ”Đœ., Оз ĐșĐŸŃ‚ĐŸŃ€Ń‹Ń… $2 ĐŸĐ±ĐœĐŸĐČĐ»Đ”Đœ. Đ±Đ”Đ·ĐŸĐżĐ°ŃĐœĐŸŃŃ‚Đž +body_upsec1=$1 package updates are available, of which $2 is security update +body_upsec2=$1 package update is available, of which $2 are security updates +body_upsec3=$1 package update is available, of which $2 is security update +body_uptime=Đ’Ń€Đ”ĐŒŃ ĐœĐ”ĐżŃ€Đ”Ń€Ń‹ĐČĐœĐŸĐč Ń€Đ°Đ±ĐŸŃ‚Ń‹ ŃĐžŃŃ‚Đ”ĐŒŃ‹ +body_used=$1 ĐČŃĐ”ĐłĐŸ / $2 ĐžŃĐżĐŸĐ»ŃŒĐ·ĐŸĐČĐ°ĐœĐŸ +body_used_and_free=$1 ĐČŃĐ”ĐłĐŸ / $2 сĐČĐŸĐ±ĐŸĐŽĐœĐŸ / $3 ĐžŃĐżĐŸĐ»ŃŒĐ·ĐŸĐČĐ°ĐœĐŸ +body_usermin=Đ’Đ”Ń€ŃĐžŃ Usermin +body_virt=Đ’ĐžŃ€Ń‚ŃƒĐ°Đ»ŃŒĐœĐ°Ń ĐżĐ°ĐŒŃŃ‚ŃŒ +body_virt2=Ворт. ĐżĐ°ĐŒŃŃ‚ŃŒ +body_webmin=Đ’Đ”Ń€ŃĐžŃ Webmin + +left_favorites=Favorites +left_favorites_no=There were no favorites added yet... +left_feedback=ОтпраĐČоть ĐŸŃ‚Đ·Ń‹ĐČ +left_home=Đ˜ĐœŃ„ĐŸŃ€ĐŒĐ°Ń†ĐžŃ ĐŸ ŃĐžŃŃ‚Đ”ĐŒĐ” +left_others=УтОлОты +left_refresh_modules=ĐžĐ±ĐœĐŸĐČоть ĐŒĐŸĐŽŃƒĐ»Đž +left_search=ĐŸĐŸĐžŃĐș +left_statistics=ĐĄĐžŃŃ‚Đ”ĐŒĐœĐ°Ń СтатостоĐșĐ° + +login_danger=ĐžĐżĐ°ŃĐœĐŸŃŃ‚ŃŒ! +login_message=Вы ĐŽĐŸĐ»Đ¶ĐœŃ‹ ĐČĐČДстО ĐžĐŒŃ ĐżĐŸĐ»ŃŒĐ·ĐŸĐČĐ°Ń‚Đ”Đ»Ń Đž ĐżĐ°Ń€ĐŸĐ»ŃŒ ĐŽĐ»Ń ĐČŃ…ĐŸĐŽĐ° ĐœĐ° сДрĐČДр +login_pass=ĐŸĐ°Ń€ĐŸĐ»ŃŒ +login_reset=ĐĄĐ±Ń€ĐŸŃ +login_save=Đ—Đ°ĐżĐŸĐŒĐœĐžŃ‚ŃŒ +login_signin=Đ’ĐŸĐčто +login_success=УспДх! +login_token=ĐšĐŸĐŽ +login_user=Đ˜ĐŒŃ ĐżĐŸĐ»ŃŒĐ·ĐŸĐČĐ°Ń‚Đ”Đ»Ń +login_warning=ĐŸŃ€Đ”ĐŽŃƒĐżŃ€Đ”Đ¶ĐŽĐ”ĐœĐžĐ”! + +right_aliases=ĐŸŃĐ”ĐČĐŽĐŸĐœĐžĐŒ сДрĐČĐ”Ń€ĐŸĐČ +right_bw=ĐŸŃ€ĐŸĐżŃƒŃĐșĐœĐ°Ń ŃĐżĐŸŃĐŸĐ±ĐœĐŸŃŃ‚ŃŒ Đž ĐŸĐłŃ€Đ°ĐœĐžŃ‡Đ”ĐœĐžŃ +right_dom=Đ˜ĐŒŃ сДрĐČДра +right_faliases=ĐŸĐŸŃ‡Ń‚ĐŸĐČŃ‹Đ” псДĐČĐŽĐŸĐœĐžĐŒŃ‹ +right_fdbs=Đ‘Đ°Đ·Ń‹ ĐŽĐ°ĐœĐœŃ‹Ń… +right_fdoms=Đ’ĐžŃ€Ń‚ŃƒĐ°Đ»ŃŒĐœŃ‹Đ” ХДрĐČДры +right_from=Đ’ĐŸŃˆĐ”Đ» с +right_fusers2=FTP ĐżĐŸĐ»ŃŒĐ·ĐŸĐČатДлО +right_fusers=Mail/FTP ĐżĐŸĐ»ŃŒĐ·ĐŸĐČатДлО +right_fvm2=Đ’ĐžŃ€Ń‚ŃƒĐ°Đ»ŃŒĐœŃ‹Đ” ĐŒĐ°ŃˆĐžĐœŃ‹ +right_fweb=Đ’ĐžŃ€Ń‚ŃƒĐ°Đ»ŃŒĐœŃ‹Đ” саĐčты +right_licenceheader_vm2=Đ›ĐžŃ†Đ”ĐœĐ·ĐžŃ Cloudmin +right_login=Đ’ĐŸŃˆĐ”Đ» ĐșĐ°Đș +right_not=ĐĐ” ŃƒŃŃ‚Đ°ĐœĐŸĐČĐ»Đ”Đœ +right_of=$1 Оз $2 +right_quota=Đ˜ŃĐżĐŸĐ»ŃŒĐ·ĐŸĐČĐ°ĐœĐžĐ” ЎОсĐșĐ° Đž ĐșĐČĐŸŃ‚Ń‹ +right_reselip=(РДсДллДр $1) +right_sharedip=(ОбщОĐč IP) +right_slcheck=ĐžĐ±ĐœĐŸĐČоть Đ»ĐžŃ†Đ”ĐœĐ·ĐžŃŽ Cloudmin +right_subs=Хуб-сДрĐČДры +right_virtdocs2=ĐŸĐŸĐŽŃ€ĐŸĐ±ĐœĐ°Ń ĐŽĐŸĐșŃƒĐŒĐ”ĐœŃ‚Đ°Ń†ĐžŃ +right_virtualmin=Đ’Đ”Ń€ŃĐžŃ Virtualmin +right_vlcheck=ĐžĐ±ĐœĐŸĐČоть Đ»ĐžŃ†Đ”ĐœĐ·ĐžŃŽ Virtualmin +right_vm2=Đ’Đ”Ń€ŃĐžŃ Cloudmin + +session_failed=Đ’ĐŸĐčто ĐœĐ” ŃƒĐŽĐ°Đ»ĐŸŃŃŒ. ĐŸĐŸĐ¶Đ°Đ»ŃƒĐčста, ĐżĐŸĐżŃ€ĐŸĐ±ŃƒĐčŃ‚Đ” ДщД раз. +session_logout=ĐŁŃĐżĐ”ŃˆĐœŃ‹Đč ĐČŃ‹Ń…ĐŸĐŽ Оз ŃĐžŃŃ‚Đ”ĐŒŃ‹. Đ˜ŃĐżĐŸĐ»ŃŒĐ·ŃƒĐčŃ‚Đ” Ń„ĐŸŃ€ĐŒŃƒ ĐœĐžĐ¶Đ”, Ń‡Ń‚ĐŸĐ±Ń‹ ĐČĐŸĐčто ŃĐœĐŸĐČĐ°. +session_timed_out=ĐĄĐ”ŃŃĐžŃ ОстДĐșла Đ·Đ° $1 ĐŒĐžĐœ. бДзЎДĐčстĐČоя. +session_twofailed=ĐžŃˆĐžĐ±ĐșĐ° ĐŽĐČухфаĐșŃ‚ĐŸŃ€ĐœĐŸĐč Đ°ŃƒŃ‚Đ”ĐœŃ‚ĐžŃ„ĐžĐșацоо: $1 + + + + + + + + + + +settings_right_options=Options +settings_right_restore_defaults=Restore defaults +settings_right_restored=Restored +settings_right_restoring=Restoring +settings_right_saved=Saved +settings_right_saving=Saving + +settings_right_theme_extensions=Theme extensions +settings_right_theme_extensions_title=Theme Extensions +settings_right_file_edit=Edit extension file: +settings_right_extensions_title=Theme extensive design, enables you easily manipulate on targeted parts of the interface. + +settings_right_theme_logos=Theme logos +settings_right_theme_logos_title=Theme Logos +settings_right_logos_title=Theme logos can be easily set here, for both, authenticated and unauthenticated users. Recommended logo size is 180x90 pixels and the only supported format is .png, to provide alpha transparency. +settings_right_logo_authenticated_users=Logo for authenticated users +settings_right_logo_unauthenticated_users=Logo for unauthenticated users + +settings_right_current_theme=Current theme +settings_right_title=This page allows you to configure options for Authentic Theme. Settings will be stored upon theme update. +settings_right_theme_left_configuration_title=Authentic Theme Configuration +settings_right_theme_left_extensions_title=Authentic Theme Extensions Editor +settings_right_theme_left_logo_title=Authentic Theme Logo Control +settings_right_theme_configurable_options_title=Configurable options for Authentic Theme + + +settings_right_window_options_title=Window options +settings_right_navigation_menu_title=Navigation menu options +settings_right_table_options_title=Table options +settings_security_title=Security Alerts options +settings_security_description=Security alerts will let you setup email notifications upon certain events.
    Format: Message|Subject|Comma separated list of users/emails|Comma separated list of ignored IPv4/IPv6
    Usage: %3 successful login alert for user %1 from %2|%3 successful login alert|root,user@example.org|1.2.3.4,5.6.7.8
    Output: From: root, To: root, Subject: Webmin successful login alert, Message: Webmin successful login alert for user root from 2.3.4.5 +settings_right_hotkey_options_title=Hotkey options +settings_right_sysinfo_page_options_title=System Information page options + +settings_right_hotkey_custom_options_description=Custom links enable you to use digits from 1 to 9 in order to quick-access any valid Webmin/Usermin/Virtualmin/Cloudmin URL. The URL can be extracted from the currently opened right frame content page, by reading its source. It's important that URL has no slash at the beginning and doesn't use prefixes. For example, to quick-switch to Apache, set to custom link 1 field /apache/. If the default hotkeys modifier set to Alt, clicking Alt+1, will open you Apache module. +settings_hotkey_custom_1=Custom link 1 +settings_hotkey_custom_2=Custom link 2 +settings_hotkey_custom_3=Custom link 3 +settings_hotkey_custom_4=Custom link 4 +settings_hotkey_custom_5=Custom link 5 +settings_hotkey_custom_6=Custom link 6 +settings_hotkey_custom_7=Custom link 7 +settings_hotkey_custom_8=Custom link 8 +settings_hotkey_custom_9=Custom link 9 + +settings_navigation_color=Navigation menu color palette +settings_background_color=Content page color palette +settings_animation_left=Enable animation in navigation menu +settings_animation_tabs=Enable animation in tabs +settings_loader_top=Enable page progress loader on top of the screen +settings_loader_left=Enable spinner for navigation menu +settings_right_reload=Load default content page +settings_right_reload_description=When switching tabs, right frame content page is reloaded. Do not keep currently opened right frame content page and reload with default? + +settings_right_hide_table_icons=Hide table icons for the right frame +settings_right_hide_table_icons_description=Completely remove icons from the content page tables and display plain links with right chevron +settings_right_small_table_icons=Small table icons +settings_right_small_table_icons_description=Substitute standard size table icons with small ones and display icons link using tooltip +settings_right_animate_table_icons=Animate table icons on focus +settings_right_grayscaled_table_icons=Grayscale table icons and bring color on focus only + +settings_leftmenu_section_hide_refresh_modules=Hide Refresh Modules link +settings_leftmenu_section_hide_unused_modules=Hide Unused Modules link +settings_favorites=Show favorites button +settings_leftmenu_button_language=Show language button +settings_leftmenu_button_refresh=Show refresh button + +settings_theme_options_button=Show theme settings button + +settings_hotkeys_active=Enable hotkeys usage +settings_hotkey_toggle_modifier=Hotkeys modifier +settings_hotkey_toggle_key_webmin=Hotkey for Webmin +settings_hotkey_toggle_key_virtualmin=Hotkey for Virtualmin +settings_hotkey_toggle_key_cloudmin=Hotkey for Cloudmin +settings_hotkey_toggle_key_usermin=Hotkey for Usermin +settings_hotkey_toggle_key_webmail=Hotkey for Mail +settings_hotkey_sysinfo=Hotkey for dashboard +settings_hotkey_shell=Hotkey for terminal +settings_hotkey_favorites=Hotkey for favorites +settings_hotkey_focus_search=Hotkey for search field +settings_hotkey_reload=Hotkey for page reload + +settings_side_slider_background_refresh_time=Timeout for background information update +settings_side_slider_background_refresh_time_description=Set desired timeout for updating notification slider in background calls. The value meant to be in minutes. Minimum recommended value is 1 minute. Default is set to 5 minutes. Decimal values can also be used. +settings_sysinfo_easypie_charts=Show charts +settings_sysinfo_theme_updates=Check for Authentic Theme updates +settings_sysinfo_csf_updates=Check for ConfigServer Security & Firewall updates +settings_sysinfo_drive_status_on_new_line=Show CPU and drives status each on new line +settings_sysinfo_expand_all_accordions=Make all accordions expanded +settings_sysinfo_link_mini=Show system information link as button + +settings_right_page_defaults_title=Default pages +settings_right_default_tab_webmin=Default tab after logging in to Webmin +settings_right_default_tab_usermin=Default tab after logging in to Usermin +settings_right_virtualmin_default=Default page for Virtualmin +settings_right_cloudmin_default=Default page for Cloudmin + +settings_right_clear_local_cache=Clear cache +settings_right_notification_slider_options_title=Side slider options +settings_side_slider_fixed=Keep slider always visible +settings_side_slider_palette=Slider palette +settings_hotkey_toggle_slider=Hotkey for slider +settings_window_replace_timestamps=Enable dates substitutions +settings_window_replaced_timestamp_format_short=Short date/time format +settings_window_replaced_timestamp_format_full=Full date/time format +settings_window_replaced_timestamps_options_description=Tweak date/time settings to set desired output for displaying dates in full or short format. In-built this option has effect in Notification Slider and System Information page (on the row Time on system). By default, full format equals to LLLL and short is L, LTS. The time output is different for different locales. Locale is based on Webmin language settings. + +settings_side_slider_enabled=Enable slider +settings_leftmenu_user_html=Show HTML snippet +settings_leftmenu_user_html_description=User defined text or HTML code will be injected to the bottom of the navigation menu. It can be used for identification purposes. For example, to make explicitly show your hostname, you could add to the field <br><kbd>hostname:10000</kbd> + + +theme_changelog=ĐĄĐżĐžŃĐŸĐș ĐžĐ·ĐŒĐ”ĐœĐ”ĐœĐžĐč +theme_conference=ĐšĐŸĐœŃ„Đ”Ń€Đ”ĐœŃ†ĐžŃ Ń‚Đ”ĐŒŃ‹ +theme_development_support=ĐŸĐŸĐŽĐŽĐ”Ń€Đ¶ĐșĐ° Ń€Đ°Đ·Ń€Đ°Đ±ĐŸŃ‚Ń‡ĐžĐșĐ° +theme_donate=ĐŸĐŸĐŒĐŸŃ‡ŃŒ ĐżŃ€ĐŸĐ”Đșту +theme_download=Đ—Đ°ĐłŃ€ŃƒĐ·ĐžŃ‚ŃŒ +theme_name=ĐąĐ”ĐŒĐ° Authentic +theme_update=ĐžĐ±ĐœĐŸĐČоть +theme_update_available=ĐŸĐŸŃĐ»Đ”ĐŽĐœĐžĐč ĐžĐŒĐ”ŃŽŃ‰ĐžĐčся рДлОз +theme_update_notice=ĐŁĐČĐ”ĐŽĐŸĐŒĐ»Đ”ĐœĐžĐ” ĐžĐ±ĐœĐŸĐČĐ»Đ”ĐœĐžŃ +theme_version=Đ’Đ”Ń€ŃĐžŃ Ń‚Đ”ĐŒŃ‹ + + +# Version 17.40 +theme_global_error=Error +theme_global_warning=Warning +theme_global_success=Success +theme_global_info=Information +sysinfo_system_status_warning=In order to have System Information displayed you will need to enable System Status module in user settings. +settings_leftmenu_user_html_only_for_administrator=Show HTML snippet for administrators only +theme_sysinfo_wmdocs=Webmin documentation +theme_sysinfo_vmdocs=Virtualmin documentation +theme_sysinfo_cmdocs=Cloudmin documentation +theme_fileformat_css=CSS +theme_fileformat_json=JSON +theme_fileformat_js=Javascript +theme_fileformat_plain_text=Plain Text + +theme_xhred_titles_wm=Webmin +theme_xhred_titles_um=Usermin +theme_xhred_titles_dashboard=Dashboard +theme_xhred_titles_mail=Mail +theme_xhred_titles_vm=Virtualmin +theme_xhred_titles_cm=Cloudmin +theme_xhred_titles_thirdlane=Thirdlane + +theme_xhred_global_please_wait=Please wait... +theme_xhred_filemanager_copying_selected=Copying selected. +theme_xhred_filemanager_cutting_selected=Cutting selected. +theme_xhred_filemanager_pasting_selected=Pasting from clipboard. +theme_xhred_filemanager_unpacking_archive=Unpacking selected file(s). +theme_xhred_filemanager_deleting_selected=Deleting selected. +theme_xhred_filemanager_renaming_selected=Renaming selected. +theme_xhred_filemanager_creating_directory=Creating directory +theme_xhred_filemanager_creating_file=Creating file +theme_xhred_filemanager_downloading_from=Downloading from +theme_xhred_filemanager_setting_permissions=Setting permissions to %value on selected file(s). +theme_xhred_filemanager_changing_ownership=Changing ownership to %value on selected file(s). +theme_xhred_filemanager_compressing_selected=Compressing selected in the background. +theme_xhred_filemanager_refreshing=Refreshing directory content. +theme_xhred_filemanager_copying_successful=Copy to clipboard successful. +theme_xhred_filemanager_cutting_successful=Cut to clipboard successful. +theme_xhred_filemanager_pasting_successful=Paste from clipboard was successful. +theme_xhred_filemanager_bookmark_success=Directory %value was successfully added to your bookmarks. +theme_xhred_filemanager_searching=Searching for `%value` matching names of files/directories. +theme_xhred_filemanager_search_founds=Found %value matches. +theme_xhred_filemanager_search_found=Found 1 match. +theme_xhred_filemanager_search_no_matches=No matches found. +theme_xhred_filemanager_nothing_is_selected=Nothing is selected! +theme_xhred_filemanager_saving_file=File `%value` is being saved. +theme_xhred_filemanager_file_saved=File `%value` has been successfully saved. +theme_xhred_filemanager_not_editable=Can not edit this type of selection. +theme_xhred_filemanager_not_decompressable=Can not decompress this type of file. +theme_xhred_filemanager_no_selection_to_copy=No directories/files selected to copy. +theme_xhred_filemanager_no_selection_to_cut=No directories/files selected to cut. +theme_xhred_filemanager_empty_clipboard=Clipboard is empty. + +theme_xhred_filemanager_successful_extraction=Extraction of selected file(s) was successful. +theme_xhred_filemanager_successful_deletion=Deletion was successful. +theme_xhred_filemanager_successful_permissions=Permissions have been changed successfully. +theme_xhred_filemanager_successful_ownership=Ownership has been changed successfully. +theme_xhred_filemanager_successful_compression=Compression has successfully finished. +theme_xhred_filemanager_successful_directory_creation=Directory `%value` was created successfully. +theme_xhred_filemanager_successful_file_creation=File `%value` was created successfully. + +theme_xhred_notifications_packages_updates=Packages Update +theme_xhred_notifications_theme_update=Theme Update +theme_xhred_notifications_theme_update_message=A new version %v of Authentic Theme is available. Please update. +theme_xhred_notifications_firewall_update=Firewall Update +theme_xhred_notifications_firewall_update_message=A new version %v of ConfigServer Server Security and Firewall is available. Please update. + +theme_xhred_notifications_firewall_danger=Firewall Danger +theme_xhred_notifications_firewall_danger_message=It appears that ConfigServer Server Security and Firewall is not running or has been stopped! Don't leave your server exposed, check for the firewall settings (%v) + +theme_xhred_notifications_firewall_warning=Firewall Warning + +#17.50 +settings_grayscale_level_navigation=Grayscale filter +settings_grayscale_level_navigation_description=Default/current values 0/0 +settings_sepia_level_navigation=Sepia filter +settings_sepia_level_navigation_description=Default/current values 0/0 +settings_saturate_level_navigation=Saturate filter +settings_saturate_level_navigation_description=Default/current values 1/0 +settings_hue_level_navigation=Hue-rotate filter +settings_hue_level_navigation_description=Default/current values 0°/0° +settings_invert_level_navigation=Invert filter +settings_invert_level_navigation_description=Default/current values 0/0 +settings_brightness_level_navigation=Brightness filter +settings_brightness_level_navigation_description=Default/current values 1/0 +settings_contrast_level_navigation=Contrast filter +settings_contrast_level_navigation_description=Default/current values 1/0 + +settings_grayscale_level_content=Grayscale filter +settings_grayscale_level_content_description=Default/current values 0/0 +settings_saturate_level_content=Saturate filter +settings_saturate_level_content_description=Default/current values 1/0 +settings_hue_level_content=Hue-rotate filter +settings_hue_level_content_description=Default/current values 0°/0° + +settings_cm_view_palette=Viewer color palette +settings_cm_editor_palette=Editor color palette + +theme_xhred_filemanager_context_select_all=Select All +theme_xhred_filemanager_context_select_invert=Invert Selection +theme_xhred_filemanager_context_refresh=Refresh +theme_xhred_filemanager_context_newfile=Create new file +theme_xhred_filemanager_context_newfoder=Create new directory +theme_xhred_filemanager_context_copy=Copy +theme_xhred_filemanager_context_cut=Cut +theme_xhred_filemanager_context_paste=Paste +theme_xhred_filemanager_context_chmod=Change Permissions +theme_xhred_filemanager_context_chown=Change Ownership + +#17.51 +theme_xhred_filemanager_context_new=New +theme_xhred_filemanager_context_newarchive=Create new archive +theme_xhred_filemanager_context_delete=Delete +theme_xhred_filemanager_context_rename=Rename +theme_xhred_filemanager_context_edit=Edit +theme_xhred_filemanager_context_extract=Extract +theme_xhred_filemanager_context_goto=Open Item Location +theme_xhred_filemanager_context_properties=Properties +theme_xhred_filemanager_context_search=Search + +#17.52 +theme_xhred_filemanager_context_deselect_all=Deselect All +theme_xhred_filemanager_context_upload=Upload to current directory +theme_xhred_filemanager_context_download=Download from remote URL + +#17.53 +theme_settings_virtualmin=Virtualmin Virtual Servers +theme_settings_cloudmin=Cloudmin Managed Systems +settings_right_thirdparties_options_title=Third-parties modules options +theme_xhred_filemanager_context_calculate_size=Calculate size on spacebar +theme_xhred_filemanager_context_bookmarks=Bookmarks +theme_xhred_filemanager_context_bookmark_current=Bookmark currently opened path +theme_xhred_filemanager_context_transfer=Transfer + +#17.54 +theme_xhred_filemanager_title_symlink_target=Link target + +#17.60 +right_unlimited=Unlimited +settings_leftmenu_width=Preferable width +settings_leftmenu_width_description=Default/current width 260/0 +settings_switch_rdisplay=Reverse switch output +settings_switch_rdisplay_description=This option allows you to set different order for top-left switches. After changing this option, complete page reload is required to apply new settings. + + +#17.63 +theme_xhred_filemanager_context_calculate_selected_size=Calculate selected size +theme_xhred_filemanager_selected_entries=Selected: %value entries +theme_xhred_filemanager_manual_path=Enter path manually + +theme_xhred_datatable_semptytable=No data available in table +theme_xhred_datatable_sinfo=Showing _START_ to _END_ of _TOTAL_ entries +theme_xhred_datatable_sinfoempty=Showing 0 to 0 of 0 entries +theme_xhred_datatable_slengthmenu=Show _MENU_ entries +theme_xhred_datatable_sloadingrecords=Loading +theme_xhred_datatable_sprocessing=Processing... +theme_xhred_datatable_szerorecords=No matching records found + +#17.64 +theme_xhred_filemanager_file_edit_but_not_saved=File has been edited but hasn't been saved. +theme_xhred_filemanager_file_edit_but_not_saved_what_to_do=What do you want to do? +theme_xhred_global_save=Save +theme_xhred_global_save_and_close=Save and close +theme_xhred_global_close_without_saving=Close without saving +theme_xhred_global_continue_editing=Continue editing +theme_xhred_filemanager_context_download_file=Download + +#17.65 +settings_sysinfo_easypie_charts_width=Width of charts +settings_sysinfo_easypie_charts_scale=Scale length of charts + +#17.80 +right_return_theme_options=theme options +theme_xhred_datatable_semptydirectory=Directory is empty +theme_xhred_filemanager_context_clipboard=Copy path to clipboard +theme_xhred_global_warning=Warning +theme_xhred_global_close=Close +theme_xhred_encoding_warning=Detected that you are using non-unicode character set, which is not recommended. Strange  character might appear in text-editor mode and/or other encoding issues are going to happen.

    Change language in %prod Configuration to %lang.UTF-8 and make sure, that your browser also detected it correctly.

    Pay attention, that Webmin in-built module, named Change Language and Theme can override global settings.
    + +theme_xhred_filemanager__no_bookmarks=No saved bookmarks +theme_xhred_filemanager_unbookmark_success=Directory %value was successfully removed from your bookmarks. +theme_xhred_filemanager_bookmark=Bookmark current directory +theme_xhred_filemanager_unbookmark=Unbookmark current directory +theme_xhred_filemanager_move_into_self=You cannot move a directory into itself! The destination directory is inside the source directory. +theme_xhred_filemanager_pasting_and_copying_1=Selected source has been pasted with the new name successfully. +theme_xhred_filemanager_pasting_and_copying_2=Selected sources have been pasted with the new names successfully. +theme_xhred_filemanager_pasting_and_replacing_1=Existing target has been replaced with new successfully. +theme_xhred_filemanager_pasting_and_replacing_2=Existing targets have been replaced with new successfully. +theme_xhred_filemanager_target_conflict_1=Target conflict +theme_xhred_filemanager_target_conflict_2=Targets conflicts +theme_xhred_filemanager_target_conflict_message_1=Pasted target already exists! What do you prefer to do? +theme_xhred_filemanager_target_conflict_message_2=Pasted targets already exist! What do you prefer to do? +theme_xhred_filemanager_target_conflict_replace=Merge and replace +theme_xhred_filemanager_target_conflict_paste=Paste with new name + +theme_xhred_editor_help_title=Editor Keyboard Shortcuts +theme_xhred_editor_help_content=
    Find/Replace
    Keypress Command
    Ctrl + F Find
    Ctrl + H Replace
    Ctrl + ⇧ + R Replace all
    Ctrl + G Find next
    Ctrl + ⇧ + G Find previous
    Alt + G Jump to line
    Text manipulation
    Keypress Command
    Ctrl + KU Transform to Uppercase
    Ctrl + KL Transform to Lowercase
    Editing
    Keypress Command
    Ctrl + Space Activate autocompletion
    Ctrl + X Cut line
    Ctrl + ⇧ + ↑ Move line/selection up
    Ctrl + ⇧ + ↓ Move line/selection down
    Ctrl + L Select line - Repeat to select next lines
    Ctrl + D Select word - Repeat select others occurrences
    Ctrl + M Jump to closing parentheses Repeat to jump to opening parentheses
    Ctrl + ⇧ + M Select all contents of the current parentheses
    Ctrl + ⇧ + K Delete Line
    Ctrl + KK Delete from cursor to end of line
    Ctrl + K + Backspace Delete from cursor to start of line
    Ctrl + ⇧ + D Duplicate line(s)
    Ctrl + J Join line below to the end of the current line
    Ctrl + / Comment/un-comment current line
    Ctrl + ⇧ + / Block comment current selection
    Ctrl + Y Redo, or repeat last keyboard shortcut command
    Ctrl + ⇧ + V Paste and indent correctly
    Ctrl + Space Select next auto-complete suggestion
    Ctrl + U soft undo; jumps to your last change before undoing change when repeated
    + +theme_xhred_filemanager_hide_toolbar=Hide toolbar +theme_xhred_filemanager_hide_actions=Hide actions column +theme_xhred_filemanager_hovered_toolbar=Activate dropdown in toolbar on mouse hover +theme_xhred_filemanager_context_delete_selected=Delete selected + +#17.83 +theme_xhred_database_adding_new_row=Adding new row +theme_xhred_database_editing_row=Editing selected row +theme_xhred_database_editing_rows=Editing selected rows +theme_xhred_database_adding_new_row_data=Set data + +#17.84 +theme_xhred_datatable_filter=Filter + +theme_xhred_global_update=Update +theme_xhred_global_update_and_return=Update and return +theme_xhred_global_update_and_close=Update and close +theme_xhred_global_back=Back +theme_xhred_global_cancel=Cancel + +theme_xhred_database_add_row_successful=New row was successfully added +theme_xhred_database_edit_row_successful=Selected row was successfully updated +theme_xhred_database_edit_rows_successful=Selected rows were successfully updated +theme_xhred_database_edit_row_delete_successful=Selected row was successfully deleted +theme_xhred_database_edit_rows_delete_successful=Successfully deleted %n selected rows +theme_xhred_database_edit_field_delete_successful=Selected field was successfully deleted +theme_xhred_database_edit_fields_delete_successful=Successfully deleted %n selected fields +theme_xhred_database_edit_selected_row=Edit selected row +theme_xhred_database_edit_selected_rows=Edit selected rows +theme_xhred_database_add_new_row=Add row +theme_xhred_database_delete_selected_row=Delete selected row +theme_xhred_database_delete_selected_rows=Delete selected rows +theme_xhred_database_delete_selected_field=Delete selected field +theme_xhred_database_delete_selected_fields=Delete selected fields +theme_xhred_database_object_selected_delete=Delete selected object +theme_xhred_database_objects_selected_delete=Delete selected objects +theme_xhred_database_db_selected_drop=Drop selected database +theme_xhred_database_dbs_selected_drop=Drop selected databases +theme_xhred_database_edit_but_not_saved=Table data has been edited but not saved. + +theme_xhred_global_no_such_command=It appears that %cmd executable is not installed or not in the path on your system. + +theme_xhred_global_notice=Notice + +theme_xhred_updates_disabled_notice=Detected that you don't have enabled notifications for Authentic Theme updates?

    Enabling this feature in Theme Configuration will help you to update to the latest version in a single click as soon as it's out. + + +#18.00 +theme_xhred_global_file=File +theme_xhred_global_directory=Directory +theme_xhred_global_no_target=Target doesn't exist or not accessible +theme_xhred_global_error_code=Error code +theme_xhred_global_on=On +theme_xhred_global_off=Off +theme_xhred_global_all=All +theme_xhred_global_none=None +theme_xhred_global_yes=Yes +theme_xhred_global_no=No + +theme_xhred_filemanager_new_tab=Add new tab (Ctrl+Space) +theme_xhred_datatable_no_search_results=No results found
    Try a different search + +theme_xhred_filemanager_buffer_error=Failed to paste files to the buffer - permission denied. + +filemanager_create_object_exists=$3 `$1` already exists in `$2` +filemanager_create_object_denied=Can't create $3 `$1` in `$2` - permission denied. + +filemanager_paste_warning=Failed to paste target(s). It is possible that requested object(s) could have been renamed, moved or deleted while/before pasting. Another possible cause is that destination is not writable. It is worth checking objects' attributes. + +theme_xhred_filemanager_delete_warning=Deletion has finished successfully but not for all objects. It is possible that requested object(s) could have been renamed or moved before deletion. Restricted permissions (attributes) is another possible cause. Error message: + + +filemanager_rename_exists=$3 with name `$1` already exists in `$2` +filemanager_rename_denied=Can not rename the $3. This might happen because the source $3 has been removed or due to restricted permissions. + +theme_xhred_filemanager_successful_rename=Renaming `%from` to `%to` was successful. + +filemanager_global_info_total1=Total: $1 file and $2 directory +filemanager_global_info_total2=Total: $1 files and $2 directory +filemanager_global_info_total3=Total: $1 file and $2 directories +filemanager_global_info_total4=Total: $1 files and $2 directories + +theme_xhred_filemanager_selected_entry=Selected: %value entry + +theme_xhred_filemanager_search_query=Query mask +theme_xhred_filemanager_search_match=Find in results +theme_xhred_filemanager_search_replace=Replace in results + +theme_xhred_global_find=Find +theme_xhred_global_replace=Replace + +theme_xhred_filemanager_searching_matching=Searching for `%value` matching names of files/directories, containing `%text` text. +theme_xhred_filemanager_searching_replacing=Replacing matches `%text` with `%replace` in files with names containing `%value`. + +theme_xhred_filemanager_search_replaced_multi=Found and replaced in %value files. +theme_xhred_filemanager_search_replaced=Found and replaced in 1 file. + +theme_xhred_filemanager_successful_permissions_with_errors=Permissions have been changed successfully but not for all objects: + +theme_xhred_filemanager_successful_ownership_with_errors=Ownership has not been changed successfully for all objects: +theme_xhred_filemanager_successful_ownership_with_errors_fatal=Ownership can't be changed due to following errors: + +theme_xhred_filemanager_successful_compression_with_errors=Compression has finished with the following errors: +theme_xhred_filemanager_successful_compression_bg=Compression has successfully finished. Compressed file `%file is located in `%path` directory. +theme_xhred_filemanager_successful_compression_bg_with_errors=Compression has finished with errors. Compressed file `%file should be located in `%path` directory. + +theme_xhred_filemanager_settings_notification_type=Type of notifications to display +theme_xhred_filemanager_settings_notification_type_inf_warn_err=Informations, warnings and errors +theme_xhred_filemanager_settings_notification_type_warn_err=Warnings and errors +theme_xhred_filemanager_settings_notification_type_err=Errors only + +theme_xhred_filemanager_settings_tabs_remember_state=Restore previously used tabs on first load +theme_xhred_filemanager_context_open_new_tab=Open in new tab + +theme_xhred_xsql_fit_content_screen_height=Fit database table content in screen height + +theme_xhred_datatable_filter_visible_tables=Filter Visible Table(s) +theme_xhred_module_help=Module help + +theme_xhred_server_process_running=Server process is still running!? Are you sure that you want to navigate away and have no access to output information? Even if you leave now the process will not be terminated. + + +#18.03 +settings_global_options_title=Global options +settings_global_passgen_format=Password generator +settings_global_passgen_format_description=Set the length and character type used in the generated password. First value is numerical, which is the length of the password, immediately followed by | as a delimiter. Next is the type, where you can use numbers 0-9, letters a-z and/or A-Z, and special characters #. All of these sets can be used together or individually, using comma as a delimiter. Default value equals to 12|a-z,A-Z,0-9,#, which represents password with 12 characters in length, containing upper and lower case letters, numbers and special characters. +theme_xhred_password_generator_new=Generate New Password
    (To Clipboard) +theme_xhred_password_generator_new_success=Generated password %password has been copied to clipboard successfully. + + +#18.08 +theme_fileformat_perl=Perl +theme_fileformat_perl_placeholder=This file must end with `1;` to work successfully. + + +#18.10 +theme_error_access_not_root=Access denied: User needs access to the Webmin Configuration module to edit theme configuration + + +#18.20 +settings_hide_top_loader=Hide top progress bar + + +#18.30 +settings_leftmenu_vm_cm_dropdown_icons=Show symbolic icons in drop-down in Virtualmin/Cloudmin +settings_font_family=Font family +settings_font_family_description=Among all presented fonts' variants Roboto is shipped with the theme and set as default. The other fonts must be installed on your local computer in order to work. By using local fonts, the default one is not loaded, which will result in faster theme load +theme_xhred_global_shipped=Shipped +theme_xhred_global_available=Available +theme_xhred_global_not_available=Not available +theme_xhred_global_default=Default +theme_xhred_global_system_default=System default +theme_xhred_global_local_system_default=Local system default +theme_xhred_global_stats=Stats +theme_xhred_global_notifications=Notifications +theme_xhred_global_favorites=Favorites +theme_xhred_global_cpu_load=CPU load +theme_xhred_notification_none=No notifications +theme_xhred_notification_no_data=No collected data +theme_xhred_notification_no_favorites=No favorites data +theme_xhred_global_theme_version=Theme version + +settings_side_slider_sysinfo_enabled=Show dashboard tab +settings_side_slider_notifications_enabled=Show notifications tab +settings_side_slider_favorites_enabled=Show favorites tab +settings_show_terminal_link=Show terminal button + +theme_xhred_sysinfo_system_monitors=System Monitors +theme_xhred_sysinfo_server_status=Servers Status +theme_xhred_sysinfo_software_versions=Software Versions +theme_xhred_sysinfo_recent_logins=Recent Logins +theme_xhred_sysinfo_vm_package_updates=Virtualmin Package Updates +theme_xhred_sysinfo_disk_quotas=Disk Quotas +theme_xhred_sysinfo_bandwidth_quotas=Bandwidth Quotas + +left_netdata=Realtime Monitoring +settings_leftmenu_netdata=Show Netdata realtime monitoring link +settings_leftmenu_netdata_link=Netdata server preferred link + +theme_xhred_filemanager_context_chattr=Change attributes +theme_xhred_filemanager_changing_attributes=Setting attributes to %value on selected file(s). +theme_xhred_filemanager_successful_attributes_with_errors=Attributes haven't been set successfully for all objects: +theme_xhred_filemanager_successful_attributes=Attributes have been set successfully. + +theme_xhred_filemanager_context_chcon=Change security context +theme_xhred_filemanager_changing_secontext=Changing security context to %value on selected file(s). +theme_xhred_filemanager_successful_secontext_with_errors=Security context has not been changed successfully for all objects: +theme_xhred_filemanager_successful_secontext=Security context has been changed successfully. + +theme_xhred_global_no_results_found=No results found + + +#18.40 +theme_new_password_header=Set new password for user +login_reset=Password recovery +theme_xhred_move_top=Move to top +theme_xhred_move_bottom=Move to bottom +theme_xhred_move_up=Move up +theme_xhred_move_down=Move down +theme_xhred_add_after=Add after +theme_xhred_add_before=Add before +settings_button_tooltip=Show tooltip on buttons +settings_show_night_mode_link=Show palette toggle +settings_hotkey_toggle_key_night_mode=Hotkey for toggling dark/light palette +settings_title=Theme Configuration +settings_subtitle=For user + +theme_tooltip_night_mode=Day/night mode toggle +theme_tooltip_terminal_link=Terminal +theme_tooltip_language_link=Language +theme_tooltip_switch_user=Switch user +theme_tooltip_logout=Sign out +theme_tooltip_edit_user=Edit user + + +#18.45 +settings_sysinfo_easypie_charts_size=Diameter of charts +theme_xhred_global_choose=Choose +theme_xhred_global_select=Select +theme_xhred_global_ok=OK +settings_sysinfo_theme_patched_updates=Including patched versions +settings_sysinfo_theme_updates_description=In order to make this option work, git command has to be installed on your system +theme_git_patch_available=Latest available patch +theme_git_patch_no_git_message=In order to install latest patches directly from GitHub you must make sure that git command is installed. +theme_git_patch_update_success_message=Theme update for Webmin was successful. Currently installed version is $1. Reloading... +theme_git_patch_update_success_message2=Theme update for both Webmin and Usermin was successful. Currently installed version is $1. Reloading... +theme_xhred_git_patch_update=Theme update has failed. Try using console to do it manually. +theme_xhred_git_patch_initiated=Theme update has been initiated. +theme_xhred_global_prev_page=Go back one page +theme_xhred_global_help=Help +settings_right_soft_updates_page_options_title=Software updates +theme_xhred_git_compare_changes=Compare changes +theme_xhred_filemanager_link_to_clipboard=Symbolic link's name `%value` has been copied to clipboard. + + + +#18.46 +theme_left_mail_prefs=Mail Preferences +theme_left_mail_change_password=Change Password +theme_left_mail_account_functions=Account Functions +theme_xhred_global_dir_up=Go to previous directory (Backspace) +theme_xhred_global_module_config=Module config +theme_xhred_global_return=Return +theme_xhred_global_return_to_module_index=Return to module index + + +#18.47 +settings_account_info_link_mini=Show account information link as button +theme_xhred_global_complete_changelog=Complete changelog +theme_xhred_global_beta_version=Beta version +theme_xhred_global_release=Release +theme_xhred_global_released_on=Released on +theme_xhred_global_committed_on=Committed on +theme_xhred_global_resolved_issues=Resolved issues in %value releases + + +#18.48 +theme_force_upgrade=Force update theme +theme_force_upgrade_beta=Install latest development version (beta) +theme_force_upgrade_stable=Install latest release version (stable) +theme_xhred_source_encoding=Source encoding +theme_update_footer=Please be kind reporting bugs to $1 repository. Follow theme's $2 channel for the latest updates. +theme_xhred_encoding_manually_set=Manually set encoding +theme_xhred_filemanager_save_to_change_encoding=File must be saved, in order to allow encoding to be changed. + + +#18.49 +theme_xhred_filemanager_user_switch=Switch to user (Ctrl+M) +theme_xhred_filemanager_user_switch_description=By selecting the username listed below, you will switch further operations to be performed as this user. +theme_xhred_filemanager_user_switch_description_back=To switch back to default mode choose the first option in select. +theme_xhred_filemanager_user_switch_current_user=Current user +theme_xhred_filemanager_user_switch_option=Automatically switch to user mode upon entering its home directory +theme_xhred_filemanager_editor_align_panels_horizontally=Align Panels Horizontally +theme_xhred_filemanager_editor_align_panels_vertically=Align Panels Vertically +theme_xhred_filemanager_editor_toggle_soft_wrap=Toggle Soft Wrap +theme_xhred_filemanager_editor_refresh_content=Refresh Content +theme_xhred_filemanager_save_to_refresh_content=File must be saved, in order to allow its content to be refreshed. +theme_xhred_filemanager_save_to_refresh_content_proc=Refreshing file content. +theme_xhred_global_dark=Dark +theme_xhred_global_light=Light +theme_xhred_global_minimize=Minimize +theme_xhred_global_maximize=Maximize +theme_xhred_global_normalize=Normalize +theme_xhred_global_set_encoding=Set encoding + + +#19.00 +theme_xhred_sysinfo_update_start=System information is being recollected. +theme_xhred_sysinfo_update_end=System information has been recollected successfully. +theme_xhred_sysinfo_update_failed=System information can't be recollected. Try again later. + +theme_xhred_global_development_version=Development version + +right_vm_server_summary=Virtual Server Summary + +settings_webmin_default_module=Default module for Webmin + +theme_xhred_global_unbeforeunload_title=Changes you made may not be saved +theme_xhred_global_unbeforeunload_message=If you continue, unsaved changes on this page could be permanently lost. +theme_xhred_global_continue=Continue + +theme_xhred_global_automatic_refresh=Automatic refresh +theme_xhred_global_second=Second +theme_xhred_global_seconds=Seconds +theme_xhred_global_minute=Minute +theme_xhred_global_minutes=Minutes diff --git a/lang/sq b/lang/sq new file mode 120000 index 000000000..b04f36946 --- /dev/null +++ b/lang/sq @@ -0,0 +1 @@ +sq.UTF-8 \ No newline at end of file diff --git a/lang/sq.UTF-8 b/lang/sq.UTF-8 new file mode 100644 index 000000000..030c85693 --- /dev/null +++ b/lang/sq.UTF-8 @@ -0,0 +1,741 @@ +body_cp = CPU +body_cpu = Mesataret e ngarkesĂ«s sĂ« CPU +body_cpuinfo = Informacioni i procesorit +body_cputemps = Temperaturat e CPU +body_cputype = $ 5, $ 8 berthama +body_disk = HapĂ«sira e diskut +body_driveerr = $ 1 gabime! +body_drivefailed = Kontrolli SMART dĂ«shtoi! +body_drivetemps = Temperaturat e Diskut +body_firewall = Versioni i Firewall +body_header0 = Informacioni i Sistemit +body_header1 = Informacioni i llogarisĂ« +body_host = Emri i host-it tĂ« sistemit +body_kernel = Kernel dhe CPU +body_kernelon = $ 1 $ 2 nĂ« $ 3 +body_load = $ 1 (1 min) $ 2 (5 min) $ 3 (15 minuta) +body_os = Sistemi operativ +body_procs = Proceset aktive +body_real = Memorie reale +body_time = Koha nĂ« sistem +body_updates = PĂ«rditĂ«simet e paketĂ«s +body_updays = $ 1 ditĂ«, $ 2 orĂ«, $ 3 minuta +body_uphours = $ 1 orĂ«, $ 2 minuta +body_upmins = $ 1 minuta +body_upneed = $ 1 pĂ«rditĂ«sime tĂ« pakos janĂ« nĂ« dispozicion +body_upneed1 = PĂ«rditĂ«simi i paketĂ«s $ 1 Ă«shtĂ« i disponueshĂ«m +body_upok = TĂ« gjitha paketat e instaluara janĂ« tĂ« pĂ«rditĂ«suara +body_upsec = $ 1 pĂ«rditĂ«sime tĂ« pakos janĂ« nĂ« dispozicion, prej tĂ« cilave $ 2 janĂ« pĂ«rditĂ«sime tĂ« sigurisĂ« +body_upsec1 = $ 1 pĂ«rditĂ«sime tĂ« pakos janĂ« nĂ« dispozicion, prej tĂ« cilave $ 2 Ă«shtĂ« azhurnimi i sigurisĂ« +body_upsec2 = PĂ«rditĂ«simi i paketĂ«s $ 1 Ă«shtĂ« nĂ« dispozicion, prej tĂ« cilave $ 2 janĂ« pĂ«rditĂ«sime tĂ« sigurisĂ« +body_upsec3 = PĂ«rditĂ«simi i paketĂ«s $ 1 Ă«shtĂ« nĂ« dispozicion, prej tĂ« cilave $ 2 Ă«shtĂ« azhurnimi i sigurisĂ« +body_uptime = Koha nga ndezja e sistemit +body_used = $ 1 total / $ 2 pĂ«rdorur +body_used_and_free = $ 1 gjithsej / $ 2 falas / $ 3 tĂ« pĂ«rdorura +body_usermin = Versioni i Usemin +body_virt = Memorie virtuale +body_webmin = Versioni i Webmin + +left_favorites = Favoritet +left_favorites_no = Nuk ishte shtuar asnjĂ« shĂ«nim ... +left_feedback = DĂ«rgo Reagim +left_home = Informacion mbi Sistemin +left_others = Te tjera +left_refresh_modules = Rifresko Modulet +left_search = KĂ«rko +left_statistics = Statistikat e sistemit + +login_danger = Rrezik! +login_message = Ju duhet tĂ« shkruani njĂ« emĂ«r pĂ«rdoruesi dhe fjalĂ«kalim pĂ«r tu identifikuar nĂ« server +login_pass = FjalĂ«kalimi +login_save = MĂ« kujto +login_signin = Identifikohu +login_success = Sukses! +login_token = Token +login_user = Perdoruesi +login_warning = Kujdes! + +right_aliases = Pseudonim Servera +right_bw = PĂ«rdorimi i Bandwith dhe limit +right_dom = Emri i serverit tuaj +right_faliases = Pseudonimet postare +right_fdbs = Databaza +right_fdoms = Servera virtuale +right_from = Regjistruar nga +right_fusers2 = PĂ«rdoruesit e FTP +right_fusers = PĂ«rdoruesit e Mail / FTP +right_fvm2 = Makinat Virtuale +right_fweb = Uebsitet virtuale +right_licenceheader_vm2 = Licencat e Cloudmin +right_login = Regjistruar si +right_not = Nuk Ă«shtĂ« instaluar +right_of = $ 1 nga $ 2 +right_quota = PĂ«rdorimi i diskut dhe kuota +right_reselip = (RishitĂ«s $ 1) +right_amedip = (IP e pĂ«rbashkĂ«t) +right_slcheck = Ri-Kontrolloni LicencĂ«n Cloudmin +right_subs = Nen-serverat +right_virtdocs2 = Dokumentacion shtesĂ« +right_virtualmin = Versioni Virtualmin +right_vlcheck = Rivendosni LicencĂ«n Virtualmin +right_vm2 = Versioni i Cloudmin + +session_failed = Hyrja dĂ«shtoi. Ju lutemi provoni pĂ«rsĂ«ri. +session_logout = Dolet me sukses.PĂ«rdorni formularin e mĂ«poshtĂ«m pĂ«r t'u identifikuar pĂ«rsĂ«ri. +session_timed_out = Sesioni pĂ«rfundoi pas 1 minutash pasiviteti. +session_twofailed = Autentifikimi me dy faktorĂ« dĂ«shtoi: $ 1 + + + + + + + + + + +settings_right_options = Opsionet +settings_right_restore_defaults = Rivendos parazgjedhjet +settings_right_restored = U rivendos +settings_right_restoring = Po Rivendoset +settings_right_saved = Te Ruajturat +settings_right_saving = Po Ruan + +settings_right_theme_extensions = Shtesat e temave +settings_right_theme_extensions_title = Zgjerimet e TemĂ«s +settings_right_file_edit = Ndrysho skedarin e zgjerimit: +settings_right_extensions_title = Dizajni i gjerĂ« i temave, ju mundĂ«son manipulimin me lehtĂ«si nĂ« pjesĂ«t e synuara tĂ« ndĂ«rfaqes.ËshtĂ« e mundur qĂ« tĂ« hyni si CSS dhe JavaScript , duke shkruar zgjerime me porosi stilet / skriptet .NĂ« vijim janĂ« shembujt e thjeshtĂ«, tĂ« bĂ«rĂ« pĂ«r t'ju ndihmuar tĂ« kuptoni idenĂ« bazĂ« tĂ« zbatimit tĂ« saj.PĂ«r shembull, pĂ«r tĂ« ndryshuar ngjyrĂ«n e sfondit, shtoni stilin e mĂ«poshtĂ«m nĂ« shtrirjen CSS: body {background-color: Gainsboro} .Duke pĂ«rdorur JavaScript, pĂ«r tĂ« ndryshuar gjerĂ«sinĂ« e butonit tĂ« paraqitjes, shtoni kodin e mĂ«poshtĂ«m nĂ« zgjerimin e JavaScript: $ ('button [type = "submit"]') animate ({width: "100%"}, 1000) .MegjithatĂ«, nĂ« praktikĂ«, do tĂ« jetĂ« mĂ« e ndĂ«rlikuar se kaq. + +settings_right_theme_logos = Logot e temave +settings_right_theme_logos_title = Logot e Theme +settings_right_logos_title = Logot e temave mund tĂ« vendosen lehtĂ« kĂ«tu, pĂ«r tĂ« dy, pĂ«rdoruesit e autentikuar dhe tĂ« paautorizuar.MadhĂ«sia e rekomanduar e logos Ă«shtĂ« 180x90 dhe formati i vetĂ«m i mbĂ«shtetur Ă«shtĂ« .png , pĂ«r tĂ« siguruar transparencĂ«n alfa.Pasi qĂ« tĂ« krijohet logo, nĂ« rast se keni nevojĂ«, mund ta manipuloni atĂ« me CSS dhe JavaScript , duke e qasur atĂ« sipas emrit tĂ« klasĂ«s, e cila Ă«shtĂ« ._ logo dhe ._ logo_welcome te autentifikuara dhe paautorizuar lloje. +settings_right_logo_authenticated_users = Logo pĂ«r pĂ«rdoruesit e legalizuar +settings_right_logo_unauthenticated_users = Logo pĂ«r pĂ«rdoruesit e paautorizuar + +settings_right_current_theme = Tema aktuale +settings_right_title = Kjo faqe ju lejon tĂ« konfiguroni opsionet pĂ«r Theme Authentic .CilĂ«simet do tĂ« ruhen pas pĂ«rditĂ«simit tĂ« temĂ«s. +settings_right_theme_left_configuration_title = Konfigurimi i Authentic Theme +settings_right_theme_left_extensions_title = Redaktuesi i A Zgjerimeve tĂ« Authentic Theme +settings_right_theme_left_logo_title = Kontrolli i Autentik i Logo +settings_right_theme_configurable_options_title = Opsionet e konfigurueshme pĂ«r Authentic Theme + + +settings_right_window_options_title = Opsionet e dritares +settings_right_navigation_menu_title = MundĂ«sitĂ« e menysĂ« sĂ« navigimit +settings_right_table_options_title = Opsionet e tabelĂ«s +settings_security_title = Opsione tĂ« Alarmeve tĂ« SigurisĂ« +settings_security_description = Alarmet e sigurisĂ« do t'ju lejojnĂ« tĂ« konfiguroni njoftimet e postĂ«s elektronike pas ngjarjeve tĂ« caktuara.(Komanda Linux mail kĂ«rkohet pĂ«r kĂ«tĂ« funksion tĂ« funksionojĂ«)
    Formati: Mesazhi | Subjekti | Lista e ndarë e emrave të përdoruesve / email | / IPv6
    Përdorimi: % 3 alarm identifikimi i suksesshëm për përdoruesin% 1 nga% 2 |% 3 login login i suksesshëm | root, user @ example.org | 1.2.3.4, 5.6.7.8
    Produkti: Nga: root, PĂ«r: rrĂ«njĂ«, Subjekt: Webmin alarm i suksesshĂ«m i identifikimit, Mesazhi: Webmin login i suksesshĂ«m pĂ«r perdoruesin root nga 2.3.4.5 +settings_right_hotkey_options_title = Opsionet Hotkey +settings_right_sysinfo_page_options_title = Opsionet e faqes sĂ« Informacionit tĂ« Sistemit + +settings_right_hotkey_custom_options_description = Lidhjet e personalizuara ju mundĂ«sojnĂ« tĂ« pĂ«rdorni shifrat nga 1 tek 9 pĂ«r tĂ« hyrĂ« nĂ« mĂ«nyrĂ« tĂ« shpejtĂ« çdo URL tĂ« vlefshme Webmin / Usermin / Virtualmin / Cloudmin . URL mund tĂ« nxirret nga faqja e pĂ«rmbajtjes sĂ« kornizĂ«s aktualisht tĂ« hapur, duke lexuar burimin e saj.ËshtĂ« e rĂ«ndĂ«sishme qĂ« URL tĂ« mos ketĂ« asnjĂ« prerje nĂ« fillim dhe nuk pĂ«rdor prefikse.PĂ«r shembull, tĂ« kaloni me shpejtĂ«si nĂ« Apache, vendosni nĂ« lidhje me porosi 1 fushĂ« apache. NĂ«se modifikuesi i parazgjedhur i hotkeys tĂ« caktuar nĂ« Alt, klikoni < kodi> Alt + 1 , do tĂ« hapĂ« modulin Apache +settings_hotkey_custom_1 = Lidhje e personalizuar 1 +settings_hotkey_custom_2 = Lidhje e personalizuar 2 +settings_hotkey_custom_3 = Lidhje e personalizuar 3 +settings_hotkey_custom_4 = Lidhje e personalizuar 4 +settings_hotkey_custom_5 = Lidhje e personalizuar 5 +settings_hotkey_custom_6 = Lidhje e personalizuar 6 +settings_hotkey_custom_7 = Lidhje e personalizuar 7 +settings_hotkey_custom_8 = Lidhje e personalizuar 8 +settings_hotkey_custom_9 = Lidhje e personalizuar 9 + +settings_navigation_color = Paleta e ngjyrave tĂ« menysĂ« tĂ« navigimit +settings_background_color = Paleta ngjyra e faqes sĂ« pĂ«rmbajtjes +settings_animation_left = Aktivizo animacionin nĂ« menunĂ« e navigimit +settings_animation_tabs = Aktivizo animacionin nĂ« skedarĂ« +settings_loader_top = Aktivizo ngarkuesin e pĂ«rparimit tĂ« faqes nĂ« krye tĂ« ekranit +settings_loader_left = Aktivizo spinner pĂ«r menunĂ« e navigimit +settings_right_reload = Ngarko faqen e pĂ«rmbajtjes +settings_right_reload_description = Kur kaloni skedat, faqja e pĂ«rmbajtjes sĂ« kornizĂ«s sĂ« djathtĂ« rifreskohet.Mos mbani aktualisht tĂ« hapur faqen e pĂ«rmbajtjes sĂ« kornizĂ«s sĂ« djathtĂ« dhe rifreskoni me parazgjedhje? + +settings_right_hide_table_icons = Fshih ikonat e tabelĂ«s pĂ«r kornizĂ«n e duhur +settings_right_hide_table_icons_description = Hiqni plotĂ«sisht ikonat nga tabelat e faqeve tĂ« pĂ«rmbajtjes dhe shfaqni lidhje tĂ« thjeshta me djathtas tĂ« drejtĂ« +settings_right_small_table_icons = Ikonat e tabelave tĂ« vogla +settings_right_small_table_icons_description = ZĂ«vĂ«ndĂ«soni ikonat e tabelave tĂ« madhĂ«sisĂ« standarde me ato tĂ« vogla dhe ikonat e ekranit duke pĂ«rdorur veglat +settings_right_animate_table_icons = Animimi i ikonave tĂ« tabelave nĂ« fokus +settings_right_grayscaled_table_icons = Ikonat e tabelave nĂ« gri dhe sjellin ngjyrĂ«n nĂ« fokus vetĂ«m + +settings_window_autoscroll = LĂ«vizja automatike e dritares +settings_window_autoscroll_description = Ul poshte dritaren automatikisht , pasi faqja Ă«shtĂ« e populluar nga ana e serverit. Spineri do tĂ« fshihet automatikisht me kĂ«tĂ« funksion.Mouse-rrotullimi i menduar nga pĂ«rdorues, do tĂ« bĂ«jĂ« ndalimin e autoscroll; pĂ«r tĂ« rifilluar atĂ«, tĂ« bĂ«jĂ« dyfishtĂ« mouse-scroll, duke qenĂ« nĂ« fund tĂ« faqes. + +settings_leftmenu_section_hide_refresh_modules = Fshih lidhjet e moduleve tĂ« rifreskimit +settings_leftmenu_section_hide_unused_modules = Fshih seksionet e moduleve qĂ« nuk pĂ«rdoren +settings_favorites = Shfaq butonin e preferencave +settings_leftmenu_button_language = Shfaq butonin e gjuhĂ«s +settings_leftmenu_button_refresh = Trego butonin e rifreskimit + +settings_theme_options_button = Trego butonin e cilĂ«simeve tĂ« temĂ«s + +settings_hotkeys_active = Aktivizo pĂ«rdorimin e hotkeys +settings_hotkey_toggle_modifier = Modifikues i hotkeys +settings_hotkey_toggle_key_webmin = Hotkey pĂ«r Webmin +settings_hotkey_toggle_key_virtualmin = Hotkey pĂ«r Virtualmin +settings_hotkey_toggle_key_cloudmin = Hotkey pĂ«r Cloudmin +settings_hotkey_toggle_key_usermin = Hotkey pĂ«r Usermin +settings_hotkey_toggle_key_webmail = Hotkey pĂ«r Mail +settings_hotkey_sysinfo = Hotkey pĂ«r dashboard +settings_hotkey_shell = Hotkey pĂ«r terminal +settings_hotkey_favorites = Hotkey pĂ«r tĂ« preferuarat +settings_hotkey_focus_search = Hotkey pĂ«r fushĂ«n e kĂ«rkimit +settings_hotkey_reload = Hotkey pĂ«r rifreskimin e faqes + +settings_side_slider_background_refresh_time = KohĂ«zgjatja pĂ«r pĂ«rditĂ«simin e informacionit tĂ« sfondit +settings_side_slider_background_refresh_time_description = Vendosni kohĂ«n e dĂ«shiruar pĂ«r pĂ«rditĂ«simin e skedarit tĂ« njoftimit nĂ« thirrjet e sfondit.Vlera do tĂ« duhej tĂ« ishte nĂ« minuta.Vlera minimale e rekomanduar Ă«shtĂ« 1 minutĂ«.Default Ă«shtĂ« vendosur nĂ« minuta 5 .Vlerat dhjetore mund tĂ« pĂ«rdoren gjithashtu. +settings_sysinfo_easypie_charts = Shfaq tabela +settings_sysinfo_theme_updates = Kontrolloni pĂ«r pĂ«rditĂ«sime autentike tĂ« temĂ«s +settings_sysinfo_csf_updates = Kontrolloni pĂ«r pĂ«rditĂ«simet e SigurisĂ« & ​​Firewall tĂ« ConfigServer +settings_sysinfo_drive_status_on_new_line = Shfaq CPU dhe disqet statusin secili nĂ« linjĂ« tĂ« re +settings_sysinfo_expand_all_accordions = BĂ«ni tĂ« gjitha harmonikat tĂ« zgjeruara +settings_sysinfo_link_mini = Shfaq lidhjen e informacionit tĂ« sistemit si buton +settings_leftmenu_singlelink_icons = Shfaq ikonat pĂ«r lidhje tĂ« vetme nĂ« menunĂ« e navigimit + +settings_right_page_defaults_title = Faqet e paracaktuar +settings_right_default_tab_webmin = Default skedĂ« pas futjes nĂ« Webmin +settings_right_default_tab_usermin = Skeda e parazgjedhur pas hyrjes nĂ« Usermin +settings_right_virtualmin_default = Faqja Default pĂ«r Virtualmin +settings_right_cloudmin_default = Faqja e paracaktuar pĂ«r Cloudmin + +settings_leftmenu_vm_installscripts = Trego instalimin e skripteve tĂ« instalimit nĂ« Virtualmin +settings_leftmenu_vm_webpages = Shfaq lidhjen e lidhjeve tĂ« redaktimit nĂ« Virtualmin +settings_leftmenu_vm_backup_amazon = Trego lidhjet e Amazon S3 nĂ« Virtualmin + +settings_right_clear_local_cache = Pastro cache +settings_right_notification_slider_options_title = Opsionet e skanimit anĂ«sor +settings_side_slider_fixed = Mbani rrĂ«shqitĂ«sin gjithmonĂ« tĂ« dukshĂ«m +settings_side_slider_palette = Paleta e Slider +settings_hotkey_toggle_slider = Hotkey pĂ«r slider +settings_window_replace_timestamps = Aktivizo zĂ«vendĂ«simet e datave +settings_window_replaced_timestamp_format_short = Formati i datĂ«s / orĂ«s sĂ« shkurtĂ«r +settings_window_replaced_timestamp_format_full = Formati i plotĂ« i datĂ«s / orĂ«s +settings_window_replaced_timestamps_options_description = Vendos cilĂ«simet e datĂ«s / orĂ«s pĂ«r tĂ« vendosur daljen e dĂ«shiruar pĂ«r shfaqjen e datave nĂ« formatin e plotĂ« ose tĂ« shkurtĂ«r format . % vlera ` u krijua me sukses. +theme_xhred_filemanager_successful_file_creation = Skeda `% vlera ` u krijua me sukses. + +theme_xhred_notifications_packages_updates = PĂ«rditĂ«simi i Paketave +theme_xhred_notifications_theme_update = PĂ«rditĂ«sim i temĂ«s +theme_xhred_notifications_theme_update_message = ËshtĂ« nĂ« dispozicion njĂ« version i ri % v i Theme autentik . Ju lutemi update. +theme_xhred_notifications_firewall_update = Update Firewall +theme_xhred_notifications_firewall_update_message = ËshtĂ« nĂ« dispozicion njĂ« version i ri % v i SigurisĂ« dhe Firewall tĂ« Serverit ConfigServer . Ju lutemi update. + +theme_xhred_notifications_firewall_danger = Rrezik Firewall +theme_xhred_notifications_firewall_danger_message = Duket se Siguria e Serverit tĂ« SigurisĂ« dhe Firewall Ă«shtĂ« nuk funksionon ose Ă«shtĂ« ndalur!Mos e lini ekspozuar serverin tuaj, kontrolloni pĂ«r cilĂ«simet e firewall (% v) + +theme_xhred_notifications_firewall_warning = ParalajmĂ«rimi i Firewall + +# 17.50 +settings_force_default_tab = Fillo skedĂ«n e paracaktuar pĂ«r Webmin +settings_force_default_tab_description = Kjo veçori do tĂ« detyrojĂ« edhe kartĂ«n e parazgjedhur nĂ« rimbushjen e dritares gjithashtu.Kujdes!Nuk do tĂ« jetĂ« e mundur tĂ« zgjedhĂ«sh pĂ«r skedĂ«n e dĂ«shiruar duke pĂ«rdorur URL-nĂ«, pasi çdo kĂ«rkesĂ« lokacioni do tĂ« injorohet. + +settings_grayscale_level_navigation = Filtri me ngjyrĂ« gri +settings_grayscale_level_navigation_description = Vlerat e paracaktuara / aktuale 0 / 0 +settings_sepia_level_navigation = FiltĂ«r Sepia +settings_sepia_level_navigation_description = Vlerat e paracaktuara / aktuale 0 / 0 +settings_saturate_level_navigation = FiltĂ«r i ngopur +settings_saturate_level_navigation_description = Parametrat / vlera aktuale 1 / 0 +settings_hue_level_navigation = Hue-rotate filter +settings_hue_level_navigation_description = Vlerat e paracaktuara / aktuale 0 ° / 0 +settings_invert_level_navigation = Filtri i pĂ«rmbysur +settings_invert_level_navigation_description = Vlerat e paracaktuara / aktuale 0 / 0 +settings_brightness_level_navigation = Filtri i ndriçimit +settings_brightness_level_navigation_description = Parametrat / vlera aktuale 1 / 0 +settings_contrast_level_navigation = Filtri i Kontrasti +settings_contrast_level_navigation_description = Vlerat e paracaktuara / aktuale 1 / 0 + +settings_grayscale_level_content = Filtri me ngjyrĂ« gri +settings_grayscale_level_content_description = Vlerat e paracaktuara / aktuale 0 / 0 +settings_saturate_level_content = FiltĂ«r i ngopjes +settings_saturate_level_content_description = Vlerat e paracaktuara / aktuale 1 / 0 +settings_hue_level_content = Hue-rotate filter +settings_hue_level_content_description = Vlerat e paracaktuara / aktuale 0 ° / 0 + +settings_cm_view_palette = Paleta ngjyra e shikuesit +settings_cm_editor_palette = Paleta e ngjyrave tĂ« redaktorit + +theme_xhred_filemanager_context_select_all = Zgjedh tĂ« gjitha +theme_xhred_filemanager_context_select_invert = Zhvendos pĂ«rzgjedhjen +theme_xhred_filemanager_context_refresh = Refresh +theme_xhred_filemanager_context_newfile = Krijo skedar tĂ« ri +theme_xhred_filemanager_context_newfoder = Krijo direktorinĂ« e re +theme_xhred_filemanager_context_copy = Kopjo +theme_xhred_filemanager_context_cut = Prej +theme_xhred_filemanager_context_paste = Ngjit +theme_xhred_filemanager_context_chmod = Ndrysho lejet +theme_xhred_filemanager_context_chown = Ndrysho pronĂ«sinĂ« + +# 17.51 +theme_xhred_filemanager_context_new = New +theme_xhred_filemanager_context_newarchive = Krijo arkiv tĂ« ri +theme_xhred_filemanager_context_delete = Fshije +theme_xhred_filemanager_context_rename = Rename +theme_xhred_filemanager_context_edit = Edit +theme_xhred_filemanager_context_extract = Ekstrakt +theme_xhred_filemanager_context_goto = Hapni vendndodhjen e artikullit +theme_xhred_filemanager_context_properties = Properties +theme_xhred_filemanager_context_search = KĂ«rko + +# 17.52 +theme_xhred_filemanager_context_deselect_all = PĂ«rzgjidhni tĂ« gjitha +theme_xhred_filemanager_context_upload = Ngarko nĂ« direktorinĂ« aktuale +theme_xhred_filemanager_context_download = Shkarko nga URL-ja e largĂ«t + +# 17.53 +theme_settings_virtualmin = Serverat virtuale Virtualmin +theme_settings_cloudmin = Cloudmin Sistemet e Menaxhuara +settings_right_thirdparties_options_title = MundĂ«sitĂ« e moduleve tĂ« palĂ«ve tĂ« treta +theme_xhred_filemanager_context_calculate_size = Llogaritni madhĂ«sinĂ« nĂ« spacebar +theme_xhred_filemanager_context_bookmarks = Bookmarks +theme_xhred_filemanager_context_bookmark_current = ShĂ«noji shtegun aktualisht tĂ« hapur +theme_xhred_filemanager_context_transfer = Transfer + +# 17.54 +theme_xhred_filemanager_title_symlink_target = Lidhu objektivin + +# 17.60 +right_unlimited = limit +settings_leftmenu_width = GjerĂ«sia e preferuar +settings_leftmenu_width_description = Parametri / gjerĂ«sia aktuale 260 / 0 +settings_switch_rdisplay = Dalja e kalimit tĂ« kundĂ«rt +settings_switch_rdisplay_description = Ky opsion ju lejon tĂ« vendosni porosi tĂ« ndryshme pĂ«r çelsat e majta tĂ« majtĂ«.Pas ndryshimit tĂ« kĂ«tij opsioni, duhet tĂ« rifreskohet faqja e plotĂ« pĂ«r tĂ« aplikuar cilĂ«sime tĂ« reja. + +# 17.63 +theme_xhred_filemanager_context_calculate_selected_size = Llogaritni madhĂ«sinĂ« e pĂ«rzgjedhur +theme_xhred_filemanager_selected_entries = Zgjedhur:% entries vlerĂ« +theme_xhred_filemanager_manual_path = Futni rrugĂ«n manualisht + +theme_xhred_datatable_semptytable = Nuk ka tĂ« dhĂ«na nĂ« tabelĂ« +theme_xhred_datatable_sinfo = Duke treguar _START_ nĂ« _END_ tĂ« _TOTAL_ shĂ«nimeve +theme_xhred_datatable_sinfoempty = Duke shfaqur 0 deri nĂ« 0 nga 0 shĂ«nime +theme_xhred_datatable_slengthmenu = Trego _MENU_ shĂ«nimet +theme_xhred_datatable_sloadingrecords = Loading ... +theme_xhred_datatable_sprocessing = PĂ«rpunimi ... +theme_xhred_datatable_szerorecords = Nuk u gjetĂ«n tĂ« dhĂ«na qĂ« pĂ«rputhen + +# 17.64 +theme_xhred_filemanager_file_edit_but_not_saved = Skedari Ă«shtĂ« redaktuar, por nuk Ă«shtĂ« ruajtur. +theme_xhred_filemanager_file_edit_but_not_saved_what_to_do = ÇfarĂ« doni tĂ« bĂ«ni? +theme_xhred_global_save = Save +theme_xhred_global_save_and_close = Ruaj dhe mbyll +theme_xhred_global_close_without_saving = Mbyll pa kursyer +theme_xhred_global_continue_editing = Vazhdo redaktimin +theme_xhred_filemanager_context_download_file = Download + +17 +settings_sysinfo_easypie_charts_width = GjerĂ«sia e tabelave +settings_sysinfo_easypie_charts_scale = GjatĂ«sia e skicave tĂ« shkallĂ«s + +17 +settings_window_exclusion_description = Caktoni listĂ«n e moduleve qĂ« do tĂ« pĂ«rjashtohen nga mekanizmi i paraqitjes sĂ« ndĂ«rtuar.Ky funksion do tĂ« ofrojĂ« mbĂ«shtetje pĂ«r modulet e vjetĂ«ruara / vullnetarisht tĂ« ndĂ«rtuara, tĂ« cilat nuk janĂ« shfaqur si duhet. PĂ«r tĂ« çaktivizuar paraqitjen e disa moduleve duhet tĂ« specifikoni emrin e tij. Emri i modulit bazohet nĂ« emrin e tij tĂ« direktorisĂ« dhe mund tĂ« gjendet kur fluturon nĂ« linkun e saj nĂ« menunĂ« e navigimit. ËshtĂ« gjithashtu e mundur tĂ« kalosh asterikun e vetĂ«m * pĂ«r tĂ« çaktivizuar renditjen e ndĂ«rtuar pĂ«r tĂ« gjitha modulet. +settings_window_exclusion_list = Modulet pĂ«r tĂ« pĂ«rjashtuar + +# 17.80 +right_return_theme_options = opsionet e temĂ«s +theme_xhred_datatable_semptydirectory = Drejtori Ă«shtĂ« bosh +theme_xhred_filemanager_context_clipboard = Kopjo rrugĂ«n nĂ« clipboard +theme_xhred_global_warning = Lajmerim +theme_xhred_global_close = Mbylle +theme_xhred_encoding_warning = Zbuluar qĂ« po pĂ«rdorni njĂ« set karakteresh jo-unicode, e cila nuk rekomandohet.Karakteri i çuditshĂ«m mund tĂ« shfaqet nĂ« modalitetin e pĂ«rpunimit tĂ« tekstit dhe / ose çështje tĂ« tjera tĂ« kodimit do tĂ« ndodhin.

    Ndrysho gjuhën në Produkti Konfigurimi në % lang.UTF-8 dhe sigurohuni që edhe shfletuesi juaj ta zbulojë atë saktë.

    Kujdes, Webmin moduli i ndĂ«rtuar, i emĂ«rtuar Ndrysho gjuhĂ«n dhe temĂ«n mund tĂ« anashkalojĂ« cilĂ«simet globale. + +theme_xhred_filemanager__no_bookmarks = Nuk ka faqeresa tĂ« ruajtura +theme_xhred_filemanager_unbookmark_success = Drejtoria % vlera u hoq me sukses nga faqeshĂ«nuesit tuaj. +theme_xhred_filemanager_bookmark = EmĂ«roni direktorinĂ« aktuale +theme_xhred_filemanager_unbookmark = Lista Unbookmark aktuale +theme_xhred_filemanager_move_into_self = Ju nuk mund tĂ« lĂ«vizni njĂ« direktori nĂ« vetvete!Lista e destinacionit Ă«shtĂ« brenda dosjes sĂ« burimit. +theme_xhred_filemanager_pasting_and_copying_1 = Burimi i pĂ«rzgjedhur Ă«shtĂ« ngjitur me emĂ«r tĂ« ri me sukses. +theme_xhred_filemanager_pasting_and_copying_2 = Burimet e pĂ«rzgjedhura janĂ« ngjitur me emra tĂ« rinj me sukses. +theme_xhred_filemanager_pasting_and_replacing_1 = Objektivi ekzistues Ă«shtĂ« zĂ«vendĂ«suar me sukses tĂ« ri. +theme_xhred_filemanager_pasting_and_replacing_2 = Caqet ekzistuese janĂ« zĂ«vendĂ«suar me sukses tĂ« ri. +theme_xhred_filemanager_target_conflict_1 = Konflikti i synuar +theme_xhred_filemanager_target_conflict_2 = Cakton konflikte +theme_xhred_filemanager_target_conflict_message_1 = Caku i ngjitur tashmĂ« ekziston!ÇfarĂ« preferoni tĂ« bĂ«ni? +theme_xhred_filemanager_target_conflict_message_2 = Caqet e ngjitura tashmĂ« ekzistojnĂ«!ÇfarĂ« preferoni tĂ« bĂ«ni? +theme_xhred_filemanager_target_conflict_replace = Bashkimi dhe zĂ«vendĂ«simi +theme_xhred_filemanager_target_conflict_paste = Ngjit me emĂ«r tĂ« ri + +theme_xhred_editor_help_title = Shkurtoret e shkrimit tĂ« tastierĂ«s +theme_xhred_editor_help_content = Gjej / Replace Ctrl + F
    Ctrl + ⇧ + R Replace all Ctrl + ⇧ + G Gjetja e mĂ«parshme
    Ctrl + G
    tr> Ctrl + KU Transformo në Uppercase Ctrl + KL h5> < Ctrl + Space \t\t\t\t\t\t\t\t\t"), $(".ui_post_header.hidden").html() && $(".ui_post_header.hidden").html().length > 5 && ($("#headln2c").append("" + $(".ui_post_header.hidden").html() + ""), $(".ui_post_header.hidden").remove()) + } + if (v___location_path && v___location_path.indexOf("/sysinfo.cgi") > -1) { + if (!e) { + $('#status_services-status-collapse .tr_tag .td_tag > img[src*="images/up.gif"]:not(".ui_icon_protected")').each(function(e, t) { + var i = $(this); + $(t).attr("src", v___location_prefix + "/images/check.png").css("margin-right", "3px").attr("title", $.trim(i.parent(".td_tag").text())) + }), $('#status_services-status-collapse .tr_tag .td_tag > img[src*="images/down.gif"]:not(".ui_icon_protected")').each(function(e, t) { + var i = $(this); + $(t).attr("src", v___location_prefix + "/images/cross.png").css("margin-right", "3px").attr("title", $.trim(i.parent(".td_tag").text())) + }), $('#status_services-status-collapse .tr_tag .td_tag > img[src*="images/not.gif"]:not(".ui_icon_protected")').each(function(e, t) { + var i = $(this); + $(t).attr("src", v___location_prefix + "/images/not.png").css("margin-right", "3px").attr("title", $.trim(i.parent(".td_tag").text())) + }), $.each($(".piechart"), function() { + isNaN($(this).data("percent")) && $(this).parents(".text-center").remove() + }).promise().done(function() { + var e = $("span[data-charts]"), + t = 'div[class^="col-xs-"]', + i = e.parents(".row").find(t).length; + $.each(e.parents(".row"), function() { + $(this).find(t).removeClass().addClass("text-center col-xs-6 col-sm-" + 12 / i) + }) + }); + $(".__page .panel-default:not(#system-status)").sort(function(e, t) { + return $(e).data("sorter") > $(t).data("sorter") ? 1 : -1 + }).appendTo("#extended_sysinfo-1.panel-group") + } + + function y() { + var e = $("[data-convertible-timestamp-full]"); + e.parent().contents().filter(function() { + return 3 === this.nodeType + }).remove(), e.data("convertible-timestamp-full", parseInt(e.data("convertible-timestamp-full")) + 1), "undefined" != typeof moment && e.text(moment.unix(e.data("convertible-timestamp-full")).format(settings_window_replaced_timestamp_format_full)) + } + y(), $(function() { + "undefined" != typeof $_update_time_ && clearInterval($_update_time_), $_update_time_ = setInterval(y, 1e3) + }) + } + if (!e) { + if (v___location_path == v___location_prefix + "/virtual-server/edit_phpmode.cgi" && $("#hiddendiv_phpinfo table tbody tr").css("border", "1px solid #" + (v___theme_night_mode_enabled ? "393b3f" : "eee")), $.each($('a[href*="showpass.cgi?"][onclick]'), function() { + $(this).html('').css("color", "#555") + }), v___location_path == v___location_prefix + "/webmin/edit_startpage.cgi" && ($('select[name="deftab"]').parents("td.col_value").parent("tr").hide(), $('select[name="gotomodule"] option').each(function() { + ("virtual-server" == $(this).val() || "server-manager" == $(this).val()) && $(this).remove() + })), v___location_path != v___location_prefix + "/webmin/edit_ui.cgi" && v___location_path != v___location_prefix + "/usermin/edit_ui.cgi" || $('input[name*="cs_link_def"], input[name*="cs_header_def"], input[name*="cs_table_def"], input[name*="cs_text_def"], input[name*="cs_page_def"], input[name*="width_def"], input[name*="height_def"], input[name*="sizedate_def"], input[name*="texttitles"]').parents("td.col_value").parent("tr").addClass("hidden"), (check_location_resource("/config.cgi?virtual-server") || check_location_resource("/config.cgi?server-manager")) && $('input[name="theme_image"], input[name="theme_link"], input[name="theme_alt"]').parents("td.col_value").parent("tr").hide(), v___location_path == v___location_prefix + "/virtual-server/edit_resel.cgi" && $('input[name="logo"][id="logo"], input[name="link"]').parents("td.col_value").parent("tr").hide(), v___location_path == v___location_prefix + "/virtual-server/edit_newfeatures.cgi" && ($('tr td:last-child label:contains("|")').replaceText(/\|/gi, ""), $("td a.ui_link").addClass("ui_link_replaced btn btn-info btn-xxs").removeClass("heighter-34").removeClass("ui_link").prepend('')), $("#headln2l .btn .fa-arrow-left").length) { + $("body").attr("class") && $("body").attr("class").indexOf(v___module_file_manager) > -1 || $("#headln2l .btn .fa-arrow-left").parent("a").attr("href", $("#headln2l .btn .fa-arrow-left").parent("a").attr("href").replace("index.cgi", "")); + var w = URI(v___location); + v___location_file = w.filename() + } + $("#headln2r, #headln2l").prepend('
    ').append("
    "), $("#headln2r a").detach().appendTo("#headln2r .btn-group"), $("#headln2l a").detach().appendTo("#headln2l .btn-group"), $.each($(".ui_form_end_submit"), function() { + if (v___location_path_lead_unslashed != v___location_prefix_unslashed_trail_slashed + "proc/edit_proc.cgi" && "edit_dbase.cgi" != v___location_file && "edit_pam.cgi" != v___location_file && "list_records.cgi" != v___location_file && !Core.curModule("mailbox") && !Core.curModule("mailboxes")) { + var e = $(this).parent().find(".ui_form_end_submit"); + !e.parents(".btn-group").length && e.length > 1 && $(this).parent().find(".ui_form_end_submit, .ui_form_end_submit + input").wrapAll('
    ') + } + }).promise().done(function() { + $.each($(".end_submits"), function(e, t) { + ($(this).prev(".heighter-28").length || "28px" == $(this).prev("input, select").css("height")) && $(this).find(".ui_form_end_submit").addClass("heighter-28") + }) + }), $.each($(".btn-group").find("span"), function() { + $(this).not("[class]").length && !$.trim($(this).text()).length && $(this).remove() + }), 2 === $(".panel-default").nextAll("a.btn.btn-primary").length && $(".panel-default").next("a.btn.btn-primary").find(".fa.fa-arrow-left").removeClass("fa-arrow-left").addClass("fa-arrow-circle-o-left"), 3 === $(".panel-default").nextAll("a.btn.btn-primary").length && ($(".panel-default").next("a.btn.btn-primary").next("a.btn.btn-primary").find(".fa.fa-arrow-left").removeClass("fa-arrow-left").addClass("fa-arrow-circle-left"), $(".panel-default").next("a.btn.btn-primary").find(".fa.fa-arrow-left").removeClass("fa-arrow-left").addClass("fa-arrow-circle-o-left")), v___location_path == v___location_prefix + "/init/reboot.cgi" && $("input.btn-success").removeClass("btn-success").addClass("btn-warning"), v___location_path == v___location_prefix + "/init/shutdown.cgi" && $("input.btn-success").removeClass("btn-success").addClass("btn-danger"), v___available_navigation || page_display(), $(".dataTable .ui_checked_checkbox").parent("tr").parent("tbody").prev("thead").find("th:first-child").addClass("opacity-0 pointer-events-none"), $("table tr.thead td").addClass("tdhead"), (Core.curModuleFile("virtual-server", "edit_newchroot.cgi") || Core.curModuleFile("virtual-server", "edit_newglobal.cgi") || Core.curModuleFile("virtual-server", "edit_newshells.cgi") || Core.curModuleFile("virtual-server", "edit_newfields.cgi") || Core.curModuleFile("server-manager", "edit_docker.cgi") || Core.curModuleFile("server-manager", "edit_vserver.cgi") || Core.curModuleFile("server-manager", "edit_zone.cgi") || Core.curModuleFile("server-manager", "edit_openvz.cgi") || Core.curModuleFile("server-manager", "list_locations.cgi") || Core.curModuleFile("server-manager", "edit_lxc.cgi") || Core.curModuleFile("server-manager", "list_ips.cgi") || $('body[class*="bind8"]').length && v___location_file || $('body[class*="status"]').length && "edit_mon.cgi" == v___location_file || $('body[class*="custom"]').length && "edit_sql.cgi" == v___location_file || $('body[class*="custom"]').length && "edit_cmd.cgi" == v___location_file || $('body[class*="custom"]').length && "edit_file.cgi" == v___location_file) && $(".table").removeClass("table-hover"); + var k = $(".fa-toggle-switch-off").parent("button.btn-default"); + 1 === k.length && "1" == k.parent("td").find('input[type="radio"]:checked').val() && k.find(".fa-toggle-switch-off").addClass("fa-toggle-switch").removeClass("fa-toggle-switch-off"), k.parents("td").addClass("vertical-align-bottom"); + var C = $('form[action*="manual"] > select[name="file"], form[action*="manual.cgi"] > select[name="manual"], form[action*="edit_"] > select[name="file"]'); + C.length && (C.addClass("heighter-34"), $('form[action*="manual"], form[action*="edit_"]').css("margin-bottom", "2px")), Core.curModule("firewalld") && ($("select#zone").addClass("heighter-34"), $('form[action="save_ifaces.cgi"] button').addClass("heighter-28-force")), $('body[class*="proftpd"] .table-hardcoded tr td > input + input.btn.btn-default').removeClass("heighter-28").addClass("heighter-34").prev("input").addClass("heighter-34"), $('body[class*="proftpd"] form[action="find_ftpaccess.cgi"] > input:first-child').removeClass("heighter-34").addClass("heighter-28"), "edit_simple.cgi" == v___location_file && $('body[class*="spam"]').length && $("tr td").contents().filter(function() { + return 3 == this.nodeType + }).remove(), "edit_awl.cgi" == v___location_file && $('body[class*="spam"]').length && $('input[name="user"]').next("input").addBack().addClass("heighter-34"), Core.curModuleFile("usermin", "list_sessions.cgi") && $('.container-fluid #user, .container-fluid input[type="button"]').addClass("heighter-34"), (Core.curModuleFile("htaccess-htpasswd", "") || Core.curModuleFile("htaccess-htpasswd", "index.cgi")) && ($("#search, .file_chooser_button").addClass("heighter-34").css("margin-bottom", "-1px"), $("#search").css("margin-top", "0")), (Core.curModuleFile("mailboxes", "") || Core.curModuleFile("mailboxes", "index.cgi")) && $("#user, .file_chooser_button").addClass("heighter-34 vertical-align-middle").css("margin-bottom", "-1px"), Core.curModuleFile("mailboxes", "list_mail.cgi") && $("#mfolder1, #mfolder2").addClass("heighter-34").css("margin-bottom", "-1px").css("margin-top", "-1px"), Core.curModuleFile("quota", "list_users.cgi") && $("#user, #user + input").addClass("heighter-34"), Core.curModuleFile("quota", "list_groups.cgi") && $("#group, #group + input").addClass("heighter-34"), (Core.curModuleFile("apache", "htaccess.cgi") || Core.curModuleFile("virtualmin-registrar", "index.cgi") || Core.curModuleFile("virtualmin-registrar", "")) && $(".ui_form_end_submit").addClass("heighter-28-force"); + var O = $('form:not([action="save_log.cgi"]) .table-responsive .table .sub_table_container .table tbody tr td > select,\t\t\t\t\t\t\t form:not([action="save_log.cgi"], [action="save_net.cgi"]) .table-responsive .table .sub_table_container .table tbody tr td > input,\t\t\t\t\t\t\t form:not([action="save_user.cgi"], [action="save_group.cgi"]) .table td.opener_container td.col_value table tbody tr td > select,\t\t\t\t\t\t\t form:not([action="save_user.cgi"], [action="save_group.cgi"]) .table td.opener_container td.col_value table tbody tr td > input,\t\t\t\t\t\t\t form[action="save_newglobal.cgi"] > table tbody tr td input,\t\t\t\t\t\t\t form[action="save_newfields.cgi"] > table tbody tr td input,\t\t\t\t\t\t\t form[action="save_newfields.cgi"] > table tbody tr td select,\t\t\t\t\t\t\t form[action="save_newshells.cgi"] > table tbody tr td select,\t\t\t\t\t\t\t form[action="save_newshells.cgi"] > table tbody tr td input,\t\t\t\t\t\t\t form[action="save_linkcats.cgi"] > table tbody tr td input,\t\t\t\t\t\t\t form[action="save_gen.cgi"] > table tbody tr td input\t\t\t\t\t\t\t '); + $.each(O, function(e, t) { + $(this).parent().find("input[data-mmclick]").length || $(this).parent().find("button[data-mmclick]").length || $(this).parent().find('input[onclick*="window.open"]').length || $(this).parent().find('button[onclick*="window.open"]').length || ($(this).prev(".awobject").length ? $(this).css("width", "auto") : 1 == $(this).parent().find('input:not([type="checkbox"], [type="radio"]), select').length ? $(this).css("width", "100%").css("min-width", "100%") : 2 == $(this).parent().find('input:not([type="checkbox"], [type="radio"]), select').length && ($(this).parent().find("input, select").first().css("width", "39%"), $(this).parent().find("input, select").last().css("width", "60%").css("float", "right"))) + }), Core.curModuleFile("virtual-server", "edit_newstyles.cgi") ? $('a[onclick^="window.open(\\"thumb_style.cgi?"]').html('').addClass("btn btn-default btn-xxs margined-top--3") : Core.curModule("virtual-server") && $('a[onclick^="window.open(\\"thumb_style.cgi?"]').html('').addClass("btn btn-default heighter-28-force"); + var T = ' body button[onclick*="window.open"][onclick*="choose"][onclick*="chooser.cgi"]:not([onclick*="_chooser.cgi"]), body input[onclick*="window.open"][onclick*="choose"][onclick*="chooser.cgi"]:not([onclick*="_chooser.cgi"]), body button[onclick*="window.open"][onclick*="choose"][onclick*="standard_chooser.cgi"], body input[onclick*="window.open"][onclick*="choose"][onclick*="standard_chooser.cgi"], body button[onclick*="window.open"][onclick*="choose"][onclick*="third_chooser.cgi"], body input[onclick*="window.open"][onclick*="choose"][onclick*="third_chooser.cgi"], body button[onclick*="window.open"][onclick*="choose"][onclick*="user_chooser.cgi"], body input[onclick*="window.open"][onclick*="choose"][onclick*="user_chooser.cgi"], body button[onclick*="window.open"][onclick*="choose"][onclick*="group_chooser.cgi"], body input[onclick*="window.open"][onclick*="choose"][onclick*="group_chooser.cgi"], body button[onclick*="window.open"][onclick*="choose"][onclick*="my_group_chooser.cgi"], body input[onclick*="window.open"][onclick*="choose"][onclick*="my_group_chooser.cgi"], body button[onclick*="window.open"][onclick*="choose"][onclick*="module_chooser.cgi"], body input[onclick*="window.open"][onclick*="choose"][onclick*="module_chooser.cgi"] '; + if ($(T).length && $(T).each(function() { + $(this).attr("data-mmclick", $(this).attr("onclick")).removeAttr("onclick"), chooser_get_target($(this), 0).length && $(this).css("margin-left", "-8px") + }), (Core.curModuleFile("virtualmin-nginx", "") || Core.curModuleFile("virtualmin-awstats", "") || Core.curModuleFile("fdisk", "edit_disk.cgi") || Core.curModuleFile("virtual-server", "edit_newlinks.cgi") || Core.curModuleFile("virtualmin-dav", "list_shares.cgi") || v___location_directory_unslashed_trail_slashed == v___location_prefix_unslashed_trail_slashed + "pam/" && !v___location_file || v___location_directory_unslashed_trail_slashed == v___location_prefix_unslashed_trail_slashed + "syslog/" && !v___location_file || v___location_path == v___location_prefix + "/postfix/master.cgi") && setTimeout(function() { + var e = $('.panel-body > .ui_link, .panel-body > .ui_link_replaced,\t\t\t\t\t body[data-uri*="virtualmin-awstats"] .panel-body > form > .ui_link_replaced,\t\t\t\t\t body[data-uri*="edit_disk.cgi"] .panel-body p > a.ui_link_replaced,\t\t\t\t\t body[data-uri*="edit_newlinks.cgi"] .panel-body > form > .ui_link_replaced,\t\t\t\t\t body[data-uri*="edit_newlinks.cgi"] .panel-body > .ui_emptymsg + p > .ui_link_replaced'), + t = $.trim(e.first().text()), + i = e.first().attr("href"); + $("#headln2r .btn-group a").addClass("pull-left").attr("style", ""), $("#headln2r .btn-group").prepend('\t\t\t\t\t\t\t\t'), e.next("br").remove(), e.remove() + }, 0), v___theme_night_mode_enabled || v___theme_night_mode) { + if ($(".opener_shown").length > 0) { + var S = $(".opener_container, .opener_container:hidden").find(".ui_grid_table, .ui_grid_table:hidden"); + S.length && $.each(S, function(e, t) { + $(this).parent("td").attr("style", "padding: 0 !important") + }) + } + if ($(".opener_table_style_small").length > 0) { + var I = $(".opener_table_style_small, .opener_table_style_small:hidden").find(".sub_table_container.table-hardcoded, .sub_table_container.table-hardcoded:hidden"); + I.length && $.each(I, function(e, t) { + $(this).parent("td").attr("style", "padding: 0 !important"), $(this).find("tbody tr td").attr("style", "padding-left: 3px !important; padding-right: 3px !important") + }) + } + } + $('html[data-script-name*="webmin/edit_assignment.cgi"] table table tbody tr td, html[data-script-name*="usermin/edit_assignment.cgi"] table table tbody tr td').hover(function() { + $(this).is("td:nth-child(1)") || $(this).is("td:nth-child(3)") ? $(this).addClass("hl-ow").next("td").addClass("hl-ow") : ($(this).is("td:nth-child(2)") || $(this).is("td:nth-child(4)")) && $(this).addClass("hl-ow").prev("td").addClass("hl-ow") + }, function() { + $(this).removeClass("hl-ow").next("td").removeClass("hl-ow"), $(this).removeClass("hl-ow").prev("td").removeClass("hl-ow") + }), (Core.curModule("changepass") || Core.curModuleFile("server-manager", "edit_pass.cgi") || Core.curModuleFile("virtual-server", "list_databases.cgi") || Core.curModuleFile("acl", "edit_user.cgi") || Core.curModuleFile("virtual-server", "clone_form.cgi") || Core.curModuleFile("virtual-server", "edit_user.cgi") || Core.curModuleFile("virtual-server", "edit_domain.cgi") || Core.curModuleFile("virtual-server", "domain_form.cgi") || Core.curModuleFile("samba", "edit_euser.cgi") || Core.curModuleFile("samba", "ask_epass.cgi") || Core.curModuleFileQuery("virtualmin-registrar", "edit.cgi", "registrar=") || Core.curModuleFileQuery("htaccess-htpasswd", "edit_user.cgi", "new=") || Core.curModuleFileQuery("postgresql", "edit_user.cgi", "new=") || Core.curModuleFileQuery("mysql", "edit_user.cgi", "new=") || Core.curModuleFile("useradmin", "edit_group.cgi") || Core.curModuleFile("useradmin", "edit_user.cgi") || Core.curModuleFileQuery("passwd", "edit_passwd.cgi", "user=")) && setTimeout(function() { + $("#headln2r .btn-group a").addClass("pull-left").attr("style", ""), $("#headln2r .btn-group").prepend('\t\t\t\t\t\t\t\t') + }, 0), 0 == v___user_level && 1 == Core.moduleAvailable("status") || (settings_side_slider_enabled = !1, settings_side_slider_enabled = !1, get_server_data("data-slider-fixed", "0"), $("#right-side-tabs, .right-side-tabs-toggler").addClass("hidden")), Core.curModuleFile("bind8", "edit_zonekey.cgi") && g__text_breaker($("textarea#ds"), $("#headln2c").find("span[data-sub_title]").text()), Core.curModuleFile("virtual-server", "edit_script.cgi") && $('select[name="version"]').addClass("heighter-34 margined-top-4"), Core.curModuleFile("virtual-server", "transfer_form.cgi") && $('input[name="newttl"]').addClass("heighter-34"), g__line_breaker(Core.curModuleFile("firewall", "") || Core.curModuleFile("firewall", "index.cgi"), $(".ui_checked_columns td label b"), ","), $.each($(".gl-icon-container"), function(e, t) { + $(this).find("a:first").find("i.fa-edit").length || ($(this).find("a:first").prepend(''), $(this).find("a:first").prepend('')) + }), Core.curModuleFile("virtual-server", "index.cgi") && $('a[href*="edit_domain.cgi"], a[href*="list_users.cgi"], a[href*="list_aliases.cgi"]').on("click", function(e) { + var t = URI.parseQuery(URI($(this).attr("href")).query()).dom; + t != $('select[name="dom"]').val() && get_navigation_menu_virtualmin(t) + }), Core.curModuleFile("server-manager", "index.cgi") && $('a[href*="edit_serv.cgi"], a[href*="mass_update_form.cgi"]').on("click", function(e) { + var t = URI.parseQuery(URI($(this).attr("href")).query()).id; + t != $('select[name="sid"]').val() && get_navigation_menu_cloudmin(t) + }), Core.curModuleFile("webmin", "refresh_modules.cgi") && navigation_update(-1), v___location_path == v___location_prefix + "/proc/index_search.cgi" && $(".col_header").removeClass("col_header"), 1 == get_server_data("notice") && (v___theme_updated = 1), $('input[type="file"]').bootstrapFileInput(), setTimeout(function() { + $.each($(".file-input-wrapper > span"), function() { + $(this).html('') + }) + }, 1) + } + if (editor_init_check() && editor_init($("textarea"), !1, !1, "static", !1, !0, !1, e), viewer_init_check() && viewer_init(), settings_sysinfo_easypie_charts && v___location_path == v___location_prefix + "/sysinfo.cgi") { + var M = v___theme_night_mode_enabled || v___theme_night_mode ? 1 : 0; + $("body").find("#system-status").find(".piechart").easyPieChart({ + barColor: function(e) { + return e < 50 ? M ? "#269373" : "#5cb85c" : e < 85 ? M ? "#c38d40" : "#f0ad4e" : "#cb3935" + }, + trackColor: M ? "#3b424b" : "#f8f8f8", + scaleColor: M ? "#3b424b" : "#dfe0e0", + size: settings_sysinfo_easypie_charts_size, + scaleLength: settings_sysinfo_easypie_charts_scale, + trackWidth: settings_sysinfo_easypie_charts_width, + lineWidth: 0, + lineCap: "square", + onStep: function(e, t, i) { + $(this.el).find(".percent").text(Math.round(i)) + } + }) + } + if (((-1 === v___location_path.indexOf(".cgi") || -1 !== v___location_path.indexOf("link.cgi") || v___location_path == v___location_prefix + "/proc/open_files.cgi" || v___location_path == v___location_prefix + "/webmin/edit_webmincron.cgi" || v___location_path == v___location_prefix + "/postfix/mailq.cgi" || v___location_path == v___location_prefix + "/webmin_search.cgi" || v___location_path == v___location_prefix + "/useradmin/index.cgi" || v___location_path == v___location_prefix + "/quota/list_users.cgi" || v___location_path == v___location_prefix + "/quota/list_groups.cgi" || v___location_path == v___location_prefix + "/init/index.cgi") && (v___location_directory_unslashed_trail_slashed == v___location_prefix_unslashed_trail_slashed + "webmin/" && -1 === v___location_prefix.indexOf("servers/link.cgi") || v___location_directory_unslashed_trail_slashed == v___location_prefix_unslashed_trail_slashed + "proc/" || v___location_path_lead_unslashed == v___location_prefix_unslashed_trail_slashed + "webmin_search.cgi" || v___location_directory_unslashed_trail_slashed == v___location_prefix_unslashed_trail_slashed + "postfix/" || v___location_directory_unslashed_trail_slashed == v___location_prefix_unslashed_trail_slashed + "virtual-server/" || v___location_directory_unslashed_trail_slashed == v___location_prefix_unslashed_trail_slashed + "init/" || v___location_directory_unslashed_trail_slashed == v___location_prefix_unslashed_trail_slashed + "mount/" || v___location_directory_unslashed_trail_slashed == v___location_prefix_unslashed_trail_slashed + "custom/" || v___location_directory_unslashed_trail_slashed == v___location_prefix_unslashed_trail_slashed + "quota/" || v___location_directory_unslashed_trail_slashed == v___location_prefix_unslashed_trail_slashed + "php-pear/" || v___location_directory_unslashed_trail_slashed == v___location_prefix_unslashed_trail_slashed + "fsdump/" || v___location_directory_unslashed_trail_slashed == v___location_prefix_unslashed_trail_slashed + "inittab/" || v___location_directory_unslashed_trail_slashed == v___location_prefix_unslashed_trail_slashed + "logrotate/" || v___location_directory_unslashed_trail_slashed == v___location_prefix_unslashed_trail_slashed + "mailcap/" || v___location_directory_unslashed_trail_slashed == v___location_prefix_unslashed_trail_slashed + "cron/" || v___location_directory_unslashed_trail_slashed == v___location_prefix_unslashed_trail_slashed + "software/" || v___location_directory_unslashed_trail_slashed == v___location_prefix_unslashed_trail_slashed + "syslog/" || v___location_directory_unslashed_trail_slashed == v___location_prefix_unslashed_trail_slashed + "useradmin/" || v___location_directory_unslashed_trail_slashed == v___location_prefix_unslashed_trail_slashed + "apache/" || v___location_directory_unslashed_trail_slashed == v___location_prefix_unslashed_trail_slashed + "webalizer/" || v___location_directory_unslashed_trail_slashed == v___location_prefix_unslashed_trail_slashed + "cpan/" || v___location_directory_unslashed_trail_slashed == v___location_prefix_unslashed_trail_slashed + "htaccess-htpasswd/" || v___location_directory_unslashed_trail_slashed == v___location_prefix_unslashed_trail_slashed + "fdisk/") || Core.curModuleFile("cron", "index.cgi") || Core.curModuleFile("ruby-gems", "index.cgi") || Core.curModuleFile("postfix", "master.cgi") || Core.curModuleFile("fail2ban", "list_filters.cgi") || Core.curModuleFile("fail2ban", "list_actions.cgi") || Core.curModuleFile("fail2ban", "list_jails.cgi") || Core.curModuleFile("virtual-server", "list_databases.cgi") || Core.curModuleFile("virtual-server", "connectivity.cgi") || Core.curModuleFile("virtualmin-git", "index.cgi") || Core.curModuleFile("net", "list_ifcs.cgi") || Core.curModuleFile("net", "list_hosts.cgi") || v___location_path == v___location_prefix + "/useradmin/list_logins.cgi" || v___location_path == v___location_prefix + "/man/search.cgi" || v___location_path == v___location_prefix + "/proc/index_tree.cgi" || v___location_path == v___location_prefix + "/proc/index_user.cgi" || v___location_path == v___location_prefix + "/proc/index_size.cgi" || v___location_path == v___location_prefix + "/proc/index_cpu.cgi" || v___location_path == v___location_prefix + "/proc/index_search.cgi" || v___location_path == v___location_prefix + "/software/search.cgi" || v___location_path == v___location_prefix + "/software/file_info.cgi" || v___location_path == v___location_prefix + "/software/list_pack.cgi" || v___location_path == v___location_prefix + "/virtual-server/index.cgi" || v___location_path == v___location_prefix + "/virtual-server/list_users.cgi" || v___location_path == v___location_prefix + "/virtual-server/edit_newplan.cgi" || v___location_path == v___location_prefix + "/virtual-server/edit_newfeatures.cgi" || v___location_path == v___location_prefix + "/virtual-server/edit_newtmpl.cgi" || v___location_path == v___location_prefix + "/virtual-server/backuplog.cgi" || v___location_path == v___location_prefix + "/package-updates/" || v___location_path == v___location_prefix + "/package-updates/index.cgi" || v___location_path == v___location_prefix + "/virtual-server/usage.cgi" || v___location_path == v___location_prefix + "/virtual-server/search.cgi" || (v___location_path == v___location_prefix + "/fetchmail/" || v___location_path == v___location_prefix + "/filter/") && $t_uri_usermin) && $(".__page table.table").each(function() { + if ($(this).find("thead") && $(this).find("thead").length && $(this).find("thead tr th") && $(this).find("thead tr th").length > 2) { + if ($(this).find("thead") && $(this).find("thead").length > 1) { + var e = $(this).find("thead:first-child"); + e.remove(), !$t_uri_webmin || v___location_path != v___location_prefix + "/quota/list_users.cgi" && v___location_path != v___location_prefix + "/quota/list_groups.cgi" || ($(this).before(e), $(this).prev("thead").replaceTagName("table")) + } + table_data_init($(this)), $(this).find("th").each(function() { + $(this).text() || $(this).css("opacity", "0").css("cursor", "default") + }); + var t = -1 / 0; + if ($(this).find("tr").each(function(e, i) { + t = Math.max(t, parseFloat(e)) + }), t < 10 && $(this).parents(".dataTables_wrapper").find(".dataTables_filter").remove(), ($(this).parents(".dataTables_wrapper").find(".dataTables_filter").length ? 1 : 0) && ($('body[class="init"]').length || $('body[class^="init"]').length && null != $('body[class^="init"]').attr("class").match(/\d+$/) || $('body[class="quota"]').length || $('body[class^="quota"]').length && null != $('body[class^="quota"]').attr("class").match(/\d+$/) || $('body[class="cron"]').length || $('body[class^="cron"]').length && null != $('body[class^="cron"]').attr("class").match(/\d+$/))) { + var i = -15, + a = $(this).parents(".dataTables_wrapper").attr("style"); + $('body[class^="quota"]').length && (i = -27), $(this).parents(".dataTables_wrapper").attr("style", "margin-top: " + i + "px !important; " + (a || "")) + } + } + }).promise().done(function() { + table_data_filter() + }), $(".select_all").on("click", function() { + $(this).parents("form").find('.icons-row div[class*="icons-container"]').length && $.each($(".icons-row .hidden-forged-6"), function() { + $(this).parents('div[class*="icons-container"]').addClass("highlighted"), $(this).parents('div[class*="icons-container"]').find(".fa-select").removeClass("fa-select").addClass("fa-selected") + }) + }), $(".select_invert").on("click", function() { + $.each($(".icons-row .hidden-forged-6"), function() { + $(this).find("input").is(":checked") ? ($(this).parents('div[class*="icons-container"]').addClass("highlighted"), $(this).parents('div[class*="icons-container"]').find(".fa-select, .fa-selected").removeClass("fa-select").addClass("fa-selected")) : ($(this).parents('div[class*="icons-container"]').removeClass("highlighted"), $(this).parents('div[class*="icons-container"]').find(".fa-select, .fa-selected").removeClass("fa-selected").addClass("fa-select")) + }) + }), $('.icons-row div[class*="icons-container"]').on("mouseover", function(e) { + $(this).find(".hidden-forged-7").removeClass("hidden-forged") + }).on("mouseout", function(e) { + $(this).find(".hidden-forged-7").addClass("hidden-forged") + }), "?dashboard" != v___location.search && 1 == navigation_dashboard_switch_available() && ("sysinfo.cgi" == v___location_file ? (set_switch_position("dashboard"), navigation_clear()) : $("#open_webmin").length > 0 && "open_webmin" != $(".switch-toggle input:checked").attr("id") ? set_switch_position("webmin") : $("#open_virtualmin").length > 0 && "open_virtualmin" != $(".switch-toggle input:checked").attr("id") ? set_switch_position("virtualmin") : $("#open_cloudmin").length > 0 && "open_cloudmin" != $(".switch-toggle input:checked").attr("id") ? set_switch_position("cloudmin") : $("#open_usermin").length > 0 && "open_usermin" != $(".switch-toggle input:checked").attr("id") && set_switch_position("usermin")), $('form[action="bootup.cgi"]').on("submit", function(e) { + $("#starting").length > 0 ? ($("#starting").remove(), $(this).append('')) : $("#table").length > 0 ? $(this).append('') : $('input[name="boot"][type="hidden"]').length > 0 && ($('input[name="boot"][type="hidden"]').remove(), $(this).append('')) + }), $('input[name="config_portable_module_xsql_fit_content_screen_height"]').on("change", function() { + var e = $(this).attr("name"), + t = $(this).val(); + localStorage.setItem(v___server_hostname + "-" + e, t), window[e] = t, theme_config("save") + }), v___location_path != v___location_prefix + "/virtual-server/domain_form.cgi" && v___location_path != v___location_prefix + "/virtual-server/edit_domain.cgi" && v___location_path != v___location_prefix + "/virtual-server/edit_user.cgi" && v___location_path != v___location_prefix + "/virtual-server/edit_alias.cgi" && v___location_path != v___location_prefix + "/virtual-server/edit_limits.cgi" || $("input, select").on("blur", function() { + !__is_tabbed || $(this).next("input:visible").length || $(this).prev("input:visible").length || $(this).next("select:visible").length || $(this).prev("select:visible").length || (__is_shifted ? $(this).parent("td").parent("tr").prev("tr").find("select:visible").length || $(this).parent("td").parent("tr").prev("script").prev("tr").find("select:visible").length || $(this).parent("td").parent("tr").prev("script").prev("script").prev("tr").find("select:visible").length ? ($(this).parent("td").parent("tr").prev("tr").find("select:first:visible").focus(), $(this).parent("td").parent("tr").prev("script").prev("tr").find("select:first:visible").focus(), $(this).parent("td").parent("tr").prev("script").prev("script").prev("tr").find("select:first:visible").focus()) : ($(this).parent("td").parent("tr").prev("tr").find('input[type="text"]:first:visible, input[type="password"]:first:visible').focus(), $(this).parent("td").parent("tr").prev("script").prev("tr").find('input[type="text"]:first:visible, input[type="password"]:first:visible').focus(), $(this).parent("td").parent("tr").prev("script").prev("script").prev("tr").find('input[type="text"]:first:visible, input[type="password"]:first:visible').focus()) : $(this).parent("td").parent("tr").next("tr").find('input[type="text"]:first:visible, input[type="password"]:first:visible').length || $(this).parent("td").parent("tr").next("script").next("tr").find('input[type="text"]:first:visible, input[type="password"]:first:visible').length || $(this).parent("td").parent("tr").next("script").next("script").next("tr").find('input[type="text"]:first:visible, input[type="password"]:first:visible').length ? ($(this).parent("td").parent("tr").next("tr").find('input[type="text"]:first:visible, input[type="password"]:first:visible').focus(), $(this).parent("td").parent("tr").next("script").next("tr").find('input[type="text"]:first:visible, input[type="password"]:first:visible').focus(), $(this).parent("td").parent("tr").next("script").next("script").next("tr").find('input[type="text"]:first:visible, input[type="password"]:first:visible').focus()) : ($(this).parent("td").parent("tr").next("tr").find("select:first:visible").focus(), $(this).parent("td").parent("tr").next("script").next("tr").find("select:first:visible").focus(), $(this).parent("td").parent("tr").next("script").next("script").next("tr").find("select:first:visible").focus())) + }), $('.ui_form_end_submit[onclick^="window.open"]').click(function() { + var e = $(this); + setTimeout(function() { + e.removeClass("disabled"), navigation_render_end() + }, 100) + }), v___location_path && v___location_path.indexOf("/sysinfo.cgi") > -1 && ($("body").undelegate(".piechart canvas", "mouseover mouseleave"), $("body").on("mouseover", ".piechart canvas", function() { + var e = $(this).parent("span").attr("data-charts").split("_")[1]; + ("cpu" != e && "mem" != e && "virt" != e || Core.moduleAvailable("proc")) && ("disk" != e || Core.moduleAvailable("disk-usage") || Core.moduleAvailable("quota")) && ($(this).addClass("cursor-alias"), $(this).prev("span").prepend(' ')) + }).on("mouseleave", ".piechart canvas", function() { + $(this).prev("span").find("i").remove() + }), $("body").undelegate("canvas", "click"), $("body").on("click", "canvas", function(e) { + e.preventDefault(); + var t, i = $(this).parent("span").attr("data-charts").split("_")[1]; + "cpu" == i && Core.moduleAvailable("proc") ? t = v___location_prefix + "/proc/index_cpu.cgi" : "mem" != i && "virt" != i || !Core.moduleAvailable("proc") ? "disk" == i && Core.moduleAvailable("disk-usage") ? t = v___location_prefix + "/disk-usage" : "disk" == i && Core.moduleAvailable("quota") && (t = v___location_prefix + "/quota/list_users.cgi?dir=%2F") : t = v___location_prefix + "/proc/index_size.cgi", t.length && get_pjax_content(t) + })), $t_uri_virtualmin && Core.curModuleFileQuery("syslog", "save_log.cgi", "view=1") && ($('select[name="idx"] option').filter(function() { + return this.text == $.trim($("span[data-sub_title] tt").text()) + }).attr("selected", !0), $('select[name="idx"]').addClass("hidden")), Core.curModuleFileQuery("syslog", "save_log.cgi", "view=1")) { + var m = ".panel-body .fa-refresh-fi", + j = localStorage.getItem(v___server_hostname + "-option_" + v___module + "_refresh"), + q = m + ", .panel-body .refresh-timer-timeout", + F = '' + (j || "0") + " "; + $.each($(m + ":not([data-processed])").parent("button"), function(e, t) { + if ($(this).find("i").attr("data-processed", 1), $(this).wrap('
    '), $(this).after('"), j && "0" != j) { + var i = $(q); + $(this).find("i").before(F), $(this).find("i").remove(); + var a = j; + "number" == typeof refreshTimer && clearInterval(refreshTimer), refreshTimer = setInterval(function() { + --a, $(".refresh-timer-timeout").text(a), a <= 0 && ($(i[0]).parent().trigger("click"), clearInterval(refreshTimer)) + }, 1e3) + } + }).promise().done(function() { + $(".refresh-timer-select li").click(function() { + "number" == typeof refreshTimer && clearInterval(refreshTimer); + var e = '' + (j || "0") + " "; + localStorage.setItem(v___server_hostname + "-option_" + v___module + "_refresh", $(this).find("a").data("timeout")), j = localStorage.getItem(v___server_hostname + "-option_" + v___module + "_refresh"); + var t = $(q).parent(); + if (j && "0" != j) { + t.find(".refresh-timer-timeout").length || t.prepend(e), t.find(".refresh-timer-timeout").html(j + " "), $(".fa-refresh-fi").remove(); + var i = j; + refreshTimer = setInterval(function() { + if (--i, $(".refresh-timer-timeout").text(i), i <= 0) { + var e = $(q); + $(e[0]).parent().trigger("click"), clearInterval(refreshTimer) + } + }, 1e3) + } else $(".refresh-timer-timeout").remove(), !t.find(".fa-refresh-fi").length && t.prepend('') + }) + }) + } + Core.curModuleFile("virtual-server", "summary_domain.cgi") && $(".__page #headln2l .btn-group, .__page .page_footer_submit").remove(), settings_side_slider_enabled && (Core.curModule("package-updates") && slider_mark_group_notifications_read("package_message"), Core.curModule("csf") && (slider_mark_group_notifications_read("csf_remote_version"), slider_mark_group_notifications_read("csf_title"))), $('#content [data-dcontainer="1"]').tooltip("destroy"), + // $('[data-dcontainer="1"] [data-toggle="tooltip"], [data-dcontainer="1"] [data-toggle="virtualmin-license"], [data-dcontainer="1"] .panel-body td a, [data-dcontainer="1"] .icons-container').tooltip('destroy'); + $('#content [data-dcontainer="1"]').tooltip({ + selector: '[data-toggle="tooltip"], [data-toggle="virtualmin-license"], .panel-body td a, .icons-container', + container: "body", + placement: "auto " + ($(".gl-icon-container").length ? "bottom" : "top"), + html: !0, + delay: { + show: 600, + hide: 30 + } + }), v___available_navigation && window.matchMedia("(max-width: 767px)").matches && (navigation_lock_width(), set_side_slider_visibility()), "undefined" != typeof v___user_level && 0 != v___user_level && (settings_right_virtualmin_default = "sysinfo.cgi", settings_right_cloudmin_default = "sysinfo.cgi"), $("body").hasClass("session_login") && setTimeout(function() { + page_display() + }, 200) +} + +function page_init() { + "undefined" == typeof v___initial_load && (v___initial_load = 1), "undefined" == typeof v___title_initial && (v___title_initial = get_server_data("title-initial")), "undefined" == typeof v___theme_updated && (v___theme_updated = 0), v___location = location, $__theme_name__ = "authentic", $__theme_navigation = "xnavigation=1", v___user_level = get_server_data("access-level"), v___shell_type = 0 == v___user_level ? "#" : "$", v___shell_processing = 0, v___debug = get_server_data("debug"), v___source_type = "debug" == v___debug ? "src" : "min", v___available_usermin = get_server_data("usermin"), "undefined" == typeof v___available_navigation && (v___available_navigation = get_server_data("navigation")), v___available_session = get_server_data("session"), v___blocked_navigation = $(document.activeElement).is("li.has-sub, a[data-has-sub-link]") ? 1 : 0, v___server_username = get_server_data("user"), v___server_userhome = get_server_data("user-home"), v___module = get_server_data("module"), v___script_name = get_server_data("script-name").replace(/^\//g, ""), v___module_file_manager = "file" + (Core.moduleAvailable("file-manager") ? "-manager" : "min"), v___server_hostname = get_server_data("hostname"), v___server_sestatus = get_server_data("sestatus"), v___theme_version = get_server_data("theme-version").toString(), v___theme_version_git = get_server_data("theme-git-version").toString(), v___theme_version_plain = v___theme_version.replace(".", ""), v___theme_force_buffered = 0, v___theme_night_mode = "1" == get_server_data("data-night-mode") ? 1 : 0, v___theme_night_mode_enabled = "undefined" != typeof settings_background_color && "nightRider" === settings_background_color ? 1 : v___theme_night_mode, o___gotten_scripts = "undefined" == typeof o___gotten_scripts ? [] : o___gotten_scripts, v___URI = URI(v___location), v___location_protocol = v___URI.protocol(), v___location_port = v___URI.port(), v___location_origin = v___URI.origin(), v___location_hostname = v___URI.hostname(), v___location_href = v___location.href, v___location_path = v___URI.path().replace(/\/+/g, "/"), v___location_path_unslashed = v___location_path.replace(/^\//g, "").replace(/\/$/g, ""), v___location_path_lead_unslashed = v___location_path.replace(/^\//g, ""), v___location_file = v___URI.filename(), v___location_directory = v___URI.directory(), v___location_directory_trail_slashed = v___location_directory ? v___location_directory.endsWith("/") ? v___location_directory : v___location_directory + "/" : "/", v___location_directory_unslashed = v___location_directory.replace(/^\//g, "").replace(/\/$/g, ""), v___location_directory_unslashed_trail_slashed = v___location_directory_unslashed + "/", v___location_query = v___URI.query().replace("?" + $__theme_navigation, "").replace("&" + $__theme_navigation, ""), v___location_resource = v___URI.resource().replace("?" + $__theme_navigation, "").replace("&" + $__theme_navigation, ""), v___location_resource_unslashed = v___location_resource.replace(/^\//g, "").replace(/\/$/g, ""), v___location_prefix = get_server_data("webprefix"), v___location_prefix_unslashed_trail_slashed = v___location_prefix.replace(/^\//g, "").replace(/\/$/g, "") + "/", "/" === v___location_prefix_unslashed_trail_slashed && (v___location_prefix_unslashed_trail_slashed = ""), v___server_extensions_path = v___location_prefix + "/extensions", + // $t___license_vm = get_server_data("virtual-server-license"), + // $t___license_cm = get_server_data("server-manager-license"), + update_navigation_module_name() +} + +function editor_init_check() { + return 1 === $("textarea").length && ("data" === $("textarea").attr("name") || "text" === $("textarea").attr("name") || "conf" === $("textarea").attr("name") || "script" === $("textarea").attr("name") || v___location_file.indexOf("manual") > -1) ? Core.curModule("gnupg") || Core.curModuleFile("virtual-server", "mass_ucreate_form.cgi") || Core.curModuleFile("virtual-server", "mass_create_form.cgi") || Core.curModuleFile("server-manager", "edit_pubkey.cgi") || Core.curModuleFile("server-manager", "edit_key.cgi") || check_location_resource("/config.cgi?server-manager") || Core.curModuleFile("useradmin", "batch_form.cgi") || Core.curModuleFile("useradmin", "gbatch_form.cgi") || "mass_form.cgi" == v___location_file || "notes" === $("textarea").attr("id") ? 0 : 1 : 0 +} + +function editor_init(e, t, i, a, n, s, _, r) { + (_ = void 0 !== _ && 0 != _) || (n = void 0 !== n && 0 != n, s = void 0 !== s && 0 != s, $.each(e, function(_, o) { + $(this); + var l = ["phpini", "bind8"]; + $("#headln2l a").attr("href") ? $page = $("#headln2l a").attr("href").split("/")[1] : $page = null, l.indexOf($page) >= 0 && $(this).data("name", "data"), CodeMirror.modeURL = v___location_prefix + "/unauthenticated/js/codemirror/mode/%N/%N.js"; + var c = null, + d = "text/plain", + h = !1; + v___location_path == v___location_prefix + "/custom/view.cgi" ? h = $('form[action="save.cgi"]').find(".table-title").find("tt").text() : $('body[class^="' + v___module_file_manager + '"]').length ? (h = t.replace(/<(?:.|\n)*?>/gm, "").replace(/ *\([^)]*\) */g, ""), t = h) : h = $('select[name="file"]').val(); + var p, f = t || h; + if (p = /.+\.([^.]+)$/.exec(f))(g = CodeMirror.findModeByExtension(p[1])) && (c = g.mode, d = g.mime); + else if (/\//.test(f)) { + var g = CodeMirror.findModeByMIME(f); + g && (c = g.mode, d = f) + } else c = null, d = "text/plain"; + if ("apache" == $page || "postfix" == $page || "dovecot" == $page || "spam" == $page || "virtualmin-nginx" == $page || "sendmail" == $page || "samba" == $page || "proftpd" == $page || "fail2ban" == $page || "sshd" == $page || "squid" == $page || "ldap-server" == $page ? (c = "rpm", d = "rpm-spec") : "phpini" == $page ? (c = "z80", d = "text/x-z80") : "bind8" == $page || "procmail" == $page || Core.curModuleFile("virtual-server", "manual_records.cgi") ? (c = "clike", d = "text/x-java") : "virtual-server" == $page && "body" == $(this).attr("name") && (c = "htmlmixed", d = "text/html"), $current_file = v___location_path.replace(/^\//g, ""), $current_file && ($current_file = $current_file.split("/")[1]), editor_init_check() || $(".jsPanel").length || n) { + CodeMirror.commands.autocomplete = function(e) { + e.showHint({ + hint: CodeMirror.hint.anyword + }) + }, window["__cm_editor_" + a] = CodeMirror.fromTextArea(o, { + tabMode: "indent", + matchBrackets: !0, + lineNumbers: !0, + keyMap: "sublime", + highlightSelectionMatches: { + showToken: /\w/, + annotateScrollbar: !0 + }, + lineWrapping: !0, + indentUnit: 0, + autofocus: !0, + foldGutter: !0, + gutters: ["CodeMirror-linenumbers", "CodeMirror-foldgutter"], + extraKeys: { + "Ctrl-Space": "autocomplete" + }, + styleActiveLine: !0, + theme: v___theme_night_mode ? "monokai" : settings_cm_editor_palette + }), window["__cm_editor_" + a].setOption("mode", d), "rpm" != c && CodeMirror.autoLoadMode(window["__cm_editor_" + a], c), setTimeout(function() { + $("body").find(".jsPanel").length || $(".CodeMirror").before(''); + var e = $(".fa.fa-question-circle.__helper, .__helper___"); + e.popover({ + container: "body", + placement: "auto left", + title: '' + theme_language("theme_xhred_editor_help_title"), + content: theme_language("theme_xhred_editor_help_content"), + trigger: "click", + html: !0 + }), e.on("inserted.bs.popover", function() { + $("body").find(".theme_xhred_editor_help").parents(".popover").addClass("_helper") + }) + }, 100), s && window["__cm_editor_" + a].on("change", function(e, t) { + set_onbeforeunload_status(1, 0) + }); + var u = $(".container-fluid > .panel > .panel-body").attr("data-cm-line"), + m = $(".container-fluid > .panel > .panel-body").attr("data-cm-state"); + r && u && __cm_editor_static.setCursor(parseInt(u.split(",")[0]), parseInt(u.split(",")[1])), "edit_cron.cgi" != $current_file && v___location_path != v___location_prefix + "/virtualmin-password-recovery/" && v___location_path != v___location_prefix + "/bind8/forward_form.cgi" && ($resize = i || 2.8, i ? (window["__cm_editor_" + a].on("change", function(t, i) { + e.val(window["__cm_editor_" + a].getValue()), $(":focus").parents(".jsPanel").is(".jsPanel") && ($(":focus").parents(".jsPanel").find("._filemanager_file_editor_save").addClass("text-danger __locked__"), $(":focus").parents(".jsPanel").find("select[data-encoding]").addClass("pointer-events-none")) + }), window["__cm_editor_" + a].setSize($resize[0], $resize[1])) : ($window_height = $(window).outerHeight() - $(window).outerHeight() / $resize, window["__cm_editor_" + a].setSize(null, $window_height), $(window).resize(function() { + $window_height = $(window).outerHeight() - $(window).outerHeight() / $resize, window["__cm_editor_" + a].setSize(null, $window_height) + }))), $(".sub_table_container").find(".CodeMirror").length && ($(".sub_table_container").addClass("xcontent-force-no-styling"), $(".panel-body").addClass("xqcontent-forced")), editor_background_save(r && !!u && "true" == m) + } + })) +} + +function viewer_init_check() { + return $('body[class^="syslog"]').length && v___location_query && v___location_query.indexOf("view=1") > -1 ? 1 : 0 +} + +function viewer_init() { + if ($("pre[data-cm-viewer]").remove(), !$(".panel-body pre").find("i").length) { + var e = !1; + $(".panel-body pre").each(function(t, i) { + var a = $(this), + n = Convert.htmlStrip(a.html()); + a.addClass("hidden"), a.after("
    "), $target = $("pre[data-cm-viewer-id-" + (t + 1) + "]"), e = CodeMirror($target[0], {
    +                value: n,
    +                lineNumbers: !1,
    +                mode: null,
    +                theme: v___theme_night_mode ? "monokai" : settings_cm_editor_palette,
    +                readOnly: !0
    +            })
    +        }).promise().done(function() {})
    +    }
    +}
    +
    +function notifications(e, t, i) {
    +    if (settings_side_slider_enabled && settings_side_slider_notifications_enabled) {
    +        var e = Convert.htmlUnEscape($.trim(e.replace(/(<([^>]+)>)/gi, ""))).replace(/\s+/g, " "),
    +            t = Convert.htmlUnEscape($.trim(t.replace(/(<([^>]+)>)/gi, ""))).replace(/\s+/g, " ");
    +        "granted" === Notification.permission ? new Notification(e, {
    +            body: t,
    +            icon: v___location_prefix + "/images/notifications_" + i + ".png"
    +        }).onclick = function() {
    +            window.focus()
    +        } : "denied" !== Notification.permission && Notification.requestPermission(function(a) {
    +            "granted" === a && (new Notification(e, {
    +                body: t,
    +                icon: v___location_prefix + "/images/notifications_" + i + ".png"
    +            }).onclick = function() {
    +                window.focus()
    +            })
    +        })
    +    }
    +}
    +
    +function session_check(e) {
    +    e && ("auth-required=1" === e.getResponseHeader("Auth-type") || e.responseText && e.responseText.indexOf("reset-fonts-grids-base") > -1 && e.responseText.indexOf("window.top.location = window.location;") > -1) && (v___available_session = 0, window.location.href = location.origin + v___location_prefix)
    +}
    +
    +function unbuffered_header_processor_allow(e) {
    +    var t = URI(v___location).path();
    +    return void 0 !== e && (t = e), t && Test.strContains(t, ".cgi") && (Test.strContains(t, "webmin/install_theme.cgi") || Test.strContains(t, "usermin/install_theme.cgi") || t.indexOf("/virtual-server/import.cgi") > -1 || t.indexOf("/virtual-server/edit_newlinks.cgi") > -1 || t.indexOf("/virtual-server/postsave.cgi") > -1 || t.indexOf("/virtual-server/validate.cgi") > -1 || t.indexOf("/server-manager/edit_serv.cgi") > -1 || t.indexOf("/server-manager/save_serv.cgi") > -1 || t.indexOf("/server-manager/index.cgi") > -1 || t.indexOf("/server-manager/list_ifaces.cgi") > -1 || t.indexOf("/server-manager/mass_update.cgi") > -1 || t.indexOf("/server-manager/get_images.cgi") > -1 || t.indexOf("/server-manager/edit_newlinks.cgi") > -1 || t.indexOf("/server-manager/list_gces.cgi") > -1 || t.indexOf("/server-manager/list_ec2s.cgi") > -1 || t.indexOf("/server-manager/unpause.cgi") > -1 || t.indexOf("/server-manager/find.cgi") > -1 || t.indexOf("useradmin/batch_exec.cgi") > -1 || t.indexOf("useradmin/gbatch_exec.cgi") > -1 || t.indexOf("useradmin/mass_delete_user.cgi") > -1 || t.indexOf("virtual-server/domain_setup.cgi") > -1 || t.indexOf("virtual-server/upgrade.cgi") > -1 || t.indexOf("virtual-server/mass_create.cgi") > -1 || t.indexOf("virtual-server/restore.cgi") > -1 || t.indexOf("virtual-server/save_newip.cgi") > -1 || t.indexOf("virtual-server/mass_domains_change.cgi") > -1 || t.indexOf("virtual-server/save_domain.cgi") > -1 && !Test.strContains(v___location_query, "save=") || t.indexOf("virtual-server/backup.cgi") > -1 || t.indexOf("virtual-server/save_phpmode.cgi") > -1 || t.indexOf("virtual-server/script_install.cgi") > -1 || t.indexOf("virtual-server/mass_change.cgi") > -1 || t.indexOf("virtual-server/save_ratelimit.cgi") > -1 || t.indexOf("virtual-server/mass_scripts.cgi") > -1 || t.indexOf("virtual-server/mass_upgrade.cgi") > -1 || t.indexOf("virtual-server/save_newips.cgi") > -1 || t.indexOf("virtual-server/letsencrypt.cgi") > -1 || t.indexOf("virtual-server/migrate.cgi") > -1 || t.indexOf("virtual-server/save_mail.cgi") > -1 || t.indexOf("virtual-server/mass_delete_domains.cgi") > -1 || t.indexOf("virtual-server/delete_domain.cgi") > -1 || t.indexOf("virtual-server/unscript_install.cgi") > -1 || t.indexOf("virtual-server/mass_uninstall.cgi") > -1 || t.indexOf("virtual-server/clone.cgi") > -1 || t.indexOf("virtual-server/fix_symlinks.cgi") > -1 || t.indexOf("virtual-server/disable_domain.cgi") > -1 || t.indexOf("virtual-server/delete_databases.cgi") > -1 || t.indexOf("virtual-server/move.cgi") > -1 || t.indexOf("virtual-server/enable_domain.cgi") > -1 || t.indexOf("virtual-server/transfer.cgi") > -1 || t.indexOf("virtual-server/mass_disable.cgi") > -1 || t.indexOf("virtual-server/rename.cgi") > -1 || t.indexOf("virtual-server/save_dbname.cgi") > -1 || t.indexOf("virtual-server/mass_enable.cgi") > -1 || t.indexOf("virtual-server/save_frame.cgi") > -1 || t.indexOf("virtual-server/check.cgi") > -1 || t.indexOf("virtual-server/save_newchroot.cgi") > -1 || t.indexOf("virtual-server/enable_dkim.cgi") > -1 || t.indexOf("virtual-server/save_proxy.cgi") > -1 || t.indexOf("virtual-server/save_dbpass.cgi") > -1 || t.indexOf("virtual-server/save_dbhosts.cgi") > -1 || t.indexOf("virtual-server/unalias.cgi") > -1 || t.indexOf("virtual-server/save_newautoconfig.cgi") > -1 || t.indexOf("virtual-server/quotacheck.cgi") > -1 || t.indexOf("virtual-server/unsub.cgi") > -1 || t.indexOf("virtual-server/save_domdkim.cgi") > -1 || t.indexOf("virtual-server/fix_modphp.cgi") > -1 || t.indexOf("virtual-server/connectivity.cgi") > -1 || t.indexOf("virtual-server/all_webmin.cgi") > -1 || t.indexOf("virtualmin-support/send_ticket.cgi") > -1 || t.indexOf("virtualmin-support/enable_login.cgi") > -1 || t.indexOf("virtualmin-support/disable_login.cgi") > -1 || t.indexOf("server-manager/create.cgi") > -1 || t.indexOf("server-manager/mass.cgi") > -1 || t.indexOf("server-manager/manual_image.cgi") > -1 || t.indexOf("server-manager/save_limits.cgi") > -1 || t.indexOf("server-manager/upgrade.cgi") > -1 || t.indexOf("server-manager/empty.cgi") > -1 || t.indexOf("server-manager/save_pass.cgi") > -1 || t.indexOf("server-manager/create_image.cgi") > -1 || t.indexOf("server-manager/restore.cgi") > -1 || t.indexOf("server-manager/clone.cgi") > -1 || t.indexOf("server-manager/scan.cgi") > -1 || t.indexOf("server-manager/add.cgi") > -1 || t.indexOf("server-manager/gcescan.cgi") > -1 || t.indexOf("server-manager/create_gceattach.cgi") > -1 || t.indexOf("server-manager/ec2scan.cgi") > -1 || t.indexOf("server-manager/create_domain.cgi") > -1 || t.indexOf("server-manager/restore_domain.cgi") > -1 || t.indexOf("server-manager/create_ec2attach.cgi") > -1 || t.indexOf("server-manager/newami.cgi") > -1 || t.indexOf("server-manager/move_disk.cgi") > -1 || t.indexOf("server-manager/convert_image.cgi") > -1 || t.indexOf("server-manager/save_vcpus.cgi") > -1 || t.indexOf("server-manager/boot.cgi") > -1 || t.indexOf("server-manager/delete_backuplogs.cgi") > -1 || t.indexOf("server-manager/mass_script.cgi") > -1 || t.indexOf("server-manager/save_ec2address.cgi") > -1 || t.indexOf("server-manager/mass_move.cgi") > -1 || t.indexOf("server-manager/delete_ec2attach.cgi") > -1 || t.indexOf("server-manager/move.cgi") > -1 || t.indexOf("server-manager/backup.cgi") > -1 || t.indexOf("server-manager/create_dimage.cgi") > -1 || t.indexOf("server-manager/massupload.cgi") > -1 || t.indexOf("server-manager/delete_volumes.cgi") > -1 || t.indexOf("server-manager/delete_ec2_snapshots.cgi") > -1 || t.indexOf("server-manager/download.cgi") > -1 || t.indexOf("server-manager/create_gdisk.cgi") > -1 || t.indexOf("server-manager/failover.cgi") > -1 || t.indexOf("server-manager/create_dkvolume.cgi") > -1 || t.indexOf("server-manager/upload.cgi") > -1 || t.indexOf("server-manager/transfer.cgi") > -1 || t.indexOf("server-manager/delete_gceattach.cgi") > -1 || t.indexOf("server-manager/reset.cgi") > -1 || t.indexOf("server-manager/find.cgi") > -1 || t.indexOf("server-manager/create_volume.cgi") > -1 || t.indexOf("server-manager/create_gsnapshot.cgi") > -1 || t.indexOf("server-manager/create_gimage.cgi") > -1 || t.indexOf("server-manager/exec_vbackup.cgi") > -1 || t.indexOf("server-manager/unpause.cgi") > -1 || t.indexOf("server-manager/pause.cgi") > -1 || t.indexOf("server-manager/create_ec2_snapshot.cgi") > -1 || t.indexOf("server-manager/delete_addresses.cgi") > -1 || t.indexOf("server-manager/exec_vsync.cgi") > -1 || t.indexOf("server-manager/create_address.cgi") > -1 || t.indexOf("cluster-usermin/upgrade.cgi") > -1 || t.indexOf("cluster-usermin/install.cgi") > -1 || t.indexOf("cluster-usermin/update.cgi") > -1 || t.indexOf("ldap-useradmin/batch_exec.cgi") > -1 || t.indexOf("ldap-useradmin/mass_delete_user.cgi") > -1 || t.indexOf("usermin/upgrade.cgi") > -1 || t.indexOf("usermin/update.cgi") > -1 || t.indexOf("cpan/download.cgi") > -1 || t.indexOf("cpan/install.cgi") > -1 || t.indexOf("burner/save_profile.cgi") > -1 || t.indexOf("burner/burn.cgi") > -1 || t.indexOf("bind8/mass_create.cgi") > -1 || t.indexOf("bind8/mass_rcreate.cgi") > -1 || t.indexOf("bind8/mass_delete.cgi") > -1 || t.indexOf("bind8/mass_update.cgi") > -1 || t.indexOf("bind8/zone_dnssecmigrate_dt.cgi") > -1 || t.indexOf("bind8/mass_rdelete.cgi") > -1 || t.indexOf("bind8/enable_zonekey.cgi") > -1 || t.indexOf("bind8/enable_zonedt.cgi") > -1 || t.indexOf("bind8/disable_zonedt.cgi") > -1 || t.indexOf("webalizer/save_log.cgi") > -1 || t.indexOf("bacula-backup/restore.cgi") > -1 || t.indexOf("bacula-backup/backup.cgi") > -1 || t.indexOf("bacula-backup/gbackup.cgi") > -1 || t.indexOf("bacula-backup/label.cgi") > -1 || t.indexOf("bacula-backup/mount.cgi") > -1 || t.indexOf("cluster-software/install_pack.cgi") > -1 || t.indexOf("updown/download.cgi") > -1 || t.indexOf("software/install_pack.cgi") > -1 || t.indexOf("software/do_install.cgi") > -1 || t.indexOf("software/apt_upgrade.cgi") > -1 || t.indexOf("software/rhn_check.cgi") > -1 || t.indexOf("software/yum_upgrade.cgi") > -1 || t.indexOf("software/urpmi_upgrade.cgi") > -1 || t.indexOf("software/csw_upgrade.cgi") > -1 || t.indexOf("software/ports_upgrade.cgi") > -1 || t.indexOf("webmin/letsencrypt.cgi") > -1 || t.indexOf("webmin/delete_webmincron.cgi") > -1 || t.indexOf("webmin/test_sendmail.cgi") > -1 || t.indexOf("package-updates/update.cgi") > -1 || t.indexOf("custom/run.cgi") > -1 || t.indexOf("custom/sql.cgi") > -1 || t.indexOf("virtualmin-init/save.cgi") > -1 || t.indexOf("virtualmin-init/mass.cgi") > -1 || t.indexOf("backup-config/save.cgi") > -1 || t.indexOf("squid/init_cache.cgi") > -1 || t.indexOf("squid/clear.cgi") > -1 || t.indexOf("squid/chown.cgi") > -1 || t.indexOf("ldap-client/check.cgi") > -1 || t.indexOf("sendmail/del_mailqs.cgi") > -1 || t.indexOf("sendmail/flushq.cgi") > -1 || t.indexOf("init/mass_start_stop.cgi") > -1 || t.indexOf("init/mass_launchd.cgi") > -1 || t.indexOf("init/mass_systemd.cgi") > -1 || t.indexOf("init/mass_upstarts.cgi") > -1 || t.indexOf("init/mass_rcs.cgi") > -1 || t.indexOf("init/save_services.cgi") > -1 || t.indexOf("ldap-server/create.cgi") > -1 || t.indexOf("change-user/change.cgi") > -1 || t.indexOf("virtualmin-slavedns/save.cgi") > -1 || t.indexOf("proc/trace.cgi") > -1 || t.indexOf("proc/run.cgi") > -1 || t.indexOf("proc/kill_proc_list.cgi") > -1 || t.indexOf("fsdump/backup.cgi") > -1 || t.indexOf("fsdump/restore.cgi") > -1 || t.indexOf("webmin_search.cgi") > -1 || t.indexOf("security-updates/update.cgi") > -1 || t.indexOf("virtualmin-mailrelay/save.cgi") > -1 || t.indexOf("cluster-copy/exec.cgi") > -1 || t.indexOf("cron/exec_cron.cgi") > -1 || t.indexOf("virtualmin-registrar/import.cgi") > -1 || t.indexOf("virtualmin-registrar/save_ns.cgi") > -1 || t.indexOf("virtualmin-registrar/transfer.cgi") > -1 || t.indexOf("virtualmin-registrar/renew.cgi") > -1 || t.indexOf("virtualmin-registrar/create.cgi") > -1 || t.indexOf("htaccess-htpasswd/search.cgi") > -1 || t.indexOf("acl/makedn.cgi") > -1 || t.indexOf("acl/cert_issue.cgi") > -1 || t.indexOf("acl/maketables.cgi") > -1 || t.indexOf("acl/schema.cgi") > -1 || t.indexOf("filter/move.cgi") > -1 || t.indexOf("fetchmail/check.cgi") > -1 || t.indexOf("servers/find.cgi") > -1 || t.indexOf("cluster-cron/exec.cgi") > -1 || t.indexOf("raid/mkfs.cgi") > -1 || t.indexOf("lvm/pvmove.cgi") > -1 || t.indexOf("lvm/mkfs.cgi") > -1 || t.indexOf("ppp-client/init.cgi") > -1 || t.indexOf("fdisk/mkfs.cgi") > -1 || t.indexOf("fdisk/tunefs.cgi") > -1 || t.indexOf("fdisk/fsck.cgi") > -1 || t.indexOf("spam/deleteall_awl.cgi") > -1 || t.indexOf("quota/check_quotas.cgi") > -1 || t.indexOf("virtualmin-awstats/generate.cgi") > -1 || t.indexOf("postfix/flushq.cgi") > -1 || t.indexOf("status/delete_mons.cgi") > -1 || t.indexOf("status/refresh.cgi") > -1 || t.indexOf("/webmin/upgrade.cgi") > -1) ? 1 : 0
    +}
    +
    +function unbuffered_header_processor_allow_scroll() {
    +    var e = ["webmin_search.cgi"];
    +    return Test.arrContains(e, v___location_file) ? 0 : 1
    +}
    +
    +function unbuffered_header_processor(e, t) {
    +    if (t) {
    +        var i = e,
    +            a = $(i.target),
    +            n = $(document.activeElement).attr("name"),
    +            s = $.trim(document.activeElement.innerText),
    +            _ = document.activeElement.value;
    +        a.find('input[name="' + n + '"]') && a.find('input[name="' + n + '"]').val() == (s || _) || $("").attr({
    +            type: "hidden",
    +            name: n,
    +            value: s || _
    +        }).appendTo(a);
    +        Test.strContains(a.attr("enctype"), "multipart/form-data");
    +        if ($formData = a.serialize(), $("input:file:visible").val()) return v___theme_force_buffered = 1, void a.submit()
    +    }
    +    var r = 0,
    +        o = 0,
    +        l = t ? i.target.action : e,
    +        c = 0,
    +        d = $('div[data-dcontainer="1"] > .panel.panel-default').clone();
    +    NProgress.start(), set_onbeforeunload_status(1, 1), progressive_request = $.ajax({
    +        xhr: function() {
    +            var e = new window.XMLHttpRequest;
    +            return e.addEventListener("progress", function(e) {
    +                var t = e.target.responseText,
    +                    i = $(t).filter('div[data-dcontainer="1"]').html();
    +                if (!!i && o++, 0 === c && (window.history.pushState(null, "", e.currentTarget.responseURL), c = 1, $(window).on("popstate.unbuffered", function() {
    +                        $('.container-fluid[data-dcontainer="1"]').html(d), $(this).unbind("popstate.unbuffered"), setTimeout(function() {
    +                            get_pjax_event_end_funcs(0)
    +                        }, 40)
    +                    })), o > 3 && !r) i && ($('div[data-dcontainer="1"]').html(i), r++, unbuffered_header_processor_allow_scroll() && ($(".__page").hasScrollBar() ? $(".__page").scrollTop($(".__page")[0].scrollHeight) : $(".__page").scrollTop(0)), $(".__page").addClass("progressing"), get_pjax_event_end(!1, e.target));
    +                else if (r) {
    +                    var a = extract_content(t, '
    ', "
    ", 0); + a && $('div[data-dcontainer="1"]').find(".panel-body").html(a), unbuffered_header_processor_allow_scroll() && $(".__page").scrollTop($(".__page")[0].scrollHeight) + } + }, !1), e + }, + type: get_pjax_type(t && i.target.method ? i.target.method : l), + url: l, + data: !!t && $formData, + complete: function(e) { + $('div[data-dcontainer="1"]').html($(e.responseText).filter('div[data-dcontainer="1"]').html()), get_pjax_event_end(!1, e), unbuffered_header_processor_allow_scroll() && $(".__page").scrollTop($(".__page")[0].scrollHeight), $(".__page").removeClass("progressing"), NProgress.done(), set_onbeforeunload_status(0, 1) + } + }) +} + +function check_selected_text() { + return getSelection ? getSelection().toString() : document.selection ? document.selection.createRange().text : "" +} + +function check_location_resource(e) { + return v___location_resource === e +} + +function check_current_file(e) { + return v___location_file == e +} +Object.defineProperty(Array.prototype, "reOrder", { + enumerable: !1, + value: function(e, t) { + if (t >= this.length) + for (var i = t - this.length; 1 + i--;) this.push(void 0); + return this.splice(t, 0, this.splice(e, 1)[0]), this + } + }), jQuery.fn.simulateUserClick = function() { + return this.each(function() { + if ("createEvent" in document) { + var e = this.ownerDocument, + t = e.createEvent("MouseEvents"); + t.initMouseEvent("click", !0, !0, e.defaultView, 1, 0, 0, 0, 0, !1, !1, !1, !1, 0, null), this.dispatchEvent(t) + } else this.click() + }) + }, + function(e) { + e.fn.replaceTagName = function(t) { + for (var i = [], a = this.length; a--;) { + for (var n = document.createElement(t), s = this[a], _ = s.attributes, r = _.length - 1; r >= 0; r--) { + var o = _[r]; + n.setAttribute(o.name, o.value) + } + n.innerHTML = s.innerHTML, e(s).after(n).remove(), i[a - 1] = n + } + return e(i) + } + }(jQuery), jQuery.fn.selectText = function() { + var e = document, + t = this[0]; + if (e.body.createTextRange)(a = document.body.createTextRange()).moveToElementText(t), a.select(); + else if (window.getSelection) { + var i = window.getSelection(), + a = document.createRange(); + a.selectNodeContents(t), i.removeAllRanges(), i.addRange(a) + } + }, + function(e) { + e.fn.replaceText = function(t, i, a) { + return this.each(function() { + var n, s, _ = this.firstChild, + r = []; + if (_) + do { + 3 === _.nodeType && (s = (n = _.nodeValue).replace(t, i)) !== n && (!a && / this.height() + }, $.fn.toggleCheckbox = function() { + "checkbox" == $(this).attr("type") && $(this).prop("checked", !$(this).is(":checked")) + }, jQuery.fn.confirmation = function(e, t) { + return e = $.extend({ + className: "btn-danger", + timeout: 2500 + }, e), $(this).each(function(i, a) { + function n() { + _.removeClass(e.className).data("confirmed", !1).find(".tmp_question").remove() + } + var s, _ = $(a); + _.html(); + _.data("confirmed", !1), _.on("click.confirm", function(i) { + i.preventDefault(), _.data("confirmed") ? (t.call(_, i), n()) : (_.data("confirmed", !0), _.append('?').addClass(e.className).bind("mouseout.confirm", function() { + s = setTimeout(n, e.timeout) + }).bind("mouseover.confirm", function() { + clearTimeout(s) + })) + }).removeClass(e.className) + }), $(this) + }, RegExp.quote = function(e) { + return e.replace(/([.?*+^$[\]\\(){}|-])/g, "\\$1") + }, $(function() { + var e, t = ".blinking-default:not(.hidden)"; + setInterval(function() { + 0 == e ? ($(t).css("opacity", "1"), e = 1) : (e = 1) && ($(t).css("opacity", "0"), e = 0) + }, 900) + }); \ No newline at end of file diff --git a/unauthenticated/js/authentic-objs.js b/unauthenticated/js/authentic-objs.js new file mode 100644 index 000000000..9d4f51e2d --- /dev/null +++ b/unauthenticated/js/authentic-objs.js @@ -0,0 +1,132 @@ +/*! + * Authentic Theme (https://github.com/qooob/authentic-theme) + * Copyright Ilia Rostovtsev + * Licensed under MIT (https://github.com/qooob/authentic-theme/blob/master/LICENSE) + */ +const Convert = { + arrFlip: function(t) { + var n, r = {}; + for (n in t) t.hasOwnProperty(n) && (r[t[n]] = n); + return r + }, + uriDecodeComponent: function(t, n) { + var r, e, o, a = new String, + i = 0; + if (void 0 === n && (n = 0), r = t ? t.split(/(%(?:d0|d1)%.{2})/) : [], $.isEmptyObject(r)) return t; + for (e = r.length; i < e; i++) { + try { + o = decodeURIComponent(r[i]) + } catch (t) { + o = n ? r[i].replace(/%(?!\d+)/g, "%25") : r[i] + } + a += o + } + return a + }, + uriEncodeComponent: function(t) { + return this.uriDecodeComponent(t) === t && (t = encodeURIComponent(t)), t + }, + htmlEscape: function(t) { + var n = { + "&": "&", + "<": "<", + ">": ">", + '"': """, + "'": "'", + "=": "=" + }; + return String(t).replace(/[&<>"'=]/g, function(t) { + return n[t] + }) + }, + htmlUnEscape: function(t) { + var n = [ + ["amp", "&"], + ["apos", "'"], + ["#x27", "'"], + ["#x2F", "/"], + ["#39", "'"], + ["#47", "/"], + ["#61", "="], + ["lt", "<"], + ["gt", ">"], + ["nbsp", " "], + ["quot", '"'] + ]; + if (t) + for (var r = 0, e = n.length; r < e; ++r) t = String(t).replace(new RegExp("&" + n[r][0] + ";", "g"), n[r][1]); + return t || "" + }, + htmlStrip: function(t) { + return $("
    ").html(t).text() + }, + pathnamePopLast: function(t) { + var n = ~t.indexOf("%2F") ? "%2F" : "/", + r = t.split(n); + return r.pop(), r.join(n) || "/" + }, + strUpFirst: function(t) { + return t.charAt(0).toUpperCase() + t.slice(1).toLowerCase() + }, + strUpInitial: function(t) { + return t.length ? this.strUpFirst(t.toLowerCase()) : t + } + }, + Core = { + fnExtend: function(t, n) { + window[t] = function(t) { + return function() { + t(), n() + } + }(window[t]) + }, + linkSameOrigin: function(t) { + return t.attr("href") && (t.attr("href").match("^http:") || t.attr("href").match("^https:") || t.attr("href").match("^ftp:")) && URI(t.attr("href")).hostname() != v___location_hostname || t.attr("data-href") && (t.attr("data-href").match("^http:") || t.attr("data-href").match("^https:") || t.attr("data-href").match("^ftp:")) && URI(t.attr("data-href")).hostname() != v___location_hostname ? 0 : 1 + }, + moduleAvailable: function(t) { + return void 0 != get_server_data(t) ? get_server_data(t) : $.inArray(t, get_server_data("available-modules")) > -1 + }, + curModuleFileQuery: function(t, n, r) { + return $('body[class*="' + t + '"]').length && v___location_file == n && v___location_query && -1 !== v___location_query.indexOf(r) + }, + curModuleFile: function(t, n) { + return $('body[class*="' + t + '"]').length && v___location_file == n + }, + curModule: function(t) { + return $('body[class*="' + t + '"]').length + } + }, + Test = { + true: function(t) { + return !/^(false|0)$/i.test(t) && !!t + }, + false: function(t) { + return /^(false|0)$/i.test(t) || !t + }, + numeric: function(t) { + return Number(parseFloat(t)) == t + }, + string: function(t) { + return "string" == typeof t || t instanceof String ? 1 : 0 + }, + strContains: function(t, n) { + return "string" == typeof t && !!~t.indexOf(n) + }, + arrContains: function(t, n, r) { + return void 0 === r && (r = 0), t = $.inArray(n, t), r ? t : -1 < t ? 1 : 0 + }, + arrIntersect: function(t, n) { + var r = []; + return $.each(t, function(t, e) { + n.match(new RegExp(e, "gi")) && r.push(e) + }), !$.isEmptyObject(r) + }, + scrolledIntoView: function(t) { + var n = $(t), + r = $(window), + e = r.scrollTop(), + o = e + r.height(), + a = n.offset().top; + return a + n.height() <= o && a >= e + } + }; \ No newline at end of file diff --git a/unauthenticated/js/authentic.js b/unauthenticated/js/authentic.js new file mode 100644 index 000000000..8fa676478 --- /dev/null +++ b/unauthenticated/js/authentic.js @@ -0,0 +1,875 @@ +/*! + * Authentic Theme (https://github.com/qooob/authentic-theme) + * Copyright Ilia Rostovtsev + * Licensed under MIT (https://github.com/qooob/authentic-theme/blob/master/LICENSE) + */ +if (get_server_data("debug")) { + if ("object" == typeof localStorage) try { + localStorage.setItem("d41d8cd98f00", 1), localStorage.removeItem("d41d8cd98f00"), $_v__ls__a = 1 + } catch (e) { + Storage.prototype._setItem = Storage.prototype.setItem, Storage.prototype.setItem = function() {}, $_v__ls__a = 0 + } + if (page_init(), $___________lrs_r_l = 0, $___________left = v___available_navigation ? 1 : 0, "undefined" == typeof settings_mailbox_slash_delimiter && (settings_mailbox_slash_delimiter = !0), "undefined" == typeof settings_right_reload && (settings_right_reload = !0), "undefined" == typeof settings_right_default_tab_usermin && (settings_right_default_tab_usermin = "/"), "undefined" == typeof settings_right_virtualmin_default && (settings_right_virtualmin_default = "sysinfo.cgi"), "undefined" == typeof settings_right_cloudmin_default && (settings_right_cloudmin_default = "sysinfo.cgi"), "undefined" == typeof settings_font_family && (settings_font_family = 0), "undefined" == typeof settings_navigation_color && (settings_navigation_color = "blue"), "undefined" == typeof settings_background_color && (settings_background_color = "gainsboro"), "undefined" == typeof settings_hide_top_loader && (settings_hide_top_loader = !1), "undefined" == typeof settings_show_night_mode_link && (settings_show_night_mode_link = !0), "undefined" == typeof settings_theme_options_button && (settings_theme_options_button = !0), "undefined" == typeof settings_leftmenu_button_refresh && (settings_leftmenu_button_refresh = !1), "undefined" == typeof settings_cm_view_palette && (settings_cm_view_palette = "monokai"), "undefined" == typeof settings_cm_editor_palette && (settings_cm_editor_palette = "monokai"), "undefined" == typeof settings_side_slider_palette && (settings_side_slider_palette = "grey"), "undefined" == typeof settings_side_slider_enabled && (settings_side_slider_enabled = !0), "undefined" == typeof settings_side_slider_fixed && (settings_side_slider_fixed = !1), "undefined" == typeof settings_side_slider_sysinfo_enabled && (settings_side_slider_sysinfo_enabled = !0), "undefined" == typeof settings_side_slider_notifications_enabled && (settings_side_slider_notifications_enabled = !0), "undefined" == typeof settings_side_slider_favorites_enabled && (settings_side_slider_favorites_enabled = !0), config_portable_module_filemanager_hide_actions = "undefined" == typeof localStorage || "false" != localStorage.getItem(v___server_hostname + "-config_portable_module_filemanager_hide_actions"), config_portable_module_filemanager_hide_toolbar = "undefined" != typeof localStorage && "true" == localStorage.getItem(v___server_hostname + "-config_portable_module_filemanager_hide_toolbar"), config_portable_module_filemanager_hovered_toolbar = "undefined" != typeof localStorage && "true" == localStorage.getItem(v___server_hostname + "-config_portable_module_filemanager_hovered_toolbar"), config_portable_module_filemanager_notification_type = "undefined" != typeof localStorage && localStorage.getItem(v___server_hostname + "-config_portable_module_filemanager_notification_type") ? localStorage.getItem(v___server_hostname + "-config_portable_module_filemanager_notification_type") : 2, config_portable_module_filemanager_calculate_size = "undefined" != typeof localStorage && "true" == localStorage.getItem(v___server_hostname + "-config_portable_module_filemanager_calculate_size"), config_portable_module_filemanager_switch_user = "undefined" == typeof localStorage || "false" != localStorage.getItem(v___server_hostname + "-config_portable_module_filemanager_switch_user"), config_portable_module_filemanager_remember_tabs = "undefined" == typeof localStorage || "false" != localStorage.getItem(v___server_hostname + "-config_portable_module_filemanager_remember_tabs"), config_portable_module_xsql_fit_content_screen_height = "undefined" != typeof localStorage && "true" == localStorage.getItem(v___server_hostname + "-config_portable_module_xsql_fit_content_screen_height"), "undefined" == typeof settings_hotkeys_active && (settings_hotkeys_active = !0), "undefined" == typeof settings_button_tooltip && (settings_button_tooltip = !0), "undefined" == typeof settings_hotkey_toggle_modifier && (settings_hotkey_toggle_modifier = "altKey"), "undefined" == typeof settings_hotkey_toggle_key_webmin && (settings_hotkey_toggle_key_webmin = "w"), "undefined" == typeof settings_hotkey_toggle_key_virtualmin && (settings_hotkey_toggle_key_virtualmin = "v"), "undefined" == typeof settings_hotkey_toggle_key_cloudmin && (settings_hotkey_toggle_key_cloudmin = "c"), "undefined" == typeof settings_hotkey_toggle_key_usermin && (settings_hotkey_toggle_key_usermin = "u"), "undefined" == typeof settings_hotkey_toggle_key_webmail && (settings_hotkey_toggle_key_webmail = "m"), "undefined" == typeof settings_hotkey_toggle_key_night_mode && (settings_hotkey_toggle_key_night_mode = "l"), "undefined" == typeof settings_hotkey_shell && (settings_hotkey_shell = "k"), "undefined" == typeof settings_hotkey_sysinfo && (settings_hotkey_sysinfo = "i"), "undefined" == typeof settings_hotkey_favorites && (settings_hotkey_favorites = "f"), "undefined" == typeof settings_hotkey_focus_search && (settings_hotkey_focus_search = "s"), "undefined" == typeof settings_hotkey_toggle_slider && (settings_hotkey_toggle_slider = "n"), "undefined" == typeof settings_hotkey_reload && (settings_hotkey_reload = "r"), "undefined" == typeof settings_global_passgen_format && (settings_global_passgen_format = "12|a-z,A-Z,0-9,#"), "undefined" == typeof settings_window_replace_timestamps && (settings_window_replace_timestamps = !0), "undefined" == typeof settings_window_replaced_timestamp_format_full && (settings_window_replaced_timestamp_format_full = "LLLL"), "undefined" == typeof settings_window_replaced_timestamp_format_short && (settings_window_replaced_timestamp_format_short = "L, LTS"), "undefined" == typeof settings_leftmenu_vm_cm_dropdown_icons && (settings_leftmenu_vm_cm_dropdown_icons = !0), "undefined" == typeof settings_hotkey_custom_1 && (settings_hotkey_custom_1 = !1), "undefined" == typeof settings_hotkey_custom_2 && (settings_hotkey_custom_2 = !1), "undefined" == typeof settings_hotkey_custom_3 && (settings_hotkey_custom_3 = !1), "undefined" == typeof settings_hotkey_custom_4 && (settings_hotkey_custom_4 = !1), "undefined" == typeof settings_hotkey_custom_5 && (settings_hotkey_custom_5 = !1), "undefined" == typeof settings_hotkey_custom_6 && (settings_hotkey_custom_6 = !1), "undefined" == typeof settings_hotkey_custom_7 && (settings_hotkey_custom_7 = !1), "undefined" == typeof settings_hotkey_custom_8 && (settings_hotkey_custom_8 = !1), "undefined" == typeof settings_hotkey_custom_9 && (settings_hotkey_custom_9 = !1), "undefined" == typeof settings_side_slider_background_refresh_time && (settings_side_slider_background_refresh_time = 5), "undefined" == typeof settings_leftmenu_width && (settings_leftmenu_width = 260), "undefined" == typeof settings_sysinfo_easypie_charts && (settings_sysinfo_easypie_charts = !0), "undefined" == typeof settings_sysinfo_easypie_charts_size ? settings_sysinfo_easypie_charts_size = 172 : settings_sysinfo_easypie_charts_size = parseInt(settings_sysinfo_easypie_charts_size), "undefined" == typeof settings_sysinfo_easypie_charts_width ? settings_sysinfo_easypie_charts_width = 4 : settings_sysinfo_easypie_charts_width = parseInt(settings_sysinfo_easypie_charts_width), "undefined" == typeof settings_sysinfo_easypie_charts_scale ? settings_sysinfo_easypie_charts_scale = 8 : settings_sysinfo_easypie_charts_scale = parseInt(settings_sysinfo_easypie_charts_scale), "undefined" == typeof settings_sysinfo_theme_updates && (settings_sysinfo_theme_updates = !1), "undefined" == typeof settings_sysinfo_theme_patched_updates && (settings_sysinfo_theme_patched_updates = !1), "undefined" == typeof settings_sysinfo_csf_updates && (settings_sysinfo_csf_updates = !1), "undefined" == typeof settings_sysinfo_link_mini && (settings_sysinfo_link_mini = !1), "undefined" == typeof settings_loader_top && (settings_loader_top = !0), "undefined" == typeof settings_animation_left && (settings_animation_left = !0), settings_animation_left ? $settings_animation_left_slide_time = 180 : $settings_animation_left_slide_time = 0, "undefined" == typeof settings_animation_tabs && (settings_animation_tabs = !0), settings_animation_tabs ? $settings_animation_tabs_slide_time = 180 : $settings_animation_tabs_slide_time = 0, "undefined" == typeof settings_show_terminal_link && (settings_show_terminal_link = !0), "undefined" == typeof settings_favorites && (settings_favorites = !0), $_v__ls__a ? _v__ls__a = "" : _v__ls__a = " hidden", $(".mobile-menu-toggler:visible").length && set_side_slider_visibility(0), navigation_display(), v___available_navigation ? (page_adjust(settings_leftmenu_width, 0), navigation_lock_width()) : $("head").append(''), $("html").on("dblclick", "body", function() { + 1 != $(this).find(".container-fluid").css("opacity") && page_display() + }), $.support.pjax && v___available_navigation) { + var $t_av__excluded_selectors = ':not([target="_blank"]):not([href^="#"]):not([data-href^="#"]):not([data-toggle="collapse"]):not([href*="javascript:"]):not(.has-sub):not([data-has-sub-link]):not([onclick])'; + $(document).on("submit", "form", function(e) { + e.preventDefault(), get_onbeforeunload_status() ? get_onbeforeunload_message(e, this) : get_pjax_action_submit(e, this) + }), $(document).on("click", "a" + $t_av__excluded_selectors, function(e) { + get_onbeforeunload_status() ? (e.preventDefault(), get_onbeforeunload_message(e, this)) : get_pjax_action_click(e, this) + }), $(document).on("pjax:error", function(e, t, i, a, s) { + if ("error" === i) { + var n = $.active; + if (n && ($.active = n - 1), Test.strContains(s.url, "/csf/index.cgi")) return void theme_reload() + } + }), $(document).on("pjax:start", function(e, t) {}), $(document).on("pjax:beforeReplace", function(e, t) {}), $(document).on("ready pjax:beforeSend", function(e, t, i) { + settings_loader_top && NProgress.start(), v___module === v___module_file_manager && "function" == typeof __f_____undel && (jsPanel.closeChildpanels("body"), __f_____undel()), "csf" === v___module && "function" == typeof __c_____undel && __c_____undel(), "mysql" !== v___module && "postgresql" !== v___module || "function" != typeof __sql_____undel || __sql_____undel(), "syslog" === v___module && "number" == typeof refreshTimer && clearInterval(refreshTimer); + var a = $(e.relatedTarget), + s = a.attr("href"); + s = s || i.url.replace(v___location_origin, ""), clicked_in_nav_menu = a.parent().is("[data-linked], .favorites-dcontainer, .menu-exclude.ui-sortable-handle") || "object" == typeof i.callback && "reference" === i.callback[0], clicked_in_nav_menu && ((Test.strContains(s, "mysql") || Test.strContains(s, "postgresql")) && get_bundle_sql(), Test.strContains(s, v___module_file_manager) && get_bundle_file_manager(), Test.strContains(s, "csf") && get_bundle_csf()), "object" == typeof i.callback && "beforeSend" === i.callback[0] && (i.callback[3] ? setTimeout(function() { + window[i.callback[1].apply(this, i.callback[2])] + }, i.callback[3]) : window[i.callback[1].apply(this, i.callback[2])]) + }), $(document).on("pjax:success", function(e, t, i, a, s) { + "object" == typeof s.callback && "success" === s.callback[0] && (s.callback[3] ? setTimeout(function() { + window[s.callback[1].apply(this, s.callback[2])] + }, s.callback[3]) : window[s.callback[1].apply(this, s.callback[2])]) + }), $(document).on("pjax:complete", function(e, t, i) { + settings_loader_top && NProgress.done(), t && session_check(t) + }), $(document).on("ready pjax:end", function(e, t) { + get_pjax_event_end(e, t) + }), $(document).on("pjax:popstate", function(e, t) { + setTimeout(function() { + get_pjax_event_end_funcs(0) + }, 40) + }) + } + v___available_session && ($.ajax({ + type: "GET", + url: v___location_prefix + "/index.cgi/?xhr-get_theme_language=1", + data: !1, + dataType: "text", + async: v___available_navigation, + success: function(e) { + get_server_data("language-strings", JSON.parse(e)), "function" == typeof set_side_slider_labels && set_side_slider_labels() + } + }), $.ajax({ + type: "GET", + url: v___location_prefix + "/index.cgi/?xhr-get_available_modules=1", + data: !1, + dataType: "text", + async: v___available_navigation, + success: function(e) { + get_server_data("available-modules", JSON.parse(e)) + } + }), theme_config("load")), $(function() { + /*! + * Authentic Theme (https://github.com/qooob/authentic-theme) + * Copyright Ilia Rostovtsev + * Licensed under MIT (https://github.com/qooob/authentic-theme/blob/master/LICENSE) + */ + 1 === v___initial_load && v___available_navigation && (page_display(), navigation_display()); + var e = window.navigator.userAgent, + t = !!e.match(/iPad/i) || !!e.match(/iPhone/i), + a = !!e.match(/WebKit/i), + s = t && a && !e.match(/CriOS/i) && !e.match(/OPiOS/i); + navigator.vendor && navigator.vendor.indexOf("Apple") > -1 && navigator.userAgent && navigator.userAgent.match("CriOS"); + if (bind_sameorigin(), s && $("html").css("overflow", "auto"), Core.curModuleFile("syslog", "save_log.cgi") && $(".container-fluid.col-lg-10.col-lg-offset-1").removeClass("col-lg-10 col-lg-offset-1").addClass("margined-top-15"), !v___available_navigation && $(".container-fluid").removeClass("col-lg-10 col-lg-offset-1").addClass("margined-top-15").parents("html").addClass("single_tab"), $("body").on("click", "#quota-virtual-server-collapse a.ui_link, #quota-virtual-server-1-collapse a.ui_link, #bw-virtual-server-collapse a.ui_link, #bw-virtual-server-1-collapse a.ui_link", function() { + var e = URI.parseQuery(URI($(this).attr("href")).query()).dom, + t = "virtualmin"; + $('.switch-toggle input:not([id="open_' + t + '"]):checked').length && set_switch_position(t), setTimeout(function() { + $("aside select").val() != e && get_navigation_menu_virtualmin(e) + }, 300) + }), $("body").on("click", ".file-input-wrapper", function() { + var e = $(this).prev('input[type="radio"]').add($(this).parent("td").prev("td").find('input[type="radio"]')); + 1 === e.length && e.prop("checked", !0) + }), $("body").on("click", '.--to-new-tab, a.ui_link_replaced[href*="search.cgi/webminlog"]', function() { + $(this).attr("target", "_blank") + }), $("body").on("click", ".favorites-menu a.menu-exclude-link, .right_pane_favorites_link", function() { + var e = Test.strContains($(this).attr("href"), "/virtual-server/") ? "dom" : !!Test.strContains($(this).attr("href"), "/server-manager/") && "id", + t = Test.strContains($(this).attr("href"), "gparent") ? "gparent" : e, + i = URI.parseQuery(URI($(this).attr("href")).query())[t], + a = "dom" === e ? "virtualmin" : "id" === e ? "cloudmin" : "webmin", + s = $('.switch-toggle input:not([id="open_' + a + '"]):checked').length; + s && set_switch_position(a), e ? setTimeout(function() { + $("aside select").val() != i && ("dom" === e ? get_navigation_menu_virtualmin(i) : "id" === e && get_navigation_menu_cloudmin(i)) + }, 300) : s && get_navigation_menu_webmin() + }), $(document).on("click", function(e) { + $(e.target).attr("class") && 0 === $(e.target).attr("class").indexOf("select2") || $("aside select") && $("aside select").length > 0 && $("aside select").hasClass("select2-hidden-accessible") && $("aside select").select2("close") + }), $("a").each(function() { + $(this).find("img").length && $(this).css("text-decoration", "none") + }), $("body").on("keydown", function(e) { + var t = e.keyCode ? e.keyCode : e.which, + i = String.fromCharCode(t).toLowerCase(); + $('aside input[name="search"]').is(":focus") || $(".-shell-port-").hasClass("opened") || v___location_path != v___location_prefix + "/server-manager/gvnc.cgi" && v___location_path != v___location_prefix + "/server-manager/login.cgi" && v___location_path != v___location_prefix + "/telnet/" && v___location_path != v___location_prefix + "/telnet/index.cgi" && v___location_path != v___location_prefix + "/stunnel/" && v___location_path != v___location_prefix + "/stunnel/index.cgi" && ($("input").is(":focus") || $("select").is(":focus") || $("textarea").is(":focus") || $(".modal.in").length || !i || !/[a-zA-Z0-9]/.test(i) || e.ctrlKey || e.altKey || e.metaKey || 106 === t || 107 === t || 109 === t || 112 === t || 113 === t || 114 === t || 115 === t || 116 === t || 117 === t || 118 === t || 119 === t || 120 === t || 121 === t || 122 === t || 123 === t || ($(".dataTables_filter label input").length ? ($(".btn-filter-top-right").trigger("click"), $(".btn-filter-top-right .dataTable-mirror").focus().trigger("keyup")) : setTimeout(function() { + e.shiftKey && "1" == i ? $('aside input[name="search"]').focus().val("!") : $('aside input[name="search"]').focus().val(i) + }, 1))) + }), v___available_navigation && ($(document).ajaxSend(function(e, t, i) {}).ajaxStop(function() {}), $.ajaxSetup({ + complete: function(e, t) { + session_check(e) + } + })), function() { + if ("function" == typeof Messenger.Message) { + var e, t, i, a = {}.hasOwnProperty, + s = function(e, t) { + function i() { + this.constructor = e + } + for (var s in t) a.call(t, s) && (e[s] = t[s]); + return i.prototype = t.prototype, e.prototype = new i, e.__super__ = t.prototype, e + }; + e = jQuery, i = '
    \n \n \n \n \n \n \n
    ', t = function(t) { + function a() { + return a.__super__.constructor.apply(this, arguments) + } + return s(a, t), a.prototype.template = function(t) { + var s; + return (s = a.__super__.template.apply(this, arguments)).append(e(i)), s + }, a + }(Messenger.Message), Messenger.themes.air = { + Message: t + }, Messenger.options = { + extraClasses: "messenger-fixed messenger-on-bottom", + theme: "air" + } + } + }.call(this), v___available_navigation) { + 0 == v___user_level && settings_side_slider_enabled && settings_side_slider_fixed && get_server_data("data-slider-fixed", "1"), 1 === v___initial_load && (console.log("Welcome to Authentic Theme " + (v___theme_version_git || v___theme_version) + "\nhttps://github.com/qooob/authentic-theme"), setTimeout(function() { + $t_uri_virtualmin && (get_navigation_menu_virtualmin_summary(), get_default_virtualmin_content(!1)), $t_uri_cloudmin && get_default_cloudmin_content(!1), $t_uri_virtualmin || $t_uri_cloudmin || get_default_content() + }, 20), $.each(theme_config("get_options"), function(e, t) { + localStorage.setItem(v___server_hostname + "-" + t, window[t]) + }), navigation_select_label(), setTimeout(function() { + fetch_right_pane_favorites() + }, 300)), $("body").on("focus", ".sidebar-search", function() { + navigation_init_autocomplete("c", !1) + }), $("body").on("blur", ".sidebar-search", function() { + setTimeout(function() { + navigation_init_autocomplete("c", !0) + }, 150) + }); + information_check(); + settings_loader_top && "object" == typeof NProgress && NProgress.configure({ + showSpinner: !1, + trickleRate: .09, + trickleSpeed: 100 + }), navigator.userAgent.match(/(iPod|iPhone|iPad)/) && $("#content").attr("style", "-webkit-overflow-scrolling: touch !important; overflow-y: scroll !important;"), $('a[target="page"][href="link/"]').first().length && $('a[target="page"][href="link/"]').first().attr("target", "blank"), $("aside").on("click", ".select2-container .select2-selection__arrow b", function(e) { + e.preventDefault(), e.stopPropagation() + }), $("aside").on("click", 'a[href*="/file/"], a[href*="history.cgi"]', function(e) { + e.preventDefault(), e.stopPropagation(), window.open($(this).attr("href"), "_blank") + }), $("body").on("keydown", ".sidebar-search", function(e) { + if (-1 !== get_server_data("webmail") && 13 == e.keyCode) return e.preventDefault(), !1 + }), $("body").on("click", ".mobile-menu-toggler", function(e) { + $this = $(this), $("aside").hasClass("hidden-xs") ? ($(this).addClass("selected").find("button").addClass("btn-primary").removeClass("btn-default"), $(".__logo") && ($(".__logo").css("transform", "translate(0px, 0px)"), setTimeout(function() { + $(".__logo").transition({ + y: "-140px" + }, 1.5 * $settings_animation_left_slide_time) + }, 1100)), $this.css("transform", "translate(0px, 0px)"), $("aside").css("transform", "translate(0px, 0px)"), $(".switch-toggle").css("display", "none"), $("aside").removeClass("hidden-xs"), $("aside, .mobile-menu-toggler").transition({ + x: settings_leftmenu_width + }, 2.5 * $settings_animation_left_slide_time), $(".switch-toggle").css("display", "table")) : navigation_hide() + }), $.each($('ul.navigation li.navigation_external a[href^="../servers/link.cgi/"]'), function(e, t) { + $(this).attr("href", v___location_href + $(this).attr("href").replace("../", "").replace(/\/$/g, "")) + }), $("body").on("click", '.navigation a[target="page"], .user-links a[target="page"]', function() { + navigation_hide() + }), $("body").on("click", ".navigation > li .navigation_external_link", function(e) { + e.preventDefault(), e.stopPropagation(), b = $(this), window.open(b.attr("href"), "_blank") + }), $("body").on("click", ".navigation > li:not('.sub-wrapper'):not('.menu-container'):not('.navigation_external'):not([data-linked])", function(e) { + if (e.preventDefault(), e.stopPropagation(), v___blocked_navigation = 1, "undefined" == typeof $processing && ($processing = !1), !$processing) { + $processing = !0; + var t = $("a", this).attr("href"), + i = $("a", this).attr("target"), + a = $(this); + i && $(".navigation > li > ul.sub > li").each(function() { + $(this).removeClass("sub_active").find("span.current").remove() + }), $.when($("#sidebar .navigation > li").each(function() { + var e = $(this), + t = e.find("a").is("[data-has-sub-link]"); + e.is(a) || (e.removeClass("active"), "#search" != e.find("a").attr("href") && t && $(e.find("a").attr("href")).slideUp($settings_animation_left_slide_time)) + })).done(function() { + a.hasClass("active") ? a.removeClass("active") : "#hide" != t && !i && a.addClass("active"), setTimeout(function() { + $(t).is(":visible") && "#hide" != t && !i ? a.addClass("active") : a.removeClass("active"), $processing = !1 + }, 2 * $settings_animation_left_slide_time > 0 ? 2 * $settings_animation_left_slide_time : 1), $(t).slideToggle($settings_animation_left_slide_time) + }), "#search" == t && $('#sidebar input[name="search"]').focus() + } + }), $("body").on("click", ".navigation > li > ul.sub > li:not('.menu-container')", function(e) { + if (!e.target || !$(e.target).is("li")) { + var t = $(this); + $(".navigation > li:not('.has-sub')").removeClass("sub_active").find("span.current-large").remove(), $(".navigation > li > ul.sub > li").each(function() { + $(this).removeClass("sub_active").find("span.current").remove() + }), $("#webmin_search_form").find('input[name="search"]').val(""), t.addClass("sub_active").append('') + } + }), $(".navigation > li > ul.sub").each(function() { + "" === $(this).attr("id") && $(this).remove() + }), $('.switch-toggle label[for^="reserve_empty"]').on("click", function(e) { + e.preventDefault() + }), $("body").on("click", 'a[data-refresh="true"]', function(e) { + e.preventDefault(), get_pjax_content(v___location_resource) + }), $("body").on("click", function(e) { + $("ul.dropdown").is(e.target) || 0 !== $("ul.dropdown").has(e.target).length || 0 !== $(".open").has(e.target).length || $("ul.dropdown").removeClass("open") + }), $(".switch-toggle").on("click", "input.dynamic", function(e) { + "open_thirdlane" != $(this).attr("id") ? (set_switch_position($(this).attr("id").replace("open_", "")), "open_dashboard" != $(this).attr("id") ? get_navigation_and_content($(this).attr("id").replace("open_", ""), 0, 0) : get_pjax_content(v___location_prefix + "/sysinfo.cgi")) : location.href = v___location_prefix + "/asterisk/index.cgi" + }), navigation_init_select(), $("aside").mCustomScrollbar({ + axis: "y", + theme: "minimal", + scrollInertia: 100, + scrollButtons: !1, + callbacks: { + onScroll: function() { + $(".mobile-menu-toggler").is(":visible") || ($(".form-control.sidebar-search").blur(), $("aside select") && $("aside select").length > 0 && $("aside select").hasClass("select2-hidden-accessible") && $("aside select").select2("close")) + } + } + }), $(".loader").append('
    '), $("body").on("mouseover", "#loader-close, #loader-close-sm", function() { + $(this).find(".fa").removeClass("hidden") + }).on("mouseout", "#loader-close, #loader-close-sm", function() { + $(this).find(".fa").addClass("hidden") + }), $("body").on("click", "#loader-close-sm > .fa", function(e) { + navigation_render_end() + }), __shell_commands__i__ = 0, $(".form-control.sidebar-search").focus(function(e) { + $(".__logo").addClass("inited"), e.preventDefault(), e.stopPropagation(), __shell_commands__i__ = 0 + }); + var n = $("body").find(".-shell-port-"), + o = n.find('input[data-command="true"]'), + l = n.find("div[data-output]"), + r = n.find(".-shell-port-container"), + _ = n.data("autocomplete"); + if ($(window).keydown(function(e) { + var t = $("body").find(".-shell-port-").hasClass("opened"); + if (t || (navigation_focus_search(e), theme_shortcuts(e)), 38 === e.keyCode && (o.is(":focus") && t || $(".form-control.sidebar-search").is(":focus")) && e.preventDefault(), 9 === e.keyCode && o.is(":focus") && t) { + if (e.preventDefault(), !_) return; + var i = o.val().trim().split(/\s+(?!-)/), + a = i.length, + s = i[0] && -1 === i[0].indexOf("-") ? 0 : 1, + d = i[1] && -1 === i[1].indexOf(":") ? 0 : 1, + c = o.val().endsWith(" "), + p = "service" === $.trim(i[0]), + f = "systemctl" === $.trim(i[0]), + g = $.trim(i[0]) && $.trim(i[0]).startsWith("chown"), + u = 1 !== i.length || !o.val().length || s || c ? p || f ? "services" : g ? "permissions" : "lists" : "commands"; + if (!$.trim(o.val()).length) return; + var m = o.val(), + h = n.find(".-shell-port-pwd").attr("data-pwd"); + if ("services" === u) { + if ("systemctl" === (u = p ? "service" : "systemctl") && 3 !== i.length) return; + m = "service" == u ? $.trim(i[1]) : $.trim(i[2]), "service" === $.trim(i[0]) && (2 === i.length && c || 3 === i.length) && (m = 3 === i.length ? "::::" + $.trim(i[1]) + "::::" + $.trim(i[2]) : "::::" + $.trim(i[1])) + } + if (g) { + if (1 === a && !c) return void o.val($.trim(i[0]) + " "); + d && $.trim(i[1]) ? c || i[2] ? (u = "lists", m = h + "/::::" + $.trim(i[2])) : (u = "groups", m = $.trim($.trim(i[1]).split(":")[1])) : (u = "users", m = $.trim(i[1])) + } + "lists" !== u || g || (m = h + "/::::" + $.trim(i[1]) + "::::" + $.trim(i[0]) + "::::" + $.trim(i[2])), $.ajax({ + type: "POST", + url: v___location_prefix + "/index.cgi?xhr-get_autocompletes=1&xhr-get_autocomplete_type=" + u + "&xhr-get_autocomplete_string=" + m, + data: !1, + dataType: "json", + success: function(e) { + var t = e.length; + if (1 === t) + if ("service" === u || "systemctl" === u || "lists" === u) { + var a = $.trim(i[0]), + s = $.trim(i[0]) + " " + $.trim(i[1]); + "lists" === u ? ("cd" === a && e[0].endsWith("/") || "cd" !== a) && ("cd" === a || "cat" === a ? o.val(a + " " + e[0]) : $.trim(i[2]) ? o.val(s + " " + e[0]) : o.val(a + " " + e[0])) : "service" !== a || 2 !== i.length && 3 !== i.length ? "systemctl" === a && 3 === i.length && o.val(a + " " + $.trim(i[1]) + " " + e[0]) : 2 === i.length ? o.val(a + " " + e[0] + " ") : 3 === i.length && o.val($.trim(i[0]) + " " + $.trim(i[1]) + " " + e[0]) + } else g ? d ? c || i[2] ? o.val($.trim(i[0]) + " " + $.trim(i[1]) + " " + e[0]) : o.val($.trim(i[0]) + " " + $.trim($.trim(i[1]).split(":")[0]) + ":" + e[0] + " ") : o.val($.trim(i[0]) + " " + e[0] + ":") : o.val(e[0] + " "); + else if (t > 1) { + var n = "" + $(".-shell-port-type").text() + " " + Convert.htmlEscape(o.val()) + "\n"; + l.find("pre").append(n), l.find("pre").append(Convert.htmlEscape(e.join("\n") + "\n")), r.scrollTop(r[0].scrollHeight) + } + setTimeout(function() { + o.focus().mousedown() + }, 10) + }, + error: function() {} + }) + } + }), $(window).keyup(function(e) { + var t = $("body").find(".-shell-port-").hasClass("opened"); + if (t) { + var a = 0, + s = 0, + r = 0, + _ = $(".form-control.sidebar-search"), + d = $t_uri_cloudmin && $('a[target="page"][href*="/server-manager/save_serv.cgi"][href*="shell=1"]').length, + c = 0, + p = 0; + if (d) p = v___location_prefix + "/server-manager/shell.cgi"; + else { + if (!Core.moduleAvailable("shell")) return; + p = v___location_prefix + "/shell/index.cgi" + } + if ((t || _.is(":focus")) && 8 === e.keyCode && (__shell_commands__i__ = 0), t ? (a = $.trim(o.val()), s = 1, r = 1) : (a = _.val(), s = void 0 !== _.val(), r = 0), (r || s && (!a.trim() || a.trim().startsWith("!"))) && (38 == e.keyCode || 40 == e.keyCode)) { + e.preventDefault(), e.stopPropagation(), void 0 === localStorage.getItem(v___server_hostname + "-shell_commands") && localStorage.setItem(v___server_hostname + "-shell_commands", JSON.stringify({})); + var f = JSON.parse(localStorage.getItem(v___server_hostname + "-shell_commands")), + g = f ? f.length : 0; + if (0 === __shell_commands__i__ && !a && 40 == e.keyCode) return; + if (0 === __shell_commands__i__ && a && 38 == e.keyCode) return void(c = 1); + if (__shell_commands__i__ = 40 == e.keyCode ? ++__shell_commands__i__ : --__shell_commands__i__, __shell_commands__i__ < 0 && 38 === e.keyCode ? __shell_commands__i__ = g - 1 : __shell_commands__i__ > g && (__shell_commands__i__ = 0), f && f[__shell_commands__i__ % g]) { + if (!$.isEmptyObject(f) && (__shell_commands__i__ == g && 38 === e.keyCode || __shell_commands__i__ == g && 40 === e.keyCode || c)) return t ? o.val("").focus() : _.val("").focus(), void(__shell_commands__i__ = 0); + if (t) { + var u = f[__shell_commands__i__ % g].replace(/^!/, ""); + o.val(Convert.htmlUnEscape(u)).focus() + } + } + return + } + if (s && a.trim().startsWith("!") && 27 == e.keyCode) return e.preventDefault(), e.stopPropagation(), void _.val("").focus(); + if (s && a.trim().startsWith("!") && 13 == e.keyCode && (_.addClass("_shell_form_"), e.preventDefault(), e.stopPropagation(), 1 == Core.moduleAvailable("shell") || d)) { + o.val(a.trim().substring(1)).focus(), theme_shell_open(n); + var m = $.Event("keyup"); + m.keyCode = 13, o.trigger(m) + } + var h = n.find(".-shell-port-container"), + v = n.find(".-shell-port-pwd"), + b = v.attr("data-pwd"), + y = $.trim(o.val()), + k = 0, + x = e.keyCode ? e.keyCode : e.which, + w = e.altKey && "l" == String.fromCharCode(e.which).toLowerCase(); + if (27 === x) return void theme_shell_close(n); + if (o.is(":focus") || check_selected_text() || (e.ctrlKey || e.altKey || e.shiftKey || e.metaKey || o.val(o.val() + String.fromCharCode(e.which).toLowerCase()), o.focus()), (y && 13 === x || w) && (Core.moduleAvailable("shell") || d)) { + if (1 === v___shell_processing) return; + v___shell_processing = 1, ("clear" == y || "reset" == y || "exit" == y || w) && (l.find("pre").html(""), theme_shell_clear(o), "exit" == y && theme_shell_close(n)), "cd ~" == y && (k = y, y = "cd " + v.attr("data-home")); + var C = !1; + if ("cd /" == y && (C = "/"), "history -c" == y) { + localStorage.setItem(v___server_hostname + "-shell_commands", JSON.stringify({})); + D = "" + $(".-shell-port-type").text() + " " + y + "\n"; + l.find("pre").append(D), theme_shell_clear(o), h.scrollTop(h[0].scrollHeight); + var T = ' ' + (d ? '' : "") + ' ', + S = new FormData($(T)[0]); + $.ajax({ + type: "POST", + url: p + "?stripped=1&stripped=2", + data: S, + dataType: "text", + cache: !1, + contentType: !1, + processData: !1, + success: function(e) {}, + error: function(e) {} + }) + } else if (y.startsWith("history")) { + theme_shell_clear(o); + var j = JSON.parse(localStorage.getItem(v___server_hostname + "-shell_commands")), + I = j ? j.length : 0, + P = I ? I.toString().length : 0, + D = "" + $(".-shell-port-type").text() + " " + y + "\n"; + $.each($(j), function(e, t) { + var a = e.toString().length, + s = ""; + for (i = 0; i < P + 1 - a; i++) s += " "; + "string" == typeof t && (D += e + 1 + s + t + "\n") + }).promise().done(function() { + l.find("pre").append(D), h.scrollTop(h[0].scrollHeight) + }) + } + if ("clear" == y || "reset" == y || "exit" == y || y.startsWith("history") || w) return v___shell_processing = 0, __shell_commands__i__ = 0, theme_shell_adapt(), void o.focus(); + var O = ' ' + (d ? '' : "") + ' ', + q = new FormData($(O)[0]); + o.attr("readonly", "true"), $.ajax({ + type: "POST", + url: p + "?stripped=1&stripped=2", + data: q, + dataType: "text", + cache: !1, + contentType: !1, + processData: !1, + success: function(e) { + var t = $(".-shell-port-type").text(), + i = $(e).find("pre").html().replace(/>>/g, ">" + t), + a = $(e).find('select[name="pcmd"] option').map(function() { + return Convert.htmlEscape($(this).val()) + }).get().reOrder(-1, 0).reverse(); + localStorage.setItem(v___server_hostname + "-shell_commands", JSON.stringify(a)), newPwd = $(e).find('input[name="pwd"]').val(), l.find("pre").append(k ? i.replace(new RegExp(y, "g"), k) : i), v.text(C || (newPwd == v.attr("data-home") ? "~" : newPwd.split("/").filter(function(e) { + return "" != $.trim(e) + }).slice(-1)[0])).attr("data-pwd", C || newPwd).attr("title", C || newPwd), theme_shell_adapt(), theme_shell_clear(o), h.scrollTop(h[0].scrollHeight), setTimeout(function() { + v___shell_processing = 0, __shell_commands__i__ = 0, o.removeAttr("readonly").focus() + }, 100) + }, + error: function(e) {} + }) + } + } + }), $("body").on("keyup", "#webmin_search_form", function(e) { + var t = $(this).find("input.sidebar-search"), + i = t.val(), + a = $("body").find(".-shell-port-"); + i && 13 == e.keyCode && (i.startsWith("!") ? theme_shell_open(a, i) : ($(this).trigger("submit"), t.val(""))) + }), $("body").on("click", "#right-side-tabs .right_pane_favorites_link", function(e) { + $(".favorites-menu-outer.hover + .favorites-menu-close").trigger("click") + }), $("aside").on("click", ".user-links > li.favorites", function(e) { + $(".favorites-menu-outer").addClass("hover") + }), $("body").on("click", "nav.favorites-menu li a", function() {}), $("body").on("click", ".favorites-menu-close, nav.favorites-menu li a", function() { + $(".favorites-menu-outer").removeClass("hover") + }), $(document).on("keydown", function(e) { + "0px" == $(".favorites-menu-outer").css("left") && 27 == e.keyCode && $(".favorites-menu-outer").removeClass("hover") + }), favicon = new Favico({ + animation: "none" + }), 0 == v___user_level && 1 == Core.moduleAvailable("status")) { + var d = localStorage.getItem(v___server_hostname + "-right-side-tab") ? localStorage.getItem(v___server_hostname + "-right-side-tab") : "#right-side-tabs-sysinfo"; + $("body").append(' \t\t \t\t \t'), $('a[href="' + d + '"]:visible').length || $("#right-side-tabs ul.nav-tabs li a:visible").trigger("click"), $('#right-side-tabs .nav.nav-tabs a[data-toggle="tab"]').on("shown.bs.tab", function(e) { + var t = $(e.target).attr("href"); + localStorage.setItem(v___server_hostname + "-right-side-tab", t) + }), $("body").on("click", ".right-side-tabs-favorites-ctl", function(e) { + $(".favorites-menu-outer").hasClass("hover") ? $(".favorites-menu-close").trigger("click") : $(".user-link.favorites").trigger("click") + }), $("body").on("click", '#right-side-tabs a:not([data-toggle="collapse"]):not([role="tab"]):not(.list-group-item)', function(e) { + $(".right-side-tabs-toggler:not(.hidden) .btn-menu-toggler").trigger("click") + }), $("body").on("click", "#right-side-tabs .info-container .graph-container-fw", function(e) { + var t, i = $(this).attr("class"), + a = i.indexOf("cpu_") > -1 ? "cpu" : i.indexOf("mem_") > -1 ? "mem" : i.indexOf("virt_") > -1 ? "virt" : "disk"; + "cpu" == a && Core.moduleAvailable("proc") ? t = v___location_prefix + "/proc/index_cpu.cgi" : "mem" != a && "virt" != a || !Core.moduleAvailable("proc") ? "disk" == a && Core.moduleAvailable("disk-usage") ? t = v___location_prefix + "/disk-usage" : "disk" == a && Core.moduleAvailable("quota") && (t = v___location_prefix + "/quota/list_users.cgi?dir=%2F") : t = v___location_prefix + "/proc/index_size.cgi", get_pjax_content(t), $(".right-side-tabs-toggler:not(.hidden) .btn-menu-toggler").trigger("click") + }), $("body").on("click", "#right-side-tabs .fa-dashboard", function(e) { + get_onbeforeunload_status() ? (this.href = v___location_prefix + "/sysinfo.cgi", get_onbeforeunload_message(e, this)) : get_pjax_content(v___location_prefix + "/sysinfo.cgi"), $(".right-side-tabs-toggler:not(.hidden) .btn-menu-toggler").trigger("click") + }), $("body").on("click", "#right-side-tabs .fa-question-circle.theme", function(e) { + theme_update_notice(0), $(".right-side-tabs-toggler:not(.hidden) .btn-menu-toggler").trigger("click") + }) + } else get_server_data("data-slider-fixed", "0"), $(".right-side-tabs-toggler").addClass("hidden"); + $(".right-side-tabs .tab-pane").each(function() { + $(this).css("height", $(window).height() - 92) + }), $(".right-side-tabs").on("mouseover", ".list-group-item", function(e) { + $(this).find(".fa.fa-trash-o").removeClass("hidden"), !$(this).hasClass("opacity-0_3") && $(this).find(".fa-clear-all").removeClass("hidden") + }).on("mouseout", ".list-group-item", function(e) { + $(this).find(".fa.fa-trash-o").addClass("hidden"), $(this).find(".fa-clear-all").addClass("hidden") + }), $(".right-side-tabs").on("click", "[data-port-href]", function(e) { + e.preventDefault(), e.stopPropagation(), open($(this).data("port-href")) + }), $("body").on("click", 'a[data-id^="csf_"], a[data-type^="csf_"]', function(e) { + get_bundle_csf() + }), $("body").on("click", 'a[href*="mysql"], a[href*="postgresql"]', function(e) { + get_bundle_sql() + }), $(".right-side-tabs").on("click", 'a.list-group-item[data-type="csf_deny"]', function(e) { + e.preventDefault(), e.stopPropagation(), $(e.target).is(".fa.fa-trash-o") || $(e.target).is(".fa-clear-all") || $(e.target).is("[data-port-href]") || (get_bundle_csf(), $("body").append(' \t\t\t\t\t\t \t '), $("form#csf_temporary_ip_entries").submit().remove(), $(".right-side-tabs-toggler:not(.hidden) .btn-menu-toggler").trigger("click")) + }), $(".right-side-tabs").on("click contextmenu", "a.list-group-item", function(e) { + if (e.preventDefault(), "contextmenu" == e.type) return $(this).find(".fa-clear-all").trigger("click"), e.preventDefault(), void e.stopPropagation(); + if ($(e.target).is(".fa.fa-trash-o") || $(e.target).is(".fa-clear-all") || $(e.target).is("[data-port-href]")) { + if ($(e.target).is(".fa-clear-all")) return $(this).addClass("opacity-0_3"), $(this).find(".fa-clear-all").addClass("hidden"), void slider_mark_notification_read($(this).attr("id"), $(this).data("type"), 1, 1); + $(this).animate({ + opacity: "0" + }, $settings_animation_left_slide_time, function() { + $(this).remove(), localStorage.removeItem(v___server_hostname + "-notifications_" + $(this).attr("id") + "_" + $(this).data("type")), slider_add_no_notifications() + }) + } else $(this).attr("href") && $(this).attr("href").length && "undefined" != $(this).attr("href") && "csf_deny" != $(this).attr("data-type") ? ($(this).addClass("opacity-0_3"), $(this).find(".fa-clear-all").addClass("hidden"), slider_mark_notification_read($(this).attr("id"), $(this).data("type"), 1, 1), $(".right-side-tabs-toggler:not(.hidden) .btn-menu-toggler").trigger("click"), get_pjax_content($(this).attr("href"))) : ($(this).addClass("opacity-0_3"), slider_mark_notification_read($(this).attr("id"), $(this).data("type"), 1, 1)) + }), $(".right-side-tabs-dismiss i.fa-reload").click(function(e) { + information_update() + }), $(".right-side-tabs-dismiss i.fa-clear-all").click(function(e) { + slider_mark_group_notifications_read(!1) + }), $(".right-side-tabs-dismiss i.fa-trash").click(function(e) { + $(".right-side-tabs .list-group-item:not(.no-notifications)").animate({ + opacity: "0" + }, $settings_animation_left_slide_time, function() { + $(this).remove(), slider_remove_all_notifications(), slider_add_no_notifications() + }) + }), $("body").on("click", ".right-side-tabs-toggler:not(.hidden)", function(e) { + $(this).hasClass("opened") ? ($(this).removeClass("opened"), $(this).animate({ + right: "0" + }, $settings_animation_left_slide_time), $(".right-side-tabs").animate({ + right: "-302" + }, $settings_animation_left_slide_time)) : ($(this).addClass("opened"), $(this).animate({ + right: "300" + }, $settings_animation_left_slide_time), $(".right-side-tabs").animate({ + right: "0" + }, $settings_animation_left_slide_time)) + }), $(".right-side-tabs .tab-pane").mCustomScrollbar({ + axis: "y", + theme: "minimal", + scrollInertia: 100, + scrollButtons: !1 + }), settings_button_tooltip && $("body").tooltip({ + selector: 'li[data-toggle="tooltip"], li > a[data-toggle="tooltip"].menu-exclude-link, label[data-toggle="tooltip"]', + container: "body", + html: !0, + delay: { + show: 800, + hide: 30 + } + }), $("body").on("click", ".user-link.palette-toggle", function(e) { + theme_toggle_night_mode() + }), $("body").on("click", ".user-link.ported-console", function(e) { + theme_shell_check_available() && theme_shell_open(n) + }), slider_add_no_notifications(), slider_check_notifications(), moment.locale(get_server_data("language")) + } + $("body").on("click", "#headln2c > .favorites, .xcustom-favorites", function(e) { + e.preventDefault(); + var t = URI(v___location).resource(); + if ($(this).hasClass("fa-star-o")) { + $(this).removeClass("fa-star-o").addClass("fa-star text-warning"); + var i = $("#headln2c > span[data-main_title]").text(), + a = $(".has-sub.active").text().trim(), + s = $(".sub_active").text().trim(), + n = "", + o = ""; + ($t_uri_virtualmin || $t_uri_cloudmin) && (n = $("aside .ui_select option:selected").text()), $('body[class^="' + v___module_file_manager + '"]').length && (o = (o = URI.parseQuery(URI(v___location).query()).path) ? "[" + o + "]" : "[/]"), favorites_add(t, (n.length ? n + " - " : "") + (a.length ? a + "/" : "") + (s.length ? s + (i.trim().length ? ": " : "") : "") + i.trim() + (o.length ? " " + o : ""), $t_uri_virtualmin ? "virtualmin" : $t_uri_cloudmin ? "cloudmin" : "webmin"), favorites_save() + } else $(this).addClass("fa-star-o").removeClass("fa-star text-warning"), favorites_remove(t) + }), 1 === v___initial_load && favorites_init(), $("#favorites-menu .favorites-menu-content").on("mouseover", "li:not(.exclude) span.f__c, li:not(.exclude) span.f__c small", function() { + $(this).find("small").removeClass("hidden") + }).on("mouseleave", "li:not(.exclude) span.f__c, li:not(.exclude) span.f__c small", function() { + $(this).find("small").addClass("hidden") + }), $("#favorites-menu .favorites-menu-content").on("mouseover", "li:not(.exclude) small", function() { + $(this).find(".fa-times").removeClass("fa-times").addClass("fa-times-circle"), $(this).animate({ + "font-size": "0.7em", + "margin-top": "-2px", + "margin-left": "-1px" + }, 160) + }).on("mouseleave", "li:not(.exclude) small", function() { + $(this).find(".fa-times-circle").removeClass("fa-times-circle").addClass("fa-times"), $(this).animate({ + "font-size": "0.6em", + "margin-top": "-1px", + "margin-left": "0" + }, 80) + }), $("#favorites-menu .favorites-menu-content").on("click", "li:not(.exclude) small .fa-times-circle", function(e) { + e.preventDefault(), e.stopPropagation(), favorites_remove($(this).parents("a").attr("href")) + }), $(document).on("keydown", function(e) { + "0px" == $(".favorites-menu-outer").css("left") && 27 == e.keyCode && $(".favorites-menu-outer").removeClass("hover") + }), $("body").on("shown.bs.modal", ".modal.in", function() { + $(this).focus() + }), $("body").on("click", ".module-help", function(e) { + popover_visibility_position($(this)) + }), $("body").on("click", function(e) { + $(e.target).is(".close-popover-trigger") && $(e.target).parent().parent().popover("hide"); + var t = ".showpass-popover"; + $(t).length && $(t).each(function() { + $(this).is(e.target) || 0 !== $(this).has(e.target).length || 0 !== $(".popover").has(e.target).length || $(this).popover("hide") + }) + }), $('body:not(".mobile-menu-toggler")').on("click", function(e) { + $(e.target).is('.wbm-sm, input[name="product-switcher"], label[for*="open_"], span, .sidebar-search, .select2-selection__rendered, .select2-selection') || navigation_hide() + }), $("body").on("change", 'input[type="checkbox"], input[type="radio"]', function(e) { + var t = $(this).parents("tr.ui_checked_columns"); + t.length && t.find("input:first").is($(this)) && ($(this).is(":checked") ? t.addClass("hl-aw") : t.removeClass("hl-aw"), "function" == typeof __r____changed && __r____changed()) + }), $("body").on("click", ".ui_link, .ui_link_replaced", function() { + $.each($('input[type="checkbox"]'), function() { + $(this).is(":checked") ? $(this).parents("tr.ui_checked_columns").addClass("hl-aw") : $(this).parents("tr.ui_checked_columns").removeClass("hl-aw"), "function" == typeof __r____changed && __r____changed() + }) + }), $("body").on("click", '#extended_sysinfo-1 span[data-entry="nf_seen"]', function(e) { + e.preventDefault(); + var t = $(this), + i = $('form[action*="seen_newfeatures.cgi"]'); + $.ajax({ + type: "GET", + url: i.attr("action"), + data: !1, + statusCode: { + 200: function() { + t.parents(".panel.panel-default").remove() + } + } + }) + }), $("body").on("click", '#extended_sysinfo-1 span[data-entry="right_upok"]', function(e) { + e.preventDefault(); + $(this); + var t = $('form[action*="package-updates/update.cgi"]'); + t.attr("method", "POST"), $("").attr({ + type: "submit", + value: 1 + }).appendTo(t), $('input[name="u"]').appendTo(t), t.submit() + }), $("body").on("click", "a#atclearcache", function(e) { + set_onbeforeunload_status(0, 0), Object.keys(localStorage).forEach(function(e) { + /^allowed_trigger|^notifications_|^sysinfo_/.test(e) && localStorage.removeItem(v___server_hostname + "-" + e) + }), $(".right-side-tabs-dismiss .fa-trash").trigger("click"), $(".right-side-tabs-dismiss .fa-refresh").trigger("click"); + var t = $(this); + spinnerfy_buttons(t, [1.5, -33, "small", 1e3]) + }), $("body").on("click", function(e) { + $(e.target).is('select[name="settings_navigation_color"], select[name="settings_background_color"], select[name="settings_side_slider_palette"], input[name="settings_side_slider_fixed"], label[for^="settings_side_slider_fixed"], div.aradio') || $(".right-side-tabs-toggler").hasClass("hidden") || !$(".right-side-tabs-toggler").hasClass("opened") || $(e.target).parents("#right-side-tabs").is("#right-side-tabs") || $(e.target).is(".btn-menu-toggler") || $(e.target).is(".fa-bell") || $(e.target).is("li.user-link.favorites") || $(e.target).is(".badge.badge-danger") || $(".right-side-tabs-toggler:not(.hidden) .btn-menu-toggler").trigger("click") + }), $("body").on("click", ".authentic_update:not(.disabled)", function(e) { + e.preventDefault(), e.stopPropagation(); + var t = $(this), + i = $("body").add($(".__page")), + a = $("aside").add($("#right-side-tabs")).add($(".__page")), + s = "1" == t.data("stable") ? "-release" : "-beta"; + i.addClass("pointer-events-none"), set_onbeforeunload_status(1, 0), a.addClass("bg-filter-blur-grayscale-opacity50"), theme_messenger('' + theme_language("theme_xhred_git_patch_initiated") + " " + theme_language("theme_xhred_global_please_wait") + '   ', 1800, "info", "themeUpgrade", 0), $.ajax({ + type: "POST", + url: v___location_prefix + "/index.cgi?xhr-update=1&xhr-update-type=" + s, + data: !1, + dataType: "json", + success: function(e) { + e[0] && e[0].success ? (theme_messenger('' + e[0].success, 4, "success", "themeUpgrade"), slider_mark_group_notifications_read("authentic_remote_version"), setTimeout(function() { + theme_reload() + }, 2e3)) : e[0] && e[0].no_git ? (theme_messenger('' + e[0].no_git, 20, "warning", "themeUpgrade"), a.removeClass("bg-filter-blur-grayscale-opacity50"), i.removeClass("pointer-events-none")) : (theme_messenger('' + theme_language("theme_xhred_git_patch_update"), 20, "error", "themeUpgrade"), a.removeClass("bg-filter-blur-grayscale-opacity50"), i.removeClass("pointer-events-none")) + }, + error: function(e) { + theme_messenger('' + theme_language("theme_xhred_git_patch_update"), 20, "error", "themeUpgrade"), a.removeClass("bg-filter-blur-grayscale-opacity50"), i.removeClass("pointer-events-none") + }, + complete: function(e) { + set_onbeforeunload_status(0, 0) + } + }) + }), $("body").on("click", 'a[data-href="#theme-info"]', function() { + theme_update_notice(0) + }), $("body").on("hide.bs.modal", "#update_notice", function() { + $(this).hasClass("r") ? ($("body").append('
    '), $("div.update_notice_overlay").animate({ + opacity: 1 + }, 560, function() { + setTimeout(function() { + theme_reload() + }, 100) + })) : ($("#content").animate({ + "margin-left": ___________content_initial_ + }, 280), $("aside").animate({ + "margin-left": 0 + }, 280, function() { + $(".right-side-tabs, .right-side-tabs-toggler").removeClass("pointer-events-none bg-filter-grayscale-opacity50"), $(".container-fluid").removeClass("bg-filter-blur-grayscale-opacity50") + })), $("#update_notice").remove() + }).on("show.bs.modal", "#update_notice", function() { + $("#update_notice").length; + $(this); + var e = $("aside").css("left"); + ___________content_initial_ = $("#content").css("margin-left"), ________version_date_obj = $(this).find(".modal-body > h4:first-child"), ________version_curr_text = ________version_date_obj.text().split(/\s+/)[1], ________version_first_text = $(".version_separator:last").text(), ________multi_in_branch = $(".version_separator").length, _____version__x = ________version_first_text + "..." + ________version_curr_text, __release_time = v___theme_version_git.slice(-4, -2) + ":" + v___theme_version_git.slice(-2), _____release_date_ = ________version_date_obj.text().match(/\(([^)]+)\)/), _____release_date = !!_____release_date_ && _____release_date_[1], __release_date_time = _____release_date + (__release_time.length > 2 ? ", " + __release_time : ""); + var t = theme_language("theme_xhred_global_release").toLowerCase(), + i = $(".version_separator"), + a = theme_language("theme_xhred_global_development_version"); + $.each(i, function() { + $(this).attr("target", "_blank"), -1 === $(this).text().indexOf(t) && -1 === $(this).text().indexOf("-beta") && -1 === $(this).text().indexOf("-RC") && $(this).append('-' + t + " ") + }), setTimeout(function() { + $(".container-fluid").addClass("bg-filter-blur-grayscale-opacity50") + }, 0), $("#content").animate({ + "margin-left": 0 + }, 450), $("aside").animate({ + "margin-left": e + }, 450), $(".right-side-tabs, .right-side-tabs-toggler").addClass("pointer-events-none bg-filter-grayscale-opacity50"); + var s = $(this).find(".modal-body h4"); + if ($modal_h4_first = $(this).find(".modal-body h4:first"), !$(this).find(".modal-body h4:first .diffctl").length) { + o = new RegExp(RegExp.quote(________version_curr_text), "g"); + if (________multi_in_branch && (s.replaceText(o, "" + _____version__x + ""), s.replaceText(/Version/, "Versions")), s.length && $(this).find('.modal-body h4:contains("patch")').length) { + var n = parseFloat($(this).find('.modal-body a[href*="authentic-theme/releases"]:first').text().match(/-?(?:\d+(?:\.\d*)?|\.\d+)/)[0]); + $modal_h4_first.append('
    " + theme_language("theme_xhred_global_committed_on") + ": " + __release_date_time + '" class="btn btn-transparent diffctl text-dark text-force-link-hover" href="https://github.com/qooob/authentic-theme/compare/' + n + '...master">
    '), $modal_h4_first.after(' ' + a + "") + } else $modal_h4_first.append('
    " + theme_language("theme_xhred_global_released_on") + ": " + __release_date_time + '" class="btn btn-transparent diffctl changelogctl text-dark text-force-link-hover" href="https://github.com/qooob/authentic-theme/blob/master/CHANGELOG.md">
    ').append('' + ________version_curr_text + "") + } + var o = new RegExp(RegExp.quote("(" + _____release_date + ")"), "g"); + s.replaceText(o, ""); + var l = []; + $.each($(this).find('li span:contains("Fixed bugs")'), function() { + var e = $(this), + t = $(this).parent("li"), + i = t.parent("ul"), + a = t.find("a:not(.bctl)"), + s = a.length; + ________multi_in_branch ? (l.push(a), 1 === i.find("li").length && (i.prev("hr").prev("a").remove(), i.prev("hr").remove(), i.addClass("no-data")), t.remove()) : (e.html([e.text().slice(0, 6), s + " ", e.text().slice(6)].join("")), t.find("a:first").before(''), t.find("a.bctl").click(function(e) { + a.toggleClass("hidden"), t.find("a.bctl i").toggleClass("fa-minus-square-o") + }), a.addClass("obj-popup hidden")) + }).promise().done(function() { + if (________multi_in_branch && !$(".bctl").length) { + $(".modal-body h4[data-development]").prev("hr").before('
    • Fixed bugs
    '), $(".modal-body span[data-bugs-container]").append(l); + + function e(e, t) { + return parseInt($(t).text().replace("#", "")) < parseInt($(e).text().replace("#", "")) ? 1 : -1 + } + $(".modal-body span[data-bugs-container] a").sort(e).appendTo(".modal-body span[data-bugs-container]"); + var t = $("span[data-fixed-bugs]"), + i = ($("span[data-bugs-container]"), $(".modal-body span[data-bugs-container]").find("a:not(.bctl)")), + a = i.length; + t.html([t.text().slice(0, 6), a + " ", t.text().slice(6)].join("")), t.append(''), t.find("a.bctl").click(function(e) { + i.toggleClass("hidden"), t.find("a.bctl i").toggleClass("fa-minus-square-o") + }), i.addClass("obj-popup hidden"); + var s = $("div[data-bugs]"), + n = s.find("a:not(.bctl)").length; + !n && s.prev(".hr-dashed").remove(), !n && s.remove() + } + }) + }), $("body").on("click contextmenu", 'a[data-href*="/webmin/edit_webmincron.cgi"]', function(e) { + e.preventDefault(), e.stopPropagation(); + var t = Core.moduleAvailable("virtual-server") ? "virtual-server" : "system-status"; + theme_messenger('' + theme_language("theme_xhred_sysinfo_update_start") + '.   ', 1800, "info", "sysinfoRecollect", 0), $("body").find("#system-status").find('h3 > a[data-refresh="system-status"]').addClass("disabled btn-inverse").removeClass("btn-success"), $.ajax({ + type: "GET", + url: v___location_prefix + "/" + t + "/recollect.cgi", + data: !1, + dataType: "text", + success: function(e) { + get_pjax_content(v___location_prefix + "/sysinfo.cgi", ["success", messenger, ['' + theme_language("theme_xhred_sysinfo_update_end"), 4, "success", "sysinfoRecollect"], 0]) + }, + error: function(e) { + theme_messenger('' + theme_language("theme_xhred_sysinfo_update_failed"), 20, "error", "sysinfoRecollect") + } + }) + }), $("body").on("click", ".csf-submit", function(e) { + e.preventDefault(); + var t = $(this).data("id"); + $("#" + t).submit() + }), $("body").on("click", ".inline-row input", function(e) { + $(this).is(":checked") ? $(this).parents(".gl-icon-container").addClass("highlighted") : $(this).parents(".gl-icon-container").removeClass("highlighted") + }), $("body").on("click contextmenu", "div.icons-container, div.small-icons-container", function(e) { + if ("click" === e.type && $(e.target).is(".gl-icon-select") && !v___available_navigation) e.preventDefault(), $(this).trigger("contextmenu"); + else if ("contextmenu" === e.type) { + e.preventDefault(), $(this).find("input").is(":checked") ? ($(this).find("input").prop("checked", !1), $(this).removeClass("highlighted")) : $(this).find("input").length && ($(this).find("input").prop("checked", !0), $(this).addClass("highlighted")); + var t = $(e.target).is(".icon_link") ? $(e.target).parent(".gl-icon-container").find(".fa-select, .fa-selected") : $(e.target).is(".gl-icon-select") ? $(e.target) : $(e.target).is("img") ? $(e.target).parent("a").parent(".gl-icon-container").find(".fa-select, .fa-selected") : $(e.target).find(".fa-select, .fa-selected"); + t.hasClass("fa-select") ? t.removeClass("fa-select").addClass("fa-selected") : t.removeClass("fa-selected").addClass("fa-select") + } + "function" == typeof db_check_selected && db_check_selected() + }), $("body").on("click", ".row.icons-row.vertical-align .icons-container, .row.icons-row.vertical-align .small-icons-container", function() { + $(this).hasClass("forged-xx-skip") + }), __is_shifted = !1, __is_tabbed = !1, $(document).on("keyup keydown", function(e) { + var t = e.keyCode ? e.keyCode : e.which; + __is_shifted = e.shiftKey, __is_tabbed = 9 == t + }), $("body").on("change", ".onchange_form_submit_triggger", function(e) { + e.preventDefault(), $(this).parent("form").submit() + }), $("body").on("click", 'button.ui_form_end_submit[type="button"]:not(.disabled)', function() { + var e = $(this).next('input[type="submit"].hidden'), + t = $(this).parent(".btn-group").next('input[type="submit"].hidden'); + e.length || (e = t); + var i = e.parent(), + a = e.parents("form"); + if (!a.length) return (a = e.closest("form")).length || (a = i.prev("form")), a.length || (a = i.prev().prev("form")), a.length || (a = i.prev().prev().prev("form")), a.length || (a = i.prev().prev().prev().prev("form")), a.length || (a = i.prev().prev().prev().prev().prev("form")), a.length || (a = i.prev().prev().prev().prev().prev().prev("form")), a.append(a.nextUntil(i)), void $.each(i.find("select, input"), function() { + $("").attr({ + type: "hidden", + name: $(this).attr("name") ? $(this).attr("name") : $(this).attr("id"), + value: $(this).val() + }).appendTo(a) + }).promise().done(function() { + a.submit() + }); + $("").attr({ + type: "hidden", + name: e.attr("name") ? e.attr("name") : e.attr("id"), + value: $.trim(e.val()) + }).appendTo(a), e.trigger("click") + }), $("body").on("click", '.ui_form_end_submit:not(.disabled), .page_footer_submit:not(.disabled):not([href*="javascript:history"])', function() { + var e = !1, + t = !1; + ($(this).parents('form[action="fetch.cgi"]').length || $(this).parents('form[action="download.cgi"]').length && !Core.curModule("cpan")) && (e = 1e3, t = 1), Core.curModule("csf") ? spinnerfy_buttons($(this), [2, -29, "small", t]) : spinnerfy_buttons($(this), !1, e, t) + }), $("body").on("dblclick", '.mppopup a[onclick*="fileclick("], .mppopup a[onclick*="parentdir("]', function(e) { + e.preventDefault() + }); + var c = 0, + p = null; + $("body").on("dblclick", '.mppopup a[onclick*="select("]', function(e) { + $(".mppopup button[data-mppopup_confirm]").trigger("click") + }), $("body").on("click", '.mppopup a[onclick*="fileclick("], .mppopup a[onclick*="parentdir("]', function(e) { + if (e.preventDefault(), e.stopPropagation(), e.stopImmediatePropagation(), c++, $data_mppopup_value.val($v__mpp__g_ol), 1 === c) p = setTimeout(function() { + if (c = 0, "undefined" == typeof $v__mpp__g_gp && ($v__mpp__g_gp = 0), $v__mpp__g_gp) { + var e = chooser_get_link($v__mpp__g_op); + chooser_get(e) + } else chooser_control($v__mpp__g_ol, 0, 0); + $v__mpp__g_gp = 0 + }, 240); + else if (clearTimeout(p), c = 0, $v__mpp__g_olt) { + var t = chooser_get_link($v__mpp__g_op); + chooser_get(t) + } else chooser_control($v__mpp__g_ol, 1, 1) + }), $("body").on("click", ".mppopup button[data-mppopup_confirm]", function() { + chooser_control($data_mppopup_value.val(), 1, 1) + }), $("body").on("show.bs.modal", ".mppopup", function() { + v__mpp__ml_t__e = 0, $data_mppopup_value = $(".mppopup input[data-mppopup_value]"), $('.mppopup input[data-role="tagsinput"]').tagsinput({ + onTagExists: function(e, t) { + t.hide().fadeIn(), v__mpp__ml_t__e = 1 + } + }) + }), $("body").on("shown.bs.modal", ".mppopup", function() { + var e = $("body .mppopup").find(".modal-head"); + $("body .mppopup").find(".modal-body"), $("body .mppopup").find(".modal-body table"), e.find(".mppopup_filter > input"); + setTimeout(function() { + $(".mppopup_filter_input").animate({ + opacity: 1 + }, $settings_animation_tabs_slide_time), $(".mppopup_filter_input").focus() + }, 0) + }), $("body").on("hidden.bs.modal", ".mppopup", function() { + refInput.removeClass("refInputData"), $('.mppopup input[data-role="tagsinput"]').tagsinput("destroy"), $("body .mppopup").remove(), $("button[data-mmclick].disabled, input[data-mmclick].disabled").removeClass("disabled").removeAttr("disabled") + }), $("body").on("click", ".mppopup_multi_done", function(e) { + refInput.val($.trim($('.mppopup input[data-role="tagsinput"]').val().replace(/,/g, " "))), $('.mppopup span[aria-hidden="true"]').trigger("click") + }), $("body").on("keyup", ".mppopup_filter_input", function(e) { + var t = e.which, + i = $(".mppopup table tbody tr:visible"), + a = i.find("td:first-child a"); + if (!$(".mppopup .breadcrumbx").length) { + if (13 != t || 1 !== i.length || e.shiftKey) { + if (13 == t && 1 === i.length && e.shiftKey) { + a.trigger("click").trigger("dblclick"); + var s = $(".mppopup .mppopup_multi_done:visible"); + s.length && setTimeout(function() { + s.trigger("click") + }, 240) + } + } else a.trigger("click"); + $(".mppopup table tbody tr.noresults").length || $(".mppopup table tbody").append('
    "); + var n = $(".mppopup table tbody tr:visible:not(.noresults)"), + o = $(".mppopup table tbody tr.noresults"); + n.length ? o.addClass("hidden") : o.removeClass("hidden") + } + }), $("body").on("click", "button[data-mmclick]:not(.disabled), input[data-mmclick]:not(.disabled)", function(e) { + e.preventDefault(), e.stopPropagation(), refInput = chooser_get_target($(this), 1); + var t = $(this), + i = refInput.val(), + a = encodeURIComponent(i), + s = $(this).attr("data-mmclick").match("window.open\\(['\"]*(.*?)(\\s*['\"]*,.*?)"), + n = s[1].match(/(\w+\.[a-z]{3,4})/gi)[0].replace(".cgi", ""); + if (t.addClass("disabled").attr("disabled", "disabled"), s[1]) { + var o = s[1].replace("encodeURIComponent(ifield.value)", "refInputCurrValSafe"); + o = o.replace('"+"', "").replace('"+', "").replace("refInputCurrValSafe", a); + + function l(e, t, a, s, o) { + var l; + l = o ? ' " : ' "; + var r = ' "; + $("body").append(r), refInput.addClass("refInputData"), $("body .mppopup").modal("show") + } + + function r(e) { + e[1].startsWith("/") ? $v__mpp__g_op = e[1] : $v__mpp__g_op = "/" + e[1] + } + $.ajax({ + type: "POST", + url: o, + data: !1, + dataType: "text", + success: function(e) { + var t = e, + i = e.match(')<[^<]*)*<\/(script|link|meta)>/gi, "").replace(/<\/body>|<\/html>/gi, ""), + i = $(t).filter(".table").html(), + a = $(t).filter(".table").prev("b").html(); + l(t = chooser_breadcrumbs(a) + '
    =
    Ctrl + ⇧ + ↑ Ctrl + ⇧ + ↑ LĂ«vizni vijĂ«n / pĂ«rzgjedhjen lart
    Ctrl + L Ctrl + D Ctrl + L Zgjidh vijën - Përsëritni për të zgjedhur linjat e ardhshme / td> Përzgjidh fjalë - Përsërit zgjidhni të gjitha ngjarjet e tjera
    Ctrl + M Ctrl + ⇧ + M PĂ«rzgjidhni tĂ« gjitha pĂ«rmbajtjet e kllapave aktuale / td> Fshije LinjĂ«n
    Ctrl + KK Ctrl + ⇧ + D Duplicate line (s) >
    Ctrl + J Bashkojuni linjës më poshtë në fund të vijës aktuale
    Ctrl + / Komento / un-comment line aktuale
    Ctrl + ⇧ + / td> Ctrl + Y Redo, ose pĂ«rsĂ«ris komandĂ«n e fundit tĂ« tastierĂ«s sĂ« tastierĂ«s
    Ctrl + ⇧ + V Ctrl + HapĂ«sira Zgjidh sugjerimin e ardhshĂ«m automatik tĂ« plotĂ«
    Ctrl + > soft undo; hedhje në ndryshimin tuaj të fundit para se të prishni ndryshimin kur përsëritet + +theme_xhred_filemanager_hide_toolbar = Fshih toolbarin +theme_xhred_filemanager_hide_actions = Fshih kolonat e veprimeve +theme_xhred_filemanager_hovered_toolbar = Aktivizo dropdown-in në shiritin e veglave në hoverin e miut +theme_xhred_filemanager_context_delete_selected = Fshije përzgjedhur + +# 17.83 +theme_xhred_database_adding_new_row = Shtimi i rreshtit të ri +theme_xhred_database_editing_row = Redaktimi i rreshtit të përzgjedhur +theme_xhred_database_editing_rows = Redaktimi i rreshtave të zgjedhura +theme_xhred_database_adding_new_row_data = Vendosni të dhëna + +# 17.84 +theme_xhred_datatable_filter = Filtri + +theme_xhred_global_update = Update +theme_xhred_global_update_and_return = Përditëso dhe kthehu +theme_xhred_global_update_and_close = Përditëso dhe mbyll +theme_xhred_global_back = Back +theme_xhred_global_cancel = Anulo + +theme_xhred_database_add_row_successful = Rresht i ri u shtua me sukses +theme_xhred_database_edit_row_successful = Rreshti i përzgjedhur u përditësua me sukses +theme_xhred_database_edit_rows_successful = Rreshtat e përzgjedhur u përditësuan me sukses +theme_xhred_database_edit_row_delete_successful = Rreshti i përzgjedhur u fshi me sukses +theme_xhred_database_edit_rows_delete_successful = Fshihet me sukses % n rreshta të zgjedhura +theme_xhred_database_edit_field_delete_successful = Fusha e përzgjedhur u fshi me sukses +theme_xhred_database_edit_fields_delete_successful = fshihet me sukses % n fusha të zgjedhura +theme_xhred_database_edit_selected_row = Modifiko rreshtin e përzgjedhur +theme_xhred_database_edit_selected_rows = Redakto rreshtave të zgjedhura +theme_xhred_database_add_new_row = Shto rresht +theme_xhred_database_delete_selected_row = Fshi rreshtin e përzgjedhur +theme_xhred_database_delete_selected_rows = Fshije rreshtat e përzgjedhur +theme_xhred_database_delete_selected_field = Fshini fushën e përzgjedhur +theme_xhred_database_delete_selected_fields = Fshini fushat e zgjedhura +theme_xhred_database_object_selected_delete = Fshije objektin e zgjedhur +theme_xhred_database_objects_selected_delete = Fshi objekte të zgjedhura +theme_xhred_database_db_selected_drop = Hiq bazën e të dhënave të përzgjedhur +theme_xhred_database_dbs_selected_drop = Hiq bazat e të dhënave të zgjedhura +theme_xhred_database_edit_but_not_saved = Të dhënat e tabelës janë redaktuar, por nuk janë ruajtur. + +theme_xhred_global_no_such_command = Duket se % cmd ekzekutues nuk është i instaluar ose jo në rrugën në sistemin tuaj. + +theme_xhred_global_notice = Njoftimi + +theme_xhred_updates_disabled_notice = Zbuluar që ju nuk keni njoftime të aktivizuara për Theme Autentike përditësime?

    Mundësimi i kësaj karakteristike në Konfigurimi i temave do t'ju ndihmojë të përditësoni versionin më të fundit në një klik të vetëm sa më shpejt që të jetë jashtë. + + +# 18.00 +theme_xhred_global_file = dokumentit +theme_xhred_global_directory = Directory +theme_xhred_global_no_target = Target nuk ekziston ose nuk është i arritshëm +theme_xhred_global_error_code = Kodi i gabimit +theme_xhred_global_on = On +theme_xhred_global_off = Off +theme_xhred_global_all = Të gjitha +theme_xhred_global_none = Asnjë +theme_xhred_global_yes = Po +theme_xhred_global_no = No + +theme_xhred_filemanager_new_tab = Shto tab të ri (Ctrl + Space) +theme_xhred_datatable_no_search_results = Nuk u gjetën rezultate
    Provoni njĂ« kĂ«rkim tĂ« ndryshĂ«m + +theme_xhred_filemanager_buffer_error = DĂ«shtoi nĂ« ngjitjen e skedarĂ«ve nĂ« tampon - leja e refuzuar. + +filemanager_create_object_exists = $ 3 $ 1 `tashmĂ« ekziston nĂ«` $ 2 ` +filemanager_create_object_denied = Nuk mund tĂ« krijoj $ 3 $ 1 $ 2 `- leja mohohet. + +filemanager_paste_warning = DĂ«shtoi nĂ« ngjitjen e objektivave.ËshtĂ« e mundur qĂ« objekti (et) e kĂ«rkuar tĂ« mund tĂ« ishte riemĂ«ruar, zhvendosur ose fshirĂ« ndĂ«rsa / para ngjitjes.NjĂ« tjetĂ«r shkak i mundshĂ«m Ă«shtĂ« se destinacioni nuk Ă«shtĂ« i shkrueshĂ«m.Vlen tĂ« vĂ«zhgohen atributet e objekteve. + +theme_xhred_filemanager_delete_warning = Deletimi ka pĂ«rfunduar me sukses, por jo pĂ«r tĂ« gjitha objektet.ËshtĂ« e mundur qĂ« objekti (et) e kĂ«rkuar tĂ« ishte riemĂ«ruar ose lĂ«vizur para fshirjes.Lejet e kufizuara (atributet) janĂ« njĂ« shkak tjetĂ«r i mundshĂ«m.Mesazhi i gabimit: + + +filemanager_rename_exists=$3 me emrin `$1`ekziston `$2` +filemanager_rename_denied = Nuk mund tĂ« riemĂ«rtoj $ 3.Kjo mund tĂ« ndodhĂ« sepse burimi $ 3 Ă«shtĂ« hequr ose pĂ«r shkak tĂ« lejeve tĂ« kufizuara. + +theme_xhred_filemanager_successful_rename = Duke pĂ«rmendur ` % nga ` nĂ« ` % to ` ishte e suksesshme. + +filemanager_global_info_total1 = Gjithsej: dosje $ 1 dhe dosje $ 2 +filemanager_global_info_total2 = Total: $ 1 fotografi dhe $ 2 direktori +filemanager_global_info_total3 = Gjithsej: $ 1 file dhe $ 2 directories +filemanager_global_info_total4 = Gjithsej: $ 1 fotografi dhe $ 2 drejtori + +theme_xhred_filemanager_selected_entry = Zgjedhur:% hyrja e vlerĂ«s + +theme_xhred_filemanager_search_query = Maska e pyetjeve +theme_xhred_filemanager_search_match = Gjej nĂ« rezultate +theme_xhred_filemanager_search_replace = Replace nĂ« rezultatet + +theme_xhred_global_find = Gjej +theme_xhred_global_replace = Replace + +theme_xhred_filemanager_searching_matching = Duke kĂ«rkuar `% value` qĂ« pĂ«rputhen me emrat e dosjeve / drejtorive, qĂ« pĂ«rmbajnĂ« tekstin `% text` . +theme_xhred_filemanager_searching_replacing = ZĂ«vendĂ«simi i ndeshjeve `% text` me `% replace` nĂ« skedarĂ« me emra qĂ« pĂ«rmbajnĂ« `% value` . + +theme_xhred_filemanager_search_replaced_multi = Gjetur dhe zĂ«vendĂ«suar nĂ« % value skedarĂ«. +theme_xhred_filemanager_search_replaced = Gjetur dhe zĂ«vendĂ«suar nĂ« skedarin 1 . + +theme_xhred_filemanager_successful_permissions_with_errors = Lejet janĂ« ndryshuar me sukses, por jo pĂ«r tĂ« gjitha objektet: + +theme_xhred_filemanager_successful_ownership_with_errors = PronĂ«sia nuk Ă«shtĂ« ndryshuar me sukses pĂ«r tĂ« gjitha objektet: +theme_xhred_filemanager_successful_ownership_with_errors_fatal = PronĂ«sia nuk mund tĂ« ndryshohet pĂ«r shkak tĂ« gabimeve nĂ« vijim: + +theme_xhred_filemanager_successful_compression_with_errors = Kompresimi ka pĂ«rfunduar me gabimet e mĂ«poshtme: +theme_xhred_filemanager_successful_compression_bg = Kompresimi ka mbaruar me sukses.Dosja e kompresuar `% file gjendet nĂ« direktorinĂ« `% path` . +theme_xhred_filemanager_successful_compression_bg_with_errors = Kompresimi ka pĂ«rfunduar me gabime.Dosja e kompresuar `% file duhet tĂ« gjendet nĂ« direktorinĂ« `% path` . + +theme_xhred_filemanager_settings_notification_type = Lloji i njoftimeve pĂ«r t'u shfaqur +theme_xhred_filemanager_settings_notification_type_inf_warn_err = Informata, paralajmĂ«rime dhe gabime +theme_xhred_filemanager_settings_notification_type_warn_err = ParalajmĂ«rime dhe gabime +theme_xhred_filemanager_settings_notification_type_err = VetĂ«m gabime + +theme_xhred_filemanager_settings_tabs_remember_state = Rikthe skedat e pĂ«rdorura mĂ« parĂ« nĂ« ngarkimin e parĂ« +theme_xhred_filemanager_context_open_new_tab = Hapni nĂ« skedĂ«n e re + +theme_xhred_xsql_fit_content_screen_height = PĂ«rshtatja e pĂ«rmbajtjes sĂ« tabelĂ«s sĂ« bazĂ«s sĂ« tĂ« dhĂ«nave nĂ« lartĂ«sinĂ« e ekranit + +theme_xhred_datatable_filter_visible_tables = Filtro tabelĂ«n e dukshme (s) +theme_xhred_module_help = Ndihma e modulit + +theme_xhred_server_process_running = Procesi i serverit akoma vazhdon !?Jeni i sigurt se doni tĂ« lundroni larg dhe tĂ« mos keni qasje nĂ« informacionet e prodhimit?Edhe nĂ«se largoheni tani, procesi nuk do tĂ« pĂ«rfundojĂ«. + + +# 18.03 +settings_global_options_title = Opsionet globale +settings_global_passgen_format = Gjenerator i fjalĂ«kalimeve +settings_global_passgen_format_description = Vendosni gjatĂ«sinĂ« dhe karakterin e pĂ«rdorur nĂ« fjalĂ«kalimin e gjeneruar.Vlera e parazgjedhur Ă«shtĂ« 12 | az, AZ, 0-9, # , e cila pĂ«rfaqĂ«son fjalĂ«kalimin me 12 shkronja nĂ« gjatĂ«si, qĂ« pĂ«rmbajnĂ« shkronja tĂ« mĂ«dha dhe tĂ« vogla, numra dhe shkronja tĂ« veçanta.Vlera e parĂ« Ă«shtĂ« numerike, e cila Ă«shtĂ« gjatĂ«sia e fjalĂ«kalimit, e ndjekur menjĂ«herĂ« nga | si njĂ« delimiter.TjetĂ«r Ă«shtĂ« tipi, ku mund tĂ« pĂ«rdorni numra 0-9 , shkronja az dhe / ose AZ / code>.TĂ« gjitha kĂ«to grupe mund tĂ« pĂ«rdoren sĂ« bashku ose individualisht, duke pĂ«rdorur presje si njĂ« delimiter. +theme_xhred_password_generator_new = Gjeni FjalĂ«kalimin e ri (PĂ«r Clipboard) +theme_xhred_password_generator_new_success = FjalĂ«kalimi i krijuar %password Ă«shtĂ« kopjuar me sukses nĂ« clipboard. + + +# 18.08 +theme_fileformat_perl = Perl +theme_fileformat_perl_placeholder = Kjo skedar duhet tĂ« pĂ«rfundojĂ« me `1;` pĂ«r tĂ« punuar me sukses. (Http://stackoverflow.com/questions/1940182/what-does-1-mean-in-perl) + + +# 18.10 +theme_error_access_not_root = Hyrja e mohuar: PĂ«rdoruesi ka nevojĂ« pĂ«r qasje nĂ« modulin Webmin Configuration pĂ«r tĂ« modifikuar konfigurimin e temĂ«s + + +# 18.20 +settings_hide_top_loader = Fshih barin e pĂ«rparimit tĂ« pĂ«rparimit dhe ngarkuesin e tij + + +# 18.30 +settings_leftmenu_vm_cm_dropdown_icons = Shfaq ikonat simbolike nĂ« drop-down nĂ« Virtualmin / Cloudmin +settings_font_family = Familja e shkronjave +settings_font_family_description = NĂ« mesin e varianteve tĂ« paraqitura Roboto Ă«shtĂ« dĂ«rguar me temĂ«n dhe Ă«shtĂ« vendosur si parazgjedhje.GĂ«rmat e tjera duhet tĂ« instalohen nĂ« kompjuterin tuaj lokal nĂ« mĂ«nyrĂ« qĂ« tĂ« punojnĂ«.Duke pĂ«rdorur fontet lokalĂ«, default nuk Ă«shtĂ« e ngarkuar, gjĂ« qĂ« do tĂ« rezultojĂ« nĂ« ngarkim mĂ« tĂ« shpejtĂ« tĂ« temĂ«s +theme_xhred_global_shipped = Ngarkuar += Theme_xhred_global_available dispozicion +theme_xhred_global_not_available = Nuk Ă«shtĂ« nĂ« dispozicion +theme_xhred_global_default = parazgjedhur +theme_xhred_global_system_default = Parametrat e sistemit +theme_xhred_global_local_system_default = Sistemi lokal i parazgjedhur +theme_xhred_global_stats = Stats +theme_xhred_global_notifications = Njoftimi +theme_xhred_global_favorites = Favoritet +theme_xhred_global_cpu_load = Ngarkesa e CPU +theme_xhred_notification_none = Nuk ka njoftime +theme_xhred_notification_no_data = Nuk ka tĂ« dhĂ«na tĂ« grumbulluara +theme_xhred_notification_no_favorites = Nuk ka tĂ« dhĂ«na tĂ« parapĂ«lqyera +theme_xhred_global_theme_version = Versioni i temĂ«s + +settings_side_slider_sysinfo_enabled = Trego skedĂ«n e pultit +settings_side_slider_notifications_enabled = Trego skedĂ«n e njoftimeve +settings_side_slider_favorites_enabled = Trego skedarĂ«t e preferencave +settings_side_slider_tabs_hotkeys = Aktivizo hotkey-et pĂ«r kalimin e tabs +settings_side_slider_tabs_hotkeys_description = Ju mund tĂ« pĂ«rdorni hotkeys tĂ« tastierĂ«s pĂ«r tĂ« ndryshuar tabs mbrapa me radhĂ« duke pĂ«rdorur Meta + ⇧ + Tab / Meta + Tab nĂ« rast se opsioni global pĂ«r pĂ«rdorimin e hotkeys Ă«shtĂ« aktivizuar +settings_show_terminal_link = Trego butonin e terminalit + +theme_xhred_sysinfo_system_monitors = VĂ«zhguesit e Sistemit +theme_xhred_sysinfo_server_status = Statusi i shĂ«rbyesve +theme_xhred_sysinfo_software_versions = Versione softuerike +theme_xhred_sysinfo_recent_logins = Hyrjet e fundit +theme_xhred_sysinfo_vm_package_updates = PĂ«rditĂ«simet e Virtualmin Paketa +theme_xhred_sysinfo_disk_quotas = Kuotat e Disk +theme_xhred_sysinfo_bandwidth_quotas = Kuotat e Bandwidth + +left_netdata = Monitorimi nĂ« kohĂ« reale +settings_leftmenu_netdata = Shfaq lidhjen e monitorimit nĂ« kohĂ« reale tĂ« NetdatĂ«s +settings_leftmenu_netdata_link = Lidhja e preferuar e serverit Netdata + +theme_xhred_filemanager_context_chattr = Ndrysho atributet +theme_xhred_filemanager_changing_attributes = Vendosja e atributeve nĂ« % vlera nĂ« skedarĂ«t e zgjedhur. +theme_xhred_filemanager_successful_attributes_with_errors = Atributet nuk janĂ« vendosur me sukses pĂ«r tĂ« gjitha objektet: +theme_xhred_filemanager_successful_attributes = Atributet janĂ« vendosur me sukses. + +theme_xhred_filemanager_context_chcon = Ndrysho kontekstin e sigurisĂ« +theme_xhred_filemanager_changing_secontext = Ndryshimi i kontekstit tĂ« sigurisĂ« nĂ« % vlera nĂ« skedarĂ«t e zgjedhur. +theme_xhred_filemanager_successful_secontext_with_errors = Konteksti i sigurisĂ« nuk Ă«shtĂ« ndryshuar me sukses pĂ«r tĂ« gjitha objektet: +theme_xhred_filemanager_successful_secontext = Konteksti i sigurisĂ« Ă«shtĂ« ndryshuar me sukses. + +theme_xhred_global_no_results_found = Nuk u gjetĂ«n rezultate + + +# 18.40 +theme_new_password_header = Vendos fjalĂ«kalimin e ri pĂ«r pĂ«rdoruesit +login_reset = RimĂ«kĂ«mbja e fjalĂ«kalimeve +theme_xhred_move_top = LĂ«viz nĂ« krye +theme_xhred_move_bottom = LĂ«viz nĂ« fund +theme_xhred_move_up = LĂ«vizni lart +theme_xhred_move_down = Zhvendos poshtĂ« +theme_xhred_add_after = Shto pas +theme_xhred_add_before = Shto pĂ«rpara +settings_button_tooltip = Shfaq butonin e butonit nĂ« butonat +settings_show_night_mode_link = Trego palosjen e kullĂ«s +settings_hotkey_toggle_key_night_mode = Hotkey pĂ«r ndryshimin e gamĂ«s sĂ« errĂ«t / dritĂ« +settings_title = Konfigurimi i temĂ«s +settings_subtitle = PĂ«r pĂ«rdoruesit + +theme_tooltip_night_mode = Modaliteti i ditĂ«s / natĂ«s +theme_tooltip_terminal_link = Terminalit +theme_tooltip_language_link = Gjuha +theme_tooltip_switch_user = Kalo pĂ«rdoruesin +theme_tooltip_logout = Dil jashtĂ« +theme_tooltip_edit_user = Modifiko pĂ«rdoruesin + + +# 18.45 +settings_sysinfo_easypie_charts_size = Diametri i tabelave +theme_xhred_global_choose = Zgjidh +theme_xhred_global_select = Zgjidh +theme_xhred_global_ok = OK +settings_sysinfo_theme_patched_updates = Duke pĂ«rfshirĂ« versionet e patched +settings_sysinfo_theme_patched_updates_description = PĂ«r ta bĂ«rĂ« kĂ«tĂ« opsion tĂ« funksionojĂ«, komanda git duhet tĂ« instalohet nĂ« sistemin tuaj +theme_git_patch_available = Arnimi i fundit i disponueshĂ«m +theme_git_patch_no_git_message = NĂ« mĂ«nyrĂ« qĂ« tĂ« instaloni arna tĂ« fundit direkt nga GitHub ju duhet tĂ« siguroheni qĂ« komanda git Ă«shtĂ« instaluar. +theme_git_patch_update_success_message = PĂ«rditĂ«simi i temĂ«s pĂ«r Webmin ishte i suksesshĂ«m.Versioni i instaluar aktualisht Ă«shtĂ« $ 1 .Ringarkimi... +theme_git_patch_update_success_message2 = PĂ«rditĂ«simi i temĂ«s pĂ«r Webmin dhe Usermin ishte i suksesshĂ«m.Versioni i instaluar aktualisht Ă«shtĂ« $ 1 .Ringarkimi... +theme_xhred_git_patch_update = Azhurnimi i temĂ«s ka dĂ«shtuar.Provoni tĂ« pĂ«rdorni tastierĂ« pĂ«r ta bĂ«rĂ« atĂ« me dorĂ«. +theme_xhred_git_patch_initiated = PĂ«rditĂ«simi i temĂ«s Ă«shtĂ« iniciuar. +theme_xhred_global_prev_page = Kthehu njĂ« faqe +theme_xhred_global_help = NdihmĂ« +settings_right_soft_updates_page_options_title = PĂ«rditĂ«simet e softuerit +theme_xhred_git_compare_changes = Krahasoni ndryshimet +theme_xhred_filemanager_link_to_clipboard = Emri i lidhjes simbolike ` % vlera ` Ă«shtĂ« kopjuar nĂ« clipboard. + + +# 18.46 +theme_left_mail_prefs = Preferencat e postĂ«s +theme_left_mail_change_password = Ndrysho fjalĂ«kalimin +theme_left_mail_account_functions = Funksionet e llogarisĂ« +theme_xhred_global_dir_up = Shko te dosja e mĂ«parshme (Backspace) +theme_xhred_global_module_config = Moduli i konfigurimit +theme_xhred_global_return = kthimit +theme_xhred_global_return_to_module_index = Kthimi nĂ« indeksin e modulit + + +# 18.47 +settings_account_info_link_mini = Shfaq lidhjen e informacionit tĂ« llogarisĂ« si buton +theme_xhred_global_complete_changelog = Ndryshimi i plotĂ« i ndryshimit +theme_xhred_global_beta_version = Versioni Beta +theme_xhred_global_release = Release +theme_xhred_global_released_on = ËshtĂ« lĂ«shuar mĂ« +theme_xhred_global_committed_on = TĂ« angazhuar +theme_xhred_global_resolved_issues = Çështjet e zgjidhura nĂ« lĂ«shimet e vlerĂ«s sĂ«% + + +(2.2) +theme_force_upgrade = Force theme update +theme_force_upgrade_beta = Instalo versionin mĂ« tĂ« fundit tĂ« zhvillimit (beta) +theme_force_upgrade_stable = Instalo versionin e fundit tĂ« lĂ«shimit (tĂ« qĂ«ndrueshĂ«m) +theme_xhred_source_encoding = Encoding burim +theme_update_footer = Ju lutemi tĂ« raportoni fajlli pĂ«r $ 1 depo.Ndiqni kanalin $ 2 tĂ« temĂ«s pĂ«r pĂ«rditĂ«simet e fundit. +theme_xhred_encoding_manually_set = Caktuar kodimin manualisht +theme_xhred_filemanager_save_to_change_encoding = Skeda duhet tĂ« ruhet, me qĂ«llim qĂ« tĂ« lejojĂ« ndryshimin e kodimit. + + +# 18.49 +theme_xhred_filemanager_user_switch = Kalo nĂ« pĂ«rdorues (Ctrl + M) +theme_xhred_filemanager_user_switch_description = Duke pĂ«rzgjedhur emrin e pĂ«rdoruesit tĂ« listuar mĂ« poshtĂ«, do tĂ« kaloni operacione tĂ« mĂ«tejshme pĂ«r t'u kryer si ky pĂ«rdorues. +theme_xhred_filemanager_user_switch_description_back = PĂ«r t'u kthyer nĂ« modalitetin e parazgjedhur zgjidhni opsionin e parĂ« nĂ« pĂ«rzgjedhje. +theme_xhred_filemanager_user_switch_current_user = PĂ«rdoruesi aktual +theme_xhred_filemanager_user_switch_option = Kaloni automatikisht nĂ« modalitetin e pĂ«rdoruesit kur hyni nĂ« dosjen e tij nĂ« shtĂ«pi +theme_xhred_filemanager_editor_align_panels_horizontally = Pranoni Panelet Horizontale +theme_xhred_filemanager_editor_align_panels_vertically = Pranojeni Panelet vertikalisht +theme_xhred_filemanager_editor_toggle_soft_wrap = Toggle Soft pĂ«rfundojĂ« +theme_xhred_filemanager_editor_refresh_content = Rifresko pĂ«rmbajtjen +theme_xhred_filemanager_save_to_refresh_content = Skeda duhet tĂ« ruhet, me qĂ«llim qĂ« pĂ«rmbajtja e tij tĂ« rifreskohet. +theme_xhred_filemanager_save_to_refresh_content_proc = PĂ«rmbajtja e skedarit freskuese. +theme_xhred_global_dark = errĂ«t +theme_xhred_global_light = Drita +theme_xhred_global_minimize = Minimize +theme_xhred_global_maximize = Maximize +theme_xhred_global_normalize = normalizojnĂ« +theme_xhred_global_set_encoding = Cakto kodimin + + +#19.00 +theme_xhred_sysinfo_update_start=System information is being recollected. +theme_xhred_sysinfo_update_end=System information has been recollected successfully. +theme_xhred_sysinfo_update_failed=System information can't be recollected. Try again later. + +theme_xhred_global_development_version=Development version + +right_vm_server_summary=Virtual Server Summary + +settings_webmin_default_module=Default module for Webmin + +theme_xhred_global_unbeforeunload_title=Changes you made may not be saved +theme_xhred_global_unbeforeunload_message=If you continue, unsaved changes on this page could be permanently lost. +theme_xhred_global_continue=Continue + +theme_xhred_global_automatic_refresh=Automatic refresh +theme_xhred_global_second=Second +theme_xhred_global_seconds=Seconds +theme_xhred_global_minute=Minute +theme_xhred_global_minutes=Minutes diff --git a/lang/sv b/lang/sv new file mode 120000 index 000000000..465f811ab --- /dev/null +++ b/lang/sv @@ -0,0 +1 @@ +sv.UTF-8 \ No newline at end of file diff --git a/lang/sv.UTF-8 b/lang/sv.UTF-8 new file mode 100644 index 000000000..87e7d88c3 --- /dev/null +++ b/lang/sv.UTF-8 @@ -0,0 +1,724 @@ +body_cp=CPU +body_cpu=Genomsnittlig CPU-anvĂ€ndning +body_cpuinfo=Processorinformation +body_cputemps=CPU-temperaturer +body_cputype=$5, $8 kĂ€rnor +body_disk=Lokalt diskutrymme +body_driveerr=$1 fel! +body_drivefailed=SMART-kontroll misslyckades! +body_drivetemps=Disktemperaturer +body_firewall=BrandvĂ€ggsversion +body_header0=Systeminformation +body_header1=Kontoinformation +body_host=SystemvĂ€rdnamn +body_kernel=KĂ€rna och CPU +body_kernelon=$1 $2 pĂ„ $3 +body_load=$1 (1 min) $2 (5 min) $3 (15 min) +body_os=Operativsystem +body_procs=Processer som körs +body_real=Minne +body_time=Systemtid +body_updates=Paketuppdateringar +body_updays=$1 dagar, $2 timmar, $3 minuter +body_uphours=$1 timmar, $2 minuter +body_upmins=$1 minuter +body_upneed=$1 paketuppdateringar finns tillgĂ€ngliga +body_upneed1=$1 paketuppdater finns tillgĂ€nglig +body_upok=All installerade paket Ă€r uppdaterade +body_upsec=$1 paketuppdateringar finns tillgĂ€ngliga, varav $2 Ă€r sĂ€kerhetsuppdateringar +body_upsec1=$1 paketuppdateringar finns tillgĂ€ngliga, varav $2 Ă€r sĂ€kerhetsuppdatering +body_upsec2=$1 paketuppdatering finns tillgĂ€nglig, varav $2 Ă€r sĂ€kerhetsuppdateringar +body_upsec3=$1 paketuppdatering finns tillgĂ€nglig, varav $2 Ă€r sĂ€kerhetsuppdatering +body_uptime=Systemupptid +body_used=$1 totalt / $2 anvĂ€nt +body_used_and_free=$1 totalt / $2 ledigt / $3 anvĂ€nt +body_usermin=Usermin-version +body_virt=Virtuellt minne +body_webmin=Webmin-version + +left_favorites=Favoriter +left_favorites_no=Det finns inga tillagda favoriter... +left_feedback=Skicka feedback +left_home=Systeminformation +left_others=Andra +left_refresh_modules=Uppdatera moduler +left_search=Sök +left_statistics=Systemstatistik + +login_danger=Varning! +login_message=Du mĂ„ste ange ett anvĂ€ndarnamn och lösenord för att logga in pĂ„ servern pĂ„ +login_pass=Lösenord +login_save=Kom ihĂ„g mig +login_signin=Logga in +login_success=Lyckad! +login_token=Token +login_user=AnvĂ€ndarnamn +login_warning=Varning! + +right_aliases=Alias-servrar +right_bw=BandbreddsanvĂ€ndning och begrĂ€nsningar +right_dom=Ditt servernamn +right_faliases=E-postalias +right_fdbs=Databaser +right_fdoms=Virtuella servrar +right_from=Inloggad frĂ„n +right_fusers2=FTP-anvĂ€ndare +right_fusers=E-post-/FTP-anvĂ€ndare +right_fvm2=Virtuella datorer +right_fweb=Virtuella webbplatser +right_licenceheader_vm2=Cloudmin licenser +right_login=Inloggad som +right_not=Inte installerad +right_of=$1 av $2 +right_quota=DiskanvĂ€ndning och kvoter +right_reselip=(Reseller $1) +right_sharedip=(Delat IP) +right_slcheck=Omkontrollera Cloudmin-licensen +right_subs=Sub-servrar +right_virtdocs2=Ytterligare dokumentation +right_virtualmin=Virtualmin-version +right_vlcheck=Omkontrollera Virtualmin-licensen +right_vm2=Cloudmin-version + +session_failed=Inloggningen misslyckades. Försök igen. +session_logout=Du har loggats ut. AnvĂ€nd rutan hĂ€r under för att logga in igen. +session_timed_out=Sessionen har gĂ„tt ut efter $1 minuter av inaktivitet. +session_twofailed=TvĂ„faktorsautentisering misslyckades: $1 + + + + + + + + + + +settings_right_options=Alternativ +settings_right_restore_defaults=ÅterstĂ€ll standardinstĂ€llningar +settings_right_restored=ÅterstĂ€lld +settings_right_restoring=ÅterstĂ€ller +settings_right_saved=Sparad +settings_right_saving=Sparar + +settings_right_theme_extensions=TematillĂ€gg +settings_right_theme_extensions_title=TematillĂ€gg +settings_right_file_edit=Redigera tillĂ€ggsfil: +settings_right_extensions_title=Theme extensive design, gör det lĂ€tt för dig att Ă€ndra pĂ„ utvalda delar i grĂ€nssnittet. + +settings_right_theme_logos=Temalogotyper +settings_right_theme_logos_title=Temalogotyper +settings_right_logos_title=Temalogotyper sĂ€tter du enkelt hĂ€r, för bĂ„de, behöriga och obehöriga anvĂ€ndare. Rekommenderas logotypstorlek Ă€r180x90 pixlar och bildformatet mĂ„ste vara .png, för att förse alfagenomskinlighet. +settings_right_logo_authenticated_users=Logotyper för autentiserade anvĂ€ndare +settings_right_logo_unauthenticated_users=Logotyper för obehöriga anvĂ€ndare + +settings_right_current_theme=Aktuellt tema +settings_right_title=Denna sida lĂ„ter dig stĂ€lla in alternativ för Authentic Theme. InstĂ€llningarna sparas vid temauppdateringen. +settings_right_theme_left_configuration_title=Konfiguration av Authentic Theme +settings_right_theme_left_extensions_title=TillĂ€ggsredigerare för Authentic Theme +settings_right_theme_left_logo_title=Logotypkontroll av Authentic Theme +settings_right_theme_configurable_options_title=Konfigurerbara alternativ för Authentic Theme + + +settings_right_window_options_title=Fönsteralternativ +settings_right_navigation_menu_title=Navigeringsmenyalternativ +settings_right_table_options_title=Tabellalternativ +settings_security_title=Alternativ för sĂ€kerhetsvarningar +settings_security_description=SĂ€kerhetsvarningar lĂ„ter dig stĂ€lla in e-postaviseringar pĂ„ vissa hĂ€ndelser. (Linux mail-kommandot krĂ€vs för den hĂ€r funktionen ska fungera)
    Format: Meddelande|Ämne|Kommaseparerad lista med anvĂ€ndare/e-postadresser|Kommaseparerad lista av ignorerade IPv4/IPv6
    AnvÀndning: %3 lyckad inloggningsmeddelande för anvÀndare %1 frÄn %2|%3 lyckad inloggningsmeddelande|root,anvÀndare@exempel.se|1.2.3.4,5.6.7.8
    Output: FrĂ„n: root, Till: root, Ämne: Webmin lyckad inloggningsmeddelande, Meddelande: Webmin lyckad inloggningsmeddelande för anvĂ€ndaren root frĂ„n 2.3.4.5 +settings_right_hotkey_options_title=Snabbtangentalternativ +settings_right_sysinfo_page_options_title=Alternativ för systeminformationsidan + +settings_right_hotkey_custom_options_description=Egna lĂ€nkar lĂ„ter dig anvĂ€nda siffror frĂ„n 1 till 9 för att du snabbt ska fĂ„ tillgĂ„ng till en giltig Webmin/Usermin/Virtualmin/Cloudmin URL. URL:en kan du fĂ„ ut frĂ„n den öppnade högra innehĂ„llssidan, genom att lĂ€sa dess kĂ€lla. Det Ă€r viktigt att URL:en inte har ett snedstreck i början och att den inte anvĂ€nder prefix. Till exempel, att snabbvĂ€xla till Apache, ange i fĂ€ltet Egen lĂ€nk 1 /apache/. Om kombinationstangenten Ă€r satt till Alt, trycker du pĂ„ Alt+1 och modulen Apache kommer att öppnas +settings_hotkey_custom_1=Egen lĂ€nk 1 +settings_hotkey_custom_2=Egen lĂ€nk 2 +settings_hotkey_custom_3=Egen lĂ€nk 3 +settings_hotkey_custom_4=Egen lĂ€nk 4 +settings_hotkey_custom_5=Egen lĂ€nk 5 +settings_hotkey_custom_6=Egen lĂ€nk 6 +settings_hotkey_custom_7=Egen lĂ€nk 7 +settings_hotkey_custom_8=Egen lĂ€nk 8 +settings_hotkey_custom_9=Egen lĂ€nk 9 + +settings_navigation_color=FĂ€rgpalett för navigeringsmeny +settings_background_color=FĂ€rgpalett för innehĂ„llssida +settings_animation_left=Aktivera animation i navigeringsmenyn +settings_animation_tabs=Aktivera animation i flikar +settings_loader_top=Aktivera förloppsindikator överst pĂ„ skĂ€rmen +settings_loader_left=Aktivera roterande ikon för navigeringsmenyn +settings_right_reload=Ladda standard innehĂ„llssida +settings_right_reload_description=NĂ€r du byter flikar, uppdateras den högra sidan. BehĂ„ll inte den nuvarande högra sidans innehĂ„ll och uppdatera den som standard? + +settings_right_hide_table_icons=Dölj tabellikonerna för högra ramen +settings_right_hide_table_icons_description=Ta bort samtliga ikoner frĂ„n tabellerna och visa i stĂ€llet endast textlĂ€nkar med en högersparre +settings_right_small_table_icons=SmĂ„ tabellikoner +settings_right_small_table_icons_description=ErsĂ€tt tabellikonerna med smĂ„ ikoner och visa i stĂ€llet namnet som ett verktygstips +settings_right_animate_table_icons=Animera tabellikonerna nĂ€r de hamnar i fokus +settings_right_grayscaled_table_icons=LĂ„t tabellikonerna vara grĂ„a och ta fram fĂ€rgen nĂ€r den hamnar i fokus + +settings_leftmenu_section_hide_refresh_modules=Dölj uppdateringslĂ€nk +settings_leftmenu_section_hide_unused_modules=Dölj oanvĂ€nda moduler +settings_favorites=Visa favoritknapp +settings_leftmenu_button_language=Visa sprĂ„kknapp +settings_leftmenu_button_refresh=Visa uppdateringsknapp + +settings_theme_options_button=Visa instĂ€llningsknapp för temat + +settings_hotkeys_active=Aktivera anvĂ€ndning av snabbtangenter +settings_hotkey_toggle_modifier=Kombinationstangent +settings_hotkey_toggle_key_webmin=Snabbtangent för Webmin +settings_hotkey_toggle_key_virtualmin=Snabbtangent för Virtualmin +settings_hotkey_toggle_key_cloudmin=Snabbtangent för Cloudmin +settings_hotkey_toggle_key_usermin=Snabbtangent för Usermin +settings_hotkey_toggle_key_webmail=Snabbtangent för E-post +settings_hotkey_sysinfo=Snabbtangent för Översikt +settings_hotkey_shell=Snabbtangent för skal +settings_hotkey_favorites=Snabbtangent för favoriter +settings_hotkey_focus_search=Snabbtangent för sökfĂ€lt +settings_hotkey_reload=Snabbtangent för siduppdatering + +settings_side_slider_background_refresh_time=Timeout för uppdateringar av bakgrundsinformation +settings_side_slider_background_refresh_time_description=StĂ€ll in önskad timeout för uppdatering av aviseringar i bakgrunden. Tiden Ă€r i minuter och lĂ€gsta tiden Ă€r 1 minut. StandardvĂ€rdet Ă€r 5 minuter. Det gĂ„r Ă€ven bra att anvĂ€nda decimalvĂ€rden. +settings_sysinfo_easypie_charts=Visa diagram +settings_sysinfo_theme_updates=Se om det finns uppdateringar till Authentic Theme +settings_sysinfo_csf_updates=Se om det finns uppdateringar till ConfigServer Security & Firewall +settings_sysinfo_drive_status_on_new_line=Visa CPU och diskstatus pĂ„ varsin rad +settings_sysinfo_expand_all_accordions=Expandera alla ihopfĂ€llda menyer +settings_sysinfo_link_mini=Visa systeminformationslĂ€nk som en knapp + +settings_right_page_defaults_title=Standardsidor +settings_right_default_tab_webmin=Standardflik vid inloggning i Webmin +settings_right_default_tab_usermin=Standardflik vid inloggning i Usermin +settings_right_virtualmin_default=Standardsida för Virtualmin +settings_right_cloudmin_default=Standardsida för Cloudmin + +settings_right_clear_local_cache=Rensa buffert +settings_right_notification_slider_options_title=Sidomenyalternativ +settings_side_slider_fixed=Visa alltid sidomeny +settings_side_slider_palette=Sidomenypalett +settings_hotkey_toggle_slider=Snabbtangent för sidomeny +settings_window_replace_timestamps=Aktivera datumsubstitutioner +settings_window_replaced_timestamp_format_short=Kort datum/tids-format +settings_window_replaced_timestamp_format_full=Fullt datum/tids-format +settings_window_replaced_timestamps_options_description=Justera full/kort datum och tid till önskat visnings-format. Detta alternativ pĂ„verkar inbyggda funktioner som Sidoaviseringsmenyn och Systeminformationsidan (pĂ„ raden Systemtiden). Som standard Ă€r, fullformat det samma som LLLL och som kort Ă€r det L, LTS. Tidsformat Ă€r olika för olika sprĂ„k. SprĂ„ket baseras pĂ„ Webmins sprĂ„kinstĂ€llningar. + +settings_side_slider_enabled=Aktivera sidomeny +settings_leftmenu_user_html=Visa HTML-utdrag +settings_leftmenu_user_html_description=User defined text or HTML code will be injected to the bottom of the navigation menu. It can be used for identification purposes. For example, to make explicitly show your hostname, you could add to the field <br><kbd>hostname:10000</kbd> + + +theme_changelog=Ändringslogg +theme_conference=Temakonferens +theme_development_support=Utvecklingsstöd +theme_donate=Donera +theme_download=Ladda ner +theme_name=Authentic Theme +theme_update=Uppdatera +theme_update_available=Senaste tillgĂ€ngliga version +theme_update_notice=Uppdateringsmeddelande +theme_version=Temaversion + + +# Version 17.40 +theme_global_error=Fel +theme_global_warning=Varning +theme_global_success=Lyckades +theme_global_info=Information +sysinfo_system_status_warning=För att visa Systeminformation mĂ„ste du aktivera modulen Systemstatus i anvĂ€ndarinstĂ€llningar. +settings_leftmenu_user_html_only_for_administrator=Visa HTML-utdrag endast för administratörer +theme_sysinfo_wmdocs=Webmin-dokumentation +theme_sysinfo_vmdocs=Virtualmin-dokumentation +theme_sysinfo_cmdocs=Cloudmin-dokumentation +theme_fileformat_css=CSS +theme_fileformat_json=JSON +theme_fileformat_js=Javascript +theme_fileformat_plain_text=Oformatterad text + +theme_xhred_titles_wm=Webmin +theme_xhred_titles_um=Usermin +theme_xhred_titles_dashboard=Översikt +theme_xhred_titles_mail=E-post +theme_xhred_titles_vm=Virtualmin +theme_xhred_titles_cm=Cloudmin +theme_xhred_titles_thirdlane=Thirdlane + +theme_xhred_global_please_wait=VĂ€nta... +theme_xhred_filemanager_copying_selected=Kopierar markerade. +theme_xhred_filemanager_cutting_selected=Klipper ut markerade. +theme_xhred_filemanager_pasting_selected=Klistrar in frĂ„n urklippet. +theme_xhred_filemanager_unpacking_archive=Packar upp markerad(e) fil(er). +theme_xhred_filemanager_deleting_selected=Tar bort markerade. +theme_xhred_filemanager_renaming_selected=Döper om markerade. +theme_xhred_filemanager_creating_directory=Skapar katalog +theme_xhred_filemanager_creating_file=Skapar fil +theme_xhred_filemanager_downloading_from=Laddar ner frĂ„n +theme_xhred_filemanager_setting_permissions=SĂ€tter behörigheterna till %value pĂ„ markerad(e) fil(er). +theme_xhred_filemanager_changing_ownership=Ändrar Ă€gare till %value pĂ„ markerad(e) fil(er). +theme_xhred_filemanager_compressing_selected=Komprimmerar markerade i bakgrunden. +theme_xhred_filemanager_refreshing=Uppdaterar innehĂ„llet i katalogen. +theme_xhred_filemanager_copying_successful=Kopieringen till urklippet lyckades. +theme_xhred_filemanager_cutting_successful=Klippa ut till urklippet lyckades. +theme_xhred_filemanager_pasting_successful=Klistra in frĂ„n urklippet lyckades. +theme_xhred_filemanager_bookmark_success=Katalogen %value har lagts till dina bokmĂ€rken. +theme_xhred_filemanager_searching=Sökresultatet för `%value` matchade namnet pĂ„ filer/kataloger. +theme_xhred_filemanager_search_founds=Hittade %value trĂ€ffar. +theme_xhred_filemanager_search_found=Hittade 1 trĂ€ff. +theme_xhred_filemanager_search_no_matches=Inga trĂ€ffar hittades. +theme_xhred_filemanager_nothing_is_selected=Inget Ă€r valt! +theme_xhred_filemanager_saving_file=Filen `%value` har sparats. +theme_xhred_filemanager_file_saved=Filen `%value` har blivit sparad. +theme_xhred_filemanager_not_editable=Det gĂ„r inte att Ă€ndra denna typ av val. +theme_xhred_filemanager_not_decompressable=Det gĂ„r inte att packa upp denna typ av fil. +theme_xhred_filemanager_no_selection_to_copy=Inga kataloger/filer har valts för att kopieras. +theme_xhred_filemanager_no_selection_to_cut=Inga kataloger/filer har valts att klippas ut. +theme_xhred_filemanager_empty_clipboard=Urklippet Ă€r tomt. + +theme_xhred_filemanager_successful_extraction=Uppackningen av markerad(e) fil(er) lyckades. +theme_xhred_filemanager_successful_deletion=Borttagningen lyckades. +theme_xhred_filemanager_successful_permissions=Behörigheten har blivit Ă€ndrad. +theme_xhred_filemanager_successful_ownership=Ägaren har blivit Ă€ndrad. +theme_xhred_filemanager_successful_compression=Komprimeringen slutfördes. +theme_xhred_filemanager_successful_directory_creation=Katalogen `%value` har skapats. +theme_xhred_filemanager_successful_file_creation=Filen `%value` har skapats. + +theme_xhred_notifications_packages_updates=Paketuppdatering +theme_xhred_notifications_theme_update=Temauppdatering +theme_xhred_notifications_theme_update_message=En ny version %v av Authentic Theme finns tillgĂ€nglig. Uppdatera. +theme_xhred_notifications_firewall_update=BrandvĂ€ggsuppdatering +theme_xhred_notifications_firewall_update_message=En ny version %v av ConfigServer Server Security och Firewall finns tillgĂ€nglig. Uppdatera. + +theme_xhred_notifications_firewall_danger=BrandvĂ€ggsfara +theme_xhred_notifications_firewall_danger_message=Det verkar som att ConfigServer Server Security och Firewall inte körs eller har blivit stoppad! LĂ€mna inte din server oskyddad, kontrollera brandvĂ€ggsinstĂ€llningarna (%v) + +theme_xhred_notifications_firewall_warning=BrandvĂ€ggsvarning + +#17.50 +settings_grayscale_level_navigation=Filter för grĂ„skala +settings_grayscale_level_navigation_description=Standard/nuvarande vĂ€rde 0/0 +settings_sepia_level_navigation=Filter för sepia +settings_sepia_level_navigation_description=Standard/nuvarande vĂ€rde 0/0 +settings_saturate_level_navigation=Filter för mĂ€ttnad +settings_saturate_level_navigation_description=Standard/nuvarande vĂ€rde 1/0 +settings_hue_level_navigation=Filter för nyans +settings_hue_level_navigation_description=Standard/nuvarande vĂ€rde 0°/0° +settings_invert_level_navigation=Filter för invertera +settings_invert_level_navigation_description=Standard/nuvarande vĂ€rde 0/0 +settings_brightness_level_navigation=Filter för ljusstyrka +settings_brightness_level_navigation_description=Standard/nuvarande vĂ€rde 1/0 +settings_contrast_level_navigation=Filter för kontrast +settings_contrast_level_navigation_description=Standard/nuvarande vĂ€rde 1/0 + +settings_grayscale_level_content=Filter för grĂ„skala +settings_grayscale_level_content_description=Standard/nuvarande vĂ€rde 0/0 +settings_saturate_level_content=Filter för mĂ€ttnad +settings_saturate_level_content_description=Standard/nuvarande vĂ€rde 1/0 +settings_hue_level_content=Filter för nyans +settings_hue_level_content_description=Standard/nuvarande vĂ€rde 0°/0° + +settings_cm_view_palette=Visa fĂ€rgpalett +settings_cm_editor_palette=Redigera fĂ€rgpalett + +theme_xhred_filemanager_context_select_all=Markera alla +theme_xhred_filemanager_context_select_invert=Invertera +theme_xhred_filemanager_context_refresh=Uppdatera +theme_xhred_filemanager_context_newfile=Skapa ny fil +theme_xhred_filemanager_context_newfoder=Skapa ny katalog +theme_xhred_filemanager_context_copy=Kopiera +theme_xhred_filemanager_context_cut=Klipp ut +theme_xhred_filemanager_context_paste=Klistra in +theme_xhred_filemanager_context_chmod=Ändra behörigheter +theme_xhred_filemanager_context_chown=Ändra Ă€gare + +#17.51 +theme_xhred_filemanager_context_new=Ny +theme_xhred_filemanager_context_newarchive=Skapa nytt arkiv +theme_xhred_filemanager_context_delete=Ta bort +theme_xhred_filemanager_context_rename=Döp om +theme_xhred_filemanager_context_edit=Redigera +theme_xhred_filemanager_context_extract=Packa upp +theme_xhred_filemanager_context_goto=Öppna objektplats +theme_xhred_filemanager_context_properties=Egenskaper +theme_xhred_filemanager_context_search=Sök + +#17.52 +theme_xhred_filemanager_context_deselect_all=Avmarkera alla +theme_xhred_filemanager_context_upload=Ladda upp till nuvarande katalog +theme_xhred_filemanager_context_download=Ladda ner frĂ„n fjĂ€rr-URL + +#17.53 +theme_settings_virtualmin=Virtualmin Virtual Servers +theme_settings_cloudmin=Cloudmin Managed Systems +settings_right_thirdparties_options_title=Tredjeparts modulalternativ +theme_xhred_filemanager_context_calculate_size=BerĂ€kna storleken med mellanslagstangenten +theme_xhred_filemanager_context_bookmarks=BokmĂ€rken +theme_xhred_filemanager_context_bookmark_current=Bokmarkera den nuvarande öppna sökvĂ€gen +theme_xhred_filemanager_context_transfer=Överför + +#17.54 +theme_xhred_filemanager_title_symlink_target=LĂ€nka mĂ„let + +#17.60 +right_unlimited=ObegrĂ€nsad +settings_leftmenu_width=ÖnskvĂ€rd bredd +settings_leftmenu_width_description=Standard/nuvarande bredd 260/0 +settings_switch_rdisplay=OmvĂ€nd utdata +settings_switch_rdisplay_description=Detta alternativet lĂ„ter dig Ă€ndra ordningen pĂ„ knapparna till vĂ€nster. NĂ€r du har Ă€ndrat detta alternativet, mĂ„ste en fullstĂ€ndig uppdatering av sidan göras för att de nya instĂ€llningarna ska fungera. + +#17.63 +theme_xhred_filemanager_context_calculate_selected_size=BerĂ€kna storlek pĂ„ markerade +theme_xhred_filemanager_selected_entries=Markerade: %value poster +theme_xhred_filemanager_manual_path=Ange sökvĂ€gen manuellt + +theme_xhred_datatable_semptytable=No data available in table +theme_xhred_datatable_sinfo=Visar _START_ till _END_ av _TOTAL_ poster +theme_xhred_datatable_sinfoempty=Visar 0 till 0 av 0 poster +theme_xhred_datatable_slengthmenu=Visa _MENU_ poster +theme_xhred_datatable_sloadingrecords=Laddar +theme_xhred_datatable_sprocessing=Bearbetar... +theme_xhred_datatable_szerorecords=Inga matchande uppgifter funna + +#17.64 +theme_xhred_filemanager_file_edit_but_not_saved=Filen har Ă€ndrats men har inte blivit sparad. +theme_xhred_filemanager_file_edit_but_not_saved_what_to_do=Vad vill du göra? +theme_xhred_global_save=Spara +theme_xhred_global_save_and_close=Spara och stĂ€ng +theme_xhred_global_close_without_saving=StĂ€ng utan att spara +theme_xhred_global_continue_editing=FortsĂ€tt redigera +theme_xhred_filemanager_context_download_file=Ladda ner + +#17.65 +settings_sysinfo_easypie_charts_width=Diagrambredd +settings_sysinfo_easypie_charts_scale=SkallĂ€ngd pĂ„ diagram + +#17.80 +right_return_theme_options=temaalternativ +theme_xhred_datatable_semptydirectory=Katalogen Ă€r tom +theme_xhred_filemanager_context_clipboard=Kopiera sökvĂ€g till urklippet +theme_xhred_global_warning=Varning +theme_xhred_global_close=StĂ€ng +theme_xhred_encoding_warning=UpptĂ€ckte att du anvĂ€nder teckenuppsĂ€ttning non-unicode, vilket inte rekommenderas. Konstiga tecken  kan förekomma i textredigeringslĂ€ge och/eller andra kodningsproblem kan förekomma.

    Ändra sprĂ„k i %prod -konfigurationen till %lang.UTF-8 och se till att din webblĂ€sare ocksĂ„ kĂ€nner av det rĂ€tt.

    Var uppmĂ€rksam pĂ„ att den Webmin inbyggda modulen som heter Ändra sprĂ„k och tema kan kan Ă„sidosĂ€tta de globala instĂ€llningarna.
    + +theme_xhred_filemanager__no_bookmarks=Inga sparade bokmÀrken +theme_xhred_filemanager_unbookmark_success=Katalogen %value har tagits bort frÄn dina bokmÀrken. +theme_xhred_filemanager_bookmark=Bokmarkera nuvarande katalog +theme_xhred_filemanager_unbookmark=Ta bort bokmÀrket för nuvarande katalog +theme_xhred_filemanager_move_into_self=Du kan inte flytta en katalog till sig sjÀlv! Destinationskatalogen Àr inne i kÀllkatalogen. +theme_xhred_filemanager_pasting_and_copying_1=Markerad kÀlla har blivit inklistrad med det nya namnet. +theme_xhred_filemanager_pasting_and_copying_2=Markerade kÀllor har blivit inklistrade med de nya namnen. +theme_xhred_filemanager_pasting_and_replacing_1=Befintligt mÄl har ersatts med en ny. +theme_xhred_filemanager_pasting_and_replacing_2=Befintliga mÄl har ersatts med nya. +theme_xhred_filemanager_target_conflict_1=mÄl-konflikt +theme_xhred_filemanager_target_conflict_2=mÄl-konflikter +theme_xhred_filemanager_target_conflict_message_1=Inklistrat mÄl existerar redan! Vad vill du göra? +theme_xhred_filemanager_target_conflict_message_2=Inklistrade mÄl existerar redan! Vad vill du göra? +theme_xhred_filemanager_target_conflict_replace=SlÄ ihop och ersÀtta +theme_xhred_filemanager_target_conflict_paste=Klistra in med nytt namn + +theme_xhred_editor_help_title=Editor Keyboard Shortcuts +theme_xhred_editor_help_content=
    Find/Replace
    Keypress Command
    Ctrl + F Find
    Ctrl + H Replace
    Ctrl + ⇧ + R Replace all
    Ctrl + G Find next
    Ctrl + ⇧ + G Find previous
    Alt + G Jump to line
    Text manipulation
    Keypress Command
    Ctrl + KU Transform to Uppercase
    Ctrl + KL Transform to Lowercase
    Editing
    Keypress Command
    Ctrl + Space Activate autocompletion
    Ctrl + X Cut line
    Ctrl + ⇧ + ↑ Move line/selection up
    Ctrl + ⇧ + ↓ Move line/selection down
    Ctrl + L Select line - Repeat to select next lines
    Ctrl + D Select word - Repeat select others occurrences
    Ctrl + M Jump to closing parentheses Repeat to jump to opening parentheses
    Ctrl + ⇧ + M Select all contents of the current parentheses
    Ctrl + ⇧ + K Delete Line
    Ctrl + KK Delete from cursor to end of line
    Ctrl + K + Backspace Delete from cursor to start of line
    Ctrl + ⇧ + D Duplicate line(s)
    Ctrl + J Join line below to the end of the current line
    Ctrl + / Comment/un-comment current line
    Ctrl + ⇧ + / Block comment current selection
    Ctrl + Y Redo, or repeat last keyboard shortcut command
    Ctrl + ⇧ + V Paste and indent correctly
    Ctrl + Space Select next auto-complete suggestion
    Ctrl + U soft undo; jumps to your last change before undoing change when repeated
    + +theme_xhred_filemanager_hide_toolbar=Dölj verktygsfÀlt +theme_xhred_filemanager_hide_actions=Dölj ÄtgÀrdskolumn +theme_xhred_filemanager_hovered_toolbar=Aktivera rullgardinsmenyn i verktygsfÀltet nÀr musen Àr ovanför +theme_xhred_filemanager_context_delete_selected=Ta bort markerade + +#17.83 +theme_xhred_database_adding_new_row=LÀgg till ny rad +theme_xhred_database_editing_row=Redigera markerad rad +theme_xhred_database_editing_rows=Redigera markerade rader +theme_xhred_database_adding_new_row_data=Ange vÀrde + +#17.84 +theme_xhred_datatable_filter=Filter + +theme_xhred_global_update=Uppdatera +theme_xhred_global_update_and_return=Uppdatera och ÄtergÄ +theme_xhred_global_update_and_close=Uppdatera och stÀng +theme_xhred_global_back=BakÄt +theme_xhred_global_cancel=Avbryt + +theme_xhred_database_add_row_successful=Ny rad har blivit tillagd +theme_xhred_database_edit_row_successful=Markerad rad har blivit uppdaterad +theme_xhred_database_edit_rows_successful=Markerade rader har blivit uppdaterad +theme_xhred_database_edit_row_delete_successful=Markerad rad har tagits bort +theme_xhred_database_edit_rows_delete_successful=Tog bort %n markerade rader +theme_xhred_database_edit_field_delete_successful=Markerat fÀlt har tagits bort +theme_xhred_database_edit_fields_delete_successful=Tog bort %n markerade fÀlt +theme_xhred_database_edit_selected_row=Redigera markerad rad +theme_xhred_database_edit_selected_rows=Redigera markerade rader +theme_xhred_database_add_new_row=LÀgg till rad +theme_xhred_database_delete_selected_row=Ta bort markerad rad +theme_xhred_database_delete_selected_rows=Ta bort markerade rader +theme_xhred_database_delete_selected_field=Ta bort markerat fÀlt +theme_xhred_database_delete_selected_fields=Ta bort markerat fÀlt +theme_xhred_database_object_selected_delete=Ta bort markerat objekt +theme_xhred_database_objects_selected_delete=Ta bort markerade objekt +theme_xhred_database_db_selected_drop=SlÀpp markerad databas +theme_xhred_database_dbs_selected_drop=SlÀpp markerade databaser +theme_xhred_database_edit_but_not_saved=Tabelldatan har redigerats men inte sparats. + +theme_xhred_global_no_such_command=Det verkar som att den körbara filen %cmd inte Àr installerad eller den finns inte i systemsökvÀgen. + +theme_xhred_global_notice=Notera + +theme_xhred_updates_disabled_notice=UpptÀckte att du har stÀngt av aviseringar för uppdateringar av Authentic Theme?

    Aktivera detta i Temakonfigurationen hjÀlper dig att uppdatera till senaste versionen i ett klick sÄ fort den Àr slÀppt. + + +#18.00 +theme_xhred_global_file=Fil +theme_xhred_global_directory=Katalog +theme_xhred_global_no_target=Target doesn't exist or not accessible +theme_xhred_global_error_code=Felkod +theme_xhred_global_on=PÄ +theme_xhred_global_off=Av +theme_xhred_global_all=Alla +theme_xhred_global_none=Ingen +theme_xhred_global_yes=Ja +theme_xhred_global_no=Nej + +theme_xhred_filemanager_new_tab=LÀgg till ny flik (Ctrl+Mellanslag) +theme_xhred_datatable_no_search_results=Hittade inga trÀffar
    Försök sök efter nĂ„got annat + +theme_xhred_filemanager_buffer_error=Det gick inte att klistra in filer till bufferten - Ă„tkomst nekad. + +filemanager_create_object_exists=$3 `$1` finns redan i `$2` +filemanager_create_object_denied=Kan inte skapa $3 `$1` i `$2` - Ă„tkomst nekad. + +filemanager_paste_warning=Det gick inte att klistra in mĂ„l(en). Det Ă€r möjligt att de begĂ€rda objekten har blivit omdöpta, flyttade eller borttagna medan/innan du klistrade in. En annan möjlig orsak Ă€r att destinationen Ă€r skrivskyddad. Det Ă€r vĂ€rt att ta en titt pĂ„ objektens attribut. + +theme_xhred_filemanager_delete_warning=Borttagning av filer Ă€r utförda men inte för alla objekten. Det Ă€r möjligt att de begĂ€rda objekten har blivit omdöpta eller flyttade innan borttagningen. BegrĂ€nsad behörighet (attribut) Ă€r en annan möjlig orsak. Felmeddelande: + + +filemanager_rename_exists=$3 med namnet `$1` finns redan i `$2` +filemanager_rename_denied=Can not rename the $3. This might happen because the source $3 has been removed or due to restricted permissions. + +theme_xhred_filemanager_successful_rename=Döper om `%from` till `%to` utan problem. + +filemanager_global_info_total1=Totalt: $1 fil och $2 katalog +filemanager_global_info_total2=Totalt: $1 filer och $2 katalog +filemanager_global_info_total3=Totalt: $1 fil och $2 kataloger +filemanager_global_info_total4=Totalt: $1 filer och $2 kataloger + +theme_xhred_filemanager_selected_entry=Markerade: %value post + +theme_xhred_filemanager_search_query=Sök efter +theme_xhred_filemanager_search_match=Hitta i resultatet +theme_xhred_filemanager_search_replace=ErsĂ€tt i resultatet + +theme_xhred_global_find=Sök +theme_xhred_global_replace=ErsĂ€tt + +theme_xhred_filemanager_searching_matching=Söker efter `%value` som matchar namnet i filer/kataloger, som innehĂ„ller texten `%text`. +theme_xhred_filemanager_searching_replacing=ErsĂ€tter Replacing trĂ€ffar `%text` med `%replace` i filer med namn som innehĂ„ller `%value`. + +theme_xhred_filemanager_search_replaced_multi=Hittat och ersatt i %value filer. +theme_xhred_filemanager_search_replaced=Hittat och ersatt i 1 fil. + +theme_xhred_filemanager_successful_permissions_with_errors=Behörigheten har Ă€ndrats men inte pĂ„ alla objekten: + +theme_xhred_filemanager_successful_ownership_with_errors=ÄganderĂ€tten har Ă€ndrats för alla objekten: +theme_xhred_filemanager_successful_ownership_with_errors_fatal=ÄganderĂ€tten kan inte Ă€ndras pĂ„ grund av följande fel: + +theme_xhred_filemanager_successful_compression_with_errors=Komprimeringen har slutförs med följande fel: +theme_xhred_filemanager_successful_compression_bg=Komprimering har Ă€r klar. Komprimerad fil `%file finns i katalogen `%path`. +theme_xhred_filemanager_successful_compression_bg_with_errors=Komprimering Ă€r klar med fel. Komprimerad fil `%file borde finnas i katalogen `%path`. + +theme_xhred_filemanager_settings_notification_type=Vad för typ av aviseringar ska visas +theme_xhred_filemanager_settings_notification_type_inf_warn_err=Information, varningar och fel +theme_xhred_filemanager_settings_notification_type_warn_err=Varningar och fel +theme_xhred_filemanager_settings_notification_type_err=Endast fel + +theme_xhred_filemanager_settings_tabs_remember_state=ÅterstĂ€ll föregĂ„ende anvĂ€nd flik vid uppstart +theme_xhred_filemanager_context_open_new_tab=Öppna i ny flik + +theme_xhred_xsql_fit_content_screen_height=Fit database table content in screen height + +theme_xhred_datatable_filter_visible_tables=Filtrera synlig(a) tabell(er) +theme_xhred_module_help=ModulhjĂ€lp + +theme_xhred_server_process_running=Serverprocessen körs fortfarande? Är du sĂ€ker pĂ„ att du vill lĂ€mna sidan och missa all information om processen? Även om du lĂ€mnar nu avslutas inte processen. + + +#18.03 +settings_global_options_title=Globala alternativ +settings_global_passgen_format=Lösenordsskapare +settings_global_passgen_format_description=Ange lĂ€ngden och teckentypen som ska anvĂ€ndas i det nya lösenordet. Första vĂ€rdet Ă€r numeriskt, vilket Ă€r lĂ€ngden pĂ„ lösenordet, och direkt efter följer | som en avgrĂ€nsare. Sen kommer texentypen, dĂ€r du kan anvĂ€nda siffrorna 0-9, bokstĂ€verna a-z och/eller A-Z, och Ă€ven specialtecknen #. Dessa uppsĂ€ttningar kan anvĂ€ndas tillsammans eller var för sig, med hjĂ€lp av kommatecken som avgrĂ€nsare. StandardvĂ€rdet Ă€r 12|a-z,A-Z,0-9,#, vilket motsvarar ett lösenord pĂ„ 12 tecken, som innehĂ„ller bĂ„de versala och gemena bokstĂ€ver, nummer och specialtecken. +theme_xhred_password_generator_new=Skapa nytt lösenord
    (till urklippet) +theme_xhred_password_generator_new_success=Det nya lösenordet %password har blivit kopierat till urklippet. + + +#18.08 +theme_fileformat_perl=Perl +theme_fileformat_perl_placeholder=Denna filen mĂ„ste avslutas med `1;` för att fungera korrekt. + + +#18.10 +theme_error_access_not_root=Åtkomst nekad: AnvĂ€ndaren mĂ„ste ha tillgĂ„ng till modulen Webmin-konfiguration för att kunna redigera ett tema + + +#18.20 +settings_hide_top_loader=Göm övre förlopps- och laddindikatorn + + +#18.30 +settings_leftmenu_vm_cm_dropdown_icons=Visa symboliska ikoner i drag-och-slĂ€pp i Virtualmin/Cloudmin +settings_font_family=Typsnitt +settings_font_family_description=Bland alla typsnitt Ă€r Roboto satt som standardtypsnitt pĂ„ temat. De andra typsnitten mĂ„ste installeras lokalt pĂ„ din dator för att det ska fungera. NĂ€r du anvĂ€nder lokala typsnitt, Ă€r inte standardtypsnittet laddat, vilken innebĂ€r att temat laddas fortare +theme_xhred_global_shipped=Medföljer +theme_xhred_global_available=TillgĂ€ngliga +theme_xhred_global_not_available=Inte tillgĂ€ngliga +theme_xhred_global_default=Standard +theme_xhred_global_system_default=Systemstandard +theme_xhred_global_local_system_default=Lokal systemstandard +theme_xhred_global_stats=Statistik +theme_xhred_global_notifications=Aviseringar +theme_xhred_global_favorites=Favoriter +theme_xhred_global_cpu_load=CPU-belastning +theme_xhred_notification_none=Inga aviseringar +theme_xhred_notification_no_data=Samla inte in data +theme_xhred_notification_no_favorites=Ingen favoritdata +theme_xhred_global_theme_version=Version pĂ„ temat + +settings_side_slider_sysinfo_enabled=Visa översiktsflik +settings_side_slider_notifications_enabled=Visa aviseringsflik +settings_side_slider_favorites_enabled=Visa favoritflik +settings_show_terminal_link=Visa terminalknapp + +theme_xhred_sysinfo_system_monitors=Systemövervakare +theme_xhred_sysinfo_server_status=Serverstatus +theme_xhred_sysinfo_software_versions=Mjukvaruversioner +theme_xhred_sysinfo_recent_logins=Senaste inloggade +theme_xhred_sysinfo_vm_package_updates=Virtualmin paketuppdateringar +theme_xhred_sysinfo_disk_quotas=Diskkvoter +theme_xhred_sysinfo_bandwidth_quotas=Bandbreddskvoter Quotas + +left_netdata=Realtidsövervakning +settings_leftmenu_netdata=Visa Netdata realtidsövervakningslĂ€nk +settings_leftmenu_netdata_link=Netdata serverbestĂ€md lĂ€nk + +theme_xhred_filemanager_context_chattr=Ändra attribut +theme_xhred_filemanager_changing_attributes=Ändrar attributen till %value pĂ„ vald(a) file(r). +theme_xhred_filemanager_successful_attributes_with_errors=Attributen har inte Ă€ndrats pĂ„ alla objekten: +theme_xhred_filemanager_successful_attributes=Attributen har Ă€ndrats. + +theme_xhred_filemanager_context_chcon=Ändra security context +theme_xhred_filemanager_changing_secontext=Ändrar security context till %value pĂ„ markerad(e) fil(er). +theme_xhred_filemanager_successful_secontext_with_errors=Security context har inte Ă€ndrats pĂ„ alla objekten: +theme_xhred_filemanager_successful_secontext=Security context har Ă€ndrats. + +theme_xhred_global_no_results_found=Inga resultat funna + + +#18.40 +theme_new_password_header=Ange nytt lösenord för anvĂ€ndaren +login_reset=ÅterstĂ€llning av lösenord +theme_xhred_move_top=Flytta lĂ€ngst upp +theme_xhred_move_bottom=Flytta lĂ€ngst ner +theme_xhred_move_up=Flytta uppĂ„t +theme_xhred_move_down=Flytta nerĂ„t +theme_xhred_add_after=LĂ€gg till efter +theme_xhred_add_before=LĂ€gg till före +settings_button_tooltip=Visa verktygstips för knappar +settings_show_night_mode_link=Visa palettvĂ€xling +settings_hotkey_toggle_key_night_mode=Snabbtangent för att vĂ€xla mellan mörk/ljus palett +settings_title=Temakonfiguration +settings_subtitle=För anvĂ€ndaren + +theme_tooltip_night_mode=VĂ€xla mellan dag-/nattlĂ€ge +theme_tooltip_terminal_link=Terminal +theme_tooltip_language_link=SprĂ„k +theme_tooltip_switch_user=VĂ€xla anvĂ€ndare +theme_tooltip_logout=Logga ut +theme_tooltip_edit_user=Redigera anvĂ€ndare + + +#18.45 +settings_sysinfo_easypie_charts_size=Diameter diagram +theme_xhred_global_choose=VĂ€lj +theme_xhred_global_select=Markera +theme_xhred_global_ok=OK +settings_sysinfo_theme_patched_updates=Ta med patchade versioner +settings_sysinfo_theme_updates_description=För att denna funktionen ska fungera mĂ„ste git vara installerad i ditt system +theme_git_patch_available=Senaste tillgĂ€ngliga patchen +theme_git_patch_no_git_message=För att kunna installera de senaste patcharna direkt frĂ„n GitHub mĂ„ste du se till att kommandot git Ă€r installerat. +theme_git_patch_update_success_message=Uppdatering av Webmin-temat lyckades. Nuvarande installerad version Ă€r $1. Uppdaterar... +theme_git_patch_update_success_message2=Uppdatering av Webmin- och Usermin-temat lyckades. Nuvarande installerad version Ă€r $1. Uppdaterar... +theme_xhred_git_patch_update=Uppdatering av temat misslyckades. Prova uppdatera manuellt via konsolen. +theme_xhred_git_patch_initiated=Uppdatering av temat har pĂ„börjats. +theme_xhred_global_prev_page=FöregĂ„ende sida +theme_xhred_global_help=HjĂ€lp +settings_right_soft_updates_page_options_title=Programuppdateringar +theme_xhred_git_compare_changes=JĂ€mför förĂ€ndringar +theme_xhred_filemanager_link_to_clipboard=Symbolisk lĂ€nknamn %value har kopierats till urklippet. + + + +#18.46 +theme_left_mail_prefs=E-postinstĂ€llningar +theme_left_mail_change_password=Ändra lösenord +theme_left_mail_account_functions=Kontofunktioner +theme_xhred_global_dir_up=GĂ„ till föregĂ„ende katalog (backstegstangent) +theme_xhred_global_module_config=Modulkonfiguration +theme_xhred_global_return=ÅtergĂ„ +theme_xhred_global_return_to_module_index=ÅtergĂ„ till modulindex + + +#18.47 +settings_account_info_link_mini=Visa lĂ€nk för kontoinformation som knapp +theme_xhred_global_complete_changelog=FullstĂ€ndig Ă€ndringslogg +theme_xhred_global_beta_version=Betaversion +theme_xhred_global_release=UtgĂ„vor +theme_xhred_global_released_on=SlĂ€ppt den +theme_xhred_global_committed_on=Upplagd den +theme_xhred_global_resolved_issues=Problem lösta i %value utgĂ„vor + + +#18.48 +theme_force_upgrade=Uppdatera temat +theme_force_upgrade_beta=Installera senaste utvecklingsversionen (beta) +theme_force_upgrade_stable=Installera senaste versionen (stabil) +theme_xhred_source_encoding=KĂ€llkodning +theme_update_footer=Hittar du fel i temat fĂ„r du gĂ€rna rapportera dem pĂ„ $1. Följ temat pĂ„ $2 för de senaste uppdateringarna. +theme_xhred_encoding_manually_set=Ange kodning manuellt +theme_xhred_filemanager_save_to_change_encoding=Filen mĂ„ste sparas innan kodningen Ă€ndras. + + +#18.49 +theme_xhred_filemanager_user_switch=Byt till anvĂ€ndare (Ctrl+M) +theme_xhred_filemanager_user_switch_description=Genom att byta anvĂ€ndarnamn i listan hĂ€r under, kommer fortsatta operationer utföras som denna anvĂ€ndaren. +theme_xhred_filemanager_user_switch_description_back=För att vĂ€xla tillbaka till standardlĂ€ge vĂ€lj det första alternativet i listan. +theme_xhred_filemanager_user_switch_current_user=Nuvarande anvĂ€ndare +theme_xhred_filemanager_user_switch_option=Byt automatiskt till anvĂ€ndarlĂ€ge nĂ€r hemkatalogen öppnas +theme_xhred_filemanager_editor_align_panels_horizontally=Justera panelerna horisontellt +theme_xhred_filemanager_editor_align_panels_vertically=Justera panelerna vertikalt +theme_xhred_filemanager_editor_toggle_soft_wrap=VĂ€xla mjuk radbrytning +theme_xhred_filemanager_editor_refresh_content=Uppdatera innehĂ„ll +theme_xhred_filemanager_save_to_refresh_content=Filen mĂ„ste sparas innan innehĂ„llet uppdateras. +theme_xhred_filemanager_save_to_refresh_content_proc=Uppdaterar filinnehĂ„ll. +theme_xhred_global_dark=Mörkt +theme_xhred_global_light=Ljust +theme_xhred_global_minimize=Minimize +theme_xhred_global_maximize=Maximize +theme_xhred_global_normalize=Normalize +theme_xhred_global_set_encoding=Set encoding + + +#19.00 +theme_xhred_sysinfo_update_start=System information is being recollected. +theme_xhred_sysinfo_update_end=System information has been recollected successfully. +theme_xhred_sysinfo_update_failed=System information can't be recollected. Try again later. + +theme_xhred_global_development_version=Development version + +right_vm_server_summary=Virtual Server Summary + +settings_webmin_default_module=Default module for Webmin + +theme_xhred_global_unbeforeunload_title=Changes you made may not be saved +theme_xhred_global_unbeforeunload_message=If you continue, unsaved changes on this page could be permanently lost. +theme_xhred_global_continue=Continue + +theme_xhred_global_automatic_refresh=Automatic refresh +theme_xhred_global_second=Second +theme_xhred_global_seconds=Seconds +theme_xhred_global_minute=Minute +theme_xhred_global_minutes=Minutes diff --git a/lang/zh_CN b/lang/zh_CN new file mode 120000 index 000000000..04bd35006 --- /dev/null +++ b/lang/zh_CN @@ -0,0 +1 @@ +zh_CN.UTF-8 \ No newline at end of file diff --git a/lang/zh_CN.UTF-8 b/lang/zh_CN.UTF-8 new file mode 100644 index 000000000..eef99c2c7 --- /dev/null +++ b/lang/zh_CN.UTF-8 @@ -0,0 +1,723 @@ +body_cp=CPU +body_cpu=CPU èČ èŒ‰ +body_cpuinfo=CPU èł‡èšŠ +body_cputemps=CPU æș«ćșŠ +body_cputype=$5, $8 æ žćżƒ +body_disk=æœŹćœ°çĄŹçąŸç©ș間 +body_driveerr=$1 錯èȘ€! +body_drivefailed=SMART æȘąæžŹć€±æ•—! +body_drivetemps=çŁçąŸæ©Ÿæș«ćșŠ +body_firewall=é˜Čç«ç‰†ç‰ˆæœŹ +body_header0=çł»ç”±èł‡èšŠ +body_header1=ćžłè™Ÿèł‡èšŠ +body_host=äž»æ©Ÿćçš± +body_kernel=ć…§æ žèˆ‡ CPU +body_kernelon=$1 $2 ćŸ·èĄŒæ–Œ $3 +body_load=$1 (1 戆鐘) $2 (5 戆鐘) $3 (15 戆鐘) +body_os=äœœæ„­çł»ç”± +body_procs=ćŸ·èĄŒäž­çš„èż‡çš‹ +body_real=ćŻŠé«”èš˜æ†¶é«” +body_time=çł»ç”±æ™‚é–“ +body_updates=è»Ÿé«”ć„—ä»¶æ›Žæ–° +body_updays=$1 怩, $2 ć°æ™‚, $3 戆鐘 +body_uphours=$1 ć°æ™‚, $2 戆鐘 +body_upmins=$1 戆鐘 +body_upneed=$1 ć€‹è»Ÿé«”ć„—ä»¶æ›Žæ–°ćŻç”š +body_upneed1=$1 package update is available +body_upok=所有ć·Čćź‰èŁçš„è»Ÿé«”ć„—ä»¶ć·Čæ˜Żæœ€æ–° +body_upsec=$1 ć€‹è»Ÿé«”ć„—ä»¶æ›Žæ–°ćŻç”šïŒŒ 慶䞭 $2 ç‚șćź‰ć…šæ›Žæ–° +body_upsec1=$1 ć€‹è»Ÿé«”ć„—ä»¶æ›Žæ–°ćŻç”šïŒŒ 慶䞭 $2 ç‚șćź‰ć…šæ›Žæ–° +body_upsec2=$1 ć€‹è»Ÿé«”ć„—ä»¶æ›Žæ–°ćŻç”šïŒŒ 慶䞭 $2 ç‚șćź‰ć…šæ›Žæ–° +body_upsec3=$1 ć€‹è»Ÿé«”ć„—ä»¶æ›Žæ–°ćŻç”šïŒŒ 慶䞭 $2 ç‚șćź‰ć…šæ›Žæ–° +body_uptime=çł»ç”±ć·„äœœæ™‚é–“ +body_used=瞜蚈 $1 / äœżç”š $2 +body_used_and_free=瞜蚈 $1 / $2 ç©ș閒 / äœżç”š $3 +body_usermin=Usermin ç‰ˆæœŹ +body_virt=è™›æ“Źèš˜æ†¶é«” +body_webmin=Webmin ç‰ˆæœŹ + +left_favorites=我的最愛 +left_favorites_no=我的最愛䞭還æČ’æœ‰æ·»ćŠ ć…§ćźč +left_feedback=ç™Œé€ćé„‹ +left_home=çł»ç”±èł‡èšŠ +left_others=慶他 +left_refresh_modules=ć†æ–°æšĄç”„ +left_search=æœć°‹ +left_statistics=çł»ç”±ç”±èšˆèł‡æ–™ + +login_danger=ć±éšȘ! +login_message=æ‚šćż…é ˆèŒžć…„ćžłè™Ÿć’ŒćŻ†çąŒä»„ç™»ć…„äŒșæœć™š: +login_pass=ćŻ†çąŒ +login_reset=重蚭 +login_save=äżæŒç™»ć…„ç‹€æ…‹ +login_signin=登慄 +login_success=æˆćŠŸ! +login_token=蚊暙 +login_user=ç”šæˆ¶ć +login_warning=è­Šć‘Š! + +right_aliases=ćˆ„ćæœć‹™ć™š +right_bw=ćž¶ćŻŹäœżç”šèˆ‡é™ćˆ¶ +right_dom=äŒșæœć™šćçš± +right_faliases=éƒ”ä»¶ćˆ„ć +right_fdbs=äŒșæœć™š +right_fdoms=è™›æ“ŹäŒșæœć™š +right_from=登慄è‡Ș +right_fusers2=FTP甚戶 +right_fusers=郔件/FTP甚戶 +right_fvm2=è™›æ“Źæ©Ÿ +right_fweb=è™›æ“Źç¶Č站 +right_licenceheader_vm2=Cloudmin èš±ćŻ +right_login=仄登慄ç‚ș +right_not=æœȘćź‰èŁ +right_of=$1 項侭 $2 怋 +right_quota=çĄŹçąŸäœżç”šçŽ‡ć’Œé…éĄ +right_reselip=(經銷敆$1) +right_sharedip=(ć…±äș«IP) +right_slcheck=重新æȘąæŸ„ Cloudmin èš±ćŻè­‰ +right_subs=歐äŒșæœć™š +right_virtdocs2=é™„ćŠ æ–‡æȘ” +right_virtualmin=Virtualmin ç‰ˆæœŹ +right_vlcheck=重新æȘąæŸ„ Virtualmin èš±ćŻè­‰ +right_vm2=Cloudmin ç‰ˆæœŹ + +session_failed=ç™»ć…„ć€±æ•—ă€‚è«‹ć†è©Šäž€æŹĄă€‚ +session_logout=登ć‡șæˆćŠŸă€‚äœżç”šäž‹éąçš„èĄšć–źé‡æ–°ç™»ć…„ă€‚ +session_timed_out=ć°è©±ćœš $1 ćˆ†é˜äžæŽ»ć‹•ćŸŒè¶…æ™‚ă€‚ +session_twofailed=雙曠箠èȘè­‰ć€±æ•—: $1 + + + + + + + + + + +settings_right_options=遾項 +settings_right_restore_defaults=ćŸ©ćŽŸé èš­ć€Œ +settings_right_restored=ćŸ©ćŽŸ +settings_right_restoring=ćŸ©ćŽŸ +settings_right_saved=ć·Čć„Č歘 +settings_right_saving=ć„Č歘 + +settings_right_theme_extensions=äž»éĄŒæ“Žć±• +settings_right_theme_extensions_title=äž»éĄŒæ“Žć±• +settings_right_file_edit=ç·šèŒŻæ“Žć±•æȘ”æĄˆ: +settings_right_extensions_title=éĄŒæè±ćŻŒçš„èš­èšˆïŒŒèź“æ‚šèŒ•éŹ†æ“æŽ§ç•ŒéąäžŠæœ‰é‡ć°æ€§çš„éƒšćˆ†ă€‚ + +settings_right_theme_logos=äž»éĄŒ Logo +settings_right_theme_logos_title=äž»éĄŒ Logo +settings_right_logos_title=äž»éĄŒ Logo ćŻä»„ç°ĄäŸżćœ°ćœšé€™èŁĄèš­çœźïŒŒç¶“éŽèș«ä»œé©—è­‰ć’ŒæœȘç¶“é©—è­‰çš„ç”šæˆ¶çš†ćŻă€‚æŽšè–Š Logo ć€§ć°æ˜Ż 180x90 惏箠,æ”ŻæŒçš„æ ŒćŒæ˜Ż .PNG 仄提䟛透明ćșŠă€‚ +settings_right_logo_authenticated_users=氍ć·Č驗證甚戶的 Logo +settings_right_logo_unauthenticated_users=氍æœȘ經驗證甚戶的 Logo + +settings_right_current_theme=ç•¶ć‰äž»éĄŒ +settings_right_title=æ­€é éąć…èš±æ‚šé…çœźäž»éĄŒéžé …ă€‚èš­çœźć°‡ćœšäž»éĄŒæ›Žæ–°æ™‚ć„Č歘。 +settings_right_theme_left_configuration_title=Authentic äž»éĄŒé…çœź +settings_right_theme_left_extensions_title=Authentic äž»éĄŒç·šèŒŻć™šæ“Žć±• +settings_right_theme_left_logo_title=Authentic äž»éĄŒæš™èȘŒæŽ§ćˆ¶ +settings_right_theme_configurable_options_title=ćŻé…çœźéžé … + + +settings_right_window_options_title=芖çȘ—遞項 +settings_right_navigation_menu_title=氎èˆȘèœć–źéžé … +settings_right_table_options_title=èĄšéžé … +settings_security_title=ćź‰ć…šè­Šć ±éžé … +settings_security_description=ćź‰ć…šè­Šć ±ć°‡èź“äœ ćœšç‰č漚äș‹ä»¶æŽ„ćˆ°é›»ć­éƒ”ä»¶é€šçŸ„ă€‚(需芁 Linux 的 mail ć‘œä»€äŸ†ć•Ÿç”šæ­€ćŠŸèƒœ)
    æ ŒćŒ: èšŠæŻ|äž»éĄŒ|é€—è™Ÿćˆ†éš”çš„ç”šæˆ¶æˆ–EmailèĄš|é€—è™Ÿćˆ†éš”çš„ćżœç•„ IPv4/IPv6 èĄš
    äœżç”šäŸ‹: %3 successful login alert for user %1 from %2|%3 successful login alert|root,user@example.org|1.2.3.4,5.6.7.8
    Output: From: root, To: root, Subject: Webmin successful login alert, Message: Webmin successful login alert for user root from 2.3.4.5 +settings_right_hotkey_options_title=熱鍔遞項 +settings_right_sysinfo_page_options_title=çł»ç”±èł‡èšŠé éąéžé … + +settings_right_hotkey_custom_options_description=Custom links enable you to use digits from 1 to 9 in order to quick-access any valid Webmin/Usermin/Virtualmin/Cloudmin URL. The URL can be extracted from the currently opened right frame content page, by reading its source. It's important that URL has no slash at the beginning and doesn't use prefixes. For example, to quick-switch to Apache, set to custom link 1 field /apache/. If the default hotkeys modifier set to Alt, clicking Alt+1, will open you Apache module +settings_hotkey_custom_1=è‡ȘćźšçŸ©éˆæŽ„ 1 +settings_hotkey_custom_2=è‡ȘćźšçŸ©éˆæŽ„ 2 +settings_hotkey_custom_3=è‡ȘćźšçŸ©éˆæŽ„ 3 +settings_hotkey_custom_4=è‡ȘćźšçŸ©éˆæŽ„ 4 +settings_hotkey_custom_5=è‡ȘćźšçŸ©éˆæŽ„ 5 +settings_hotkey_custom_6=è‡ȘćźšçŸ©éˆæŽ„ 6 +settings_hotkey_custom_7=è‡ȘćźšçŸ©éˆæŽ„ 7 +settings_hotkey_custom_8=è‡ȘćźšçŸ©éˆæŽ„ 8 +settings_hotkey_custom_9=è‡ȘćźšçŸ©éˆæŽ„ 9 + +settings_navigation_color=氎èˆȘèœć–źèȘżè‰Čæż +settings_background_color=慧ćźč頁靱顏è‰ČèȘżè‰Čæż +settings_animation_left=敟甹氎èˆȘèœć–źć‹•ç•« +settings_animation_tabs=ć•Ÿç”šćœšæš™ç±€äž­çš„ć‹•ç•« +settings_loader_top=ć•Ÿç”šé éąé ‚éƒšèŁèŒ‰é€ČćșŠæą +settings_loader_left=ć…èš±ć°ŽèˆȘèœć–źćŸźèȘż +settings_right_reload=ćŠ èŒ‰é»˜èȘć…§ćźč頁 +settings_right_reload_description=ç•¶ćˆ‡æ›æš™ç±€é ïŒŒćłćŽć…§ćźčé èą«é‡èŒ‰ă€‚äžäżç•™ç•¶ć‰æ‰“é–‹çš„ćłæĄ†ć…§ćźčé éąïŒŒäžŠäœżç”šé»˜èȘćˆ·æ–°ïŒŸ + +settings_right_hide_table_icons=ć°ćłćŽèł‡èšŠæĄ†éš±è—ćˆ—èĄšćœ–æš™ +settings_right_hide_table_icons_description=ćźŒć…šćŸžć…§ćźč頁䞭ćˆȘé™€ćœ–æš™äžŠéĄŻç€șćłćŽæ»‘ć‹•éˆæŽ„ +settings_right_small_table_icons=ć°èĄšæ Œćœ–æš™ +settings_right_small_table_icons_description=èˆ‡ć°çš„ć’ŒéĄŻç€șćœ–æš™éˆæŽ„äœżç”šć·„ć…·æç€șæ›żä»Łæš™æș–ć°șćŻžèĄšćœ–æš™ +settings_right_animate_table_icons=èĄšäž­ćœ–æš™èšç„Šć‹•ç•« +settings_right_grayscaled_table_icons=ćȘ朹çČćŸ—ç„Šé»žæ™‚ć•Ÿç”šç°ćșŠèĄšçš„ćœ–æš™ć’ŒéĄè‰Č + +settings_leftmenu_section_hide_refresh_modules=éš±è—ćˆ·æ–°æšĄç”„éˆæŽ„ +settings_leftmenu_section_hide_unused_modules=隱藏æœȘäœżç”šçš„æšĄç”„ +settings_favorites=饯ç€ș我的最愛按鈕 +settings_leftmenu_button_language=饯ç€șèȘžèš€æŒ‰éˆ• +settings_leftmenu_button_refresh=饯ç€ș重茉按鈕 + +settings_theme_options_button=饯ç€șäž»éĄŒèš­çœźæŒ‰éˆ• + +settings_hotkeys_active=ć•Ÿç”šç†±é” +settings_hotkey_toggle_modifier=熱鍔曎æ”č +settings_hotkey_toggle_key_webmin=Webmin 熱鍔 +settings_hotkey_toggle_key_virtualmin=Virtualmin 熱鍔 +settings_hotkey_toggle_key_cloudmin=Cloudmin 熱鍔 +settings_hotkey_toggle_key_usermin=Usermin 熱鍔 +settings_hotkey_toggle_key_webmail=郔件熱鍔 +settings_hotkey_sysinfo=ć„€èĄšæżç†±é” +settings_hotkey_shell=Shell 熱鍔 +settings_hotkey_favorites=我的最愛熱鍔 +settings_hotkey_focus_search=æœć°‹ç†±é” +settings_hotkey_reload=重茉熱鍔 + +settings_side_slider_background_refresh_time=è¶…æ™‚èł‡èšŠæ›Žæ–° è©Čć€Œć–źäœç‚șćˆ†é˜ă€‚æœ€ć°çš„æŽšè–Šć€Œç‚ș 1 ćˆ†é˜ă€‚é»˜èȘèš­çœźç‚ș 5 戆鐘。äčŸćŻä»„äœżç”šćé€Čćˆ¶ć€Œă€‚ +settings_sysinfo_easypie_charts=饯ç€șćœ–èĄš +settings_sysinfo_theme_updates=æȘąæŸ„ Authentic äž»éĄŒæ›Žæ–° +settings_sysinfo_csf_updates=æȘąæŸ„ ConfigServer ćź‰ć…šèˆ‡é˜Č火牆曎新 +settings_sysinfo_drive_status_on_new_line=饯ç€ș CPU ć’Œć„æ–°ç·šé©…ć‹•ć™šç‹€æ…‹ +settings_sysinfo_expand_all_accordions=èź“æ‰€æœ‰çš„æ‰‹éąšçŽèœć–źć±•é–‹ +settings_sysinfo_link_mini=ć°‡çł»ç”±äżĄæŻéˆæŽ„éĄŻç€șç‚ș按鈕 + +settings_right_page_defaults_title=默èȘé  +settings_right_default_tab_webmin=登慄 Webmin ćŸŒçš„é»˜èȘæš™ç±€ +settings_right_default_tab_usermin=ç™»ć…„ćˆ° Usermin ćŸŒçš„é»˜èȘæš™ç±€ +settings_right_virtualmin_default=ç™»ć…„ćˆ° Virtualmin 的默èȘé  +settings_right_cloudmin_default=Cloudmin 默èȘé  + +settings_right_clear_local_cache=æž…é™€ćż«ć– +settings_right_notification_slider_options_title=ćŽæ»‘ćĄŠéžé … +settings_side_slider_fixed=äżæŒæ»‘ćĄŠć§‹ç”‚ćŻèŠ‹ +settings_side_slider_palette=æ»‘ćĄŠèȘżè‰Čæż +settings_hotkey_toggle_slider=æ»‘ćĄŠç†±é” +settings_window_replace_timestamps=ć•Ÿç”šæ—„æœŸæ›żä»Ł +settings_window_replaced_timestamp_format_short=短旄期/æ™‚é–“æ ŒćŒ +settings_window_replaced_timestamp_format_full=ćźŒæ•Žæ—„æœŸ/æ™‚é–“æ ŒćŒ ä»»äœ•æšĄç”„é–‹ç™Œè€…éƒœćŻæ–Œćźčć™šæ·»ćŠ  `data-convertible-timestamp-full="unix-timestamp"` 或 `data-convertible-timestamp-short="unix-timestamp"` ć±Źæ€§äŸ†ç°ĄäŸżćœ°éĄŻç€șç”šæˆ¶ćźšçŸ©çš„æ—„æœŸ '> 慧ć»șæ©Ÿćˆ¶äž­æ­€éžé …ć°‡æœƒćœš 通矄滑件 與 çł»ç”±èł‡èšŠ 頁靱 (æ–Œ çł»ç”±æ™‚é–“ ć…§æŸèĄŒ). 默èȘæƒ…æłäž‹ć…šæ ŒćŒç‚ș LLLL çŸ­æ ŒćŒç‚ș L, LTS。 é€™æšŁçš„æ™‚é–“èŒžć‡șæ˜Żç‚șäș†äžćŒçš„ćœ°ć€ă€‚ć€ćŸŸèš­çœźæ˜ŻćŸșæ–Œ Webmin 的èȘžèš€èš­çœźă€‚ + +settings_side_slider_enabled=ć•Ÿç”šæ»‘ćĄŠ +settings_leftmenu_user_html=饯ç€ș HTML ç‰‡æź” +settings_leftmenu_user_html_description=ç”šæˆ¶ćźšçŸ©çš„æ–‡æœŹæˆ– HTML ä»ŁçąŒć°‡èą«æłšć…„ćˆ°ć°ŽèˆȘèœć–źçš„ćș•éƒšă€‚ćźƒèą«ćŻç”šæ–Œè­˜ćˆ„ă€‚äŸ‹ćŠ‚ïŒŒç‚șäș†äœżæ˜Žçąș饯ç€șæ‚šçš„äž»æ©ŸćïŒŒäœ ćŻä»„æ·»ćŠ 
    hostname:10000
    + + +theme_changelog=曎æ”čæ—„èȘŒ +theme_conference=äž»éĄŒæœƒè­° +theme_development_support=é–‹ç™Œæ”ŻæŒ +theme_donate=捐莈 +theme_download=䞋茉 +theme_name=Authentic äž»éĄŒ +theme_update=曎新 +theme_update_available=æœ€æ–°çš„ćŻç”šç‰ˆæœŹ +theme_update_notice=æ›Žæ–°äœˆć‘Š +theme_version=äž»éĄŒç‰ˆæœŹ + + + +theme_global_error=錯èȘ€ +theme_global_warning=è­Šć‘Š +theme_global_success=æˆćŠŸ +theme_global_info=äżĄæŻ +sysinfo_system_status_warning=ç‚șäș†äœżçł»ç”±èł‡èšŠéĄŻç€ș,æ‚šć°‡éœ€èŠćœšç”šæˆ¶èš­çœźæšĄç”„äž­ć•Ÿç”šçł»ç”±ç‹€æ…‹ă€‚ +settings_leftmenu_user_html_only_for_administrator=ćȘç‚ș缡理擡顯ç€ș HTML ä»ŁçąŒæź” +theme_sysinfo_wmdocs=Webmin 的文件 +theme_sysinfo_vmdocs=Virtualmin 的文件 +theme_sysinfo_cmdocs=Cloudmin 的文件 +theme_fileformat_css=CSS +theme_fileformat_json=JSON +theme_fileformat_js=Javascript +theme_fileformat_plain_text=çŽ”æ–‡æœŹ + +theme_xhred_titles_wm=Webmin +theme_xhred_titles_um=Usermin +theme_xhred_titles_dashboard=ć„€èĄšæż +theme_xhred_titles_mail=郔件 +theme_xhred_titles_vm=Virtualmin +theme_xhred_titles_cm=Cloudmin +theme_xhred_titles_thirdlane=Thirdlane + +theme_xhred_global_please_wait=è«‹çšć€™... +theme_xhred_filemanager_copying_selected=æ­Łćœšè€‡èŁœæ‰€éžă€‚ +theme_xhred_filemanager_cutting_selected=æ­Łćœšćˆ‡ć‰Čéžæ“‡ă€‚ +theme_xhred_filemanager_pasting_selected=æ­ŁćŸžć‰ȘèČŒæżçȘèČŒă€‚ +theme_xhred_filemanager_unpacking_archive=æ­Łćœšè§ŁćŁ“çžźïŒˆć€šć€‹ïŒ‰éžćźšçš„æ–‡ä»¶ă€‚ +theme_xhred_filemanager_deleting_selected=æ­ŁćœšćˆȘ陀ć·Č遾項。 +theme_xhred_filemanager_renaming_selected=æ­Łćœšé‡ć‘œćć·Č遾項。 +theme_xhred_filemanager_creating_directory=æ­Łćœšć‰”ć»ș盼錄 +theme_xhred_filemanager_creating_file=æ­Łćœšć‰”ć»ș文件 +theme_xhred_filemanager_downloading_from=æ­Łćœšäž‹èŒ‰è‡Ș +theme_xhred_filemanager_setting_permissions=æ­Łćœšèš­ćźš %value æŹŠé™æ–Œéžćźšçš„æ–‡æȘ”。 +theme_xhred_filemanager_changing_ownership=æ­ŁćœšèźŠæ›Žæ“æœ‰è€…ç‚ș %value æ–Œéžćźšçš„æ–‡æȘ”。 +theme_xhred_filemanager_compressing_selected=æ­ŁćœšćŸŒć°ćŁ“çžźć·Č遾項。 +theme_xhred_filemanager_refreshing=æ­Łćœšćˆ·æ–°ç›źéŒ„ć…§ćźč。 +theme_xhred_filemanager_copying_successful=è€‡èŁœćˆ°ć‰ȘèČŒæżæˆćŠŸă€‚ +theme_xhred_filemanager_cutting_successful=ć‰Ș戇戰ć‰ȘèČŒæżæˆćŠŸă€‚ +theme_xhred_filemanager_pasting_successful=ćŸžć‰ȘèČŒæżçȘèČŒæˆćŠŸă€‚ +theme_xhred_filemanager_bookmark_success=盼錄 %value ć·ČæˆćŠŸæ·»ćŠ ćˆ°æ‚šçš„æœ€æ„›ă€‚ +theme_xhred_filemanager_searching=æ­Łćœšæœć°‹ćŒč配 `%value` 的文æȘ”èˆ‡ç›źéŒ„ă€‚ +theme_xhred_filemanager_search_founds=æœć°‹ç”æžœ %value 怋ćŒč配項。 +theme_xhred_filemanager_search_found=æœć°‹ç”æžœ 1 怋ćŒč配項. +theme_xhred_filemanager_search_no_matches=æČ’æœ‰æ‰Ÿćˆ°ćŒč配。 +theme_xhred_filemanager_nothing_is_selected=æœȘæœ‰é …ç›źèą«éžæ“‡ïŒ +theme_xhred_filemanager_saving_file=æȘ”æĄˆ `%value` æ­Łćœšèą«ć­˜ć„Č。 +theme_xhred_filemanager_file_saved=æȘ”æĄˆ `%value` ć·Čèą«æˆćŠŸć­˜ć„Č。 +theme_xhred_filemanager_not_editable=ç„Ąæł•ç·šèŒŻéžæ“‡çš„éĄžćž‹ă€‚ +theme_xhred_filemanager_not_decompressable=ç„Ąæł•è§ŁćŁ“çžźé€™çšźéĄžćž‹çš„æȘ”æĄˆă€‚ +theme_xhred_filemanager_no_selection_to_copy=æœȘéžæ“‡ä»»äœ•èŠè€‡èŁœçš„ç›źéŒ„/æȘ”æĄˆă€‚ +theme_xhred_filemanager_no_selection_to_cut=æœȘ遞擇芁ć‰Ș例的盼錄/æȘ”æĄˆă€‚ +theme_xhred_filemanager_empty_clipboard=ć‰ȘèČŒæżæ˜Żç©ș的。 + +theme_xhred_filemanager_successful_extraction=遞擇的æȘ”æĄˆ(äž€ć€‹æˆ–ć€šć€‹)æć–æˆćŠŸă€‚ +theme_xhred_filemanager_successful_deletion=ćˆȘé™€æˆćŠŸă€‚ +theme_xhred_filemanager_successful_permissions=æŹŠé™ć·Čç¶“æˆćŠŸćœ°æ”čèźŠäș†ă€‚ +theme_xhred_filemanager_successful_ownership=æ‰€æœ‰æŹŠć·ČèźŠæ›ŽæˆćŠŸă€‚ +theme_xhred_filemanager_successful_compression=棓羼ć·ČæˆćŠŸćźŒæˆă€‚ +theme_xhred_filemanager_successful_directory_creation=盼錄`%value`ć·ČæˆćŠŸć‰”ć»ș。 +theme_xhred_filemanager_successful_file_creation=æȘ”æĄˆ`%value`ć·ČæˆćŠŸć‰”ć»ș。 + +theme_xhred_notifications_packages_updates=çš‹ćŒćŒ…æ›Žæ–° +theme_xhred_notifications_theme_update=äž»éĄŒæ›Žæ–° +theme_xhred_notifications_theme_update_message= Authentic äž»éĄŒ %v ç‰ˆæœŹçš„æ›Žæ–°ç›źć‰ćŻç”šă€‚è«‹æ›Žæ–°ă€‚ +theme_xhred_notifications_firewall_update=é˜Č火牆曎新 +theme_xhred_notifications_firewall_update_message=A new version %v of ConfigServer Server Security and Firewall is available. è«‹æ›Žæ–°ă€‚ + +theme_xhred_notifications_firewall_danger=é˜Čç«ç‰†ć±éšȘ +theme_xhred_notifications_firewall_danger_message=䌌äčŽ ConfigServer äŒșæœć™šćź‰ć…šèˆ‡é˜Č火牆 䞊 æČ’æœ‰é‹èĄŒ 或 ć·Čèą«ćœæ­ąă€‚è«‹äžèŠäœżäœ çš„äŒșæœć™šæšŽéœČ䞊æȘąæŸ„é˜Čç«ç‰†èš­çœź (%v) + +theme_xhred_notifications_firewall_warning=é˜Čç«ç‰†è­Šć‘Š + +#17.50 +settings_grayscale_level_navigation=灰ćșŠæżŸæłąć™š +settings_grayscale_level_navigation_description=默èȘ/çŸæ™‚ć€Œ 0/0 +settings_sepia_level_navigation=æŁ•è€è‰ČæżŸæłąć™š +settings_sepia_level_navigation_description=默èȘ/çŸæ™‚ć€Œ 0/0 +settings_saturate_level_navigation=éŁœć’ŒéŽæżŸć™š +settings_saturate_level_navigation_description=默èȘ/çŸæ™‚ć€Œ 1/0 +settings_hue_level_navigation=è‰ČèȘż-æ—‹èœ‰æżŸæłąć™š +settings_hue_level_navigation_description=默èȘ/çŸæ™‚ć€Œ 0°/0° +settings_invert_level_navigation=ćèœ‰æżŸæłąć™š +settings_invert_level_navigation_description=默èȘ/çŸæ™‚ć€Œ 0/0 +settings_brightness_level_navigation=äșźćșŠæżŸæłąć™š +settings_brightness_level_navigation_description=默èȘ/çŸæ™‚ć€Œ 1/0 +settings_contrast_level_navigation=ć°æŻ”ćșŠæżŸæłąć™š +settings_contrast_level_navigation_description=默èȘ/çŸæ™‚ć€Œ 1/0 + +settings_grayscale_level_content=灰ćșŠæżŸæłąć™š +settings_grayscale_level_content_description=默èȘ/çŸæ™‚ć€Œ 0/0 +settings_saturate_level_content=éŁœć’ŒéŽæżŸć™š +settings_saturate_level_content_description=默èȘ/çŸæ™‚ć€Œ 1/0 +settings_hue_level_content=è‰ČèȘż-æ—‹èœ‰æżŸæłąć™š +settings_hue_level_content_description=默èȘ/çŸæ™‚ć€Œ 0°/0° + +settings_cm_view_palette=æŸ„çœ‹ć™šèȘżè‰Čæż +settings_cm_editor_palette=線者èȘżè‰Čæż + +theme_xhred_filemanager_context_select_all=慹遾 +theme_xhred_filemanager_context_select_invert=ćć‘éžæ“‡ +theme_xhred_filemanager_context_refresh=ćˆ·æ–° +theme_xhred_filemanager_context_newfile=扔ć»ș新æȘ”æĄˆ +theme_xhred_filemanager_context_newfoder=扔ć»șæ–°ç›źéŒ„ +theme_xhred_filemanager_context_copy=è€‡èŁœ +theme_xhred_filemanager_context_cut=ć‰Ș戇 +theme_xhred_filemanager_context_paste=çȘèČŒ +theme_xhred_filemanager_context_chmod=曎æ”čæŹŠé™ +theme_xhred_filemanager_context_chown=曎æ”čæ‰€æœ‰æŹŠ + +#17.51 +theme_xhred_filemanager_context_new=新ć»ș +theme_xhred_filemanager_context_newarchive=扔ć»șæ–°çš„ćŁ“çžźæȘ” +theme_xhred_filemanager_context_delete=ćˆȘ陀 +theme_xhred_filemanager_context_rename=é‡ć‘œć +theme_xhred_filemanager_context_edit=ç·šèŒŻ +theme_xhred_filemanager_context_extract=æć– +theme_xhred_filemanager_context_goto=æ‰“é–‹é …ç›źäœçœź +theme_xhred_filemanager_context_properties=ć±Źæ€§ +theme_xhred_filemanager_context_search=æœć°‹ + +#17.52 +theme_xhred_filemanager_context_deselect_all=ćéžæ‰€æœ‰ +theme_xhred_filemanager_context_upload=äžŠć‚łćˆ°ç•¶ć‰ç›źéŒ„ +theme_xhred_filemanager_context_download=遠繋 URL 䞋茉 + +#17.53 +theme_settings_virtualmin=Virtualmin è™›æ“Źæœć‹™ć™š +theme_settings_cloudmin=Cloudmin èš—çźĄçł»ç”± +settings_right_thirdparties_options_title=第侉æ–čæšĄç”„éžé … +theme_xhred_filemanager_context_calculate_size=按䞋ç©șæ Œé”èšˆçź—ć€§ć° +theme_xhred_filemanager_context_bookmarks=我的最愛 +theme_xhred_filemanager_context_bookmark_current=æ·»ćŠ ç•¶ć‰æ‰“é–‹çš„è·ŻćŸ‘è‡łæˆ‘çš„æœ€æ„› +theme_xhred_filemanager_context_transfer=蜉移 + +#17.54 +theme_xhred_filemanager_title_symlink_target=éˆæŽ„ç›źæš™ + +#17.60 +right_unlimited=ç„Ąé™ćˆ¶ +settings_leftmenu_width=ć„Ș遾的毬ćșŠ +settings_leftmenu_width_description=默èȘ/çŸæ™‚ćŻŹćșŠ260/0 +settings_switch_rdisplay=ćć‘é–‹é—œèŒžć‡ș +settings_switch_rdisplay_description=è©Čéžé …äœżäœ ç‚șć·ŠäžŠé–‹é—œèš­çœźäžćŒé †ćșă€‚曎æ”čæ­€éžé …ćŸŒïŒŒæ‡‰ç”šæ–°çš„èš­çœźéœ€èŠé€ČèĄŒćźŒæ•Žçš„é éąé‡èŒ‰ă€‚ + +#17.63 +theme_xhred_filemanager_context_calculate_selected_size=èšˆçź—ć·Čéžć€§ć° +theme_xhred_filemanager_selected_entries=ć·Č遞: %value ć…„ćŁé»ž +theme_xhred_filemanager_manual_path=æ‰‹ć‹•èŒžć…„è·ŻćŸ‘ + +theme_xhred_datatable_semptytable=èĄšäž­ç„ĄćŻç”šæ•žæ“š +theme_xhred_datatable_sinfo=饯ç€ș _TOTAL_ ć€‹ć…„ćŁé»žäž­ _START_ 戰 _END_ 項 +theme_xhred_datatable_sinfoempty=饯ç€ș 0 ć€‹ć…„ćŁé»žäž­ 0 戰 0 項 +theme_xhred_datatable_slengthmenu=饯ç€ș _MENU_ 項 +theme_xhred_datatable_sloadingrecords=èŒ‰ć…„äž­ +theme_xhred_datatable_sprocessing=處理... +theme_xhred_datatable_szerorecords=æČ’æœ‰æ‰Ÿćˆ°ćŒč配的蚘錄 + +#17.64 +theme_xhred_filemanager_file_edit_but_not_saved=æȘ”æĄˆć·Čèą«äżźæ”čïŒŒäœ†ć°šæœȘ保歘。 +theme_xhred_filemanager_file_edit_but_not_saved_what_to_do=æ‚šæƒłćčč什éșŒïŒŸ +theme_xhred_global_save=保歘 +theme_xhred_global_save_and_close=保歘侩關閉 +theme_xhred_global_close_without_saving=é—œé–‰äœ†äžäżć­˜ +theme_xhred_global_continue_editing=çčŒçșŒç·šèŒŻ +theme_xhred_filemanager_context_download_file=䞋茉 + +#17.65 +settings_sysinfo_easypie_charts_width=ćœ–èĄšćŻŹćșŠ +settings_sysinfo_easypie_charts_scale=ćœ–èĄšæš™ćșŠć°ș長ćșŠ + +#17.80 +right_return_theme_options=äž»éĄŒéžé … +theme_xhred_datatable_semptydirectory=ç›źéŒ„æ˜Żç©ș的 +theme_xhred_filemanager_context_clipboard=è€‡èŁœè·ŻćŸ‘ćˆ°ć‰ȘèČŒæż +theme_xhred_global_warning=è­Šć‘Š +theme_xhred_global_close=關閉 +theme_xhred_encoding_warning=æȘąæžŹćˆ°æ‚šäœżç”šéž Unicode ć­—çŹŠé›†ïŒŒé€™æ˜Żäžèą«æŽšè–Šäœżç”šçš„ă€‚ć„‡æ€Ș的 Â ć­—çŹŠćŻèƒœæœƒćœšæ–‡æœŹç·šèŒŻć™šæšĄćŒäž­ć‡șçŸïŒŒć…¶ä»–è§ŁçąŒć•éĄŒäșŠćŻèƒœç™Œç”Ÿă€‚

    朹 %prod èš­çœź 䞭曎æ”čèȘžèš€è‡ł %lang.UTF-8 䞊çąșäżæ‚šçš„ç€èŠœć™šèƒœć€ æ­Łçąșćœ°ć”æžŹćźƒă€‚

    è«‹æłšæ„ïŒŒWebmin 慧ć»șæšĄç”„ èźŠæ›ŽèȘžèš€èˆ‡äž»éĄŒ èƒœć€ çœźæ›ć…šć±€èš­ćźšă€‚
    + +theme_xhred_filemanager__no_bookmarks=æœȘäżć­˜çš„æ›žç±€ +theme_xhred_filemanager_unbookmark_success=盼錄的 %value ć·ČæˆćŠŸćŸžæˆ‘çš„æœ€æ„›ç§»é™€ă€‚ +theme_xhred_filemanager_bookmark=æ·»ćŠ ç•¶ć‰ç›źéŒ„è‡łæˆ‘çš„æœ€æ„› +theme_xhred_filemanager_unbookmark=ćŸžæˆ‘çš„æœ€æ„›ç§»é™€ç•¶ć‰ç›źéŒ„ +theme_xhred_filemanager_move_into_self=æ‚šäžèƒœć°‡ç›źéŒ„ç§»ć‹•ćˆ°ć…¶è‡Șèș«ïŒç›źæš™ç›źéŒ„æ˜Żæșç›źéŒ„。 +theme_xhred_filemanager_pasting_and_copying_1=遾漚æșæȘ”æĄˆä»„æ–°ćçš±èą«æˆćŠŸé»èČŒă€‚ +theme_xhred_filemanager_pasting_and_copying_2=遾漚æșæȘ”æĄˆä»„æ–°ćçš±èą«æˆćŠŸé»èČŒă€‚ +theme_xhred_filemanager_pasting_and_replacing_1=çŸæœ‰çš„ç›źæš™ć·Čç¶“æˆćŠŸæ›żæ›ç‚șæ–°çš„ă€‚ +theme_xhred_filemanager_pasting_and_replacing_2=çŸæœ‰çš„ç›źæš™ć·Čç¶“æˆćŠŸæ›żæ›ç‚șæ–°çš„ă€‚ +theme_xhred_filemanager_target_conflict_1=ç›źæš™èĄçȘ +theme_xhred_filemanager_target_conflict_2=ç›źæš™èĄçȘ +theme_xhred_filemanager_target_conflict_message_1=黏èČŒç›źæš™ć·Čç¶“ć­˜ćœšïŒæ‚šæƒłćčč什éșŒć‘ąïŒŸ +theme_xhred_filemanager_target_conflict_message_2=çȘèČŒçš„ç›źæš™ć·Čç¶“ć­˜ćœšïŒæ‚šæƒłćčč什éșŒć‘ąïŒŸ +theme_xhred_filemanager_target_conflict_replace=ćˆäœ”ć’Œæ›żæ› +theme_xhred_filemanager_target_conflict_paste=ä»„æ–°ćçš±çȘèČŒ + +theme_xhred_editor_help_title=ç·šèŒŻć™šćż«é€Ÿé” +theme_xhred_editor_help_content=
    Find/Replace
    按鍔 指什
    Ctrl + F æœć°‹
    Ctrl + H æ›żæ›
    Ctrl + ⇧ + R ć…šéƒšæ›żæ›
    Ctrl + G æœć°‹ćŸŒäž€ć€‹
    Ctrl + ⇧ + G æœć°‹ć‰äž€ć€‹
    Alt + G è·łćˆ°æŸèĄŒ
    æ–‡æœŹæ“äœœ
    按鍔 指什
    Ctrl + KU èœ‰è‡łć€§ćŻ«
    Ctrl + KL èœ‰è‡łć°ćŻ«
    ç·šèŒŻ
    Keypress 指什
    Ctrl + Space 敟甹è‡Șć‹•èŁœć…š
    Ctrl + X ć‰Șäž‹èĄŒ
    Ctrl + ⇧ + ↑ ć‘äžŠç§»ć‹•èĄŒ/遾侭慧ćźč
    Ctrl + ⇧ + ↓ ć‘äž‹ç§»ć‹•èĄŒ/遾侭慧ćźč
    Ctrl + L éžæ“‡èĄŒ - é‡è€‡ä»„éžæ“‡äž‹äž€èĄŒ
    Ctrl + D 遞擇詞 - 重耇仄遞擇䞋䞀ćŒč配
    Ctrl + M Jump to closing parentheses Repeat to jump to opening parentheses
    Ctrl + ⇧ + M Select all contents of the current parentheses
    Ctrl + ⇧ + K ćˆȘé™€èĄŒ
    Ctrl + KK Delete from cursor to end of line
    Ctrl + K + Backspace Delete from cursor to start of line
    Ctrl + ⇧ + D Duplicate line(s)
    Ctrl + J Join line below to the end of the current line
    Ctrl + / Comment/un-comment current line
    Ctrl + ⇧ + / Block comment current selection
    Ctrl + Y Redo, or repeat last keyboard shortcut command
    Ctrl + ⇧ + V Paste and indent correctly
    Ctrl + Space Select next auto-complete suggestion
    Ctrl + U soft undo; jumps to your last change before undoing change when repeated
    + +theme_xhred_filemanager_hide_toolbar=éš±è—ć·„ć…·æŹ„ +theme_xhred_filemanager_hide_actions=éš±è—æ“äœœćˆ— +theme_xhred_filemanager_hovered_toolbar=ć•Ÿç”šć·„ć…·æŹ„éŒ æš™æ‡žćœæ™‚éĄŻç€șèœć–ź +theme_xhred_filemanager_context_delete_selected=ćˆȘ陀所遞 + +#17.83 +theme_xhred_database_adding_new_row=æ·»ćŠ æ–°èĄŒ +theme_xhred_database_editing_row=ç·šèŒŻæ‰€éžèĄŒ +theme_xhred_database_editing_rows=ç·šèŒŻæ‰€éžçš„èĄŒ +theme_xhred_database_adding_new_row_data=èš­ćźšæ•žæ“š + +#17.84 +theme_xhred_datatable_filter=éŽæżŸ + +theme_xhred_global_update=曎新 +theme_xhred_global_update_and_return=æ›Žæ–°äžŠèż”ć›ž +theme_xhred_global_update_and_close=曎新䞊關閉 +theme_xhred_global_back=èż”ć›ž +theme_xhred_global_cancel=ć–æ¶ˆ + +theme_xhred_database_add_row_successful=ć·ČæˆćŠŸæ·»ćŠ æ–°çš„äž€èĄŒ +theme_xhred_database_edit_row_successful=éžćźšèĄŒć·ČæˆćŠŸæ›Žæ–° +theme_xhred_database_edit_rows_successful=éžćźšèĄŒć·ČæˆćŠŸæ›Žæ–° +theme_xhred_database_edit_row_delete_successful=éžćźšèĄŒć·ČæˆćŠŸćˆȘ陀 +theme_xhred_database_edit_rows_delete_successful=æˆćŠŸćˆȘ陀 %n ć€‹èą«éžćźšçš„èĄŒ +theme_xhred_database_edit_field_delete_successful=éžæ“‡çš„ćŸŸèą«æˆćŠŸćˆȘ陀 +theme_xhred_database_edit_fields_delete_successful=æˆćŠŸćˆȘ陀 %n éžæ“‡çš„ć­—æź” +theme_xhred_database_edit_selected_row=ç·šèŒŻéžæ“‡çš„èĄŒ +theme_xhred_database_edit_selected_rows=ç·šèŒŻéžćźšçš„èĄŒ +theme_xhred_database_add_new_row=æ·»ćŠ èĄŒ +theme_xhred_database_delete_selected_row=ćˆȘé™€éžæ“‡çš„èĄŒ +theme_xhred_database_delete_selected_rows=ćˆȘé™€éžćźšçš„èĄŒ +theme_xhred_database_delete_selected_field=ćˆȘé™€æ‰€éžć­—æź” +theme_xhred_database_delete_selected_fields=ćˆȘé™€æ‰€éžçš„ć­—æź” +theme_xhred_database_object_selected_delete=ćˆȘé™€éžæ“‡çš„ć°è±Ą +theme_xhred_database_objects_selected_delete=ćˆȘé™€éžćźšçš„ć°è±Ą +theme_xhred_database_db_selected_drop=äžŸæŁ„éžćźšçš„æ•žæ“šćș« +theme_xhred_database_dbs_selected_drop=äžŸæŁ„éžćźšçš„æ•žæ“šćș« +theme_xhred_database_edit_but_not_saved=èĄšäž­æ•žæ“šć·Čèą«ç·šèŒŻïŒŒäœ†æœȘ保歘。 + +theme_xhred_global_no_such_command=䌌äčŽćŻćŸ·èĄŒæ–‡ä»¶ %cmd æœȘćź‰èŁæˆ–äžćœšçł»ç”±ç›źéŒ„äž­ă€‚ + +theme_xhred_global_notice=æłšæ„ + +theme_xhred_updates_disabled_notice=æȘąæžŹćˆ°æ‚šæœȘ敟甹 Authentic äž»éĄŒ 曎新提ç€ș

    朹 äž»éĄŒèš­çœź äž­ć•Ÿç”šèƒœćč«ćŠ©æ‚šäž€é”çČć–æ›Žæ–°ă€‚ + + +#18.00 +theme_xhred_global_file=文件 +theme_xhred_global_directory=盼錄 +theme_xhred_global_no_target=ç›źæš™äžć­˜ćœšæˆ–ç„Ąæł•èšȘ敏 +theme_xhred_global_error_code=錯èȘ€ä»ŁçąŒ +theme_xhred_global_on=開 +theme_xhred_global_off=關閉 +theme_xhred_global_all=所有 +theme_xhred_global_none=無 +theme_xhred_global_yes=æ˜Ż +theme_xhred_global_no=搊 + +theme_xhred_filemanager_new_tab=æ·»ćŠ æ–°çš„éžé …ćĄ(Ctrl+ç©ș栌鍔) +theme_xhred_datatable_no_search_results=æœć°‹æœȘ有甐果
    ć˜—è©Šć…¶ćźƒæœć°‹ + +theme_xhred_filemanager_buffer_error=ç„Ąæł•ć°‡æ–‡ä»¶çȘèČŒćˆ°ç·©èĄć€ - æŹŠé™èą«æ‹’ç”•ă€‚ + +filemanager_create_object_exists=$3 `$1` ć·Čæ–Œ `$2` 歘朹 +filemanager_create_object_denied=ç„Ąæł•ć»ș立 $3 `$1` æ–Œ `$2` - 拒甕èšȘ敏。 + +filemanager_paste_warning=黏èČŒäž€ć€‹ïŒˆæˆ–ć€šć€‹ïŒ‰ć°è±Ąć€±æ•—ă€‚ćŻèƒœè«‹æ±‚çš„ć°è±Ąćœšé»èČŒæ™‚ć·Čèą« é‡ć‘œć 移拕 或 ćˆȘé™€ă€‚ćŠäž€ć€‹ćŻèƒœçš„ćŽŸć› æ˜ŻïŒŒç›źæš™ç›źéŒ„äžćŻćŻ«ă€‚æ‡‰ç•¶æȘąæŸ„ć°è±Ąçš„ć±Źæ€§ă€‚ + +theme_xhred_filemanager_delete_warning=ćˆȘé™€éƒšćˆ†æˆćŠŸïŒŒäœ†æČ’æœ‰ćźŒæˆæ‰€æœ‰ć°è±Ąă€‚ćŻèƒœè«‹æ±‚çš„ć°è±ĄćœšćˆȘ陀時ć·Čèą« é‡ć‘œć 移拕 或 ćˆȘé™€ă€‚æŹŠé™ć—é™ïŒˆć±Źæ€§é™ćˆ¶ïŒ‰æ˜ŻćŠäž€çšźćŻèƒœćŽŸć› ă€‚éŒŻèȘ€äżĄæŻïŒš + + +filemanager_rename_exists=損ç‚ș `$1` 的 $3 ć·Čć­˜ćœšæ–Œ `$2` +filemanager_rename_denied=äžèƒœé‡ć‘œć $3é€™ćŻèƒœæ˜ŻæșæȘ”æĄˆ $3 ć·Čç¶“èą«ç§»é™€æˆ–ć› ç‚șć—ćˆ°æŹŠé™é™ćˆ¶ă€‚ + +theme_xhred_filemanager_successful_rename=氇 `%from` é‡ć‘œćç‚ș `%to` æˆćŠŸă€‚ + +filemanager_global_info_total1=瞜蚈$ 1æ–‡ä»¶ć’Œ$ 2盼錄 +filemanager_global_info_total2=瞜1æ–‡ä»¶ć’Œ$ 2 $盼錄 +filemanager_global_info_total3=瞜蚈$ 1æ–‡ä»¶ć’Œ$ 2盼錄 +filemanager_global_info_total4=瞜$ 1ć€‹æ–‡ä»¶ć’Œ$ 2盼錄 + +theme_xhred_filemanager_selected_entry=ć·Č遞: %value 怋 + +theme_xhred_filemanager_search_query=æŸ„è©ąæŽ©æšĄ +theme_xhred_filemanager_search_match=柄扟甐果 +theme_xhred_filemanager_search_replace=æ›żæ›ç”æžœ + +theme_xhred_global_find=柄扟 +theme_xhred_global_replace=æ›żæ› + +theme_xhred_filemanager_searching_matching=æ­Łæœć°‹ `%value` ćŒč配文件/ç›źéŒ„ïŒŒćŒ…ć« `%text` æ–‡æœŹ. +theme_xhred_filemanager_searching_replacing=ćœšćçš±ćŒ…ć« `%value` çš„æœć°‹ç”æžœäž­æ›żæ›ç”š `%replace` æ›żæ› `%text`。 + +theme_xhred_filemanager_search_replaced_multi=æ‰Ÿćˆ°äžŠæ›żæ› %value 怋æȘ”æĄˆă€‚ +theme_xhred_filemanager_search_replaced=æ‰Ÿćˆ°äžŠæ›żæ›äș† 1 怋æȘ”æĄˆă€‚ + +theme_xhred_filemanager_successful_permissions_with_errors=æŹŠé™æ›Žæ”č郹戆ć·ČæˆćŠŸïŒŒäœ†æČ’æœ‰æ”čèźŠæ‰€æœ‰ć°è±ĄïŒš + +theme_xhred_filemanager_successful_ownership_with_errors=氚æœȘæˆćŠŸćœ°æ”čèźŠæ‰€æœ‰ć°è±Ąçš„æ‰€æœ‰æŹŠïŒš +theme_xhred_filemanager_successful_ownership_with_errors_fatal=ç”±æ–Œä»„äž‹éŒŻèȘ€ïŒŒæ‰€æœ‰æŹŠäžèƒœæ”čèźŠïŒš + +theme_xhred_filemanager_successful_compression_with_errors=棓羼ć·ČćźŒæˆäœ†ç™Œç”Ÿä»„äž‹éŒŻèȘ€ïŒš +theme_xhred_filemanager_successful_compression_bg=棓羼ć·ČæˆćŠŸćźŒæˆă€‚ć·ČćŁ“çžźæ–‡ä»¶ `%file 歘ć„Čæ–Œ `%path` 盼錄。 +theme_xhred_filemanager_successful_compression_bg_with_errors=棓羼ć·ČćźŒæˆäœ†ç™Œç”ŸéŒŻèȘ€ă€‚ć·ČćŁ“çžźæ–‡ä»¶ `%file 應è©Čć·Čèą«ć„Čć­˜æ–Œ `%path` 盼錄。 + +theme_xhred_filemanager_settings_notification_type=é€šçŸ„éĄŻç€ș的類枋 +theme_xhred_filemanager_settings_notification_type_inf_warn_err=äżĄæŻă€è­Šć‘Šć’ŒéŒŻèȘ€ +theme_xhred_filemanager_settings_notification_type_warn_err=è­Šć‘Šć’ŒéŒŻèȘ€ +theme_xhred_filemanager_settings_notification_type_err=錯èȘ€ + +theme_xhred_filemanager_settings_tabs_remember_state=ćœšćˆæŹĄé€Čć…„æ™‚èŒ‰ć…„ć…ˆć‰äœżç”šéŽçš„æš™ç±€é  +theme_xhred_filemanager_context_open_new_tab=ćœšæ–°æš™ç±€é äž­é–‹ć•Ÿ + +theme_xhred_xsql_fit_content_screen_height=適配敞據ćș«èĄšæ Œè‡łć±ćč•é«˜ćșŠ + +theme_xhred_datatable_filter_visible_tables=éŽæżŸćŻèŠ‹èĄš +theme_xhred_module_help=æšĄç”„ćč«ćŠ© + +theme_xhred_server_process_running=äŒșæœć™šé€Čçš‹ä»ćœšé‹èĄŒ!!䜠çąșćźšèŠćœšćŸ—ćˆ°èŒžć‡șäżĄæŻć‰é›ąé–‹é éą?ćłäœżæ‚šçŸćœšé›ąé–‹,ćŸ·èĄŒéŽçš‹äčŸäžæœƒèą«ç”‚æ­ąă€‚ + + +#18.03 +settings_global_options_title=慚汀遞項 +settings_global_passgen_format=ćŻ†çąŒç”ąç”Ÿć™š +settings_global_passgen_format_description=èš­ćźšæ‰€ç”Ÿæˆçš„ćŻ†çąŒäž­äœżç”šçš„ć­—çŹŠéĄžćž‹ć’Œé•·ćșŠă€‚çŹŹäž€ć€Œæ˜Żæ•žć€ŒïŒŒé€™æ˜ŻćŻ†çąŒçš„é•·ćșŠïŒŒç·ŠæŽ„著 | 䜜ç‚șćˆ†éš”çŹŠă€‚æŽ„è‘—æ˜ŻéĄžćž‹ïŒŒćœšé€™èŁĄćŻä»„äœżç”šæ•žć­— 0-9 ïŒŒć­—æŻ A-Z 撌/或 A-Z 撌ç‰čæźŠć­—çŹŠ#ă€‚æ‰€æœ‰é€™äș›ćŻä»„äž€è”·æˆ–ć–źçšäœżç”š,仄逗號䜜ç‚șćˆ†éš”çŹŠă€‚é»˜èȘć€Œç‚ș 12|a-z,A-Z,0-9,#,ć…¶èĄšç€ș與長ćșŠç‚ș12ć€‹ć­—çŹŠïŒŒćŒ…ć«ć€§ćŻ«ć’Œć°ćŻ«è‹±æ–‡ć­—æŻïŒŒæ•žć­—ć’Œç‰čæźŠć­—çŹŠçš„ćŻ†çąŒă€‚ +theme_xhred_password_generator_new=ç”Ÿæˆæ–°ćŻ†çąŒ(é»žæ“Šè€‡èŁœćˆ°ć‰ȘèČŒæż) +theme_xhred_password_generator_new_success=ç”Ÿæˆçš„ćŻ†çąŒ %password ć·Čèą«æˆćŠŸćœ°è€‡èŁœćˆ°ć‰ȘèČŒæżă€‚ + + +#18.08 +theme_fileformat_perl=Perl +theme_fileformat_perl_placeholder=æœŹæ–‡ä»¶ćż…é ˆäșŠ `1;` ç”æŸä»„æ­Łćžžé‹äœœă€‚ + + +#18.10 +theme_error_access_not_root=èšȘć•èą«æ‹’: 甚戶需芁èšȘ敏 Webmin èš­çœź æšĄç”„çš„æŹŠé™äŸ†ç·šèŒŻäž»éĄŒèš­çœź + + +#18.20 +settings_hide_top_loader=隱藏頂郚的é€ČćșŠæąćŠć…¶é€ČćșŠ + + +#18.30 +settings_leftmenu_vm_cm_dropdown_icons=朹 Virtualmin / Cloudmin 䞭饯ç€șäž‹æ‹‰çŹŠè™Ÿćœ–æš™ +settings_font_family=Font family +settings_font_family_description=ćœšæ‰€æœ‰ç”Šć‡șçš„ć­—é«”äž­ïŒŒèźŠé«” Roboto æœƒé™„ćž¶æ–Œäž»éĄŒäžŠç‚ș默èȘèźŠé«”éžé …ă€‚ć…¶ä»–ć­—é«”ćż…é ˆćœšæœŹćœ°èšˆçź—æ©ŸäžŠćź‰èŁćŸŒæ‰èƒœæ­Łćžžć·„äœœă€‚é€šéŽäœżç”šæœŹćœ°ć­—é«”ïŒŒé»˜èȘć­—é«”äžæœƒèą«ćŠ èŒ‰ïŒŒé€™ć°‡äœżäž»éĄŒæ›Žćż«ćœ°ćŠ èŒ‰ă€‚ +theme_xhred_global_shipped=ć·Čć‡șèČš +theme_xhred_global_available=揯甹 +theme_xhred_global_not_available=䞍適甚 +theme_xhred_global_default=預蚭 +theme_xhred_global_system_default=çł»ç”±é èš­ +theme_xhred_global_local_system_default=æœŹćœ°çł»ç”±é èš­ +theme_xhred_global_stats=由蚈 +theme_xhred_global_notifications=提醒 +theme_xhred_global_favorites=我的最愛 +theme_xhred_global_cpu_load=CPUèČ èŒ‰ +theme_xhred_notification_none=ç„Ąé€šçŸ„ +theme_xhred_notification_no_data=æš«ç„Ąæé†’ +theme_xhred_notification_no_favorites=æČ’æœ‰æˆ‘çš„æœ€æ„›æ•žæ“š +theme_xhred_global_theme_version=äž»éĄŒç‰ˆæœŹ + +settings_side_slider_sysinfo_enabled=饯ç€șć„€èĄšç›€éžé …ćĄ +settings_side_slider_notifications_enabled=饯ç€șé€šçŸ„éžé …ćĄ +settings_side_slider_favorites_enabled=饯ç€șæˆ‘çš„æœ€æ„›éžé …ćĄ +settings_show_terminal_link=饯ç€șç”‚ç«ŻæŒ‰éˆ• + +theme_xhred_sysinfo_system_monitors=çł»ç”±ç›ŁèŠ–ć™š +theme_xhred_sysinfo_server_status=äŒșæœć™šç‹€æ…‹ +theme_xhred_sysinfo_software_versions=è»Ÿé«”ç‰ˆæœŹ +theme_xhred_sysinfo_recent_logins=æœ€èż‘ç™»ć…„ +theme_xhred_sysinfo_vm_package_updates=Virtualmin è»Ÿé«”ćŒ…æ›Žæ–° +theme_xhred_sysinfo_disk_quotas=çŁç›€é…éĄ +theme_xhred_sysinfo_bandwidth_quotas=ćž¶ćŻŹé…éĄ + +left_netdata=ćŻŠæ™‚ç›ŁæŽ§ +settings_leftmenu_netdata=饯ç€ș Netdata ćŻŠæ™‚ç›ŁæŽ§éˆæŽ„ +settings_leftmenu_netdata_link=Netdata æœć‹™ć™šć„Șéžéˆè·Ż + +theme_xhred_filemanager_context_chattr=曎æ”čć±Źæ€§ +theme_xhred_filemanager_changing_attributes=ć°‡ć±Źæ€§èš­çœźç‚ș %value æ–Œć·Č遞æȘ”æĄˆäžŠă€‚ +theme_xhred_filemanager_successful_attributes_with_errors=æ‰€æœ‰ć°è±Ąçš„ć±Źæ€§é‚„æČ’æœ‰èą«æˆćŠŸèš­çœź: +theme_xhred_filemanager_successful_attributes=ć±Źæ€§ć·ČæˆćŠŸèš­çœźă€‚ + +theme_xhred_filemanager_context_chcon=曎æ”čćź‰ć…šäžŠäž‹æ–‡ +theme_xhred_filemanager_changing_secontext=曎æ”čćź‰ć…šäžŠäž‹æ–‡è‡ł %value 斌遞擇的æȘ”æĄˆă€‚ +theme_xhred_filemanager_successful_secontext_with_errors=æœ‰éƒšćˆ†é …ç›źçš„ćź‰ć…šäžŠäž‹æ–‡æ›Žæ”čć€±æ•—: +theme_xhred_filemanager_successful_secontext=ćź‰ć…šäžŠäž‹æ–‡ć·Čèą«æ›Žæ”č。 + +theme_xhred_global_no_results_found=æœć°‹æČ’æœ‰æ‰Ÿćˆ°ç”æžœ + + +#18.40 +theme_new_password_header=èš­çœźæ–°ćŻ†çąŒ +login_reset=ćż˜èš˜ćŻ†çąŒ +theme_xhred_move_top=ç§»ć‹•ćˆ°é ‚éƒš +theme_xhred_move_bottom=ç§»ć‹•è‡łćș•éƒš +theme_xhred_move_up=搑䞊移拕 +theme_xhred_move_down=搑䞋移拕 +theme_xhred_add_after=朹慧ćźčćŸŒæ·»ćŠ  +theme_xhred_add_before=朹慧ćźčć‰æ·»ćŠ  +settings_button_tooltip=饯ç€șć·„ć…·æç€ș䞊的按鈕 +settings_show_night_mode_link=饯ç€șèȘżè‰Čæż +settings_hotkey_toggle_key_night_mode=ćˆ‡æ›æš—/äșźèȘżè‰Čæżç†±é” +settings_title=äž»éĄŒé…çœź +settings_subtitle=ć°æ–Œç”šæˆ¶ + +theme_tooltip_night_mode=晝/ć€œæšĄćŒćˆ‡æ› +theme_tooltip_terminal_link=甂端 +theme_tooltip_language_link=èȘžèš€ +theme_tooltip_switch_user=敟/犁甚甚戶 +theme_tooltip_logout=登ć‡ș +theme_tooltip_edit_user=ç·šèŒŻç”šæˆ¶ + + +#18.45 +settings_sysinfo_easypie_charts_size=ćœ–èĄšç›ŽćŸ‘ +theme_xhred_global_choose=遞擇 +theme_xhred_global_select=遞擇 +theme_xhred_global_ok=OK +settings_sysinfo_theme_patched_updates=ćŒ…æ‹ŹäżźèŁœç‰ˆæœŹ +settings_sysinfo_theme_updates_description=ç‚șäș†äœżæ­€éžé …ćŻç”š, 請çąș保 git ć‘œä»€ć·Čćœšçł»ç”±äžŠćź‰èŁă€‚ +theme_git_patch_available=æœ€æ–°çš„ćŻç”šäżźèŁœçš‹ćŒ +theme_git_patch_no_git_message=ç‚șäș†ç›ŽæŽ„ćŸž GitHub ćź‰èŁæœ€æ–°çš„äżźèŁœçš‹ćŒïŒŒæ‚šćż…é ˆçąș保 git ć‘œä»€ć·Čèą«ćź‰èŁă€‚ +theme_git_patch_update_success_message=Webmin äž»éĄŒć‡çŽšæˆćŠŸă€‚ç›źć‰ćź‰èŁçš„ç‰ˆæœŹç‚ș$1ă€‚é‡èŒ‰äž­... +theme_git_patch_update_success_message2=Webmin 與 Usermin çš„äž»éĄŒć‡çŽšæˆćŠŸă€‚ç›źć‰ćź‰èŁçš„ç‰ˆæœŹç‚ș $1ă€‚é‡èŒ‰äž­... +theme_xhred_git_patch_update=äž»éĄŒć‡çŽšć€±æ•—ă€‚è«‹ć˜—è©Šäœżç”šæŽ§ćˆ¶ć°æ‰‹ć·„æ›Žæ–°ă€‚ +theme_xhred_git_patch_initiated=äž»éĄŒć‡çŽšć·Č經開構。 +theme_xhred_global_prev_page=侊侀頁 +theme_xhred_global_help=ćč«ćŠ© +settings_right_soft_updates_page_options_title=軟體曎新 +theme_xhred_git_compare_changes=èźŠć‹•æŻ”èŒƒ +theme_xhred_filemanager_link_to_clipboard=Symbolic link's name `%value` has been copied to clipboard. + + + +#18.46 +theme_left_mail_prefs=Mail Preferences +theme_left_mail_change_password=Change Password +theme_left_mail_account_functions=Account Functions +theme_xhred_global_dir_up=Go to previous directory (Backspace) +theme_xhred_global_module_config=Module config +theme_xhred_global_return=Return +theme_xhred_global_return_to_module_index=Return to module index + + +#18.47 +settings_account_info_link_mini=Show account information link as button +theme_xhred_global_complete_changelog=Complete changelog +theme_xhred_global_beta_version=Beta version +theme_xhred_global_release=Release +theme_xhred_global_released_on=Released on +theme_xhred_global_committed_on=Committed on +theme_xhred_global_resolved_issues=Resolved issues in %value releases + + +#18.48 +theme_force_upgrade=Force update theme +theme_force_upgrade_beta=Install latest development version (beta) +theme_force_upgrade_stable=Install latest release version (stable) +theme_xhred_source_encoding=Source encoding +theme_update_footer=Please be kind reporting bugs to $1 repository. Follow theme's $2 channel for the latest updates. +theme_xhred_encoding_manually_set=Manually set encoding +theme_xhred_filemanager_save_to_change_encoding=File must be saved, in order to allow encoding to be changed. + + +#18.49 +theme_xhred_filemanager_user_switch=Switch to user (Ctrl+M) +theme_xhred_filemanager_user_switch_description=By selecting the username listed below, you will switch further operations to be performed as this user. +theme_xhred_filemanager_user_switch_description_back=To switch back to default mode choose the first option in select. +theme_xhred_filemanager_user_switch_current_user=Current user +theme_xhred_filemanager_user_switch_option=Automatically switch to user mode upon entering its home directory +theme_xhred_filemanager_editor_align_panels_horizontally=Align Panels Horizontally +theme_xhred_filemanager_editor_align_panels_vertically=Align Panels Vertically +theme_xhred_filemanager_editor_toggle_soft_wrap=Toggle Soft Wrap +theme_xhred_filemanager_editor_refresh_content=Refresh Content +theme_xhred_filemanager_save_to_refresh_content=File must be saved, in order to allow its content to be refreshed. +theme_xhred_filemanager_save_to_refresh_content_proc=Refreshing file content. +theme_xhred_global_dark=Dark +theme_xhred_global_light=Light +theme_xhred_global_minimize=Minimize +theme_xhred_global_maximize=Maximize +theme_xhred_global_normalize=Normalize +theme_xhred_global_set_encoding=Set encoding + + +#19.00 +theme_xhred_sysinfo_update_start=System information is being recollected. +theme_xhred_sysinfo_update_end=System information has been recollected successfully. +theme_xhred_sysinfo_update_failed=System information can't be recollected. Try again later. + +theme_xhred_global_development_version=Development version + +right_vm_server_summary=Virtual Server Summary + +settings_webmin_default_module=Default module for Webmin + +theme_xhred_global_unbeforeunload_title=Changes you made may not be saved +theme_xhred_global_unbeforeunload_message=If you continue, unsaved changes on this page could be permanently lost. +theme_xhred_global_continue=Continue + +theme_xhred_global_automatic_refresh=Automatic refresh +theme_xhred_global_second=Second +theme_xhred_global_seconds=Seconds +theme_xhred_global_minute=Minute +theme_xhred_global_minutes=Minutes diff --git a/lib/File/BaseDir.pm b/lib/File/BaseDir.pm new file mode 100644 index 000000000..e225fa596 --- /dev/null +++ b/lib/File/BaseDir.pm @@ -0,0 +1,299 @@ +package File::BaseDir; + +use strict; +use Carp; +require File::Spec; +require Exporter; + +our $VERSION = 0.07; + +our @ISA = qw(Exporter); +our %EXPORT_TAGS = ( + vars => [ qw( + xdg_data_home xdg_data_dirs + xdg_config_home xdg_config_dirs + xdg_cache_home + ) ], + lookup => [ qw( + data_home data_dirs data_files + config_home config_dirs config_files + cache_home + ) ], +); +our @EXPORT_OK = ( + qw(xdg_data_files xdg_config_files), + map @$_, values %EXPORT_TAGS +); + +# Set root and home directories +my $rootdir = File::Spec->rootdir(); +if ($^O eq 'MSWin32') { + $rootdir = 'C:\\'; # File::Spec default depends on CWD + $ENV{HOME} ||= $ENV{USERPROFILE} || $ENV{HOMEDRIVE}.$ENV{HOMEPATH}; + # logic from File::HomeDir::Windows +} +my $home = $ENV{HOME}; +unless ($home) { + # Default to operating system's home dir. NOTE: web applications may not have $ENV{HOME} assigned, + # so don't issue a warning. See RT bug #41744 + $home = $rootdir; +} + +# Set defaults +our $xdg_data_home = File::Spec->catdir($home, qw/.local share/); +our @xdg_data_dirs = ( + File::Spec->catdir($rootdir, qw/usr local share/), + File::Spec->catdir($rootdir, qw/usr share/), +); +our $xdg_config_home = File::Spec->catdir($home, '.config'); +our @xdg_config_dirs = ( File::Spec->catdir($rootdir, qw/etc xdg/) ); +our $xdg_cache_home = File::Spec->catdir($home, '.cache'); + +# OO method +sub new { bless \$VERSION, shift } # what else is there to bless ? + +# Variable methods +sub xdg_data_home { $ENV{XDG_DATA_HOME} || $xdg_data_home } + +sub xdg_data_dirs { + ( $ENV{XDG_DATA_DIRS} + ? _adapt($ENV{XDG_DATA_DIRS}) + : @xdg_data_dirs + ) +} + +sub xdg_config_home {$ENV{XDG_CONFIG_HOME} || $xdg_config_home } + +sub xdg_config_dirs { + ( $ENV{XDG_CONFIG_DIRS} + ? _adapt($ENV{XDG_CONFIG_DIRS}) + : @xdg_config_dirs + ) +} + +sub xdg_cache_home { $ENV{XDG_CACHE_HOME} || $xdg_cache_home } + +sub _adapt { + map { File::Spec->catdir( split('/', $_) ) } split /[:;]/, shift; + # ':' defined in the spec, but ';' is standard on win32 +} + +# Lookup methods +sub data_home { _catfile(xdg_data_home, @_) } + +sub data_dirs { _find_files(\&_dir, \@_, xdg_data_home, xdg_data_dirs) } + +sub data_files { _find_files(\&_file, \@_, xdg_data_home, xdg_data_dirs) } + +sub xdg_data_files { my @dirs = data_files(@_); return @dirs } + +sub config_home { _catfile(xdg_config_home, @_) } + +sub config_dirs { _find_files(\&_dir, \@_, xdg_config_home, xdg_config_dirs) } + +sub config_files { _find_files(\&_file, \@_, xdg_config_home, xdg_config_dirs) } + +sub xdg_config_files { my @dirs = config_files(@_); return @dirs } + +sub cache_home { _catfile(xdg_cache_home, @_) } + +sub _catfile { + my $dir = shift; + shift if ref $_[0] or $_[0] =~ /::/; # OO call + return File::Spec->catfile($dir, @_); +} + +sub _find_files { + my $type = shift; + my $file = shift; + shift @$file if ref $$file[0] or $$file[0] =~ /::/; # OO call + #warn "Looking for: @$file\n in: @_\n"; + if (wantarray) { + return grep { &$type( $_ ) && -r $_ } + map { File::Spec->catfile($_, @$file) } @_; + } + else { # prevent unnecessary stats by returning early + for (@_) { + my $path = File::Spec->catfile($_, @$file); + return $path if &$type($path) && -r $path; + } + } + return (); +} + +sub _dir { -d $_[0] } + +sub _file { -f $_[0] } + +1; + +__END__ + +=head1 NAME + +File::BaseDir - Use the Freedesktop.org base directory specification + +=head1 SYNOPSIS + + use File::BaseDir qw/xdg_data_files/; + for ( xdg_data_files('mime/globs') ) { + # do something + } + +=head1 DESCRIPTION + +This module can be used to find directories and files as specified +by the Freedesktop.org Base Directory Specification. This specifications +gives a mechanism to locate directories for configuration, application data +and cache data. It is suggested that desktop applications for e.g. the +Gnome, KDE or Xfce platforms follow this layout. However, the same layout can +just as well be used for non-GUI applications. + +This module forked from L. + +This module follows version 0.6 of BaseDir specification. + +=head1 EXPORT + +None by default, but all methods can be exported on demand. +Also the groups ":lookup" and ":vars" are defined. The ":vars" group +contains all routines with a "xdg_" prefix; the ":lookup" group +contains the routines to locate files and directories. + +=head1 METHODS + +=over 4 + +=item C + +Simple constructor to allow Object Oriented use of this module. + +=back + +=head2 Lookup + +The following methods are used to lookup files and folders in one of the +search paths. + +=over 4 + +=item C + +Takes a list of file path elements and returns a new path by appending +them to the data home directory. The new path does not need to exist. +Use this when writing user specific application data. + +Example: + + # data_home is: /home/USER/.local/share + $path = $bd->data_home('Foo', 'Bar', 'Baz'); + # returns: /home/USER/.local/share/Foo/Bar/Baz + +=item C + +Looks for directories specified by C<@PATH> in the data home and +other data directories. Returns (possibly empty) list of readable +directories. In scalar context only the first directory found is +returned. Use this to lookup application data. + +=item C + +Looks for files specified by C<@PATH> in the data home and other data +directories. Only returns files that are readable. In scalar context only +the first file found is returned. Use this to lookup application data. + +=item C + +Takes a list of path elements and appends them to the config home +directory returning a new path. The new path does not need to exist. +Use this when writing user specific configuration. + +=item C + +Looks for directories specified by C<@PATH> in the config home and +other config directories. Returns (possibly empty) list of readable +directories. In scalar context only the first directory found is +returned. Use this to lookup configuration. + +=item C + +Looks for files specified by C<@PATH> in the config home and other +config directories. Returns a (possibly empty) list of files that +are readable. In scalar context only the first file found is returned. +Use this to lookup configuration. + +=item C + +Takes a list of path elements and appends them to the cache home +directory returning a new path. The new path does not need to exist. + +=back + +=head2 Variables + +The following methods only returns the value of one of the XDG variables. + +=over 4 + +=item C + +Returns either C<$ENV{XDG_DATA_HOME}> or it's default value. +Default is F<$HOME/.local/share>. + +=item C + +Returns either C<$ENV{XDG_DATA_DIRS}> or it's default value as list. +Default is F, F. + +=item C + +Returns either C<$ENV{XDG_CONFIG_HOME}> or it's default value. +Default is F<$HOME/.config>. + +=item C + +Returns either C<$ENV{XDG_CONFIG_DIRS}> or it's default value as list. +Default is F. + +=item C + +Returns either C<$ENV{XDG_CACHE_HOME}> or it's default value. +Default is F<$HOME/.cache>. + +=back + +=head1 NON-UNIX PLATFORMS + +The use of L ensures that all paths are returned in the appropriate +form for the current platform. On Windows this module will try to set C<$HOME> +to a sensible value if it is not defined yet. On other platforms one can use +e.g. L to set $HOME before loading File::BaseDir. + +Please note that the specification is targeting Unix platforms only and +will only have limited relevance on other platforms. Any platform dependent +behavior in this module should be considered an extension of the spec. + +=head1 BACKWARDS COMPATIBILITY + +The methods C and C are exported for +backwards compatibility with version 0.02. They are identical to C +and C respectively but without the C behavior. + +=head1 BUGS + +Please mail the author if you encounter any bugs. + +=head1 AUTHOR + +Jaap Karssenberg || Pardus [Larus] Epardus@cpan.orgE + +Copyright (c) 2003, 2007 Jaap G Karssenberg. All rights reserved. +This program is free software; you can redistribute it and/or +modify it under the same terms as Perl itself. + +Currently being maintained by Kim Ryan + +=head1 SEE ALSO + +L + diff --git a/lib/File/MimeInfo.pm b/lib/File/MimeInfo.pm new file mode 100644 index 000000000..506fe07e7 --- /dev/null +++ b/lib/File/MimeInfo.pm @@ -0,0 +1,482 @@ +package File::MimeInfo; + +use strict; +use Carp; +use Fcntl 'SEEK_SET'; +use File::Spec; +use File::BaseDir qw/data_files/; +require Exporter; + +our @ISA = qw(Exporter); +our @EXPORT = qw(mimetype); +our @EXPORT_OK = qw(extensions describe globs inodetype mimetype_canon mimetype_isa); +our $VERSION = '0.27'; +our $DEBUG; + +our ($_hashed, $_hashed_aliases, $_hashed_subclasses); +our (@globs, %literal, %extension, %mime2ext, %aliases, %subclasses); +our ($LANG, @DIRS); +# @globs = [ [ 'glob', qr//, $mime_string ], ... ] +# %literal contains literal matches +# %extension contains extensions (globs matching /^\*(\.\w)+$/ ) +# %mime2ext is used for looking up extension by mime type +# %aliases contains the aliases table +# %subclasses contains the subclasses table +# $LANG can be used to set a default language for the comments +# @DIRS can be used to specify custom database directories + +sub new { bless \$VERSION, shift } # what else is there to bless ? + +sub mimetype { + my $file = pop; + croak 'subroutine "mimetype" needs a filename as argument' unless defined $file; + return + inodetype($file) || + globs($file) || + default($file); +} + +sub inodetype { + my $file = pop; + print STDERR "> Checking inode type\n" if $DEBUG; + lstat $file or return undef; + return undef if -f _; + my $t = (-l $file) ? 'inode/symlink' : # Win32 does not like '_' here + (-d _) ? 'inode/directory' : + (-p _) ? 'inode/fifo' : + (-c _) ? 'inode/chardevice' : + (-b _) ? 'inode/blockdevice' : + (-S _) ? 'inode/socket' : '' ; + if ($t eq 'inode/directory') { # compare devices to detect mount-points + my $dev = (stat _)[0]; # device of the node under investigation + $file = File::Spec->rel2abs($file); # get full path + my @dirs = File::Spec->splitdir($file); + $file = File::Spec->catfile(@dirs); # removes trailing '/' or equivalent + return $t if -l $file; # parent can be on other dev for links + pop @dirs; + my $dir = File::Spec->catdir(@dirs); # parent dir + $t = 'inode/mount-point' unless (stat $dir)[0] == $dev; # compare devices + return $t; + } + else { return $t ? $t : undef } +} + +sub globs { + my $file = pop; + croak 'subroutine "globs" needs a filename as argument' unless defined $file; + rehash() unless $_hashed; + (undef, undef, $file) = File::Spec->splitpath($file); # remove path + print STDERR "> Checking globs for basename '$file'\n" if $DEBUG; + + return $literal{$file} if exists $literal{$file}; + + if ($file =~ /\.(\w+(\.\w+)*)$/) { + my @ext = split /\./, $1; + while (@ext) { + my $ext = join('.', @ext); + print STDERR "> Checking for extension '.$ext'\n" if $DEBUG; + warn "WARNING: wantarray behaviour of globs() will change in the future.\n" if wantarray; + return wantarray + ? ($extension{$ext}, $ext) + : $extension{$ext} + if exists $extension{$ext}; + shift @ext; + } + } + + for (@globs) { + next unless $file =~ $_->[1]; + print STDERR "> This file name matches \"$_->[0]\"\n" if $DEBUG; + return $_->[2]; + } + + return globs(lc $file) if $file =~ /[A-Z]/; # recurs + return undef; +} + +sub default { + my $file = pop; + croak 'subroutine "default" needs a filename as argument' unless defined $file; + + my $line; + unless (ref $file) { + return undef unless -f $file; + print STDERR "> File exists, trying default method\n" if $DEBUG; + return 'text/plain' if -z $file; + + open FILE, '<', $file or return undef; + binmode FILE, ':utf8' unless $] < 5.008; + read FILE, $line, 32; + close FILE; + } + else { + print STDERR "> Trying default method on object\n" if $DEBUG; + + $file->seek(0, SEEK_SET); + $file->read($line, 32); + } + + { + no warnings; # warnings can be thrown when input not ascii + if ($] < 5.008 or ! utf8::valid($line)) { + use bytes; # avoid invalid utf8 chars + $line =~ s/\s//g; # \m, \n and \t are also control chars + return 'text/plain' unless $line =~ /[\x00-\x1F\x7F]/; + } + else { + # use perl to do something intelligent for ascii & utf8 + return 'text/plain' unless $line =~ /[^[:print:]\s]/; + } + } + print STDERR "> First 10 bytes of the file contain control chars\n" if $DEBUG; + return 'application/octet-stream'; +} + +sub rehash { + (@globs, %literal, %extension, %mime2ext) = (); # clear all data + local $_; # limit scope of $_ ... :S + my @globfiles = @DIRS + ? ( grep {-e $_ && -r $_} map "$_/globs", @DIRS ) + : ( reverse data_files('mime/globs') ); + print STDERR << 'EOT' unless @globfiles; +WARNING: You don't seem to have a mime-info database. The +shared-mime-info package is available from http://freedesktop.org/ . +EOT + my @done; + for my $file (@globfiles) { + next if grep {$file eq $_} @done; + _hash_globs($file); + push @done, $file; + } + $_hashed = 1; +} + +sub _hash_globs { + my $file = shift; + open GLOB, '<', $file || croak "Could not open file '$file' for reading" ; + binmode GLOB, ':utf8' unless $] < 5.008; + my ($string, $glob); + while () { + next if /^\s*#/ or ! /\S/; # skip comments and empty lines + chomp; + ($string, $glob) = split /:/, $_, 2; + unless ($glob =~ /[\?\*\[]/) { $literal{$glob} = $string } + elsif ($glob =~ /^\*\.(\w+(\.\w+)*)$/) { + $extension{$1} = $string unless exists $extension{$1}; + $mime2ext{$string} = [] if !defined($mime2ext{$string}); + push @{$mime2ext{$string}}, $1; + } else { unshift @globs, [$glob, _glob_to_regexp($glob), $string] } + } + close GLOB || croak "Could not open file '$file' for reading" ; +} + +sub _glob_to_regexp { + my $glob = shift; + $glob =~ s/\./\\./g; + $glob =~ s/([?*])/.$1/g; + $glob =~ s/([^\w\/\\\.\?\*\[\]])/\\$1/g; + qr/^$glob$/; +} + +sub extensions { + my $mimet = mimetype_canon(pop @_); + rehash() unless $_hashed; + my $ref = $mime2ext{$mimet} if exists $mime2ext{$mimet}; + return $ref ? @{$ref} : undef if wantarray; + return $ref ? @{$ref}[0] : ''; +} + +sub describe { + shift if ref $_[0]; + my ($mt, $lang) = @_; + croak 'subroutine "describe" needs a mimetype as argument' unless $mt; + $mt = mimetype_canon($mt); + $lang = $LANG unless defined $lang; + my $att = $lang ? qq{xml:lang="$lang"} : ''; + my $desc; + my @descfiles = @DIRS + ? ( grep {-e $_ && -r $_} map "$_/$mt.xml", @DIRS ) + : ( reverse data_files('mime', split '/', "$mt.xml") ) ; + for my $file (@descfiles) { + $desc = ''; # if a file was found, return at least empty string + open XML, '<', $file || croak "Could not open file '$file' for reading"; + binmode XML, ':utf8' unless $] < 5.008; + while () { + next unless m!(.*?)!; + $desc = $1; + last; + } + close XML || croak "Could not open file '$file' for reading"; + last if $desc; + } + return $desc; +} + +sub mimetype_canon { + my $mimet = pop; + croak 'mimetype_canon needs argument' unless defined $mimet; + rehash_aliases() unless $_hashed_aliases; + return exists($aliases{$mimet}) ? $aliases{$mimet} : $mimet; +} + +sub rehash_aliases { + %aliases = _read_map_files('aliases'); + $_hashed_aliases++; +} + +sub _read_map_files { + my ($name, $list) = @_; + my @files = @DIRS + ? ( grep {-e $_ && -r $_} map "$_/$name", @DIRS ) + : ( reverse data_files("mime/$name") ); + my (@done, %map); + for my $file (@files) { + next if grep {$_ eq $file} @done; + open MAP, '<', $file || croak "Could not open file '$file' for reading"; + binmode MAP, ':utf8' unless $] < 5.008; + while () { + next if /^\s*#/ or ! /\S/; # skip comments and empty lines + chomp; + my ($k, $v) = split /\s+/, $_, 2; + if ($list) { + $map{$k} = [] unless $map{$k}; + push @{$map{$k}}, $v; + } + else { $map{$k} = $v } + } + close MAP; + push @done, $file; + } + return %map; +} + +sub mimetype_isa { + my $parent = pop || croak 'mimetype_isa needs argument'; + my $mimet = pop; + if (ref $mimet or ! defined $mimet) { + $mimet = mimetype_canon($parent); + undef $parent; + } + else { + $mimet = mimetype_canon($mimet); + $parent = mimetype_canon($parent); + } + rehash_subclasses() unless $_hashed_subclasses; + + my @subc; + push @subc, 'inode/directory' if $mimet eq 'inode/mount-point'; + push @subc, @{$subclasses{$mimet}} if exists $subclasses{$mimet}; + push @subc, 'text/plain' if $mimet =~ m#^text/#; + push @subc, 'application/octet-stream' unless $mimet =~ m#^inode/#; + + return $parent ? scalar(grep {$_ eq $parent} @subc) : @subc; +} + +sub rehash_subclasses { + %subclasses = _read_map_files('subclasses', 'LIST'); + $_hashed_subclasses++; +} + +1; + +__END__ + +=head1 NAME + +File::MimeInfo - Determine file type + +=head1 SYNOPSIS + + use File::MimeInfo; + my $mime_type = mimetype($file); + +=head1 DESCRIPTION + +This module can be used to determine the mime type of a file. It +tries to implement the freedesktop specification for a shared +MIME database. + +For this module shared-mime-info-spec 0.13 was used. + +This package only uses the globs file. No real magic checking is +used. The L package is provided for magic typing. + +If you want to determine the mimetype of data in a memory buffer you should +use L in combination with L. + +This module loads the various data files when needed. If you want to +hash data earlier see the C methods below. + +=head1 EXPORT + +The method C is exported by default. +The methods C, C, C, C, +C and C can be exported on demand. + +=head1 METHODS + +=over 4 + +=item C + +Simple constructor to allow Object Oriented use of this module. +If you want to use this, include the package as C +to avoid importing sub C. + +=item C + +Returns a mimetype string for C<$file>, returns undef on failure. + +This method bundles C and C. + +If these methods are unsuccessful the file is read and the mimetype defaults +to 'text/plain' or to 'application/octet-stream' when the first ten chars +of the file match ascii control chars (white spaces excluded). +If the file doesn't exist or isn't readable C is returned. + +=item C + +Returns a mimetype in the 'inode' namespace or undef when the file is +actually a normal file. + +=item C + +Returns a mimetype string for C<$file> based on the filename and filename extensions. +Returns undef on failure. The file doesn't need to exist. + +Behaviour in list context (wantarray) is unspecified and will change in future +releases. + +=item C + +This method decides whether a file is binary or plain text by looking at +the first few bytes in the file. Used to decide between "text/plain" and +"application/octet-stream" if all other methods have failed. + +The spec states that we should check for the ascii control chars and let +higher bit chars pass to allow utf8. We try to be more intelligent using +perl utf8 support. + +=item C + +In list context, returns the list of filename extensions that map to the given mimetype. +In scalar context, returns the first extension that is found in the database +for this mimetype. + +=item C + +Returns a description of this mimetype as supplied by the mime info database. +You can specify a language with the optional parameter C<$lang>, this should be +the two letter language code used in the xml files. Also you can set the global +variable C<$File::MimeInfo::LANG> to specify a language. + +This method returns undef when no xml file was found (i.e. the mimetype +doesn't exist in the database). It returns an empty string when the xml file doesn't +contain a description in the language you specified. + +I + +=item C + +Returns the canonical mimetype for a given mimetype. +Deprecated mimetypes are typically aliased to their canonical variants. +This method only checks aliases, doesn't check whether the mimetype +exists. + +Use this method as a filter when you take a mimetype as input. + +=item C + +=item C + +When give only one argument this method returns a list with mimetypes that are parent +classes for this mimetype. + +When given two arguments returns true if the second mimetype is a parent class of +the first one. + +This method checks the subclasses table and applies a few rules for implicit +subclasses. + +=item C + +Rehash the data files. Glob information is preparsed when this method is called. + +If you want to by-pass the XDG basedir system you can specify your database +directories by setting C<@File::MimeInfo::DIRS>. But normally it is better to +change the XDG basedir environment variables. + +=item C + +Rehashes the F files. + +=item C + +Rehashes the F files. + +=back + +=head1 DIAGNOSTICS + +This module throws an exception when it can't find any data files, when it can't +open a data file it found for reading or when a subroutine doesn't get enough arguments. +In the first case you either don't have the freedesktop mime info database installed, +or your environment variables point to the wrong places, +in the second case you have the database installed, but it is broken +(the mime info database should logically be world readable). + +=head1 TODO + +Make an option for using some caching mechanism to reduce init time. + +Make C use real xml parsing ? + +=head1 LIMITATIONS + +Perl versions prior to 5.8.0 do not have the ':utf8' IO Layer, thus +for the default method and for reading the xml files +utf8 is not supported for these versions. + +Since it is not possible to distinguish between encoding types (utf8, latin1, latin2 etc.) +in a straightforward manner only utf8 is supported (because the spec recommends this). + +This module does not yet check extended attributes for a mimetype. +Patches for this are very welcome. + +=head1 AUTHOR + +Jaap Karssenberg Epardus@cpan.orgE +Maintained by Michiel Beijen Emichiel.beijen@gmail.comE + +=head1 COPYRIGHT + +Copyright (c) 2003, 2012 Jaap G Karssenberg. All rights reserved. +This program is free software; you can redistribute it and/or +modify it under the same terms as Perl itself. + +=head1 SEE ALSO + +L, +L, +L, +L + +=over 4 + +=item related CPAN modules + +L + +=item freedesktop specifications used + +L, +L, +L + +=item freedesktop mime database + +L + +=back + +=cut diff --git a/lib/JSON.pm b/lib/JSON.pm new file mode 100644 index 000000000..b665625b8 --- /dev/null +++ b/lib/JSON.pm @@ -0,0 +1,2313 @@ +package JSON; +use strict; +use Carp (); +use base qw(Exporter); +@JSON::EXPORT = qw(from_json to_json jsonToObj objToJson encode_json decode_json); + +BEGIN { + $JSON::VERSION = '2.90'; + $JSON::DEBUG = 0 unless (defined $JSON::DEBUG); + $JSON::DEBUG = $ENV{ PERL_JSON_DEBUG } if exists $ENV{ PERL_JSON_DEBUG }; +} + +my $Module_XS = 'JSON::XS'; +my $Module_PP = 'JSON::PP'; +my $Module_bp = 'JSON::backportPP'; # included in JSON distribution +my $PP_Version = '2.27203'; +my $XS_Version = '2.34'; + +# XS and PP common methods +my @PublicMethods = qw/ + ascii latin1 utf8 pretty indent space_before space_after relaxed canonical allow_nonref + allow_blessed convert_blessed filter_json_object filter_json_single_key_object + shrink max_depth max_size encode decode decode_prefix allow_unknown +/; + +my @Properties = qw/ + ascii latin1 utf8 indent space_before space_after relaxed canonical allow_nonref + allow_blessed convert_blessed shrink max_depth max_size allow_unknown +/; + +my @XSOnlyMethods = qw/allow_tags/; # Currently nothing + +my @PPOnlyMethods = qw/ + indent_length sort_by + allow_singlequote allow_bignum loose allow_barekey escape_slash as_nonblessed +/; # JSON::PP specific + + +# used in _load_xs and _load_pp ($INSTALL_ONLY is not used currently) +my $_INSTALL_DONT_DIE = 1; # When _load_xs fails to load XS, don't die. +my $_INSTALL_ONLY = 2; # Don't call _set_methods() +my $_ALLOW_UNSUPPORTED = 0; +my $_UNIV_CONV_BLESSED = 0; +my $_USSING_bpPP = 0; + + +# Check the environment variable to decide worker module. + +unless ($JSON::Backend) { + $JSON::DEBUG and Carp::carp("Check used worker module..."); + + my $backend = exists $ENV{PERL_JSON_BACKEND} ? $ENV{PERL_JSON_BACKEND} : 1; + + if ($backend eq '1' or $backend =~ /JSON::XS\s*,\s*JSON::PP/) { + _load_xs($_INSTALL_DONT_DIE) or _load_pp(); + } + elsif ($backend eq '0' or $backend eq 'JSON::PP') { + _load_pp(); + } + elsif ($backend eq '2' or $backend eq 'JSON::XS') { + _load_xs(); + } + elsif ($backend eq 'JSON::backportPP') { + $_USSING_bpPP = 1; + _load_pp(); + } + else { + Carp::croak "The value of environmental variable 'PERL_JSON_BACKEND' is invalid."; + } +} + + +sub import { + my $pkg = shift; + my @what_to_export; + my $no_export; + + for my $tag (@_) { + if ($tag eq '-support_by_pp') { + if (!$_ALLOW_UNSUPPORTED++) { + JSON::Backend::XS + ->support_by_pp(@PPOnlyMethods) if ($JSON::Backend eq $Module_XS); + } + next; + } + elsif ($tag eq '-no_export') { + $no_export++, next; + } + elsif ( $tag eq '-convert_blessed_universally' ) { + eval q| + require B; + *UNIVERSAL::TO_JSON = sub { + my $b_obj = B::svref_2object( $_[0] ); + return $b_obj->isa('B::HV') ? { %{ $_[0] } } + : $b_obj->isa('B::AV') ? [ @{ $_[0] } ] + : undef + ; + } + | if ( !$_UNIV_CONV_BLESSED++ ); + next; + } + push @what_to_export, $tag; + } + + return if ($no_export); + + __PACKAGE__->export_to_level(1, $pkg, @what_to_export); +} + + +# OBSOLETED + +sub jsonToObj { + my $alternative = 'from_json'; + if (defined $_[0] and UNIVERSAL::isa($_[0], 'JSON')) { + shift @_; $alternative = 'decode'; + } + Carp::carp "'jsonToObj' will be obsoleted. Please use '$alternative' instead."; + return JSON::from_json(@_); +}; + +sub objToJson { + my $alternative = 'to_json'; + if (defined $_[0] and UNIVERSAL::isa($_[0], 'JSON')) { + shift @_; $alternative = 'encode'; + } + Carp::carp "'objToJson' will be obsoleted. Please use '$alternative' instead."; + JSON::to_json(@_); +}; + + +# INTERFACES + +sub to_json ($@) { + if ( + ref($_[0]) eq 'JSON' + or (@_ > 2 and $_[0] eq 'JSON') + ) { + Carp::croak "to_json should not be called as a method."; + } + my $json = JSON->new; + + if (@_ == 2 and ref $_[1] eq 'HASH') { + my $opt = $_[1]; + for my $method (keys %$opt) { + $json->$method( $opt->{$method} ); + } + } + + $json->encode($_[0]); +} + + +sub from_json ($@) { + if ( ref($_[0]) eq 'JSON' or $_[0] eq 'JSON' ) { + Carp::croak "from_json should not be called as a method."; + } + my $json = JSON->new; + + if (@_ == 2 and ref $_[1] eq 'HASH') { + my $opt = $_[1]; + for my $method (keys %$opt) { + $json->$method( $opt->{$method} ); + } + } + + return $json->decode( $_[0] ); +} + + + +sub true { $JSON::true } + +sub false { $JSON::false } + +sub null { undef; } + + +sub require_xs_version { $XS_Version; } + +sub backend { + my $proto = shift; + $JSON::Backend; +} + +#*module = *backend; + + +sub is_xs { + return $_[0]->backend eq $Module_XS; +} + + +sub is_pp { + return not $_[0]->is_xs; +} + + +sub pureperl_only_methods { @PPOnlyMethods; } + + +sub property { + my ($self, $name, $value) = @_; + + if (@_ == 1) { + my %props; + for $name (@Properties) { + my $method = 'get_' . $name; + if ($name eq 'max_size') { + my $value = $self->$method(); + $props{$name} = $value == 1 ? 0 : $value; + next; + } + $props{$name} = $self->$method(); + } + return \%props; + } + elsif (@_ > 3) { + Carp::croak('property() can take only the option within 2 arguments.'); + } + elsif (@_ == 2) { + if ( my $method = $self->can('get_' . $name) ) { + if ($name eq 'max_size') { + my $value = $self->$method(); + return $value == 1 ? 0 : $value; + } + $self->$method(); + } + } + else { + $self->$name($value); + } + +} + + + +# INTERNAL + +sub _load_xs { + my $opt = shift; + + $JSON::DEBUG and Carp::carp "Load $Module_XS."; + + # if called after install module, overload is disable.... why? + JSON::Boolean::_overrride_overload($Module_XS); + JSON::Boolean::_overrride_overload($Module_PP); + + eval qq| + use $Module_XS $XS_Version (); + |; + + if ($@) { + if (defined $opt and $opt & $_INSTALL_DONT_DIE) { + $JSON::DEBUG and Carp::carp "Can't load $Module_XS...($@)"; + return 0; + } + Carp::croak $@; + } + + unless (defined $opt and $opt & $_INSTALL_ONLY) { + _set_module( $JSON::Backend = $Module_XS ); + my $data = join("", ); # this code is from Jcode 2.xx. + close(DATA); + eval $data; + JSON::Backend::XS->init; + } + + return 1; +}; + + +sub _load_pp { + my $opt = shift; + my $backend = $_USSING_bpPP ? $Module_bp : $Module_PP; + + $JSON::DEBUG and Carp::carp "Load $backend."; + + # if called after install module, overload is disable.... why? + JSON::Boolean::_overrride_overload($Module_XS); + JSON::Boolean::_overrride_overload($backend); + + if ( $_USSING_bpPP ) { + eval qq| require $backend |; + } + else { + eval qq| use $backend $PP_Version () |; + } + + if ($@) { + if ( $backend eq $Module_PP ) { + $JSON::DEBUG and Carp::carp "Can't load $Module_PP ($@), so try to load $Module_bp"; + $_USSING_bpPP++; + $backend = $Module_bp; + JSON::Boolean::_overrride_overload($backend); + local $^W; # if PP installed but invalid version, backportPP redefines methods. + eval qq| require $Module_bp |; + } + Carp::croak $@ if $@; + } + + unless (defined $opt and $opt & $_INSTALL_ONLY) { + _set_module( $JSON::Backend = $Module_PP ); # even if backportPP, set $Backend with 'JSON::PP' + JSON::Backend::PP->init; + } +}; + + +sub _set_module { + return if defined $JSON::true; + + my $module = shift; + + local $^W; + no strict qw(refs); + + $JSON::true = ${"$module\::true"}; + $JSON::false = ${"$module\::false"}; + + push @JSON::ISA, $module; + if ( JSON->is_xs and JSON->backend->VERSION < 3 ) { + eval 'package JSON::PP::Boolean'; + push @{"$module\::Boolean::ISA"}, qw(JSON::PP::Boolean); + } + + *{"JSON::is_bool"} = \&{"$module\::is_bool"}; + + for my $method ($module eq $Module_XS ? @PPOnlyMethods : @XSOnlyMethods) { + *{"JSON::$method"} = sub { + Carp::carp("$method is not supported in $module."); + $_[0]; + }; + } + + return 1; +} + + + +# +# JSON Boolean +# + +package JSON::Boolean; + +my %Installed; + +sub _overrride_overload { + return; # this function is currently disable. + return if ($Installed{ $_[0] }++); + + my $boolean = $_[0] . '::Boolean'; + + eval sprintf(q| + package %s; + use overload ( + '""' => sub { ${$_[0]} == 1 ? 'true' : 'false' }, + 'eq' => sub { + my ($obj, $op) = ref ($_[0]) ? ($_[0], $_[1]) : ($_[1], $_[0]); + if ($op eq 'true' or $op eq 'false') { + return "$obj" eq 'true' ? 'true' eq $op : 'false' eq $op; + } + else { + return $obj ? 1 == $op : 0 == $op; + } + }, + ); + |, $boolean); + + if ($@) { Carp::croak $@; } + + if ( exists $INC{'JSON/XS.pm'} and $boolean eq 'JSON::XS::Boolean' ) { + local $^W; + my $true = do { bless \(my $dummy = 1), $boolean }; + my $false = do { bless \(my $dummy = 0), $boolean }; + *JSON::XS::true = sub () { $true }; + *JSON::XS::false = sub () { $false }; + } + elsif ( exists $INC{'JSON/PP.pm'} and $boolean eq 'JSON::PP::Boolean' ) { + local $^W; + my $true = do { bless \(my $dummy = 1), $boolean }; + my $false = do { bless \(my $dummy = 0), $boolean }; + *JSON::PP::true = sub { $true }; + *JSON::PP::false = sub { $false }; + } + + return 1; +} + + +# +# Helper classes for Backend Module (PP) +# + +package JSON::Backend::PP; + +sub init { + local $^W; + no strict qw(refs); # this routine may be called after JSON::Backend::XS init was called. + *{"JSON::decode_json"} = \&{"JSON::PP::decode_json"}; + *{"JSON::encode_json"} = \&{"JSON::PP::encode_json"}; + *{"JSON::PP::is_xs"} = sub { 0 }; + *{"JSON::PP::is_pp"} = sub { 1 }; + return 1; +} + +# +# To save memory, the below lines are read only when XS backend is used. +# + +package JSON; + +1; +__DATA__ + + +# +# Helper classes for Backend Module (XS) +# + +package JSON::Backend::XS; + +use constant INDENT_LENGTH_FLAG => 15 << 12; + +use constant UNSUPPORTED_ENCODE_FLAG => { + ESCAPE_SLASH => 0x00000010, + ALLOW_BIGNUM => 0x00000020, + AS_NONBLESSED => 0x00000040, + EXPANDED => 0x10000000, # for developer's +}; + +use constant UNSUPPORTED_DECODE_FLAG => { + LOOSE => 0x00000001, + ALLOW_BIGNUM => 0x00000002, + ALLOW_BAREKEY => 0x00000004, + ALLOW_SINGLEQUOTE => 0x00000008, + EXPANDED => 0x20000000, # for developer's +}; + + +sub init { + local $^W; + no strict qw(refs); + *{"JSON::decode_json"} = \&{"JSON::XS::decode_json"}; + *{"JSON::encode_json"} = \&{"JSON::XS::encode_json"}; + *{"JSON::XS::is_xs"} = sub { 1 }; + *{"JSON::XS::is_pp"} = sub { 0 }; + return 1; +} + + +sub support_by_pp { + my ($class, @methods) = @_; + + local $^W; + no strict qw(refs); + + my $JSON_XS_encode_orignal = \&JSON::XS::encode; + my $JSON_XS_decode_orignal = \&JSON::XS::decode; + my $JSON_XS_incr_parse_orignal = \&JSON::XS::incr_parse; + + *JSON::XS::decode = \&JSON::Backend::XS::Supportable::_decode; + *JSON::XS::encode = \&JSON::Backend::XS::Supportable::_encode; + *JSON::XS::incr_parse = \&JSON::Backend::XS::Supportable::_incr_parse; + + *{JSON::XS::_original_decode} = $JSON_XS_decode_orignal; + *{JSON::XS::_original_encode} = $JSON_XS_encode_orignal; + *{JSON::XS::_original_incr_parse} = $JSON_XS_incr_parse_orignal; + + push @JSON::Backend::XS::Supportable::ISA, 'JSON'; + + my $pkg = 'JSON::Backend::XS::Supportable'; + + *{JSON::new} = sub { + my $proto = JSON::XS->new; $$proto = 0; + bless $proto, $pkg; + }; + + + for my $method (@methods) { + my $flag = uc($method); + my $type |= (UNSUPPORTED_ENCODE_FLAG->{$flag} || 0); + $type |= (UNSUPPORTED_DECODE_FLAG->{$flag} || 0); + + next unless($type); + + $pkg->_make_unsupported_method($method => $type); + } + +# push @{"JSON::XS::Boolean::ISA"}, qw(JSON::PP::Boolean); +# push @{"JSON::PP::Boolean::ISA"}, qw(JSON::Boolean); + + $JSON::DEBUG and Carp::carp("set -support_by_pp mode."); + + return 1; +} + + + + +# +# Helper classes for XS +# + +package JSON::Backend::XS::Supportable; + +$Carp::Internal{'JSON::Backend::XS::Supportable'} = 1; + +sub _make_unsupported_method { + my ($pkg, $method, $type) = @_; + + local $^W; + no strict qw(refs); + + *{"$pkg\::$method"} = sub { + local $^W; + if (defined $_[1] ? $_[1] : 1) { + ${$_[0]} |= $type; + } + else { + ${$_[0]} &= ~$type; + } + $_[0]; + }; + + *{"$pkg\::get_$method"} = sub { + ${$_[0]} & $type ? 1 : ''; + }; + +} + + +sub _set_for_pp { + JSON::_load_pp( $_INSTALL_ONLY ); + + my $type = shift; + my $pp = JSON::PP->new; + my $prop = $_[0]->property; + + for my $name (keys %$prop) { + $pp->$name( $prop->{$name} ? $prop->{$name} : 0 ); + } + + my $unsupported = $type eq 'encode' ? JSON::Backend::XS::UNSUPPORTED_ENCODE_FLAG + : JSON::Backend::XS::UNSUPPORTED_DECODE_FLAG; + my $flags = ${$_[0]} || 0; + + for my $name (keys %$unsupported) { + next if ($name eq 'EXPANDED'); # for developer's + my $enable = ($flags & $unsupported->{$name}) ? 1 : 0; + my $method = lc $name; + $pp->$method($enable); + } + + $pp->indent_length( $_[0]->get_indent_length ); + + return $pp; +} + +sub _encode { # using with PP encode + if (${$_[0]}) { + _set_for_pp('encode' => @_)->encode($_[1]); + } + else { + $_[0]->_original_encode( $_[1] ); + } +} + + +sub _decode { # if unsupported-flag is set, use PP + if (${$_[0]}) { + _set_for_pp('decode' => @_)->decode($_[1]); + } + else { + $_[0]->_original_decode( $_[1] ); + } +} + + +sub decode_prefix { # if unsupported-flag is set, use PP + _set_for_pp('decode' => @_)->decode_prefix($_[1]); +} + + +sub _incr_parse { + if (${$_[0]}) { + _set_for_pp('decode' => @_)->incr_parse($_[1]); + } + else { + $_[0]->_original_incr_parse( $_[1] ); + } +} + + +sub get_indent_length { + ${$_[0]} << 4 >> 16; +} + + +sub indent_length { + my $length = $_[1]; + + if (!defined $length or $length > 15 or $length < 0) { + Carp::carp "The acceptable range of indent_length() is 0 to 15."; + } + else { + local $^W; + $length <<= 12; + ${$_[0]} &= ~ JSON::Backend::XS::INDENT_LENGTH_FLAG; + ${$_[0]} |= $length; + *JSON::XS::encode = \&JSON::Backend::XS::Supportable::_encode; + } + + $_[0]; +} + + +1; +__END__ + +=head1 NAME + +JSON - JSON (JavaScript Object Notation) encoder/decoder + +=head1 SYNOPSIS + + use JSON; # imports encode_json, decode_json, to_json and from_json. + + # simple and fast interfaces (expect/generate UTF-8) + + $utf8_encoded_json_text = encode_json $perl_hash_or_arrayref; + $perl_hash_or_arrayref = decode_json $utf8_encoded_json_text; + + # OO-interface + + $json = JSON->new->allow_nonref; + + $json_text = $json->encode( $perl_scalar ); + $perl_scalar = $json->decode( $json_text ); + + $pretty_printed = $json->pretty->encode( $perl_scalar ); # pretty-printing + + # If you want to use PP only support features, call with '-support_by_pp' + # When XS unsupported feature is enable, using PP (de|en)code instead of XS ones. + + use JSON -support_by_pp; + + # option-acceptable interfaces (expect/generate UNICODE by default) + + $json_text = to_json( $perl_scalar, { ascii => 1, pretty => 1 } ); + $perl_scalar = from_json( $json_text, { utf8 => 1 } ); + + # Between (en|de)code_json and (to|from)_json, if you want to write + # a code which communicates to an outer world (encoded in UTF-8), + # recommend to use (en|de)code_json. + +=head1 VERSION + + 2.90 + +This version is compatible with JSON::XS B<2.34> and later. +(Not yet compatble to JSON::XS B<3.0x>.) + + +=head1 NOTE + +JSON::PP was earlier included in the C distribution, but +has since Perl 5.14 been a core module. For this reason, +L was removed from the JSON distribution and can now +be found also in the Perl5 repository at + +=over + +=item * L + +=back + +(The newest JSON::PP version still exists in CPAN.) + +Instead, the C distribution will include JSON::backportPP +for backwards computability. JSON.pm should thus work as it did +before. + +=head1 DESCRIPTION + + *************************** CAUTION ************************************** + * * + * INCOMPATIBLE CHANGE (JSON::XS version 2.90) * + * * + * JSON.pm had patched JSON::XS::Boolean and JSON::PP::Boolean internally * + * on loading time for making these modules inherit JSON::Boolean. * + * But since JSON::XS v3.0 it use Types::Serialiser as boolean class. * + * Then now JSON.pm breaks boolean classe overload features and * + * -support_by_pp if JSON::XS v3.0 or later is installed. * + * * + * JSON::true and JSON::false returned JSON::Boolean objects. * + * For workaround, they return JSON::PP::Boolean objects in this version. * + * * + * isa_ok(JSON::true, 'JSON::PP::Boolean'); * + * * + * And it discards a feature: * + * * + * ok(JSON::true eq 'true'); * + * * + * In other word, JSON::PP::Boolean overload numeric only. * + * * + * ok( JSON::true == 1 ); * + * * + ************************************************************************** + + ************************** CAUTION ******************************** + * This is 'JSON module version 2' and there are many differences * + * to version 1.xx * + * Please check your applications using old version. * + * See to 'INCOMPATIBLE CHANGES TO OLD VERSION' * + ******************************************************************* + +JSON (JavaScript Object Notation) is a simple data format. +See to L and C(L). + +This module converts Perl data structures to JSON and vice versa using either +L or L. + +JSON::XS is the fastest and most proper JSON module on CPAN which must be +compiled and installed in your environment. +JSON::PP is a pure-Perl module which is bundled in this distribution and +has a strong compatibility to JSON::XS. + +This module try to use JSON::XS by default and fail to it, use JSON::PP instead. +So its features completely depend on JSON::XS or JSON::PP. + +See to L. + +To distinguish the module name 'JSON' and the format type JSON, +the former is quoted by CEE (its results vary with your using media), +and the latter is left just as it is. + +Module name : C + +Format type : JSON + +=head2 FEATURES + +=over + +=item * correct unicode handling + +This module (i.e. backend modules) knows how to handle Unicode, documents +how and when it does so, and even documents what "correct" means. + +Even though there are limitations, this feature is available since Perl version 5.6. + +JSON::XS requires Perl 5.8.2 (but works correctly in 5.8.8 or later), so in older versions +C should call JSON::PP as the backend which can be used since Perl 5.005. + +With Perl 5.8.x JSON::PP works, but from 5.8.0 to 5.8.2, because of a Perl side problem, +JSON::PP works slower in the versions. And in 5.005, the Unicode handling is not available. +See to L for more information. + +See also to L +and L. + + +=item * round-trip integrity + +When you serialise a perl data structure using only data types supported +by JSON and Perl, the deserialised data structure is identical on the Perl +level. (e.g. the string "2.0" doesn't suddenly become "2" just because +it looks like a number). There I minor exceptions to this, read the +L section below to learn about those. + + +=item * strict checking of JSON correctness + +There is no guessing, no generating of illegal JSON texts by default, +and only JSON is accepted as input by default (the latter is a security +feature). + +See to L and L. + +=item * fast + +This module returns a JSON::XS object itself if available. +Compared to other JSON modules and other serialisers such as Storable, +JSON::XS usually compares favorably in terms of speed, too. + +If not available, C returns a JSON::PP object instead of JSON::XS and +it is very slow as pure-Perl. + +=item * simple to use + +This module has both a simple functional interface as well as an +object oriented interface interface. + +=item * reasonably versatile output formats + +You can choose between the most compact guaranteed-single-line format possible +(nice for simple line-based protocols), a pure-ASCII format (for when your transport +is not 8-bit clean, still supports the whole Unicode range), or a pretty-printed +format (for when you want to read that stuff). Or you can combine those features +in whatever way you like. + +=back + +=head1 FUNCTIONAL INTERFACE + +Some documents are copied and modified from L. +C and C are additional functions. + +=head2 encode_json + + $json_text = encode_json $perl_scalar + +Converts the given Perl data structure to a UTF-8 encoded, binary string. + +This function call is functionally identical to: + + $json_text = JSON->new->utf8->encode($perl_scalar) + +=head2 decode_json + + $perl_scalar = decode_json $json_text + +The opposite of C: expects an UTF-8 (binary) string and tries +to parse that as an UTF-8 encoded JSON text, returning the resulting +reference. + +This function call is functionally identical to: + + $perl_scalar = JSON->new->utf8->decode($json_text) + + +=head2 to_json + + $json_text = to_json($perl_scalar) + +Converts the given Perl data structure to a json string. + +This function call is functionally identical to: + + $json_text = JSON->new->encode($perl_scalar) + +Takes a hash reference as the second. + + $json_text = to_json($perl_scalar, $flag_hashref) + +So, + + $json_text = to_json($perl_scalar, {utf8 => 1, pretty => 1}) + +equivalent to: + + $json_text = JSON->new->utf8(1)->pretty(1)->encode($perl_scalar) + +If you want to write a modern perl code which communicates to outer world, +you should use C (supposed that JSON data are encoded in UTF-8). + +=head2 from_json + + $perl_scalar = from_json($json_text) + +The opposite of C: expects a json string and tries +to parse it, returning the resulting reference. + +This function call is functionally identical to: + + $perl_scalar = JSON->decode($json_text) + +Takes a hash reference as the second. + + $perl_scalar = from_json($json_text, $flag_hashref) + +So, + + $perl_scalar = from_json($json_text, {utf8 => 1}) + +equivalent to: + + $perl_scalar = JSON->new->utf8(1)->decode($json_text) + +If you want to write a modern perl code which communicates to outer world, +you should use C (supposed that JSON data are encoded in UTF-8). + +=head2 JSON::is_bool + + $is_boolean = JSON::is_bool($scalar) + +Returns true if the passed scalar represents either JSON::true or +JSON::false, two constants that act like C<1> and C<0> respectively +and are also used to represent JSON C and C in Perl strings. + +=head2 JSON::true + +Returns JSON true value which is blessed object. +It C JSON::Boolean object. + +=head2 JSON::false + +Returns JSON false value which is blessed object. +It C JSON::Boolean object. + +=head2 JSON::null + +Returns C. + +See L, below, for more information on how JSON values are mapped to +Perl. + +=head1 HOW DO I DECODE A DATA FROM OUTER AND ENCODE TO OUTER + +This section supposes that your perl version is 5.8 or later. + +If you know a JSON text from an outer world - a network, a file content, and so on, +is encoded in UTF-8, you should use C or C module object +with C enable. And the decoded result will contain UNICODE characters. + + # from network + my $json = JSON->new->utf8; + my $json_text = CGI->new->param( 'json_data' ); + my $perl_scalar = $json->decode( $json_text ); + + # from file content + local $/; + open( my $fh, '<', 'json.data' ); + $json_text = <$fh>; + $perl_scalar = decode_json( $json_text ); + +If an outer data is not encoded in UTF-8, firstly you should C it. + + use Encode; + local $/; + open( my $fh, '<', 'json.data' ); + my $encoding = 'cp932'; + my $unicode_json_text = decode( $encoding, <$fh> ); # UNICODE + + # or you can write the below code. + # + # open( my $fh, "<:encoding($encoding)", 'json.data' ); + # $unicode_json_text = <$fh>; + +In this case, C<$unicode_json_text> is of course UNICODE string. +So you B use C nor C module object with C enable. +Instead of them, you use C module object with C disable or C. + + $perl_scalar = $json->utf8(0)->decode( $unicode_json_text ); + # or + $perl_scalar = from_json( $unicode_json_text ); + +Or C and C: + + $perl_scalar = decode_json( encode( 'utf8', $unicode_json_text ) ); + # this way is not efficient. + +And now, you want to convert your C<$perl_scalar> into JSON data and +send it to an outer world - a network or a file content, and so on. + +Your data usually contains UNICODE strings and you want the converted data to be encoded +in UTF-8, you should use C or C module object with C enable. + + print encode_json( $perl_scalar ); # to a network? file? or display? + # or + print $json->utf8->encode( $perl_scalar ); + +If C<$perl_scalar> does not contain UNICODE but C<$encoding>-encoded strings +for some reason, then its characters are regarded as B for perl +(because it does not concern with your $encoding). +You B use C nor C module object with C enable. +Instead of them, you use C module object with C disable or C. +Note that the resulted text is a UNICODE string but no problem to print it. + + # $perl_scalar contains $encoding encoded string values + $unicode_json_text = $json->utf8(0)->encode( $perl_scalar ); + # or + $unicode_json_text = to_json( $perl_scalar ); + # $unicode_json_text consists of characters less than 0x100 + print $unicode_json_text; + +Or C all string values and C: + + $perl_scalar->{ foo } = decode( $encoding, $perl_scalar->{ foo } ); + # ... do it to each string values, then encode_json + $json_text = encode_json( $perl_scalar ); + +This method is a proper way but probably not efficient. + +See to L, L. + + +=head1 COMMON OBJECT-ORIENTED INTERFACE + +=head2 new + + $json = JSON->new + +Returns a new C object inherited from either JSON::XS or JSON::PP +that can be used to de/encode JSON strings. + +All boolean flags described below are by default I. + +The mutators for flags all return the JSON object again and thus calls can +be chained: + + my $json = JSON->new->utf8->space_after->encode({a => [1,2]}) + => {"a": [1, 2]} + +=head2 ascii + + $json = $json->ascii([$enable]) + + $enabled = $json->get_ascii + +If $enable is true (or missing), then the encode method will not generate characters outside +the code range 0..127. Any Unicode characters outside that range will be escaped using either +a single \uXXXX or a double \uHHHH\uLLLLL escape sequence, as per RFC4627. + +If $enable is false, then the encode method will not escape Unicode characters unless +required by the JSON syntax or other flags. This results in a faster and more compact format. + +This feature depends on the used Perl version and environment. + +See to L if the backend is PP. + + JSON->new->ascii(1)->encode([chr 0x10401]) + => ["\ud801\udc01"] + +=head2 latin1 + + $json = $json->latin1([$enable]) + + $enabled = $json->get_latin1 + +If $enable is true (or missing), then the encode method will encode the resulting JSON +text as latin1 (or iso-8859-1), escaping any characters outside the code range 0..255. + +If $enable is false, then the encode method will not escape Unicode characters +unless required by the JSON syntax or other flags. + + JSON->new->latin1->encode (["\x{89}\x{abc}"] + => ["\x{89}\\u0abc"] # (perl syntax, U+abc escaped, U+89 not) + +=head2 utf8 + + $json = $json->utf8([$enable]) + + $enabled = $json->get_utf8 + +If $enable is true (or missing), then the encode method will encode the JSON result +into UTF-8, as required by many protocols, while the decode method expects to be handled +an UTF-8-encoded string. Please note that UTF-8-encoded strings do not contain any +characters outside the range 0..255, they are thus useful for bytewise/binary I/O. + +In future versions, enabling this option might enable autodetection of the UTF-16 and UTF-32 +encoding families, as described in RFC4627. + +If $enable is false, then the encode method will return the JSON string as a (non-encoded) +Unicode string, while decode expects thus a Unicode string. Any decoding or encoding +(e.g. to UTF-8 or UTF-16) needs to be done yourself, e.g. using the Encode module. + + +Example, output UTF-16BE-encoded JSON: + + use Encode; + $jsontext = encode "UTF-16BE", JSON::XS->new->encode ($object); + +Example, decode UTF-32LE-encoded JSON: + + use Encode; + $object = JSON::XS->new->decode (decode "UTF-32LE", $jsontext); + +See to L if the backend is PP. + + +=head2 pretty + + $json = $json->pretty([$enable]) + +This enables (or disables) all of the C, C and +C (and in the future possibly more) flags in one call to +generate the most readable (or most compact) form possible. + +Equivalent to: + + $json->indent->space_before->space_after + +The indent space length is three and JSON::XS cannot change the indent +space length. + +=head2 indent + + $json = $json->indent([$enable]) + + $enabled = $json->get_indent + +If C<$enable> is true (or missing), then the C method will use a multiline +format as output, putting every array member or object/hash key-value pair +into its own line, identifying them properly. + +If C<$enable> is false, no newlines or indenting will be produced, and the +resulting JSON text is guaranteed not to contain any C. + +This setting has no effect when decoding JSON texts. + +The indent space length is three. +With JSON::PP, you can also access C to change indent space length. + + +=head2 space_before + + $json = $json->space_before([$enable]) + + $enabled = $json->get_space_before + +If C<$enable> is true (or missing), then the C method will add an extra +optional space before the C<:> separating keys from values in JSON objects. + +If C<$enable> is false, then the C method will not add any extra +space at those places. + +This setting has no effect when decoding JSON texts. + +Example, space_before enabled, space_after and indent disabled: + + {"key" :"value"} + + +=head2 space_after + + $json = $json->space_after([$enable]) + + $enabled = $json->get_space_after + +If C<$enable> is true (or missing), then the C method will add an extra +optional space after the C<:> separating keys from values in JSON objects +and extra whitespace after the C<,> separating key-value pairs and array +members. + +If C<$enable> is false, then the C method will not add any extra +space at those places. + +This setting has no effect when decoding JSON texts. + +Example, space_before and indent disabled, space_after enabled: + + {"key": "value"} + + +=head2 relaxed + + $json = $json->relaxed([$enable]) + + $enabled = $json->get_relaxed + +If C<$enable> is true (or missing), then C will accept some +extensions to normal JSON syntax (see below). C will not be +affected in anyway. I. I suggest only to use this option to +parse application-specific files written by humans (configuration files, +resource files etc.) + +If C<$enable> is false (the default), then C will only accept +valid JSON texts. + +Currently accepted extensions are: + +=over 4 + +=item * list items can have an end-comma + +JSON I array elements and key-value pairs with commas. This +can be annoying if you write JSON texts manually and want to be able to +quickly append elements, so this extension accepts comma at the end of +such items not just between them: + + [ + 1, + 2, <- this comma not normally allowed + ] + { + "k1": "v1", + "k2": "v2", <- this comma not normally allowed + } + +=item * shell-style '#'-comments + +Whenever JSON allows whitespace, shell-style comments are additionally +allowed. They are terminated by the first carriage-return or line-feed +character, after which more white-space and comments are allowed. + + [ + 1, # this comment not allowed in JSON + # neither this one... + ] + +=back + + +=head2 canonical + + $json = $json->canonical([$enable]) + + $enabled = $json->get_canonical + +If C<$enable> is true (or missing), then the C method will output JSON objects +by sorting their keys. This is adding a comparatively high overhead. + +If C<$enable> is false, then the C method will output key-value +pairs in the order Perl stores them (which will likely change between runs +of the same script). + +This option is useful if you want the same data structure to be encoded as +the same JSON text (given the same overall settings). If it is disabled, +the same hash might be encoded differently even if contains the same data, +as key-value pairs have no inherent ordering in Perl. + +This setting has no effect when decoding JSON texts. + +=head2 allow_nonref + + $json = $json->allow_nonref([$enable]) + + $enabled = $json->get_allow_nonref + +If C<$enable> is true (or missing), then the C method can convert a +non-reference into its corresponding string, number or null JSON value, +which is an extension to RFC4627. Likewise, C will accept those JSON +values instead of croaking. + +If C<$enable> is false, then the C method will croak if it isn't +passed an arrayref or hashref, as JSON texts must either be an object +or array. Likewise, C will croak if given something that is not a +JSON object or array. + + JSON->new->allow_nonref->encode ("Hello, World!") + => "Hello, World!" + +=head2 allow_unknown + + $json = $json->allow_unknown ([$enable]) + + $enabled = $json->get_allow_unknown + +If $enable is true (or missing), then "encode" will *not* throw an +exception when it encounters values it cannot represent in JSON (for +example, filehandles) but instead will encode a JSON "null" value. +Note that blessed objects are not included here and are handled +separately by c. + +If $enable is false (the default), then "encode" will throw an +exception when it encounters anything it cannot encode as JSON. + +This option does not affect "decode" in any way, and it is +recommended to leave it off unless you know your communications +partner. + +=head2 allow_blessed + + $json = $json->allow_blessed([$enable]) + + $enabled = $json->get_allow_blessed + +If C<$enable> is true (or missing), then the C method will not +barf when it encounters a blessed reference. Instead, the value of the +B option will decide whether C (C +disabled or no C method found) or a representation of the +object (C enabled and C method found) is being +encoded. Has no effect on C. + +If C<$enable> is false (the default), then C will throw an +exception when it encounters a blessed object. + + +=head2 convert_blessed + + $json = $json->convert_blessed([$enable]) + + $enabled = $json->get_convert_blessed + +If C<$enable> is true (or missing), then C, upon encountering a +blessed object, will check for the availability of the C method +on the object's class. If found, it will be called in scalar context +and the resulting scalar will be encoded instead of the object. If no +C method is found, the value of C will decide what +to do. + +The C method may safely call die if it wants. If C +returns other blessed objects, those will be handled in the same +way. C must take care of not causing an endless recursion cycle +(== crash) in this case. The name of C was chosen because other +methods called by the Perl core (== not by the user of the object) are +usually in upper case letters and to avoid collisions with the C +function or method. + +This setting does not yet influence C in any way. + +If C<$enable> is false, then the C setting will decide what +to do when a blessed object is found. + +=over + +=item convert_blessed_universally mode + +If use C with C<-convert_blessed_universally>, the C +subroutine is defined as the below code: + + *UNIVERSAL::TO_JSON = sub { + my $b_obj = B::svref_2object( $_[0] ); + return $b_obj->isa('B::HV') ? { %{ $_[0] } } + : $b_obj->isa('B::AV') ? [ @{ $_[0] } ] + : undef + ; + } + +This will cause that C method converts simple blessed objects into +JSON objects as non-blessed object. + + JSON -convert_blessed_universally; + $json->allow_blessed->convert_blessed->encode( $blessed_object ) + +This feature is experimental and may be removed in the future. + +=back + +=head2 filter_json_object + + $json = $json->filter_json_object([$coderef]) + +When C<$coderef> is specified, it will be called from C each +time it decodes a JSON object. The only argument passed to the coderef +is a reference to the newly-created hash. If the code references returns +a single scalar (which need not be a reference), this value +(i.e. a copy of that scalar to avoid aliasing) is inserted into the +deserialised data structure. If it returns an empty list +(NOTE: I C, which is a valid scalar), the original deserialised +hash will be inserted. This setting can slow down decoding considerably. + +When C<$coderef> is omitted or undefined, any existing callback will +be removed and C will not change the deserialised hash in any +way. + +Example, convert all JSON objects into the integer 5: + + my $js = JSON->new->filter_json_object (sub { 5 }); + # returns [5] + $js->decode ('[{}]'); # the given subroutine takes a hash reference. + # throw an exception because allow_nonref is not enabled + # so a lone 5 is not allowed. + $js->decode ('{"a":1, "b":2}'); + + +=head2 filter_json_single_key_object + + $json = $json->filter_json_single_key_object($key [=> $coderef]) + +Works remotely similar to C, but is only called for +JSON objects having a single key named C<$key>. + +This C<$coderef> is called before the one specified via +C, if any. It gets passed the single value in the JSON +object. If it returns a single value, it will be inserted into the data +structure. If it returns nothing (not even C but the empty list), +the callback from C will be called next, as if no +single-key callback were specified. + +If C<$coderef> is omitted or undefined, the corresponding callback will be +disabled. There can only ever be one callback for a given key. + +As this callback gets called less often then the C +one, decoding speed will not usually suffer as much. Therefore, single-key +objects make excellent targets to serialise Perl objects into, especially +as single-key JSON objects are as close to the type-tagged value concept +as JSON gets (it's basically an ID/VALUE tuple). Of course, JSON does not +support this in any way, so you need to make sure your data never looks +like a serialised Perl hash. + +Typical names for the single object key are C<__class_whatever__>, or +C<$__dollars_are_rarely_used__$> or C<}ugly_brace_placement>, or even +things like C<__class_md5sum(classname)__>, to reduce the risk of clashing +with real hashes. + +Example, decode JSON objects of the form C<< { "__widget__" => } >> +into the corresponding C<< $WIDGET{} >> object: + + # return whatever is in $WIDGET{5}: + JSON + ->new + ->filter_json_single_key_object (__widget__ => sub { + $WIDGET{ $_[0] } + }) + ->decode ('{"__widget__": 5') + + # this can be used with a TO_JSON method in some "widget" class + # for serialisation to json: + sub WidgetBase::TO_JSON { + my ($self) = @_; + + unless ($self->{id}) { + $self->{id} = ..get..some..id..; + $WIDGET{$self->{id}} = $self; + } + + { __widget__ => $self->{id} } + } + + +=head2 shrink + + $json = $json->shrink([$enable]) + + $enabled = $json->get_shrink + +With JSON::XS, this flag resizes strings generated by either +C or C to their minimum size possible. This can save +memory when your JSON texts are either very very long or you have many +short strings. It will also try to downgrade any strings to octet-form +if possible: perl stores strings internally either in an encoding called +UTF-X or in octet-form. The latter cannot store everything but uses less +space in general (and some buggy Perl or C code might even rely on that +internal representation being used). + +With JSON::PP, it is noop about resizing strings but tries +C to the returned string by C. See to L. + +See to L and L. + +=head2 max_depth + + $json = $json->max_depth([$maximum_nesting_depth]) + + $max_depth = $json->get_max_depth + +Sets the maximum nesting level (default C<512>) accepted while encoding +or decoding. If a higher nesting level is detected in JSON text or a Perl +data structure, then the encoder and decoder will stop and croak at that +point. + +Nesting level is defined by number of hash- or arrayrefs that the encoder +needs to traverse to reach a given point or the number of C<{> or C<[> +characters without their matching closing parenthesis crossed to reach a +given character in a string. + +If no argument is given, the highest possible setting will be used, which +is rarely useful. + +Note that nesting is implemented by recursion in C. The default value has +been chosen to be as large as typical operating systems allow without +crashing. (JSON::XS) + +With JSON::PP as the backend, when a large value (100 or more) was set and +it de/encodes a deep nested object/text, it may raise a warning +'Deep recursion on subroutine' at the perl runtime phase. + +See L for more info on why this is useful. + +=head2 max_size + + $json = $json->max_size([$maximum_string_size]) + + $max_size = $json->get_max_size + +Set the maximum length a JSON text may have (in bytes) where decoding is +being attempted. The default is C<0>, meaning no limit. When C +is called on a string that is longer then this many bytes, it will not +attempt to decode the string but throw an exception. This setting has no +effect on C (yet). + +If no argument is given, the limit check will be deactivated (same as when +C<0> is specified). + +See L, below, for more info on why this is useful. + +=head2 encode + + $json_text = $json->encode($perl_scalar) + +Converts the given Perl data structure (a simple scalar or a reference +to a hash or array) to its JSON representation. Simple scalars will be +converted into JSON string or number sequences, while references to arrays +become JSON arrays and references to hashes become JSON objects. Undefined +Perl values (e.g. C) become JSON C values. +References to the integers C<0> and C<1> are converted into C and C. + +=head2 decode + + $perl_scalar = $json->decode($json_text) + +The opposite of C: expects a JSON text and tries to parse it, +returning the resulting simple scalar or reference. Croaks on error. + +JSON numbers and strings become simple Perl scalars. JSON arrays become +Perl arrayrefs and JSON objects become Perl hashrefs. C becomes +C<1> (C), C becomes C<0> (C) and +C becomes C. + +=head2 decode_prefix + + ($perl_scalar, $characters) = $json->decode_prefix($json_text) + +This works like the C method, but instead of raising an exception +when there is trailing garbage after the first JSON object, it will +silently stop parsing there and return the number of characters consumed +so far. + + JSON->new->decode_prefix ("[1] the tail") + => ([], 3) + +See to L + +=head2 property + + $boolean = $json->property($property_name) + +Returns a boolean value about above some properties. + +The available properties are C, C, C, +C,C, C, C, C, +C, C, C, C, +C, C and C. + + $boolean = $json->property('utf8'); + => 0 + $json->utf8; + $boolean = $json->property('utf8'); + => 1 + +Sets the property with a given boolean value. + + $json = $json->property($property_name => $boolean); + +With no argument, it returns all the above properties as a hash reference. + + $flag_hashref = $json->property(); + +=head1 INCREMENTAL PARSING + +Most of this section are copied and modified from L. + +In some cases, there is the need for incremental parsing of JSON texts. +This module does allow you to parse a JSON stream incrementally. +It does so by accumulating text until it has a full JSON object, which +it then can decode. This process is similar to using C +to see if a full JSON object is available, but is much more efficient +(and can be implemented with a minimum of method calls). + +The backend module will only attempt to parse the JSON text once it is sure it +has enough text to get a decisive result, using a very simple but +truly incremental parser. This means that it sometimes won't stop as +early as the full parser, for example, it doesn't detect parenthesis +mismatches. The only thing it guarantees is that it starts decoding as +soon as a syntactically valid JSON text has been seen. This means you need +to set resource limits (e.g. C) to ensure the parser will stop +parsing in the presence if syntax errors. + +The following methods implement this incremental parser. + +=head2 incr_parse + + $json->incr_parse( [$string] ) # void context + + $obj_or_undef = $json->incr_parse( [$string] ) # scalar context + + @obj_or_empty = $json->incr_parse( [$string] ) # list context + +This is the central parsing function. It can both append new text and +extract objects from the stream accumulated so far (both of these +functions are optional). + +If C<$string> is given, then this string is appended to the already +existing JSON fragment stored in the C<$json> object. + +After that, if the function is called in void context, it will simply +return without doing anything further. This can be used to add more text +in as many chunks as you want. + +If the method is called in scalar context, then it will try to extract +exactly I JSON object. If that is successful, it will return this +object, otherwise it will return C. If there is a parse error, +this method will croak just as C would do (one can then use +C to skip the erroneous part). This is the most common way of +using the method. + +And finally, in list context, it will try to extract as many objects +from the stream as it can find and return them, or the empty list +otherwise. For this to work, there must be no separators between the JSON +objects or arrays, instead they must be concatenated back-to-back. If +an error occurs, an exception will be raised as in the scalar context +case. Note that in this case, any previously-parsed JSON texts will be +lost. + +Example: Parse some JSON arrays/objects in a given string and return them. + + my @objs = JSON->new->incr_parse ("[5][7][1,2]"); + +=head2 incr_text + + $lvalue_string = $json->incr_text + +This method returns the currently stored JSON fragment as an lvalue, that +is, you can manipulate it. This I works when a preceding call to +C in I successfully returned an object. Under +all other circumstances you must not call this function (I mean it. +although in simple tests it might actually work, it I fail under +real world conditions). As a special exception, you can also call this +method before having parsed anything. + +This function is useful in two cases: a) finding the trailing text after a +JSON object or b) parsing multiple JSON objects separated by non-JSON text +(such as commas). + + $json->incr_text =~ s/\s*,\s*//; + +In Perl 5.005, C attribute is not available. +You must write codes like the below: + + $string = $json->incr_text; + $string =~ s/\s*,\s*//; + $json->incr_text( $string ); + +=head2 incr_skip + + $json->incr_skip + +This will reset the state of the incremental parser and will remove the +parsed text from the input buffer. This is useful after C +died, in which case the input buffer and incremental parser state is left +unchanged, to skip the text parsed so far and to reset the parse state. + +=head2 incr_reset + + $json->incr_reset + +This completely resets the incremental parser, that is, after this call, +it will be as if the parser had never parsed anything. + +This is useful if you want to repeatedly parse JSON objects and want to +ignore any trailing data, which means you have to reset the parser after +each successful decode. + +See to L for examples. + + +=head1 JSON::PP SUPPORT METHODS + +The below methods are JSON::PP own methods, so when C works +with JSON::PP (i.e. the created object is a JSON::PP object), available. +See to L in detail. + +If you use C with additional C<-support_by_pp>, some methods +are available even with JSON::XS. See to L. + + BEING { $ENV{PERL_JSON_BACKEND} = 'JSON::XS' } + + use JSON -support_by_pp; + + my $json = JSON->new; + $json->allow_nonref->escape_slash->encode("/"); + + # functional interfaces too. + print to_json(["/"], {escape_slash => 1}); + print from_json('["foo"]', {utf8 => 1}); + +If you do not want to all functions but C<-support_by_pp>, +use C<-no_export>. + + use JSON -support_by_pp, -no_export; + # functional interfaces are not exported. + +=head2 allow_singlequote + + $json = $json->allow_singlequote([$enable]) + +If C<$enable> is true (or missing), then C will accept +any JSON strings quoted by single quotations that are invalid JSON +format. + + $json->allow_singlequote->decode({"foo":'bar'}); + $json->allow_singlequote->decode({'foo':"bar"}); + $json->allow_singlequote->decode({'foo':'bar'}); + +As same as the C option, this option may be used to parse +application-specific files written by humans. + +=head2 allow_barekey + + $json = $json->allow_barekey([$enable]) + +If C<$enable> is true (or missing), then C will accept +bare keys of JSON object that are invalid JSON format. + +As same as the C option, this option may be used to parse +application-specific files written by humans. + + $json->allow_barekey->decode('{foo:"bar"}'); + +=head2 allow_bignum + + $json = $json->allow_bignum([$enable]) + +If C<$enable> is true (or missing), then C will convert +the big integer Perl cannot handle as integer into a L +object and convert a floating number (any) into a L. + +On the contrary, C converts C objects and C +objects into JSON numbers with C enable. + + $json->allow_nonref->allow_blessed->allow_bignum; + $bigfloat = $json->decode('2.000000000000000000000000001'); + print $json->encode($bigfloat); + # => 2.000000000000000000000000001 + +See to L about the conversion of JSON number. + +=head2 loose + + $json = $json->loose([$enable]) + +The unescaped [\x00-\x1f\x22\x2f\x5c] strings are invalid in JSON strings +and the module doesn't allow to C to these (except for \x2f). +If C<$enable> is true (or missing), then C will accept these +unescaped strings. + + $json->loose->decode(qq|["abc + def"]|); + +See to L. + +=head2 escape_slash + + $json = $json->escape_slash([$enable]) + +According to JSON Grammar, I (U+002F) is escaped. But by default +JSON backend modules encode strings without escaping slash. + +If C<$enable> is true (or missing), then C will escape slashes. + +=head2 indent_length + + $json = $json->indent_length($length) + +With JSON::XS, The indent space length is 3 and cannot be changed. +With JSON::PP, it sets the indent space length with the given $length. +The default is 3. The acceptable range is 0 to 15. + +=head2 sort_by + + $json = $json->sort_by($function_name) + $json = $json->sort_by($subroutine_ref) + +If $function_name or $subroutine_ref are set, its sort routine are used. + + $js = $pc->sort_by(sub { $JSON::PP::a cmp $JSON::PP::b })->encode($obj); + # is($js, q|{"a":1,"b":2,"c":3,"d":4,"e":5,"f":6,"g":7,"h":8,"i":9}|); + + $js = $pc->sort_by('own_sort')->encode($obj); + # is($js, q|{"a":1,"b":2,"c":3,"d":4,"e":5,"f":6,"g":7,"h":8,"i":9}|); + + sub JSON::PP::own_sort { $JSON::PP::a cmp $JSON::PP::b } + +As the sorting routine runs in the JSON::PP scope, the given +subroutine name and the special variables C<$a>, C<$b> will begin +with 'JSON::PP::'. + +If $integer is set, then the effect is same as C on. + +See to L. + +=head1 MAPPING + +This section is copied from JSON::XS and modified to C. +JSON::XS and JSON::PP mapping mechanisms are almost equivalent. + +See to L. + +=head2 JSON -> PERL + +=over 4 + +=item object + +A JSON object becomes a reference to a hash in Perl. No ordering of object +keys is preserved (JSON does not preserver object key ordering itself). + +=item array + +A JSON array becomes a reference to an array in Perl. + +=item string + +A JSON string becomes a string scalar in Perl - Unicode codepoints in JSON +are represented by the same codepoints in the Perl string, so no manual +decoding is necessary. + +=item number + +A JSON number becomes either an integer, numeric (floating point) or +string scalar in perl, depending on its range and any fractional parts. On +the Perl level, there is no difference between those as Perl handles all +the conversion details, but an integer may take slightly less memory and +might represent more values exactly than floating point numbers. + +If the number consists of digits only, C will try to represent +it as an integer value. If that fails, it will try to represent it as +a numeric (floating point) value if that is possible without loss of +precision. Otherwise it will preserve the number as a string value (in +which case you lose roundtripping ability, as the JSON number will be +re-encoded to a JSON string). + +Numbers containing a fractional or exponential part will always be +represented as numeric (floating point) values, possibly at a loss of +precision (in which case you might lose perfect roundtripping ability, but +the JSON number will still be re-encoded as a JSON number). + +Note that precision is not accuracy - binary floating point values cannot +represent most decimal fractions exactly, and when converting from and to +floating point, C only guarantees precision up to but not including +the least significant bit. + +If the backend is JSON::PP and C is enable, the big integers +and the numeric can be optionally converted into L and +L objects. + +=item true, false + +These JSON atoms become C and C, +respectively. They are overloaded to act almost exactly like the numbers +C<1> and C<0>. You can check whether a scalar is a JSON boolean by using +the C function. + + print JSON::true + 1; + => 1 + + ok(JSON::true eq '1'); + ok(JSON::true == 1); + +C will install these missing overloading features to the backend modules. + + +=item null + +A JSON null atom becomes C in Perl. + +C returns C. + +=back + + +=head2 PERL -> JSON + +The mapping from Perl to JSON is slightly more difficult, as Perl is a +truly typeless language, so we can only guess which JSON type is meant by +a Perl value. + +=over 4 + +=item hash references + +Perl hash references become JSON objects. As there is no inherent ordering +in hash keys (or JSON objects), they will usually be encoded in a +pseudo-random order that can change between runs of the same program but +stays generally the same within a single run of a program. C +optionally sort the hash keys (determined by the I flag), so +the same data structure will serialise to the same JSON text (given same +settings and version of JSON::XS), but this incurs a runtime overhead +and is only rarely useful, e.g. when you want to compare some JSON text +against another for equality. + +In future, the ordered object feature will be added to JSON::PP using C mechanism. + + +=item array references + +Perl array references become JSON arrays. + +=item other references + +Other unblessed references are generally not allowed and will cause an +exception to be thrown, except for references to the integers C<0> and +C<1>, which get turned into C and C atoms in JSON. You can +also use C and C to improve readability. + + to_json [\0,JSON::true] # yields [false,true] + +=item JSON::true, JSON::false, JSON::null + +These special values become JSON true and JSON false values, +respectively. You can also use C<\1> and C<\0> directly if you want. + +JSON::null returns C. + +=item blessed objects + +Blessed objects are not directly representable in JSON. See the +C and C methods on various options on +how to deal with this: basically, you can choose between throwing an +exception, encoding the reference as if it weren't blessed, or provide +your own serialiser method. + +With C mode, C converts blessed +hash references or blessed array references (contains other blessed references) +into JSON members and arrays. + + use JSON -convert_blessed_universally; + JSON->new->allow_blessed->convert_blessed->encode( $blessed_object ); + +See to L. + +=item simple scalars + +Simple Perl scalars (any scalar that is not a reference) are the most +difficult objects to encode: JSON::XS and JSON::PP will encode undefined scalars as +JSON C values, scalars that have last been used in a string context +before encoding as JSON strings, and anything else as number value: + + # dump as number + encode_json [2] # yields [2] + encode_json [-3.0e17] # yields [-3e+17] + my $value = 5; encode_json [$value] # yields [5] + + # used as string, so dump as string + print $value; + encode_json [$value] # yields ["5"] + + # undef becomes null + encode_json [undef] # yields [null] + +You can force the type to be a string by stringifying it: + + my $x = 3.1; # some variable containing a number + "$x"; # stringified + $x .= ""; # another, more awkward way to stringify + print $x; # perl does it for you, too, quite often + +You can force the type to be a number by numifying it: + + my $x = "3"; # some variable containing a string + $x += 0; # numify it, ensuring it will be dumped as a number + $x *= 1; # same thing, the choice is yours. + +You can not currently force the type in other, less obscure, ways. + +Note that numerical precision has the same meaning as under Perl (so +binary to decimal conversion follows the same rules as in Perl, which +can differ to other languages). Also, your perl interpreter might expose +extensions to the floating point numbers of your platform, such as +infinities or NaN's - these cannot be represented in JSON, and it is an +error to pass those in. + +=item Big Number + +If the backend is JSON::PP and C is enable, +C converts C objects and C +objects into JSON numbers. + + +=back + +=head1 JSON and ECMAscript + +See to L. + +=head1 JSON and YAML + +JSON is not a subset of YAML. +See to L. + + +=head1 BACKEND MODULE DECISION + +When you use C, C tries to C JSON::XS. If this call failed, it will +C JSON::PP. The required JSON::XS version is I<2.2> or later. + +The C constructor method returns an object inherited from the backend module, +and JSON::XS object is a blessed scalar reference while JSON::PP is a blessed hash +reference. + +So, your program should not depend on the backend module, especially +returned objects should not be modified. + + my $json = JSON->new; # XS or PP? + $json->{stash} = 'this is xs object'; # this code may raise an error! + +To check the backend module, there are some methods - C, C and C. + + JSON->backend; # 'JSON::XS' or 'JSON::PP' + + JSON->backend->is_pp: # 0 or 1 + + JSON->backend->is_xs: # 1 or 0 + + $json->is_xs; # 1 or 0 + + $json->is_pp; # 0 or 1 + + +If you set an environment variable C, the calling action will be changed. + +=over + +=item PERL_JSON_BACKEND = 0 or PERL_JSON_BACKEND = 'JSON::PP' + +Always use JSON::PP + +=item PERL_JSON_BACKEND == 1 or PERL_JSON_BACKEND = 'JSON::XS,JSON::PP' + +(The default) Use compiled JSON::XS if it is properly compiled & installed, +otherwise use JSON::PP. + +=item PERL_JSON_BACKEND == 2 or PERL_JSON_BACKEND = 'JSON::XS' + +Always use compiled JSON::XS, die if it isn't properly compiled & installed. + +=item PERL_JSON_BACKEND = 'JSON::backportPP' + +Always use JSON::backportPP. +JSON::backportPP is JSON::PP back port module. +C includes JSON::backportPP instead of JSON::PP. + +=back + +These ideas come from L mechanism. + +example: + + BEGIN { $ENV{PERL_JSON_BACKEND} = 'JSON::PP' } + use JSON; # always uses JSON::PP + +In future, it may be able to specify another module. + +=head1 USE PP FEATURES EVEN THOUGH XS BACKEND + +Many methods are available with either JSON::XS or JSON::PP and +when the backend module is JSON::XS, if any JSON::PP specific (i.e. JSON::XS unsupported) +method is called, it will C and be noop. + +But If you C C passing the optional string C<-support_by_pp>, +it makes a part of those unsupported methods available. +This feature is achieved by using JSON::PP in C. + + BEGIN { $ENV{PERL_JSON_BACKEND} = 2 } # with JSON::XS + use JSON -support_by_pp; + my $json = JSON->new; + $json->allow_nonref->escape_slash->encode("/"); + +At this time, the returned object is a C +object (re-blessed XS object), and by checking JSON::XS unsupported flags +in de/encoding, can support some unsupported methods - C, C, +C, C, C and C. + +When any unsupported methods are not enable, C will be +used as is. The switch is achieved by changing the symbolic tables. + +C<-support_by_pp> is effective only when the backend module is JSON::XS +and it makes the de/encoding speed down a bit. + +See to L. + +=head1 INCOMPATIBLE CHANGES TO OLD VERSION + +There are big incompatibility between new version (2.00) and old (1.xx). +If you use old C 1.xx in your code, please check it. + +See to L + +=over + +=item jsonToObj and objToJson are obsoleted. + +Non Perl-style name C and C are obsoleted +(but not yet deleted from the source). +If you use these functions in your code, please replace them +with C and C. + + +=item Global variables are no longer available. + +C class variables - C<$JSON::AUTOCONVERT>, C<$JSON::BareKey>, etc... +- are not available any longer. +Instead, various features can be used through object methods. + + +=item Package JSON::Converter and JSON::Parser are deleted. + +Now C bundles with JSON::PP which can handle JSON more properly than them. + +=item Package JSON::NotString is deleted. + +There was C class which represents JSON value C, C, C +and numbers. It was deleted and replaced by C. + +C represents C and C. + +C does not represent C. + +C returns C. + +C makes L and L is-a relation +to L. + +=item function JSON::Number is obsoleted. + +C is now needless because JSON::XS and JSON::PP have +round-trip integrity. + +=item JSONRPC modules are deleted. + +Perl implementation of JSON-RPC protocol - C, C +and C are deleted in this distribution. +Instead of them, there is L which supports JSON-RPC protocol version 1.1. + +=back + +=head2 Transition ways from 1.xx to 2.xx. + +You should set C mode firstly, because +it is always successful for the below codes even with JSON::XS. + + use JSON -support_by_pp; + +=over + +=item Exported jsonToObj (simple) + + from_json($json_text); + +=item Exported objToJson (simple) + + to_json($perl_scalar); + +=item Exported jsonToObj (advanced) + + $flags = {allow_barekey => 1, allow_singlequote => 1}; + from_json($json_text, $flags); + +equivalent to: + + $JSON::BareKey = 1; + $JSON::QuotApos = 1; + jsonToObj($json_text); + +=item Exported objToJson (advanced) + + $flags = {allow_blessed => 1, allow_barekey => 1}; + to_json($perl_scalar, $flags); + +equivalent to: + + $JSON::BareKey = 1; + objToJson($perl_scalar); + +=item jsonToObj as object method + + $json->decode($json_text); + +=item objToJson as object method + + $json->encode($perl_scalar); + +=item new method with parameters + +The C method in 2.x takes any parameters no longer. +You can set parameters instead; + + $json = JSON->new->pretty; + +=item $JSON::Pretty, $JSON::Indent, $JSON::Delimiter + +If C is enable, that means C<$JSON::Pretty> flag set. And +C<$JSON::Delimiter> was substituted by C and C. +In conclusion: + + $json->indent->space_before->space_after; + +Equivalent to: + + $json->pretty; + +To change indent length, use C. + +(Only with JSON::PP, if C<-support_by_pp> is not used.) + + $json->pretty->indent_length(2)->encode($perl_scalar); + +=item $JSON::BareKey + +(Only with JSON::PP, if C<-support_by_pp> is not used.) + + $json->allow_barekey->decode($json_text) + +=item $JSON::ConvBlessed + +use C<-convert_blessed_universally>. See to L. + +=item $JSON::QuotApos + +(Only with JSON::PP, if C<-support_by_pp> is not used.) + + $json->allow_singlequote->decode($json_text) + +=item $JSON::SingleQuote + +Disable. C does not make such a invalid JSON string any longer. + +=item $JSON::KeySort + + $json->canonical->encode($perl_scalar) + +This is the ascii sort. + +If you want to use with your own sort routine, check the C method. + +(Only with JSON::PP, even if C<-support_by_pp> is used currently.) + + $json->sort_by($sort_routine_ref)->encode($perl_scalar) + + $json->sort_by(sub { $JSON::PP::a <=> $JSON::PP::b })->encode($perl_scalar) + +Can't access C<$a> and C<$b> but C<$JSON::PP::a> and C<$JSON::PP::b>. + +=item $JSON::SkipInvalid + + $json->allow_unknown + +=item $JSON::AUTOCONVERT + +Needless. C backend modules have the round-trip integrity. + +=item $JSON::UTF8 + +Needless because C (JSON::XS/JSON::PP) sets +the UTF8 flag on properly. + + # With UTF8-flagged strings + + $json->allow_nonref; + $str = chr(1000); # UTF8-flagged + + $json_text = $json->utf8(0)->encode($str); + utf8::is_utf8($json_text); + # true + $json_text = $json->utf8(1)->encode($str); + utf8::is_utf8($json_text); + # false + + $str = '"' . chr(1000) . '"'; # UTF8-flagged + + $perl_scalar = $json->utf8(0)->decode($str); + utf8::is_utf8($perl_scalar); + # true + $perl_scalar = $json->utf8(1)->decode($str); + # died because of 'Wide character in subroutine' + +See to L. + +=item $JSON::UnMapping + +Disable. See to L. + +=item $JSON::SelfConvert + +This option was deleted. +Instead of it, if a given blessed object has the C method, +C will be executed with C. + + $json->convert_blessed->encode($blessed_hashref_or_arrayref) + # if need, call allow_blessed + +Note that it was C in old version, but now not C but C. + +=back + +=head1 TODO + +=over + +=item example programs + +=back + +=head1 THREADS + +No test with JSON::PP. If with JSON::XS, See to L. + + +=head1 BUGS + +Please report bugs relevant to C to Emakamaka[at]cpan.orgE. + + +=head1 SEE ALSO + +Most of the document is copied and modified from JSON::XS doc. + +L, L + +C(L) + +=head1 AUTHOR + +Makamaka Hannyaharamitu, Emakamaka[at]cpan.orgE + +JSON::XS was written by Marc Lehmann + +The release of this new version owes to the courtesy of Marc Lehmann. + + +=head1 COPYRIGHT AND LICENSE + +Copyright 2005-2013 by Makamaka Hannyaharamitu + +This library is free software; you can redistribute it and/or modify +it under the same terms as Perl itself. + +=cut + diff --git a/lib/JSON/backportPP.pm b/lib/JSON/backportPP.pm new file mode 100644 index 000000000..db4f8bbb3 --- /dev/null +++ b/lib/JSON/backportPP.pm @@ -0,0 +1,2806 @@ +package # This is JSON::backportPP + JSON::PP; + +# JSON-2.0 + +use 5.005; +use strict; +use base qw(Exporter); +use overload (); + +use Carp (); +use B (); +#use Devel::Peek; + +use vars qw($VERSION); +$VERSION = '2.27204'; + +@JSON::PP::EXPORT = qw(encode_json decode_json from_json to_json); + +# instead of hash-access, i tried index-access for speed. +# but this method is not faster than what i expected. so it will be changed. + +use constant P_ASCII => 0; +use constant P_LATIN1 => 1; +use constant P_UTF8 => 2; +use constant P_INDENT => 3; +use constant P_CANONICAL => 4; +use constant P_SPACE_BEFORE => 5; +use constant P_SPACE_AFTER => 6; +use constant P_ALLOW_NONREF => 7; +use constant P_SHRINK => 8; +use constant P_ALLOW_BLESSED => 9; +use constant P_CONVERT_BLESSED => 10; +use constant P_RELAXED => 11; + +use constant P_LOOSE => 12; +use constant P_ALLOW_BIGNUM => 13; +use constant P_ALLOW_BAREKEY => 14; +use constant P_ALLOW_SINGLEQUOTE => 15; +use constant P_ESCAPE_SLASH => 16; +use constant P_AS_NONBLESSED => 17; + +use constant P_ALLOW_UNKNOWN => 18; + +use constant OLD_PERL => $] < 5.008 ? 1 : 0; + +BEGIN { + my @xs_compati_bit_properties = qw( + latin1 ascii utf8 indent canonical space_before space_after allow_nonref shrink + allow_blessed convert_blessed relaxed allow_unknown + ); + my @pp_bit_properties = qw( + allow_singlequote allow_bignum loose + allow_barekey escape_slash as_nonblessed + ); + + # Perl version check, Unicode handling is enable? + # Helper module sets @JSON::PP::_properties. + if ($] < 5.008 ) { + my $helper = $] >= 5.006 ? 'JSON::backportPP::Compat5006' : 'JSON::backportPP::Compat5005'; + eval qq| require $helper |; + if ($@) { Carp::croak $@; } + } + + for my $name (@xs_compati_bit_properties, @pp_bit_properties) { + my $flag_name = 'P_' . uc($name); + + eval qq/ + sub $name { + my \$enable = defined \$_[1] ? \$_[1] : 1; + + if (\$enable) { + \$_[0]->{PROPS}->[$flag_name] = 1; + } + else { + \$_[0]->{PROPS}->[$flag_name] = 0; + } + + \$_[0]; + } + + sub get_$name { + \$_[0]->{PROPS}->[$flag_name] ? 1 : ''; + } + /; + } + +} + + + +# Functions + +my %encode_allow_method + = map {($_ => 1)} qw/utf8 pretty allow_nonref latin1 self_encode escape_slash + allow_blessed convert_blessed indent indent_length allow_bignum + as_nonblessed + /; +my %decode_allow_method + = map {($_ => 1)} qw/utf8 allow_nonref loose allow_singlequote allow_bignum + allow_barekey max_size relaxed/; + + +my $JSON; # cache + +sub encode_json ($) { # encode + ($JSON ||= __PACKAGE__->new->utf8)->encode(@_); +} + + +sub decode_json { # decode + ($JSON ||= __PACKAGE__->new->utf8)->decode(@_); +} + +# Obsoleted + +sub to_json($) { + Carp::croak ("JSON::PP::to_json has been renamed to encode_json."); +} + + +sub from_json($) { + Carp::croak ("JSON::PP::from_json has been renamed to decode_json."); +} + + +# Methods + +sub new { + my $class = shift; + my $self = { + max_depth => 512, + max_size => 0, + indent => 0, + FLAGS => 0, + fallback => sub { encode_error('Invalid value. JSON can only reference.') }, + indent_length => 3, + }; + + bless $self, $class; +} + + +sub encode { + return $_[0]->PP_encode_json($_[1]); +} + + +sub decode { + return $_[0]->PP_decode_json($_[1], 0x00000000); +} + + +sub decode_prefix { + return $_[0]->PP_decode_json($_[1], 0x00000001); +} + + +# accessor + + +# pretty printing + +sub pretty { + my ($self, $v) = @_; + my $enable = defined $v ? $v : 1; + + if ($enable) { # indent_length(3) for JSON::XS compatibility + $self->indent(1)->indent_length(3)->space_before(1)->space_after(1); + } + else { + $self->indent(0)->space_before(0)->space_after(0); + } + + $self; +} + +# etc + +sub max_depth { + my $max = defined $_[1] ? $_[1] : 0x80000000; + $_[0]->{max_depth} = $max; + $_[0]; +} + + +sub get_max_depth { $_[0]->{max_depth}; } + + +sub max_size { + my $max = defined $_[1] ? $_[1] : 0; + $_[0]->{max_size} = $max; + $_[0]; +} + + +sub get_max_size { $_[0]->{max_size}; } + + +sub filter_json_object { + $_[0]->{cb_object} = defined $_[1] ? $_[1] : 0; + $_[0]->{F_HOOK} = ($_[0]->{cb_object} or $_[0]->{cb_sk_object}) ? 1 : 0; + $_[0]; +} + +sub filter_json_single_key_object { + if (@_ > 1) { + $_[0]->{cb_sk_object}->{$_[1]} = $_[2]; + } + $_[0]->{F_HOOK} = ($_[0]->{cb_object} or $_[0]->{cb_sk_object}) ? 1 : 0; + $_[0]; +} + +sub indent_length { + if (!defined $_[1] or $_[1] > 15 or $_[1] < 0) { + Carp::carp "The acceptable range of indent_length() is 0 to 15."; + } + else { + $_[0]->{indent_length} = $_[1]; + } + $_[0]; +} + +sub get_indent_length { + $_[0]->{indent_length}; +} + +sub sort_by { + $_[0]->{sort_by} = defined $_[1] ? $_[1] : 1; + $_[0]; +} + +sub allow_bigint { + Carp::carp("allow_bigint() is obsoleted. use allow_bignum() insted."); +} + +############################### + +### +### Perl => JSON +### + + +{ # Convert + + my $max_depth; + my $indent; + my $ascii; + my $latin1; + my $utf8; + my $space_before; + my $space_after; + my $canonical; + my $allow_blessed; + my $convert_blessed; + + my $indent_length; + my $escape_slash; + my $bignum; + my $as_nonblessed; + + my $depth; + my $indent_count; + my $keysort; + + + sub PP_encode_json { + my $self = shift; + my $obj = shift; + + $indent_count = 0; + $depth = 0; + + my $idx = $self->{PROPS}; + + ($ascii, $latin1, $utf8, $indent, $canonical, $space_before, $space_after, $allow_blessed, + $convert_blessed, $escape_slash, $bignum, $as_nonblessed) + = @{$idx}[P_ASCII .. P_SPACE_AFTER, P_ALLOW_BLESSED, P_CONVERT_BLESSED, + P_ESCAPE_SLASH, P_ALLOW_BIGNUM, P_AS_NONBLESSED]; + + ($max_depth, $indent_length) = @{$self}{qw/max_depth indent_length/}; + + $keysort = $canonical ? sub { $a cmp $b } : undef; + + if ($self->{sort_by}) { + $keysort = ref($self->{sort_by}) eq 'CODE' ? $self->{sort_by} + : $self->{sort_by} =~ /\D+/ ? $self->{sort_by} + : sub { $a cmp $b }; + } + + encode_error("hash- or arrayref expected (not a simple scalar, use allow_nonref to allow this)") + if(!ref $obj and !$idx->[ P_ALLOW_NONREF ]); + + my $str = $self->object_to_json($obj); + + $str .= "\n" if ( $indent ); # JSON::XS 2.26 compatible + + unless ($ascii or $latin1 or $utf8) { + utf8::upgrade($str); + } + + if ($idx->[ P_SHRINK ]) { + utf8::downgrade($str, 1); + } + + return $str; + } + + + sub object_to_json { + my ($self, $obj) = @_; + my $type = ref($obj); + + if($type eq 'HASH'){ + return $self->hash_to_json($obj); + } + elsif($type eq 'ARRAY'){ + return $self->array_to_json($obj); + } + elsif ($type) { # blessed object? + if (blessed($obj)) { + + return $self->value_to_json($obj) if ( $obj->isa('JSON::PP::Boolean') ); + + if ( $convert_blessed and $obj->can('TO_JSON') ) { + my $result = $obj->TO_JSON(); + if ( defined $result and ref( $result ) ) { + if ( refaddr( $obj ) eq refaddr( $result ) ) { + encode_error( sprintf( + "%s::TO_JSON method returned same object as was passed instead of a new one", + ref $obj + ) ); + } + } + + return $self->object_to_json( $result ); + } + + return "$obj" if ( $bignum and _is_bignum($obj) ); + return $self->blessed_to_json($obj) if ($allow_blessed and $as_nonblessed); # will be removed. + + encode_error( sprintf("encountered object '%s', but neither allow_blessed " + . "nor convert_blessed settings are enabled", $obj) + ) unless ($allow_blessed); + + return 'null'; + } + else { + return $self->value_to_json($obj); + } + } + else{ + return $self->value_to_json($obj); + } + } + + + sub hash_to_json { + my ($self, $obj) = @_; + my @res; + + encode_error("json text or perl structure exceeds maximum nesting level (max_depth set too low?)") + if (++$depth > $max_depth); + + my ($pre, $post) = $indent ? $self->_up_indent() : ('', ''); + my $del = ($space_before ? ' ' : '') . ':' . ($space_after ? ' ' : ''); + + for my $k ( _sort( $obj ) ) { + if ( OLD_PERL ) { utf8::decode($k) } # key for Perl 5.6 / be optimized + push @res, string_to_json( $self, $k ) + . $del + . ( $self->object_to_json( $obj->{$k} ) || $self->value_to_json( $obj->{$k} ) ); + } + + --$depth; + $self->_down_indent() if ($indent); + + return '{' . ( @res ? $pre : '' ) . ( @res ? join( ",$pre", @res ) . $post : '' ) . '}'; + } + + + sub array_to_json { + my ($self, $obj) = @_; + my @res; + + encode_error("json text or perl structure exceeds maximum nesting level (max_depth set too low?)") + if (++$depth > $max_depth); + + my ($pre, $post) = $indent ? $self->_up_indent() : ('', ''); + + for my $v (@$obj){ + push @res, $self->object_to_json($v) || $self->value_to_json($v); + } + + --$depth; + $self->_down_indent() if ($indent); + + return '[' . ( @res ? $pre : '' ) . ( @res ? join( ",$pre", @res ) . $post : '' ) . ']'; + } + + + sub value_to_json { + my ($self, $value) = @_; + + return 'null' if(!defined $value); + + my $b_obj = B::svref_2object(\$value); # for round trip problem + my $flags = $b_obj->FLAGS; + + return $value # as is + if $flags & ( B::SVp_IOK | B::SVp_NOK ) and !( $flags & B::SVp_POK ); # SvTYPE is IV or NV? + + my $type = ref($value); + + if(!$type){ + return string_to_json($self, $value); + } + elsif( blessed($value) and $value->isa('JSON::PP::Boolean') ){ + return $$value == 1 ? 'true' : 'false'; + } + elsif ($type) { + if ((overload::StrVal($value) =~ /=(\w+)/)[0]) { + return $self->value_to_json("$value"); + } + + if ($type eq 'SCALAR' and defined $$value) { + return $$value eq '1' ? 'true' + : $$value eq '0' ? 'false' + : $self->{PROPS}->[ P_ALLOW_UNKNOWN ] ? 'null' + : encode_error("cannot encode reference to scalar"); + } + + if ( $self->{PROPS}->[ P_ALLOW_UNKNOWN ] ) { + return 'null'; + } + else { + if ( $type eq 'SCALAR' or $type eq 'REF' ) { + encode_error("cannot encode reference to scalar"); + } + else { + encode_error("encountered $value, but JSON can only represent references to arrays or hashes"); + } + } + + } + else { + return $self->{fallback}->($value) + if ($self->{fallback} and ref($self->{fallback}) eq 'CODE'); + return 'null'; + } + + } + + + my %esc = ( + "\n" => '\n', + "\r" => '\r', + "\t" => '\t', + "\f" => '\f', + "\b" => '\b', + "\"" => '\"', + "\\" => '\\\\', + "\'" => '\\\'', + ); + + + sub string_to_json { + my ($self, $arg) = @_; + + $arg =~ s/([\x22\x5c\n\r\t\f\b])/$esc{$1}/g; + $arg =~ s/\//\\\//g if ($escape_slash); + $arg =~ s/([\x00-\x08\x0b\x0e-\x1f])/'\\u00' . unpack('H2', $1)/eg; + + if ($ascii) { + $arg = JSON_PP_encode_ascii($arg); + } + + if ($latin1) { + $arg = JSON_PP_encode_latin1($arg); + } + + if ($utf8) { + utf8::encode($arg); + } + + return '"' . $arg . '"'; + } + + + sub blessed_to_json { + my $reftype = reftype($_[1]) || ''; + if ($reftype eq 'HASH') { + return $_[0]->hash_to_json($_[1]); + } + elsif ($reftype eq 'ARRAY') { + return $_[0]->array_to_json($_[1]); + } + else { + return 'null'; + } + } + + + sub encode_error { + my $error = shift; + Carp::croak "$error"; + } + + + sub _sort { + defined $keysort ? (sort $keysort (keys %{$_[0]})) : keys %{$_[0]}; + } + + + sub _up_indent { + my $self = shift; + my $space = ' ' x $indent_length; + + my ($pre,$post) = ('',''); + + $post = "\n" . $space x $indent_count; + + $indent_count++; + + $pre = "\n" . $space x $indent_count; + + return ($pre,$post); + } + + + sub _down_indent { $indent_count--; } + + + sub PP_encode_box { + { + depth => $depth, + indent_count => $indent_count, + }; + } + +} # Convert + + +sub _encode_ascii { + join('', + map { + $_ <= 127 ? + chr($_) : + $_ <= 65535 ? + sprintf('\u%04x', $_) : sprintf('\u%x\u%x', _encode_surrogates($_)); + } unpack('U*', $_[0]) + ); +} + + +sub _encode_latin1 { + join('', + map { + $_ <= 255 ? + chr($_) : + $_ <= 65535 ? + sprintf('\u%04x', $_) : sprintf('\u%x\u%x', _encode_surrogates($_)); + } unpack('U*', $_[0]) + ); +} + + +sub _encode_surrogates { # from perlunicode + my $uni = $_[0] - 0x10000; + return ($uni / 0x400 + 0xD800, $uni % 0x400 + 0xDC00); +} + + +sub _is_bignum { + $_[0]->isa('Math::BigInt') or $_[0]->isa('Math::BigFloat'); +} + + + +# +# JSON => Perl +# + +my $max_intsize; + +BEGIN { + my $checkint = 1111; + for my $d (5..64) { + $checkint .= 1; + my $int = eval qq| $checkint |; + if ($int =~ /[eE]/) { + $max_intsize = $d - 1; + last; + } + } +} + +{ # PARSE + + my %escapes = ( # by Jeremy Muhlich + b => "\x8", + t => "\x9", + n => "\xA", + f => "\xC", + r => "\xD", + '\\' => '\\', + '"' => '"', + '/' => '/', + ); + + my $text; # json data + my $at; # offset + my $ch; # 1chracter + my $len; # text length (changed according to UTF8 or NON UTF8) + # INTERNAL + my $depth; # nest counter + my $encoding; # json text encoding + my $is_valid_utf8; # temp variable + my $utf8_len; # utf8 byte length + # FLAGS + my $utf8; # must be utf8 + my $max_depth; # max nest number of objects and arrays + my $max_size; + my $relaxed; + my $cb_object; + my $cb_sk_object; + + my $F_HOOK; + + my $allow_bigint; # using Math::BigInt + my $singlequote; # loosely quoting + my $loose; # + my $allow_barekey; # bareKey + + # $opt flag + # 0x00000001 .... decode_prefix + # 0x10000000 .... incr_parse + + sub PP_decode_json { + my ($self, $opt); # $opt is an effective flag during this decode_json. + + ($self, $text, $opt) = @_; + + ($at, $ch, $depth) = (0, '', 0); + + if ( !defined $text or ref $text ) { + decode_error("malformed JSON string, neither array, object, number, string or atom"); + } + + my $idx = $self->{PROPS}; + + ($utf8, $relaxed, $loose, $allow_bigint, $allow_barekey, $singlequote) + = @{$idx}[P_UTF8, P_RELAXED, P_LOOSE .. P_ALLOW_SINGLEQUOTE]; + + if ( $utf8 ) { + utf8::downgrade( $text, 1 ) or Carp::croak("Wide character in subroutine entry"); + } + else { + utf8::upgrade( $text ); + } + + $len = length $text; + + ($max_depth, $max_size, $cb_object, $cb_sk_object, $F_HOOK) + = @{$self}{qw/max_depth max_size cb_object cb_sk_object F_HOOK/}; + + if ($max_size > 1) { + use bytes; + my $bytes = length $text; + decode_error( + sprintf("attempted decode of JSON text of %s bytes size, but max_size is set to %s" + , $bytes, $max_size), 1 + ) if ($bytes > $max_size); + } + + # Currently no effect + # should use regexp + my @octets = unpack('C4', $text); + $encoding = ( $octets[0] and $octets[1]) ? 'UTF-8' + : (!$octets[0] and $octets[1]) ? 'UTF-16BE' + : (!$octets[0] and !$octets[1]) ? 'UTF-32BE' + : ( $octets[2] ) ? 'UTF-16LE' + : (!$octets[2] ) ? 'UTF-32LE' + : 'unknown'; + + white(); # remove head white space + + my $valid_start = defined $ch; # Is there a first character for JSON structure? + + my $result = value(); + + return undef if ( !$result && ( $opt & 0x10000000 ) ); # for incr_parse + + decode_error("malformed JSON string, neither array, object, number, string or atom") unless $valid_start; + + if ( !$idx->[ P_ALLOW_NONREF ] and !ref $result ) { + decode_error( + 'JSON text must be an object or array (but found number, string, true, false or null,' + . ' use allow_nonref to allow this)', 1); + } + + Carp::croak('something wrong.') if $len < $at; # we won't arrive here. + + my $consumed = defined $ch ? $at - 1 : $at; # consumed JSON text length + + white(); # remove tail white space + + if ( $ch ) { + return ( $result, $consumed ) if ($opt & 0x00000001); # all right if decode_prefix + decode_error("garbage after JSON object"); + } + + ( $opt & 0x00000001 ) ? ( $result, $consumed ) : $result; + } + + + sub next_chr { + return $ch = undef if($at >= $len); + $ch = substr($text, $at++, 1); + } + + + sub value { + white(); + return if(!defined $ch); + return object() if($ch eq '{'); + return array() if($ch eq '['); + return string() if($ch eq '"' or ($singlequote and $ch eq "'")); + return number() if($ch =~ /[0-9]/ or $ch eq '-'); + return word(); + } + + sub string { + my ($i, $s, $t, $u); + my $utf16; + my $is_utf8; + + ($is_valid_utf8, $utf8_len) = ('', 0); + + $s = ''; # basically UTF8 flag on + + if($ch eq '"' or ($singlequote and $ch eq "'")){ + my $boundChar = $ch; + + OUTER: while( defined(next_chr()) ){ + + if($ch eq $boundChar){ + next_chr(); + + if ($utf16) { + decode_error("missing low surrogate character in surrogate pair"); + } + + utf8::decode($s) if($is_utf8); + + return $s; + } + elsif($ch eq '\\'){ + next_chr(); + if(exists $escapes{$ch}){ + $s .= $escapes{$ch}; + } + elsif($ch eq 'u'){ # UNICODE handling + my $u = ''; + + for(1..4){ + $ch = next_chr(); + last OUTER if($ch !~ /[0-9a-fA-F]/); + $u .= $ch; + } + + # U+D800 - U+DBFF + if ($u =~ /^[dD][89abAB][0-9a-fA-F]{2}/) { # UTF-16 high surrogate? + $utf16 = $u; + } + # U+DC00 - U+DFFF + elsif ($u =~ /^[dD][c-fC-F][0-9a-fA-F]{2}/) { # UTF-16 low surrogate? + unless (defined $utf16) { + decode_error("missing high surrogate character in surrogate pair"); + } + $is_utf8 = 1; + $s .= JSON_PP_decode_surrogates($utf16, $u) || next; + $utf16 = undef; + } + else { + if (defined $utf16) { + decode_error("surrogate pair expected"); + } + + if ( ( my $hex = hex( $u ) ) > 127 ) { + $is_utf8 = 1; + $s .= JSON_PP_decode_unicode($u) || next; + } + else { + $s .= chr $hex; + } + } + + } + else{ + unless ($loose) { + $at -= 2; + decode_error('illegal backslash escape sequence in string'); + } + $s .= $ch; + } + } + else{ + + if ( ord $ch > 127 ) { + if ( $utf8 ) { + unless( $ch = is_valid_utf8($ch) ) { + $at -= 1; + decode_error("malformed UTF-8 character in JSON string"); + } + else { + $at += $utf8_len - 1; + } + } + else { + utf8::encode( $ch ); + } + + $is_utf8 = 1; + } + + if (!$loose) { + if ($ch =~ /[\x00-\x1f\x22\x5c]/) { # '/' ok + $at--; + decode_error('invalid character encountered while parsing JSON string'); + } + } + + $s .= $ch; + } + } + } + + decode_error("unexpected end of string while parsing JSON string"); + } + + + sub white { + while( defined $ch ){ + if($ch le ' '){ + next_chr(); + } + elsif($ch eq '/'){ + next_chr(); + if(defined $ch and $ch eq '/'){ + 1 while(defined(next_chr()) and $ch ne "\n" and $ch ne "\r"); + } + elsif(defined $ch and $ch eq '*'){ + next_chr(); + while(1){ + if(defined $ch){ + if($ch eq '*'){ + if(defined(next_chr()) and $ch eq '/'){ + next_chr(); + last; + } + } + else{ + next_chr(); + } + } + else{ + decode_error("Unterminated comment"); + } + } + next; + } + else{ + $at--; + decode_error("malformed JSON string, neither array, object, number, string or atom"); + } + } + else{ + if ($relaxed and $ch eq '#') { # correctly? + pos($text) = $at; + $text =~ /\G([^\n]*(?:\r\n|\r|\n|$))/g; + $at = pos($text); + next_chr; + next; + } + + last; + } + } + } + + + sub array { + my $a = $_[0] || []; # you can use this code to use another array ref object. + + decode_error('json text or perl structure exceeds maximum nesting level (max_depth set too low?)') + if (++$depth > $max_depth); + + next_chr(); + white(); + + if(defined $ch and $ch eq ']'){ + --$depth; + next_chr(); + return $a; + } + else { + while(defined($ch)){ + push @$a, value(); + + white(); + + if (!defined $ch) { + last; + } + + if($ch eq ']'){ + --$depth; + next_chr(); + return $a; + } + + if($ch ne ','){ + last; + } + + next_chr(); + white(); + + if ($relaxed and $ch eq ']') { + --$depth; + next_chr(); + return $a; + } + + } + } + + decode_error(", or ] expected while parsing array"); + } + + + sub object { + my $o = $_[0] || {}; # you can use this code to use another hash ref object. + my $k; + + decode_error('json text or perl structure exceeds maximum nesting level (max_depth set too low?)') + if (++$depth > $max_depth); + next_chr(); + white(); + + if(defined $ch and $ch eq '}'){ + --$depth; + next_chr(); + if ($F_HOOK) { + return _json_object_hook($o); + } + return $o; + } + else { + while (defined $ch) { + $k = ($allow_barekey and $ch ne '"' and $ch ne "'") ? bareKey() : string(); + white(); + + if(!defined $ch or $ch ne ':'){ + $at--; + decode_error("':' expected"); + } + + next_chr(); + $o->{$k} = value(); + white(); + + last if (!defined $ch); + + if($ch eq '}'){ + --$depth; + next_chr(); + if ($F_HOOK) { + return _json_object_hook($o); + } + return $o; + } + + if($ch ne ','){ + last; + } + + next_chr(); + white(); + + if ($relaxed and $ch eq '}') { + --$depth; + next_chr(); + if ($F_HOOK) { + return _json_object_hook($o); + } + return $o; + } + + } + + } + + $at--; + decode_error(", or } expected while parsing object/hash"); + } + + + sub bareKey { # doesn't strictly follow Standard ECMA-262 3rd Edition + my $key; + while($ch =~ /[^\x00-\x23\x25-\x2F\x3A-\x40\x5B-\x5E\x60\x7B-\x7F]/){ + $key .= $ch; + next_chr(); + } + return $key; + } + + + sub word { + my $word = substr($text,$at-1,4); + + if($word eq 'true'){ + $at += 3; + next_chr; + return $JSON::PP::true; + } + elsif($word eq 'null'){ + $at += 3; + next_chr; + return undef; + } + elsif($word eq 'fals'){ + $at += 3; + if(substr($text,$at,1) eq 'e'){ + $at++; + next_chr; + return $JSON::PP::false; + } + } + + $at--; # for decode_error report + + decode_error("'null' expected") if ($word =~ /^n/); + decode_error("'true' expected") if ($word =~ /^t/); + decode_error("'false' expected") if ($word =~ /^f/); + decode_error("malformed JSON string, neither array, object, number, string or atom"); + } + + + sub number { + my $n = ''; + my $v; + + # According to RFC4627, hex or oct digits are invalid. + if($ch eq '0'){ + my $peek = substr($text,$at,1); + my $hex = $peek =~ /[xX]/; # 0 or 1 + + if($hex){ + decode_error("malformed number (leading zero must not be followed by another digit)"); + ($n) = ( substr($text, $at+1) =~ /^([0-9a-fA-F]+)/); + } + else{ # oct + ($n) = ( substr($text, $at) =~ /^([0-7]+)/); + if (defined $n and length $n > 1) { + decode_error("malformed number (leading zero must not be followed by another digit)"); + } + } + + if(defined $n and length($n)){ + if (!$hex and length($n) == 1) { + decode_error("malformed number (leading zero must not be followed by another digit)"); + } + $at += length($n) + $hex; + next_chr; + return $hex ? hex($n) : oct($n); + } + } + + if($ch eq '-'){ + $n = '-'; + next_chr; + if (!defined $ch or $ch !~ /\d/) { + decode_error("malformed number (no digits after initial minus)"); + } + } + + while(defined $ch and $ch =~ /\d/){ + $n .= $ch; + next_chr; + } + + if(defined $ch and $ch eq '.'){ + $n .= '.'; + + next_chr; + if (!defined $ch or $ch !~ /\d/) { + decode_error("malformed number (no digits after decimal point)"); + } + else { + $n .= $ch; + } + + while(defined(next_chr) and $ch =~ /\d/){ + $n .= $ch; + } + } + + if(defined $ch and ($ch eq 'e' or $ch eq 'E')){ + $n .= $ch; + next_chr; + + if(defined($ch) and ($ch eq '+' or $ch eq '-')){ + $n .= $ch; + next_chr; + if (!defined $ch or $ch =~ /\D/) { + decode_error("malformed number (no digits after exp sign)"); + } + $n .= $ch; + } + elsif(defined($ch) and $ch =~ /\d/){ + $n .= $ch; + } + else { + decode_error("malformed number (no digits after exp sign)"); + } + + while(defined(next_chr) and $ch =~ /\d/){ + $n .= $ch; + } + + } + + $v .= $n; + + if ($v !~ /[.eE]/ and length $v > $max_intsize) { + if ($allow_bigint) { # from Adam Sussman + require Math::BigInt; + return Math::BigInt->new($v); + } + else { + return "$v"; + } + } + elsif ($allow_bigint) { + require Math::BigFloat; + return Math::BigFloat->new($v); + } + + return 0+$v; + } + + + sub is_valid_utf8 { + + $utf8_len = $_[0] =~ /[\x00-\x7F]/ ? 1 + : $_[0] =~ /[\xC2-\xDF]/ ? 2 + : $_[0] =~ /[\xE0-\xEF]/ ? 3 + : $_[0] =~ /[\xF0-\xF4]/ ? 4 + : 0 + ; + + return unless $utf8_len; + + my $is_valid_utf8 = substr($text, $at - 1, $utf8_len); + + return ( $is_valid_utf8 =~ /^(?: + [\x00-\x7F] + |[\xC2-\xDF][\x80-\xBF] + |[\xE0][\xA0-\xBF][\x80-\xBF] + |[\xE1-\xEC][\x80-\xBF][\x80-\xBF] + |[\xED][\x80-\x9F][\x80-\xBF] + |[\xEE-\xEF][\x80-\xBF][\x80-\xBF] + |[\xF0][\x90-\xBF][\x80-\xBF][\x80-\xBF] + |[\xF1-\xF3][\x80-\xBF][\x80-\xBF][\x80-\xBF] + |[\xF4][\x80-\x8F][\x80-\xBF][\x80-\xBF] + )$/x ) ? $is_valid_utf8 : ''; + } + + + sub decode_error { + my $error = shift; + my $no_rep = shift; + my $str = defined $text ? substr($text, $at) : ''; + my $mess = ''; + my $type = $] >= 5.008 ? 'U*' + : $] < 5.006 ? 'C*' + : utf8::is_utf8( $str ) ? 'U*' # 5.6 + : 'C*' + ; + + for my $c ( unpack( $type, $str ) ) { # emulate pv_uni_display() ? + $mess .= $c == 0x07 ? '\a' + : $c == 0x09 ? '\t' + : $c == 0x0a ? '\n' + : $c == 0x0d ? '\r' + : $c == 0x0c ? '\f' + : $c < 0x20 ? sprintf('\x{%x}', $c) + : $c == 0x5c ? '\\\\' + : $c < 0x80 ? chr($c) + : sprintf('\x{%x}', $c) + ; + if ( length $mess >= 20 ) { + $mess .= '...'; + last; + } + } + + unless ( length $mess ) { + $mess = '(end of string)'; + } + + Carp::croak ( + $no_rep ? "$error" : "$error, at character offset $at (before \"$mess\")" + ); + + } + + + sub _json_object_hook { + my $o = $_[0]; + my @ks = keys %{$o}; + + if ( $cb_sk_object and @ks == 1 and exists $cb_sk_object->{ $ks[0] } and ref $cb_sk_object->{ $ks[0] } ) { + my @val = $cb_sk_object->{ $ks[0] }->( $o->{$ks[0]} ); + if (@val == 1) { + return $val[0]; + } + } + + my @val = $cb_object->($o) if ($cb_object); + if (@val == 0 or @val > 1) { + return $o; + } + else { + return $val[0]; + } + } + + + sub PP_decode_box { + { + text => $text, + at => $at, + ch => $ch, + len => $len, + depth => $depth, + encoding => $encoding, + is_valid_utf8 => $is_valid_utf8, + }; + } + +} # PARSE + + +sub _decode_surrogates { # from perlunicode + my $uni = 0x10000 + (hex($_[0]) - 0xD800) * 0x400 + (hex($_[1]) - 0xDC00); + my $un = pack('U*', $uni); + utf8::encode( $un ); + return $un; +} + + +sub _decode_unicode { + my $un = pack('U', hex shift); + utf8::encode( $un ); + return $un; +} + +# +# Setup for various Perl versions (the code from JSON::PP58) +# + +BEGIN { + + unless ( defined &utf8::is_utf8 ) { + require Encode; + *utf8::is_utf8 = *Encode::is_utf8; + } + + if ( $] >= 5.008 ) { + *JSON::PP::JSON_PP_encode_ascii = \&_encode_ascii; + *JSON::PP::JSON_PP_encode_latin1 = \&_encode_latin1; + *JSON::PP::JSON_PP_decode_surrogates = \&_decode_surrogates; + *JSON::PP::JSON_PP_decode_unicode = \&_decode_unicode; + } + + if ($] >= 5.008 and $] < 5.008003) { # join() in 5.8.0 - 5.8.2 is broken. + package # hide from PAUSE + JSON::PP; + require subs; + subs->import('join'); + eval q| + sub join { + return '' if (@_ < 2); + my $j = shift; + my $str = shift; + for (@_) { $str .= $j . $_; } + return $str; + } + |; + } + + + sub JSON::PP::incr_parse { + local $Carp::CarpLevel = 1; + ( $_[0]->{_incr_parser} ||= JSON::PP::IncrParser->new )->incr_parse( @_ ); + } + + + sub JSON::PP::incr_skip { + ( $_[0]->{_incr_parser} ||= JSON::PP::IncrParser->new )->incr_skip; + } + + + sub JSON::PP::incr_reset { + ( $_[0]->{_incr_parser} ||= JSON::PP::IncrParser->new )->incr_reset; + } + + eval q{ + sub JSON::PP::incr_text : lvalue { + $_[0]->{_incr_parser} ||= JSON::PP::IncrParser->new; + + if ( $_[0]->{_incr_parser}->{incr_parsing} ) { + Carp::croak("incr_text can not be called when the incremental parser already started parsing"); + } + $_[0]->{_incr_parser}->{incr_text}; + } + } if ( $] >= 5.006 ); + +} # Setup for various Perl versions (the code from JSON::PP58) + + +############################### +# Utilities +# + +BEGIN { + eval 'require Scalar::Util'; + unless($@){ + *JSON::PP::blessed = \&Scalar::Util::blessed; + *JSON::PP::reftype = \&Scalar::Util::reftype; + *JSON::PP::refaddr = \&Scalar::Util::refaddr; + } + else{ # This code is from Scalar::Util. + # warn $@; + eval 'sub UNIVERSAL::a_sub_not_likely_to_be_here { ref($_[0]) }'; + *JSON::PP::blessed = sub { + local($@, $SIG{__DIE__}, $SIG{__WARN__}); + ref($_[0]) ? eval { $_[0]->a_sub_not_likely_to_be_here } : undef; + }; + my %tmap = qw( + B::NULL SCALAR + B::HV HASH + B::AV ARRAY + B::CV CODE + B::IO IO + B::GV GLOB + B::REGEXP REGEXP + ); + *JSON::PP::reftype = sub { + my $r = shift; + + return undef unless length(ref($r)); + + my $t = ref(B::svref_2object($r)); + + return + exists $tmap{$t} ? $tmap{$t} + : length(ref($$r)) ? 'REF' + : 'SCALAR'; + }; + *JSON::PP::refaddr = sub { + return undef unless length(ref($_[0])); + + my $addr; + if(defined(my $pkg = blessed($_[0]))) { + $addr .= bless $_[0], 'Scalar::Util::Fake'; + bless $_[0], $pkg; + } + else { + $addr .= $_[0] + } + + $addr =~ /0x(\w+)/; + local $^W; + #no warnings 'portable'; + hex($1); + } + } +} + + +# shamelessly copied and modified from JSON::XS code. + +unless ( $INC{'JSON/PP.pm'} ) { + eval q| + package + JSON::PP::Boolean; + + use overload ( + "0+" => sub { ${$_[0]} }, + "++" => sub { $_[0] = ${$_[0]} + 1 }, + "--" => sub { $_[0] = ${$_[0]} - 1 }, + fallback => 1, + ); + |; +} + +$JSON::PP::true = do { bless \(my $dummy = 1), "JSON::PP::Boolean" }; +$JSON::PP::false = do { bless \(my $dummy = 0), "JSON::PP::Boolean" }; + +sub is_bool { defined $_[0] and UNIVERSAL::isa($_[0], "JSON::PP::Boolean"); } + +sub true { $JSON::PP::true } +sub false { $JSON::PP::false } +sub null { undef; } + +############################### + +############################### + +package # hide from PAUSE + JSON::PP::IncrParser; + +use strict; + +use constant INCR_M_WS => 0; # initial whitespace skipping +use constant INCR_M_STR => 1; # inside string +use constant INCR_M_BS => 2; # inside backslash +use constant INCR_M_JSON => 3; # outside anything, count nesting +use constant INCR_M_C0 => 4; +use constant INCR_M_C1 => 5; + +use vars qw($VERSION); +$VERSION = '1.01'; + +my $unpack_format = $] < 5.006 ? 'C*' : 'U*'; + +sub new { + my ( $class ) = @_; + + bless { + incr_nest => 0, + incr_text => undef, + incr_parsing => 0, + incr_p => 0, + }, $class; +} + + +sub incr_parse { + my ( $self, $coder, $text ) = @_; + + $self->{incr_text} = '' unless ( defined $self->{incr_text} ); + + if ( defined $text ) { + if ( utf8::is_utf8( $text ) and !utf8::is_utf8( $self->{incr_text} ) ) { + utf8::upgrade( $self->{incr_text} ) ; + utf8::decode( $self->{incr_text} ) ; + } + $self->{incr_text} .= $text; + } + + + my $max_size = $coder->get_max_size; + + if ( defined wantarray ) { + + $self->{incr_mode} = INCR_M_WS unless defined $self->{incr_mode}; + + if ( wantarray ) { + my @ret; + + $self->{incr_parsing} = 1; + + do { + push @ret, $self->_incr_parse( $coder, $self->{incr_text} ); + + unless ( !$self->{incr_nest} and $self->{incr_mode} == INCR_M_JSON ) { + $self->{incr_mode} = INCR_M_WS if $self->{incr_mode} != INCR_M_STR; + } + + } until ( length $self->{incr_text} >= $self->{incr_p} ); + + $self->{incr_parsing} = 0; + + return @ret; + } + else { # in scalar context + $self->{incr_parsing} = 1; + my $obj = $self->_incr_parse( $coder, $self->{incr_text} ); + $self->{incr_parsing} = 0 if defined $obj; # pointed by Martin J. Evans + return $obj ? $obj : undef; # $obj is an empty string, parsing was completed. + } + + } + +} + + +sub _incr_parse { + my ( $self, $coder, $text, $skip ) = @_; + my $p = $self->{incr_p}; + my $restore = $p; + + my @obj; + my $len = length $text; + + if ( $self->{incr_mode} == INCR_M_WS ) { + while ( $len > $p ) { + my $s = substr( $text, $p, 1 ); + $p++ and next if ( 0x20 >= unpack($unpack_format, $s) ); + $self->{incr_mode} = INCR_M_JSON; + last; + } + } + + while ( $len > $p ) { + my $s = substr( $text, $p++, 1 ); + + if ( $s eq '"' ) { + if (substr( $text, $p - 2, 1 ) eq '\\' ) { + next; + } + + if ( $self->{incr_mode} != INCR_M_STR ) { + $self->{incr_mode} = INCR_M_STR; + } + else { + $self->{incr_mode} = INCR_M_JSON; + unless ( $self->{incr_nest} ) { + last; + } + } + } + + if ( $self->{incr_mode} == INCR_M_JSON ) { + + if ( $s eq '[' or $s eq '{' ) { + if ( ++$self->{incr_nest} > $coder->get_max_depth ) { + Carp::croak('json text or perl structure exceeds maximum nesting level (max_depth set too low?)'); + } + } + elsif ( $s eq ']' or $s eq '}' ) { + last if ( --$self->{incr_nest} <= 0 ); + } + elsif ( $s eq '#' ) { + while ( $len > $p ) { + last if substr( $text, $p++, 1 ) eq "\n"; + } + } + + } + + } + + $self->{incr_p} = $p; + + return if ( $self->{incr_mode} == INCR_M_STR and not $self->{incr_nest} ); + return if ( $self->{incr_mode} == INCR_M_JSON and $self->{incr_nest} > 0 ); + + return '' unless ( length substr( $self->{incr_text}, 0, $p ) ); + + local $Carp::CarpLevel = 2; + + $self->{incr_p} = $restore; + $self->{incr_c} = $p; + + my ( $obj, $tail ) = $coder->PP_decode_json( substr( $self->{incr_text}, 0, $p ), 0x10000001 ); + + $self->{incr_text} = substr( $self->{incr_text}, $p ); + $self->{incr_p} = 0; + + return $obj || ''; +} + + +sub incr_text { + if ( $_[0]->{incr_parsing} ) { + Carp::croak("incr_text can not be called when the incremental parser already started parsing"); + } + $_[0]->{incr_text}; +} + + +sub incr_skip { + my $self = shift; + $self->{incr_text} = substr( $self->{incr_text}, $self->{incr_c} ); + $self->{incr_p} = 0; +} + + +sub incr_reset { + my $self = shift; + $self->{incr_text} = undef; + $self->{incr_p} = 0; + $self->{incr_mode} = 0; + $self->{incr_nest} = 0; + $self->{incr_parsing} = 0; +} + +############################### + + +1; +__END__ +=pod + +=head1 NAME + +JSON::PP - JSON::XS compatible pure-Perl module. + +=head1 SYNOPSIS + + use JSON::PP; + + # exported functions, they croak on error + # and expect/generate UTF-8 + + $utf8_encoded_json_text = encode_json $perl_hash_or_arrayref; + $perl_hash_or_arrayref = decode_json $utf8_encoded_json_text; + + # OO-interface + + $coder = JSON::PP->new->ascii->pretty->allow_nonref; + + $json_text = $json->encode( $perl_scalar ); + $perl_scalar = $json->decode( $json_text ); + + $pretty_printed = $json->pretty->encode( $perl_scalar ); # pretty-printing + + # Note that JSON version 2.0 and above will automatically use + # JSON::XS or JSON::PP, so you should be able to just: + + use JSON; + + +=head1 VERSION + + 2.27200 + +L 2.27 (~2.30) compatible. + +=head1 DESCRIPTION + +This module is L compatible pure Perl module. +(Perl 5.8 or later is recommended) + +JSON::XS is the fastest and most proper JSON module on CPAN. +It is written by Marc Lehmann in C, so must be compiled and +installed in the used environment. + +JSON::PP is a pure-Perl module and has compatibility to JSON::XS. + + +=head2 FEATURES + +=over + +=item * correct unicode handling + +This module knows how to handle Unicode (depending on Perl version). + +See to L and +L. + + +=item * round-trip integrity + +When you serialise a perl data structure using only data types +supported by JSON and Perl, the deserialised data structure is +identical on the Perl level. (e.g. the string "2.0" doesn't suddenly +become "2" just because it looks like a number). There I minor +exceptions to this, read the MAPPING section below to learn about +those. + + +=item * strict checking of JSON correctness + +There is no guessing, no generating of illegal JSON texts by default, +and only JSON is accepted as input by default (the latter is a +security feature). But when some options are set, loose checking +features are available. + +=back + +=head1 FUNCTIONAL INTERFACE + +Some documents are copied and modified from L. + +=head2 encode_json + + $json_text = encode_json $perl_scalar + +Converts the given Perl data structure to a UTF-8 encoded, binary string. + +This function call is functionally identical to: + + $json_text = JSON::PP->new->utf8->encode($perl_scalar) + +=head2 decode_json + + $perl_scalar = decode_json $json_text + +The opposite of C: expects an UTF-8 (binary) string and tries +to parse that as an UTF-8 encoded JSON text, returning the resulting +reference. + +This function call is functionally identical to: + + $perl_scalar = JSON::PP->new->utf8->decode($json_text) + +=head2 JSON::PP::is_bool + + $is_boolean = JSON::PP::is_bool($scalar) + +Returns true if the passed scalar represents either JSON::PP::true or +JSON::PP::false, two constants that act like C<1> and C<0> respectively +and are also used to represent JSON C and C in Perl strings. + +=head2 JSON::PP::true + +Returns JSON true value which is blessed object. +It C JSON::PP::Boolean object. + +=head2 JSON::PP::false + +Returns JSON false value which is blessed object. +It C JSON::PP::Boolean object. + +=head2 JSON::PP::null + +Returns C. + +See L, below, for more information on how JSON values are mapped to +Perl. + + +=head1 HOW DO I DECODE A DATA FROM OUTER AND ENCODE TO OUTER + +This section supposes that your perl version is 5.8 or later. + +If you know a JSON text from an outer world - a network, a file content, and so on, +is encoded in UTF-8, you should use C or C module object +with C enable. And the decoded result will contain UNICODE characters. + + # from network + my $json = JSON::PP->new->utf8; + my $json_text = CGI->new->param( 'json_data' ); + my $perl_scalar = $json->decode( $json_text ); + + # from file content + local $/; + open( my $fh, '<', 'json.data' ); + $json_text = <$fh>; + $perl_scalar = decode_json( $json_text ); + +If an outer data is not encoded in UTF-8, firstly you should C it. + + use Encode; + local $/; + open( my $fh, '<', 'json.data' ); + my $encoding = 'cp932'; + my $unicode_json_text = decode( $encoding, <$fh> ); # UNICODE + + # or you can write the below code. + # + # open( my $fh, "<:encoding($encoding)", 'json.data' ); + # $unicode_json_text = <$fh>; + +In this case, C<$unicode_json_text> is of course UNICODE string. +So you B use C nor C module object with C enable. +Instead of them, you use C module object with C disable. + + $perl_scalar = $json->utf8(0)->decode( $unicode_json_text ); + +Or C and C: + + $perl_scalar = decode_json( encode( 'utf8', $unicode_json_text ) ); + # this way is not efficient. + +And now, you want to convert your C<$perl_scalar> into JSON data and +send it to an outer world - a network or a file content, and so on. + +Your data usually contains UNICODE strings and you want the converted data to be encoded +in UTF-8, you should use C or C module object with C enable. + + print encode_json( $perl_scalar ); # to a network? file? or display? + # or + print $json->utf8->encode( $perl_scalar ); + +If C<$perl_scalar> does not contain UNICODE but C<$encoding>-encoded strings +for some reason, then its characters are regarded as B for perl +(because it does not concern with your $encoding). +You B use C nor C module object with C enable. +Instead of them, you use C module object with C disable. +Note that the resulted text is a UNICODE string but no problem to print it. + + # $perl_scalar contains $encoding encoded string values + $unicode_json_text = $json->utf8(0)->encode( $perl_scalar ); + # $unicode_json_text consists of characters less than 0x100 + print $unicode_json_text; + +Or C all string values and C: + + $perl_scalar->{ foo } = decode( $encoding, $perl_scalar->{ foo } ); + # ... do it to each string values, then encode_json + $json_text = encode_json( $perl_scalar ); + +This method is a proper way but probably not efficient. + +See to L, L. + + +=head1 METHODS + +Basically, check to L or L. + +=head2 new + + $json = JSON::PP->new + +Returns a new JSON::PP object that can be used to de/encode JSON +strings. + +All boolean flags described below are by default I. + +The mutators for flags all return the JSON object again and thus calls can +be chained: + + my $json = JSON::PP->new->utf8->space_after->encode({a => [1,2]}) + => {"a": [1, 2]} + +=head2 ascii + + $json = $json->ascii([$enable]) + + $enabled = $json->get_ascii + +If $enable is true (or missing), then the encode method will not generate characters outside +the code range 0..127. Any Unicode characters outside that range will be escaped using either +a single \uXXXX or a double \uHHHH\uLLLLL escape sequence, as per RFC4627. +(See to L). + +In Perl 5.005, there is no character having high value (more than 255). +See to L. + +If $enable is false, then the encode method will not escape Unicode characters unless +required by the JSON syntax or other flags. This results in a faster and more compact format. + + JSON::PP->new->ascii(1)->encode([chr 0x10401]) + => ["\ud801\udc01"] + +=head2 latin1 + + $json = $json->latin1([$enable]) + + $enabled = $json->get_latin1 + +If $enable is true (or missing), then the encode method will encode the resulting JSON +text as latin1 (or iso-8859-1), escaping any characters outside the code range 0..255. + +If $enable is false, then the encode method will not escape Unicode characters +unless required by the JSON syntax or other flags. + + JSON::XS->new->latin1->encode (["\x{89}\x{abc}"] + => ["\x{89}\\u0abc"] # (perl syntax, U+abc escaped, U+89 not) + +See to L. + +=head2 utf8 + + $json = $json->utf8([$enable]) + + $enabled = $json->get_utf8 + +If $enable is true (or missing), then the encode method will encode the JSON result +into UTF-8, as required by many protocols, while the decode method expects to be handled +an UTF-8-encoded string. Please note that UTF-8-encoded strings do not contain any +characters outside the range 0..255, they are thus useful for bytewise/binary I/O. + +(In Perl 5.005, any character outside the range 0..255 does not exist. +See to L.) + +In future versions, enabling this option might enable autodetection of the UTF-16 and UTF-32 +encoding families, as described in RFC4627. + +If $enable is false, then the encode method will return the JSON string as a (non-encoded) +Unicode string, while decode expects thus a Unicode string. Any decoding or encoding +(e.g. to UTF-8 or UTF-16) needs to be done yourself, e.g. using the Encode module. + +Example, output UTF-16BE-encoded JSON: + + use Encode; + $jsontext = encode "UTF-16BE", JSON::PP->new->encode ($object); + +Example, decode UTF-32LE-encoded JSON: + + use Encode; + $object = JSON::PP->new->decode (decode "UTF-32LE", $jsontext); + + +=head2 pretty + + $json = $json->pretty([$enable]) + +This enables (or disables) all of the C, C and +C flags in one call to generate the most readable +(or most compact) form possible. + +Equivalent to: + + $json->indent->space_before->space_after + +=head2 indent + + $json = $json->indent([$enable]) + + $enabled = $json->get_indent + +The default indent space length is three. +You can use C to change the length. + +=head2 space_before + + $json = $json->space_before([$enable]) + + $enabled = $json->get_space_before + +If C<$enable> is true (or missing), then the C method will add an extra +optional space before the C<:> separating keys from values in JSON objects. + +If C<$enable> is false, then the C method will not add any extra +space at those places. + +This setting has no effect when decoding JSON texts. + +Example, space_before enabled, space_after and indent disabled: + + {"key" :"value"} + +=head2 space_after + + $json = $json->space_after([$enable]) + + $enabled = $json->get_space_after + +If C<$enable> is true (or missing), then the C method will add an extra +optional space after the C<:> separating keys from values in JSON objects +and extra whitespace after the C<,> separating key-value pairs and array +members. + +If C<$enable> is false, then the C method will not add any extra +space at those places. + +This setting has no effect when decoding JSON texts. + +Example, space_before and indent disabled, space_after enabled: + + {"key": "value"} + +=head2 relaxed + + $json = $json->relaxed([$enable]) + + $enabled = $json->get_relaxed + +If C<$enable> is true (or missing), then C will accept some +extensions to normal JSON syntax (see below). C will not be +affected in anyway. I. I suggest only to use this option to +parse application-specific files written by humans (configuration files, +resource files etc.) + +If C<$enable> is false (the default), then C will only accept +valid JSON texts. + +Currently accepted extensions are: + +=over 4 + +=item * list items can have an end-comma + +JSON I array elements and key-value pairs with commas. This +can be annoying if you write JSON texts manually and want to be able to +quickly append elements, so this extension accepts comma at the end of +such items not just between them: + + [ + 1, + 2, <- this comma not normally allowed + ] + { + "k1": "v1", + "k2": "v2", <- this comma not normally allowed + } + +=item * shell-style '#'-comments + +Whenever JSON allows whitespace, shell-style comments are additionally +allowed. They are terminated by the first carriage-return or line-feed +character, after which more white-space and comments are allowed. + + [ + 1, # this comment not allowed in JSON + # neither this one... + ] + +=back + +=head2 canonical + + $json = $json->canonical([$enable]) + + $enabled = $json->get_canonical + +If C<$enable> is true (or missing), then the C method will output JSON objects +by sorting their keys. This is adding a comparatively high overhead. + +If C<$enable> is false, then the C method will output key-value +pairs in the order Perl stores them (which will likely change between runs +of the same script). + +This option is useful if you want the same data structure to be encoded as +the same JSON text (given the same overall settings). If it is disabled, +the same hash might be encoded differently even if contains the same data, +as key-value pairs have no inherent ordering in Perl. + +This setting has no effect when decoding JSON texts. + +If you want your own sorting routine, you can give a code reference +or a subroutine name to C. See to C. + +=head2 allow_nonref + + $json = $json->allow_nonref([$enable]) + + $enabled = $json->get_allow_nonref + +If C<$enable> is true (or missing), then the C method can convert a +non-reference into its corresponding string, number or null JSON value, +which is an extension to RFC4627. Likewise, C will accept those JSON +values instead of croaking. + +If C<$enable> is false, then the C method will croak if it isn't +passed an arrayref or hashref, as JSON texts must either be an object +or array. Likewise, C will croak if given something that is not a +JSON object or array. + + JSON::PP->new->allow_nonref->encode ("Hello, World!") + => "Hello, World!" + +=head2 allow_unknown + + $json = $json->allow_unknown ([$enable]) + + $enabled = $json->get_allow_unknown + +If $enable is true (or missing), then "encode" will *not* throw an +exception when it encounters values it cannot represent in JSON (for +example, filehandles) but instead will encode a JSON "null" value. +Note that blessed objects are not included here and are handled +separately by c. + +If $enable is false (the default), then "encode" will throw an +exception when it encounters anything it cannot encode as JSON. + +This option does not affect "decode" in any way, and it is +recommended to leave it off unless you know your communications +partner. + +=head2 allow_blessed + + $json = $json->allow_blessed([$enable]) + + $enabled = $json->get_allow_blessed + +If C<$enable> is true (or missing), then the C method will not +barf when it encounters a blessed reference. Instead, the value of the +B option will decide whether C (C +disabled or no C method found) or a representation of the +object (C enabled and C method found) is being +encoded. Has no effect on C. + +If C<$enable> is false (the default), then C will throw an +exception when it encounters a blessed object. + +=head2 convert_blessed + + $json = $json->convert_blessed([$enable]) + + $enabled = $json->get_convert_blessed + +If C<$enable> is true (or missing), then C, upon encountering a +blessed object, will check for the availability of the C method +on the object's class. If found, it will be called in scalar context +and the resulting scalar will be encoded instead of the object. If no +C method is found, the value of C will decide what +to do. + +The C method may safely call die if it wants. If C +returns other blessed objects, those will be handled in the same +way. C must take care of not causing an endless recursion cycle +(== crash) in this case. The name of C was chosen because other +methods called by the Perl core (== not by the user of the object) are +usually in upper case letters and to avoid collisions with the C +function or method. + +This setting does not yet influence C in any way. + +If C<$enable> is false, then the C setting will decide what +to do when a blessed object is found. + +=head2 filter_json_object + + $json = $json->filter_json_object([$coderef]) + +When C<$coderef> is specified, it will be called from C each +time it decodes a JSON object. The only argument passed to the coderef +is a reference to the newly-created hash. If the code references returns +a single scalar (which need not be a reference), this value +(i.e. a copy of that scalar to avoid aliasing) is inserted into the +deserialised data structure. If it returns an empty list +(NOTE: I C, which is a valid scalar), the original deserialised +hash will be inserted. This setting can slow down decoding considerably. + +When C<$coderef> is omitted or undefined, any existing callback will +be removed and C will not change the deserialised hash in any +way. + +Example, convert all JSON objects into the integer 5: + + my $js = JSON::PP->new->filter_json_object (sub { 5 }); + # returns [5] + $js->decode ('[{}]'); # the given subroutine takes a hash reference. + # throw an exception because allow_nonref is not enabled + # so a lone 5 is not allowed. + $js->decode ('{"a":1, "b":2}'); + +=head2 filter_json_single_key_object + + $json = $json->filter_json_single_key_object($key [=> $coderef]) + +Works remotely similar to C, but is only called for +JSON objects having a single key named C<$key>. + +This C<$coderef> is called before the one specified via +C, if any. It gets passed the single value in the JSON +object. If it returns a single value, it will be inserted into the data +structure. If it returns nothing (not even C but the empty list), +the callback from C will be called next, as if no +single-key callback were specified. + +If C<$coderef> is omitted or undefined, the corresponding callback will be +disabled. There can only ever be one callback for a given key. + +As this callback gets called less often then the C +one, decoding speed will not usually suffer as much. Therefore, single-key +objects make excellent targets to serialise Perl objects into, especially +as single-key JSON objects are as close to the type-tagged value concept +as JSON gets (it's basically an ID/VALUE tuple). Of course, JSON does not +support this in any way, so you need to make sure your data never looks +like a serialised Perl hash. + +Typical names for the single object key are C<__class_whatever__>, or +C<$__dollars_are_rarely_used__$> or C<}ugly_brace_placement>, or even +things like C<__class_md5sum(classname)__>, to reduce the risk of clashing +with real hashes. + +Example, decode JSON objects of the form C<< { "__widget__" => } >> +into the corresponding C<< $WIDGET{} >> object: + + # return whatever is in $WIDGET{5}: + JSON::PP + ->new + ->filter_json_single_key_object (__widget__ => sub { + $WIDGET{ $_[0] } + }) + ->decode ('{"__widget__": 5') + + # this can be used with a TO_JSON method in some "widget" class + # for serialisation to json: + sub WidgetBase::TO_JSON { + my ($self) = @_; + + unless ($self->{id}) { + $self->{id} = ..get..some..id..; + $WIDGET{$self->{id}} = $self; + } + + { __widget__ => $self->{id} } + } + +=head2 shrink + + $json = $json->shrink([$enable]) + + $enabled = $json->get_shrink + +In JSON::XS, this flag resizes strings generated by either +C or C to their minimum size possible. +It will also try to downgrade any strings to octet-form if possible. + +In JSON::PP, it is noop about resizing strings but tries +C to the returned string by C. +See to L. + +See to L + +=head2 max_depth + + $json = $json->max_depth([$maximum_nesting_depth]) + + $max_depth = $json->get_max_depth + +Sets the maximum nesting level (default C<512>) accepted while encoding +or decoding. If a higher nesting level is detected in JSON text or a Perl +data structure, then the encoder and decoder will stop and croak at that +point. + +Nesting level is defined by number of hash- or arrayrefs that the encoder +needs to traverse to reach a given point or the number of C<{> or C<[> +characters without their matching closing parenthesis crossed to reach a +given character in a string. + +If no argument is given, the highest possible setting will be used, which +is rarely useful. + +See L for more info on why this is useful. + +When a large value (100 or more) was set and it de/encodes a deep nested object/text, +it may raise a warning 'Deep recursion on subroutine' at the perl runtime phase. + +=head2 max_size + + $json = $json->max_size([$maximum_string_size]) + + $max_size = $json->get_max_size + +Set the maximum length a JSON text may have (in bytes) where decoding is +being attempted. The default is C<0>, meaning no limit. When C +is called on a string that is longer then this many bytes, it will not +attempt to decode the string but throw an exception. This setting has no +effect on C (yet). + +If no argument is given, the limit check will be deactivated (same as when +C<0> is specified). + +See L for more info on why this is useful. + +=head2 encode + + $json_text = $json->encode($perl_scalar) + +Converts the given Perl data structure (a simple scalar or a reference +to a hash or array) to its JSON representation. Simple scalars will be +converted into JSON string or number sequences, while references to arrays +become JSON arrays and references to hashes become JSON objects. Undefined +Perl values (e.g. C) become JSON C values. +References to the integers C<0> and C<1> are converted into C and C. + +=head2 decode + + $perl_scalar = $json->decode($json_text) + +The opposite of C: expects a JSON text and tries to parse it, +returning the resulting simple scalar or reference. Croaks on error. + +JSON numbers and strings become simple Perl scalars. JSON arrays become +Perl arrayrefs and JSON objects become Perl hashrefs. C becomes +C<1> (C), C becomes C<0> (C) and +C becomes C. + +=head2 decode_prefix + + ($perl_scalar, $characters) = $json->decode_prefix($json_text) + +This works like the C method, but instead of raising an exception +when there is trailing garbage after the first JSON object, it will +silently stop parsing there and return the number of characters consumed +so far. + + JSON->new->decode_prefix ("[1] the tail") + => ([], 3) + +=head1 INCREMENTAL PARSING + +Most of this section are copied and modified from L. + +In some cases, there is the need for incremental parsing of JSON texts. +This module does allow you to parse a JSON stream incrementally. +It does so by accumulating text until it has a full JSON object, which +it then can decode. This process is similar to using C +to see if a full JSON object is available, but is much more efficient +(and can be implemented with a minimum of method calls). + +This module will only attempt to parse the JSON text once it is sure it +has enough text to get a decisive result, using a very simple but +truly incremental parser. This means that it sometimes won't stop as +early as the full parser, for example, it doesn't detect parenthesis +mismatches. The only thing it guarantees is that it starts decoding as +soon as a syntactically valid JSON text has been seen. This means you need +to set resource limits (e.g. C) to ensure the parser will stop +parsing in the presence if syntax errors. + +The following methods implement this incremental parser. + +=head2 incr_parse + + $json->incr_parse( [$string] ) # void context + + $obj_or_undef = $json->incr_parse( [$string] ) # scalar context + + @obj_or_empty = $json->incr_parse( [$string] ) # list context + +This is the central parsing function. It can both append new text and +extract objects from the stream accumulated so far (both of these +functions are optional). + +If C<$string> is given, then this string is appended to the already +existing JSON fragment stored in the C<$json> object. + +After that, if the function is called in void context, it will simply +return without doing anything further. This can be used to add more text +in as many chunks as you want. + +If the method is called in scalar context, then it will try to extract +exactly I JSON object. If that is successful, it will return this +object, otherwise it will return C. If there is a parse error, +this method will croak just as C would do (one can then use +C to skip the erroneous part). This is the most common way of +using the method. + +And finally, in list context, it will try to extract as many objects +from the stream as it can find and return them, or the empty list +otherwise. For this to work, there must be no separators between the JSON +objects or arrays, instead they must be concatenated back-to-back. If +an error occurs, an exception will be raised as in the scalar context +case. Note that in this case, any previously-parsed JSON texts will be +lost. + +Example: Parse some JSON arrays/objects in a given string and return them. + + my @objs = JSON->new->incr_parse ("[5][7][1,2]"); + +=head2 incr_text + + $lvalue_string = $json->incr_text + +This method returns the currently stored JSON fragment as an lvalue, that +is, you can manipulate it. This I works when a preceding call to +C in I successfully returned an object. Under +all other circumstances you must not call this function (I mean it. +although in simple tests it might actually work, it I fail under +real world conditions). As a special exception, you can also call this +method before having parsed anything. + +This function is useful in two cases: a) finding the trailing text after a +JSON object or b) parsing multiple JSON objects separated by non-JSON text +(such as commas). + + $json->incr_text =~ s/\s*,\s*//; + +In Perl 5.005, C attribute is not available. +You must write codes like the below: + + $string = $json->incr_text; + $string =~ s/\s*,\s*//; + $json->incr_text( $string ); + +=head2 incr_skip + + $json->incr_skip + +This will reset the state of the incremental parser and will remove the +parsed text from the input buffer. This is useful after C +died, in which case the input buffer and incremental parser state is left +unchanged, to skip the text parsed so far and to reset the parse state. + +=head2 incr_reset + + $json->incr_reset + +This completely resets the incremental parser, that is, after this call, +it will be as if the parser had never parsed anything. + +This is useful if you want to repeatedly parse JSON objects and want to +ignore any trailing data, which means you have to reset the parser after +each successful decode. + +See to L for examples. + + +=head1 JSON::PP OWN METHODS + +=head2 allow_singlequote + + $json = $json->allow_singlequote([$enable]) + +If C<$enable> is true (or missing), then C will accept +JSON strings quoted by single quotations that are invalid JSON +format. + + $json->allow_singlequote->decode({"foo":'bar'}); + $json->allow_singlequote->decode({'foo':"bar"}); + $json->allow_singlequote->decode({'foo':'bar'}); + +As same as the C option, this option may be used to parse +application-specific files written by humans. + + +=head2 allow_barekey + + $json = $json->allow_barekey([$enable]) + +If C<$enable> is true (or missing), then C will accept +bare keys of JSON object that are invalid JSON format. + +As same as the C option, this option may be used to parse +application-specific files written by humans. + + $json->allow_barekey->decode('{foo:"bar"}'); + +=head2 allow_bignum + + $json = $json->allow_bignum([$enable]) + +If C<$enable> is true (or missing), then C will convert +the big integer Perl cannot handle as integer into a L +object and convert a floating number (any) into a L. + +On the contrary, C converts C objects and C +objects into JSON numbers with C enable. + + $json->allow_nonref->allow_blessed->allow_bignum; + $bigfloat = $json->decode('2.000000000000000000000000001'); + print $json->encode($bigfloat); + # => 2.000000000000000000000000001 + +See to L about the normal conversion of JSON number. + +=head2 loose + + $json = $json->loose([$enable]) + +The unescaped [\x00-\x1f\x22\x2f\x5c] strings are invalid in JSON strings +and the module doesn't allow to C to these (except for \x2f). +If C<$enable> is true (or missing), then C will accept these +unescaped strings. + + $json->loose->decode(qq|["abc + def"]|); + +See L. + +=head2 escape_slash + + $json = $json->escape_slash([$enable]) + +According to JSON Grammar, I (U+002F) is escaped. But default +JSON::PP (as same as JSON::XS) encodes strings without escaping slash. + +If C<$enable> is true (or missing), then C will escape slashes. + +=head2 indent_length + + $json = $json->indent_length($length) + +JSON::XS indent space length is 3 and cannot be changed. +JSON::PP set the indent space length with the given $length. +The default is 3. The acceptable range is 0 to 15. + +=head2 sort_by + + $json = $json->sort_by($function_name) + $json = $json->sort_by($subroutine_ref) + +If $function_name or $subroutine_ref are set, its sort routine are used +in encoding JSON objects. + + $js = $pc->sort_by(sub { $JSON::PP::a cmp $JSON::PP::b })->encode($obj); + # is($js, q|{"a":1,"b":2,"c":3,"d":4,"e":5,"f":6,"g":7,"h":8,"i":9}|); + + $js = $pc->sort_by('own_sort')->encode($obj); + # is($js, q|{"a":1,"b":2,"c":3,"d":4,"e":5,"f":6,"g":7,"h":8,"i":9}|); + + sub JSON::PP::own_sort { $JSON::PP::a cmp $JSON::PP::b } + +As the sorting routine runs in the JSON::PP scope, the given +subroutine name and the special variables C<$a>, C<$b> will begin +'JSON::PP::'. + +If $integer is set, then the effect is same as C on. + +=head1 INTERNAL + +For developers. + +=over + +=item PP_encode_box + +Returns + + { + depth => $depth, + indent_count => $indent_count, + } + + +=item PP_decode_box + +Returns + + { + text => $text, + at => $at, + ch => $ch, + len => $len, + depth => $depth, + encoding => $encoding, + is_valid_utf8 => $is_valid_utf8, + }; + +=back + +=head1 MAPPING + +This section is copied from JSON::XS and modified to C. +JSON::XS and JSON::PP mapping mechanisms are almost equivalent. + +See to L. + +=head2 JSON -> PERL + +=over 4 + +=item object + +A JSON object becomes a reference to a hash in Perl. No ordering of object +keys is preserved (JSON does not preserver object key ordering itself). + +=item array + +A JSON array becomes a reference to an array in Perl. + +=item string + +A JSON string becomes a string scalar in Perl - Unicode codepoints in JSON +are represented by the same codepoints in the Perl string, so no manual +decoding is necessary. + +=item number + +A JSON number becomes either an integer, numeric (floating point) or +string scalar in perl, depending on its range and any fractional parts. On +the Perl level, there is no difference between those as Perl handles all +the conversion details, but an integer may take slightly less memory and +might represent more values exactly than floating point numbers. + +If the number consists of digits only, C will try to represent +it as an integer value. If that fails, it will try to represent it as +a numeric (floating point) value if that is possible without loss of +precision. Otherwise it will preserve the number as a string value (in +which case you lose roundtripping ability, as the JSON number will be +re-encoded to a JSON string). + +Numbers containing a fractional or exponential part will always be +represented as numeric (floating point) values, possibly at a loss of +precision (in which case you might lose perfect roundtripping ability, but +the JSON number will still be re-encoded as a JSON number). + +Note that precision is not accuracy - binary floating point values cannot +represent most decimal fractions exactly, and when converting from and to +floating point, C only guarantees precision up to but not including +the least significant bit. + +When C is enable, the big integers +and the numeric can be optionally converted into L and +L objects. + +=item true, false + +These JSON atoms become C and C, +respectively. They are overloaded to act almost exactly like the numbers +C<1> and C<0>. You can check whether a scalar is a JSON boolean by using +the C function. + + print JSON::PP::true . "\n"; + => true + print JSON::PP::true + 1; + => 1 + + ok(JSON::true eq '1'); + ok(JSON::true == 1); + +C will install these missing overloading features to the backend modules. + + +=item null + +A JSON null atom becomes C in Perl. + +C returns C. + +=back + + +=head2 PERL -> JSON + +The mapping from Perl to JSON is slightly more difficult, as Perl is a +truly typeless language, so we can only guess which JSON type is meant by +a Perl value. + +=over 4 + +=item hash references + +Perl hash references become JSON objects. As there is no inherent ordering +in hash keys (or JSON objects), they will usually be encoded in a +pseudo-random order that can change between runs of the same program but +stays generally the same within a single run of a program. C +optionally sort the hash keys (determined by the I flag), so +the same data structure will serialise to the same JSON text (given same +settings and version of JSON::XS), but this incurs a runtime overhead +and is only rarely useful, e.g. when you want to compare some JSON text +against another for equality. + + +=item array references + +Perl array references become JSON arrays. + +=item other references + +Other unblessed references are generally not allowed and will cause an +exception to be thrown, except for references to the integers C<0> and +C<1>, which get turned into C and C atoms in JSON. You can +also use C and C to improve readability. + + to_json [\0,JSON::PP::true] # yields [false,true] + +=item JSON::PP::true, JSON::PP::false, JSON::PP::null + +These special values become JSON true and JSON false values, +respectively. You can also use C<\1> and C<\0> directly if you want. + +JSON::PP::null returns C. + +=item blessed objects + +Blessed objects are not directly representable in JSON. See the +C and C methods on various options on +how to deal with this: basically, you can choose between throwing an +exception, encoding the reference as if it weren't blessed, or provide +your own serialiser method. + +See to L. + +=item simple scalars + +Simple Perl scalars (any scalar that is not a reference) are the most +difficult objects to encode: JSON::XS and JSON::PP will encode undefined scalars as +JSON C values, scalars that have last been used in a string context +before encoding as JSON strings, and anything else as number value: + + # dump as number + encode_json [2] # yields [2] + encode_json [-3.0e17] # yields [-3e+17] + my $value = 5; encode_json [$value] # yields [5] + + # used as string, so dump as string + print $value; + encode_json [$value] # yields ["5"] + + # undef becomes null + encode_json [undef] # yields [null] + +You can force the type to be a string by stringifying it: + + my $x = 3.1; # some variable containing a number + "$x"; # stringified + $x .= ""; # another, more awkward way to stringify + print $x; # perl does it for you, too, quite often + +You can force the type to be a number by numifying it: + + my $x = "3"; # some variable containing a string + $x += 0; # numify it, ensuring it will be dumped as a number + $x *= 1; # same thing, the choice is yours. + +You can not currently force the type in other, less obscure, ways. + +Note that numerical precision has the same meaning as under Perl (so +binary to decimal conversion follows the same rules as in Perl, which +can differ to other languages). Also, your perl interpreter might expose +extensions to the floating point numbers of your platform, such as +infinities or NaN's - these cannot be represented in JSON, and it is an +error to pass those in. + +=item Big Number + +When C is enable, +C converts C objects and C +objects into JSON numbers. + + +=back + +=head1 UNICODE HANDLING ON PERLS + +If you do not know about Unicode on Perl well, +please check L. + +=head2 Perl 5.8 and later + +Perl can handle Unicode and the JSON::PP de/encode methods also work properly. + + $json->allow_nonref->encode(chr hex 3042); + $json->allow_nonref->encode(chr hex 12345); + +Returns C<"\u3042"> and C<"\ud808\udf45"> respectively. + + $json->allow_nonref->decode('"\u3042"'); + $json->allow_nonref->decode('"\ud808\udf45"'); + +Returns UTF-8 encoded strings with UTF8 flag, regarded as C and C. + +Note that the versions from Perl 5.8.0 to 5.8.2, Perl built-in C was broken, +so JSON::PP wraps the C with a subroutine. Thus JSON::PP works slow in the versions. + + +=head2 Perl 5.6 + +Perl can handle Unicode and the JSON::PP de/encode methods also work. + +=head2 Perl 5.005 + +Perl 5.005 is a byte semantics world -- all strings are sequences of bytes. +That means the unicode handling is not available. + +In encoding, + + $json->allow_nonref->encode(chr hex 3042); # hex 3042 is 12354. + $json->allow_nonref->encode(chr hex 12345); # hex 12345 is 74565. + +Returns C and C, as C takes a value more than 255, it treats +as C<$value % 256>, so the above codes are equivalent to : + + $json->allow_nonref->encode(chr 66); + $json->allow_nonref->encode(chr 69); + +In decoding, + + $json->decode('"\u00e3\u0081\u0082"'); + +The returned is a byte sequence C<0xE3 0x81 0x82> for UTF-8 encoded +japanese character (C). +And if it is represented in Unicode code point, C. + +Next, + + $json->decode('"\u3042"'); + +We ordinary expect the returned value is a Unicode character C. +But here is 5.005 world. This is C<0xE3 0x81 0x82>. + + $json->decode('"\ud808\udf45"'); + +This is not a character C but bytes - C<0xf0 0x92 0x8d 0x85>. + + +=head1 TODO + +=over + +=item speed + +=item memory saving + +=back + + +=head1 SEE ALSO + +Most of the document are copied and modified from JSON::XS doc. + +L + +RFC4627 (L) + +=head1 AUTHOR + +Makamaka Hannyaharamitu, Emakamaka[at]cpan.orgE + + +=head1 COPYRIGHT AND LICENSE + +Copyright 2007-2012 by Makamaka Hannyaharamitu + +This library is free software; you can redistribute it and/or modify +it under the same terms as Perl itself. + +=cut diff --git a/lib/JSON/backportPP/Boolean.pm b/lib/JSON/backportPP/Boolean.pm new file mode 100644 index 000000000..38be6a381 --- /dev/null +++ b/lib/JSON/backportPP/Boolean.pm @@ -0,0 +1,27 @@ +=head1 NAME + +JSON::PP::Boolean - dummy module providing JSON::PP::Boolean + +=head1 SYNOPSIS + + # do not "use" yourself + +=head1 DESCRIPTION + +This module exists only to provide overload resolution for Storable +and similar modules. See L for more info about this class. + +=cut + +use JSON::backportPP (); +use strict; + +1; + +=head1 AUTHOR + +This idea is from L written by +Marc Lehmann + +=cut + diff --git a/lib/JSON/backportPP/Compat5005.pm b/lib/JSON/backportPP/Compat5005.pm new file mode 100644 index 000000000..139990edf --- /dev/null +++ b/lib/JSON/backportPP/Compat5005.pm @@ -0,0 +1,131 @@ +package # This is JSON::backportPP + JSON::backportPP5005; + +use 5.005; +use strict; + +my @properties; + +$JSON::PP5005::VERSION = '1.10'; + +BEGIN { + + sub utf8::is_utf8 { + 0; # It is considered that UTF8 flag off for Perl 5.005. + } + + sub utf8::upgrade { + } + + sub utf8::downgrade { + 1; # must always return true. + } + + sub utf8::encode { + } + + sub utf8::decode { + } + + *JSON::PP::JSON_PP_encode_ascii = \&_encode_ascii; + *JSON::PP::JSON_PP_encode_latin1 = \&_encode_latin1; + *JSON::PP::JSON_PP_decode_surrogates = \&_decode_surrogates; + *JSON::PP::JSON_PP_decode_unicode = \&_decode_unicode; + + # missing in B module. + sub B::SVp_IOK () { 0x01000000; } + sub B::SVp_NOK () { 0x02000000; } + sub B::SVp_POK () { 0x04000000; } + + $INC{'bytes.pm'} = 1; # dummy +} + + + +sub _encode_ascii { + join('', map { $_ <= 127 ? chr($_) : sprintf('\u%04x', $_) } unpack('C*', $_[0]) ); +} + + +sub _encode_latin1 { + join('', map { chr($_) } unpack('C*', $_[0]) ); +} + + +sub _decode_surrogates { # from http://homepage1.nifty.com/nomenclator/unicode/ucs_utf.htm + my $uni = 0x10000 + (hex($_[0]) - 0xD800) * 0x400 + (hex($_[1]) - 0xDC00); # from perlunicode + my $bit = unpack('B32', pack('N', $uni)); + + if ( $bit =~ /^00000000000(...)(......)(......)(......)$/ ) { + my ($w, $x, $y, $z) = ($1, $2, $3, $4); + return pack('B*', sprintf('11110%s10%s10%s10%s', $w, $x, $y, $z)); + } + else { + Carp::croak("Invalid surrogate pair"); + } +} + + +sub _decode_unicode { + my ($u) = @_; + my ($utf8bit); + + if ( $u =~ /^00([89a-f][0-9a-f])$/i ) { # 0x80-0xff + return pack( 'H2', $1 ); + } + + my $bit = unpack("B*", pack("H*", $u)); + + if ( $bit =~ /^00000(.....)(......)$/ ) { + $utf8bit = sprintf('110%s10%s', $1, $2); + } + elsif ( $bit =~ /^(....)(......)(......)$/ ) { + $utf8bit = sprintf('1110%s10%s10%s', $1, $2, $3); + } + else { + Carp::croak("Invalid escaped unicode"); + } + + return pack('B*', $utf8bit); +} + + +sub JSON::PP::incr_text { + $_[0]->{_incr_parser} ||= JSON::PP::IncrParser->new; + + if ( $_[0]->{_incr_parser}->{incr_parsing} ) { + Carp::croak("incr_text can not be called when the incremental parser already started parsing"); + } + + $_[0]->{_incr_parser}->{incr_text} = $_[1] if ( @_ > 1 ); + $_[0]->{_incr_parser}->{incr_text}; +} + + +1; +__END__ + +=pod + +=head1 NAME + +JSON::PP5005 - Helper module in using JSON::PP in Perl 5.005 + +=head1 DESCRIPTION + +JSON::PP calls internally. + +=head1 AUTHOR + +Makamaka Hannyaharamitu, Emakamaka[at]cpan.orgE + + +=head1 COPYRIGHT AND LICENSE + +Copyright 2007-2012 by Makamaka Hannyaharamitu + +This library is free software; you can redistribute it and/or modify +it under the same terms as Perl itself. + +=cut + diff --git a/lib/JSON/backportPP/Compat5006.pm b/lib/JSON/backportPP/Compat5006.pm new file mode 100644 index 000000000..7736fd8de --- /dev/null +++ b/lib/JSON/backportPP/Compat5006.pm @@ -0,0 +1,173 @@ +package # This is JSON::backportPP + JSON::backportPP56; + +use 5.006; +use strict; + +my @properties; + +$JSON::PP56::VERSION = '1.08'; + +BEGIN { + + sub utf8::is_utf8 { + my $len = length $_[0]; # char length + { + use bytes; # byte length; + return $len != length $_[0]; # if !=, UTF8-flagged on. + } + } + + + sub utf8::upgrade { + ; # noop; + } + + + sub utf8::downgrade ($;$) { + return 1 unless ( utf8::is_utf8( $_[0] ) ); + + if ( _is_valid_utf8( $_[0] ) ) { + my $downgrade; + for my $c ( unpack( "U*", $_[0] ) ) { + if ( $c < 256 ) { + $downgrade .= pack("C", $c); + } + else { + $downgrade .= pack("U", $c); + } + } + $_[0] = $downgrade; + return 1; + } + else { + Carp::croak("Wide character in subroutine entry") unless ( $_[1] ); + 0; + } + } + + + sub utf8::encode ($) { # UTF8 flag off + if ( utf8::is_utf8( $_[0] ) ) { + $_[0] = pack( "C*", unpack( "C*", $_[0] ) ); + } + else { + $_[0] = pack( "U*", unpack( "C*", $_[0] ) ); + $_[0] = pack( "C*", unpack( "C*", $_[0] ) ); + } + } + + + sub utf8::decode ($) { # UTF8 flag on + if ( _is_valid_utf8( $_[0] ) ) { + utf8::downgrade( $_[0] ); + $_[0] = pack( "U*", unpack( "U*", $_[0] ) ); + } + } + + + *JSON::PP::JSON_PP_encode_ascii = \&_encode_ascii; + *JSON::PP::JSON_PP_encode_latin1 = \&_encode_latin1; + *JSON::PP::JSON_PP_decode_surrogates = \&JSON::PP::_decode_surrogates; + *JSON::PP::JSON_PP_decode_unicode = \&JSON::PP::_decode_unicode; + + unless ( defined &B::SVp_NOK ) { # missing in B module. + eval q{ sub B::SVp_NOK () { 0x02000000; } }; + } + +} + + + +sub _encode_ascii { + join('', + map { + $_ <= 127 ? + chr($_) : + $_ <= 65535 ? + sprintf('\u%04x', $_) : sprintf('\u%x\u%x', JSON::PP::_encode_surrogates($_)); + } _unpack_emu($_[0]) + ); +} + + +sub _encode_latin1 { + join('', + map { + $_ <= 255 ? + chr($_) : + $_ <= 65535 ? + sprintf('\u%04x', $_) : sprintf('\u%x\u%x', JSON::PP::_encode_surrogates($_)); + } _unpack_emu($_[0]) + ); +} + + +sub _unpack_emu { # for Perl 5.6 unpack warnings + return !utf8::is_utf8($_[0]) ? unpack('C*', $_[0]) + : _is_valid_utf8($_[0]) ? unpack('U*', $_[0]) + : unpack('C*', $_[0]); +} + + +sub _is_valid_utf8 { + my $str = $_[0]; + my $is_utf8; + + while ($str =~ /(?: + ( + [\x00-\x7F] + |[\xC2-\xDF][\x80-\xBF] + |[\xE0][\xA0-\xBF][\x80-\xBF] + |[\xE1-\xEC][\x80-\xBF][\x80-\xBF] + |[\xED][\x80-\x9F][\x80-\xBF] + |[\xEE-\xEF][\x80-\xBF][\x80-\xBF] + |[\xF0][\x90-\xBF][\x80-\xBF][\x80-\xBF] + |[\xF1-\xF3][\x80-\xBF][\x80-\xBF][\x80-\xBF] + |[\xF4][\x80-\x8F][\x80-\xBF][\x80-\xBF] + ) + | (.) + )/xg) + { + if (defined $1) { + $is_utf8 = 1 if (!defined $is_utf8); + } + else { + $is_utf8 = 0 if (!defined $is_utf8); + if ($is_utf8) { # eventually, not utf8 + return; + } + } + } + + return $is_utf8; +} + + +1; +__END__ + +=pod + +=head1 NAME + +JSON::PP56 - Helper module in using JSON::PP in Perl 5.6 + +=head1 DESCRIPTION + +JSON::PP calls internally. + +=head1 AUTHOR + +Makamaka Hannyaharamitu, Emakamaka[at]cpan.orgE + + +=head1 COPYRIGHT AND LICENSE + +Copyright 2007-2012 by Makamaka Hannyaharamitu + +This library is free software; you can redistribute it and/or modify +it under the same terms as Perl itself. + +=cut + diff --git a/lib/Version/Compare.pm b/lib/Version/Compare.pm new file mode 100644 index 000000000..9d7ac4229 --- /dev/null +++ b/lib/Version/Compare.pm @@ -0,0 +1,268 @@ +package Version::Compare; +$Version::Compare::VERSION = '0.15.0'; +BEGIN { + $Version::Compare::AUTHORITY = 'cpan:TEX'; +} +# ABSTRACT: Compare version strings + +use warnings; +use strict; + + +sub max { + my $x = shift; + my $y = shift; + return ( $x > $y ? $x : $y ); +} + +## no critic(ProhibitNumberedNames ProhibitCStyleForLoops) +sub version_compare { + my $ver1 = shift || 0; + my $ver2 = shift || 0; + my @v1 = split /[.+:~-]/, $ver1; + my @v2 = split /[.+:~-]/, $ver2; + + for ( my $i = 0 ; $i < max( scalar(@v1), scalar(@v2) ) ; $i++ ) { + + # Add missing version parts if one string is shorter than the other + # i.e. 0 should be lt 0.2.1 and not equal, so we append .0 + # -> 0.0.0 <=> 0.2.1 -> -1 + push( @v1, 0 ) unless defined( $v1[$i] ); + push( @v2, 0 ) unless defined( $v2[$i] ); + if ( int( $v1[$i] ) > int( $v2[$i] ) ) { + return 1; + } + elsif ( int( $v1[$i] ) < int( $v2[$i] ) ) { + return -1; + } + } + return 0; +} + +sub semver_compare { + my $ver1 = shift || 0; + my $ver2 = shift || 0; + + print "\n\n$ver1 vs. $ver2\n"; + + my $v1 = _parse_semver( $ver1 ); + my $v2 = _parse_semver( $ver2 ); + + foreach my $k (qw(Major Minor Patch)) { + if ( int ( $v1->{$k} ) > int( $v2->{$k} ) ) { + return 1; + } + elsif ( int( $v1->{$k} ) < int( $v2->{$k} ) ) { + return -1; + } + } + return _semver_prs_compare( $v1->{'PR'}, $v2->{'PR'} ); +} + +sub _semver_prs_compare { + my $pr1 = shift; + my $pr2 = shift; + + if(scalar(@$pr1) == 0 && scalar(@$pr2) == 0) { + return 0; + } elsif( scalar(@$pr1) == 0 && scalar(@$pr2) > 0) { + return 1; + } elsif( scalar(@$pr1) > 0 && scalar(@$pr2) == 0) { + return -1; + } else { + my $i = 0; + + PR: for ( ; $i < scalar(@$pr1) && $i < scalar(@$pr2); $i++ ) { + my $comp = _semver_pr_compare($pr1->[$i], $pr2->[$i]); + if($comp == 0) { + next PR; + } elsif( $comp == 1 ) { + return 1; + } else { + return -1; + } + } + if ( $i == scalar(@$pr1) && $i == scalar(@$pr2) ) { + return 0; + } elsif( $i == scalar(@$pr1) && $i < scalar(@$pr2) ) { + return -1; + } else { + return 1; + } + } +} + +sub _semver_pr_compare { + my $pr1 = shift; + my $pr2 = shift; + + my $re = qr/^[0-9]+$/; + if ( $pr1 =~ m/^$re$/ && $pr2 !~ m/^$re$/ ) { + return -1; + } elsif ( $pr1 !~ m/^$re$/ && $pr2 =~ m/^$re$/ ) { + return 1; + } elsif ( $pr1 =~ m/^$re$/ && $pr2 =~ m/^$re$/ ) { + return $pr1 <=> $pr2; + } else { + return $pr1 cmp $pr2; + } +} + +sub _parse_semver { + my $sv = shift; + + my $vp = {}; + # [0] -> Major + # [1] -> Minor + # [2] -> Patch+PR+Meta + my @v = split /\./, $sv, 3; + if(scalar(@v) < 3) { + die("Invalid version string!"); + } + $vp->{'Major'} = $v[0]; + $vp->{'Minor'} = $v[1]; + + my ($patch, $pr, $build); + if( $v[2] =~ m/\+-/ ) { + ( $patch, $pr, $build ) = split /[+-]/, $v[2]; + } elsif( $v[2] =~ m/\+/ ) { + ( $patch, $build ) = split /[+]/, $v[2]; + } elsif( $v[2] =~ m/-/ ) { + ( $patch, $pr ) = split /[-]/, $v[2]; + } else { + $patch = $v[2]; + } + $vp->{'Patch'} = $patch; + $vp->{'PR'} = _parse_semver_pr( $pr ); + + if ( $build ) { + $vp->{'Build'} = $build; + } + + return $vp; +} + +sub _parse_semver_pr { + my $pr = shift; + + return [] if !$pr; + return [] if length($pr) < 1; + + my @prs = split /\./, $pr; + return \@prs; +} +## use critic + +## no critic (RequireArgUnpacking ProhibitBuiltinHomonyms) +sub cmp { + return version_compare(@_); +} +## use critic + + +1; # End of Version::Compare + +__END__ + +=pod + +=encoding UTF-8 + +=head1 NAME + +Version::Compare - Compare version strings + +=head1 SYNOPSIS + + use Version::Compare; + + if(&Version::Compare::version_compare('2.6.26','2.6.0') == 1) { + print "2.6.26 is greater than 2.6.0\n"; + } + +=head1 NAME + +Version::Compare - Comparing version strings + +=head1 SUBROUTINES/METHODS + +=head2 max + +Return the bigger of the two numerical values + +=head2 version_compare + +Compare two unix-style version strings like 2.6.23.1 and 2.6.33 and return and sort-like +return code (1 => LHS bigger, 0 => equal, -1 => RHS bigger) + +0.0 < 0.5 < 0.10 < 0.99 < 1 < 1.0~rc1 < 1.0 < 1.0+b1 < 1.0+nmu1 < 1.1 < 2.0 + +=head2 semver_compare + +Compare two semantic version strings as defined by the +Semantic Versioning spec 2.0.0. + +=head2 cmp + +See L. + +=head1 AUTHOR + +Dominik Schulz, C<< >> + +=head1 BUGS + +Please report any bugs or feature requests to C, or through +the web interface at L. I will be notified, and then you'll +automatically be notified of progress on your bug as I make changes. + +=head1 SUPPORT + +You can find documentation for this module with the perldoc command. + + perldoc Version::Compare + +You can also look for information at: + +=over 4 + +=item * RT: CPAN's request tracker + +L + +=item * AnnoCPAN: Annotated CPAN documentation + +L + +=item * CPAN Ratings + +L + +=item * Search CPAN + +L + +=back + +=head1 LICENSE AND COPYRIGHT + +Copyright 2012 Dominik Schulz + +This program is free software; you can redistribute it and/or modify it +under the terms of either: the GNU General Public License as published +by the Free Software Foundation; or the Artistic License. + +See http://dev.perl.org/licenses/ for more information. + +=head1 AUTHOR + +Dominik Schulz + +=head1 COPYRIGHT AND LICENSE + +This software is copyright (c) 2014 by Dominik Schulz. + +This is free software; you can redistribute it and/or modify it under +the same terms as the Perl 5 programming language system itself. + +=cut diff --git a/navigation.pm b/navigation.pm new file mode 100644 index 000000000..c58e5a225 --- /dev/null +++ b/navigation.pm @@ -0,0 +1,164 @@ +# +# Authentic Theme (https://github.com/qooob/authentic-theme) +# Copyright Ilia Rostovtsev +# Licensed under MIT (https://github.com/qooob/authentic-theme/blob/master/LICENSE) +# + +if ((!%in) || + ($t_uri__i =~ /virtual-server/ || $t_uri__i =~ /server-manager/)) +{ + $in{$t_uri____i} = get_default_target(); +} + +my @leftitems = list_combined_webmin_menu($sects, \%in); + +if (dashboard_switch() + || + ( $in{'xhr-navigation-type'} ne 'virtualmin' && + $in{'xhr-navigation-type'} ne 'cloudmin' && + $in{'xhr-navigation-type'} ne 'webmail' && + ( (($__settings{'settings_right_default_tab_webmin'} eq '/' && get_product_name() eq 'webmin')) + || + ( + (!$__settings{'settings_right_default_tab_usermin'} || + $__settings{'settings_right_default_tab_usermin'} eq '/' + ) && + get_product_name() eq 'usermin')) + ) || + $in{'xhr-navigation-type'} eq 'webmin') +{ + print_search(); + + my @cats = &get_visible_modules_categories(); + my @modules = map {@{ $_->{'modules'} }} @cats; + my $show_unused = $__settings{'settings_leftmenu_section_hide_unused_modules'} eq 'true' ? 0 : 1; + my $__custom_print = 0; + my $__print_hidden = 0; + + foreach my $c (@cats) { + if ($gconfig{"notabs_${base_remote_user}"} ne '2' && $gconfig{"notabs"} ne '1' && ($c && !$c->{'unused'}) || + ($c && $c->{'unused'} && $show_unused)) + { + &print_category($c->{'code'}, $c->{'desc'}); + print '
  • ' . "\n"; + } elsif ($gconfig{"notabs_${base_remote_user}"} eq '2' || $gconfig{"notabs"} eq '1') { + foreach my $minfo (@{ $c->{'modules'} }) { + print '
  • ' + . $minfo->{'desc'} + . '
  • ' . "\n"; + } + } + } + + if (&foreign_available("webmin") && + $__settings{'settings_leftmenu_section_hide_refresh_modules'} ne 'true') + { + print '
  • ' . + $Atext{'left_refresh_modules'} . '
  • ' . "\n"; + } + print_sysinfo_link($get_user_level eq '3' ? 1 : undef); + print_sysstat_link(); + print_netdata_link(); + + if (&get_product_name() eq 'webmin' && + !get_env('anonymous_user') && + $gconfig{'nofeedbackcc'} != 2 && + $gaccess{'feedback'} && + $gconfig{'feedback_to'} || + &get_product_name() eq 'usermin' && !get_env('anonymous_user') && $gconfig{'feedback'}) + { + print '
  • ' . + $Atext{'left_feedback'} . '
  • ' . "\n"; + } +} + +elsif (!$__settings{'settings_right_default_tab_webmin'} || + (foreign_available("virtual-server") && + $__settings{'settings_right_default_tab_webmin'} =~ /virtualmin/ && + $in{'xhr-navigation-type'} ne 'cloudmin') || + $in{'xhr-navigation-type'} eq 'virtualmin') +{ + + print_left_menu('virtual-server', \@leftitems, 0, 0, $in{'dom'}, $in{'xhr-navigation-type'}); + print_sysinfo_link(); + print_sysstat_link(); + print_netdata_link(); + +} + +elsif ( + (foreign_available("server-manager") && + $__settings{'settings_right_default_tab_webmin'} =~ /cloudmin/ && + $in{'xhr-navigation-type'} ne 'virtualmin' + ) || + $in{'xhr-navigation-type'} eq 'cloudmin') +{ + + print_left_menu('server-manager', \@leftitems, 0, 0, $in{'sid'}, $in{'xhr-navigation-type'}); + print_sysinfo_link(); + print_sysstat_link(); + print_netdata_link(); +} + +elsif ($__settings{'settings_right_default_tab_usermin'} =~ /mail/ || $in{'xhr-navigation-type'} eq 'webmail') { + + print_left_menu('mailbox', \@leftitems, 0, 0, 0, $in{'xhr-navigation-type'}); + + print '
  • ' . + $Atext{'theme_left_mail_prefs'} . '
  • ' . "\n"; + + print '
  • ' . + $Atext{'theme_left_mail_change_password'} . '
  • ' . "\n"; + + print_sysinfo_link(1); +} + +1; diff --git a/pam_login.cgi b/pam_login.cgi new file mode 100755 index 000000000..5d68954f1 --- /dev/null +++ b/pam_login.cgi @@ -0,0 +1,161 @@ +#!/usr/bin/perl + +# +# Authentic Theme (https://github.com/qooob/authentic-theme) +# Copyright Ilia Rostovtsev +# Licensed under MIT (https://github.com/qooob/authentic-theme/blob/master/LICENSE) +# + +use File::Basename; +require(dirname(__FILE__) . "/authentic-lib.pm"); + +get_miniserv_config(\%miniserv); + +our %__settings = (settings($config_directory . "/$current_theme/settings-admin", 'settings_'), + settings($config_directory . "/$current_theme/settings-root", 'settings_')); + +# Define page title +$title = $text{'session_header'}; +if ($gconfig{'showhost'}) { + $title = &get_display_hostname() . " : " . $title; +} + +# Show pre-login text banner +if ($gconfig{'loginbanner'} && + get_env('http_cookie') !~ /banner=1/ && + !$in{'logout'} && + !$in{'failed'} && + !$in{'password'} && + !$in{'error'} && + $in{'initial'}) +{ + + print "Auth-type: auth-required=1\r\n"; + print "Set-Cookie: banner=1; path=/\r\n"; + &PrintHeader($charset); + print '', "\n"; + print '', "\n"; + embed_login_head(); + print '' . "\n"; + print +'"), + a = $(i).filter("#xhtml0"); + $(a[0].attributes).each(function() { + "id" !== this.nodeName && (this.nodeName, "data-redirect" === this.nodeName && this.nodeValue && history.replaceState({}, null, this.nodeValue), get_server_data(this.nodeName, this.nodeValue)) + }).promise().done(function() { + if (get_pjax_event_end_funcs(1), $.each($(".container-fluid img"), function() { + var e = $(this), + t = e.attr("src"); + t && !t.startsWith("/") && e.attr("src", v___location_directory_trail_slashed + t) + }), Test.strContains(t.responseText, "theme_post_save")) { + var i = t.responseText.match(/theme_post_save(.*)$/gm); + i && navigation_update(i[0].split("=")[1]) + } + if (e) { + var a = $(e.relatedTarget), + n = a.attr("href"), + s = a.parent().is("[data-linked], .favorites-dcontainer, .menu-exclude.ui-sortable-handle"); + (s && (Test.strContains(n, "mysql") || Test.strContains(n, "postgresql")) || Test.strContains(v___module, "mysql") || Test.strContains(v___module, "postgresql")) && f__ex__mysql_runner(), (s && Test.strContains(n, "csf") || Test.strContains(v___module, "csf")) && csf_init() + } + 1 === v___theme_updated && (v___theme_updated = 0, theme_update_notice(1)) + }) + } +} + +function get_pjax_event_end_funcs(e) { + page_init(), e || setTimeout(function() { + get_server_data("data-title-initial", $("#headln2c span[data-main_title]").text()), get_server_data("data-script-name", v___location_path), get_server_data("data-uri", v___location_resource); + var e = new RegExp("^" + v___location_prefix, "i"); + v___module = get_server_data("data-uri").replace(e, "").split("/").filter(function(e) { + return 0 !== e.length + })[0], get_server_data("data-module", v___module), page_render(1) + }, 40), Test.strContains(v___location_directory, v___module_file_manager) && setTimeout(function() { + ___f__tw() + }, 40), e && page_render(0), $(".tooltip").tooltip("hide"), $(".popover").popover("hide"), theme_title_generate(), navigation_detect(), e && $(".__page").scrollTop(0) +} + +function get_pjax_action_submit(e, t) { + if (!get_onbeforeunload_status()) + if (e && !v___theme_force_buffered && e.target && e.target.action && unbuffered_header_processor_allow(e.target.action)) unbuffered_header_processor(e, 1); + else { + v___theme_force_buffered = 0; + var i = document.activeElement, + a = $(i).attr("name"), + n = $.trim(i.value) ? $.trim(i.value) : $.trim(i.innerText), + s = i.value, + _ = i.type, + r = i.nodeName.toLowerCase(), + o = $(e.target).find('[name="' + a + '"]'), + l = o.attr("type"); + ("input" !== r || o.val() == s && "submit" !== l) && ("button" !== r || $.trim(o.text()) == n && "submit" !== l) || "button" !== l && "submit" !== l && "submit" !== _ || $("").attr({ + type: "hidden", + name: a, + value: n || s + }).appendTo($(e.target)), $.pjax.submit(e, "[data-dcontainer]", { + timeout: 0, + push: get_pjax_push(), + type: get_pjax_type(e.target.action), + fragment: "[data-dcontainer]" + }) + } +} + +function get_pjax_action_click(e, t) { + if (void 0 != $(t).attr("href")) return $(e.target).is(".gl-icon-select") ? (e.preventDefault(), void $(t).trigger("contextmenu")) : t && t.href && unbuffered_header_processor_allow(t.href) ? (e.preventDefault(), void unbuffered_header_processor(t.href, 0)) : void $.pjax.click(e, { + timeout: 0, + push: get_pjax_push(), + type: get_pjax_type(t), + container: "[data-dcontainer]", + fragment: "[data-dcontainer]" + }) +} + +function get_onbeforeunload_message(e, t) { + bootbox.dialog({ + message: "" + theme_language("theme_xhred_global_unbeforeunload_message"), + title: '   ' + theme_language("theme_xhred_global_unbeforeunload_title") + "", + buttons: { + main: { + label: '   ' + theme_language("theme_xhred_global_cancel") + "  ", + className: "btn-default vertical-align-top margined-left--2", + callback: function() { + $(t).removeClass("disabled").find("i").removeClass("invisible").next(".cspinner_container").remove(), navigation_detect() + } + }, + danger: { + label: '   ' + theme_language("theme_xhred_global_continue") + "  ", + className: "btn-danger vertical-align-top margined-left--2", + callback: function() { + set_onbeforeunload_status(0, 0), set_onbeforeunload_status(0, 1), "object" == typeof progressive_request && 1 === progressive_request.readyState && progressive_request.abort(); + var i = $(t).is("form"); + i ? i && get_pjax_action_submit(e, t) : t.href && t.href.length && get_pjax_content(t.href, !1) + } + } + }, + onEscape: function() {} + }) +} + +function get_onbeforeunload_status() { + return $('.container-fluid > .panel > .panel-body[data-unload-warning="1"]').length || $('html[data-unload-warning="1"]').length +} + +function set_onbeforeunload_status(e, t) { + var i = t ? "html" : ".container-fluid > .panel > .panel-body"; + e ? $(i).attr("data-unload-warning", "1") : $(i).removeAttr("data-unload-warning") +} + +function set_side_slider_visibility(e) { + var t = "body .right-side-tabs"; + "0" != get_server_data("access-level") && "1" != Core.moduleAvailable("status") || (e ? ($(t + "-toggler").addClass("hidden"), $(t).css("right", "0px").addClass("right-side-tabs-fixed"), settings_side_slider_enabled && get_server_data("data-slider-fixed", "1")) : (settings_side_slider_enabled && $(t + "-toggler").removeClass("hidden opened").css("right", "0"), $(t).css("right", "-302px").removeClass("right-side-tabs-fixed"), get_server_data("data-slider-fixed", "0"))) +} + +function set_side_slider_labels() { + setTimeout(function() { + $('a[href*="#right-side-tabs-sysinfo"]').text(theme_language("theme_xhred_titles_dashboard")), $('a[href*="#right-side-tabs-notifications"]').text(theme_language("theme_xhred_global_notifications")), $('a[href*="#right-side-tabs-favorites"]').text(theme_language("theme_xhred_global_favorites")), $(".theme_xhred_notification_no_data").text(theme_language("theme_xhred_notification_no_data").toUpperCase()), $(".theme_xhred_notification_no_favorites").text(theme_language("theme_xhred_notification_no_favorites").toUpperCase()), $(".theme_xhred_notification_none").text(theme_language("theme_xhred_notification_none").toUpperCase()) + }, 200) +} + +function theme_password_generator() { + var e = settings_global_passgen_format.split("|")[1].split(","), + t = parseInt(settings_global_passgen_format.split("|")[0]), + i = "", + a = ""; + $.inArray("a-z", e) >= 0 && (i += "abcdefghijklmnopqrstuvwxyz"), $.inArray("A-Z", e) >= 0 && (i += "ABCDEFGHIJKLMNOPQRSTUVWXYZ"), $.inArray("0-9", e) >= 0 && (i += "0123456789"), $.inArray("#", e) >= 0 && (i += "![]{}()%&*$#^<>~@|"); + for (var n = 0; n < t; n++) a += i.charAt(Math.floor(Math.random() * i.length)); + return a +} + +function get_cookie(e) { + for (var t = e + "=", i = document.cookie.split(";"), a = 0; a < i.length; a++) { + for (var n = i[a]; + " " == n.charAt(0);) n = n.substring(1, n.length); + if (0 == n.indexOf(t)) return n.substring(t.length, n.length) + } + return null +} + +function array_swap(e) { + var t = {}; + for (var i in e) t[e[i]] = i; + return t +} + +function theme_buttonify(e, t, i, a, n, s, _, r, o, l) { + void 0 === n && (n = !1), void 0 === s && (s = ""), void 0 === _ && (_ = ""), (void 0 === r || 0 == r) && (r = ""), (void 0 === o || 0 == o) && (o = !1), (void 0 === l || 0 == l) && (l = !1), $.each(e, function(e, c) { + v___location_path == v___location_prefix + c && (1 !== s && (s = s.split("~"), _ = _.split("~")), $.each($(s), function(e, i) { + if (1 !== s) { + var a = new RegExp(RegExp.quote(i), "g"); + $(t + ':not(.f__lnk_t_btn):contains("' + i + '")').replaceText(a, _[e]) + } + }).promise().done(function() { + var e = "", + s = ""; + r && r.indexOf("~") > -1 && (r = r.split("~"), e = r[0], s = r[1]), $.each($(t).find(i), function() { + if (!$(this).parents(t).hasClass("f__lnk_t_btn")) { + if (o) { + var _ = new RegExp(RegExp.quote(o), "g"); + $(this).parent().replaceText(_, l || "") + } + a && a.indexOf("__center__") > -1 && $(i).parent().addClass("text-center"), $(this).html(e + $(this).text().replace(/\.\.$/, "") + s).addClass(a).removeClass("ui_link").prepend(n ? '  ' : ""), $(this).parent(t).addClass("f__lnk_t_btn") + } + }) + })) + }) +} + +function theme_toggle_night_mode() { + var e = $("body .user-link.palette-toggle"), + t = e.find(".fa-sun").length ? 0 : 1, + i = (get_server_data("data-night-mode"), get_server_data("data-default-theme")), + a = settings_background_color, + n = $("input, textarea").is(":focus"); + if ((!v___available_navigation || !n) && v___available_navigation && !$("body").find(".modal.in:visible").length) { + if (1 === t) { + e.find(".fa-moon").removeClass("fa-moon").addClass("fa-sun vertical-align-middle"), $(document).find(".settings_navigation_color_toggle").addClass("hidden"); + var s = $("html").find('head link[href*="palettes"][data-palette]'); + $("html").find("head").append(''), $("html").find("head").append(''), setTimeout(function() { + get_server_data("data-theme", "gunmetal"), s.remove(), get_server_data("data-background-style", "nightRider"), get_server_data("data-night-mode", 1) + }, 3), v___theme_night_mode_enabled = 1, v___theme_night_mode = 1 + } else { + $("body").find(".settings_navigation_color_toggle").removeClass("hidden"), e.find(".fa-sun").removeClass("fa-sun vertical-align-middle").addClass("fa-moon"); + var _ = $("html").find('head link[href*="gunmetal"]'); + "blue" != get_server_data("data-default-theme") && $("html").find("head").append(''), get_server_data("data-theme", i), _.remove(), get_server_data("data-background-style", a), get_server_data("data-night-mode", 0), "nightRider" !== settings_background_color && $("html").find('head link[href*="nightrider"]').remove(), v___theme_night_mode_enabled = "nightRider" === settings_background_color ? 1 : 0, v___theme_night_mode = 0 + } + v___location_path_lead_unslashed == v___location_prefix_unslashed_trail_slashed + "sysinfo.cgi" && "0" == v___user_level ? (setTimeout(function() { + $.each($(".piechart"), function() { + $(this).addClass("bg-filter-blur-grayscale-invert-opacity75").data("easyPieChart").update(0) + }) + }, 1 === t ? 150 : 0), theme_config("save", ['get_pjax_content("' + v___location_prefix + '/sysinfo.cgi")', 0])) : theme_config("save") + } +} + +function theme_shell_clear(e) { + e.val(""), e.focus() +} + +function theme_shell_open(e, t) { + var i = i = void 0 !== t && (t.startsWith("!") ? t.substr(1) : t), + a = $("body").find(".-shell-port- input"); + if (i) { + a.val(i); + var n = $.Event("keydown"); + n.which = 13, a.trigger(n) + } + e.css("bottom", "0vh").addClass("opened"), theme_shell_adapt(), setTimeout(function() { + i || (focus(), a.focus()) + }, 20) +} + +function theme_shell_close(e) { + e.css("bottom", "100vh").removeClass("opened") +} + +function theme_shell_adapt() { + if (1 == Core.moduleAvailable("shell")) { + var e = parseInt($("body").find(".-shell-port-cmd").width()), + t = parseInt($("body").find(".-shell-port-prompt").width()); + $("body").find('.-shell-port- input[data-command="true"]').css("width", e - t - 50 + "px") + } +} + +function theme_shell_check_available() { + var e = $t_uri_cloudmin && $('a[target="page"][href*="/server-manager/save_serv.cgi"][href*="shell=1"]').length; + return 1 == Core.moduleAvailable("shell") || e ? 1 : 0 +} + +function theme_shell_link_control() { + theme_shell_check_available() ? 0 != settings_show_terminal_link && $(".user-link.ported-console").removeClass("hidden") : $(".user-link.ported-console").addClass("hidden") +} + +function theme_spinner_small() { + return '' +} + +function spinnerfy_buttons(e, t, i, a) { + var n = !!(e.attr("onclick") && -1 !== e.attr("onclick").indexOf("blank") || e.parents("form").attr("target") && -1 !== e.parents("form").attr("target").indexOf("blank")), + s = e.hasClass("heighter-28"), + _ = "28px" == e.css("height"), + r = e.hasClass("btn-lg"), + o = Core.curModule("server-manager") ? 2 : 0, + l = e.find(".fa").hasClass("fa-1_25x"), + c = e.find(".fa"), + d = void 0 !== t && 0 != t && t, + h = '', + p = ''; + setTimeout(function() { + !n && e.addClass("disabled") + }, 10), c.length && !n && setTimeout(function() { + e.hasClass("btn-default") ? c.addClass("invisible").after(p) : c.addClass("invisible").after(h) + }, 10), "undefind" == typeof i && (i = !1), "undefind" == typeof a && (a = !1), (d[3] || i) && setTimeout(function() { + e.removeClass("disabled"), c.removeClass("invisible"), e.find(".cspinner_container").remove() + }, i || d[3]), a && setTimeout(function() { + NProgress.done() + }, 400) +} + +function theme_language(e, t) { + void 0 === t && (t = !1); + var i = get_server_data("language-strings"); + return t ? !!i && Convert.arrFlip(i)[$.trim(e)] : !!i && i[e] +} + +function theme_config($action, callBack) { + var callBack = "object" == typeof callBack && callBack, + watched_options = ["config_portable_module_csf_style_custom_promoted", "config_portable_theme_charset_warning_shown", "config_portable_module_xsql_fit_content_screen_height", "config_portable_module_filemanager_hide_toolbar", "config_portable_module_filemanager_hovered_toolbar", "config_portable_module_filemanager_hide_actions", "config_portable_module_filemanager_remember_tabs", "config_portable_module_filemanager_calculate_size", "config_portable_module_filemanager_switch_user", "config_portable_module_filemanager_notification_type"]; + if ("get_options" == $action) return watched_options; + if ("save" == $action) { + var storeStorage = {}, + val = 0; + $.each(localStorage, function(e, t) { + "string" == typeof e && e.indexOf(v___server_hostname) > -1 && Test.arrIntersect(watched_options, e) && "undefined" != (val = "true" == t || "false" != t && (Test.numeric(t) ? parseInt(t) : t)) && (storeStorage[e.replace(v___server_hostname + "-", "")] = val) + }), storeStorage.settings_force_night_mode = v___theme_night_mode, "undefind" != settings_font_family && (storeStorage.settings_font_family = settings_font_family), "undefind" != settings_navigation_color && (storeStorage.settings_navigation_color = settings_navigation_color), "undefind" != settings_background_color && (storeStorage.settings_background_color = settings_background_color), "undefind" != settings_cm_editor_palette && (storeStorage.settings_cm_editor_palette = settings_cm_editor_palette), "undefind" != settings_button_tooltip && (storeStorage.settings_button_tooltip = settings_button_tooltip), "undefind" != settings_hide_top_loader && (storeStorage.settings_hide_top_loader = settings_hide_top_loader), "undefind" != settings_animation_left && (storeStorage.settings_animation_left = settings_animation_left), "undefind" != settings_animation_tabs && (storeStorage.settings_animation_tabs = settings_animation_tabs), "undefind" != settings_sysinfo_link_mini && (storeStorage.settings_sysinfo_link_mini = settings_sysinfo_link_mini), "undefind" != settings_show_night_mode_link && (storeStorage.settings_show_night_mode_link = settings_show_night_mode_link), "undefind" != settings_theme_options_button && (storeStorage.settings_theme_options_button = settings_theme_options_button), "undefind" != settings_leftmenu_button_refresh && (storeStorage.settings_leftmenu_button_refresh = settings_leftmenu_button_refresh), "undefind" != settings_hotkeys_active && (storeStorage.settings_hotkeys_active = settings_hotkeys_active), setTimeout(function() { + $.ajax({ + type: "POST", + url: v___location_prefix + "/index.cgi?xhr-manage-config=1&save=1", + data: storeStorage, + dataType: "text", + success: function(c) { + setTimeout(function() { + theme_settings_controls(0) + }, 400), callBack && (callBack[2] ? setTimeout(function() { + eval(callBack[0]) + }, callBack[2]) : eval(callBack[0])) + }, + error: function() {} + }) + }, 10) + } else if ("load" === $action) { + var val = 0; + $.ajax({ + type: "GET", + url: v___location_prefix + "/index.cgi?xhr-manage-config=1&load=1", + data: !1, + dataType: "json", + success: function(e) { + $.each(e, function(e, t) { + val = "true" == t || "false" != t && (Test.numeric(t) ? parseInt(t) : t), localStorage.setItem(v___server_hostname + "-" + e, val), window[e] = val + }) + }, + error: function() {} + }) + } +} + +function get_server_data(e, t) { + var i = $("html"), + a = $("body"); + if (void 0 === t) return e.startsWith("data-") ? i.attr(e) : i.data(e); + e.startsWith("data-") ? i.attr(e, t).data(e.replace("data-", ""), t) : i.data(e, t).data("data-" + e, t), "data-uri" !== e && "data-module" !== e || (a.attr(e, t), "data-module" === e && a.removeClass().addClass(t)) +} + +function get_navigation_module_name() { + return $t_uri_webmin ? theme_language("theme_xhred_titles_wm") : $t_uri_usermin ? theme_language("theme_xhred_titles_um") : $t_uri_virtualmin ? theme_language("theme_xhred_titles_vm") : $t_uri_cloudmin ? theme_language("theme_xhred_titles_cm") : $t_uri_webmail ? theme_language("theme_xhred_titles_mail") : $t_uri_dashboard ? theme_language("theme_xhred_titles_dashboard") : void 0 +} + +function update_navigation_module_name() { + $t_uri_webmin = $('.switch-toggle input[id="open_webmin"]:checked').length ? 1 : 0, $t_uri_usermin = $('.switch-toggle input[id="open_usermin"]:checked').length ? 1 : 0, $t_uri_virtualmin = $('.switch-toggle input[id="open_virtualmin"]:checked').length ? 1 : 0, $t_uri_cloudmin = $('.switch-toggle input[id="open_cloudmin"]:checked').length ? 1 : 0, $t_uri_webmail = $('.switch-toggle input[id="open_webmail"]:checked').length ? 1 : 0, $t_uri_dashboard = $('.switch-toggle input[id="open_dashboard"]:checked').length ? 1 : 0 +} + +function page_display() { + var e = $("body"), + t = $("body").find(".container-fluid"), + i = $("head"); + t.css({ + opacity: 1, + "pointer-events": "auto" + }), e.css("overflow", "auto"), i.find("#__tmp_no_overflow").remove() +} + +function page_adjust(e, t) { + "function" == typeof $.injectCSS && ($("style[data-persist]").remove(), t = !!t && "translate(" + t + "px, 0px) !important", $.injectCSS({ + "#sidebar": { + left: -e + "px", + width: e + "px", + transform: t + }, + ".switch-toggle": { + width: e + "px" + }, + "#content.__page": { + "margin-left": e + "px" + }, + ".autocomplete-suggestions": { + "min-width": e - 23 + "px !important" + }, + ".__logo": { + width: e + "px", + "max-width": e + "px" + } + }), $("aside select").length && ($("aside select[data-autocomplete-title]").attr("style", "width:" + (e - 24) + "px; margin-top: 0 !important"), navigation_init_select())) +} + +function navigation_lock_width() { + if ("undefined" == typeof settings_leftmenu_width_initial && (settings_leftmenu_width_initial = settings_leftmenu_width), matchMedia("(max-width: 767px)").matches) settings_leftmenu_width = 260, page_adjust(settings_leftmenu_width, 0); + else { + if (1 === v___initial_load) return; + settings_leftmenu_width = settings_leftmenu_width_initial, page_adjust(settings_leftmenu_width, settings_leftmenu_width) + } +} + +function theme_modal_dismiss() { + $(".modal.in").find("[data-dismiss]").trigger("click") +} + +function navigation_focus_search(e) { + if (settings_hotkeys_active) return String.fromCharCode(e.which).toLowerCase() != settings_hotkey_focus_search || !e[settings_hotkey_toggle_modifier] || (e.preventDefault(), $search = $(".form-control.sidebar-search").focus(), !1) +} + +function theme_shortcut_check(e) { + return "0" == get_access_level() || !!Core.moduleAvailable(URI("/" + e).directory().replace(/\//g, "")) +} + +function theme_shortcuts(e) { + if (settings_hotkeys_active) { + if (!("1" == String.fromCharCode(e.which) && settings_hotkey_custom_1 && e[settings_hotkey_toggle_modifier] || "2" == String.fromCharCode(e.which) && settings_hotkey_custom_2 && e[settings_hotkey_toggle_modifier] || "3" == String.fromCharCode(e.which) && settings_hotkey_custom_3 && e[settings_hotkey_toggle_modifier] || "4" == String.fromCharCode(e.which) && settings_hotkey_custom_4 && e[settings_hotkey_toggle_modifier] || "5" == String.fromCharCode(e.which) && settings_hotkey_custom_5 && e[settings_hotkey_toggle_modifier] || "6" == String.fromCharCode(e.which) && settings_hotkey_custom_6 && e[settings_hotkey_toggle_modifier] || "7" == String.fromCharCode(e.which) && settings_hotkey_custom_7 && e[settings_hotkey_toggle_modifier] || "8" == String.fromCharCode(e.which) && settings_hotkey_custom_8 && e[settings_hotkey_toggle_modifier] || "9" == String.fromCharCode(e.which) && settings_hotkey_custom_9 && e[settings_hotkey_toggle_modifier] || String.fromCharCode(e.which).toLowerCase() == settings_hotkey_favorites && e[settings_hotkey_toggle_modifier] || String.fromCharCode(e.which).toLowerCase() == settings_hotkey_shell && e[settings_hotkey_toggle_modifier] || String.fromCharCode(e.which).toLowerCase() == settings_hotkey_sysinfo && e[settings_hotkey_toggle_modifier] || String.fromCharCode(e.which).toLowerCase() == settings_hotkey_toggle_slider && e[settings_hotkey_toggle_modifier] || String.fromCharCode(e.which).toLowerCase() == settings_hotkey_reload && e[settings_hotkey_toggle_modifier] || String.fromCharCode(e.which).toLowerCase() == settings_hotkey_toggle_key_night_mode && e[settings_hotkey_toggle_modifier] || String.fromCharCode(e.which).toLowerCase() == settings_hotkey_toggle_key_webmail && e[settings_hotkey_toggle_modifier] || String.fromCharCode(e.which).toLowerCase() == settings_hotkey_toggle_key_usermin && e[settings_hotkey_toggle_modifier] || String.fromCharCode(e.which).toLowerCase() == settings_hotkey_toggle_key_cloudmin && e[settings_hotkey_toggle_modifier] || String.fromCharCode(e.which).toLowerCase() == settings_hotkey_toggle_key_virtualmin && e[settings_hotkey_toggle_modifier] || String.fromCharCode(e.which).toLowerCase() == settings_hotkey_toggle_key_webmin && e[settings_hotkey_toggle_modifier])) return !0; + "1" == String.fromCharCode(e.which) && settings_hotkey_custom_1 && (e.preventDefault(), theme_shortcut_check(settings_hotkey_custom_1) && get_pjax_content(v___location_prefix + settings_hotkey_custom_1)), "2" == String.fromCharCode(e.which) && settings_hotkey_custom_2 && (e.preventDefault(), theme_shortcut_check(settings_hotkey_custom_2) && get_pjax_content(v___location_prefix + settings_hotkey_custom_2)), "3" == String.fromCharCode(e.which) && settings_hotkey_custom_3 && (e.preventDefault(), theme_shortcut_check(settings_hotkey_custom_3) && get_pjax_content(v___location_prefix + settings_hotkey_custom_3)), "4" == String.fromCharCode(e.which) && settings_hotkey_custom_4 && (e.preventDefault(), theme_shortcut_check(settings_hotkey_custom_4) && get_pjax_content(v___location_prefix + settings_hotkey_custom_4)), "5" == String.fromCharCode(e.which) && settings_hotkey_custom_5 && (e.preventDefault(), theme_shortcut_check(settings_hotkey_custom_5) && get_pjax_content(v___location_prefix + settings_hotkey_custom_5)), "6" == String.fromCharCode(e.which) && settings_hotkey_custom_6 && (e.preventDefault(), theme_shortcut_check(settings_hotkey_custom_6) && get_pjax_content(v___location_prefix + settings_hotkey_custom_6)), "7" == String.fromCharCode(e.which) && settings_hotkey_custom_7 && (e.preventDefault(), theme_shortcut_check(settings_hotkey_custom_7) && get_pjax_content(v___location_prefix + settings_hotkey_custom_7)), "8" == String.fromCharCode(e.which) && settings_hotkey_custom_8 && (e.preventDefault(), theme_shortcut_check(settings_hotkey_custom_8) && get_pjax_content(v___location_prefix + settings_hotkey_custom_8)), "9" == String.fromCharCode(e.which) && settings_hotkey_custom_9 && (e.preventDefault(), theme_shortcut_check(settings_hotkey_custom_9) && get_pjax_content(v___location_prefix + settings_hotkey_custom_9)), String.fromCharCode(e.which).toLowerCase() == settings_hotkey_toggle_key_webmin && (e.preventDefault(), $('.switch-toggle input[id="open_webmin"]').trigger("click")), String.fromCharCode(e.which).toLowerCase() == settings_hotkey_toggle_key_virtualmin && (e.preventDefault(), $('.switch-toggle input[id="open_virtualmin"]').trigger("click")), String.fromCharCode(e.which).toLowerCase() == settings_hotkey_toggle_key_cloudmin && (e.preventDefault(), $('.switch-toggle input[id="open_cloudmin"]').trigger("click")), String.fromCharCode(e.which).toLowerCase() == settings_hotkey_toggle_key_usermin && (e.preventDefault(), $('.switch-toggle input[id="open_usermin"]').trigger("click")), String.fromCharCode(e.which).toLowerCase() == settings_hotkey_toggle_key_webmail && (e.preventDefault(), $('.switch-toggle input[id="open_webmail"]').trigger("click")), String.fromCharCode(e.which).toLowerCase() == settings_hotkey_toggle_key_night_mode && (e.preventDefault(), theme_toggle_night_mode()), String.fromCharCode(e.which).toLowerCase() == settings_hotkey_toggle_slider && (e.preventDefault(), $(".right-side-tabs-toggler:not(.hidden) .btn-menu-toggler").trigger("click")), String.fromCharCode(e.which).toLowerCase() == settings_hotkey_reload && $('.user-links a[data-refresh="true"]') && (e.preventDefault(), get_pjax_content(v___location_resource)); + var t = $t_uri_cloudmin && $('a[target="page"][href*="/server-manager/save_serv.cgi"][href*="shell=1"]').length; + if (String.fromCharCode(e.which).toLowerCase() == settings_hotkey_shell && (1 == Core.moduleAvailable("shell") || t)) { + e.preventDefault(); + var i = $("body").find(".-shell-port-"); + i.hasClass("opened") ? theme_shell_close(i) : theme_shell_open(i) + } + return String.fromCharCode(e.which).toLowerCase() == settings_hotkey_sysinfo && (e.preventDefault(), 1 == navigation_dashboard_switch_available() ? navigation_dashboard_switch_select() : get_pjax_content(v___location_prefix + "/sysinfo.cgi")), String.fromCharCode(e.which).toLowerCase() == settings_hotkey_favorites && (e.preventDefault(), "0px" != $(".favorites-menu-outer").css("left") ? $(".user-link.favorites").trigger("click") : $(".favorites-menu-outer").removeClass("hover")), !1 + } +} + +function get_access_level() { + return parseInt(get_server_data("level")) +} + +function navigation_dashboard_switch_available() { + return "1" == get_server_data("dashboard") +} + +function navigation_dashboard_switch_select() { + set_switch_position("dashboard"), navigation_clear(), get_pjax_content(v___location_prefix + "/sysinfo.cgi") +} + +function theme_messenger(e, t, i, a, n) { + var s = void 0 === a ? 1 : a, + _ = void 0 === n || n; + if ($('body[class^="' + v___module_file_manager + '"]').length) { + if ("4" == config_portable_module_filemanager_notification_type && "info" != i && "warning" != i && "error" != i) return; + if ("2" == config_portable_module_filemanager_notification_type && "warning" != i && "error" != i) return + } + "function" == typeof Messenger && (window["Messenger_" + s] = Messenger().post({ + message: e, + hideAfter: t, + theme: "air", + showCloseButton: _, + type: i, + id: s + })) +} + +function theme_message_dismiss(e) { + void 0 !== window["Messenger_" + e] && window["Messenger_" + e].hide() +} + +function theme_alert(e, t, i, a, n, s, _, r) { + (void 0 === i || 0 == i) && (i = !1), (void 0 === a || 0 == a) && (a = "md"), (void 0 === n || 0 == n) && (n = "danger"), (void 0 === s || 0 == s) && (s = "exclamation-triangle"), (void 0 === _ || 0 == _) && (_ = "7"), (void 0 === r || 0 == r) && (r = !1); + $.isArray(i); + var o = "modal-global-notification", + l = '"; + setTimeout(function() { + $("body").hasClass("modal-open") || ($("body").append(l), $("." + o).modal("show"), $("." + o).on("click", ".modal-body a.label", function(e) { + $("." + o).modal("hide") + }), $("." + o).on("hidden.bs.modal", function(e) { + $("." + o).remove() + })) + }, r) +} + +function theme_alert_charset() { + var e = get_server_data("charset"); + if (e && -1 === e.toLowerCase().indexOf("utf") && "true" != localStorage.getItem(v___server_hostname + "-config_portable_theme_charset_warning_shown")) { + var t = "

    " + theme_language("theme_xhred_encoding_warning").replace("_hidden_", $t_uri_usermin ? "hidden" : "").replace("%prod", get_navigation_module_name()).replace("%lang", get_server_data("language")).replace("%charset", get_server_data("charset")).replace("%link", v___location_prefix + ($t_uri_usermin ? "/language" : "/webmin/edit_lang.cgi")) + "

    "; + theme_alert(theme_language("theme_xhred_global_warning"), t, !1, "sm", "warning", !1, "7 modal-charset-warning", 2e3), $("body").on("click", ".modal-charset-warning a.label", function(e) { + $(".modal-charset-warning").modal("hide") + }), $("body").on("hide.bs.modal", ".modal-charset-warning", function(e) { + localStorage.setItem(v___server_hostname + "-config_portable_theme_charset_warning_shown", "true"), theme_config("save") + }) + } +} + +function get_module_title() { + return $_right_menu_title = $("#headln2c"), $_right_menu_title.find("span[data-main_title]").text().length ? $_right_menu_title.find("span[data-main_title]").text() : $_right_menu_title.text().length ? $_right_menu_title.text().text() : "->" +} + +function get_module_subtitle() {} + +function set_switch_position(e) { + get_onbeforeunload_status() || ($('.switch-toggle input:not([id="open_' + e + '"])').each(function() { + $(this).removeAttr("checked") + }).promise().done(function() { + $("#open_" + e).prop("checked", !0) + }), update_navigation_module_name()) +} + +function editor_background_save(e) { + if (1 === $('textarea[name="data"], textarea[name="text"], textarea[name="directives"], textarea[name="manual"]').length && 1 === $('textarea[name="data"], textarea[name="text"], textarea[name="directives"], textarea[name="manual"]').parents("form").find('input[type="submit"]').length) { + if (!$(".CodeMirror").length) return; + + function t() { + "undefined" != typeof __cm_editor_static && $(".container-fluid > .panel > .panel-body").attr("data-cm-line", __cm_editor_static.getCursor().line + "," + __cm_editor_static.getCursor().ch).attr("data-cm-state", $('[data-form="submitter"]').hasClass("btn-warning") && !$('[data-form="submitter"]').next("button").hasClass("disabled")) + } + $(".ui_reset").remove(); + var i = $('.container-fluid textarea[name="data"], .container-fluid textarea[name="text"], .container-fluid textarea[name="directives"], .container-fluid textarea[name="manual"]').parents("form"), + a = i.find('button[type="button"]').length ? i.find('button[type="button"]') : i.find('input[type="submit"]'), + n = $('.container-fluid textarea[name="directives"]').length ? "-12px" : "0"; + $(".container-fluid select").val() ? $(".container-fluid select").val() : $(".container-fluid .table-title").text() ? $(".container-fluid .table-title").text() : $(".container-fluid .panel-body tt:first").text() ? $(".container-fluid .panel-body tt:first").text() : $(".container-fluid #headln2c tt:first").text() && $(".container-fluid #headln2c tt:first").text(); + a.parents("table.ui_form_end_buttons").prev("br").remove(), a.parents("table.ui_form_end_buttons").prev("div.table-responsive").attr("style", "margin-bottom: -4px !important"), a.replaceWith('\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t"); + var s = $('.container-fluid button[type="button"]:not(.ui_form_end_submit)'), + _ = $('.container-fluid button[type="submit"]:not(.ui_form_end_submit)'); + window.__cm_editor_static.on("change", function(e, i) { + __cm_editor_static.save(), s.addClass("btn-warning").removeClass("btn-success").attr("data-form-onbeforeunload", 1), t() + }), $("body").off("mousedown.cm1"), $("body").on("mousedown.cm1", ".CodeMirror", function(e) { + t() + }), $("body").off("keydown.cm1"), $("body").on("keydown.cm1", function(e) { + 13 == e.keyCode && e.ctrlKey && !e.shiftKey ? s.trigger("click") : 13 == e.keyCode && e.ctrlKey && e.shiftKey && _.trigger("click") + }); + var r = 'button[type="submit"]:not(.disabled)'; + $("body").undelegate(r, "click"), $("body").on("click", r, function(e) { + set_onbeforeunload_status(0, 0), $("button").addClass("disabled").find(".fa.fa-arrow-circle-o-left").addClass("invisible").after(''), s.attr("data-form-onbeforeunload", 0) + }); + var o = 'button[data-form="submitter"]:not(.disabled)'; + $("body").undelegate(o, "click"), $("body").on("click", o, function(e) { + e.preventDefault(); + var t = $(this).parents("form"), + a = (t.attr("enctype") && t.attr("enctype").indexOf("form-data") > -1 ? 0 : 1) ? t.serialize() : new FormData(t[0]); + $("button").addClass("disabled").find(".fa.fa-floppy-o").addClass("invisible").after(''), setTimeout(function() { + $.ajax({ + type: "POST", + url: i.attr("action"), + data: a, + dataType: "text", + cache: !1, + contentType: !1, + processData: !1, + success: function(e) { + if (s.removeClass("btn-warning").addClass("btn-success").attr("data-form-onbeforeunload", 0), $("button").removeClass("disabled").find(".fa").removeClass("invisible").parent().find(".cspinner_container").remove(), $(".container-fluid > .panel > .panel-body").attr("data-cm-state", "false"), set_onbeforeunload_status(0, 0), $(e).find(".panel-body > hr + h3").length && !$(e).find(".panel-body .table").length && !$(e).find(".panel-body form[action]").length) return theme_messenger('' + $(e).find(".panel-body hr + h3").html(), 60, "error", "magic_save_error"), s.removeClass("btn-success").addClass("btn-warning").attr("data-form-onbeforeunload", 1), void $(".container-fluid > .panel > .panel-body").attr("data-cm-state", "true") + }, + error: function(e) {} + }) + }, 300) + }) + } +} + +function page_resized() { + navigation_lock_width(), $(".mobile-menu-toggler").hasClass("selected") || ($("aside").addClass("hidden-xs"), $("aside").css("transform", "translate(" + settings_leftmenu_width + "px, 0px)"), $(".switch-toggle").css("display", "table"), "function" == typeof jQuery().transition && $(".__logo") && !$(".mobile-menu-toggler:visible").length ? $(".__logo").transition({ + y: "-140px" + }, 700, function() {}) : $(".__logo") && $(".__logo").css("transform", "translate(0px, 0px)")), set_side_slider_visibility(!0 !== settings_side_slider_fixed || $(".mobile-menu-toggler:visible").length || !v___available_navigation ? 0 : 1) +} + +function theme_settings_controls(e) { + var t = $("#atsave, #save_user"); + e ? (set_onbeforeunload_status(1, 0), t.addClass("btn-warning")) : (set_onbeforeunload_status(0, 0), t.removeClass("btn-warning")) +} + +function theme_settings_update() { + $.each($("#atsettings .ui_form").serializeArray(), function(e, t) { + if ("true" == t.value || "false" == t.value) { + if ("true" == t.value) i = !0; + else if ("false" == t.value) i = !1 + } else var i = t.value; + window[t.name] = Test.numeric(i) ? parseInt(i) : i + }) +} + +function bind_sameorigin() { + $("body").on("click", 'a[href^="http"], a[href^="https"], a[href^="ftp"], a[href^="ftps"]', function(e) { + Core.linkSameOrigin($(this)) || $(this).attr("target", "_blank") + }), $.each($('ul.navigation a[href^="http"], ul.navigation a[href^="https"], ul.navigation a[href^="ftp"], ul.navigation a[href^="ftps"], ul.navigation a[data-href^="http"], ul.navigation a[data-href^="https"], ul.navigation a[data-href^="ftp"], ul.navigation a[data-href^="ftps"]'), function() { + $(this).removeClass("navigation_module_trigger").parents("li").addClass("navigation_external"), $(this).attr("target", "_blank"), $(this).attr("href", $(this).data("href")), $(this).removeAttr("data-href") + }) +} + +function get_navigation_menu_webmin(e, t) { + get_onbeforeunload_status() || 0 != navigation_dashboard_switch_available() && v___location_path != v___location_prefix + "/webmin/edit_themes.cgi" || (navigation_render_start(), $.ajax({ + type: "GET", + url: v___location_prefix + "/index.cgi/?xhr-navigation=1&xhr-navigation-type=" + ("webmail" == e ? "webmail" : "webmin"), + data: !1, + dataType: "text", + success: function(e) { + $("body ul.navigation").html(e), navigation_render_end(), e && navigation_detect() + } + }), get_navigation_menu_buttons()) +} + +function get_navigation_menu_virtualmin(e, t) { + get_onbeforeunload_status() || (navigation_render_start(), $.ajax({ + type: "GET", + url: v___location_prefix + "/index.cgi/?xhr-navigation=1&xhr-navigation-type=virtualmin" + (e ? "&dom=" + e : settings_right_virtualmin_default ? "&dom=" + settings_right_virtualmin_default : ""), + data: !1, + dataType: "text", + success: function(e) { + $("body ul.navigation").html(e), navigation_render_end(), get_navigation_menu_virtualmin_summary(), e && navigation_detect() + } + }), get_navigation_menu_buttons()) +} + +function get_navigation_menu_virtualmin_summary() { + if (!get_onbeforeunload_status()) { + var e = $('a[href*=".cgi?dom=$#DOM"]'), + t = e.attr("href"), + i = $('aside [name="dom"]').val(); + e.length && i && e.attr("href", t.replace("$#DOM", i)) + } +} + +function get_navigation_menu_cloudmin(e, t) { + get_onbeforeunload_status() || (navigation_render_start(), $.ajax({ + type: "GET", + url: v___location_prefix + "/index.cgi/?xhr-navigation=1&xhr-navigation-type=cloudmin" + (e || 0 === e ? "&sid=" + e : settings_right_cloudmin_default ? "&sid=" + settings_right_cloudmin_default : ""), + data: !1, + dataType: "text", + success: function(e) { + $("body ul.navigation").html(e), theme_shell_link_control(), navigation_render_end(), e && navigation_detect() + } + }), get_navigation_menu_buttons()) +} + +function get_navigation_menu_buttons() { + get_onbeforeunload_status() || $.ajax({ + type: "GET", + url: v___location_prefix + "/index.cgi/?xhr-buttons=1&xhr-buttons-type=" + ($t_uri_virtualmin || $t_uri_cloudmin ? 1 : 0), + data: !1, + dataType: "text", + success: function(e) { + $("body ul.user-links").html(e), theme_shell_link_control() + } + }) +} + +function get_default_content() { + get_onbeforeunload_status() || ($("body").append(''), $.ajax({ + type: "GET", + url: v___location_prefix + "/index.cgi/?xhr-default=1", + data: !1, + dataType: "text", + success: function(e) { + $("#____switch").html(e), $____switch = $("#____switch").text(); + var t = v___location_prefix + (3 == v___user_level && Core.moduleAvailable("mailbox") && $t_uri_webmail ? "/mailbox/index.cgi?id=INBOX" : ("/" == $____switch.substring(0, 1) ? "" : "/") + $____switch); + (Test.strContains(t, "mysql") || Test.strContains(t, "postgresql")) && get_bundle_sql(), Test.strContains(t, v___module_file_manager) && get_bundle_file_manager(), Test.strContains(t, "csf") && get_bundle_csf(), get_pjax_content(t), $("#____switch").remove() + } + })) +} + +function get_default_virtualmin_content(e) { + if (!get_onbeforeunload_status()) { + var t, i = "/virtual-server"; + t = 1 == get_server_data("initial-wizard") ? i + "/wizard.cgi" : !1 !== e ? i + "/summary_domain.cgi?dom=" + e : "sysinfo.cgi" == settings_right_virtualmin_default || "" == settings_right_virtualmin_default ? "/sysinfo.cgi" : "index.cgi" == settings_right_virtualmin_default ? i + "/index.cgi" : i + "/summary_domain.cgi?dom=" + settings_right_virtualmin_default, get_pjax_content(v___location_prefix + t) + } +} + +function get_default_cloudmin_content(e) { + if (!get_onbeforeunload_status()) { + var t; + t = !1 === e || settings_right_cloudmin_default || "0" == settings_right_cloudmin_default ? "sysinfo.cgi" == settings_right_cloudmin_default || "" == settings_right_cloudmin_default && "0" != settings_right_cloudmin_default ? "sysinfo.cgi" : "index.cgi" == settings_right_cloudmin_default ? "server-manager/index.cgi" : "server-manager/edit_serv.cgi?id=" + settings_right_cloudmin_default : "server-manager/edit_serv.cgi?id=" + e, get_pjax_content(v___location_prefix + "/" + t) + } +} + +function get_navigation_and_content(e, t, i) { + get_onbeforeunload_status() || ("virtualmin" === e ? (get_navigation_menu_virtualmin(!1), 1 != settings_right_reload && 1 !== t || 1 === i || get_default_virtualmin_content(!1)) : "cloudmin" === e ? (get_navigation_menu_cloudmin(!1), 1 != settings_right_reload && 1 !== t || 1 === i || get_default_cloudmin_content(!1)) : (get_navigation_menu_webmin(e), 1 != settings_right_reload && 1 !== t || 1 === i || get_default_content())) +} + +function information_update() { + if (!$("body .modal.in").length && 0 == v___user_level) { + var e = $("body").find("#system-status"), + t = e.length ? e[0] : 0; + $("#right-side-tabs-sysinfo .graph-container").length || $("#right-side-tabs .info-container").html(get_right_panel_sysinfo_data()), t && $(t).find('h3 > a[data-refresh="system-status"]').addClass("disabled").find("i").addClass("fa-spin"); + var i = $(".right-side-tabs-dismiss .fa-reload"); + i.addClass("fa-spin-fast"), setTimeout(function() { + i.removeClass("fa-spin-fast") + }, 3e3), $.ajax({ + type: "GET", + url: v___location_prefix + "/index.cgi/?xhr-info=1", + data: !1, + dataType: "json", + success: function(e) { + $.each(e, function(e, i) { + if ("cpu_percent" != e && "mem_percent" != e && "virt_percent" != e && "disk_percent" != e || (Test.numeric(i) ? localStorage.setItem(v___server_hostname + "-sysinfo_" + e + "_stats", i) : localStorage.setItem(v___server_hostname + "-sysinfo_" + e + "_stats", "")), t) { + if ($(t).find('span[data-id="sysinfo_' + e + '"]').html(i), "local_time" == e || "uptime" == e || "running_proc" == e) { + var a = $(t).find('span[data-id="sysinfo_' + e + '"]'), + n = $(t).find('span[data-id="sysinfo_' + e + '"] a'), + s = $(t).find('span[data-id="sysinfo_' + e + '"]').text(); + "local_time" == e && settings_window_replace_timestamps ? n && n.length ? (s = $(t).find('span[data-id="sysinfo_' + e + '"] a').data("convertible-timestamp-full"), a.html(n.html(moment.unix(s).format(settings_window_replaced_timestamp_format_full)))) : (s = $(t).find('span[data-id="sysinfo_' + e + '"] > span').data("convertible-timestamp-full"), a.html(moment.unix(s).format(settings_window_replaced_timestamp_format_full))) : n && n.length && a.html(n.html(s)) + } + if ($(t).find('.piechart[data-charts="sysinfo_' + e + '"]').length) { + var _ = $("body").find('.piechart[data-charts="sysinfo_' + e + '"]'); + _.length && _.data("easyPieChart").update(i) + } + "cpu_percent" != e && "mem_percent" != e && "virt_percent" != e && "disk_percent" != e || localStorage.setItem(v___server_hostname + "-sysinfo_" + e + "_seen", i), $(t).find(".modal-backdrop").remove() + } + if ($__id__ = moment().unix(), "cpu_percent" == e || "mem_percent" == e || "virt_percent" == e || "disk_percent" == e || "csf_title" == e || "csf_remote_version" == e || "authentic_remote_version" == e || "package_message" == e ? localStorage.getItem(v___server_hostname + "-sysinfo_" + e) || localStorage.setItem(v___server_hostname + "-sysinfo_" + e, i) : null == i || NaN == i ? localStorage.setItem(v___server_hostname + "-sysinfo_" + e, "") : localStorage.setItem(v___server_hostname + "-sysinfo_" + e, i), localStorage.getItem(v___server_hostname + "-sysinfo_package_message_initial") || localStorage.setItem(v___server_hostname + "-sysinfo_package_message_initial", 1), "authentic_theme_version" == e && !localStorage.getItem(v___server_hostname + "-sysinfo_theme_current_version") && i && localStorage.setItem(v___server_hostname + "-sysinfo_theme_current_version", i.match(/^\d+|\d+\b|\d+(?=\w)/g)[0] + "." + i.match(/^\d+|\d+\b|\d+(?=\w)/g)[1]), "csf_data" == e && !localStorage.getItem(v___server_hostname + "-sysinfo_csf_current_version") && i && localStorage.setItem(v___server_hostname + "-sysinfo_csf_current_version", i.match(/^\d+|\d+\b|\d+(?=\w)/g)[0] + "." + i.match(/^\d+|\d+\b|\d+(?=\w)/g)[1]), "csf_title" == e || "csf_data" == e || "csf_remote_version" == e || "authentic_remote_version" == e || "authentic_theme_version" == e || "package_message" == e) { + if ("package_message" === e) { + if ((localStorage.getItem(v___server_hostname + "-sysinfo_" + e) != i || 1 == localStorage.getItem(v___server_hostname + "-sysinfo_package_message_initial")) && i && i.indexOf("badge-danger") > -1) { + var r = theme_language("theme_xhred_notifications_packages_updates"), + o = $(i).html().replace(/badge-danger/g, "badge-success"); + localStorage.setItem(v___server_hostname + "-notifications_" + $__id__ + "_package_message", JSON.stringify({ + title: r, + time: $__id__, + timestamp: $__id__, + message: o, + readStatus: 0, + type: e, + link: $(i).attr("href") + })), slider_mark_group_notifications_read("package_message"), localStorage.setItem(v___server_hostname + "-sysinfo_" + e, i), localStorage.setItem(v___server_hostname + "-sysinfo_package_message_initial", 0), notifications(r, o, e) + } else "package_message" === e && localStorage.setItem(v___server_hostname + "-sysinfo_" + e, i); + $(i).find("i.badge:first-child").length || slider_mark_group_notifications_read("package_message") + } + var l = localStorage.getItem(v___server_hostname + "-sysinfo_theme_current_version"); + if (settings_sysinfo_theme_updates && (0 == localStorage.getItem(v___server_hostname + "-sysinfo_authentic_remote_version") && localStorage.removeItem(v___server_hostname + "-sysinfo_authentic_remote_version"), l && localStorage.getItem(v___server_hostname + "-sysinfo_authentic_remote_version") && "authentic_remote_version" == e && l < i && "0" != i && "0.00" != i && null != i)) { + var c = theme_language("theme_xhred_notifications_theme_update"), + d = theme_language("theme_xhred_notifications_theme_update_message").replace("%v", i) + '  '; + localStorage.setItem(v___server_hostname + "-notifications_" + $__id__ + "_authentic_remote_version", JSON.stringify({ + title: c, + time: $__id__, + timestamp: $__id__, + message: d, + readStatus: 0, + type: e, + link: v___location_prefix + "/sysinfo.cgi" + })), localStorage.setItem(v___server_hostname + "-sysinfo_" + e, i), localStorage.setItem(v___server_hostname + "-sysinfo_theme_current_version", i), notifications(c, d, e) + } + if ("authentic_theme_version" !== e || Test.strContains(i, "CHANGELOG.md") || slider_mark_group_notifications_read("authentic_remote_version"), settings_sysinfo_csf_updates) { + var h = localStorage.getItem(v___server_hostname + "-sysinfo_csf_current_version"); + if (h && null != h && localStorage.getItem(v___server_hostname + "-sysinfo_csf_remote_version") && "csf_remote_version" == e && h < i && "0" != i && "0.00" != i && null != i) { + var p = theme_language("theme_xhred_notifications_firewall_update"), + f = theme_language("theme_xhred_notifications_firewall_update_message").replace("%v", i); + localStorage.setItem(v___server_hostname + "-notifications_" + $__id__ + "_csf_remote_version", JSON.stringify({ + title: p, + time: $__id__, + timestamp: $__id__, + message: f, + readStatus: 0, + type: e, + link: v___location_prefix + "/csf/index.cgi" + })), slider_mark_group_notifications_read("csf_remote_version"), localStorage.setItem(v___server_hostname + "-sysinfo_" + e, i), localStorage.setItem(v___server_hostname + "-sysinfo_csf_current_version", i), notifications(p, f, e) + } + } + if ("csf_data" === e && Test.strContains(i, "data-no-update") && slider_mark_group_notifications_read("csf_remote_version"), "csf_title" == e) + if (i && i.indexOf("label-danger") > -1 && 1 != localStorage.getItem(v___server_hostname + "-sysinfo_csf_not_running")) { + var g = theme_language("theme_xhred_notifications_firewall_danger"), + u = theme_language("theme_xhred_notifications_firewall_danger_message").replace("%v", moment.unix($__id__).format(settings_window_replaced_timestamp_format_short)); + localStorage.setItem(v___server_hostname + "-notifications_" + $__id__ + "_csf_title", JSON.stringify({ + title: g, + time: $__id__, + timestamp: $__id__, + message: u, + readStatus: 0, + type: e, + link: v___location_prefix + "/csf/index.cgi" + })), slider_mark_group_notifications_read("csf_title"), localStorage.setItem(v___server_hostname + "-sysinfo_csf_not_running", 1), notifications(g, u, "csf_remote_version") + } else i && -1 === i.indexOf("label-danger") && (slider_mark_group_notifications_read("csf_title"), localStorage.removeItem(v___server_hostname + "-sysinfo_csf_not_running")) + } + if ("csf_deny" == e) { + var m = JSON.parse(i); + $.each(m, function(t, i) { + var a = (i = i.split("|"))[0], + n = i[1], + s = i[2], + _ = i[3], + r = (i[4], i[5], i[6], i[7]); + if (r = r.replace("*Port Scan*", s && _ ? 'Port ' + _ + " scan" : "Port scan"), !localStorage.getItem(v___server_hostname + "-allowed_trigger_" + (a + n.replace(/\./g, "0")) + "_csf_deny")) { + var o = theme_language("theme_xhred_notifications_firewall_warning"), + l = r + (s && _ ? " (" + s + ":" + _ + ")" : ""); + localStorage.setItem(v___server_hostname + "-notifications_" + (a + n.replace(/\./g, "0")) + "_csf_deny", JSON.stringify({ + title: o, + time: $__id__, + timestamp: $__id__, + message: l, + readStatus: 0, + type: e, + link: v___location_prefix + "/csf/index.cgi" + })), localStorage.setItem(v___server_hostname + "-allowed_trigger_" + (a + n.replace(/\./g, "0")) + "_csf_deny", 1) + } + }) + } + "cpu_percent" != e && "mem_percent" != e && "virt_percent" != e && "disk_percent" != e || null !== localStorage.getItem(v___server_hostname + "-sysinfo_" + e + "_seen") && i >= 85 && localStorage.getItem(v___server_hostname + "-sysinfo_" + e + "_seen"), setTimeout(function() { + if ((localStorage.getItem(v___server_hostname + "-sysinfo_cpu_percent_stats") || localStorage.getItem(v___server_hostname + "-sysinfo_mem_percent_stats") || localStorage.getItem(v___server_hostname + "-sysinfo_virt_percent_stats") || localStorage.getItem(v___server_hostname + "-sysinfo_disk_percent_stats")) && $("#right-side-tabs-sysinfo .graph-container").length) { + var t = !localStorage.getItem(v___server_hostname + "-sysinfo_" + e + "_stats"), + a = $(".info-container .graph-container." + e); + t ? a.addClass("hidden").prev("br").addClass("hidden") : a.removeClass("hidden").prev("br").removeClass("hidden"), "cpu_percent" == e && ($("#right-side-tabs-sysinfo .graph-container." + e + " .description").attr("title", localStorage.getItem(v___server_hostname + "-sysinfo_load")).text(theme_language("theme_xhred_global_cpu_load") + ": " + localStorage.getItem(v___server_hostname + "-sysinfo_cpu_percent_stats") + "% (" + localStorage.getItem(v___server_hostname + "-sysinfo_load") + ")"), $("#right-side-tabs-sysinfo .graph-container." + e + " .bar").attr("style", "width:" + localStorage.getItem(v___server_hostname + "-sysinfo_cpu_percent_stats") + "%")), "mem_percent" == e && ($("#right-side-tabs-sysinfo .graph-container." + e + " .description").attr("title", localStorage.getItem(v___server_hostname + "-sysinfo_real_memory")).text(theme_language("body_real") + ": " + localStorage.getItem(v___server_hostname + "-sysinfo_mem_percent_stats") + "% (" + localStorage.getItem(v___server_hostname + "-sysinfo_real_memory") + ")"), $("#right-side-tabs-sysinfo .graph-container." + e + " .bar").attr("style", "width:" + localStorage.getItem(v___server_hostname + "-sysinfo_mem_percent_stats") + "%")), "virt_percent" == e && ($("#right-side-tabs-sysinfo .graph-container." + e + " .description").attr("title", localStorage.getItem(v___server_hostname + "-sysinfo_virtual_memory")).text(theme_language("body_virt") + ": " + localStorage.getItem(v___server_hostname + "-sysinfo_virt_percent_stats") + "% (" + localStorage.getItem(v___server_hostname + "-sysinfo_virtual_memory") + ")"), $("#right-side-tabs-sysinfo .graph-container." + e + " .bar").attr("style", "width:" + localStorage.getItem(v___server_hostname + "-sysinfo_virt_percent_stats") + "%")), "disk_percent" == e && ($("#right-side-tabs-sysinfo .graph-container." + e + " .description").attr("title", localStorage.getItem(v___server_hostname + "-sysinfo_disk_space")).text(theme_language("body_disk") + ": " + localStorage.getItem(v___server_hostname + "-sysinfo_disk_percent_stats") + "% (" + localStorage.getItem(v___server_hostname + "-sysinfo_disk_space") + ")"), $("#right-side-tabs-sysinfo .graph-container." + e + " .bar").attr("style", "width:" + localStorage.getItem(v___server_hostname + "-sysinfo_disk_percent_stats") + "%")) + } + if ($('#right-side-tabs .info-container .info-list-data span[data-data="' + e + '"]').html(i), "package_message" == e && $('#right-side-tabs .info-container .info-list-data span[data-data="' + e + '"]').html($(i).html($(i).html().split(",")[0])[0].outerHTML), "local_time" == e && settings_window_replace_timestamps) { + (o = $('#right-side-tabs .info-container .info-list-data span[data-data="' + e + '"] a')) && o.length && o.html(o.next("span").detach()); + var n = $(".info-container").find("span[data-convertible-timestamp-full]"), + s = n.attr("data-convertible-timestamp-full"); + n.html(moment.unix(s).format(settings_window_replaced_timestamp_format_full)) + } + if ("cpu_temperature" == e) { + var _ = 0; + $.each($(i).filter(".badge-cpustatus"), function(e, t) { + var a = parseInt($(this).text().split(":")[1]), + n = a <= 30 ? "--bg-info" : a > 30 && a <= 60 ? "--bg-success" : a > 60 && a <= 80 ? "bg-warning" : a > 80 ? "bg-danger" : ""; + $(this).text().indexOf("°C") > -1 || (n = a <= 86 ? "--bg-info" : a > 86 && a <= 140 ? "--bg-success" : a > 140 && a <= 176 ? "bg-warning" : a > 176 ? "bg-danger" : ""), "bg-warning" != n && "bg-danger" != n || (_ = 1), $("#right-side-tabs .info-container .badge-drivestatus.badge-cpustatus").length || $('strong[data-stats="cpu"] + br[data-stats="cpu"]').after(i.replace(/
    | /gi, "")), $($("#right-side-tabs .info-container .badge-drivestatus.badge-cpustatus")[e]).html($(this).text()).removeClass(function(e, t) { + return (t.match(/(^|\s)bg-\S+/g) || []).join(" ") + }).addClass(n) + }).promise().done(function() { + _ ? $('.info-container [data-stats="cpu"]').removeClass("hidden") : $('.info-container [data-stats="cpu"]').addClass("hidden") + }) + } + if ("hdd_temperature" == e) { + var r = 0; + $.each($(i), function(e, t) { + var a = parseInt($(this).text().split(":")[1]), + n = a <= 30 ? "--bg-info" : a > 30 && a <= 60 ? "--bg-success" : a > 60 && a <= 80 ? "bg-warning" : a > 80 ? "bg-danger" : ""; + $(this).text().indexOf("°C") > -1 || (n = a <= 86 ? "--bg-info" : a > 86 && a <= 140 ? "--bg-success" : a > 140 && a <= 176 ? "bg-warning" : a > 176 ? "bg-danger" : ""), "bg-warning" != n && "bg-danger" != n || (r = 1), $("#right-side-tabs .info-container .badge-drivestatus:not(.badge-cpustatus)").length || $('strong[data-stats="drive"] + br[data-stats="drive"]').after(i.replace(/
    | /gi, "")), $($("#right-side-tabs .info-container .badge-drivestatus:not(.badge-cpustatus)")[e]).html($(this).text()).removeClass(function(e, t) { + return (t.match(/(^|\s)bg-\S+/g) || []).join(" ") + }).addClass(n) + }).promise().done(function() { + r ? $('.info-container [data-stats="drive"]').removeClass("hidden") : $('.info-container [data-stats="drive"]').addClass("hidden") + }) + } + if ("uptime" == e || "running_proc" == e) { + var o = $('#right-side-tabs .info-container .info-list-data span[data-data="' + e + '"] a'); + if (o && o.length) { + var l = o.parent(), + c = l.text(); + l.html(o.text(c)) + } + } + if ("warning_si" == e && ((d = $("#right-side-tabs .info-container .warning-list-data")).html(i.replace(/<(script|link|meta)\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/(script|link|meta)>/gi, "").replace(/type='submit'/g, "formtarget='page' type='submit'").replace(/class='ui_submit/g, "class='ui_submit btn btn-default btn-xs").replace(/ui_form_end_submit" type="button"/g, 'ui_form_end_submit" type="submit" formtarget="page"').replace(/ui_form_end_submit/g, "ui_form_end_submit btn-tiny")), "
    " == i && d.empty()), "extended_si" == e) { + var d = $("#right-side-tabs .info-container .extended-list-data"), + h = i.replace(/aria-expanded="true"/gi, 'aria-expanded="false"').replace(/collapse in/gi, "collapse"); + opened_tabs = $("#extended_sysinfo .panel .in").map(function() { + h = h.replace('data-toggle="collapse" href="#' + this.id + '" aria-expanded="false" aria-controls="' + this.id + '"', 'data-toggle="collapse" href="#' + this.id + '" aria-expanded="true" aria-controls="' + this.id + '"'), h = h.replace('div id="' + this.id + '" class="panel-collapse collapse"', 'div id="' + this.id + '" class="panel-collapse collapse in"') + }).promise().done(function() { + d.html('
    ' + h); + var e = $("#right-side-tabs .extended-list-data"); + e.find("div.panel-heading:not(#status_services-status):not(#status-virtual-server):not(#acl_logins-acl):not(#sysinfo-virtual-server):not(#quota-virtual-server):not(#bw-virtual-server)").parent().remove(), $.each(e.find("div.panel-heading .panel-title"), function() { + var e = $(this).find("a"), + t = "true" != $(this).find("a").attr("aria-expanded") ? 1 : 0, + i = t ? "+" : "—"; + $(this).append('' + i + ""), e.text(Convert.strUpFirst($.trim(e.text()))) + }), e.find(".panel.panel-default").detach().appendTo("#right-side-tabs #extended_sysinfo"), e.find("div.panel-body").find("img").remove(), e.find('input[type="submit"]').addClass("btn btn-default btn-xs"), e.find('input[type="submit"]').parents("form").attr("formtarget", "page"), e.find('button[type="button"].ui_submit').addClass("btn btn-default btn-xs"), e.find('button[type="button"].ui_submit').parents("form").attr("formtarget", "page"), $("#extended_sysinfo .panel").on("show.bs.collapse", function() { + $(this).find(".panel-title-status").removeClass("margined-right-2").text("—") + }).on("hide.bs.collapse", function() { + $(this).find(".panel-title-status").addClass("margined-right-2").text("+") + }) + }) + } + $.trim($(".info-list-data").text()).length && setTimeout(function() { + $("#right-side-tabs .is-sysinfo_data").removeClass("hidden"), $("#right-side-tabs .no-sysinfo_data").addClass("hidden") + }, 100) + }, 101) + }), setTimeout(function() { + slider_check_notifications() + }, 3e3), t && $(t).find('h3 > a[data-refresh="system-status"]').removeClass("disabled").find("i").removeClass("fa-spin") + } + }) + } +} + +function information_check() { + if (setTimeout(function() { + information_update() + }, 1e4), settings_side_slider_enabled && !$("body .modal.in").length) return setInterval(function() { + information_update() + }, 6e4 * settings_side_slider_background_refresh_time) +} + +function slider_display_notification_badges() { + if (settings_side_slider_enabled && settings_side_slider_notifications_enabled) { + var e = "right-side-tab-notification-asterix", + t = "faa-ring faa-slow animated-hover", + i = $(".right-side-tabs .list-group-item:not(.no-notifications, .opacity-0_3)").length; + favicon.badge(i), i > 0 ? ($(".right-side-tabs-toggler button i.fa-bell").addClass(t), $(".right-side-tabs-toggler button span.badge").removeClass("hidden").text(i), $("#right-side-tabs ." + e).removeClass("hidden").text(i)) : ($(".right-side-tabs-toggler button i.fa-bell").removeClass(t), $(".right-side-tabs-toggler button span.badge").addClass("hidden").text(0), $("#right-side-tabs ." + e).addClass("hidden").text(0)) + } +} + +function slider_check_notifications() { + var $current_localData_notifications = {}; + $.each(localStorage, function(e, t) { + if ("string" == typeof e && e.indexOf("notifications_") > -1 && e.indexOf(v___server_hostname) > -1) { + var i = e.split("_")[1], + a = JSON.parse(t), + n = a.title, + s = a.time, + _ = a.timestamp, + r = a.message, + o = a.readStatus, + l = a.type, + c = a.link; + $current_localData_notifications[s + "_" + n] = i + "~~~~" + n + "~~~~" + s + "~~~~" + _ + "~~~~" + r + "~~~~" + o + "~~~~" + l + "~~~~" + c, $('.list-group-item[id="' + i + '"][data-type="' + l + '"]').length && $('.list-group-item[id="' + i + '"][data-type="' + l + '"] .list-group-item-heading small').text(moment.unix(s).fromNow()) + } + }); + var package_message_num = Object.values($current_localData_notifications).filter(function(e) { + return e.indexOf("package_message") > -1 + }).length, + csf_remote_version_num = Object.values($current_localData_notifications).filter(function(e) { + return e.indexOf("csf_remote_version") > -1 + }).length, + authentic_remote_version_num = Object.values($current_localData_notifications).filter(function(e) { + return e.indexOf("authentic_remote_version") > -1 + }).length, + csf_title_num = Object.values($current_localData_notifications).filter(function(e) { + return e.indexOf("csf_title") > -1 + }).length, + keys = []; + for (var key in $current_localData_notifications) $current_localData_notifications.hasOwnProperty(key) && keys.push(key); + $current_localData_notifications_sorted_keys = keys.sort(), $.each($current_localData_notifications_sorted_keys, function(i, v) { + var vx = $current_localData_notifications[v], + $__id__ = vx.split("~~~~")[0], + $__data__title = vx.split("~~~~")[1], + $__data__time = vx.split("~~~~")[2], + $__data__timestamp = vx.split("~~~~")[3], + $__data__message = vx.split("~~~~")[4], + $__data__readStatus = vx.split("~~~~")[5], + $__data__type = vx.split("~~~~")[6], + $__data__link = vx.split("~~~~")[7]; + if ("package_message" == $__data__type || "csf_remote_version" == $__data__type || "authentic_remote_version" == $__data__type || "csf_title" == $__data__type) { + var $__num = eval($__data__type + "_num"); + i + 1 < $__num && ($__data__readStatus = 1) + } + $('.list-group-item[id="' + $__id__ + '"][data-type="' + $__data__type + '"]').length || slider_add_notification($__id__, $__data__title, $__data__time, $__data__timestamp, $__data__message, $__data__readStatus, $__data__type, $__data__link) + }) +} + +function slider_remove_all_notifications() { + $.each(localStorage, function(e, t) { + "string" == typeof e && e.indexOf("notifications_") > -1 && e.indexOf(v___server_hostname) > -1 && delete localStorage[e] + }) +} + +function slider_mark_notification_read(e, t, i, a) { + var n = JSON.parse(localStorage.getItem(v___server_hostname + "-notifications_" + e + "_" + t)); + n && localStorage.setItem(v___server_hostname + "-notifications_" + e + "_" + t, JSON.stringify({ + title: n.title, + time: n.time, + timestamp: n.timestamp, + message: n.message, + readStatus: i, + type: n.type, + link: n.link + })), a && slider_display_notification_badges() +} + +function slider_mark_group_notifications_read(e) { + var t = ""; + e && (t = '[data-type="' + e + '"]'), $(".right-side-tabs .list-group-item" + t + ":not(.no-notifications)").each(function() { + $(this).addClass("opacity-0_3"), slider_mark_notification_read($(this).attr("id"), $(this).data("type"), 1, 0) + }).promise().done(function() { + slider_display_notification_badges() + }) +} + +function slider_add_notification(e, t, i, a, n, s, _, r) { + $(".right-side-tabs .list-group").prepend(' \t\t\t
    \t\t\t
    \t\t\t \t\t\t \t\t\t
    ' + t + " " + moment.unix(i).fromNow() + "
    \t\t\t " + n + " \t\t\t
    \t\t\t
    \t\t\t"), $(".right-side-tabs-no-notifications").remove(), slider_display_notification_badges(), v___initial_load || slider_add_no_notifications() +} + +function slider_add_no_notifications() { + if (0 === $(".right-side-tabs .list-group-item").length) { + var e = theme_language("theme_xhred_notification_none"); + $(".right-side-tabs .list-group").prepend('
    ' + (e ? e.toUpperCase() : "") + "
    "), $(".right-side-tabs-no-notifications").animate({ + opacity: "1" + }, $settings_animation_left_slide_time, function() {}) + } + setTimeout(function() { + slider_display_notification_badges() + }, $settings_animation_left_slide_time) +} + +function fetch_right_pane_favorites() { + if ("function" == typeof favorites_get) { + var e = favorites_get(), + t = $("#right-side-tabs .no-favorites_data"); + $("#right-side-tabs .favorites-dcontainer .right_pane_favorites_link, #right-side-tabs .favorites-dcontainer .right_pane_favorites_num").remove(), e.length ? ($.each(e, function(e, t) { + $("#right-side-tabs .favorites-dcontainer").append('' + (e + 1) + '  ' + t.title + "") + }), t.addClass("hidden")) : t.removeClass("hidden") + } +} + +function get_right_panel_sysinfo_data() { + function e() { + var e = $("#right-side-tabs-sysinfo span[data-convertible-timestamp-full]"); + e.data("convertible-timestamp-full", parseInt(e.data("convertible-timestamp-full")) + 1), e.text(moment.unix(e.data("convertible-timestamp-full")).format(settings_window_replaced_timestamp_format_full)) + } + return $(function() { + setInterval(e, 1e3) + }), $_____________got_rp__sys_dat = 1, '
    ' + theme_language("theme_xhred_notification_no_data").toUpperCase() + "
    " +} + +function editor_html_init(e) { + CKEDITOR_BASEPATH = "/unauthenticated/js/ckeditor/", $.getScript(v___location_prefix + "/unauthenticated/js/ckeditor/ckeditor.js", function(t, i, a) { + /** + * Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. + * For licensing, see LICENSE.md or http://ckeditor.com/license + */ + CKEDITOR.env.ie && CKEDITOR.env.version < 9 && CKEDITOR.tools.enableHtml5Elements(document), CKEDITOR.config.height = $(window).height() / e[1], CKEDITOR.config.width = "auto", CKEDITOR.config.removePlugins = "save, about", (v___theme_night_mode_enabled || v___theme_night_mode ? 1 : 0) && (CKEDITOR.config.contentsCss = v___location_prefix + "/unauthenticated/css/palettes/nightrider_ckeditor_content." + v___source_type + ".css?" + v___theme_version_plain, $('html head link[href*="css/nightrider_ckeditor."]').length || $("html head").append('')); + var n = "%REV%" == CKEDITOR.revision || !!CKEDITOR.plugins.get("wysiwygarea"), + s = CKEDITOR.document.getById(e[0]); + if (n) { + var _ = get_server_data("language"); + CKEDITOR.replace(e[0], { + language: "zh" == _ ? "zh-cn" : _ + }) + } else s.setAttribute("contenteditable", "true"), CKEDITOR.inline(e[0]); + if (!0 === e[2]) + for (var r in CKEDITOR.instances) CKEDITOR.instances[r].on("change", function(e) { + e.removeListener(), set_onbeforeunload_status(1, 0) + }); + "edit_web" === e[3] && setTimeout(function() { + $("hr + b").removeClass("hidden"), $(".__tmp__spinner").remove() + }, 100) + }) +} + +function table_data_filter() { + $(".__page .dataTables_filter").length && setTimeout(function() { + $(".btn-filter-top-right").length || ($("#headln2r .btn-group a").addClass("pull-left").attr("style", ""), $("#headln2r .btn-group").prepend(' ')), $(".container-fluid .nav.nav-tabs").length && $("body").on("shown.bs.tab", 'a[data-toggle="tab"]', function(e) { + var t = $(e.target).parent(".active"); + t.data("filter-value") ? $(".dataTable-mirror").val(t.data("filter-value")).trigger("keyup") : $(".dataTable-mirror").val("").trigger("keyup"), table_data_filter_toggle_visibility() + }), $(".dataTables_filter").hide(), $(".filter_mirror_clear").mousedown(function(e) { + $(e.target).is(".filter_mirror_clear") && table_data_filter_clear() + }), $(".btn-filter-top-right").click(function(e) { + !$(e.target).is("input") && $(this).find("label").slideToggle(300, function() { + $(this).find("input").focus() + }) + }), $(".dataTable-mirror").keydown(function(e) { + 76 == e.keyCode && e.ctrlKey && (e.preventDefault(), e.stopPropagation(), table_data_filter_clear()) + }).keyup(function(e) { + $(".container-fluid .nav.nav-tabs").length ? ($(".nav-tabs li.active").data("filter-value", $(this).val()), $(".active .dataTables_filter input").val($(this).val()).trigger("keyup")) : $(".dataTables_filter input").val($(this).val()).trigger("keyup"), $.trim($(this).val()).length > 0 ? ($(".btn-filter-top-right span").removeClass("text-lighter"), $(".btn-filter-top-right i").addClass("text-danger")) : ($(".btn-filter-top-right span").addClass("text-lighter"), $(".btn-filter-top-right i").removeClass("text-danger")) + }), $(".btn-filter-top-right input").blur(function(e) { + $(this).parent("label").slideToggle(0) + }), table_data_filter_toggle_visibility() + }, 0) +} + +function table_data_filter_toggle_visibility() { + $(".container-fluid .nav.nav-tabs").length && $(".active .dataTables_filter").length || !$(".container-fluid .nav.nav-tabs").length && $(".dataTables_filter").length ? $(".btn-filter-top-right").show() : $(".btn-filter-top-right").hide() +} + +function table_data_filter_clear() { + var e = $(".btn-filter-top-right .dataTable-mirror"), + t = $(".btn-filter-top-right input"); + e.val("").trigger("keyup"), t.is(":visible") && t.trigger("blur") +} + +function table_data_init(e, t, i, a) { + function n(e) { + e.DataTable({ + order: [], + aaSorting: [], + bDestroy: !0, + bPaginate: !1, + columnDefs: [a], + bInfo: !1, + bStateSave: t, + destroy: !0, + dom: i ? "Rlfrtip" : "f", + oLanguage: { + sEmptyTable: theme_language("theme_xhred_datatable_semptytable"), + sInfo: theme_language("theme_xhred_datatable_sinfo"), + sInfoEmpty: theme_language("theme_xhred_datatable_sinfoempty"), + sLengthMenu: theme_language("theme_xhred_datatable_slengthmenu"), + sLoadingRecords: theme_language("theme_xhred_datatable_sloadingrecords"), + sProcessing: theme_language("theme_xhred_datatable_sprocessing"), + sSearch: " ", + sZeroRecords: theme_language("theme_xhred_datatable_szerorecords") + }, + initComplete: function(e) { + $(".dataTables_filter").find('input[type="search"]').attr("placeholder", theme_language("theme_xhred_datatable_filter")) + } + }) + } + if (void 0 === t && (t = !1), void 0 === i && (i = !1), void 0 === a && (a = !1), Core.curModuleFile("virtual-server", "index.cgi") && (t = !0), $.fn.dataTableExt.sErrMode = "throw", Core.curModuleFile("virtual-server", "list_users.cgi")) { + var s = $(".table thead tr th").filter(function() { + return $(this).text().match(/Last login|DerniĂšre Connexion|Siste innlogging|Letzer Login|Laatste login/) + }).index(); + s > -1 ? $.each(e.find("tbody tr td:nth-child(" + (s + 1) + ")"), function(e, t) { + var i = $(this).text(); + /Never|Jamais|Aldri|Niemals|Nigdy|Nooit/i.test(i) && (i = 0), $(this).attr("data-sort", i) + }).promise().done(function() { + n(e) + }) : n(e) + } else n(e) +} + +function favorites_check() { + return $("#favorites-menu .favorites-menu-content li:not(.exclude)").length +} + +function favorites_get() { + var e = []; + return $.each($("#favorites-menu .favorites-menu-content li:not(.exclude) a"), function() { + var t = $(this).text(), + i = $(this).attr("href"), + a = $(this).find(".wbm-sm").attr("data-product"); + favorite = {}, favorite.link = i.replace("?" + $__theme_navigation, "").replace("&" + $__theme_navigation, ""), favorite.title = t.trim(), favorite.icon = "virtualmin" == a ? a + "" : a, e.push(favorite) + }), e +} + +function favorites_init() { + "function" == typeof sortable && $("#favorites-menu > div > nav > ul").length && sortable("#favorites-menu > div > nav > ul", { + items: ":not(.favorites-title)", + forcePlaceholderSize: !1 + }).on("sortupdate", function() { + favorites_save() + }) +} + +function favorites_save() { + $.ajax({ + type: "POST", + url: v___location_prefix + "/settings-favorites_save.cgi", + data: { + favorites: '{"favorites":' + JSON.stringify(favorites_get(), null, 4).replace(/\\n/g, "\\n").replace(/\\'/g, "\\'").replace(/\\"/g, '\\"').replace(/\\&/g, "\\&").replace(/\\r/g, "\\r").replace(/\\t/g, "\\t").replace(/\\b/g, "\\b").replace(/\\f/g, "\\f") + "}" + }, + success: function(e) { + fetch_right_pane_favorites() + }, + error: function(e) {} + }), sortable("#favorites-menu > div > nav > ul") +} + +function favorites_add(e, t, i) { + var a = "favorites-menu .favorites-menu-content"; + 0 === favorites_check() && ($("#" + a + " li.favorites-no-message").addClass("hidden"), $("#" + a + " .favorites-title sup a").removeClass("hidden")), $("#" + a + " li.favorites-title").after('') +} + +function favorites_empty() { + var e = "favorites-menu .favorites-menu-content"; + 0 === favorites_check() && ($("#" + e + " li.favorites-no-message").removeClass("hidden"), $("#" + e + " .favorites-title sup a").addClass("hidden")) +} + +function favorites_remove(e) { + $("#favorites-menu .favorites-menu-content").find('a[href="' + e.replace("?" + $__theme_navigation, "").replace("&" + $__theme_navigation, "") + '"]').parent("li").remove(), $("#headln2c > .favorites, .xcustom-favorites").addClass("fa-star-o").removeClass("fa-star text-warning"), favorites_empty(), favorites_save() +} + +function favorites_detect() { + var e = $("#favorites-menu .favorites-menu-content li:not(.exclude) a").map(function(e, t) { + return $(t).attr("href").replace("?" + $__theme_navigation, "").replace("&" + $__theme_navigation, "") + }).toArray(), + t = $("#headln2c > .favorites, .xcustom-favorites"), + i = URI(v___location).resource().replace("?" + $__theme_navigation, "").replace("&" + $__theme_navigation, ""), + a = i + "index.cgi"; + $.inArray(i, e) > -1 || $.inArray(a, e) > -1 ? t.addClass("fa-star").removeClass("fa-star-o") : t.removeClass("fa-star").addClass("fa-star-o") +} + +function page_table_rows_control() { + $("body").attr("class") && $("body").attr("class").indexOf(v___module_file_manager) > -1 || $.each($(".ui_checked_columns"), function(e, t) { + !$(t).find("a[href]") || $("body").hasClass("servers") || $(this).hasClass("selectable") || $(t).addClass("cursor-pointer").find("td").addClass("cursor-pointer").find("label").addClass("cursor-pointer").find("tt").addClass("cursor-pointer"), $(t).find("td:not(.selectable)").click(function(e) { + if (!$(e.target).is(".awobject, .iawobject, .lawobject, .awcheckbox, .awradio") && $(t).find("a[href]") && !$("body").hasClass("servers")) { + var i = $(t).find("a[href]")[0], + a = ($(this).parents("tr.ui_checked_columns"), $(e.target).find('input[type="checkbox"]:not(":disabled")')), + n = a.length; + n && a.trigger("click"), !i || $(this).find("a").attr("href") !== $(i).attr("href") && void 0 !== $(this).find("a").attr("href") || $(e.target).is("select, input, .awobject, .iawobject, .lawobject, .awcheckbox, .awradio") || 0 !== $(this).parent("tr").find('a[href*="download.cgi"]').length || ($(i).attr("target") ? (e.preventDefault(), !n && window.open($(i).attr("href"), $(i).attr("target"))) : e.originalEvent && !$(e.target).is("a") && $(i).trigger("click")) + } + }), $(t).find("td").contextmenu(function(e) { + var t = $(this).parents("tr.ui_checked_columns"); + e.preventDefault(), ($(this).parents("tr").find('input[type="checkbox"]:first').length && 0 === $(this).parents("tr").find('input[type="checkbox"][disabled]').length || $(this).parents("tr").find('input[type="checkbox"][disabled]').length && $(this).parents("tr").find("input").length > 1) && (t.find('input[type="checkbox"]:first').is(":checked") ? t.removeClass("hl-aw") : t.addClass("hl-aw"), "function" == typeof __r____changed && __r____changed(), t.find('input[type="checkbox"]:first').trigger("click")) + }) + }) +} + +function page_radios_evolve() { + "conf" != get_server_data("post") && $.each($('input[type="radio"]:not(.iawobject), input[type="checkbox"]:not(.iawobject)'), function() { + $(this)[0] && ($___text = $(this)[0].nextSibling); + var e = $(this).next('input:not([type="radio"], [type="checkbox"], [type="hidden"]), select, textarea'), + t = $___text && $___text.nodeValue && $.trim($___text.nodeValue).length > 1, + i = t ? $___text.nodeValue : " ", + a = $(this).attr("type").toLowerCase(); + if (0 === $(this).next("label").length && 0 === e.length && t) { + if ($(this).addClass("iawobject"), !1 === (s = !!$(this).attr("id") && 'for="' + $(this).attr("id") + '"') && $(this).attr("name") && $(this).val()) { + var n = "__replaced_" + $(this).attr("name") + "_" + $(this).val(), + s = 'for="' + n + '"'; + $(this).attr("id", n) + } + $($___text).wrap('
    Theme logos').parents(".ui_form_end_buttons").css("width", "100%"), $(".btn-group.end_submits").css("margin-left", "2px") + }, 100)), e || v___location_path_lead_unslashed != v___location_prefix_unslashed_trail_slashed + "settings-upload.cgi" || ($(function() { + function e(e) { + void 0 === e && (e = $('input[name="authenticated_logo"]:checked')); + var t = ["authenticated_logo_file"]; + "1" != e.val() ? $.each(t, function(e, t) { + $('input[name="' + t + '"]').parents(".file-input-wrapper").addClass("disabled").prev(".file_chooser_button_preview").addClass("disabled") + }) : $.each(t, function(e, t) { + $('input[name="' + t + '"]').parents(".file-input-wrapper").removeClass("disabled"), "1" == $_authenticated_logo && $('input[name="' + t + '"]').parents(".file-input-wrapper").prev(".file_chooser_button_preview").removeClass("disabled") + }) + } + + function t(e) { + void 0 === e && (e = $('input[name="unauthenticated_logo"]:checked')); + var t = ["unauthenticated_logo_file"]; + "1" != e.val() ? $.each(t, function(e, t) { + $('input[name="' + t + '"]').parents(".file-input-wrapper").addClass("disabled").prev(".file_chooser_button_preview").addClass("disabled") + }) : $.each(t, function(e, t) { + $('input[name="' + t + '"]').parents(".file-input-wrapper").removeClass("disabled"), "1" == $_unauthenticated_logo && $('input[name="' + t + '"]').parents(".file-input-wrapper").prev(".file_chooser_button_preview").removeClass("disabled") + }) + } + $_authenticated_logo = $('input[name="authenticated_logo"]:checked').val(), $_unauthenticated_logo = $('input[name="unauthenticated_logo"]:checked').val(), e(), $('input[name="authenticated_logo"]').on("change", function() { + e($(this)) + }), t(), $('input[name="unauthenticated_logo"]').on("change", function() { + t($(this)) + }) + }), $(".file_chooser_button_preview").on("mouseout", function(e) { + $(this).css("background", "white") + }).on("mouseover", function(e) { + $(this).css("background", "#eee") + }), $.each($(".file_chooser_button_preview"), function() { + $(this).data("image") && $(this).popover({ + trigger: "hover", + html: !0, + content: function() { + return "" + } + }) + })), $("#system-status > div.panel-body > table > tbody > tr").on("mouseover", function() { + $(this).find(".btn-hidden").removeClass("hidden") + }).on("mouseout", function() { + $(this).find(".btn-hidden").addClass("hidden") + }), $('input[name="but_switch"]').on("click", function(e) { + $(this).parents("form").attr("target", "_top") + }), $('form[action*="switch_user.cgi"], a[href*="switch_user.cgi"]').each(function() { + $(this).attr("target", "_top") + }), (Core.curModule("mysql") || Core.curModule("postgresql")) && ($('a > img[src*="images/left.gif"]').each(function(e, t) { + $(this).replaceWith('') + }), $('a > img[src*="images/right.gif"]').each(function(e, t) { + $(this).replaceWith('') + })), Core.curModule("mailboxes") || Core.curModule("mailbox")) { + var s = 'form.ui_form[action="index.cgi"]', + _ = "fa fa-fw fa-lg text-semi-light vertical-align-baseline fa-angle-"; + $(s + ' img[src*="images/left"], center img[src*="images/left"]').each(function() { + $(this).replaceWith('') + }), $(s + ' img[src*="images/right"], center img[src*="images/right"]').each(function() { + $(this).replaceWith('') + }), $(s + ' img[src*="images/first"]').each(function() { + $(this).replaceWith('') + }), $(s + ' img[src*="images/last"]').each(function() { + $(this).replaceWith('') + }) + } + if (Core.curModuleFile("virtual-server", "list_scripts.cgi") && ($('td > a > img[src*="images/staroff.gif"]').each(function(e, t) { + $(this); + $(t).attr("src", v___location_prefix + "/images/staroff.gif") + }), $('td > a > img[src*="images/staron.gif"]').each(function(e, t) { + $(this); + $(t).attr("src", v___location_prefix + "/images/staron.gif") + })), v___location_directory_unslashed_trail_slashed == v___location_prefix_unslashed_trail_slashed + "status/" && ($('td img[src*="images/up.gif"]:not(".ui_icon_protected")').each(function(e, t) { + var i = $(this); + $(t).attr("src", v___location_prefix + "/images/check.png"), i.addClass("scale-08") + }), $('td img[src*="images/down.gif"]:not(".ui_icon_protected")').each(function(e, t) { + var i = $(this); + $(t).attr("src", v___location_prefix + "/images/cross.png"), i.addClass("scale-08") + }), $('td img[src*="images/not.gif"]:not(".ui_icon_protected")').each(function(e, t) { + var i = $(this); + $(t).attr("src", v___location_prefix + "/images/not.png"), i.addClass("scale-08") + })), $('.ui_form[action^="delete_mons"] tr.ui_checked_columns > td > label > img[src="images/up.gif"]:not(".ui_icon_protected"), .ui_form[action^="save_mon"] img[src="images/up.gif"]:not(".ui_icon_protected"), table.ui_buttons_table > tbody > tr.ui_buttons_row > td.ui_buttons_label > img[src="images/up.gif"]:not(".ui_icon_protected")').each(function(e, t) { + var i = $(this); + $(t).attr("src", v___location_prefix + "/images/check.png"), i.addClass("scale-08") + }), $('.ui_form[action^="delete_mons"] tr.ui_checked_columns > td > label > img[src="images/down.gif"]:not(".ui_icon_protected"), .ui_form[action^="save_mon"] img[src="images/down.gif"]:not(".ui_icon_protected"), table.ui_buttons_table > tbody > tr.ui_buttons_row > td.ui_buttons_label > img[src="images/down.gif"]:not(".ui_icon_protected")').each(function(e, t) { + var i = $(this); + $(t).attr("src", v___location_prefix + "/images/cross.png"), i.addClass("scale-08") + }), $('.ui_form[action^="delete_mons"] tr.ui_checked_columns > td > label > img[src="images/not.gif"]:not(".ui_icon_protected"), .ui_form[action^="save_mon"] img[src="images/not.gif"]:not(".ui_icon_protected"), table.ui_buttons_table > tbody > tr.ui_buttons_row > td.ui_buttons_label > img[src="images/not.gif"]:not(".ui_icon_protected")').each(function(e, t) { + var i = $(this); + $(t).attr("src", v___location_prefix + "/images/not.png"), i.addClass("scale-08") + }), (Core.curModule("proc") || Core.curModule("firewall") || Core.curModule("firewall6") || Core.curModule("shorewall") || Core.curModule("shorewall6") || Core.curModuleFile("pam", "edit_pam.cgi") || Core.curModule("filter")) && ($("td a img[src], td label a img[src]").parents("td").addClass("text-center"), $('td img[src*="images/gap.gif"]').replaceWith(''), $('td a img[src*="images/down.gif"]').replaceWith(''), $('td a img[src*="images/up.gif"]').replaceWith(''), $('td a img[src*="images/after.gif"]').replaceWith(''), $('td a img[src*="images/before.gif"]').replaceWith('')), (Core.curModule("squid") || Core.curModule("cron")) && ($('td a img[src*="images/movedown.gif"]').replaceWith(''), $('td a img[src*="images/moveup.gif"]').replaceWith('')), Core.curModule("cron") && ($('td a img[src*="images/bottom.gif"]').replaceWith(''), $('td a img[src*="images/top.gif"]').replaceWith('')), $("input").each(function(e, t) { + "images/ok.gif" == $(this).attr("src") && ($(t).attr("src", v___location_prefix + "/" + $(this).attr("src")), $(this).parents("td").attr("style", "white-space: nowrap")) + }), !e) { + if (!$(".ui_table tr td").has(".ui_grid_table.table-hardcoded") || v___location_directory_unslashed_trail_slashed != v___location_prefix_unslashed_trail_slashed + "passwd/" && v___location_directory_unslashed_trail_slashed != v___location_prefix_unslashed_trail_slashed + "mailboxes/" && v___location_path != v___location_prefix + "/usermin/list_configs.cgi" || ($(".ui_table tr td .ui_grid_table.table-hardcoded").parents("table").css("border", "1px solid #f0f0f0"), $(".ui_table tr td .ui_grid_table.table-hardcoded").addClass("table").parents("tr").css("border", "1px solid #f0f0f0")), ($("body").attr("class") && $('body[class="custom"]').length || $("body").attr("class") && 0 === $("body").attr("class").search(/custom\d+$/)) && "view.cgi" == v___location_file) { + var r = $('form[action="save.cgi"]').find(".table-title").find("tt").text(); + $('form[action="save.cgi"]').find(".table-title").find("b").empty().append("" + r + "") + } + if ($.each($("form > table"), function() { + $(this).next('input[type="submit"]') && $(this).attr("style") + }), $.each($("table tr"), function() { + $(this).is(":empty") && $(this).remove() + }), $.each($("span > input"), function() { + var e = $(this).parent("span").next(".file_chooser_button"), + t = $(this).parent("span").next('input[type="button"][onclick]'); + $(this).parent("span").next("select"); + e && e.attr("style", "display: inline; width:40px; height: 28px; margin-right:0 !important; margin-top:4px !important;").find("i.fa-files-o").css("margin-top", "0").addClass("vertical-align-middle"), $(this).parents(".tab-content") && e.css("margin-top", "4px"), t && (t.attr("style", "display: inline; width:40px; height: 28px; margin-right:0 !important; vertical-align: middle").next("i.fa-files-o").css("margin-top", "11px").addClass("vertical-align-middle"), t.attr("style", "display: inline; width:40px; height: 28px; margin-right:0 !important; vertical-align: middle").next("i.fa-calendar").attr("style", "margin-top: 8px !important; font-size: 11px; margin-left: -27px; pointer-events: none;")) + }), $.each($('input[type="button"][onclick^="ifield"]'), function(e, t) { + $(this).css("margin-left", "0").css("width", "40px").css("height", "28px") + }), $('.ui_form[action="switch.cgi"] > input.form-control.ui_textbox').next('input[type="button"][onclick^="ifield"]').attr("style", "margin-top: 2px !important; margin-bottom: 2px !important; margin-left: 0 !important"), setTimeout(function() { + $('.ui_form[action="switch.cgi"] .file_chooser_button_attached').attr("style", "font-size: 11px; pointer-events: none; margin-top: 14px !important;") + }, 10), v___location_directory_unslashed_trail_slashed == v___location_prefix_unslashed_trail_slashed + "cshrc/" && $("textarea").each(function(e, t) { + $(this).attr("style", "height: 20em !important") + }), v___location_path != v___location_prefix + "/acl/" && v___location_path != v___location_prefix + "/acl/edit_user.cgi" || $('.ui_grid_table.table-hardcoded .ui_grid_row .ui_grid_cell input[type="checkbox"], .table-hardcoded .col_value input[type="checkbox"]').each(function(e, t) { + $(this).attr("style", "vertical-align: bottom !important") + }), ($("body").attr("class") && $('body[class="custom"]').length || $("body").attr("class") && 0 === $("body").attr("class").search(/custom\d+$/)) && ($(".panel-body > .ui_grid_table.table-hardcoded").each(function(e, t) { + $(this).attr("style", "margin-top: 3px !important") + }), $(".panel-body td > .ui_form").each(function() { + $(this).attr("style", "padding-top: 0 !important") + }), $(".panel-body > a.ui_link").each(function(e, t) { + $(this).addClass("btn btn-inverse btn-tiny ui_link_replaced").removeClass("ui_link"), $(this).text($(this).text().replace(/\.$/, "")), $(this).parent().contents().filter(function() { + return 3 == this.nodeType + }).remove(), 0 === $(this).attr("href").indexOf("edit_cmd.cgi?new") && $(this).html(' ' + $(this).text()), 0 === $(this).attr("href").indexOf("edit_file.cgi?new") && $(this).html(' ' + $(this).text()), 0 === $(this).attr("href").indexOf("edit_sql.cgi?new") && $(this).html(' ' + $(this).text()) + }), $.each($('td.td_tag:contains("|")'), function() { + $(this).find('a[href^="edit_"]').addClass("ui_link_replaced btn btn-success btn-xxs").css("margin-right", "3px").removeClass("ui_link").prepend(' '), $(this).find('a:not([href^="edit_"])').remove(), $(this).parents("table").find("thead > tr > th:eq(2)").addClass("pointer-events-none").html("") + }), $('td.td_tag:contains("|")').contents().filter(function() { + return 3 == this.nodeType + }).remove()), theme_buttonify(["/virtual-server/cert_form.cgi", "/webmin/edit_ssl.cgi", "/usermin/edit_ssl.cgi"], "#att_current", "a", "btn btn-link btn-link-bordered btn-xxs margined-left-3 vertical-align-top margined-top-2 --to-new-tab", 0, "", "", "", "|"), theme_buttonify(["/sysinfo.cgi", "/virtual-server/edit_newchangelog.cgi", "/server-manager/edit_newchangelog.cgi"], "#newfeatures-virtual-server-collapse dt, #newfeatures-server-manager-collapse dt, .table td dt", "a", "btn btn-link btn-link-bordered btn-xxs margined-left-3 vertical-align-top margined-top-2", "fa-eye", "|", ""), theme_buttonify(["/virtual-server/", "/virtual-server/index.cgi", "/virtual-server/edit_plan.cgi"], "form table tbody td", 'a[href*="list_users.cgi?"], a[href*="list_aliases.cgi?"]', "btn btn-transparent btn-transparent-link-force btn-borderless btn-xxs vertical-align-top margined-top-2", 0, "(~)", " ~ ", "(~..)"), theme_buttonify(["/quota/", "/quota/index.cgi"], ".table tbody td.td_tag", 'a[href*="activate.cgi"][href*="&active=3"]', "btn btn-warning btn-xxs vertical-align-top margined-top-2", "fa-ban"), theme_buttonify(["/quota/", "/quota/index.cgi"], ".table tbody td.td_tag", 'a[href*="activate.cgi"][href*="&active=0"]', "btn btn-success btn-xxs vertical-align-top margined-top-2", "fa-check-circle-o"), theme_buttonify(["/virtualmin-google-analytics/", "/virtualmin-google-analytics/index.cgi"], ".table tbody td.td_tag", 'a[href*="edit.cgi"]', "btn btn-warning btn-xxs vertical-align-top margined-top-2", "fa-pencil-square"), theme_buttonify(["/apache/", "/apache/index.cgi"], ".table tbody tr td:last-child", "a.ui_link", "btn btn-transparent btn-link-bordered btn-xxs vertical-align-top margined-top-2", "fa-external-link"), ($('body[class*="status"]').length && "edit_mon.cgi" == v___location_file || v___location_path == v___location_prefix + "/virtual-server/list_sched.cgi" || v___location_path == v___location_prefix + "/ldap-server/edit_schema.cgi" || v___location_path == v___location_prefix + "/software/list_pack.cgi" || v___location_path == v___location_prefix + "/mailboxes/view_mail.cgi" || v___location_path == v___location_prefix + "/mailbox/view_mail.cgi" || v___location_path == v___location_prefix + "/mailbox/list_folders.cgi" || v___location_path == v___location_prefix + "/phpini/" || v___location_path == v___location_prefix + "/phpini/index.cgi" || v___location_path == v___location_prefix + "/fsdump/" || v___location_path == v___location_prefix + "/fsdump/index.cgi" || v___location_path == v___location_prefix + "/fdisk/" || v___location_path == v___location_prefix + "/fdisk/index.cgi" || v___location_path == v___location_prefix + "/virtualmin-awstats/" || v___location_path == v___location_prefix + "/virtualmin-awstats/index.cgi" || v___location_path == v___location_prefix + "/syslog/" || v___location_path == v___location_prefix + "/syslog/index.cgi") && ($.each($('tr td:last-child:contains("|")'), function() { + v___location_path == v___location_prefix + "/virtual-server/list_sched.cgi" && ($(this).find('a[href^="backup_form.cgi"]').html($(this).find('a[href^="backup_form.cgi"]').text().replace(/\.\.$/, " ")).addClass("ui_link_replaced btn btn-success btn-xxs").removeClass("ui_link").prepend('  '), $(this).find('a[href^="restore_form.cgi"]').html($(this).find('a[href^="restore_form.cgi"]').text().replace(/\.\.$/, " ")).addClass("ui_link_replaced btn btn-primary btn-xxs").removeClass("ui_link").prepend('  '), $(this).find('a[href^="backuplog.cgi"]').html($(this).find('a[href^="backuplog.cgi"]').text().replace(/\.\.$/, " ")).addClass("ui_link_replaced btn btn-info btn-xxs").removeClass("ui_link").prepend('  ')), v___location_path == v___location_prefix + "/ldap-server/edit_schema.cgi" && ($(this).find('a[href^="view_sfile.cgi"]').html($(this).find('a[href^="view_sfile.cgi"]').text().replace(/\.\.$/, " ")).addClass("ui_link_replaced btn btn-success btn-xxs").removeClass("ui_link").prepend('  '), $(this).find('a[href^="edit_sfile.cgi"]').html($(this).find('a[href^="edit_sfile.cgi"]').text().replace(/\.\.$/, " ")).addClass("ui_link_replaced btn btn-primary btn-xxs").removeClass("ui_link").prepend('  ')), v___location_path != v___location_prefix + "/phpini/" && v___location_path != v___location_prefix + "/phpini/index.cgi" || ($(this).find('a[href^="list_ini.cgi"]').html($(this).find('a[href^="list_ini.cgi"]').text().replace(/\.\.$/, " ")).addClass("ui_link_replaced btn btn-success btn-xxs").removeClass("ui_link").prepend('  '), $(this).find('a[href^="edit_manual.cgi"]').html($(this).find('a[href^="edit_manual.cgi"]').text().replace(/\.\.$/, " ")).addClass("ui_link_replaced btn btn-primary btn-xxs").removeClass("ui_link").prepend('  ')), v___location_path != v___location_prefix + "/fdisk/" && v___location_path != v___location_prefix + "/fdisk/index.cgi" || ($(this).find('a[href^="edit_hdparm.cgi"]').html($(this).find('a[href^="edit_hdparm.cgi"]').text().replace(/\.\.$/, " ")).addClass("ui_link_replaced btn btn-success btn-xxs").removeClass("heighter-34").removeClass("ui_link"), $(this).find('a[href*="smart-status/index.cgi"]').html($(this).find('a[href*="smart-status/index.cgi"]').text().replace(/\.\.$/, " ")).addClass("ui_link_replaced btn btn-info btn-xxs").removeClass("heighter-34").removeClass("ui_link"), $(this).find('a[href^="blink.cgi"]').html($(this).find('a[href^="blink.cgi"]').text().replace(/\.\.$/, " ")).addClass("ui_link_replaced btn btn-warning btn-xxs").removeClass("heighter-34").removeClass("ui_link")), v___location_path == v___location_prefix + "/mailbox/list_folders.cgi" && ($(this).find('a[href^="index.cgi"]').html($(this).find('a[href^="index.cgi"]').text().replace(/\.\.$/, " ")).addClass("ui_link_replaced btn btn-success btn-xxs").removeClass("heighter-34").removeClass("ui_link").removeClass("ui_link").prepend('  '), $(this).find('a[href^="edit_auto.cgi"]').html($(this).find('a[href^="edit_auto.cgi"]').text().replace(/\.\.$/, " ")).addClass("ui_link_replaced btn btn-info btn-xxs").removeClass("heighter-34").removeClass("ui_link").removeClass("ui_link").prepend('  '), $(this).find('a[href^="copy_form.cgi"]').html($(this).find('a[href^="copy_form.cgi"]').text().replace(/\.\.$/, " ")).addClass("ui_link_replaced btn btn-warning btn-xxs").removeClass("heighter-34").removeClass("ui_link").removeClass("ui_link").prepend('  ')), v___location_path != v___location_prefix + "/mailboxes/view_mail.cgi" && v___location_path != v___location_prefix + "/mailbox/view_mail.cgi" || ($(this).find('a[href^="detach.cgi"]:not([href*="&save=1"]):not([target="_blank"])').html($(this).find('a[href^="detach.cgi"]:not([href*="&save=1"]):not([target="_blank"])').text().replace(/\.\.$/, " ")).addClass("ui_link_replaced btn btn-primary btn-xxs").removeClass("heighter-34").removeClass("ui_link").removeClass("ui_link").prepend('  '), $(this).find('a[href*="detach.cgi"][target="_blank"]').html($(this).find('a[href*="detach.cgi"][target="_blank"]').text().replace(/\.\.$/, " ")).addClass("ui_link_replaced btn btn-success btn-xxs").removeClass("heighter-34").removeClass("ui_link").prepend('  '), $(this).find('a[href*="&save=1"]:not([target="_blank"])').html($(this).find('a[href*="&save=1"]:not([target="_blank"])').text().replace(/\.\.$/, " ")).addClass("ui_link_replaced btn btn-warning btn-xxs").removeClass("heighter-34").removeClass("ui_link").prepend('  ')), v___location_path != v___location_prefix + "/virtualmin-awstats/" && v___location_path != v___location_prefix + "/virtualmin-awstats/index.cgi" || ($(this).find('a[href^="view.cgi"]').html($(this).find('a[href^="view.cgi"]').text().replace(/\.\.$/, " ")).addClass("ui_link_replaced btn btn-success btn-xxs").removeClass("heighter-34").removeClass("ui_link").prepend('  '), $(this).find('a[href^="config.cgi"]').html($(this).find('a[href^="config.cgi"]').text().replace(/\.\.$/, " ")).addClass("ui_link_replaced btn btn-primary btn-xxs").removeClass("heighter-34").removeClass("ui_link").prepend('  ')) + }), $('body[class*="status"]').length && "edit_mon.cgi" == v___location_file ? ($('a[href*="edit_mon.cgi?id"]').addClass("ui_link_replaced btn btn-default btn-xxs").removeClass("heighter-34").removeClass("ui_link"), $('a[href*="edit_mon.cgi?id"]').last().css("margin-left", "-1px"), $('tr td:last-child:contains("|")').replaceText(/\|/gi, "")) : $('tr td:last-child:contains("|")').contents().filter(function() { + return 3 == this.nodeType + }).remove(), v___location_path != v___location_prefix + "/fdisk/" && v___location_path != v___location_prefix + "/fdisk/index.cgi" || $("body").find('a[href^="blink.cgi"]:not(.ui_link_replaced)').html($("body").find('a[href^="blink.cgi"]:not(.ui_link_replaced)').text().replace(/\.\.$/, " ")).addClass("ui_link_replaced btn btn-warning btn-xxs").removeClass("heighter-34").removeClass("ui_link"), v___location_path != v___location_prefix + "/fsdump/" && v___location_path != v___location_prefix + "/fsdump/index.cgi" || $.each($("tr td:last-child"), function() { + $(this).find('a[href^="backup.cgi"]').html($(this).find('a[href^="backup.cgi"]').text().replace(/\.\.$/, " ")).addClass("ui_link_replaced btn btn-success btn-xxs").removeClass("heighter-34").removeClass("ui_link").prepend('  '), $(this).find('a[href^="kill.cgi"]').html($(this).find('a[href^="kill.cgi"]').text().replace(/\.\.$/, " ")).addClass("ui_link_replaced btn btn-danger btn-xxs").removeClass("heighter-34").removeClass("ui_link").prepend('  ') + }), v___location_path != v___location_prefix + "/syslog/" && v___location_path != v___location_prefix + "/syslog/index.cgi" || $.each($("tr td:last-child"), function() { + $(this).find('a[href*="save_log.cgi"][href*="view=1"]').html($(this).find('a[href*="save_log.cgi"][href*="view=1"]').text().replace(/\.\.$/, " ")).addClass("ui_link_replaced btn btn-primary btn-xxs").removeClass("heighter-34").removeClass("ui_link").prepend('') + }), v___location_path == v___location_prefix + "/software/list_pack.cgi")) { + $('td a.ui_link[href*="view.cgi"]').html('').addClass("ui_link_replaced btn btn-default btn-xxs").removeClass("heighter-34").attr("style", "margin-top: 2px !important; margin-bottom: 0 !important; margin-right: 15px").removeClass("ui_link").prepend('') + } + if (v___location_path == v___location_prefix + "/fdisk/edit_disk.cgi") { + var o = []; + $.each($(".panel-body > table.table.table-striped tbody tr"), function(e, t) { + ($(this).find("td:nth-child(3)").find('img[src*="images/use"]').length || $(this).find("td:nth-child(3)").find('img[src*="images/gap"]').length) && ($(this).find("td:nth-child(3)").remove(), o.push(e)) + }), $.isEmptyObject(o) || ($(".panel-body > table.table.table-striped thead").find("th:nth-child(3)").remove(), delete o) + } + v___location_path == v___location_prefix + "/virtual-server/edit_link.cgi" && $(".table-hardcoded").find('input[name="open"]').parent("td").parent("tr").remove(), v___location_directory_unslashed_trail_slashed == v___location_prefix_unslashed_trail_slashed + "init/" && $('.table.table-striped.table-condensed tr.tr_tag td.td_tag input[type="checkbox"]').each(function(e, t) { + $(this).attr("style", "vertical-align: middle !important") + }), v___location_directory_unslashed_trail_slashed != v___location_prefix_unslashed_trail_slashed + "proc/" && v___location_path_lead_unslashed != v___location_prefix_unslashed_trail_slashed + "proc/index.cgi" || ((v___location_directory_unslashed_trail_slashed == v___location_prefix_unslashed_trail_slashed + "proc/" && v___location_file && v___location_file.indexOf("index_") > -1 || v___location_path_lead_unslashed == v___location_prefix_unslashed_trail_slashed + "proc/index.cgi" || v___location_path === v___location_prefix + "/proc/") && ($("a.ui_link + b").addClass("btn").css("margin-left", "3px"), $("b + a.ui_link").addClass("btn").css("margin-left", "3px"), $('.panel-body > b:first-child:contains("Display")').length > 0 && $(".panel-body > b:first-child").remove(), $(".panel-body > b").addClass("btn btn-success")), $(".panel-body").contents().filter(function() { + return 3 == this.nodeType + }).remove(), $(".panel-body > a.ui_link").addClass("btn").css("margin-left", "3px")), v___location_path_lead_unslashed == v___location_prefix_unslashed_trail_slashed + "proc/edit_proc.cgi" && $("#signal").attr("style", "margin-bottom: 0 !important;"), v___location_directory_unslashed_trail_slashed == v___location_prefix_unslashed_trail_slashed + "procmail/" && ($(".panel-body p:first-child").next("p").contents().filter(function() { + return 3 == this.nodeType + }).remove(), $(".panel-body p:last-child").prev("a.ui_link").remove()), v___location_directory_unslashed_trail_slashed != v___location_prefix_unslashed_trail_slashed + "cron/" && v___location_path_lead_unslashed != v___location_prefix_unslashed_trail_slashed + "cron/index.cgi" || $('.panel-body form.ui_form[action="index.cgi"]').next("script").next("b").next("p").contents().filter(function() { + return 3 == this.nodeType + }).remove(), v___location_directory_unslashed_trail_slashed == v___location_prefix_unslashed_trail_slashed + "filter/" && $(".panel-body > b").next("p").contents().filter(function() { + return 3 == this.nodeType + }).remove(), v___location_directory_unslashed_trail_slashed == v___location_prefix_unslashed_trail_slashed + "dhcpd/" && $(".panel-body > p").contents().filter(function() { + return 3 == this.nodeType + }).remove(), v___location_directory_unslashed_trail_slashed != v___location_prefix_unslashed_trail_slashed + "htaccess-htpasswd/" && v___location_directory_unslashed_trail_slashed != v___location_prefix_unslashed_trail_slashed + "forward/" || $("td table.table-hardcoded.table.table-subtable").removeClass("table-striped"), $(".ui_buttons_hr > td > table.table-hardcoded > tbody > tr > td[nowrap]").each(function() { + $(this).parents("table").attr("style", "margin-bottom: 15px !important") + }), $("textarea.form-control.ui_textarea").next('button[type="button"].btn-default').each(function() { + $(this).prev("textarea").attr("style", "margin-bottom: 1px !important"), $(this).attr("style", "width:100% !important; padding-top: 0; height:28px !important") + }), $("textarea.form-control.ui_textarea").next("br").next('button[type="button"].btn-default').each(function() { + $(this).prev("textarea").attr("style", "margin-bottom: 1px !important"), $(this).attr("style", "width:100% !important; padding-top: 0; height:28px !important") + }), $(".table-hardcoded > tbody > tr > td > input.form-control.ui_textbox").next('button[type="button"].ui_button').each(function() { + $(this).attr("style", "margin-top: 2px !important") + }), $(".table-hardcoded > tbody > tr > td.col_label b a, .ui_table_row td a").each(function(e, t) { + $(this).attr("href") || $(this).attr("style", "color: #333; text-decoration: none; cursor:default") + }), $('input[name="all_weekdays"], .ui_grid_cell > table.table-condensed, table.table-hardcoded table.table-condensed, select[multiple][name="days"]').each(function() { + $(this).parent("td").attr("style", "vertical-align: top !important; padding-left:2px; padding-right:2px;") + }), $('input[type="submit"]').each(function() { + $(this).addClass("btn btn-default") + }), $("table tr th").each(function() { + $(this).text() && $(this).attr("style", "width: auto") + }), $("table thead th:not(.table-title)").each(function() { + $(this).css("border-top", "none"), $(this).css("border-bottom", "none") + }), $("body").attr("class") && $("body").attr("class").indexOf(v___module_file_manager) > -1 && (!$("body").hasClass("file-manager") && $("body").addClass("file-manager"), $("#headln2l").prepend("')); + var l = $(".panel-heading > table.header > tbody > tr > td > a"); + $.each(l, function() { + if ($(this).attr("href") && $(this).attr("href").indexOf("config.cgi") > -1 || $(this).attr("href").indexOf("man/search.cgi") > -1 || $(this).attr("href").indexOf("/index.cgi") > -1 || $(this).attr("href") == v___location_directory_trail_slashed || $(this).attr("href").indexOf("index.cgi") > -1 && v___location_directory_unslashed_trail_slashed == v___location_prefix_unslashed_trail_slashed + "openvpn/" || $(this).attr("href").indexOf("index.cgi?") > -1 && v___location_directory_unslashed_trail_slashed == v___location_prefix_unslashed_trail_slashed + "spam/" || $(this).attr("href").indexOf("restart_zone.cgi") > -1 || $(this).attr("href").indexOf("restart.cgi") > -1 || $(this).attr("href").indexOf("apply.cgi") > -1 || $(this).attr("href").indexOf("start.cgi") > -1 || $(this).attr("href").indexOf("stop.cgi") > -1 || "//" == $(this).attr("href") && (v___location_path_lead_unslashed == v___location_prefix_unslashed_trail_slashed + "settings-editor_read.cgi" || v___location_path_lead_unslashed == v___location_prefix_unslashed_trail_slashed + "settings-upload.cgi") || $(this).attr("href").indexOf("delete_") > -1 || $(this).attr("href").indexOf("list_mail.cgi") > -1 || $(this).attr("href").indexOf("/virtual-") > -1 || $(this).attr("href").indexOf("/virtualmin-") > -1 || $(this).attr("href").indexOf("/server-") > -1 || $(this).attr("href").indexOf("help.cgi") > -1) { + if ($.each($(this).next("br"), function() { + $(this).remove() + }), $.each($(this).prev("br"), function() { + $(this).remove() + }), $(this).attr("href").indexOf("help.cgi") > -1) { + var e = $(this), + t = $(this).parent("td"); + $(this).remove(), t.append(e) + } + $(this).attr("href").indexOf("/index.cgi") > -1 || $(this).attr("href") == v___location_directory_trail_slashed || $(this).attr("href").indexOf("/virtual-") > -1 || $(this).attr("href").indexOf("/virtualmin-") > -1 || $(this).attr("href").indexOf("/server-") > -1 ? ($iconized_class = "fa-arrow-left", $(this).data("title", "").data("back", 1)) : "//" != $(this).attr("href") || v___location_path_lead_unslashed != v___location_prefix_unslashed_trail_slashed + "settings-editor_read.cgi" && v___location_path_lead_unslashed != v___location_prefix_unslashed_trail_slashed + "settings-upload.cgi" ? $(this).attr("href").indexOf("config.cgi") > -1 ? ($iconized_class = "fa-cog", $(this).data("title", "")) : $(this).attr("href").indexOf("restart.cgi") > -1 || $(this).attr("href").indexOf("apply.cgi") > -1 ? $iconized_class = "fa-refresh" : $(this).attr("href").indexOf("restart_zone.cgi") > -1 ? $iconized_class = "fa-retweet" : $(this).attr("href").indexOf("start.cgi") > -1 ? $iconized_class = "fa-play" : $(this).attr("href").indexOf("stop.cgi") > -1 ? $iconized_class = "fa-square" : $(this).attr("href").indexOf("man/search.cgi") > -1 ? $iconized_class = "fa-search" : $(this).attr("href").indexOf("delete_") > -1 ? $iconized_class = "fa-trash-o" : $(this).attr("href").indexOf("list_mail.cgi") > -1 ? $iconized_class = "fa-inbox" : $(this).attr("href").indexOf("index.cgi") > -1 && v___location_directory_unslashed_trail_slashed == v___location_prefix_unslashed_trail_slashed + "openvpn/" ? $iconized_class = "fa-cogs" : $(this).attr("href").indexOf("index.cgi?") > -1 && v___location_directory_unslashed_trail_slashed == v___location_prefix_unslashed_trail_slashed + "spam/" && ($iconized_class = "fa-arrow-left", $(this).data("back", 1)) : ($iconized_class = "fa-arrow-left", $(this).attr("href", v___location_prefix + "/webmin/edit_themes.cgi").data("title", "").data("back", 1)); + var i = $(this).attr("href").indexOf("help.cgi") > -1; + i && ($iconized_class = "fa-question-circle", $(this).data("title", "")), $(this).data("toggle", "tooltip").data("title", Convert.strUpInitial(i ? theme_language("theme_xhred_global_help") : 1 === $(this).data("back") ? Core.curModule(v___module_file_manager) ? "" : theme_language("theme_xhred_global_prev_page") : $(this).text())).attr("data-container", "body").addClass("btn btn-link text-lighter").removeClass("ui_link").append(''), $(this).contents().filter(function() { + return 3 == this.nodeType + }).remove(), $(this).tooltip({ + container: "body", + placement: "auto top", + delay: { + show: 600, + hide: 30 + } + }), ((v___location_directory_unslashed_trail_slashed == v___location_prefix_unslashed_trail_slashed + "apache/" || v___location_directory_unslashed_trail_slashed == v___location_prefix_unslashed_trail_slashed + "proftpd/") && ($(this).attr("href").indexOf("restart.cgi") > -1 || $(this).attr("href").indexOf("apply.cgi") > -1) || $(this).parent("td").find("a") && 1 == $(this).parent("td").find("a").length || $(this).attr("href").indexOf("man/search.cgi") > -1 || $(this).attr("href").indexOf("config.cgi") > -1 || $(this).attr("href").indexOf("/index.cgi") > -1 || $(this).attr("href").indexOf("/index.cgi") > -1 || $(this).attr("href").indexOf("/virtual-") > -1 || $(this).attr("href").indexOf("/virtualmin-") > -1 || $(this).attr("href").indexOf("/server-") > -1) && (($(this).attr("href").indexOf("/index.cgi") > -1 || $(this).attr("href").indexOf("config.cgi") > -1) && $("body").attr("class") && $("body").attr("class").indexOf(v___module_file_manager) > -1 ? $(this).attr("style", "margin-right: 0 !important; padding: 6px 12px") : $(this).attr("style", "margin-right: 0 !important")) + } + $("#headln2l").removeClass("invisible") + }), $.each($('td.ui_grid_cell:contains("|")'), function() { + $(this).contents().filter(function() { + return 3 == this.nodeType + }).remove() + }), $('a[href*="help.cgi"][onclick], a[href*="showpass.cgi?"][onclick]').attr("onclick", "").unbind("click").addClass("help_popup"), $(".help_popup").each(function() { + $(this).attr("style", "color: #333; text-decoration: none; cursor:help") + }) + } + if ($(".help_popup").on("click", function(e) { + e.stopPropagation(), e.preventDefault(); + var t = $(this), + i = $(this).attr("href"), + a = $(this).parents("td"); + a.append(''), $.ajax({ + type: "POST", + url: t.attr("href").indexOf("showpass.cgi") > -1 ? v___location_directory_trail_slashed + t.attr("href") : t.attr("href"), + data: !1, + dataType: "text", + success: function(e) { + a.find("._tmp_help_content").html(e.replace(/<(script|link|meta)\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/(script|link|meta)>/gi, "")), $help_title = a.find("._tmp_help_content .ui_subheading").first().text(), $help_body = a.find("._tmp_help_content title").remove(), $help_body = a.find("._tmp_help_content h3.ui_subheading").remove(), $help_body = a.find("._tmp_help_content h3").addClass("h3_help"), $help_body = a.find("._tmp_help_content hr").remove(); + var n = a.find("._tmp_help_content a"); + void 0 !== n.attr("href") && $.each(n, function() { + var e = $(this).attr("href"); + e.startsWith("http") ? $help_body = a.find("._tmp_help_content a").attr("target", "_blank").css("text-decoration", "none").css("font-style", "italic") : ($("body").undelegate('a[href="' + e + '"]', "click"), $("body").one("click", 'a[href="' + e + '"]', function(a) { + if ($(a.target).is($('a[href="' + e + '"]'))) { + a.preventDefault(); + var n = Convert.pathnamePopLast(t.attr("href")) + "/" + e; + $('a[href="' + i + '"].help_popup').attr("data-initial", i).attr("data-substituted", n), $('a[href="' + i + '"].help_popup').attr("href", n), t.trigger("click") + } + })) + }), $help_body = a.find("._tmp_help_content").html(), a.find("._tmp_help_content").remove(); + var s = '', + _ = t.attr("href").indexOf("showpass.cgi") > -1; + _ && (s = ""), t.popover({ + html: !0, + container: "body", + template: '', + title: function() { + return s + $help_title + }, + content: function() { + return $help_body + }, + placement: "auto right" + }), t.popover("show"), t.on("shown.bs.popover", function() { + $help_body.indexOf("") > -1 && $(".popover").animate({ + "max-width": "540px" + }, 300), $("body").find(".popover:visible").addClass("module-help"), $('body[class*="' + v___module_file_manager + '"]').find(".popover:visible").addClass("file-manager-help"), setTimeout(function() { + $.each($(".module-help"), function() { + $(this).is(t.next(".module-help")) ? ($(this).animate({ + opacity: 1 + }, 600), popover_visibility_position($(this))) : $(".module-help").length > 1 ? $(this).css("opacity", .85) : $(this).css("opacity", 1) + }) + }, 100) + }), t.on("hidden.bs.popover", function() { + $("body").undelegate(":not(tt)", "click"), t.attr("data-initial") && (t.attr("href", t.attr("data-initial")), t.removeAttr("data-initial").removeAttr("data-substituted")) + }) + } + }) + }), !e) { + if (v___location_directory_unslashed_trail_slashed != v___location_prefix_unslashed_trail_slashed + "fdisk/" && v___location_directory_unslashed_trail_slashed != v___location_prefix_unslashed_trail_slashed + "postfix/" && v___location_directory_unslashed_trail_slashed != v___location_prefix_unslashed_trail_slashed + "pam/" && v___location_directory_unslashed_trail_slashed != v___location_prefix_unslashed_trail_slashed + "syslog/" || $("p > a[href], table + a[href], div.panel-body > a.ui_link").each(function(e, t) { + $(this).text($(this).text().replace(/\.$/, "")) + }), $('.panel-body > form > p > a.ui_link, .panel-body > table.table + a.ui_link, .panel-body > p > a:not([href*="config.cgi?bacula-backup"]), body[data-current-product="usermin"] div.panel-body > p > a, div.panel-body > a[href^="edit_"]:not([href^="edit_user.cgi?user="], [href^="edit_group.cgi?group="]), .ui_form > a, .ui_grid_cell > :not(input):not(.acheckbox):not(.aradio):not(label) + a.ui_link:not([href^="edit_acl.cgi"], [href^="edit_rpc.cgi"], [href^="edit_user.cgi?user="], [href^="edit_group.cgi?group="]), .ui_grid_cell > a.select_all, .ui_grid_cell > a.select_invert, .ui_grid_cell > :not(input):not(.acheckbox):not(.aradio):not(label) + a[href*=".cgi"]:not([href^="edit_acl.cgi"], [href^="edit_rpc.cgi"], [href^="edit_user.cgi?user="], [href^="edit_group.cgi?group="]), .ui_grid_cell > a[href*=".cgi"]:first-child:not([href^="edit_rpc.cgi"],[href^="edit_nuser.cgi"],[href*="edit_user.cgi?idx"]), .tab-pane > p > a, .tab-pane > a.ui_link, .tab-pane > .table-condensed > a.ui_link, .tab-pane > a, .panel-body > p > a.ui_link, a.select_all, a.select_invert, form[action="delete.cgi"] > table table.ui_grid_table + a').each(function() { + if (!(Core.curModuleFile("samba", "edit_epass.cgi") || Core.curModule("acl") && ($(this).is('[href^="edit_user.cgi?user="]') || $(this).parent("td.ui_grid_cell").length) && !$(this).parents("b").length) && !Core.curModuleFile("virtual-server", "history.cgi") && !Core.curModuleFile("server-manager", "one_history.cgi") && v___location_directory_unslashed_trail_slashed != v___location_prefix_unslashed_trail_slashed + "passwd/" && $(this).text() && v___location_path != v___location_prefix + "/mailboxes/" && v___location_path != v___location_prefix + "/mailboxes/index.cgi" && v___location_path != v___location_prefix + "/usermin/list_configs.cgi" && !$(this).hasClass("help_popup")) { + $(this).addClass("btn btn-inverse btn-tiny ui_link_replaced"), $(this).text($(this).text().replace(/\.$/, "")); + var e = $(this).parent().contents().filter(function() { + return 3 == this.nodeType + }); + e && $.each(e, function() { + $(this).text() && $(this).text().length <= 3 && $(this).remove() + }), $(this).hasClass("select_all") && $(this).html(' ' + $(this).text()), $(this).hasClass("select_invert") && $(this).html(' ' + $(this).text()), $(this).attr("href") && (0 === $(this).attr("href").indexOf("edit") && 0 !== $(this).attr("href").indexOf("edit_allow") || 0 === $(this).attr("href").indexOf("master_form") || 0 === $(this).attr("href").indexOf("slave_form") || 0 === $(this).attr("href").indexOf("stub_form") || 0 === $(this).attr("href").indexOf("forward_form") || 0 === $(this).attr("href").indexOf("delegation_form") || 0 === $(this).attr("href").indexOf("mass_form") || 0 === $(this).attr("href").indexOf("newdb_form")) ? $(this).html(' ' + $(this).text()) : $(this).attr("href") && 0 === $(this).attr("href").indexOf("edit_allow") ? $(this).html(' ' + $(this).text()) : $(this).attr("href") && 0 === $(this).attr("href").indexOf("mass_ucreate") && $(this).html(' ' + $(this).text()), v___location_directory_unslashed_trail_slashed == v___location_prefix_unslashed_trail_slashed + "custom/" && ($(this).attr("href") && 0 === $(this).attr("href").indexOf("edit_cmd.cgi?new") && $(this).html(' ' + $(this).text()), $(this).attr("href") && 0 === $(this).attr("href").indexOf("edit_file.cgi?new") && $(this).html(' ' + $(this).text()), $(this).attr("href") && 0 === $(this).attr("href").indexOf("edit_sql.cgi?new") && $(this).html(' ' + $(this).text())), $(this).attr("href") || $(this).remove() + } + }), $.each($(".btn-tiny.ui_link_replaced"), function() { + $(this).prev('[class="table table-striped table-condensed"]').length && $(this).next(':not(".ui_link_replaced")').length && $(this).removeClass("btn-tiny ui_link_replaced").addClass("ui_link_re-replaced") + }), $("a.ui_link_replaced").each(function() { + $(this).prev().is("b") && $(this).prev("b").addClass("btn btn-success btn-tiny"), $(this).next().is("b") && $(this).next("b").addClass("btn btn-success btn-tiny") + }), $("a.ui_link_replaced").each(function() { + return !$(this).next().is("a.ui_link_replaced") || $(this).hasClass("select_all") || $(this).hasClass("select_invert") ? !$(this).prev().is("a.ui_link_replaced") || $(this).hasClass("select_all") || $(this).hasClass("select_invert") ? void 0 : ($(this).prev("a.ui_link_replaced").not(".btn-xxs"), !1) : ($(this).next("a.ui_link_replaced").not(".btn-xxs"), !1) + }), v___location_directory_unslashed_trail_slashed == v___location_prefix_unslashed_trail_slashed + "fetchmail/" && $("a.ui_link").each(function() { + $(this).addClass("btn btn-inverse btn-tiny ui_link_replaced").css("margin-bottom", "10px").css("margin-top", "4px"), $(this).text($(this).text().replace(/\.$/, "")), $(this).parent().contents().filter(function() { + return 3 == this.nodeType + }).remove() + }), $('select.ui_select[name="days"]').each(function() { + $(this).parent("td").attr("style", "vertical-align: top !important") + }), v___location_directory_unslashed_trail_slashed != v___location_prefix_unslashed_trail_slashed + "mailboxes/" && v___location_path != v___location_prefix + "/mailboxes/index.cgi" && v___location_directory_unslashed_trail_slashed != v___location_prefix_unslashed_trail_slashed + "mailbox/" && v___location_path != v___location_prefix + "/postfix/view_mailq.cgi" || (v___location_file ? "list_mail.cgi" == v___location_file && $('.container-fluid input:not([type="checkbox"]), .container-fluid .ui_form_end_submit, .container-fluid select').addClass("heighter-34").removeClass("heighter-28").css("margin-bottom", "-1px") : ($(".ui_form_end_submit").css("margin-top", "0"), $("input#user").addClass("heighter-34 vertical-align-top")), $("body").find("form").removeAttr("onsubmit"), $header_tables = $("body").find('input[name="from"]').parents(".tab-pane").parent("td"), $header_tables.children("table").hide(), $.each($header_tables.find("input, textarea, select"), function() { + $(this).hasClass("ui_select") || $(this).attr("onclick") || "checkbox" == $(this).attr("type") || "submit" == $(this).attr("type") || $(this).attr("style", "width: 60%").addClass("inline-block"), $(this).attr("onclick") && $(this).addClass("inline-block") + }), onbeforeunload = null, 1 == $("body").find('input.ui_hidden[name="html_edit"]').val() && editor_html_init(["body", 2, !1, "edit_web"]), $("body").find('input[name="from"]').parents(".tab-pane").prev("table").remove(), $("body").find('input[name="from"]').parents(".tab-pane ").parent("td").find("div, table").each(function(e, t) { + $(this).find(".col_label").css("width", "20%"), $(this).find('input[name="subject"]').parent("td").prev("td").find("b").attr("style", "font-size: 13px !important"), $(this).find('input[name="subject"]').parents("table").show(), $(this).find('input[name="subject"]').parent("td").find(".submitter").remove() + }), $editor_mode_link_container = $("body").find('textarea[id="body"]').parents("table").find("thead > tr > th:last-child"), $editor_mode_link = $editor_mode_link_container.find("a").addClass("editor_mode_link"), $editor_mode_link_container.parent("tr").find("th:first-child").append($editor_mode_link), $editor_mode_link_container.remove(), $editor_mode_link_button = $("body").find('textarea[id="body"]').parents("table").find(".editor_mode_link"), $editor_mode_link_button_state = !!$editor_mode_link_button.attr("href") && $editor_mode_link_button.attr("href").indexOf("html=0"), $editor_mode_link_button.attr("title", $editor_mode_link_button.text()).addClass("editor_mode_link_button pull-right btn btn-sm " + (-1 == $editor_mode_link_button_state ? "btn-success" : "btn-primary")).html(' '), $("body").find('textarea[id="body"]').parents("table").find("thead > tr > th").find("b").css("padding-left", "45px"), $(".editor_mode_link_button").tooltip(), $fileinput_container = $("body").find('a[onclick="return add_ss_attachment()"]'), $fileinput_container.parent("td").contents().filter(function() { + return 3 == this.nodeType + }).remove(), $fileinput_container.remove(), $fileinput_add_another_attachment = $("body").find('a[onclick="return add_attachment()"]'), $fileinput_add_another_attachment.addClass("btn btn-default"), $fileinput_add_another_attachment.text($fileinput_add_another_attachment.text().replace(/\.$/, "")), (v___location_path.indexOf("view_mail.cgi") > -1 || v___location_path.indexOf("view_mailq.cgi") > -1) && ($table_title_header_container = $(".ui_form").find("div.table-responsive").first().find(".table-title"), $table_title_links_container = $table_title_header_container.next(), $table_title_links_container.contents().filter(function() { + return 3 == this.nodeType + }).remove(), $table_title_links_container.find("a").addClass("table_title_links pull-right btn btn-info btn-tiny"), $table_title_links = $table_title_links_container.html(), $table_title_header_container.append($table_title_links), $table_title_links_container.remove(), $table_title_header_container_text_padding = 35, $(".table-title > a.table_title_links").each(function() { + $table_title_header_container_text_padding = v___location_path == v___location_prefix + "/postfix/view_mailq.cgi" ? 120 : 235 + }), $(".table_title_links_container a").each(function() { + $table_title_header_container_text_padding += $(this).width() + }), $table_title_header_container.find("b").css("padding-left", $table_title_header_container_text_padding), $table_title_second_container = $(".ui_form").find("div.table-responsive").first().next("div.table-responsive").find("table:first-child"), $table_title_header_container = $(".ui_form").find("div.table-responsive").first().next("div.table-responsive").find("th:first-child"), $table_title_links_container = $(".ui_form").find("div.table-responsive").first().next("div.table-responsive").find("th:last-child"), 2 == $(".ui_form").find("div.table-responsive").first().next("div.table-responsive").find("th").length && $table_title_links_container.remove(), $table_title_links_container.find("a").addClass("table_title_links pull-right btn btn-tiny"), $table_title_links_container.find("a").attr("href") && $table_title_links_container.find("a").attr("href").indexOf("body=1") > -1 ? $table_title_links_container.find("a").addClass("btn-info") : $table_title_links_container.find("a").addClass("btn-warning"), $table_title_links = $table_title_links_container.html(), $table_title_header_container.append($table_title_links), $table_title_header_container_text_padding = 10, $table_title_header_container.find("a").each(function() { + $table_title_header_container_text_padding += $(this).width() + }), setTimeout(function() { + if ($(".ui_form").find("div.table-responsive").first().find("table:first-child").outerWidth() != $(".ui_form").find("div.table-responsive").first().next("div.table-responsive").find("table:first-child").outerWidth()) { + var e = parseInt($(".ui_form").find("div.table-responsive").first().find("table:first-child").width() / 2); + $table_title_second_container.find(".table-title").addClass("left").find("b").css("padding-left", e - 175), $table_title_second_container.find(".pull-right").removeClass("pull-right").addClass("pull-left") + } + $.each($table_title_second_container.find("table"), function() { + $(this).removeClass().addClass("clear-formatting"), $.each($(this).find("td.col_value"), function() { + $(this).css("background-color", "white") + }) + }) + }, 30), $table_title_header_container.find("b").css("padding-left", $table_title_header_container_text_padding), $table_title_header_container.find("b") && $table_title_header_container.find("b").length > 1 && $table_title_header_container.find("b:first-child").text() == $table_title_header_container.find("b:last-child").text() && $table_title_header_container.find("b:last-child").remove()), $("td > a").on("click", function() { + $(this).attr("onclick"), $("input[type=file]").each(function() { + $(this).parent("a").hasClass("file-input-wrapper") || $(this).bootstrapFileInput() + }) + }), settings_mailbox_slash_delimiter && $("select.ui_select[name] > option").each(function(e, t) { + $(t).text($(t).text().replace(/\./g, "/").replace(/\/\//g, "/")) + }), $.each($('table td[align="right"], table td[align="left"]'), function(e, t) { + $(this).attr("style", "border: 0 !important;"), $(this).parents("tbody").attr("style", "border: 0 !important;"), $(this).parents("table.table-hardcoded.table.table-striped.table-condensed.table-subtable").removeClass("table-hardcoded table table-striped table-condensed table-subtable") + }), $.each($("div.table-responsive > table tbody tr td > table.table-hardcoded"), function(e, t) { + $(this).find("tr > td.col_label > b").removeAttr("style"), $(this).removeClass("table table-condensed") + }), $.each($("div.table-responsive > table tbody tr td > div.tab-pane"), function(e, t) { + $(this).find("table").removeClass("table"), $(this).parents("div.table-responsive").find("table").removeClass("table-striped table-subtable") + }), $.each($('div.table-responsive > table tbody tr td > div.tab-pane .col_value > input[type="button"][onclick^="ifield"]'), function(e, t) { + $(this).attr("style", "margin-left: 0; margin-bottom: 3px !important") + })), $.each($(".barchart"), function() { + $(this).find("img").attr("height", 4) + }), $('#extended_sysinfo-1 div[aria-labelledby^="updates-"] div.panel-body div.table-responsive table.table.table-striped.table-condensed').next("table.ui_form_end_buttons").css("margin-top", "10px"), $('#extended_sysinfo-1 div[aria-labelledby^="updates-"] div.panel-body div.table-responsive table.table.table-striped.table-condensed').next("table.ui_form_end_buttons").css("margin-top", "10px").prev("table.table-condensed").prev("table.table.table-striped").addClass("invisible"), $("a").each(function() { + $(this).attr("href") || $(this).addClass("no_effect") + }), v___location_path != v___location_prefix + "/virtual-server/domain_form.cgi" && v___location_path != v___location_prefix + "/server-manager/list_images.cgi" && v___location_path != v___location_prefix + "/virtual-server/bwgraph.cgi" || ($(".panel-body > a").each(function() { + $(this).addClass("btn btn-inverse btn-tiny ui_link_replaced").removeClass("ui_link"), $(this).text($(this).text().replace(/\.$/, "")) + }), $.each($('.panel-body:contains("|")'), function() { + $(this).contents().filter(function() { + return 3 == this.nodeType + }).wrap('') + }), $.each($(".btn-automated"), function() { + $(this).text().replace(/[\t\n]+/g, " ").length < 4 ? $(this).remove() : ($(this).text($(this).text().replace("|", "").replace("|", "").replace(/(?:\r\n|\r|\n)/g, "")), $(this).prev().is("img") && $(this).removeClass().addClass("margined-left-3")) + }), $(".panel-body > b").css("margin-right", "7px"), v___location_path == v___location_prefix + "/virtual-server/domain_form.cgi" && $.each($(".btn-automated, .ui_link_replaced"), function(e, t) { + 0 == e && $(this).html(' ' + $(this).text()), 1 == e && $(this).html(' ' + $(this).text()), 2 == e && $(this).html(' ' + $(this).text()), 3 == e && $(this).html(' ' + $(this).text()) + })), v___location_path == v___location_prefix + "/server-manager/edit_serv.cgi" && setTimeout(function() { + $('.opener_container .table-hardcoded .col_value a[href^="edit_serv.cgi"]').each(function() { + $(this).addClass("btn btn-inverse btn-xxs ui_link_replaced margined-right--2").removeClass("ui_link").attr("style", "margin-top: 0 !important"), $(this).text($(this).text().replace(/\.$/, "")) + }), $.each($('.opener_container .table-hardcoded .col_value:contains("|")'), function() { + $(this).find('a[href^="edit_serv.cgi"]').length && $(this).contents().filter(function() { + return 3 == this.nodeType + }).wrap(''), $.each($(".btn-automated"), function() { + $(this).text().length < 4 ? $(this).remove() : $(this).text($(this).text().replace("|", "").replace("|", "").replace(/(?:\r\n|\r|\n)/g, "")) + }) + }) + }, 20), $.each($("input:not(.ui_upload)"), function() { + "28px" == $(this).css("height") && $(this).prev("input").addClass("heighter-28") + }), $.each($(".container-fluid select"), function() { + "34px" == $(this).next("input").css("height") && $(this).addClass("heighter-34") + }), $.each($(".container-fluid .ui_buttons_row input, .container-fluid .ui_buttons_row select"), function() { + $(this).addClass("heighter-34") + }), Core.curModuleFile("gnupg", "list_keys.cgi") && $('.container-fluid input[id="id"]').addClass("heighter-34"), Core.curModuleFile("virtual-server", "edit_script.cgi")) { + var c = $('input[name="version"]'); + c.length && c.attr("style", c.attr("style").replace("n: middle", "n: bottom !important")).addClass("heighter-34") + } + if ($.each($("tr > .ui_form"), function() { + $(this).next().next("td").find("input.submitter") && $(this).next().next("td").find("input.submitter").addClass("heighter-34") + }), $.each($("input.heighter-34").next(".file_chooser_button"), function() { + $(this).addClass("heighter-34"), $(this).find(".fa.fa-files-o").css("margin-top", "0").addClass("vertical-align-middle") + }), setTimeout(function() { + $.each($(".container-fluid select"), function() { + 34 == $(this).next("input").outerHeight() || 34 == $(this).prev("input").outerHeight() ? $(this).addClass("heighter-34").removeClass("heighter-28") : 28 != $(this).next("input").outerHeight() && 28 != $(this).prev("input").outerHeight() || $(this).addClass("heighter-28").removeClass("heighter-34") + }) + }, 1), Core.curModule("term")) { + var d = $("iframe"); + if (d.length) { + var h = d; + h.on("load", function() { + h.contents().find("#term").css("width", "99.3%").css("height", "576px").css("margin-top", "4px") + }), $(this).next("br").remove().next('input[type="button"]').remove(), $(this).next('input[type="button"]').remove(), $(this).next("p").remove() + } + } + $.each($(".file_chooser_button"), function() { + $(this).prev("input").attr("style") && $(this).prev("input").attr("style").indexOf("max-width: 100%") > -1 && $(this).prev("input").css("max-width", "93%") + }), v___location_path_lead_unslashed == v___location_prefix_unslashed_trail_slashed + "sysinfo.cgi" && 1 == settings_sysinfo_link_mini && $(".navigation > li:not('.has-sub')").removeClass("sub_active").find("span.current-large").remove(), $.each($('input[value="..."], input[value=" ..."], input[value=" ..."], input[value="... "], input[value="... "], input[value=" ... "], input[value=" ... "]'), function() { + $(this).after(''), $(this).attr("value", "") + }), $.each($(".file_chooser_button"), function() { + $(this).prev("input").css("margin-top", "2px").css("margin-bottom", "2px") + }), $.each($(".file_chooser_button_attached"), function() { + $(this).prev('input[type="button"]').prev("input").css("margin-top", "2px").css("margin-bottom", "2px"), $(this).parents(".ui_buttons_label").length || $(this).parents(".table-subtable").length || $(this).css("margin-top", "11px") + }), $.each($(".container-fluid .ui_form > .file_chooser_button_attached"), function() { + ($(this).prev(".heighter-34") && $(this).prev(".heighter-34").length || $(this).next(".heighter-34") && $(this).next(".heighter-34").length) && ($(this).css("margin-top", "16px"), $(this).prev("input[onclick]").css("width", "40px")) + }), $.each($('.container-fluid .ui_form[action="init_cache.cgi"] > .file_chooser_button_attached'), function() { + ($(this).prev(".heighter-34") && $(this).prev(".heighter-34").length || $(this).next(".heighter-34") && $(this).next(".heighter-34").length) && $(this).css("margin-top", "14px") + }), $.each($(".col_value > .file_chooser_button_attached"), function() { + $(this).prev("input[onclick]").css("width", "40px").css("margin-left", "0") + }), $("a.ui_link, .btn").each(function() { + "." == $(this).text().substr(-1) && $(this).text($(this).text().substr(0, $(this).text().length - 1)), "." == $(this).text().substr(-1) && $(this).text($(this).text().substr(0, $(this).text().length - 1)), "." == $(this).text().substr(-1) && $(this).text($(this).text().substr(0, $(this).text().length - 1)) + }), v___location_path != v___location_prefix + "/virtualmin-mailman/" && v___location_path != v___location_prefix + "/virtualmin-mailman/index.cgi" || $("input[name^=reset_]").addClass("heighter-28"), v___location_path != v___location_prefix + "/software/edit_pack.cgi" && v___location_path != v___location_prefix + "/apache/show.cgi" && v___location_path != v___location_prefix + "/proc/index_search.cgi" || $.each($(".container-fluid .btn:not(.file_chooser_button)"), function() { + $(this).removeClass("heighter-28").addClass("heighter-34") + }), v___location_path != v___location_prefix + "/virtualmin-git/" && v___location_path != v___location_prefix + "/virtualmin-git/index.cgi" || $.each($(".btn.btn-default.submitter.ui_submit"), function() { + $(this).removeClass("heighter-28").addClass("heighter-28") + }), v___location_path != v___location_prefix + "/apache/edit_global.cgi" && v___location_path != v___location_prefix + "/virtual-server/edit_newlinks.cgi" && v___location_path != v___location_prefix + "/virtualmin-awstats/" && v___location_path != v___location_prefix + "/postfix/master.cgi" || $.each($(".container-fluid .ui_link_replaced"), function() { + $(this).not(".btn-xxs").removeClass("btn-tiny").addClass("heighter-34") + }), v___location_path != v___location_prefix + "/virtualmin-init/" && v___location_path != v___location_prefix + "/virtualmin-dav/list_shares.cgi" && v___location_path != v___location_prefix + "/squid/edit_acl.cgi" && v___location_path != v___location_prefix + "/virtualmin-nginx/" && v___location_path != v___location_prefix + "/fdisk/edit_disk.cgi" && v___location_path != v___location_prefix + "/server-manager/edit_newlinks.cgi" && v___location_directory_unslashed_trail_slashed != v___location_prefix_unslashed_trail_slashed + "backup-config/" || $.each($(".container-fluid .ui_link_re-replaced"), function() { + $(this).addClass("btn-tiny").removeClass("heighter-34") + }), v___location_path == v___location_prefix + "/pam/" && $(".panel-body > a.ui_link").addClass("btn-tiny"), v___location_path != v___location_prefix + "/syslog/" && v___location_path != v___location_prefix + "/syslog/index.cgi" || $.each($(".btn"), function() { + $(this).removeClass("btn-tiny") + }), v___location_path != v___location_prefix + "/software/" && v___location_path != v___location_prefix + "/software/index.cgi" || ($(".container-fluid input#search").addClass("heighter-34 vertical-align-top"), $('form[action="file_info.cgi"] > .ui_form_end_submit').addClass("heighter-28 heighter-28-force margined-top-0")), v___location_path == v___location_prefix + "/software/tree.cgi" && $(".ui_link").addClass("margined-top-10"), v___location_path == v___location_prefix + "/syslog/save_log.cgi" && ($.each($(".container-fluid .heighter-34"), function() { + $(this).removeClass("heighter-34").addClass("heighter-28") + }), $("form:first").next("script").next("br").remove(), $("form:last").css("margin-top", "5px")), v___location_path == v___location_prefix + "/status/edit_mon.cgi" && ($('td.col_value > table[cellspacing="1"] tbody').attr("style", "border: 0 !important;"), $(".opener_trigger:last-child").css("font-size", "16px"), $.each($("table.sub_table_container td > font"), function() { + $(this).parents("tbody"), $(this).contents().unwrap().wrap(' ') + })), v___location_path != v___location_prefix + "/shell/" && v___location_path != v___location_prefix + "/shell/index.cgi" && v___location_path != v___location_prefix + "/server-manager/shell.cgi" || ($.each($(".container-fluid .btn:not(.btn-link), .container-fluid select, .container-fluid input"), function() { + $(this).removeClass("heighter-28").addClass("heighter-34"), $(this).is('input[type="button"]') && $($(this).addClass("submitter")), $(".form-control.sidebar-search").val() && $(".form-control.sidebar-search").val().trim().startsWith("!") && $(".form-control.sidebar-search").val(""), $(".ui_form").find("input.btn.btn-default:first").addClass("btn-success") + }), $(".container-fluid input#cmd").focus()), $.each($("input"), function() { + "28px" == $(this).css("height") && "28px" != $(this).next("input").css("height") && $(this).is(':not([type="hidden"])') && $(this).next("input").addClass("heighter-28") + }), $.each($(".container-fluid select"), function() { + "34px" == $(this).css("height") && "34px" != $(this).next("select").css("height") && $(this).next("select").addClass("heighter-34") + }), v___location_path == v___location_prefix + "/cluster-passwd/edit_passwd.cgi" && $.each($("input + button"), function(e, t) { + "28px" == $(this).css("height") && $(this).addClass("heighter-28").css("line-height", "12px").css("margin-top", "2px") + }), v___location.pathname != v___location_prefix + "/virtual-server/pro/history.cgi" && v___location.pathname != v___location_prefix + "/server-manager/bwgraph.cgi" && v___location.pathname != v___location_prefix + "/server-manager/history.cgi" && v___location.pathname != v___location_prefix + "/server-manager/one_history.cgi" || ($("body").find("table.ui_form_end_buttons .btn.btn-default.submitter.ui_submit").addClass("btn-success"), $(".panel-body > table tr td b").each(function(e, t) { + $(this).addClass("btn btn-success btn-tiny ui_link_replaced") + }), $(".panel-body > table a").each(function(e, t) { + $(this).addClass("btn btn-inverse btn-tiny ui_link_replaced").removeClass("ui_link"), $(this).text($(this).text().replace(/\.$/, "")), $(this).text() && $(this).text().indexOf("<<") > -1 && ($(this).text($(this).text().replace(/\<\ ' + $(this).text())), $(this).text() && $(this).text().indexOf(">>") > -1 && ($(this).text($(this).text().replace(/\>\>/, "")), $(this).html($(this).text() + ' ')), $(this).parent().contents().filter(function() { + return 3 == this.nodeType + }).remove(), 0 === $(this).attr("href").indexOf("edit_cmd.cgi?new") && $(this).html(' ' + $(this).text()), 0 === $(this).attr("href").indexOf("edit_file.cgi?new") && $(this).html(' ' + $(this).text()), 0 === $(this).attr("href").indexOf("edit_sql.cgi?new") && $(this).html(' ' + $(this).text()), $(this).parents("table").css("margin-bottom", "3px") + }), $("#history").next("table.ui_grid_table").next("a").length ? ($("#history").next("table").next("a").addClass("btn btn-info btn-tiny ui_link_replaced").attr("style", "margin-top: 4px !important").attr("target", "_blank"), $("#history").next("table").next("a").text($("#history").next("table").next("a").text().replace(/\.\.$/, "")), $("#history").next("table").next("a").html(' ' + $("#history").next("table").next("a").text())) : ($("#history").next("a").addClass("btn btn-info btn-tiny ui_link_replaced").attr("style", "margin-top: 4px !important").attr("target", "_blank"), $("#history").next("a").text($("#history").next("a").text().replace(/\.\.$/, "")), $("#history").next("a").html(' ' + $("#history").next("a").text())), $(".panel-body > hr + b").attr("style", "font-size: 16px; font-weight: normal;"), $(".panel-body > hr + b").text($(".panel-body > hr + b").text().replace(/\:$/, "")), onLoad()), $.each($('tr > td[valign="top"][width="50%"]'), function() { + $(this).attr("style", "vertical-align: top !important; " + $(this).attr("style")) + }), $("body table").each(function(e, t) { + $(this); + $(t).hasClass("table") || $(t).hasClass("header") || $(t).hasClass("ui_form_end_buttons") || $(t).hasClass("ui_table") || ($(t).addClass("table-hardcoded"), $t_uri_usermin && ($(t).addClass("table-subtable"), $(t).find("tr.thead").length || $(t).hasClass("sub_table_container table-hardcoded table-subtable") ? ($(t).find("tr.thead").attr("style", "border: 1px solid #efefef"), $(t).attr("style", "border: 1px solid #efefef")) : $(t).attr("style") && v___location_path.indexOf("view_mail.cgi") > -1 || $(t).attr("style", "margin-top: 10px;"))) + }), v___location_path != v___location_prefix + "/bind8/" && v___location_path != v___location_prefix + "/postfix/virtual.cgi" || table_data_init($(".table.table-striped.table-hover.table-condensed")), v___location_path == v___location_prefix + "/virtual-server/list_scripts.cgi" && table_data_init($("#att_existing > form > table.table.table-striped.table-condensed")), v___location_path == v___location_prefix + "/virtual-server/edit_newscripts.cgi" && table_data_init($("#att_summary > table.table.table-striped.table-condensed")), v___location_path != v___location_prefix + "/server-manager/index.cgi" && v___location_path != v___location_prefix + "/virtualmin-htpasswd/index.cgi" || table_data_init($("body > div > div > div.panel-body > form > table.table.table-striped.table-condensed")), ($('body[class*="status"]').length && !$('body[class*="smart-status"]').length && !v___location_file || v___location_path == v___location_prefix + "/servers/" || v___location_path == v___location_prefix + "/servers/index.cgi" || v___location_path == v___location_prefix + "/webminlog/search.cgi") && table_data_init($("table.table-striped.table-condensed")), $('body[class*="ldap-useradmin"]').length && table_data_init($("form > table.table.table-striped.table-condensed")), v___location_path == v___location_prefix + "/virtual-server/list_sched.cgi" && table_data_init($(".table.table-striped.table-hover.table-condensed"), !1, !1, { + orderable: !1, + targets: [0, -1] + }), v___location_path != v___location_prefix + "/servers/" && v___location_path != v___location_prefix + "/servers/index.cgi" || ($(".ui_checked_columns td table tr td").find('a.ui_link[href*="edit_serv.cgi"]').addClass("margined-left-4 label label-sm label-primary hidden").html(''), $(".ui_checked_columns").hover(function() { + $(this).find("td table tr a.ui_link.label.hidden").removeClass("hidden") + }, function() { + $(this).find("td table tr a.ui_link.label").addClass("hidden") + })), $.each($('table.table.table-striped.table-condensed.dataTable.no-footer > thead > tr[role="row"]:first-child'), function(e, t) { + $(this).attr("style", "border-top: 4px solid #f2f2f2 !important") + }), $.each($('button[onclick^="ifield"].btn.btn-default.ui_button'), function() { + $(this).addClass("file_chooser_button_emulate") + }), $.each($(".file_chooser_button_emulate"), function() { + $(this).find(".fa-files-o").length || $(this).append(''), "28px" == $(this).prev("input").css("height") && $(this).addClass("heighter-28") + }), $.each($("label > img"), function(e, t) { + $(this).attr("style", "vertical-align: baseline !important") + }), $.each($('select[multiple][name="weekdays"]'), function() { + $(this).parents('td[valign="top"], td.td_tag').attr("style", "vertical-align: top !important"), $(this).parents('table[width="100%"]').parents(".ui_radio_table.table-hardcoded").css("width", "100%") + }), $.each($("label").find("br"), function() { + $(this).parent("label").prev(".aradio, .acheckbox").attr("style", "margin-left: 0 !important;"), $(this).parent("label").next(".aradio, .acheckbox").attr("style", "margin-left: 0 !important;") + }), $.each($(".table-responsive + .table-responsive + .table-hardcoded td"), function() { + $(this).find(".heighter-34").length && $.each($(".table-responsive + .table-responsive + .table-hardcoded td"), function() { + $(this).find(".btn").addClass("heighter-34") + }) + }), v___location_path == v___location_prefix + "/cpan/edit_mod.cgi" && $('.container-fluid form[action="download.cgi"]').next().next().next().find(".submitter.ui_submit").addClass("heighter-34"), v___location_path != v___location_prefix + "/cpan/" && v___location_path != v___location_prefix + "/cpan/index.cgi" || $('input[name="cpan"]').next("button").append('').attr("style", "width: 40px; height: 28px; vertical-align:middle !important; margin-top:2px; margin-bottom:2px;"), $("form").find(".icons-row:not(.inline-row)").length && ($("form").find(".icons-row").addClass("_processed_"), $("form").find(".icons-row").css("border-top", "1px solid #efefef").css("border-bottom", "1px solid #efefef"), $("form").find(".icons-row").find(".icons-container").addClass("icons-container-stretched")); + + function p() { + $("body").find(".icons-row:not(._processed_):not(.inline-row)").css({ + "padding-top": "8px", + "padding-bottom": "8px" + }), $("body").find(".icons-row:not(._processed_):not(.inline-row)").css("border-top", "1px solid #efefef").css("border-bottom", "1px solid #efefef") + } + + function f() { + $("body").find(".icons-row:not(._processed_):not(.inline-row)").css({ + "padding-top": "8px" + }), $("body").find(".icons-row:not(._processed_):not(.inline-row)").css("border-top", "1px solid #efefef") + } + + function g() { + $("body").find(".icons-row:not(._processed_):not(.inline-row)").css({ + "padding-bottom": "6px" + }), $("body").find(".icons-row:not(._processed_):not(.inline-row)").css("border-bottom", "1px solid #efefef") + } + v___location_path != v___location_prefix + "/lvm/" && v___location_path != v___location_prefix + "/virtualmin-support/" && v___location_path != v___location_prefix + "/proftpd/virt_index.cgi" && v___location_path != v___location_prefix + "/dhcpd/" && v___location_path != v___location_prefix + "/dhcpd/index.cgi" && v___location_path != v___location_prefix + "/cluster-usermin/" && v___location_path != v___location_prefix + "/cluster-usermin/index.cgi" && v___location_path != v___location_prefix + "/cluster-useradmin/" && v___location_path != v___location_prefix + "/cluster-useradmin/index.cgi" && v___location_path != v___location_prefix + "/cluster-webmin/" && v___location_path != v___location_prefix + "/cluster-webmin/index.cgi" || p(), v___location_path != v___location_prefix + "/proftpd/" && v___location_path != v___location_prefix + "/proftpd/index.cgi" && v___location_path != v___location_prefix + "/bacula-backup/" && v___location_path != v___location_prefix + "/bacula-backup/index.cgi" || f(), v___location_path == v___location_prefix + "//" && g(); + if ($.each($(".row.icons-row.inline-row"), function(e, t) { + $(this).find("a.icon_link").contents().filter(function() { + return 3 == this.nodeType + }).remove() + }), $.each($(".row.icons-row:not(.inline-row) .icons-container"), function(e, t) { + $(this).removeAttr("data-title").removeAttr("data-toggle").removeAttr("data-placement").removeAttr("data-container") + }), ($("body").find(".icons-row > div.icons-container").length || $("body").find(".icons-row > div.small-icons-container").length) && ($.each($(".icons-row .hidden-forged-6"), function() { + $(this).find("input").is(":checked") && $(this).parents('div[class*="icons-container"]').addClass("highlighted") + }), $.each($(".hidden-forged-7 > a"), function() { + $(this).removeClass(), $(this).parents(".hidden-forged-7").hasClass("hidden-forged-7-small") ? ($(this).html(' '), $(this).parent().parent().prepend('')) : ($(this).html(' '), $(this).parent().parent().prepend('')) + })), v___location_directory_unslashed_trail_slashed == v___location_prefix_unslashed_trail_slashed + "virtualmin-registrar/" && $.each($("td > input "), function() { + $(this).parents("table.table-hardcoded").find('form[action="edit.cgi"]').length && ($(this).css("margin-left", "5px"), $(this).parent("td").prev("td").find("select").css("margin-left", "5px")) + }), v___location_path == v___location_prefix + "/cluster-webmin/edit_host.cgi" && $.each($(".panel-body > .table-hardcoded"), function() { + $(this).attr("style", "margin-top: 10px !important") + }), v___location_path != v___location_prefix + "/virtual-server/list_scripts.cgi" && v___location_path != v___location_prefix + "/virtual-server/edit_newscripts.cgi" || $('form[action="disable_scripts.cgi"] thead + thead tr th, form[action="disable_scripts.cgi"] tbody + thead tr th, form[action="script_form.cgi"] thead + thead tr th, form[action="script_form.cgi"] tbody + thead tr th').attr("colspan", "5"), $.each($(".file_chooser_button_attached"), function(e, t) { + $(this).prev('input[onclick*=".cgi"]') && $(this).prev('input[onclick*=".cgi"]').css("width", "40px") + }), !$t_uri_cloudmin || v___location_path != v___location_prefix + "/server-manager/add_form.cgi" && v___location_path != v___location_prefix + "/server-manager/scan_form.cgi" || $.each($("label"), function() { + $(this).find("br").remove() + }), (v___location_path == v___location_prefix + "/mysql/view_table.cgi" || v___location_path == v___location_prefix + "/postgresql/view_table.cgi") && $("td.td_tag > table.table-hardcoded")) { + var u = $("td.td_tag > table.table-hardcoded").parents("table").find("thead").find("tr").find("th").length; + $("td.td_tag > table.table-hardcoded").parent("td.td_tag").attr("colspan", u).attr("style", "padding: 1px !important;") + } + if (v___location_path == v___location_prefix + "/virtual-server/backup_form.cgi" && v___location_href && v___location_href.indexOf("?sched=") > -1 && ($("body > div > div > div.panel-body > form > table:nth-child(4) > tbody > tr:nth-child(2) > td").css("display", "table-cell"), setTimeout(function() { + $("a[href=\"javascript:hidden_opener('hiddendiv_adddest', 'hiddenopener_adddest')\"]").next().attr("style", "").addClass("btn btn-tiny btn-default") + }, 10)), "/config.cgi" === v___location_path && $("thead tr th.table-title").prepend('  '), $.each($('form[action="save_global.cgi"], form[action="save_iptables.cgi"], form[action="save_domain.cgi"],form[action="domain_setup.cgi"],form[action="mass_create.cgi"],form[action="save_roundrobin.cgi"],form[action="save_alert.cgi"], body.time form[action="apply.cgi"]'), function() { + $(this).find(".col_header").removeClass("col_header") + }), (check_location_resource("/virtual-server/edit_newchangelog.cgi") || check_location_resource("/server-manager/edit_newchangelog.cgi") || check_location_resource("/shell/") || check_location_resource("/shell/index.cgi") || check_location_resource("/server-manager/shell.cgi")) && $("td.col_value.col_value").removeClass("col_header"), check_location_resource("/ldap-server/edit_ldif.cgi") && $("span > input.ui_opt_textbox").unwrap(), v___location_path == v___location_prefix + "/server-manager/gvnc.cgi" && $("body.server-manager p > object").css("height", "100%").parent("p").attr("style", "display: block; height: " + parseInt($(window).outerHeight() / 1.4) + "px"), v___location_path == v___location_prefix + "/spam/edit_simple.cgi" || v___location_path == v___location_prefix + "/spam/edit_header.cgi") { + var m = $(".ui_form .table-responsive table.table.table-striped.table-condensed.table-subtable > thead tr th:first-child"), + v = (b = $(".ui_form .table-responsive table.table.table-striped.table-condensed.table-subtable > thead tr th:last-child")).find("a"); + m.append(v), b.remove(), m.find("a").addClass("table_title_links pull-right btn btn-xs btn-grey").attr("style", "position: absolute; right: 23px; margin-top: 7px !important;") + } + if (v___location_path == v___location_prefix + "/server-manager/edit_pass.cgi" && $('form[action="save_pass.cgi"]').find('a[href*="edit_pass.cgi?"]:not(.btn)').length) { + var m = $(".ui_form .table-responsive table.table.table-striped.table-condensed.table-subtable > thead tr th:first-child"), + b = $(".ui_form .table-responsive table.table.table-striped.table-condensed.table-subtable > thead tr th:last-child"), + v = b.find("a"); + m.append(v), b.remove(), m.find("a").addClass("table_title_links pull-right btn btn-info btn-tiny").attr("style", "position: absolute; right: 20px; margin-top: 3px !important;") + } + if ($('.panel-default + a[href="/virtual-server/"]').attr("href", "/virtual-server/index.cgi"), $('.panel-default + a[href="/server-manager/"]').attr("href", "/server-manager/index.cgi"), v___location_directory_trail_slashed == v___location_prefix + "/virtual-server/" ? $("#headln2l > a:first-child .fa-arrow-left").parent("a").attr("href", "/virtual-server/index.cgi") : v___location_directory_trail_slashed == v___location_prefix + "/server-manager/" && $("#headln2l > a:first-child .fa-arrow-left").parent("a").attr("href", "/server-manager/index.cgi"), v___location_directory_unslashed_trail_slashed == v___location_prefix_unslashed_trail_slashed + "acl/") { + $("body.acl > div > div > div.panel-body > form > div > table > tbody > tr > td > table > tbody > tr:nth-child(1) > td > table > tbody").attr("style", "border: 0 !important"); + var x = $("br").next(".ui_grid_table.table-hardcoded").find("tbody").attr("style", "border: 1px solid #" + (v___theme_night_mode_enabled || v___theme_night_mode ? "393b3f" : "eee") + " !important").parent("table").prev("br").prev("b"); + $("br").next(".ui_grid_table.table-hardcoded").css("margin-bottom", "3px"), $.each(x, function(e, t) { + "" == $(this).text() && ($(this).next("br").remove(), $(this).remove()) + }), x.attr("style", "margin-bottom: -3px !important").next("br").remove() + } + $('body[class*="bandwidth"]').length && $(".fa.fa-calendar.file_chooser_button_attached").attr("style", "font-size: 11px; margin-top: 9px !important; pointer-events: none; margin-left: -27px !important;"), v___location_path != v___location_prefix + "/mysql/exec_form.cgi" && v___location_path != v___location_prefix + "/postgresql/exec_form.cgi" || ($('select[name="old"], input[name="clear"], select[name="charset"]').removeClass("heighter-34").addClass("heighter-28"), $('input[name="clear"]').attr("style", "margin-bottom: 3px !important;"), $('select[name="old"]').attr("style", "margin-bottom: 3px !important; margin-right: 0 !important;")), "config.cgi" != v___location_file && "uconfig.cgi" != v___location_file || "mysql" != v___location_query && "postgresql" != v___location_query || $('input[name="style"]').parents("td.col_value").parent("tr").after('\t\t
    ' + theme_language("theme_xhred_xsql_fit_content_screen_height") + '\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    ' + i + "
    ", 0, 0, refInput, 0) + } + }); + else if ($.isArray(i)) r(i), $.ajax({ + type: "POST", + url: $v__mpp__g_op, + data: !1, + dataType: "text", + success: function(e) { + var t = e.replace(/<(!doctype|script|link|meta)\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/(script|link|meta)>/gi, "").replace(/<\/body>|<\/html>/gi, ""); + l(t = '' + $(t).filter("table").html() + "
    ", 0, 0, refInput, 1) + } + }); + else { + if ($.isArray(i) && -1 === i[1].indexOf("&multi=1")) return; + var a = t, + s = $(a).filter("table").html(); + l('' + s + "
    ", 0, 0, refInput, 0) + } + } + }) + } else $(this).removeClass("disabled"), $(this).attr("onclick", $(this).attr("data-mmclick")).removeAttr("data-mmclick"), $(this).trigger("click") + }), $("body").on("click", ".generate-password-key", function(e) { + var t = theme_password_generator(); + $("body").append(''); + var i = new Clipboard(".tmp-clipboard-obj"); + $(".tmp-clipboard-obj").trigger("click"), $(".tmp-clipboard-obj").remove(), i.destroy(), theme_messenger('' + theme_language("theme_xhred_password_generator_new_success").replace("%password", ' ' + t + " "), 10, "success", "newGeneratedPassword") + }), $("body").on("click", 'aside li[data-linked] a[href="' + v___location_prefix + '/shell/"], aside a[href="' + v___location_prefix + '/server-manager/shell.cgi"], aside a[href*="shell=1"]', function(e) { + e.preventDefault(), e.stopPropagation(), $(".user-link.ported-console:visible").trigger("click") + }), $("body").on("change", 'form[action*="save_log.cgi"] select[name="idx"]', function(e) { + var t = $("button.ui_submit.ui_form_end_submit"); + t.first().trigger("click"), t.addClass("disabled") + }), $("body").on("keydown", 'form[action*="save_log.cgi"] input[name="filter"], form[action*="save_log.cgi"] input[name="lines"]', function(e) { + if (13 == e.keyCode) { + e.preventDefault(); + var t = $("button.ui_submit.ui_form_end_submit"); + t.first().trigger("click"), t.addClass("disabled") + } + }), $(window).on("resize", function() { + page_resized(), theme_shell_adapt() + }), setTimeout(function() { + window.onbeforeunload = function() { + if (get_onbeforeunload_status()) return "object" == typeof NProgress && NProgress.done(), !0; + window.setTimeout(function() { + v___available_navigation ? window.location = v___location_prefix || "/" : "object" == typeof NProgress && NProgress.start() + }, 0), window.onbeforeunload = null + }, $(function() { + v___available_navigation || "object" == typeof NProgress && NProgress.done() + }), "debug" === get_server_data("debug") && (window.onerror = function(e, t, i) { + console.log("Error", { + acc: "error", + data: "Error:" + e + " URL:" + t + " L:" + i + }) + }) + }, 100), theme_alert_charset(), favorites_detect(), page_render(0), setTimeout(function() { + v___initial_load = 0 + }, 1e3) + }) +} \ No newline at end of file diff --git a/unauthenticated/js/bundle.min.js b/unauthenticated/js/bundle.min.js new file mode 100644 index 000000000..226cec27f --- /dev/null +++ b/unauthenticated/js/bundle.min.js @@ -0,0 +1,175 @@ +/*! jQuery v3.2.1 | (c) JS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(e,t){"use strict";function n(e,t){var n=(t=t||te).createElement("script");n.text=e,t.head.appendChild(n).parentNode.removeChild(n)}function r(e){var t=!!e&&"length"in e&&e.length,n=he.type(e);return"function"!==n&&!he.isWindow(e)&&("array"===n||0===t||"number"==typeof t&&t>0&&t-1 in e)}function i(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}function o(e,t,n){return he.isFunction(t)?he.grep(e,function(e,r){return!!t.call(e,r,e)!==n}):t.nodeType?he.grep(e,function(e){return e===t!==n}):"string"!=typeof t?he.grep(e,function(e){return ae.call(t,e)>-1!==n}):Ee.test(t)?he.filter(t,e,n):(t=he.filter(t,e),he.grep(e,function(e){return ae.call(t,e)>-1!==n&&1===e.nodeType}))}function a(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}function s(e){var t={};return he.each(e.match(je)||[],function(e,n){t[n]=!0}),t}function u(e){return e}function l(e){throw e}function c(e,t,n,r){var i;try{e&&he.isFunction(i=e.promise)?i.call(e).done(t).fail(n):e&&he.isFunction(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}function f(){te.removeEventListener("DOMContentLoaded",f),e.removeEventListener("load",f),he.ready()}function p(){this.expando=he.expando+p.uid++}function d(e){return"true"===e||"false"!==e&&("null"===e?null:e===+e+""?+e:Pe.test(e)?JSON.parse(e):e)}function h(e,t,n){var r;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(Re,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n=d(n)}catch(e){}Oe.set(e,t,n)}else n=void 0;return n}function g(e,t,n,r){var i,o=1,a=20,s=r?function(){return r.cur()}:function(){return he.css(e,t,"")},u=s(),l=n&&n[3]||(he.cssNumber[t]?"":"px"),c=(he.cssNumber[t]||"px"!==l&&+u)&&Ie.exec(he.css(e,t));if(c&&c[3]!==l){l=l||c[3],n=n||[],c=+u||1;do{o=o||".5",c/=o,he.style(e,t,c+l)}while(o!==(o=s()/u)&&1!==o&&--a)}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}function v(e){var t,n=e.ownerDocument,r=e.nodeName,i=_e[r];return i||(t=n.body.appendChild(n.createElement(r)),i=he.css(t,"display"),t.parentNode.removeChild(t),"none"===i&&(i="block"),_e[r]=i,i)}function m(e,t){for(var n,r,i=[],o=0,a=e.length;o-1)i&&i.push(o);else if(l=he.contains(o.ownerDocument,o),a=y(f.appendChild(o),"script"),l&&x(a),n)for(c=0;o=a[c++];)Ue.test(o.type||"")&&n.push(o);return f}function w(){return!0}function T(){return!1}function C(){try{return te.activeElement}catch(e){}}function E(e,t,n,r,i,o){var a,s;if("object"==typeof t){"string"!=typeof n&&(r=r||n,n=void 0);for(s in t)E(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=T;else if(!i)return e;return 1===o&&(a=i,i=function(e){return he().off(e),a.apply(this,arguments)},i.guid=a.guid||(a.guid=he.guid++)),e.each(function(){he.event.add(this,t,i,r,n)})}function k(e,t){return i(e,"table")&&i(11!==t.nodeType?t:t.firstChild,"tr")?he(">tbody",e)[0]||e:e}function S(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function N(e){var t=nt.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function D(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(Fe.hasData(e)&&(o=Fe.access(e),a=Fe.set(t,o),l=o.events)){delete a.handle,a.events={};for(i in l)for(n=0,r=l[i].length;n1&&"string"==typeof h&&!pe.checkClone&&tt.test(h))return e.each(function(n){var o=e.eq(n);g&&(t[0]=h.call(this,n,o.html())),A(o,t,r,i)});if(p&&(o=b(t,e[0].ownerDocument,!1,e,i),a=o.firstChild,1===o.childNodes.length&&(o=a),a||i)){for(u=(s=he.map(y(o,"script"),S)).length;f=0&&nw.cacheLength&&delete e[t.shift()],e[n+" "]=r}var t=[];return e}function r(e){return e[M]=!0,e}function i(e){var t=q.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function o(e,t){for(var n=e.split("|"),r=n.length;r--;)w.attrHandle[n[r]]=t}function a(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function s(e){return function(t){return"form"in t?t.parentNode&&!1===t.disabled?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&Te(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function u(e){return r(function(t){return t=+t,r(function(n,r){for(var i,o=e([],n.length,t),a=o.length;a--;)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}function l(e){return e&&void 0!==e.getElementsByTagName&&e}function c(){}function f(e){for(var t=0,n=e.length,r="";t1?function(t,n,r){for(var i=e.length;i--;)if(!e[i](t,n,r))return!1;return!0}:e[0]}function h(e,n,r){for(var i=0,o=n.length;i-1&&(r[l]=!(a[l]=f))}}else x=g(x===a?x.splice(v,x.length):x),o?o(null,a,x,u):Q.apply(a,x)})}function m(e){for(var t,n,r,i=e.length,o=w.relative[e[0].type],a=o||w.relative[" "],s=o?1:0,u=p(function(e){return e===t},a,!0),l=p(function(e){return K(t,e)>-1},a,!0),c=[function(e,n,r){var i=!o&&(r||n!==N)||((t=n).nodeType?u(e,n,r):l(e,n,r));return t=null,i}];s1&&d(c),s>1&&f(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace(oe,"$1"),n,s0,o=e.length>0,a=function(r,a,s,u,l){var c,f,p,d=0,h="0",v=r&&[],m=[],y=N,x=r||o&&w.find.TAG("*",l),b=W+=null==y?1:Math.random()||.1,T=x.length;for(l&&(N=a===q||a||l);h!==T&&null!=(c=x[h]);h++){if(o&&c){for(f=0,a||c.ownerDocument===q||(A(c),s=!H);p=e[f++];)if(p(c,a||q,s)){u.push(c);break}l&&(W=b)}i&&((c=!p&&c)&&d--,r&&v.push(c))}if(d+=h,i&&h!==d){for(f=0;p=n[f++];)p(v,m,a,s);if(r){if(d>0)for(;h--;)v[h]||m[h]||(m[h]=G.call(u));m=g(m)}Q.apply(u,m),l&&!r&&m.length>0&&d+n.length>1&&t.uniqueSort(u)}return l&&(W=b,N=y),v};return i?r(a):a}var x,b,w,T,C,E,k,S,N,D,j,A,q,L,H,F,O,P,R,M="sizzle"+1*new Date,I=e.document,W=0,$=0,B=n(),_=n(),z=n(),X=function(e,t){return e===t&&(j=!0),0},U={}.hasOwnProperty,V=[],G=V.pop,Y=V.push,Q=V.push,J=V.slice,K=function(e,t){for(var n=0,r=e.length;n+~]|"+ee+")"+ee+"*"),ue=new RegExp("="+ee+"*([^\\]'\"]*?)"+ee+"*\\]","g"),le=new RegExp(re),ce=new RegExp("^"+te+"$"),fe={ID:new RegExp("^#("+te+")"),CLASS:new RegExp("^\\.("+te+")"),TAG:new RegExp("^("+te+"|[*])"),ATTR:new RegExp("^"+ne),PSEUDO:new RegExp("^"+re),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+ee+"*(even|odd|(([+-]|)(\\d*)n|)"+ee+"*(?:([+-]|)"+ee+"*(\\d+)|))"+ee+"*\\)|)","i"),bool:new RegExp("^(?:"+Z+")$","i"),needsContext:new RegExp("^"+ee+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+ee+"*((?:-\\d)?\\d*)"+ee+"*\\)|)(?=[^-]|$)","i")},pe=/^(?:input|select|textarea|button)$/i,de=/^h\d$/i,he=/^[^{]+\{\s*\[native \w/,ge=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ve=/[+~]/,me=new RegExp("\\\\([\\da-f]{1,6}"+ee+"?|("+ee+")|.)","ig"),ye=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},xe=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,be=function(e,t){return t?"\0"===e?"ïżœ":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},we=function(){A()},Te=p(function(e){return!0===e.disabled&&("form"in e||"label"in e)},{dir:"parentNode",next:"legend"});try{Q.apply(V=J.call(I.childNodes),I.childNodes),V[I.childNodes.length].nodeType}catch(e){Q={apply:V.length?function(e,t){Y.apply(e,J.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}b=t.support={},C=t.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&"HTML"!==t.nodeName},A=t.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:I;return r!==q&&9===r.nodeType&&r.documentElement?(q=r,L=q.documentElement,H=!C(q),I!==q&&(n=q.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",we,!1):n.attachEvent&&n.attachEvent("onunload",we)),b.attributes=i(function(e){return e.className="i",!e.getAttribute("className")}),b.getElementsByTagName=i(function(e){return e.appendChild(q.createComment("")),!e.getElementsByTagName("*").length}),b.getElementsByClassName=he.test(q.getElementsByClassName),b.getById=i(function(e){return L.appendChild(e).id=M,!q.getElementsByName||!q.getElementsByName(M).length}),b.getById?(w.filter.ID=function(e){var t=e.replace(me,ye);return function(e){return e.getAttribute("id")===t}},w.find.ID=function(e,t){if(void 0!==t.getElementById&&H){var n=t.getElementById(e);return n?[n]:[]}}):(w.filter.ID=function(e){var t=e.replace(me,ye);return function(e){var n=void 0!==e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},w.find.ID=function(e,t){if(void 0!==t.getElementById&&H){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];for(i=t.getElementsByName(e),r=0;o=i[r++];)if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),w.find.TAG=b.getElementsByTagName?function(e,t){return void 0!==t.getElementsByTagName?t.getElementsByTagName(e):b.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){for(;n=o[i++];)1===n.nodeType&&r.push(n);return r}return o},w.find.CLASS=b.getElementsByClassName&&function(e,t){if(void 0!==t.getElementsByClassName&&H)return t.getElementsByClassName(e)},O=[],F=[],(b.qsa=he.test(q.querySelectorAll))&&(i(function(e){L.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&F.push("[*^$]="+ee+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||F.push("\\["+ee+"*(?:value|"+Z+")"),e.querySelectorAll("[id~="+M+"-]").length||F.push("~="),e.querySelectorAll(":checked").length||F.push(":checked"),e.querySelectorAll("a#"+M+"+*").length||F.push(".#.+[+~]")}),i(function(e){e.innerHTML="";var t=q.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&F.push("name"+ee+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&F.push(":enabled",":disabled"),L.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&F.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),F.push(",.*:")})),(b.matchesSelector=he.test(P=L.matches||L.webkitMatchesSelector||L.mozMatchesSelector||L.oMatchesSelector||L.msMatchesSelector))&&i(function(e){b.disconnectedMatch=P.call(e,"*"),P.call(e,"[s!='']:x"),O.push("!=",re)}),F=F.length&&new RegExp(F.join("|")),O=O.length&&new RegExp(O.join("|")),t=he.test(L.compareDocumentPosition),R=t||he.test(L.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},X=t?function(e,t){if(e===t)return j=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!b.sortDetached&&t.compareDocumentPosition(e)===n?e===q||e.ownerDocument===I&&R(I,e)?-1:t===q||t.ownerDocument===I&&R(I,t)?1:D?K(D,e)-K(D,t):0:4&n?-1:1)}:function(e,t){if(e===t)return j=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,s=[e],u=[t];if(!i||!o)return e===q?-1:t===q?1:i?-1:o?1:D?K(D,e)-K(D,t):0;if(i===o)return a(e,t);for(n=e;n=n.parentNode;)s.unshift(n);for(n=t;n=n.parentNode;)u.unshift(n);for(;s[r]===u[r];)r++;return r?a(s[r],u[r]):s[r]===I?-1:u[r]===I?1:0},q):q},t.matches=function(e,n){return t(e,null,null,n)},t.matchesSelector=function(e,n){if((e.ownerDocument||e)!==q&&A(e),n=n.replace(ue,"='$1']"),b.matchesSelector&&H&&!z[n+" "]&&(!O||!O.test(n))&&(!F||!F.test(n)))try{var r=P.call(e,n);if(r||b.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(e){}return t(n,q,null,[e]).length>0},t.contains=function(e,t){return(e.ownerDocument||e)!==q&&A(e),R(e,t)},t.attr=function(e,t){(e.ownerDocument||e)!==q&&A(e);var n=w.attrHandle[t.toLowerCase()],r=n&&U.call(w.attrHandle,t.toLowerCase())?n(e,t,!H):void 0;return void 0!==r?r:b.attributes||!H?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},t.escape=function(e){return(e+"").replace(xe,be)},t.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},t.uniqueSort=function(e){var t,n=[],r=0,i=0;if(j=!b.detectDuplicates,D=!b.sortStable&&e.slice(0),e.sort(X),j){for(;t=e[i++];)t===e[i]&&(r=n.push(i));for(;r--;)e.splice(n[r],1)}return D=null,e},T=t.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=T(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r++];)n+=T(t);return n},(w=t.selectors={cacheLength:50,createPseudo:r,match:fe,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(me,ye),e[3]=(e[3]||e[4]||e[5]||"").replace(me,ye),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||t.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&t.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return fe.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&le.test(n)&&(t=E(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(me,ye).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=B[e+" "];return t||(t=new RegExp("(^|"+ee+")"+e+"("+ee+"|$)"))&&B(e,function(e){return t.test("string"==typeof e.className&&e.className||void 0!==e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,n,r){return function(i){var o=t.attr(i,e);return null==o?"!="===n:!n||(o+="","="===n?o===r:"!="===n?o!==r:"^="===n?r&&0===o.indexOf(r):"*="===n?r&&o.indexOf(r)>-1:"$="===n?r&&o.slice(-r.length)===r:"~="===n?(" "+o.replace(ie," ")+" ").indexOf(r)>-1:"|="===n&&(o===r||o.slice(0,r.length+1)===r+"-"))}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,f,p,d,h,g=o!==a?"nextSibling":"previousSibling",v=t.parentNode,m=s&&t.nodeName.toLowerCase(),y=!u&&!s,x=!1;if(v){if(o){for(;g;){for(p=t;p=p[g];)if(s?p.nodeName.toLowerCase()===m:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?v.firstChild:v.lastChild],a&&y){for(x=(d=(l=(c=(f=(p=v)[M]||(p[M]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]||[])[0]===W&&l[1])&&l[2],p=d&&v.childNodes[d];p=++d&&p&&p[g]||(x=d=0)||h.pop();)if(1===p.nodeType&&++x&&p===t){c[e]=[W,d,x];break}}else if(y&&(p=t,f=p[M]||(p[M]={}),c=f[p.uniqueID]||(f[p.uniqueID]={}),l=c[e]||[],d=l[0]===W&&l[1],x=d),!1===x)for(;(p=++d&&p&&p[g]||(x=d=0)||h.pop())&&((s?p.nodeName.toLowerCase()!==m:1!==p.nodeType)||!++x||(y&&(f=p[M]||(p[M]={}),c=f[p.uniqueID]||(f[p.uniqueID]={}),c[e]=[W,x]),p!==t)););return(x-=i)===r||x%r==0&&x/r>=0}}},PSEUDO:function(e,n){var i,o=w.pseudos[e]||w.setFilters[e.toLowerCase()]||t.error("unsupported pseudo: "+e);return o[M]?o(n):o.length>1?(i=[e,e,"",n],w.setFilters.hasOwnProperty(e.toLowerCase())?r(function(e,t){for(var r,i=o(e,n),a=i.length;a--;)r=K(e,i[a]),e[r]=!(t[r]=i[a])}):function(e){return o(e,0,i)}):o}},pseudos:{not:r(function(e){var t=[],n=[],i=k(e.replace(oe,"$1"));return i[M]?r(function(e,t,n,r){for(var o,a=i(e,null,r,[]),s=e.length;s--;)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,r,o){return t[0]=e,i(t,null,o,n),t[0]=null,!n.pop()}}),has:r(function(e){return function(n){return t(e,n).length>0}}),contains:r(function(e){return e=e.replace(me,ye),function(t){return(t.textContent||t.innerText||T(t)).indexOf(e)>-1}}),lang:r(function(e){return ce.test(e||"")||t.error("unsupported lang: "+e),e=e.replace(me,ye).toLowerCase(),function(t){var n;do{if(n=H?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return(n=n.toLowerCase())===e||0===n.indexOf(e+"-")}while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===L},focus:function(e){return e===q.activeElement&&(!q.hasFocus||q.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:s(!1),disabled:s(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!w.pseudos.empty(e)},header:function(e){return de.test(e.nodeName)},input:function(e){return pe.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:u(function(){return[0]}),last:u(function(e,t){return[t-1]}),eq:u(function(e,t,n){return[n<0?n+t:n]}),even:u(function(e,t){for(var n=0;n=0;)e.push(r);return e}),gt:u(function(e,t,n){for(var r=n<0?n+t:n;++r2&&"ID"===(a=o[0]).type&&9===t.nodeType&&H&&w.relative[o[1].type]){if(!(t=(w.find.ID(a.matches[0].replace(me,ye),t)||[])[0]))return n;c&&(t=t.parentNode),e=e.slice(o.shift().value.length)}for(i=fe.needsContext.test(e)?0:o.length;i--&&(a=o[i],!w.relative[s=a.type]);)if((u=w.find[s])&&(r=u(a.matches[0].replace(me,ye),ve.test(o[0].type)&&l(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&f(o)))return Q.apply(n,r),n;break}}return(c||k(e,p))(r,t,!H,n,!t||ve.test(e)&&l(t.parentNode)||t),n},b.sortStable=M.split("").sort(X).join("")===M,b.detectDuplicates=!!j,A(),b.sortDetached=i(function(e){return 1&e.compareDocumentPosition(q.createElement("fieldset"))}),i(function(e){return e.innerHTML="","#"===e.firstChild.getAttribute("href")})||o("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),b.attributes&&i(function(e){return e.innerHTML="",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||o("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),i(function(e){return null==e.getAttribute("disabled")})||o(Z,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),t}(e);he.find=xe,he.expr=xe.selectors,he.expr[":"]=he.expr.pseudos,he.uniqueSort=he.unique=xe.uniqueSort,he.text=xe.getText,he.isXMLDoc=xe.isXML,he.contains=xe.contains,he.escapeSelector=xe.escape;var be=function(e,t,n){for(var r=[],i=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(i&&he(e).is(n))break;r.push(e)}return r},we=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},Te=he.expr.match.needsContext,Ce=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i,Ee=/^.[^:#\[\.,]*$/;he.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?he.find.matchesSelector(r,e)?[r]:[]:he.find.matches(e,he.grep(t,function(e){return 1===e.nodeType}))},he.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(he(e).filter(function(){for(t=0;t1?he.uniqueSort(n):n},filter:function(e){return this.pushStack(o(this,e||[],!1))},not:function(e){return this.pushStack(o(this,e||[],!0))},is:function(e){return!!o(this,"string"==typeof e&&Te.test(e)?he(e):e||[],!1).length}});var ke,Se=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(he.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||ke,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:Se.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof he?t[0]:t,he.merge(this,he.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:te,!0)),Ce.test(r[1])&&he.isPlainObject(t))for(r in t)he.isFunction(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=te.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):he.isFunction(e)?void 0!==n.ready?n.ready(e):e(he):he.makeArray(e,this)}).prototype=he.fn,ke=he(te);var Ne=/^(?:parents|prev(?:Until|All))/,De={children:!0,contents:!0,next:!0,prev:!0};he.fn.extend({has:function(e){var t=he(e,this),n=t.length;return this.filter(function(){for(var e=0;e-1:1===n.nodeType&&he.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(o.length>1?he.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?ae.call(he(e),this[0]):ae.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(he.uniqueSort(he.merge(this.get(),he(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),he.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return be(e,"parentNode")},parentsUntil:function(e,t,n){return be(e,"parentNode",n)},next:function(e){return a(e,"nextSibling")},prev:function(e){return a(e,"previousSibling")},nextAll:function(e){return be(e,"nextSibling")},prevAll:function(e){return be(e,"previousSibling")},nextUntil:function(e,t,n){return be(e,"nextSibling",n)},prevUntil:function(e,t,n){return be(e,"previousSibling",n)},siblings:function(e){return we((e.parentNode||{}).firstChild,e)},children:function(e){return we(e.firstChild)},contents:function(e){return i(e,"iframe")?e.contentDocument:(i(e,"template")&&(e=e.content||e),he.merge([],e.childNodes))}},function(e,t){he.fn[e]=function(n,r){var i=he.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=he.filter(r,i)),this.length>1&&(De[e]||he.uniqueSort(i),Ne.test(e)&&i.reverse()),this.pushStack(i)}});var je=/[^\x20\t\r\n\f]+/g;he.Callbacks=function(e){e="string"==typeof e?s(e):he.extend({},e);var t,n,r,i,o=[],a=[],u=-1,l=function(){for(i=i||e.once,r=t=!0;a.length;u=-1)for(n=a.shift();++u-1;)o.splice(n,1),n<=u&&u--}),this},has:function(e){return e?he.inArray(e,o)>-1:o.length>0},empty:function(){return o&&(o=[]),this},disable:function(){return i=a=[],o=n="",this},disabled:function(){return!o},lock:function(){return i=a=[],n||t||(o=n=""),this},locked:function(){return!!i},fireWith:function(e,n){return i||(n=n||[],n=[e,n.slice?n.slice():n],a.push(n),t||l()),this},fire:function(){return c.fireWith(this,arguments),this},fired:function(){return!!r}};return c},he.extend({Deferred:function(t){var n=[["notify","progress",he.Callbacks("memory"),he.Callbacks("memory"),2],["resolve","done",he.Callbacks("once memory"),he.Callbacks("once memory"),0,"resolved"],["reject","fail",he.Callbacks("once memory"),he.Callbacks("once memory"),1,"rejected"]],r="pending",i={state:function(){return r},always:function(){return o.done(arguments).fail(arguments),this},catch:function(e){return i.then(null,e)},pipe:function(){var e=arguments;return he.Deferred(function(t){he.each(n,function(n,r){var i=he.isFunction(e[r[4]])&&e[r[4]];o[r[1]](function(){var e=i&&i.apply(this,arguments);e&&he.isFunction(e.promise)?e.promise().progress(t.notify).done(t.resolve).fail(t.reject):t[r[0]+"With"](this,i?[e]:arguments)})}),e=null}).promise()},then:function(t,r,i){function o(t,n,r,i){return function(){var s=this,c=arguments,f=function(){var e,f;if(!(t=a&&(r!==l&&(s=void 0,c=[e]),n.rejectWith(s,c))}};t?p():(he.Deferred.getStackHook&&(p.stackTrace=he.Deferred.getStackHook()),e.setTimeout(p))}}var a=0;return he.Deferred(function(e){n[0][3].add(o(0,e,he.isFunction(i)?i:u,e.notifyWith)),n[1][3].add(o(0,e,he.isFunction(t)?t:u)),n[2][3].add(o(0,e,he.isFunction(r)?r:l))}).promise()},promise:function(e){return null!=e?he.extend(e,i):i}},o={};return he.each(n,function(e,t){var a=t[2],s=t[5];i[t[1]]=a.add,s&&a.add(function(){r=s},n[3-e][2].disable,n[0][2].lock),a.add(t[3].fire),o[t[0]]=function(){return o[t[0]+"With"](this===o?void 0:this,arguments),this},o[t[0]+"With"]=a.fireWith}),i.promise(o),t&&t.call(o,o),o},when:function(e){var t=arguments.length,n=t,r=Array(n),i=re.call(arguments),o=he.Deferred(),a=function(e){return function(n){r[e]=this,i[e]=arguments.length>1?re.call(arguments):n,--t||o.resolveWith(r,i)}};if(t<=1&&(c(e,o.done(a(n)).resolve,o.reject,!t),"pending"===o.state()||he.isFunction(i[n]&&i[n].then)))return o.then();for(;n--;)c(i[n],a(n),o.reject);return o.promise()}});var Ae=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;he.Deferred.exceptionHook=function(t,n){e.console&&e.console.warn&&t&&Ae.test(t.name)&&e.console.warn("jQuery.Deferred exception: "+t.message,t.stack,n)},he.readyException=function(t){e.setTimeout(function(){throw t})};var qe=he.Deferred();he.fn.ready=function(e){return qe.then(e).catch(function(e){he.readyException(e)}),this},he.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--he.readyWait:he.isReady)||(he.isReady=!0,!0!==e&&--he.readyWait>0||qe.resolveWith(te,[he]))}}),he.ready.then=qe.then,"complete"===te.readyState||"loading"!==te.readyState&&!te.documentElement.doScroll?e.setTimeout(he.ready):(te.addEventListener("DOMContentLoaded",f),e.addEventListener("load",f));var Le=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===he.type(n)){i=!0;for(s in n)Le(e,t,s,n[s],!0,o,a)}else if(void 0!==r&&(i=!0,he.isFunction(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(he(e),n)})),t))for(;s1,null,!0)},removeData:function(e){return this.each(function(){Oe.remove(this,e)})}}),he.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Fe.get(e,t),n&&(!r||Array.isArray(n)?r=Fe.access(e,t,he.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=he.queue(e,t),r=n.length,i=n.shift(),o=he._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){he.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Fe.get(e,n)||Fe.access(e,n,{empty:he.Callbacks("once memory").add(function(){Fe.remove(e,[t+"queue",n])})})}}),he.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length\x20\t\r\n\f]+)/i,Ue=/^$|\/(?:java|ecma)script/i,Ve={option:[1,""],thead:[1,"","
    "],col:[2,"","
    "],tr:[2,"","
    "],td:[3,"","
    "],_default:[0,"",""]};Ve.optgroup=Ve.option,Ve.tbody=Ve.tfoot=Ve.colgroup=Ve.caption=Ve.thead,Ve.th=Ve.td;var Ge=/<|&#?\w+;/;!function(){var e=te.createDocumentFragment().appendChild(te.createElement("div")),t=te.createElement("input");t.setAttribute("type","radio"),t.setAttribute("checked","checked"),t.setAttribute("name","t"),e.appendChild(t),pe.checkClone=e.cloneNode(!0).cloneNode(!0).lastChild.checked,e.innerHTML="",pe.noCloneChecked=!!e.cloneNode(!0).lastChild.defaultValue}();var Ye=te.documentElement,Qe=/^key/,Je=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ke=/^([^.]*)(?:\.(.+)|)/;he.event={global:{},add:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Fe.get(e);if(v)for(n.handler&&(o=n,n=o.handler,i=o.selector),i&&he.find.matchesSelector(Ye,i),n.guid||(n.guid=he.guid++),(u=v.events)||(u=v.events={}),(a=v.handle)||(a=v.handle=function(t){return void 0!==he&&he.event.triggered!==t.type?he.event.dispatch.apply(e,arguments):void 0}),l=(t=(t||"").match(je)||[""]).length;l--;)s=Ke.exec(t[l])||[],d=g=s[1],h=(s[2]||"").split(".").sort(),d&&(f=he.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=he.event.special[d]||{},c=he.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&he.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||(p=u[d]=[],p.delegateCount=0,f.setup&&!1!==f.setup.call(e,r,h,a)||e.addEventListener&&e.addEventListener(d,a)),f.add&&(f.add.call(e,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),he.event.global[d]=!0)},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Fe.hasData(e)&&Fe.get(e);if(v&&(u=v.events)){for(l=(t=(t||"").match(je)||[""]).length;l--;)if(s=Ke.exec(t[l])||[],d=g=s[1],h=(s[2]||"").split(".").sort(),d){for(f=he.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;o--;)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||he.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)he.event.remove(e,d+t[l],n,r,!0);he.isEmptyObject(u)&&Fe.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=he.event.fix(e),u=new Array(arguments.length),l=(Fe.get(this,"events")||{})[s.type]||[],c=he.event.special[s.type]||{};for(u[0]=s,t=1;t=1))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n-1:he.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u\x20\t\r\n\f]*)[^>]*)\/>/gi,et=/\s*$/g;he.extend({htmlPrefilter:function(e){return e.replace(Ze,"<$1>")},clone:function(e,t,n){var r,i,o,a,s=e.cloneNode(!0),u=he.contains(e.ownerDocument,e);if(!(pe.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||he.isXMLDoc(e)))for(a=y(s),o=y(e),r=0,i=o.length;r0&&x(a,!u&&y(e,"script")),s},cleanData:function(e){for(var t,n,r,i=he.event.special,o=0;void 0!==(n=e[o]);o++)if(He(n)){if(t=n[Fe.expando]){if(t.events)for(r in t.events)i[r]?he.event.remove(n,r):he.removeEvent(n,r,t.handle);n[Fe.expando]=void 0}n[Oe.expando]&&(n[Oe.expando]=void 0)}}}),he.fn.extend({detach:function(e){return q(this,e,!0)},remove:function(e){return q(this,e)},text:function(e){return Le(this,function(e){return void 0===e?he.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return A(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||k(this,e).appendChild(e)})},prepend:function(){return A(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=k(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return A(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return A(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(he.cleanData(y(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return he.clone(this,e,t)})},html:function(e){return Le(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!et.test(e)&&!Ve[(Xe.exec(e)||["",""])[1].toLowerCase()]){e=he.htmlPrefilter(e);try{for(;n1)}}),he.Tween=I,I.prototype={constructor:I,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||he.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(he.cssNumber[n]?"":"px")},cur:function(){var e=I.propHooks[this.prop];return e&&e.get?e.get(this):I.propHooks._default.get(this)},run:function(e){var t,n=I.propHooks[this.prop];return this.options.duration?this.pos=t=he.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):I.propHooks._default.set(this),this}},I.prototype.init.prototype=I.prototype,I.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=he.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){he.fx.step[e.prop]?he.fx.step[e.prop](e):1!==e.elem.nodeType||null==e.elem.style[he.cssProps[e.prop]]&&!he.cssHooks[e.prop]?e.elem[e.prop]=e.now:he.style(e.elem,e.prop,e.now+e.unit)}}},I.propHooks.scrollTop=I.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},he.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},he.fx=I.prototype.init,he.fx.step={};var dt,ht,gt=/^(?:toggle|show|hide)$/,vt=/queueHooks$/;he.Animation=he.extend(X,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return g(n.elem,e,Ie.exec(t),n),n}]},tweener:function(e,t){he.isFunction(e)?(t=e,e=["*"]):e=e.match(je);for(var n,r=0,i=e.length;r1)},removeAttr:function(e){return this.each(function(){he.removeAttr(this,e)})}}),he.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return void 0===e.getAttribute?he.prop(e,t,n):(1===o&&he.isXMLDoc(e)||(i=he.attrHooks[t.toLowerCase()]||(he.expr.match.bool.test(t)?mt:void 0)),void 0!==n?null===n?void he.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=he.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!pe.radioValue&&"radio"===t&&i(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(je);if(i&&1===e.nodeType)for(;n=i[r++];)e.removeAttribute(n)}}),mt={set:function(e,t,n){return!1===t?he.removeAttr(e,n):e.setAttribute(n,n),n}},he.each(he.expr.match.bool.source.match(/\w+/g),function(e,t){var n=yt[t]||he.find.attr;yt[t]=function(e,t,r){var i,o,a=t.toLowerCase();return r||(o=yt[a],yt[a]=i,i=null!=n(e,t,r)?a:null,yt[a]=o),i}});var xt=/^(?:input|select|textarea|button)$/i,bt=/^(?:a|area)$/i;he.fn.extend({prop:function(e,t){return Le(this,he.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[he.propFix[e]||e]})}}),he.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&he.isXMLDoc(e)||(t=he.propFix[t]||t,i=he.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=he.find.attr(e,"tabindex");return t?parseInt(t,10):xt.test(e.nodeName)||bt.test(e.nodeName)&&e.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),pe.optSelected||(he.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),he.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){he.propFix[this.toLowerCase()]=this}),he.fn.extend({addClass:function(e){var t,n,r,i,o,a,s,u=0;if(he.isFunction(e))return this.each(function(t){he(this).addClass(e.call(this,t,V(this)))});if("string"==typeof e&&e)for(t=e.match(je)||[];n=this[u++];)if(i=V(n),r=1===n.nodeType&&" "+U(i)+" "){for(a=0;o=t[a++];)r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=U(r))&&n.setAttribute("class",s)}return this},removeClass:function(e){var t,n,r,i,o,a,s,u=0;if(he.isFunction(e))return this.each(function(t){he(this).removeClass(e.call(this,t,V(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof e&&e)for(t=e.match(je)||[];n=this[u++];)if(i=V(n),r=1===n.nodeType&&" "+U(i)+" "){for(a=0;o=t[a++];)for(;r.indexOf(" "+o+" ")>-1;)r=r.replace(" "+o+" "," ");i!==(s=U(r))&&n.setAttribute("class",s)}return this},toggleClass:function(e,t){var n=typeof e;return"boolean"==typeof t&&"string"===n?t?this.addClass(e):this.removeClass(e):he.isFunction(e)?this.each(function(n){he(this).toggleClass(e.call(this,n,V(this),t),t)}):this.each(function(){var t,r,i,o;if("string"===n)for(r=0,i=he(this),o=e.match(je)||[];t=o[r++];)i.hasClass(t)?i.removeClass(t):i.addClass(t);else void 0!==e&&"boolean"!==n||((t=V(this))&&Fe.set(this,"__className__",t),this.setAttribute&&this.setAttribute("class",t||!1===e?"":Fe.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;for(t=" "+e+" ";n=this[r++];)if(1===n.nodeType&&(" "+U(V(n))+" ").indexOf(t)>-1)return!0;return!1}});var wt=/\r/g;he.fn.extend({val:function(e){var t,n,r,i=this[0];return arguments.length?(r=he.isFunction(e),this.each(function(n){var i;1===this.nodeType&&(null==(i=r?e.call(this,n,he(this).val()):e)?i="":"number"==typeof i?i+="":Array.isArray(i)&&(i=he.map(i,function(e){return null==e?"":e+""})),(t=he.valHooks[this.type]||he.valHooks[this.nodeName.toLowerCase()])&&"set"in t&&void 0!==t.set(this,i,"value")||(this.value=i))})):i?(t=he.valHooks[i.type]||he.valHooks[i.nodeName.toLowerCase()])&&"get"in t&&void 0!==(n=t.get(i,"value"))?n:"string"==typeof(n=i.value)?n.replace(wt,""):null==n?"":n:void 0}}),he.extend({valHooks:{option:{get:function(e){var t=he.find.attr(e,"value");return null!=t?t:U(he.text(e))}},select:{get:function(e){var t,n,r,o=e.options,a=e.selectedIndex,s="select-one"===e.type,u=s?null:[],l=s?a+1:o.length;for(r=a<0?l:s?a:0;r-1)&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),he.each(["radio","checkbox"],function(){he.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=he.inArray(he(e).val(),t)>-1}},pe.checkOn||(he.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})});var Tt=/^(?:focusinfocus|focusoutblur)$/;he.extend(he.event,{trigger:function(t,n,r,i){var o,a,s,u,l,c,f,p=[r||te],d=le.call(t,"type")?t.type:t,h=le.call(t,"namespace")?t.namespace.split("."):[];if(a=s=r=r||te,3!==r.nodeType&&8!==r.nodeType&&!Tt.test(d+he.event.triggered)&&(d.indexOf(".")>-1&&(h=d.split("."),d=h.shift(),h.sort()),l=d.indexOf(":")<0&&"on"+d,t=t[he.expando]?t:new he.Event(d,"object"==typeof t&&t),t.isTrigger=i?2:3,t.namespace=h.join("."),t.rnamespace=t.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=r),n=null==n?[t]:he.makeArray(n,[t]),f=he.event.special[d]||{},i||!f.trigger||!1!==f.trigger.apply(r,n))){if(!i&&!f.noBubble&&!he.isWindow(r)){for(u=f.delegateType||d,Tt.test(u+d)||(a=a.parentNode);a;a=a.parentNode)p.push(a),s=a;s===(r.ownerDocument||te)&&p.push(s.defaultView||s.parentWindow||e)}for(o=0;(a=p[o++])&&!t.isPropagationStopped();)t.type=o>1?u:f.bindType||d,(c=(Fe.get(a,"events")||{})[t.type]&&Fe.get(a,"handle"))&&c.apply(a,n),(c=l&&a[l])&&c.apply&&He(a)&&(t.result=c.apply(a,n),!1===t.result&&t.preventDefault());return t.type=d,i||t.isDefaultPrevented()||f._default&&!1!==f._default.apply(p.pop(),n)||!He(r)||l&&he.isFunction(r[d])&&!he.isWindow(r)&&((s=r[l])&&(r[l]=null),he.event.triggered=d,r[d](),he.event.triggered=void 0,s&&(r[l]=s)),t.result}},simulate:function(e,t,n){var r=he.extend(new he.Event,n,{type:e,isSimulated:!0});he.event.trigger(r,null,t)}}),he.fn.extend({trigger:function(e,t){return this.each(function(){he.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return he.event.trigger(e,t,n,!0)}}),he.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,t){he.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),he.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),pe.focusin="onfocusin"in e,pe.focusin||he.each({focus:"focusin",blur:"focusout"},function(e,t){var n=function(e){he.event.simulate(t,e.target,he.event.fix(e))};he.event.special[t]={setup:function(){var r=this.ownerDocument||this,i=Fe.access(r,t);i||r.addEventListener(e,n,!0),Fe.access(r,t,(i||0)+1)},teardown:function(){var r=this.ownerDocument||this,i=Fe.access(r,t)-1;i?Fe.access(r,t,i):(r.removeEventListener(e,n,!0),Fe.remove(r,t))}}});var Ct=e.location,Et=he.now(),kt=/\?/;he.parseXML=function(t){var n;if(!t||"string"!=typeof t)return null;try{n=(new e.DOMParser).parseFromString(t,"text/xml")}catch(e){n=void 0}return n&&!n.getElementsByTagName("parsererror").length||he.error("Invalid XML: "+t),n};var St=/\[\]$/,Nt=/\r?\n/g,Dt=/^(?:submit|button|image|reset|file)$/i,jt=/^(?:input|select|textarea|keygen)/i;he.param=function(e,t){var n,r=[],i=function(e,t){var n=he.isFunction(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(Array.isArray(e)||e.jquery&&!he.isPlainObject(e))he.each(e,function(){i(this.name,this.value)});else for(n in e)G(n,e[n],t,i);return r.join("&")},he.fn.extend({serialize:function(){return he.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=he.prop(this,"elements");return e?he.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!he(this).is(":disabled")&&jt.test(this.nodeName)&&!Dt.test(e)&&(this.checked||!ze.test(e))}).map(function(e,t){var n=he(this).val();return null==n?null:Array.isArray(n)?he.map(n,function(e){return{name:t.name,value:e.replace(Nt,"\r\n")}}):{name:t.name,value:n.replace(Nt,"\r\n")}}).get()}});var At=/%20/g,qt=/#.*$/,Lt=/([?&])_=[^&]*/,Ht=/^(.*?):[ \t]*([^\r\n]*)$/gm,Ft=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Ot=/^(?:GET|HEAD)$/,Pt=/^\/\//,Rt={},Mt={},It="*/".concat("*"),Wt=te.createElement("a");Wt.href=Ct.href,he.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Ct.href,type:"GET",isLocal:Ft.test(Ct.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":It,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":he.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?J(J(e,he.ajaxSettings),t):J(he.ajaxSettings,e)},ajaxPrefilter:Y(Rt),ajaxTransport:Y(Mt),ajax:function(t,n){function r(t,n,r,s){var l,p,d,b,w,T=n;c||(c=!0,u&&e.clearTimeout(u),i=void 0,a=s||"",C.readyState=t>0?4:0,l=t>=200&&t<300||304===t,r&&(b=K(h,C,r)),b=Z(h,b,C,l),l?(h.ifModified&&((w=C.getResponseHeader("Last-Modified"))&&(he.lastModified[o]=w),(w=C.getResponseHeader("etag"))&&(he.etag[o]=w)),204===t||"HEAD"===h.type?T="nocontent":304===t?T="notmodified":(T=b.state,p=b.data,d=b.error,l=!d)):(d=T,!t&&T||(T="error",t<0&&(t=0))),C.status=t,C.statusText=(n||T)+"",l?m.resolveWith(g,[p,T,C]):m.rejectWith(g,[C,T,d]),C.statusCode(x),x=void 0,f&&v.trigger(l?"ajaxSuccess":"ajaxError",[C,h,l?p:d]),y.fireWith(g,[C,T]),f&&(v.trigger("ajaxComplete",[C,h]),--he.active||he.event.trigger("ajaxStop")))}"object"==typeof t&&(n=t,t=void 0),n=n||{};var i,o,a,s,u,l,c,f,p,d,h=he.ajaxSetup({},n),g=h.context||h,v=h.context&&(g.nodeType||g.jquery)?he(g):he.event,m=he.Deferred(),y=he.Callbacks("once memory"),x=h.statusCode||{},b={},w={},T="canceled",C={readyState:0,getResponseHeader:function(e){var t;if(c){if(!s)for(s={};t=Ht.exec(a);)s[t[1].toLowerCase()]=t[2];t=s[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return c?a:null},setRequestHeader:function(e,t){return null==c&&(e=w[e.toLowerCase()]=w[e.toLowerCase()]||e,b[e]=t),this},overrideMimeType:function(e){return null==c&&(h.mimeType=e),this},statusCode:function(e){var t;if(e)if(c)C.always(e[C.status]);else for(t in e)x[t]=[x[t],e[t]];return this},abort:function(e){var t=e||T;return i&&i.abort(t),r(0,t),this}};if(m.promise(C),h.url=((t||h.url||Ct.href)+"").replace(Pt,Ct.protocol+"//"),h.type=n.method||n.type||h.method||h.type,h.dataTypes=(h.dataType||"*").toLowerCase().match(je)||[""],null==h.crossDomain){l=te.createElement("a");try{l.href=h.url,l.href=l.href,h.crossDomain=Wt.protocol+"//"+Wt.host!=l.protocol+"//"+l.host}catch(e){h.crossDomain=!0}}if(h.data&&h.processData&&"string"!=typeof h.data&&(h.data=he.param(h.data,h.traditional)),Q(Rt,h,n,C),c)return C;(f=he.event&&h.global)&&0==he.active++&&he.event.trigger("ajaxStart"),h.type=h.type.toUpperCase(),h.hasContent=!Ot.test(h.type),o=h.url.replace(qt,""),h.hasContent?h.data&&h.processData&&0===(h.contentType||"").indexOf("application/x-www-form-urlencoded")&&(h.data=h.data.replace(At,"+")):(d=h.url.slice(o.length),h.data&&(o+=(kt.test(o)?"&":"?")+h.data,delete h.data),!1===h.cache&&(o=o.replace(Lt,"$1"),d=(kt.test(o)?"&":"?")+"_="+Et+++d),h.url=o+d),h.ifModified&&(he.lastModified[o]&&C.setRequestHeader("If-Modified-Since",he.lastModified[o]),he.etag[o]&&C.setRequestHeader("If-None-Match",he.etag[o])),(h.data&&h.hasContent&&!1!==h.contentType||n.contentType)&&C.setRequestHeader("Content-Type",h.contentType),C.setRequestHeader("Accept",h.dataTypes[0]&&h.accepts[h.dataTypes[0]]?h.accepts[h.dataTypes[0]]+("*"!==h.dataTypes[0]?", "+It+"; q=0.01":""):h.accepts["*"]);for(p in h.headers)C.setRequestHeader(p,h.headers[p]);if(h.beforeSend&&(!1===h.beforeSend.call(g,C,h)||c))return C.abort();if(T="abort",y.add(h.complete),C.done(h.success),C.fail(h.error),i=Q(Mt,h,n,C)){if(C.readyState=1,f&&v.trigger("ajaxSend",[C,h]),c)return C;h.async&&h.timeout>0&&(u=e.setTimeout(function(){C.abort("timeout")},h.timeout));try{c=!1,i.send(b,r)}catch(e){if(c)throw e;r(-1,e)}}else r(-1,"No Transport");return C},getJSON:function(e,t,n){return he.get(e,t,n,"json")},getScript:function(e,t){return he.get(e,void 0,t,"script")}}),he.each(["get","post"],function(e,t){he[t]=function(e,n,r,i){return he.isFunction(n)&&(i=i||r,r=n,n=void 0),he.ajax(he.extend({url:e,type:t,dataType:i,data:n,success:r},he.isPlainObject(e)&&e))}}),he._evalUrl=function(e){return he.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,throws:!0})},he.fn.extend({wrapAll:function(e){var t;return this[0]&&(he.isFunction(e)&&(e=e.call(this[0])),t=he(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(e){return he.isFunction(e)?this.each(function(t){he(this).wrapInner(e.call(this,t))}):this.each(function(){var t=he(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=he.isFunction(e);return this.each(function(n){he(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(e){return this.parent(e).not("body").each(function(){he(this).replaceWith(this.childNodes)}),this}}),he.expr.pseudos.hidden=function(e){return!he.expr.pseudos.visible(e)},he.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},he.ajaxSettings.xhr=function(){try{return new e.XMLHttpRequest}catch(e){}};var $t={0:200,1223:204},Bt=he.ajaxSettings.xhr();pe.cors=!!Bt&&"withCredentials"in Bt,pe.ajax=Bt=!!Bt,he.ajaxTransport(function(t){var n,r;if(pe.cors||Bt&&!t.crossDomain)return{send:function(i,o){var a,s=t.xhr();if(s.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(a in t.xhrFields)s[a]=t.xhrFields[a];t.mimeType&&s.overrideMimeType&&s.overrideMimeType(t.mimeType),t.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest");for(a in i)s.setRequestHeader(a,i[a]);n=function(e){return function(){n&&(n=r=s.onload=s.onerror=s.onabort=s.onreadystatechange=null,"abort"===e?s.abort():"error"===e?"number"!=typeof s.status?o(0,"error"):o(s.status,s.statusText):o($t[s.status]||s.status,s.statusText,"text"!==(s.responseType||"text")||"string"!=typeof s.responseText?{binary:s.response}:{text:s.responseText},s.getAllResponseHeaders()))}},s.onload=n(),r=s.onerror=n("error"),void 0!==s.onabort?s.onabort=r:s.onreadystatechange=function(){4===s.readyState&&e.setTimeout(function(){n&&r()})},n=n("abort");try{s.send(t.hasContent&&t.data||null)}catch(e){if(n)throw e}},abort:function(){n&&n()}}}),he.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),he.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return he.globalEval(e),e}}}),he.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),he.ajaxTransport("script",function(e){if(e.crossDomain){var t,n;return{send:function(r,i){t=he(" diff --git a/unauthenticated/js/ckeditor/plugins/scayt/CHANGELOG.md b/unauthenticated/js/ckeditor/plugins/scayt/CHANGELOG.md new file mode 100644 index 000000000..d956208b3 --- /dev/null +++ b/unauthenticated/js/ckeditor/plugins/scayt/CHANGELOG.md @@ -0,0 +1,20 @@ +SCAYT plugin for CKEditor 4 Changelog +==================== +### CKEditor 4.5.6 + +New Features: +* CKEditor [language addon](http://ckeditor.com/addon/language) support +* CKEditor [placeholder addon](http://ckeditor.com/addon/placeholder) support +* Drag and Drop support +* *Experimental* GRAYT functionality http://www.webspellchecker.net/samples/scayt-ckeditor-plugin.html#25 + +Fixed issues: +* [#98](https://github.com/WebSpellChecker/ckeditor-plugin-scayt/issues/98) SCAYT Affects Dialog Double Click. Fixed in SCAYT Core. +* [#102](https://github.com/WebSpellChecker/ckeditor-plugin-scayt/issues/102) SCAYT Core performance enhancements +* [#104](https://github.com/WebSpellChecker/ckeditor-plugin-scayt/issues/104) SCAYT's spans leak into the clipboard and after pasting +* [#105](https://github.com/WebSpellChecker/ckeditor-plugin-scayt/issues/105) Javascript error fired in case of multiple instances of CKEditor in one page +* [#107](https://github.com/WebSpellChecker/ckeditor-plugin-scayt/issues/107) SCAYT should not check non-editable parts of content +* [#108](https://github.com/WebSpellChecker/ckeditor-plugin-scayt/issues/108) Latest SCAYT copies id of editor element to the iframe +* SCAYT stops working when CKEditor Undo plug-in not enabled +* Issue with pasting SCAYT markup in CKEditor +* [#32](https://github.com/WebSpellChecker/ckeditor-plugin-wsc/issues/32) SCAYT stops working after pressing Cancel button in WSC dialog diff --git a/unauthenticated/js/ckeditor/plugins/scayt/LICENSE.md b/unauthenticated/js/ckeditor/plugins/scayt/LICENSE.md new file mode 100644 index 000000000..844ab4de0 --- /dev/null +++ b/unauthenticated/js/ckeditor/plugins/scayt/LICENSE.md @@ -0,0 +1,28 @@ +Software License Agreement +========================== + +**CKEditor SCAYT Plugin** +Copyright © 2012, [CKSource](http://cksource.com) - Frederico Knabben. All rights reserved. + +Licensed under the terms of any of the following licenses at your choice: + +* GNU General Public License Version 2 or later (the "GPL"): + http://www.gnu.org/licenses/gpl.html + +* GNU Lesser General Public License Version 2.1 or later (the "LGPL"): + http://www.gnu.org/licenses/lgpl.html + +* Mozilla Public License Version 1.1 or later (the "MPL"): + http://www.mozilla.org/MPL/MPL-1.1.html + +You are not required to, but if you want to explicitly declare the license you have chosen to be bound to when using, reproducing, modifying and distributing this software, just include a text file titled "legal.txt" in your version of this software, indicating your license choice. + +Sources of Intellectual Property Included in this plugin +-------------------------------------------------------- + +Where not otherwise indicated, all plugin content is authored by CKSource engineers and consists of CKSource-owned intellectual property. In some specific instances, the plugin will incorporate work done by developers outside of CKSource with their express permission. + +Trademarks +---------- + +CKEditor is a trademark of CKSource - Frederico Knabben. All other brand and product names are trademarks, registered trademarks or service marks of their respective holders. diff --git a/unauthenticated/js/ckeditor/plugins/scayt/README.md b/unauthenticated/js/ckeditor/plugins/scayt/README.md new file mode 100644 index 000000000..1231d91ec --- /dev/null +++ b/unauthenticated/js/ckeditor/plugins/scayt/README.md @@ -0,0 +1,25 @@ +CKEditor SCAYT Plugin +===================== + +This plugin brings Spell Check As You Type (SCAYT) into up to CKEditor 4+. + +SCAYT is a "installation-less", using the web-services of [WebSpellChecker.net](http://www.webspellchecker.net/). It's an out of the box solution. + +Installation +------------ + +1. Clone/copy this repository contents in a new "plugins/scayt" folder in your CKEditor installation. +2. Enable the "scayt" plugin in the CKEditor configuration file (config.js): + + config.extraPlugins = 'scayt'; + +That's all. SCAYT will appear on the editor toolbar and will be ready to use. + +License +------- + +Licensed under the terms of any of the following licenses at your choice: [GPL](http://www.gnu.org/licenses/gpl.html), [LGPL](http://www.gnu.org/licenses/lgpl.html) and [MPL](http://www.mozilla.org/MPL/MPL-1.1.html). + +See LICENSE.md for more information. + +Developed in cooperation with [WebSpellChecker.net](http://www.webspellchecker.net/). diff --git a/unauthenticated/js/ckeditor/plugins/scayt/dialogs/options.js b/unauthenticated/js/ckeditor/plugins/scayt/dialogs/options.js new file mode 100644 index 000000000..12dbfd132 --- /dev/null +++ b/unauthenticated/js/ckeditor/plugins/scayt/dialogs/options.js @@ -0,0 +1,19 @@ +ï»żCKEDITOR.dialog.add("scaytDialog",function(c){var f=c.scayt,q='\x3cp\x3e\x3cimg src\x3d"'+f.getLogo()+'" /\x3e\x3c/p\x3e\x3cp\x3e'+f.getLocal("version")+f.getVersion()+"\x3c/p\x3e\x3cp\x3e"+f.getLocal("text_copyrights")+"\x3c/p\x3e",r=CKEDITOR.document,n={isChanged:function(){return null===this.newLang||this.currentLang===this.newLang?!1:!0},currentLang:f.getLang(),newLang:null,reset:function(){this.currentLang=f.getLang();this.newLang=null},id:"lang"},q=[{id:"options",label:f.getLocal("tab_options"), +onShow:function(){},elements:[{type:"vbox",id:"scaytOptions",children:function(){var a=f.getApplicationConfig(),b=[],g={"ignore-all-caps-words":"label_allCaps","ignore-domain-names":"label_ignoreDomainNames","ignore-words-with-mixed-cases":"label_mixedCase","ignore-words-with-numbers":"label_mixedWithDigits"},e;for(e in a)a={type:"checkbox"},a.id=e,a.label=f.getLocal(g[e]),b.push(a);return b}(),onShow:function(){this.getChild();for(var a=c.scayt,b=0;bb[1]?c=1:a[1]n&&(n=f)}return n}function r(a){return function(){var f=this.getValue(),f=!!(CKEDITOR.dialog.validate.integer()(f)&&0q.getSize("width")?"100%":500:0,getValue:u,validate:CKEDITOR.dialog.validate.cssLength(a.lang.common.invalidCssLength.replace("%1", +a.lang.common.width)),onChange:function(){var a=this.getDialog().getContentElement("advanced","advStyles");a&&a.updateStyle("width",this.getValue())},setup:function(a){a=a.getStyle("width");this.setValue(a)},commit:l}]},{type:"hbox",widths:["5em"],children:[{type:"text",id:"txtHeight",requiredContent:"table{height}",controlStyle:"width:5em",label:a.lang.common.height,title:a.lang.common.cssLengthTooltip,"default":"",getValue:u,validate:CKEDITOR.dialog.validate.cssLength(a.lang.common.invalidCssLength.replace("%1", +a.lang.common.height)),onChange:function(){var a=this.getDialog().getContentElement("advanced","advStyles");a&&a.updateStyle("height",this.getValue())},setup:function(a){(a=a.getStyle("height"))&&this.setValue(a)},commit:l}]},{type:"html",html:"\x26nbsp;"},{type:"text",id:"txtCellSpace",requiredContent:"table[cellspacing]",controlStyle:"width:3em",label:a.lang.table.cellSpace,"default":a.filter.check("table[cellspacing]")?1:0,validate:CKEDITOR.dialog.validate.number(a.lang.table.invalidCellSpacing), +setup:function(a){this.setValue(a.getAttribute("cellSpacing")||"")},commit:function(a,d){this.getValue()?d.setAttribute("cellSpacing",this.getValue()):d.removeAttribute("cellSpacing")}},{type:"text",id:"txtCellPad",requiredContent:"table[cellpadding]",controlStyle:"width:3em",label:a.lang.table.cellPad,"default":a.filter.check("table[cellpadding]")?1:0,validate:CKEDITOR.dialog.validate.number(a.lang.table.invalidCellPadding),setup:function(a){this.setValue(a.getAttribute("cellPadding")||"")},commit:function(a, +d){this.getValue()?d.setAttribute("cellPadding",this.getValue()):d.removeAttribute("cellPadding")}}]}]},{type:"html",align:"right",html:""},{type:"vbox",padding:0,children:[{type:"text",id:"txtCaption",requiredContent:"caption",label:a.lang.table.caption,setup:function(a){this.enable();a=a.getElementsByTag("caption");if(0 + + + + + + + +

    + diff --git a/unauthenticated/js/ckeditor/plugins/wsc/dialogs/tmpFrameset.html b/unauthenticated/js/ckeditor/plugins/wsc/dialogs/tmpFrameset.html new file mode 100644 index 000000000..19c7c9ccf --- /dev/null +++ b/unauthenticated/js/ckeditor/plugins/wsc/dialogs/tmpFrameset.html @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + diff --git a/unauthenticated/js/ckeditor/plugins/wsc/dialogs/wsc.css b/unauthenticated/js/ckeditor/plugins/wsc/dialogs/wsc.css new file mode 100644 index 000000000..2a622f225 --- /dev/null +++ b/unauthenticated/js/ckeditor/plugins/wsc/dialogs/wsc.css @@ -0,0 +1,82 @@ +/* +Copyright (c) 2003-2015, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +html, body +{ + background-color: transparent; + margin: 0px; + padding: 0px; +} + +body +{ + padding: 10px; +} + +body, td, input, select, textarea +{ + font-size: 11px; + font-family: 'Microsoft Sans Serif' , Arial, Helvetica, Verdana; +} + +.midtext +{ + padding:0px; + margin:10px; +} + +.midtext p +{ + padding:0px; + margin:10px; +} + +.Button +{ + border: #737357 1px solid; + color: #3b3b1f; + background-color: #c7c78f; +} + +.PopupTabArea +{ + color: #737357; + background-color: #e3e3c7; +} + +.PopupTitleBorder +{ + border-bottom: #d5d59d 1px solid; +} +.PopupTabEmptyArea +{ + padding-left: 10px; + border-bottom: #d5d59d 1px solid; +} + +.PopupTab, .PopupTabSelected +{ + border-right: #d5d59d 1px solid; + border-top: #d5d59d 1px solid; + border-left: #d5d59d 1px solid; + padding: 3px 5px 3px 5px; + color: #737357; +} + +.PopupTab +{ + margin-top: 1px; + border-bottom: #d5d59d 1px solid; + cursor: pointer; +} + +.PopupTabSelected +{ + font-weight: bold; + cursor: default; + padding-top: 4px; + border-bottom: #f1f1e3 1px solid; + background-color: #f1f1e3; +} diff --git a/unauthenticated/js/ckeditor/plugins/wsc/dialogs/wsc.js b/unauthenticated/js/ckeditor/plugins/wsc/dialogs/wsc.js new file mode 100644 index 000000000..5ef1d391f --- /dev/null +++ b/unauthenticated/js/ckeditor/plugins/wsc/dialogs/wsc.js @@ -0,0 +1,92 @@ +ï»ż/* + Copyright (c) 2003-2015, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.html or http://ckeditor.com/license +*/ +(function(){function z(a){return a&&a.domId&&a.getInputElement().$?a.getInputElement():a&&a.$?a:!1}function I(a){if(!a)throw"Languages-by-groups list are required for construct selectbox";var c=[],e="",d;for(d in a)for(var f in a[d]){var h=a[d][f];"en_US"==h?e=h:c.push(h)}c.sort();e&&c.unshift(e);return{getCurrentLangGroup:function(c){a:{for(var d in a)for(var e in a[d])if(e.toUpperCase()===c.toUpperCase()){c=d;break a}c=""}return c},setLangList:function(){var c={},d;for(d in a)for(var e in a[d])c[a[d][e]]= +e;return c}()}}var g=function(){var a=function(a,b,d){d=d||{};var f=d.expires;if("number"==typeof f&&f){var h=new Date;h.setTime(h.getTime()+1E3*f);f=d.expires=h}f&&f.toUTCString&&(d.expires=f.toUTCString());b=encodeURIComponent(b);a=a+"\x3d"+b;for(var k in d)b=d[k],a+="; "+k,!0!==b&&(a+="\x3d"+b);document.cookie=a};return{postMessage:{init:function(a){window.addEventListener?window.addEventListener("message",a,!1):window.attachEvent("onmessage",a)},send:function(a){var b=Object.prototype.toString, +d=a.fn||null,f=a.id||"",h=a.target||window,k=a.message||{id:f};a.message&&"[object Object]"==b.call(a.message)&&(a.message.id?a.message.id:a.message.id=f,k=a.message);a=window.JSON.stringify(k,d);h.postMessage(a,"*")},unbindHandler:function(a){window.removeEventListener?window.removeEventListener("message",a,!1):window.detachEvent("onmessage",a)}},hash:{create:function(){},parse:function(){}},cookie:{set:a,get:function(a){return(a=document.cookie.match(new RegExp("(?:^|; )"+a.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, +"\\$1")+"\x3d([^;]*)")))?decodeURIComponent(a[1]):void 0},remove:function(c){a(c,"",{expires:-1})}},misc:{findFocusable:function(a){var b=null;a&&(b=a.find("a[href], area[href], input, select, textarea, button, *[tabindex], *[contenteditable]"));return b},isVisible:function(a){var b;(b=0===a.offsetWidth||0==a.offsetHeight)||(b="none"===(document.defaultView&&document.defaultView.getComputedStyle?document.defaultView.getComputedStyle(a,null).display:a.currentStyle?a.currentStyle.display:a.style.display)); +return!b},hasClass:function(a,b){return!(!a.className||!a.className.match(new RegExp("(\\s|^)"+b+"(\\s|$)")))}}}}(),a=a||{};a.TextAreaNumber=null;a.load=!0;a.cmd={SpellTab:"spell",Thesaurus:"thes",GrammTab:"grammar"};a.dialog=null;a.optionNode=null;a.selectNode=null;a.grammerSuggest=null;a.textNode={};a.iframeMain=null;a.dataTemp="";a.div_overlay=null;a.textNodeInfo={};a.selectNode={};a.selectNodeResponce={};a.langList=null;a.langSelectbox=null;a.banner="";a.show_grammar=null;a.div_overlay_no_check= +null;a.targetFromFrame={};a.onLoadOverlay=null;a.LocalizationComing={};a.OverlayPlace=null;a.sessionid="";a.LocalizationButton={ChangeTo_button:{instance:null,text:"Change to",localizationID:"ChangeTo"},ChangeAll:{instance:null,text:"Change All"},IgnoreWord:{instance:null,text:"Ignore word"},IgnoreAllWords:{instance:null,text:"Ignore all words"},Options:{instance:null,text:"Options",optionsDialog:{instance:null}},AddWord:{instance:null,text:"Add word"},FinishChecking_button:{instance:null,text:"Finish Checking", +localizationID:"FinishChecking"},FinishChecking_button_block:{instance:null,text:"Finish Checking",localizationID:"FinishChecking"}};a.LocalizationLabel={ChangeTo_label:{instance:null,text:"Change to",localizationID:"ChangeTo"},Suggestions:{instance:null,text:"Suggestions"},Categories:{instance:null,text:"Categories"},Synonyms:{instance:null,text:"Synonyms"}};var J=function(b){var c,e,d;for(d in b)c=(c=a.dialog.getContentElement(a.dialog._.currentTabId,d))?c.getElement():b[d].instance.getElement().getFirst()|| +b[d].instance.getElement(),e=b[d].localizationID||d,c.setText(a.LocalizationComing[e])},K=function(b){var c,e,d;for(d in b)c=a.dialog.getContentElement(a.dialog._.currentTabId,d),c||(c=b[d].instance),c.setLabel&&(e=b[d].localizationID||d,c.setLabel(a.LocalizationComing[e]+":"))},r,A;a.framesetHtml=function(b){return"\x3ciframe id\x3d"+a.iframeNumber+"_"+b+' frameborder\x3d"0" allowtransparency\x3d"1" style\x3d"width:100%;border: 1px solid #AEB3B9;overflow: auto;background:#fff; border-radius: 3px;"\x3e\x3c/iframe\x3e'}; +a.setIframe=function(b,c){var e;e=a.framesetHtml(c);var d=a.iframeNumber+"_"+c;b.getElement().setHtml(e);e=document.getElementById(d);e=e.contentWindow?e.contentWindow:e.contentDocument.document?e.contentDocument.document:e.contentDocument;e.document.open();e.document.write('\x3c!DOCTYPE html\x3e\x3chtml\x3e\x3chead\x3e\x3cmeta charset\x3d"UTF-8"\x3e\x3ctitle\x3eiframe\x3c/title\x3e\x3cstyle\x3ehtml,body{margin: 0;height: 100%;font: 13px/1.555 "Trebuchet MS", sans-serif;}a{color: #888;font-weight: bold;text-decoration: none;border-bottom: 1px solid #888;}.main-box {color:#252525;padding: 3px 5px;text-align: justify;}.main-box p{margin: 0 0 14px;}.main-box .cerr{color: #f00000;border-bottom-color: #f00000;}\x3c/style\x3e\x3c/head\x3e\x3cbody\x3e\x3cdiv id\x3d"content" class\x3d"main-box"\x3e\x3c/div\x3e\x3ciframe src\x3d"" frameborder\x3d"0" id\x3d"spelltext" name\x3d"spelltext" style\x3d"display:none; width: 100%" \x3e\x3c/iframe\x3e\x3ciframe src\x3d"" frameborder\x3d"0" id\x3d"loadsuggestfirst" name\x3d"loadsuggestfirst" style\x3d"display:none; width: 100%" \x3e\x3c/iframe\x3e\x3ciframe src\x3d"" frameborder\x3d"0" id\x3d"loadspellsuggestall" name\x3d"loadspellsuggestall" style\x3d"display:none; width: 100%" \x3e\x3c/iframe\x3e\x3ciframe src\x3d"" frameborder\x3d"0" id\x3d"loadOptionsForm" name\x3d"loadOptionsForm" style\x3d"display:none; width: 100%" \x3e\x3c/iframe\x3e\x3cscript\x3e(function(window) {var ManagerPostMessage \x3d function() {var _init \x3d function(handler) {if (document.addEventListener) {window.addEventListener("message", handler, false);} else {window.attachEvent("onmessage", handler);};};var _sendCmd \x3d function(o) {var str,type \x3d Object.prototype.toString,fn \x3d o.fn || null,id \x3d o.id || "",target \x3d o.target || window,message \x3d o.message || { "id": id };if (o.message \x26\x26 type.call(o.message) \x3d\x3d "[object Object]") {(o.message["id"]) ? o.message["id"] : o.message["id"] \x3d id;message \x3d o.message;};str \x3d JSON.stringify(message, fn);target.postMessage(str, "*");};return {init: _init,send: _sendCmd};};var manageMessageTmp \x3d new ManagerPostMessage;var appString \x3d (function(){var spell \x3d parent.CKEDITOR.config.wsc.DefaultParams.scriptPath;var serverUrl \x3d parent.CKEDITOR.config.wsc.DefaultParams.serviceHost;return serverUrl + spell;})();function loadScript(src, callback) {var scriptTag \x3d document.createElement("script");scriptTag.type \x3d "text/javascript";callback ? callback : callback \x3d function() {};if(scriptTag.readyState) {scriptTag.onreadystatechange \x3d function() {if (scriptTag.readyState \x3d\x3d "loaded" ||scriptTag.readyState \x3d\x3d "complete") {scriptTag.onreadystatechange \x3d null;setTimeout(function(){scriptTag.parentNode.removeChild(scriptTag)},1);callback();}};}else{scriptTag.onload \x3d function() {setTimeout(function(){scriptTag.parentNode.removeChild(scriptTag)},1);callback();};};scriptTag.src \x3d src;document.getElementsByTagName("head")[0].appendChild(scriptTag);};window.onload \x3d function(){loadScript(appString, function(){manageMessageTmp.send({"id": "iframeOnload","target": window.parent});});}})(this);\x3c/script\x3e\x3c/body\x3e\x3c/html\x3e'); +e.document.close()};a.setCurrentIframe=function(b){a.setIframe(a.dialog._.contents[b].Content,b)};a.setHeightBannerFrame=function(){var b=a.dialog.getContentElement("SpellTab","banner").getElement(),c=a.dialog.getContentElement("GrammTab","banner").getElement(),e=a.dialog.getContentElement("Thesaurus","banner").getElement();b.setStyle("height","90px");c.setStyle("height","90px");e.setStyle("height","90px")};a.setHeightFrame=function(){document.getElementById(a.iframeNumber+"_"+a.dialog._.currentTabId).style.height= +"240px"};a.sendData=function(b){var c=b._.currentTabId,e=b._.contents[c].Content,d,f;a.previousTab=c;a.setIframe(e,c);var h=function(h){c=b._.currentTabId;h=h||window.event;h.data.getTarget().is("a")&&c!==a.previousTab&&(a.previousTab=c,e=b._.contents[c].Content,d=a.iframeNumber+"_"+c,a.div_overlay.setEnable(),e.getElement().getChildCount()?E(a.targetFromFrame[d],a.cmd[c]):(a.setIframe(e,c),f=document.getElementById(d),a.targetFromFrame[d]=f.contentWindow))};b.parts.tabs.removeListener("click",h); +b.parts.tabs.on("click",h)};a.buildSelectLang=function(a){var c=new CKEDITOR.dom.element("div"),e=new CKEDITOR.dom.element("select");a="wscLang"+a;c.addClass("cke_dialog_ui_input_select");c.setAttribute("role","presentation");c.setStyles({height:"auto",position:"absolute",right:"0",top:"-1px",width:"160px","white-space":"normal"});e.setAttribute("id",a);e.addClass("cke_dialog_ui_input_select");e.setStyles({width:"160px"});c.append(e);return c};a.buildOptionLang=function(b,c){var e=document.getElementById("wscLang"+ +c),d=document.createDocumentFragment(),f,h,k=[];if(0===e.options.length){for(f in b)k.push([f,b[f]]);k.sort();for(var p=0;pm.width-D&&(e=m.width-D);if(gm.height-q&&(g=m.height-q);n.width=e+D;n.height=g+q;a._.fromResizeEvent=!1;a.resize(e,g);setTimeout(function(){a._.fromResizeEvent=!1;CKEDITOR.dialog.fire("resize",{dialog:a,width:e,height:g},b)},300)}a._.moved||(q=isNaN(c)&&isNaN(d)?0:1,isNaN(c)&&(c=(m.width-n.width)/2),0>c&&(c=0),c>m.width-n.width&&(c=m.width-n.width),isNaN(d)&&(d=(m.height-n.height)/2),0>d&&(d=0),d>m.height-n.height&&(d=m.height-n.height),a.move(c, +d,q))}function e(){b.wsc={};(function(a){var b={separator:"\x3c$\x3e",getDataType:function(a){return"undefined"===typeof a?"undefined":null===a?"null":Object.prototype.toString.call(a).slice(8,-1)},convertDataToString:function(a){return this.getDataType(a).toLowerCase()+this.separator+a},restoreDataFromString:function(a){var b=a,c;a=this.backCompatibility(a);if("string"===typeof a)switch(b=a.indexOf(this.separator),c=a.substring(0,b),b=a.substring(b+this.separator.length),c){case "boolean":b="true"=== +b;break;case "number":b=parseFloat(b);break;case "array":b=""===b?[]:b.split(",");break;case "null":b=null;break;case "undefined":b=void 0}return b},backCompatibility:function(a){var b=a,c;"string"===typeof a&&(c=a.indexOf(this.separator),0>c&&(b=parseFloat(a),isNaN(b)&&("["===a[0]&&"]"===a[a.length-1]?(a=a.replace("[",""),a=a.replace("]",""),b=""===a?[]:a.split(",")):b="true"===a||"false"===a?"true"===a:a),b=this.convertDataToString(b)));return b}},c={get:function(a){return b.restoreDataFromString(window.localStorage.getItem(a))}, +set:function(a,c){var d=b.convertDataToString(c);window.localStorage.setItem(a,d)},del:function(a){window.localStorage.removeItem(a)},clear:function(){window.localStorage.clear()}},d={expiration:31622400,get:function(a){return b.restoreDataFromString(this.getCookie(a))},set:function(a,c){var d=b.convertDataToString(c);this.setCookie(a,d,{expires:this.expiration})},del:function(a){this.deleteCookie(a)},getCookie:function(a){return(a=document.cookie.match(new RegExp("(?:^|; )"+a.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, +"\\$1")+"\x3d([^;]*)")))?decodeURIComponent(a[1]):void 0},setCookie:function(a,b,c){c=c||{};var d=c.expires;if("number"===typeof d&&d){var e=new Date;e.setTime(e.getTime()+1E3*d);d=c.expires=e}d&&d.toUTCString&&(c.expires=d.toUTCString());b=encodeURIComponent(b);a=a+"\x3d"+b;for(var h in c)b=c[h],a+="; "+h,!0!==b&&(a+="\x3d"+b);document.cookie=a},deleteCookie:function(a){this.setCookie(a,null,{expires:-1})},clear:function(){for(var a=document.cookie.split(";"),b=0;b.cke_dialog_ui_labeled_label,.cke_dialog_ui_hbox_first>.cke_dialog_ui_html,.cke_dialog_ui_hbox_last>.cke_dialog_ui_labeled_label,.cke_dialog_ui_hbox_last>.cke_dialog_ui_html{line-height:30px}.cke_ltr .cke_dialog_ui_hbox_first,.cke_ltr .cke_dialog_ui_hbox_child{padding-right:10px}.cke_rtl .cke_dialog_ui_hbox_first,.cke_rtl .cke_dialog_ui_hbox_child{padding-left:10px}.cke_ltr .cke_dialog_footer_buttons .cke_dialog_ui_hbox_first,.cke_ltr .cke_dialog_footer_buttons .cke_dialog_ui_hbox_child{padding-right:5px}.cke_rtl .cke_dialog_footer_buttons .cke_dialog_ui_hbox_first,.cke_rtl .cke_dialog_footer_buttons .cke_dialog_ui_hbox_child{padding-left:5px;padding-right:0}.cke_hc div.cke_dialog_ui_input_text,.cke_hc div.cke_dialog_ui_input_password,.cke_hc div.cke_dialog_ui_input_textarea,.cke_hc div.cke_dialog_ui_input_select,.cke_hc div.cke_dialog_ui_input_file{border:1px solid}.cke_dialog_ui_text{margin-bottom:7px}.cke_dialog_ui_select{height:auto!important;margin-bottom:7px}textarea.cke_dialog_ui_input_textarea{overflow:auto;resize:none}a.cke_dialog_ui_button{display:inline-block;*display:inline;*zoom:1;padding:3px 0;margin:0;text-align:center;color:#333;vertical-align:middle;cursor:pointer;border:1px solid #ddd;border-radius:4px;background:#fff}a.cke_dialog_ui_button:hover,a.cke_dialog_ui_button:focus,a.cke_dialog_ui_button:active{border-color:#aaa;background-color:#eee;text-decoration:none}.cke_dialog_page_contents a.cke_dialog_ui_button{height:22px;line-height:22px;background-color:#f4f4f4}.cke_dialog_page_contents a.cke_dialog_ui_button:hover,.cke_dialog_page_contents a.cke_dialog_ui_button:focus,.cke_dialog_page_contents a.cke_dialog_ui_button:active{background-color:#eee}span.cke_dialog_ui_button{padding:0 12px}.cke_hc a.cke_dialog_ui_button:hover,.cke_hc a.cke_dialog_ui_button:focus,.cke_hc a.cke_dialog_ui_button:active{border:3px solid;padding-top:1px;padding-bottom:1px}.cke_hc a.cke_dialog_ui_button:hover span,.cke_hc a.cke_dialog_ui_button:focus span,.cke_hc a.cke_dialog_ui_button:active span{padding-left:10px;padding-right:10px}.cke_dialog_footer_buttons a.cke_dialog_ui_button span{color:inherit;font-size:12px;line-height:20px}a.cke_dialog_ui_button_ok{color:#fff;border-color:#2274c9;background:#3f8edf}a.cke_dialog_ui_button_ok:hover,a.cke_dialog_ui_button_ok:focus,a.cke_dialog_ui_button_ok:active{border-color:#1e68b4;background:#2981db}a.cke_dialog_ui_button_cancel{background-color:#fff}a.cke_dialog_ui_button_cancel:focus{outline:0}span.cke_dialog_ui_button{cursor:pointer}.cke_dialog_footer_buttons{display:inline-table;margin:10px;width:auto;position:relative;vertical-align:middle}div.cke_dialog_ui_input_select{display:table}select.cke_dialog_ui_input_select{height:30px;line-height:30px;background-color:#fff;padding:4px 10px;border:1px solid #ddd;outline:0;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.cke_dialog_ui_input_file{width:100%;height:30px}.cke_hc .cke_dialog_ui_labeled_content input:focus,.cke_hc .cke_dialog_ui_labeled_content select:focus,.cke_hc .cke_dialog_ui_labeled_content textarea:focus{outline:1px dotted}.cke_dialog .cke_dark_background{background-color:#eee}.cke_dialog .cke_light_background{background-color:#eee}.cke_dialog .cke_centered{text-align:center}.cke_dialog a.cke_btn_reset{float:right;background:url(images/refresh.png) top left no-repeat;width:16px;height:16px;border:1px none;font-size:1px}.cke_dialog a.cke_btn_locked,.cke_dialog a.cke_btn_unlocked{float:left;width:16px;height:16px;background-repeat:no-repeat;border:none 1px;font-size:1px}.cke_dialog a.cke_btn_locked{background-image:url(images/lock.png)}.cke_dialog a.cke_btn_locked .cke_icon{display:none}.cke_dialog a.cke_btn_unlocked{background-image:url(images/lock-open.png)}.cke_dialog .cke_btn_over{border:outset 1px;cursor:pointer}.cke_hidpi .cke_dialog a.cke_btn_reset{background-size:16px;background-image:url(images/hidpi/refresh.png)}.cke_hidpi .cke_dialog a.cke_btn_unlocked,.cke_hidpi .cke_dialog a.cke_btn_locked{background-size:16px}.cke_hidpi .cke_dialog a.cke_btn_locked{background-image:url(images/hidpi/lock.png)}.cke_hidpi .cke_dialog a.cke_btn_unlocked{background-image:url(images/hidpi/lock-open.png)}.cke_rtl .cke_dialog a.cke_btn_reset{float:left}.cke_rtl .cke_dialog a.cke_btn_locked,.cke_rtl .cke_dialog a.cke_btn_unlocked{float:right}.cke_dialog .ImagePreviewBox,.cke_dialog .FlashPreviewBox{border:1px solid #aaa;border-radius:4px;padding:6px 10px;margin-top:5px;background-color:white}.cke_dialog .ImagePreviewBox{overflow:scroll;height:205px;width:300px}.cke_dialog .ImagePreviewBox table td{white-space:normal}.cke_dialog .FlashPreviewBox{white-space:normal;overflow:auto;height:160px;width:390px}.cke_dialog .ImagePreviewLoader{position:absolute;white-space:normal;overflow:hidden;height:160px;width:230px;margin:2px;padding:2px;opacity:.9;filter:alpha(opacity=90);background-color:#e4e4e4}.cke_dialog .cke_pastetext{width:346px;height:170px}.cke_dialog .cke_pastetext textarea{width:340px;height:170px;resize:none}.cke_dialog iframe.cke_pasteframe{width:346px;height:130px;background-color:white;border:1px solid #aeb3b9;border-radius:4px}.cke_dialog .cke_hand{cursor:pointer}.cke_disabled{color:#a0a0a0}.cke_dialog_body .cke_label{display:none}.cke_dialog_body label{display:inline-block;margin-bottom:3px;cursor:default}.cke_dialog_body label.cke_required{font-weight:bold}.cke_dialog_ui_html{line-height:150%}a.cke_smile{overflow:hidden;display:block;text-align:center;padding:.3em 0}a.cke_smile img{vertical-align:middle}a.cke_specialchar{cursor:inherit;display:block;height:1.25em;padding:.2em .3em;text-align:center}a.cke_smile,a.cke_specialchar{background-color:#eee;border:1px solid transparent;vertical-align:top}a.cke_smile:hover,a.cke_smile:focus,a.cke_smile:active,a.cke_specialchar:hover,a.cke_specialchar:focus,a.cke_specialchar:active{background:#fff;outline:0}a.cke_smile:hover,a.cke_specialchar:hover{border-color:#aaa}a.cke_smile:focus,a.cke_smile:active,a.cke_specialchar:focus,a.cke_specialchar:active{border-color:#428bca}.cke_dialog_contents a.colorChooser{display:block;margin-top:6px;margin-left:10px;width:80px}.cke_rtl .cke_dialog_contents a.colorChooser{margin-right:10px}.cke_dialog_ui_checkbox{display:inline-block;margin-bottom:5px}.cke_dialog_ui_checkbox_input:focus,.cke_dialog_ui_radio_input:focus,.cke_btn_over{outline:1px dotted #696969}.cke_iframe_shim{display:block;position:absolute;top:0;left:0;z-index:-1;filter:alpha(opacity=0);width:100%;height:100%} \ No newline at end of file diff --git a/unauthenticated/js/ckeditor/skins/bootstrapck/.temp/css/dialog_ie.css b/unauthenticated/js/ckeditor/skins/bootstrapck/.temp/css/dialog_ie.css new file mode 100644 index 000000000..f945588e7 --- /dev/null +++ b/unauthenticated/js/ckeditor/skins/bootstrapck/.temp/css/dialog_ie.css @@ -0,0 +1 @@ +input.cke_dialog_ui_input_text,input.cke_dialog_ui_input_password,textarea.cke_dialog_ui_input_textarea{background-color:#fff;outline:0;width:100%;*width:95%;height:30px;padding:4px 10px;border:1px solid #ddd;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}input.cke_dialog_ui_input_text:focus,input.cke_dialog_ui_input_password:focus,textarea.cke_dialog_ui_input_textarea:focus{border-color:#66afe9;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(102,175,233,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(102,175,233,0.6)}.cke_dialog{visibility:visible}.cke_dialog_body{z-index:1;background:#eee;border:1px solid #ddd;border-radius:4px}.cke_browser_gecko19 .cke_dialog_body{position:relative}.cke_dialog strong{font-weight:bold}.cke_dialog_title{font-weight:bold;font-size:13px;cursor:move;position:relative;color:#333;border-bottom:1px solid #ddd;padding:10px 12px;background:#eee}.cke_dialog_contents{background-color:#fff;overflow:auto;padding:15px 10px 5px 10px;margin-top:35px;border-top:1px solid #ddd;border-radius:0 0 4px 4px}.cke_dialog_contents_body{overflow:auto;padding:17px 10px 5px 10px;margin-top:22px}.cke_dialog_footer{text-align:right;position:relative;border-radius:0 0 4px 4px;border-top:1px solid #ddd;background:#eee}.cke_rtl .cke_dialog_footer{text-align:left}.cke_hc .cke_dialog_footer{outline:0;border-top:1px solid #fff}.cke_dialog .cke_resizer{margin-top:28px}.cke_dialog .cke_resizer_rtl{margin-left:5px}.cke_dialog .cke_resizer_ltr{margin-right:5px}.cke_dialog_tabs{height:24px;display:inline-block;margin:10px 0 0;position:absolute;z-index:2;left:10px}.cke_rtl .cke_dialog_tabs{right:10px}a.cke_dialog_tab{height:16px;padding:4px 8px;margin-right:3px;display:inline-block;cursor:pointer;line-height:16px;outline:0;color:#555;border:1px solid #ddd;border-radius:3px 3px 0 0;background:#f3f3f3}.cke_rtl a.cke_dialog_tab{margin-right:0;margin-left:3px}a.cke_dialog_tab:hover{background:#ddd;text-decoration:none}a.cke_dialog_tab_selected{background:#fff;color:#333;border-bottom-color:#fff;cursor:default;filter:none}a.cke_dialog_tab_selected:hover{background:#fff}.cke_hc a.cke_dialog_tab:hover,.cke_hc a.cke_dialog_tab_selected{border:3px solid;padding:2px 6px}a.cke_dialog_tab_disabled{color:#bababa;cursor:default}.cke_dialog_tabs .cke_dialog_ui_input_select{top:-7px!important}.cke_single_page .cke_dialog_tabs{display:none}.cke_single_page .cke_dialog_contents{padding-top:5px;margin-top:0;border-top:0}.cke_dialog_close_button{background-image:url(images/close.png);background-repeat:no-repeat;background-position:0 0;position:absolute;cursor:pointer;text-align:center;height:20px;width:20px;top:9px;z-index:5}.cke_hidpi .cke_dialog_close_button{background-image:url(images/hidpi/close.png);background-size:16px}.cke_dialog_close_button span{display:none}.cke_hc .cke_dialog_close_button span{display:inline;cursor:pointer;font-weight:bold;position:relative;top:3px}.cke_ltr .cke_dialog_close_button{right:5px}.cke_rtl .cke_dialog_close_button{left:6px}div.cke_disabled .cke_dialog_ui_labeled_content div *{background-color:#ddd;cursor:default}.cke_dialog_ui_vbox table,.cke_dialog_ui_hbox table{margin:auto}.cke_dialog_ui_vbox{margin-top:5px}.cke_dialog_ui_vbox_child{padding:5px 0}.cke_dialog_ui_hbox{width:100%}.cke_dialog_ui_hbox_first,.cke_dialog_ui_hbox_child,.cke_dialog_ui_hbox_last{vertical-align:top}.cke_dialog_ui_hbox_first>.cke_dialog_ui_labeled_label,.cke_dialog_ui_hbox_first>.cke_dialog_ui_html,.cke_dialog_ui_hbox_last>.cke_dialog_ui_labeled_label,.cke_dialog_ui_hbox_last>.cke_dialog_ui_html{line-height:30px}.cke_ltr .cke_dialog_ui_hbox_first,.cke_ltr .cke_dialog_ui_hbox_child{padding-right:10px}.cke_rtl .cke_dialog_ui_hbox_first,.cke_rtl .cke_dialog_ui_hbox_child{padding-left:10px}.cke_ltr .cke_dialog_footer_buttons .cke_dialog_ui_hbox_first,.cke_ltr .cke_dialog_footer_buttons .cke_dialog_ui_hbox_child{padding-right:5px}.cke_rtl .cke_dialog_footer_buttons .cke_dialog_ui_hbox_first,.cke_rtl .cke_dialog_footer_buttons .cke_dialog_ui_hbox_child{padding-left:5px;padding-right:0}.cke_hc div.cke_dialog_ui_input_text,.cke_hc div.cke_dialog_ui_input_password,.cke_hc div.cke_dialog_ui_input_textarea,.cke_hc div.cke_dialog_ui_input_select,.cke_hc div.cke_dialog_ui_input_file{border:1px solid}.cke_dialog_ui_text{margin-bottom:7px}.cke_dialog_ui_select{height:auto!important;margin-bottom:7px}textarea.cke_dialog_ui_input_textarea{overflow:auto;resize:none}a.cke_dialog_ui_button{display:inline-block;*display:inline;*zoom:1;padding:3px 0;margin:0;text-align:center;color:#333;vertical-align:middle;cursor:pointer;border:1px solid #ddd;border-radius:4px;background:#fff}a.cke_dialog_ui_button:hover,a.cke_dialog_ui_button:focus,a.cke_dialog_ui_button:active{border-color:#aaa;background-color:#eee;text-decoration:none}.cke_dialog_page_contents a.cke_dialog_ui_button{height:22px;line-height:22px;background-color:#f4f4f4}.cke_dialog_page_contents a.cke_dialog_ui_button:hover,.cke_dialog_page_contents a.cke_dialog_ui_button:focus,.cke_dialog_page_contents a.cke_dialog_ui_button:active{background-color:#eee}span.cke_dialog_ui_button{padding:0 12px}.cke_hc a.cke_dialog_ui_button:hover,.cke_hc a.cke_dialog_ui_button:focus,.cke_hc a.cke_dialog_ui_button:active{border:3px solid;padding-top:1px;padding-bottom:1px}.cke_hc a.cke_dialog_ui_button:hover span,.cke_hc a.cke_dialog_ui_button:focus span,.cke_hc a.cke_dialog_ui_button:active span{padding-left:10px;padding-right:10px}.cke_dialog_footer_buttons a.cke_dialog_ui_button span{color:inherit;font-size:12px;line-height:20px}a.cke_dialog_ui_button_ok{color:#fff;border-color:#2274c9;background:#3f8edf}a.cke_dialog_ui_button_ok:hover,a.cke_dialog_ui_button_ok:focus,a.cke_dialog_ui_button_ok:active{border-color:#1e68b4;background:#2981db}a.cke_dialog_ui_button_cancel{background-color:#fff}a.cke_dialog_ui_button_cancel:focus{outline:0}span.cke_dialog_ui_button{cursor:pointer}.cke_dialog_footer_buttons{display:inline-table;margin:10px;width:auto;position:relative;vertical-align:middle}div.cke_dialog_ui_input_select{display:table}select.cke_dialog_ui_input_select{height:30px;line-height:30px;background-color:#fff;padding:4px 10px;border:1px solid #ddd;outline:0;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.cke_dialog_ui_input_file{width:100%;height:30px}.cke_hc .cke_dialog_ui_labeled_content input:focus,.cke_hc .cke_dialog_ui_labeled_content select:focus,.cke_hc .cke_dialog_ui_labeled_content textarea:focus{outline:1px dotted}.cke_dialog .cke_dark_background{background-color:#eee}.cke_dialog .cke_light_background{background-color:#eee}.cke_dialog .cke_centered{text-align:center}.cke_dialog a.cke_btn_reset{float:right;background:url(images/refresh.png) top left no-repeat;width:16px;height:16px;border:1px none;font-size:1px}.cke_dialog a.cke_btn_locked,.cke_dialog a.cke_btn_unlocked{float:left;width:16px;height:16px;background-repeat:no-repeat;border:none 1px;font-size:1px}.cke_dialog a.cke_btn_locked{background-image:url(images/lock.png)}.cke_dialog a.cke_btn_locked .cke_icon{display:none}.cke_dialog a.cke_btn_unlocked{background-image:url(images/lock-open.png)}.cke_dialog .cke_btn_over{border:outset 1px;cursor:pointer}.cke_hidpi .cke_dialog a.cke_btn_reset{background-size:16px;background-image:url(images/hidpi/refresh.png)}.cke_hidpi .cke_dialog a.cke_btn_unlocked,.cke_hidpi .cke_dialog a.cke_btn_locked{background-size:16px}.cke_hidpi .cke_dialog a.cke_btn_locked{background-image:url(images/hidpi/lock.png)}.cke_hidpi .cke_dialog a.cke_btn_unlocked{background-image:url(images/hidpi/lock-open.png)}.cke_rtl .cke_dialog a.cke_btn_reset{float:left}.cke_rtl .cke_dialog a.cke_btn_locked,.cke_rtl .cke_dialog a.cke_btn_unlocked{float:right}.cke_dialog .ImagePreviewBox,.cke_dialog .FlashPreviewBox{border:1px solid #aaa;border-radius:4px;padding:6px 10px;margin-top:5px;background-color:white}.cke_dialog .ImagePreviewBox{overflow:scroll;height:205px;width:300px}.cke_dialog .ImagePreviewBox table td{white-space:normal}.cke_dialog .FlashPreviewBox{white-space:normal;overflow:auto;height:160px;width:390px}.cke_dialog .ImagePreviewLoader{position:absolute;white-space:normal;overflow:hidden;height:160px;width:230px;margin:2px;padding:2px;opacity:.9;filter:alpha(opacity=90);background-color:#e4e4e4}.cke_dialog .cke_pastetext{width:346px;height:170px}.cke_dialog .cke_pastetext textarea{width:340px;height:170px;resize:none}.cke_dialog iframe.cke_pasteframe{width:346px;height:130px;background-color:white;border:1px solid #aeb3b9;border-radius:4px}.cke_dialog .cke_hand{cursor:pointer}.cke_disabled{color:#a0a0a0}.cke_dialog_body .cke_label{display:none}.cke_dialog_body label{display:inline-block;margin-bottom:3px;cursor:default}.cke_dialog_body label.cke_required{font-weight:bold}.cke_dialog_ui_html{line-height:150%}a.cke_smile{overflow:hidden;display:block;text-align:center;padding:.3em 0}a.cke_smile img{vertical-align:middle}a.cke_specialchar{cursor:inherit;display:block;height:1.25em;padding:.2em .3em;text-align:center}a.cke_smile,a.cke_specialchar{background-color:#eee;border:1px solid transparent;vertical-align:top}a.cke_smile:hover,a.cke_smile:focus,a.cke_smile:active,a.cke_specialchar:hover,a.cke_specialchar:focus,a.cke_specialchar:active{background:#fff;outline:0}a.cke_smile:hover,a.cke_specialchar:hover{border-color:#aaa}a.cke_smile:focus,a.cke_smile:active,a.cke_specialchar:focus,a.cke_specialchar:active{border-color:#428bca}.cke_dialog_contents a.colorChooser{display:block;margin-top:6px;margin-left:10px;width:80px}.cke_rtl .cke_dialog_contents a.colorChooser{margin-right:10px}.cke_dialog_ui_checkbox{display:inline-block;margin-bottom:5px}.cke_dialog_ui_checkbox_input:focus,.cke_dialog_ui_radio_input:focus,.cke_btn_over{outline:1px dotted #696969}.cke_iframe_shim{display:block;position:absolute;top:0;left:0;z-index:-1;filter:alpha(opacity=0);width:100%;height:100%}.cke_rtl input.cke_dialog_ui_input_text,.cke_rtl input.cke_dialog_ui_input_password{padding-right:2px}.cke_rtl div.cke_dialog_ui_input_text,.cke_rtl div.cke_dialog_ui_input_password{padding-left:2px}.cke_rtl div.cke_dialog_ui_input_text{padding-right:1px}.cke_rtl .cke_dialog_ui_vbox_child,.cke_rtl .cke_dialog_ui_hbox_child,.cke_rtl .cke_dialog_ui_hbox_first,.cke_rtl .cke_dialog_ui_hbox_last{padding-right:2px!important}.cke_hc .cke_dialog_title,.cke_hc .cke_dialog_footer,.cke_hc a.cke_dialog_tab,.cke_hc a.cke_dialog_ui_button,.cke_hc a.cke_dialog_ui_button:hover,.cke_hc a.cke_dialog_ui_button_ok,.cke_hc a.cke_dialog_ui_button_ok:hover{filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.cke_hc div.cke_dialog_ui_input_text,.cke_hc div.cke_dialog_ui_input_password,.cke_hc div.cke_dialog_ui_input_textarea,.cke_hc div.cke_dialog_ui_input_select,.cke_hc div.cke_dialog_ui_input_file{border:0} \ No newline at end of file diff --git a/unauthenticated/js/ckeditor/skins/bootstrapck/.temp/css/dialog_ie7.css b/unauthenticated/js/ckeditor/skins/bootstrapck/.temp/css/dialog_ie7.css new file mode 100644 index 000000000..a63ae994f --- /dev/null +++ b/unauthenticated/js/ckeditor/skins/bootstrapck/.temp/css/dialog_ie7.css @@ -0,0 +1 @@ +input.cke_dialog_ui_input_text,input.cke_dialog_ui_input_password,textarea.cke_dialog_ui_input_textarea{background-color:#fff;outline:0;width:100%;*width:95%;height:30px;padding:4px 10px;border:1px solid #ddd;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}input.cke_dialog_ui_input_text:focus,input.cke_dialog_ui_input_password:focus,textarea.cke_dialog_ui_input_textarea:focus{border-color:#66afe9;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(102,175,233,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(102,175,233,0.6)}.cke_dialog{visibility:visible}.cke_dialog_body{z-index:1;background:#eee;border:1px solid #ddd;border-radius:4px}.cke_browser_gecko19 .cke_dialog_body{position:relative}.cke_dialog strong{font-weight:bold}.cke_dialog_title{font-weight:bold;font-size:13px;cursor:move;position:relative;color:#333;border-bottom:1px solid #ddd;padding:10px 12px;background:#eee}.cke_dialog_contents{background-color:#fff;overflow:auto;padding:15px 10px 5px 10px;margin-top:35px;border-top:1px solid #ddd;border-radius:0 0 4px 4px}.cke_dialog_contents_body{overflow:auto;padding:17px 10px 5px 10px;margin-top:22px}.cke_dialog_footer{text-align:right;position:relative;border-radius:0 0 4px 4px;border-top:1px solid #ddd;background:#eee}.cke_rtl .cke_dialog_footer{text-align:left}.cke_hc .cke_dialog_footer{outline:0;border-top:1px solid #fff}.cke_dialog .cke_resizer{margin-top:28px}.cke_dialog .cke_resizer_rtl{margin-left:5px}.cke_dialog .cke_resizer_ltr{margin-right:5px}.cke_dialog_tabs{height:24px;display:inline-block;margin:10px 0 0;position:absolute;z-index:2;left:10px}.cke_rtl .cke_dialog_tabs{right:10px}a.cke_dialog_tab{height:16px;padding:4px 8px;margin-right:3px;display:inline-block;cursor:pointer;line-height:16px;outline:0;color:#555;border:1px solid #ddd;border-radius:3px 3px 0 0;background:#f3f3f3}.cke_rtl a.cke_dialog_tab{margin-right:0;margin-left:3px}a.cke_dialog_tab:hover{background:#ddd;text-decoration:none}a.cke_dialog_tab_selected{background:#fff;color:#333;border-bottom-color:#fff;cursor:default;filter:none}a.cke_dialog_tab_selected:hover{background:#fff}.cke_hc a.cke_dialog_tab:hover,.cke_hc a.cke_dialog_tab_selected{border:3px solid;padding:2px 6px}a.cke_dialog_tab_disabled{color:#bababa;cursor:default}.cke_dialog_tabs .cke_dialog_ui_input_select{top:-7px!important}.cke_single_page .cke_dialog_tabs{display:none}.cke_single_page .cke_dialog_contents{padding-top:5px;margin-top:0;border-top:0}.cke_dialog_close_button{background-image:url(images/close.png);background-repeat:no-repeat;background-position:0 0;position:absolute;cursor:pointer;text-align:center;height:20px;width:20px;top:9px;z-index:5}.cke_hidpi .cke_dialog_close_button{background-image:url(images/hidpi/close.png);background-size:16px}.cke_dialog_close_button span{display:none}.cke_hc .cke_dialog_close_button span{display:inline;cursor:pointer;font-weight:bold;position:relative;top:3px}.cke_ltr .cke_dialog_close_button{right:5px}.cke_rtl .cke_dialog_close_button{left:6px}div.cke_disabled .cke_dialog_ui_labeled_content div *{background-color:#ddd;cursor:default}.cke_dialog_ui_vbox table,.cke_dialog_ui_hbox table{margin:auto}.cke_dialog_ui_vbox{margin-top:5px}.cke_dialog_ui_vbox_child{padding:5px 0}.cke_dialog_ui_hbox{width:100%}.cke_dialog_ui_hbox_first,.cke_dialog_ui_hbox_child,.cke_dialog_ui_hbox_last{vertical-align:top}.cke_dialog_ui_hbox_first>.cke_dialog_ui_labeled_label,.cke_dialog_ui_hbox_first>.cke_dialog_ui_html,.cke_dialog_ui_hbox_last>.cke_dialog_ui_labeled_label,.cke_dialog_ui_hbox_last>.cke_dialog_ui_html{line-height:30px}.cke_ltr .cke_dialog_ui_hbox_first,.cke_ltr .cke_dialog_ui_hbox_child{padding-right:10px}.cke_rtl .cke_dialog_ui_hbox_first,.cke_rtl .cke_dialog_ui_hbox_child{padding-left:10px}.cke_ltr .cke_dialog_footer_buttons .cke_dialog_ui_hbox_first,.cke_ltr .cke_dialog_footer_buttons .cke_dialog_ui_hbox_child{padding-right:5px}.cke_rtl .cke_dialog_footer_buttons .cke_dialog_ui_hbox_first,.cke_rtl .cke_dialog_footer_buttons .cke_dialog_ui_hbox_child{padding-left:5px;padding-right:0}.cke_hc div.cke_dialog_ui_input_text,.cke_hc div.cke_dialog_ui_input_password,.cke_hc div.cke_dialog_ui_input_textarea,.cke_hc div.cke_dialog_ui_input_select,.cke_hc div.cke_dialog_ui_input_file{border:1px solid}.cke_dialog_ui_text{margin-bottom:7px}.cke_dialog_ui_select{height:auto!important;margin-bottom:7px}textarea.cke_dialog_ui_input_textarea{overflow:auto;resize:none}a.cke_dialog_ui_button{display:inline-block;*display:inline;*zoom:1;padding:3px 0;margin:0;text-align:center;color:#333;vertical-align:middle;cursor:pointer;border:1px solid #ddd;border-radius:4px;background:#fff}a.cke_dialog_ui_button:hover,a.cke_dialog_ui_button:focus,a.cke_dialog_ui_button:active{border-color:#aaa;background-color:#eee;text-decoration:none}.cke_dialog_page_contents a.cke_dialog_ui_button{height:22px;line-height:22px;background-color:#f4f4f4}.cke_dialog_page_contents a.cke_dialog_ui_button:hover,.cke_dialog_page_contents a.cke_dialog_ui_button:focus,.cke_dialog_page_contents a.cke_dialog_ui_button:active{background-color:#eee}span.cke_dialog_ui_button{padding:0 12px}.cke_hc a.cke_dialog_ui_button:hover,.cke_hc a.cke_dialog_ui_button:focus,.cke_hc a.cke_dialog_ui_button:active{border:3px solid;padding-top:1px;padding-bottom:1px}.cke_hc a.cke_dialog_ui_button:hover span,.cke_hc a.cke_dialog_ui_button:focus span,.cke_hc a.cke_dialog_ui_button:active span{padding-left:10px;padding-right:10px}.cke_dialog_footer_buttons a.cke_dialog_ui_button span{color:inherit;font-size:12px;line-height:20px}a.cke_dialog_ui_button_ok{color:#fff;border-color:#2274c9;background:#3f8edf}a.cke_dialog_ui_button_ok:hover,a.cke_dialog_ui_button_ok:focus,a.cke_dialog_ui_button_ok:active{border-color:#1e68b4;background:#2981db}a.cke_dialog_ui_button_cancel{background-color:#fff}a.cke_dialog_ui_button_cancel:focus{outline:0}span.cke_dialog_ui_button{cursor:pointer}.cke_dialog_footer_buttons{display:inline-table;margin:10px;width:auto;position:relative;vertical-align:middle}div.cke_dialog_ui_input_select{display:table}select.cke_dialog_ui_input_select{height:30px;line-height:30px;background-color:#fff;padding:4px 10px;border:1px solid #ddd;outline:0;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.cke_dialog_ui_input_file{width:100%;height:30px}.cke_hc .cke_dialog_ui_labeled_content input:focus,.cke_hc .cke_dialog_ui_labeled_content select:focus,.cke_hc .cke_dialog_ui_labeled_content textarea:focus{outline:1px dotted}.cke_dialog .cke_dark_background{background-color:#eee}.cke_dialog .cke_light_background{background-color:#eee}.cke_dialog .cke_centered{text-align:center}.cke_dialog a.cke_btn_reset{float:right;background:url(images/refresh.png) top left no-repeat;width:16px;height:16px;border:1px none;font-size:1px}.cke_dialog a.cke_btn_locked,.cke_dialog a.cke_btn_unlocked{float:left;width:16px;height:16px;background-repeat:no-repeat;border:none 1px;font-size:1px}.cke_dialog a.cke_btn_locked{background-image:url(images/lock.png)}.cke_dialog a.cke_btn_locked .cke_icon{display:none}.cke_dialog a.cke_btn_unlocked{background-image:url(images/lock-open.png)}.cke_dialog .cke_btn_over{border:outset 1px;cursor:pointer}.cke_hidpi .cke_dialog a.cke_btn_reset{background-size:16px;background-image:url(images/hidpi/refresh.png)}.cke_hidpi .cke_dialog a.cke_btn_unlocked,.cke_hidpi .cke_dialog a.cke_btn_locked{background-size:16px}.cke_hidpi .cke_dialog a.cke_btn_locked{background-image:url(images/hidpi/lock.png)}.cke_hidpi .cke_dialog a.cke_btn_unlocked{background-image:url(images/hidpi/lock-open.png)}.cke_rtl .cke_dialog a.cke_btn_reset{float:left}.cke_rtl .cke_dialog a.cke_btn_locked,.cke_rtl .cke_dialog a.cke_btn_unlocked{float:right}.cke_dialog .ImagePreviewBox,.cke_dialog .FlashPreviewBox{border:1px solid #aaa;border-radius:4px;padding:6px 10px;margin-top:5px;background-color:white}.cke_dialog .ImagePreviewBox{overflow:scroll;height:205px;width:300px}.cke_dialog .ImagePreviewBox table td{white-space:normal}.cke_dialog .FlashPreviewBox{white-space:normal;overflow:auto;height:160px;width:390px}.cke_dialog .ImagePreviewLoader{position:absolute;white-space:normal;overflow:hidden;height:160px;width:230px;margin:2px;padding:2px;opacity:.9;filter:alpha(opacity=90);background-color:#e4e4e4}.cke_dialog .cke_pastetext{width:346px;height:170px}.cke_dialog .cke_pastetext textarea{width:340px;height:170px;resize:none}.cke_dialog iframe.cke_pasteframe{width:346px;height:130px;background-color:white;border:1px solid #aeb3b9;border-radius:4px}.cke_dialog .cke_hand{cursor:pointer}.cke_disabled{color:#a0a0a0}.cke_dialog_body .cke_label{display:none}.cke_dialog_body label{display:inline-block;margin-bottom:3px;cursor:default}.cke_dialog_body label.cke_required{font-weight:bold}.cke_dialog_ui_html{line-height:150%}a.cke_smile{overflow:hidden;display:block;text-align:center;padding:.3em 0}a.cke_smile img{vertical-align:middle}a.cke_specialchar{cursor:inherit;display:block;height:1.25em;padding:.2em .3em;text-align:center}a.cke_smile,a.cke_specialchar{background-color:#eee;border:1px solid transparent;vertical-align:top}a.cke_smile:hover,a.cke_smile:focus,a.cke_smile:active,a.cke_specialchar:hover,a.cke_specialchar:focus,a.cke_specialchar:active{background:#fff;outline:0}a.cke_smile:hover,a.cke_specialchar:hover{border-color:#aaa}a.cke_smile:focus,a.cke_smile:active,a.cke_specialchar:focus,a.cke_specialchar:active{border-color:#428bca}.cke_dialog_contents a.colorChooser{display:block;margin-top:6px;margin-left:10px;width:80px}.cke_rtl .cke_dialog_contents a.colorChooser{margin-right:10px}.cke_dialog_ui_checkbox{display:inline-block;margin-bottom:5px}.cke_dialog_ui_checkbox_input:focus,.cke_dialog_ui_radio_input:focus,.cke_btn_over{outline:1px dotted #696969}.cke_iframe_shim{display:block;position:absolute;top:0;left:0;z-index:-1;filter:alpha(opacity=0);width:100%;height:100%}.cke_dialog_title{zoom:1}.cke_dialog_footer{border-top:1px solid #bfbfbf}.cke_dialog_footer_buttons{position:static}.cke_dialog_footer_buttons a.cke_dialog_ui_button{vertical-align:top}.cke_dialog .cke_resizer_ltr{padding-left:4px}.cke_dialog .cke_resizer_rtl{padding-right:4px}.cke_dialog_ui_input_text,.cke_dialog_ui_input_password,.cke_dialog_ui_input_textarea,.cke_dialog_ui_input_select{padding:0!important}.cke_dialog_ui_checkbox_input,.cke_dialog_ui_ratio_input,.cke_btn_reset,.cke_btn_locked,.cke_btn_unlocked{border:1px solid transparent!important} \ No newline at end of file diff --git a/unauthenticated/js/ckeditor/skins/bootstrapck/.temp/css/dialog_ie8.css b/unauthenticated/js/ckeditor/skins/bootstrapck/.temp/css/dialog_ie8.css new file mode 100644 index 000000000..fa2e81ab1 --- /dev/null +++ b/unauthenticated/js/ckeditor/skins/bootstrapck/.temp/css/dialog_ie8.css @@ -0,0 +1 @@ +input.cke_dialog_ui_input_text,input.cke_dialog_ui_input_password,textarea.cke_dialog_ui_input_textarea{background-color:#fff;outline:0;width:100%;*width:95%;height:30px;padding:4px 10px;border:1px solid #ddd;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}input.cke_dialog_ui_input_text:focus,input.cke_dialog_ui_input_password:focus,textarea.cke_dialog_ui_input_textarea:focus{border-color:#66afe9;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(102,175,233,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(102,175,233,0.6)}.cke_dialog{visibility:visible}.cke_dialog_body{z-index:1;background:#eee;border:1px solid #ddd;border-radius:4px}.cke_browser_gecko19 .cke_dialog_body{position:relative}.cke_dialog strong{font-weight:bold}.cke_dialog_title{font-weight:bold;font-size:13px;cursor:move;position:relative;color:#333;border-bottom:1px solid #ddd;padding:10px 12px;background:#eee}.cke_dialog_contents{background-color:#fff;overflow:auto;padding:15px 10px 5px 10px;margin-top:35px;border-top:1px solid #ddd;border-radius:0 0 4px 4px}.cke_dialog_contents_body{overflow:auto;padding:17px 10px 5px 10px;margin-top:22px}.cke_dialog_footer{text-align:right;position:relative;border-radius:0 0 4px 4px;border-top:1px solid #ddd;background:#eee}.cke_rtl .cke_dialog_footer{text-align:left}.cke_hc .cke_dialog_footer{outline:0;border-top:1px solid #fff}.cke_dialog .cke_resizer{margin-top:28px}.cke_dialog .cke_resizer_rtl{margin-left:5px}.cke_dialog .cke_resizer_ltr{margin-right:5px}.cke_dialog_tabs{height:24px;display:inline-block;margin:10px 0 0;position:absolute;z-index:2;left:10px}.cke_rtl .cke_dialog_tabs{right:10px}a.cke_dialog_tab{height:16px;padding:4px 8px;margin-right:3px;display:inline-block;cursor:pointer;line-height:16px;outline:0;color:#555;border:1px solid #ddd;border-radius:3px 3px 0 0;background:#f3f3f3}.cke_rtl a.cke_dialog_tab{margin-right:0;margin-left:3px}a.cke_dialog_tab:hover{background:#ddd;text-decoration:none}a.cke_dialog_tab_selected{background:#fff;color:#333;border-bottom-color:#fff;cursor:default;filter:none}a.cke_dialog_tab_selected:hover{background:#fff}.cke_hc a.cke_dialog_tab:hover,.cke_hc a.cke_dialog_tab_selected{border:3px solid;padding:2px 6px}a.cke_dialog_tab_disabled{color:#bababa;cursor:default}.cke_dialog_tabs .cke_dialog_ui_input_select{top:-7px!important}.cke_single_page .cke_dialog_tabs{display:none}.cke_single_page .cke_dialog_contents{padding-top:5px;margin-top:0;border-top:0}.cke_dialog_close_button{background-image:url(images/close.png);background-repeat:no-repeat;background-position:0 0;position:absolute;cursor:pointer;text-align:center;height:20px;width:20px;top:9px;z-index:5}.cke_hidpi .cke_dialog_close_button{background-image:url(images/hidpi/close.png);background-size:16px}.cke_dialog_close_button span{display:none}.cke_hc .cke_dialog_close_button span{display:inline;cursor:pointer;font-weight:bold;position:relative;top:3px}.cke_ltr .cke_dialog_close_button{right:5px}.cke_rtl .cke_dialog_close_button{left:6px}div.cke_disabled .cke_dialog_ui_labeled_content div *{background-color:#ddd;cursor:default}.cke_dialog_ui_vbox table,.cke_dialog_ui_hbox table{margin:auto}.cke_dialog_ui_vbox{margin-top:5px}.cke_dialog_ui_vbox_child{padding:5px 0}.cke_dialog_ui_hbox{width:100%}.cke_dialog_ui_hbox_first,.cke_dialog_ui_hbox_child,.cke_dialog_ui_hbox_last{vertical-align:top}.cke_dialog_ui_hbox_first>.cke_dialog_ui_labeled_label,.cke_dialog_ui_hbox_first>.cke_dialog_ui_html,.cke_dialog_ui_hbox_last>.cke_dialog_ui_labeled_label,.cke_dialog_ui_hbox_last>.cke_dialog_ui_html{line-height:30px}.cke_ltr .cke_dialog_ui_hbox_first,.cke_ltr .cke_dialog_ui_hbox_child{padding-right:10px}.cke_rtl .cke_dialog_ui_hbox_first,.cke_rtl .cke_dialog_ui_hbox_child{padding-left:10px}.cke_ltr .cke_dialog_footer_buttons .cke_dialog_ui_hbox_first,.cke_ltr .cke_dialog_footer_buttons .cke_dialog_ui_hbox_child{padding-right:5px}.cke_rtl .cke_dialog_footer_buttons .cke_dialog_ui_hbox_first,.cke_rtl .cke_dialog_footer_buttons .cke_dialog_ui_hbox_child{padding-left:5px;padding-right:0}.cke_hc div.cke_dialog_ui_input_text,.cke_hc div.cke_dialog_ui_input_password,.cke_hc div.cke_dialog_ui_input_textarea,.cke_hc div.cke_dialog_ui_input_select,.cke_hc div.cke_dialog_ui_input_file{border:1px solid}.cke_dialog_ui_text{margin-bottom:7px}.cke_dialog_ui_select{height:auto!important;margin-bottom:7px}textarea.cke_dialog_ui_input_textarea{overflow:auto;resize:none}a.cke_dialog_ui_button{display:inline-block;*display:inline;*zoom:1;padding:3px 0;margin:0;text-align:center;color:#333;vertical-align:middle;cursor:pointer;border:1px solid #ddd;border-radius:4px;background:#fff}a.cke_dialog_ui_button:hover,a.cke_dialog_ui_button:focus,a.cke_dialog_ui_button:active{border-color:#aaa;background-color:#eee;text-decoration:none}.cke_dialog_page_contents a.cke_dialog_ui_button{height:22px;line-height:22px;background-color:#f4f4f4}.cke_dialog_page_contents a.cke_dialog_ui_button:hover,.cke_dialog_page_contents a.cke_dialog_ui_button:focus,.cke_dialog_page_contents a.cke_dialog_ui_button:active{background-color:#eee}span.cke_dialog_ui_button{padding:0 12px}.cke_hc a.cke_dialog_ui_button:hover,.cke_hc a.cke_dialog_ui_button:focus,.cke_hc a.cke_dialog_ui_button:active{border:3px solid;padding-top:1px;padding-bottom:1px}.cke_hc a.cke_dialog_ui_button:hover span,.cke_hc a.cke_dialog_ui_button:focus span,.cke_hc a.cke_dialog_ui_button:active span{padding-left:10px;padding-right:10px}.cke_dialog_footer_buttons a.cke_dialog_ui_button span{color:inherit;font-size:12px;line-height:20px}a.cke_dialog_ui_button_ok{color:#fff;border-color:#2274c9;background:#3f8edf}a.cke_dialog_ui_button_ok:hover,a.cke_dialog_ui_button_ok:focus,a.cke_dialog_ui_button_ok:active{border-color:#1e68b4;background:#2981db}a.cke_dialog_ui_button_cancel{background-color:#fff}a.cke_dialog_ui_button_cancel:focus{outline:0}span.cke_dialog_ui_button{cursor:pointer}.cke_dialog_footer_buttons{display:inline-table;margin:10px;width:auto;position:relative;vertical-align:middle}div.cke_dialog_ui_input_select{display:table}select.cke_dialog_ui_input_select{height:30px;line-height:30px;background-color:#fff;padding:4px 10px;border:1px solid #ddd;outline:0;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.cke_dialog_ui_input_file{width:100%;height:30px}.cke_hc .cke_dialog_ui_labeled_content input:focus,.cke_hc .cke_dialog_ui_labeled_content select:focus,.cke_hc .cke_dialog_ui_labeled_content textarea:focus{outline:1px dotted}.cke_dialog .cke_dark_background{background-color:#eee}.cke_dialog .cke_light_background{background-color:#eee}.cke_dialog .cke_centered{text-align:center}.cke_dialog a.cke_btn_reset{float:right;background:url(images/refresh.png) top left no-repeat;width:16px;height:16px;border:1px none;font-size:1px}.cke_dialog a.cke_btn_locked,.cke_dialog a.cke_btn_unlocked{float:left;width:16px;height:16px;background-repeat:no-repeat;border:none 1px;font-size:1px}.cke_dialog a.cke_btn_locked{background-image:url(images/lock.png)}.cke_dialog a.cke_btn_locked .cke_icon{display:none}.cke_dialog a.cke_btn_unlocked{background-image:url(images/lock-open.png)}.cke_dialog .cke_btn_over{border:outset 1px;cursor:pointer}.cke_hidpi .cke_dialog a.cke_btn_reset{background-size:16px;background-image:url(images/hidpi/refresh.png)}.cke_hidpi .cke_dialog a.cke_btn_unlocked,.cke_hidpi .cke_dialog a.cke_btn_locked{background-size:16px}.cke_hidpi .cke_dialog a.cke_btn_locked{background-image:url(images/hidpi/lock.png)}.cke_hidpi .cke_dialog a.cke_btn_unlocked{background-image:url(images/hidpi/lock-open.png)}.cke_rtl .cke_dialog a.cke_btn_reset{float:left}.cke_rtl .cke_dialog a.cke_btn_locked,.cke_rtl .cke_dialog a.cke_btn_unlocked{float:right}.cke_dialog .ImagePreviewBox,.cke_dialog .FlashPreviewBox{border:1px solid #aaa;border-radius:4px;padding:6px 10px;margin-top:5px;background-color:white}.cke_dialog .ImagePreviewBox{overflow:scroll;height:205px;width:300px}.cke_dialog .ImagePreviewBox table td{white-space:normal}.cke_dialog .FlashPreviewBox{white-space:normal;overflow:auto;height:160px;width:390px}.cke_dialog .ImagePreviewLoader{position:absolute;white-space:normal;overflow:hidden;height:160px;width:230px;margin:2px;padding:2px;opacity:.9;filter:alpha(opacity=90);background-color:#e4e4e4}.cke_dialog .cke_pastetext{width:346px;height:170px}.cke_dialog .cke_pastetext textarea{width:340px;height:170px;resize:none}.cke_dialog iframe.cke_pasteframe{width:346px;height:130px;background-color:white;border:1px solid #aeb3b9;border-radius:4px}.cke_dialog .cke_hand{cursor:pointer}.cke_disabled{color:#a0a0a0}.cke_dialog_body .cke_label{display:none}.cke_dialog_body label{display:inline-block;margin-bottom:3px;cursor:default}.cke_dialog_body label.cke_required{font-weight:bold}.cke_dialog_ui_html{line-height:150%}a.cke_smile{overflow:hidden;display:block;text-align:center;padding:.3em 0}a.cke_smile img{vertical-align:middle}a.cke_specialchar{cursor:inherit;display:block;height:1.25em;padding:.2em .3em;text-align:center}a.cke_smile,a.cke_specialchar{background-color:#eee;border:1px solid transparent;vertical-align:top}a.cke_smile:hover,a.cke_smile:focus,a.cke_smile:active,a.cke_specialchar:hover,a.cke_specialchar:focus,a.cke_specialchar:active{background:#fff;outline:0}a.cke_smile:hover,a.cke_specialchar:hover{border-color:#aaa}a.cke_smile:focus,a.cke_smile:active,a.cke_specialchar:focus,a.cke_specialchar:active{border-color:#428bca}.cke_dialog_contents a.colorChooser{display:block;margin-top:6px;margin-left:10px;width:80px}.cke_rtl .cke_dialog_contents a.colorChooser{margin-right:10px}.cke_dialog_ui_checkbox{display:inline-block;margin-bottom:5px}.cke_dialog_ui_checkbox_input:focus,.cke_dialog_ui_radio_input:focus,.cke_btn_over{outline:1px dotted #696969}.cke_iframe_shim{display:block;position:absolute;top:0;left:0;z-index:-1;filter:alpha(opacity=0);width:100%;height:100%}a.cke_dialog_ui_button_ok:focus span,a.cke_dialog_ui_button_ok:active span,a.cke_dialog_ui_button_cancel:focus span,a.cke_dialog_ui_button_cancel:active span{display:block} \ No newline at end of file diff --git a/unauthenticated/js/ckeditor/skins/bootstrapck/.temp/css/dialog_iequirks.css b/unauthenticated/js/ckeditor/skins/bootstrapck/.temp/css/dialog_iequirks.css new file mode 100644 index 000000000..480263af7 --- /dev/null +++ b/unauthenticated/js/ckeditor/skins/bootstrapck/.temp/css/dialog_iequirks.css @@ -0,0 +1 @@ +input.cke_dialog_ui_input_text,input.cke_dialog_ui_input_password,textarea.cke_dialog_ui_input_textarea{background-color:#fff;outline:0;width:100%;*width:95%;height:30px;padding:4px 10px;border:1px solid #ddd;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}input.cke_dialog_ui_input_text:focus,input.cke_dialog_ui_input_password:focus,textarea.cke_dialog_ui_input_textarea:focus{border-color:#66afe9;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(102,175,233,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(102,175,233,0.6)}.cke_dialog{visibility:visible}.cke_dialog_body{z-index:1;background:#eee;border:1px solid #ddd;border-radius:4px}.cke_browser_gecko19 .cke_dialog_body{position:relative}.cke_dialog strong{font-weight:bold}.cke_dialog_title{font-weight:bold;font-size:13px;cursor:move;position:relative;color:#333;border-bottom:1px solid #ddd;padding:10px 12px;background:#eee}.cke_dialog_contents{background-color:#fff;overflow:auto;padding:15px 10px 5px 10px;margin-top:35px;border-top:1px solid #ddd;border-radius:0 0 4px 4px}.cke_dialog_contents_body{overflow:auto;padding:17px 10px 5px 10px;margin-top:22px}.cke_dialog_footer{text-align:right;position:relative;border-radius:0 0 4px 4px;border-top:1px solid #ddd;background:#eee}.cke_rtl .cke_dialog_footer{text-align:left}.cke_hc .cke_dialog_footer{outline:0;border-top:1px solid #fff}.cke_dialog .cke_resizer{margin-top:28px}.cke_dialog .cke_resizer_rtl{margin-left:5px}.cke_dialog .cke_resizer_ltr{margin-right:5px}.cke_dialog_tabs{height:24px;display:inline-block;margin:10px 0 0;position:absolute;z-index:2;left:10px}.cke_rtl .cke_dialog_tabs{right:10px}a.cke_dialog_tab{height:16px;padding:4px 8px;margin-right:3px;display:inline-block;cursor:pointer;line-height:16px;outline:0;color:#555;border:1px solid #ddd;border-radius:3px 3px 0 0;background:#f3f3f3}.cke_rtl a.cke_dialog_tab{margin-right:0;margin-left:3px}a.cke_dialog_tab:hover{background:#ddd;text-decoration:none}a.cke_dialog_tab_selected{background:#fff;color:#333;border-bottom-color:#fff;cursor:default;filter:none}a.cke_dialog_tab_selected:hover{background:#fff}.cke_hc a.cke_dialog_tab:hover,.cke_hc a.cke_dialog_tab_selected{border:3px solid;padding:2px 6px}a.cke_dialog_tab_disabled{color:#bababa;cursor:default}.cke_dialog_tabs .cke_dialog_ui_input_select{top:-7px!important}.cke_single_page .cke_dialog_tabs{display:none}.cke_single_page .cke_dialog_contents{padding-top:5px;margin-top:0;border-top:0}.cke_dialog_close_button{background-image:url(images/close.png);background-repeat:no-repeat;background-position:0 0;position:absolute;cursor:pointer;text-align:center;height:20px;width:20px;top:9px;z-index:5}.cke_hidpi .cke_dialog_close_button{background-image:url(images/hidpi/close.png);background-size:16px}.cke_dialog_close_button span{display:none}.cke_hc .cke_dialog_close_button span{display:inline;cursor:pointer;font-weight:bold;position:relative;top:3px}.cke_ltr .cke_dialog_close_button{right:5px}.cke_rtl .cke_dialog_close_button{left:6px}div.cke_disabled .cke_dialog_ui_labeled_content div *{background-color:#ddd;cursor:default}.cke_dialog_ui_vbox table,.cke_dialog_ui_hbox table{margin:auto}.cke_dialog_ui_vbox{margin-top:5px}.cke_dialog_ui_vbox_child{padding:5px 0}.cke_dialog_ui_hbox{width:100%}.cke_dialog_ui_hbox_first,.cke_dialog_ui_hbox_child,.cke_dialog_ui_hbox_last{vertical-align:top}.cke_dialog_ui_hbox_first>.cke_dialog_ui_labeled_label,.cke_dialog_ui_hbox_first>.cke_dialog_ui_html,.cke_dialog_ui_hbox_last>.cke_dialog_ui_labeled_label,.cke_dialog_ui_hbox_last>.cke_dialog_ui_html{line-height:30px}.cke_ltr .cke_dialog_ui_hbox_first,.cke_ltr .cke_dialog_ui_hbox_child{padding-right:10px}.cke_rtl .cke_dialog_ui_hbox_first,.cke_rtl .cke_dialog_ui_hbox_child{padding-left:10px}.cke_ltr .cke_dialog_footer_buttons .cke_dialog_ui_hbox_first,.cke_ltr .cke_dialog_footer_buttons .cke_dialog_ui_hbox_child{padding-right:5px}.cke_rtl .cke_dialog_footer_buttons .cke_dialog_ui_hbox_first,.cke_rtl .cke_dialog_footer_buttons .cke_dialog_ui_hbox_child{padding-left:5px;padding-right:0}.cke_hc div.cke_dialog_ui_input_text,.cke_hc div.cke_dialog_ui_input_password,.cke_hc div.cke_dialog_ui_input_textarea,.cke_hc div.cke_dialog_ui_input_select,.cke_hc div.cke_dialog_ui_input_file{border:1px solid}.cke_dialog_ui_text{margin-bottom:7px}.cke_dialog_ui_select{height:auto!important;margin-bottom:7px}textarea.cke_dialog_ui_input_textarea{overflow:auto;resize:none}a.cke_dialog_ui_button{display:inline-block;*display:inline;*zoom:1;padding:3px 0;margin:0;text-align:center;color:#333;vertical-align:middle;cursor:pointer;border:1px solid #ddd;border-radius:4px;background:#fff}a.cke_dialog_ui_button:hover,a.cke_dialog_ui_button:focus,a.cke_dialog_ui_button:active{border-color:#aaa;background-color:#eee;text-decoration:none}.cke_dialog_page_contents a.cke_dialog_ui_button{height:22px;line-height:22px;background-color:#f4f4f4}.cke_dialog_page_contents a.cke_dialog_ui_button:hover,.cke_dialog_page_contents a.cke_dialog_ui_button:focus,.cke_dialog_page_contents a.cke_dialog_ui_button:active{background-color:#eee}span.cke_dialog_ui_button{padding:0 12px}.cke_hc a.cke_dialog_ui_button:hover,.cke_hc a.cke_dialog_ui_button:focus,.cke_hc a.cke_dialog_ui_button:active{border:3px solid;padding-top:1px;padding-bottom:1px}.cke_hc a.cke_dialog_ui_button:hover span,.cke_hc a.cke_dialog_ui_button:focus span,.cke_hc a.cke_dialog_ui_button:active span{padding-left:10px;padding-right:10px}.cke_dialog_footer_buttons a.cke_dialog_ui_button span{color:inherit;font-size:12px;line-height:20px}a.cke_dialog_ui_button_ok{color:#fff;border-color:#2274c9;background:#3f8edf}a.cke_dialog_ui_button_ok:hover,a.cke_dialog_ui_button_ok:focus,a.cke_dialog_ui_button_ok:active{border-color:#1e68b4;background:#2981db}a.cke_dialog_ui_button_cancel{background-color:#fff}a.cke_dialog_ui_button_cancel:focus{outline:0}span.cke_dialog_ui_button{cursor:pointer}.cke_dialog_footer_buttons{display:inline-table;margin:10px;width:auto;position:relative;vertical-align:middle}div.cke_dialog_ui_input_select{display:table}select.cke_dialog_ui_input_select{height:30px;line-height:30px;background-color:#fff;padding:4px 10px;border:1px solid #ddd;outline:0;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.cke_dialog_ui_input_file{width:100%;height:30px}.cke_hc .cke_dialog_ui_labeled_content input:focus,.cke_hc .cke_dialog_ui_labeled_content select:focus,.cke_hc .cke_dialog_ui_labeled_content textarea:focus{outline:1px dotted}.cke_dialog .cke_dark_background{background-color:#eee}.cke_dialog .cke_light_background{background-color:#eee}.cke_dialog .cke_centered{text-align:center}.cke_dialog a.cke_btn_reset{float:right;background:url(images/refresh.png) top left no-repeat;width:16px;height:16px;border:1px none;font-size:1px}.cke_dialog a.cke_btn_locked,.cke_dialog a.cke_btn_unlocked{float:left;width:16px;height:16px;background-repeat:no-repeat;border:none 1px;font-size:1px}.cke_dialog a.cke_btn_locked{background-image:url(images/lock.png)}.cke_dialog a.cke_btn_locked .cke_icon{display:none}.cke_dialog a.cke_btn_unlocked{background-image:url(images/lock-open.png)}.cke_dialog .cke_btn_over{border:outset 1px;cursor:pointer}.cke_hidpi .cke_dialog a.cke_btn_reset{background-size:16px;background-image:url(images/hidpi/refresh.png)}.cke_hidpi .cke_dialog a.cke_btn_unlocked,.cke_hidpi .cke_dialog a.cke_btn_locked{background-size:16px}.cke_hidpi .cke_dialog a.cke_btn_locked{background-image:url(images/hidpi/lock.png)}.cke_hidpi .cke_dialog a.cke_btn_unlocked{background-image:url(images/hidpi/lock-open.png)}.cke_rtl .cke_dialog a.cke_btn_reset{float:left}.cke_rtl .cke_dialog a.cke_btn_locked,.cke_rtl .cke_dialog a.cke_btn_unlocked{float:right}.cke_dialog .ImagePreviewBox,.cke_dialog .FlashPreviewBox{border:1px solid #aaa;border-radius:4px;padding:6px 10px;margin-top:5px;background-color:white}.cke_dialog .ImagePreviewBox{overflow:scroll;height:205px;width:300px}.cke_dialog .ImagePreviewBox table td{white-space:normal}.cke_dialog .FlashPreviewBox{white-space:normal;overflow:auto;height:160px;width:390px}.cke_dialog .ImagePreviewLoader{position:absolute;white-space:normal;overflow:hidden;height:160px;width:230px;margin:2px;padding:2px;opacity:.9;filter:alpha(opacity=90);background-color:#e4e4e4}.cke_dialog .cke_pastetext{width:346px;height:170px}.cke_dialog .cke_pastetext textarea{width:340px;height:170px;resize:none}.cke_dialog iframe.cke_pasteframe{width:346px;height:130px;background-color:white;border:1px solid #aeb3b9;border-radius:4px}.cke_dialog .cke_hand{cursor:pointer}.cke_disabled{color:#a0a0a0}.cke_dialog_body .cke_label{display:none}.cke_dialog_body label{display:inline-block;margin-bottom:3px;cursor:default}.cke_dialog_body label.cke_required{font-weight:bold}.cke_dialog_ui_html{line-height:150%}a.cke_smile{overflow:hidden;display:block;text-align:center;padding:.3em 0}a.cke_smile img{vertical-align:middle}a.cke_specialchar{cursor:inherit;display:block;height:1.25em;padding:.2em .3em;text-align:center}a.cke_smile,a.cke_specialchar{background-color:#eee;border:1px solid transparent;vertical-align:top}a.cke_smile:hover,a.cke_smile:focus,a.cke_smile:active,a.cke_specialchar:hover,a.cke_specialchar:focus,a.cke_specialchar:active{background:#fff;outline:0}a.cke_smile:hover,a.cke_specialchar:hover{border-color:#aaa}a.cke_smile:focus,a.cke_smile:active,a.cke_specialchar:focus,a.cke_specialchar:active{border-color:#428bca}.cke_dialog_contents a.colorChooser{display:block;margin-top:6px;margin-left:10px;width:80px}.cke_rtl .cke_dialog_contents a.colorChooser{margin-right:10px}.cke_dialog_ui_checkbox{display:inline-block;margin-bottom:5px}.cke_dialog_ui_checkbox_input:focus,.cke_dialog_ui_radio_input:focus,.cke_btn_over{outline:1px dotted #696969}.cke_iframe_shim{display:block;position:absolute;top:0;left:0;z-index:-1;filter:alpha(opacity=0);width:100%;height:100%}.cke_dialog_footer{filter:""} \ No newline at end of file diff --git a/unauthenticated/js/ckeditor/skins/bootstrapck/.temp/css/dialog_opera.css b/unauthenticated/js/ckeditor/skins/bootstrapck/.temp/css/dialog_opera.css new file mode 100644 index 000000000..21fc6921a --- /dev/null +++ b/unauthenticated/js/ckeditor/skins/bootstrapck/.temp/css/dialog_opera.css @@ -0,0 +1 @@ +input.cke_dialog_ui_input_text,input.cke_dialog_ui_input_password,textarea.cke_dialog_ui_input_textarea{background-color:#fff;outline:0;width:100%;*width:95%;height:30px;padding:4px 10px;border:1px solid #ddd;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}input.cke_dialog_ui_input_text:focus,input.cke_dialog_ui_input_password:focus,textarea.cke_dialog_ui_input_textarea:focus{border-color:#66afe9;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(102,175,233,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(102,175,233,0.6)}.cke_dialog{visibility:visible}.cke_dialog_body{z-index:1;background:#eee;border:1px solid #ddd;border-radius:4px}.cke_browser_gecko19 .cke_dialog_body{position:relative}.cke_dialog strong{font-weight:bold}.cke_dialog_title{font-weight:bold;font-size:13px;cursor:move;position:relative;color:#333;border-bottom:1px solid #ddd;padding:10px 12px;background:#eee}.cke_dialog_contents{background-color:#fff;overflow:auto;padding:15px 10px 5px 10px;margin-top:35px;border-top:1px solid #ddd;border-radius:0 0 4px 4px}.cke_dialog_contents_body{overflow:auto;padding:17px 10px 5px 10px;margin-top:22px}.cke_dialog_footer{text-align:right;position:relative;border-radius:0 0 4px 4px;border-top:1px solid #ddd;background:#eee}.cke_rtl .cke_dialog_footer{text-align:left}.cke_hc .cke_dialog_footer{outline:0;border-top:1px solid #fff}.cke_dialog .cke_resizer{margin-top:28px}.cke_dialog .cke_resizer_rtl{margin-left:5px}.cke_dialog .cke_resizer_ltr{margin-right:5px}.cke_dialog_tabs{height:24px;display:inline-block;margin:10px 0 0;position:absolute;z-index:2;left:10px}.cke_rtl .cke_dialog_tabs{right:10px}a.cke_dialog_tab{height:16px;padding:4px 8px;margin-right:3px;display:inline-block;cursor:pointer;line-height:16px;outline:0;color:#555;border:1px solid #ddd;border-radius:3px 3px 0 0;background:#f3f3f3}.cke_rtl a.cke_dialog_tab{margin-right:0;margin-left:3px}a.cke_dialog_tab:hover{background:#ddd;text-decoration:none}a.cke_dialog_tab_selected{background:#fff;color:#333;border-bottom-color:#fff;cursor:default;filter:none}a.cke_dialog_tab_selected:hover{background:#fff}.cke_hc a.cke_dialog_tab:hover,.cke_hc a.cke_dialog_tab_selected{border:3px solid;padding:2px 6px}a.cke_dialog_tab_disabled{color:#bababa;cursor:default}.cke_dialog_tabs .cke_dialog_ui_input_select{top:-7px!important}.cke_single_page .cke_dialog_tabs{display:none}.cke_single_page .cke_dialog_contents{padding-top:5px;margin-top:0;border-top:0}.cke_dialog_close_button{background-image:url(images/close.png);background-repeat:no-repeat;background-position:0 0;position:absolute;cursor:pointer;text-align:center;height:20px;width:20px;top:9px;z-index:5}.cke_hidpi .cke_dialog_close_button{background-image:url(images/hidpi/close.png);background-size:16px}.cke_dialog_close_button span{display:none}.cke_hc .cke_dialog_close_button span{display:inline;cursor:pointer;font-weight:bold;position:relative;top:3px}.cke_ltr .cke_dialog_close_button{right:5px}.cke_rtl .cke_dialog_close_button{left:6px}div.cke_disabled .cke_dialog_ui_labeled_content div *{background-color:#ddd;cursor:default}.cke_dialog_ui_vbox table,.cke_dialog_ui_hbox table{margin:auto}.cke_dialog_ui_vbox{margin-top:5px}.cke_dialog_ui_vbox_child{padding:5px 0}.cke_dialog_ui_hbox{width:100%}.cke_dialog_ui_hbox_first,.cke_dialog_ui_hbox_child,.cke_dialog_ui_hbox_last{vertical-align:top}.cke_dialog_ui_hbox_first>.cke_dialog_ui_labeled_label,.cke_dialog_ui_hbox_first>.cke_dialog_ui_html,.cke_dialog_ui_hbox_last>.cke_dialog_ui_labeled_label,.cke_dialog_ui_hbox_last>.cke_dialog_ui_html{line-height:30px}.cke_ltr .cke_dialog_ui_hbox_first,.cke_ltr .cke_dialog_ui_hbox_child{padding-right:10px}.cke_rtl .cke_dialog_ui_hbox_first,.cke_rtl .cke_dialog_ui_hbox_child{padding-left:10px}.cke_ltr .cke_dialog_footer_buttons .cke_dialog_ui_hbox_first,.cke_ltr .cke_dialog_footer_buttons .cke_dialog_ui_hbox_child{padding-right:5px}.cke_rtl .cke_dialog_footer_buttons .cke_dialog_ui_hbox_first,.cke_rtl .cke_dialog_footer_buttons .cke_dialog_ui_hbox_child{padding-left:5px;padding-right:0}.cke_hc div.cke_dialog_ui_input_text,.cke_hc div.cke_dialog_ui_input_password,.cke_hc div.cke_dialog_ui_input_textarea,.cke_hc div.cke_dialog_ui_input_select,.cke_hc div.cke_dialog_ui_input_file{border:1px solid}.cke_dialog_ui_text{margin-bottom:7px}.cke_dialog_ui_select{height:auto!important;margin-bottom:7px}textarea.cke_dialog_ui_input_textarea{overflow:auto;resize:none}a.cke_dialog_ui_button{display:inline-block;*display:inline;*zoom:1;padding:3px 0;margin:0;text-align:center;color:#333;vertical-align:middle;cursor:pointer;border:1px solid #ddd;border-radius:4px;background:#fff}a.cke_dialog_ui_button:hover,a.cke_dialog_ui_button:focus,a.cke_dialog_ui_button:active{border-color:#aaa;background-color:#eee;text-decoration:none}.cke_dialog_page_contents a.cke_dialog_ui_button{height:22px;line-height:22px;background-color:#f4f4f4}.cke_dialog_page_contents a.cke_dialog_ui_button:hover,.cke_dialog_page_contents a.cke_dialog_ui_button:focus,.cke_dialog_page_contents a.cke_dialog_ui_button:active{background-color:#eee}span.cke_dialog_ui_button{padding:0 12px}.cke_hc a.cke_dialog_ui_button:hover,.cke_hc a.cke_dialog_ui_button:focus,.cke_hc a.cke_dialog_ui_button:active{border:3px solid;padding-top:1px;padding-bottom:1px}.cke_hc a.cke_dialog_ui_button:hover span,.cke_hc a.cke_dialog_ui_button:focus span,.cke_hc a.cke_dialog_ui_button:active span{padding-left:10px;padding-right:10px}.cke_dialog_footer_buttons a.cke_dialog_ui_button span{color:inherit;font-size:12px;line-height:20px}a.cke_dialog_ui_button_ok{color:#fff;border-color:#2274c9;background:#3f8edf}a.cke_dialog_ui_button_ok:hover,a.cke_dialog_ui_button_ok:focus,a.cke_dialog_ui_button_ok:active{border-color:#1e68b4;background:#2981db}a.cke_dialog_ui_button_cancel{background-color:#fff}a.cke_dialog_ui_button_cancel:focus{outline:0}span.cke_dialog_ui_button{cursor:pointer}.cke_dialog_footer_buttons{display:inline-table;margin:10px;width:auto;position:relative;vertical-align:middle}div.cke_dialog_ui_input_select{display:table}select.cke_dialog_ui_input_select{height:30px;line-height:30px;background-color:#fff;padding:4px 10px;border:1px solid #ddd;outline:0;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.cke_dialog_ui_input_file{width:100%;height:30px}.cke_hc .cke_dialog_ui_labeled_content input:focus,.cke_hc .cke_dialog_ui_labeled_content select:focus,.cke_hc .cke_dialog_ui_labeled_content textarea:focus{outline:1px dotted}.cke_dialog .cke_dark_background{background-color:#eee}.cke_dialog .cke_light_background{background-color:#eee}.cke_dialog .cke_centered{text-align:center}.cke_dialog a.cke_btn_reset{float:right;background:url(images/refresh.png) top left no-repeat;width:16px;height:16px;border:1px none;font-size:1px}.cke_dialog a.cke_btn_locked,.cke_dialog a.cke_btn_unlocked{float:left;width:16px;height:16px;background-repeat:no-repeat;border:none 1px;font-size:1px}.cke_dialog a.cke_btn_locked{background-image:url(images/lock.png)}.cke_dialog a.cke_btn_locked .cke_icon{display:none}.cke_dialog a.cke_btn_unlocked{background-image:url(images/lock-open.png)}.cke_dialog .cke_btn_over{border:outset 1px;cursor:pointer}.cke_hidpi .cke_dialog a.cke_btn_reset{background-size:16px;background-image:url(images/hidpi/refresh.png)}.cke_hidpi .cke_dialog a.cke_btn_unlocked,.cke_hidpi .cke_dialog a.cke_btn_locked{background-size:16px}.cke_hidpi .cke_dialog a.cke_btn_locked{background-image:url(images/hidpi/lock.png)}.cke_hidpi .cke_dialog a.cke_btn_unlocked{background-image:url(images/hidpi/lock-open.png)}.cke_rtl .cke_dialog a.cke_btn_reset{float:left}.cke_rtl .cke_dialog a.cke_btn_locked,.cke_rtl .cke_dialog a.cke_btn_unlocked{float:right}.cke_dialog .ImagePreviewBox,.cke_dialog .FlashPreviewBox{border:1px solid #aaa;border-radius:4px;padding:6px 10px;margin-top:5px;background-color:white}.cke_dialog .ImagePreviewBox{overflow:scroll;height:205px;width:300px}.cke_dialog .ImagePreviewBox table td{white-space:normal}.cke_dialog .FlashPreviewBox{white-space:normal;overflow:auto;height:160px;width:390px}.cke_dialog .ImagePreviewLoader{position:absolute;white-space:normal;overflow:hidden;height:160px;width:230px;margin:2px;padding:2px;opacity:.9;filter:alpha(opacity=90);background-color:#e4e4e4}.cke_dialog .cke_pastetext{width:346px;height:170px}.cke_dialog .cke_pastetext textarea{width:340px;height:170px;resize:none}.cke_dialog iframe.cke_pasteframe{width:346px;height:130px;background-color:white;border:1px solid #aeb3b9;border-radius:4px}.cke_dialog .cke_hand{cursor:pointer}.cke_disabled{color:#a0a0a0}.cke_dialog_body .cke_label{display:none}.cke_dialog_body label{display:inline-block;margin-bottom:3px;cursor:default}.cke_dialog_body label.cke_required{font-weight:bold}.cke_dialog_ui_html{line-height:150%}a.cke_smile{overflow:hidden;display:block;text-align:center;padding:.3em 0}a.cke_smile img{vertical-align:middle}a.cke_specialchar{cursor:inherit;display:block;height:1.25em;padding:.2em .3em;text-align:center}a.cke_smile,a.cke_specialchar{background-color:#eee;border:1px solid transparent;vertical-align:top}a.cke_smile:hover,a.cke_smile:focus,a.cke_smile:active,a.cke_specialchar:hover,a.cke_specialchar:focus,a.cke_specialchar:active{background:#fff;outline:0}a.cke_smile:hover,a.cke_specialchar:hover{border-color:#aaa}a.cke_smile:focus,a.cke_smile:active,a.cke_specialchar:focus,a.cke_specialchar:active{border-color:#428bca}.cke_dialog_contents a.colorChooser{display:block;margin-top:6px;margin-left:10px;width:80px}.cke_rtl .cke_dialog_contents a.colorChooser{margin-right:10px}.cke_dialog_ui_checkbox{display:inline-block;margin-bottom:5px}.cke_dialog_ui_checkbox_input:focus,.cke_dialog_ui_radio_input:focus,.cke_btn_over{outline:1px dotted #696969}.cke_iframe_shim{display:block;position:absolute;top:0;left:0;z-index:-1;filter:alpha(opacity=0);width:100%;height:100%}.cke_dialog_footer{display:block;height:38px}.cke_ltr .cke_dialog_footer>*{float:right}.cke_rtl .cke_dialog_footer>*{float:left} \ No newline at end of file diff --git a/unauthenticated/js/ckeditor/skins/bootstrapck/.temp/css/editor.css b/unauthenticated/js/ckeditor/skins/bootstrapck/.temp/css/editor.css new file mode 100644 index 000000000..8ba7c9248 --- /dev/null +++ b/unauthenticated/js/ckeditor/skins/bootstrapck/.temp/css/editor.css @@ -0,0 +1 @@ +.cke_reset{margin:0;padding:0;border:0;background:transparent;text-decoration:none;width:auto;height:auto;vertical-align:baseline;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;position:static;-webkit-transition:none;-moz-transition:none;-ms-transition:none;transition:none}.cke_reset_all,.cke_reset_all *{margin:0;padding:0;border:0;background:transparent;text-decoration:none;width:auto;height:auto;vertical-align:baseline;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;position:static;-webkit-transition:none;-moz-transition:none;-ms-transition:none;transition:none;border-collapse:collapse;font:normal normal normal 12px Arial,Helvetica,Tahoma,Verdana,Sans-Serif;color:#333;text-align:left;white-space:nowrap;cursor:auto;float:none}.cke_reset_all .cke_rtl *{text-align:right}.cke_reset_all iframe{vertical-align:inherit}.cke_reset_all textarea{white-space:pre}.cke_reset_all textarea,.cke_reset_all input[type="text"],.cke_reset_all input[type="password"]{cursor:text}.cke_reset_all textarea[disabled],.cke_reset_all input[type="text"][disabled],.cke_reset_all input[type="password"][disabled]{cursor:default}.cke_reset_all fieldset{padding:10px;margin-top:10px;border:1px solid #ddd}.cke_reset_all fieldset legend{padding:0 5px}.cke_reset_all select{box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}.cke_chrome{display:block;border:1px solid #ddd;border-radius:4px;padding:0 3px;background:#eee}.cke_inner{display:block;-webkit-touch-callout:none;background:transparent;padding:0}.cke_float{border:0}.cke_float .cke_inner{padding-bottom:0}.cke_float .cke_top{border:1px solid #ddd}.cke_top,.cke_contents,.cke_bottom{display:block;overflow:hidden}.cke_top,.cke_bottom{padding:3px 0 0;background:#eee}.cke_top{white-space:normal}.cke_contents{background-color:#fff;border:1px solid #ddd;border-radius:4px}.cke_bottom{position:relative}.cke_browser_ios .cke_contents{overflow-y:auto;-webkit-overflow-scrolling:touch}.cke_resizer{width:0;height:0;overflow:hidden;width:0;height:0;overflow:hidden;border-width:10px 10px 0 0;border-color:transparent #555 transparent transparent;border-style:dashed solid dashed dashed;font-size:0;vertical-align:bottom;margin-top:6px;margin-bottom:2px}.cke_hc .cke_resizer{font-size:15px;width:auto;height:auto;border-width:0}.cke_resizer_ltr{cursor:se-resize;float:right;margin-right:-4px}.cke_resizer_rtl{border-width:10px 0 0 10px;border-color:transparent transparent transparent #aaa;border-style:dashed dashed dashed solid;cursor:sw-resize;float:left;margin-left:-4px;right:auto}.cke_wysiwyg_div{display:block;height:100%;overflow:auto;padding:0 8px;outline-style:none;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.cke_panel{visibility:visible;width:120px;height:100px;overflow:hidden;margin-top:5px;background-color:#fff;border:1px solid #aaa;border-radius:4px}.cke_menu_panel{padding:0;margin:0}.cke_combopanel{width:150px;height:178px}.cke_panel_frame{width:100%;height:100%;font-size:12px;overflow:auto;overflow-x:hidden}.cke_panel_container{overflow-y:auto;overflow-x:hidden}.cke_panel_list{list-style-type:none;margin:3px;padding:0;white-space:nowrap}.cke_panel_listItem{margin:0;padding-bottom:1px}.cke_panel_listItem a{padding:3px 4px;display:block;border:1px solid #fff;color:inherit!important;text-decoration:none;overflow:hidden;text-overflow:ellipsis;border-radius:2px}.cke_panel_listItem a:hover,.cke_panel_listItem a:focus,.cke_panel_listItem a:active{background-color:#e1edf7}* html .cke_panel_listItem a{width:100%;color:#000}*:first-child+html .cke_panel_listItem a{color:#000}.cke_panel_listItem.cke_selected a{background-color:#92bce0;outline:0}.cke_hc .cke_panel_listItem a{border-style:none}.cke_hc .cke_panel_listItem a:hover,.cke_hc .cke_panel_listItem a:focus,.cke_hc .cke_panel_listItem a:active{border:2px solid;padding:1px 2px}.cke_panel_grouptitle{font-size:11px;font-weight:bold;white-space:nowrap;margin:0;padding:6px 6px;color:#474747;border-bottom:1px solid #aaa;background:#eee}.cke_panel_grouptitle:first-child{border-radius:4px 4px 0 0}.cke_panel_listItem p,.cke_panel_listItem h1,.cke_panel_listItem h2,.cke_panel_listItem h3,.cke_panel_listItem h4,.cke_panel_listItem h5,.cke_panel_listItem h6,.cke_panel_listItem pre{margin-top:0;margin-bottom:0}.cke_colorblock{padding:3px;font-size:11px;font-family:'Microsoft Sans Serif',Tahoma,Arial,Verdana,Sans-Serif}.cke_colorblock,.cke_colorblock a{text-decoration:none;color:#000}span.cke_colorbox{width:10px;height:10px;border:1px solid #aaa;float:left}.cke_rtl span.cke_colorbox{float:right}a.cke_colorbox{border:1px solid #fff;padding:2px;float:left;width:12px;height:12px;border-radius:2px}.cke_rtl a.cke_colorbox{float:right}a:hover.cke_colorbox,a:focus.cke_colorbox,a:active.cke_colorbox{border:1px solid #ddd;background-color:#eee}a.cke_colorauto,a.cke_colormore{border:1px solid #fff;padding:2px;display:block;cursor:pointer}a:hover.cke_colorauto,a:hover.cke_colormore,a:focus.cke_colorauto,a:focus.cke_colormore,a:active.cke_colorauto,a:active.cke_colormore{border:1px solid #ddd;background-color:#eee}.cke_toolbar{float:left}.cke_rtl .cke_toolbar{float:right}.cke_toolgroup{float:left;margin:0 6px 3px 0;padding:2px;border:1px solid #ddd;border-radius:4px;background:#fff}.cke_hc .cke_toolgroup{border:0;margin-right:10px;margin-bottom:10px}.cke_rtl .cke_toolgroup *:first-child{border-radius:0 4px 4px 0}.cke_rtl .cke_toolgroup *:last-child{border-radius:4px 0 0 4px}.cke_rtl .cke_toolgroup{float:right;margin-left:6px;margin-right:0}a.cke_button{display:inline-block;height:18px;padding:2px 4px;outline:0;cursor:default;float:left;border:0;border-radius:2px}.cke_rtl .cke_button{float:right}.cke_hc .cke_button{border:1px solid black;padding:3px 5px;margin:-2px 4px 0 -2px}.cke_button_on{background:#92bce0}.cke_hc .cke_button_on{border-width:3px;padding:1px 3px}.cke_hc a.cke_button_off:hover,.cke_hc a.cke_button_off:focus,.cke_hc a.cke_button_off:active,.cke_hc a.cke_button_disabled:hover,.cke_hc a.cke_button_disabled:focus,.cke_hc a.cke_button_disabled:active{border-width:3px;padding:1px 3px}.cke_button_disabled .cke_button_icon{opacity:.3}.cke_hc .cke_button_disabled{opacity:.5}a.cke_button_off:hover,a.cke_button_off:focus,a.cke_button_off:active,a.cke_button_disabled:hover,a.cke_button_disabled:focus,a.cke_button_disabled:active{background:#e1edf7}.cke_button_icon{cursor:inherit;background-repeat:no-repeat;margin-top:1px;width:16px;height:16px;float:left;display:inline-block}.cke_rtl .cke_button_icon{float:right}.cke_hc .cke_button_icon{display:none}.cke_button_label{display:none;padding-left:3px;margin-top:1px;line-height:18px;vertical-align:middle;float:left;cursor:default;color:#555}.cke_rtl .cke_button_label{padding-right:3px;padding-left:0;float:right}.cke_hc .cke_button_label{padding:0;display:inline-block;font-size:12px}.cke_button_arrow{display:inline-block;margin:8px 0 0 1px;width:0;height:0;cursor:default;vertical-align:top;border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #474747}.cke_rtl .cke_button_arrow{margin-right:5px;margin-left:0}.cke_hc .cke_button_arrow{font-size:10px;margin:3px -2px 0 3px;width:auto;border:0}.cke_toolbar_separator{float:left;background-color:#ddd;margin:4px 2px 0;height:16px;width:1px}.cke_rtl .cke_toolbar_separator{float:right}.cke_hc .cke_toolbar_separator{width:0;border-left:1px solid;margin:1px 5px 0 0}.cke_toolbar_break{display:block;clear:left}.cke_rtl .cke_toolbar_break{clear:right}.cke_toolbox_collapser{width:12px;height:11px;float:right;margin:11px 0 0;font-size:0;cursor:default;text-align:center;border:1px solid #a6a6a6;border-bottom-color:#979797;border-radius:4px;background:#e4e4e4}.cke_toolbox_collapser:hover{background:#ccc}.cke_toolbox_collapser.cke_toolbox_collapser_min{margin:0 2px 4px}.cke_toolbox_collapser.cke_toolbox_collapser_min .cke_arrow{margin-top:4px;border-bottom-color:transparent;border-top-color:#474747}.cke_toolbox_collapser .cke_arrow{display:inline-block;height:0;width:0;font-size:0;margin-top:1px;border-left:3px solid transparent;border-right:3px solid transparent;border-bottom:3px solid #474747;border-top:3px solid transparent}.cke_rtl .cke_toolbox_collapser{float:left}.cke_hc .cke_toolbox_collapser .cke_arrow{font-size:8px;width:auto;border:0;margin-top:0;margin-right:2px}.cke_menubutton{display:block}.cke_button_icon{opacity:.8}.cke_menuitem span{cursor:default}.cke_menubutton:hover,.cke_menubutton:focus,.cke_menubutton:active{background-color:#d3d3d3;display:block}.cke_hc .cke_menubutton{padding:2px}.cke_hc .cke_menubutton:hover,.cke_hc .cke_menubutton:focus,.cke_hc .cke_menubutton:active{border:2px solid;padding:0}.cke_menubutton_inner{display:table-row}.cke_menubutton_icon,.cke_menubutton_label,.cke_menuarrow{display:table-cell}.cke_menubutton_icon{background-color:#d7d8d7;opacity:.70;filter:alpha(opacity=70);padding:4px}.cke_hc .cke_menubutton_icon{height:16px;width:0;padding:4px 0}.cke_menubutton:hover .cke_menubutton_icon,.cke_menubutton:focus .cke_menubutton_icon,.cke_menubutton:active .cke_menubutton_icon{background-color:#d0d2d0}.cke_menubutton_disabled:hover .cke_menubutton_icon,.cke_menubutton_disabled:focus .cke_menubutton_icon,.cke_menubutton_disabled:active .cke_menubutton_icon{opacity:.3;filter:alpha(opacity=30)}.cke_menubutton_label{padding:0 5px;background-color:transparent;width:100%;vertical-align:middle}.cke_menubutton_disabled .cke_menubutton_label{opacity:.3;filter:alpha(opacity=30)}.cke_menubutton_on{border:1px solid #dedede;background-color:#f2f2f2}.cke_menubutton_on .cke_menubutton_icon{padding-right:3px}.cke_menubutton:hover,.cke_menubutton:focus,.cke_menubutton:active{background-color:#eff0ef}.cke_panel_frame .cke_menubutton_label{display:none}.cke_menuseparator{background-color:#d3d3d3;height:1px;filter:alpha(opacity=70);opacity:.70}.cke_menuarrow{background-image:url(images/arrow.png);background-position:0 10px;background-repeat:no-repeat;padding:0 5px}.cke_menuarrow span{display:none}.cke_rtl .cke_menuarrow{background-position:5px -13px;background-repeat:no-repeat}.cke_hc .cke_menuarrow span{vertical-align:middle;display:inline}.cke_combo{display:inline-block;float:left}.cke_rtl .cke_combo{float:right}.cke_hc .cke_combo{margin-top:-2px}.cke_combo_label{display:none;float:left;line-height:26px;vertical-align:top;margin-right:5px}.cke_rtl .cke_combo_label{float:right;margin-left:5px;margin-right:0}.cke_combo_button{display:inline-block;float:left;margin:0 6px 5px 0;border:1px solid #ddd;border-radius:4px;background:#fff}.cke_combo_off a.cke_combo_button:hover,.cke_combo_off a.cke_combo_button:focus{outline:0}.cke_combo_off a.cke_combo_button:active{border-color:#333}.cke_combo_on a.cke_combo_button{border-color:#333}.cke_rtl .cke_combo_button{float:right;margin-left:5px;margin-right:0}.cke_hc a.cke_combo_button{padding:3px}.cke_hc .cke_combo_on a.cke_combo_button{border-width:3px;padding:1px}.cke_hc .cke_combo_off a.cke_combo_button:hover,.cke_hc .cke_combo_off a.cke_combo_button:focus,.cke_hc .cke_combo_off a.cke_combo_button:active{border-width:3px;padding:1px}.cke_combo_text{line-height:26px;padding-left:10px;text-overflow:ellipsis;overflow:hidden;float:left;cursor:default;color:#474747;width:60px}.cke_rtl .cke_combo_text{float:right;text-align:right;padding-left:0;padding-right:10px}.cke_hc .cke_combo_text{line-height:18px;font-size:12px}.cke_combo_open{cursor:default;display:inline-block;font-size:0;height:19px;line-height:17px;margin:1px 7px 1px;width:5px}.cke_hc .cke_combo_open{height:12px}.cke_combo_arrow{margin:11px 0 0;float:left;height:0;width:0;font-size:0;border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #333}.cke_hc .cke_combo_arrow{font-size:10px;width:auto;border:0;margin-top:3px}.cke_combo_disabled .cke_combo_inlinelabel,.cke_combo_disabled .cke_combo_open{opacity:.3}.cke_path{float:left;margin:-2px 0 2px}.cke_path_item,.cke_path_empty{display:inline-block;float:left;padding:3px 4px;margin-right:2px;cursor:default;text-decoration:none;outline:0;border:0;color:#4c4c4c;font-weight:bold;font-size:11px}.cke_rtl .cke_path,.cke_rtl .cke_path_item,.cke_rtl .cke_path_empty{float:right}a.cke_path_item:hover,a.cke_path_item:focus,a.cke_path_item:active{background-color:#bfbfbf;color:#333;border-radius:2px}.cke_hc a.cke_path_item:hover,.cke_hc a.cke_path_item:focus,.cke_hc a.cke_path_item:active{border:2px solid;padding:1px 2px}.cke_button__source_label,.cke_button__sourcedialog_label{display:inline}.cke_combo__fontsize .cke_combo_text{width:30px}.cke_combopanel__fontsize{width:120px}.cke_source{font-family:'Courier New',Monospace;font-size:small;background-color:#fff;white-space:pre}.cke_wysiwyg_frame,.cke_wysiwyg_div{background-color:#fff}.cke_chrome{visibility:inherit}.cke_voice_label{display:none}legend.cke_voice_label{display:none} \ No newline at end of file diff --git a/unauthenticated/js/ckeditor/skins/bootstrapck/.temp/css/editor_gecko.css b/unauthenticated/js/ckeditor/skins/bootstrapck/.temp/css/editor_gecko.css new file mode 100644 index 000000000..b3e000dd4 --- /dev/null +++ b/unauthenticated/js/ckeditor/skins/bootstrapck/.temp/css/editor_gecko.css @@ -0,0 +1 @@ +.cke_reset{margin:0;padding:0;border:0;background:transparent;text-decoration:none;width:auto;height:auto;vertical-align:baseline;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;position:static;-webkit-transition:none;-moz-transition:none;-ms-transition:none;transition:none}.cke_reset_all,.cke_reset_all *{margin:0;padding:0;border:0;background:transparent;text-decoration:none;width:auto;height:auto;vertical-align:baseline;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;position:static;-webkit-transition:none;-moz-transition:none;-ms-transition:none;transition:none;border-collapse:collapse;font:normal normal normal 12px Arial,Helvetica,Tahoma,Verdana,Sans-Serif;color:#333;text-align:left;white-space:nowrap;cursor:auto;float:none}.cke_reset_all .cke_rtl *{text-align:right}.cke_reset_all iframe{vertical-align:inherit}.cke_reset_all textarea{white-space:pre}.cke_reset_all textarea,.cke_reset_all input[type="text"],.cke_reset_all input[type="password"]{cursor:text}.cke_reset_all textarea[disabled],.cke_reset_all input[type="text"][disabled],.cke_reset_all input[type="password"][disabled]{cursor:default}.cke_reset_all fieldset{padding:10px;margin-top:10px;border:1px solid #ddd}.cke_reset_all fieldset legend{padding:0 5px}.cke_reset_all select{box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}.cke_chrome{display:block;border:1px solid #ddd;border-radius:4px;padding:0 3px;background:#eee}.cke_inner{display:block;-webkit-touch-callout:none;background:transparent;padding:0}.cke_float{border:0}.cke_float .cke_inner{padding-bottom:0}.cke_float .cke_top{border:1px solid #ddd}.cke_top,.cke_contents,.cke_bottom{display:block;overflow:hidden}.cke_top,.cke_bottom{padding:3px 0 0;background:#eee}.cke_top{white-space:normal}.cke_contents{background-color:#fff;border:1px solid #ddd;border-radius:4px}.cke_bottom{position:relative}.cke_browser_ios .cke_contents{overflow-y:auto;-webkit-overflow-scrolling:touch}.cke_resizer{width:0;height:0;overflow:hidden;width:0;height:0;overflow:hidden;border-width:10px 10px 0 0;border-color:transparent #555 transparent transparent;border-style:dashed solid dashed dashed;font-size:0;vertical-align:bottom;margin-top:6px;margin-bottom:2px}.cke_hc .cke_resizer{font-size:15px;width:auto;height:auto;border-width:0}.cke_resizer_ltr{cursor:se-resize;float:right;margin-right:-4px}.cke_resizer_rtl{border-width:10px 0 0 10px;border-color:transparent transparent transparent #aaa;border-style:dashed dashed dashed solid;cursor:sw-resize;float:left;margin-left:-4px;right:auto}.cke_wysiwyg_div{display:block;height:100%;overflow:auto;padding:0 8px;outline-style:none;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.cke_panel{visibility:visible;width:120px;height:100px;overflow:hidden;margin-top:5px;background-color:#fff;border:1px solid #aaa;border-radius:4px}.cke_menu_panel{padding:0;margin:0}.cke_combopanel{width:150px;height:178px}.cke_panel_frame{width:100%;height:100%;font-size:12px;overflow:auto;overflow-x:hidden}.cke_panel_container{overflow-y:auto;overflow-x:hidden}.cke_panel_list{list-style-type:none;margin:3px;padding:0;white-space:nowrap}.cke_panel_listItem{margin:0;padding-bottom:1px}.cke_panel_listItem a{padding:3px 4px;display:block;border:1px solid #fff;color:inherit!important;text-decoration:none;overflow:hidden;text-overflow:ellipsis;border-radius:2px}.cke_panel_listItem a:hover,.cke_panel_listItem a:focus,.cke_panel_listItem a:active{background-color:#e1edf7}* html .cke_panel_listItem a{width:100%;color:#000}*:first-child+html .cke_panel_listItem a{color:#000}.cke_panel_listItem.cke_selected a{background-color:#92bce0;outline:0}.cke_hc .cke_panel_listItem a{border-style:none}.cke_hc .cke_panel_listItem a:hover,.cke_hc .cke_panel_listItem a:focus,.cke_hc .cke_panel_listItem a:active{border:2px solid;padding:1px 2px}.cke_panel_grouptitle{font-size:11px;font-weight:bold;white-space:nowrap;margin:0;padding:6px 6px;color:#474747;border-bottom:1px solid #aaa;background:#eee}.cke_panel_grouptitle:first-child{border-radius:4px 4px 0 0}.cke_panel_listItem p,.cke_panel_listItem h1,.cke_panel_listItem h2,.cke_panel_listItem h3,.cke_panel_listItem h4,.cke_panel_listItem h5,.cke_panel_listItem h6,.cke_panel_listItem pre{margin-top:0;margin-bottom:0}.cke_colorblock{padding:3px;font-size:11px;font-family:'Microsoft Sans Serif',Tahoma,Arial,Verdana,Sans-Serif}.cke_colorblock,.cke_colorblock a{text-decoration:none;color:#000}span.cke_colorbox{width:10px;height:10px;border:1px solid #aaa;float:left}.cke_rtl span.cke_colorbox{float:right}a.cke_colorbox{border:1px solid #fff;padding:2px;float:left;width:12px;height:12px;border-radius:2px}.cke_rtl a.cke_colorbox{float:right}a:hover.cke_colorbox,a:focus.cke_colorbox,a:active.cke_colorbox{border:1px solid #ddd;background-color:#eee}a.cke_colorauto,a.cke_colormore{border:1px solid #fff;padding:2px;display:block;cursor:pointer}a:hover.cke_colorauto,a:hover.cke_colormore,a:focus.cke_colorauto,a:focus.cke_colormore,a:active.cke_colorauto,a:active.cke_colormore{border:1px solid #ddd;background-color:#eee}.cke_toolbar{float:left}.cke_rtl .cke_toolbar{float:right}.cke_toolgroup{float:left;margin:0 6px 3px 0;padding:2px;border:1px solid #ddd;border-radius:4px;background:#fff}.cke_hc .cke_toolgroup{border:0;margin-right:10px;margin-bottom:10px}.cke_rtl .cke_toolgroup *:first-child{border-radius:0 4px 4px 0}.cke_rtl .cke_toolgroup *:last-child{border-radius:4px 0 0 4px}.cke_rtl .cke_toolgroup{float:right;margin-left:6px;margin-right:0}a.cke_button{display:inline-block;height:18px;padding:2px 4px;outline:0;cursor:default;float:left;border:0;border-radius:2px}.cke_rtl .cke_button{float:right}.cke_hc .cke_button{border:1px solid black;padding:3px 5px;margin:-2px 4px 0 -2px}.cke_button_on{background:#92bce0}.cke_hc .cke_button_on{border-width:3px;padding:1px 3px}.cke_hc a.cke_button_off:hover,.cke_hc a.cke_button_off:focus,.cke_hc a.cke_button_off:active,.cke_hc a.cke_button_disabled:hover,.cke_hc a.cke_button_disabled:focus,.cke_hc a.cke_button_disabled:active{border-width:3px;padding:1px 3px}.cke_button_disabled .cke_button_icon{opacity:.3}.cke_hc .cke_button_disabled{opacity:.5}a.cke_button_off:hover,a.cke_button_off:focus,a.cke_button_off:active,a.cke_button_disabled:hover,a.cke_button_disabled:focus,a.cke_button_disabled:active{background:#e1edf7}.cke_button_icon{cursor:inherit;background-repeat:no-repeat;margin-top:1px;width:16px;height:16px;float:left;display:inline-block}.cke_rtl .cke_button_icon{float:right}.cke_hc .cke_button_icon{display:none}.cke_button_label{display:none;padding-left:3px;margin-top:1px;line-height:18px;vertical-align:middle;float:left;cursor:default;color:#555}.cke_rtl .cke_button_label{padding-right:3px;padding-left:0;float:right}.cke_hc .cke_button_label{padding:0;display:inline-block;font-size:12px}.cke_button_arrow{display:inline-block;margin:8px 0 0 1px;width:0;height:0;cursor:default;vertical-align:top;border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #474747}.cke_rtl .cke_button_arrow{margin-right:5px;margin-left:0}.cke_hc .cke_button_arrow{font-size:10px;margin:3px -2px 0 3px;width:auto;border:0}.cke_toolbar_separator{float:left;background-color:#ddd;margin:4px 2px 0;height:16px;width:1px}.cke_rtl .cke_toolbar_separator{float:right}.cke_hc .cke_toolbar_separator{width:0;border-left:1px solid;margin:1px 5px 0 0}.cke_toolbar_break{display:block;clear:left}.cke_rtl .cke_toolbar_break{clear:right}.cke_toolbox_collapser{width:12px;height:11px;float:right;margin:11px 0 0;font-size:0;cursor:default;text-align:center;border:1px solid #a6a6a6;border-bottom-color:#979797;border-radius:4px;background:#e4e4e4}.cke_toolbox_collapser:hover{background:#ccc}.cke_toolbox_collapser.cke_toolbox_collapser_min{margin:0 2px 4px}.cke_toolbox_collapser.cke_toolbox_collapser_min .cke_arrow{margin-top:4px;border-bottom-color:transparent;border-top-color:#474747}.cke_toolbox_collapser .cke_arrow{display:inline-block;height:0;width:0;font-size:0;margin-top:1px;border-left:3px solid transparent;border-right:3px solid transparent;border-bottom:3px solid #474747;border-top:3px solid transparent}.cke_rtl .cke_toolbox_collapser{float:left}.cke_hc .cke_toolbox_collapser .cke_arrow{font-size:8px;width:auto;border:0;margin-top:0;margin-right:2px}.cke_menubutton{display:block}.cke_button_icon{opacity:.8}.cke_menuitem span{cursor:default}.cke_menubutton:hover,.cke_menubutton:focus,.cke_menubutton:active{background-color:#d3d3d3;display:block}.cke_hc .cke_menubutton{padding:2px}.cke_hc .cke_menubutton:hover,.cke_hc .cke_menubutton:focus,.cke_hc .cke_menubutton:active{border:2px solid;padding:0}.cke_menubutton_inner{display:table-row}.cke_menubutton_icon,.cke_menubutton_label,.cke_menuarrow{display:table-cell}.cke_menubutton_icon{background-color:#d7d8d7;opacity:.70;filter:alpha(opacity=70);padding:4px}.cke_hc .cke_menubutton_icon{height:16px;width:0;padding:4px 0}.cke_menubutton:hover .cke_menubutton_icon,.cke_menubutton:focus .cke_menubutton_icon,.cke_menubutton:active .cke_menubutton_icon{background-color:#d0d2d0}.cke_menubutton_disabled:hover .cke_menubutton_icon,.cke_menubutton_disabled:focus .cke_menubutton_icon,.cke_menubutton_disabled:active .cke_menubutton_icon{opacity:.3;filter:alpha(opacity=30)}.cke_menubutton_label{padding:0 5px;background-color:transparent;width:100%;vertical-align:middle}.cke_menubutton_disabled .cke_menubutton_label{opacity:.3;filter:alpha(opacity=30)}.cke_menubutton_on{border:1px solid #dedede;background-color:#f2f2f2}.cke_menubutton_on .cke_menubutton_icon{padding-right:3px}.cke_menubutton:hover,.cke_menubutton:focus,.cke_menubutton:active{background-color:#eff0ef}.cke_panel_frame .cke_menubutton_label{display:none}.cke_menuseparator{background-color:#d3d3d3;height:1px;filter:alpha(opacity=70);opacity:.70}.cke_menuarrow{background-image:url(images/arrow.png);background-position:0 10px;background-repeat:no-repeat;padding:0 5px}.cke_menuarrow span{display:none}.cke_rtl .cke_menuarrow{background-position:5px -13px;background-repeat:no-repeat}.cke_hc .cke_menuarrow span{vertical-align:middle;display:inline}.cke_combo{display:inline-block;float:left}.cke_rtl .cke_combo{float:right}.cke_hc .cke_combo{margin-top:-2px}.cke_combo_label{display:none;float:left;line-height:26px;vertical-align:top;margin-right:5px}.cke_rtl .cke_combo_label{float:right;margin-left:5px;margin-right:0}.cke_combo_button{display:inline-block;float:left;margin:0 6px 5px 0;border:1px solid #ddd;border-radius:4px;background:#fff}.cke_combo_off a.cke_combo_button:hover,.cke_combo_off a.cke_combo_button:focus{outline:0}.cke_combo_off a.cke_combo_button:active{border-color:#333}.cke_combo_on a.cke_combo_button{border-color:#333}.cke_rtl .cke_combo_button{float:right;margin-left:5px;margin-right:0}.cke_hc a.cke_combo_button{padding:3px}.cke_hc .cke_combo_on a.cke_combo_button{border-width:3px;padding:1px}.cke_hc .cke_combo_off a.cke_combo_button:hover,.cke_hc .cke_combo_off a.cke_combo_button:focus,.cke_hc .cke_combo_off a.cke_combo_button:active{border-width:3px;padding:1px}.cke_combo_text{line-height:26px;padding-left:10px;text-overflow:ellipsis;overflow:hidden;float:left;cursor:default;color:#474747;width:60px}.cke_rtl .cke_combo_text{float:right;text-align:right;padding-left:0;padding-right:10px}.cke_hc .cke_combo_text{line-height:18px;font-size:12px}.cke_combo_open{cursor:default;display:inline-block;font-size:0;height:19px;line-height:17px;margin:1px 7px 1px;width:5px}.cke_hc .cke_combo_open{height:12px}.cke_combo_arrow{margin:11px 0 0;float:left;height:0;width:0;font-size:0;border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #333}.cke_hc .cke_combo_arrow{font-size:10px;width:auto;border:0;margin-top:3px}.cke_combo_disabled .cke_combo_inlinelabel,.cke_combo_disabled .cke_combo_open{opacity:.3}.cke_path{float:left;margin:-2px 0 2px}.cke_path_item,.cke_path_empty{display:inline-block;float:left;padding:3px 4px;margin-right:2px;cursor:default;text-decoration:none;outline:0;border:0;color:#4c4c4c;font-weight:bold;font-size:11px}.cke_rtl .cke_path,.cke_rtl .cke_path_item,.cke_rtl .cke_path_empty{float:right}a.cke_path_item:hover,a.cke_path_item:focus,a.cke_path_item:active{background-color:#bfbfbf;color:#333;border-radius:2px}.cke_hc a.cke_path_item:hover,.cke_hc a.cke_path_item:focus,.cke_hc a.cke_path_item:active{border:2px solid;padding:1px 2px}.cke_button__source_label,.cke_button__sourcedialog_label{display:inline}.cke_combo__fontsize .cke_combo_text{width:30px}.cke_combopanel__fontsize{width:120px}.cke_source{font-family:'Courier New',Monospace;font-size:small;background-color:#fff;white-space:pre}.cke_wysiwyg_frame,.cke_wysiwyg_div{background-color:#fff}.cke_chrome{visibility:inherit}.cke_voice_label{display:none}legend.cke_voice_label{display:none}.cke_bottom{padding-bottom:3px}.cke_combo_text{margin-bottom:-1px;margin-top:1px} \ No newline at end of file diff --git a/unauthenticated/js/ckeditor/skins/bootstrapck/.temp/css/editor_ie.css b/unauthenticated/js/ckeditor/skins/bootstrapck/.temp/css/editor_ie.css new file mode 100644 index 000000000..f66f9b5c4 --- /dev/null +++ b/unauthenticated/js/ckeditor/skins/bootstrapck/.temp/css/editor_ie.css @@ -0,0 +1 @@ +.cke_reset{margin:0;padding:0;border:0;background:transparent;text-decoration:none;width:auto;height:auto;vertical-align:baseline;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;position:static;-webkit-transition:none;-moz-transition:none;-ms-transition:none;transition:none}.cke_reset_all,.cke_reset_all *{margin:0;padding:0;border:0;background:transparent;text-decoration:none;width:auto;height:auto;vertical-align:baseline;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;position:static;-webkit-transition:none;-moz-transition:none;-ms-transition:none;transition:none;border-collapse:collapse;font:normal normal normal 12px Arial,Helvetica,Tahoma,Verdana,Sans-Serif;color:#333;text-align:left;white-space:nowrap;cursor:auto;float:none}.cke_reset_all .cke_rtl *{text-align:right}.cke_reset_all iframe{vertical-align:inherit}.cke_reset_all textarea{white-space:pre}.cke_reset_all textarea,.cke_reset_all input[type="text"],.cke_reset_all input[type="password"]{cursor:text}.cke_reset_all textarea[disabled],.cke_reset_all input[type="text"][disabled],.cke_reset_all input[type="password"][disabled]{cursor:default}.cke_reset_all fieldset{padding:10px;margin-top:10px;border:1px solid #ddd}.cke_reset_all fieldset legend{padding:0 5px}.cke_reset_all select{box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}.cke_chrome{display:block;border:1px solid #ddd;border-radius:4px;padding:0 3px;background:#eee}.cke_inner{display:block;-webkit-touch-callout:none;background:transparent;padding:0}.cke_float{border:0}.cke_float .cke_inner{padding-bottom:0}.cke_float .cke_top{border:1px solid #ddd}.cke_top,.cke_contents,.cke_bottom{display:block;overflow:hidden}.cke_top,.cke_bottom{padding:3px 0 0;background:#eee}.cke_top{white-space:normal}.cke_contents{background-color:#fff;border:1px solid #ddd;border-radius:4px}.cke_bottom{position:relative}.cke_browser_ios .cke_contents{overflow-y:auto;-webkit-overflow-scrolling:touch}.cke_resizer{width:0;height:0;overflow:hidden;width:0;height:0;overflow:hidden;border-width:10px 10px 0 0;border-color:transparent #555 transparent transparent;border-style:dashed solid dashed dashed;font-size:0;vertical-align:bottom;margin-top:6px;margin-bottom:2px}.cke_hc .cke_resizer{font-size:15px;width:auto;height:auto;border-width:0}.cke_resizer_ltr{cursor:se-resize;float:right;margin-right:-4px}.cke_resizer_rtl{border-width:10px 0 0 10px;border-color:transparent transparent transparent #aaa;border-style:dashed dashed dashed solid;cursor:sw-resize;float:left;margin-left:-4px;right:auto}.cke_wysiwyg_div{display:block;height:100%;overflow:auto;padding:0 8px;outline-style:none;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.cke_panel{visibility:visible;width:120px;height:100px;overflow:hidden;margin-top:5px;background-color:#fff;border:1px solid #aaa;border-radius:4px}.cke_menu_panel{padding:0;margin:0}.cke_combopanel{width:150px;height:178px}.cke_panel_frame{width:100%;height:100%;font-size:12px;overflow:auto;overflow-x:hidden}.cke_panel_container{overflow-y:auto;overflow-x:hidden}.cke_panel_list{list-style-type:none;margin:3px;padding:0;white-space:nowrap}.cke_panel_listItem{margin:0;padding-bottom:1px}.cke_panel_listItem a{padding:3px 4px;display:block;border:1px solid #fff;color:inherit!important;text-decoration:none;overflow:hidden;text-overflow:ellipsis;border-radius:2px}.cke_panel_listItem a:hover,.cke_panel_listItem a:focus,.cke_panel_listItem a:active{background-color:#e1edf7}* html .cke_panel_listItem a{width:100%;color:#000}*:first-child+html .cke_panel_listItem a{color:#000}.cke_panel_listItem.cke_selected a{background-color:#92bce0;outline:0}.cke_hc .cke_panel_listItem a{border-style:none}.cke_hc .cke_panel_listItem a:hover,.cke_hc .cke_panel_listItem a:focus,.cke_hc .cke_panel_listItem a:active{border:2px solid;padding:1px 2px}.cke_panel_grouptitle{font-size:11px;font-weight:bold;white-space:nowrap;margin:0;padding:6px 6px;color:#474747;border-bottom:1px solid #aaa;background:#eee}.cke_panel_grouptitle:first-child{border-radius:4px 4px 0 0}.cke_panel_listItem p,.cke_panel_listItem h1,.cke_panel_listItem h2,.cke_panel_listItem h3,.cke_panel_listItem h4,.cke_panel_listItem h5,.cke_panel_listItem h6,.cke_panel_listItem pre{margin-top:0;margin-bottom:0}.cke_colorblock{padding:3px;font-size:11px;font-family:'Microsoft Sans Serif',Tahoma,Arial,Verdana,Sans-Serif}.cke_colorblock,.cke_colorblock a{text-decoration:none;color:#000}span.cke_colorbox{width:10px;height:10px;border:1px solid #aaa;float:left}.cke_rtl span.cke_colorbox{float:right}a.cke_colorbox{border:1px solid #fff;padding:2px;float:left;width:12px;height:12px;border-radius:2px}.cke_rtl a.cke_colorbox{float:right}a:hover.cke_colorbox,a:focus.cke_colorbox,a:active.cke_colorbox{border:1px solid #ddd;background-color:#eee}a.cke_colorauto,a.cke_colormore{border:1px solid #fff;padding:2px;display:block;cursor:pointer}a:hover.cke_colorauto,a:hover.cke_colormore,a:focus.cke_colorauto,a:focus.cke_colormore,a:active.cke_colorauto,a:active.cke_colormore{border:1px solid #ddd;background-color:#eee}.cke_toolbar{float:left}.cke_rtl .cke_toolbar{float:right}.cke_toolgroup{float:left;margin:0 6px 3px 0;padding:2px;border:1px solid #ddd;border-radius:4px;background:#fff}.cke_hc .cke_toolgroup{border:0;margin-right:10px;margin-bottom:10px}.cke_rtl .cke_toolgroup *:first-child{border-radius:0 4px 4px 0}.cke_rtl .cke_toolgroup *:last-child{border-radius:4px 0 0 4px}.cke_rtl .cke_toolgroup{float:right;margin-left:6px;margin-right:0}a.cke_button{display:inline-block;height:18px;padding:2px 4px;outline:0;cursor:default;float:left;border:0;border-radius:2px}.cke_rtl .cke_button{float:right}.cke_hc .cke_button{border:1px solid black;padding:3px 5px;margin:-2px 4px 0 -2px}.cke_button_on{background:#92bce0}.cke_hc .cke_button_on{border-width:3px;padding:1px 3px}.cke_hc a.cke_button_off:hover,.cke_hc a.cke_button_off:focus,.cke_hc a.cke_button_off:active,.cke_hc a.cke_button_disabled:hover,.cke_hc a.cke_button_disabled:focus,.cke_hc a.cke_button_disabled:active{border-width:3px;padding:1px 3px}.cke_button_disabled .cke_button_icon{opacity:.3}.cke_hc .cke_button_disabled{opacity:.5}a.cke_button_off:hover,a.cke_button_off:focus,a.cke_button_off:active,a.cke_button_disabled:hover,a.cke_button_disabled:focus,a.cke_button_disabled:active{background:#e1edf7}.cke_button_icon{cursor:inherit;background-repeat:no-repeat;margin-top:1px;width:16px;height:16px;float:left;display:inline-block}.cke_rtl .cke_button_icon{float:right}.cke_hc .cke_button_icon{display:none}.cke_button_label{display:none;padding-left:3px;margin-top:1px;line-height:18px;vertical-align:middle;float:left;cursor:default;color:#555}.cke_rtl .cke_button_label{padding-right:3px;padding-left:0;float:right}.cke_hc .cke_button_label{padding:0;display:inline-block;font-size:12px}.cke_button_arrow{display:inline-block;margin:8px 0 0 1px;width:0;height:0;cursor:default;vertical-align:top;border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #474747}.cke_rtl .cke_button_arrow{margin-right:5px;margin-left:0}.cke_hc .cke_button_arrow{font-size:10px;margin:3px -2px 0 3px;width:auto;border:0}.cke_toolbar_separator{float:left;background-color:#ddd;margin:4px 2px 0;height:16px;width:1px}.cke_rtl .cke_toolbar_separator{float:right}.cke_hc .cke_toolbar_separator{width:0;border-left:1px solid;margin:1px 5px 0 0}.cke_toolbar_break{display:block;clear:left}.cke_rtl .cke_toolbar_break{clear:right}.cke_toolbox_collapser{width:12px;height:11px;float:right;margin:11px 0 0;font-size:0;cursor:default;text-align:center;border:1px solid #a6a6a6;border-bottom-color:#979797;border-radius:4px;background:#e4e4e4}.cke_toolbox_collapser:hover{background:#ccc}.cke_toolbox_collapser.cke_toolbox_collapser_min{margin:0 2px 4px}.cke_toolbox_collapser.cke_toolbox_collapser_min .cke_arrow{margin-top:4px;border-bottom-color:transparent;border-top-color:#474747}.cke_toolbox_collapser .cke_arrow{display:inline-block;height:0;width:0;font-size:0;margin-top:1px;border-left:3px solid transparent;border-right:3px solid transparent;border-bottom:3px solid #474747;border-top:3px solid transparent}.cke_rtl .cke_toolbox_collapser{float:left}.cke_hc .cke_toolbox_collapser .cke_arrow{font-size:8px;width:auto;border:0;margin-top:0;margin-right:2px}.cke_menubutton{display:block}.cke_button_icon{opacity:.8}.cke_menuitem span{cursor:default}.cke_menubutton:hover,.cke_menubutton:focus,.cke_menubutton:active{background-color:#d3d3d3;display:block}.cke_hc .cke_menubutton{padding:2px}.cke_hc .cke_menubutton:hover,.cke_hc .cke_menubutton:focus,.cke_hc .cke_menubutton:active{border:2px solid;padding:0}.cke_menubutton_inner{display:table-row}.cke_menubutton_icon,.cke_menubutton_label,.cke_menuarrow{display:table-cell}.cke_menubutton_icon{background-color:#d7d8d7;opacity:.70;filter:alpha(opacity=70);padding:4px}.cke_hc .cke_menubutton_icon{height:16px;width:0;padding:4px 0}.cke_menubutton:hover .cke_menubutton_icon,.cke_menubutton:focus .cke_menubutton_icon,.cke_menubutton:active .cke_menubutton_icon{background-color:#d0d2d0}.cke_menubutton_disabled:hover .cke_menubutton_icon,.cke_menubutton_disabled:focus .cke_menubutton_icon,.cke_menubutton_disabled:active .cke_menubutton_icon{opacity:.3;filter:alpha(opacity=30)}.cke_menubutton_label{padding:0 5px;background-color:transparent;width:100%;vertical-align:middle}.cke_menubutton_disabled .cke_menubutton_label{opacity:.3;filter:alpha(opacity=30)}.cke_menubutton_on{border:1px solid #dedede;background-color:#f2f2f2}.cke_menubutton_on .cke_menubutton_icon{padding-right:3px}.cke_menubutton:hover,.cke_menubutton:focus,.cke_menubutton:active{background-color:#eff0ef}.cke_panel_frame .cke_menubutton_label{display:none}.cke_menuseparator{background-color:#d3d3d3;height:1px;filter:alpha(opacity=70);opacity:.70}.cke_menuarrow{background-image:url(images/arrow.png);background-position:0 10px;background-repeat:no-repeat;padding:0 5px}.cke_menuarrow span{display:none}.cke_rtl .cke_menuarrow{background-position:5px -13px;background-repeat:no-repeat}.cke_hc .cke_menuarrow span{vertical-align:middle;display:inline}.cke_combo{display:inline-block;float:left}.cke_rtl .cke_combo{float:right}.cke_hc .cke_combo{margin-top:-2px}.cke_combo_label{display:none;float:left;line-height:26px;vertical-align:top;margin-right:5px}.cke_rtl .cke_combo_label{float:right;margin-left:5px;margin-right:0}.cke_combo_button{display:inline-block;float:left;margin:0 6px 5px 0;border:1px solid #ddd;border-radius:4px;background:#fff}.cke_combo_off a.cke_combo_button:hover,.cke_combo_off a.cke_combo_button:focus{outline:0}.cke_combo_off a.cke_combo_button:active{border-color:#333}.cke_combo_on a.cke_combo_button{border-color:#333}.cke_rtl .cke_combo_button{float:right;margin-left:5px;margin-right:0}.cke_hc a.cke_combo_button{padding:3px}.cke_hc .cke_combo_on a.cke_combo_button{border-width:3px;padding:1px}.cke_hc .cke_combo_off a.cke_combo_button:hover,.cke_hc .cke_combo_off a.cke_combo_button:focus,.cke_hc .cke_combo_off a.cke_combo_button:active{border-width:3px;padding:1px}.cke_combo_text{line-height:26px;padding-left:10px;text-overflow:ellipsis;overflow:hidden;float:left;cursor:default;color:#474747;width:60px}.cke_rtl .cke_combo_text{float:right;text-align:right;padding-left:0;padding-right:10px}.cke_hc .cke_combo_text{line-height:18px;font-size:12px}.cke_combo_open{cursor:default;display:inline-block;font-size:0;height:19px;line-height:17px;margin:1px 7px 1px;width:5px}.cke_hc .cke_combo_open{height:12px}.cke_combo_arrow{margin:11px 0 0;float:left;height:0;width:0;font-size:0;border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #333}.cke_hc .cke_combo_arrow{font-size:10px;width:auto;border:0;margin-top:3px}.cke_combo_disabled .cke_combo_inlinelabel,.cke_combo_disabled .cke_combo_open{opacity:.3}.cke_path{float:left;margin:-2px 0 2px}.cke_path_item,.cke_path_empty{display:inline-block;float:left;padding:3px 4px;margin-right:2px;cursor:default;text-decoration:none;outline:0;border:0;color:#4c4c4c;font-weight:bold;font-size:11px}.cke_rtl .cke_path,.cke_rtl .cke_path_item,.cke_rtl .cke_path_empty{float:right}a.cke_path_item:hover,a.cke_path_item:focus,a.cke_path_item:active{background-color:#bfbfbf;color:#333;border-radius:2px}.cke_hc a.cke_path_item:hover,.cke_hc a.cke_path_item:focus,.cke_hc a.cke_path_item:active{border:2px solid;padding:1px 2px}.cke_button__source_label,.cke_button__sourcedialog_label{display:inline}.cke_combo__fontsize .cke_combo_text{width:30px}.cke_combopanel__fontsize{width:120px}.cke_source{font-family:'Courier New',Monospace;font-size:small;background-color:#fff;white-space:pre}.cke_wysiwyg_frame,.cke_wysiwyg_div{background-color:#fff}.cke_chrome{visibility:inherit}.cke_voice_label{display:none}legend.cke_voice_label{display:none}a.cke_button_disabled,a.cke_button_disabled:hover,a.cke_button_disabled:focus,a.cke_button_disabled:active{filter:alpha(opacity=30)}.cke_button_disabled .cke_button_icon{filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#00ffffff,endColorstr=#00ffffff)}.cke_button_off:hover,.cke_button_off:focus,.cke_button_off:active{filter:alpha(opacity=100)}.cke_combo_disabled .cke_combo_inlinelabel,.cke_combo_disabled .cke_combo_open{filter:alpha(opacity=30)}.cke_toolbox_collapser{border:1px solid #a6a6a6}.cke_toolbox_collapser .cke_arrow{margin-top:1px}.cke_hc .cke_top,.cke_hc .cke_bottom,.cke_hc .cke_combo_button,.cke_hc a.cke_combo_button:hover,.cke_hc a.cke_combo_button:focus,.cke_hc .cke_toolgroup,.cke_hc .cke_button_on,.cke_hc a.cke_button_off:hover,.cke_hc a.cke_button_off:focus,.cke_hc a.cke_button_off:active,.cke_hc .cke_toolbox_collapser,.cke_hc .cke_toolbox_collapser:hover,.cke_hc .cke_panel_grouptitle{filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)} \ No newline at end of file diff --git a/unauthenticated/js/ckeditor/skins/bootstrapck/.temp/css/editor_ie7.css b/unauthenticated/js/ckeditor/skins/bootstrapck/.temp/css/editor_ie7.css new file mode 100644 index 000000000..8e1f3f561 --- /dev/null +++ b/unauthenticated/js/ckeditor/skins/bootstrapck/.temp/css/editor_ie7.css @@ -0,0 +1 @@ +.cke_reset{margin:0;padding:0;border:0;background:transparent;text-decoration:none;width:auto;height:auto;vertical-align:baseline;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;position:static;-webkit-transition:none;-moz-transition:none;-ms-transition:none;transition:none}.cke_reset_all,.cke_reset_all *{margin:0;padding:0;border:0;background:transparent;text-decoration:none;width:auto;height:auto;vertical-align:baseline;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;position:static;-webkit-transition:none;-moz-transition:none;-ms-transition:none;transition:none;border-collapse:collapse;font:normal normal normal 12px Arial,Helvetica,Tahoma,Verdana,Sans-Serif;color:#333;text-align:left;white-space:nowrap;cursor:auto;float:none}.cke_reset_all .cke_rtl *{text-align:right}.cke_reset_all iframe{vertical-align:inherit}.cke_reset_all textarea{white-space:pre}.cke_reset_all textarea,.cke_reset_all input[type="text"],.cke_reset_all input[type="password"]{cursor:text}.cke_reset_all textarea[disabled],.cke_reset_all input[type="text"][disabled],.cke_reset_all input[type="password"][disabled]{cursor:default}.cke_reset_all fieldset{padding:10px;margin-top:10px;border:1px solid #ddd}.cke_reset_all fieldset legend{padding:0 5px}.cke_reset_all select{box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}.cke_chrome{display:block;border:1px solid #ddd;border-radius:4px;padding:0 3px;background:#eee}.cke_inner{display:block;-webkit-touch-callout:none;background:transparent;padding:0}.cke_float{border:0}.cke_float .cke_inner{padding-bottom:0}.cke_float .cke_top{border:1px solid #ddd}.cke_top,.cke_contents,.cke_bottom{display:block;overflow:hidden}.cke_top,.cke_bottom{padding:3px 0 0;background:#eee}.cke_top{white-space:normal}.cke_contents{background-color:#fff;border:1px solid #ddd;border-radius:4px}.cke_bottom{position:relative}.cke_browser_ios .cke_contents{overflow-y:auto;-webkit-overflow-scrolling:touch}.cke_resizer{width:0;height:0;overflow:hidden;width:0;height:0;overflow:hidden;border-width:10px 10px 0 0;border-color:transparent #555 transparent transparent;border-style:dashed solid dashed dashed;font-size:0;vertical-align:bottom;margin-top:6px;margin-bottom:2px}.cke_hc .cke_resizer{font-size:15px;width:auto;height:auto;border-width:0}.cke_resizer_ltr{cursor:se-resize;float:right;margin-right:-4px}.cke_resizer_rtl{border-width:10px 0 0 10px;border-color:transparent transparent transparent #aaa;border-style:dashed dashed dashed solid;cursor:sw-resize;float:left;margin-left:-4px;right:auto}.cke_wysiwyg_div{display:block;height:100%;overflow:auto;padding:0 8px;outline-style:none;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.cke_panel{visibility:visible;width:120px;height:100px;overflow:hidden;margin-top:5px;background-color:#fff;border:1px solid #aaa;border-radius:4px}.cke_menu_panel{padding:0;margin:0}.cke_combopanel{width:150px;height:178px}.cke_panel_frame{width:100%;height:100%;font-size:12px;overflow:auto;overflow-x:hidden}.cke_panel_container{overflow-y:auto;overflow-x:hidden}.cke_panel_list{list-style-type:none;margin:3px;padding:0;white-space:nowrap}.cke_panel_listItem{margin:0;padding-bottom:1px}.cke_panel_listItem a{padding:3px 4px;display:block;border:1px solid #fff;color:inherit!important;text-decoration:none;overflow:hidden;text-overflow:ellipsis;border-radius:2px}.cke_panel_listItem a:hover,.cke_panel_listItem a:focus,.cke_panel_listItem a:active{background-color:#e1edf7}* html .cke_panel_listItem a{width:100%;color:#000}*:first-child+html .cke_panel_listItem a{color:#000}.cke_panel_listItem.cke_selected a{background-color:#92bce0;outline:0}.cke_hc .cke_panel_listItem a{border-style:none}.cke_hc .cke_panel_listItem a:hover,.cke_hc .cke_panel_listItem a:focus,.cke_hc .cke_panel_listItem a:active{border:2px solid;padding:1px 2px}.cke_panel_grouptitle{font-size:11px;font-weight:bold;white-space:nowrap;margin:0;padding:6px 6px;color:#474747;border-bottom:1px solid #aaa;background:#eee}.cke_panel_grouptitle:first-child{border-radius:4px 4px 0 0}.cke_panel_listItem p,.cke_panel_listItem h1,.cke_panel_listItem h2,.cke_panel_listItem h3,.cke_panel_listItem h4,.cke_panel_listItem h5,.cke_panel_listItem h6,.cke_panel_listItem pre{margin-top:0;margin-bottom:0}.cke_colorblock{padding:3px;font-size:11px;font-family:'Microsoft Sans Serif',Tahoma,Arial,Verdana,Sans-Serif}.cke_colorblock,.cke_colorblock a{text-decoration:none;color:#000}span.cke_colorbox{width:10px;height:10px;border:1px solid #aaa;float:left}.cke_rtl span.cke_colorbox{float:right}a.cke_colorbox{border:1px solid #fff;padding:2px;float:left;width:12px;height:12px;border-radius:2px}.cke_rtl a.cke_colorbox{float:right}a:hover.cke_colorbox,a:focus.cke_colorbox,a:active.cke_colorbox{border:1px solid #ddd;background-color:#eee}a.cke_colorauto,a.cke_colormore{border:1px solid #fff;padding:2px;display:block;cursor:pointer}a:hover.cke_colorauto,a:hover.cke_colormore,a:focus.cke_colorauto,a:focus.cke_colormore,a:active.cke_colorauto,a:active.cke_colormore{border:1px solid #ddd;background-color:#eee}.cke_toolbar{float:left}.cke_rtl .cke_toolbar{float:right}.cke_toolgroup{float:left;margin:0 6px 3px 0;padding:2px;border:1px solid #ddd;border-radius:4px;background:#fff}.cke_hc .cke_toolgroup{border:0;margin-right:10px;margin-bottom:10px}.cke_rtl .cke_toolgroup *:first-child{border-radius:0 4px 4px 0}.cke_rtl .cke_toolgroup *:last-child{border-radius:4px 0 0 4px}.cke_rtl .cke_toolgroup{float:right;margin-left:6px;margin-right:0}a.cke_button{display:inline-block;height:18px;padding:2px 4px;outline:0;cursor:default;float:left;border:0;border-radius:2px}.cke_rtl .cke_button{float:right}.cke_hc .cke_button{border:1px solid black;padding:3px 5px;margin:-2px 4px 0 -2px}.cke_button_on{background:#92bce0}.cke_hc .cke_button_on{border-width:3px;padding:1px 3px}.cke_hc a.cke_button_off:hover,.cke_hc a.cke_button_off:focus,.cke_hc a.cke_button_off:active,.cke_hc a.cke_button_disabled:hover,.cke_hc a.cke_button_disabled:focus,.cke_hc a.cke_button_disabled:active{border-width:3px;padding:1px 3px}.cke_button_disabled .cke_button_icon{opacity:.3}.cke_hc .cke_button_disabled{opacity:.5}a.cke_button_off:hover,a.cke_button_off:focus,a.cke_button_off:active,a.cke_button_disabled:hover,a.cke_button_disabled:focus,a.cke_button_disabled:active{background:#e1edf7}.cke_button_icon{cursor:inherit;background-repeat:no-repeat;margin-top:1px;width:16px;height:16px;float:left;display:inline-block}.cke_rtl .cke_button_icon{float:right}.cke_hc .cke_button_icon{display:none}.cke_button_label{display:none;padding-left:3px;margin-top:1px;line-height:18px;vertical-align:middle;float:left;cursor:default;color:#555}.cke_rtl .cke_button_label{padding-right:3px;padding-left:0;float:right}.cke_hc .cke_button_label{padding:0;display:inline-block;font-size:12px}.cke_button_arrow{display:inline-block;margin:8px 0 0 1px;width:0;height:0;cursor:default;vertical-align:top;border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #474747}.cke_rtl .cke_button_arrow{margin-right:5px;margin-left:0}.cke_hc .cke_button_arrow{font-size:10px;margin:3px -2px 0 3px;width:auto;border:0}.cke_toolbar_separator{float:left;background-color:#ddd;margin:4px 2px 0;height:16px;width:1px}.cke_rtl .cke_toolbar_separator{float:right}.cke_hc .cke_toolbar_separator{width:0;border-left:1px solid;margin:1px 5px 0 0}.cke_toolbar_break{display:block;clear:left}.cke_rtl .cke_toolbar_break{clear:right}.cke_toolbox_collapser{width:12px;height:11px;float:right;margin:11px 0 0;font-size:0;cursor:default;text-align:center;border:1px solid #a6a6a6;border-bottom-color:#979797;border-radius:4px;background:#e4e4e4}.cke_toolbox_collapser:hover{background:#ccc}.cke_toolbox_collapser.cke_toolbox_collapser_min{margin:0 2px 4px}.cke_toolbox_collapser.cke_toolbox_collapser_min .cke_arrow{margin-top:4px;border-bottom-color:transparent;border-top-color:#474747}.cke_toolbox_collapser .cke_arrow{display:inline-block;height:0;width:0;font-size:0;margin-top:1px;border-left:3px solid transparent;border-right:3px solid transparent;border-bottom:3px solid #474747;border-top:3px solid transparent}.cke_rtl .cke_toolbox_collapser{float:left}.cke_hc .cke_toolbox_collapser .cke_arrow{font-size:8px;width:auto;border:0;margin-top:0;margin-right:2px}.cke_menubutton{display:block}.cke_button_icon{opacity:.8}.cke_menuitem span{cursor:default}.cke_menubutton:hover,.cke_menubutton:focus,.cke_menubutton:active{background-color:#d3d3d3;display:block}.cke_hc .cke_menubutton{padding:2px}.cke_hc .cke_menubutton:hover,.cke_hc .cke_menubutton:focus,.cke_hc .cke_menubutton:active{border:2px solid;padding:0}.cke_menubutton_inner{display:table-row}.cke_menubutton_icon,.cke_menubutton_label,.cke_menuarrow{display:table-cell}.cke_menubutton_icon{background-color:#d7d8d7;opacity:.70;filter:alpha(opacity=70);padding:4px}.cke_hc .cke_menubutton_icon{height:16px;width:0;padding:4px 0}.cke_menubutton:hover .cke_menubutton_icon,.cke_menubutton:focus .cke_menubutton_icon,.cke_menubutton:active .cke_menubutton_icon{background-color:#d0d2d0}.cke_menubutton_disabled:hover .cke_menubutton_icon,.cke_menubutton_disabled:focus .cke_menubutton_icon,.cke_menubutton_disabled:active .cke_menubutton_icon{opacity:.3;filter:alpha(opacity=30)}.cke_menubutton_label{padding:0 5px;background-color:transparent;width:100%;vertical-align:middle}.cke_menubutton_disabled .cke_menubutton_label{opacity:.3;filter:alpha(opacity=30)}.cke_menubutton_on{border:1px solid #dedede;background-color:#f2f2f2}.cke_menubutton_on .cke_menubutton_icon{padding-right:3px}.cke_menubutton:hover,.cke_menubutton:focus,.cke_menubutton:active{background-color:#eff0ef}.cke_panel_frame .cke_menubutton_label{display:none}.cke_menuseparator{background-color:#d3d3d3;height:1px;filter:alpha(opacity=70);opacity:.70}.cke_menuarrow{background-image:url(images/arrow.png);background-position:0 10px;background-repeat:no-repeat;padding:0 5px}.cke_menuarrow span{display:none}.cke_rtl .cke_menuarrow{background-position:5px -13px;background-repeat:no-repeat}.cke_hc .cke_menuarrow span{vertical-align:middle;display:inline}.cke_combo{display:inline-block;float:left}.cke_rtl .cke_combo{float:right}.cke_hc .cke_combo{margin-top:-2px}.cke_combo_label{display:none;float:left;line-height:26px;vertical-align:top;margin-right:5px}.cke_rtl .cke_combo_label{float:right;margin-left:5px;margin-right:0}.cke_combo_button{display:inline-block;float:left;margin:0 6px 5px 0;border:1px solid #ddd;border-radius:4px;background:#fff}.cke_combo_off a.cke_combo_button:hover,.cke_combo_off a.cke_combo_button:focus{outline:0}.cke_combo_off a.cke_combo_button:active{border-color:#333}.cke_combo_on a.cke_combo_button{border-color:#333}.cke_rtl .cke_combo_button{float:right;margin-left:5px;margin-right:0}.cke_hc a.cke_combo_button{padding:3px}.cke_hc .cke_combo_on a.cke_combo_button{border-width:3px;padding:1px}.cke_hc .cke_combo_off a.cke_combo_button:hover,.cke_hc .cke_combo_off a.cke_combo_button:focus,.cke_hc .cke_combo_off a.cke_combo_button:active{border-width:3px;padding:1px}.cke_combo_text{line-height:26px;padding-left:10px;text-overflow:ellipsis;overflow:hidden;float:left;cursor:default;color:#474747;width:60px}.cke_rtl .cke_combo_text{float:right;text-align:right;padding-left:0;padding-right:10px}.cke_hc .cke_combo_text{line-height:18px;font-size:12px}.cke_combo_open{cursor:default;display:inline-block;font-size:0;height:19px;line-height:17px;margin:1px 7px 1px;width:5px}.cke_hc .cke_combo_open{height:12px}.cke_combo_arrow{margin:11px 0 0;float:left;height:0;width:0;font-size:0;border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #333}.cke_hc .cke_combo_arrow{font-size:10px;width:auto;border:0;margin-top:3px}.cke_combo_disabled .cke_combo_inlinelabel,.cke_combo_disabled .cke_combo_open{opacity:.3}.cke_path{float:left;margin:-2px 0 2px}.cke_path_item,.cke_path_empty{display:inline-block;float:left;padding:3px 4px;margin-right:2px;cursor:default;text-decoration:none;outline:0;border:0;color:#4c4c4c;font-weight:bold;font-size:11px}.cke_rtl .cke_path,.cke_rtl .cke_path_item,.cke_rtl .cke_path_empty{float:right}a.cke_path_item:hover,a.cke_path_item:focus,a.cke_path_item:active{background-color:#bfbfbf;color:#333;border-radius:2px}.cke_hc a.cke_path_item:hover,.cke_hc a.cke_path_item:focus,.cke_hc a.cke_path_item:active{border:2px solid;padding:1px 2px}.cke_button__source_label,.cke_button__sourcedialog_label{display:inline}.cke_combo__fontsize .cke_combo_text{width:30px}.cke_combopanel__fontsize{width:120px}.cke_source{font-family:'Courier New',Monospace;font-size:small;background-color:#fff;white-space:pre}.cke_wysiwyg_frame,.cke_wysiwyg_div{background-color:#fff}.cke_chrome{visibility:inherit}.cke_voice_label{display:none}legend.cke_voice_label{display:none}.cke_rtl .cke_toolgroup,.cke_rtl .cke_toolbar_separator,.cke_rtl .cke_button,.cke_rtl .cke_button *,.cke_rtl .cke_combo,.cke_rtl .cke_combo *,.cke_rtl .cke_path_item,.cke_rtl .cke_path_item *,.cke_rtl .cke_path_empty{float:none}.cke_rtl .cke_toolgroup,.cke_rtl .cke_toolbar_separator,.cke_rtl .cke_combo_button,.cke_rtl .cke_combo_button *,.cke_rtl .cke_button,.cke_rtl .cke_button_icon{display:inline-block;vertical-align:top}.cke_toolbox{display:inline-block;padding-bottom:5px;height:100%}.cke_rtl .cke_toolbox{padding-bottom:0}.cke_toolbar{margin-bottom:5px}.cke_rtl .cke_toolbar{margin-bottom:0}.cke_toolgroup{height:26px}.cke_toolgroup,.cke_combo{position:relative}a.cke_button{float:none;vertical-align:top}.cke_toolbar_separator{display:inline-block;float:none;vertical-align:top;background-color:#c0c0c0}.cke_toolbox_collapser .cke_arrow{margin-top:0}.cke_toolbox_collapser .cke_arrow{border-width:4px}.cke_toolbox_collapser.cke_toolbox_collapser_min .cke_arrow{border-width:3px}.cke_rtl .cke_button_arrow{padding-top:8px;margin-right:2px}.cke_rtl .cke_combo_inlinelabel{display:table-cell;vertical-align:middle}.cke_menubutton{display:block;height:24px}.cke_menubutton_inner{display:block;position:relative}.cke_menubutton_icon{height:16px;width:16px}.cke_menubutton_icon,.cke_menubutton_label,.cke_menuarrow{display:inline-block}.cke_menubutton_label{width:auto;vertical-align:top;line-height:24px;height:24px;margin:0 10px 0 0}.cke_menuarrow{width:5px;height:6px;padding:0;position:absolute;right:8px;top:10px;background-position:0 0}.cke_rtl .cke_menubutton_icon{position:absolute;right:0;top:0}.cke_rtl .cke_menubutton_label{float:right;clear:both;margin:0 24px 0 10px}.cke_hc .cke_rtl .cke_menubutton_label{margin-right:0}.cke_rtl .cke_menuarrow{left:8px;right:auto;background-position:0 -24px}.cke_hc .cke_menuarrow{top:5px;padding:0 5px}.cke_rtl input.cke_dialog_ui_input_text,.cke_rtl input.cke_dialog_ui_input_password{position:relative}.cke_wysiwyg_div{padding-top:0!important;padding-bottom:0!important} \ No newline at end of file diff --git a/unauthenticated/js/ckeditor/skins/bootstrapck/.temp/css/editor_ie8.css b/unauthenticated/js/ckeditor/skins/bootstrapck/.temp/css/editor_ie8.css new file mode 100644 index 000000000..7a10f0f72 --- /dev/null +++ b/unauthenticated/js/ckeditor/skins/bootstrapck/.temp/css/editor_ie8.css @@ -0,0 +1 @@ +.cke_reset{margin:0;padding:0;border:0;background:transparent;text-decoration:none;width:auto;height:auto;vertical-align:baseline;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;position:static;-webkit-transition:none;-moz-transition:none;-ms-transition:none;transition:none}.cke_reset_all,.cke_reset_all *{margin:0;padding:0;border:0;background:transparent;text-decoration:none;width:auto;height:auto;vertical-align:baseline;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;position:static;-webkit-transition:none;-moz-transition:none;-ms-transition:none;transition:none;border-collapse:collapse;font:normal normal normal 12px Arial,Helvetica,Tahoma,Verdana,Sans-Serif;color:#333;text-align:left;white-space:nowrap;cursor:auto;float:none}.cke_reset_all .cke_rtl *{text-align:right}.cke_reset_all iframe{vertical-align:inherit}.cke_reset_all textarea{white-space:pre}.cke_reset_all textarea,.cke_reset_all input[type="text"],.cke_reset_all input[type="password"]{cursor:text}.cke_reset_all textarea[disabled],.cke_reset_all input[type="text"][disabled],.cke_reset_all input[type="password"][disabled]{cursor:default}.cke_reset_all fieldset{padding:10px;margin-top:10px;border:1px solid #ddd}.cke_reset_all fieldset legend{padding:0 5px}.cke_reset_all select{box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}.cke_chrome{display:block;border:1px solid #ddd;border-radius:4px;padding:0 3px;background:#eee}.cke_inner{display:block;-webkit-touch-callout:none;background:transparent;padding:0}.cke_float{border:0}.cke_float .cke_inner{padding-bottom:0}.cke_float .cke_top{border:1px solid #ddd}.cke_top,.cke_contents,.cke_bottom{display:block;overflow:hidden}.cke_top,.cke_bottom{padding:3px 0 0;background:#eee}.cke_top{white-space:normal}.cke_contents{background-color:#fff;border:1px solid #ddd;border-radius:4px}.cke_bottom{position:relative}.cke_browser_ios .cke_contents{overflow-y:auto;-webkit-overflow-scrolling:touch}.cke_resizer{width:0;height:0;overflow:hidden;width:0;height:0;overflow:hidden;border-width:10px 10px 0 0;border-color:transparent #555 transparent transparent;border-style:dashed solid dashed dashed;font-size:0;vertical-align:bottom;margin-top:6px;margin-bottom:2px}.cke_hc .cke_resizer{font-size:15px;width:auto;height:auto;border-width:0}.cke_resizer_ltr{cursor:se-resize;float:right;margin-right:-4px}.cke_resizer_rtl{border-width:10px 0 0 10px;border-color:transparent transparent transparent #aaa;border-style:dashed dashed dashed solid;cursor:sw-resize;float:left;margin-left:-4px;right:auto}.cke_wysiwyg_div{display:block;height:100%;overflow:auto;padding:0 8px;outline-style:none;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.cke_panel{visibility:visible;width:120px;height:100px;overflow:hidden;margin-top:5px;background-color:#fff;border:1px solid #aaa;border-radius:4px}.cke_menu_panel{padding:0;margin:0}.cke_combopanel{width:150px;height:178px}.cke_panel_frame{width:100%;height:100%;font-size:12px;overflow:auto;overflow-x:hidden}.cke_panel_container{overflow-y:auto;overflow-x:hidden}.cke_panel_list{list-style-type:none;margin:3px;padding:0;white-space:nowrap}.cke_panel_listItem{margin:0;padding-bottom:1px}.cke_panel_listItem a{padding:3px 4px;display:block;border:1px solid #fff;color:inherit!important;text-decoration:none;overflow:hidden;text-overflow:ellipsis;border-radius:2px}.cke_panel_listItem a:hover,.cke_panel_listItem a:focus,.cke_panel_listItem a:active{background-color:#e1edf7}* html .cke_panel_listItem a{width:100%;color:#000}*:first-child+html .cke_panel_listItem a{color:#000}.cke_panel_listItem.cke_selected a{background-color:#92bce0;outline:0}.cke_hc .cke_panel_listItem a{border-style:none}.cke_hc .cke_panel_listItem a:hover,.cke_hc .cke_panel_listItem a:focus,.cke_hc .cke_panel_listItem a:active{border:2px solid;padding:1px 2px}.cke_panel_grouptitle{font-size:11px;font-weight:bold;white-space:nowrap;margin:0;padding:6px 6px;color:#474747;border-bottom:1px solid #aaa;background:#eee}.cke_panel_grouptitle:first-child{border-radius:4px 4px 0 0}.cke_panel_listItem p,.cke_panel_listItem h1,.cke_panel_listItem h2,.cke_panel_listItem h3,.cke_panel_listItem h4,.cke_panel_listItem h5,.cke_panel_listItem h6,.cke_panel_listItem pre{margin-top:0;margin-bottom:0}.cke_colorblock{padding:3px;font-size:11px;font-family:'Microsoft Sans Serif',Tahoma,Arial,Verdana,Sans-Serif}.cke_colorblock,.cke_colorblock a{text-decoration:none;color:#000}span.cke_colorbox{width:10px;height:10px;border:1px solid #aaa;float:left}.cke_rtl span.cke_colorbox{float:right}a.cke_colorbox{border:1px solid #fff;padding:2px;float:left;width:12px;height:12px;border-radius:2px}.cke_rtl a.cke_colorbox{float:right}a:hover.cke_colorbox,a:focus.cke_colorbox,a:active.cke_colorbox{border:1px solid #ddd;background-color:#eee}a.cke_colorauto,a.cke_colormore{border:1px solid #fff;padding:2px;display:block;cursor:pointer}a:hover.cke_colorauto,a:hover.cke_colormore,a:focus.cke_colorauto,a:focus.cke_colormore,a:active.cke_colorauto,a:active.cke_colormore{border:1px solid #ddd;background-color:#eee}.cke_toolbar{float:left}.cke_rtl .cke_toolbar{float:right}.cke_toolgroup{float:left;margin:0 6px 3px 0;padding:2px;border:1px solid #ddd;border-radius:4px;background:#fff}.cke_hc .cke_toolgroup{border:0;margin-right:10px;margin-bottom:10px}.cke_rtl .cke_toolgroup *:first-child{border-radius:0 4px 4px 0}.cke_rtl .cke_toolgroup *:last-child{border-radius:4px 0 0 4px}.cke_rtl .cke_toolgroup{float:right;margin-left:6px;margin-right:0}a.cke_button{display:inline-block;height:18px;padding:2px 4px;outline:0;cursor:default;float:left;border:0;border-radius:2px}.cke_rtl .cke_button{float:right}.cke_hc .cke_button{border:1px solid black;padding:3px 5px;margin:-2px 4px 0 -2px}.cke_button_on{background:#92bce0}.cke_hc .cke_button_on{border-width:3px;padding:1px 3px}.cke_hc a.cke_button_off:hover,.cke_hc a.cke_button_off:focus,.cke_hc a.cke_button_off:active,.cke_hc a.cke_button_disabled:hover,.cke_hc a.cke_button_disabled:focus,.cke_hc a.cke_button_disabled:active{border-width:3px;padding:1px 3px}.cke_button_disabled .cke_button_icon{opacity:.3}.cke_hc .cke_button_disabled{opacity:.5}a.cke_button_off:hover,a.cke_button_off:focus,a.cke_button_off:active,a.cke_button_disabled:hover,a.cke_button_disabled:focus,a.cke_button_disabled:active{background:#e1edf7}.cke_button_icon{cursor:inherit;background-repeat:no-repeat;margin-top:1px;width:16px;height:16px;float:left;display:inline-block}.cke_rtl .cke_button_icon{float:right}.cke_hc .cke_button_icon{display:none}.cke_button_label{display:none;padding-left:3px;margin-top:1px;line-height:18px;vertical-align:middle;float:left;cursor:default;color:#555}.cke_rtl .cke_button_label{padding-right:3px;padding-left:0;float:right}.cke_hc .cke_button_label{padding:0;display:inline-block;font-size:12px}.cke_button_arrow{display:inline-block;margin:8px 0 0 1px;width:0;height:0;cursor:default;vertical-align:top;border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #474747}.cke_rtl .cke_button_arrow{margin-right:5px;margin-left:0}.cke_hc .cke_button_arrow{font-size:10px;margin:3px -2px 0 3px;width:auto;border:0}.cke_toolbar_separator{float:left;background-color:#ddd;margin:4px 2px 0;height:16px;width:1px}.cke_rtl .cke_toolbar_separator{float:right}.cke_hc .cke_toolbar_separator{width:0;border-left:1px solid;margin:1px 5px 0 0}.cke_toolbar_break{display:block;clear:left}.cke_rtl .cke_toolbar_break{clear:right}.cke_toolbox_collapser{width:12px;height:11px;float:right;margin:11px 0 0;font-size:0;cursor:default;text-align:center;border:1px solid #a6a6a6;border-bottom-color:#979797;border-radius:4px;background:#e4e4e4}.cke_toolbox_collapser:hover{background:#ccc}.cke_toolbox_collapser.cke_toolbox_collapser_min{margin:0 2px 4px}.cke_toolbox_collapser.cke_toolbox_collapser_min .cke_arrow{margin-top:4px;border-bottom-color:transparent;border-top-color:#474747}.cke_toolbox_collapser .cke_arrow{display:inline-block;height:0;width:0;font-size:0;margin-top:1px;border-left:3px solid transparent;border-right:3px solid transparent;border-bottom:3px solid #474747;border-top:3px solid transparent}.cke_rtl .cke_toolbox_collapser{float:left}.cke_hc .cke_toolbox_collapser .cke_arrow{font-size:8px;width:auto;border:0;margin-top:0;margin-right:2px}.cke_menubutton{display:block}.cke_button_icon{opacity:.8}.cke_menuitem span{cursor:default}.cke_menubutton:hover,.cke_menubutton:focus,.cke_menubutton:active{background-color:#d3d3d3;display:block}.cke_hc .cke_menubutton{padding:2px}.cke_hc .cke_menubutton:hover,.cke_hc .cke_menubutton:focus,.cke_hc .cke_menubutton:active{border:2px solid;padding:0}.cke_menubutton_inner{display:table-row}.cke_menubutton_icon,.cke_menubutton_label,.cke_menuarrow{display:table-cell}.cke_menubutton_icon{background-color:#d7d8d7;opacity:.70;filter:alpha(opacity=70);padding:4px}.cke_hc .cke_menubutton_icon{height:16px;width:0;padding:4px 0}.cke_menubutton:hover .cke_menubutton_icon,.cke_menubutton:focus .cke_menubutton_icon,.cke_menubutton:active .cke_menubutton_icon{background-color:#d0d2d0}.cke_menubutton_disabled:hover .cke_menubutton_icon,.cke_menubutton_disabled:focus .cke_menubutton_icon,.cke_menubutton_disabled:active .cke_menubutton_icon{opacity:.3;filter:alpha(opacity=30)}.cke_menubutton_label{padding:0 5px;background-color:transparent;width:100%;vertical-align:middle}.cke_menubutton_disabled .cke_menubutton_label{opacity:.3;filter:alpha(opacity=30)}.cke_menubutton_on{border:1px solid #dedede;background-color:#f2f2f2}.cke_menubutton_on .cke_menubutton_icon{padding-right:3px}.cke_menubutton:hover,.cke_menubutton:focus,.cke_menubutton:active{background-color:#eff0ef}.cke_panel_frame .cke_menubutton_label{display:none}.cke_menuseparator{background-color:#d3d3d3;height:1px;filter:alpha(opacity=70);opacity:.70}.cke_menuarrow{background-image:url(images/arrow.png);background-position:0 10px;background-repeat:no-repeat;padding:0 5px}.cke_menuarrow span{display:none}.cke_rtl .cke_menuarrow{background-position:5px -13px;background-repeat:no-repeat}.cke_hc .cke_menuarrow span{vertical-align:middle;display:inline}.cke_combo{display:inline-block;float:left}.cke_rtl .cke_combo{float:right}.cke_hc .cke_combo{margin-top:-2px}.cke_combo_label{display:none;float:left;line-height:26px;vertical-align:top;margin-right:5px}.cke_rtl .cke_combo_label{float:right;margin-left:5px;margin-right:0}.cke_combo_button{display:inline-block;float:left;margin:0 6px 5px 0;border:1px solid #ddd;border-radius:4px;background:#fff}.cke_combo_off a.cke_combo_button:hover,.cke_combo_off a.cke_combo_button:focus{outline:0}.cke_combo_off a.cke_combo_button:active{border-color:#333}.cke_combo_on a.cke_combo_button{border-color:#333}.cke_rtl .cke_combo_button{float:right;margin-left:5px;margin-right:0}.cke_hc a.cke_combo_button{padding:3px}.cke_hc .cke_combo_on a.cke_combo_button{border-width:3px;padding:1px}.cke_hc .cke_combo_off a.cke_combo_button:hover,.cke_hc .cke_combo_off a.cke_combo_button:focus,.cke_hc .cke_combo_off a.cke_combo_button:active{border-width:3px;padding:1px}.cke_combo_text{line-height:26px;padding-left:10px;text-overflow:ellipsis;overflow:hidden;float:left;cursor:default;color:#474747;width:60px}.cke_rtl .cke_combo_text{float:right;text-align:right;padding-left:0;padding-right:10px}.cke_hc .cke_combo_text{line-height:18px;font-size:12px}.cke_combo_open{cursor:default;display:inline-block;font-size:0;height:19px;line-height:17px;margin:1px 7px 1px;width:5px}.cke_hc .cke_combo_open{height:12px}.cke_combo_arrow{margin:11px 0 0;float:left;height:0;width:0;font-size:0;border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #333}.cke_hc .cke_combo_arrow{font-size:10px;width:auto;border:0;margin-top:3px}.cke_combo_disabled .cke_combo_inlinelabel,.cke_combo_disabled .cke_combo_open{opacity:.3}.cke_path{float:left;margin:-2px 0 2px}.cke_path_item,.cke_path_empty{display:inline-block;float:left;padding:3px 4px;margin-right:2px;cursor:default;text-decoration:none;outline:0;border:0;color:#4c4c4c;font-weight:bold;font-size:11px}.cke_rtl .cke_path,.cke_rtl .cke_path_item,.cke_rtl .cke_path_empty{float:right}a.cke_path_item:hover,a.cke_path_item:focus,a.cke_path_item:active{background-color:#bfbfbf;color:#333;border-radius:2px}.cke_hc a.cke_path_item:hover,.cke_hc a.cke_path_item:focus,.cke_hc a.cke_path_item:active{border:2px solid;padding:1px 2px}.cke_button__source_label,.cke_button__sourcedialog_label{display:inline}.cke_combo__fontsize .cke_combo_text{width:30px}.cke_combopanel__fontsize{width:120px}.cke_source{font-family:'Courier New',Monospace;font-size:small;background-color:#fff;white-space:pre}.cke_wysiwyg_frame,.cke_wysiwyg_div{background-color:#fff}.cke_chrome{visibility:inherit}.cke_voice_label{display:none}legend.cke_voice_label{display:none}.cke_toolbox_collapser .cke_arrow{border-width:4px}.cke_toolbox_collapser.cke_toolbox_collapser_min .cke_arrow{border-width:3px}.cke_toolbox_collapser .cke_arrow{margin-top:0} \ No newline at end of file diff --git a/unauthenticated/js/ckeditor/skins/bootstrapck/.temp/css/editor_iequirks.css b/unauthenticated/js/ckeditor/skins/bootstrapck/.temp/css/editor_iequirks.css new file mode 100644 index 000000000..65e3dc72a --- /dev/null +++ b/unauthenticated/js/ckeditor/skins/bootstrapck/.temp/css/editor_iequirks.css @@ -0,0 +1 @@ +.cke_reset{margin:0;padding:0;border:0;background:transparent;text-decoration:none;width:auto;height:auto;vertical-align:baseline;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;position:static;-webkit-transition:none;-moz-transition:none;-ms-transition:none;transition:none}.cke_reset_all,.cke_reset_all *{margin:0;padding:0;border:0;background:transparent;text-decoration:none;width:auto;height:auto;vertical-align:baseline;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;position:static;-webkit-transition:none;-moz-transition:none;-ms-transition:none;transition:none;border-collapse:collapse;font:normal normal normal 12px Arial,Helvetica,Tahoma,Verdana,Sans-Serif;color:#333;text-align:left;white-space:nowrap;cursor:auto;float:none}.cke_reset_all .cke_rtl *{text-align:right}.cke_reset_all iframe{vertical-align:inherit}.cke_reset_all textarea{white-space:pre}.cke_reset_all textarea,.cke_reset_all input[type="text"],.cke_reset_all input[type="password"]{cursor:text}.cke_reset_all textarea[disabled],.cke_reset_all input[type="text"][disabled],.cke_reset_all input[type="password"][disabled]{cursor:default}.cke_reset_all fieldset{padding:10px;margin-top:10px;border:1px solid #ddd}.cke_reset_all fieldset legend{padding:0 5px}.cke_reset_all select{box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}.cke_chrome{display:block;border:1px solid #ddd;border-radius:4px;padding:0 3px;background:#eee}.cke_inner{display:block;-webkit-touch-callout:none;background:transparent;padding:0}.cke_float{border:0}.cke_float .cke_inner{padding-bottom:0}.cke_float .cke_top{border:1px solid #ddd}.cke_top,.cke_contents,.cke_bottom{display:block;overflow:hidden}.cke_top,.cke_bottom{padding:3px 0 0;background:#eee}.cke_top{white-space:normal}.cke_contents{background-color:#fff;border:1px solid #ddd;border-radius:4px}.cke_bottom{position:relative}.cke_browser_ios .cke_contents{overflow-y:auto;-webkit-overflow-scrolling:touch}.cke_resizer{width:0;height:0;overflow:hidden;width:0;height:0;overflow:hidden;border-width:10px 10px 0 0;border-color:transparent #555 transparent transparent;border-style:dashed solid dashed dashed;font-size:0;vertical-align:bottom;margin-top:6px;margin-bottom:2px}.cke_hc .cke_resizer{font-size:15px;width:auto;height:auto;border-width:0}.cke_resizer_ltr{cursor:se-resize;float:right;margin-right:-4px}.cke_resizer_rtl{border-width:10px 0 0 10px;border-color:transparent transparent transparent #aaa;border-style:dashed dashed dashed solid;cursor:sw-resize;float:left;margin-left:-4px;right:auto}.cke_wysiwyg_div{display:block;height:100%;overflow:auto;padding:0 8px;outline-style:none;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.cke_panel{visibility:visible;width:120px;height:100px;overflow:hidden;margin-top:5px;background-color:#fff;border:1px solid #aaa;border-radius:4px}.cke_menu_panel{padding:0;margin:0}.cke_combopanel{width:150px;height:178px}.cke_panel_frame{width:100%;height:100%;font-size:12px;overflow:auto;overflow-x:hidden}.cke_panel_container{overflow-y:auto;overflow-x:hidden}.cke_panel_list{list-style-type:none;margin:3px;padding:0;white-space:nowrap}.cke_panel_listItem{margin:0;padding-bottom:1px}.cke_panel_listItem a{padding:3px 4px;display:block;border:1px solid #fff;color:inherit!important;text-decoration:none;overflow:hidden;text-overflow:ellipsis;border-radius:2px}.cke_panel_listItem a:hover,.cke_panel_listItem a:focus,.cke_panel_listItem a:active{background-color:#e1edf7}* html .cke_panel_listItem a{width:100%;color:#000}*:first-child+html .cke_panel_listItem a{color:#000}.cke_panel_listItem.cke_selected a{background-color:#92bce0;outline:0}.cke_hc .cke_panel_listItem a{border-style:none}.cke_hc .cke_panel_listItem a:hover,.cke_hc .cke_panel_listItem a:focus,.cke_hc .cke_panel_listItem a:active{border:2px solid;padding:1px 2px}.cke_panel_grouptitle{font-size:11px;font-weight:bold;white-space:nowrap;margin:0;padding:6px 6px;color:#474747;border-bottom:1px solid #aaa;background:#eee}.cke_panel_grouptitle:first-child{border-radius:4px 4px 0 0}.cke_panel_listItem p,.cke_panel_listItem h1,.cke_panel_listItem h2,.cke_panel_listItem h3,.cke_panel_listItem h4,.cke_panel_listItem h5,.cke_panel_listItem h6,.cke_panel_listItem pre{margin-top:0;margin-bottom:0}.cke_colorblock{padding:3px;font-size:11px;font-family:'Microsoft Sans Serif',Tahoma,Arial,Verdana,Sans-Serif}.cke_colorblock,.cke_colorblock a{text-decoration:none;color:#000}span.cke_colorbox{width:10px;height:10px;border:1px solid #aaa;float:left}.cke_rtl span.cke_colorbox{float:right}a.cke_colorbox{border:1px solid #fff;padding:2px;float:left;width:12px;height:12px;border-radius:2px}.cke_rtl a.cke_colorbox{float:right}a:hover.cke_colorbox,a:focus.cke_colorbox,a:active.cke_colorbox{border:1px solid #ddd;background-color:#eee}a.cke_colorauto,a.cke_colormore{border:1px solid #fff;padding:2px;display:block;cursor:pointer}a:hover.cke_colorauto,a:hover.cke_colormore,a:focus.cke_colorauto,a:focus.cke_colormore,a:active.cke_colorauto,a:active.cke_colormore{border:1px solid #ddd;background-color:#eee}.cke_toolbar{float:left}.cke_rtl .cke_toolbar{float:right}.cke_toolgroup{float:left;margin:0 6px 3px 0;padding:2px;border:1px solid #ddd;border-radius:4px;background:#fff}.cke_hc .cke_toolgroup{border:0;margin-right:10px;margin-bottom:10px}.cke_rtl .cke_toolgroup *:first-child{border-radius:0 4px 4px 0}.cke_rtl .cke_toolgroup *:last-child{border-radius:4px 0 0 4px}.cke_rtl .cke_toolgroup{float:right;margin-left:6px;margin-right:0}a.cke_button{display:inline-block;height:18px;padding:2px 4px;outline:0;cursor:default;float:left;border:0;border-radius:2px}.cke_rtl .cke_button{float:right}.cke_hc .cke_button{border:1px solid black;padding:3px 5px;margin:-2px 4px 0 -2px}.cke_button_on{background:#92bce0}.cke_hc .cke_button_on{border-width:3px;padding:1px 3px}.cke_hc a.cke_button_off:hover,.cke_hc a.cke_button_off:focus,.cke_hc a.cke_button_off:active,.cke_hc a.cke_button_disabled:hover,.cke_hc a.cke_button_disabled:focus,.cke_hc a.cke_button_disabled:active{border-width:3px;padding:1px 3px}.cke_button_disabled .cke_button_icon{opacity:.3}.cke_hc .cke_button_disabled{opacity:.5}a.cke_button_off:hover,a.cke_button_off:focus,a.cke_button_off:active,a.cke_button_disabled:hover,a.cke_button_disabled:focus,a.cke_button_disabled:active{background:#e1edf7}.cke_button_icon{cursor:inherit;background-repeat:no-repeat;margin-top:1px;width:16px;height:16px;float:left;display:inline-block}.cke_rtl .cke_button_icon{float:right}.cke_hc .cke_button_icon{display:none}.cke_button_label{display:none;padding-left:3px;margin-top:1px;line-height:18px;vertical-align:middle;float:left;cursor:default;color:#555}.cke_rtl .cke_button_label{padding-right:3px;padding-left:0;float:right}.cke_hc .cke_button_label{padding:0;display:inline-block;font-size:12px}.cke_button_arrow{display:inline-block;margin:8px 0 0 1px;width:0;height:0;cursor:default;vertical-align:top;border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #474747}.cke_rtl .cke_button_arrow{margin-right:5px;margin-left:0}.cke_hc .cke_button_arrow{font-size:10px;margin:3px -2px 0 3px;width:auto;border:0}.cke_toolbar_separator{float:left;background-color:#ddd;margin:4px 2px 0;height:16px;width:1px}.cke_rtl .cke_toolbar_separator{float:right}.cke_hc .cke_toolbar_separator{width:0;border-left:1px solid;margin:1px 5px 0 0}.cke_toolbar_break{display:block;clear:left}.cke_rtl .cke_toolbar_break{clear:right}.cke_toolbox_collapser{width:12px;height:11px;float:right;margin:11px 0 0;font-size:0;cursor:default;text-align:center;border:1px solid #a6a6a6;border-bottom-color:#979797;border-radius:4px;background:#e4e4e4}.cke_toolbox_collapser:hover{background:#ccc}.cke_toolbox_collapser.cke_toolbox_collapser_min{margin:0 2px 4px}.cke_toolbox_collapser.cke_toolbox_collapser_min .cke_arrow{margin-top:4px;border-bottom-color:transparent;border-top-color:#474747}.cke_toolbox_collapser .cke_arrow{display:inline-block;height:0;width:0;font-size:0;margin-top:1px;border-left:3px solid transparent;border-right:3px solid transparent;border-bottom:3px solid #474747;border-top:3px solid transparent}.cke_rtl .cke_toolbox_collapser{float:left}.cke_hc .cke_toolbox_collapser .cke_arrow{font-size:8px;width:auto;border:0;margin-top:0;margin-right:2px}.cke_menubutton{display:block}.cke_button_icon{opacity:.8}.cke_menuitem span{cursor:default}.cke_menubutton:hover,.cke_menubutton:focus,.cke_menubutton:active{background-color:#d3d3d3;display:block}.cke_hc .cke_menubutton{padding:2px}.cke_hc .cke_menubutton:hover,.cke_hc .cke_menubutton:focus,.cke_hc .cke_menubutton:active{border:2px solid;padding:0}.cke_menubutton_inner{display:table-row}.cke_menubutton_icon,.cke_menubutton_label,.cke_menuarrow{display:table-cell}.cke_menubutton_icon{background-color:#d7d8d7;opacity:.70;filter:alpha(opacity=70);padding:4px}.cke_hc .cke_menubutton_icon{height:16px;width:0;padding:4px 0}.cke_menubutton:hover .cke_menubutton_icon,.cke_menubutton:focus .cke_menubutton_icon,.cke_menubutton:active .cke_menubutton_icon{background-color:#d0d2d0}.cke_menubutton_disabled:hover .cke_menubutton_icon,.cke_menubutton_disabled:focus .cke_menubutton_icon,.cke_menubutton_disabled:active .cke_menubutton_icon{opacity:.3;filter:alpha(opacity=30)}.cke_menubutton_label{padding:0 5px;background-color:transparent;width:100%;vertical-align:middle}.cke_menubutton_disabled .cke_menubutton_label{opacity:.3;filter:alpha(opacity=30)}.cke_menubutton_on{border:1px solid #dedede;background-color:#f2f2f2}.cke_menubutton_on .cke_menubutton_icon{padding-right:3px}.cke_menubutton:hover,.cke_menubutton:focus,.cke_menubutton:active{background-color:#eff0ef}.cke_panel_frame .cke_menubutton_label{display:none}.cke_menuseparator{background-color:#d3d3d3;height:1px;filter:alpha(opacity=70);opacity:.70}.cke_menuarrow{background-image:url(images/arrow.png);background-position:0 10px;background-repeat:no-repeat;padding:0 5px}.cke_menuarrow span{display:none}.cke_rtl .cke_menuarrow{background-position:5px -13px;background-repeat:no-repeat}.cke_hc .cke_menuarrow span{vertical-align:middle;display:inline}.cke_combo{display:inline-block;float:left}.cke_rtl .cke_combo{float:right}.cke_hc .cke_combo{margin-top:-2px}.cke_combo_label{display:none;float:left;line-height:26px;vertical-align:top;margin-right:5px}.cke_rtl .cke_combo_label{float:right;margin-left:5px;margin-right:0}.cke_combo_button{display:inline-block;float:left;margin:0 6px 5px 0;border:1px solid #ddd;border-radius:4px;background:#fff}.cke_combo_off a.cke_combo_button:hover,.cke_combo_off a.cke_combo_button:focus{outline:0}.cke_combo_off a.cke_combo_button:active{border-color:#333}.cke_combo_on a.cke_combo_button{border-color:#333}.cke_rtl .cke_combo_button{float:right;margin-left:5px;margin-right:0}.cke_hc a.cke_combo_button{padding:3px}.cke_hc .cke_combo_on a.cke_combo_button{border-width:3px;padding:1px}.cke_hc .cke_combo_off a.cke_combo_button:hover,.cke_hc .cke_combo_off a.cke_combo_button:focus,.cke_hc .cke_combo_off a.cke_combo_button:active{border-width:3px;padding:1px}.cke_combo_text{line-height:26px;padding-left:10px;text-overflow:ellipsis;overflow:hidden;float:left;cursor:default;color:#474747;width:60px}.cke_rtl .cke_combo_text{float:right;text-align:right;padding-left:0;padding-right:10px}.cke_hc .cke_combo_text{line-height:18px;font-size:12px}.cke_combo_open{cursor:default;display:inline-block;font-size:0;height:19px;line-height:17px;margin:1px 7px 1px;width:5px}.cke_hc .cke_combo_open{height:12px}.cke_combo_arrow{margin:11px 0 0;float:left;height:0;width:0;font-size:0;border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #333}.cke_hc .cke_combo_arrow{font-size:10px;width:auto;border:0;margin-top:3px}.cke_combo_disabled .cke_combo_inlinelabel,.cke_combo_disabled .cke_combo_open{opacity:.3}.cke_path{float:left;margin:-2px 0 2px}.cke_path_item,.cke_path_empty{display:inline-block;float:left;padding:3px 4px;margin-right:2px;cursor:default;text-decoration:none;outline:0;border:0;color:#4c4c4c;font-weight:bold;font-size:11px}.cke_rtl .cke_path,.cke_rtl .cke_path_item,.cke_rtl .cke_path_empty{float:right}a.cke_path_item:hover,a.cke_path_item:focus,a.cke_path_item:active{background-color:#bfbfbf;color:#333;border-radius:2px}.cke_hc a.cke_path_item:hover,.cke_hc a.cke_path_item:focus,.cke_hc a.cke_path_item:active{border:2px solid;padding:1px 2px}.cke_button__source_label,.cke_button__sourcedialog_label{display:inline}.cke_combo__fontsize .cke_combo_text{width:30px}.cke_combopanel__fontsize{width:120px}.cke_source{font-family:'Courier New',Monospace;font-size:small;background-color:#fff;white-space:pre}.cke_wysiwyg_frame,.cke_wysiwyg_div{background-color:#fff}.cke_chrome{visibility:inherit}.cke_voice_label{display:none}legend.cke_voice_label{display:none}.cke_top,.cke_contents,.cke_bottom{width:100%}.cke_button_arrow{font-size:0}.cke_rtl .cke_toolgroup,.cke_rtl .cke_toolbar_separator,.cke_rtl .cke_button,.cke_rtl .cke_button *,.cke_rtl .cke_combo,.cke_rtl .cke_combo *,.cke_rtl .cke_path_item,.cke_rtl .cke_path_item *,.cke_rtl .cke_path_empty{float:none}.cke_rtl .cke_toolgroup,.cke_rtl .cke_toolbar_separator,.cke_rtl .cke_combo_button,.cke_rtl .cke_combo_button *,.cke_rtl .cke_button,.cke_rtl .cke_button_icon{display:inline-block;vertical-align:top}.cke_rtl .cke_button_icon{float:none}.cke_resizer{width:10px}.cke_source{white-space:normal}.cke_bottom{position:static}.cke_colorbox{font-size:0} \ No newline at end of file diff --git a/unauthenticated/js/ckeditor/skins/bootstrapck/dialog.css b/unauthenticated/js/ckeditor/skins/bootstrapck/dialog.css new file mode 100644 index 000000000..1ca45fde6 --- /dev/null +++ b/unauthenticated/js/ckeditor/skins/bootstrapck/dialog.css @@ -0,0 +1 @@ +input.cke_dialog_ui_input_password,input.cke_dialog_ui_input_text,textarea.cke_dialog_ui_input_textarea{background-color:#fff;outline:0;width:100%;*width:95%;height:30px;padding:4px 10px;border:1px solid #ddd;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}input.cke_dialog_ui_input_password:focus,input.cke_dialog_ui_input_text:focus,textarea.cke_dialog_ui_input_textarea:focus{border-color:#66afe9;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.cke_dialog{visibility:visible}.cke_dialog_body{z-index:1;background:#eee;border:1px solid #ddd;border-radius:4px}.cke_browser_gecko19 .cke_dialog_body{position:relative}.cke_dialog strong{font-weight:700}.cke_dialog_title{font-weight:700;font-size:13px;cursor:move;position:relative;color:#333;border-bottom:1px solid #ddd;padding:10px 12px;background:#eee}.cke_dialog_contents{background-color:#fff;overflow:auto;padding:15px 10px 5px;margin-top:35px;border-top:1px solid #ddd;border-radius:0 0 4px 4px}.cke_dialog_contents_body{overflow:auto;padding:17px 10px 5px;margin-top:22px}.cke_dialog_footer{text-align:right;position:relative;border-radius:0 0 4px 4px;border-top:1px solid #ddd;background:#eee}.cke_rtl .cke_dialog_footer{text-align:left}.cke_hc .cke_dialog_footer{outline:0;border-top:1px solid #fff}.cke_dialog .cke_resizer{margin-top:28px}.cke_dialog .cke_resizer_rtl{margin-left:5px}.cke_dialog .cke_resizer_ltr{margin-right:5px}.cke_dialog_tabs{height:24px;display:inline-block;margin:10px 0 0;position:absolute;z-index:2;left:10px}.cke_rtl .cke_dialog_tabs{right:10px}a.cke_dialog_tab{height:16px;padding:4px 8px;margin-right:3px;display:inline-block;cursor:pointer;line-height:16px;outline:0;color:#555;border:1px solid #ddd;border-radius:3px 3px 0 0;background:#f3f3f3}.cke_rtl a.cke_dialog_tab{margin-right:0;margin-left:3px}a.cke_dialog_tab:hover{background:#ddd;text-decoration:none}a.cke_dialog_tab_selected{background:#fff;color:#333;border-bottom-color:#fff;cursor:default;filter:none}a.cke_dialog_tab_selected:hover{background:#fff}.cke_hc a.cke_dialog_tab:hover,.cke_hc a.cke_dialog_tab_selected{border:3px solid;padding:2px 6px}a.cke_dialog_tab_disabled{color:#bababa;cursor:default}.cke_dialog_tabs .cke_dialog_ui_input_select{top:-7px!important}.cke_single_page .cke_dialog_tabs{display:none}.cke_single_page .cke_dialog_contents{padding-top:5px;margin-top:0;border-top:0}.cke_dialog_close_button{background-image:url(images/close.png);background-repeat:no-repeat;background-position:0 0;position:absolute;cursor:pointer;text-align:center;height:20px;width:20px;top:9px;z-index:5}.cke_hidpi .cke_dialog_close_button{background-image:url(images/hidpi/close.png);background-size:16px}.cke_dialog_close_button span{display:none}.cke_hc .cke_dialog_close_button span{display:inline;cursor:pointer;font-weight:700;position:relative;top:3px}.cke_ltr .cke_dialog_close_button{right:5px}.cke_rtl .cke_dialog_close_button{left:6px}div.cke_disabled .cke_dialog_ui_labeled_content div *{background-color:#ddd;cursor:default}.cke_dialog_ui_hbox table,.cke_dialog_ui_vbox table{margin:auto}.cke_dialog_ui_vbox{margin-top:5px}.cke_dialog_ui_vbox_child{padding:5px 0}.cke_dialog_ui_hbox{width:100%}.cke_dialog_ui_hbox_child,.cke_dialog_ui_hbox_first,.cke_dialog_ui_hbox_last{vertical-align:top}.cke_dialog_ui_hbox_first>.cke_dialog_ui_html,.cke_dialog_ui_hbox_first>.cke_dialog_ui_labeled_label,.cke_dialog_ui_hbox_last>.cke_dialog_ui_html,.cke_dialog_ui_hbox_last>.cke_dialog_ui_labeled_label{line-height:30px}.cke_ltr .cke_dialog_ui_hbox_child,.cke_ltr .cke_dialog_ui_hbox_first{padding-right:10px}.cke_rtl .cke_dialog_ui_hbox_child,.cke_rtl .cke_dialog_ui_hbox_first{padding-left:10px}.cke_ltr .cke_dialog_footer_buttons .cke_dialog_ui_hbox_child,.cke_ltr .cke_dialog_footer_buttons .cke_dialog_ui_hbox_first{padding-right:5px}.cke_rtl .cke_dialog_footer_buttons .cke_dialog_ui_hbox_child,.cke_rtl .cke_dialog_footer_buttons .cke_dialog_ui_hbox_first{padding-left:5px;padding-right:0}.cke_hc div.cke_dialog_ui_input_file,.cke_hc div.cke_dialog_ui_input_password,.cke_hc div.cke_dialog_ui_input_select,.cke_hc div.cke_dialog_ui_input_text,.cke_hc div.cke_dialog_ui_input_textarea{border:1px solid}.cke_dialog_ui_text{margin-bottom:7px}.cke_dialog_ui_select{height:auto!important;margin-bottom:7px}textarea.cke_dialog_ui_input_textarea{overflow:auto;resize:none}a.cke_dialog_ui_button{display:inline-block;*display:inline;*zoom:1;padding:3px 0;margin:0;text-align:center;color:#333;vertical-align:middle;cursor:pointer;border:1px solid #ddd;border-radius:4px;background:#fff}a.cke_dialog_ui_button:active,a.cke_dialog_ui_button:focus,a.cke_dialog_ui_button:hover{border-color:#aaa;background-color:#eee;text-decoration:none}.cke_dialog_page_contents a.cke_dialog_ui_button{height:22px;line-height:22px;background-color:#f4f4f4}.cke_dialog_page_contents a.cke_dialog_ui_button:active,.cke_dialog_page_contents a.cke_dialog_ui_button:focus,.cke_dialog_page_contents a.cke_dialog_ui_button:hover{background-color:#eee}span.cke_dialog_ui_button{padding:0 12px}.cke_hc a.cke_dialog_ui_button:active,.cke_hc a.cke_dialog_ui_button:focus,.cke_hc a.cke_dialog_ui_button:hover{border:3px solid;padding-top:1px;padding-bottom:1px}.cke_hc a.cke_dialog_ui_button:active span,.cke_hc a.cke_dialog_ui_button:focus span,.cke_hc a.cke_dialog_ui_button:hover span{padding-left:10px;padding-right:10px}.cke_dialog_footer_buttons a.cke_dialog_ui_button span{color:inherit;font-size:12px;line-height:20px}a.cke_dialog_ui_button_ok{color:#fff;border-color:#2274c9;background:#3f8edf}a.cke_dialog_ui_button_ok:active,a.cke_dialog_ui_button_ok:focus,a.cke_dialog_ui_button_ok:hover{border-color:#1e68b4;background:#2981db}a.cke_dialog_ui_button_cancel{background-color:#fff}a.cke_dialog_ui_button_cancel:focus{outline:0}span.cke_dialog_ui_button{cursor:pointer}.cke_dialog_footer_buttons{display:inline-table;margin:10px;width:auto;position:relative;vertical-align:middle}div.cke_dialog_ui_input_select{display:table}select.cke_dialog_ui_input_select{height:30px;line-height:30px;background-color:#fff;padding:4px 10px;border:1px solid #ddd;outline:0;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.cke_dialog_ui_input_file{width:100%;height:30px}.cke_hc .cke_dialog_ui_labeled_content input:focus,.cke_hc .cke_dialog_ui_labeled_content select:focus,.cke_hc .cke_dialog_ui_labeled_content textarea:focus{outline:1px dotted}.cke_dialog .cke_dark_background,.cke_dialog .cke_light_background{background-color:#eee}.cke_dialog .cke_centered{text-align:center}.cke_dialog a.cke_btn_reset{float:right;background:url(images/refresh.png) top left no-repeat;width:16px;height:16px;border:1px none;font-size:1px}.cke_dialog a.cke_btn_locked,.cke_dialog a.cke_btn_unlocked{float:left;width:16px;height:16px;background-repeat:no-repeat;border:none 1px;font-size:1px}.cke_dialog a.cke_btn_locked{background-image:url(images/lock.png)}.cke_dialog a.cke_btn_locked .cke_icon{display:none}.cke_dialog a.cke_btn_unlocked{background-image:url(images/lock-open.png)}.cke_dialog .cke_btn_over{border:outset 1px;cursor:pointer}.cke_hidpi .cke_dialog a.cke_btn_reset{background-size:16px;background-image:url(images/hidpi/refresh.png)}.cke_hidpi .cke_dialog a.cke_btn_locked,.cke_hidpi .cke_dialog a.cke_btn_unlocked{background-size:16px}.cke_hidpi .cke_dialog a.cke_btn_locked{background-image:url(images/hidpi/lock.png)}.cke_hidpi .cke_dialog a.cke_btn_unlocked{background-image:url(images/hidpi/lock-open.png)}.cke_rtl .cke_dialog a.cke_btn_reset{float:left}.cke_rtl .cke_dialog a.cke_btn_locked,.cke_rtl .cke_dialog a.cke_btn_unlocked{float:right}.cke_dialog .FlashPreviewBox,.cke_dialog .ImagePreviewBox{border:1px solid #aaa;border-radius:4px;padding:6px 10px;margin-top:5px;background-color:#fff}.cke_dialog .ImagePreviewBox{overflow:scroll;height:205px;width:300px}.cke_dialog .ImagePreviewBox table td{white-space:normal}.cke_dialog .FlashPreviewBox{white-space:normal;overflow:auto;height:160px;width:390px}.cke_dialog .ImagePreviewLoader{position:absolute;white-space:normal;overflow:hidden;height:160px;width:230px;margin:2px;padding:2px;opacity:.9;filter:alpha(opacity=90);background-color:#e4e4e4}.cke_dialog .cke_pastetext{width:346px;height:170px}.cke_dialog .cke_pastetext textarea{width:340px;height:170px;resize:none}.cke_dialog iframe.cke_pasteframe{width:346px;height:130px;background-color:#fff;border:1px solid #aeb3b9;border-radius:4px}.cke_dialog .cke_hand{cursor:pointer}.cke_disabled{color:#a0a0a0}.cke_dialog_body .cke_label{display:none}.cke_dialog_body label{display:inline-block;margin-bottom:3px;cursor:default}.cke_dialog_body label.cke_required{font-weight:700}.cke_dialog_ui_html{line-height:150%}a.cke_smile{overflow:hidden;display:block;text-align:center;padding:.3em 0}a.cke_smile img{vertical-align:middle}a.cke_specialchar{cursor:inherit;display:block;height:1.25em;padding:.2em .3em;text-align:center}a.cke_smile,a.cke_specialchar{background-color:#eee;border:1px solid transparent;vertical-align:top}a.cke_smile:active,a.cke_smile:focus,a.cke_smile:hover,a.cke_specialchar:active,a.cke_specialchar:focus,a.cke_specialchar:hover{background:#fff;outline:0}a.cke_smile:hover,a.cke_specialchar:hover{border-color:#aaa}a.cke_smile:active,a.cke_smile:focus,a.cke_specialchar:active,a.cke_specialchar:focus{border-color:#428bca}.cke_dialog_contents a.colorChooser{display:block;margin-top:6px;margin-left:10px;width:80px}.cke_rtl .cke_dialog_contents a.colorChooser{margin-right:10px}.cke_dialog_ui_checkbox{display:inline-block;margin-bottom:5px}.cke_btn_over,.cke_dialog_ui_checkbox_input:focus,.cke_dialog_ui_radio_input:focus{outline:1px dotted #696969}.cke_iframe_shim{display:block;position:absolute;top:0;left:0;z-index:-1;filter:alpha(opacity=0);width:100%;height:100%} \ No newline at end of file diff --git a/unauthenticated/js/ckeditor/skins/bootstrapck/dialog_ie.css b/unauthenticated/js/ckeditor/skins/bootstrapck/dialog_ie.css new file mode 100644 index 000000000..49c228b02 --- /dev/null +++ b/unauthenticated/js/ckeditor/skins/bootstrapck/dialog_ie.css @@ -0,0 +1 @@ +input.cke_dialog_ui_input_password,input.cke_dialog_ui_input_text,textarea.cke_dialog_ui_input_textarea{background-color:#fff;outline:0;width:100%;*width:95%;height:30px;padding:4px 10px;border:1px solid #ddd;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}input.cke_dialog_ui_input_password:focus,input.cke_dialog_ui_input_text:focus,textarea.cke_dialog_ui_input_textarea:focus{border-color:#66afe9;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.cke_dialog{visibility:visible}.cke_dialog_body{z-index:1;background:#eee;border:1px solid #ddd;border-radius:4px}.cke_browser_gecko19 .cke_dialog_body{position:relative}.cke_dialog strong{font-weight:700}.cke_dialog_title{font-weight:700;font-size:13px;cursor:move;position:relative;color:#333;border-bottom:1px solid #ddd;padding:10px 12px;background:#eee}.cke_dialog_contents{background-color:#fff;overflow:auto;padding:15px 10px 5px;margin-top:35px;border-top:1px solid #ddd;border-radius:0 0 4px 4px}.cke_dialog_contents_body{overflow:auto;padding:17px 10px 5px;margin-top:22px}.cke_dialog_footer{text-align:right;position:relative;border-radius:0 0 4px 4px;border-top:1px solid #ddd;background:#eee}.cke_rtl .cke_dialog_footer{text-align:left}.cke_hc .cke_dialog_footer{outline:0;border-top:1px solid #fff}.cke_dialog .cke_resizer{margin-top:28px}.cke_dialog .cke_resizer_rtl{margin-left:5px}.cke_dialog .cke_resizer_ltr{margin-right:5px}.cke_dialog_tabs{height:24px;display:inline-block;margin:10px 0 0;position:absolute;z-index:2;left:10px}.cke_rtl .cke_dialog_tabs{right:10px}a.cke_dialog_tab{height:16px;padding:4px 8px;margin-right:3px;display:inline-block;cursor:pointer;line-height:16px;outline:0;color:#555;border:1px solid #ddd;border-radius:3px 3px 0 0;background:#f3f3f3}.cke_rtl a.cke_dialog_tab{margin-right:0;margin-left:3px}a.cke_dialog_tab:hover{background:#ddd;text-decoration:none}a.cke_dialog_tab_selected{background:#fff;color:#333;border-bottom-color:#fff;cursor:default;filter:none}a.cke_dialog_tab_selected:hover{background:#fff}.cke_hc a.cke_dialog_tab:hover,.cke_hc a.cke_dialog_tab_selected{border:3px solid;padding:2px 6px}a.cke_dialog_tab_disabled{color:#bababa;cursor:default}.cke_dialog_tabs .cke_dialog_ui_input_select{top:-7px!important}.cke_single_page .cke_dialog_tabs{display:none}.cke_single_page .cke_dialog_contents{padding-top:5px;margin-top:0;border-top:0}.cke_dialog_close_button{background-image:url(images/close.png);background-repeat:no-repeat;background-position:0 0;position:absolute;cursor:pointer;text-align:center;height:20px;width:20px;top:9px;z-index:5}.cke_hidpi .cke_dialog_close_button{background-image:url(images/hidpi/close.png);background-size:16px}.cke_dialog_close_button span{display:none}.cke_hc .cke_dialog_close_button span{display:inline;cursor:pointer;font-weight:700;position:relative;top:3px}.cke_ltr .cke_dialog_close_button{right:5px}.cke_rtl .cke_dialog_close_button{left:6px}div.cke_disabled .cke_dialog_ui_labeled_content div *{background-color:#ddd;cursor:default}.cke_dialog_ui_hbox table,.cke_dialog_ui_vbox table{margin:auto}.cke_dialog_ui_vbox{margin-top:5px}.cke_dialog_ui_vbox_child{padding:5px 0}.cke_dialog_ui_hbox{width:100%}.cke_dialog_ui_hbox_child,.cke_dialog_ui_hbox_first,.cke_dialog_ui_hbox_last{vertical-align:top}.cke_dialog_ui_hbox_first>.cke_dialog_ui_html,.cke_dialog_ui_hbox_first>.cke_dialog_ui_labeled_label,.cke_dialog_ui_hbox_last>.cke_dialog_ui_html,.cke_dialog_ui_hbox_last>.cke_dialog_ui_labeled_label{line-height:30px}.cke_ltr .cke_dialog_ui_hbox_child,.cke_ltr .cke_dialog_ui_hbox_first{padding-right:10px}.cke_rtl .cke_dialog_ui_hbox_child,.cke_rtl .cke_dialog_ui_hbox_first{padding-left:10px}.cke_ltr .cke_dialog_footer_buttons .cke_dialog_ui_hbox_child,.cke_ltr .cke_dialog_footer_buttons .cke_dialog_ui_hbox_first{padding-right:5px}.cke_rtl .cke_dialog_footer_buttons .cke_dialog_ui_hbox_child,.cke_rtl .cke_dialog_footer_buttons .cke_dialog_ui_hbox_first{padding-left:5px;padding-right:0}.cke_dialog_ui_text{margin-bottom:7px}.cke_dialog_ui_select{height:auto!important;margin-bottom:7px}textarea.cke_dialog_ui_input_textarea{overflow:auto;resize:none}a.cke_dialog_ui_button{display:inline-block;*display:inline;*zoom:1;padding:3px 0;margin:0;text-align:center;color:#333;vertical-align:middle;cursor:pointer;border:1px solid #ddd;border-radius:4px;background:#fff}a.cke_dialog_ui_button:active,a.cke_dialog_ui_button:focus,a.cke_dialog_ui_button:hover{border-color:#aaa;background-color:#eee;text-decoration:none}.cke_dialog_page_contents a.cke_dialog_ui_button{height:22px;line-height:22px;background-color:#f4f4f4}.cke_dialog_page_contents a.cke_dialog_ui_button:active,.cke_dialog_page_contents a.cke_dialog_ui_button:focus,.cke_dialog_page_contents a.cke_dialog_ui_button:hover{background-color:#eee}span.cke_dialog_ui_button{padding:0 12px}.cke_hc a.cke_dialog_ui_button:active,.cke_hc a.cke_dialog_ui_button:focus,.cke_hc a.cke_dialog_ui_button:hover{border:3px solid;padding-top:1px;padding-bottom:1px}.cke_hc a.cke_dialog_ui_button:active span,.cke_hc a.cke_dialog_ui_button:focus span,.cke_hc a.cke_dialog_ui_button:hover span{padding-left:10px;padding-right:10px}.cke_dialog_footer_buttons a.cke_dialog_ui_button span{color:inherit;font-size:12px;line-height:20px}a.cke_dialog_ui_button_ok{color:#fff;border-color:#2274c9;background:#3f8edf}a.cke_dialog_ui_button_ok:active,a.cke_dialog_ui_button_ok:focus,a.cke_dialog_ui_button_ok:hover{border-color:#1e68b4;background:#2981db}a.cke_dialog_ui_button_cancel{background-color:#fff}a.cke_dialog_ui_button_cancel:focus{outline:0}span.cke_dialog_ui_button{cursor:pointer}.cke_dialog_footer_buttons{display:inline-table;margin:10px;width:auto;position:relative;vertical-align:middle}div.cke_dialog_ui_input_select{display:table}select.cke_dialog_ui_input_select{height:30px;line-height:30px;background-color:#fff;padding:4px 10px;border:1px solid #ddd;outline:0;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.cke_dialog_ui_input_file{width:100%;height:30px}.cke_hc .cke_dialog_ui_labeled_content input:focus,.cke_hc .cke_dialog_ui_labeled_content select:focus,.cke_hc .cke_dialog_ui_labeled_content textarea:focus{outline:1px dotted}.cke_dialog .cke_dark_background,.cke_dialog .cke_light_background{background-color:#eee}.cke_dialog .cke_centered{text-align:center}.cke_dialog a.cke_btn_reset{float:right;background:url(images/refresh.png) top left no-repeat;width:16px;height:16px;border:1px none;font-size:1px}.cke_dialog a.cke_btn_locked,.cke_dialog a.cke_btn_unlocked{float:left;width:16px;height:16px;background-repeat:no-repeat;border:none 1px;font-size:1px}.cke_dialog a.cke_btn_locked{background-image:url(images/lock.png)}.cke_dialog a.cke_btn_locked .cke_icon{display:none}.cke_dialog a.cke_btn_unlocked{background-image:url(images/lock-open.png)}.cke_dialog .cke_btn_over{border:outset 1px;cursor:pointer}.cke_hidpi .cke_dialog a.cke_btn_reset{background-size:16px;background-image:url(images/hidpi/refresh.png)}.cke_hidpi .cke_dialog a.cke_btn_locked,.cke_hidpi .cke_dialog a.cke_btn_unlocked{background-size:16px}.cke_hidpi .cke_dialog a.cke_btn_locked{background-image:url(images/hidpi/lock.png)}.cke_hidpi .cke_dialog a.cke_btn_unlocked{background-image:url(images/hidpi/lock-open.png)}.cke_rtl .cke_dialog a.cke_btn_reset{float:left}.cke_rtl .cke_dialog a.cke_btn_locked,.cke_rtl .cke_dialog a.cke_btn_unlocked{float:right}.cke_dialog .FlashPreviewBox,.cke_dialog .ImagePreviewBox{border:1px solid #aaa;border-radius:4px;padding:6px 10px;margin-top:5px;background-color:#fff}.cke_dialog .ImagePreviewBox{overflow:scroll;height:205px;width:300px}.cke_dialog .ImagePreviewBox table td{white-space:normal}.cke_dialog .FlashPreviewBox{white-space:normal;overflow:auto;height:160px;width:390px}.cke_dialog .ImagePreviewLoader{position:absolute;white-space:normal;overflow:hidden;height:160px;width:230px;margin:2px;padding:2px;opacity:.9;filter:alpha(opacity=90);background-color:#e4e4e4}.cke_dialog .cke_pastetext{width:346px;height:170px}.cke_dialog .cke_pastetext textarea{width:340px;height:170px;resize:none}.cke_dialog iframe.cke_pasteframe{width:346px;height:130px;background-color:#fff;border:1px solid #aeb3b9;border-radius:4px}.cke_dialog .cke_hand{cursor:pointer}.cke_disabled{color:#a0a0a0}.cke_dialog_body .cke_label{display:none}.cke_dialog_body label{display:inline-block;margin-bottom:3px;cursor:default}.cke_dialog_body label.cke_required{font-weight:700}.cke_dialog_ui_html{line-height:150%}a.cke_smile{overflow:hidden;display:block;text-align:center;padding:.3em 0}a.cke_smile img{vertical-align:middle}a.cke_specialchar{cursor:inherit;display:block;height:1.25em;padding:.2em .3em;text-align:center}a.cke_smile,a.cke_specialchar{background-color:#eee;border:1px solid transparent;vertical-align:top}a.cke_smile:active,a.cke_smile:focus,a.cke_smile:hover,a.cke_specialchar:active,a.cke_specialchar:focus,a.cke_specialchar:hover{background:#fff;outline:0}a.cke_smile:hover,a.cke_specialchar:hover{border-color:#aaa}a.cke_smile:active,a.cke_smile:focus,a.cke_specialchar:active,a.cke_specialchar:focus{border-color:#428bca}.cke_dialog_contents a.colorChooser{display:block;margin-top:6px;margin-left:10px;width:80px}.cke_rtl .cke_dialog_contents a.colorChooser{margin-right:10px}.cke_dialog_ui_checkbox{display:inline-block;margin-bottom:5px}.cke_btn_over,.cke_dialog_ui_checkbox_input:focus,.cke_dialog_ui_radio_input:focus{outline:1px dotted #696969}.cke_iframe_shim{display:block;position:absolute;top:0;left:0;z-index:-1;filter:alpha(opacity=0);width:100%;height:100%}.cke_rtl input.cke_dialog_ui_input_password,.cke_rtl input.cke_dialog_ui_input_text{padding-right:2px}.cke_rtl div.cke_dialog_ui_input_password,.cke_rtl div.cke_dialog_ui_input_text{padding-left:2px}.cke_rtl div.cke_dialog_ui_input_text{padding-right:1px}.cke_rtl .cke_dialog_ui_hbox_child,.cke_rtl .cke_dialog_ui_hbox_first,.cke_rtl .cke_dialog_ui_hbox_last,.cke_rtl .cke_dialog_ui_vbox_child{padding-right:2px!important}.cke_hc .cke_dialog_footer,.cke_hc .cke_dialog_title,.cke_hc a.cke_dialog_tab,.cke_hc a.cke_dialog_ui_button,.cke_hc a.cke_dialog_ui_button:hover,.cke_hc a.cke_dialog_ui_button_ok,.cke_hc a.cke_dialog_ui_button_ok:hover{filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.cke_hc div.cke_dialog_ui_input_file,.cke_hc div.cke_dialog_ui_input_password,.cke_hc div.cke_dialog_ui_input_select,.cke_hc div.cke_dialog_ui_input_text,.cke_hc div.cke_dialog_ui_input_textarea{border:0} \ No newline at end of file diff --git a/unauthenticated/js/ckeditor/skins/bootstrapck/dialog_ie7.css b/unauthenticated/js/ckeditor/skins/bootstrapck/dialog_ie7.css new file mode 100644 index 000000000..d3e7e7ef0 --- /dev/null +++ b/unauthenticated/js/ckeditor/skins/bootstrapck/dialog_ie7.css @@ -0,0 +1 @@ +input.cke_dialog_ui_input_password,input.cke_dialog_ui_input_text,textarea.cke_dialog_ui_input_textarea{background-color:#fff;outline:0;width:100%;*width:95%;height:30px;padding:4px 10px;border:1px solid #ddd;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}input.cke_dialog_ui_input_password:focus,input.cke_dialog_ui_input_text:focus,textarea.cke_dialog_ui_input_textarea:focus{border-color:#66afe9;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.cke_dialog{visibility:visible}.cke_dialog_body{z-index:1;background:#eee;border:1px solid #ddd;border-radius:4px}.cke_browser_gecko19 .cke_dialog_body{position:relative}.cke_dialog strong{font-weight:700}.cke_dialog_title{font-weight:700;font-size:13px;cursor:move;position:relative;color:#333;border-bottom:1px solid #ddd;padding:10px 12px;background:#eee}.cke_dialog_contents{background-color:#fff;overflow:auto;padding:15px 10px 5px;margin-top:35px;border-top:1px solid #ddd;border-radius:0 0 4px 4px}.cke_dialog_contents_body{overflow:auto;padding:17px 10px 5px;margin-top:22px}.cke_dialog_footer{text-align:right;position:relative;border-radius:0 0 4px 4px;background:#eee}.cke_rtl .cke_dialog_footer{text-align:left}.cke_hc .cke_dialog_footer{outline:0;border-top:1px solid #fff}.cke_dialog .cke_resizer{margin-top:28px}.cke_dialog .cke_resizer_rtl{margin-left:5px}.cke_dialog .cke_resizer_ltr{margin-right:5px}.cke_dialog_tabs{height:24px;display:inline-block;margin:10px 0 0;position:absolute;z-index:2;left:10px}.cke_rtl .cke_dialog_tabs{right:10px}a.cke_dialog_tab{height:16px;padding:4px 8px;margin-right:3px;display:inline-block;cursor:pointer;line-height:16px;outline:0;color:#555;border:1px solid #ddd;border-radius:3px 3px 0 0;background:#f3f3f3}.cke_rtl a.cke_dialog_tab{margin-right:0;margin-left:3px}a.cke_dialog_tab:hover{background:#ddd;text-decoration:none}a.cke_dialog_tab_selected{background:#fff;color:#333;border-bottom-color:#fff;cursor:default;filter:none}a.cke_dialog_tab_selected:hover{background:#fff}.cke_hc a.cke_dialog_tab:hover,.cke_hc a.cke_dialog_tab_selected{border:3px solid;padding:2px 6px}a.cke_dialog_tab_disabled{color:#bababa;cursor:default}.cke_dialog_tabs .cke_dialog_ui_input_select{top:-7px!important}.cke_single_page .cke_dialog_tabs{display:none}.cke_single_page .cke_dialog_contents{padding-top:5px;margin-top:0;border-top:0}.cke_dialog_close_button{background-image:url(images/close.png);background-repeat:no-repeat;background-position:0 0;position:absolute;cursor:pointer;text-align:center;height:20px;width:20px;top:9px;z-index:5}.cke_hidpi .cke_dialog_close_button{background-image:url(images/hidpi/close.png);background-size:16px}.cke_dialog_close_button span{display:none}.cke_hc .cke_dialog_close_button span{display:inline;cursor:pointer;font-weight:700;position:relative;top:3px}.cke_ltr .cke_dialog_close_button{right:5px}.cke_rtl .cke_dialog_close_button{left:6px}div.cke_disabled .cke_dialog_ui_labeled_content div *{background-color:#ddd;cursor:default}.cke_dialog_ui_hbox table,.cke_dialog_ui_vbox table{margin:auto}.cke_dialog_ui_vbox{margin-top:5px}.cke_dialog_ui_vbox_child{padding:5px 0}.cke_dialog_ui_hbox{width:100%}.cke_dialog_ui_hbox_child,.cke_dialog_ui_hbox_first,.cke_dialog_ui_hbox_last{vertical-align:top}.cke_dialog_ui_hbox_first>.cke_dialog_ui_html,.cke_dialog_ui_hbox_first>.cke_dialog_ui_labeled_label,.cke_dialog_ui_hbox_last>.cke_dialog_ui_html,.cke_dialog_ui_hbox_last>.cke_dialog_ui_labeled_label{line-height:30px}.cke_ltr .cke_dialog_ui_hbox_child,.cke_ltr .cke_dialog_ui_hbox_first{padding-right:10px}.cke_rtl .cke_dialog_ui_hbox_child,.cke_rtl .cke_dialog_ui_hbox_first{padding-left:10px}.cke_ltr .cke_dialog_footer_buttons .cke_dialog_ui_hbox_child,.cke_ltr .cke_dialog_footer_buttons .cke_dialog_ui_hbox_first{padding-right:5px}.cke_rtl .cke_dialog_footer_buttons .cke_dialog_ui_hbox_child,.cke_rtl .cke_dialog_footer_buttons .cke_dialog_ui_hbox_first{padding-left:5px;padding-right:0}.cke_hc div.cke_dialog_ui_input_file,.cke_hc div.cke_dialog_ui_input_password,.cke_hc div.cke_dialog_ui_input_select,.cke_hc div.cke_dialog_ui_input_text,.cke_hc div.cke_dialog_ui_input_textarea{border:1px solid}.cke_dialog_ui_text{margin-bottom:7px}.cke_dialog_ui_select{height:auto!important;margin-bottom:7px}textarea.cke_dialog_ui_input_textarea{overflow:auto;resize:none}a.cke_dialog_ui_button{display:inline-block;*display:inline;*zoom:1;padding:3px 0;margin:0;text-align:center;color:#333;vertical-align:middle;cursor:pointer;border:1px solid #ddd;border-radius:4px;background:#fff}a.cke_dialog_ui_button:active,a.cke_dialog_ui_button:focus,a.cke_dialog_ui_button:hover{border-color:#aaa;background-color:#eee;text-decoration:none}.cke_dialog_page_contents a.cke_dialog_ui_button{height:22px;line-height:22px;background-color:#f4f4f4}.cke_dialog_page_contents a.cke_dialog_ui_button:active,.cke_dialog_page_contents a.cke_dialog_ui_button:focus,.cke_dialog_page_contents a.cke_dialog_ui_button:hover{background-color:#eee}span.cke_dialog_ui_button{padding:0 12px}.cke_hc a.cke_dialog_ui_button:active,.cke_hc a.cke_dialog_ui_button:focus,.cke_hc a.cke_dialog_ui_button:hover{border:3px solid;padding-top:1px;padding-bottom:1px}.cke_hc a.cke_dialog_ui_button:active span,.cke_hc a.cke_dialog_ui_button:focus span,.cke_hc a.cke_dialog_ui_button:hover span{padding-left:10px;padding-right:10px}.cke_dialog_footer_buttons a.cke_dialog_ui_button span{color:inherit;font-size:12px;line-height:20px}a.cke_dialog_ui_button_ok{color:#fff;border-color:#2274c9;background:#3f8edf}a.cke_dialog_ui_button_ok:active,a.cke_dialog_ui_button_ok:focus,a.cke_dialog_ui_button_ok:hover{border-color:#1e68b4;background:#2981db}a.cke_dialog_ui_button_cancel{background-color:#fff}a.cke_dialog_ui_button_cancel:focus{outline:0}span.cke_dialog_ui_button{cursor:pointer}.cke_dialog_footer_buttons{display:inline-table;margin:10px;width:auto;vertical-align:middle}div.cke_dialog_ui_input_select{display:table}select.cke_dialog_ui_input_select{height:30px;line-height:30px;background-color:#fff;padding:4px 10px;border:1px solid #ddd;outline:0;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.cke_dialog_ui_input_file{width:100%;height:30px}.cke_hc .cke_dialog_ui_labeled_content input:focus,.cke_hc .cke_dialog_ui_labeled_content select:focus,.cke_hc .cke_dialog_ui_labeled_content textarea:focus{outline:1px dotted}.cke_dialog .cke_dark_background,.cke_dialog .cke_light_background{background-color:#eee}.cke_dialog .cke_centered{text-align:center}.cke_dialog a.cke_btn_reset{float:right;background:url(images/refresh.png) top left no-repeat;width:16px;height:16px;border:1px none;font-size:1px}.cke_dialog a.cke_btn_locked,.cke_dialog a.cke_btn_unlocked{float:left;width:16px;height:16px;background-repeat:no-repeat;border:none 1px;font-size:1px}.cke_dialog a.cke_btn_locked{background-image:url(images/lock.png)}.cke_dialog a.cke_btn_locked .cke_icon{display:none}.cke_dialog a.cke_btn_unlocked{background-image:url(images/lock-open.png)}.cke_dialog .cke_btn_over{border:outset 1px;cursor:pointer}.cke_hidpi .cke_dialog a.cke_btn_reset{background-size:16px;background-image:url(images/hidpi/refresh.png)}.cke_hidpi .cke_dialog a.cke_btn_locked,.cke_hidpi .cke_dialog a.cke_btn_unlocked{background-size:16px}.cke_hidpi .cke_dialog a.cke_btn_locked{background-image:url(images/hidpi/lock.png)}.cke_hidpi .cke_dialog a.cke_btn_unlocked{background-image:url(images/hidpi/lock-open.png)}.cke_rtl .cke_dialog a.cke_btn_reset{float:left}.cke_rtl .cke_dialog a.cke_btn_locked,.cke_rtl .cke_dialog a.cke_btn_unlocked{float:right}.cke_dialog .FlashPreviewBox,.cke_dialog .ImagePreviewBox{border:1px solid #aaa;border-radius:4px;padding:6px 10px;margin-top:5px;background-color:#fff}.cke_dialog .ImagePreviewBox{overflow:scroll;height:205px;width:300px}.cke_dialog .ImagePreviewBox table td{white-space:normal}.cke_dialog .FlashPreviewBox{white-space:normal;overflow:auto;height:160px;width:390px}.cke_dialog .ImagePreviewLoader{position:absolute;white-space:normal;overflow:hidden;height:160px;width:230px;margin:2px;padding:2px;opacity:.9;filter:alpha(opacity=90);background-color:#e4e4e4}.cke_dialog .cke_pastetext{width:346px;height:170px}.cke_dialog .cke_pastetext textarea{width:340px;height:170px;resize:none}.cke_dialog iframe.cke_pasteframe{width:346px;height:130px;background-color:#fff;border:1px solid #aeb3b9;border-radius:4px}.cke_dialog .cke_hand{cursor:pointer}.cke_disabled{color:#a0a0a0}.cke_dialog_body .cke_label{display:none}.cke_dialog_body label{display:inline-block;margin-bottom:3px;cursor:default}.cke_dialog_body label.cke_required{font-weight:700}.cke_dialog_ui_html{line-height:150%}a.cke_smile{overflow:hidden;display:block;text-align:center;padding:.3em 0}a.cke_smile img{vertical-align:middle}a.cke_specialchar{cursor:inherit;display:block;height:1.25em;padding:.2em .3em;text-align:center}a.cke_smile,a.cke_specialchar{background-color:#eee;border:1px solid transparent;vertical-align:top}a.cke_smile:active,a.cke_smile:focus,a.cke_smile:hover,a.cke_specialchar:active,a.cke_specialchar:focus,a.cke_specialchar:hover{background:#fff;outline:0}a.cke_smile:hover,a.cke_specialchar:hover{border-color:#aaa}a.cke_smile:active,a.cke_smile:focus,a.cke_specialchar:active,a.cke_specialchar:focus{border-color:#428bca}.cke_dialog_contents a.colorChooser{display:block;margin-top:6px;margin-left:10px;width:80px}.cke_rtl .cke_dialog_contents a.colorChooser{margin-right:10px}.cke_dialog_ui_checkbox{display:inline-block;margin-bottom:5px}.cke_btn_over,.cke_dialog_ui_checkbox_input:focus,.cke_dialog_ui_radio_input:focus{outline:1px dotted #696969}.cke_iframe_shim{display:block;position:absolute;top:0;left:0;z-index:-1;filter:alpha(opacity=0);width:100%;height:100%}.cke_dialog_title{zoom:1}.cke_dialog_footer{border-top:1px solid #bfbfbf}.cke_dialog_footer_buttons{position:static}.cke_dialog_footer_buttons a.cke_dialog_ui_button{vertical-align:top}.cke_dialog .cke_resizer_ltr{padding-left:4px}.cke_dialog .cke_resizer_rtl{padding-right:4px}.cke_dialog_ui_input_password,.cke_dialog_ui_input_select,.cke_dialog_ui_input_text,.cke_dialog_ui_input_textarea{padding:0!important}.cke_btn_locked,.cke_btn_reset,.cke_btn_unlocked,.cke_dialog_ui_checkbox_input,.cke_dialog_ui_ratio_input{border:1px solid transparent!important} \ No newline at end of file diff --git a/unauthenticated/js/ckeditor/skins/bootstrapck/dialog_ie8.css b/unauthenticated/js/ckeditor/skins/bootstrapck/dialog_ie8.css new file mode 100644 index 000000000..9a71a5f1f --- /dev/null +++ b/unauthenticated/js/ckeditor/skins/bootstrapck/dialog_ie8.css @@ -0,0 +1 @@ +input.cke_dialog_ui_input_password,input.cke_dialog_ui_input_text,textarea.cke_dialog_ui_input_textarea{background-color:#fff;outline:0;width:100%;*width:95%;height:30px;padding:4px 10px;border:1px solid #ddd;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}input.cke_dialog_ui_input_password:focus,input.cke_dialog_ui_input_text:focus,textarea.cke_dialog_ui_input_textarea:focus{border-color:#66afe9;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.cke_dialog{visibility:visible}.cke_dialog_body{z-index:1;background:#eee;border:1px solid #ddd;border-radius:4px}.cke_browser_gecko19 .cke_dialog_body{position:relative}.cke_dialog strong{font-weight:700}.cke_dialog_title{font-weight:700;font-size:13px;cursor:move;position:relative;color:#333;border-bottom:1px solid #ddd;padding:10px 12px;background:#eee}.cke_dialog_contents{background-color:#fff;overflow:auto;padding:15px 10px 5px;margin-top:35px;border-top:1px solid #ddd;border-radius:0 0 4px 4px}.cke_dialog_contents_body{overflow:auto;padding:17px 10px 5px;margin-top:22px}.cke_dialog_footer{text-align:right;position:relative;border-radius:0 0 4px 4px;border-top:1px solid #ddd;background:#eee}.cke_rtl .cke_dialog_footer{text-align:left}.cke_hc .cke_dialog_footer{outline:0;border-top:1px solid #fff}.cke_dialog .cke_resizer{margin-top:28px}.cke_dialog .cke_resizer_rtl{margin-left:5px}.cke_dialog .cke_resizer_ltr{margin-right:5px}.cke_dialog_tabs{height:24px;display:inline-block;margin:10px 0 0;position:absolute;z-index:2;left:10px}.cke_rtl .cke_dialog_tabs{right:10px}a.cke_dialog_tab{height:16px;padding:4px 8px;margin-right:3px;display:inline-block;cursor:pointer;line-height:16px;outline:0;color:#555;border:1px solid #ddd;border-radius:3px 3px 0 0;background:#f3f3f3}.cke_rtl a.cke_dialog_tab{margin-right:0;margin-left:3px}a.cke_dialog_tab:hover{background:#ddd;text-decoration:none}a.cke_dialog_tab_selected{background:#fff;color:#333;border-bottom-color:#fff;cursor:default;filter:none}a.cke_dialog_tab_selected:hover{background:#fff}.cke_hc a.cke_dialog_tab:hover,.cke_hc a.cke_dialog_tab_selected{border:3px solid;padding:2px 6px}a.cke_dialog_tab_disabled{color:#bababa;cursor:default}.cke_dialog_tabs .cke_dialog_ui_input_select{top:-7px!important}.cke_single_page .cke_dialog_tabs{display:none}.cke_single_page .cke_dialog_contents{padding-top:5px;margin-top:0;border-top:0}.cke_dialog_close_button{background-image:url(images/close.png);background-repeat:no-repeat;background-position:0 0;position:absolute;cursor:pointer;text-align:center;height:20px;width:20px;top:9px;z-index:5}.cke_hidpi .cke_dialog_close_button{background-image:url(images/hidpi/close.png);background-size:16px}.cke_dialog_close_button span{display:none}.cke_hc .cke_dialog_close_button span{display:inline;cursor:pointer;font-weight:700;position:relative;top:3px}.cke_ltr .cke_dialog_close_button{right:5px}.cke_rtl .cke_dialog_close_button{left:6px}div.cke_disabled .cke_dialog_ui_labeled_content div *{background-color:#ddd;cursor:default}.cke_dialog_ui_hbox table,.cke_dialog_ui_vbox table{margin:auto}.cke_dialog_ui_vbox{margin-top:5px}.cke_dialog_ui_vbox_child{padding:5px 0}.cke_dialog_ui_hbox{width:100%}.cke_dialog_ui_hbox_child,.cke_dialog_ui_hbox_first,.cke_dialog_ui_hbox_last{vertical-align:top}.cke_dialog_ui_hbox_first>.cke_dialog_ui_html,.cke_dialog_ui_hbox_first>.cke_dialog_ui_labeled_label,.cke_dialog_ui_hbox_last>.cke_dialog_ui_html,.cke_dialog_ui_hbox_last>.cke_dialog_ui_labeled_label{line-height:30px}.cke_ltr .cke_dialog_ui_hbox_child,.cke_ltr .cke_dialog_ui_hbox_first{padding-right:10px}.cke_rtl .cke_dialog_ui_hbox_child,.cke_rtl .cke_dialog_ui_hbox_first{padding-left:10px}.cke_ltr .cke_dialog_footer_buttons .cke_dialog_ui_hbox_child,.cke_ltr .cke_dialog_footer_buttons .cke_dialog_ui_hbox_first{padding-right:5px}.cke_rtl .cke_dialog_footer_buttons .cke_dialog_ui_hbox_child,.cke_rtl .cke_dialog_footer_buttons .cke_dialog_ui_hbox_first{padding-left:5px;padding-right:0}.cke_hc div.cke_dialog_ui_input_file,.cke_hc div.cke_dialog_ui_input_password,.cke_hc div.cke_dialog_ui_input_select,.cke_hc div.cke_dialog_ui_input_text,.cke_hc div.cke_dialog_ui_input_textarea{border:1px solid}.cke_dialog_ui_text{margin-bottom:7px}.cke_dialog_ui_select{height:auto!important;margin-bottom:7px}textarea.cke_dialog_ui_input_textarea{overflow:auto;resize:none}a.cke_dialog_ui_button{display:inline-block;*display:inline;*zoom:1;padding:3px 0;margin:0;text-align:center;color:#333;vertical-align:middle;cursor:pointer;border:1px solid #ddd;border-radius:4px;background:#fff}a.cke_dialog_ui_button:active,a.cke_dialog_ui_button:focus,a.cke_dialog_ui_button:hover{border-color:#aaa;background-color:#eee;text-decoration:none}.cke_dialog_page_contents a.cke_dialog_ui_button{height:22px;line-height:22px;background-color:#f4f4f4}.cke_dialog_page_contents a.cke_dialog_ui_button:active,.cke_dialog_page_contents a.cke_dialog_ui_button:focus,.cke_dialog_page_contents a.cke_dialog_ui_button:hover{background-color:#eee}span.cke_dialog_ui_button{padding:0 12px}.cke_hc a.cke_dialog_ui_button:active,.cke_hc a.cke_dialog_ui_button:focus,.cke_hc a.cke_dialog_ui_button:hover{border:3px solid;padding-top:1px;padding-bottom:1px}.cke_hc a.cke_dialog_ui_button:active span,.cke_hc a.cke_dialog_ui_button:focus span,.cke_hc a.cke_dialog_ui_button:hover span{padding-left:10px;padding-right:10px}.cke_dialog_footer_buttons a.cke_dialog_ui_button span{color:inherit;font-size:12px;line-height:20px}a.cke_dialog_ui_button_ok{color:#fff;border-color:#2274c9;background:#3f8edf}a.cke_dialog_ui_button_ok:active,a.cke_dialog_ui_button_ok:focus,a.cke_dialog_ui_button_ok:hover{border-color:#1e68b4;background:#2981db}a.cke_dialog_ui_button_cancel{background-color:#fff}a.cke_dialog_ui_button_cancel:focus{outline:0}span.cke_dialog_ui_button{cursor:pointer}.cke_dialog_footer_buttons{display:inline-table;margin:10px;width:auto;position:relative;vertical-align:middle}div.cke_dialog_ui_input_select{display:table}select.cke_dialog_ui_input_select{height:30px;line-height:30px;background-color:#fff;padding:4px 10px;border:1px solid #ddd;outline:0;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.cke_dialog_ui_input_file{width:100%;height:30px}.cke_hc .cke_dialog_ui_labeled_content input:focus,.cke_hc .cke_dialog_ui_labeled_content select:focus,.cke_hc .cke_dialog_ui_labeled_content textarea:focus{outline:1px dotted}.cke_dialog .cke_dark_background,.cke_dialog .cke_light_background{background-color:#eee}.cke_dialog .cke_centered{text-align:center}.cke_dialog a.cke_btn_reset{float:right;background:url(images/refresh.png) top left no-repeat;width:16px;height:16px;border:1px none;font-size:1px}.cke_dialog a.cke_btn_locked,.cke_dialog a.cke_btn_unlocked{float:left;width:16px;height:16px;background-repeat:no-repeat;border:none 1px;font-size:1px}.cke_dialog a.cke_btn_locked{background-image:url(images/lock.png)}.cke_dialog a.cke_btn_locked .cke_icon{display:none}.cke_dialog a.cke_btn_unlocked{background-image:url(images/lock-open.png)}.cke_dialog .cke_btn_over{border:outset 1px;cursor:pointer}.cke_hidpi .cke_dialog a.cke_btn_reset{background-size:16px;background-image:url(images/hidpi/refresh.png)}.cke_hidpi .cke_dialog a.cke_btn_locked,.cke_hidpi .cke_dialog a.cke_btn_unlocked{background-size:16px}.cke_hidpi .cke_dialog a.cke_btn_locked{background-image:url(images/hidpi/lock.png)}.cke_hidpi .cke_dialog a.cke_btn_unlocked{background-image:url(images/hidpi/lock-open.png)}.cke_rtl .cke_dialog a.cke_btn_reset{float:left}.cke_rtl .cke_dialog a.cke_btn_locked,.cke_rtl .cke_dialog a.cke_btn_unlocked{float:right}.cke_dialog .FlashPreviewBox,.cke_dialog .ImagePreviewBox{border:1px solid #aaa;border-radius:4px;padding:6px 10px;margin-top:5px;background-color:#fff}.cke_dialog .ImagePreviewBox{overflow:scroll;height:205px;width:300px}.cke_dialog .ImagePreviewBox table td{white-space:normal}.cke_dialog .FlashPreviewBox{white-space:normal;overflow:auto;height:160px;width:390px}.cke_dialog .ImagePreviewLoader{position:absolute;white-space:normal;overflow:hidden;height:160px;width:230px;margin:2px;padding:2px;opacity:.9;filter:alpha(opacity=90);background-color:#e4e4e4}.cke_dialog .cke_pastetext{width:346px;height:170px}.cke_dialog .cke_pastetext textarea{width:340px;height:170px;resize:none}.cke_dialog iframe.cke_pasteframe{width:346px;height:130px;background-color:#fff;border:1px solid #aeb3b9;border-radius:4px}.cke_dialog .cke_hand{cursor:pointer}.cke_disabled{color:#a0a0a0}.cke_dialog_body .cke_label{display:none}.cke_dialog_body label{display:inline-block;margin-bottom:3px;cursor:default}.cke_dialog_body label.cke_required{font-weight:700}.cke_dialog_ui_html{line-height:150%}a.cke_smile{overflow:hidden;display:block;text-align:center;padding:.3em 0}a.cke_smile img{vertical-align:middle}a.cke_specialchar{cursor:inherit;display:block;height:1.25em;padding:.2em .3em;text-align:center}a.cke_smile,a.cke_specialchar{background-color:#eee;border:1px solid transparent;vertical-align:top}a.cke_smile:active,a.cke_smile:focus,a.cke_smile:hover,a.cke_specialchar:active,a.cke_specialchar:focus,a.cke_specialchar:hover{background:#fff;outline:0}a.cke_smile:hover,a.cke_specialchar:hover{border-color:#aaa}a.cke_smile:active,a.cke_smile:focus,a.cke_specialchar:active,a.cke_specialchar:focus{border-color:#428bca}.cke_dialog_contents a.colorChooser{display:block;margin-top:6px;margin-left:10px;width:80px}.cke_rtl .cke_dialog_contents a.colorChooser{margin-right:10px}.cke_dialog_ui_checkbox{display:inline-block;margin-bottom:5px}.cke_btn_over,.cke_dialog_ui_checkbox_input:focus,.cke_dialog_ui_radio_input:focus{outline:1px dotted #696969}.cke_iframe_shim{display:block;position:absolute;top:0;left:0;z-index:-1;filter:alpha(opacity=0);width:100%;height:100%}a.cke_dialog_ui_button_cancel:active span,a.cke_dialog_ui_button_cancel:focus span,a.cke_dialog_ui_button_ok:active span,a.cke_dialog_ui_button_ok:focus span{display:block} \ No newline at end of file diff --git a/unauthenticated/js/ckeditor/skins/bootstrapck/dialog_iequirks.css b/unauthenticated/js/ckeditor/skins/bootstrapck/dialog_iequirks.css new file mode 100644 index 000000000..84673524f --- /dev/null +++ b/unauthenticated/js/ckeditor/skins/bootstrapck/dialog_iequirks.css @@ -0,0 +1 @@ +input.cke_dialog_ui_input_password,input.cke_dialog_ui_input_text,textarea.cke_dialog_ui_input_textarea{background-color:#fff;outline:0;width:100%;*width:95%;height:30px;padding:4px 10px;border:1px solid #ddd;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}input.cke_dialog_ui_input_password:focus,input.cke_dialog_ui_input_text:focus,textarea.cke_dialog_ui_input_textarea:focus{border-color:#66afe9;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.cke_dialog{visibility:visible}.cke_dialog_body{z-index:1;background:#eee;border:1px solid #ddd;border-radius:4px}.cke_browser_gecko19 .cke_dialog_body{position:relative}.cke_dialog strong{font-weight:700}.cke_dialog_title{font-weight:700;font-size:13px;cursor:move;position:relative;color:#333;border-bottom:1px solid #ddd;padding:10px 12px;background:#eee}.cke_dialog_contents{background-color:#fff;overflow:auto;padding:15px 10px 5px;margin-top:35px;border-top:1px solid #ddd;border-radius:0 0 4px 4px}.cke_dialog_contents_body{overflow:auto;padding:17px 10px 5px;margin-top:22px}.cke_dialog_footer{text-align:right;position:relative;border-radius:0 0 4px 4px;border-top:1px solid #ddd}.cke_rtl .cke_dialog_footer{text-align:left}.cke_hc .cke_dialog_footer{outline:0;border-top:1px solid #fff}.cke_dialog .cke_resizer{margin-top:28px}.cke_dialog .cke_resizer_rtl{margin-left:5px}.cke_dialog .cke_resizer_ltr{margin-right:5px}.cke_dialog_tabs{height:24px;display:inline-block;margin:10px 0 0;position:absolute;z-index:2;left:10px}.cke_rtl .cke_dialog_tabs{right:10px}a.cke_dialog_tab{height:16px;padding:4px 8px;margin-right:3px;display:inline-block;cursor:pointer;line-height:16px;outline:0;color:#555;border:1px solid #ddd;border-radius:3px 3px 0 0;background:#f3f3f3}.cke_rtl a.cke_dialog_tab{margin-right:0;margin-left:3px}a.cke_dialog_tab:hover{background:#ddd;text-decoration:none}a.cke_dialog_tab_selected{background:#fff;color:#333;border-bottom-color:#fff;cursor:default;filter:none}a.cke_dialog_tab_selected:hover{background:#fff}.cke_hc a.cke_dialog_tab:hover,.cke_hc a.cke_dialog_tab_selected{border:3px solid;padding:2px 6px}a.cke_dialog_tab_disabled{color:#bababa;cursor:default}.cke_dialog_tabs .cke_dialog_ui_input_select{top:-7px!important}.cke_single_page .cke_dialog_tabs{display:none}.cke_single_page .cke_dialog_contents{padding-top:5px;margin-top:0;border-top:0}.cke_dialog_close_button{background-image:url(images/close.png);background-repeat:no-repeat;background-position:0 0;position:absolute;cursor:pointer;text-align:center;height:20px;width:20px;top:9px;z-index:5}.cke_hidpi .cke_dialog_close_button{background-image:url(images/hidpi/close.png);background-size:16px}.cke_dialog_close_button span{display:none}.cke_hc .cke_dialog_close_button span{display:inline;cursor:pointer;font-weight:700;position:relative;top:3px}.cke_ltr .cke_dialog_close_button{right:5px}.cke_rtl .cke_dialog_close_button{left:6px}div.cke_disabled .cke_dialog_ui_labeled_content div *{background-color:#ddd;cursor:default}.cke_dialog_ui_hbox table,.cke_dialog_ui_vbox table{margin:auto}.cke_dialog_ui_vbox{margin-top:5px}.cke_dialog_ui_vbox_child{padding:5px 0}.cke_dialog_ui_hbox{width:100%}.cke_dialog_ui_hbox_child,.cke_dialog_ui_hbox_first,.cke_dialog_ui_hbox_last{vertical-align:top}.cke_dialog_ui_hbox_first>.cke_dialog_ui_html,.cke_dialog_ui_hbox_first>.cke_dialog_ui_labeled_label,.cke_dialog_ui_hbox_last>.cke_dialog_ui_html,.cke_dialog_ui_hbox_last>.cke_dialog_ui_labeled_label{line-height:30px}.cke_ltr .cke_dialog_ui_hbox_child,.cke_ltr .cke_dialog_ui_hbox_first{padding-right:10px}.cke_rtl .cke_dialog_ui_hbox_child,.cke_rtl .cke_dialog_ui_hbox_first{padding-left:10px}.cke_ltr .cke_dialog_footer_buttons .cke_dialog_ui_hbox_child,.cke_ltr .cke_dialog_footer_buttons .cke_dialog_ui_hbox_first{padding-right:5px}.cke_rtl .cke_dialog_footer_buttons .cke_dialog_ui_hbox_child,.cke_rtl .cke_dialog_footer_buttons .cke_dialog_ui_hbox_first{padding-left:5px;padding-right:0}.cke_hc div.cke_dialog_ui_input_file,.cke_hc div.cke_dialog_ui_input_password,.cke_hc div.cke_dialog_ui_input_select,.cke_hc div.cke_dialog_ui_input_text,.cke_hc div.cke_dialog_ui_input_textarea{border:1px solid}.cke_dialog_ui_text{margin-bottom:7px}.cke_dialog_ui_select{height:auto!important;margin-bottom:7px}textarea.cke_dialog_ui_input_textarea{overflow:auto;resize:none}a.cke_dialog_ui_button{display:inline-block;*display:inline;*zoom:1;padding:3px 0;margin:0;text-align:center;color:#333;vertical-align:middle;cursor:pointer;border:1px solid #ddd;border-radius:4px;background:#fff}a.cke_dialog_ui_button:active,a.cke_dialog_ui_button:focus,a.cke_dialog_ui_button:hover{border-color:#aaa;background-color:#eee;text-decoration:none}.cke_dialog_page_contents a.cke_dialog_ui_button{height:22px;line-height:22px;background-color:#f4f4f4}.cke_dialog_page_contents a.cke_dialog_ui_button:active,.cke_dialog_page_contents a.cke_dialog_ui_button:focus,.cke_dialog_page_contents a.cke_dialog_ui_button:hover{background-color:#eee}span.cke_dialog_ui_button{padding:0 12px}.cke_hc a.cke_dialog_ui_button:active,.cke_hc a.cke_dialog_ui_button:focus,.cke_hc a.cke_dialog_ui_button:hover{border:3px solid;padding-top:1px;padding-bottom:1px}.cke_hc a.cke_dialog_ui_button:active span,.cke_hc a.cke_dialog_ui_button:focus span,.cke_hc a.cke_dialog_ui_button:hover span{padding-left:10px;padding-right:10px}.cke_dialog_footer_buttons a.cke_dialog_ui_button span{color:inherit;font-size:12px;line-height:20px}a.cke_dialog_ui_button_ok{color:#fff;border-color:#2274c9;background:#3f8edf}a.cke_dialog_ui_button_ok:active,a.cke_dialog_ui_button_ok:focus,a.cke_dialog_ui_button_ok:hover{border-color:#1e68b4;background:#2981db}a.cke_dialog_ui_button_cancel{background-color:#fff}a.cke_dialog_ui_button_cancel:focus{outline:0}span.cke_dialog_ui_button{cursor:pointer}.cke_dialog_footer_buttons{display:inline-table;margin:10px;width:auto;position:relative;vertical-align:middle}div.cke_dialog_ui_input_select{display:table}select.cke_dialog_ui_input_select{height:30px;line-height:30px;background-color:#fff;padding:4px 10px;border:1px solid #ddd;outline:0;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.cke_dialog_ui_input_file{width:100%;height:30px}.cke_hc .cke_dialog_ui_labeled_content input:focus,.cke_hc .cke_dialog_ui_labeled_content select:focus,.cke_hc .cke_dialog_ui_labeled_content textarea:focus{outline:1px dotted}.cke_dialog .cke_dark_background,.cke_dialog .cke_light_background{background-color:#eee}.cke_dialog .cke_centered{text-align:center}.cke_dialog a.cke_btn_reset{float:right;background:url(images/refresh.png) top left no-repeat;width:16px;height:16px;border:1px none;font-size:1px}.cke_dialog a.cke_btn_locked,.cke_dialog a.cke_btn_unlocked{float:left;width:16px;height:16px;background-repeat:no-repeat;border:none 1px;font-size:1px}.cke_dialog a.cke_btn_locked{background-image:url(images/lock.png)}.cke_dialog a.cke_btn_locked .cke_icon{display:none}.cke_dialog a.cke_btn_unlocked{background-image:url(images/lock-open.png)}.cke_dialog .cke_btn_over{border:outset 1px;cursor:pointer}.cke_hidpi .cke_dialog a.cke_btn_reset{background-size:16px;background-image:url(images/hidpi/refresh.png)}.cke_hidpi .cke_dialog a.cke_btn_locked,.cke_hidpi .cke_dialog a.cke_btn_unlocked{background-size:16px}.cke_hidpi .cke_dialog a.cke_btn_locked{background-image:url(images/hidpi/lock.png)}.cke_hidpi .cke_dialog a.cke_btn_unlocked{background-image:url(images/hidpi/lock-open.png)}.cke_rtl .cke_dialog a.cke_btn_reset{float:left}.cke_rtl .cke_dialog a.cke_btn_locked,.cke_rtl .cke_dialog a.cke_btn_unlocked{float:right}.cke_dialog .FlashPreviewBox,.cke_dialog .ImagePreviewBox{border:1px solid #aaa;border-radius:4px;padding:6px 10px;margin-top:5px;background-color:#fff}.cke_dialog .ImagePreviewBox{overflow:scroll;height:205px;width:300px}.cke_dialog .ImagePreviewBox table td{white-space:normal}.cke_dialog .FlashPreviewBox{white-space:normal;overflow:auto;height:160px;width:390px}.cke_dialog .ImagePreviewLoader{position:absolute;white-space:normal;overflow:hidden;height:160px;width:230px;margin:2px;padding:2px;opacity:.9;filter:alpha(opacity=90);background-color:#e4e4e4}.cke_dialog .cke_pastetext{width:346px;height:170px}.cke_dialog .cke_pastetext textarea{width:340px;height:170px;resize:none}.cke_dialog iframe.cke_pasteframe{width:346px;height:130px;background-color:#fff;border:1px solid #aeb3b9;border-radius:4px}.cke_dialog .cke_hand{cursor:pointer}.cke_disabled{color:#a0a0a0}.cke_dialog_body .cke_label{display:none}.cke_dialog_body label{display:inline-block;margin-bottom:3px;cursor:default}.cke_dialog_body label.cke_required{font-weight:700}.cke_dialog_ui_html{line-height:150%}a.cke_smile{overflow:hidden;display:block;text-align:center;padding:.3em 0}a.cke_smile img{vertical-align:middle}a.cke_specialchar{cursor:inherit;display:block;height:1.25em;padding:.2em .3em;text-align:center}a.cke_smile,a.cke_specialchar{background-color:#eee;border:1px solid transparent;vertical-align:top}a.cke_smile:active,a.cke_smile:focus,a.cke_smile:hover,a.cke_specialchar:active,a.cke_specialchar:focus,a.cke_specialchar:hover{background:#fff;outline:0}a.cke_smile:hover,a.cke_specialchar:hover{border-color:#aaa}a.cke_smile:active,a.cke_smile:focus,a.cke_specialchar:active,a.cke_specialchar:focus{border-color:#428bca}.cke_dialog_contents a.colorChooser{display:block;margin-top:6px;margin-left:10px;width:80px}.cke_rtl .cke_dialog_contents a.colorChooser{margin-right:10px}.cke_dialog_ui_checkbox{display:inline-block;margin-bottom:5px}.cke_btn_over,.cke_dialog_ui_checkbox_input:focus,.cke_dialog_ui_radio_input:focus{outline:1px dotted #696969}.cke_iframe_shim{display:block;position:absolute;top:0;left:0;z-index:-1;filter:alpha(opacity=0);width:100%;height:100%}.cke_dialog_footer{filter:""} \ No newline at end of file diff --git a/unauthenticated/js/ckeditor/skins/bootstrapck/dialog_opera.css b/unauthenticated/js/ckeditor/skins/bootstrapck/dialog_opera.css new file mode 100644 index 000000000..24e047037 --- /dev/null +++ b/unauthenticated/js/ckeditor/skins/bootstrapck/dialog_opera.css @@ -0,0 +1 @@ +input.cke_dialog_ui_input_password,input.cke_dialog_ui_input_text,textarea.cke_dialog_ui_input_textarea{background-color:#fff;outline:0;width:100%;*width:95%;height:30px;padding:4px 10px;border:1px solid #ddd;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}input.cke_dialog_ui_input_password:focus,input.cke_dialog_ui_input_text:focus,textarea.cke_dialog_ui_input_textarea:focus{border-color:#66afe9;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.cke_dialog{visibility:visible}.cke_dialog_body{z-index:1;background:#eee;border:1px solid #ddd;border-radius:4px}.cke_browser_gecko19 .cke_dialog_body{position:relative}.cke_dialog strong{font-weight:700}.cke_dialog_title{font-weight:700;font-size:13px;cursor:move;position:relative;color:#333;border-bottom:1px solid #ddd;padding:10px 12px;background:#eee}.cke_dialog_contents{background-color:#fff;overflow:auto;padding:15px 10px 5px;margin-top:35px;border-top:1px solid #ddd;border-radius:0 0 4px 4px}.cke_dialog_contents_body{overflow:auto;padding:17px 10px 5px;margin-top:22px}.cke_dialog_footer{text-align:right;position:relative;border-radius:0 0 4px 4px;border-top:1px solid #ddd;background:#eee}.cke_rtl .cke_dialog_footer{text-align:left}.cke_hc .cke_dialog_footer{outline:0;border-top:1px solid #fff}.cke_dialog .cke_resizer{margin-top:28px}.cke_dialog .cke_resizer_rtl{margin-left:5px}.cke_dialog .cke_resizer_ltr{margin-right:5px}.cke_dialog_tabs{height:24px;display:inline-block;margin:10px 0 0;position:absolute;z-index:2;left:10px}.cke_rtl .cke_dialog_tabs{right:10px}a.cke_dialog_tab{height:16px;padding:4px 8px;margin-right:3px;display:inline-block;cursor:pointer;line-height:16px;outline:0;color:#555;border:1px solid #ddd;border-radius:3px 3px 0 0;background:#f3f3f3}.cke_rtl a.cke_dialog_tab{margin-right:0;margin-left:3px}a.cke_dialog_tab:hover{background:#ddd;text-decoration:none}a.cke_dialog_tab_selected{background:#fff;color:#333;border-bottom-color:#fff;cursor:default;filter:none}a.cke_dialog_tab_selected:hover{background:#fff}.cke_hc a.cke_dialog_tab:hover,.cke_hc a.cke_dialog_tab_selected{border:3px solid;padding:2px 6px}a.cke_dialog_tab_disabled{color:#bababa;cursor:default}.cke_dialog_tabs .cke_dialog_ui_input_select{top:-7px!important}.cke_single_page .cke_dialog_tabs{display:none}.cke_single_page .cke_dialog_contents{padding-top:5px;margin-top:0;border-top:0}.cke_dialog_close_button{background-image:url(images/close.png);background-repeat:no-repeat;background-position:0 0;position:absolute;cursor:pointer;text-align:center;height:20px;width:20px;top:9px;z-index:5}.cke_hidpi .cke_dialog_close_button{background-image:url(images/hidpi/close.png);background-size:16px}.cke_dialog_close_button span{display:none}.cke_hc .cke_dialog_close_button span{display:inline;cursor:pointer;font-weight:700;position:relative;top:3px}.cke_ltr .cke_dialog_close_button{right:5px}.cke_rtl .cke_dialog_close_button{left:6px}div.cke_disabled .cke_dialog_ui_labeled_content div *{background-color:#ddd;cursor:default}.cke_dialog_ui_hbox table,.cke_dialog_ui_vbox table{margin:auto}.cke_dialog_ui_vbox{margin-top:5px}.cke_dialog_ui_vbox_child{padding:5px 0}.cke_dialog_ui_hbox{width:100%}.cke_dialog_ui_hbox_child,.cke_dialog_ui_hbox_first,.cke_dialog_ui_hbox_last{vertical-align:top}.cke_dialog_ui_hbox_first>.cke_dialog_ui_html,.cke_dialog_ui_hbox_first>.cke_dialog_ui_labeled_label,.cke_dialog_ui_hbox_last>.cke_dialog_ui_html,.cke_dialog_ui_hbox_last>.cke_dialog_ui_labeled_label{line-height:30px}.cke_ltr .cke_dialog_ui_hbox_child,.cke_ltr .cke_dialog_ui_hbox_first{padding-right:10px}.cke_rtl .cke_dialog_ui_hbox_child,.cke_rtl .cke_dialog_ui_hbox_first{padding-left:10px}.cke_ltr .cke_dialog_footer_buttons .cke_dialog_ui_hbox_child,.cke_ltr .cke_dialog_footer_buttons .cke_dialog_ui_hbox_first{padding-right:5px}.cke_rtl .cke_dialog_footer_buttons .cke_dialog_ui_hbox_child,.cke_rtl .cke_dialog_footer_buttons .cke_dialog_ui_hbox_first{padding-left:5px;padding-right:0}.cke_hc div.cke_dialog_ui_input_file,.cke_hc div.cke_dialog_ui_input_password,.cke_hc div.cke_dialog_ui_input_select,.cke_hc div.cke_dialog_ui_input_text,.cke_hc div.cke_dialog_ui_input_textarea{border:1px solid}.cke_dialog_ui_text{margin-bottom:7px}.cke_dialog_ui_select{height:auto!important;margin-bottom:7px}textarea.cke_dialog_ui_input_textarea{overflow:auto;resize:none}a.cke_dialog_ui_button{display:inline-block;*display:inline;*zoom:1;padding:3px 0;margin:0;text-align:center;color:#333;vertical-align:middle;cursor:pointer;border:1px solid #ddd;border-radius:4px;background:#fff}a.cke_dialog_ui_button:active,a.cke_dialog_ui_button:focus,a.cke_dialog_ui_button:hover{border-color:#aaa;background-color:#eee;text-decoration:none}.cke_dialog_page_contents a.cke_dialog_ui_button{height:22px;line-height:22px;background-color:#f4f4f4}.cke_dialog_page_contents a.cke_dialog_ui_button:active,.cke_dialog_page_contents a.cke_dialog_ui_button:focus,.cke_dialog_page_contents a.cke_dialog_ui_button:hover{background-color:#eee}span.cke_dialog_ui_button{padding:0 12px}.cke_hc a.cke_dialog_ui_button:active,.cke_hc a.cke_dialog_ui_button:focus,.cke_hc a.cke_dialog_ui_button:hover{border:3px solid;padding-top:1px;padding-bottom:1px}.cke_hc a.cke_dialog_ui_button:active span,.cke_hc a.cke_dialog_ui_button:focus span,.cke_hc a.cke_dialog_ui_button:hover span{padding-left:10px;padding-right:10px}.cke_dialog_footer_buttons a.cke_dialog_ui_button span{color:inherit;font-size:12px;line-height:20px}a.cke_dialog_ui_button_ok{color:#fff;border-color:#2274c9;background:#3f8edf}a.cke_dialog_ui_button_ok:active,a.cke_dialog_ui_button_ok:focus,a.cke_dialog_ui_button_ok:hover{border-color:#1e68b4;background:#2981db}a.cke_dialog_ui_button_cancel{background-color:#fff}a.cke_dialog_ui_button_cancel:focus{outline:0}span.cke_dialog_ui_button{cursor:pointer}.cke_dialog_footer_buttons{display:inline-table;margin:10px;width:auto;position:relative;vertical-align:middle}div.cke_dialog_ui_input_select{display:table}select.cke_dialog_ui_input_select{height:30px;line-height:30px;background-color:#fff;padding:4px 10px;border:1px solid #ddd;outline:0;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.cke_dialog_ui_input_file{width:100%;height:30px}.cke_hc .cke_dialog_ui_labeled_content input:focus,.cke_hc .cke_dialog_ui_labeled_content select:focus,.cke_hc .cke_dialog_ui_labeled_content textarea:focus{outline:1px dotted}.cke_dialog .cke_dark_background,.cke_dialog .cke_light_background{background-color:#eee}.cke_dialog .cke_centered{text-align:center}.cke_dialog a.cke_btn_reset{float:right;background:url(images/refresh.png) top left no-repeat;width:16px;height:16px;border:1px none;font-size:1px}.cke_dialog a.cke_btn_locked,.cke_dialog a.cke_btn_unlocked{float:left;width:16px;height:16px;background-repeat:no-repeat;border:none 1px;font-size:1px}.cke_dialog a.cke_btn_locked{background-image:url(images/lock.png)}.cke_dialog a.cke_btn_locked .cke_icon{display:none}.cke_dialog a.cke_btn_unlocked{background-image:url(images/lock-open.png)}.cke_dialog .cke_btn_over{border:outset 1px;cursor:pointer}.cke_hidpi .cke_dialog a.cke_btn_reset{background-size:16px;background-image:url(images/hidpi/refresh.png)}.cke_hidpi .cke_dialog a.cke_btn_locked,.cke_hidpi .cke_dialog a.cke_btn_unlocked{background-size:16px}.cke_hidpi .cke_dialog a.cke_btn_locked{background-image:url(images/hidpi/lock.png)}.cke_hidpi .cke_dialog a.cke_btn_unlocked{background-image:url(images/hidpi/lock-open.png)}.cke_rtl .cke_dialog a.cke_btn_reset{float:left}.cke_rtl .cke_dialog a.cke_btn_locked,.cke_rtl .cke_dialog a.cke_btn_unlocked{float:right}.cke_dialog .FlashPreviewBox,.cke_dialog .ImagePreviewBox{border:1px solid #aaa;border-radius:4px;padding:6px 10px;margin-top:5px;background-color:#fff}.cke_dialog .ImagePreviewBox{overflow:scroll;height:205px;width:300px}.cke_dialog .ImagePreviewBox table td{white-space:normal}.cke_dialog .FlashPreviewBox{white-space:normal;overflow:auto;height:160px;width:390px}.cke_dialog .ImagePreviewLoader{position:absolute;white-space:normal;overflow:hidden;height:160px;width:230px;margin:2px;padding:2px;opacity:.9;filter:alpha(opacity=90);background-color:#e4e4e4}.cke_dialog .cke_pastetext{width:346px;height:170px}.cke_dialog .cke_pastetext textarea{width:340px;height:170px;resize:none}.cke_dialog iframe.cke_pasteframe{width:346px;height:130px;background-color:#fff;border:1px solid #aeb3b9;border-radius:4px}.cke_dialog .cke_hand{cursor:pointer}.cke_disabled{color:#a0a0a0}.cke_dialog_body .cke_label{display:none}.cke_dialog_body label{display:inline-block;margin-bottom:3px;cursor:default}.cke_dialog_body label.cke_required{font-weight:700}.cke_dialog_ui_html{line-height:150%}a.cke_smile{overflow:hidden;display:block;text-align:center;padding:.3em 0}a.cke_smile img{vertical-align:middle}a.cke_specialchar{cursor:inherit;display:block;height:1.25em;padding:.2em .3em;text-align:center}a.cke_smile,a.cke_specialchar{background-color:#eee;border:1px solid transparent;vertical-align:top}a.cke_smile:active,a.cke_smile:focus,a.cke_smile:hover,a.cke_specialchar:active,a.cke_specialchar:focus,a.cke_specialchar:hover{background:#fff;outline:0}a.cke_smile:hover,a.cke_specialchar:hover{border-color:#aaa}a.cke_smile:active,a.cke_smile:focus,a.cke_specialchar:active,a.cke_specialchar:focus{border-color:#428bca}.cke_dialog_contents a.colorChooser{display:block;margin-top:6px;margin-left:10px;width:80px}.cke_rtl .cke_dialog_contents a.colorChooser{margin-right:10px}.cke_dialog_ui_checkbox{display:inline-block;margin-bottom:5px}.cke_btn_over,.cke_dialog_ui_checkbox_input:focus,.cke_dialog_ui_radio_input:focus{outline:1px dotted #696969}.cke_iframe_shim{display:block;position:absolute;top:0;left:0;z-index:-1;filter:alpha(opacity=0);width:100%;height:100%}.cke_dialog_footer{display:block;height:38px}.cke_ltr .cke_dialog_footer>*{float:right}.cke_rtl .cke_dialog_footer>*{float:left} \ No newline at end of file diff --git a/unauthenticated/js/ckeditor/skins/bootstrapck/editor.css b/unauthenticated/js/ckeditor/skins/bootstrapck/editor.css new file mode 100644 index 000000000..60244ce84 --- /dev/null +++ b/unauthenticated/js/ckeditor/skins/bootstrapck/editor.css @@ -0,0 +1,2 @@ +/*@import url("../../../../css/palettes/nightrider_ckeditor.css");*/ +.cke_reset{margin:0;padding:0;border:0;background:0;text-decoration:none;width:auto;height:auto;vertical-align:baseline;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;position:static;-webkit-transition:none;-moz-transition:none;-ms-transition:none;transition:none}.cke_reset_all,.cke_reset_all *{margin:0;padding:0;border:0;background:0;text-decoration:none;width:auto;height:auto;vertical-align:baseline;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;position:static;-webkit-transition:none;-moz-transition:none;-ms-transition:none;transition:none;border-collapse:collapse;font:normal normal normal 12px Arial,Helvetica,Tahoma,Verdana,Sans-Serif;color:#333;text-align:left;white-space:nowrap;cursor:auto;float:none}.cke_reset_all .cke_rtl *{text-align:right}.cke_reset_all iframe{vertical-align:inherit}.cke_reset_all textarea{white-space:pre}.cke_reset_all input[type=password],.cke_reset_all input[type=text],.cke_reset_all textarea{cursor:text}.cke_reset_all input[type=password][disabled],.cke_reset_all input[type=text][disabled],.cke_reset_all textarea[disabled]{cursor:default}.cke_reset_all fieldset{padding:10px;margin-top:10px;border:1px solid #ddd}.cke_reset_all fieldset legend{padding:0 5px}.cke_reset_all select{box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}.cke_chrome{display:block;border:1px solid #ddd;border-radius:4px;padding:0 3px;background:#eee}.cke_inner{display:block;-webkit-touch-callout:none;background:0;padding:0}.cke_float{border:0}.cke_float .cke_inner{padding-bottom:0}.cke_float .cke_top{border:1px solid #ddd}.cke_bottom,.cke_contents,.cke_top{display:block;overflow:hidden}.cke_bottom,.cke_top{padding:3px 0 0;background:#eee}.cke_top{white-space:normal}.cke_contents{background-color:#fff;border:1px solid #ddd;border-radius:4px}.cke_bottom{position:relative}.cke_browser_ios .cke_contents{overflow-y:auto;-webkit-overflow-scrolling:touch}.cke_resizer{width:0;height:0;overflow:hidden;border-width:10px 10px 0 0;border-color:transparent #555 transparent transparent;border-style:dashed solid dashed dashed;font-size:0;vertical-align:bottom;margin-top:6px;margin-bottom:2px}.cke_hc .cke_resizer{font-size:15px;width:auto;height:auto;border-width:0}.cke_resizer_ltr{cursor:se-resize;float:right;margin-right:-4px}.cke_resizer_rtl{border-width:10px 0 0 10px;border-color:transparent transparent transparent #aaa;border-style:dashed dashed dashed solid;cursor:sw-resize;float:left;margin-left:-4px;right:auto}.cke_wysiwyg_div{display:block;height:100%;overflow:auto;padding:0 8px;outline-style:none;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.cke_panel{visibility:visible;width:120px;height:100px;overflow:hidden;margin-top:5px;background-color:#fff;border:1px solid #aaa;border-radius:4px}.cke_menu_panel{padding:0;margin:0}.cke_combopanel{width:150px;height:178px}.cke_panel_frame{width:100%;height:100%;font-size:12px;overflow:auto;overflow-x:hidden}.cke_panel_container{overflow-y:auto;overflow-x:hidden}.cke_panel_list{list-style-type:none;margin:3px;padding:0;white-space:nowrap}.cke_panel_listItem{margin:0;padding-bottom:1px}.cke_panel_listItem a{padding:3px 4px;display:block;border:1px solid #fff;color:inherit!important;text-decoration:none;overflow:hidden;text-overflow:ellipsis;border-radius:2px}.cke_panel_listItem a:active,.cke_panel_listItem a:focus,.cke_panel_listItem a:hover{background-color:#e1edf7}* html .cke_panel_listItem a{width:100%;color:#000}:first-child+html .cke_panel_listItem a{color:#000}.cke_panel_listItem.cke_selected a{background-color:#92bce0;outline:0}.cke_hc .cke_panel_listItem a{border-style:none}.cke_hc .cke_panel_listItem a:active,.cke_hc .cke_panel_listItem a:focus,.cke_hc .cke_panel_listItem a:hover{border:2px solid;padding:1px 2px}.cke_panel_grouptitle{font-size:11px;font-weight:700;white-space:nowrap;margin:0;padding:6px;color:#474747;border-bottom:1px solid #aaa;background:#eee}.cke_panel_grouptitle:first-child{border-radius:4px 4px 0 0}.cke_panel_listItem h1,.cke_panel_listItem h2,.cke_panel_listItem h3,.cke_panel_listItem h4,.cke_panel_listItem h5,.cke_panel_listItem h6,.cke_panel_listItem p,.cke_panel_listItem pre{margin-top:0;margin-bottom:0}.cke_colorblock{padding:3px;font-size:11px;font-family:'Microsoft Sans Serif',Tahoma,Arial,Verdana,Sans-Serif}.cke_colorblock,.cke_colorblock a{text-decoration:none;color:#000}span.cke_colorbox{width:10px;height:10px;border:1px solid #aaa;float:left}.cke_rtl span.cke_colorbox{float:right}a.cke_colorbox{border:1px solid #fff;padding:2px;float:left;width:12px;height:12px;border-radius:2px}.cke_rtl a.cke_colorbox{float:right}a:active.cke_colorbox,a:focus.cke_colorbox,a:hover.cke_colorbox{border:1px solid #ddd;background-color:#eee}a.cke_colorauto,a.cke_colormore{border:1px solid #fff;padding:2px;display:block;cursor:pointer}a:active.cke_colorauto,a:active.cke_colormore,a:focus.cke_colorauto,a:focus.cke_colormore,a:hover.cke_colorauto,a:hover.cke_colormore{border:1px solid #ddd;background-color:#eee}.cke_toolbar{float:left}.cke_rtl .cke_toolbar{float:right}.cke_toolgroup{float:left;margin:0 6px 3px 0;padding:2px;border:1px solid #ddd;border-radius:4px;background:#fff}.cke_hc .cke_toolgroup{border:0;margin-right:10px;margin-bottom:10px}.cke_rtl .cke_toolgroup :first-child{border-radius:0 4px 4px 0}.cke_rtl .cke_toolgroup :last-child{border-radius:4px 0 0 4px}.cke_rtl .cke_toolgroup{float:right;margin-left:6px;margin-right:0}a.cke_button{display:inline-block;height:18px;padding:2px 4px;outline:0;cursor:default;float:left;border:0;border-radius:2px}.cke_rtl .cke_button{float:right}.cke_hc .cke_button{border:1px solid #000;padding:3px 5px;margin:-2px 4px 0 -2px}.cke_button_on{background:#92bce0}.cke_hc .cke_button_on,.cke_hc a.cke_button_disabled:active,.cke_hc a.cke_button_disabled:focus,.cke_hc a.cke_button_disabled:hover,.cke_hc a.cke_button_off:active,.cke_hc a.cke_button_off:focus,.cke_hc a.cke_button_off:hover{border-width:3px;padding:1px 3px}.cke_button_disabled .cke_button_icon{opacity:.3}.cke_hc .cke_button_disabled{opacity:.5}a.cke_button_disabled:active,a.cke_button_disabled:focus,a.cke_button_disabled:hover,a.cke_button_off:active,a.cke_button_off:focus,a.cke_button_off:hover{background:#e1edf7}.cke_button_icon{cursor:inherit;background-repeat:no-repeat;margin-top:1px;width:16px;height:16px;float:left;display:inline-block}.cke_rtl .cke_button_icon{float:right}.cke_hc .cke_button_icon{display:none}.cke_button_label{display:none;padding-left:3px;margin-top:1px;line-height:18px;vertical-align:middle;float:left;cursor:default;color:#555}.cke_rtl .cke_button_label{padding-right:3px;padding-left:0;float:right}.cke_hc .cke_button_label{padding:0;display:inline-block;font-size:12px}.cke_button_arrow{display:inline-block;margin:8px 0 0 1px;width:0;height:0;cursor:default;vertical-align:top;border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #474747}.cke_rtl .cke_button_arrow{margin-right:5px;margin-left:0}.cke_hc .cke_button_arrow{font-size:10px;margin:3px -2px 0 3px;width:auto;border:0}.cke_toolbar_separator{float:left;background-color:#ddd;margin:4px 2px 0;height:16px;width:1px}.cke_rtl .cke_toolbar_separator{float:right}.cke_hc .cke_toolbar_separator{width:0;border-left:1px solid;margin:1px 5px 0 0}.cke_toolbar_break{display:block;clear:left}.cke_rtl .cke_toolbar_break{clear:right}.cke_toolbox_collapser{width:12px;height:11px;float:right;margin:11px 0 0;font-size:0;cursor:default;text-align:center;border:1px solid #a6a6a6;border-bottom-color:#979797;border-radius:4px;background:#e4e4e4}.cke_toolbox_collapser:hover{background:#ccc}.cke_toolbox_collapser.cke_toolbox_collapser_min{margin:0 2px 4px}.cke_toolbox_collapser.cke_toolbox_collapser_min .cke_arrow{margin-top:4px;border-bottom-color:transparent;border-top-color:#474747}.cke_toolbox_collapser .cke_arrow{display:inline-block;height:0;width:0;font-size:0;margin-top:1px;border-left:3px solid transparent;border-right:3px solid transparent;border-bottom:3px solid #474747;border-top:3px solid transparent}.cke_rtl .cke_toolbox_collapser{float:left}.cke_hc .cke_toolbox_collapser .cke_arrow{font-size:8px;width:auto;border:0;margin-top:0;margin-right:2px}.cke_menubutton{display:block}.cke_button_icon{opacity:.8}.cke_menuitem span{cursor:default}.cke_menubutton:active,.cke_menubutton:focus,.cke_menubutton:hover{display:block}.cke_hc .cke_menubutton{padding:2px}.cke_hc .cke_menubutton:active,.cke_hc .cke_menubutton:focus,.cke_hc .cke_menubutton:hover{border:2px solid;padding:0}.cke_menubutton_inner{display:table-row}.cke_menuarrow,.cke_menubutton_icon,.cke_menubutton_label{display:table-cell}.cke_menubutton_icon{background-color:#d7d8d7;opacity:.7;filter:alpha(opacity=70);padding:4px}.cke_hc .cke_menubutton_icon{height:16px;width:0;padding:4px 0}.cke_menubutton:active .cke_menubutton_icon,.cke_menubutton:focus .cke_menubutton_icon,.cke_menubutton:hover .cke_menubutton_icon{background-color:#d0d2d0}.cke_menubutton_disabled:active .cke_menubutton_icon,.cke_menubutton_disabled:focus .cke_menubutton_icon,.cke_menubutton_disabled:hover .cke_menubutton_icon{opacity:.3;filter:alpha(opacity=30)}.cke_menubutton_label{padding:0 5px;background-color:transparent;width:100%;vertical-align:middle}.cke_menubutton_disabled .cke_menubutton_label{opacity:.3;filter:alpha(opacity=30)}.cke_menubutton_on{border:1px solid #dedede;background-color:#f2f2f2}.cke_menubutton_on .cke_menubutton_icon{padding-right:3px}.cke_menubutton:active,.cke_menubutton:focus,.cke_menubutton:hover{background-color:#eff0ef}.cke_panel_frame .cke_menubutton_label{display:none}.cke_menuseparator{background-color:#d3d3d3;height:1px;filter:alpha(opacity=70);opacity:.7}.cke_menuarrow{background-image:url(images/arrow.png);background-position:0 10px;background-repeat:no-repeat;padding:0 5px}.cke_menuarrow span{display:none}.cke_rtl .cke_menuarrow{background-position:5px -13px;background-repeat:no-repeat}.cke_hc .cke_menuarrow span{vertical-align:middle;display:inline}.cke_combo{display:inline-block;float:left}.cke_rtl .cke_combo{float:right}.cke_hc .cke_combo{margin-top:-2px}.cke_combo_label{display:none;float:left;line-height:26px;vertical-align:top;margin-right:5px}.cke_rtl .cke_combo_label{float:right;margin-left:5px;margin-right:0}.cke_combo_button{display:inline-block;float:left;margin:0 6px 5px 0;border:1px solid #ddd;border-radius:4px;background:#fff}.cke_combo_off a.cke_combo_button:focus,.cke_combo_off a.cke_combo_button:hover{outline:0}.cke_combo_off a.cke_combo_button:active,.cke_combo_on a.cke_combo_button{border-color:#333}.cke_rtl .cke_combo_button{float:right;margin-left:5px;margin-right:0}.cke_hc a.cke_combo_button{padding:3px}.cke_hc .cke_combo_off a.cke_combo_button:active,.cke_hc .cke_combo_off a.cke_combo_button:focus,.cke_hc .cke_combo_off a.cke_combo_button:hover,.cke_hc .cke_combo_on a.cke_combo_button{border-width:3px;padding:1px}.cke_combo_text{line-height:26px;padding-left:10px;text-overflow:ellipsis;overflow:hidden;float:left;cursor:default;color:#474747;width:60px}.cke_rtl .cke_combo_text{float:right;text-align:right;padding-left:0;padding-right:10px}.cke_hc .cke_combo_text{line-height:18px;font-size:12px}.cke_combo_open{cursor:default;display:inline-block;font-size:0;height:19px;line-height:17px;margin:1px 7px;width:5px}.cke_hc .cke_combo_open{height:12px}.cke_combo_arrow{margin:11px 0 0;float:left;height:0;width:0;font-size:0;border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #333}.cke_hc .cke_combo_arrow{font-size:10px;width:auto;border:0;margin-top:3px}.cke_combo_disabled .cke_combo_inlinelabel,.cke_combo_disabled .cke_combo_open{opacity:.3}.cke_path{float:left;margin:-2px 0 2px}.cke_path_empty,.cke_path_item{display:inline-block;float:left;padding:3px 4px;margin-right:2px;cursor:default;text-decoration:none;outline:0;border:0;color:#4c4c4c;font-weight:700;font-size:11px}.cke_rtl .cke_path,.cke_rtl .cke_path_empty,.cke_rtl .cke_path_item{float:right}a.cke_path_item:active,a.cke_path_item:focus,a.cke_path_item:hover{background-color:#bfbfbf;color:#333;border-radius:2px}.cke_hc a.cke_path_item:active,.cke_hc a.cke_path_item:focus,.cke_hc a.cke_path_item:hover{border:2px solid;padding:1px 2px}.cke_button__source_label,.cke_button__sourcedialog_label{display:inline}.cke_combo__fontsize .cke_combo_text{width:30px}.cke_combopanel__fontsize{width:120px}.cke_source{font-family:'Courier New',Monospace;font-size:small;background-color:#fff;white-space:pre}.cke_wysiwyg_div,.cke_wysiwyg_frame{background-color:#fff}.cke_chrome{visibility:inherit}.cke_voice_label,legend.cke_voice_label{display:none}.cke_button__about_icon{background:url(icons.png) no-repeat 0 -0px!important}.cke_rtl .cke_button__anchor_icon,.cke_mixed_dir_content .cke_rtl .cke_button__anchor_icon{background:url(icons.png) no-repeat 0 -24px!important}.cke_ltr .cke_button__anchor_icon{background:url(icons.png) no-repeat 0 -48px!important}.cke_button__bgcolor_icon{background:url(icons.png) no-repeat 0 -72px!important}.cke_button__bidiltr_icon{background:url(icons.png) no-repeat 0 -96px!important}.cke_button__bidirtl_icon{background:url(icons.png) no-repeat 0 -120px!important}.cke_button__blockquote_icon{background:url(icons.png) no-repeat 0 -144px!important}.cke_button__bold_icon{background:url(icons.png) no-repeat 0 -168px!important}.cke_rtl .cke_button__bulletedlist_icon,.cke_mixed_dir_content .cke_rtl .cke_button__bulletedlist_icon{background:url(icons.png) no-repeat 0 -192px!important}.cke_ltr .cke_button__bulletedlist_icon{background:url(icons.png) no-repeat 0 -216px!important}.cke_button__button_icon{background:url(icons.png) no-repeat 0 -240px!important}.cke_button__checkbox_icon{background:url(icons.png) no-repeat 0 -264px!important}.cke_rtl .cke_button__copy_icon,.cke_mixed_dir_content .cke_rtl .cke_button__copy_icon{background:url(icons.png) no-repeat 0 -288px!important}.cke_ltr .cke_button__copy_icon{background:url(icons.png) no-repeat 0 -312px!important}.cke_button__creatediv_icon{background:url(icons.png) no-repeat 0 -336px!important}.cke_rtl .cke_button__cut_icon,.cke_mixed_dir_content .cke_rtl .cke_button__cut_icon{background:url(icons.png) no-repeat 0 -360px!important}.cke_ltr .cke_button__cut_icon{background:url(icons.png) no-repeat 0 -384px!important}.cke_button__find_icon{background:url(icons.png) no-repeat 0 -408px!important}.cke_button__flash_icon{background:url(icons.png) no-repeat 0 -432px!important}.cke_button__form_icon{background:url(icons.png) no-repeat 0 -456px!important}.cke_rtl .cke_button__hiddenfield_icon,.cke_mixed_dir_content .cke_rtl .cke_button__hiddenfield_icon{background:url(icons.png) no-repeat 0 -480px!important}.cke_ltr .cke_button__hiddenfield_icon{background:url(icons.png) no-repeat 0 -504px!important}.cke_button__horizontalrule_icon{background:url(icons.png) no-repeat 0 -528px!important}.cke_button__iframe_icon{background:url(icons.png) no-repeat 0 -552px!important}.cke_button__image_icon{background:url(icons.png) no-repeat 0 -576px!important}.cke_button__imagebutton_icon{background:url(icons.png) no-repeat 0 -600px!important}.cke_rtl .cke_button__indent_icon,.cke_mixed_dir_content .cke_rtl .cke_button__indent_icon{background:url(icons.png) no-repeat 0 -624px!important}.cke_ltr .cke_button__indent_icon{background:url(icons.png) no-repeat 0 -648px!important}.cke_button__italic_icon{background:url(icons.png) no-repeat 0 -672px!important}.cke_button__justifyblock_icon{background:url(icons.png) no-repeat 0 -696px!important}.cke_button__justifycenter_icon{background:url(icons.png) no-repeat 0 -720px!important}.cke_button__justifyleft_icon{background:url(icons.png) no-repeat 0 -744px!important}.cke_button__justifyright_icon{background:url(icons.png) no-repeat 0 -768px!important}.cke_button__link_icon{background:url(icons.png) no-repeat 0 -792px!important}.cke_button__maximize_icon{background:url(icons.png) no-repeat 0 -816px!important}.cke_rtl .cke_button__newpage_icon,.cke_mixed_dir_content .cke_rtl .cke_button__newpage_icon{background:url(icons.png) no-repeat 0 -840px!important}.cke_ltr .cke_button__newpage_icon{background:url(icons.png) no-repeat 0 -864px!important}.cke_rtl .cke_button__numberedlist_icon,.cke_mixed_dir_content .cke_rtl .cke_button__numberedlist_icon{background:url(icons.png) no-repeat 0 -888px!important}.cke_ltr .cke_button__numberedlist_icon{background:url(icons.png) no-repeat 0 -912px!important}.cke_rtl .cke_button__outdent_icon,.cke_mixed_dir_content .cke_rtl .cke_button__outdent_icon{background:url(icons.png) no-repeat 0 -936px!important}.cke_ltr .cke_button__outdent_icon{background:url(icons.png) no-repeat 0 -960px!important}.cke_rtl .cke_button__pagebreak_icon,.cke_mixed_dir_content .cke_rtl .cke_button__pagebreak_icon{background:url(icons.png) no-repeat 0 -984px!important}.cke_ltr .cke_button__pagebreak_icon{background:url(icons.png) no-repeat 0 -1008px!important}.cke_rtl .cke_button__paste_icon,.cke_mixed_dir_content .cke_rtl .cke_button__paste_icon{background:url(icons.png) no-repeat 0 -1032px!important}.cke_ltr .cke_button__paste_icon{background:url(icons.png) no-repeat 0 -1056px!important}.cke_rtl .cke_button__pastefromword_icon,.cke_mixed_dir_content .cke_rtl .cke_button__pastefromword_icon{background:url(icons.png) no-repeat 0 -1080px!important}.cke_ltr .cke_button__pastefromword_icon{background:url(icons.png) no-repeat 0 -1104px!important}.cke_rtl .cke_button__pastetext_icon,.cke_mixed_dir_content .cke_rtl .cke_button__pastetext_icon{background:url(icons.png) no-repeat 0 -1128px!important}.cke_ltr .cke_button__pastetext_icon{background:url(icons.png) no-repeat 0 -1152px!important}.cke_rtl .cke_button__preview_icon,.cke_mixed_dir_content .cke_rtl .cke_button__preview_icon{background:url(icons.png) no-repeat 0 -1176px!important}.cke_ltr .cke_button__preview_icon{background:url(icons.png) no-repeat 0 -1200px!important}.cke_button__print_icon{background:url(icons.png) no-repeat 0 -1224px!important}.cke_button__radio_icon{background:url(icons.png) no-repeat 0 -1248px!important}.cke_rtl .cke_button__redo_icon,.cke_mixed_dir_content .cke_rtl .cke_button__redo_icon{background:url(icons.png) no-repeat 0 -1272px!important}.cke_ltr .cke_button__redo_icon{background:url(icons.png) no-repeat 0 -1296px!important}.cke_button__removeformat_icon{background:url(icons.png) no-repeat 0 -1320px!important}.cke_button__replace_icon{background:url(icons.png) no-repeat 0 -1344px!important}.cke_button__save_icon{background:url(icons.png) no-repeat 0 -1368px!important}.cke_button__scayt_icon{background:url(icons.png) no-repeat 0 -1392px!important}.cke_rtl .cke_button__select_icon,.cke_mixed_dir_content .cke_rtl .cke_button__select_icon{background:url(icons.png) no-repeat 0 -1416px!important}.cke_ltr .cke_button__select_icon{background:url(icons.png) no-repeat 0 -1440px!important}.cke_button__selectall_icon{background:url(icons.png) no-repeat 0 -1464px!important}.cke_rtl .cke_button__showblocks_icon,.cke_mixed_dir_content .cke_rtl .cke_button__showblocks_icon{background:url(icons.png) no-repeat 0 -1488px!important}.cke_ltr .cke_button__showblocks_icon{background:url(icons.png) no-repeat 0 -1512px!important}.cke_button__smiley_icon{background:url(icons.png) no-repeat 0 -1536px!important}.cke_rtl .cke_button__source_icon,.cke_mixed_dir_content .cke_rtl .cke_button__source_icon{background:url(icons.png) no-repeat 0 -1560px!important}.cke_ltr .cke_button__source_icon{background:url(icons.png) no-repeat 0 -1584px!important}.cke_button__specialchar_icon{background:url(icons.png) no-repeat 0 -1608px!important}.cke_button__spellchecker_icon{background:url(icons.png) no-repeat 0 -1632px!important}.cke_button__strike_icon{background:url(icons.png) no-repeat 0 -1656px!important}.cke_button__subscript_icon{background:url(icons.png) no-repeat 0 -1680px!important}.cke_button__superscript_icon{background:url(icons.png) no-repeat 0 -1704px!important}.cke_button__table_icon{background:url(icons.png) no-repeat 0 -1728px!important}.cke_rtl .cke_button__templates_icon,.cke_mixed_dir_content .cke_rtl .cke_button__templates_icon{background:url(icons.png) no-repeat 0 -1752px!important}.cke_ltr .cke_button__templates_icon{background:url(icons.png) no-repeat 0 -1776px!important}.cke_rtl .cke_button__textarea_icon,.cke_mixed_dir_content .cke_rtl .cke_button__textarea_icon{background:url(icons.png) no-repeat 0 -1800px!important}.cke_ltr .cke_button__textarea_icon{background:url(icons.png) no-repeat 0 -1824px!important}.cke_button__textcolor_icon{background:url(icons.png) no-repeat 0 -1848px!important}.cke_rtl .cke_button__textfield_icon,.cke_mixed_dir_content .cke_rtl .cke_button__textfield_icon{background:url(icons.png) no-repeat 0 -1872px!important}.cke_ltr .cke_button__textfield_icon{background:url(icons.png) no-repeat 0 -1896px!important}.cke_button__underline_icon{background:url(icons.png) no-repeat 0 -1920px!important}.cke_rtl .cke_button__undo_icon,.cke_mixed_dir_content .cke_rtl .cke_button__undo_icon{background:url(icons.png) no-repeat 0 -1944px!important}.cke_ltr .cke_button__undo_icon{background:url(icons.png) no-repeat 0 -1968px!important}.cke_button__unlink_icon{background:url(icons.png) no-repeat 0 -1992px!important}.cke_hidpi .cke_button__about_icon{background:url(icons_hidpi.png) no-repeat 0 -0px!important;background-size:16px!important}.cke_rtl.cke_hidpi .cke_button__anchor_icon,.cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__anchor_icon{background:url(icons_hidpi.png) no-repeat 0 -24px!important;background-size:16px!important}.cke_hidpi .cke_ltr .cke_button__anchor_icon,.cke_ltr.cke_hidpi .cke_button__anchor_icon{background:url(icons_hidpi.png) no-repeat 0 -48px!important;background-size:16px!important}.cke_hidpi .cke_button__bgcolor_icon{background:url(icons_hidpi.png) no-repeat 0 -72px!important;background-size:16px!important}.cke_hidpi .cke_button__bidiltr_icon{background:url(icons_hidpi.png) no-repeat 0 -96px!important;background-size:16px!important}.cke_hidpi .cke_button__bidirtl_icon{background:url(icons_hidpi.png) no-repeat 0 -120px!important;background-size:16px!important}.cke_hidpi .cke_button__blockquote_icon{background:url(icons_hidpi.png) no-repeat 0 -144px!important;background-size:16px!important}.cke_hidpi .cke_button__bold_icon{background:url(icons_hidpi.png) no-repeat 0 -168px!important;background-size:16px!important}.cke_rtl.cke_hidpi .cke_button__bulletedlist_icon,.cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__bulletedlist_icon{background:url(icons_hidpi.png) no-repeat 0 -192px!important;background-size:16px!important}.cke_hidpi .cke_ltr .cke_button__bulletedlist_icon,.cke_ltr.cke_hidpi .cke_button__bulletedlist_icon{background:url(icons_hidpi.png) no-repeat 0 -216px!important;background-size:16px!important}.cke_hidpi .cke_button__button_icon{background:url(icons_hidpi.png) no-repeat 0 -240px!important;background-size:16px!important}.cke_hidpi .cke_button__checkbox_icon{background:url(icons_hidpi.png) no-repeat 0 -264px!important;background-size:16px!important}.cke_rtl.cke_hidpi .cke_button__copy_icon,.cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__copy_icon{background:url(icons_hidpi.png) no-repeat 0 -288px!important;background-size:16px!important}.cke_hidpi .cke_ltr .cke_button__copy_icon,.cke_ltr.cke_hidpi .cke_button__copy_icon{background:url(icons_hidpi.png) no-repeat 0 -312px!important;background-size:16px!important}.cke_hidpi .cke_button__creatediv_icon{background:url(icons_hidpi.png) no-repeat 0 -336px!important;background-size:16px!important}.cke_rtl.cke_hidpi .cke_button__cut_icon,.cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__cut_icon{background:url(icons_hidpi.png) no-repeat 0 -360px!important;background-size:16px!important}.cke_hidpi .cke_ltr .cke_button__cut_icon,.cke_ltr.cke_hidpi .cke_button__cut_icon{background:url(icons_hidpi.png) no-repeat 0 -384px!important;background-size:16px!important}.cke_hidpi .cke_button__find_icon{background:url(icons_hidpi.png) no-repeat 0 -408px!important;background-size:16px!important}.cke_hidpi .cke_button__flash_icon{background:url(icons_hidpi.png) no-repeat 0 -432px!important;background-size:16px!important}.cke_hidpi .cke_button__form_icon{background:url(icons_hidpi.png) no-repeat 0 -456px!important;background-size:16px!important}.cke_rtl.cke_hidpi .cke_button__hiddenfield_icon,.cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__hiddenfield_icon{background:url(icons_hidpi.png) no-repeat 0 -480px!important;background-size:16px!important}.cke_hidpi .cke_ltr .cke_button__hiddenfield_icon,.cke_ltr.cke_hidpi .cke_button__hiddenfield_icon{background:url(icons_hidpi.png) no-repeat 0 -504px!important;background-size:16px!important}.cke_hidpi .cke_button__horizontalrule_icon{background:url(icons_hidpi.png) no-repeat 0 -528px!important;background-size:16px!important}.cke_hidpi .cke_button__iframe_icon{background:url(icons_hidpi.png) no-repeat 0 -552px!important;background-size:16px!important}.cke_hidpi .cke_button__image_icon{background:url(icons_hidpi.png) no-repeat 0 -576px!important;background-size:16px!important}.cke_hidpi .cke_button__imagebutton_icon{background:url(icons_hidpi.png) no-repeat 0 -600px!important;background-size:16px!important}.cke_rtl.cke_hidpi .cke_button__indent_icon,.cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__indent_icon{background:url(icons_hidpi.png) no-repeat 0 -624px!important;background-size:16px!important}.cke_hidpi .cke_ltr .cke_button__indent_icon,.cke_ltr.cke_hidpi .cke_button__indent_icon{background:url(icons_hidpi.png) no-repeat 0 -648px!important;background-size:16px!important}.cke_hidpi .cke_button__italic_icon{background:url(icons_hidpi.png) no-repeat 0 -672px!important;background-size:16px!important}.cke_hidpi .cke_button__justifyblock_icon{background:url(icons_hidpi.png) no-repeat 0 -696px!important;background-size:16px!important}.cke_hidpi .cke_button__justifycenter_icon{background:url(icons_hidpi.png) no-repeat 0 -720px!important;background-size:16px!important}.cke_hidpi .cke_button__justifyleft_icon{background:url(icons_hidpi.png) no-repeat 0 -744px!important;background-size:16px!important}.cke_hidpi .cke_button__justifyright_icon{background:url(icons_hidpi.png) no-repeat 0 -768px!important;background-size:16px!important}.cke_hidpi .cke_button__link_icon{background:url(icons_hidpi.png) no-repeat 0 -792px!important;background-size:16px!important}.cke_hidpi .cke_button__maximize_icon{background:url(icons_hidpi.png) no-repeat 0 -816px!important;background-size:16px!important}.cke_rtl.cke_hidpi .cke_button__newpage_icon,.cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__newpage_icon{background:url(icons_hidpi.png) no-repeat 0 -840px!important;background-size:16px!important}.cke_hidpi .cke_ltr .cke_button__newpage_icon,.cke_ltr.cke_hidpi .cke_button__newpage_icon{background:url(icons_hidpi.png) no-repeat 0 -864px!important;background-size:16px!important}.cke_rtl.cke_hidpi .cke_button__numberedlist_icon,.cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__numberedlist_icon{background:url(icons_hidpi.png) no-repeat 0 -888px!important;background-size:16px!important}.cke_hidpi .cke_ltr .cke_button__numberedlist_icon,.cke_ltr.cke_hidpi .cke_button__numberedlist_icon{background:url(icons_hidpi.png) no-repeat 0 -912px!important;background-size:16px!important}.cke_rtl.cke_hidpi .cke_button__outdent_icon,.cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__outdent_icon{background:url(icons_hidpi.png) no-repeat 0 -936px!important;background-size:16px!important}.cke_hidpi .cke_ltr .cke_button__outdent_icon,.cke_ltr.cke_hidpi .cke_button__outdent_icon{background:url(icons_hidpi.png) no-repeat 0 -960px!important;background-size:16px!important}.cke_rtl.cke_hidpi .cke_button__pagebreak_icon,.cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__pagebreak_icon{background:url(icons_hidpi.png) no-repeat 0 -984px!important;background-size:16px!important}.cke_hidpi .cke_ltr .cke_button__pagebreak_icon,.cke_ltr.cke_hidpi .cke_button__pagebreak_icon{background:url(icons_hidpi.png) no-repeat 0 -1008px!important;background-size:16px!important}.cke_rtl.cke_hidpi .cke_button__paste_icon,.cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__paste_icon{background:url(icons_hidpi.png) no-repeat 0 -1032px!important;background-size:16px!important}.cke_hidpi .cke_ltr .cke_button__paste_icon,.cke_ltr.cke_hidpi .cke_button__paste_icon{background:url(icons_hidpi.png) no-repeat 0 -1056px!important;background-size:16px!important}.cke_rtl.cke_hidpi .cke_button__pastefromword_icon,.cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__pastefromword_icon{background:url(icons_hidpi.png) no-repeat 0 -1080px!important;background-size:16px!important}.cke_hidpi .cke_ltr .cke_button__pastefromword_icon,.cke_ltr.cke_hidpi .cke_button__pastefromword_icon{background:url(icons_hidpi.png) no-repeat 0 -1104px!important;background-size:16px!important}.cke_rtl.cke_hidpi .cke_button__pastetext_icon,.cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__pastetext_icon{background:url(icons_hidpi.png) no-repeat 0 -1128px!important;background-size:16px!important}.cke_hidpi .cke_ltr .cke_button__pastetext_icon,.cke_ltr.cke_hidpi .cke_button__pastetext_icon{background:url(icons_hidpi.png) no-repeat 0 -1152px!important;background-size:16px!important}.cke_rtl.cke_hidpi .cke_button__preview_icon,.cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__preview_icon{background:url(icons_hidpi.png) no-repeat 0 -1176px!important;background-size:16px!important}.cke_hidpi .cke_ltr .cke_button__preview_icon,.cke_ltr.cke_hidpi .cke_button__preview_icon{background:url(icons_hidpi.png) no-repeat 0 -1200px!important;background-size:16px!important}.cke_hidpi .cke_button__print_icon{background:url(icons_hidpi.png) no-repeat 0 -1224px!important;background-size:16px!important}.cke_hidpi .cke_button__radio_icon{background:url(icons_hidpi.png) no-repeat 0 -1248px!important;background-size:16px!important}.cke_rtl.cke_hidpi .cke_button__redo_icon,.cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__redo_icon{background:url(icons_hidpi.png) no-repeat 0 -1272px!important;background-size:16px!important}.cke_hidpi .cke_ltr .cke_button__redo_icon,.cke_ltr.cke_hidpi .cke_button__redo_icon{background:url(icons_hidpi.png) no-repeat 0 -1296px!important;background-size:16px!important}.cke_hidpi .cke_button__removeformat_icon{background:url(icons_hidpi.png) no-repeat 0 -1320px!important;background-size:16px!important}.cke_hidpi .cke_button__replace_icon{background:url(icons_hidpi.png) no-repeat 0 -1344px!important;background-size:16px!important}.cke_hidpi .cke_button__save_icon{background:url(icons_hidpi.png) no-repeat 0 -1368px!important;background-size:16px!important}.cke_hidpi .cke_button__scayt_icon{background:url(icons_hidpi.png) no-repeat 0 -1392px!important;background-size:16px!important}.cke_rtl.cke_hidpi .cke_button__select_icon,.cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__select_icon{background:url(icons_hidpi.png) no-repeat 0 -1416px!important;background-size:16px!important}.cke_hidpi .cke_ltr .cke_button__select_icon,.cke_ltr.cke_hidpi .cke_button__select_icon{background:url(icons_hidpi.png) no-repeat 0 -1440px!important;background-size:16px!important}.cke_hidpi .cke_button__selectall_icon{background:url(icons_hidpi.png) no-repeat 0 -1464px!important;background-size:16px!important}.cke_rtl.cke_hidpi .cke_button__showblocks_icon,.cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__showblocks_icon{background:url(icons_hidpi.png) no-repeat 0 -1488px!important;background-size:16px!important}.cke_hidpi .cke_ltr .cke_button__showblocks_icon,.cke_ltr.cke_hidpi .cke_button__showblocks_icon{background:url(icons_hidpi.png) no-repeat 0 -1512px!important;background-size:16px!important}.cke_hidpi .cke_button__smiley_icon{background:url(icons_hidpi.png) no-repeat 0 -1536px!important;background-size:16px!important}.cke_rtl.cke_hidpi .cke_button__source_icon,.cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__source_icon{background:url(icons_hidpi.png) no-repeat 0 -1560px!important;background-size:16px!important}.cke_hidpi .cke_ltr .cke_button__source_icon,.cke_ltr.cke_hidpi .cke_button__source_icon{background:url(icons_hidpi.png) no-repeat 0 -1584px!important;background-size:16px!important}.cke_hidpi .cke_button__specialchar_icon{background:url(icons_hidpi.png) no-repeat 0 -1608px!important;background-size:16px!important}.cke_hidpi .cke_button__spellchecker_icon{background:url(icons_hidpi.png) no-repeat 0 -1632px!important;background-size:16px!important}.cke_hidpi .cke_button__strike_icon{background:url(icons_hidpi.png) no-repeat 0 -1656px!important;background-size:16px!important}.cke_hidpi .cke_button__subscript_icon{background:url(icons_hidpi.png) no-repeat 0 -1680px!important;background-size:16px!important}.cke_hidpi .cke_button__superscript_icon{background:url(icons_hidpi.png) no-repeat 0 -1704px!important;background-size:16px!important}.cke_hidpi .cke_button__table_icon{background:url(icons_hidpi.png) no-repeat 0 -1728px!important;background-size:16px!important}.cke_rtl.cke_hidpi .cke_button__templates_icon,.cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__templates_icon{background:url(icons_hidpi.png) no-repeat 0 -1752px!important;background-size:16px!important}.cke_hidpi .cke_ltr .cke_button__templates_icon,.cke_ltr.cke_hidpi .cke_button__templates_icon{background:url(icons_hidpi.png) no-repeat 0 -1776px!important;background-size:16px!important}.cke_rtl.cke_hidpi .cke_button__textarea_icon,.cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__textarea_icon{background:url(icons_hidpi.png) no-repeat 0 -1800px!important;background-size:16px!important}.cke_hidpi .cke_ltr .cke_button__textarea_icon,.cke_ltr.cke_hidpi .cke_button__textarea_icon{background:url(icons_hidpi.png) no-repeat 0 -1824px!important;background-size:16px!important}.cke_hidpi .cke_button__textcolor_icon{background:url(icons_hidpi.png) no-repeat 0 -1848px!important;background-size:16px!important}.cke_rtl.cke_hidpi .cke_button__textfield_icon,.cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__textfield_icon{background:url(icons_hidpi.png) no-repeat 0 -1872px!important;background-size:16px!important}.cke_hidpi .cke_ltr .cke_button__textfield_icon,.cke_ltr.cke_hidpi .cke_button__textfield_icon{background:url(icons_hidpi.png) no-repeat 0 -1896px!important;background-size:16px!important}.cke_hidpi .cke_button__underline_icon{background:url(icons_hidpi.png) no-repeat 0 -1920px!important;background-size:16px!important}.cke_rtl.cke_hidpi .cke_button__undo_icon,.cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__undo_icon{background:url(icons_hidpi.png) no-repeat 0 -1944px!important;background-size:16px!important}.cke_hidpi .cke_ltr .cke_button__undo_icon,.cke_ltr.cke_hidpi .cke_button__undo_icon{background:url(icons_hidpi.png) no-repeat 0 -1968px!important;background-size:16px!important}.cke_hidpi .cke_button__unlink_icon{background:url(icons_hidpi.png) no-repeat 0 -1992px!important;background-size:16px!important}.cke_button__about_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -0px !important;}.cke_button__bold_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -24px !important;}.cke_button__italic_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -48px !important;}.cke_button__strike_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -72px !important;}.cke_button__subscript_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -96px !important;}.cke_button__superscript_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -120px !important;}.cke_button__underline_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -144px !important;}.cke_button__bidiltr_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -168px !important;}.cke_button__bidirtl_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -192px !important;}.cke_button__blockquote_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -216px !important;}.cke_rtl .cke_button__copy_icon, .cke_mixed_dir_content .cke_rtl .cke_button__copy_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -240px !important;}.cke_ltr .cke_button__copy_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -264px !important;}.cke_rtl .cke_button__cut_icon, .cke_mixed_dir_content .cke_rtl .cke_button__cut_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -288px !important;}.cke_ltr .cke_button__cut_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -312px !important;}.cke_rtl .cke_button__paste_icon, .cke_mixed_dir_content .cke_rtl .cke_button__paste_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -336px !important;}.cke_ltr .cke_button__paste_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -360px !important;}.cke_button__bgcolor_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -384px !important;}.cke_button__textcolor_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -408px !important;}.cke_rtl .cke_button__templates_icon, .cke_mixed_dir_content .cke_rtl .cke_button__templates_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -432px !important;}.cke_ltr .cke_button__templates_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -456px !important;}.cke_button__creatediv_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -480px !important;}.cke_rtl .cke_button__find_icon, .cke_mixed_dir_content .cke_rtl .cke_button__find_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -504px !important;}.cke_ltr .cke_button__find_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -528px !important;}.cke_button__replace_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -552px !important;}.cke_button__flash_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -576px !important;}.cke_button__button_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -600px !important;}.cke_button__checkbox_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -624px !important;}.cke_button__form_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -648px !important;}.cke_button__hiddenfield_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -672px !important;}.cke_button__imagebutton_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -696px !important;}.cke_button__radio_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -720px !important;}.cke_rtl .cke_button__select_icon, .cke_mixed_dir_content .cke_rtl .cke_button__select_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -744px !important;}.cke_ltr .cke_button__select_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -768px !important;}.cke_rtl .cke_button__textarea_icon, .cke_mixed_dir_content .cke_rtl .cke_button__textarea_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -792px !important;}.cke_ltr .cke_button__textarea_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -816px !important;}.cke_rtl .cke_button__textfield_icon, .cke_mixed_dir_content .cke_rtl .cke_button__textfield_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -840px !important;}.cke_ltr .cke_button__textfield_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -864px !important;}.cke_button__horizontalrule_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -888px !important;}.cke_button__iframe_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -912px !important;}.cke_button__image_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -936px !important;}.cke_rtl .cke_button__indent_icon, .cke_mixed_dir_content .cke_rtl .cke_button__indent_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -960px !important;}.cke_ltr .cke_button__indent_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -984px !important;}.cke_rtl .cke_button__outdent_icon, .cke_mixed_dir_content .cke_rtl .cke_button__outdent_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1008px !important;}.cke_ltr .cke_button__outdent_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1032px !important;}.cke_button__smiley_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1056px !important;}.cke_button__justifyblock_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1080px !important;}.cke_button__justifycenter_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1104px !important;}.cke_button__justifyleft_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1128px !important;}.cke_button__justifyright_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1152px !important;}.cke_button__language_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1176px !important;}.cke_rtl .cke_button__anchor_icon, .cke_mixed_dir_content .cke_rtl .cke_button__anchor_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1200px !important;}.cke_ltr .cke_button__anchor_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1224px !important;}.cke_button__link_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1248px !important;}.cke_button__unlink_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1272px !important;}.cke_rtl .cke_button__bulletedlist_icon, .cke_mixed_dir_content .cke_rtl .cke_button__bulletedlist_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1296px !important;}.cke_ltr .cke_button__bulletedlist_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1320px !important;}.cke_rtl .cke_button__numberedlist_icon, .cke_mixed_dir_content .cke_rtl .cke_button__numberedlist_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1344px !important;}.cke_ltr .cke_button__numberedlist_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1368px !important;}.cke_button__maximize_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1392px !important;}.cke_rtl .cke_button__newpage_icon, .cke_mixed_dir_content .cke_rtl .cke_button__newpage_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1416px !important;}.cke_ltr .cke_button__newpage_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1440px !important;}.cke_rtl .cke_button__pagebreak_icon, .cke_mixed_dir_content .cke_rtl .cke_button__pagebreak_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1464px !important;}.cke_ltr .cke_button__pagebreak_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1488px !important;}.cke_rtl .cke_button__pastetext_icon, .cke_mixed_dir_content .cke_rtl .cke_button__pastetext_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1512px !important;}.cke_ltr .cke_button__pastetext_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1536px !important;}.cke_rtl .cke_button__pastefromword_icon, .cke_mixed_dir_content .cke_rtl .cke_button__pastefromword_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1560px !important;}.cke_ltr .cke_button__pastefromword_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1584px !important;}.cke_rtl .cke_button__preview_icon, .cke_mixed_dir_content .cke_rtl .cke_button__preview_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1608px !important;}.cke_ltr .cke_button__preview_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1632px !important;}.cke_button__print_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1656px !important;}.cke_button__removeformat_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1680px !important;}.cke_button__save_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1704px !important;}.cke_button__selectall_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1728px !important;}.cke_rtl .cke_button__showblocks_icon, .cke_mixed_dir_content .cke_rtl .cke_button__showblocks_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1752px !important;}.cke_ltr .cke_button__showblocks_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1776px !important;}.cke_rtl .cke_button__source_icon, .cke_mixed_dir_content .cke_rtl .cke_button__source_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1800px !important;}.cke_ltr .cke_button__source_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1824px !important;}.cke_button__specialchar_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1848px !important;}.cke_button__scayt_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1872px !important;}.cke_button__table_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1896px !important;}.cke_rtl .cke_button__redo_icon, .cke_mixed_dir_content .cke_rtl .cke_button__redo_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1920px !important;}.cke_ltr .cke_button__redo_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1944px !important;}.cke_rtl .cke_button__undo_icon, .cke_mixed_dir_content .cke_rtl .cke_button__undo_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1968px !important;}.cke_ltr .cke_button__undo_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1992px !important;}.cke_button__spellchecker_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -2016px !important;}.cke_hidpi .cke_button__about_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -0px !important;background-size: 16px !important;}.cke_hidpi .cke_button__bold_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -24px !important;background-size: 16px !important;}.cke_hidpi .cke_button__italic_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -48px !important;background-size: 16px !important;}.cke_hidpi .cke_button__strike_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -72px !important;background-size: 16px !important;}.cke_hidpi .cke_button__subscript_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -96px !important;background-size: 16px !important;}.cke_hidpi .cke_button__superscript_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -120px !important;background-size: 16px !important;}.cke_hidpi .cke_button__underline_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -144px !important;background-size: 16px !important;}.cke_hidpi .cke_button__bidiltr_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -168px !important;background-size: 16px !important;}.cke_hidpi .cke_button__bidirtl_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -192px !important;background-size: 16px !important;}.cke_hidpi .cke_button__blockquote_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -216px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__copy_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__copy_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -240px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__copy_icon,.cke_ltr.cke_hidpi .cke_button__copy_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -264px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__cut_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__cut_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -288px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__cut_icon,.cke_ltr.cke_hidpi .cke_button__cut_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -312px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__paste_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__paste_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -336px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__paste_icon,.cke_ltr.cke_hidpi .cke_button__paste_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -360px !important;background-size: 16px !important;}.cke_hidpi .cke_button__bgcolor_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -384px !important;background-size: 16px !important;}.cke_hidpi .cke_button__textcolor_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -408px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__templates_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__templates_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -432px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__templates_icon,.cke_ltr.cke_hidpi .cke_button__templates_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -456px !important;background-size: 16px !important;}.cke_hidpi .cke_button__creatediv_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -480px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__find_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__find_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -504px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__find_icon,.cke_ltr.cke_hidpi .cke_button__find_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -528px !important;background-size: 16px !important;}.cke_hidpi .cke_button__replace_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -552px !important;background-size: 16px !important;}.cke_hidpi .cke_button__flash_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -576px !important;background-size: 16px !important;}.cke_hidpi .cke_button__button_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -600px !important;background-size: 16px !important;}.cke_hidpi .cke_button__checkbox_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -624px !important;background-size: 16px !important;}.cke_hidpi .cke_button__form_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -648px !important;background-size: 16px !important;}.cke_hidpi .cke_button__hiddenfield_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -672px !important;background-size: 16px !important;}.cke_hidpi .cke_button__imagebutton_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -696px !important;background-size: 16px !important;}.cke_hidpi .cke_button__radio_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -720px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__select_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__select_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -744px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__select_icon,.cke_ltr.cke_hidpi .cke_button__select_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -768px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__textarea_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__textarea_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -792px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__textarea_icon,.cke_ltr.cke_hidpi .cke_button__textarea_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -816px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__textfield_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__textfield_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -840px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__textfield_icon,.cke_ltr.cke_hidpi .cke_button__textfield_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -864px !important;background-size: 16px !important;}.cke_hidpi .cke_button__horizontalrule_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -888px !important;background-size: 16px !important;}.cke_hidpi .cke_button__iframe_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -912px !important;background-size: 16px !important;}.cke_hidpi .cke_button__image_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -936px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__indent_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__indent_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -960px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__indent_icon,.cke_ltr.cke_hidpi .cke_button__indent_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -984px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__outdent_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__outdent_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1008px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__outdent_icon,.cke_ltr.cke_hidpi .cke_button__outdent_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1032px !important;background-size: 16px !important;}.cke_hidpi .cke_button__smiley_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1056px !important;background-size: 16px !important;}.cke_hidpi .cke_button__justifyblock_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1080px !important;background-size: 16px !important;}.cke_hidpi .cke_button__justifycenter_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1104px !important;background-size: 16px !important;}.cke_hidpi .cke_button__justifyleft_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1128px !important;background-size: 16px !important;}.cke_hidpi .cke_button__justifyright_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1152px !important;background-size: 16px !important;}.cke_hidpi .cke_button__language_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1176px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__anchor_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__anchor_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1200px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__anchor_icon,.cke_ltr.cke_hidpi .cke_button__anchor_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1224px !important;background-size: 16px !important;}.cke_hidpi .cke_button__link_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1248px !important;background-size: 16px !important;}.cke_hidpi .cke_button__unlink_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1272px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__bulletedlist_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__bulletedlist_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1296px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__bulletedlist_icon,.cke_ltr.cke_hidpi .cke_button__bulletedlist_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1320px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__numberedlist_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__numberedlist_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1344px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__numberedlist_icon,.cke_ltr.cke_hidpi .cke_button__numberedlist_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1368px !important;background-size: 16px !important;}.cke_hidpi .cke_button__maximize_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1392px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__newpage_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__newpage_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1416px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__newpage_icon,.cke_ltr.cke_hidpi .cke_button__newpage_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1440px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__pagebreak_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__pagebreak_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1464px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__pagebreak_icon,.cke_ltr.cke_hidpi .cke_button__pagebreak_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1488px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__pastetext_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__pastetext_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1512px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__pastetext_icon,.cke_ltr.cke_hidpi .cke_button__pastetext_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1536px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__pastefromword_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__pastefromword_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1560px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__pastefromword_icon,.cke_ltr.cke_hidpi .cke_button__pastefromword_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1584px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__preview_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__preview_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1608px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__preview_icon,.cke_ltr.cke_hidpi .cke_button__preview_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1632px !important;background-size: 16px !important;}.cke_hidpi .cke_button__print_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1656px !important;background-size: 16px !important;}.cke_hidpi .cke_button__removeformat_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1680px !important;background-size: 16px !important;}.cke_hidpi .cke_button__save_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1704px !important;background-size: 16px !important;}.cke_hidpi .cke_button__selectall_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1728px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__showblocks_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__showblocks_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1752px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__showblocks_icon,.cke_ltr.cke_hidpi .cke_button__showblocks_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1776px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__source_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__source_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1800px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__source_icon,.cke_ltr.cke_hidpi .cke_button__source_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1824px !important;background-size: 16px !important;}.cke_hidpi .cke_button__specialchar_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1848px !important;background-size: 16px !important;}.cke_hidpi .cke_button__scayt_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1872px !important;background-size: 16px !important;}.cke_hidpi .cke_button__table_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1896px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__redo_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__redo_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1920px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__redo_icon,.cke_ltr.cke_hidpi .cke_button__redo_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1944px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__undo_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__undo_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1968px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__undo_icon,.cke_ltr.cke_hidpi .cke_button__undo_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1992px !important;background-size: 16px !important;}.cke_hidpi .cke_button__spellchecker_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -2016px !important;background-size: 16px !important;} diff --git a/unauthenticated/js/ckeditor/skins/bootstrapck/editor_gecko.css b/unauthenticated/js/ckeditor/skins/bootstrapck/editor_gecko.css new file mode 100644 index 000000000..bec2b2e53 --- /dev/null +++ b/unauthenticated/js/ckeditor/skins/bootstrapck/editor_gecko.css @@ -0,0 +1 @@ +.cke_reset{margin:0;padding:0;border:0;background:0;text-decoration:none;width:auto;height:auto;vertical-align:baseline;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;position:static;-webkit-transition:none;-moz-transition:none;-ms-transition:none;transition:none}.cke_reset_all,.cke_reset_all *{margin:0;padding:0;border:0;background:0;text-decoration:none;width:auto;height:auto;vertical-align:baseline;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;position:static;-webkit-transition:none;-moz-transition:none;-ms-transition:none;transition:none;border-collapse:collapse;font:normal normal normal 12px Arial,Helvetica,Tahoma,Verdana,Sans-Serif;color:#333;text-align:left;white-space:nowrap;cursor:auto;float:none}.cke_reset_all .cke_rtl *{text-align:right}.cke_reset_all iframe{vertical-align:inherit}.cke_reset_all textarea{white-space:pre}.cke_reset_all input[type=password],.cke_reset_all input[type=text],.cke_reset_all textarea{cursor:text}.cke_reset_all input[type=password][disabled],.cke_reset_all input[type=text][disabled],.cke_reset_all textarea[disabled]{cursor:default}.cke_reset_all fieldset{padding:10px;margin-top:10px;border:1px solid #ddd}.cke_reset_all fieldset legend{padding:0 5px}.cke_reset_all select{box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}.cke_chrome{display:block;border:1px solid #ddd;border-radius:4px;padding:0 3px;background:#eee}.cke_inner{display:block;-webkit-touch-callout:none;background:0;padding:0}.cke_float{border:0}.cke_float .cke_inner{padding-bottom:0}.cke_float .cke_top{border:1px solid #ddd}.cke_bottom,.cke_contents,.cke_top{display:block;overflow:hidden}.cke_bottom,.cke_top{padding:3px 0 0;background:#eee}.cke_top{white-space:normal}.cke_contents{background-color:#fff;border:1px solid #ddd;border-radius:4px}.cke_bottom{position:relative}.cke_browser_ios .cke_contents{overflow-y:auto;-webkit-overflow-scrolling:touch}.cke_resizer{width:0;height:0;overflow:hidden;border-width:10px 10px 0 0;border-color:transparent #555 transparent transparent;border-style:dashed solid dashed dashed;font-size:0;vertical-align:bottom;margin-top:6px;margin-bottom:2px}.cke_hc .cke_resizer{font-size:15px;width:auto;height:auto;border-width:0}.cke_resizer_ltr{cursor:se-resize;float:right;margin-right:-4px}.cke_resizer_rtl{border-width:10px 0 0 10px;border-color:transparent transparent transparent #aaa;border-style:dashed dashed dashed solid;cursor:sw-resize;float:left;margin-left:-4px;right:auto}.cke_wysiwyg_div{display:block;height:100%;overflow:auto;padding:0 8px;outline-style:none;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.cke_panel{visibility:visible;width:120px;height:100px;overflow:hidden;margin-top:5px;background-color:#fff;border:1px solid #aaa;border-radius:4px}.cke_menu_panel{padding:0;margin:0}.cke_combopanel{width:150px;height:178px}.cke_panel_frame{width:100%;height:100%;font-size:12px;overflow:auto;overflow-x:hidden}.cke_panel_container{overflow-y:auto;overflow-x:hidden}.cke_panel_list{list-style-type:none;margin:3px;padding:0;white-space:nowrap}.cke_panel_listItem{margin:0;padding-bottom:1px}.cke_panel_listItem a{padding:3px 4px;display:block;border:1px solid #fff;color:inherit!important;text-decoration:none;overflow:hidden;text-overflow:ellipsis;border-radius:2px}.cke_panel_listItem a:active,.cke_panel_listItem a:focus,.cke_panel_listItem a:hover{background-color:#e1edf7}* html .cke_panel_listItem a{width:100%;color:#000}:first-child+html .cke_panel_listItem a{color:#000}.cke_panel_listItem.cke_selected a{background-color:#92bce0;outline:0}.cke_hc .cke_panel_listItem a{border-style:none}.cke_hc .cke_panel_listItem a:active,.cke_hc .cke_panel_listItem a:focus,.cke_hc .cke_panel_listItem a:hover{border:2px solid;padding:1px 2px}.cke_panel_grouptitle{font-size:11px;font-weight:700;white-space:nowrap;margin:0;padding:6px;color:#474747;border-bottom:1px solid #aaa;background:#eee}.cke_panel_grouptitle:first-child{border-radius:4px 4px 0 0}.cke_panel_listItem h1,.cke_panel_listItem h2,.cke_panel_listItem h3,.cke_panel_listItem h4,.cke_panel_listItem h5,.cke_panel_listItem h6,.cke_panel_listItem p,.cke_panel_listItem pre{margin-top:0;margin-bottom:0}.cke_colorblock{padding:3px;font-size:11px;font-family:'Microsoft Sans Serif',Tahoma,Arial,Verdana,Sans-Serif}.cke_colorblock,.cke_colorblock a{text-decoration:none;color:#000}span.cke_colorbox{width:10px;height:10px;border:1px solid #aaa;float:left}.cke_rtl span.cke_colorbox{float:right}a.cke_colorbox{border:1px solid #fff;padding:2px;float:left;width:12px;height:12px;border-radius:2px}.cke_rtl a.cke_colorbox{float:right}a:active.cke_colorbox,a:focus.cke_colorbox,a:hover.cke_colorbox{border:1px solid #ddd;background-color:#eee}a.cke_colorauto,a.cke_colormore{border:1px solid #fff;padding:2px;display:block;cursor:pointer}a:active.cke_colorauto,a:active.cke_colormore,a:focus.cke_colorauto,a:focus.cke_colormore,a:hover.cke_colorauto,a:hover.cke_colormore{border:1px solid #ddd;background-color:#eee}.cke_toolbar{float:left}.cke_rtl .cke_toolbar{float:right}.cke_toolgroup{float:left;margin:0 6px 3px 0;padding:2px;border:1px solid #ddd;border-radius:4px;background:#fff}.cke_hc .cke_toolgroup{border:0;margin-right:10px;margin-bottom:10px}.cke_rtl .cke_toolgroup :first-child{border-radius:0 4px 4px 0}.cke_rtl .cke_toolgroup :last-child{border-radius:4px 0 0 4px}.cke_rtl .cke_toolgroup{float:right;margin-left:6px;margin-right:0}a.cke_button{display:inline-block;height:18px;padding:2px 4px;outline:0;cursor:default;float:left;border:0;border-radius:2px}.cke_rtl .cke_button{float:right}.cke_hc .cke_button{border:1px solid #000;padding:3px 5px;margin:-2px 4px 0 -2px}.cke_button_on{background:#92bce0}.cke_hc .cke_button_on,.cke_hc a.cke_button_disabled:active,.cke_hc a.cke_button_disabled:focus,.cke_hc a.cke_button_disabled:hover,.cke_hc a.cke_button_off:active,.cke_hc a.cke_button_off:focus,.cke_hc a.cke_button_off:hover{border-width:3px;padding:1px 3px}.cke_button_disabled .cke_button_icon{opacity:.3}.cke_hc .cke_button_disabled{opacity:.5}a.cke_button_disabled:active,a.cke_button_disabled:focus,a.cke_button_disabled:hover,a.cke_button_off:active,a.cke_button_off:focus,a.cke_button_off:hover{background:#e1edf7}.cke_button_icon{cursor:inherit;background-repeat:no-repeat;margin-top:1px;width:16px;height:16px;float:left;display:inline-block}.cke_rtl .cke_button_icon{float:right}.cke_hc .cke_button_icon{display:none}.cke_button_label{display:none;padding-left:3px;margin-top:1px;line-height:18px;vertical-align:middle;float:left;cursor:default;color:#555}.cke_rtl .cke_button_label{padding-right:3px;padding-left:0;float:right}.cke_hc .cke_button_label{padding:0;display:inline-block;font-size:12px}.cke_button_arrow{display:inline-block;margin:8px 0 0 1px;width:0;height:0;cursor:default;vertical-align:top;border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #474747}.cke_rtl .cke_button_arrow{margin-right:5px;margin-left:0}.cke_hc .cke_button_arrow{font-size:10px;margin:3px -2px 0 3px;width:auto;border:0}.cke_toolbar_separator{float:left;background-color:#ddd;margin:4px 2px 0;height:16px;width:1px}.cke_rtl .cke_toolbar_separator{float:right}.cke_hc .cke_toolbar_separator{width:0;border-left:1px solid;margin:1px 5px 0 0}.cke_toolbar_break{display:block;clear:left}.cke_rtl .cke_toolbar_break{clear:right}.cke_toolbox_collapser{width:12px;height:11px;float:right;margin:11px 0 0;font-size:0;cursor:default;text-align:center;border:1px solid #a6a6a6;border-bottom-color:#979797;border-radius:4px;background:#e4e4e4}.cke_toolbox_collapser:hover{background:#ccc}.cke_toolbox_collapser.cke_toolbox_collapser_min{margin:0 2px 4px}.cke_toolbox_collapser.cke_toolbox_collapser_min .cke_arrow{margin-top:4px;border-bottom-color:transparent;border-top-color:#474747}.cke_toolbox_collapser .cke_arrow{display:inline-block;height:0;width:0;font-size:0;margin-top:1px;border-left:3px solid transparent;border-right:3px solid transparent;border-bottom:3px solid #474747;border-top:3px solid transparent}.cke_rtl .cke_toolbox_collapser{float:left}.cke_hc .cke_toolbox_collapser .cke_arrow{font-size:8px;width:auto;border:0;margin-top:0;margin-right:2px}.cke_menubutton{display:block}.cke_button_icon{opacity:.8}.cke_menuitem span{cursor:default}.cke_menubutton:active,.cke_menubutton:focus,.cke_menubutton:hover{display:block}.cke_hc .cke_menubutton{padding:2px}.cke_hc .cke_menubutton:active,.cke_hc .cke_menubutton:focus,.cke_hc .cke_menubutton:hover{border:2px solid;padding:0}.cke_menubutton_inner{display:table-row}.cke_menuarrow,.cke_menubutton_icon,.cke_menubutton_label{display:table-cell}.cke_menubutton_icon{background-color:#d7d8d7;opacity:.7;filter:alpha(opacity=70);padding:4px}.cke_hc .cke_menubutton_icon{height:16px;width:0;padding:4px 0}.cke_menubutton:active .cke_menubutton_icon,.cke_menubutton:focus .cke_menubutton_icon,.cke_menubutton:hover .cke_menubutton_icon{background-color:#d0d2d0}.cke_menubutton_disabled:active .cke_menubutton_icon,.cke_menubutton_disabled:focus .cke_menubutton_icon,.cke_menubutton_disabled:hover .cke_menubutton_icon{opacity:.3;filter:alpha(opacity=30)}.cke_menubutton_label{padding:0 5px;background-color:transparent;width:100%;vertical-align:middle}.cke_menubutton_disabled .cke_menubutton_label{opacity:.3;filter:alpha(opacity=30)}.cke_menubutton_on{border:1px solid #dedede;background-color:#f2f2f2}.cke_menubutton_on .cke_menubutton_icon{padding-right:3px}.cke_menubutton:active,.cke_menubutton:focus,.cke_menubutton:hover{background-color:#eff0ef}.cke_panel_frame .cke_menubutton_label{display:none}.cke_menuseparator{background-color:#d3d3d3;height:1px;filter:alpha(opacity=70);opacity:.7}.cke_menuarrow{background-image:url(images/arrow.png);background-position:0 10px;background-repeat:no-repeat;padding:0 5px}.cke_menuarrow span{display:none}.cke_rtl .cke_menuarrow{background-position:5px -13px;background-repeat:no-repeat}.cke_hc .cke_menuarrow span{vertical-align:middle;display:inline}.cke_combo{display:inline-block;float:left}.cke_rtl .cke_combo{float:right}.cke_hc .cke_combo{margin-top:-2px}.cke_combo_label{display:none;float:left;line-height:26px;vertical-align:top;margin-right:5px}.cke_rtl .cke_combo_label{float:right;margin-left:5px;margin-right:0}.cke_combo_button{display:inline-block;float:left;margin:0 6px 5px 0;border:1px solid #ddd;border-radius:4px;background:#fff}.cke_combo_off a.cke_combo_button:focus,.cke_combo_off a.cke_combo_button:hover{outline:0}.cke_combo_off a.cke_combo_button:active,.cke_combo_on a.cke_combo_button{border-color:#333}.cke_rtl .cke_combo_button{float:right;margin-left:5px;margin-right:0}.cke_hc a.cke_combo_button{padding:3px}.cke_hc .cke_combo_off a.cke_combo_button:active,.cke_hc .cke_combo_off a.cke_combo_button:focus,.cke_hc .cke_combo_off a.cke_combo_button:hover,.cke_hc .cke_combo_on a.cke_combo_button{border-width:3px;padding:1px}.cke_combo_text{line-height:26px;padding-left:10px;text-overflow:ellipsis;overflow:hidden;float:left;cursor:default;color:#474747;width:60px}.cke_rtl .cke_combo_text{float:right;text-align:right;padding-left:0;padding-right:10px}.cke_hc .cke_combo_text{line-height:18px;font-size:12px}.cke_combo_open{cursor:default;display:inline-block;font-size:0;height:19px;line-height:17px;margin:1px 7px;width:5px}.cke_hc .cke_combo_open{height:12px}.cke_combo_arrow{margin:11px 0 0;float:left;height:0;width:0;font-size:0;border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #333}.cke_hc .cke_combo_arrow{font-size:10px;width:auto;border:0;margin-top:3px}.cke_combo_disabled .cke_combo_inlinelabel,.cke_combo_disabled .cke_combo_open{opacity:.3}.cke_path{float:left;margin:-2px 0 2px}.cke_path_empty,.cke_path_item{display:inline-block;float:left;padding:3px 4px;margin-right:2px;cursor:default;text-decoration:none;outline:0;border:0;color:#4c4c4c;font-weight:700;font-size:11px}.cke_rtl .cke_path,.cke_rtl .cke_path_empty,.cke_rtl .cke_path_item{float:right}a.cke_path_item:active,a.cke_path_item:focus,a.cke_path_item:hover{background-color:#bfbfbf;color:#333;border-radius:2px}.cke_hc a.cke_path_item:active,.cke_hc a.cke_path_item:focus,.cke_hc a.cke_path_item:hover{border:2px solid;padding:1px 2px}.cke_button__source_label,.cke_button__sourcedialog_label{display:inline}.cke_combo__fontsize .cke_combo_text{width:30px}.cke_combopanel__fontsize{width:120px}.cke_source{font-family:'Courier New',Monospace;font-size:small;background-color:#fff;white-space:pre}.cke_wysiwyg_div,.cke_wysiwyg_frame{background-color:#fff}.cke_chrome{visibility:inherit}.cke_voice_label,legend.cke_voice_label{display:none}.cke_bottom{padding-bottom:3px}.cke_combo_text{margin-bottom:-1px;margin-top:1px}.cke_button__about_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -0px !important;}.cke_button__bold_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -24px !important;}.cke_button__italic_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -48px !important;}.cke_button__strike_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -72px !important;}.cke_button__subscript_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -96px !important;}.cke_button__superscript_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -120px !important;}.cke_button__underline_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -144px !important;}.cke_button__bidiltr_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -168px !important;}.cke_button__bidirtl_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -192px !important;}.cke_button__blockquote_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -216px !important;}.cke_rtl .cke_button__copy_icon, .cke_mixed_dir_content .cke_rtl .cke_button__copy_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -240px !important;}.cke_ltr .cke_button__copy_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -264px !important;}.cke_rtl .cke_button__cut_icon, .cke_mixed_dir_content .cke_rtl .cke_button__cut_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -288px !important;}.cke_ltr .cke_button__cut_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -312px !important;}.cke_rtl .cke_button__paste_icon, .cke_mixed_dir_content .cke_rtl .cke_button__paste_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -336px !important;}.cke_ltr .cke_button__paste_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -360px !important;}.cke_button__bgcolor_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -384px !important;}.cke_button__textcolor_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -408px !important;}.cke_rtl .cke_button__templates_icon, .cke_mixed_dir_content .cke_rtl .cke_button__templates_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -432px !important;}.cke_ltr .cke_button__templates_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -456px !important;}.cke_button__creatediv_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -480px !important;}.cke_rtl .cke_button__find_icon, .cke_mixed_dir_content .cke_rtl .cke_button__find_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -504px !important;}.cke_ltr .cke_button__find_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -528px !important;}.cke_button__replace_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -552px !important;}.cke_button__flash_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -576px !important;}.cke_button__button_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -600px !important;}.cke_button__checkbox_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -624px !important;}.cke_button__form_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -648px !important;}.cke_button__hiddenfield_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -672px !important;}.cke_button__imagebutton_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -696px !important;}.cke_button__radio_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -720px !important;}.cke_rtl .cke_button__select_icon, .cke_mixed_dir_content .cke_rtl .cke_button__select_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -744px !important;}.cke_ltr .cke_button__select_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -768px !important;}.cke_rtl .cke_button__textarea_icon, .cke_mixed_dir_content .cke_rtl .cke_button__textarea_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -792px !important;}.cke_ltr .cke_button__textarea_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -816px !important;}.cke_rtl .cke_button__textfield_icon, .cke_mixed_dir_content .cke_rtl .cke_button__textfield_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -840px !important;}.cke_ltr .cke_button__textfield_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -864px !important;}.cke_button__horizontalrule_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -888px !important;}.cke_button__iframe_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -912px !important;}.cke_button__image_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -936px !important;}.cke_rtl .cke_button__indent_icon, .cke_mixed_dir_content .cke_rtl .cke_button__indent_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -960px !important;}.cke_ltr .cke_button__indent_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -984px !important;}.cke_rtl .cke_button__outdent_icon, .cke_mixed_dir_content .cke_rtl .cke_button__outdent_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1008px !important;}.cke_ltr .cke_button__outdent_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1032px !important;}.cke_button__smiley_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1056px !important;}.cke_button__justifyblock_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1080px !important;}.cke_button__justifycenter_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1104px !important;}.cke_button__justifyleft_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1128px !important;}.cke_button__justifyright_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1152px !important;}.cke_button__language_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1176px !important;}.cke_rtl .cke_button__anchor_icon, .cke_mixed_dir_content .cke_rtl .cke_button__anchor_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1200px !important;}.cke_ltr .cke_button__anchor_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1224px !important;}.cke_button__link_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1248px !important;}.cke_button__unlink_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1272px !important;}.cke_rtl .cke_button__bulletedlist_icon, .cke_mixed_dir_content .cke_rtl .cke_button__bulletedlist_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1296px !important;}.cke_ltr .cke_button__bulletedlist_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1320px !important;}.cke_rtl .cke_button__numberedlist_icon, .cke_mixed_dir_content .cke_rtl .cke_button__numberedlist_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1344px !important;}.cke_ltr .cke_button__numberedlist_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1368px !important;}.cke_button__maximize_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1392px !important;}.cke_rtl .cke_button__newpage_icon, .cke_mixed_dir_content .cke_rtl .cke_button__newpage_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1416px !important;}.cke_ltr .cke_button__newpage_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1440px !important;}.cke_rtl .cke_button__pagebreak_icon, .cke_mixed_dir_content .cke_rtl .cke_button__pagebreak_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1464px !important;}.cke_ltr .cke_button__pagebreak_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1488px !important;}.cke_rtl .cke_button__pastetext_icon, .cke_mixed_dir_content .cke_rtl .cke_button__pastetext_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1512px !important;}.cke_ltr .cke_button__pastetext_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1536px !important;}.cke_rtl .cke_button__pastefromword_icon, .cke_mixed_dir_content .cke_rtl .cke_button__pastefromword_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1560px !important;}.cke_ltr .cke_button__pastefromword_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1584px !important;}.cke_rtl .cke_button__preview_icon, .cke_mixed_dir_content .cke_rtl .cke_button__preview_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1608px !important;}.cke_ltr .cke_button__preview_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1632px !important;}.cke_button__print_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1656px !important;}.cke_button__removeformat_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1680px !important;}.cke_button__save_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1704px !important;}.cke_button__selectall_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1728px !important;}.cke_rtl .cke_button__showblocks_icon, .cke_mixed_dir_content .cke_rtl .cke_button__showblocks_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1752px !important;}.cke_ltr .cke_button__showblocks_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1776px !important;}.cke_rtl .cke_button__source_icon, .cke_mixed_dir_content .cke_rtl .cke_button__source_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1800px !important;}.cke_ltr .cke_button__source_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1824px !important;}.cke_button__specialchar_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1848px !important;}.cke_button__scayt_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1872px !important;}.cke_button__table_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1896px !important;}.cke_rtl .cke_button__redo_icon, .cke_mixed_dir_content .cke_rtl .cke_button__redo_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1920px !important;}.cke_ltr .cke_button__redo_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1944px !important;}.cke_rtl .cke_button__undo_icon, .cke_mixed_dir_content .cke_rtl .cke_button__undo_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1968px !important;}.cke_ltr .cke_button__undo_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1992px !important;}.cke_button__spellchecker_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -2016px !important;}.cke_hidpi .cke_button__about_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -0px !important;background-size: 16px !important;}.cke_hidpi .cke_button__bold_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -24px !important;background-size: 16px !important;}.cke_hidpi .cke_button__italic_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -48px !important;background-size: 16px !important;}.cke_hidpi .cke_button__strike_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -72px !important;background-size: 16px !important;}.cke_hidpi .cke_button__subscript_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -96px !important;background-size: 16px !important;}.cke_hidpi .cke_button__superscript_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -120px !important;background-size: 16px !important;}.cke_hidpi .cke_button__underline_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -144px !important;background-size: 16px !important;}.cke_hidpi .cke_button__bidiltr_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -168px !important;background-size: 16px !important;}.cke_hidpi .cke_button__bidirtl_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -192px !important;background-size: 16px !important;}.cke_hidpi .cke_button__blockquote_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -216px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__copy_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__copy_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -240px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__copy_icon,.cke_ltr.cke_hidpi .cke_button__copy_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -264px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__cut_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__cut_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -288px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__cut_icon,.cke_ltr.cke_hidpi .cke_button__cut_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -312px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__paste_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__paste_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -336px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__paste_icon,.cke_ltr.cke_hidpi .cke_button__paste_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -360px !important;background-size: 16px !important;}.cke_hidpi .cke_button__bgcolor_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -384px !important;background-size: 16px !important;}.cke_hidpi .cke_button__textcolor_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -408px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__templates_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__templates_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -432px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__templates_icon,.cke_ltr.cke_hidpi .cke_button__templates_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -456px !important;background-size: 16px !important;}.cke_hidpi .cke_button__creatediv_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -480px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__find_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__find_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -504px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__find_icon,.cke_ltr.cke_hidpi .cke_button__find_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -528px !important;background-size: 16px !important;}.cke_hidpi .cke_button__replace_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -552px !important;background-size: 16px !important;}.cke_hidpi .cke_button__flash_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -576px !important;background-size: 16px !important;}.cke_hidpi .cke_button__button_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -600px !important;background-size: 16px !important;}.cke_hidpi .cke_button__checkbox_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -624px !important;background-size: 16px !important;}.cke_hidpi .cke_button__form_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -648px !important;background-size: 16px !important;}.cke_hidpi .cke_button__hiddenfield_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -672px !important;background-size: 16px !important;}.cke_hidpi .cke_button__imagebutton_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -696px !important;background-size: 16px !important;}.cke_hidpi .cke_button__radio_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -720px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__select_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__select_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -744px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__select_icon,.cke_ltr.cke_hidpi .cke_button__select_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -768px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__textarea_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__textarea_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -792px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__textarea_icon,.cke_ltr.cke_hidpi .cke_button__textarea_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -816px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__textfield_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__textfield_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -840px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__textfield_icon,.cke_ltr.cke_hidpi .cke_button__textfield_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -864px !important;background-size: 16px !important;}.cke_hidpi .cke_button__horizontalrule_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -888px !important;background-size: 16px !important;}.cke_hidpi .cke_button__iframe_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -912px !important;background-size: 16px !important;}.cke_hidpi .cke_button__image_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -936px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__indent_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__indent_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -960px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__indent_icon,.cke_ltr.cke_hidpi .cke_button__indent_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -984px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__outdent_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__outdent_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1008px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__outdent_icon,.cke_ltr.cke_hidpi .cke_button__outdent_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1032px !important;background-size: 16px !important;}.cke_hidpi .cke_button__smiley_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1056px !important;background-size: 16px !important;}.cke_hidpi .cke_button__justifyblock_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1080px !important;background-size: 16px !important;}.cke_hidpi .cke_button__justifycenter_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1104px !important;background-size: 16px !important;}.cke_hidpi .cke_button__justifyleft_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1128px !important;background-size: 16px !important;}.cke_hidpi .cke_button__justifyright_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1152px !important;background-size: 16px !important;}.cke_hidpi .cke_button__language_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1176px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__anchor_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__anchor_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1200px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__anchor_icon,.cke_ltr.cke_hidpi .cke_button__anchor_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1224px !important;background-size: 16px !important;}.cke_hidpi .cke_button__link_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1248px !important;background-size: 16px !important;}.cke_hidpi .cke_button__unlink_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1272px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__bulletedlist_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__bulletedlist_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1296px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__bulletedlist_icon,.cke_ltr.cke_hidpi .cke_button__bulletedlist_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1320px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__numberedlist_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__numberedlist_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1344px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__numberedlist_icon,.cke_ltr.cke_hidpi .cke_button__numberedlist_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1368px !important;background-size: 16px !important;}.cke_hidpi .cke_button__maximize_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1392px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__newpage_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__newpage_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1416px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__newpage_icon,.cke_ltr.cke_hidpi .cke_button__newpage_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1440px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__pagebreak_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__pagebreak_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1464px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__pagebreak_icon,.cke_ltr.cke_hidpi .cke_button__pagebreak_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1488px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__pastetext_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__pastetext_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1512px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__pastetext_icon,.cke_ltr.cke_hidpi .cke_button__pastetext_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1536px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__pastefromword_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__pastefromword_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1560px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__pastefromword_icon,.cke_ltr.cke_hidpi .cke_button__pastefromword_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1584px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__preview_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__preview_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1608px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__preview_icon,.cke_ltr.cke_hidpi .cke_button__preview_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1632px !important;background-size: 16px !important;}.cke_hidpi .cke_button__print_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1656px !important;background-size: 16px !important;}.cke_hidpi .cke_button__removeformat_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1680px !important;background-size: 16px !important;}.cke_hidpi .cke_button__save_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1704px !important;background-size: 16px !important;}.cke_hidpi .cke_button__selectall_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1728px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__showblocks_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__showblocks_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1752px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__showblocks_icon,.cke_ltr.cke_hidpi .cke_button__showblocks_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1776px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__source_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__source_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1800px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__source_icon,.cke_ltr.cke_hidpi .cke_button__source_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1824px !important;background-size: 16px !important;}.cke_hidpi .cke_button__specialchar_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1848px !important;background-size: 16px !important;}.cke_hidpi .cke_button__scayt_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1872px !important;background-size: 16px !important;}.cke_hidpi .cke_button__table_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1896px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__redo_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__redo_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1920px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__redo_icon,.cke_ltr.cke_hidpi .cke_button__redo_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1944px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__undo_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__undo_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1968px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__undo_icon,.cke_ltr.cke_hidpi .cke_button__undo_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1992px !important;background-size: 16px !important;}.cke_hidpi .cke_button__spellchecker_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -2016px !important;background-size: 16px !important;} \ No newline at end of file diff --git a/unauthenticated/js/ckeditor/skins/bootstrapck/editor_ie.css b/unauthenticated/js/ckeditor/skins/bootstrapck/editor_ie.css new file mode 100644 index 000000000..674aab684 --- /dev/null +++ b/unauthenticated/js/ckeditor/skins/bootstrapck/editor_ie.css @@ -0,0 +1 @@ +.cke_reset{margin:0;padding:0;border:0;background:0;text-decoration:none;width:auto;height:auto;vertical-align:baseline;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;position:static;-webkit-transition:none;-moz-transition:none;-ms-transition:none;transition:none}.cke_reset_all,.cke_reset_all *{margin:0;padding:0;border:0;background:0;text-decoration:none;width:auto;height:auto;vertical-align:baseline;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;position:static;-webkit-transition:none;-moz-transition:none;-ms-transition:none;transition:none;border-collapse:collapse;font:normal normal normal 12px Arial,Helvetica,Tahoma,Verdana,Sans-Serif;color:#333;text-align:left;white-space:nowrap;cursor:auto;float:none}.cke_reset_all .cke_rtl *{text-align:right}.cke_reset_all iframe{vertical-align:inherit}.cke_reset_all textarea{white-space:pre}.cke_reset_all input[type=password],.cke_reset_all input[type=text],.cke_reset_all textarea{cursor:text}.cke_reset_all input[type=password][disabled],.cke_reset_all input[type=text][disabled],.cke_reset_all textarea[disabled]{cursor:default}.cke_reset_all fieldset{padding:10px;margin-top:10px;border:1px solid #ddd}.cke_reset_all fieldset legend{padding:0 5px}.cke_reset_all select{box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}.cke_chrome{display:block;border:1px solid #ddd;border-radius:4px;padding:0 3px;background:#eee}.cke_inner{display:block;-webkit-touch-callout:none;background:0;padding:0}.cke_float{border:0}.cke_float .cke_inner{padding-bottom:0}.cke_float .cke_top{border:1px solid #ddd}.cke_bottom,.cke_contents,.cke_top{display:block;overflow:hidden}.cke_bottom,.cke_top{padding:3px 0 0;background:#eee}.cke_top{white-space:normal}.cke_contents{background-color:#fff;border:1px solid #ddd;border-radius:4px}.cke_bottom{position:relative}.cke_browser_ios .cke_contents{overflow-y:auto;-webkit-overflow-scrolling:touch}.cke_resizer{width:0;height:0;overflow:hidden;border-width:10px 10px 0 0;border-color:transparent #555 transparent transparent;border-style:dashed solid dashed dashed;font-size:0;vertical-align:bottom;margin-top:6px;margin-bottom:2px}.cke_hc .cke_resizer{font-size:15px;width:auto;height:auto;border-width:0}.cke_resizer_ltr{cursor:se-resize;float:right;margin-right:-4px}.cke_resizer_rtl{border-width:10px 0 0 10px;border-color:transparent transparent transparent #aaa;border-style:dashed dashed dashed solid;cursor:sw-resize;float:left;margin-left:-4px;right:auto}.cke_wysiwyg_div{display:block;height:100%;overflow:auto;padding:0 8px;outline-style:none;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.cke_panel{visibility:visible;width:120px;height:100px;overflow:hidden;margin-top:5px;background-color:#fff;border:1px solid #aaa;border-radius:4px}.cke_menu_panel{padding:0;margin:0}.cke_combopanel{width:150px;height:178px}.cke_panel_frame{width:100%;height:100%;font-size:12px;overflow:auto;overflow-x:hidden}.cke_panel_container{overflow-y:auto;overflow-x:hidden}.cke_panel_list{list-style-type:none;margin:3px;padding:0;white-space:nowrap}.cke_panel_listItem{margin:0;padding-bottom:1px}.cke_panel_listItem a{padding:3px 4px;display:block;border:1px solid #fff;color:inherit!important;text-decoration:none;overflow:hidden;text-overflow:ellipsis;border-radius:2px}.cke_panel_listItem a:active,.cke_panel_listItem a:focus,.cke_panel_listItem a:hover{background-color:#e1edf7}* html .cke_panel_listItem a{width:100%;color:#000}:first-child+html .cke_panel_listItem a{color:#000}.cke_panel_listItem.cke_selected a{background-color:#92bce0;outline:0}.cke_hc .cke_panel_listItem a{border-style:none}.cke_hc .cke_panel_listItem a:active,.cke_hc .cke_panel_listItem a:focus,.cke_hc .cke_panel_listItem a:hover{border:2px solid;padding:1px 2px}.cke_panel_grouptitle{font-size:11px;font-weight:700;white-space:nowrap;margin:0;padding:6px;color:#474747;border-bottom:1px solid #aaa;background:#eee}.cke_panel_grouptitle:first-child{border-radius:4px 4px 0 0}.cke_panel_listItem h1,.cke_panel_listItem h2,.cke_panel_listItem h3,.cke_panel_listItem h4,.cke_panel_listItem h5,.cke_panel_listItem h6,.cke_panel_listItem p,.cke_panel_listItem pre{margin-top:0;margin-bottom:0}.cke_colorblock{padding:3px;font-size:11px;font-family:'Microsoft Sans Serif',Tahoma,Arial,Verdana,Sans-Serif}.cke_colorblock,.cke_colorblock a{text-decoration:none;color:#000}span.cke_colorbox{width:10px;height:10px;border:1px solid #aaa;float:left}.cke_rtl span.cke_colorbox{float:right}a.cke_colorbox{border:1px solid #fff;padding:2px;float:left;width:12px;height:12px;border-radius:2px}.cke_rtl a.cke_colorbox{float:right}a:active.cke_colorbox,a:focus.cke_colorbox,a:hover.cke_colorbox{border:1px solid #ddd;background-color:#eee}a.cke_colorauto,a.cke_colormore{border:1px solid #fff;padding:2px;display:block;cursor:pointer}a:active.cke_colorauto,a:active.cke_colormore,a:focus.cke_colorauto,a:focus.cke_colormore,a:hover.cke_colorauto,a:hover.cke_colormore{border:1px solid #ddd;background-color:#eee}.cke_toolbar{float:left}.cke_rtl .cke_toolbar{float:right}.cke_toolgroup{float:left;margin:0 6px 3px 0;padding:2px;border:1px solid #ddd;border-radius:4px;background:#fff}.cke_hc .cke_toolgroup{border:0;margin-right:10px;margin-bottom:10px}.cke_rtl .cke_toolgroup :first-child{border-radius:0 4px 4px 0}.cke_rtl .cke_toolgroup :last-child{border-radius:4px 0 0 4px}.cke_rtl .cke_toolgroup{float:right;margin-left:6px;margin-right:0}a.cke_button{display:inline-block;height:18px;padding:2px 4px;outline:0;cursor:default;float:left;border:0;border-radius:2px}.cke_rtl .cke_button{float:right}.cke_hc .cke_button{border:1px solid #000;padding:3px 5px;margin:-2px 4px 0 -2px}.cke_button_on{background:#92bce0}.cke_hc .cke_button_on,.cke_hc a.cke_button_disabled:active,.cke_hc a.cke_button_disabled:focus,.cke_hc a.cke_button_disabled:hover,.cke_hc a.cke_button_off:active,.cke_hc a.cke_button_off:focus,.cke_hc a.cke_button_off:hover{border-width:3px;padding:1px 3px}.cke_button_disabled .cke_button_icon{opacity:.3}.cke_hc .cke_button_disabled{opacity:.5}a.cke_button_disabled:active,a.cke_button_disabled:focus,a.cke_button_disabled:hover,a.cke_button_off:active,a.cke_button_off:focus,a.cke_button_off:hover{background:#e1edf7}.cke_button_icon{cursor:inherit;background-repeat:no-repeat;margin-top:1px;width:16px;height:16px;float:left;display:inline-block}.cke_rtl .cke_button_icon{float:right}.cke_hc .cke_button_icon{display:none}.cke_button_label{display:none;padding-left:3px;margin-top:1px;line-height:18px;vertical-align:middle;float:left;cursor:default;color:#555}.cke_rtl .cke_button_label{padding-right:3px;padding-left:0;float:right}.cke_hc .cke_button_label{padding:0;display:inline-block;font-size:12px}.cke_button_arrow{display:inline-block;margin:8px 0 0 1px;width:0;height:0;cursor:default;vertical-align:top;border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #474747}.cke_rtl .cke_button_arrow{margin-right:5px;margin-left:0}.cke_hc .cke_button_arrow{font-size:10px;margin:3px -2px 0 3px;width:auto;border:0}.cke_toolbar_separator{float:left;background-color:#ddd;margin:4px 2px 0;height:16px;width:1px}.cke_rtl .cke_toolbar_separator{float:right}.cke_hc .cke_toolbar_separator{width:0;border-left:1px solid;margin:1px 5px 0 0}.cke_toolbar_break{display:block;clear:left}.cke_rtl .cke_toolbar_break{clear:right}.cke_toolbox_collapser{width:12px;height:11px;float:right;margin:11px 0 0;font-size:0;cursor:default;text-align:center;border-radius:4px;background:#e4e4e4}.cke_toolbox_collapser:hover{background:#ccc}.cke_toolbox_collapser.cke_toolbox_collapser_min{margin:0 2px 4px}.cke_toolbox_collapser.cke_toolbox_collapser_min .cke_arrow{margin-top:4px;border-bottom-color:transparent;border-top-color:#474747}.cke_toolbox_collapser .cke_arrow{display:inline-block;height:0;width:0;font-size:0;border-left:3px solid transparent;border-right:3px solid transparent;border-bottom:3px solid #474747;border-top:3px solid transparent}.cke_rtl .cke_toolbox_collapser{float:left}.cke_hc .cke_toolbox_collapser .cke_arrow{font-size:8px;width:auto;border:0;margin-top:0;margin-right:2px}.cke_menubutton{display:block}.cke_button_icon{opacity:.8}.cke_menuitem span{cursor:default}.cke_menubutton:active,.cke_menubutton:focus,.cke_menubutton:hover{display:block}.cke_hc .cke_menubutton{padding:2px}.cke_hc .cke_menubutton:active,.cke_hc .cke_menubutton:focus,.cke_hc .cke_menubutton:hover{border:2px solid;padding:0}.cke_menubutton_inner{display:table-row}.cke_menuarrow,.cke_menubutton_icon,.cke_menubutton_label{display:table-cell}.cke_menubutton_icon{background-color:#d7d8d7;opacity:.7;filter:alpha(opacity=70);padding:4px}.cke_hc .cke_menubutton_icon{height:16px;width:0;padding:4px 0}.cke_menubutton:active .cke_menubutton_icon,.cke_menubutton:focus .cke_menubutton_icon,.cke_menubutton:hover .cke_menubutton_icon{background-color:#d0d2d0}.cke_menubutton_disabled:active .cke_menubutton_icon,.cke_menubutton_disabled:focus .cke_menubutton_icon,.cke_menubutton_disabled:hover .cke_menubutton_icon{opacity:.3;filter:alpha(opacity=30)}.cke_menubutton_label{padding:0 5px;background-color:transparent;width:100%;vertical-align:middle}.cke_menubutton_disabled .cke_menubutton_label{opacity:.3;filter:alpha(opacity=30)}.cke_menubutton_on{border:1px solid #dedede;background-color:#f2f2f2}.cke_menubutton_on .cke_menubutton_icon{padding-right:3px}.cke_menubutton:active,.cke_menubutton:focus,.cke_menubutton:hover{background-color:#eff0ef}.cke_panel_frame .cke_menubutton_label{display:none}.cke_menuseparator{background-color:#d3d3d3;height:1px;filter:alpha(opacity=70);opacity:.7}.cke_menuarrow{background-image:url(images/arrow.png);background-position:0 10px;background-repeat:no-repeat;padding:0 5px}.cke_menuarrow span{display:none}.cke_rtl .cke_menuarrow{background-position:5px -13px;background-repeat:no-repeat}.cke_hc .cke_menuarrow span{vertical-align:middle;display:inline}.cke_combo{display:inline-block;float:left}.cke_rtl .cke_combo{float:right}.cke_hc .cke_combo{margin-top:-2px}.cke_combo_label{display:none;float:left;line-height:26px;vertical-align:top;margin-right:5px}.cke_rtl .cke_combo_label{float:right;margin-left:5px;margin-right:0}.cke_combo_button{display:inline-block;float:left;margin:0 6px 5px 0;border:1px solid #ddd;border-radius:4px;background:#fff}.cke_combo_off a.cke_combo_button:focus,.cke_combo_off a.cke_combo_button:hover{outline:0}.cke_combo_off a.cke_combo_button:active,.cke_combo_on a.cke_combo_button{border-color:#333}.cke_rtl .cke_combo_button{float:right;margin-left:5px;margin-right:0}.cke_hc a.cke_combo_button{padding:3px}.cke_hc .cke_combo_off a.cke_combo_button:active,.cke_hc .cke_combo_off a.cke_combo_button:focus,.cke_hc .cke_combo_off a.cke_combo_button:hover,.cke_hc .cke_combo_on a.cke_combo_button{border-width:3px;padding:1px}.cke_combo_text{line-height:26px;padding-left:10px;text-overflow:ellipsis;overflow:hidden;float:left;cursor:default;color:#474747;width:60px}.cke_rtl .cke_combo_text{float:right;text-align:right;padding-left:0;padding-right:10px}.cke_hc .cke_combo_text{line-height:18px;font-size:12px}.cke_combo_open{cursor:default;display:inline-block;font-size:0;height:19px;line-height:17px;margin:1px 7px;width:5px}.cke_hc .cke_combo_open{height:12px}.cke_combo_arrow{margin:11px 0 0;float:left;height:0;width:0;font-size:0;border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #333}.cke_hc .cke_combo_arrow{font-size:10px;width:auto;border:0;margin-top:3px}.cke_combo_disabled .cke_combo_inlinelabel,.cke_combo_disabled .cke_combo_open{opacity:.3}.cke_path{float:left;margin:-2px 0 2px}.cke_path_empty,.cke_path_item{display:inline-block;float:left;padding:3px 4px;margin-right:2px;cursor:default;text-decoration:none;outline:0;border:0;color:#4c4c4c;font-weight:700;font-size:11px}.cke_rtl .cke_path,.cke_rtl .cke_path_empty,.cke_rtl .cke_path_item{float:right}a.cke_path_item:active,a.cke_path_item:focus,a.cke_path_item:hover{background-color:#bfbfbf;color:#333;border-radius:2px}.cke_hc a.cke_path_item:active,.cke_hc a.cke_path_item:focus,.cke_hc a.cke_path_item:hover{border:2px solid;padding:1px 2px}.cke_button__source_label,.cke_button__sourcedialog_label{display:inline}.cke_combo__fontsize .cke_combo_text{width:30px}.cke_combopanel__fontsize{width:120px}.cke_source{font-family:'Courier New',Monospace;font-size:small;background-color:#fff;white-space:pre}.cke_wysiwyg_div,.cke_wysiwyg_frame{background-color:#fff}.cke_chrome{visibility:inherit}.cke_voice_label,legend.cke_voice_label{display:none}a.cke_button_disabled,a.cke_button_disabled:active,a.cke_button_disabled:focus,a.cke_button_disabled:hover{filter:alpha(opacity=30)}.cke_button_disabled .cke_button_icon{filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#00ffffff,endColorstr=#00ffffff)}.cke_button_off:active,.cke_button_off:focus,.cke_button_off:hover{filter:alpha(opacity=100)}.cke_combo_disabled .cke_combo_inlinelabel,.cke_combo_disabled .cke_combo_open{filter:alpha(opacity=30)}.cke_toolbox_collapser{border:1px solid #a6a6a6}.cke_toolbox_collapser .cke_arrow{margin-top:1px}.cke_hc .cke_bottom,.cke_hc .cke_button_on,.cke_hc .cke_combo_button,.cke_hc .cke_panel_grouptitle,.cke_hc .cke_toolbox_collapser,.cke_hc .cke_toolbox_collapser:hover,.cke_hc .cke_toolgroup,.cke_hc .cke_top,.cke_hc a.cke_button_off:active,.cke_hc a.cke_button_off:focus,.cke_hc a.cke_button_off:hover,.cke_hc a.cke_combo_button:focus,.cke_hc a.cke_combo_button:hover{filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.cke_button__about_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -0px !important;}.cke_button__bold_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -24px !important;}.cke_button__italic_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -48px !important;}.cke_button__strike_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -72px !important;}.cke_button__subscript_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -96px !important;}.cke_button__superscript_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -120px !important;}.cke_button__underline_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -144px !important;}.cke_button__bidiltr_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -168px !important;}.cke_button__bidirtl_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -192px !important;}.cke_button__blockquote_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -216px !important;}.cke_rtl .cke_button__copy_icon, .cke_mixed_dir_content .cke_rtl .cke_button__copy_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -240px !important;}.cke_ltr .cke_button__copy_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -264px !important;}.cke_rtl .cke_button__cut_icon, .cke_mixed_dir_content .cke_rtl .cke_button__cut_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -288px !important;}.cke_ltr .cke_button__cut_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -312px !important;}.cke_rtl .cke_button__paste_icon, .cke_mixed_dir_content .cke_rtl .cke_button__paste_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -336px !important;}.cke_ltr .cke_button__paste_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -360px !important;}.cke_button__bgcolor_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -384px !important;}.cke_button__textcolor_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -408px !important;}.cke_rtl .cke_button__templates_icon, .cke_mixed_dir_content .cke_rtl .cke_button__templates_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -432px !important;}.cke_ltr .cke_button__templates_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -456px !important;}.cke_button__creatediv_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -480px !important;}.cke_rtl .cke_button__find_icon, .cke_mixed_dir_content .cke_rtl .cke_button__find_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -504px !important;}.cke_ltr .cke_button__find_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -528px !important;}.cke_button__replace_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -552px !important;}.cke_button__flash_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -576px !important;}.cke_button__button_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -600px !important;}.cke_button__checkbox_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -624px !important;}.cke_button__form_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -648px !important;}.cke_button__hiddenfield_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -672px !important;}.cke_button__imagebutton_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -696px !important;}.cke_button__radio_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -720px !important;}.cke_rtl .cke_button__select_icon, .cke_mixed_dir_content .cke_rtl .cke_button__select_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -744px !important;}.cke_ltr .cke_button__select_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -768px !important;}.cke_rtl .cke_button__textarea_icon, .cke_mixed_dir_content .cke_rtl .cke_button__textarea_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -792px !important;}.cke_ltr .cke_button__textarea_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -816px !important;}.cke_rtl .cke_button__textfield_icon, .cke_mixed_dir_content .cke_rtl .cke_button__textfield_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -840px !important;}.cke_ltr .cke_button__textfield_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -864px !important;}.cke_button__horizontalrule_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -888px !important;}.cke_button__iframe_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -912px !important;}.cke_button__image_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -936px !important;}.cke_rtl .cke_button__indent_icon, .cke_mixed_dir_content .cke_rtl .cke_button__indent_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -960px !important;}.cke_ltr .cke_button__indent_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -984px !important;}.cke_rtl .cke_button__outdent_icon, .cke_mixed_dir_content .cke_rtl .cke_button__outdent_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1008px !important;}.cke_ltr .cke_button__outdent_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1032px !important;}.cke_button__smiley_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1056px !important;}.cke_button__justifyblock_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1080px !important;}.cke_button__justifycenter_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1104px !important;}.cke_button__justifyleft_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1128px !important;}.cke_button__justifyright_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1152px !important;}.cke_button__language_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1176px !important;}.cke_rtl .cke_button__anchor_icon, .cke_mixed_dir_content .cke_rtl .cke_button__anchor_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1200px !important;}.cke_ltr .cke_button__anchor_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1224px !important;}.cke_button__link_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1248px !important;}.cke_button__unlink_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1272px !important;}.cke_rtl .cke_button__bulletedlist_icon, .cke_mixed_dir_content .cke_rtl .cke_button__bulletedlist_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1296px !important;}.cke_ltr .cke_button__bulletedlist_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1320px !important;}.cke_rtl .cke_button__numberedlist_icon, .cke_mixed_dir_content .cke_rtl .cke_button__numberedlist_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1344px !important;}.cke_ltr .cke_button__numberedlist_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1368px !important;}.cke_button__maximize_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1392px !important;}.cke_rtl .cke_button__newpage_icon, .cke_mixed_dir_content .cke_rtl .cke_button__newpage_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1416px !important;}.cke_ltr .cke_button__newpage_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1440px !important;}.cke_rtl .cke_button__pagebreak_icon, .cke_mixed_dir_content .cke_rtl .cke_button__pagebreak_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1464px !important;}.cke_ltr .cke_button__pagebreak_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1488px !important;}.cke_rtl .cke_button__pastetext_icon, .cke_mixed_dir_content .cke_rtl .cke_button__pastetext_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1512px !important;}.cke_ltr .cke_button__pastetext_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1536px !important;}.cke_rtl .cke_button__pastefromword_icon, .cke_mixed_dir_content .cke_rtl .cke_button__pastefromword_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1560px !important;}.cke_ltr .cke_button__pastefromword_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1584px !important;}.cke_rtl .cke_button__preview_icon, .cke_mixed_dir_content .cke_rtl .cke_button__preview_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1608px !important;}.cke_ltr .cke_button__preview_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1632px !important;}.cke_button__print_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1656px !important;}.cke_button__removeformat_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1680px !important;}.cke_button__save_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1704px !important;}.cke_button__selectall_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1728px !important;}.cke_rtl .cke_button__showblocks_icon, .cke_mixed_dir_content .cke_rtl .cke_button__showblocks_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1752px !important;}.cke_ltr .cke_button__showblocks_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1776px !important;}.cke_rtl .cke_button__source_icon, .cke_mixed_dir_content .cke_rtl .cke_button__source_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1800px !important;}.cke_ltr .cke_button__source_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1824px !important;}.cke_button__specialchar_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1848px !important;}.cke_button__scayt_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1872px !important;}.cke_button__table_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1896px !important;}.cke_rtl .cke_button__redo_icon, .cke_mixed_dir_content .cke_rtl .cke_button__redo_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1920px !important;}.cke_ltr .cke_button__redo_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1944px !important;}.cke_rtl .cke_button__undo_icon, .cke_mixed_dir_content .cke_rtl .cke_button__undo_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1968px !important;}.cke_ltr .cke_button__undo_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1992px !important;}.cke_button__spellchecker_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -2016px !important;}.cke_hidpi .cke_button__about_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -0px !important;background-size: 16px !important;}.cke_hidpi .cke_button__bold_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -24px !important;background-size: 16px !important;}.cke_hidpi .cke_button__italic_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -48px !important;background-size: 16px !important;}.cke_hidpi .cke_button__strike_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -72px !important;background-size: 16px !important;}.cke_hidpi .cke_button__subscript_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -96px !important;background-size: 16px !important;}.cke_hidpi .cke_button__superscript_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -120px !important;background-size: 16px !important;}.cke_hidpi .cke_button__underline_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -144px !important;background-size: 16px !important;}.cke_hidpi .cke_button__bidiltr_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -168px !important;background-size: 16px !important;}.cke_hidpi .cke_button__bidirtl_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -192px !important;background-size: 16px !important;}.cke_hidpi .cke_button__blockquote_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -216px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__copy_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__copy_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -240px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__copy_icon,.cke_ltr.cke_hidpi .cke_button__copy_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -264px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__cut_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__cut_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -288px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__cut_icon,.cke_ltr.cke_hidpi .cke_button__cut_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -312px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__paste_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__paste_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -336px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__paste_icon,.cke_ltr.cke_hidpi .cke_button__paste_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -360px !important;background-size: 16px !important;}.cke_hidpi .cke_button__bgcolor_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -384px !important;background-size: 16px !important;}.cke_hidpi .cke_button__textcolor_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -408px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__templates_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__templates_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -432px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__templates_icon,.cke_ltr.cke_hidpi .cke_button__templates_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -456px !important;background-size: 16px !important;}.cke_hidpi .cke_button__creatediv_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -480px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__find_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__find_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -504px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__find_icon,.cke_ltr.cke_hidpi .cke_button__find_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -528px !important;background-size: 16px !important;}.cke_hidpi .cke_button__replace_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -552px !important;background-size: 16px !important;}.cke_hidpi .cke_button__flash_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -576px !important;background-size: 16px !important;}.cke_hidpi .cke_button__button_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -600px !important;background-size: 16px !important;}.cke_hidpi .cke_button__checkbox_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -624px !important;background-size: 16px !important;}.cke_hidpi .cke_button__form_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -648px !important;background-size: 16px !important;}.cke_hidpi .cke_button__hiddenfield_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -672px !important;background-size: 16px !important;}.cke_hidpi .cke_button__imagebutton_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -696px !important;background-size: 16px !important;}.cke_hidpi .cke_button__radio_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -720px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__select_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__select_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -744px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__select_icon,.cke_ltr.cke_hidpi .cke_button__select_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -768px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__textarea_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__textarea_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -792px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__textarea_icon,.cke_ltr.cke_hidpi .cke_button__textarea_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -816px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__textfield_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__textfield_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -840px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__textfield_icon,.cke_ltr.cke_hidpi .cke_button__textfield_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -864px !important;background-size: 16px !important;}.cke_hidpi .cke_button__horizontalrule_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -888px !important;background-size: 16px !important;}.cke_hidpi .cke_button__iframe_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -912px !important;background-size: 16px !important;}.cke_hidpi .cke_button__image_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -936px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__indent_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__indent_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -960px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__indent_icon,.cke_ltr.cke_hidpi .cke_button__indent_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -984px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__outdent_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__outdent_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1008px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__outdent_icon,.cke_ltr.cke_hidpi .cke_button__outdent_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1032px !important;background-size: 16px !important;}.cke_hidpi .cke_button__smiley_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1056px !important;background-size: 16px !important;}.cke_hidpi .cke_button__justifyblock_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1080px !important;background-size: 16px !important;}.cke_hidpi .cke_button__justifycenter_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1104px !important;background-size: 16px !important;}.cke_hidpi .cke_button__justifyleft_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1128px !important;background-size: 16px !important;}.cke_hidpi .cke_button__justifyright_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1152px !important;background-size: 16px !important;}.cke_hidpi .cke_button__language_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1176px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__anchor_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__anchor_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1200px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__anchor_icon,.cke_ltr.cke_hidpi .cke_button__anchor_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1224px !important;background-size: 16px !important;}.cke_hidpi .cke_button__link_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1248px !important;background-size: 16px !important;}.cke_hidpi .cke_button__unlink_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1272px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__bulletedlist_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__bulletedlist_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1296px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__bulletedlist_icon,.cke_ltr.cke_hidpi .cke_button__bulletedlist_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1320px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__numberedlist_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__numberedlist_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1344px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__numberedlist_icon,.cke_ltr.cke_hidpi .cke_button__numberedlist_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1368px !important;background-size: 16px !important;}.cke_hidpi .cke_button__maximize_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1392px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__newpage_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__newpage_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1416px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__newpage_icon,.cke_ltr.cke_hidpi .cke_button__newpage_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1440px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__pagebreak_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__pagebreak_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1464px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__pagebreak_icon,.cke_ltr.cke_hidpi .cke_button__pagebreak_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1488px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__pastetext_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__pastetext_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1512px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__pastetext_icon,.cke_ltr.cke_hidpi .cke_button__pastetext_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1536px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__pastefromword_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__pastefromword_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1560px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__pastefromword_icon,.cke_ltr.cke_hidpi .cke_button__pastefromword_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1584px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__preview_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__preview_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1608px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__preview_icon,.cke_ltr.cke_hidpi .cke_button__preview_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1632px !important;background-size: 16px !important;}.cke_hidpi .cke_button__print_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1656px !important;background-size: 16px !important;}.cke_hidpi .cke_button__removeformat_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1680px !important;background-size: 16px !important;}.cke_hidpi .cke_button__save_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1704px !important;background-size: 16px !important;}.cke_hidpi .cke_button__selectall_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1728px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__showblocks_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__showblocks_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1752px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__showblocks_icon,.cke_ltr.cke_hidpi .cke_button__showblocks_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1776px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__source_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__source_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1800px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__source_icon,.cke_ltr.cke_hidpi .cke_button__source_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1824px !important;background-size: 16px !important;}.cke_hidpi .cke_button__specialchar_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1848px !important;background-size: 16px !important;}.cke_hidpi .cke_button__scayt_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1872px !important;background-size: 16px !important;}.cke_hidpi .cke_button__table_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1896px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__redo_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__redo_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1920px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__redo_icon,.cke_ltr.cke_hidpi .cke_button__redo_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1944px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__undo_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__undo_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1968px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__undo_icon,.cke_ltr.cke_hidpi .cke_button__undo_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1992px !important;background-size: 16px !important;}.cke_hidpi .cke_button__spellchecker_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -2016px !important;background-size: 16px !important;} \ No newline at end of file diff --git a/unauthenticated/js/ckeditor/skins/bootstrapck/editor_ie7.css b/unauthenticated/js/ckeditor/skins/bootstrapck/editor_ie7.css new file mode 100644 index 000000000..89490f742 --- /dev/null +++ b/unauthenticated/js/ckeditor/skins/bootstrapck/editor_ie7.css @@ -0,0 +1 @@ +.cke_reset{margin:0;padding:0;border:0;background:0;text-decoration:none;width:auto;height:auto;vertical-align:baseline;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;position:static;-webkit-transition:none;-moz-transition:none;-ms-transition:none;transition:none}.cke_reset_all,.cke_reset_all *{margin:0;padding:0;border:0;background:0;text-decoration:none;width:auto;height:auto;vertical-align:baseline;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;position:static;-webkit-transition:none;-moz-transition:none;-ms-transition:none;transition:none;border-collapse:collapse;font:normal normal normal 12px Arial,Helvetica,Tahoma,Verdana,Sans-Serif;color:#333;text-align:left;white-space:nowrap;cursor:auto;float:none}.cke_reset_all .cke_rtl *{text-align:right}.cke_reset_all iframe{vertical-align:inherit}.cke_reset_all textarea{white-space:pre}.cke_reset_all input[type=password],.cke_reset_all input[type=text],.cke_reset_all textarea{cursor:text}.cke_reset_all input[type=password][disabled],.cke_reset_all input[type=text][disabled],.cke_reset_all textarea[disabled]{cursor:default}.cke_reset_all fieldset{padding:10px;margin-top:10px;border:1px solid #ddd}.cke_reset_all fieldset legend{padding:0 5px}.cke_reset_all select{box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}.cke_chrome{display:block;border:1px solid #ddd;border-radius:4px;padding:0 3px;background:#eee}.cke_inner{display:block;-webkit-touch-callout:none;background:0;padding:0}.cke_float{border:0}.cke_float .cke_inner{padding-bottom:0}.cke_float .cke_top{border:1px solid #ddd}.cke_bottom,.cke_contents,.cke_top{display:block;overflow:hidden}.cke_bottom,.cke_top{padding:3px 0 0;background:#eee}.cke_top{white-space:normal}.cke_contents{background-color:#fff;border:1px solid #ddd;border-radius:4px}.cke_bottom{position:relative}.cke_browser_ios .cke_contents{overflow-y:auto;-webkit-overflow-scrolling:touch}.cke_resizer{width:0;height:0;overflow:hidden;border-width:10px 10px 0 0;border-color:transparent #555 transparent transparent;border-style:dashed solid dashed dashed;font-size:0;vertical-align:bottom;margin-top:6px;margin-bottom:2px}.cke_hc .cke_resizer{font-size:15px;width:auto;height:auto;border-width:0}.cke_resizer_ltr{cursor:se-resize;float:right;margin-right:-4px}.cke_resizer_rtl{border-width:10px 0 0 10px;border-color:transparent transparent transparent #aaa;border-style:dashed dashed dashed solid;cursor:sw-resize;float:left;margin-left:-4px;right:auto}.cke_wysiwyg_div{display:block;height:100%;overflow:auto;padding:0 8px;outline-style:none;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.cke_panel{visibility:visible;width:120px;height:100px;overflow:hidden;margin-top:5px;background-color:#fff;border:1px solid #aaa;border-radius:4px}.cke_menu_panel{padding:0;margin:0}.cke_combopanel{width:150px;height:178px}.cke_panel_frame{width:100%;height:100%;font-size:12px;overflow:auto;overflow-x:hidden}.cke_panel_container{overflow-y:auto;overflow-x:hidden}.cke_panel_list{list-style-type:none;margin:3px;padding:0;white-space:nowrap}.cke_panel_listItem{margin:0;padding-bottom:1px}.cke_panel_listItem a{padding:3px 4px;display:block;border:1px solid #fff;color:inherit!important;text-decoration:none;overflow:hidden;text-overflow:ellipsis;border-radius:2px}.cke_panel_listItem a:active,.cke_panel_listItem a:focus,.cke_panel_listItem a:hover{background-color:#e1edf7}* html .cke_panel_listItem a{width:100%;color:#000}:first-child+html .cke_panel_listItem a{color:#000}.cke_panel_listItem.cke_selected a{background-color:#92bce0;outline:0}.cke_hc .cke_panel_listItem a{border-style:none}.cke_hc .cke_panel_listItem a:active,.cke_hc .cke_panel_listItem a:focus,.cke_hc .cke_panel_listItem a:hover{border:2px solid;padding:1px 2px}.cke_panel_grouptitle{font-size:11px;font-weight:700;white-space:nowrap;margin:0;padding:6px;color:#474747;border-bottom:1px solid #aaa;background:#eee}.cke_panel_grouptitle:first-child{border-radius:4px 4px 0 0}.cke_panel_listItem h1,.cke_panel_listItem h2,.cke_panel_listItem h3,.cke_panel_listItem h4,.cke_panel_listItem h5,.cke_panel_listItem h6,.cke_panel_listItem p,.cke_panel_listItem pre{margin-top:0;margin-bottom:0}.cke_colorblock{padding:3px;font-size:11px;font-family:'Microsoft Sans Serif',Tahoma,Arial,Verdana,Sans-Serif}.cke_colorblock,.cke_colorblock a{text-decoration:none;color:#000}span.cke_colorbox{width:10px;height:10px;border:1px solid #aaa;float:left}.cke_rtl span.cke_colorbox{float:right}a.cke_colorbox{border:1px solid #fff;padding:2px;float:left;width:12px;height:12px;border-radius:2px}.cke_rtl a.cke_colorbox{float:right}a:active.cke_colorbox,a:focus.cke_colorbox,a:hover.cke_colorbox{border:1px solid #ddd;background-color:#eee}a.cke_colorauto,a.cke_colormore{border:1px solid #fff;padding:2px;display:block;cursor:pointer}a:active.cke_colorauto,a:active.cke_colormore,a:focus.cke_colorauto,a:focus.cke_colormore,a:hover.cke_colorauto,a:hover.cke_colormore{border:1px solid #ddd;background-color:#eee}.cke_toolbar{float:left}.cke_rtl .cke_toolbar{float:right}.cke_toolgroup{float:left;margin:0 6px 3px 0;padding:2px;border:1px solid #ddd;border-radius:4px;background:#fff}.cke_hc .cke_toolgroup{border:0;margin-right:10px;margin-bottom:10px}.cke_rtl .cke_toolgroup :first-child{border-radius:0 4px 4px 0}.cke_rtl .cke_toolgroup :last-child{border-radius:4px 0 0 4px}.cke_rtl .cke_toolgroup{margin-left:6px;margin-right:0}a.cke_button{display:inline-block;height:18px;padding:2px 4px;outline:0;cursor:default;border:0;border-radius:2px}.cke_hc .cke_button{border:1px solid #000;padding:3px 5px;margin:-2px 4px 0 -2px}.cke_button_on{background:#92bce0}.cke_hc .cke_button_on,.cke_hc a.cke_button_disabled:active,.cke_hc a.cke_button_disabled:focus,.cke_hc a.cke_button_disabled:hover,.cke_hc a.cke_button_off:active,.cke_hc a.cke_button_off:focus,.cke_hc a.cke_button_off:hover{border-width:3px;padding:1px 3px}.cke_button_disabled .cke_button_icon{opacity:.3}.cke_hc .cke_button_disabled{opacity:.5}a.cke_button_disabled:active,a.cke_button_disabled:focus,a.cke_button_disabled:hover,a.cke_button_off:active,a.cke_button_off:focus,a.cke_button_off:hover{background:#e1edf7}.cke_button_icon{cursor:inherit;background-repeat:no-repeat;margin-top:1px;width:16px;height:16px;float:left;display:inline-block}.cke_rtl .cke_button_icon{float:right}.cke_hc .cke_button_icon{display:none}.cke_button_label{display:none;padding-left:3px;margin-top:1px;line-height:18px;vertical-align:middle;float:left;cursor:default;color:#555}.cke_rtl .cke_button_label{padding-right:3px;padding-left:0;float:right}.cke_hc .cke_button_label{padding:0;display:inline-block;font-size:12px}.cke_button_arrow{display:inline-block;margin:8px 0 0 1px;width:0;height:0;cursor:default;vertical-align:top;border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #474747}.cke_rtl .cke_button_arrow{margin-left:0}.cke_hc .cke_button_arrow{font-size:10px;margin:3px -2px 0 3px;width:auto;border:0}.cke_toolbar_separator{margin:4px 2px 0;height:16px;width:1px}.cke_hc .cke_toolbar_separator{width:0;border-left:1px solid;margin:1px 5px 0 0}.cke_toolbar_break{display:block;clear:left}.cke_rtl .cke_toolbar_break{clear:right}.cke_toolbox_collapser{width:12px;height:11px;float:right;margin:11px 0 0;font-size:0;cursor:default;text-align:center;border:1px solid #a6a6a6;border-bottom-color:#979797;border-radius:4px;background:#e4e4e4}.cke_toolbox_collapser:hover{background:#ccc}.cke_toolbox_collapser.cke_toolbox_collapser_min{margin:0 2px 4px}.cke_toolbox_collapser.cke_toolbox_collapser_min .cke_arrow{margin-top:4px;border-bottom-color:transparent;border-top-color:#474747}.cke_toolbox_collapser .cke_arrow{display:inline-block;height:0;width:0;font-size:0;border-left:3px solid transparent;border-right:3px solid transparent;border-bottom:3px solid #474747;border-top:3px solid transparent}.cke_rtl .cke_toolbox_collapser{float:left}.cke_hc .cke_toolbox_collapser .cke_arrow{font-size:8px;width:auto;border:0;margin-top:0;margin-right:2px}.cke_button_icon{opacity:.8}.cke_menuitem span{cursor:default}.cke_menubutton:active,.cke_menubutton:focus,.cke_menubutton:hover{display:block}.cke_hc .cke_menubutton{padding:2px}.cke_hc .cke_menubutton:active,.cke_hc .cke_menubutton:focus,.cke_hc .cke_menubutton:hover{border:2px solid;padding:0}.cke_menubutton_icon{background-color:#d7d8d7;opacity:.7;filter:alpha(opacity=70);padding:4px}.cke_hc .cke_menubutton_icon{height:16px;width:0;padding:4px 0}.cke_menubutton:active .cke_menubutton_icon,.cke_menubutton:focus .cke_menubutton_icon,.cke_menubutton:hover .cke_menubutton_icon{background-color:#d0d2d0}.cke_menubutton_disabled:active .cke_menubutton_icon,.cke_menubutton_disabled:focus .cke_menubutton_icon,.cke_menubutton_disabled:hover .cke_menubutton_icon{opacity:.3;filter:alpha(opacity=30)}.cke_menubutton_label{padding:0 5px;background-color:transparent}.cke_menubutton_disabled .cke_menubutton_label{opacity:.3;filter:alpha(opacity=30)}.cke_menubutton_on{border:1px solid #dedede;background-color:#f2f2f2}.cke_menubutton_on .cke_menubutton_icon{padding-right:3px}.cke_menubutton:active,.cke_menubutton:focus,.cke_menubutton:hover{background-color:#eff0ef}.cke_panel_frame .cke_menubutton_label{display:none}.cke_menuseparator{background-color:#d3d3d3;height:1px;filter:alpha(opacity=70);opacity:.7}.cke_menuarrow{background-image:url(images/arrow.png);background-repeat:no-repeat}.cke_menuarrow span{display:none}.cke_rtl .cke_menuarrow{background-repeat:no-repeat}.cke_hc .cke_menuarrow span{vertical-align:middle;display:inline}.cke_combo{display:inline-block;float:left}.cke_hc .cke_combo{margin-top:-2px}.cke_combo_label{display:none;float:left;line-height:26px;vertical-align:top;margin-right:5px}.cke_rtl .cke_combo_label{float:right;margin-left:5px;margin-right:0}.cke_combo_button{display:inline-block;float:left;margin:0 6px 5px 0;border:1px solid #ddd;border-radius:4px;background:#fff}.cke_combo_off a.cke_combo_button:focus,.cke_combo_off a.cke_combo_button:hover{outline:0}.cke_combo_off a.cke_combo_button:active,.cke_combo_on a.cke_combo_button{border-color:#333}.cke_rtl .cke_combo_button{float:right;margin-left:5px;margin-right:0}.cke_hc a.cke_combo_button{padding:3px}.cke_hc .cke_combo_off a.cke_combo_button:active,.cke_hc .cke_combo_off a.cke_combo_button:focus,.cke_hc .cke_combo_off a.cke_combo_button:hover,.cke_hc .cke_combo_on a.cke_combo_button{border-width:3px;padding:1px}.cke_combo_text{line-height:26px;padding-left:10px;text-overflow:ellipsis;overflow:hidden;float:left;cursor:default;color:#474747;width:60px}.cke_rtl .cke_combo_text{float:right;text-align:right;padding-left:0;padding-right:10px}.cke_hc .cke_combo_text{line-height:18px;font-size:12px}.cke_combo_open{cursor:default;display:inline-block;font-size:0;height:19px;line-height:17px;margin:1px 7px;width:5px}.cke_hc .cke_combo_open{height:12px}.cke_combo_arrow{margin:11px 0 0;float:left;height:0;width:0;font-size:0;border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #333}.cke_hc .cke_combo_arrow{font-size:10px;width:auto;border:0;margin-top:3px}.cke_combo_disabled .cke_combo_inlinelabel,.cke_combo_disabled .cke_combo_open{opacity:.3}.cke_path{float:left;margin:-2px 0 2px}.cke_path_empty,.cke_path_item{display:inline-block;float:left;padding:3px 4px;margin-right:2px;cursor:default;text-decoration:none;outline:0;border:0;color:#4c4c4c;font-weight:700;font-size:11px}.cke_rtl .cke_path,.cke_rtl .cke_path_empty,.cke_rtl .cke_path_item{float:right}a.cke_path_item:active,a.cke_path_item:focus,a.cke_path_item:hover{background-color:#bfbfbf;color:#333;border-radius:2px}.cke_hc a.cke_path_item:active,.cke_hc a.cke_path_item:focus,.cke_hc a.cke_path_item:hover{border:2px solid;padding:1px 2px}.cke_button__source_label,.cke_button__sourcedialog_label{display:inline}.cke_combo__fontsize .cke_combo_text{width:30px}.cke_combopanel__fontsize{width:120px}.cke_source{font-family:'Courier New',Monospace;font-size:small;background-color:#fff;white-space:pre}.cke_wysiwyg_div,.cke_wysiwyg_frame{background-color:#fff}.cke_chrome{visibility:inherit}.cke_voice_label,legend.cke_voice_label{display:none}.cke_rtl .cke_button,.cke_rtl .cke_button *,.cke_rtl .cke_combo,.cke_rtl .cke_combo *,.cke_rtl .cke_path_empty,.cke_rtl .cke_path_item,.cke_rtl .cke_path_item *,.cke_rtl .cke_toolbar_separator,.cke_rtl .cke_toolgroup{float:none}.cke_rtl .cke_button,.cke_rtl .cke_button_icon,.cke_rtl .cke_combo_button,.cke_rtl .cke_combo_button *,.cke_rtl .cke_toolbar_separator,.cke_rtl .cke_toolgroup{display:inline-block;vertical-align:top}.cke_toolbox{display:inline-block;padding-bottom:5px;height:100%}.cke_rtl .cke_toolbox{padding-bottom:0}.cke_toolbar{margin-bottom:5px}.cke_rtl .cke_toolbar{margin-bottom:0}.cke_toolgroup{height:26px}.cke_combo,.cke_toolgroup{position:relative}a.cke_button{float:none;vertical-align:top}.cke_toolbar_separator{display:inline-block;float:none;vertical-align:top;background-color:silver}.cke_toolbox_collapser .cke_arrow{margin-top:0;border-width:4px}.cke_toolbox_collapser.cke_toolbox_collapser_min .cke_arrow{border-width:3px}.cke_rtl .cke_button_arrow{padding-top:8px;margin-right:2px}.cke_rtl .cke_combo_inlinelabel{display:table-cell;vertical-align:middle}.cke_menubutton{display:block;height:24px}.cke_menubutton_inner{display:block;position:relative}.cke_menubutton_icon{height:16px;width:16px}.cke_menuarrow,.cke_menubutton_icon,.cke_menubutton_label{display:inline-block}.cke_menubutton_label{width:auto;vertical-align:top;line-height:24px;height:24px;margin:0 10px 0 0}.cke_menuarrow{width:5px;height:6px;padding:0;position:absolute;right:8px;top:10px;background-position:0 0}.cke_rtl .cke_menubutton_icon{position:absolute;right:0;top:0}.cke_rtl .cke_menubutton_label{float:right;clear:both;margin:0 24px 0 10px}.cke_hc .cke_rtl .cke_menubutton_label{margin-right:0}.cke_rtl .cke_menuarrow{left:8px;right:auto;background-position:0 -24px}.cke_hc .cke_menuarrow{top:5px;padding:0 5px}.cke_rtl input.cke_dialog_ui_input_password,.cke_rtl input.cke_dialog_ui_input_text{position:relative}.cke_wysiwyg_div{padding-top:0!important;padding-bottom:0!important}.cke_button__about_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -0px !important;}.cke_button__bold_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -24px !important;}.cke_button__italic_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -48px !important;}.cke_button__strike_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -72px !important;}.cke_button__subscript_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -96px !important;}.cke_button__superscript_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -120px !important;}.cke_button__underline_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -144px !important;}.cke_button__bidiltr_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -168px !important;}.cke_button__bidirtl_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -192px !important;}.cke_button__blockquote_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -216px !important;}.cke_rtl .cke_button__copy_icon, .cke_mixed_dir_content .cke_rtl .cke_button__copy_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -240px !important;}.cke_ltr .cke_button__copy_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -264px !important;}.cke_rtl .cke_button__cut_icon, .cke_mixed_dir_content .cke_rtl .cke_button__cut_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -288px !important;}.cke_ltr .cke_button__cut_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -312px !important;}.cke_rtl .cke_button__paste_icon, .cke_mixed_dir_content .cke_rtl .cke_button__paste_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -336px !important;}.cke_ltr .cke_button__paste_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -360px !important;}.cke_button__bgcolor_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -384px !important;}.cke_button__textcolor_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -408px !important;}.cke_rtl .cke_button__templates_icon, .cke_mixed_dir_content .cke_rtl .cke_button__templates_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -432px !important;}.cke_ltr .cke_button__templates_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -456px !important;}.cke_button__creatediv_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -480px !important;}.cke_rtl .cke_button__find_icon, .cke_mixed_dir_content .cke_rtl .cke_button__find_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -504px !important;}.cke_ltr .cke_button__find_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -528px !important;}.cke_button__replace_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -552px !important;}.cke_button__flash_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -576px !important;}.cke_button__button_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -600px !important;}.cke_button__checkbox_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -624px !important;}.cke_button__form_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -648px !important;}.cke_button__hiddenfield_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -672px !important;}.cke_button__imagebutton_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -696px !important;}.cke_button__radio_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -720px !important;}.cke_rtl .cke_button__select_icon, .cke_mixed_dir_content .cke_rtl .cke_button__select_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -744px !important;}.cke_ltr .cke_button__select_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -768px !important;}.cke_rtl .cke_button__textarea_icon, .cke_mixed_dir_content .cke_rtl .cke_button__textarea_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -792px !important;}.cke_ltr .cke_button__textarea_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -816px !important;}.cke_rtl .cke_button__textfield_icon, .cke_mixed_dir_content .cke_rtl .cke_button__textfield_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -840px !important;}.cke_ltr .cke_button__textfield_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -864px !important;}.cke_button__horizontalrule_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -888px !important;}.cke_button__iframe_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -912px !important;}.cke_button__image_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -936px !important;}.cke_rtl .cke_button__indent_icon, .cke_mixed_dir_content .cke_rtl .cke_button__indent_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -960px !important;}.cke_ltr .cke_button__indent_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -984px !important;}.cke_rtl .cke_button__outdent_icon, .cke_mixed_dir_content .cke_rtl .cke_button__outdent_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1008px !important;}.cke_ltr .cke_button__outdent_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1032px !important;}.cke_button__smiley_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1056px !important;}.cke_button__justifyblock_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1080px !important;}.cke_button__justifycenter_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1104px !important;}.cke_button__justifyleft_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1128px !important;}.cke_button__justifyright_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1152px !important;}.cke_button__language_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1176px !important;}.cke_rtl .cke_button__anchor_icon, .cke_mixed_dir_content .cke_rtl .cke_button__anchor_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1200px !important;}.cke_ltr .cke_button__anchor_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1224px !important;}.cke_button__link_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1248px !important;}.cke_button__unlink_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1272px !important;}.cke_rtl .cke_button__bulletedlist_icon, .cke_mixed_dir_content .cke_rtl .cke_button__bulletedlist_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1296px !important;}.cke_ltr .cke_button__bulletedlist_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1320px !important;}.cke_rtl .cke_button__numberedlist_icon, .cke_mixed_dir_content .cke_rtl .cke_button__numberedlist_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1344px !important;}.cke_ltr .cke_button__numberedlist_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1368px !important;}.cke_button__maximize_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1392px !important;}.cke_rtl .cke_button__newpage_icon, .cke_mixed_dir_content .cke_rtl .cke_button__newpage_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1416px !important;}.cke_ltr .cke_button__newpage_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1440px !important;}.cke_rtl .cke_button__pagebreak_icon, .cke_mixed_dir_content .cke_rtl .cke_button__pagebreak_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1464px !important;}.cke_ltr .cke_button__pagebreak_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1488px !important;}.cke_rtl .cke_button__pastetext_icon, .cke_mixed_dir_content .cke_rtl .cke_button__pastetext_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1512px !important;}.cke_ltr .cke_button__pastetext_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1536px !important;}.cke_rtl .cke_button__pastefromword_icon, .cke_mixed_dir_content .cke_rtl .cke_button__pastefromword_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1560px !important;}.cke_ltr .cke_button__pastefromword_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1584px !important;}.cke_rtl .cke_button__preview_icon, .cke_mixed_dir_content .cke_rtl .cke_button__preview_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1608px !important;}.cke_ltr .cke_button__preview_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1632px !important;}.cke_button__print_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1656px !important;}.cke_button__removeformat_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1680px !important;}.cke_button__save_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1704px !important;}.cke_button__selectall_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1728px !important;}.cke_rtl .cke_button__showblocks_icon, .cke_mixed_dir_content .cke_rtl .cke_button__showblocks_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1752px !important;}.cke_ltr .cke_button__showblocks_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1776px !important;}.cke_rtl .cke_button__source_icon, .cke_mixed_dir_content .cke_rtl .cke_button__source_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1800px !important;}.cke_ltr .cke_button__source_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1824px !important;}.cke_button__specialchar_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1848px !important;}.cke_button__scayt_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1872px !important;}.cke_button__table_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1896px !important;}.cke_rtl .cke_button__redo_icon, .cke_mixed_dir_content .cke_rtl .cke_button__redo_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1920px !important;}.cke_ltr .cke_button__redo_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1944px !important;}.cke_rtl .cke_button__undo_icon, .cke_mixed_dir_content .cke_rtl .cke_button__undo_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1968px !important;}.cke_ltr .cke_button__undo_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1992px !important;}.cke_button__spellchecker_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -2016px !important;}.cke_hidpi .cke_button__about_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -0px !important;background-size: 16px !important;}.cke_hidpi .cke_button__bold_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -24px !important;background-size: 16px !important;}.cke_hidpi .cke_button__italic_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -48px !important;background-size: 16px !important;}.cke_hidpi .cke_button__strike_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -72px !important;background-size: 16px !important;}.cke_hidpi .cke_button__subscript_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -96px !important;background-size: 16px !important;}.cke_hidpi .cke_button__superscript_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -120px !important;background-size: 16px !important;}.cke_hidpi .cke_button__underline_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -144px !important;background-size: 16px !important;}.cke_hidpi .cke_button__bidiltr_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -168px !important;background-size: 16px !important;}.cke_hidpi .cke_button__bidirtl_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -192px !important;background-size: 16px !important;}.cke_hidpi .cke_button__blockquote_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -216px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__copy_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__copy_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -240px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__copy_icon,.cke_ltr.cke_hidpi .cke_button__copy_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -264px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__cut_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__cut_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -288px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__cut_icon,.cke_ltr.cke_hidpi .cke_button__cut_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -312px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__paste_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__paste_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -336px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__paste_icon,.cke_ltr.cke_hidpi .cke_button__paste_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -360px !important;background-size: 16px !important;}.cke_hidpi .cke_button__bgcolor_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -384px !important;background-size: 16px !important;}.cke_hidpi .cke_button__textcolor_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -408px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__templates_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__templates_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -432px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__templates_icon,.cke_ltr.cke_hidpi .cke_button__templates_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -456px !important;background-size: 16px !important;}.cke_hidpi .cke_button__creatediv_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -480px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__find_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__find_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -504px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__find_icon,.cke_ltr.cke_hidpi .cke_button__find_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -528px !important;background-size: 16px !important;}.cke_hidpi .cke_button__replace_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -552px !important;background-size: 16px !important;}.cke_hidpi .cke_button__flash_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -576px !important;background-size: 16px !important;}.cke_hidpi .cke_button__button_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -600px !important;background-size: 16px !important;}.cke_hidpi .cke_button__checkbox_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -624px !important;background-size: 16px !important;}.cke_hidpi .cke_button__form_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -648px !important;background-size: 16px !important;}.cke_hidpi .cke_button__hiddenfield_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -672px !important;background-size: 16px !important;}.cke_hidpi .cke_button__imagebutton_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -696px !important;background-size: 16px !important;}.cke_hidpi .cke_button__radio_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -720px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__select_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__select_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -744px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__select_icon,.cke_ltr.cke_hidpi .cke_button__select_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -768px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__textarea_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__textarea_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -792px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__textarea_icon,.cke_ltr.cke_hidpi .cke_button__textarea_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -816px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__textfield_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__textfield_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -840px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__textfield_icon,.cke_ltr.cke_hidpi .cke_button__textfield_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -864px !important;background-size: 16px !important;}.cke_hidpi .cke_button__horizontalrule_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -888px !important;background-size: 16px !important;}.cke_hidpi .cke_button__iframe_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -912px !important;background-size: 16px !important;}.cke_hidpi .cke_button__image_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -936px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__indent_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__indent_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -960px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__indent_icon,.cke_ltr.cke_hidpi .cke_button__indent_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -984px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__outdent_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__outdent_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1008px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__outdent_icon,.cke_ltr.cke_hidpi .cke_button__outdent_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1032px !important;background-size: 16px !important;}.cke_hidpi .cke_button__smiley_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1056px !important;background-size: 16px !important;}.cke_hidpi .cke_button__justifyblock_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1080px !important;background-size: 16px !important;}.cke_hidpi .cke_button__justifycenter_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1104px !important;background-size: 16px !important;}.cke_hidpi .cke_button__justifyleft_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1128px !important;background-size: 16px !important;}.cke_hidpi .cke_button__justifyright_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1152px !important;background-size: 16px !important;}.cke_hidpi .cke_button__language_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1176px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__anchor_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__anchor_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1200px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__anchor_icon,.cke_ltr.cke_hidpi .cke_button__anchor_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1224px !important;background-size: 16px !important;}.cke_hidpi .cke_button__link_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1248px !important;background-size: 16px !important;}.cke_hidpi .cke_button__unlink_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1272px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__bulletedlist_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__bulletedlist_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1296px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__bulletedlist_icon,.cke_ltr.cke_hidpi .cke_button__bulletedlist_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1320px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__numberedlist_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__numberedlist_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1344px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__numberedlist_icon,.cke_ltr.cke_hidpi .cke_button__numberedlist_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1368px !important;background-size: 16px !important;}.cke_hidpi .cke_button__maximize_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1392px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__newpage_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__newpage_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1416px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__newpage_icon,.cke_ltr.cke_hidpi .cke_button__newpage_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1440px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__pagebreak_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__pagebreak_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1464px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__pagebreak_icon,.cke_ltr.cke_hidpi .cke_button__pagebreak_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1488px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__pastetext_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__pastetext_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1512px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__pastetext_icon,.cke_ltr.cke_hidpi .cke_button__pastetext_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1536px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__pastefromword_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__pastefromword_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1560px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__pastefromword_icon,.cke_ltr.cke_hidpi .cke_button__pastefromword_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1584px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__preview_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__preview_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1608px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__preview_icon,.cke_ltr.cke_hidpi .cke_button__preview_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1632px !important;background-size: 16px !important;}.cke_hidpi .cke_button__print_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1656px !important;background-size: 16px !important;}.cke_hidpi .cke_button__removeformat_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1680px !important;background-size: 16px !important;}.cke_hidpi .cke_button__save_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1704px !important;background-size: 16px !important;}.cke_hidpi .cke_button__selectall_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1728px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__showblocks_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__showblocks_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1752px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__showblocks_icon,.cke_ltr.cke_hidpi .cke_button__showblocks_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1776px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__source_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__source_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1800px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__source_icon,.cke_ltr.cke_hidpi .cke_button__source_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1824px !important;background-size: 16px !important;}.cke_hidpi .cke_button__specialchar_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1848px !important;background-size: 16px !important;}.cke_hidpi .cke_button__scayt_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1872px !important;background-size: 16px !important;}.cke_hidpi .cke_button__table_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1896px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__redo_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__redo_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1920px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__redo_icon,.cke_ltr.cke_hidpi .cke_button__redo_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1944px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__undo_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__undo_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1968px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__undo_icon,.cke_ltr.cke_hidpi .cke_button__undo_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1992px !important;background-size: 16px !important;}.cke_hidpi .cke_button__spellchecker_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -2016px !important;background-size: 16px !important;} \ No newline at end of file diff --git a/unauthenticated/js/ckeditor/skins/bootstrapck/editor_ie8.css b/unauthenticated/js/ckeditor/skins/bootstrapck/editor_ie8.css new file mode 100644 index 000000000..374de3c19 --- /dev/null +++ b/unauthenticated/js/ckeditor/skins/bootstrapck/editor_ie8.css @@ -0,0 +1 @@ +.cke_reset{margin:0;padding:0;border:0;background:0;text-decoration:none;width:auto;height:auto;vertical-align:baseline;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;position:static;-webkit-transition:none;-moz-transition:none;-ms-transition:none;transition:none}.cke_reset_all,.cke_reset_all *{margin:0;padding:0;border:0;background:0;text-decoration:none;width:auto;height:auto;vertical-align:baseline;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;position:static;-webkit-transition:none;-moz-transition:none;-ms-transition:none;transition:none;border-collapse:collapse;font:normal normal normal 12px Arial,Helvetica,Tahoma,Verdana,Sans-Serif;color:#333;text-align:left;white-space:nowrap;cursor:auto;float:none}.cke_reset_all .cke_rtl *{text-align:right}.cke_reset_all iframe{vertical-align:inherit}.cke_reset_all textarea{white-space:pre}.cke_reset_all input[type=password],.cke_reset_all input[type=text],.cke_reset_all textarea{cursor:text}.cke_reset_all input[type=password][disabled],.cke_reset_all input[type=text][disabled],.cke_reset_all textarea[disabled]{cursor:default}.cke_reset_all fieldset{padding:10px;margin-top:10px;border:1px solid #ddd}.cke_reset_all fieldset legend{padding:0 5px}.cke_reset_all select{box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}.cke_chrome{display:block;border:1px solid #ddd;border-radius:4px;padding:0 3px;background:#eee}.cke_inner{display:block;-webkit-touch-callout:none;background:0;padding:0}.cke_float{border:0}.cke_float .cke_inner{padding-bottom:0}.cke_float .cke_top{border:1px solid #ddd}.cke_bottom,.cke_contents,.cke_top{display:block;overflow:hidden}.cke_bottom,.cke_top{padding:3px 0 0;background:#eee}.cke_top{white-space:normal}.cke_contents{background-color:#fff;border:1px solid #ddd;border-radius:4px}.cke_bottom{position:relative}.cke_browser_ios .cke_contents{overflow-y:auto;-webkit-overflow-scrolling:touch}.cke_resizer{width:0;height:0;overflow:hidden;border-width:10px 10px 0 0;border-color:transparent #555 transparent transparent;border-style:dashed solid dashed dashed;font-size:0;vertical-align:bottom;margin-top:6px;margin-bottom:2px}.cke_hc .cke_resizer{font-size:15px;width:auto;height:auto;border-width:0}.cke_resizer_ltr{cursor:se-resize;float:right;margin-right:-4px}.cke_resizer_rtl{border-width:10px 0 0 10px;border-color:transparent transparent transparent #aaa;border-style:dashed dashed dashed solid;cursor:sw-resize;float:left;margin-left:-4px;right:auto}.cke_wysiwyg_div{display:block;height:100%;overflow:auto;padding:0 8px;outline-style:none;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.cke_panel{visibility:visible;width:120px;height:100px;overflow:hidden;margin-top:5px;background-color:#fff;border:1px solid #aaa;border-radius:4px}.cke_menu_panel{padding:0;margin:0}.cke_combopanel{width:150px;height:178px}.cke_panel_frame{width:100%;height:100%;font-size:12px;overflow:auto;overflow-x:hidden}.cke_panel_container{overflow-y:auto;overflow-x:hidden}.cke_panel_list{list-style-type:none;margin:3px;padding:0;white-space:nowrap}.cke_panel_listItem{margin:0;padding-bottom:1px}.cke_panel_listItem a{padding:3px 4px;display:block;border:1px solid #fff;color:inherit!important;text-decoration:none;overflow:hidden;text-overflow:ellipsis;border-radius:2px}.cke_panel_listItem a:active,.cke_panel_listItem a:focus,.cke_panel_listItem a:hover{background-color:#e1edf7}* html .cke_panel_listItem a{width:100%;color:#000}:first-child+html .cke_panel_listItem a{color:#000}.cke_panel_listItem.cke_selected a{background-color:#92bce0;outline:0}.cke_hc .cke_panel_listItem a{border-style:none}.cke_hc .cke_panel_listItem a:active,.cke_hc .cke_panel_listItem a:focus,.cke_hc .cke_panel_listItem a:hover{border:2px solid;padding:1px 2px}.cke_panel_grouptitle{font-size:11px;font-weight:700;white-space:nowrap;margin:0;padding:6px;color:#474747;border-bottom:1px solid #aaa;background:#eee}.cke_panel_grouptitle:first-child{border-radius:4px 4px 0 0}.cke_panel_listItem h1,.cke_panel_listItem h2,.cke_panel_listItem h3,.cke_panel_listItem h4,.cke_panel_listItem h5,.cke_panel_listItem h6,.cke_panel_listItem p,.cke_panel_listItem pre{margin-top:0;margin-bottom:0}.cke_colorblock{padding:3px;font-size:11px;font-family:'Microsoft Sans Serif',Tahoma,Arial,Verdana,Sans-Serif}.cke_colorblock,.cke_colorblock a{text-decoration:none;color:#000}span.cke_colorbox{width:10px;height:10px;border:1px solid #aaa;float:left}.cke_rtl span.cke_colorbox{float:right}a.cke_colorbox{border:1px solid #fff;padding:2px;float:left;width:12px;height:12px;border-radius:2px}.cke_rtl a.cke_colorbox{float:right}a:active.cke_colorbox,a:focus.cke_colorbox,a:hover.cke_colorbox{border:1px solid #ddd;background-color:#eee}a.cke_colorauto,a.cke_colormore{border:1px solid #fff;padding:2px;display:block;cursor:pointer}a:active.cke_colorauto,a:active.cke_colormore,a:focus.cke_colorauto,a:focus.cke_colormore,a:hover.cke_colorauto,a:hover.cke_colormore{border:1px solid #ddd;background-color:#eee}.cke_toolbar{float:left}.cke_rtl .cke_toolbar{float:right}.cke_toolgroup{float:left;margin:0 6px 3px 0;padding:2px;border:1px solid #ddd;border-radius:4px;background:#fff}.cke_hc .cke_toolgroup{border:0;margin-right:10px;margin-bottom:10px}.cke_rtl .cke_toolgroup :first-child{border-radius:0 4px 4px 0}.cke_rtl .cke_toolgroup :last-child{border-radius:4px 0 0 4px}.cke_rtl .cke_toolgroup{float:right;margin-left:6px;margin-right:0}a.cke_button{display:inline-block;height:18px;padding:2px 4px;outline:0;cursor:default;float:left;border:0;border-radius:2px}.cke_rtl .cke_button{float:right}.cke_hc .cke_button{border:1px solid #000;padding:3px 5px;margin:-2px 4px 0 -2px}.cke_button_on{background:#92bce0}.cke_hc .cke_button_on,.cke_hc a.cke_button_disabled:active,.cke_hc a.cke_button_disabled:focus,.cke_hc a.cke_button_disabled:hover,.cke_hc a.cke_button_off:active,.cke_hc a.cke_button_off:focus,.cke_hc a.cke_button_off:hover{border-width:3px;padding:1px 3px}.cke_button_disabled .cke_button_icon{opacity:.3}.cke_hc .cke_button_disabled{opacity:.5}a.cke_button_disabled:active,a.cke_button_disabled:focus,a.cke_button_disabled:hover,a.cke_button_off:active,a.cke_button_off:focus,a.cke_button_off:hover{background:#e1edf7}.cke_button_icon{cursor:inherit;background-repeat:no-repeat;margin-top:1px;width:16px;height:16px;float:left;display:inline-block}.cke_rtl .cke_button_icon{float:right}.cke_hc .cke_button_icon{display:none}.cke_button_label{display:none;padding-left:3px;margin-top:1px;line-height:18px;vertical-align:middle;float:left;cursor:default;color:#555}.cke_rtl .cke_button_label{padding-right:3px;padding-left:0;float:right}.cke_hc .cke_button_label{padding:0;display:inline-block;font-size:12px}.cke_button_arrow{display:inline-block;margin:8px 0 0 1px;width:0;height:0;cursor:default;vertical-align:top;border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #474747}.cke_rtl .cke_button_arrow{margin-right:5px;margin-left:0}.cke_hc .cke_button_arrow{font-size:10px;margin:3px -2px 0 3px;width:auto;border:0}.cke_toolbar_separator{float:left;background-color:#ddd;margin:4px 2px 0;height:16px;width:1px}.cke_rtl .cke_toolbar_separator{float:right}.cke_hc .cke_toolbar_separator{width:0;border-left:1px solid;margin:1px 5px 0 0}.cke_toolbar_break{display:block;clear:left}.cke_rtl .cke_toolbar_break{clear:right}.cke_toolbox_collapser{width:12px;height:11px;float:right;margin:11px 0 0;font-size:0;cursor:default;text-align:center;border:1px solid #a6a6a6;border-bottom-color:#979797;border-radius:4px;background:#e4e4e4}.cke_toolbox_collapser:hover{background:#ccc}.cke_toolbox_collapser.cke_toolbox_collapser_min{margin:0 2px 4px}.cke_toolbox_collapser.cke_toolbox_collapser_min .cke_arrow{margin-top:4px;border-bottom-color:transparent;border-top-color:#474747}.cke_toolbox_collapser .cke_arrow{display:inline-block;height:0;width:0;font-size:0;border-left:3px solid transparent;border-right:3px solid transparent;border-bottom:3px solid #474747;border-top:3px solid transparent}.cke_rtl .cke_toolbox_collapser{float:left}.cke_hc .cke_toolbox_collapser .cke_arrow{font-size:8px;width:auto;border:0;margin-top:0;margin-right:2px}.cke_menubutton{display:block}.cke_button_icon{opacity:.8}.cke_menuitem span{cursor:default}.cke_menubutton:active,.cke_menubutton:focus,.cke_menubutton:hover{display:block}.cke_hc .cke_menubutton{padding:2px}.cke_hc .cke_menubutton:active,.cke_hc .cke_menubutton:focus,.cke_hc .cke_menubutton:hover{border:2px solid;padding:0}.cke_menubutton_inner{display:table-row}.cke_menuarrow,.cke_menubutton_icon,.cke_menubutton_label{display:table-cell}.cke_menubutton_icon{background-color:#d7d8d7;opacity:.7;filter:alpha(opacity=70);padding:4px}.cke_hc .cke_menubutton_icon{height:16px;width:0;padding:4px 0}.cke_menubutton:active .cke_menubutton_icon,.cke_menubutton:focus .cke_menubutton_icon,.cke_menubutton:hover .cke_menubutton_icon{background-color:#d0d2d0}.cke_menubutton_disabled:active .cke_menubutton_icon,.cke_menubutton_disabled:focus .cke_menubutton_icon,.cke_menubutton_disabled:hover .cke_menubutton_icon{opacity:.3;filter:alpha(opacity=30)}.cke_menubutton_label{padding:0 5px;background-color:transparent;width:100%;vertical-align:middle}.cke_menubutton_disabled .cke_menubutton_label{opacity:.3;filter:alpha(opacity=30)}.cke_menubutton_on{border:1px solid #dedede;background-color:#f2f2f2}.cke_menubutton_on .cke_menubutton_icon{padding-right:3px}.cke_menubutton:active,.cke_menubutton:focus,.cke_menubutton:hover{background-color:#eff0ef}.cke_panel_frame .cke_menubutton_label{display:none}.cke_menuseparator{background-color:#d3d3d3;height:1px;filter:alpha(opacity=70);opacity:.7}.cke_menuarrow{background-image:url(images/arrow.png);background-position:0 10px;background-repeat:no-repeat;padding:0 5px}.cke_menuarrow span{display:none}.cke_rtl .cke_menuarrow{background-position:5px -13px;background-repeat:no-repeat}.cke_hc .cke_menuarrow span{vertical-align:middle;display:inline}.cke_combo{display:inline-block;float:left}.cke_rtl .cke_combo{float:right}.cke_hc .cke_combo{margin-top:-2px}.cke_combo_label{display:none;float:left;line-height:26px;vertical-align:top;margin-right:5px}.cke_rtl .cke_combo_label{float:right;margin-left:5px;margin-right:0}.cke_combo_button{display:inline-block;float:left;margin:0 6px 5px 0;border:1px solid #ddd;border-radius:4px;background:#fff}.cke_combo_off a.cke_combo_button:focus,.cke_combo_off a.cke_combo_button:hover{outline:0}.cke_combo_off a.cke_combo_button:active,.cke_combo_on a.cke_combo_button{border-color:#333}.cke_rtl .cke_combo_button{float:right;margin-left:5px;margin-right:0}.cke_hc a.cke_combo_button{padding:3px}.cke_hc .cke_combo_off a.cke_combo_button:active,.cke_hc .cke_combo_off a.cke_combo_button:focus,.cke_hc .cke_combo_off a.cke_combo_button:hover,.cke_hc .cke_combo_on a.cke_combo_button{border-width:3px;padding:1px}.cke_combo_text{line-height:26px;padding-left:10px;text-overflow:ellipsis;overflow:hidden;float:left;cursor:default;color:#474747;width:60px}.cke_rtl .cke_combo_text{float:right;text-align:right;padding-left:0;padding-right:10px}.cke_hc .cke_combo_text{line-height:18px;font-size:12px}.cke_combo_open{cursor:default;display:inline-block;font-size:0;height:19px;line-height:17px;margin:1px 7px;width:5px}.cke_hc .cke_combo_open{height:12px}.cke_combo_arrow{margin:11px 0 0;float:left;height:0;width:0;font-size:0;border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #333}.cke_hc .cke_combo_arrow{font-size:10px;width:auto;border:0;margin-top:3px}.cke_combo_disabled .cke_combo_inlinelabel,.cke_combo_disabled .cke_combo_open{opacity:.3}.cke_path{float:left;margin:-2px 0 2px}.cke_path_empty,.cke_path_item{display:inline-block;float:left;padding:3px 4px;margin-right:2px;cursor:default;text-decoration:none;outline:0;border:0;color:#4c4c4c;font-weight:700;font-size:11px}.cke_rtl .cke_path,.cke_rtl .cke_path_empty,.cke_rtl .cke_path_item{float:right}a.cke_path_item:active,a.cke_path_item:focus,a.cke_path_item:hover{background-color:#bfbfbf;color:#333;border-radius:2px}.cke_hc a.cke_path_item:active,.cke_hc a.cke_path_item:focus,.cke_hc a.cke_path_item:hover{border:2px solid;padding:1px 2px}.cke_button__source_label,.cke_button__sourcedialog_label{display:inline}.cke_combo__fontsize .cke_combo_text{width:30px}.cke_combopanel__fontsize{width:120px}.cke_source{font-family:'Courier New',Monospace;font-size:small;background-color:#fff;white-space:pre}.cke_wysiwyg_div,.cke_wysiwyg_frame{background-color:#fff}.cke_chrome{visibility:inherit}.cke_voice_label,legend.cke_voice_label{display:none}.cke_toolbox_collapser .cke_arrow{border-width:4px}.cke_toolbox_collapser.cke_toolbox_collapser_min .cke_arrow{border-width:3px}.cke_toolbox_collapser .cke_arrow{margin-top:0}.cke_button__about_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -0px !important;}.cke_button__bold_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -24px !important;}.cke_button__italic_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -48px !important;}.cke_button__strike_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -72px !important;}.cke_button__subscript_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -96px !important;}.cke_button__superscript_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -120px !important;}.cke_button__underline_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -144px !important;}.cke_button__bidiltr_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -168px !important;}.cke_button__bidirtl_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -192px !important;}.cke_button__blockquote_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -216px !important;}.cke_rtl .cke_button__copy_icon, .cke_mixed_dir_content .cke_rtl .cke_button__copy_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -240px !important;}.cke_ltr .cke_button__copy_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -264px !important;}.cke_rtl .cke_button__cut_icon, .cke_mixed_dir_content .cke_rtl .cke_button__cut_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -288px !important;}.cke_ltr .cke_button__cut_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -312px !important;}.cke_rtl .cke_button__paste_icon, .cke_mixed_dir_content .cke_rtl .cke_button__paste_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -336px !important;}.cke_ltr .cke_button__paste_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -360px !important;}.cke_button__bgcolor_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -384px !important;}.cke_button__textcolor_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -408px !important;}.cke_rtl .cke_button__templates_icon, .cke_mixed_dir_content .cke_rtl .cke_button__templates_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -432px !important;}.cke_ltr .cke_button__templates_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -456px !important;}.cke_button__creatediv_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -480px !important;}.cke_rtl .cke_button__find_icon, .cke_mixed_dir_content .cke_rtl .cke_button__find_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -504px !important;}.cke_ltr .cke_button__find_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -528px !important;}.cke_button__replace_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -552px !important;}.cke_button__flash_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -576px !important;}.cke_button__button_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -600px !important;}.cke_button__checkbox_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -624px !important;}.cke_button__form_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -648px !important;}.cke_button__hiddenfield_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -672px !important;}.cke_button__imagebutton_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -696px !important;}.cke_button__radio_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -720px !important;}.cke_rtl .cke_button__select_icon, .cke_mixed_dir_content .cke_rtl .cke_button__select_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -744px !important;}.cke_ltr .cke_button__select_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -768px !important;}.cke_rtl .cke_button__textarea_icon, .cke_mixed_dir_content .cke_rtl .cke_button__textarea_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -792px !important;}.cke_ltr .cke_button__textarea_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -816px !important;}.cke_rtl .cke_button__textfield_icon, .cke_mixed_dir_content .cke_rtl .cke_button__textfield_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -840px !important;}.cke_ltr .cke_button__textfield_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -864px !important;}.cke_button__horizontalrule_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -888px !important;}.cke_button__iframe_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -912px !important;}.cke_button__image_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -936px !important;}.cke_rtl .cke_button__indent_icon, .cke_mixed_dir_content .cke_rtl .cke_button__indent_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -960px !important;}.cke_ltr .cke_button__indent_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -984px !important;}.cke_rtl .cke_button__outdent_icon, .cke_mixed_dir_content .cke_rtl .cke_button__outdent_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1008px !important;}.cke_ltr .cke_button__outdent_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1032px !important;}.cke_button__smiley_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1056px !important;}.cke_button__justifyblock_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1080px !important;}.cke_button__justifycenter_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1104px !important;}.cke_button__justifyleft_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1128px !important;}.cke_button__justifyright_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1152px !important;}.cke_button__language_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1176px !important;}.cke_rtl .cke_button__anchor_icon, .cke_mixed_dir_content .cke_rtl .cke_button__anchor_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1200px !important;}.cke_ltr .cke_button__anchor_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1224px !important;}.cke_button__link_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1248px !important;}.cke_button__unlink_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1272px !important;}.cke_rtl .cke_button__bulletedlist_icon, .cke_mixed_dir_content .cke_rtl .cke_button__bulletedlist_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1296px !important;}.cke_ltr .cke_button__bulletedlist_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1320px !important;}.cke_rtl .cke_button__numberedlist_icon, .cke_mixed_dir_content .cke_rtl .cke_button__numberedlist_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1344px !important;}.cke_ltr .cke_button__numberedlist_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1368px !important;}.cke_button__maximize_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1392px !important;}.cke_rtl .cke_button__newpage_icon, .cke_mixed_dir_content .cke_rtl .cke_button__newpage_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1416px !important;}.cke_ltr .cke_button__newpage_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1440px !important;}.cke_rtl .cke_button__pagebreak_icon, .cke_mixed_dir_content .cke_rtl .cke_button__pagebreak_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1464px !important;}.cke_ltr .cke_button__pagebreak_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1488px !important;}.cke_rtl .cke_button__pastetext_icon, .cke_mixed_dir_content .cke_rtl .cke_button__pastetext_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1512px !important;}.cke_ltr .cke_button__pastetext_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1536px !important;}.cke_rtl .cke_button__pastefromword_icon, .cke_mixed_dir_content .cke_rtl .cke_button__pastefromword_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1560px !important;}.cke_ltr .cke_button__pastefromword_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1584px !important;}.cke_rtl .cke_button__preview_icon, .cke_mixed_dir_content .cke_rtl .cke_button__preview_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1608px !important;}.cke_ltr .cke_button__preview_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1632px !important;}.cke_button__print_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1656px !important;}.cke_button__removeformat_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1680px !important;}.cke_button__save_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1704px !important;}.cke_button__selectall_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1728px !important;}.cke_rtl .cke_button__showblocks_icon, .cke_mixed_dir_content .cke_rtl .cke_button__showblocks_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1752px !important;}.cke_ltr .cke_button__showblocks_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1776px !important;}.cke_rtl .cke_button__source_icon, .cke_mixed_dir_content .cke_rtl .cke_button__source_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1800px !important;}.cke_ltr .cke_button__source_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1824px !important;}.cke_button__specialchar_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1848px !important;}.cke_button__scayt_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1872px !important;}.cke_button__table_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1896px !important;}.cke_rtl .cke_button__redo_icon, .cke_mixed_dir_content .cke_rtl .cke_button__redo_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1920px !important;}.cke_ltr .cke_button__redo_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1944px !important;}.cke_rtl .cke_button__undo_icon, .cke_mixed_dir_content .cke_rtl .cke_button__undo_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1968px !important;}.cke_ltr .cke_button__undo_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1992px !important;}.cke_button__spellchecker_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -2016px !important;}.cke_hidpi .cke_button__about_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -0px !important;background-size: 16px !important;}.cke_hidpi .cke_button__bold_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -24px !important;background-size: 16px !important;}.cke_hidpi .cke_button__italic_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -48px !important;background-size: 16px !important;}.cke_hidpi .cke_button__strike_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -72px !important;background-size: 16px !important;}.cke_hidpi .cke_button__subscript_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -96px !important;background-size: 16px !important;}.cke_hidpi .cke_button__superscript_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -120px !important;background-size: 16px !important;}.cke_hidpi .cke_button__underline_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -144px !important;background-size: 16px !important;}.cke_hidpi .cke_button__bidiltr_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -168px !important;background-size: 16px !important;}.cke_hidpi .cke_button__bidirtl_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -192px !important;background-size: 16px !important;}.cke_hidpi .cke_button__blockquote_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -216px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__copy_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__copy_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -240px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__copy_icon,.cke_ltr.cke_hidpi .cke_button__copy_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -264px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__cut_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__cut_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -288px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__cut_icon,.cke_ltr.cke_hidpi .cke_button__cut_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -312px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__paste_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__paste_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -336px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__paste_icon,.cke_ltr.cke_hidpi .cke_button__paste_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -360px !important;background-size: 16px !important;}.cke_hidpi .cke_button__bgcolor_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -384px !important;background-size: 16px !important;}.cke_hidpi .cke_button__textcolor_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -408px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__templates_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__templates_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -432px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__templates_icon,.cke_ltr.cke_hidpi .cke_button__templates_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -456px !important;background-size: 16px !important;}.cke_hidpi .cke_button__creatediv_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -480px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__find_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__find_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -504px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__find_icon,.cke_ltr.cke_hidpi .cke_button__find_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -528px !important;background-size: 16px !important;}.cke_hidpi .cke_button__replace_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -552px !important;background-size: 16px !important;}.cke_hidpi .cke_button__flash_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -576px !important;background-size: 16px !important;}.cke_hidpi .cke_button__button_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -600px !important;background-size: 16px !important;}.cke_hidpi .cke_button__checkbox_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -624px !important;background-size: 16px !important;}.cke_hidpi .cke_button__form_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -648px !important;background-size: 16px !important;}.cke_hidpi .cke_button__hiddenfield_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -672px !important;background-size: 16px !important;}.cke_hidpi .cke_button__imagebutton_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -696px !important;background-size: 16px !important;}.cke_hidpi .cke_button__radio_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -720px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__select_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__select_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -744px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__select_icon,.cke_ltr.cke_hidpi .cke_button__select_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -768px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__textarea_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__textarea_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -792px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__textarea_icon,.cke_ltr.cke_hidpi .cke_button__textarea_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -816px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__textfield_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__textfield_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -840px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__textfield_icon,.cke_ltr.cke_hidpi .cke_button__textfield_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -864px !important;background-size: 16px !important;}.cke_hidpi .cke_button__horizontalrule_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -888px !important;background-size: 16px !important;}.cke_hidpi .cke_button__iframe_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -912px !important;background-size: 16px !important;}.cke_hidpi .cke_button__image_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -936px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__indent_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__indent_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -960px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__indent_icon,.cke_ltr.cke_hidpi .cke_button__indent_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -984px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__outdent_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__outdent_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1008px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__outdent_icon,.cke_ltr.cke_hidpi .cke_button__outdent_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1032px !important;background-size: 16px !important;}.cke_hidpi .cke_button__smiley_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1056px !important;background-size: 16px !important;}.cke_hidpi .cke_button__justifyblock_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1080px !important;background-size: 16px !important;}.cke_hidpi .cke_button__justifycenter_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1104px !important;background-size: 16px !important;}.cke_hidpi .cke_button__justifyleft_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1128px !important;background-size: 16px !important;}.cke_hidpi .cke_button__justifyright_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1152px !important;background-size: 16px !important;}.cke_hidpi .cke_button__language_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1176px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__anchor_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__anchor_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1200px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__anchor_icon,.cke_ltr.cke_hidpi .cke_button__anchor_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1224px !important;background-size: 16px !important;}.cke_hidpi .cke_button__link_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1248px !important;background-size: 16px !important;}.cke_hidpi .cke_button__unlink_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1272px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__bulletedlist_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__bulletedlist_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1296px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__bulletedlist_icon,.cke_ltr.cke_hidpi .cke_button__bulletedlist_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1320px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__numberedlist_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__numberedlist_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1344px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__numberedlist_icon,.cke_ltr.cke_hidpi .cke_button__numberedlist_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1368px !important;background-size: 16px !important;}.cke_hidpi .cke_button__maximize_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1392px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__newpage_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__newpage_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1416px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__newpage_icon,.cke_ltr.cke_hidpi .cke_button__newpage_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1440px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__pagebreak_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__pagebreak_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1464px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__pagebreak_icon,.cke_ltr.cke_hidpi .cke_button__pagebreak_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1488px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__pastetext_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__pastetext_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1512px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__pastetext_icon,.cke_ltr.cke_hidpi .cke_button__pastetext_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1536px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__pastefromword_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__pastefromword_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1560px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__pastefromword_icon,.cke_ltr.cke_hidpi .cke_button__pastefromword_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1584px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__preview_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__preview_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1608px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__preview_icon,.cke_ltr.cke_hidpi .cke_button__preview_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1632px !important;background-size: 16px !important;}.cke_hidpi .cke_button__print_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1656px !important;background-size: 16px !important;}.cke_hidpi .cke_button__removeformat_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1680px !important;background-size: 16px !important;}.cke_hidpi .cke_button__save_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1704px !important;background-size: 16px !important;}.cke_hidpi .cke_button__selectall_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1728px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__showblocks_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__showblocks_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1752px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__showblocks_icon,.cke_ltr.cke_hidpi .cke_button__showblocks_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1776px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__source_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__source_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1800px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__source_icon,.cke_ltr.cke_hidpi .cke_button__source_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1824px !important;background-size: 16px !important;}.cke_hidpi .cke_button__specialchar_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1848px !important;background-size: 16px !important;}.cke_hidpi .cke_button__scayt_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1872px !important;background-size: 16px !important;}.cke_hidpi .cke_button__table_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1896px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__redo_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__redo_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1920px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__redo_icon,.cke_ltr.cke_hidpi .cke_button__redo_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1944px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__undo_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__undo_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1968px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__undo_icon,.cke_ltr.cke_hidpi .cke_button__undo_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1992px !important;background-size: 16px !important;}.cke_hidpi .cke_button__spellchecker_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -2016px !important;background-size: 16px !important;} \ No newline at end of file diff --git a/unauthenticated/js/ckeditor/skins/bootstrapck/editor_iequirks.css b/unauthenticated/js/ckeditor/skins/bootstrapck/editor_iequirks.css new file mode 100644 index 000000000..906f1674c --- /dev/null +++ b/unauthenticated/js/ckeditor/skins/bootstrapck/editor_iequirks.css @@ -0,0 +1 @@ +.cke_reset{margin:0;padding:0;border:0;background:0;text-decoration:none;width:auto;height:auto;vertical-align:baseline;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;position:static;-webkit-transition:none;-moz-transition:none;-ms-transition:none;transition:none}.cke_reset_all,.cke_reset_all *{margin:0;padding:0;border:0;background:0;text-decoration:none;width:auto;height:auto;vertical-align:baseline;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;position:static;-webkit-transition:none;-moz-transition:none;-ms-transition:none;transition:none;border-collapse:collapse;font:normal normal normal 12px Arial,Helvetica,Tahoma,Verdana,Sans-Serif;color:#333;text-align:left;white-space:nowrap;cursor:auto;float:none}.cke_reset_all .cke_rtl *{text-align:right}.cke_reset_all iframe{vertical-align:inherit}.cke_reset_all textarea{white-space:pre}.cke_reset_all input[type=password],.cke_reset_all input[type=text],.cke_reset_all textarea{cursor:text}.cke_reset_all input[type=password][disabled],.cke_reset_all input[type=text][disabled],.cke_reset_all textarea[disabled]{cursor:default}.cke_reset_all fieldset{padding:10px;margin-top:10px;border:1px solid #ddd}.cke_reset_all fieldset legend{padding:0 5px}.cke_reset_all select{box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}.cke_chrome{display:block;border:1px solid #ddd;border-radius:4px;padding:0 3px;background:#eee}.cke_inner{display:block;-webkit-touch-callout:none;background:0;padding:0}.cke_float{border:0}.cke_float .cke_inner{padding-bottom:0}.cke_float .cke_top{border:1px solid #ddd}.cke_bottom,.cke_contents,.cke_top{display:block;overflow:hidden}.cke_bottom,.cke_top{padding:3px 0 0;background:#eee}.cke_top{white-space:normal}.cke_contents{background-color:#fff;border:1px solid #ddd;border-radius:4px}.cke_browser_ios .cke_contents{overflow-y:auto;-webkit-overflow-scrolling:touch}.cke_resizer{height:0;overflow:hidden;border-width:10px 10px 0 0;border-color:transparent #555 transparent transparent;border-style:dashed solid dashed dashed;font-size:0;vertical-align:bottom;margin-top:6px;margin-bottom:2px}.cke_hc .cke_resizer{font-size:15px;width:auto;height:auto;border-width:0}.cke_resizer_ltr{cursor:se-resize;float:right;margin-right:-4px}.cke_resizer_rtl{border-width:10px 0 0 10px;border-color:transparent transparent transparent #aaa;border-style:dashed dashed dashed solid;cursor:sw-resize;float:left;margin-left:-4px;right:auto}.cke_wysiwyg_div{display:block;height:100%;overflow:auto;padding:0 8px;outline-style:none;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.cke_panel{visibility:visible;width:120px;height:100px;overflow:hidden;margin-top:5px;background-color:#fff;border:1px solid #aaa;border-radius:4px}.cke_menu_panel{padding:0;margin:0}.cke_combopanel{width:150px;height:178px}.cke_panel_frame{width:100%;height:100%;font-size:12px;overflow:auto;overflow-x:hidden}.cke_panel_container{overflow-y:auto;overflow-x:hidden}.cke_panel_list{list-style-type:none;margin:3px;padding:0;white-space:nowrap}.cke_panel_listItem{margin:0;padding-bottom:1px}.cke_panel_listItem a{padding:3px 4px;display:block;border:1px solid #fff;color:inherit!important;text-decoration:none;overflow:hidden;text-overflow:ellipsis;border-radius:2px}.cke_panel_listItem a:active,.cke_panel_listItem a:focus,.cke_panel_listItem a:hover{background-color:#e1edf7}* html .cke_panel_listItem a{width:100%;color:#000}:first-child+html .cke_panel_listItem a{color:#000}.cke_panel_listItem.cke_selected a{background-color:#92bce0;outline:0}.cke_hc .cke_panel_listItem a{border-style:none}.cke_hc .cke_panel_listItem a:active,.cke_hc .cke_panel_listItem a:focus,.cke_hc .cke_panel_listItem a:hover{border:2px solid;padding:1px 2px}.cke_panel_grouptitle{font-size:11px;font-weight:700;white-space:nowrap;margin:0;padding:6px;color:#474747;border-bottom:1px solid #aaa;background:#eee}.cke_panel_grouptitle:first-child{border-radius:4px 4px 0 0}.cke_panel_listItem h1,.cke_panel_listItem h2,.cke_panel_listItem h3,.cke_panel_listItem h4,.cke_panel_listItem h5,.cke_panel_listItem h6,.cke_panel_listItem p,.cke_panel_listItem pre{margin-top:0;margin-bottom:0}.cke_colorblock{padding:3px;font-size:11px;font-family:'Microsoft Sans Serif',Tahoma,Arial,Verdana,Sans-Serif}.cke_colorblock,.cke_colorblock a{text-decoration:none;color:#000}span.cke_colorbox{width:10px;height:10px;border:1px solid #aaa;float:left}.cke_rtl span.cke_colorbox{float:right}a.cke_colorbox{border:1px solid #fff;padding:2px;float:left;width:12px;height:12px;border-radius:2px}.cke_rtl a.cke_colorbox{float:right}a:active.cke_colorbox,a:focus.cke_colorbox,a:hover.cke_colorbox{border:1px solid #ddd;background-color:#eee}a.cke_colorauto,a.cke_colormore{border:1px solid #fff;padding:2px;display:block;cursor:pointer}a:active.cke_colorauto,a:active.cke_colormore,a:focus.cke_colorauto,a:focus.cke_colormore,a:hover.cke_colorauto,a:hover.cke_colormore{border:1px solid #ddd;background-color:#eee}.cke_toolbar{float:left}.cke_rtl .cke_toolbar{float:right}.cke_toolgroup{float:left;margin:0 6px 3px 0;padding:2px;border:1px solid #ddd;border-radius:4px;background:#fff}.cke_hc .cke_toolgroup{border:0;margin-right:10px;margin-bottom:10px}.cke_rtl .cke_toolgroup :first-child{border-radius:0 4px 4px 0}.cke_rtl .cke_toolgroup :last-child{border-radius:4px 0 0 4px}.cke_rtl .cke_toolgroup{margin-left:6px;margin-right:0}a.cke_button{display:inline-block;height:18px;padding:2px 4px;outline:0;cursor:default;float:left;border:0;border-radius:2px}.cke_hc .cke_button{border:1px solid #000;padding:3px 5px;margin:-2px 4px 0 -2px}.cke_button_on{background:#92bce0}.cke_hc .cke_button_on,.cke_hc a.cke_button_disabled:active,.cke_hc a.cke_button_disabled:focus,.cke_hc a.cke_button_disabled:hover,.cke_hc a.cke_button_off:active,.cke_hc a.cke_button_off:focus,.cke_hc a.cke_button_off:hover{border-width:3px;padding:1px 3px}.cke_button_disabled .cke_button_icon{opacity:.3}.cke_hc .cke_button_disabled{opacity:.5}a.cke_button_disabled:active,a.cke_button_disabled:focus,a.cke_button_disabled:hover,a.cke_button_off:active,a.cke_button_off:focus,a.cke_button_off:hover{background:#e1edf7}.cke_button_icon{cursor:inherit;background-repeat:no-repeat;margin-top:1px;width:16px;height:16px;float:left;display:inline-block}.cke_hc .cke_button_icon{display:none}.cke_button_label{display:none;padding-left:3px;margin-top:1px;line-height:18px;vertical-align:middle;float:left;cursor:default;color:#555}.cke_rtl .cke_button_label{padding-right:3px;padding-left:0;float:right}.cke_hc .cke_button_label{padding:0;display:inline-block;font-size:12px}.cke_button_arrow{display:inline-block;margin:8px 0 0 1px;width:0;height:0;cursor:default;vertical-align:top;border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #474747}.cke_rtl .cke_button_arrow{margin-right:5px;margin-left:0}.cke_hc .cke_button_arrow{font-size:10px;margin:3px -2px 0 3px;width:auto;border:0}.cke_toolbar_separator{float:left;background-color:#ddd;margin:4px 2px 0;height:16px;width:1px}.cke_hc .cke_toolbar_separator{width:0;border-left:1px solid;margin:1px 5px 0 0}.cke_toolbar_break{display:block;clear:left}.cke_rtl .cke_toolbar_break{clear:right}.cke_toolbox_collapser{width:12px;height:11px;float:right;margin:11px 0 0;font-size:0;cursor:default;text-align:center;border:1px solid #a6a6a6;border-bottom-color:#979797;border-radius:4px;background:#e4e4e4}.cke_toolbox_collapser:hover{background:#ccc}.cke_toolbox_collapser.cke_toolbox_collapser_min{margin:0 2px 4px}.cke_toolbox_collapser.cke_toolbox_collapser_min .cke_arrow{margin-top:4px;border-bottom-color:transparent;border-top-color:#474747}.cke_toolbox_collapser .cke_arrow{display:inline-block;height:0;width:0;font-size:0;margin-top:1px;border-left:3px solid transparent;border-right:3px solid transparent;border-bottom:3px solid #474747;border-top:3px solid transparent}.cke_rtl .cke_toolbox_collapser{float:left}.cke_hc .cke_toolbox_collapser .cke_arrow{font-size:8px;width:auto;border:0;margin-top:0;margin-right:2px}.cke_menubutton{display:block}.cke_button_icon{opacity:.8}.cke_menuitem span{cursor:default}.cke_menubutton:active,.cke_menubutton:focus,.cke_menubutton:hover{display:block}.cke_hc .cke_menubutton{padding:2px}.cke_hc .cke_menubutton:active,.cke_hc .cke_menubutton:focus,.cke_hc .cke_menubutton:hover{border:2px solid;padding:0}.cke_menubutton_inner{display:table-row}.cke_menuarrow,.cke_menubutton_icon,.cke_menubutton_label{display:table-cell}.cke_menubutton_icon{background-color:#d7d8d7;opacity:.7;filter:alpha(opacity=70);padding:4px}.cke_hc .cke_menubutton_icon{height:16px;width:0;padding:4px 0}.cke_menubutton:active .cke_menubutton_icon,.cke_menubutton:focus .cke_menubutton_icon,.cke_menubutton:hover .cke_menubutton_icon{background-color:#d0d2d0}.cke_menubutton_disabled:active .cke_menubutton_icon,.cke_menubutton_disabled:focus .cke_menubutton_icon,.cke_menubutton_disabled:hover .cke_menubutton_icon{opacity:.3;filter:alpha(opacity=30)}.cke_menubutton_label{padding:0 5px;background-color:transparent;width:100%;vertical-align:middle}.cke_menubutton_disabled .cke_menubutton_label{opacity:.3;filter:alpha(opacity=30)}.cke_menubutton_on{border:1px solid #dedede;background-color:#f2f2f2}.cke_menubutton_on .cke_menubutton_icon{padding-right:3px}.cke_menubutton:active,.cke_menubutton:focus,.cke_menubutton:hover{background-color:#eff0ef}.cke_panel_frame .cke_menubutton_label{display:none}.cke_menuseparator{background-color:#d3d3d3;height:1px;filter:alpha(opacity=70);opacity:.7}.cke_menuarrow{background-image:url(images/arrow.png);background-position:0 10px;background-repeat:no-repeat;padding:0 5px}.cke_menuarrow span{display:none}.cke_rtl .cke_menuarrow{background-position:5px -13px;background-repeat:no-repeat}.cke_hc .cke_menuarrow span{vertical-align:middle;display:inline}.cke_combo{display:inline-block;float:left}.cke_hc .cke_combo{margin-top:-2px}.cke_combo_label{display:none;float:left;line-height:26px;vertical-align:top;margin-right:5px}.cke_rtl .cke_combo_label{float:right;margin-left:5px;margin-right:0}.cke_combo_button{display:inline-block;float:left;margin:0 6px 5px 0;border:1px solid #ddd;border-radius:4px;background:#fff}.cke_combo_off a.cke_combo_button:focus,.cke_combo_off a.cke_combo_button:hover{outline:0}.cke_combo_off a.cke_combo_button:active,.cke_combo_on a.cke_combo_button{border-color:#333}.cke_rtl .cke_combo_button{float:right;margin-left:5px;margin-right:0}.cke_hc a.cke_combo_button{padding:3px}.cke_hc .cke_combo_off a.cke_combo_button:active,.cke_hc .cke_combo_off a.cke_combo_button:focus,.cke_hc .cke_combo_off a.cke_combo_button:hover,.cke_hc .cke_combo_on a.cke_combo_button{border-width:3px;padding:1px}.cke_combo_text{line-height:26px;padding-left:10px;text-overflow:ellipsis;overflow:hidden;float:left;cursor:default;color:#474747;width:60px}.cke_rtl .cke_combo_text{float:right;text-align:right;padding-left:0;padding-right:10px}.cke_hc .cke_combo_text{line-height:18px;font-size:12px}.cke_combo_open{cursor:default;display:inline-block;font-size:0;height:19px;line-height:17px;margin:1px 7px;width:5px}.cke_hc .cke_combo_open{height:12px}.cke_combo_arrow{margin:11px 0 0;float:left;height:0;width:0;font-size:0;border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #333}.cke_hc .cke_combo_arrow{font-size:10px;width:auto;border:0;margin-top:3px}.cke_combo_disabled .cke_combo_inlinelabel,.cke_combo_disabled .cke_combo_open{opacity:.3}.cke_path{float:left;margin:-2px 0 2px}.cke_path_empty,.cke_path_item{display:inline-block;float:left;padding:3px 4px;margin-right:2px;cursor:default;text-decoration:none;outline:0;border:0;color:#4c4c4c;font-weight:700;font-size:11px}.cke_rtl .cke_path,.cke_rtl .cke_path_empty,.cke_rtl .cke_path_item{float:right}a.cke_path_item:active,a.cke_path_item:focus,a.cke_path_item:hover{background-color:#bfbfbf;color:#333;border-radius:2px}.cke_hc a.cke_path_item:active,.cke_hc a.cke_path_item:focus,.cke_hc a.cke_path_item:hover{border:2px solid;padding:1px 2px}.cke_button__source_label,.cke_button__sourcedialog_label{display:inline}.cke_combo__fontsize .cke_combo_text{width:30px}.cke_combopanel__fontsize{width:120px}.cke_source{font-family:'Courier New',Monospace;font-size:small;background-color:#fff}.cke_wysiwyg_div,.cke_wysiwyg_frame{background-color:#fff}.cke_chrome{visibility:inherit}.cke_voice_label,legend.cke_voice_label{display:none}.cke_bottom,.cke_contents,.cke_top{width:100%}.cke_button_arrow{font-size:0}.cke_rtl .cke_button,.cke_rtl .cke_button *,.cke_rtl .cke_combo,.cke_rtl .cke_combo *,.cke_rtl .cke_path_empty,.cke_rtl .cke_path_item,.cke_rtl .cke_path_item *,.cke_rtl .cke_toolbar_separator,.cke_rtl .cke_toolgroup{float:none}.cke_rtl .cke_button,.cke_rtl .cke_button_icon,.cke_rtl .cke_combo_button,.cke_rtl .cke_combo_button *,.cke_rtl .cke_toolbar_separator,.cke_rtl .cke_toolgroup{display:inline-block;vertical-align:top}.cke_rtl .cke_button_icon{float:none}.cke_resizer{width:10px}.cke_source{white-space:normal}.cke_bottom{position:static}.cke_colorbox{font-size:0}.cke_button__about_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -0px !important;}.cke_button__bold_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -24px !important;}.cke_button__italic_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -48px !important;}.cke_button__strike_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -72px !important;}.cke_button__subscript_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -96px !important;}.cke_button__superscript_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -120px !important;}.cke_button__underline_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -144px !important;}.cke_button__bidiltr_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -168px !important;}.cke_button__bidirtl_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -192px !important;}.cke_button__blockquote_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -216px !important;}.cke_rtl .cke_button__copy_icon, .cke_mixed_dir_content .cke_rtl .cke_button__copy_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -240px !important;}.cke_ltr .cke_button__copy_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -264px !important;}.cke_rtl .cke_button__cut_icon, .cke_mixed_dir_content .cke_rtl .cke_button__cut_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -288px !important;}.cke_ltr .cke_button__cut_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -312px !important;}.cke_rtl .cke_button__paste_icon, .cke_mixed_dir_content .cke_rtl .cke_button__paste_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -336px !important;}.cke_ltr .cke_button__paste_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -360px !important;}.cke_button__bgcolor_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -384px !important;}.cke_button__textcolor_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -408px !important;}.cke_rtl .cke_button__templates_icon, .cke_mixed_dir_content .cke_rtl .cke_button__templates_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -432px !important;}.cke_ltr .cke_button__templates_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -456px !important;}.cke_button__creatediv_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -480px !important;}.cke_rtl .cke_button__find_icon, .cke_mixed_dir_content .cke_rtl .cke_button__find_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -504px !important;}.cke_ltr .cke_button__find_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -528px !important;}.cke_button__replace_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -552px !important;}.cke_button__flash_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -576px !important;}.cke_button__button_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -600px !important;}.cke_button__checkbox_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -624px !important;}.cke_button__form_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -648px !important;}.cke_button__hiddenfield_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -672px !important;}.cke_button__imagebutton_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -696px !important;}.cke_button__radio_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -720px !important;}.cke_rtl .cke_button__select_icon, .cke_mixed_dir_content .cke_rtl .cke_button__select_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -744px !important;}.cke_ltr .cke_button__select_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -768px !important;}.cke_rtl .cke_button__textarea_icon, .cke_mixed_dir_content .cke_rtl .cke_button__textarea_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -792px !important;}.cke_ltr .cke_button__textarea_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -816px !important;}.cke_rtl .cke_button__textfield_icon, .cke_mixed_dir_content .cke_rtl .cke_button__textfield_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -840px !important;}.cke_ltr .cke_button__textfield_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -864px !important;}.cke_button__horizontalrule_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -888px !important;}.cke_button__iframe_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -912px !important;}.cke_button__image_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -936px !important;}.cke_rtl .cke_button__indent_icon, .cke_mixed_dir_content .cke_rtl .cke_button__indent_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -960px !important;}.cke_ltr .cke_button__indent_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -984px !important;}.cke_rtl .cke_button__outdent_icon, .cke_mixed_dir_content .cke_rtl .cke_button__outdent_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1008px !important;}.cke_ltr .cke_button__outdent_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1032px !important;}.cke_button__smiley_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1056px !important;}.cke_button__justifyblock_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1080px !important;}.cke_button__justifycenter_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1104px !important;}.cke_button__justifyleft_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1128px !important;}.cke_button__justifyright_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1152px !important;}.cke_button__language_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1176px !important;}.cke_rtl .cke_button__anchor_icon, .cke_mixed_dir_content .cke_rtl .cke_button__anchor_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1200px !important;}.cke_ltr .cke_button__anchor_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1224px !important;}.cke_button__link_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1248px !important;}.cke_button__unlink_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1272px !important;}.cke_rtl .cke_button__bulletedlist_icon, .cke_mixed_dir_content .cke_rtl .cke_button__bulletedlist_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1296px !important;}.cke_ltr .cke_button__bulletedlist_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1320px !important;}.cke_rtl .cke_button__numberedlist_icon, .cke_mixed_dir_content .cke_rtl .cke_button__numberedlist_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1344px !important;}.cke_ltr .cke_button__numberedlist_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1368px !important;}.cke_button__maximize_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1392px !important;}.cke_rtl .cke_button__newpage_icon, .cke_mixed_dir_content .cke_rtl .cke_button__newpage_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1416px !important;}.cke_ltr .cke_button__newpage_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1440px !important;}.cke_rtl .cke_button__pagebreak_icon, .cke_mixed_dir_content .cke_rtl .cke_button__pagebreak_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1464px !important;}.cke_ltr .cke_button__pagebreak_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1488px !important;}.cke_rtl .cke_button__pastetext_icon, .cke_mixed_dir_content .cke_rtl .cke_button__pastetext_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1512px !important;}.cke_ltr .cke_button__pastetext_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1536px !important;}.cke_rtl .cke_button__pastefromword_icon, .cke_mixed_dir_content .cke_rtl .cke_button__pastefromword_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1560px !important;}.cke_ltr .cke_button__pastefromword_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1584px !important;}.cke_rtl .cke_button__preview_icon, .cke_mixed_dir_content .cke_rtl .cke_button__preview_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1608px !important;}.cke_ltr .cke_button__preview_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1632px !important;}.cke_button__print_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1656px !important;}.cke_button__removeformat_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1680px !important;}.cke_button__save_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1704px !important;}.cke_button__selectall_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1728px !important;}.cke_rtl .cke_button__showblocks_icon, .cke_mixed_dir_content .cke_rtl .cke_button__showblocks_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1752px !important;}.cke_ltr .cke_button__showblocks_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1776px !important;}.cke_rtl .cke_button__source_icon, .cke_mixed_dir_content .cke_rtl .cke_button__source_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1800px !important;}.cke_ltr .cke_button__source_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1824px !important;}.cke_button__specialchar_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1848px !important;}.cke_button__scayt_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1872px !important;}.cke_button__table_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1896px !important;}.cke_rtl .cke_button__redo_icon, .cke_mixed_dir_content .cke_rtl .cke_button__redo_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1920px !important;}.cke_ltr .cke_button__redo_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1944px !important;}.cke_rtl .cke_button__undo_icon, .cke_mixed_dir_content .cke_rtl .cke_button__undo_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1968px !important;}.cke_ltr .cke_button__undo_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -1992px !important;}.cke_button__spellchecker_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -2016px !important;}.cke_hidpi .cke_button__about_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -0px !important;background-size: 16px !important;}.cke_hidpi .cke_button__bold_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -24px !important;background-size: 16px !important;}.cke_hidpi .cke_button__italic_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -48px !important;background-size: 16px !important;}.cke_hidpi .cke_button__strike_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -72px !important;background-size: 16px !important;}.cke_hidpi .cke_button__subscript_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -96px !important;background-size: 16px !important;}.cke_hidpi .cke_button__superscript_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -120px !important;background-size: 16px !important;}.cke_hidpi .cke_button__underline_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -144px !important;background-size: 16px !important;}.cke_hidpi .cke_button__bidiltr_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -168px !important;background-size: 16px !important;}.cke_hidpi .cke_button__bidirtl_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -192px !important;background-size: 16px !important;}.cke_hidpi .cke_button__blockquote_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -216px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__copy_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__copy_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -240px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__copy_icon,.cke_ltr.cke_hidpi .cke_button__copy_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -264px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__cut_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__cut_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -288px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__cut_icon,.cke_ltr.cke_hidpi .cke_button__cut_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -312px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__paste_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__paste_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -336px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__paste_icon,.cke_ltr.cke_hidpi .cke_button__paste_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -360px !important;background-size: 16px !important;}.cke_hidpi .cke_button__bgcolor_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -384px !important;background-size: 16px !important;}.cke_hidpi .cke_button__textcolor_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -408px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__templates_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__templates_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -432px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__templates_icon,.cke_ltr.cke_hidpi .cke_button__templates_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -456px !important;background-size: 16px !important;}.cke_hidpi .cke_button__creatediv_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -480px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__find_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__find_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -504px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__find_icon,.cke_ltr.cke_hidpi .cke_button__find_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -528px !important;background-size: 16px !important;}.cke_hidpi .cke_button__replace_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -552px !important;background-size: 16px !important;}.cke_hidpi .cke_button__flash_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -576px !important;background-size: 16px !important;}.cke_hidpi .cke_button__button_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -600px !important;background-size: 16px !important;}.cke_hidpi .cke_button__checkbox_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -624px !important;background-size: 16px !important;}.cke_hidpi .cke_button__form_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -648px !important;background-size: 16px !important;}.cke_hidpi .cke_button__hiddenfield_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -672px !important;background-size: 16px !important;}.cke_hidpi .cke_button__imagebutton_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -696px !important;background-size: 16px !important;}.cke_hidpi .cke_button__radio_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -720px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__select_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__select_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -744px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__select_icon,.cke_ltr.cke_hidpi .cke_button__select_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -768px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__textarea_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__textarea_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -792px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__textarea_icon,.cke_ltr.cke_hidpi .cke_button__textarea_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -816px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__textfield_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__textfield_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -840px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__textfield_icon,.cke_ltr.cke_hidpi .cke_button__textfield_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -864px !important;background-size: 16px !important;}.cke_hidpi .cke_button__horizontalrule_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -888px !important;background-size: 16px !important;}.cke_hidpi .cke_button__iframe_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -912px !important;background-size: 16px !important;}.cke_hidpi .cke_button__image_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -936px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__indent_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__indent_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -960px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__indent_icon,.cke_ltr.cke_hidpi .cke_button__indent_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -984px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__outdent_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__outdent_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1008px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__outdent_icon,.cke_ltr.cke_hidpi .cke_button__outdent_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1032px !important;background-size: 16px !important;}.cke_hidpi .cke_button__smiley_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1056px !important;background-size: 16px !important;}.cke_hidpi .cke_button__justifyblock_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1080px !important;background-size: 16px !important;}.cke_hidpi .cke_button__justifycenter_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1104px !important;background-size: 16px !important;}.cke_hidpi .cke_button__justifyleft_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1128px !important;background-size: 16px !important;}.cke_hidpi .cke_button__justifyright_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1152px !important;background-size: 16px !important;}.cke_hidpi .cke_button__language_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1176px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__anchor_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__anchor_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1200px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__anchor_icon,.cke_ltr.cke_hidpi .cke_button__anchor_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1224px !important;background-size: 16px !important;}.cke_hidpi .cke_button__link_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1248px !important;background-size: 16px !important;}.cke_hidpi .cke_button__unlink_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1272px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__bulletedlist_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__bulletedlist_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1296px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__bulletedlist_icon,.cke_ltr.cke_hidpi .cke_button__bulletedlist_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1320px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__numberedlist_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__numberedlist_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1344px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__numberedlist_icon,.cke_ltr.cke_hidpi .cke_button__numberedlist_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1368px !important;background-size: 16px !important;}.cke_hidpi .cke_button__maximize_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1392px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__newpage_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__newpage_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1416px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__newpage_icon,.cke_ltr.cke_hidpi .cke_button__newpage_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1440px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__pagebreak_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__pagebreak_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1464px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__pagebreak_icon,.cke_ltr.cke_hidpi .cke_button__pagebreak_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1488px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__pastetext_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__pastetext_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1512px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__pastetext_icon,.cke_ltr.cke_hidpi .cke_button__pastetext_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1536px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__pastefromword_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__pastefromword_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1560px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__pastefromword_icon,.cke_ltr.cke_hidpi .cke_button__pastefromword_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1584px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__preview_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__preview_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1608px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__preview_icon,.cke_ltr.cke_hidpi .cke_button__preview_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1632px !important;background-size: 16px !important;}.cke_hidpi .cke_button__print_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1656px !important;background-size: 16px !important;}.cke_hidpi .cke_button__removeformat_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1680px !important;background-size: 16px !important;}.cke_hidpi .cke_button__save_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1704px !important;background-size: 16px !important;}.cke_hidpi .cke_button__selectall_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1728px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__showblocks_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__showblocks_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1752px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__showblocks_icon,.cke_ltr.cke_hidpi .cke_button__showblocks_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1776px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__source_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__source_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1800px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__source_icon,.cke_ltr.cke_hidpi .cke_button__source_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1824px !important;background-size: 16px !important;}.cke_hidpi .cke_button__specialchar_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1848px !important;background-size: 16px !important;}.cke_hidpi .cke_button__scayt_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1872px !important;background-size: 16px !important;}.cke_hidpi .cke_button__table_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1896px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__redo_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__redo_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1920px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__redo_icon,.cke_ltr.cke_hidpi .cke_button__redo_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1944px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__undo_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__undo_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1968px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__undo_icon,.cke_ltr.cke_hidpi .cke_button__undo_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -1992px !important;background-size: 16px !important;}.cke_hidpi .cke_button__spellchecker_icon {background: url(icons_hidpi.png?t=a35abfe) no-repeat 0 -2016px !important;background-size: 16px !important;} \ No newline at end of file diff --git a/unauthenticated/js/ckeditor/skins/bootstrapck/icons.png b/unauthenticated/js/ckeditor/skins/bootstrapck/icons.png new file mode 100644 index 000000000..eaefc17a1 Binary files /dev/null and b/unauthenticated/js/ckeditor/skins/bootstrapck/icons.png differ diff --git a/unauthenticated/js/ckeditor/skins/bootstrapck/icons_dark.png b/unauthenticated/js/ckeditor/skins/bootstrapck/icons_dark.png new file mode 100644 index 000000000..34a819731 Binary files /dev/null and b/unauthenticated/js/ckeditor/skins/bootstrapck/icons_dark.png differ diff --git a/unauthenticated/js/ckeditor/skins/bootstrapck/icons_hidpi.png b/unauthenticated/js/ckeditor/skins/bootstrapck/icons_hidpi.png new file mode 100644 index 000000000..6e103c05f Binary files /dev/null and b/unauthenticated/js/ckeditor/skins/bootstrapck/icons_hidpi.png differ diff --git a/unauthenticated/js/ckeditor/skins/bootstrapck/icons_hidpi_dark.png b/unauthenticated/js/ckeditor/skins/bootstrapck/icons_hidpi_dark.png new file mode 100644 index 000000000..67af58b1d Binary files /dev/null and b/unauthenticated/js/ckeditor/skins/bootstrapck/icons_hidpi_dark.png differ diff --git a/unauthenticated/js/ckeditor/skins/bootstrapck/images/arrow.png b/unauthenticated/js/ckeditor/skins/bootstrapck/images/arrow.png new file mode 100644 index 000000000..0d1eb39c6 Binary files /dev/null and b/unauthenticated/js/ckeditor/skins/bootstrapck/images/arrow.png differ diff --git a/unauthenticated/js/ckeditor/skins/bootstrapck/images/close.png b/unauthenticated/js/ckeditor/skins/bootstrapck/images/close.png new file mode 100644 index 000000000..b2acd4fc5 Binary files /dev/null and b/unauthenticated/js/ckeditor/skins/bootstrapck/images/close.png differ diff --git a/unauthenticated/js/ckeditor/skins/bootstrapck/images/hidpi/close.png b/unauthenticated/js/ckeditor/skins/bootstrapck/images/hidpi/close.png new file mode 100644 index 000000000..da9fe6281 Binary files /dev/null and b/unauthenticated/js/ckeditor/skins/bootstrapck/images/hidpi/close.png differ diff --git a/unauthenticated/js/ckeditor/skins/bootstrapck/images/hidpi/lock-open.png b/unauthenticated/js/ckeditor/skins/bootstrapck/images/hidpi/lock-open.png new file mode 100644 index 000000000..7f63a94d4 Binary files /dev/null and b/unauthenticated/js/ckeditor/skins/bootstrapck/images/hidpi/lock-open.png differ diff --git a/unauthenticated/js/ckeditor/skins/bootstrapck/images/hidpi/lock.png b/unauthenticated/js/ckeditor/skins/bootstrapck/images/hidpi/lock.png new file mode 100644 index 000000000..0167a76fa Binary files /dev/null and b/unauthenticated/js/ckeditor/skins/bootstrapck/images/hidpi/lock.png differ diff --git a/unauthenticated/js/ckeditor/skins/bootstrapck/images/hidpi/refresh.png b/unauthenticated/js/ckeditor/skins/bootstrapck/images/hidpi/refresh.png new file mode 100644 index 000000000..75af754f1 Binary files /dev/null and b/unauthenticated/js/ckeditor/skins/bootstrapck/images/hidpi/refresh.png differ diff --git a/unauthenticated/js/ckeditor/skins/bootstrapck/images/lock-open.png b/unauthenticated/js/ckeditor/skins/bootstrapck/images/lock-open.png new file mode 100644 index 000000000..42bd5686f Binary files /dev/null and b/unauthenticated/js/ckeditor/skins/bootstrapck/images/lock-open.png differ diff --git a/unauthenticated/js/ckeditor/skins/bootstrapck/images/lock.png b/unauthenticated/js/ckeditor/skins/bootstrapck/images/lock.png new file mode 100644 index 000000000..2f7347a46 Binary files /dev/null and b/unauthenticated/js/ckeditor/skins/bootstrapck/images/lock.png differ diff --git a/unauthenticated/js/ckeditor/skins/bootstrapck/images/refresh.png b/unauthenticated/js/ckeditor/skins/bootstrapck/images/refresh.png new file mode 100644 index 000000000..1908d6672 Binary files /dev/null and b/unauthenticated/js/ckeditor/skins/bootstrapck/images/refresh.png differ diff --git a/unauthenticated/js/ckeditor/skins/bootstrapck/readme.md b/unauthenticated/js/ckeditor/skins/bootstrapck/readme.md new file mode 100644 index 000000000..422e006c8 --- /dev/null +++ b/unauthenticated/js/ckeditor/skins/bootstrapck/readme.md @@ -0,0 +1,35 @@ +BootstrapCK Skin +==================== + +The BootstrapCK-Skin is a skin for [CKEditor4](http://ckeditor.com/) based on [Twitter Bootstrap3](http://getbootstrap.com/) styles. + +[Sass](http://sass-lang.com/) is used to rewrite the editor's styles and [Grunt](http://gruntjs.com/) to be able to watch, convert and minify the sass into css files. These files aren't really needed for the simple use of the skin, but handy if you want to make some adjustments to it. + +For more information about skins, please check the [CKEditor Skin SDK](http://docs.cksource.com/CKEditor_4.x/Skin_SDK) +documentation. + +## Installation + +**Just skin please** + +Add the whole bootstrapck folder to the skin folder.
    +In ckeditor.js and config.js change the skin name to "bootstrapck".
    +Done! + +**The whole skin - sass - grunt package** + +All the sass files are included in the bootstrapck folder, so first follow the 'just skin please'-steps
    +Now add the Gruntfile.js and the package.json to de ckeditor folder. + + npm install + grunt build + +You can start tampering now. + +## Demo + +http://kunstmaan.github.io/BootstrapCK4-Skin/ + +### Previous version + +If you would like to get the Bootstrap2 skin for CKeditor3, [here](https://github.com/Kunstmaan/BootstrapCK-Skin)'s the previous version. diff --git a/unauthenticated/js/ckeditor/skins/bootstrapck/sample/bootstrapck-sample.html b/unauthenticated/js/ckeditor/skins/bootstrapck/sample/bootstrapck-sample.html new file mode 100644 index 000000000..f38770aa0 --- /dev/null +++ b/unauthenticated/js/ckeditor/skins/bootstrapck/sample/bootstrapck-sample.html @@ -0,0 +1,127 @@ + + + + + + + Kunstmaan/BootstrapCK4-Skin @ GitHub + + + + + + Fork me on GitHub + +
    + + + +

    + BootstrapCK4-Skin + by Kunstmaan +

    + + +

    Demo

    +
    +

    + +

    +
    + + + + +

    About

    +

    The BootstrapCK4-Skin is a skin for CKEditor4 based on Twitter Bootstrap3 styles.

    +

    Sass is used to rewrite the editor's styles and Grunt to be able to watch, convert and minify the sass into css files. These files aren't really needed for the simple use of the skin, but handy if you want to make some adjustments to it.

    +

    For more information about skins, please check the CKEditor Skin SDK

    + + +

    Installation

    +

    Just skin please

    + +

    Add the whole bootstrapck folder to the skin folder.
    + In ckeditor.js and config.js change the skin name to "bootstrapck".
    + Done!

    + +

    The whole skin - sass - grunt package

    + +

    All the sass files are included in the bootstrapck folder, so first follow the 'just skin please'-steps
    + Now add the Gruntfile.js and the package.json to de ckeditor folder.

    +
    npm install 
    grunt build
    +

    You can start tampering now.

    +

    Or if you'd like to adjust the icons, use the bootstrapck-dev folder instead.

    + + +

    Authors

    +

    Indri Kenens (indri.kenens@kunstmaan.be)

    + +

    Contact

    +

    Kunstmaan (support@kunstmaan.be)

    + + +

    Download

    +

    + You can download this project in either + zip or + tar formats. +

    +

    You can also clone the project with Git + by running:

    $ git clone git://github.com/Kunstmaan/BootstrapCK4-Skin

    + + +

    Previous version

    +

    If you would like to get the Bootstrap2 skin for CKeditor3, here's the previous version.

    + + + +
    + + + + + + + + + + + + + + + + + + diff --git a/unauthenticated/js/ckeditor/skins/bootstrapck/sample/css/bootstrapck-sample.css b/unauthenticated/js/ckeditor/skins/bootstrapck/sample/css/bootstrapck-sample.css new file mode 100644 index 000000000..c135ef041 --- /dev/null +++ b/unauthenticated/js/ckeditor/skins/bootstrapck/sample/css/bootstrapck-sample.css @@ -0,0 +1 @@ +body{margin-top:1.0em;background-color:#fff;font-family:Helvetica,Arial,sans-serif;color:#404040}.container{margin:0 auto;width:900px;padding:0 0 20px}h1{font-size:40px;margin:40px 0 28px;padding:110px 0 9px;border-bottom:1px solid #ccc}h1 a,h1 a:visited,h1 a:focus,h1 a:hover{color:#404040;text-decoration:none}h1 span{font-size:18px;font-weight:normal;color:#bfbfbf}h1 span a,h1 span a:visited,h1 span a:focus,h1 span a:hover{color:#bfbfbf}h1 a{text-decoration:none}h2{font-size:23px;margin:10px 0 8px}h3{font-size:16px;margin:10px 0 8px}p{margin:0 0 30px;font-size:13px;line-height:18px}a,a:visited,a:focus{color:#0069d6;text-decoration:none}a:hover{color:#00438a;text-decoration:underline}.download{float:right}pre{background:#f5f5f5;color:#404040;padding:16px;border:1px solid rgba(0,0,0,0.05);border-radius:4px;box-shadow:0 1px 1px rgba(0,0,0,0.05) inset;margin:-20px 0 10px;line-height:200%}.twitter{margin:-20px 0 40px;color:#666}.twitter iframe{vertical-align:bottom;margin:0 0 0 5px}.footer{text-align:center;padding-top:20px;margin-top:60px;font-size:14px;color:#808080;border-top:1px solid #ccc}.footer a,.footer a:visited,.footer a:focus{color:#333}.footer a:hover{color:#000} \ No newline at end of file diff --git a/unauthenticated/js/ckeditor/skins/bootstrapck/sample/js/analytics.js b/unauthenticated/js/ckeditor/skins/bootstrapck/sample/js/analytics.js new file mode 100644 index 000000000..fd6c93aa6 --- /dev/null +++ b/unauthenticated/js/ckeditor/skins/bootstrapck/sample/js/analytics.js @@ -0,0 +1,4 @@ +ï»żvar _ga=_ga||{},_gaq=_gaq||[];_ga.trackSocial=function(a,c){_ga.trackFacebook(a,c);_ga.trackTwitter(a,c)}; +_ga.trackFacebook=function(a,c){var d=_ga.buildTrackerName_(c);try{FB&&FB.Event&&FB.Event.subscribe&&(FB.Event.subscribe("edge.create",function(b){_gaq.push([d+"_trackSocial","facebook","like",b,a])}),FB.Event.subscribe("edge.remove",function(b){_gaq.push([d+"_trackSocial","facebook","unlike",b,a])}),FB.Event.subscribe("message.send",function(b){_gaq.push([d+"_trackSocial","facebook","send",b,a])}))}catch(e){}};_ga.buildTrackerName_=function(a){return a?a+".":""}; +_ga.trackTwitter=function(a,c){var d=_ga.buildTrackerName_(c);try{twttr&&twttr.events&&twttr.events.bind&&twttr.events.bind("tweet",function(b){if(b){var c;b.target&&"IFRAME"==b.target.nodeName&&(c=_ga.extractParamFromUri_(b.target.src,"url"));_gaq.push([d+"_trackSocial","twitter","tweet",c,a])}})}catch(e){}};_ga.extractParamFromUri_=function(a,c){if(a){var a=a.split("#")[0],d=a.split("?");if(1!=d.length)for(var d=decodeURI(d[1]),c=c+"=",d=d.split("&"),e=0,b;b=d[e];++e)if(0===b.indexOf(c))return unescape(b.split("=")[1])}}; +jQuery&&jQuery("a").click(function(){var a=jQuery(this).attr("href");null!=a&&(a.match(/^http/i)&&!a.match(document.domain)?_gaq.push(["_trackEvent","outgoing","click",a]):a.match(/\.(doc|pdf|xls|ppt|zip|txt|vsd|vxd|js|css|rar|exe|wma|mov|avi|wmv|mp3)$/i)?_gaq.push(["_trackEvent","download","click",a]):a.match(/^mailto:/i)&&_gaq.push(["_trackEvent","mailto","click",a]))}); \ No newline at end of file diff --git a/unauthenticated/js/ckeditor/skins/bootstrapck/sample/js/jquery-1.11.0.min.js b/unauthenticated/js/ckeditor/skins/bootstrapck/sample/js/jquery-1.11.0.min.js new file mode 100644 index 000000000..662b22720 --- /dev/null +++ b/unauthenticated/js/ckeditor/skins/bootstrapck/sample/js/jquery-1.11.0.min.js @@ -0,0 +1,189 @@ +ï»ż!function(o,ea){"object"==typeof module&&"object"==typeof module.exports?module.exports=o.document?ea(o,!0):function(o){if(!o.document)throw Error("jQuery requires a window with a document");return ea(o)}:ea(o)}("undefined"!=typeof window?window:this,function(o,ea){function Ba(a){var b=a.length,d=c.type(a);return"function"===d||c.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===d||0===b||"number"==typeof b&&0e;e++)c.event.add(b,d,h[d][e])}g.data&&(g.data=c.extend({},g.data))}}function hb(a,b){var d=c(b.createElement(a)).appendTo(b.body),e=o.getDefaultComputedStyle?o.getDefaultComputedStyle(d[0]).display:c.css(d[0],"display");return d.detach(),e}function ib(a){var b=l,d=jb[a];return d||(d=hb(a,b),"none"!==d&&d||(fa=(fa||c(""),o=e.option.contentIframe;o.srcdoc&&(t.prop("srcdoc",o.srcdoc),e.data("iframeDOC",o.srcdoc)),o.src&&(t.prop("src",o.src),e.data("iframeSRC",o.src)),"auto"===e.option.contentSize.width||o.width?t.prop("width",o.width):t.css("width","100%"),"auto"===e.option.contentSize.height||o.height?t.prop("height",o.height):t.css("height","100%"),o.name&&t.prop("name",o.name),o.sandbox&&t.prop("sandox",o.sandbox),o.id&&t.prop("id",o.id),jQuery.isPlainObject(o.style)&&t.css(o.style),"string"==typeof o.classname?t.addClass(o.classname):jQuery.isFunction(o.classname)&&t.addClass(o.classname()),e.content.append(t)},importPanels:function(e,t){var o,n=e.default||{};JSON.parse(localStorage[void 0===t?"jspanels":t]).forEach(function(t){o="string"==typeof t.custom.config?jQuery.extend(!0,{},n,e[t.custom.config],t):jQuery.extend(!0,{},n,t),jQuery.jsPanel(o)})},insertModalBackdrop:function(e){var t=0===jQuery(".jsPanel-modal-backdrop").length?"jsPanel-modal-backdrop":"jsPanel-modal-backdrop jsPanel-modal-backdrop-multi";e='
    ',jQuery("body").append(e),this.modalcount+=1},removeModalBackdrop:function(e){var t=jQuery("#jsPanel-modal-backdrop-"+e.attr("id"));t[0].classList.add("jsPanel-modal-backdrop-out"),e=1e3*parseFloat(t.css("animation-duration"),10),window.setTimeout(function(){t.remove()},e),--this.modalcount},lighten:function(e,t){var o=this.color(e).hsl,n=parseFloat(o.l);return"hsl("+o.h+","+o.s+","+(n+(100-n)*t)+"%)"},maximize:function(e,t,o){o=void 0===o||o;var n=e.option.maximizedMargin,a=e[0].parentNode,s=e.attr("id");return jQuery.isPlainObject(n)&&(n=["number"==typeof n.top?n.top:5,"number"==typeof n.right?n.right:5,"number"==typeof n.bottom?n.bottom:5,"number"==typeof n.left?n.left:5]),"number"==typeof n?n=[].concat(n,n,n,n):jQuery.isArray(n)&&2===n.length?n=n.concat(n):jQuery.isArray(n)&&3===n.length&&(n[3]=n[1]),"normalized"===e.data("status")&&e.updateCachedData(),jQuery(document).trigger("jspanelbeforemaximize",s),jQuery.isFunction(e.option.onbeforemaximize)&&!1===e.option.onbeforemaximize.call(e,e)?e:(e.css("overflow","visible"),a===document.body?(e.css({width:document.documentElement.clientWidth-n[3]-n[1]+"px",height:document.documentElement.clientHeight-n[0]-n[2]+"px",left:n[3]+"px",top:n[0]+"px"}),!1===e.option.position.fixed&&e.css({left:window.pageXOffset+n[3]+"px",top:window.pageYOffset+n[0]+"px"})):e.css({width:a.clientWidth-n[3]-n[1]+"px",height:a.clientHeight-n[0]-n[2]+"px",left:n[3]+"px",top:n[0]+"px"}),e.contentResize().data("status","maximized"),o&&e.css("z-index",this.setZi(e)),e.hideControls([".jsPanel-btn-maximize",".jsPanel-btn-smallifyrev"]),this.remMinReplacement(e),jQuery(document).trigger("jspanelmaximized",s),jQuery(document).trigger("jspanelstatuschange",s),jQuery.isFunction(e.option.onmaximized)&&e.option.onmaximized.call(e,e),t&&jQuery.isFunction(t)&&t.call(e,e),e)},minimize:function(e,t){var o=e.attr("id");if("minimized"===e.data("status"))return e;if(jQuery(document).trigger("jspanelbeforeminimize",o),jQuery.isFunction(e.option.onbeforeminimize)&&!1===e.option.onbeforeminimize.call(e,e))return e;var n=e.data("status");"normalized"===n?e.updateCachedData():"smallified"===n&&(e.cachedData.top=e.css("top"),e.cachedData.left=e.css("left")),n=this.createMinimizedReplacement(e);var a=jQuery(e.option.container).closest(".jsPanel-content");if(a.length){var s=".jsPanel-minimized-box";e.option.minimizeTo&&("string"==typeof e.option.minimizeTo?(s=e.option.minimizeTo,jQuery(s).append(n)):jQuery(s,a.parent()).append(n))}else a="#jsPanel-replacement-container",e.option.minimizeTo&&("string"==typeof e.option.minimizeTo&&(a=e.option.minimizeTo),jQuery(a).append(n));return jQuery(document).trigger("jspanelminimized",o),jQuery(document).trigger("jspanelstatuschange",o),jQuery.isFunction(e.option.onminimized)&&e.option.onminimized.call(e,e),t&&jQuery.isFunction(t)&&t.call(e,e),jQuery(".jsPanel-btn-normalize",n).css("display","block").on("click",function(){return e.normalize()}),"disabled"===e[0].dataset.btnnormalize?jQuery(".jsPanel-btn-normalize",n).css({pointerEvents:"none",opacity:.5,cursor:"default"}):"removed"===e[0].dataset.btnnormalize&&jQuery(".jsPanel-btn-normalize",n).remove(),jQuery(".jsPanel-btn-maximize",n).on("click",function(){return e.maximize()}),"disabled"===e[0].dataset.btnmaximize?jQuery(".jsPanel-btn-maximize",n).css({pointerEvents:"none",opacity:.5,cursor:"default"}):"removed"===e[0].dataset.btnmaximize&&jQuery(".jsPanel-btn-maximize",n).remove(),jQuery(".jsPanel-btn-close",n).on("click",function(){return e.close()}),"disabled"===e[0].dataset.btnclose&&jQuery(".jsPanel-btn-close",n).css({pointerEvents:"none",opacity:.5,cursor:"default"}),e},normalize:function(e,t){var o=e.attr("id");return"normalized"===e.data("status")?e:(jQuery(document).trigger("jspanelbeforenormalize",o),jQuery.isFunction(e.option.onbeforenormalize)&&!1===e.option.onbeforenormalize.call(e,e)?e:"smallified"===e.data("status")?(e.smallify(),jQuery(document).trigger("jspanelnormalized",o),jQuery(document).trigger("jspanelstatuschange",o),jQuery.isFunction(e.option.onnormalized)&&e.option.onnormalized.call(e,e),e):(e.css({left:e.cachedData.left,top:e.cachedData.top,width:e.cachedData.width,height:e.cachedData.height,zIndex:function(){jsPanel.setZi(e)},overflow:"visible"}).data("status","normalized").contentResize(),e.hideControls([".jsPanel-btn-normalize",".jsPanel-btn-smallifyrev"]),this.remMinReplacement(e),jQuery(document).trigger("jspanelnormalized",o),jQuery(document).trigger("jspanelstatuschange",o),jQuery.isFunction(e.option.onnormalized)&&e.option.onnormalized.call(e,e),t&&jQuery.isFunction(t)&&t.call(e,e),e))},noscroll:function(e){e.preventDefault()},perceivedBrightness:function(e){return(e=this.color(e).rgb).r/255*.2627+e.g/255*.678+e.b/255*.0593},position:function(e,t){function o(e){return e=e.jquery?e[0].getBoundingClientRect():"string"==typeof e?document.querySelector(e).getBoundingClientRect():e.getBoundingClientRect(),{width:Math.round(e.width),height:Math.round(e.height),left:Math.round(e.left+window.pageXOffset),top:Math.round(e.top+window.pageYOffset)}}var n=0,a=0,s=["left-top","left-center","left-bottom"],i=["center-top","center","center-bottom"],r=["right-top","right-center","right-bottom"],l=["left-top","center-top","right-top"],c=["left-center","center","right-center"],d=["left-bottom","center-bottom","right-bottom"];if("string"==typeof t){var p=t.match(/\b[a-z]{4,6}-{1}[a-z]{3,6}\b/),f=t.match(/DOWN|UP|RIGHT|LEFT/),u=t.match(/[+-]?\d+\.?\d*%?/g);p=jQuery.isArray(p)?{my:p[0],at:p[0]}:{my:"center",at:"center"},jQuery.isArray(f)&&(p.autoposition=f[0]),jQuery.isArray(u)&&(p.offsetX=u[0],2===u.length&&(p.offsetY=u[1])),t=p}else{f=0===t.left||t.left,u=0===t.top||t.top,p=0===t.right||t.right;var h=0===t.bottom||t.bottom;f&&u?(t.my="left-top",t.at="left-top",t.offsetX=t.left,t.offsetY=t.top):f&&h?(t.my="left-bottom",t.at="left-bottom",t.offsetX=t.left,t.offsetY=-t.bottom):p&&u?(t.my="right-top",t.at="right-top",t.offsetX=-t.right,t.offsetY=t.top):p&&h&&(t.my="right-bottom",t.at="right-bottom",t.offsetX=-t.right,t.offsetY=-t.bottom)}var m=Object.assign({my:"center",at:"center",offsetX:0,offsetY:0,modify:!1,fixed:"true"},t);if(f="string"==typeof e?document.querySelector(e):e.jquery?e[0]:e,"boolean"==typeof t&&!1===t)return f.style.opacity=1,f;var g=f.parentElement||document.body;if(m.of||(g===document.body?m.of="window":m.of=g),u=o(f),"string"==typeof m.offsetX&&"%"===m.offsetX.slice(-1)?m.offsetX="window"===m.of?window.innerWidth*(parseInt(m.offsetX,10)/100):g.clientWidth*(parseInt(m.offsetX,10)/100):"string"==typeof m.offsetX?m.offsetX=parseFloat(m.offsetX):jQuery.isFunction(m.offsetX)&&(m.offsetX=parseInt(m.offsetX.call(e,e),10)),"string"==typeof m.offsetY&&"%"===m.offsetY.slice(-1)?m.offsetY="window"===m.of?window.innerHeight*(parseInt(m.offsetY,10)/100):g.clientHeight*(parseInt(m.offsetY,10)/100):"string"==typeof m.offsetY?m.offsetY=parseFloat(m.offsetY):jQuery.isFunction(m.offsetY)&&(m.offsetY=parseInt(m.offsetY.call(e,e),10)),-1jQuery(e).css("z-index")&&jQuery(e).css("z-index",jsPanel.ziBase+t)}),this.zi=this.ziBase-1+e.length},resize:function(e,t){if("minimized"!==e.data("status")){if(jQuery.isFunction(e.option.onbeforeresize)&&!1===e.option.onbeforeresize.call(e,e))return e;if(jQuery.isPlainObject(t)){var o=jQuery.extend({},!1,jQuery.jsPanel.resizedefaults,t);o.width&&"auto"===o.width?(e.content.css("width","auto"),e.css("width","auto"),e.css("width",e.outerWidth())):o.width&&e.css("width",o.width),o.height&&"auto"===o.height?(e.content.css("height","auto"),e.css("height","auto")):o.height&&e.css("height",o.height);var n=e.outerWidth(),a=e.outerHeight();if(o.minwidth&&no.maxwidth&&e.css("width",o.maxwidth),o.minheight&&ao.maxheight&&e.css("height",o.maxheight),this.contentResize(e),jQuery.isFunction(e.option.onresized)&&!1===e.option.onresized.call(e,e))return e;o.callback&&jQuery.isFunction(o.callback)&&o.callback.call(e,e)}}return e},rgbToHsl:function(e,t,o){e/=255,t/=255,o/=255;var n=Math.max(e,t,o),a=Math.min(e,t,o),s=(n+a)/2;if(n===a)var i=a=0;else{var r=n-a;switch(a=.5e.css("z-index")&&e.css("z-index",this.zi)},smallify:function(e,t){var o=e.attr("id");if("normalized"===e.data("status")||"maximized"===e.data("status")){if("smallified"!==e.data("status")&&"smallifiedMax"!==e.data("status")){if(jQuery(document).trigger("jspanelbeforesmallify",o),jQuery.isFunction(e.option.onbeforesmallify)&&!1===e.option.onbeforesmallify.call(e,e))return e;e.smallify.height=e.outerHeight(),e.css("overflow","hidden"),e.animate({height:e.header.headerbar.outerHeight()+"px"},{done:function(){"maximized"===e.data("status")?(e.hideControls([".jsPanel-btn-maximize",".jsPanel-btn-smallify"]),e.data("status","smallifiedMax"),jQuery(document).trigger("jspanelsmallifiedmax",o)):(e.hideControls([".jsPanel-btn-normalize",".jsPanel-btn-smallify"]),e.data("status","smallified"),jQuery(document).trigger("jspanelsmallified",o)),jQuery.isFunction(e.option.onsmallified)&&e.option.onsmallified.call(e,e),jQuery(document).trigger("jspanelstatuschange",o)}})}}else if("minimized"!==e.data("status")){if(jQuery(document).trigger("jspanelbeforeunsmallify",o),jQuery.isFunction(e.option.onbeforeunsmallify)&&!1===e.option.onbeforeunsmallify.call(e,e))return e;e.css("overflow","visible"),e.animate({height:e.smallify.height},{done:function(){"smallified"===e.data("status")?(e.hideControls([".jsPanel-btn-normalize",".jsPanel-btn-smallifyrev"]),e.data("status","normalized"),jQuery(document).trigger("jspanelnormalized",o)):(e.hideControls([".jsPanel-btn-maximize",".jsPanel-btn-smallifyrev"]),e.data("status","maximized"),jQuery(document).trigger("jspanelmaximized",o)),e.contentResize(),jQuery(document).trigger("jspanelunsmallified",o),jQuery(document).trigger("jspanelstatuschange",o),jQuery.isFunction(e.option.onunsmallified)&&e.option.onunsmallified.call(e,e)}})}return e.css("z-index",this.setZi(e)),t&&jQuery.isFunction(t)&&t.call(e,e),e},toolbarAdd:function(e,t,o,n){return"header"===t?(e.header.toolbar[0].classList.add("active"),jQuery.isArray(o)?this.configToolbar(o,e.header.toolbar,e):jQuery.isFunction(o)?e.header.toolbar.append(o(e.header)):e.header.toolbar.append(o)):"footer"===t&&(e.content[0].classList.remove("jsPanel-content-nofooter"),e.footer[0].classList.add("active"),"none"===e.option.theme&&e.footer.css({background:"transparent",borderTop:"none"}),jQuery.isArray(o)?this.configToolbar(o,e.footer,e):jQuery.isFunction(o)?e.footer.append(o(e.footer)):e.footer.append(o)),this.contentResize(e),n&&jQuery.isFunction(n)&&n.call(e,e),e},contextmenu:function(e,t,o){("string"==typeof e?document.querySelector(e):e.jquery?jQuery(e)[0]:e).addEventListener("contextmenu",function(e){e.preventDefault(),e.stopPropagation(),jsPanel.closePanels("contextmenu");var n=e.clientX+(window.scrollX||window.pageXOffset),a=e.clientY+(window.scrollY||window.pageYOffset),s=Object.assign({},jQuery.jsPanel.defaults,jQuery.jsPanel.contextmenudefaults,t,{container:"body",position:!1}),i=jQuery.jsPanel(s).css({position:"absolute",left:n,top:a}).addClass("jsPanel-contextmenu").on("mouseleave",function(e){i.close()}).on("click",function(e){e.stopPropagation()});jQuery(e.target).closest(".jsPanel-modal")&&i.css("z-index",jQuery(e.target).closest(".jsPanel-modal").css("z-index")),i[0].cmEvent=e,jsPanel.checkContextmenuOverflow(i),o&&jQuery.isFunction(o)&&o.call(i,i)},!1)},checkContextmenuOverflow:function(e){var t=e[0].cmEvent.clientX,o=e[0].cmEvent.clientY,n=e.outerWidth(),a=e.outerHeight(),s=window.innerHeight-(o+a);0>window.innerWidth-(t+n)&&e.css("left",t+(window.scrollX||window.pageXOffset)-n),0>s&&e.css("top",o+(window.scrollY||window.pageYOffset)-a)}};"ontouchend"in window?(jsPanel.evtStart="touchstart",jsPanel.evtMove="touchmove",jsPanel.evtEnd="touchend"):(jsPanel.evtStart="mousedown",jsPanel.evtMove="mousemove",jsPanel.evtEnd="mouseup"),function(e){e.jsPanel=function(t){var o,n=t||{},a=n.config||{};t=e.extend(!0,{},a,n);var s=e(n.template?n.template:a.template?a.template:jsPanel.template);delete t.config,e.isArray(t.maximizedMargin)&&!0===t.maximizedMargin[4]&&(t.maximizedMargin.pop(),t.dragit&&(n=t.dragit.containment||t.maximizedMargin,t.dragit=e.extend({},!0,t.dragit,{containment:n})),t.resizeit&&(n=t.resizeit.containment||t.maximizedMargin,t.resizeit=e.extend({},!0,t.resizeit,{containment:n}))),t.position&&e.isFunction(t.position)&&(t.position=t.position()),"tooltip"===t.paneltype&&(t.paneltype={tooltip:!0}),t.paneltype?"modal"===t.paneltype?s.option=e.extend(!0,{},e.jsPanel.defaults,e.jsPanel.modaldefaults,t):t.paneltype.tooltip?s.option=e.extend(!0,{},e.jsPanel.defaults,e.jsPanel.tooltipdefaults,t):"hint"===t.paneltype&&(s.option=e.extend(!0,{},e.jsPanel.defaults,e.jsPanel.hintdefaults,t)):s.option=e.extend(!0,{},e.jsPanel.defaults,t);var i=s.option;t=i.autoclose;var r=i.border;n=i.callback,a=i.closeOnEscape;var l=i.container,c=i.content,d=i.contentAjax,p=i.contentIframe,f=i.contentOverflow,u=i.contentSize,h=i.custom,m=i.dblclicks,g=i.draggable,j=i.dragit,b=i.footerToolbar,y=i.headerControls,P=i.headerLogo,v=i.headerRemove,w=i.headerTitle,z=i.headerToolbar,x=i.id,Q=i.onwindowresize,C=i.panelSize,E=i.paneltype,k=i.position,O=i.resizable,L=i.resizeit,S=i.rtl,T=i.setstatus,F=i.show,I=i.theme;if(E.tooltip){var X=jsPanel.setTrigger(k);if(X.classList.contains("hasTooltip"))return!1}if("string"==typeof x?o=x:"function"==typeof x&&(o=x()),0'):s.header.logo.append(P))),(v||1>e(".jsPanel-hdr").length)&&s.content.css("border","none"),jsPanel.configIconfont(s),"modal"===E?(jsPanel.insertModalBackdrop(s),s[0].classList.add("jsPanel-modal"),s.css("z-index",jsPanel.modalcount+9999)):"hint"===E?(s[0].classList.add("jsPanel-hint"),s.css("z-index",1e4)):E.tooltip&&(X=jsPanel.setTrigger(k),s[0].classList.add("jsPanel-tooltip"),jsPanel.setTooltipClass(s),E.solo&&jsPanel.closePanels("tooltip"),jsPanel.setTooltipMode(s,X),e(X).closest(".jsPanel-modal")&&(s[0].style.zIndex=e(X).closest(".jsPanel-modal").css("z-index"))),E.tooltip&&X.classList.add("hasTooltip"),z&&!v&&s.toolbarAdd("header",z),b&&s.toolbarAdd("footer",b),c&&(s.content.append(c),s.data("content",c)),d&&(s.option.contentAjax="string"==typeof d?{url:d,autoload:!0,autoresize:!0,autoreposition:!0}:Object.assign({autoresize:!0,autoreposition:!0},d),jsPanel.ajax(s)),e.isPlainObject(p)&&(p.src||p.srcdoc)&&jsPanel.iframe(s),E.connector&&jsPanel.addConnector(s),i=X=C||u,"string"==typeof X){for(X=X.trim().split(/\s{1,}/),i=0;i=t?0:t},top:function(){var t="body"===this.option.container?(e(window).outerHeight()-this.outerHeight())*this.vf:(this.parent().outerHeight()-this.outerHeight())*this.vf;return 0>=t?0:t}})):s.maximize(!1,!1)}}),s[0].jspanel={options:s.option,close:function(e){for(var t=[],o=0;oe(t.target).closest(".jsPanel").length&&!t.target.classList.contains("hasTooltip")&&(jsPanel.closePanels("tooltip"),e(".hasTooltip").removeClass("hasTooltip")),jsPanel.closePanels("contextmenu")},!1),e("body").css("-ms-overflow-style","scrollbar").append('
    '),window.addEventListener("keydown",function(t){var o=t.key||t.code;"Escape"!==o&&"Esc"!==o||jsPanel.activePanels.list.sort(function(e,t){return document.getElementById(t).style.zIndex-document.getElementById(e).style.zIndex}).some(function(o){var n=(o=e("#"+o)).parent().closest(".jsPanel");if(jsPanel.closeOnEscape||o[0].getAttribute("data-closeonescape"))return n.length&&("closeparent"===jsPanel.closeOnEscape||o[0].getAttribute("data-closeonescape"))||t.shiftKey?jsPanel.activePanels.getPanel(n[0].id).close():jsPanel.activePanels.getPanel(o[0].id).close(),!0})},!1)})}(jQuery); \ No newline at end of file