From 17aa492893abeef3dc18d6fb5d92d6630bd4ec15 Mon Sep 17 00:00:00 2001 From: Newcomer1989 Date: Sat, 20 Aug 2016 20:22:18 +0200 Subject: [PATCH] release 1.1.0 --- README.md | 7 - .../font-awesome/css/font-awesome.min.css | 4 +- .../addons/font-awesome/fonts/FontAwesome.otf | Bin 85908 -> 124988 bytes .../fonts/fontawesome-webfont.eot | Bin 56006 -> 76518 bytes .../fonts/fontawesome-webfont.svg | 207 +- .../fonts/fontawesome-webfont.ttf | Bin 112160 -> 152796 bytes .../fonts/fontawesome-webfont.woff | Bin 65452 -> 90412 bytes .../fonts/fontawesome-webfont.woff2 | Bin 0 -> 71896 bytes .../addons/font-awesome/less/animated.less | 34 + .../font-awesome/less/bordered-pulled.less | 9 + bootstrap/addons/font-awesome/less/core.less | 3 +- .../font-awesome/less/font-awesome.less | 5 +- bootstrap/addons/font-awesome/less/icons.less | 185 +- .../addons/font-awesome/less/mixins.less | 41 +- bootstrap/addons/font-awesome/less/path.less | 3 +- .../font-awesome/less/screen-reader.less | 5 + .../addons/font-awesome/less/variables.less | 189 +- .../addons/font-awesome/scss/_animated.scss | 34 + .../font-awesome/scss/_bordered-pulled.scss | 9 + bootstrap/addons/font-awesome/scss/_core.scss | 3 +- .../addons/font-awesome/scss/_icons.scss | 185 +- .../addons/font-awesome/scss/_mixins.scss | 41 +- bootstrap/addons/font-awesome/scss/_path.scss | 3 +- .../font-awesome/scss/_screen-reader.scss | 5 + .../addons/font-awesome/scss/_variables.scss | 189 +- .../font-awesome/scss/font-awesome.scss | 5 +- .../addons/select/bootstrap-select.min.css | 6 + .../addons/select/bootstrap-select.min.js | 8 + .../bootstrap-show-password.min.js | 6 + .../switch-master/bootstrap-switch.min.css | 22 + .../switch-master/bootstrap-switch.min.js | 22 + .../jquery.bootstrap-touchspin.css | 1 + .../jquery.bootstrap-touchspin.js | 1 + .../validator/bootstrapValidator.min.css | 11 + .../validator/bootstrapValidator.min.js | 13 + bootstrap/addons/validator/validator.min.js | 9 + bootstrap/css/bootstrap-theme.css.map | 2 +- bootstrap/css/bootstrap-theme.min.css | 4 +- bootstrap/css/bootstrap-theme.min.css.map | 2 +- bootstrap/css/bootstrap.css.map | 2 +- bootstrap/css/bootstrap.min.css | 6 +- bootstrap/css/bootstrap.min.css.map | 2 +- bootstrap/css/custom.css | 1 + bootstrap/flag_icon/css/flag-icon.min.css | 2 +- bootstrap/flag_icon/flags/4x3/arab.svg | 7 + bootstrap/js/_bootstrap.js | 2363 ----------------- bootstrap/js/bootstrap.min.js | 8 +- bootstrap/js/highlight.js | 1 + bootstrap/js/main.js | 61 + install.php | 760 ++++-- jobs/bot.php | 23 +- jobs/calc_serverstats.php | 4 +- jobs/calc_user.php | 87 +- jobs/calc_userstats.php | 6 +- jobs/check_db.php | 57 +- jobs/clean.php | 12 +- jobs/get_avatars.php | 4 +- jobs/update_groups.php | 20 +- languages/core_ar.php | 364 +++ languages/core_de.php | 719 ++--- languages/core_en.php | 721 ++--- languages/core_it.php | 187 +- languages/core_ro.php | 364 +++ languages/core_ru.php | 595 ++--- other/config.php | 55 +- other/session.php | 79 +- other/style.css.php | 1 - other/webinterface_list.php | 387 --- other/webinterface_login.php | 1 - stats/index.php | 19 +- stats/info.php | 38 +- stats/list_rankup.php | 81 +- stats/my_stats.php | 3 +- stats/nav.php | 77 +- stats/top_all.php | 3 +- stats/top_month.php | 3 +- stats/top_week.php | 3 +- webinterface.php | 346 --- webinterface/admin.php | 74 + webinterface/bot.php | 204 ++ webinterface/core.php | 377 +++ webinterface/db.php | 246 ++ webinterface/index.php | 133 + webinterface/msg.php | 140 + webinterface/nav.php | 147 + webinterface/other.php | 299 +++ webinterface/stats.php | 442 +++ webinterface/ts.php | 350 +++ 88 files changed, 6442 insertions(+), 4715 deletions(-) delete mode 100644 README.md create mode 100644 bootstrap/addons/font-awesome/fonts/fontawesome-webfont.woff2 create mode 100644 bootstrap/addons/font-awesome/less/animated.less create mode 100644 bootstrap/addons/font-awesome/less/screen-reader.less create mode 100644 bootstrap/addons/font-awesome/scss/_animated.scss create mode 100644 bootstrap/addons/font-awesome/scss/_screen-reader.scss create mode 100644 bootstrap/addons/select/bootstrap-select.min.css create mode 100644 bootstrap/addons/select/bootstrap-select.min.js create mode 100644 bootstrap/addons/show-password/bootstrap-show-password.min.js create mode 100644 bootstrap/addons/switch-master/bootstrap-switch.min.css create mode 100644 bootstrap/addons/switch-master/bootstrap-switch.min.js create mode 100644 bootstrap/addons/touchspin-master/jquery.bootstrap-touchspin.css create mode 100644 bootstrap/addons/touchspin-master/jquery.bootstrap-touchspin.js create mode 100644 bootstrap/addons/validator/bootstrapValidator.min.css create mode 100644 bootstrap/addons/validator/bootstrapValidator.min.js create mode 100644 bootstrap/addons/validator/validator.min.js create mode 100644 bootstrap/css/custom.css create mode 100644 bootstrap/flag_icon/flags/4x3/arab.svg delete mode 100644 bootstrap/js/_bootstrap.js create mode 100644 bootstrap/js/highlight.js create mode 100644 bootstrap/js/main.js create mode 100644 languages/core_ar.php create mode 100644 languages/core_ro.php delete mode 100644 other/style.css.php delete mode 100644 other/webinterface_list.php delete mode 100644 other/webinterface_login.php delete mode 100644 webinterface.php create mode 100644 webinterface/admin.php create mode 100644 webinterface/bot.php create mode 100644 webinterface/core.php create mode 100644 webinterface/db.php create mode 100644 webinterface/index.php create mode 100644 webinterface/msg.php create mode 100644 webinterface/nav.php create mode 100644 webinterface/other.php create mode 100644 webinterface/stats.php create mode 100644 webinterface/ts.php diff --git a/README.md b/README.md deleted file mode 100644 index ae7686f..0000000 --- a/README.md +++ /dev/null @@ -1,7 +0,0 @@ -# TSN-Ranksystem - -![license: GPL v3](https://img.shields.io/badge/license-GPL%20v3-brightgreen.svg) ![forks](https://img.shields.io/github/forks/Newcomer1989/TSN-Ranksystem.svg) ![stars](https://img.shields.io/github/stars/Newcomer1989/TSN-Ranksystem.svg) [![GitHub issues](https://img.shields.io/github/issues/Newcomer1989/TSN-Ranksystem.svg)](https://github.com/Newcomer1989/TSN-Ranksystem/issues) - -The TSN Ranksystem is an easy to handle Level System to automatically grant ranks (servergroups) to users on a TeamSpeaks3 Server for online time or online activity. You can create your own servergroups, with permissions, icons etc. of your choice, and define these for the Ranksystem. Its open source and so its free to use under the GNU license with version 3. - -#### Official website: [TS-N.NET](http://ts-n.net/ranksystem.php) diff --git a/bootstrap/addons/font-awesome/css/font-awesome.min.css b/bootstrap/addons/font-awesome/css/font-awesome.min.css index ec53d4d..4ec9223 100644 --- a/bootstrap/addons/font-awesome/css/font-awesome.min.css +++ b/bootstrap/addons/font-awesome/css/font-awesome.min.css @@ -1,4 +1,4 @@ /*! - * Font Awesome 4.2.0 by @davegandy - http://fontawesome.io - @fontawesome + * Font Awesome 4.6.3 by @davegandy - http://fontawesome.io - @fontawesome * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) - */@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.2.0');src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.2.0') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff?v=4.2.0') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.2.0') format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.2.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"} \ No newline at end of file + */@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.6.3');src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.6.3') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff2?v=4.6.3') format('woff2'),url('../fonts/fontawesome-webfont.woff?v=4.6.3') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.6.3') format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.6.3#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-resistance:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-signing:before,.fa-sign-language:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto} \ No newline at end of file diff --git a/bootstrap/addons/font-awesome/fonts/FontAwesome.otf b/bootstrap/addons/font-awesome/fonts/FontAwesome.otf index 81c9ad949b47f64afeca5642ee2494b6e3147f44..d4de13e832d567ff29c5b4e9561b8c370348cc9c 100644 GIT binary patch delta 78149 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%0D{J9Hgy<#Io0jaMLI~>CR zmk}MM=(W43%1U#JKv4$>(Bylk{8%!}ibd4;D_9khQy6x}YN{05j zS0<}u)l`+_)Wq#|7(gy@bd4mv&h4ONXQWMdU!{*p4L;YWkd^`V8E>x(kfzpg^daXn zb6l8(PF8m|FgdJj6~`JM0AeLoFvwzDu_W`_r~xIgH!}Gm6y`l8AG}+Kr3%c3-GrTG#kB$VK7-R7PKyN;3G28nIb$VZa_7B zNgkoi>q?`61W8~qK6oJ?<%kUGieJH0IJ}q~poi`MM9@9?nnC7O$-_@@t7C=uvK_bmuZ5Gh9o$vn^lksyJEp~l*!#x@M*4#QAvHZg z@X8NAlwW5lw{IjihknT*KMu+rSkZU)_UzyT+4b264wTo&v)eIJ?7f57;Q^E0dk>KJ z1Z)Xb1lIo`{UK@8iiayX(Cg%S_RIdg@=|+uVnw*U(dtO!$#3*GdAvNH{xc`PA=L+@ z5q9{1|3L}i`L4JdEFB`-J6$I$t&7PDbVEw5+qhkozPUchvO2^bP>#rb2eOXG9&t$6 z6ItzF$eL12as+Igo2ynQZug<_bi4gVkEGd0HXIQ*TuVBB6b8^y_GFL?Eyj?dQ`n%@ zA5R5>oVfJRfiCij5uRh0EfBE5iTUZ-1w6ujxJ zD?d+iNJ&S$rv8(YjTbV7<5E-l{+Rv275I#$b=>o>??3--{MQ2qjUPW~;MbtMYR5o? z4&VSZ8Ub>&<*gOh4_^S86%m-JLpQ?Jr`2I-Wu!&|&1BN`SnE%G$HpzoW(7^tE8kf^ zhy}HPU-1X`KsO`Q%m1yn9!P!0^WZ7d;VWZ2bo-a}k z2Jxu$(EM0pGtNEjM_y3j0qyI4nOC|YIAX(K3=OvOQ$E9Cux=5WJZ7*|= z#2YssJ)C)S)TkLVMvuBV?T?eN@`3`%1SaDG92UyQVA;4s?hC4%k>Ml z#Rf)TL}^M%rpg%nBt6F@7fiUG%bRZHMt{e9l7NR~Y@+PK(3SG@A#c!yMzs%ZOXYi>8THm?55?+$AkMV31QCuF@M|G=5vCDZ67$;8LU z#F=`Fpw); znE5;{SA|AKh6?S7ORBR$&Qe}sim6mVJi-<9sYL=Ap2C@uNFrFIC-T~ZF&kC*C_Izt z8r(i3s&Yp8a z-1ZTx{bG1SWMp!r-pk8k@fPUV(;hG8lD_N=;vA0GeVmSrD<=JJ5@-Gj>3ie_8GD+w z)Ye(*^o51VhC*Rq%#+pIb%87B$1$6ELqPJT&@fhv4o(hVyEb>NJ}Ni`Br*}v@#1=r zIRuW49_^xY$sb)cmN$oFuP=&bWAn;W3QnEMJ*6)$PZslq(y+8m<^VQ#b2I%oP)A0# z_2-I;K)EM0HSM`_U3Y!w6}KinP!kZ4vbj2dtqREZ-mcpo?Hw4%`v;_M+8w}_;lk-0 zuBh0IzWuXj&8Q-sbi_$qLF@)U!=4W`?Cq&Xo%`wfZFZhEmB(r{IR3zU`agRqxTCL8 z7rE<*JDPR{j`Vs*po;%>jgF#|bac{e%(41E1$2`JnQBREEe;q0ivcDW?}TW&;8DIz z*N9;D@q`CJwxnwmGjKZW_(%Zw-jQw$b5fGHzeYXkJKu>%I3M~~5UQJx5CKb@WhZ<% z|C6HR4C^p6k+TXo8IuOsB8lC-5cJQ^Y8Dc^pNXBfl5R(!CvNu~5byu^A`q6kmcjr| zFg+o4;=mRfuX*x>`IhW0)mT@eUkX~Qk2F&?RI_5?g6aJ1k3SwsN9h1-)_R!Xl+Y&3 z80mBbB(rBe{o*!%{r*=!kdJh79<@WEH~~=Eqk;VpC=JZc zN#aQ(x10#WVDEbS$&T{PhFv>?cbGTt4gP)7SN%`WuB^XhcjRux)sUVg)a4f+imqeH z)^E6(u=Ig<3qVCRtJMw0o{7PJ!8gfk#gp{f-P^s43Esk~z30n5%W5_sYD#D} zG`k&IkuXpkv2Egt+EYi5ojBZZz7Le1ahzZIM(#OUnE5P%3d<)0-ARZ|-D$OB9l?)+l9Q19VT_`h+ zc3B~aL2l(sn}S$FUcRwF9~Eshh=N;C@X|^*mUd|-%rw&7oRw|JoRhW=ajn( zYb%$81g#BpD_hzW$a-DB6Mj#Bpe{YDR#>}ZdB~E46^5;DSu0qrtDCuDTaz9kY=~0T zdOXj2a`3BW@3osZuHUk0yJ69RO>9u<9#Pz@FR#cdghOpKarie`Qb{&pd{$us3_7y)L?Jyg5NEk8rwH> z@;&)pM1;w|D8fNOFBe5rn~I7Yq zwtW!M2Zb?5Z{9idKyN8dG-eCM33q7MFddmMmGyCgh=hf#ktUMR7!oLz5%*q)z$&^P za7`H=p!?dp)<{R&>)e{SHL-5IHy!FthhfTk#*16Bef89SD_S%gGWs$wN6z001yy@2 zd-N@t>sAQX#P)vNUU2r#@z3Ei#U0=@g^^#iWFfT?wD*naOcfdPDeQzWGn&9+%Fsk! zdu*Gh(cmf2&sNZd^xyP|4kGu{fn7guuFZ(&2hgg(3wT$Yy2J71x7C^bwjA$6MJfq#)|$YmXxjwbXemb zv2gENQYgFG(^B%%yK!;BMqh_@KCuhxHV~0sv9GMGDLA0tTOA*XK(GKh@VMU*&jTI~ zWB~nmk5B%Vl+6x*ov$ycs>wd=&_s6RG-aGIo<_Y<9^5vacyt0Q3hCDc0F~KXCjOZb z;n5UTEyR?G;bqaKRfnqUFphVyMqH%e}12b{!F_tM*jxE0@-` zKd_I>IFXjCuh^TMSs`SmW~4*yPWErJ5i9xHlDfhJ1qliE(&F|@EdYM@pkYj`S&0BC ze$t#G;VdO2ch|Mp{0`u1HgsSK=9)b|A^e%Cyuk`cg z8ln-6+k=ELIffW>j6Q6{ikJ`~){qb*>cW1d9~B}Ff6m9CA?l66(ub^{$2RwsI_O0d zgz$H80$ouLb)Cqjq@|^#>8-c^%@O9is|b$nt0Uc4ldc~=1n+TdgY!W=xDuTbv_5e5aRe#m$rIoDt9}&b;q^;r>^gSi{e__-@+E=EX%Tm z$SyOBU2IVyCYBgALJC$wj15Im0Tl#9DGCcn6{YPWMG!euOgdDEh&b z*dWqqWZUVS^j2$nd{%5hth#E$x-vLhkAn@ck2nenmlE?Txv?=r{Y#bz;>Qd85@RZmSbi!)}4L&Ondge)Z-ly{|D>C(?mP}@a12d_^G_eY{P{lNQq9@6{TI|H7S+s|Ylg4bB$Ge)AWUhvGK_x! zqN)H2D;ydCqN<@h>m<+F?k%K8;AQXj&^f>qJ}_-Vo{*GXvNAd$(H=i=(`evaX*d2n zC_XVe(Gpd1dVjWcL+QZUS7|d}Y%j4p&Wc{!-!&gPvZqOCsN2?PDJ?D9RbnlCrQnrU z%q_cKuQ?)6a_Q$+A)u-9$GL-Fx7KXfwKUqireICs8evBXh?{Kt>h?5R_8&`&w}yyb zj^*a;5)5yJS02AI`}<^db%8xA-3&*RQY>@$E#+%`m8<04|AOtPxU^984-ODR)k#b8 zr@d$nDV<$1Tgc1GEX-WJ;lKt)w>sY#c&*SE8x#_v-!m>eQhx)BZ$V|xHn5$0B z&&o(OKSO71w7r@mtZzu0@#cxPnzNRMh8_70)?}(a%M=J047O5ZJtfwX`i7kiXHI3D zvb1mOJW_9cwVcj4^pUwPt17ib*jScOmatotoE>*(=^yIc>fGv@uV{GcFXq-I`(uQt z*!U<*c4l$Oc56vT>3bdKi}{}=ofD?hiK71<@mX7;%hux@RLADyKrBHiEE|}%9;L9o zcx6mNf+NANzZ3>0BxWU8qFtr19;NUaN&y^UtQ2&t6q;*M3VXNiLn$x-!GhjWD1N=> zs6e?(KflIGLG^>H6xQ!r8e?8lxVm7Ct+yB&>-OyHF9jVdh2rh#s!<9d->3AKf}=a$ z4-ChQB9K93VPU_X9~>e2g`$_=3IkT)v267d3sPd#MaeOf;Ai>_@G^J9@((uGnPO1S zF0sxkriY0Fg7OOs^Q}8}!jZ$=xZ#IU)K;u6fg{=0Z|KVapr^8J*{@so=I?blY9Wno z53pC~)u!9kI|~YS3Yiz=@*zAKGDO7z(PjjTdP` z_PL+lrqa`g+78h%AD;gD^jCFs#{M%+ZASp$e1-y!!ub)k+N4EqU+8pJQr=nBdEsr$ z<&A_@)PWrb@|y%PE1f3Y$T*+!dP19z7&90)3IQ8VMV*K|;)9V~a2H({abQ{f;wqmf z#m&_;OOaTTxGNzsp>UICNR^m5jV3M5Se6`-=+h;x#~3g;azj+qhE+g|f=0LQ_r!?g zWf_ZoY;^NfF}qq(kXV>dgl$)1qGl+~suq)`RxPey*0jQhuKOL}ZxfEJI!*Ro&Qk<6MD&*{1u8oZ}ST9jfj{&PTf!^*pM$ z-=TWD`&ScynZoWn0M-gH9*pxb+v*HcX#GT=PG5!jD)RrTuj0;CIsL&`fr-d@m=zo& z&a>XHRDlE!$8?@>_NsE-y25hI!RQW*hsLKjcULlI77eDThYQ_fln1VYkpqyNJ-P>{ z#Cgt}3Nb}VU%8*4sER3%iZVy#L}$bZYlh643qEzjAv%`I$_&b{8v;k*CJAfwl zTr$zYK%mtm4l#SBHv9^Ml6wlU25aw4|+@)ZHf-cB|tUtv>!c#*<5rZ9j%N z#nG+Fhp7%d%VC;*j1D~Fpt|H^c}M9W{BQpD2pxCW@W~JD-9P%eb(mU`POXmIyec|s zUu5ga#?}*p_yioW8%&WKVj?4BTTTi9XES77%sknAyj5V2wH}FC4b(Ou`FXF7ji!tF z<`~c);HGhKMx5!*c)jr~!f~G~TrFuw`05SOk&zpE<2!lecq@yBU8W77vdt0~2Vl4X z$*w+@7TsuDV~Jju9GhxwPQkbx$MoNP)O!3`9g`FT+sVf%ABb8M1$W!y)c0e`3F)CZ z3+9`lASH?C0PwsW{5+#!KP(Z%k%vw3xd}N5Ld4t|@zX8nS2a-H7u;&T)&8Y5?b(cH zg3aQnj~=BH&YyEsoEM5~m?O63{JzA+)}FcD!%ZP8o(m3M@j=IXXFj-c<;-)lg>HB8 z2e8`B7p=p_;r5+-YRn%+w+5%C6%?cjS<9AXFNKTz!t2!M+s0c>|6~2^lYh70wHS2B zoE6|9eO{bzMHaQglQq`#V;c3C`M$6}KB{T0Wz!a0>Ne{pI(Rl55k%Q7by<0Zy~11< zxp!Ns;HWrpyvhthyn*?W0iRt<@b?lPRtqUxhHti}+vYwgy zet2hcj4diB%CY74zID!r)SX; zeZeC74212%01+CtjQZU9^&fZlSjAW@MAHY#k}bQoY^G}N5_;L67&U639J~e&(^NiY z%=+!Cgv=LT$O*Fq1U6SaX03Scxl)j$sYG>Z0-Q@eQhjyo(#`M8)WiQaW4ZDN5!U!i zlfGK#BD)Tx->VL>HMx3BvP`Ci`E;ZO4Omlu^iS(ydwt^(v(1J4&d}fgzQrGeZ6>&p zjF_w=Y`#vTasBlGk`G*RelfKer0>hX_3a_CNajn9NLnN(C2f*#B;QN!NdAzjr5;i* zsY&W59V#6O`qT;1iP8nqb<%k0R%xcRLRu}Ylirfvk=~VxHt9o|Qf8F-$cD?t$wFm| zWf8KqvSis-S*9#kW|vjU>ST?wGq7t%-RrQ+c zlIlIxhiaKxqxMxlub!)3tKO_GP*VnMP)lg(QNkA@O80v5_3IgOm^lX(gYKUosw0fNJIPY=E<6Vy{9-n%A?(w6?pIVt#snuw`v}UcJcBpo&Hb6T? z`;>N}cAYj(yIotYJz>*c)_$S=T6l~&{N^5@zi@h;yK83gy)lJf`_mpmy?m693U98Tg zE7LXV4(nQVuj~Gy`%rgPcU||BuFFgAW%L^AHPLH|*L1HSuNS>+;a+RJHhZOe<#_Gz zD)p-IYVbPXb;RqW*K1xEz25Qqz^l{iy4ROp-+KMz^{dxiuX|n(^m09?_tB5gkJCS; zpQ~S}U!z~IPt#}WbM-s)Rr-Vaqx#eOH}&u6ujsGoztaDpzoY+CFB;qo?gqVKfI%<} zHjFVmW|(Q1V|c+3VKYP-)*BKG$%YKWc0++-m!aHHYdBHJ!0OJ&6uyMX|sd1Gt*0|ZY)tG54GVV6+F*X~To zgMRZCLlhOXGq?~2xF52d>sZeb6Z5Ee;7~n)BcxlqX&Y7mytlz3yyM#c?X>Y8U&GMg zBV1sR;8DUT;1{@;!TSA8P(?W}+I(kwOALv&HfxIxa4njOMIlI$o}v!V?pX;;;~mbyu-Hn6pA_I`s}$1U7DfTJ`%< z_L;acYkO?l$y6?6EJu78@=p}sKE-sJX$q^6@e!!7$x46(i&Y#cW2>6=AMj|JW3xjx) z%mZMGvV;V^& z%KRn9C-@%ksanqy)iT_?iX*;?%*y>UrIYMWjTmgJLGJ#|$d4$W#EoM(qG~`cxwT`m zvk3eJ&aiuoLi~*$%)-a=_g8c;S6o;$vUQfFC-8sxo8s1XwRU$htSe#~$CJdS$fCqV zV(Ez~>WS%zF_TvQIMO%J1z(1GC>l`_;X6cnY1qSDP9R3CGyM$^xQ2{D!_AxoU#!u* zosL-O4~XB+QjWmG$2gi*p~Z{;tHL??9-jUND@xuT=kI5&;L2gLJ`Gw3=C3ZjC|6m3Bb9m=k=UOB}HJT%L|M}0mWHOdb-6rE<2aG})+F6g0VVGgc?md3J z3d@lplNc3V3r(Znq2WfyQ90h~35kj7a0eeSm2XD@+A8WxXRJ3JOstG?#Zt+LFNGPtAj$O!5xgOLmQ$=a^i#pf_eRR0*1}QE#%_`mxBcI z45I$zEwo~cgp8GL!O|x&u*0)^IXQuqh>@^0T*4S3PooqnE6exPnhE3jV6A8}9(E1_ zr_}&D4^K_PI`ej?8=RsseI>u=-;I=PgrWU7IJ?AvDr+|n`>N?Qra$*Cb7Tga4N86`V=1%c>|X$5b#}q`>k*)^ej*j!4+@ z^fDLtkBRFEe4GaqABjX3c+W+xL{5)Kt1Hea$t}z6hUMXaro?(ji<#8YI@HBZ+Q~Ro zSna~SuyAF6SS}yuAtnik29i*kRD&h$9>;*2oRjU?68oDd^t%ukfT5G1#2n{2@;Lts z`Q}HeI}c0+R-$5>*m8r%w88MJ)ZlN;E6*;;-l@*cF38QXx-#`co?M50Exy)f%h{S{ zrUSV#0@krFAl(FOalI>Yu9Z0~w)HKy5z|Oyd;lPeIHA(*S?L)5?i9)`#i&#?9tE5% zZQwt7>*8I3j7Ju1;Oz6qnEn6i{2a(b@;v_mPwe?L6!mBz;!?T5cY8YNP_FXXXQlqO z0M^Jy@r0QHg%KrngKR5fb(lhcx#WT$2U&v#L7E)3`wyBArtMF32;%b3Fo#_4lmd@b z*(1e3vR+*Nl%PdfU^ws;hnAd}SQOcmNZ_0~9ROHHbnw(T4_ztmbP({lmtr-tl-f!O zM(nha`JXlNa$-XJVVHjR9WL1N{U{3+!NR38P}M^EybgPP27Akp$!GBtIx0GWrv)Up z9K<@LHfN8mlE{BYR4xQAxQHSJVXCz1ZFTf#)DSU!mLfeb+m>#&p|{N{&9dhT`DJCW zYr>Kc;DDKkboAPBQ-{lroAj$mR;WpUL{6jtp>+U+TY@tsG1J@OCX5(mKn2CGcf*lXl&R<>^17>;tl+c<8u#pn z!$D)-p_Dq7YpEQ`$S6v#${;GJ8DbcggqbEHh+%=SvQU!$CUUchW(Z9z9YRwQi{>Iv zV{ga$`{PfufAj6z%?ff8S|Q1RU#!jM6CQ2@2Sa6s50TP1jzn=L!lc1;QpRib_+E$e z5%}f2hyiC6oL$#a55xWGzHWzHmB2w~^E4EZ(M~y`llbq)5tt9#mO!h?Ey(dTyxWYvJ0 zS6Ury7L1;UV18g01n!qhkZW2q)t;lW&%YEtpA6>}Q43u&l*0r(R2Aj>HqRsnpUa6wB%><1C?f;XvnVprmPks# z69sK!x{|04GDh_~j8Q$_N>WnuHdZA0Y^rG7dcZ;$2{QeF2S>7%s4j41EZ4CTy&cx{ z3Fs+$zgRq_nu>1Iu^c6O7X<+aPBH{w$3)TCSPiog@-t)vmbkGtL>ClVPo8h+2<+ngYf2Vpr#6hn1qQW-mP1C61a`}pz#^j;WM7*Q!0 z&^c*pYAu3bfpHpoUkCWP2ppjLT&&0t)E{p$V%E%|Lpo>N5q@~@!=09Ldqqjb4x&h{ z%Yv)#h^C7Db$A%O(TdtS@*jp&g~NfxwQ!naCa?f0B9${{OW}qKwCXU1Q62_#YQpMg zFtuKx{3Ys#spy#meG(E@#-L7#D!M+qsR>fHCE1af$Z|}|GK{4=jKFlw2+=bTMWI50 zph%z~k!2~7G3$lOEoI=m2~P@LnIw=maozVFaf(G;D{irgUTZ?EWD1;0pp`H~PqCd) z_^cCpLIeq}c!HeZnt0LxY6QY;WSLDY5p}-~r#ezJn^j&&PVhwVq%HdR%9YVE5i47w zPoHjSIgRwq6sr^|mGxN-mddJP`)-VFK7D`V<5v2v_`WH#FnfEZ#YU(=Gb#L*DLhAK z<4d4BIlyG=LT7dZE0;qLl`x76=X*`a*k8ghQTsj|J8Tg7a36LBeaIh14Mbji0zbVK z*XR%n_531o(H$$1pA}UAaX~Hz!AzJ<<_C#39Ed@r2R6YXK31IgJB->Ujv;@!*jH9E zM|~f{eAcloWP4`Cg)U5VkPc;CHJVPlk~oA@#iess<*8TZg%=c=NhuSLWjv}s_Q=kS z%0bS@6;!`L)cy<{7d*7d1l7xi!4+6LKPOlxhxCEfTOm&h?6BEk$nxxbEkxqaOm0_T zlmUaXPBbziy?!rEe(!CNO8Y8hQuH3I|3F!+;YnI9BRMCkR!A2NX|e3CT8oxF@Sl&} zCHFhA07#hMj6m)|T9OnSry@-AAb<2`A9|6XXGCSnl8U%|A(d>;g}IsaePGD$-dSNM z%-ux>DPk|%U2ff7>!_=&RbRVEU_Z03#`2lcUbcPv4l5~w6Uq2|j#TccsI~7^*YBdh zDS=XS8LuE~=ZN0ZMb5G=wyY|_N^GNf`Wi%r5i%ZZcot$=l#~)1V~t+*(h7fQsSyw0 zEAtIF((lc|j2R_7#)H*V%41AVs%wE(uVR+MWkMOEz^DP5FH@HYyhxy`nM6;g0x*(f zT3|4nHK>T8+U@*2Ia)N%zLq+kta|a-FxY*I#v>+IK#Y}WG zs9wE7ny%wq*_n{EH7U!QwW)OD-c$l*x0}h9P^1FY)<^;Z@&hbe#E@OET_-dU8b}~f z;jI{6padHj?;N3kVPLga1XluK;vR1ijU+oKC)@Qtyc46BZikYIQ;HF!2~(^@+^Mu> z7h%*DlB_3C(vC2XEFz2^GGFAyQJ7-KS73C^x>GB;S1$$R&TP0G+WVr!Ysci%DpXPv zwN*kJ-_&?4{Wv5%OFq7~0W%FoQjKTxK~D&2k5`Z$Rzk;NX2x{4FoHn_^a(UW*3uHQ zHl;!m4;P2^CmO?7H(y{a*?rxvq4I@tV0<9ruvh><$izoct`Ffpx(7LBJL^(cig+b~ z5fXE~0q_$M)wjh*Xy77xf%IV5hx|w9)YjhKMxZ2w6HNQ+C30|w{pTMiQL&SU4?%#` zf8_qxkz5%mEtM!hT(#3J0Jr7!?q!=0i*$$mV}-AMvQ%eMB4Ye={b2_ZKWwcw#V{%P z24{(&&{9Yy*k4vIF?I=E)4Jw%E$@o!%IGTY+S}FAb-~W5B8*+Su7O?CyXJRAbj5dN zc9nKDbiHg}r&{id3B#M7UwVGw`MKu}&+DF_d0zAUl$>(CEFLMaNEhMn3-(cJ_aUx8 zH))~&`_Hwn@SJ*AB6od~q+{MxFtmZoZONd)W$hDXvZB^N^$@w6JHqVC$aOc|Hof%; zO_&ml;**@O=5&O%YD$W~09=OF2Cy&7jjS)}a2{$F2ss4Ig1ga`E}3HSN2d;8D( zl0KyW{{FoR^|~)^KZLDEyd&5(7LMoRdcUCW1-LMaT~uUBhO-E2Olf2e7KrD<=?_pl1Awpec@`!0NKjEV|R&B z)*la%jFj!_3)f1f%FaB!F+MdhCMr6~Zbl6h+hDXCrHLg#!Du)hPX|Y+B+4N{|EX} BeAEB{ delta 38990 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%0DyT{kunD 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⋙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�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 - + - + @@ -169,7 +169,7 @@ - + @@ -178,7 +178,7 @@ - + @@ -219,8 +219,8 @@ - - + + @@ -275,7 +275,7 @@ - + @@ -362,8 +362,8 @@ - - + + @@ -399,7 +399,7 @@ - + @@ -410,9 +410,9 @@ - - - + + + @@ -438,7 +438,7 @@ - + @@ -454,12 +454,12 @@ - + - + @@ -483,13 +483,13 @@ - - + + - + @@ -513,8 +513,173 @@ - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/bootstrap/addons/font-awesome/fonts/fontawesome-webfont.ttf b/bootstrap/addons/font-awesome/fonts/fontawesome-webfont.ttf index 96a3639cdde5e8ab459c6380e3b9524ee81641dc..f221e50a2ef60738ba30932d834530cdfe55cb3e 100644 GIT binary patch delta 46339 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ðJx>G0W?OfQ`~5`3id$i0`JczO3LmZO%VAHTZl)l;u&UpsTmd#wA|=uhH) z(s(@hc-8R>C(w!MC&o`UzFznG>DTX`>OXaMxMldg)48X|-&lEue`e2{$!|%{-WZ+! zv$&saJ10E1<=nS#Z+ZL5Sm@Zj^OEzP^Q+E}Ul_P>{pX6GA4$I$esT9ZYu@F*+wks< zhY!F3U=dhy7*YhFfkP;`?1$7Fpt(eXjt>T>l0=^s^>TOlv;aWQgicQ88Du~oP3Cz3 zD&J1#S#$`?Ci8q0icd}E1xSG}P3A=?4&Ru}OHd}^Pv+l4Dw02$|2LFO>QEk9GWbWB z1a=I{(nxtCcg$Xfmct=LiwfZ4b}^jpa!?nV3uQ}CJAAns8(dVRAlqPX8p)8_AYe;= zRA?XhWg3}-(^f!JEwHXYZGk!$q`(5~++|%law7L59>;eG{-7Jx!T&43v!IbzGl-uW T`N~UjWkQe^t{fl!2}1u32>Gw7 diff --git a/bootstrap/addons/font-awesome/fonts/fontawesome-webfont.woff b/bootstrap/addons/font-awesome/fonts/fontawesome-webfont.woff index 628b6a52a87e62c6f22426e17c01f6a303aa194e..6e7483cf61b490c08ed644d6ef802c69472eb247 100644 GIT binary patch literal 90412 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%0Ded40&XED0GYFoIh+AV*?9!MR5pBW?X_8Bp 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 IH>08b4`|GD*#H0l literal 65452 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 q%u^)w#YX9ZIvhtu?9Cy6YRi6f6G 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 diff --git a/bootstrap/addons/font-awesome/fonts/fontawesome-webfont.woff2 b/bootstrap/addons/font-awesome/fonts/fontawesome-webfont.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..7eb74fd127ee5eddf3b95fee6a20dc1684b0963b GIT binary patch literal 71896 zcmV(_K-9l?Pew8T0RR910T|c-4gdfE0#wKV0T_7z1ObTv00000000000000000000 z0000#Mn+Uk92y`7U;u^!5eN#1yHJMdO93_lBm5dc6WY?}?kwoQRxJ870r-=0+y%ha*vYuUCUJ?P7_3+uzWik9+_!7nxs;V)%a4RNH^ zc4m8B@+|{zEa^4NCck}}OyG(NDl>kjf{My9O=ulWG&(tIM-}fv z6A!D373NE?xA$4-m)kO95k0xyK*tYODl4ALJ?*1sxjWyV^(D%2EPtO@;-V@{l;!qur0sm1n1+kORV!d6824Ou#3nIYjy1X(qjdu#foYPG3KvYpHl^J$>L@W~;6gmmj7y}hY+ z*%10elngK%mf>)kmtk|3oM#F%vwyz-seUsri!-}CbFaX$3j#~BowRibi*&DU5|l^-9DojV1KmJ3&?*~yNK2{0#ZVN1ITpSs z)hb)%mHH+owyJyZ;=@2|SH_isxWXiDHvg^j1gB#B94B6P$PL*D(x<}Z8c<=-s-GKJNgzh3?2GDRN3z0T&pzuKy5 zEZSgX?$}|6u@yprg9vvZe-G1=dzY9MP9KfI`m zF9dV4DyyHdvHNuonakq%Z})dn-%>?ILFE+}GmvqYT!PvdS_xd~FC$J2OUk!l z%#~<%=S>TDVW41I*<5F4PW=Cb00Hpk(YL$<@W$Mu>H*$ccI?5)Ybyi#10WFyc^d*9 zT@NTbOSECo`VV?Eur>U~%9S8~$K91%FJ7^dkl=ePDPVU1KT4Jdkx*U?+GziVn*ZNm z5Ly&~RfHJE5TKH{G%~ix3^0v@=3$)LA+`D8|9u8QJP8m}&P_bPBfQPx@EC?6#+x9u z_1@$IZu4!I$0sO?FCpgIyQv4-cKPrfii?1^7rz$?-~k8_VYCtR5D9|~OhT-9L7|MZ z&De)b9BvT`c?5=3T5ZKWH2FWU$uXUn9o&g#QBPhznSb=-(SMJQ-jlvWk2wzDF+&Fj zixv%P5LUoIrnI-)X}9XCEb=T(;%1}UX}6kK6DwIl!(PUnZ zodpVo#2~T5(+Y{UT;*~#?fFdq>}+jWzVpj zD^#_xDk=o!(`H4DWN{OkJvuTv8G>h)GALN?mvB`^Dw6v;T-*|(!jWpiqsT=X5~if+ zT4dex{{WPu<$a27AAm8mrz`uHrR?V_Y-t%O9ovX_rx3$c&hVA6Bo#2 zibMgz3{CqOigan0Pz_xxP-+aq|pHZq*@VyYNgA0bOntBr=*fq$trp zf#s#7I(cL%p^{>X@XF{2lg&y7f}C4Q(;7v;kT#5viE9Wy&5+EwCzjj)kRrnuIJn~d z8SwB(@QWf7H*Au8PaAU+2!v2Hh)RT(Pwoc7+>>S!ny{Qf_$DcjfMiNw30-cw6_;oT zX!TY6tNIn@lSpj-W&ED<{KH5V1Bvl?jGsC z`Q`?Ajw5S8mx(Y~Ib>C?OKO{rN|o7DG{A!W zKxQzo9Pl%yi|_Dq0=LZg_SM&WL6iam@eQqQ_k1MjZ+}l6>AlS+Hyy7(u#cGxs;~Xc zJcK^~TJqb>FOVsX?3mj#XLSbATwbev44iR1j7dJ=qq>QRaJ&shK$roRrpOwmVOFnY zk<*Uh(7UD^95cl936EzFwE$se_i4K1OLLI3yD1-LN?r46eN&0ddyx{SOU(6ewwp-y z=bgwyta}0?KhM+53EWKrej{?$(j>QR0C<15+oE^SCNT(@peREXs>Rn&ef#7Ke3=oA z_V!J?3^qY9^Dt-|LjYLq@~~|4&@Kf}tBxjR+bnrrG#1y_4jcr84UAJ#f}xkqIKI6#y3LRuRw7X9+t-{VpMl=_71_HYDN^Hev z?aq{SHIAAMAK#cAZ@TV4Y&A1-Po%t8GI;;ctaZLWtj-=ynw;sG4qs?4H(YmT*6N~l zH@miZdmd1TpS5_9)aPnNHa@sq{MO$URk71S0B1)Mjjh?ASS}d$zvPlj-z?|pt%Lm2 zzKS4|W17$mRVh*>SV0&JlpMg+R2#D}vOOhYGjpZZZIkO}V!Gg&iY5%kZpc|zna*gP zgL5{;u;|*d>#OP*xi++MzI-X5GNr*Q>*NnR6PnLAGAd>V^I52JGd=sosl8eXxHT<4IFVcG1Jv9|5oy6{Yrq88XTyGE4pP*}UJPOtX zdw({brBa!E7I2Jbj;;<5E9Y0+C!V>!*^!3nZsTxfR>0XAR# zvlqsjOG9K#ST$fs`QcYK*tM-S-&eu}E0+Y{l_F)N*OU@VG@G?yO{q>vXdrgGPAQDT z1p`ir8s`vmTh}V{W#Cc2+SHBhQO&7nr5VO}L2-jdJW z!tr90Qc~v%E((!#Yy5{nWaqT?G-%Ya>CM2{ts^~}Yr#1*_;OX>9e5VMoG^7yp5 z(Xy!snhKviAS%84VECkXgF9W}aIB?NERQbwm%<*G5pGX$6?aTDuwawnI7ARFdC}ak zwed&n=_i^jF)t<$tNyi)9$PBJQTc69k&a8Dl`jIiKW#tY50ZMs|;h8LrF#Bo~_5egI$UBiPF#4>~$OIauLay&K@ zX^#xuRO#VpcrY1`4~4XZi+w@)h6iXa$suYibVB&I&r|796R_bv)76ptIS^aJ!Hre- z&kJ;ihj52R-@c$m@av0uDnBbKX=J;vziLB13U}cY>hI`p*5V2JM>k;D>m>Ud*xWKL zy!2PNqc_$vf|DAxVNpw}N}ne(+{xIG{Qio1NuhECG{Rn#YK45b9q}Yb4TWy-qNft> z=p~-^>r024RwC()MD7NG8{Xh5I9|sk5W(lqU0TH{h%Vlm`_OrJMaM>6qFnTrT<2@1 zShLW`*nRdGLad2(GqOcS-t4k0XmI0X2&7uhBgt8^#|KAJq^rMq(HA|DHj?eHH~p9< zsJ##xGHjB7*|w{k2FWBNRM2XtC@i2wpP5^&fSm7JZD$Z_S=P)yg;*Mz%c%JDnrq@Y zXhu>|xV}M`lyN#JyxD@eqseVU_b-SPSmoSmNK*OU|sZ0d(*s%Kb3MY;B+8{X~j1ICPM?FR_k_x$rs zikcbS^{mX+pp4uXN!aM+aB$&E7j;}o+bpAe=_-JfaOWYObIP;0oQb%4wZhZZ?A&8s z3(o~>k-Ph3m#=W)6jKPlVe3Mx}X#Ch5)4y95VuCAzuMi;`fhkJLI})p)z-c9*Zwk*{R! zoFhPXr1LjY60$HcnO7gNx5%q%-p$n9z%uzDO+?1BJ6cS!N}@$ zJGcJ2rsBMV1>n2YOjmmk5Sq0~MD?sdm~X=x<7Q$sHjn7=x@C4U0nRrs1bUysU|FcR zbgqNN0=2AlH*qiIweEX0wP;_5sLalehDK&)%FzEI6qSgmk4e6N8C&jGXzMeg_S%~J zRJ@?BZ_x{Zs94*~@=9QSz(Cmj8=iUFvX)AQkL7oS)k5Zkb^CUp00S&&L2%lS8t`jH zXee`KcDjwn-I}<7xc%fMfgCCiV$+F>0cy98YsQLsbm?uz<; zo<<#oY6S1*plE5h@up~87iwLuNzy1e-Kdd}|s zHuY&lM)(BZFh#4}IRPZWvmpH2daniN3yDPC4}>tT;n@|Wbm2VErvS_Kj$`P@K}ip+ zf`3{JnNf$!C}RM}moU!-pO@e&*AYAeQ{sIdA%fB#`3{>TXGxbxLj{S7J*ih~|= zOy!4Vm0Hvq#Zf^&BBunwW)*ok{~^U1))`tjSG^(i!*>nuRw=*enD(=Z?#ANzcotCv zb*U(FfANyZ>+puUc`f;XNH`dI8QNwZvNNl2lXE*l>9oR7*r5vBlWR7=!Txx6fiL+m z=kUhG9zyjtG;L`Y^U3%ijZ&J1kkDL2FqBu)GG!14sdjiW`|$Gs9j~_K(Vl%!M9S(Il?dnH%lK zv^Qmpe)<~=rHk9>Jf<=MHstZ;(2dh+{@Xu49$dJx&V#=)>1QUuAYmLL86g0cI?DaY zOh6jD6{PTGtZk5jcXGR0X8dw+GJi}7X?t*!muZ?)4?PTc9c*OegpGws;aIgwCPAcD z*6rRKUB)oD)Rg6GG7^;_<&-LG?f<`0<&Kto>79m(+r>#b@~e~<$#;mW=6xGOqvh=+ zHm81{kAIXL$su|mqnh=mFV>$sfJ=Zw93;r^s@!!ScUHR+&D(Ab8vaBRoka(M5^QAj zE`8}Vxa`@mJjrC093k|D-b=7(wJRf+)=kM0&ER869hwSAS|gJ)R|AJsLPAhc=#m2zRBr9#=dK-oESBt5vPq%@>ch>>aVi$+hP5ap)n>L^QdM6#4tB2fav#1q1# zx$$sPBk4N&Q}6Haya>19_MI)nR`AXS;DPUKV)?LdJ5IJ0ZcS`3QeSe5(YDMIkERg7 zqa@>FPgHj(cp$}6b=$gu>G0gfJ38<$7~*tWdv^KvHkkx1Y+@NtEWj8letj7%`{!uF zV$0JpF~Vqrtc^5l6AVv|ftziV%hV2dQILX$;wbSCO|5j0gPal*kg$R_Z(t!6zkx?6 zd>suEuqruqYEBHY7sB-7Mq0M#A5lqcJ3RWTAvBAaBP1;aSL{?kIdWl@q~%@sWga43=cx;YfCu z(K3u|?K(`;LG)Zibaz017;IzdLFE+;_v%M z$j@^#eua_G}wUL8&CQvDjh3$X~fN!g2m)ZXLx>x*MdpbI_$dv?b4n* z#ac8i+v39p9*XaiL;ezLHLnSx@c!uFe;tpsm7k|K=J)OP6n0i51YB67LL1YRphO_- z^oKRuXAe2ob??kazS*H?+uSXeiy&8O0&Od}c;T~DI>g%o_i9o!LWOIHf2+xl)*h_3 ztdVz*9C9_W*sg?rCJ5*CG~rCy%f132q@BYMu5(Az%KMv)-NG9a4=f`$mPg`l6F#!P zPZ<&8!tnR?%dcsrghb-8onSH^PJYQ>A)>PqIqy$W{Xc5O;(soS>ChUz@?T5*FvfvG zZuH=*Cs&V4#M^A5sQFo-t_B8 z<+h;*v9>%Y)uP)xw-0BLC4iIrWj^|=Ie_Yy`Y-FzB_{*=)kyRaZ9bq9Z2E+lG>T#D z|0T1Y%(FY@o_S;@XV+>ub(~KCjfj=C_GFn>k1%YF_21e|>xET2xUCY0|NkVY@u0kG#-Sl=VH%hbHBe^{(sl4NHLU zD8NmDr|>yRz=;t)h+SC}ViOJO!r62v1P4X74q<1TMzTn+^`J&|?L)4GvhotG)@7AZ z5Tnju%xo$c1XJ2%?O!ELvAXZ1y6l`Ia~5dZI*SvUD4fnroK(lG`J7SCrPK%L6ako{ zm?SDzng_F1t1WTm(!bn`7;DnkEuHzoNuy525+N@gj-`s}SC*riDpHf8YWdA7R_Zxw z)ILVLRN+KfRWgwqJ2O411l5=)nU;bnQtHvFjF<)V<<|_$c?Hom$GO-M9`eK%LwRnX zM=gx;$^G~70;LGI_9Z-*Jxeh7~QK{bpC^=PxP zlVC->h_tUEiQH{5IyzV(syS1yD*!gZzvex;nGzVclJig{NzCf?5$0f0%D)u748e6b z57~b>^5?bVFCA~YIH~eN8n1FoeqN4;qg>`pH;5R%rD= zF3YkjVON2%t4zzL@Xjdvum@jzOvSV65vSfVkk8Gpoz}Fy609-EVS0jO=iQ?q zZ!+E9(8&BRZd|!Cg*+r4&!zh`l{6T_R+ql&moQEoDx|AT09x@^mGhBQV34MD!Q~!9 zKiige%VjLyhG-{i$O8hNC@-Icc&~kc6pweWk*VxhaB8ilYqf=6-gL^Ui+r+KM9(wmrjp5M>BhJOJa1#DEsr{oi@^*RmVy*2hc<|b&A@g6(@VQ)cN#1`wse9} zvjNA?{a={<^fDE=AC?m@`(0UBSdq$?jI*lIDqdGnvG@C2`YX2E9BlSxA>I%U@PF3(J+M ztfsBhx8>NCgBL2iNgQe04N2QIv-#QW>WipmG0+JhP&>pGMhK-H+qBAe!+8&nE9_C| zVAgmDG59jeVipd0hR7a}?|HQV(M+;uE{xme*RwAyKh#=_(~*LD+IOpIcYlB0sPnS7 z-w*BMv$9OCf5AkUd2*+|b9Z4#&aD@E+F=P69(Ggn>$2{hO{$%eki%9IETpd7G(C}B zN)JLv3>!n#Ll&9dD_H+4;|TNqQhNw}IkO<$6@L;2(?m=NSan0+I1HJuM={%_Qn3`B z;L2s0oW2#|;-jA#mlA5ZZ3PqGI&&1l&qv;q;L)SrFM7z+247M@9 zE5ML(Ue^|t&K)hSe2#AIU{yG1^yM$a?j}6@ZFI8*jYmQp+T7c{--pv_G&dS$gv{thY@% zso^>8Xp9xyfulP5A z&Ymi^Hn37#N2sjTp*de0$89+zBd_{yiY_M}`~GUBa7Fb=MsDw!F1tpi(5&}upEV5+ zc#Xq>$$onGLc^FFcAhOHdVtGM`}h7k8a7R`(=%6FW|`Ss5@(FDb=EZWGUcaV)q&lK#75UB6X!8(A%gQm}-A0g?6;8(_EfrEfX3UsLXma2wWxrNT zD=b=W-nP({n>QirDyOAHWjQJxUoBZjL`O*kD_E?O_>s#*zv61#VX`4gkw5ubae8XXRy-$pT}F*%7So`7 zC3LAHOQxGfDmQ2ZJuunSVj<5XgWR}fTA`^|p3-BX5Q;VpLkM|`H2x{t^HWG9uEnv| z4MUAwe5YvYM3MqeI?L1db^3!WNs_!W7Y*u;y|9YP3+ii0TycpPk18yl{zX4gzfCwA zMVlxk04U0ycwDgu@w~zo9VC_lAEQ8NX!cpBG)%`3DJvzVM%emVC#sf#_@f>{@2fo1 z+E@;+GYYja*7Qm>d$50OqJ8Zn2Q@}LhaQR zIzTCNR0t)^CzB(B#fa)wDdC%%)Im|(skvm3^pRneYzv^d-wp$mlt?a$);UD0+)+xK z=KoPx8jF-oA(g@)54w(CDk24y57Umjnk)vk;VLPq9KPD&aeA7F9Z*(CUU8$~S*aZQ z%Ed{=Qg}MSX<&TEl$$)1h@Gg++oAO&rK*=!i@rS2L^V)m&O|1z^m{NjkU&sDZ7X>- z7muSSBBBaY#cR<-sFAXda`f8AV7zFbch!2eYzVdH9Mau^DJ~^pNdDdRL12Z7x6mLNG~%JO65XGv7phC=n6oE> zptAKH#9Fl!n40TS)UFwt9BRR|K1HvL4O8~M6|W79PTYWoLV*eL`EU+%#?}%F71I;R zr5;USc?dG8q?>J%BYtzsy2qHJ0viUI{?qoER4bWAY2lSHBzFrR_ zy-Oc5B?e;KgIujUDaweBs^%CV;i6Dt z%E@}kToytRZoR;{r20VH&6n=3AoQk-SU-WL+cJP2>w;Afj-n$*^x9#YrH^NEhSX_X zF{>d)s!AhNDzqTZW-p-;w;)CT*m%m;PtY1qDkr&% zk$qtlV7+&;MJ3Zb$si;3BC7T73AutHAhS#Egpy)22p?pwC!9RtHH90YE2G**2YObA zZJlg#+3{rBcg5YlBNq049((6%9{Dx2i}LOpae4d<)hvYeJ}$444j56X*w4mHa*)r3Hg#W4PGZc`M*l=Yl!gi3dFvo+kme;!U`i}0K(dp8A3-nvJ zC4~CbGpb+URm9O`@3w&8B!6Od=LN0X<ezUYv~I*si+OJ^6Ro! z&r@lX_@lQnqv;Gg7lC6C0E943?jzaAN%2QB7kg=Db(#PI{-155Hrix1Iu@Nk(lFjS z-H*j5;(3s7;N*_3hAAIaar+XD1rCx{x2WZ5V~QQZO&7%UF_-hIoe!yHFTtr?(K1R- zBj7=rdnPRSB3PJ{lC*`fE+KJiL5>V4ono)W4unO9)zviz1g#vK4}pg}!+`mV_ZRB6 z0RaUH5~LT|tlX7VhV}s+WS#Vama}_70BV<*1_}fO0uns&&w~=9__Ey&@b7Ez=Y{}I zb$fv)4N4a6L9Tzpgx|j)b6a4ugT*M~@mhZ}syCdTwQ{_5itJHj7L2!6t_r(Wsg`ZY z+^$etOV|M8?Qbn5GlFAw`_Q2u^Jf64dtqshX!mp7E@MAqgpECUKnAJsrQ^n>60OfN zUg(2JW1Q%Yty^SqqM-^6GP=G1o&moPJN*5Sh$0$ZTV&f6*gVqHF~#60aSK#+Nm4sylw~t)AG~wOWa*ZE6s?U+4A>TiB}?~)_os;Fn#93B$sHiJp~?P zZ56^)(~>Ey;V6_<+JJBj=HDoMV~3CHdi$3#f|u&ZT)_{FDSd73G@Y!W0)G zRjqE%p%JNR+KafkBNAA0gvW`6t)xl{cHXm%DA&v>x|TRdjIf4Y=pZ$~={Lsh;m)M& z16#WbP_EkG%BW+Xq5klP!KFpxN7AaioXv&Oub`j0Tf|o(2+N@g*1cjV2&U5-mE4|6 z-cTp39j|Cz*a2Fbz($2H|1JxfwaHxp_B9A!3u4PTVYW+`Lm`kW9x23{Dgp0L05M$p z3%iOk#QsVhC&RJ{LMN1~fu+zKhL_~);SVYfd-7X98niik3~^*$r^9gBUY~86mSCG0 z++cPS?Q2r#i_q({JZy2gy4<#}RB^!0gk{VKRi7?npdB&1CoAud&Dl1`?lka@!j=Y2qL=sQ2Ky<$JdPyXH^N!yOG)>$o?ZCJ$sIsf|Vk zmuku-n;a0Gk{Hl2X}*3+4c;)gmP?`Qe!6!@{zWbxbiVW(|}#%bw<%R>0=W6<&xuB`!{*Hy()Y%2&@I-@!%K|DuEL^Vm@6`Q~+2kMgz)t z%O@bmdx_P=5)4rDOrlGGm})M5DO4g+;{+C{v6R#sP%(n>Ses{Q@*}SrFB$rTUm(8p zxhE9y9$r?XrLj|+5yo6OESGZkkp3jIHC2Wfg60wM;WQ7rB{iVv=X>R6X!js~a|k|| zaxU9QiJ<77Q7)*o8kGm6E)8HdUMpB55_P?%hT*%#_nSE%y_mk+Gd3*S8c?e38(7awbfK^z~Z};x7DQWo*IL)s6gm{SgENK0Z!AHb;c(jq&zY__lQ2 zkOuV)S2$QzWN6ULH0>(C#?q?83-qfLMGGd9JY;B0;2Rea)LEoXG|Sog501{CZhy${ zZMe!as=son;=|~D(Vic6q9~n+OjOPCwUL%r?c@fYVXv@s+{{cSQZoXZs-GDgwL|b1 z;GqKtdkZJeY|b>U;eb|Xjjq`Y;u%J?M{V8p&7xV8p_Cu_pdek={4xh`hDN!Iqjuzk zY};^m$ABU$-S-S2b@KXci|42VxJ-hp)@bm?Qj1{NRHP)ddoeR50-Shfs?~v$O0{0K1PBX{ zC()8f7^%SJ2oV_|q1sD*}^;7XqG8jw^ELl%fn0r{&Av|rml;t%W^%>`ynr7qmy zMStM9X!MK51Hm6K(T}G)oAPjdIOH9hN!CkyLW@#Hu5wOgA(7B!!oJCV12YT(Z1}h3GZ@<62 zd~md_+eA{`DB;Qh_#F!nx_#H0!Z4Qqa5OdIGwFI8g2O3+4rh7xZId22a*+>?o@d8W z*AJ28mPc${1u>t2quHizdqrNibjxni_illCOZq#Bngpd*3j79hz~@aI&x{tD@YKSjx(X4d<3S_NN^!C z7UbEf0?HfuYdexfc??vOg~A}~+yJMP^5fRQ%cL-w98K{9gd}DJ0#M?_rE{R`b#8Jj zrK+Az1jnyjEj#A^W<4r70I>zeiMn{Se|bhEd+pX4Q}HV-(45BrCVuK{T6SQUuReOd zl;PSmztnQ~AxsFAhkQg{o}iY(8&&Q=Sr;QF=}MZ4u7?;?==O)W&86R;7f-9iVA4JI z4^)nWt&u6cEOTPzx1*F=_SlE#Jy6{ixuxigQ9ip&hb}~{qfB@~sM*7znAPkDsh8-& zfml<5`*bg|F@9)mw&Q>jwq5?Ays~S3&zX+3_LK+rQufgmjfMAC^GKdDC6mzVbTI?L zum9Cn5KoDp_R|0*r4nM^V3L?pK*s`m?(B5GXM&oX#AieHzPd`++QI|$ohoQphJD;?Nm2|KZ+S4XvIHC(KTuI7DzbGd-~&II_qb#CpM zt&$0*LxGk?V{K_ScU?ZKx3o_VwVWP0>1%I#xODToKTHAaH?<_0Bthm17vd40Q|-g< zT82=Yh02%6d;$H^B==J(IyKCZ|P=SSHgy2yF|YB{HH{tO53k3vfSG4W+!-q{4cp83-n0L ziV|y;XUQUi=D~TV5!>=spl1qeOBh5CTliiPh6RX=maFIS6 zl%SCGX6jb@!3#~$_puMy=D+Pu6GMWBoX?eeOtj>ToX`kd$2IuSB!ISqBhR<(ybl^y z-(cixS3ARYivJY1OtHc+&dWXezxYikk|TB_wuUAmn%#_@fwn7bcYASY&2_fhHPz!o zc#*KVbPQ40U2FViWzS@nvcw+CE74LJ*{6Y z=uwJYY7ToZw(X&xO*PjpSV@@&hPwFzVJ>*H5pFg8N3YiG2m5b60>MHsIe6Xwa0&ZU z$wVq^EQr_bm`f0M&DXx(Sj=aUh{L;V^J8cVn5S8A5+4PZIswM^f_)itMr;eNBxz#H zq<1zfNDf<~J!y`$F`q;c?SAfGkI_f^5T4S^+Jao^UJ!MO2RLq2<6?5_di6Q%ON zC=aBtFDxTb6>G-g7MA z2^@hIDzrzA^Cqp(DthnY@4g3<1|>1bc*UBd!14oc$gZ9C(Ra(hNaci?%nEY8nT>u> zF^-<4n6)`P2|K1P&pN9hm^1izx2pyXhh~ABj4DC8bV6U>_sTF#4JvOh&wNvC6$l@3 zHF5O$y^ETb37|3R#=h-3TsUJN>Z--OV2bs^wtgKdhl|161GN{sK#&ZWs>^WkFEgK# zB|GDnyE!oiw2cm3LFE)`L*pq*$zI=b_;tFo#JD=ctF!P|POWG|DD z;B=Zcxswi59dzM`=%=6Yg;aTgUX@zTP})?`3Mpq<=9Go4DdQI;jFi&~10QLg6tKFH z=HS&5vQS1delM-p5>3JCs@Ow2XVLL!Y-CcJIF}oaBm&h^Dp@Q}Wv9q0tE{lrS~)%A zT1I50i)<{KJBi)3#S0h8N=at$!NH+3SXQ)0;qJl4OUs0`1Bfb!%bdk^Rle;46)TPJ z#P71zcGXU7X%o@W?7b|{+8SM=gtBrSe*!Jf025sD7gjH4*>4=AT0P%b%a`M6WqOPi z!K=V-d1*@Czn%t%uo=Z8srYr9s>^y!?|iQ4)-S0(nt%33X~zN1wcu>}FfaI(fMT>clQ6%XDJP#pJa|gx5_zREr-awknAn2FqZg5Sx{Gsc?B@RaFJERnzT4 zyWUiFiP0liY&UC&`T5L3vRXX9E+ypC26NrxKV4*G&NAg&3xk``jQw-+P-@& znO|mfL@m+mn`6s16ma7tqsB}u)-c*ei)pW8dZeh}5-OMKSp0-5WAKMt%)MBpCrefW zRJtrp>l%Af2{F@JSF_efGsya{;e~_&lB{%Q-GmHs%?xE&h^G${W}!GYP)cf^&!};~ zdzAQ)2LkI0QXoIT(_EaQ~0}QOuG7k<=w-rqdqL7*F)-PW+NWBRU>@w z!B*fS{(Q5OVNi2gW2eZRY;V46zt){3r?G+L6gutli{+2B#B?hq(PEY5xk(agbXp^W zyZQ-M7bYsubPkm9rTrYeYt1>HCH8#tQb^^A(eI=!-gZl1h4YWj zJZ+ zFM1g15?=1r_o<{Egn;CDkWoyIG5dLey;DSjLdCj&DZtS}b*y7)XHHD*Ilp2zSc6rn zj6dA7yhu`YJ?uvH!m&{s&+aKfjN$-deftu3O1SEsV~ntR{EYV?)IO2fDp-zH62t-+@fPtu zt4)Rn0W?;-0QBOzQW-O$0az^2H|3+j*954v7dJKGs7Fz7ke!?IV0@6k^$Z@Z2NBNN z8;=e$zvfbIWr$r53S!{>Yoe9a6`x%?8@8;R=R+kj)Y2)KzYOLah!g;a`(=r*%O20j zs;F}N4=0%ejIC^_50xE236@Q!ViZQg|EF?!WZM;UxCT=qJg8cl?cGV~Ne*%(vch(2 zj7N}Kue~B`)kzA_Dw7zE>3M&|KwnphH@bUL8lxC;n>*RaA*_TsNg7yOp5GzXMJoL) zat$Qs)W@?|yEf%ky2#kUYQ+6tr5O@d4qc(@XOK4{ln`|N1gf!TF$^t-YazEfCn)Re zyhZrJZnYdm+8%F6i16!HDpdh5n_KLL&J=I;9?U{u^V|3xrca(9edcLmM(EY1q|GCD z>aIyFhx*z*0W;DQ!FDBL5O;}^p_Xe=%@P*u(lKNUdYz%$?5;WKhNqKOo{-=DLD$8| z4j$Q${=_n?c=v=E$+=pUz_2K4pdp-UTjIRMI>e4^j>5qIWamL(sRfpWCJk4E+XeA@ zIx~6^&DWwIEu%D|8lyM-7j2@c>)`FFSWcEfi8?wGnuyb}R^^}Rz>e;(7HR?hkX`(5 zpE{Hn90;k<5(Ld!u?ia0{H%A%wv%M8?tT2hX|^1fKVZ`&HCcFHw|6B>d~3GQ)ni5^U7ysEqAkQsWB6JlO#-M z@@4dL1>er8nsq7Vq5NjB3JmY50C-GjAr~H!s+j>8y3n=TGP2`IjCb{c{!3x@dWpv& z1PDE$jI_s*;u=6wLqb&R$B)6Dq;K;R2w?~xe*u_;5tlJZHiQN)=d>1&0e~=mQd>?1 z6(1sb*CX=}JA_LxQQE<9gd1&{v+@~CBV&!MP|)G1xN0^QXHNBYlcrC|q@;=>EVzDl{19@$4pp|gTs_cGf69WQKHapw;}lsUZVU6Nh(kp{t;ide6DP7t`xm~Z%D7!vMTtu zd2dwFMKhcXjqO9ZZ4kd4(L`20l|Klc$~}9rB+oBksP*&y>q&j1q-`TJ(GGfwrE5dW zp(+?mHzP~l#7K4FcyN>5gNnlo?!Pe7`|_j~Bl8bzhv2-}?2Z~jwszfQIAlqZ-E00vdu4AoJ<>u9!4%Z{jgG>C?xPMO)A0Ev5F%-=E z?0o$osyWP*`WO5~^MQmDkN-j*^FvDusKB+TfY1%kSa9-OUe?*aN#jjz2iU{iESoJK z2{HuApjrBKF7?CwxMtDWw_|_ovsH0L)enR$@34Rv_(Kmk7%4*}%2QGq)&}d!>(*tm zD<~8j%)VY|IG_S5FKVKE4ynmpqeM#g9=YtuwGqhQnNm5^I>h2W(Ur|Zi)Z7{y7q3% zU0b&x_M>{mld!lLNXGM!m^m!W5Z@T~S4e8d?)OE-RrpoI%Qx~%N9FfzhU|%;H~Y2C zd{qENK)S!Qb=3aa>k?(dh0CRH6AVUUP}&1yS2~6tiM3@z^}?mArG-v3^ zJ5*O3;qWk4!n>3|GE~3d?7Ipp9PZv~$wTIy$~MB`+DqE3uUHB<+S3&3JhFG#>cUc1 zj0N@`qwsQ(f2G|;)4(pJ8R!s?lACoDI zk7>fmz`h9De26v_D`UlsCtesrq-^X*=B{Te99RB}64$?mxwRLV>{}EQ?KTS*P^@yR zkq{dgv%ulL^gh2|%D-|_8n&)}G`8_-;Pxws*<%FIr}x-NZJ1p~JFniRdZuV`qr}*# z0^17qGNJMaQ<(iUe}q!-SB9#Ap@Z1x#!%f$ z?9h^x6(t0lJ~?UB z5&3amHwz&S>J*KN;5ZTit|hZeC=1U|vf)Kjtt*#HbRG52?ZGH}e7Jh7I+{WMp7~=w zxG~MF`51_XIt8Mg?U;4iafER+p|}!`Nh?;+;VwpyWN)3dsU%!-X8a;(U2={_hig># z8V}IQFVz*dKN@8!k2V>sd=d%&7v7fy1$Y>?h&9avlj}Y}diz0wc6w-$0N3_pF&+qW z9FO$q1(}EU6Ed%5AaL)|KF%4qZjH%)P3hFNait%3c-7;lTOQkDc!A}gNa}h6pim$@J4VqRsuAOPlZ~RL-u`%3ga7CTF)+LD_EeYFTrU$FbpTMNr&<6~hwh zzjF^?p!%_QsvVE&&kb>A+YNe%09KzT{=W4Kg;pzT59MH92|PKm(h5j#zScYl^O;TMSq7VD82%3qq9wi;V)C~7SR zBvRA~%lvF-vFgyA)|3_09oMo5X;q_^-Mh=P&YOnik_PWov43j9rq|kn>h{Yeh?8om zz$u=f((hgv7c1(M$T1)m13AXdm&-0QoI4}dVfsHsa3^$qkJm z)&|qDtOds}u1rrD8g@^OopG#!lO_`D$EXZ;zcuk_Ia^}yJMS_LJ5Na2lms)Vc6fmk zjH%#?i)ZQdVhWm4aKxUzLNHu)rKnq5AV94A@^HUp(7awCTA^-+IatAoVILNR*UUww z$4gMfLjAhy@(&h+mLZ*@A$$k%kb+;Jwc<2F!Hejj3x6LHfQN2`Yx(02p;=+rNwL;w zE9>SbRX>mXjzr3mES3I!>mX`On;;QVQRk=WB%n&MHa?LFzrn8q;{_kxWa4qZjSqzb z0@z+W8e5dapb~I!7z>6Y!2MsOj)x*Zh9ru`4Quac-&($0_V>%51 zYkXYZ_5=hXCK48OCkqn8^ySE$=tGz~E1N^mXM&gQ>~=zrO-C)%a^8iIrF&I<@xhxk z&!7D%T(tM?V@r2F#6$vwl2LOop@ii$ilbYJ>C-J`N5yc`@&0=jln+O-_KI?6x?#4g zMQVB$RD_@^ZDag~you@(oXv0K-aBI7slQ$B?pj)1{Kcyit>hC?I?$u$oL<8XZ8HWBb>Kx# zAkeX>0=NQ6&GSFA%Ox!8$)iCHnXU73r{@EZAmpzKHN zPT3T254=T!%6op^8Tefn8^y~Jdvw$CLHC1qIs<{>GlO|@g1_4=u_-?CmYhLiKi@N#}*jNF_ia??=vyl6#ttb7?)lUI`HghjN$x|4FcJ7E`~oO7bSs2Bva=?jlR|VNtFe2PdoSgtR!>6c{U^}Gk!l+45Y?BgZO7|)lnU` zfdJ`1v*ydQC2lC5j^{sw;^sF}Iki7PdFrebAtu6$SO3LBpa;g!-MuP}t?+a5V-pi2 zrezwJO`S#@43Sg7~&X-C6qNvUVJMDOG z09z169{{$n+dAkQ%p0}6bzp!vWqFGgko4(U?zJTza=Wh)zVikvOyM@H_w_QdySke_ zcE9@q)!XO}(s=7;dswUvKj4;KHVK#~e4(lt9?sx~?TW2|2|QgRZ$J?&H^ zRQVZjUIdLy_s9k0(fOEi)YH4skREppO5^aQpAU1p1(KLcFQwrpr+krq$*?36;4Zza&^ zQP9$;Fo#q70o~Qb;S1**ek@=~nrtzPq*j>!QXL#`>l0~Ihsr{l1Z?=Ap3)fA1hcsT zE@6|^FAY;L?=`PQWXkg|Pt+~#{0Zo{XdjRk?W;D^J?QSE@WUq&D>iNlg*tKIjE z7hvd=n`*52wH5Z{nW1zb8uNdLN%oaU@o-01_eQfx53guPmS9MU5++iTjoYM--LRyE zPA13Llhl+HL8SalPqZ`>0W|U3%t8&%-1wzF4t^T`QI~4smik1&8L_U!1dqrRsVJ7M z=DI!q7Sx7LM>PTN*aOKZvbKkDysJ$I6xBOy#EcEEs)iF@;H`hcHZQ3#e29VAE1j3O zu!)I2cW)i*#i$~z_TmML6$pRneC4ipxX+B7`mZo3s$UEeP`la!2!R!OENgLfL%UP? zbQVzrE&C$~T7!!@wc`b6Ot^`d^dubASog}G!ygtYr_9YEdv40j*h0tcU+~T*qojdiDoFqf1CQy^c@Io{dB# z>Y}st7pMZevtX{4b=Rn}T)9O@n1bJ+?J^a(I_wRwm%18d|H!bi;*NQ7hz+q__Xd_H zxE`?vH?e8}iIiku5LD_7F5!Z{D$+-TG+*EQd}DvoBgX^rkw7mT;3@)E+Dd#k`Px`u zaoB5jRq)#WzF@ipfDKXqH}Bu%vjzR{58^IDAzzvh(>fR%3ybMP$k+Lb-Hmtm_dmg) zwFb(YfHAX?Sxo~l-lKvV-2wRl4fkEDxI;DZADJ>v>t7Z-dfaK%E%}c=pGrLZYL_k* zf^P3oLNL7|1(PZZ)rX(Q3F2m&&bw%Opf}I?SQyV-W=C}`$3zfD8*!%!_1!;cWE9`f z6XscKzzHAVQ2B%e|NNP6hp&74&%*fiK#cV@y(lld{6I*g zOP(LYN|Cqju%|L;chaq$h5MHf#4>2dG1a-p*DXGY_t$ z3O6iFYR;-O?7~Z={CIM@8shUe8yU61E8s2NJLS}fFieO?Qovc~N}58Szi2Idg@tap z4QSRKns+t`0-KExw(=gsi2uu#R;aoKO{JdCbW)BGPC}3`J&8F|{hzbsZsOw;`?AjF zq#anuMgw`RrH<((HNRNwx7ghc7%L6h(``I+fVXA<}8e2Q!Zgxqq*p9`C`j; zKTD~T8ddn%a56U9w;+{sIH5j*c{lWfvHvG@+QPfzat4dfTpSvLWdz8CgIl?{^KKdb zB9@^P8}BUW@_;yVs;~ul)*jngj2$HH0H+SQS|C}QaV$24cio_=;2&`IbWFMTn9me> z0nO-woS3LgZHbOYo@&VrI&tSJRdwnDEX8}LAF;IXU2&SurQ4a+8r$H|mrO<~!Bm3n zTOs*SiHHPnJ?h!%gS2RzAndtoMQY%9&d*&uD0I5%y4DZE)DB|5dMxl4Ox{Uyyss!<*%ho-wF0NMW|UMTi|dw z^pI&Lgc8X4ld@n1izfJd>oV7TE4Wu{JK}Oq#i~oS#VSw!A%+meELx@95(?AOPX-3X z<8S1xWj@ss{a}GnEbx}7pRc>jaCfcm6aL_W!#&d;`1Aso9$UgQ!!Z~Vie|YlP}a~- zxx(d@9J6Qdm5t%fJml4y0$=peVmnH@HP!(qii+u!C>x_VQ|=}ME+fhIuK0YJ{75W* z?~!$9RelLogR98>6_UC!(K?2=>2|;WqZ`Lr{!G8odTXd(VaSD?dRaECk|@eU_iX;# z-`1wjQ*O;qB{(V2HtuHO3QC$&*~ZFY#jM4(KQt=&3!Gx@kzyVKSgPDXe#B#KguL8t z&Pq|dO2*SXG8KREr;qt^X@-1ThxR_;KV`{bF}e*G^ulslgu{$J52P0(_T{+v8?F+G z-74}Mnu{v-u=5DwL4?r*-~wB2gOwy%_{nrOsunzUS&k~1Z&7iX-1N^rsU=8P(SIRL z!xk#iLM`V3(1`+S>3#aZGPVrgMx$j6(tb4gK^0q48oo=RVeivW_iVWQ)_;bpVN^Px zWKG#trLCwV70g!=&0(JE*<;QM(IYw?_y5|y{q5E1N2wHhzuA~GMCKfoi`gYvQ9mA_ zHD~owPFX{<$|&-NC5d6`R2(j_`b9&H+7+&B-&w5zBRC0U|2gv+sSI0?7QjPWi{Km6 zI~T>;-@P`;b}J*x_Lj<>WnXC@)OLGn-LvAXI?cD=iWhDMn{SyEY6J{l{6190rjF%--NaDJ z{1gI2Wvi5=Kug&C$ktL*CouXEG6X2Fr5M%s!&7SZ@>q7^!h-*PD}%@j@4AG+Gfi-u7T05PGUGgCw#l|ZfcL(sB%y{pGq?m#Q># zvbRvp3Mx>-V7PH#T?h4>6_Njjs83WR>+F=+VU4-c9nCXCN=$<5nE`6G%K*hXsQ31L2A@sE+qTMlZhGSgM} ziu5B}-enR*#J~*S)Kg+aEJCxskJE3B*G+mhxfbl7{Y(*!dQwItFWnRZ!^hR0tz*3) zXZ(77wzqd1tv7VjO3irm78!yKH7EPSH0p48E*NN5kjgBVF%xNbGrXGNuoKi%D@;b1 zRe2{T#E)-D6{VaKb&+=4RM7Es3{i(Xig_v)I@-$&MDz4s42>pK>a+IAt>*(9ax0OO z`(;Aks)q+Zuk0WatT+9BfwkG0D)QEIcFJCETbmJ+X4d%H;_YWxhiUypk2QCu`2=ul zqatS`UYl={TqIc^`m4qM#zz6D;a=Qu)V0J;!%&De(#T$2yO}?)Kc@h}=8;EZp9mNF z0Z^}SHED|KUF{~FIvO<=xGMP$l81?u(Vn~-!1T3(SQ(-Qw+z1c%>+0G zE7_@JKd=-sT|Yf?sD>W24;ob&GV4__WjK>J;w$~{CZcd3mVQcs6wwH5vSi3H~>e=l5sa|QQ zsJ*heE6%7$Pn9-y6OovY^*`VY{t{1wg;pmDHRcl!Nf? zY@vnEoVQT-w8xKu9;6I!TIGPq;k4`eafa{v~3=-THmX9PR#AGI4Sg z0+dMN)aZ#3gxv^ck|1^XCj^g6e-fia_7_=QAi~MSr@$jpV5$Cr8|Ya`baBOSmxLhs zU=kmpUl%FQqWZrUx74c?GfAqj+0oEjsraI0I<0~a>O#}tQX#Iel2|KMt%+h7=fw6P z0F$MZT9_U*{(uo~_oL!K|J>Y0!C;+M zCyzwb-t&V8LPZxAWSGmWAS<8NMOA(moV138npw{QqDejjO}DLWxH*$cqRH%-OK2g% zTBy^;Y|fnHqvFR)ol;}O6w!D_XlB3)GEQZjh+#!p87ZYPj(gk{s-&V`z_@v6Gh{@$ zP1`v9G>Cy%gsENyW5Ian799^wrBa?|6kC&BIsvdtVm9DZMu?YtCu@J^?4hqmA%>KR z_cj-(T5(U?BL?#yFH*^)1{gW^Z}l7QKj+A_YjB*&cbZ9Lgfez$@Sk=i-mScblzDJR&ZleWJg{moR+o_qn#G*^Rt2bTEeP zps&4tJ4Fe@p!R%i_LLfP)gE?dn~{TP2<$CMBLy!~19Z+t5pHJ*+XuJO zKKYHY8@aC&oOplw8zbgIz6QnvL_x|Hlk+=uJVgWK%g zcqoCZj#RSB!Ls3@AN zC>9ec+L8r%MYCS*sf;OqL~s+hG2!(}haykwA{Ozexg$ur^k0<=l>1&268Gljxns8{ z@9V3uz2ws$zmR_@hcQuQ;W&@0#NFNKUU<2@I)=Aq(1t9AJ;x7Zw(K8;CKBjHbI&y0 z-Bs;Mg{nw9215R=fRfh{!|6&0HZcoum^^`U9G2jQ*ztrf7@UY%zXACD4Y@`PQUraV z`a^tT_;_hJXLPJ+z&s`Ti{rO`XMVSK{)D(j@`%a14$f_E$g_1bqw@E+FF&Sn%c%mD zK`YB=tHop0Cb4z<=oQ*Dv|JLcJ1U`5l70WP88Oon`^TFKQsF=@}@f;iDp)v z?-oEpG!W3x3<=!TCW*hEOb0~kyK8r=r1k%=VJwGy?T>iY6agz~W4qM;jvrwR$=hZx zy?S~;YiqXa(7Xq0q<&T0(4^eSjdFKn`?>Pq93f(Oas1i|fj6S@L%GC^fdvB4sE>OS zPQwq$-~4)lt9j_qp0C=GA_P^ZDA!d7G`%{}DixIG61MR9Aw0>6*p zGA^m-q03f0*m&H8U_(bU=~UcZNt8@Ld`S`>7JMO+wedlW{JrGP7ZO|SI)|MgP8Q8rZ2}Fwhj*MeYORW2Cz)XxmE-!ig=3yk#JydRkm*nb0F*U{-N))C1*eO|rGMa2(q8xGZK%>=r{rOTPE zj;S~9_|a&8ZR+r_lgur_US*y&(DGW#9&_8kMYTR^dkraETGsCzBfk&w`&yP;&xKUw z?ilacJhvkhPE4pCbmclPIF z*HHdA24Jzjm?fb~zMPK3bNUkcJnW^kFGN3)u;INjOE#}Aj%Ql~C7PWB2#Jp<>ZD!2 zG7hh$R%T2wCjVpSz9v*;G^3C5avG&Q{1NhWw(w_e8)CfOdO-TtoY#73@!IY7ef+(h z1w&m2Jz-o-LlI-1qW8hH-$qeB$uow^>zn9e8R}6uFF=P>^~xQs|G)^zt~{4(B%hSf zMdhwbWr+eF01%Th=B1Z4c$ULMMK+#E`q?OoFk=AIs=wqpBz;Lg@@KzK!dCNT6u+;X zjICxl7+Jler)yc>RDfeyA^qtt2+&Wb9S*uoUumDL&g&W(>2a4TEA90yj+@Biw_saj zQb{A;UrX%?A)+3#FdGJUQ5La1XKYH;j@sMj%4FXRZytrq6YAE+Y5wBpV_RPb>)N`7 zgWmT3HN?xcvoGA-Fm;7Wo}6T@_Xs!U&mBCJ)fFm8&JM2?n)tvqOi;N0(syng(+jfA zXLO}tTCQBlo0zW`%#g_Ha0N*!fUuZnT0E|ntkF`eh5pv4{B)C+i-`C7iIQF0k~3xE z!LTxQOxGJGPPh8bAvrlWadA@+qZ&;nWC)@t0Q@iJ0L@@G+Aqwp>;p6%_NH$Ce%<9p zuk6FG!w0kB4jSM27*GOZ?sHZR7{{dBRmg)cVWb#t=Jo1neLgCtU=% z`*|t_2&Dx{pCPR*%bYeW2um8fA~C&m8ee=P?J0hkK@@kD`VBXV_FXCN1vX7A<17q68h@p7h%hck+RyGn1<13$QbC6@!QJFB{JdHBpX;YAYt#GK>6Ab+lH zQ#{~r6r5hBmmXf0GS_HyW(|VBdC?)5kEk)^Iu8yFqW(`sYtks8GHqT3MAqyegUU-?%0cJ=G1;Ttz{rmYecR?wq0?&MZVG@x7#?YPZ59 zDJ}{%J#b$`*A$w)amOPi70}qgon~P-amG{}TirVK_j)v!b)o2$t#p`1ToeAZ`;~sy z%6`}TOHKrC-8lqdPk&z$V!;Q=u(Uq=gb0*}?G?>GB89ucLb>%=lzlWyVN8UC&YWM% z8N1M|uexVYbJ@6U>m;&PXyy4=JLh^;%TsMSz2x+O?Hu7}H?hx^AZD{1;rxY%JkY%~^yt{b*4oE-0)h_VZIY^+t z`F(TrJVbKdv8w%~Hw($gi~%idCv{(*(i907TmrrCXUw(ieh)%>xB|2nm7Ki`6Oh-Y zKtzeuF3PnaC>VlQ4kGxpnOzL8$9sDUJS)JqryyD&(h{QUM}%1`SnB|md<;CZja~)k z6x+RA&p>QAE@bHi;cZ}i zf)YkynUT{!=IBa2^_NK;CGwRtsfPt_lPb(GU2AtcGE+PWjDkr$qaI*P43XMNNIneV8o0l*r$M9whi>OfF) z;SNuSm>Q!b02o!d0cyk6i0DC@fIM;vfRLsf<@YQ&KibD>`Q2%cNnBt_?@A!xQM_Lb z;7GkPB(g8lzFbG-2M{Ajil}`J4;RCW4j(Imn>HY%$y8CX_(9!Hg@OTS!Ghm|EG{o^ zvRW>v$3r0YlU=qF5!B_NuYgr8CJ}&*1yG^^n7Z_UDUgZT&{w`VbahSSfK$#C83G|s zWzYvAUqvT};?oB7Dv*|*PP3t?h@VhJB@jKXlORju)_U@j$=SkH%7_2|wG?l#Dp89l z1j2yLV+e>}y2^j}=*5eY7(lCPsAGAV^52aylt8i_fAX!fsl=2)F=j@6EzIn(_pbfU zSvunv>ld(awE(*k73R0a^H{yXJg+c6&YHUO)n`m}hCXyrWXTJYXsaIVsVS%n#nmL^ z400ta+cCqNmg5^|CbyDG+O1YJ8<0FR&kR0OabM5MCRfrl!(MtV&2Co#`UV5zI_t!p z8PV3upf5l-luIgu+xHd=&ocBzgE2gGr#3gxM(q*6C}}Q})0w7m0n6#_V*qw~d3#rk zdm;)ZK?(wvhfWG=1R$iOSa-C^w7$!(31HUkjvjHfm65WALgi4gi=i<4Sa-BIpk4V@ zym0$QXWJn{*mCm$0*&52{XNPGAPN3AB6VjMI1vDpvoZ_^GdrtAc}UPc&l?`YfC3(m zq{AC3ZUY=RwbYH)IA6W&T;~EHq?+}6$K``Xd$d+>ep}~^WpWGd*5rtfb$1*Ny`iAI z&|})Vg1dKPOjzgqew&XO>n)h1>bbX(S$jJfw6FU%Cs-s_bZbjN6(uFre%8e-b-wg7 zV6@W9XpvV?rw0eOGhFZ({m0&UV{f7dJ7yfyy=L)3s^y)I{6imcoyYT;kFg-ycpt90 zJ8#qmyQ#iBH{S|f`^-1qaq8M$#;I>s0Y9#$ju<~$SWOd;TN-xv_bj4Xo$tt74!1C` z%La2mR~fFszFcSU<6h%t01IQw!cK`@n#1U(qJ6wux0`xr76!s*rvu>rlXjIkgK>j7 z5uXQbn>4#+>9zUt@=Dpf+Jn&1dtH(C2*tTD7xbRYIo7&@CK(iJ7S%Y1b0)7KU=Xi= zIaWLhJ*QvvoWfK-8aB_94?R~~N4mJ?>bDiYJAVG`jTbJWqHF$r@ah`i*cUf!#uiPQBbMP2 z$U($R3b{@j7${VQJ4!a{hdqWNVAeqk_83Eb1eshxZn*)7*(#BL+r7OH)-9}4Fs7Xj z@habcF4?XDcO9@8yJPBa3>eB6SuE5NdgJ3+j0FjVcqAVKRa4Ix zaz+veEB2Y!%J=+HIR<1;J`F`i6k`>x;L};w$6{i!yN`IiwkC69?NZ zTA3iUg6nGcq3&mAu6W(xT|VibU5Q@A;2`}Z zI~=rU6}nK1(UYNu1MP-L*ilGZ0ey3Jx0bJ3Lk)culWQ?)yV%8;_L8hx701XANFN?l zZ7NdcKvIwqJt~g~VHb4AVHfx7>6Kt~|0G+=0SW=8egD-*$Cp1iB%c4#`ELSgK-I5K zom+2}kHj@vr;2;5xs$j-eLO?Xc*TAdH2SXUK;e<-CO4@lqS-P{EVZ;^L;Cb)l%35LXTZVG<96qSKur(q9wqSFnYBJ#xDQl z+`xhgf3{J;UJJTqse@^uBsQGrA5!UPQbu#Q9T(F8pX5auY4$*4F~51DQhP4Jv&X#J zhmoG^ynFkI5wm*SHKWG%%>7(qh8*t}yAP|uG*W5*z}T z{*RLd+FNO?!&{9Z8Kta_ivjw0&&jY;&{L4H3|lAkiIuT@6Bv|lKyZ6QiZS(tg75rl1Nk)}9%p(WNl&|s;tRJX@~tT%qg(OLv7Bjh5Eh;ac}i?EN&#q}W~T<%)QHH& z03ud#F2ePR?=bGl>D3v`jg`3@88gmlHhT~@dA;^Pb2c$-jZfGaI@&Nqb8=U)hd zbBKA6t@`ufZuU9wZv7oTH}Cdw6Ut7AyInBD)outG%|4SL!9-#qu=R|<^QcWIW;w~F z8=?{)CIH14%uvxyE2Cq$XN2+)1F?3FW_`E3?6C_rdtf%)KHz0xd~ICyu(k(o4~G=b zh6Wa&=`xWCY=Y1#pnM9KISECkf$$*MSJO~rGAv*v0$v37?Wvpzps)?GLOdU0OrnY| z5(v1e4_`L1tU`K|r99K9KeGyIXk<+AoEg0Ev73Z-PMw|mld|{W%0Wz%dc%=Tn?6ZOjaT&ac9c4 zHVy367+KEH%iW-XqwI=uqYF5~nur0|c9wgW$!-}I!-@6p3I$gv2rUb>t&N1f6sX?v zu@V!+X_32dfl61T{HYS0| z#wU~aEjcpQZaG-iuK9btKlz*2EP#hKNu}lr119wh^7Bj1^I7z5Wbqc>u@2mZHNbLn zI8r9>E1LHC^+cAVIy`Vmyf=@6qvY)sUjle;MX`E$w+}Mz^oF)1m2FDuDZX!DbU5U;XaBUYktQYqdD8tZ1$73KH=OO5ym?{ii?*UBU@V) zaiC0&NN~$@9EqG^P^%g8^|sJY0vzqAA7k;{Giv>o;D|Weq5P`=#l}n-^hp8i!wM@RQWup+xJ7XSkZ zaj4CWLzPSrRCeThR^y+BU$teb8vheY%dgf&+YXlkRtFws%Oi|505A?DW`!;!oanor zJLWb~MRb-eYqcxAd`_rW0?bjvuQ72bjetPP0yP7C6o*vOfV)-aPRB>%#E;#xf`L1r z{(<3OoN>uMS)2I z+skBbYi!BtEn&*v^>#zcEZfDw|eDcYOKOl{8uUQ*`fO)FrR7!(TtINZC@LNcu*X zGABl7PX>{YSp`o9Whtr15m>pAxELQw zcF}Pedh4JtnTQLg)sLstS$Hq@N6?F(M7TEa=dpk?l{dc>fu*bwi>0Pzj+v2hm7Iyp zNVpQIFu=iZ_=%h&PkGHIThB^5R`#8r1zvu8@Xb5SSOCAjp9EFkzc_%u?w&zud6>>m z*Le)F-(b1HD(x>rcpHHv#jaQCo0n}LbWTFWV}rDtU){yzEvFPO&%-=07!}6|O(@R0 zSq#$(OddVvTkqtY0QX&&en?r=+6#FCOT}BWF0$)~Bb3chwnZ z@5OiPkXBfLnD6#>!=j@Gi!UXh6jv4@*mFQq0It#J8eD(th zquE6{8Ni>M9NVX`(x&8E!r4y}ssBNtlH;<=DJfmn(8ryJ|NcF;m1VgsMcrkM#2=SH zp?}f0?c8^0^$)*|ZX6p6;Gd)b`UuJ)&X%FW`|uX9Ta+>dMk-UmY;@QMe9 ztKOb>fDd9Wtf>DHTwp>KBr9rSMbYxK@ESJ5_oysGaFwJ?2@^l^#y5TQ;hCJ?hEQN+ zdXTja5c3e&3gU5s<{PWC$(6l+ee40FC5;Q;eVh%*IrQy6aX>96b>~k}lMl=TSarUE zER=-s_ekt-TiuS82Zek|e|W@ZbZ;^M0|o{8^;g%fsa{=W4Tr=$vyrxj1muspzln)M zaUz695+-ZnuRddJ)>ex+PBH~vp&=T6)bKDAvWP5+3$wrL>^?KP5_bRNju@x;ee#xK z*NsG@Tlyr4ZN^c_EY)}=FC_HWE5?Vb-zdUI*RX&vM6+q}PkZBPi>gE4Gz4Y;&~su; zu6_99w`fsulGe28xLtW@31a!Z=KK}YhVGi%b<1^ACWN)qhbZsu;=|+cgtt!cnA-UJ z$r|mdJm3!0|DHy2N4+B45Z+LU63z2PbW4ZyM{{eD2jxGO}$T z5Ch$5g0#NJEY<{T5J8o|`m;%0+TUr~OAP=W%uov!J%=;w8?;@Xp^ySAe-}&9H*3$( z$5?-VlAHJm*DM2wunFS8dg1`TRx2^7K+8>+M>v2?O+}g&6LxV_DZk!d5CjN=0{j+M ztk~XoWc8&>)8j`R!j6y2S&uYsPs>uNaK8}#G(dmbtcIgR0+}Q!If@FRx~AQ(nV?Tx zTYK+J(tMZeOOKde*Nqr$QoBdea?R0Mh1Jz|7E8*KX$|K2M>P&dQKkmerS$fSq&zFs z(Bfuev)tuz!taF#*BT96LwUR9JTr85QcYC_a@S%_J+1867UF@qy|GB;9d9h205AGKGF-35U}~WwfIMSUkd_OGwV)wpK1ryyb9Ky98e4 zU4gvx$L5ny(+ZkY7j@ySs{LeivQ1sgm~RvshO#q(>LDyhERF&&$9_A-9%^8(x>?l) z=w`eo$<@`XZq)g%WuN^<@&<}p7RlR44{9r&qehMK8)A}eqH*V%`c0?!$>p-f)Q(TB zL1>ZZEI^$g(*hvV-~^>&I~`V^3$^-Q+s>b!&&G%h;VT>yGEk1yn=YmNrhTj}^{ zZ0a)@b}zPVWKLr=4_-~JwP@RzK}c)?ncY?Cp;;5!wQB(a&I?Q4fTvaJr=?gYrre#! z;miav2&JmeS;RhCn5hLi)JznibRl{mZdKy`E!A&g^2I|8! zLu+&9LbH;padZx&1xzI5;C(XT9B8)o(qVGSzvS|Tb6u4tG0v%G$=T#;8a{rRd`Myo7P|-Z{I-3mjJqxsB7mFe5B0DSmLFw)eysvw?_vQDyFs8DSLnjhgs%VJ2ugYsU?)9RP-sRO@ zoJwfsODGju{<4{u`DDVTa{2AD49)dqVlrzY_m+vU@I`lto*4s{!q`9H#lY}0Xc#@4 z4wzsZL?HX-8Gt0Ik&&(RTm*uZ2{d!jVBs~G6??XKb=5pzhXcVOtQGK{0nwal*D6F8 zs)K2~N`s3l{ibdL^_*iff%rc)z|8}@(&XjE&|cN~O8ZxqUkNUO52__D0&zqvSIMtT zVRjwU-k%fV(_^_#1Q$UVXLT9;QgF9U+RvsZ>4+^e5gp%t#&aF>S{X3UVpf(+siDc1 zNZF|{Zd$1nVQdy%#geD6(9?}h!pJx9mWKE%R2kKQ(4r!AmUjI~!!fa~4O(It%E8ZX zt0{0pFgE#a#Ue=~d;V??`txSVpphSqE%C|n5pkPbxE3r%|5#6V&pHb})4P7+)^kPC z&Wbg^UzG_#0gx%tIO4GQjN$Uu>wC7u_|TK^07F2$zh`~3*l|EySlF}Qi7FE&67&iM z#a{Biz}^GpH|K+_IyW6zHXq|)7Ekpav^OIK>61NP+mQqFs5GOhb`of>Qa8V`|JWdK zoUnATSJ*UC9n}=4=q1zWgIS&in>)9vN&3z$U8?{7T^G?{eaZEyNtC17#EF|x!gaJ) z8u>X+T9%sMQD4^Xk%PjRF^^M0wXv`4V(j<^L}KT>%Kx&l?Sh)ef}%DC^6kqQ1r6-T_RGga@z;2varE zl06!G00@8q90Rzwbuc#3VV+%ZE~QiV7gVu`L6P|^D}Eqtf3i8z6?CTJO?Z0}J+hqo z7CB`R&n2XpVA^4wIKx4AFYm_Xlf}ap_TJOVzGwtp{ZlH-o;>XmHSI3>jP7ohAfktq z!bAkj^=5cW%AKU8Wo9s}Od12ABkyk>vMt(TGuvYx_;hIq_)*;K=XaOqWNK+3MroKED6| z4F5Too4a@L>ZM)%_4I;G{q^d38MtOG5e7OuGd()u9n_9suwQFbO@hKJ#ine3zON=G z&FMU5)4w6*LGw0c+>~HNjohzAD$@1)~7Imt6?mYjaX zMk|2qWFH_$6NlEk4CD^{ow}+eJjz;A<=D4D3{)%?GUCqIT>ds4t zWHwgco>sx0E07on9wlTMV0`%!`7=aXRFdME5SXEVNtWc9J*(rSNxV1CHLjOMs~B7_ ze0>WPOb!EJ@<>^}x;g5(AK-`x=H>l57r4?GXHS%CCmru-|3amDL1}@}+n7{2R_eblWTjV3OwJ8q#3T&I4MFeCHU?`<6*R)21X1f#c4^loE&3i!VGj;= z*j5Rwt1W?OFvmua6C=q8?una~$L$W4$N;kg$b`_sxXjV`qlij03u2T2V&g8h82_N! z-AR(59E#n}`_eV~8h+fkg4|j&>W8YxXbl+c;(hVh7&9bEotWY|bhO?d-e0p2N<6av z-Id-0lF)^rt{r+T#}ysk(~;rMrFIJkB)wPO%}b6Pva8!ab|2Rm`M9MWT~}H=b?eKW z9V<@-t3Rc8kbGa_Dz&D^#A?zFW1daCA zED~`{0y|WHw;syF%Y96JV`J&ou2RW;GI-O3NoY;{a@T8}v2x7`iRYxprJBM()gEnM zF>pgNUNzp10%=h;VBU&$#R=x5vTXtS(BYtDY3 z1jMA^G0oFG=Jng&`JaR1eMUY13^qd~2!dA8YgZ|yt^*!Pjvo18!Czw8UKPavR0^J0 z8`Z%$7BhYRJGS!S2jA~A;H%^*q2 zA}I^S)bVm74xsT`bemGl{ww_+I|~w(Ve0FVqzsfY=?l9r6a+o>byp_&i$4eVqZ}&_ zQ=7s(3(CrcMI+n005~)Dtd>mzjW-5_FTq>oyt);e{=q~3pOWweXZ~+oO_eKertX zjnZqlfgf5L10}y9LwFVpWKAx_ER>yy_n2b8_&zLd3(ZBqUO9VIx@3Esroj-G5hfEJ zz7yu`j9ervQW55{*&<%stVt5YcELlFO7?l9p*9`hL_W;?gX;15|I6vIG`hy`oM`az z*#D}$A29y49_W&pF5n;UvEH3NmB=z(*MAcKAOe53A7UP%WYl_UzYM_3AwJGzn3?FI z+2h}03H5ITvs(2eHa&}EUq}i6aJvjI?iD4i$^-H4-mBZ=Ga)iW^Ady?8W3htN?6e%VykcxCja~@4Z?LCsMWWBP;G(vb1m3VV=7~#^$ zFN?hmYykN>3XZz5;IjF^QVz}oEk@?I{9{H~E7}rf!e-OLZ2@qPY=8U8sCoQ!Gwyg> zJZrh<@DtHfMYQvR(H(+H*xO7=zw7-mL4qg;%5HzUabpLGo?F;|5@Bw`HXc_qI0`7vycDb{NZkZtB~YPxO~~_DQP7(!XkB96yaDQO~Es~s--iPly}7k zMjlHZ`;+@WC)f-|pWC`;#*=sAHO0exrBx= z5A8re!#+Sf`gxkVL4W@hohE=z8B}X>&G$%?Yn5ppKg%49%Ni>(U5;ijd)3e{kFEfu3YlQx>eU57z!T2@oBg%8B``6Y*1m%u zIo4K!h09lVSo$65>pgVzrRus10^dspJ~G@U4R{Q4I)7n(ij)owhD&Sfq={FrnDq@x zxw6lzua(KJUmej~i2$`iH#R#vAv>}K`8O}TSMKO+^GB@pofTk@+bZukHM65Mzt6y& zxdv3NNs&pa<^n@Oz06-;f#yrmmC{+adM98;7?RQ5R-UU-JNr}j4pmWG zgoK#6&^W-~uW(&rLib=(gp?q?*n!d;_PRpq-qza$#CfgsiNbupKiKoYp)E8#)h)+A zoAU&p4Hdn5?xy?ayz02`N~^JyXbUdvcCc`a^F&Dq2Y!B|Vm*=SrOVq&CsdtCy7-BB z%n2gXQcQ*>I*8MtK7DmxP}^c+zTU4JsH{V>gO z>?`i>BFLnbPLotWM+F~8oE#WZV-!-wE--R9SD@CKnvzLPQx}PmZ&$o9W&-^?Rs0V9 zN^dHth8?cov9PCBvA$~6fyM>mqEtx%l^Uf)yE1p0fH@{ZHF%nf2Lvy}>&CHQsW2&{ zB9P35NXPPIwuBIwoItgDXXJE=9^#+qR*@VP!%dg6!|CCYV1|>a)+1vj#cvlDiH*$1 zS!KE?yU-t)5?De@23Y*g=7N!oQ%z1HN6K9yb*(Ax0szQ`J|W##5UNf%*r9E2hKuGA zsi-3J)rKLMS`S;^PMOh^!-%gkrM`k5Lvu~?qtg5zB6mC)B#rI3@4LBWS)@`yPS$4{ zJ6L4LA&AHgWny$MzyEC&7E{2oLXd58A&;5d=e~lotEbocfjo?We)%0EQp|AyV8%>d z3XPdGjwQ4qIniOza@aMOn;3V4{jylUtCbie66~>ZK-Ad?trla1$vFz=^6}qM&IV-l zsK_`K+lPp9gDbeUlj)G_5P9Sk13t70O^CwiIbYPM&7(drO!%lWOf}*JxdzE#404ePmOF=v5mKy0+GKO3%d^FX zVXfO8J>oG<+Myw5PSh#_fOqnOmsdgF5cuD5LW(nu2{Yr|Y2-hzEOao_)luJ+DS7H( zC*2i^rZZeGp3hcU68kW12GGy!%6cyddL6J4(|+Pa7bX-M4jU15b`r3;!1g|LP6KNq znhjEG5T==c-m$I5J&pbK5eTnNvn!dbR{Ul>Imr%YQ(>jji~Ce*o_kChk<}11=alaf zS9hc<`_q!L>I;vX7Uds|Zca&Q4Cqj5MH>X}ziO!`DGHcP{Lqa%+lMx+ZrarTKHrlY z{jiK%Nljvflc=J2d8wRh$eKbhVR@J1|8Mwhsw5oNZFEV!8(D)^HU#eW(MHA|e8zhg z>Ak+b_8_M~dmySYCAmJJU6GeCE^t5V=Q%D@K$)>iu1(Jju3Oo#q4jN^2RHiHQf?(h z!3raS4snSkGEQ0M28V3?*go8Hfavflj6ARX0e|{?BrYPmYt=bm)6*_xXB1|yo}8JD zZ-U9S7p9Ubi%XmmQX<>4J?Z4_#n-l~sE2M0;>u5+)ZwfQ2q`t_cIDWaqw~u4G~B4G zx$~cbo?M-*CpcL}Q@RPmC%^AL;e@B$nz{+p0Lzh68y3s@y8=ZcXP{W!-1BbB{=kMN z;hF{l8UE4X?$`spY{RZ@LRFRJt0cE609CvMck&o#M?jYYpoky$uKPR(@Po^=h$;h6 zhMkjN!+}YS!Jx6?L|w#s;jZt}&#LTti z{;?vfn-x-JPk=zg6ZRr^Z>(iMYPFJwWcG8yYv2jeHL{SMC&P>&5Tme@TVx??;wkcX zMh^=6C<);jVJI^$KOr5kzp;46e=TeH=i-#uNp#Qe}|1tn2M z+ePr_LKc0(;rx1_(lMXNJX6Z-)h7olCx^pB@&1(ZAlkW_hvlu(Ae68#i*%+1xWdn9;7pgVqcEwMA_ z9pUWSG)No82r3r}1XdjlaXWtD{K_-`V$zR`kRa*0F(CofS6{z8x9JXIkh}sGpr0{J zD9+qa5&o&pX-eMd`b#eH2hs)q*#(AlkMX-h>^=qrmZn;v#1k)hJ<~k7Jrtwvhc=$d zalq4N$ zoVK;3;xlXw=Z?V5vtJsvIbvS@Oo23@6Paa??#+_suT@2=opCbKzN3CZtAJq$eF>J- z*J+2{wD7jCanDAqG3{bx>Yhx#)Ins#1=5V!*_LxmcrP3!MMnr$XW&hV7fjjce%H8i zJcl$&F!kGXtt+)0P6B0v2z6qedJ>RSx57v=u(XLrm=e4XL_trf5`yS!Fy>UvJ>kNj z9C>MkGYq{%2p=mB26X@vV;jS$;?CyNNs|QINk@9_Y&Ey5TDORZoTeHsBSvX!bpVCo zU=R?Sz5no$Z6~_XAv1kzp0K+ib3JLjL4#?&6L}d`xlK05s$6b3*Jm9Nu)K*Hu8LjB zBt#b{@Z$h14urtiS~74}!h8qfK}wXy;ss0)II4z{gcU(O077Cpx%7l}y(8LD%bsTn ziUx2}rOz49D_eBqyH_~8bMo%#v>;wN;~4T(NEV4Rj3L_%j^{5CP31(qb0Al^@h7uN z#5K-z0=;CjlG262QtcqzUNE(0F4{_rV;xy;&+n%E8a_LIW7}wvfXWe3B*Zm47SF1Z1g>H50_lZ;8M6jyGbZdrKj(dn{iLE=d zL_h5Mf7QPNXqu+F!R|&b#0fCW>$$64E3#AQ))A`9{odJetPwbI94o!;vR7YIHVe+a zco2sx`Fj8<*&Xmbu7fkw@KI+ls;A6BSSB7Wqg!XkM^|uH8`hIycV^)rnf}Oc+!kp( zs}`NO`S+c+umVTy+Jl8FMV{MmURBGogHU(UFpm6Gdp&A7=8OZTH0<| zSla&CeQQ;_-Rj?Oo^s+bVfK>K4&R_T!Vt3AFfpS1G8#OoINf0*IcePD{;-S@^)2gG zi>kkLb3zw3o+!iCae}<@C%Z~#ypky%un*y}{H{)NCULPHFQ(-jD&ADpqvxhsMZ7Ji5nlPI@4Q zlgCOt^ofPB;H{ppG0mKTp6Y?K=uHb?cFCgwv!p^dx$wbA4`P>SR1=c#GBz>JWb)?_ zhs=x*wo%0RjOg?BR5a7^AiD`C;qVS)5jb&kkqpa+G!U7dQ&`tLxu&VCsU{zXK^Vu~ zJJfSY3Y_2F&w%4iU4Tte-S9~po=3`0u4@i=1kCBfJ0w*fW_6o0O(cm+^vB3|7I#&UKVj!IqgHg1amhk?!$}`#u#H$Q#(Nz zKyj}+44_*9=`4e^(Wj0u8nDBa$ zA%7nM`pDu?{Deja9|OuHTQ-7GkrVo`wudsTx4Za1E3*6v)_>hYc-Xdx{+x9abA8u} zycG+k8HYJ18n$&@Ovkum%JX5 zC_wD&7XaYllN*meD9n?xNCQ^Svw`CGb+L~5R&!;OX-ssh%o@L!#nL~wr>AdgB2xrS z$^}Eoq<$?6liFGn^H?+`rM0#ti-3=~MX(m9ti z;aQoQSVkH(U582=L(_pX_(tO5RG*{+=ua0r$~@?i0P5rvOJzpv{)XD_nM(gLGRts_ zd4|Y=)fHczL}^Xs4F+{!!Z%0*7MtmRD&36Ub&m!ML2Ky{d6BbPKQUNuw2s&<==97_ z$AX^q*WP!oU`S#s!*dI!6AENQxJ?61EN$4du<-e!1 zZPC*C>7FD|kYcsbqTqQQa;}nU-FH9~cIW|MvH|sRB%gEJy;vn1nD%qSmZ!0y0R=U+xROUrV@f?sg&Y%y*kM zy~~7yCS<nJuH8`qd09;Y-OLkY&@sS0RUYIOh*Y}(iYyK%F7JUinlo%Qo5y|((PxQGPb^4 z5c93Kj>QPM<_SzsrNPM+rq5`ML7TcUm0Ul7_Rj%beAy=w6Jt)AND=CQ`AQPQ|CwG3sEwDtEGc~(g{?9`zz#Uwt3FDXQAZZh*M!Ufr$>tLcXbx;E*VLbuLrS@C{L}E*yY4 zPX&}$Obd*F9G`c+k(`3T6fK78&fuMGKjeU*xrhaNZ)v!U1Ff!>X||&&wTec3 z|8o>G+QI1l@m+>l1>B9qRo`w{^M2WWn9Wamt%^uU+7B_ES)lY@VWsCwJ(-Moagu~g zKv={gYTx=VaoKKanIoS&mXAmP!N4K?xpXN8yttkLj%&Janvn- z?6~Vh%d@NJUksW*VP+q?GOi_CvIe*z4;?3-0P0HMMA^AcAD+cZtd*97<)O0%3iv~w zA)V(8G8IdvfmIZ52FPH7DE!R&Un~BrsSSiR_rDzZ4PCE0#hJ%-Y#{eMB{2z{pss_v z)gKpbt3Pahk^kGeE6@OUTTq-IL`#kr+QxbKOj;6tzL%1dIwFvQ`6Zpz*-`j({}`n! z->Q)PCe-hWcXu9)7#qmdL|{=C8bg~!%Z}zMBX}<`gy;dhPo;^Zr-r<)C^$Iw2*Bsn zXB9dL&YHbpNrfVR4(BH&$Gc>{ulrggf;vuY#%m0Oo-#?aH;&$o<5-IFlO%~%Dbhe! zk?cM-_*X@!YPCa)vgH&60fm6Ce;lV9N4JQU zN#ekl%%@ODunKB4m?HK%Zi`+84`BvM+sOt)BC8K3U=b{`rx0TdIqWwmzI=_E}Y?wmKMj;`Dfq-a_WHFq5JztPs3$f3kJU>M|BeCq-PO;BVheNW`!ra@jyU$LqTP6Btg?uV* z3LqT~$p`?k)-jw~>}--g>HaQ5Ysa6DE2Z<%en%`$><6*%7hlp5*%~!EvK)?CnwVDI z*SGExfRHV^tl_23=qJ$VR9)Gp^mJOvx5g2>&cQ3qt9!jGSwt9`WwnFT(AI4Oq;K-t)8P$--!Bto+NL~haL46;o>J8I4D!11PXyr& z0JVp^&{Df3KOaZLG05uWtWob61}jeF`;T@TcDZUa>>eA|J~xn6#F1S;Xuxxlyc6} zjW2#`SBi=T;v4E?O-aCH)hS-9mpVC8#jZ2R@Hn{c(K4J~c&u+=W^VQE^}?0oR%N>_ z85Sq8c=X-NTK|I)CAclmnTjChGm~K0m#5p7NKabPtn5IGY@q_3VC{rxsqwJ%=VZ4} zJM92<+YOc8on*{fIkTNNz6yBbK7D~qwuw`>DO>t8*H=C7!-qaNz6tK}I?W8^anYeY;V{G$T ztwZTFzIU0eL%E;x8!l9N5jWl?bSP!GSv1*IUTD|ahCkn}`W-Jnb>r)pK!L`+jB|CE`{KOUYuFgU-{u`a8*XYu%`YFyl0$Zd4mK}czlh6B zdl*d(P*uqp7>gzTJlw6v^h#Aot}4z8q$@!bHy{s7z;2-S-`KU0v~`Dh?o4l~{TY0( zL&>qr?HFyCSxTBGqwFP{tqE8p-*T6-8@&W`%VSKe>R-P@Nc}jFdf(hx{Mj0l?Q3O6 z$z?hD-jd1n`U%_9q`_MoEW8v$eoD=W=`#D1go%YEQMB8@KL=}u;Y4vjc{c5j$pPwU z&AEoU0&r25S2Ef9-`AfKEB_%PXnu1ZnDv%@a@Js-t(2L;C2EwXehZ?4YPI8M+sYc)65$?Kpn z^s($4XSjSjTfgWlM`5foVf{G1o57CLXw*!TXr^gWHN|NfHl`atJ{p{&EPe6xn(22* z2?6I@1M=WNK&7*8(6SThBPtAH>Oz_+64=~ze?tepk1P{?f!#UNL&f10eF(833#|++ z-FzE>+?VXHFo@v$$oF958dHs1tom9S_ueia$AuUpQ7}Y5T)&4$hr(s38H1a)te+l@ z_J`;k#JCJF89h%9PlfK=8XfNnfExTW{o&Bi!<$MLQ)^h?A(&!Q6$iP0p!X@xpmhI2 zu8q#l)Ww%1?E~;uY4@@p9A&}b=8#l(5BQU5v!Q7y&Bi?pjNXuqjL)hBZ23(cUxwJ* zz5xc+!FCeglvlrWPA)+zA8&$AHBkPpvNCVT!xjXD^nbOO$i8pwNM z^O(Os*PCz*4+tXB9{F_}Vb^sJ26&>vx}gHF5RM%CO!6WU(RoDzA^=He0|Kz?_hhCt z&@+#fVr=~BjnuzYKw|Jjs>~%5G41zY)E6ig&7ZE((!U;+bAgs;E9? zFTM(V5;H1oqM<&a&Orq&eVO_FgM|&#$Cx1%H_O(~>FFWx(ERzx2Vqes=j-}_#Jb}> z7#}ai@{CviVtHsR9mUbel>^J&=UvvBiB$|^OyXGe#Eh+`AoG{g{s1Pr=p7px@IcS< zRfc}CD?`d}hHwK3v}JAzhJapgg&l~*w9ttyrJ8aZWi)_X*4&XbyCBA4LOA4)kk?%p z8qbz*jr6`(?rEP;S`Hv!lYte|XJAi35+H0XPq2^E-L^nE*a>)!R$VV4AJya#434m{ zIjg&U83CX#wrPL%mA4R`S{R8v*m^4gUBMVPr4a<&c8D~r+iYz>OQ+#kVEDeIil9OriC4I!41OA?- zT;+S^%D=dlM>76BXvSoE?_KXmJm>G;;vRD@Yb`%U&_X5P9Frj^3d-oK%cvL>ua|)2 z?>lUz%cwD%+puKPklrne87C>W&XHszAbE2;mIu!o8F^jJ*N#9==JQ3TC8vWc-BYu0 zdFw9vvuhe-1g9McTLNROFUYlouyg*q$@DV1a|YQ42chBV7T%IgSg(~o^q%hXH+Bd2 zwvz84x0M_DN|YffLPmV7dP!kMR7P%e4mTE4oB4{h+_f)piA2_G~tTt%HPQO%JS~ezIx|FLuY;^>y>VP(i>A7^MDzoHb9Z z&o67d2RReBaMgUo5tb)G7gmT|FvYFA1A#vhVdsg3^ZQ`;A*0u|_u9&&k_rAd=A=&v z5T1?)`DsJGTVya-PeKZ@Yp^n$IyakT@{rbQKsGPE9%76Py9SbPQxM=}9{0gsZt|O# z^tegUYc2!;`G{N8r;*AJxVcc!W2D{$=^IGiqdOEH5PPk&gVozp$E--G^s=w}`POCZq?#q-h?8G03G_$7F zFQ0E4!$^XtZ)Nj(>rTL?R!3qlkoW;%JF$`QY8Tgo1*9Ch8XLJKj2~ckDH2-^@9r{y zC{f&g39dA_`t_Lo;x~~dywxm_EIPw#r$o%GtJf& z#OAi1Z$_*u#@_R?W;CIa%raJo#+fK7z2+Aq;N=m>OF1F??4ZWG;~SqpCx)8y9nydC z$l$u@UE21zB%l#noJ$jgHP{+A?6%v!^zvwWT4)JL5eUzMf7>R!`uf3Xdh#31^>Yve zOoe~+p*`;Sh|Z-(eUKA?^%qlv0GeE)$&k|>w=}MD4bVmBuLH9nDzL&1;}sg{d;M+h z`|Ii2F)QqFn*MrOBZ}$doIvO_N!QWd*>X@OXCc>9{ijb~rOo`|D?mL5D3VRuPFSS# zF`%rV@){!=4QF%?DJ(gQ>M3T6%?P6d&_4K=7iGPr{X5lKR}B*voN1P8#;!^S36ul{ z4ooU<>^?{MRvYKSWAZ*kh4E-c&;kEKZowWus2voJ0(bv!zvL0T{YC#KM=i927&TYF zI%by+GBd!fA~cU$t7W+HE}>y%4zjsh#Sx-H346HsGoCf=hee zX%1NjU`OB?Pq-``**cIHp+8lzyeeAfJFyyz4xP*QZOib#BT>#QJh!)Cb-`}bs0OvK1~vqB)2JjQxkc+D7l3t@ucg>!rz+;B8!?MkF{4MsSp5*=oGBR-rED zsmM{2fqt|B3*&Qx}0p9+HJJ644G^sd=_Fv`iv1(447DH<_|d z$`C<%&9Pq#ObGQjNPA-w&(uslF?r6^x(l1yml8FphlV0NO9;_0Sn|S#Jm4yK;9m5K z9idM(`0)*&)T_2A0#@#H~D@9gu(u;7yzk5q1$55(4geVh%H&?*~f#)$qBp- z8GcYb`lG9sbd%iRnOY=}yQGHkf4p(32$Xn&wmAWMLc~mK`#;;4*PBOf2=DRe&evlg zT$eRBs&LI%Yv0V7gG^J3qBRY~p>-@2LJNtFd&-3?SVBXKuU72sVJ&84wz<&U0=DY7 z(F$mUqMNBecsyA`GOXM+gBsY!zLAMX+;)S_bAAV9o;CYuUf!ub1eg8Qh~bnaD6&(IDc+M6?|rYCqxQO!1qWT96&P1nJI0tjwA!kw<_Ho#H6jAHAjL@1J%cWS8`8n za1J#>GiOrgdF4iV)5XP$Zlg+Jry8ufIkV#6CF7^nH0rlK+JDX2eo&wL*jw+{{n-Y9 zcv*f<1)$mQk;8%}MdvDx;LX0lH_aYHvL6wNdB)iJF-sw_VM%@KI+E(?=>j||?`G9> z-I{LM$uF!W!nnncH_7Ks6(0mIi~NUQ*#BM#0R*?rul^O7VB5N}?6!(tr(%&7o;`g8 zecihQ^t#ZbJeNi_!@1qkeg&5(fcYq)yS=yG>8-i2YR=i;tMeX+e58ZQK!K5Yw$aaf z$5_7+ggt?DqcVrXjL?4D$kN!^V6{r`R^mk~;>LNW_>tw@}L}gqG^TwZU*9;gS}4q?6CjI z=qXvK7sXNKJ~sPAeJFHjxg>c>@o|+i16&iCDMZZ6_tu=i*0?CVJTi5Qorevkqk8H^ ztlD^grT{S7=*&-+)~YD^lzfAyRD4{Npb^L!0vVRn{6S`VY@tpkfd^y=!%k@3RV-!& zH3Gt=CyBQ0KSuh9Sob16geni2+%ZI@e8{#>9qqQyA}@%UX1o417fmbB7&I1L#UC*+ z&B4h`VP6EGl8w^=n`+s>m^4jE-;iCC?E#q@9-CwUTJL_v-T#L0p>LAzd`I}1s6Nz0 z0jC^+aA^|tCVqNkWIFy0fRJGyGKz@t-^^1)h>Nf9 zdZzFCYZSXa@a9Q3UtdIod#b+0%ep?n6T3wY9qZ8z0Wg_!lS!hN>!e%2-#6%i6XeMOL4He{71h_TbtG&fY|ouyNdK0* zXVUS8e!Suw28Xxx!TUp3BrcAj9$v8XPom4mmyRJ^;_ckRA<8AVY#mkw+8Evv{0|GLdGA;0&X?L|VfG2rm+l}*);0244e0r?0zRCDvBWssbP;) z;jC4LxEx2KEl%eH8x)ku(r7iEWBkH}nu(PN_wE$57wMT560#$fPW!hqj8O3Qzsn@$ zc!SGXypq&ykPTNGS;-4hTjq~bp#FYGAYp(%X7Z87%?=vNvtUA!v3E*IPU}2Vg2)^VDqsR;XU`j-PqLAj4piaZO< z#QQ@sglX3jaxo<)8N1Eh^;5=%0khre5!LHGW)PXr7OPa;zW&C^Y^W#0LNQ(0aHv4n z1Ji1^ZHw*TazRSafM@E|6G>Q4%+C+51yz^`@AdC$NQkEA=rUyKj`jTNwRxJ9ym)2G z`+38W?4^~*5)%}v@bA2`PA5rky|cu8zbD<3v6-kK9Q?QMvKi|g`kiQ!M%A5DHL@~Pb zSPd%+nuG~v&i^(jd8$EP1$M){QPNHjFr9fQj!j6{i$SMa%l)KHSZQg<1=0#mc~CsR zi`Yt^&`4PjB{Uf?F_Ak{xHc6CZ*S*jd?ryYxFoa=4W?Ms_*G4_7?E6YDW=3?rHHO} zEK-w2=E?9FL^z2_X)b~%81Qa=NQ{ZjFf~AwR7eo7*+UW(o5++A_+S$hO6_y#jIQRz zh-|AZbdZJiK*Gb$w5W<|Ni+drNIxclJOJRxMa4+; zIXiSkNV;R&rbPIj961}Pb61GnF$Ti0fhwbL6UyS4bW;L5YeAMhfQPvy%7>@9b&I8Y z&39AzoRoXnb)Vg%L!Kg4)Z$mhKMS5o1x+41tfU`1 zIo^F=({IVy#)d8D@dhK!E1x99{HK)rrahIq7ya&x_S$r3t=EUpFw#+P-E%IxMk7aI zwcE2V>B7!p%0`_Gv=W**YI_9;M_>kX96ds;WHQ6Xdu;L&1LbS1b&cpU_i{)kVZRvc z*C77V%jjZPy4{GX;q3_c>yGzF%jiemAhS3=&XG9}ZT8y#W2@hu- zIb^R3AwP8#Amf|AEtUL4 zi4%v!g+}m?j!U#IIe6SXm^S$8o|@JJ5KB#Av?gIK7ihu5@Bj zV-thP!DPzQLj0 zsmAr0{`r>1#ZurMo1p%*yENZp-<=6ToeIUM@teD|)69G;FFpY@N7J;`=-=O;$#`EL z+G0xbd0WRw_TbME(%o(inBB0!UNPW-W`6<|#`!Q2Vp8Qh^B18>hJVePd@|1&lO8?a zZ*{T}Z`ZnQ%MTzu zljM@@T$E>$L~!;Bzm(X{XU{r4QUHVulS&BCKL7xd^5`i^xBBjXLo3hyNSnS--+9LZ z{bcb{$;;QSfKj8{&EsAj=+ZuEHFMHsCmDOW4#Xmjh3NWw$LKIoX#kfNhCw$s2hah? zxD$L}4gkpf8_3xci!xK)MZ-COl3j-hWSDAml|LiV-(X=XDNx*jXrjU!iWe$x9?o!22Up89#Oj-F$#>%>jsdPbOeo`c?8(A)e#MmUR3wq2Hh@FYEK6a_K<`hm{P|4_n&*Q( zk>ZoTEH|#be7V**rnaE2WbN{xpU>U+slM`X%e@BeV|@TsHpC2uru#Bev69FG0AqRi z^1ny6kNzz$s+51Ks|8w)pxgdpp3>Wg?tdcLn?8^!;VJ)>gfYEy2rY33jJy~ZY`h6P zm8L%@ytG>i>J?zgImPbK61%DxGpI~2*m6dx^#*0 zP8B>Ro;iGN_<3~5AnTFWBNq0G>{1xZvD{+)g&i{BV@c2$%<;=6ADfE=Rct)(us__v z-C`I~6!^p@aKXy$%P7a8{^OR7o5sP`Iw`xCM9+_D1&H7riNnN;%1bA8B_e0kQQi)6 z?NGh6qFgGeC=)x{&63fY6w&plc1bg8$KV~;5a+Z|C)Sm3swfxlJdRHz?c}IxtA)sg zfSm3B{oK3n&!2tfYNYkS$fJQpo4nm3Qj^ zAdSh{$;G8i?3CFj9L|h09@YHf(mm7>wS9SA`KTzkeBcuE%H=B(ru}Zpv|7qxPm{8Y zp-{WY)4ozR3z-Z+J&9r9CzAqqQ|7El=Ak-%N>@eG74)7X^(Y)#n5)QWFq(f|aE(K& z->S8o_>GT8^E|3{9b}qklSBEhSo{iEaFU7#Z5L*F=T(F10JdIy?jc6(kLrkVFUkS; zamG&Gg6&9}nmZ^Xc10e@dmq5`OGJRoxzz~15Zgw^`kJv=JPVg?1@KZ!;+n)br=0rI z(ftwJr^PHp72XDU{ds;pdZ(Y~W;wnHi5t^w@-ic|5Nr@n_V8^C*6gK*_K!JuJxzN` zLkucyXZHSu>st=fQ*6N{f-XE7z=kT7+?+;CWoNc7hE>=(1*9kye8GY39d@lQogzjm>z*-K#BthXB2pr z>uOn*ppNpnM;HsLS#fyW)BopPY9v?J)Hz;1N-nf_s+c~bH=d01+3MC1R>tE=DDN%r z`Eflj+$IMm>4oanwH)3Yv_lY?sG_l@RS`|R9e}p;>crTRp@%Z*PTNGXjdyV}S6)*q z=OmRfY$#E-yJX4^{P?{*C)`3#3^30q1H6oc znL55XJ<|4&g0?_eJ}#zE91fDx&Hc-A6GEQ0$BCpzRz!8v4-Zb$sodfNaa5QyZj%j^k#DA)kdGDh>2U^x;P#4r=aBdv;2{OQQL! zS;nAKqAn7z{&Dx_R})Mi1mYwBn0sIE>Sj?d*GaGmZ!L3_YU_1tIbr6~)6QlgSY+M=M;AlXUQt5NL=&Pr`i;E14C zHvCJv{#E0gdQAsjxgUn##qC7npLTkhe&!3io012uWi8F^eC5ZJd zh!MsK>MF?Ne%}?s+Hu!K1&Jf7go4%*<~UC*s}^6%>$`>3gwy+|I-$#ZxuLb{L!6ZM zUlQ-|P;}|7bz84i_}=nV26-2F@Z8tcRtSMK*L}RMB3mPrRf~Dd@zx@NlvQcgO9Mf$ zPlM%Wley3vj!q=ZB4Z)|RakziR~Pwp_4-W!W(T4`dX(0ve}MsZ7#r`M_}RZ`=J=_2;6|4eRQgWF!|ywsNQsDt1-R9sOjm<;#3x_iO!X3 zUwm~8=oD9jr^~I z!`8;ZW)|$+w?GfCvRB(&?7;=c%?%Fk_Oj3&-_cxiWGzkiJYj45XmDr-Cd_yZUb?+92|2l7#-I^$mq_8nY8kvSh4}fPWM|T$hPnvQ!zBes1zmjqs zDhxnog^^hF8oSw#Ifo@+HM;yIwFbau)FgxMY7yh2U4>3x*_;Jr1&dBEj0?sEDkPZ< zcsW@u2-uN9l_4$6tP3MUow+m%aoH_#yFVI<=>#%(L>YVynEiq06z&8<+9$2xS~1Ec zgMH79^3z0vmZa7sXPoQp6E!bO1X#;i*jtko|2oFZMy*jhsYXBBFr`m6Wd&H14yL>l zc)jm-9vig$E~ew0Om5e(Ta0eh&9^S!01NS<)%6@9Z|=&NFz=bEdpFDCY%_QFm<>HE zmQQlsb}2q_=jeJ$$Xwts@%P9o{3F}Y5LW#M1_%S2ai44q4KBm+(9p_de=@sdfVL!< zUq^BA7v|wB&*F^?6cEEVGJB#stx@f*7`eR2PETs0S<~=Mcss>L zddd5v!(9i;A~unzw7Hf5D4FE1@I|xd@#K6uix@LenZ54t!XOrJ&{HDU4LR7Br@)E zKi_Y1=J2IGkG(GIeZMeY*g3#`D0-jI?dSbW%v*1jrxeoL+?o~FKk5%2&=m{T)ns%e(nEccX^cPS9bL6{3$UHLw=Ak!wu5=K zB9$=-AnU!O_UUvc8kch1zq7=7#A?vd@J)dBF12GG^oE+*u5%l{_WcnA2_TE)_zwQk z1BV@Mqlh@%nL0qfHo7w@FEQx;A_7z#=~Sxh^lUPcphu3cXW2uHj*|N*NGQS-Qj1bK zO+R}Unb_jXiE*^6e~nH?M#8dT<^UqVnj`UL^_r_zIF2w7VilhjUc`_)m)x#2teVGn z##`G%W?7ECT$j(99vRcVNVjx1h4Z0uLCPCjJ>XLqR2ZLiknV(nbKxnpes+bu+jdMq z06jp$zewO@Iz8=RO5tSW9{4(sUJ#Hs$r@rqpfE=gE61~7Tu=}>RVNXr>GXVuLjSyt z5&O(-J>GrCZ_eK+D8v=2j@cY%Oh+^H+t9uR=`-Dd8)@hStyIFTdHY3LR+ttDH>yHc zOP-d5CqMoWrQb9$DFcgVbEL-Y(dYTD1N`7^7|>hYCO#E55rhaI^M`ABiSZ4d6BLQx+q-RBNd(F>YQ)78<$<4ST@I!z8z)2yh**S1Qo*=* zvF-W>@z~StSa`^qzQWp}8H*Xq`aNIWQtR*V`)Z%s+`0}oU>o>RyZ<@<(#3SO)FtEi zYkOXR^p109a;TZI&Yv(-ys0%&6+m)Ea>CzmKUasP8N|USqVpP-rD2^+$)J6)CeE@n=k6z zAtrboSj%0{4S_8-dqlP~@kcy6eo%0eu&9Ijn_KRp6eZvTasFsRI8IZ(@4Dt zIii03s`=e{S-;1tkI+D2q(Bit5-3SQVoOj7N;ncRz099lv$e0PZe~?of2R7$)6`{D zia;Wg6Qa4Q=)eS)GU_{}gkIuLso%H~1g!%}qL`DI`J0kY9hVsI0MG$`vk8Z@WRrqE zUGk5&SF_i`2h>~GETo1fz&-l3eA2*H zY$+rA@`F*`+mF4tH?Yym6@eYmXm`P_kk z;kQ5AB|yY@7VSDB^GfdK!O0!6sNwbZtr2pW1rskdPF-zC-Mb~{xdRf%onv^#occbsV6q%+f1oKlav^ZqwXV*m6$QFl;qV1nj z2;5R%`rgbd5j#!Jzls|@#`Ebw!4Y9&2t{Q7l$?Lpf+mC1hBubw@CI3AGT)FptGXtK zMoqe~s}rQoo_U33xa=@z-+Q_!gKx4da(KgiON6`@gea~dR9Dc;%eIoAKP9h-2M{t$ zNq66h2de*8$lR?+Dx`pEd7dLtJYiyr&`Y}3t0~AO+9g&|QLYG&(Hw<^sz{x%5^kQY zFHMQ#7D^(OBW(}5RV-kpsD-=17t63Yn8If&5bT<#*CHhCdW|~KmK9-o78C2v- zJy$xrhsIWkAh1txDD^KU&Y=w+wrOIH?Bj`5KnLGG;J%8_M03l7Ml~XUXf}rWY5V3GbTED0!?cTCww-YKi zS}p@t|0**>C0|8Y-S66O)#%VV+BD>`TDH<#;5wvO2e0$)1ejE2s-HK z?HBQWBuJ0+V9MZjyQ0pV9<-P(Rt;n&!!4wH?ACho4$aO$$vDJ@O8=<%zE%1 z!Q#}Z`OiG6yHyiUO-^@$n=5WC?_3$==U}UaO};{+C~p?~vn7k{Y8@;lpS`^(6!>`3 z{1Xt@PX5K}rgidavZ$T(RqOhkS+;3PqqQx^IX4hx0pz!&kW@YDJC?bZ9~f-rkhV5^ zkT$eYy1VQC;otBou!3TC(qfu-#=ss_{E7L`ABg!ZOfM~T9x1fmj5|Z694YUyd3af2Xr}r}4FjE!3aeD!UVt#_LKtFA04=7z+j2Oz} zVS4FPYp|Y0T2mD#aB<)@uLsy|uR{H^_o;^)rU8iFSNge%XyN$Pu>m9lo#0dir|0zI z6Le2Z5yR8zbDu@3u*sELO{rY8HKs;cRqI#64Szx>0IKqSd!E!{IEJz^CJ3GjZI037eCdwTeHG(F*3FW%{4a8H8m!g$lU#i*mn>vNp|1YVG>)feLCEpJso@v zdqs?d{oYX+xMi(%;ZjQXDO7-whfHUP@aS=G+4}J7S2`U>!Y#+fhZeU<$z+Q779Sdq zUG|(fUHNa|Fd8!)pWKbzIx7 zhBc~`(>K|BY}v16WN05eYlA% zvAJsB+JDGoP1PyM=zL91X{uV%8;_xILXu=L^u(#H@g6Kn3YHfOTq0pmC76v0AGI`& zFM=VSXq13-ijkEXcgD~3oKfw-zgaSuf?d?IN}Prz6v{=g62KItdKw^6rO{ytLJh0Z z94yuDmty|SsvT+X&-3_)vsay-OaDz7;+#VX1;aoTJb35eP8O8W^YgzS&YS40yLaw~ zo!#_($6lZHH`Id%eXRvp03Ui+3p@jlX_Ed=_rE5w2y!KJm+XVMc|S4is@byoDbKo! zXR9Q5c+AU90tg2z>1I}k1DP(TBFwa%gh5sAw!7xSfd?DOA%bZ+-0Bmk+V_$?2vfah zODH^Z^?UUd zO@ta=c1X$BsBon3hl7AnC5bM{HkZAHnlKOHum_HNh>}UH|4uS5I$OYC!trq9!_r)P zM|D8gOQW?E7%WOt2Mus&c4%!9JO>zY$so~cI7sj==0yXwj9IzV{llU5wdK4{TPoiX z*zB3@ISwTZ4iYVgo0_Ty4GJnTj3y2a{*Og%*g2|OaZW&78&HH$yax}!E;1C96f=N+ zOtJVhF8P;2-5=s!N9@*9B-^LsYAas<|MWT@E2&avcTDi>IR|VB8DYrZWq^!t>ya`_ zP4vQJ8z-?}cto-(SL5^_rJmc#c|s^Pf83_>X={dLQFrr7b8<6?YmAuNj5zk;32vi1 z^Mef`ZyriYe0v~}_&6Y^LS-a1FhKFCix$=`#{$nW6`W@J*F3+n)qr!q1{-abpE7o0 z!TcxjNg^tSnu$Lja6H&?&e-=M?D=)s?4mbHtM{C~lY&t;jPKJ3Zp&$-g?gIPY{U$T zA3{U%rnBFDpEaD84>lZgq5i?+uokcRoY z+10QDTu`0y;$6x>BbVFezpT&kVQ0-QI0hPpK~{+)jm5YOlpVsA=Ww0j8xv}+gTY}C zGS~G1yfEICw+vPiZs&|NZ9|q>a-soT1+?fa6>DeGuD6=ciF7N3nWQrjeL*lh$+UC< z%P!E(vd-MT$@y%KQBkq?YP#F;mfOavl*kB{m1lP+?|f^RolT}ouzd?sCC1*-T;z5g zp}JRFyG_yUcaH3%1`8xCpQI?v*%D%;Ww1ktkt^TfB*Ql#)TV@L93M?X3Ax?S+nK2l ze6~xlt;Qf(V&V8qGa48bVC2ZjW4en3qzIvfds^*9!NBi7gCl$T3Y&F-GorxNrFjk$ z)@U;ebVJ1lNB;B<{Pq^slmv~6g1d7w42%{%s;f$*emgR-Oa4th>WA3=q6hLJA?~PG zDXp^A5ICo@Sdq*7iBdebk;vG_F<*Lvf2*PufJ&!{JX6@h5f zQ7XQ0=%g>`WB78he7$^_Y`SG%HhH`Uw0irUljf}rBhCCQ;c-IB7OTz=0 zD97-#OLFu3C4uNIj$$W2iJkFXD8H^h?@|-5i_-bmM9;SdinYCbn_#=!E}22p4l}m- zHjwMOlN9j?rDG#Df- z5G6~K0UI3>D@nRu$obFZF7AQrsKbc!h*P>E^rf>PI0nEHY%N|Hx$>ScxZEq$HM_?g z8*SuJ_}7pKG3a(#`P9wnQ0;-B-UBv;znN9&ozyCaN-MSR?~G0AM&Z8B2rl^5guB$e z&bicB^h=kU)LhluIC^@mvLNPm9EJQoYg@LdzF0qo5dE6A&EwV|hpN~vq-zA#)}xZc zOsCq6*l!@u&^pzlfSV)L0E+cKkY~$E18tUquu*)k%YEE^m$mU$W4jHf!2Re|coh z1#nDZu2gTBD* zA7YXqqQ>mW-ZlTSx7TQ;ZRHP3E77@j zTJIAK_T%!QrrS$I8(k0~;w4LQ;iKAf<-Q=hxxHhMw$=?R##R3d6sn3_zsqi;8RZfT4U)g!bj*ef-`t2Gwyzs466i#PPv8X7E2 zmS#%-P3~w*+)Xrn{?jz7ER7qJYp%h9RtyaiVr@mnDf@m|>(lY?x#*-rs;EiS zeMNDxqvw`;`{K!3rP>@PE(@Y8nlrJ%A)_h!r|^^}&~`AbFZv{Jr|ZB)&@+Ip02n^V zR~l6b=(`2iz{9K)mOeho{mTKr7Qhhe5Uw8rG;olG>0Z}GOJ`IHu)M|0BR?Ngv;5{3 zF!a>XImGfROkwWy6aa9Mf(MnrXLnK5bJZ$Z-5b4nH8FPVn404RUcX*jy^N$(Su!)? z7i7r3(K~LjTvf`Kp<9!y-L+hyBR@GzWj#;Wm1aV!3*o1{k(I~TBE-WzK#xODn_atUzr=Hs=|qu?-^M2;UFP#QQ5G&em1R1n}-?+6`#f9JT7d7z35MR zOYwAB&cx(a<|XdG%Bo&Ffz*VZ%y=+WeTVLGjynDK{EaXZK<{xC@wv3UOL%sKjFzeWt221N+S`T0zglp! z*0yzVtaGt6mhh^D$R$%waYcD=Nb~P=8~C+)!_$$CLmQyhEEM0N%!#P8IJ(;uH?4G5 z5S6en*m1lG?aLFwg3{^S&mT#hOn0ve(?Bw`-9Z0xsTtbZF;pEP-7p@811NQYnkdUj zG;Z5NW*{l4G$J>$A>GNDYZ_ly6X#mUP)2U3BqyQmlq%F-W!o$$Rt&_|pR?HB?66F3 z(Z(ZJf<3*{F^RG@>9CDQ{uYjwmimvlJU{~@iHPf%4I6ehuG;_d-0354x(C*8MUPz! z@nDLh<7+GMX1;V(sIvea6ZP&2;C|N<4)l}9I2a<0NRXEPlF3}cf6%e*DW?%pRFG(gN zb*T35SGC$=|57QDX!I-EEIq@w;T6?B0^t^Dnd5+DLr2;RD%O#xGLorgSx5Qx*&lc< zJt-bY(|WwRty3fB0?`hqc|$zw{@h3u1I)v>L*xS2{I!df8@E@2!U6-dfwED2C0$@f zUL;-&<(nEoX!I{VFbQlijA4XuG_ek!#iM5 zE5A8?TZE#MW$b<>Q}Y>(DLhE`?DHHJcSL3OW43DD17c(*FatyK)oiFd9I)dJ8;dBC4u~SvWadku3Ei`L7y@Xeb(@V&%BaD zheL#$_=a?Wga#ySI&`$@MM@@Mw5@sXktTG_exx}F@Y=p>qmV)szR*sY_d-w+48&yS z#nwK2Qtf4z6m#Q}I_1hWX?k}W$VzT6i-|93PGiR<7q^h2?eCnbNJrRZRrsc2vdn9a zovP&KVLU#OCmnXlR>;<&i!S;3UoIrC4QT^+1Jw&_&36B4YKpoLfBea?$UZr~*K4C1 z5d_{$GxYUvuFLriiue}aa@A$M%;e<%JA~(ES9dpd_Ozm5j5eUwdJiY%!sdLPwl5yA z@~&I3;Uz;Ok0!?CCgxk~!f!ZKO|8kCEw~5=j!)J;q&y<0lXcSMjP2}XCKpno+uUxK z>+-uUS3rSQvAV76-oD-XK%45krn5N?gZ%RG$^8OUJc`M${kzdNYiMM3J{HohfsQgZ@+& zlHjGA6;k6>;ac|XZ5-Fz*U-3k#`p3Xx!V17_(Yn0SXt^2?1REm#muh=bPp*BF%AX= z)%Kkg_BamZ73={!zV+Vq)nS&*Tpvp?_H+BviWRfV`%TMdrAuSRO;#)~Dc^WFQ@9H- znq>3Qwn7I4f3O+&@3HycX62WaI=%hMf#j1PY04RxIyJQX?zN3kV-a-;)qDN44W&})6vU&de$|s zZ|PhUos!pHpQ|$HRc?7)B5c2360AAe4G$Myk1 zE1c{G-DNqF(a|X}v{URQ`E9q{H3=NQHB!NP;{xB7^E`reIG0Yk{^MZGc#nkfNxx%MK*u+Gv*AHq#_CUMH;RwMaXpqwQ9z-6a2r@0oQdQaXlvhckE%Wr;f1 z%el|BN+(&YJL!ACcantON_50{rZ*+0KF+k%q|3HARLxEP^_EIzNjlDtioR)SrCJ>Q z&BnCQGZr4Vpl`0#Yc*vV9rcIr3FA;k!mY5`*`x*j6Szg7f9jh>mhwbP+rfZ5<8i}x zPi-bpMZxETeOLu5QStLeW0o<%ys_LQkdJAsEj|do1qXLvvK)?`2D)p^BbufKMWoYy zn7K1^%FA)ix#gebKaqhGvJaRPCrI~=vd%`@KJx{v(c=H{0u`IxlYxYcC< zSs<;=xZ?566bT@tYDyS2SVyYiuuua>UAb@jhf^?}m7ib%|59-+%oC(L3i<+Nn*VPN zdtcS6!i@F5^>aNj;A2t6(K%9s9bq9Q!Rso8H^?+yEfDdlnOq2)i6t26y)@jDhnjD` zs9(y_0Ss@)<0BDHXnQAF?+fQrqR(t^*1GbNhb877XE*4!p4=MYAB16)UtgcKZjjd+ z7e`H2G+qOreLCNU^;v|k#(mjkAXtnTwsbz99c;#KB>E3-rGUVe(@kSq#Tw>G_Jc*% zFK8OSTv0}ar{eOm`ffI&%CsERg|HFf*{K2FIn>PT>}Y#|Xl<42ver+K2YffH;^$HV zkW7lsI{#S9I{uTI)-BGZCG5D*zpew|yt>&ft${k@7g!}<9{ip$dWr%w8y^1Mj1F?Ug^9nwCDuIXZHt%b0sF1{9>AXwXg3>)-#_83 z{ra%ojK^k2>MDgj)|;@~I{e@J8$Hldw4-S30h1^6hX>WWFK(PMdpLa+>iUu;^t_6k z!AV4Uxat65xb^@Kq2U4bPxAE5-mVTt*TZ(kXjgYo!u~ZW6wc1lMc2KUo<7u4ez5s_ z(Nk=t_z!L*wqs{|JD(eNY&Egwi5AD#CZvvb+HhX?`ExiTE~s$fu4;>a0&YNbRc|lk zc@Mp$!CcCKQMZ3TZzp>(n~m=K@E)zF?CQ0&-HvVUoqgWZVmN{#=(c{r4K~woy!ris zm`i~(17V~{b;m1nPRE!r`w^Bx!Y|@pA1B(7G+T)!=ZJum#|`F4Przugz9XHyYgNto zo_fG+0q;cH!p+&|#F`a0%^Uw8S9>20+g@du4b(6?C>NHP4{c&*#rsPfIPyCk*ilxR z)r+{eVs|h{rWq8+(L>{DG5^F%lf%KtbccAky@pYV&avBdZ*uM&3VPPYQF67@z=WAh zg+37`gas5(ijrz)hX}JRhJ!LUGyG9Z42^F0%(Ut64Jc(7016)(??bC{F)q_1y_;7a z)~QEPsm=9#%{WR*Wpd~tLtOEM{!RM≠dR0E9ICQ{-tcR;@{R^I5P#1GUH!p=-{c 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 literal 0 HcmV?d00001 diff --git a/bootstrap/addons/font-awesome/less/animated.less b/bootstrap/addons/font-awesome/less/animated.less new file mode 100644 index 0000000..66ad52a --- /dev/null +++ b/bootstrap/addons/font-awesome/less/animated.less @@ -0,0 +1,34 @@ +// Animated Icons +// -------------------------- + +.@{fa-css-prefix}-spin { + -webkit-animation: fa-spin 2s infinite linear; + animation: fa-spin 2s infinite linear; +} + +.@{fa-css-prefix}-pulse { + -webkit-animation: fa-spin 1s infinite steps(8); + animation: fa-spin 1s infinite steps(8); +} + +@-webkit-keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} + +@keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} diff --git a/bootstrap/addons/font-awesome/less/bordered-pulled.less b/bootstrap/addons/font-awesome/less/bordered-pulled.less index 0c90eb5..f1c8ad7 100644 --- a/bootstrap/addons/font-awesome/less/bordered-pulled.less +++ b/bootstrap/addons/font-awesome/less/bordered-pulled.less @@ -7,6 +7,15 @@ border-radius: .1em; } +.@{fa-css-prefix}-pull-left { float: left; } +.@{fa-css-prefix}-pull-right { float: right; } + +.@{fa-css-prefix} { + &.@{fa-css-prefix}-pull-left { margin-right: .3em; } + &.@{fa-css-prefix}-pull-right { margin-left: .3em; } +} + +/* Deprecated as of 4.4.0 */ .pull-right { float: right; } .pull-left { float: left; } diff --git a/bootstrap/addons/font-awesome/less/core.less b/bootstrap/addons/font-awesome/less/core.less index 01d1910..c577ac8 100644 --- a/bootstrap/addons/font-awesome/less/core.less +++ b/bootstrap/addons/font-awesome/less/core.less @@ -3,9 +3,10 @@ .@{fa-css-prefix} { display: inline-block; - font: normal normal normal 14px/1 FontAwesome; // shortening font declaration + font: normal normal normal @fa-font-size-base/@fa-line-height-base FontAwesome; // shortening font declaration font-size: inherit; // can't have font-size inherit on line above, so need to override text-rendering: auto; // optimizelegibility throws things off #1094 -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; + } diff --git a/bootstrap/addons/font-awesome/less/font-awesome.less b/bootstrap/addons/font-awesome/less/font-awesome.less index 195fd46..c44e5f4 100644 --- a/bootstrap/addons/font-awesome/less/font-awesome.less +++ b/bootstrap/addons/font-awesome/less/font-awesome.less @@ -1,5 +1,5 @@ /*! - * Font Awesome 4.2.0 by @davegandy - http://fontawesome.io - @fontawesome + * Font Awesome 4.6.3 by @davegandy - http://fontawesome.io - @fontawesome * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) */ @@ -11,7 +11,8 @@ @import "fixed-width.less"; @import "list.less"; @import "bordered-pulled.less"; -@import "spinning.less"; +@import "animated.less"; @import "rotated-flipped.less"; @import "stacked.less"; @import "icons.less"; +@import "screen-reader.less"; diff --git a/bootstrap/addons/font-awesome/less/icons.less b/bootstrap/addons/font-awesome/less/icons.less index b5c26c7..ba21b22 100644 --- a/bootstrap/addons/font-awesome/less/icons.less +++ b/bootstrap/addons/font-awesome/less/icons.less @@ -158,10 +158,12 @@ .@{fa-css-prefix}-bookmark-o:before { content: @fa-var-bookmark-o; } .@{fa-css-prefix}-phone-square:before { content: @fa-var-phone-square; } .@{fa-css-prefix}-twitter:before { content: @fa-var-twitter; } +.@{fa-css-prefix}-facebook-f:before, .@{fa-css-prefix}-facebook:before { content: @fa-var-facebook; } .@{fa-css-prefix}-github:before { content: @fa-var-github; } .@{fa-css-prefix}-unlock:before { content: @fa-var-unlock; } .@{fa-css-prefix}-credit-card:before { content: @fa-var-credit-card; } +.@{fa-css-prefix}-feed:before, .@{fa-css-prefix}-rss:before { content: @fa-var-rss; } .@{fa-css-prefix}-hdd-o:before { content: @fa-var-hdd-o; } .@{fa-css-prefix}-bullhorn:before { content: @fa-var-bullhorn; } @@ -397,7 +399,8 @@ .@{fa-css-prefix}-trello:before { content: @fa-var-trello; } .@{fa-css-prefix}-female:before { content: @fa-var-female; } .@{fa-css-prefix}-male:before { content: @fa-var-male; } -.@{fa-css-prefix}-gittip:before { content: @fa-var-gittip; } +.@{fa-css-prefix}-gittip:before, +.@{fa-css-prefix}-gratipay:before { content: @fa-var-gratipay; } .@{fa-css-prefix}-sun-o:before { content: @fa-var-sun-o; } .@{fa-css-prefix}-moon-o:before { content: @fa-var-moon-o; } .@{fa-css-prefix}-archive:before { content: @fa-var-archive; } @@ -435,7 +438,7 @@ .@{fa-css-prefix}-stumbleupon:before { content: @fa-var-stumbleupon; } .@{fa-css-prefix}-delicious:before { content: @fa-var-delicious; } .@{fa-css-prefix}-digg:before { content: @fa-var-digg; } -.@{fa-css-prefix}-pied-piper:before { content: @fa-var-pied-piper; } +.@{fa-css-prefix}-pied-piper-pp:before { content: @fa-var-pied-piper-pp; } .@{fa-css-prefix}-pied-piper-alt:before { content: @fa-var-pied-piper-alt; } .@{fa-css-prefix}-drupal:before { content: @fa-var-drupal; } .@{fa-css-prefix}-joomla:before { content: @fa-var-joomla; } @@ -485,11 +488,14 @@ .@{fa-css-prefix}-life-ring:before { content: @fa-var-life-ring; } .@{fa-css-prefix}-circle-o-notch:before { content: @fa-var-circle-o-notch; } .@{fa-css-prefix}-ra:before, +.@{fa-css-prefix}-resistance:before, .@{fa-css-prefix}-rebel:before { content: @fa-var-rebel; } .@{fa-css-prefix}-ge:before, .@{fa-css-prefix}-empire:before { content: @fa-var-empire; } .@{fa-css-prefix}-git-square:before { content: @fa-var-git-square; } .@{fa-css-prefix}-git:before { content: @fa-var-git; } +.@{fa-css-prefix}-y-combinator-square:before, +.@{fa-css-prefix}-yc-square:before, .@{fa-css-prefix}-hacker-news:before { content: @fa-var-hacker-news; } .@{fa-css-prefix}-tencent-weibo:before { content: @fa-var-tencent-weibo; } .@{fa-css-prefix}-qq:before { content: @fa-var-qq; } @@ -550,3 +556,178 @@ .@{fa-css-prefix}-sheqel:before, .@{fa-css-prefix}-ils:before { content: @fa-var-ils; } .@{fa-css-prefix}-meanpath:before { content: @fa-var-meanpath; } +.@{fa-css-prefix}-buysellads:before { content: @fa-var-buysellads; } +.@{fa-css-prefix}-connectdevelop:before { content: @fa-var-connectdevelop; } +.@{fa-css-prefix}-dashcube:before { content: @fa-var-dashcube; } +.@{fa-css-prefix}-forumbee:before { content: @fa-var-forumbee; } +.@{fa-css-prefix}-leanpub:before { content: @fa-var-leanpub; } +.@{fa-css-prefix}-sellsy:before { content: @fa-var-sellsy; } +.@{fa-css-prefix}-shirtsinbulk:before { content: @fa-var-shirtsinbulk; } +.@{fa-css-prefix}-simplybuilt:before { content: @fa-var-simplybuilt; } +.@{fa-css-prefix}-skyatlas:before { content: @fa-var-skyatlas; } +.@{fa-css-prefix}-cart-plus:before { content: @fa-var-cart-plus; } +.@{fa-css-prefix}-cart-arrow-down:before { content: @fa-var-cart-arrow-down; } +.@{fa-css-prefix}-diamond:before { content: @fa-var-diamond; } +.@{fa-css-prefix}-ship:before { content: @fa-var-ship; } +.@{fa-css-prefix}-user-secret:before { content: @fa-var-user-secret; } +.@{fa-css-prefix}-motorcycle:before { content: @fa-var-motorcycle; } +.@{fa-css-prefix}-street-view:before { content: @fa-var-street-view; } +.@{fa-css-prefix}-heartbeat:before { content: @fa-var-heartbeat; } +.@{fa-css-prefix}-venus:before { content: @fa-var-venus; } +.@{fa-css-prefix}-mars:before { content: @fa-var-mars; } +.@{fa-css-prefix}-mercury:before { content: @fa-var-mercury; } +.@{fa-css-prefix}-intersex:before, +.@{fa-css-prefix}-transgender:before { content: @fa-var-transgender; } +.@{fa-css-prefix}-transgender-alt:before { content: @fa-var-transgender-alt; } +.@{fa-css-prefix}-venus-double:before { content: @fa-var-venus-double; } +.@{fa-css-prefix}-mars-double:before { content: @fa-var-mars-double; } +.@{fa-css-prefix}-venus-mars:before { content: @fa-var-venus-mars; } +.@{fa-css-prefix}-mars-stroke:before { content: @fa-var-mars-stroke; } +.@{fa-css-prefix}-mars-stroke-v:before { content: @fa-var-mars-stroke-v; } +.@{fa-css-prefix}-mars-stroke-h:before { content: @fa-var-mars-stroke-h; } +.@{fa-css-prefix}-neuter:before { content: @fa-var-neuter; } +.@{fa-css-prefix}-genderless:before { content: @fa-var-genderless; } +.@{fa-css-prefix}-facebook-official:before { content: @fa-var-facebook-official; } +.@{fa-css-prefix}-pinterest-p:before { content: @fa-var-pinterest-p; } +.@{fa-css-prefix}-whatsapp:before { content: @fa-var-whatsapp; } +.@{fa-css-prefix}-server:before { content: @fa-var-server; } +.@{fa-css-prefix}-user-plus:before { content: @fa-var-user-plus; } +.@{fa-css-prefix}-user-times:before { content: @fa-var-user-times; } +.@{fa-css-prefix}-hotel:before, +.@{fa-css-prefix}-bed:before { content: @fa-var-bed; } +.@{fa-css-prefix}-viacoin:before { content: @fa-var-viacoin; } +.@{fa-css-prefix}-train:before { content: @fa-var-train; } +.@{fa-css-prefix}-subway:before { content: @fa-var-subway; } +.@{fa-css-prefix}-medium:before { content: @fa-var-medium; } +.@{fa-css-prefix}-yc:before, +.@{fa-css-prefix}-y-combinator:before { content: @fa-var-y-combinator; } +.@{fa-css-prefix}-optin-monster:before { content: @fa-var-optin-monster; } +.@{fa-css-prefix}-opencart:before { content: @fa-var-opencart; } +.@{fa-css-prefix}-expeditedssl:before { content: @fa-var-expeditedssl; } +.@{fa-css-prefix}-battery-4:before, +.@{fa-css-prefix}-battery-full:before { content: @fa-var-battery-full; } +.@{fa-css-prefix}-battery-3:before, +.@{fa-css-prefix}-battery-three-quarters:before { content: @fa-var-battery-three-quarters; } +.@{fa-css-prefix}-battery-2:before, +.@{fa-css-prefix}-battery-half:before { content: @fa-var-battery-half; } +.@{fa-css-prefix}-battery-1:before, +.@{fa-css-prefix}-battery-quarter:before { content: @fa-var-battery-quarter; } +.@{fa-css-prefix}-battery-0:before, +.@{fa-css-prefix}-battery-empty:before { content: @fa-var-battery-empty; } +.@{fa-css-prefix}-mouse-pointer:before { content: @fa-var-mouse-pointer; } +.@{fa-css-prefix}-i-cursor:before { content: @fa-var-i-cursor; } +.@{fa-css-prefix}-object-group:before { content: @fa-var-object-group; } +.@{fa-css-prefix}-object-ungroup:before { content: @fa-var-object-ungroup; } +.@{fa-css-prefix}-sticky-note:before { content: @fa-var-sticky-note; } +.@{fa-css-prefix}-sticky-note-o:before { content: @fa-var-sticky-note-o; } +.@{fa-css-prefix}-cc-jcb:before { content: @fa-var-cc-jcb; } +.@{fa-css-prefix}-cc-diners-club:before { content: @fa-var-cc-diners-club; } +.@{fa-css-prefix}-clone:before { content: @fa-var-clone; } +.@{fa-css-prefix}-balance-scale:before { content: @fa-var-balance-scale; } +.@{fa-css-prefix}-hourglass-o:before { content: @fa-var-hourglass-o; } +.@{fa-css-prefix}-hourglass-1:before, +.@{fa-css-prefix}-hourglass-start:before { content: @fa-var-hourglass-start; } +.@{fa-css-prefix}-hourglass-2:before, +.@{fa-css-prefix}-hourglass-half:before { content: @fa-var-hourglass-half; } +.@{fa-css-prefix}-hourglass-3:before, +.@{fa-css-prefix}-hourglass-end:before { content: @fa-var-hourglass-end; } +.@{fa-css-prefix}-hourglass:before { content: @fa-var-hourglass; } +.@{fa-css-prefix}-hand-grab-o:before, +.@{fa-css-prefix}-hand-rock-o:before { content: @fa-var-hand-rock-o; } +.@{fa-css-prefix}-hand-stop-o:before, +.@{fa-css-prefix}-hand-paper-o:before { content: @fa-var-hand-paper-o; } +.@{fa-css-prefix}-hand-scissors-o:before { content: @fa-var-hand-scissors-o; } +.@{fa-css-prefix}-hand-lizard-o:before { content: @fa-var-hand-lizard-o; } +.@{fa-css-prefix}-hand-spock-o:before { content: @fa-var-hand-spock-o; } +.@{fa-css-prefix}-hand-pointer-o:before { content: @fa-var-hand-pointer-o; } +.@{fa-css-prefix}-hand-peace-o:before { content: @fa-var-hand-peace-o; } +.@{fa-css-prefix}-trademark:before { content: @fa-var-trademark; } +.@{fa-css-prefix}-registered:before { content: @fa-var-registered; } +.@{fa-css-prefix}-creative-commons:before { content: @fa-var-creative-commons; } +.@{fa-css-prefix}-gg:before { content: @fa-var-gg; } +.@{fa-css-prefix}-gg-circle:before { content: @fa-var-gg-circle; } +.@{fa-css-prefix}-tripadvisor:before { content: @fa-var-tripadvisor; } +.@{fa-css-prefix}-odnoklassniki:before { content: @fa-var-odnoklassniki; } +.@{fa-css-prefix}-odnoklassniki-square:before { content: @fa-var-odnoklassniki-square; } +.@{fa-css-prefix}-get-pocket:before { content: @fa-var-get-pocket; } +.@{fa-css-prefix}-wikipedia-w:before { content: @fa-var-wikipedia-w; } +.@{fa-css-prefix}-safari:before { content: @fa-var-safari; } +.@{fa-css-prefix}-chrome:before { content: @fa-var-chrome; } +.@{fa-css-prefix}-firefox:before { content: @fa-var-firefox; } +.@{fa-css-prefix}-opera:before { content: @fa-var-opera; } +.@{fa-css-prefix}-internet-explorer:before { content: @fa-var-internet-explorer; } +.@{fa-css-prefix}-tv:before, +.@{fa-css-prefix}-television:before { content: @fa-var-television; } +.@{fa-css-prefix}-contao:before { content: @fa-var-contao; } +.@{fa-css-prefix}-500px:before { content: @fa-var-500px; } +.@{fa-css-prefix}-amazon:before { content: @fa-var-amazon; } +.@{fa-css-prefix}-calendar-plus-o:before { content: @fa-var-calendar-plus-o; } +.@{fa-css-prefix}-calendar-minus-o:before { content: @fa-var-calendar-minus-o; } +.@{fa-css-prefix}-calendar-times-o:before { content: @fa-var-calendar-times-o; } +.@{fa-css-prefix}-calendar-check-o:before { content: @fa-var-calendar-check-o; } +.@{fa-css-prefix}-industry:before { content: @fa-var-industry; } +.@{fa-css-prefix}-map-pin:before { content: @fa-var-map-pin; } +.@{fa-css-prefix}-map-signs:before { content: @fa-var-map-signs; } +.@{fa-css-prefix}-map-o:before { content: @fa-var-map-o; } +.@{fa-css-prefix}-map:before { content: @fa-var-map; } +.@{fa-css-prefix}-commenting:before { content: @fa-var-commenting; } +.@{fa-css-prefix}-commenting-o:before { content: @fa-var-commenting-o; } +.@{fa-css-prefix}-houzz:before { content: @fa-var-houzz; } +.@{fa-css-prefix}-vimeo:before { content: @fa-var-vimeo; } +.@{fa-css-prefix}-black-tie:before { content: @fa-var-black-tie; } +.@{fa-css-prefix}-fonticons:before { content: @fa-var-fonticons; } +.@{fa-css-prefix}-reddit-alien:before { content: @fa-var-reddit-alien; } +.@{fa-css-prefix}-edge:before { content: @fa-var-edge; } +.@{fa-css-prefix}-credit-card-alt:before { content: @fa-var-credit-card-alt; } +.@{fa-css-prefix}-codiepie:before { content: @fa-var-codiepie; } +.@{fa-css-prefix}-modx:before { content: @fa-var-modx; } +.@{fa-css-prefix}-fort-awesome:before { content: @fa-var-fort-awesome; } +.@{fa-css-prefix}-usb:before { content: @fa-var-usb; } +.@{fa-css-prefix}-product-hunt:before { content: @fa-var-product-hunt; } +.@{fa-css-prefix}-mixcloud:before { content: @fa-var-mixcloud; } +.@{fa-css-prefix}-scribd:before { content: @fa-var-scribd; } +.@{fa-css-prefix}-pause-circle:before { content: @fa-var-pause-circle; } +.@{fa-css-prefix}-pause-circle-o:before { content: @fa-var-pause-circle-o; } +.@{fa-css-prefix}-stop-circle:before { content: @fa-var-stop-circle; } +.@{fa-css-prefix}-stop-circle-o:before { content: @fa-var-stop-circle-o; } +.@{fa-css-prefix}-shopping-bag:before { content: @fa-var-shopping-bag; } +.@{fa-css-prefix}-shopping-basket:before { content: @fa-var-shopping-basket; } +.@{fa-css-prefix}-hashtag:before { content: @fa-var-hashtag; } +.@{fa-css-prefix}-bluetooth:before { content: @fa-var-bluetooth; } +.@{fa-css-prefix}-bluetooth-b:before { content: @fa-var-bluetooth-b; } +.@{fa-css-prefix}-percent:before { content: @fa-var-percent; } +.@{fa-css-prefix}-gitlab:before { content: @fa-var-gitlab; } +.@{fa-css-prefix}-wpbeginner:before { content: @fa-var-wpbeginner; } +.@{fa-css-prefix}-wpforms:before { content: @fa-var-wpforms; } +.@{fa-css-prefix}-envira:before { content: @fa-var-envira; } +.@{fa-css-prefix}-universal-access:before { content: @fa-var-universal-access; } +.@{fa-css-prefix}-wheelchair-alt:before { content: @fa-var-wheelchair-alt; } +.@{fa-css-prefix}-question-circle-o:before { content: @fa-var-question-circle-o; } +.@{fa-css-prefix}-blind:before { content: @fa-var-blind; } +.@{fa-css-prefix}-audio-description:before { content: @fa-var-audio-description; } +.@{fa-css-prefix}-volume-control-phone:before { content: @fa-var-volume-control-phone; } +.@{fa-css-prefix}-braille:before { content: @fa-var-braille; } +.@{fa-css-prefix}-assistive-listening-systems:before { content: @fa-var-assistive-listening-systems; } +.@{fa-css-prefix}-asl-interpreting:before, +.@{fa-css-prefix}-american-sign-language-interpreting:before { content: @fa-var-american-sign-language-interpreting; } +.@{fa-css-prefix}-deafness:before, +.@{fa-css-prefix}-hard-of-hearing:before, +.@{fa-css-prefix}-deaf:before { content: @fa-var-deaf; } +.@{fa-css-prefix}-glide:before { content: @fa-var-glide; } +.@{fa-css-prefix}-glide-g:before { content: @fa-var-glide-g; } +.@{fa-css-prefix}-signing:before, +.@{fa-css-prefix}-sign-language:before { content: @fa-var-sign-language; } +.@{fa-css-prefix}-low-vision:before { content: @fa-var-low-vision; } +.@{fa-css-prefix}-viadeo:before { content: @fa-var-viadeo; } +.@{fa-css-prefix}-viadeo-square:before { content: @fa-var-viadeo-square; } +.@{fa-css-prefix}-snapchat:before { content: @fa-var-snapchat; } +.@{fa-css-prefix}-snapchat-ghost:before { content: @fa-var-snapchat-ghost; } +.@{fa-css-prefix}-snapchat-square:before { content: @fa-var-snapchat-square; } +.@{fa-css-prefix}-pied-piper:before { content: @fa-var-pied-piper; } +.@{fa-css-prefix}-first-order:before { content: @fa-var-first-order; } +.@{fa-css-prefix}-yoast:before { content: @fa-var-yoast; } +.@{fa-css-prefix}-themeisle:before { content: @fa-var-themeisle; } +.@{fa-css-prefix}-google-plus-circle:before, +.@{fa-css-prefix}-google-plus-official:before { content: @fa-var-google-plus-official; } +.@{fa-css-prefix}-fa:before, +.@{fa-css-prefix}-font-awesome:before { content: @fa-var-font-awesome; } diff --git a/bootstrap/addons/font-awesome/less/mixins.less b/bootstrap/addons/font-awesome/less/mixins.less index b7bfadc..beef231 100644 --- a/bootstrap/addons/font-awesome/less/mixins.less +++ b/bootstrap/addons/font-awesome/less/mixins.less @@ -3,23 +3,58 @@ .fa-icon() { display: inline-block; - font: normal normal normal 14px/1 FontAwesome; // shortening font declaration + font: normal normal normal @fa-font-size-base/@fa-line-height-base FontAwesome; // shortening font declaration font-size: inherit; // can't have font-size inherit on line above, so need to override text-rendering: auto; // optimizelegibility throws things off #1094 -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; + } .fa-icon-rotate(@degrees, @rotation) { - filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=@rotation); + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=@{rotation})"; -webkit-transform: rotate(@degrees); -ms-transform: rotate(@degrees); transform: rotate(@degrees); } .fa-icon-flip(@horiz, @vert, @rotation) { - filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=@rotation, mirror=1); + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=@{rotation}, mirror=1)"; -webkit-transform: scale(@horiz, @vert); -ms-transform: scale(@horiz, @vert); transform: scale(@horiz, @vert); } + + +// Only display content to screen readers. A la Bootstrap 4. +// +// See: http://a11yproject.com/posts/how-to-hide-content/ + +.sr-only() { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0,0,0,0); + border: 0; +} + +// Use in conjunction with .sr-only to only display content when it's focused. +// +// Useful for "Skip to main content" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1 +// +// Credit: HTML5 Boilerplate + +.sr-only-focusable() { + &:active, + &:focus { + position: static; + width: auto; + height: auto; + margin: 0; + overflow: visible; + clip: auto; + } +} diff --git a/bootstrap/addons/font-awesome/less/path.less b/bootstrap/addons/font-awesome/less/path.less index c5a6912..835be41 100644 --- a/bootstrap/addons/font-awesome/less/path.less +++ b/bootstrap/addons/font-awesome/less/path.less @@ -5,10 +5,11 @@ font-family: 'FontAwesome'; src: url('@{fa-font-path}/fontawesome-webfont.eot?v=@{fa-version}'); src: url('@{fa-font-path}/fontawesome-webfont.eot?#iefix&v=@{fa-version}') format('embedded-opentype'), + url('@{fa-font-path}/fontawesome-webfont.woff2?v=@{fa-version}') format('woff2'), url('@{fa-font-path}/fontawesome-webfont.woff?v=@{fa-version}') format('woff'), url('@{fa-font-path}/fontawesome-webfont.ttf?v=@{fa-version}') format('truetype'), url('@{fa-font-path}/fontawesome-webfont.svg?v=@{fa-version}#fontawesomeregular') format('svg'); -// src: url('@{fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts + // src: url('@{fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts font-weight: normal; font-style: normal; } diff --git a/bootstrap/addons/font-awesome/less/screen-reader.less b/bootstrap/addons/font-awesome/less/screen-reader.less new file mode 100644 index 0000000..11c1881 --- /dev/null +++ b/bootstrap/addons/font-awesome/less/screen-reader.less @@ -0,0 +1,5 @@ +// Screen Readers +// ------------------------- + +.sr-only { .sr-only(); } +.sr-only-focusable { .sr-only-focusable(); } diff --git a/bootstrap/addons/font-awesome/less/variables.less b/bootstrap/addons/font-awesome/less/variables.less index ccf939d..2b33819 100644 --- a/bootstrap/addons/font-awesome/less/variables.less +++ b/bootstrap/addons/font-awesome/less/variables.less @@ -2,20 +2,25 @@ // -------------------------- @fa-font-path: "../fonts"; -//@fa-font-path: "//netdna.bootstrapcdn.com/font-awesome/4.2.0/fonts"; // for referencing Bootstrap CDN font files directly +@fa-font-size-base: 14px; +@fa-line-height-base: 1; +//@fa-font-path: "//netdna.bootstrapcdn.com/font-awesome/4.6.3/fonts"; // for referencing Bootstrap CDN font files directly @fa-css-prefix: fa; -@fa-version: "4.2.0"; +@fa-version: "4.6.3"; @fa-border-color: #eee; @fa-inverse: #fff; @fa-li-width: (30em / 14); +@fa-var-500px: "\f26e"; @fa-var-adjust: "\f042"; @fa-var-adn: "\f170"; @fa-var-align-center: "\f037"; @fa-var-align-justify: "\f039"; @fa-var-align-left: "\f036"; @fa-var-align-right: "\f038"; +@fa-var-amazon: "\f270"; @fa-var-ambulance: "\f0f9"; +@fa-var-american-sign-language-interpreting: "\f2a3"; @fa-var-anchor: "\f13d"; @fa-var-android: "\f17b"; @fa-var-angellist: "\f209"; @@ -46,16 +51,31 @@ @fa-var-arrows-alt: "\f0b2"; @fa-var-arrows-h: "\f07e"; @fa-var-arrows-v: "\f07d"; +@fa-var-asl-interpreting: "\f2a3"; +@fa-var-assistive-listening-systems: "\f2a2"; @fa-var-asterisk: "\f069"; @fa-var-at: "\f1fa"; +@fa-var-audio-description: "\f29e"; @fa-var-automobile: "\f1b9"; @fa-var-backward: "\f04a"; +@fa-var-balance-scale: "\f24e"; @fa-var-ban: "\f05e"; @fa-var-bank: "\f19c"; @fa-var-bar-chart: "\f080"; @fa-var-bar-chart-o: "\f080"; @fa-var-barcode: "\f02a"; @fa-var-bars: "\f0c9"; +@fa-var-battery-0: "\f244"; +@fa-var-battery-1: "\f243"; +@fa-var-battery-2: "\f242"; +@fa-var-battery-3: "\f241"; +@fa-var-battery-4: "\f240"; +@fa-var-battery-empty: "\f244"; +@fa-var-battery-full: "\f240"; +@fa-var-battery-half: "\f242"; +@fa-var-battery-quarter: "\f243"; +@fa-var-battery-three-quarters: "\f241"; +@fa-var-bed: "\f236"; @fa-var-beer: "\f0fc"; @fa-var-behance: "\f1b4"; @fa-var-behance-square: "\f1b5"; @@ -69,12 +89,17 @@ @fa-var-bitbucket: "\f171"; @fa-var-bitbucket-square: "\f172"; @fa-var-bitcoin: "\f15a"; +@fa-var-black-tie: "\f27e"; +@fa-var-blind: "\f29d"; +@fa-var-bluetooth: "\f293"; +@fa-var-bluetooth-b: "\f294"; @fa-var-bold: "\f032"; @fa-var-bolt: "\f0e7"; @fa-var-bomb: "\f1e2"; @fa-var-book: "\f02d"; @fa-var-bookmark: "\f02e"; @fa-var-bookmark-o: "\f097"; +@fa-var-braille: "\f2a1"; @fa-var-briefcase: "\f0b1"; @fa-var-btc: "\f15a"; @fa-var-bug: "\f188"; @@ -83,10 +108,15 @@ @fa-var-bullhorn: "\f0a1"; @fa-var-bullseye: "\f140"; @fa-var-bus: "\f207"; +@fa-var-buysellads: "\f20d"; @fa-var-cab: "\f1ba"; @fa-var-calculator: "\f1ec"; @fa-var-calendar: "\f073"; +@fa-var-calendar-check-o: "\f274"; +@fa-var-calendar-minus-o: "\f272"; @fa-var-calendar-o: "\f133"; +@fa-var-calendar-plus-o: "\f271"; +@fa-var-calendar-times-o: "\f273"; @fa-var-camera: "\f030"; @fa-var-camera-retro: "\f083"; @fa-var-car: "\f1b9"; @@ -98,9 +128,13 @@ @fa-var-caret-square-o-right: "\f152"; @fa-var-caret-square-o-up: "\f151"; @fa-var-caret-up: "\f0d8"; +@fa-var-cart-arrow-down: "\f218"; +@fa-var-cart-plus: "\f217"; @fa-var-cc: "\f20a"; @fa-var-cc-amex: "\f1f3"; +@fa-var-cc-diners-club: "\f24c"; @fa-var-cc-discover: "\f1f2"; +@fa-var-cc-jcb: "\f24b"; @fa-var-cc-mastercard: "\f1f1"; @fa-var-cc-paypal: "\f1f4"; @fa-var-cc-stripe: "\f1f5"; @@ -122,12 +156,14 @@ @fa-var-chevron-right: "\f054"; @fa-var-chevron-up: "\f077"; @fa-var-child: "\f1ae"; +@fa-var-chrome: "\f268"; @fa-var-circle: "\f111"; @fa-var-circle-o: "\f10c"; @fa-var-circle-o-notch: "\f1ce"; @fa-var-circle-thin: "\f1db"; @fa-var-clipboard: "\f0ea"; @fa-var-clock-o: "\f017"; +@fa-var-clone: "\f24d"; @fa-var-close: "\f00d"; @fa-var-cloud: "\f0c2"; @fa-var-cloud-download: "\f0ed"; @@ -136,19 +172,26 @@ @fa-var-code: "\f121"; @fa-var-code-fork: "\f126"; @fa-var-codepen: "\f1cb"; +@fa-var-codiepie: "\f284"; @fa-var-coffee: "\f0f4"; @fa-var-cog: "\f013"; @fa-var-cogs: "\f085"; @fa-var-columns: "\f0db"; @fa-var-comment: "\f075"; @fa-var-comment-o: "\f0e5"; +@fa-var-commenting: "\f27a"; +@fa-var-commenting-o: "\f27b"; @fa-var-comments: "\f086"; @fa-var-comments-o: "\f0e6"; @fa-var-compass: "\f14e"; @fa-var-compress: "\f066"; +@fa-var-connectdevelop: "\f20e"; +@fa-var-contao: "\f26d"; @fa-var-copy: "\f0c5"; @fa-var-copyright: "\f1f9"; +@fa-var-creative-commons: "\f25e"; @fa-var-credit-card: "\f09d"; +@fa-var-credit-card-alt: "\f283"; @fa-var-crop: "\f125"; @fa-var-crosshairs: "\f05b"; @fa-var-css3: "\f13c"; @@ -157,11 +200,15 @@ @fa-var-cut: "\f0c4"; @fa-var-cutlery: "\f0f5"; @fa-var-dashboard: "\f0e4"; +@fa-var-dashcube: "\f210"; @fa-var-database: "\f1c0"; +@fa-var-deaf: "\f2a4"; +@fa-var-deafness: "\f2a4"; @fa-var-dedent: "\f03b"; @fa-var-delicious: "\f1a5"; @fa-var-desktop: "\f108"; @fa-var-deviantart: "\f1bd"; +@fa-var-diamond: "\f219"; @fa-var-digg: "\f1a6"; @fa-var-dollar: "\f155"; @fa-var-dot-circle-o: "\f192"; @@ -169,6 +216,7 @@ @fa-var-dribbble: "\f17d"; @fa-var-dropbox: "\f16b"; @fa-var-drupal: "\f1a9"; +@fa-var-edge: "\f282"; @fa-var-edit: "\f044"; @fa-var-eject: "\f052"; @fa-var-ellipsis-h: "\f141"; @@ -177,6 +225,7 @@ @fa-var-envelope: "\f0e0"; @fa-var-envelope-o: "\f003"; @fa-var-envelope-square: "\f199"; +@fa-var-envira: "\f299"; @fa-var-eraser: "\f12d"; @fa-var-eur: "\f153"; @fa-var-euro: "\f153"; @@ -185,16 +234,21 @@ @fa-var-exclamation-circle: "\f06a"; @fa-var-exclamation-triangle: "\f071"; @fa-var-expand: "\f065"; +@fa-var-expeditedssl: "\f23e"; @fa-var-external-link: "\f08e"; @fa-var-external-link-square: "\f14c"; @fa-var-eye: "\f06e"; @fa-var-eye-slash: "\f070"; @fa-var-eyedropper: "\f1fb"; +@fa-var-fa: "\f2b4"; @fa-var-facebook: "\f09a"; +@fa-var-facebook-f: "\f09a"; +@fa-var-facebook-official: "\f230"; @fa-var-facebook-square: "\f082"; @fa-var-fast-backward: "\f049"; @fa-var-fast-forward: "\f050"; @fa-var-fax: "\f1ac"; +@fa-var-feed: "\f09e"; @fa-var-female: "\f182"; @fa-var-fighter-jet: "\f0fb"; @fa-var-file: "\f15b"; @@ -220,6 +274,8 @@ @fa-var-filter: "\f0b0"; @fa-var-fire: "\f06d"; @fa-var-fire-extinguisher: "\f134"; +@fa-var-firefox: "\f269"; +@fa-var-first-order: "\f2b0"; @fa-var-flag: "\f024"; @fa-var-flag-checkered: "\f11e"; @fa-var-flag-o: "\f11d"; @@ -232,6 +288,10 @@ @fa-var-folder-open: "\f07c"; @fa-var-folder-open-o: "\f115"; @fa-var-font: "\f031"; +@fa-var-font-awesome: "\f2b4"; +@fa-var-fonticons: "\f280"; +@fa-var-fort-awesome: "\f286"; +@fa-var-forumbee: "\f211"; @fa-var-forward: "\f04e"; @fa-var-foursquare: "\f180"; @fa-var-frown-o: "\f119"; @@ -242,45 +302,81 @@ @fa-var-ge: "\f1d1"; @fa-var-gear: "\f013"; @fa-var-gears: "\f085"; +@fa-var-genderless: "\f22d"; +@fa-var-get-pocket: "\f265"; +@fa-var-gg: "\f260"; +@fa-var-gg-circle: "\f261"; @fa-var-gift: "\f06b"; @fa-var-git: "\f1d3"; @fa-var-git-square: "\f1d2"; @fa-var-github: "\f09b"; @fa-var-github-alt: "\f113"; @fa-var-github-square: "\f092"; +@fa-var-gitlab: "\f296"; @fa-var-gittip: "\f184"; @fa-var-glass: "\f000"; +@fa-var-glide: "\f2a5"; +@fa-var-glide-g: "\f2a6"; @fa-var-globe: "\f0ac"; @fa-var-google: "\f1a0"; @fa-var-google-plus: "\f0d5"; +@fa-var-google-plus-circle: "\f2b3"; +@fa-var-google-plus-official: "\f2b3"; @fa-var-google-plus-square: "\f0d4"; @fa-var-google-wallet: "\f1ee"; @fa-var-graduation-cap: "\f19d"; +@fa-var-gratipay: "\f184"; @fa-var-group: "\f0c0"; @fa-var-h-square: "\f0fd"; @fa-var-hacker-news: "\f1d4"; +@fa-var-hand-grab-o: "\f255"; +@fa-var-hand-lizard-o: "\f258"; @fa-var-hand-o-down: "\f0a7"; @fa-var-hand-o-left: "\f0a5"; @fa-var-hand-o-right: "\f0a4"; @fa-var-hand-o-up: "\f0a6"; +@fa-var-hand-paper-o: "\f256"; +@fa-var-hand-peace-o: "\f25b"; +@fa-var-hand-pointer-o: "\f25a"; +@fa-var-hand-rock-o: "\f255"; +@fa-var-hand-scissors-o: "\f257"; +@fa-var-hand-spock-o: "\f259"; +@fa-var-hand-stop-o: "\f256"; +@fa-var-hard-of-hearing: "\f2a4"; +@fa-var-hashtag: "\f292"; @fa-var-hdd-o: "\f0a0"; @fa-var-header: "\f1dc"; @fa-var-headphones: "\f025"; @fa-var-heart: "\f004"; @fa-var-heart-o: "\f08a"; +@fa-var-heartbeat: "\f21e"; @fa-var-history: "\f1da"; @fa-var-home: "\f015"; @fa-var-hospital-o: "\f0f8"; +@fa-var-hotel: "\f236"; +@fa-var-hourglass: "\f254"; +@fa-var-hourglass-1: "\f251"; +@fa-var-hourglass-2: "\f252"; +@fa-var-hourglass-3: "\f253"; +@fa-var-hourglass-end: "\f253"; +@fa-var-hourglass-half: "\f252"; +@fa-var-hourglass-o: "\f250"; +@fa-var-hourglass-start: "\f251"; +@fa-var-houzz: "\f27c"; @fa-var-html5: "\f13b"; +@fa-var-i-cursor: "\f246"; @fa-var-ils: "\f20b"; @fa-var-image: "\f03e"; @fa-var-inbox: "\f01c"; @fa-var-indent: "\f03c"; +@fa-var-industry: "\f275"; @fa-var-info: "\f129"; @fa-var-info-circle: "\f05a"; @fa-var-inr: "\f156"; @fa-var-instagram: "\f16d"; @fa-var-institution: "\f19c"; +@fa-var-internet-explorer: "\f26b"; +@fa-var-intersex: "\f224"; @fa-var-ioxhost: "\f208"; @fa-var-italic: "\f033"; @fa-var-joomla: "\f1aa"; @@ -294,6 +390,7 @@ @fa-var-lastfm: "\f202"; @fa-var-lastfm-square: "\f203"; @fa-var-leaf: "\f06c"; +@fa-var-leanpub: "\f212"; @fa-var-legal: "\f0e3"; @fa-var-lemon-o: "\f094"; @fa-var-level-down: "\f149"; @@ -318,32 +415,56 @@ @fa-var-long-arrow-left: "\f177"; @fa-var-long-arrow-right: "\f178"; @fa-var-long-arrow-up: "\f176"; +@fa-var-low-vision: "\f2a8"; @fa-var-magic: "\f0d0"; @fa-var-magnet: "\f076"; @fa-var-mail-forward: "\f064"; @fa-var-mail-reply: "\f112"; @fa-var-mail-reply-all: "\f122"; @fa-var-male: "\f183"; +@fa-var-map: "\f279"; @fa-var-map-marker: "\f041"; +@fa-var-map-o: "\f278"; +@fa-var-map-pin: "\f276"; +@fa-var-map-signs: "\f277"; +@fa-var-mars: "\f222"; +@fa-var-mars-double: "\f227"; +@fa-var-mars-stroke: "\f229"; +@fa-var-mars-stroke-h: "\f22b"; +@fa-var-mars-stroke-v: "\f22a"; @fa-var-maxcdn: "\f136"; @fa-var-meanpath: "\f20c"; +@fa-var-medium: "\f23a"; @fa-var-medkit: "\f0fa"; @fa-var-meh-o: "\f11a"; +@fa-var-mercury: "\f223"; @fa-var-microphone: "\f130"; @fa-var-microphone-slash: "\f131"; @fa-var-minus: "\f068"; @fa-var-minus-circle: "\f056"; @fa-var-minus-square: "\f146"; @fa-var-minus-square-o: "\f147"; +@fa-var-mixcloud: "\f289"; @fa-var-mobile: "\f10b"; @fa-var-mobile-phone: "\f10b"; +@fa-var-modx: "\f285"; @fa-var-money: "\f0d6"; @fa-var-moon-o: "\f186"; @fa-var-mortar-board: "\f19d"; +@fa-var-motorcycle: "\f21c"; +@fa-var-mouse-pointer: "\f245"; @fa-var-music: "\f001"; @fa-var-navicon: "\f0c9"; +@fa-var-neuter: "\f22c"; @fa-var-newspaper-o: "\f1ea"; +@fa-var-object-group: "\f247"; +@fa-var-object-ungroup: "\f248"; +@fa-var-odnoklassniki: "\f263"; +@fa-var-odnoklassniki-square: "\f264"; +@fa-var-opencart: "\f23d"; @fa-var-openid: "\f19b"; +@fa-var-opera: "\f26a"; +@fa-var-optin-monster: "\f23c"; @fa-var-outdent: "\f03b"; @fa-var-pagelines: "\f18c"; @fa-var-paint-brush: "\f1fc"; @@ -353,19 +474,24 @@ @fa-var-paragraph: "\f1dd"; @fa-var-paste: "\f0ea"; @fa-var-pause: "\f04c"; +@fa-var-pause-circle: "\f28b"; +@fa-var-pause-circle-o: "\f28c"; @fa-var-paw: "\f1b0"; @fa-var-paypal: "\f1ed"; @fa-var-pencil: "\f040"; @fa-var-pencil-square: "\f14b"; @fa-var-pencil-square-o: "\f044"; +@fa-var-percent: "\f295"; @fa-var-phone: "\f095"; @fa-var-phone-square: "\f098"; @fa-var-photo: "\f03e"; @fa-var-picture-o: "\f03e"; @fa-var-pie-chart: "\f200"; -@fa-var-pied-piper: "\f1a7"; +@fa-var-pied-piper: "\f2ae"; @fa-var-pied-piper-alt: "\f1a8"; +@fa-var-pied-piper-pp: "\f1a7"; @fa-var-pinterest: "\f0d2"; +@fa-var-pinterest-p: "\f231"; @fa-var-pinterest-square: "\f0d3"; @fa-var-plane: "\f072"; @fa-var-play: "\f04b"; @@ -378,11 +504,13 @@ @fa-var-plus-square-o: "\f196"; @fa-var-power-off: "\f011"; @fa-var-print: "\f02f"; +@fa-var-product-hunt: "\f288"; @fa-var-puzzle-piece: "\f12e"; @fa-var-qq: "\f1d6"; @fa-var-qrcode: "\f029"; @fa-var-question: "\f128"; @fa-var-question-circle: "\f059"; +@fa-var-question-circle-o: "\f29c"; @fa-var-quote-left: "\f10d"; @fa-var-quote-right: "\f10e"; @fa-var-ra: "\f1d0"; @@ -390,14 +518,17 @@ @fa-var-rebel: "\f1d0"; @fa-var-recycle: "\f1b8"; @fa-var-reddit: "\f1a1"; +@fa-var-reddit-alien: "\f281"; @fa-var-reddit-square: "\f1a2"; @fa-var-refresh: "\f021"; +@fa-var-registered: "\f25d"; @fa-var-remove: "\f00d"; @fa-var-renren: "\f18b"; @fa-var-reorder: "\f0c9"; @fa-var-repeat: "\f01e"; @fa-var-reply: "\f112"; @fa-var-reply-all: "\f122"; +@fa-var-resistance: "\f1d0"; @fa-var-retweet: "\f079"; @fa-var-rmb: "\f157"; @fa-var-road: "\f018"; @@ -410,13 +541,17 @@ @fa-var-rub: "\f158"; @fa-var-ruble: "\f158"; @fa-var-rupee: "\f156"; +@fa-var-safari: "\f267"; @fa-var-save: "\f0c7"; @fa-var-scissors: "\f0c4"; +@fa-var-scribd: "\f28a"; @fa-var-search: "\f002"; @fa-var-search-minus: "\f010"; @fa-var-search-plus: "\f00e"; +@fa-var-sellsy: "\f213"; @fa-var-send: "\f1d8"; @fa-var-send-o: "\f1d9"; +@fa-var-server: "\f233"; @fa-var-share: "\f064"; @fa-var-share-alt: "\f1e0"; @fa-var-share-alt-square: "\f1e1"; @@ -425,16 +560,27 @@ @fa-var-shekel: "\f20b"; @fa-var-sheqel: "\f20b"; @fa-var-shield: "\f132"; +@fa-var-ship: "\f21a"; +@fa-var-shirtsinbulk: "\f214"; +@fa-var-shopping-bag: "\f290"; +@fa-var-shopping-basket: "\f291"; @fa-var-shopping-cart: "\f07a"; @fa-var-sign-in: "\f090"; +@fa-var-sign-language: "\f2a7"; @fa-var-sign-out: "\f08b"; @fa-var-signal: "\f012"; +@fa-var-signing: "\f2a7"; +@fa-var-simplybuilt: "\f215"; @fa-var-sitemap: "\f0e8"; +@fa-var-skyatlas: "\f216"; @fa-var-skype: "\f17e"; @fa-var-slack: "\f198"; @fa-var-sliders: "\f1de"; @fa-var-slideshare: "\f1e7"; @fa-var-smile-o: "\f118"; +@fa-var-snapchat: "\f2ab"; +@fa-var-snapchat-ghost: "\f2ac"; +@fa-var-snapchat-square: "\f2ad"; @fa-var-soccer-ball-o: "\f1e3"; @fa-var-sort: "\f0dc"; @fa-var-sort-alpha-asc: "\f15d"; @@ -467,11 +613,17 @@ @fa-var-step-backward: "\f048"; @fa-var-step-forward: "\f051"; @fa-var-stethoscope: "\f0f1"; +@fa-var-sticky-note: "\f249"; +@fa-var-sticky-note-o: "\f24a"; @fa-var-stop: "\f04d"; +@fa-var-stop-circle: "\f28d"; +@fa-var-stop-circle-o: "\f28e"; +@fa-var-street-view: "\f21d"; @fa-var-strikethrough: "\f0cc"; @fa-var-stumbleupon: "\f1a4"; @fa-var-stumbleupon-circle: "\f1a3"; @fa-var-subscript: "\f12c"; +@fa-var-subway: "\f239"; @fa-var-suitcase: "\f0f2"; @fa-var-sun-o: "\f185"; @fa-var-superscript: "\f12b"; @@ -483,6 +635,7 @@ @fa-var-tags: "\f02c"; @fa-var-tasks: "\f0ae"; @fa-var-taxi: "\f1ba"; +@fa-var-television: "\f26c"; @fa-var-tencent-weibo: "\f1d5"; @fa-var-terminal: "\f120"; @fa-var-text-height: "\f034"; @@ -490,6 +643,7 @@ @fa-var-th: "\f00a"; @fa-var-th-large: "\f009"; @fa-var-th-list: "\f00b"; +@fa-var-themeisle: "\f2b2"; @fa-var-thumb-tack: "\f08d"; @fa-var-thumbs-down: "\f165"; @fa-var-thumbs-o-down: "\f088"; @@ -506,10 +660,15 @@ @fa-var-toggle-on: "\f205"; @fa-var-toggle-right: "\f152"; @fa-var-toggle-up: "\f151"; +@fa-var-trademark: "\f25c"; +@fa-var-train: "\f238"; +@fa-var-transgender: "\f224"; +@fa-var-transgender-alt: "\f225"; @fa-var-trash: "\f1f8"; @fa-var-trash-o: "\f014"; @fa-var-tree: "\f1bb"; @fa-var-trello: "\f181"; +@fa-var-tripadvisor: "\f262"; @fa-var-trophy: "\f091"; @fa-var-truck: "\f0d1"; @fa-var-try: "\f195"; @@ -517,26 +676,40 @@ @fa-var-tumblr: "\f173"; @fa-var-tumblr-square: "\f174"; @fa-var-turkish-lira: "\f195"; +@fa-var-tv: "\f26c"; @fa-var-twitch: "\f1e8"; @fa-var-twitter: "\f099"; @fa-var-twitter-square: "\f081"; @fa-var-umbrella: "\f0e9"; @fa-var-underline: "\f0cd"; @fa-var-undo: "\f0e2"; +@fa-var-universal-access: "\f29a"; @fa-var-university: "\f19c"; @fa-var-unlink: "\f127"; @fa-var-unlock: "\f09c"; @fa-var-unlock-alt: "\f13e"; @fa-var-unsorted: "\f0dc"; @fa-var-upload: "\f093"; +@fa-var-usb: "\f287"; @fa-var-usd: "\f155"; @fa-var-user: "\f007"; @fa-var-user-md: "\f0f0"; +@fa-var-user-plus: "\f234"; +@fa-var-user-secret: "\f21b"; +@fa-var-user-times: "\f235"; @fa-var-users: "\f0c0"; +@fa-var-venus: "\f221"; +@fa-var-venus-double: "\f226"; +@fa-var-venus-mars: "\f228"; +@fa-var-viacoin: "\f237"; +@fa-var-viadeo: "\f2a9"; +@fa-var-viadeo-square: "\f2aa"; @fa-var-video-camera: "\f03d"; +@fa-var-vimeo: "\f27d"; @fa-var-vimeo-square: "\f194"; @fa-var-vine: "\f1ca"; @fa-var-vk: "\f189"; +@fa-var-volume-control-phone: "\f2a0"; @fa-var-volume-down: "\f027"; @fa-var-volume-off: "\f026"; @fa-var-volume-up: "\f028"; @@ -544,17 +717,27 @@ @fa-var-wechat: "\f1d7"; @fa-var-weibo: "\f18a"; @fa-var-weixin: "\f1d7"; +@fa-var-whatsapp: "\f232"; @fa-var-wheelchair: "\f193"; +@fa-var-wheelchair-alt: "\f29b"; @fa-var-wifi: "\f1eb"; +@fa-var-wikipedia-w: "\f266"; @fa-var-windows: "\f17a"; @fa-var-won: "\f159"; @fa-var-wordpress: "\f19a"; +@fa-var-wpbeginner: "\f297"; +@fa-var-wpforms: "\f298"; @fa-var-wrench: "\f0ad"; @fa-var-xing: "\f168"; @fa-var-xing-square: "\f169"; +@fa-var-y-combinator: "\f23b"; +@fa-var-y-combinator-square: "\f1d4"; @fa-var-yahoo: "\f19e"; +@fa-var-yc: "\f23b"; +@fa-var-yc-square: "\f1d4"; @fa-var-yelp: "\f1e9"; @fa-var-yen: "\f157"; +@fa-var-yoast: "\f2b1"; @fa-var-youtube: "\f167"; @fa-var-youtube-play: "\f16a"; @fa-var-youtube-square: "\f166"; diff --git a/bootstrap/addons/font-awesome/scss/_animated.scss b/bootstrap/addons/font-awesome/scss/_animated.scss new file mode 100644 index 0000000..8a020db --- /dev/null +++ b/bootstrap/addons/font-awesome/scss/_animated.scss @@ -0,0 +1,34 @@ +// Spinning Icons +// -------------------------- + +.#{$fa-css-prefix}-spin { + -webkit-animation: fa-spin 2s infinite linear; + animation: fa-spin 2s infinite linear; +} + +.#{$fa-css-prefix}-pulse { + -webkit-animation: fa-spin 1s infinite steps(8); + animation: fa-spin 1s infinite steps(8); +} + +@-webkit-keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} + +@keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} diff --git a/bootstrap/addons/font-awesome/scss/_bordered-pulled.scss b/bootstrap/addons/font-awesome/scss/_bordered-pulled.scss index 9d3fdf3..d4b85a0 100644 --- a/bootstrap/addons/font-awesome/scss/_bordered-pulled.scss +++ b/bootstrap/addons/font-awesome/scss/_bordered-pulled.scss @@ -7,6 +7,15 @@ border-radius: .1em; } +.#{$fa-css-prefix}-pull-left { float: left; } +.#{$fa-css-prefix}-pull-right { float: right; } + +.#{$fa-css-prefix} { + &.#{$fa-css-prefix}-pull-left { margin-right: .3em; } + &.#{$fa-css-prefix}-pull-right { margin-left: .3em; } +} + +/* Deprecated as of 4.4.0 */ .pull-right { float: right; } .pull-left { float: left; } diff --git a/bootstrap/addons/font-awesome/scss/_core.scss b/bootstrap/addons/font-awesome/scss/_core.scss index ca46d37..7425ef8 100644 --- a/bootstrap/addons/font-awesome/scss/_core.scss +++ b/bootstrap/addons/font-awesome/scss/_core.scss @@ -3,9 +3,10 @@ .#{$fa-css-prefix} { display: inline-block; - font: normal normal normal 14px/1 FontAwesome; // shortening font declaration + font: normal normal normal #{$fa-font-size-base}/#{$fa-line-height-base} FontAwesome; // shortening font declaration font-size: inherit; // can't have font-size inherit on line above, so need to override text-rendering: auto; // optimizelegibility throws things off #1094 -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; + } diff --git a/bootstrap/addons/font-awesome/scss/_icons.scss b/bootstrap/addons/font-awesome/scss/_icons.scss index 8dc2939..2944344 100644 --- a/bootstrap/addons/font-awesome/scss/_icons.scss +++ b/bootstrap/addons/font-awesome/scss/_icons.scss @@ -158,10 +158,12 @@ .#{$fa-css-prefix}-bookmark-o:before { content: $fa-var-bookmark-o; } .#{$fa-css-prefix}-phone-square:before { content: $fa-var-phone-square; } .#{$fa-css-prefix}-twitter:before { content: $fa-var-twitter; } +.#{$fa-css-prefix}-facebook-f:before, .#{$fa-css-prefix}-facebook:before { content: $fa-var-facebook; } .#{$fa-css-prefix}-github:before { content: $fa-var-github; } .#{$fa-css-prefix}-unlock:before { content: $fa-var-unlock; } .#{$fa-css-prefix}-credit-card:before { content: $fa-var-credit-card; } +.#{$fa-css-prefix}-feed:before, .#{$fa-css-prefix}-rss:before { content: $fa-var-rss; } .#{$fa-css-prefix}-hdd-o:before { content: $fa-var-hdd-o; } .#{$fa-css-prefix}-bullhorn:before { content: $fa-var-bullhorn; } @@ -397,7 +399,8 @@ .#{$fa-css-prefix}-trello:before { content: $fa-var-trello; } .#{$fa-css-prefix}-female:before { content: $fa-var-female; } .#{$fa-css-prefix}-male:before { content: $fa-var-male; } -.#{$fa-css-prefix}-gittip:before { content: $fa-var-gittip; } +.#{$fa-css-prefix}-gittip:before, +.#{$fa-css-prefix}-gratipay:before { content: $fa-var-gratipay; } .#{$fa-css-prefix}-sun-o:before { content: $fa-var-sun-o; } .#{$fa-css-prefix}-moon-o:before { content: $fa-var-moon-o; } .#{$fa-css-prefix}-archive:before { content: $fa-var-archive; } @@ -435,7 +438,7 @@ .#{$fa-css-prefix}-stumbleupon:before { content: $fa-var-stumbleupon; } .#{$fa-css-prefix}-delicious:before { content: $fa-var-delicious; } .#{$fa-css-prefix}-digg:before { content: $fa-var-digg; } -.#{$fa-css-prefix}-pied-piper:before { content: $fa-var-pied-piper; } +.#{$fa-css-prefix}-pied-piper-pp:before { content: $fa-var-pied-piper-pp; } .#{$fa-css-prefix}-pied-piper-alt:before { content: $fa-var-pied-piper-alt; } .#{$fa-css-prefix}-drupal:before { content: $fa-var-drupal; } .#{$fa-css-prefix}-joomla:before { content: $fa-var-joomla; } @@ -485,11 +488,14 @@ .#{$fa-css-prefix}-life-ring:before { content: $fa-var-life-ring; } .#{$fa-css-prefix}-circle-o-notch:before { content: $fa-var-circle-o-notch; } .#{$fa-css-prefix}-ra:before, +.#{$fa-css-prefix}-resistance:before, .#{$fa-css-prefix}-rebel:before { content: $fa-var-rebel; } .#{$fa-css-prefix}-ge:before, .#{$fa-css-prefix}-empire:before { content: $fa-var-empire; } .#{$fa-css-prefix}-git-square:before { content: $fa-var-git-square; } .#{$fa-css-prefix}-git:before { content: $fa-var-git; } +.#{$fa-css-prefix}-y-combinator-square:before, +.#{$fa-css-prefix}-yc-square:before, .#{$fa-css-prefix}-hacker-news:before { content: $fa-var-hacker-news; } .#{$fa-css-prefix}-tencent-weibo:before { content: $fa-var-tencent-weibo; } .#{$fa-css-prefix}-qq:before { content: $fa-var-qq; } @@ -550,3 +556,178 @@ .#{$fa-css-prefix}-sheqel:before, .#{$fa-css-prefix}-ils:before { content: $fa-var-ils; } .#{$fa-css-prefix}-meanpath:before { content: $fa-var-meanpath; } +.#{$fa-css-prefix}-buysellads:before { content: $fa-var-buysellads; } +.#{$fa-css-prefix}-connectdevelop:before { content: $fa-var-connectdevelop; } +.#{$fa-css-prefix}-dashcube:before { content: $fa-var-dashcube; } +.#{$fa-css-prefix}-forumbee:before { content: $fa-var-forumbee; } +.#{$fa-css-prefix}-leanpub:before { content: $fa-var-leanpub; } +.#{$fa-css-prefix}-sellsy:before { content: $fa-var-sellsy; } +.#{$fa-css-prefix}-shirtsinbulk:before { content: $fa-var-shirtsinbulk; } +.#{$fa-css-prefix}-simplybuilt:before { content: $fa-var-simplybuilt; } +.#{$fa-css-prefix}-skyatlas:before { content: $fa-var-skyatlas; } +.#{$fa-css-prefix}-cart-plus:before { content: $fa-var-cart-plus; } +.#{$fa-css-prefix}-cart-arrow-down:before { content: $fa-var-cart-arrow-down; } +.#{$fa-css-prefix}-diamond:before { content: $fa-var-diamond; } +.#{$fa-css-prefix}-ship:before { content: $fa-var-ship; } +.#{$fa-css-prefix}-user-secret:before { content: $fa-var-user-secret; } +.#{$fa-css-prefix}-motorcycle:before { content: $fa-var-motorcycle; } +.#{$fa-css-prefix}-street-view:before { content: $fa-var-street-view; } +.#{$fa-css-prefix}-heartbeat:before { content: $fa-var-heartbeat; } +.#{$fa-css-prefix}-venus:before { content: $fa-var-venus; } +.#{$fa-css-prefix}-mars:before { content: $fa-var-mars; } +.#{$fa-css-prefix}-mercury:before { content: $fa-var-mercury; } +.#{$fa-css-prefix}-intersex:before, +.#{$fa-css-prefix}-transgender:before { content: $fa-var-transgender; } +.#{$fa-css-prefix}-transgender-alt:before { content: $fa-var-transgender-alt; } +.#{$fa-css-prefix}-venus-double:before { content: $fa-var-venus-double; } +.#{$fa-css-prefix}-mars-double:before { content: $fa-var-mars-double; } +.#{$fa-css-prefix}-venus-mars:before { content: $fa-var-venus-mars; } +.#{$fa-css-prefix}-mars-stroke:before { content: $fa-var-mars-stroke; } +.#{$fa-css-prefix}-mars-stroke-v:before { content: $fa-var-mars-stroke-v; } +.#{$fa-css-prefix}-mars-stroke-h:before { content: $fa-var-mars-stroke-h; } +.#{$fa-css-prefix}-neuter:before { content: $fa-var-neuter; } +.#{$fa-css-prefix}-genderless:before { content: $fa-var-genderless; } +.#{$fa-css-prefix}-facebook-official:before { content: $fa-var-facebook-official; } +.#{$fa-css-prefix}-pinterest-p:before { content: $fa-var-pinterest-p; } +.#{$fa-css-prefix}-whatsapp:before { content: $fa-var-whatsapp; } +.#{$fa-css-prefix}-server:before { content: $fa-var-server; } +.#{$fa-css-prefix}-user-plus:before { content: $fa-var-user-plus; } +.#{$fa-css-prefix}-user-times:before { content: $fa-var-user-times; } +.#{$fa-css-prefix}-hotel:before, +.#{$fa-css-prefix}-bed:before { content: $fa-var-bed; } +.#{$fa-css-prefix}-viacoin:before { content: $fa-var-viacoin; } +.#{$fa-css-prefix}-train:before { content: $fa-var-train; } +.#{$fa-css-prefix}-subway:before { content: $fa-var-subway; } +.#{$fa-css-prefix}-medium:before { content: $fa-var-medium; } +.#{$fa-css-prefix}-yc:before, +.#{$fa-css-prefix}-y-combinator:before { content: $fa-var-y-combinator; } +.#{$fa-css-prefix}-optin-monster:before { content: $fa-var-optin-monster; } +.#{$fa-css-prefix}-opencart:before { content: $fa-var-opencart; } +.#{$fa-css-prefix}-expeditedssl:before { content: $fa-var-expeditedssl; } +.#{$fa-css-prefix}-battery-4:before, +.#{$fa-css-prefix}-battery-full:before { content: $fa-var-battery-full; } +.#{$fa-css-prefix}-battery-3:before, +.#{$fa-css-prefix}-battery-three-quarters:before { content: $fa-var-battery-three-quarters; } +.#{$fa-css-prefix}-battery-2:before, +.#{$fa-css-prefix}-battery-half:before { content: $fa-var-battery-half; } +.#{$fa-css-prefix}-battery-1:before, +.#{$fa-css-prefix}-battery-quarter:before { content: $fa-var-battery-quarter; } +.#{$fa-css-prefix}-battery-0:before, +.#{$fa-css-prefix}-battery-empty:before { content: $fa-var-battery-empty; } +.#{$fa-css-prefix}-mouse-pointer:before { content: $fa-var-mouse-pointer; } +.#{$fa-css-prefix}-i-cursor:before { content: $fa-var-i-cursor; } +.#{$fa-css-prefix}-object-group:before { content: $fa-var-object-group; } +.#{$fa-css-prefix}-object-ungroup:before { content: $fa-var-object-ungroup; } +.#{$fa-css-prefix}-sticky-note:before { content: $fa-var-sticky-note; } +.#{$fa-css-prefix}-sticky-note-o:before { content: $fa-var-sticky-note-o; } +.#{$fa-css-prefix}-cc-jcb:before { content: $fa-var-cc-jcb; } +.#{$fa-css-prefix}-cc-diners-club:before { content: $fa-var-cc-diners-club; } +.#{$fa-css-prefix}-clone:before { content: $fa-var-clone; } +.#{$fa-css-prefix}-balance-scale:before { content: $fa-var-balance-scale; } +.#{$fa-css-prefix}-hourglass-o:before { content: $fa-var-hourglass-o; } +.#{$fa-css-prefix}-hourglass-1:before, +.#{$fa-css-prefix}-hourglass-start:before { content: $fa-var-hourglass-start; } +.#{$fa-css-prefix}-hourglass-2:before, +.#{$fa-css-prefix}-hourglass-half:before { content: $fa-var-hourglass-half; } +.#{$fa-css-prefix}-hourglass-3:before, +.#{$fa-css-prefix}-hourglass-end:before { content: $fa-var-hourglass-end; } +.#{$fa-css-prefix}-hourglass:before { content: $fa-var-hourglass; } +.#{$fa-css-prefix}-hand-grab-o:before, +.#{$fa-css-prefix}-hand-rock-o:before { content: $fa-var-hand-rock-o; } +.#{$fa-css-prefix}-hand-stop-o:before, +.#{$fa-css-prefix}-hand-paper-o:before { content: $fa-var-hand-paper-o; } +.#{$fa-css-prefix}-hand-scissors-o:before { content: $fa-var-hand-scissors-o; } +.#{$fa-css-prefix}-hand-lizard-o:before { content: $fa-var-hand-lizard-o; } +.#{$fa-css-prefix}-hand-spock-o:before { content: $fa-var-hand-spock-o; } +.#{$fa-css-prefix}-hand-pointer-o:before { content: $fa-var-hand-pointer-o; } +.#{$fa-css-prefix}-hand-peace-o:before { content: $fa-var-hand-peace-o; } +.#{$fa-css-prefix}-trademark:before { content: $fa-var-trademark; } +.#{$fa-css-prefix}-registered:before { content: $fa-var-registered; } +.#{$fa-css-prefix}-creative-commons:before { content: $fa-var-creative-commons; } +.#{$fa-css-prefix}-gg:before { content: $fa-var-gg; } +.#{$fa-css-prefix}-gg-circle:before { content: $fa-var-gg-circle; } +.#{$fa-css-prefix}-tripadvisor:before { content: $fa-var-tripadvisor; } +.#{$fa-css-prefix}-odnoklassniki:before { content: $fa-var-odnoklassniki; } +.#{$fa-css-prefix}-odnoklassniki-square:before { content: $fa-var-odnoklassniki-square; } +.#{$fa-css-prefix}-get-pocket:before { content: $fa-var-get-pocket; } +.#{$fa-css-prefix}-wikipedia-w:before { content: $fa-var-wikipedia-w; } +.#{$fa-css-prefix}-safari:before { content: $fa-var-safari; } +.#{$fa-css-prefix}-chrome:before { content: $fa-var-chrome; } +.#{$fa-css-prefix}-firefox:before { content: $fa-var-firefox; } +.#{$fa-css-prefix}-opera:before { content: $fa-var-opera; } +.#{$fa-css-prefix}-internet-explorer:before { content: $fa-var-internet-explorer; } +.#{$fa-css-prefix}-tv:before, +.#{$fa-css-prefix}-television:before { content: $fa-var-television; } +.#{$fa-css-prefix}-contao:before { content: $fa-var-contao; } +.#{$fa-css-prefix}-500px:before { content: $fa-var-500px; } +.#{$fa-css-prefix}-amazon:before { content: $fa-var-amazon; } +.#{$fa-css-prefix}-calendar-plus-o:before { content: $fa-var-calendar-plus-o; } +.#{$fa-css-prefix}-calendar-minus-o:before { content: $fa-var-calendar-minus-o; } +.#{$fa-css-prefix}-calendar-times-o:before { content: $fa-var-calendar-times-o; } +.#{$fa-css-prefix}-calendar-check-o:before { content: $fa-var-calendar-check-o; } +.#{$fa-css-prefix}-industry:before { content: $fa-var-industry; } +.#{$fa-css-prefix}-map-pin:before { content: $fa-var-map-pin; } +.#{$fa-css-prefix}-map-signs:before { content: $fa-var-map-signs; } +.#{$fa-css-prefix}-map-o:before { content: $fa-var-map-o; } +.#{$fa-css-prefix}-map:before { content: $fa-var-map; } +.#{$fa-css-prefix}-commenting:before { content: $fa-var-commenting; } +.#{$fa-css-prefix}-commenting-o:before { content: $fa-var-commenting-o; } +.#{$fa-css-prefix}-houzz:before { content: $fa-var-houzz; } +.#{$fa-css-prefix}-vimeo:before { content: $fa-var-vimeo; } +.#{$fa-css-prefix}-black-tie:before { content: $fa-var-black-tie; } +.#{$fa-css-prefix}-fonticons:before { content: $fa-var-fonticons; } +.#{$fa-css-prefix}-reddit-alien:before { content: $fa-var-reddit-alien; } +.#{$fa-css-prefix}-edge:before { content: $fa-var-edge; } +.#{$fa-css-prefix}-credit-card-alt:before { content: $fa-var-credit-card-alt; } +.#{$fa-css-prefix}-codiepie:before { content: $fa-var-codiepie; } +.#{$fa-css-prefix}-modx:before { content: $fa-var-modx; } +.#{$fa-css-prefix}-fort-awesome:before { content: $fa-var-fort-awesome; } +.#{$fa-css-prefix}-usb:before { content: $fa-var-usb; } +.#{$fa-css-prefix}-product-hunt:before { content: $fa-var-product-hunt; } +.#{$fa-css-prefix}-mixcloud:before { content: $fa-var-mixcloud; } +.#{$fa-css-prefix}-scribd:before { content: $fa-var-scribd; } +.#{$fa-css-prefix}-pause-circle:before { content: $fa-var-pause-circle; } +.#{$fa-css-prefix}-pause-circle-o:before { content: $fa-var-pause-circle-o; } +.#{$fa-css-prefix}-stop-circle:before { content: $fa-var-stop-circle; } +.#{$fa-css-prefix}-stop-circle-o:before { content: $fa-var-stop-circle-o; } +.#{$fa-css-prefix}-shopping-bag:before { content: $fa-var-shopping-bag; } +.#{$fa-css-prefix}-shopping-basket:before { content: $fa-var-shopping-basket; } +.#{$fa-css-prefix}-hashtag:before { content: $fa-var-hashtag; } +.#{$fa-css-prefix}-bluetooth:before { content: $fa-var-bluetooth; } +.#{$fa-css-prefix}-bluetooth-b:before { content: $fa-var-bluetooth-b; } +.#{$fa-css-prefix}-percent:before { content: $fa-var-percent; } +.#{$fa-css-prefix}-gitlab:before { content: $fa-var-gitlab; } +.#{$fa-css-prefix}-wpbeginner:before { content: $fa-var-wpbeginner; } +.#{$fa-css-prefix}-wpforms:before { content: $fa-var-wpforms; } +.#{$fa-css-prefix}-envira:before { content: $fa-var-envira; } +.#{$fa-css-prefix}-universal-access:before { content: $fa-var-universal-access; } +.#{$fa-css-prefix}-wheelchair-alt:before { content: $fa-var-wheelchair-alt; } +.#{$fa-css-prefix}-question-circle-o:before { content: $fa-var-question-circle-o; } +.#{$fa-css-prefix}-blind:before { content: $fa-var-blind; } +.#{$fa-css-prefix}-audio-description:before { content: $fa-var-audio-description; } +.#{$fa-css-prefix}-volume-control-phone:before { content: $fa-var-volume-control-phone; } +.#{$fa-css-prefix}-braille:before { content: $fa-var-braille; } +.#{$fa-css-prefix}-assistive-listening-systems:before { content: $fa-var-assistive-listening-systems; } +.#{$fa-css-prefix}-asl-interpreting:before, +.#{$fa-css-prefix}-american-sign-language-interpreting:before { content: $fa-var-american-sign-language-interpreting; } +.#{$fa-css-prefix}-deafness:before, +.#{$fa-css-prefix}-hard-of-hearing:before, +.#{$fa-css-prefix}-deaf:before { content: $fa-var-deaf; } +.#{$fa-css-prefix}-glide:before { content: $fa-var-glide; } +.#{$fa-css-prefix}-glide-g:before { content: $fa-var-glide-g; } +.#{$fa-css-prefix}-signing:before, +.#{$fa-css-prefix}-sign-language:before { content: $fa-var-sign-language; } +.#{$fa-css-prefix}-low-vision:before { content: $fa-var-low-vision; } +.#{$fa-css-prefix}-viadeo:before { content: $fa-var-viadeo; } +.#{$fa-css-prefix}-viadeo-square:before { content: $fa-var-viadeo-square; } +.#{$fa-css-prefix}-snapchat:before { content: $fa-var-snapchat; } +.#{$fa-css-prefix}-snapchat-ghost:before { content: $fa-var-snapchat-ghost; } +.#{$fa-css-prefix}-snapchat-square:before { content: $fa-var-snapchat-square; } +.#{$fa-css-prefix}-pied-piper:before { content: $fa-var-pied-piper; } +.#{$fa-css-prefix}-first-order:before { content: $fa-var-first-order; } +.#{$fa-css-prefix}-yoast:before { content: $fa-var-yoast; } +.#{$fa-css-prefix}-themeisle:before { content: $fa-var-themeisle; } +.#{$fa-css-prefix}-google-plus-circle:before, +.#{$fa-css-prefix}-google-plus-official:before { content: $fa-var-google-plus-official; } +.#{$fa-css-prefix}-fa:before, +.#{$fa-css-prefix}-font-awesome:before { content: $fa-var-font-awesome; } diff --git a/bootstrap/addons/font-awesome/scss/_mixins.scss b/bootstrap/addons/font-awesome/scss/_mixins.scss index a139dfb..c3bbd57 100644 --- a/bootstrap/addons/font-awesome/scss/_mixins.scss +++ b/bootstrap/addons/font-awesome/scss/_mixins.scss @@ -3,23 +3,58 @@ @mixin fa-icon() { display: inline-block; - font: normal normal normal 14px/1 FontAwesome; // shortening font declaration + font: normal normal normal #{$fa-font-size-base}/#{$fa-line-height-base} FontAwesome; // shortening font declaration font-size: inherit; // can't have font-size inherit on line above, so need to override text-rendering: auto; // optimizelegibility throws things off #1094 -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; + } @mixin fa-icon-rotate($degrees, $rotation) { - filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation}); + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation})"; -webkit-transform: rotate($degrees); -ms-transform: rotate($degrees); transform: rotate($degrees); } @mixin fa-icon-flip($horiz, $vert, $rotation) { - filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation}); + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation}, mirror=1)"; -webkit-transform: scale($horiz, $vert); -ms-transform: scale($horiz, $vert); transform: scale($horiz, $vert); } + + +// Only display content to screen readers. A la Bootstrap 4. +// +// See: http://a11yproject.com/posts/how-to-hide-content/ + +@mixin sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0,0,0,0); + border: 0; +} + +// Use in conjunction with .sr-only to only display content when it's focused. +// +// Useful for "Skip to main content" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1 +// +// Credit: HTML5 Boilerplate + +@mixin sr-only-focusable { + &:active, + &:focus { + position: static; + width: auto; + height: auto; + margin: 0; + overflow: visible; + clip: auto; + } +} diff --git a/bootstrap/addons/font-awesome/scss/_path.scss b/bootstrap/addons/font-awesome/scss/_path.scss index fd21c35..bb457c2 100644 --- a/bootstrap/addons/font-awesome/scss/_path.scss +++ b/bootstrap/addons/font-awesome/scss/_path.scss @@ -5,10 +5,11 @@ font-family: 'FontAwesome'; src: url('#{$fa-font-path}/fontawesome-webfont.eot?v=#{$fa-version}'); src: url('#{$fa-font-path}/fontawesome-webfont.eot?#iefix&v=#{$fa-version}') format('embedded-opentype'), + url('#{$fa-font-path}/fontawesome-webfont.woff2?v=#{$fa-version}') format('woff2'), url('#{$fa-font-path}/fontawesome-webfont.woff?v=#{$fa-version}') format('woff'), url('#{$fa-font-path}/fontawesome-webfont.ttf?v=#{$fa-version}') format('truetype'), url('#{$fa-font-path}/fontawesome-webfont.svg?v=#{$fa-version}#fontawesomeregular') format('svg'); - //src: url('#{$fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts +// src: url('#{$fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts font-weight: normal; font-style: normal; } diff --git a/bootstrap/addons/font-awesome/scss/_screen-reader.scss b/bootstrap/addons/font-awesome/scss/_screen-reader.scss new file mode 100644 index 0000000..637426f --- /dev/null +++ b/bootstrap/addons/font-awesome/scss/_screen-reader.scss @@ -0,0 +1,5 @@ +// Screen Readers +// ------------------------- + +.sr-only { @include sr-only(); } +.sr-only-focusable { @include sr-only-focusable(); } diff --git a/bootstrap/addons/font-awesome/scss/_variables.scss b/bootstrap/addons/font-awesome/scss/_variables.scss index 669c307..a5a89ef 100644 --- a/bootstrap/addons/font-awesome/scss/_variables.scss +++ b/bootstrap/addons/font-awesome/scss/_variables.scss @@ -2,20 +2,25 @@ // -------------------------- $fa-font-path: "../fonts" !default; -//$fa-font-path: "//netdna.bootstrapcdn.com/font-awesome/4.2.0/fonts" !default; // for referencing Bootstrap CDN font files directly +$fa-font-size-base: 14px !default; +$fa-line-height-base: 1 !default; +//$fa-font-path: "//netdna.bootstrapcdn.com/font-awesome/4.6.3/fonts" !default; // for referencing Bootstrap CDN font files directly $fa-css-prefix: fa !default; -$fa-version: "4.2.0" !default; +$fa-version: "4.6.3" !default; $fa-border-color: #eee !default; $fa-inverse: #fff !default; $fa-li-width: (30em / 14) !default; +$fa-var-500px: "\f26e"; $fa-var-adjust: "\f042"; $fa-var-adn: "\f170"; $fa-var-align-center: "\f037"; $fa-var-align-justify: "\f039"; $fa-var-align-left: "\f036"; $fa-var-align-right: "\f038"; +$fa-var-amazon: "\f270"; $fa-var-ambulance: "\f0f9"; +$fa-var-american-sign-language-interpreting: "\f2a3"; $fa-var-anchor: "\f13d"; $fa-var-android: "\f17b"; $fa-var-angellist: "\f209"; @@ -46,16 +51,31 @@ $fa-var-arrows: "\f047"; $fa-var-arrows-alt: "\f0b2"; $fa-var-arrows-h: "\f07e"; $fa-var-arrows-v: "\f07d"; +$fa-var-asl-interpreting: "\f2a3"; +$fa-var-assistive-listening-systems: "\f2a2"; $fa-var-asterisk: "\f069"; $fa-var-at: "\f1fa"; +$fa-var-audio-description: "\f29e"; $fa-var-automobile: "\f1b9"; $fa-var-backward: "\f04a"; +$fa-var-balance-scale: "\f24e"; $fa-var-ban: "\f05e"; $fa-var-bank: "\f19c"; $fa-var-bar-chart: "\f080"; $fa-var-bar-chart-o: "\f080"; $fa-var-barcode: "\f02a"; $fa-var-bars: "\f0c9"; +$fa-var-battery-0: "\f244"; +$fa-var-battery-1: "\f243"; +$fa-var-battery-2: "\f242"; +$fa-var-battery-3: "\f241"; +$fa-var-battery-4: "\f240"; +$fa-var-battery-empty: "\f244"; +$fa-var-battery-full: "\f240"; +$fa-var-battery-half: "\f242"; +$fa-var-battery-quarter: "\f243"; +$fa-var-battery-three-quarters: "\f241"; +$fa-var-bed: "\f236"; $fa-var-beer: "\f0fc"; $fa-var-behance: "\f1b4"; $fa-var-behance-square: "\f1b5"; @@ -69,12 +89,17 @@ $fa-var-birthday-cake: "\f1fd"; $fa-var-bitbucket: "\f171"; $fa-var-bitbucket-square: "\f172"; $fa-var-bitcoin: "\f15a"; +$fa-var-black-tie: "\f27e"; +$fa-var-blind: "\f29d"; +$fa-var-bluetooth: "\f293"; +$fa-var-bluetooth-b: "\f294"; $fa-var-bold: "\f032"; $fa-var-bolt: "\f0e7"; $fa-var-bomb: "\f1e2"; $fa-var-book: "\f02d"; $fa-var-bookmark: "\f02e"; $fa-var-bookmark-o: "\f097"; +$fa-var-braille: "\f2a1"; $fa-var-briefcase: "\f0b1"; $fa-var-btc: "\f15a"; $fa-var-bug: "\f188"; @@ -83,10 +108,15 @@ $fa-var-building-o: "\f0f7"; $fa-var-bullhorn: "\f0a1"; $fa-var-bullseye: "\f140"; $fa-var-bus: "\f207"; +$fa-var-buysellads: "\f20d"; $fa-var-cab: "\f1ba"; $fa-var-calculator: "\f1ec"; $fa-var-calendar: "\f073"; +$fa-var-calendar-check-o: "\f274"; +$fa-var-calendar-minus-o: "\f272"; $fa-var-calendar-o: "\f133"; +$fa-var-calendar-plus-o: "\f271"; +$fa-var-calendar-times-o: "\f273"; $fa-var-camera: "\f030"; $fa-var-camera-retro: "\f083"; $fa-var-car: "\f1b9"; @@ -98,9 +128,13 @@ $fa-var-caret-square-o-left: "\f191"; $fa-var-caret-square-o-right: "\f152"; $fa-var-caret-square-o-up: "\f151"; $fa-var-caret-up: "\f0d8"; +$fa-var-cart-arrow-down: "\f218"; +$fa-var-cart-plus: "\f217"; $fa-var-cc: "\f20a"; $fa-var-cc-amex: "\f1f3"; +$fa-var-cc-diners-club: "\f24c"; $fa-var-cc-discover: "\f1f2"; +$fa-var-cc-jcb: "\f24b"; $fa-var-cc-mastercard: "\f1f1"; $fa-var-cc-paypal: "\f1f4"; $fa-var-cc-stripe: "\f1f5"; @@ -122,12 +156,14 @@ $fa-var-chevron-left: "\f053"; $fa-var-chevron-right: "\f054"; $fa-var-chevron-up: "\f077"; $fa-var-child: "\f1ae"; +$fa-var-chrome: "\f268"; $fa-var-circle: "\f111"; $fa-var-circle-o: "\f10c"; $fa-var-circle-o-notch: "\f1ce"; $fa-var-circle-thin: "\f1db"; $fa-var-clipboard: "\f0ea"; $fa-var-clock-o: "\f017"; +$fa-var-clone: "\f24d"; $fa-var-close: "\f00d"; $fa-var-cloud: "\f0c2"; $fa-var-cloud-download: "\f0ed"; @@ -136,19 +172,26 @@ $fa-var-cny: "\f157"; $fa-var-code: "\f121"; $fa-var-code-fork: "\f126"; $fa-var-codepen: "\f1cb"; +$fa-var-codiepie: "\f284"; $fa-var-coffee: "\f0f4"; $fa-var-cog: "\f013"; $fa-var-cogs: "\f085"; $fa-var-columns: "\f0db"; $fa-var-comment: "\f075"; $fa-var-comment-o: "\f0e5"; +$fa-var-commenting: "\f27a"; +$fa-var-commenting-o: "\f27b"; $fa-var-comments: "\f086"; $fa-var-comments-o: "\f0e6"; $fa-var-compass: "\f14e"; $fa-var-compress: "\f066"; +$fa-var-connectdevelop: "\f20e"; +$fa-var-contao: "\f26d"; $fa-var-copy: "\f0c5"; $fa-var-copyright: "\f1f9"; +$fa-var-creative-commons: "\f25e"; $fa-var-credit-card: "\f09d"; +$fa-var-credit-card-alt: "\f283"; $fa-var-crop: "\f125"; $fa-var-crosshairs: "\f05b"; $fa-var-css3: "\f13c"; @@ -157,11 +200,15 @@ $fa-var-cubes: "\f1b3"; $fa-var-cut: "\f0c4"; $fa-var-cutlery: "\f0f5"; $fa-var-dashboard: "\f0e4"; +$fa-var-dashcube: "\f210"; $fa-var-database: "\f1c0"; +$fa-var-deaf: "\f2a4"; +$fa-var-deafness: "\f2a4"; $fa-var-dedent: "\f03b"; $fa-var-delicious: "\f1a5"; $fa-var-desktop: "\f108"; $fa-var-deviantart: "\f1bd"; +$fa-var-diamond: "\f219"; $fa-var-digg: "\f1a6"; $fa-var-dollar: "\f155"; $fa-var-dot-circle-o: "\f192"; @@ -169,6 +216,7 @@ $fa-var-download: "\f019"; $fa-var-dribbble: "\f17d"; $fa-var-dropbox: "\f16b"; $fa-var-drupal: "\f1a9"; +$fa-var-edge: "\f282"; $fa-var-edit: "\f044"; $fa-var-eject: "\f052"; $fa-var-ellipsis-h: "\f141"; @@ -177,6 +225,7 @@ $fa-var-empire: "\f1d1"; $fa-var-envelope: "\f0e0"; $fa-var-envelope-o: "\f003"; $fa-var-envelope-square: "\f199"; +$fa-var-envira: "\f299"; $fa-var-eraser: "\f12d"; $fa-var-eur: "\f153"; $fa-var-euro: "\f153"; @@ -185,16 +234,21 @@ $fa-var-exclamation: "\f12a"; $fa-var-exclamation-circle: "\f06a"; $fa-var-exclamation-triangle: "\f071"; $fa-var-expand: "\f065"; +$fa-var-expeditedssl: "\f23e"; $fa-var-external-link: "\f08e"; $fa-var-external-link-square: "\f14c"; $fa-var-eye: "\f06e"; $fa-var-eye-slash: "\f070"; $fa-var-eyedropper: "\f1fb"; +$fa-var-fa: "\f2b4"; $fa-var-facebook: "\f09a"; +$fa-var-facebook-f: "\f09a"; +$fa-var-facebook-official: "\f230"; $fa-var-facebook-square: "\f082"; $fa-var-fast-backward: "\f049"; $fa-var-fast-forward: "\f050"; $fa-var-fax: "\f1ac"; +$fa-var-feed: "\f09e"; $fa-var-female: "\f182"; $fa-var-fighter-jet: "\f0fb"; $fa-var-file: "\f15b"; @@ -220,6 +274,8 @@ $fa-var-film: "\f008"; $fa-var-filter: "\f0b0"; $fa-var-fire: "\f06d"; $fa-var-fire-extinguisher: "\f134"; +$fa-var-firefox: "\f269"; +$fa-var-first-order: "\f2b0"; $fa-var-flag: "\f024"; $fa-var-flag-checkered: "\f11e"; $fa-var-flag-o: "\f11d"; @@ -232,6 +288,10 @@ $fa-var-folder-o: "\f114"; $fa-var-folder-open: "\f07c"; $fa-var-folder-open-o: "\f115"; $fa-var-font: "\f031"; +$fa-var-font-awesome: "\f2b4"; +$fa-var-fonticons: "\f280"; +$fa-var-fort-awesome: "\f286"; +$fa-var-forumbee: "\f211"; $fa-var-forward: "\f04e"; $fa-var-foursquare: "\f180"; $fa-var-frown-o: "\f119"; @@ -242,45 +302,81 @@ $fa-var-gbp: "\f154"; $fa-var-ge: "\f1d1"; $fa-var-gear: "\f013"; $fa-var-gears: "\f085"; +$fa-var-genderless: "\f22d"; +$fa-var-get-pocket: "\f265"; +$fa-var-gg: "\f260"; +$fa-var-gg-circle: "\f261"; $fa-var-gift: "\f06b"; $fa-var-git: "\f1d3"; $fa-var-git-square: "\f1d2"; $fa-var-github: "\f09b"; $fa-var-github-alt: "\f113"; $fa-var-github-square: "\f092"; +$fa-var-gitlab: "\f296"; $fa-var-gittip: "\f184"; $fa-var-glass: "\f000"; +$fa-var-glide: "\f2a5"; +$fa-var-glide-g: "\f2a6"; $fa-var-globe: "\f0ac"; $fa-var-google: "\f1a0"; $fa-var-google-plus: "\f0d5"; +$fa-var-google-plus-circle: "\f2b3"; +$fa-var-google-plus-official: "\f2b3"; $fa-var-google-plus-square: "\f0d4"; $fa-var-google-wallet: "\f1ee"; $fa-var-graduation-cap: "\f19d"; +$fa-var-gratipay: "\f184"; $fa-var-group: "\f0c0"; $fa-var-h-square: "\f0fd"; $fa-var-hacker-news: "\f1d4"; +$fa-var-hand-grab-o: "\f255"; +$fa-var-hand-lizard-o: "\f258"; $fa-var-hand-o-down: "\f0a7"; $fa-var-hand-o-left: "\f0a5"; $fa-var-hand-o-right: "\f0a4"; $fa-var-hand-o-up: "\f0a6"; +$fa-var-hand-paper-o: "\f256"; +$fa-var-hand-peace-o: "\f25b"; +$fa-var-hand-pointer-o: "\f25a"; +$fa-var-hand-rock-o: "\f255"; +$fa-var-hand-scissors-o: "\f257"; +$fa-var-hand-spock-o: "\f259"; +$fa-var-hand-stop-o: "\f256"; +$fa-var-hard-of-hearing: "\f2a4"; +$fa-var-hashtag: "\f292"; $fa-var-hdd-o: "\f0a0"; $fa-var-header: "\f1dc"; $fa-var-headphones: "\f025"; $fa-var-heart: "\f004"; $fa-var-heart-o: "\f08a"; +$fa-var-heartbeat: "\f21e"; $fa-var-history: "\f1da"; $fa-var-home: "\f015"; $fa-var-hospital-o: "\f0f8"; +$fa-var-hotel: "\f236"; +$fa-var-hourglass: "\f254"; +$fa-var-hourglass-1: "\f251"; +$fa-var-hourglass-2: "\f252"; +$fa-var-hourglass-3: "\f253"; +$fa-var-hourglass-end: "\f253"; +$fa-var-hourglass-half: "\f252"; +$fa-var-hourglass-o: "\f250"; +$fa-var-hourglass-start: "\f251"; +$fa-var-houzz: "\f27c"; $fa-var-html5: "\f13b"; +$fa-var-i-cursor: "\f246"; $fa-var-ils: "\f20b"; $fa-var-image: "\f03e"; $fa-var-inbox: "\f01c"; $fa-var-indent: "\f03c"; +$fa-var-industry: "\f275"; $fa-var-info: "\f129"; $fa-var-info-circle: "\f05a"; $fa-var-inr: "\f156"; $fa-var-instagram: "\f16d"; $fa-var-institution: "\f19c"; +$fa-var-internet-explorer: "\f26b"; +$fa-var-intersex: "\f224"; $fa-var-ioxhost: "\f208"; $fa-var-italic: "\f033"; $fa-var-joomla: "\f1aa"; @@ -294,6 +390,7 @@ $fa-var-laptop: "\f109"; $fa-var-lastfm: "\f202"; $fa-var-lastfm-square: "\f203"; $fa-var-leaf: "\f06c"; +$fa-var-leanpub: "\f212"; $fa-var-legal: "\f0e3"; $fa-var-lemon-o: "\f094"; $fa-var-level-down: "\f149"; @@ -318,32 +415,56 @@ $fa-var-long-arrow-down: "\f175"; $fa-var-long-arrow-left: "\f177"; $fa-var-long-arrow-right: "\f178"; $fa-var-long-arrow-up: "\f176"; +$fa-var-low-vision: "\f2a8"; $fa-var-magic: "\f0d0"; $fa-var-magnet: "\f076"; $fa-var-mail-forward: "\f064"; $fa-var-mail-reply: "\f112"; $fa-var-mail-reply-all: "\f122"; $fa-var-male: "\f183"; +$fa-var-map: "\f279"; $fa-var-map-marker: "\f041"; +$fa-var-map-o: "\f278"; +$fa-var-map-pin: "\f276"; +$fa-var-map-signs: "\f277"; +$fa-var-mars: "\f222"; +$fa-var-mars-double: "\f227"; +$fa-var-mars-stroke: "\f229"; +$fa-var-mars-stroke-h: "\f22b"; +$fa-var-mars-stroke-v: "\f22a"; $fa-var-maxcdn: "\f136"; $fa-var-meanpath: "\f20c"; +$fa-var-medium: "\f23a"; $fa-var-medkit: "\f0fa"; $fa-var-meh-o: "\f11a"; +$fa-var-mercury: "\f223"; $fa-var-microphone: "\f130"; $fa-var-microphone-slash: "\f131"; $fa-var-minus: "\f068"; $fa-var-minus-circle: "\f056"; $fa-var-minus-square: "\f146"; $fa-var-minus-square-o: "\f147"; +$fa-var-mixcloud: "\f289"; $fa-var-mobile: "\f10b"; $fa-var-mobile-phone: "\f10b"; +$fa-var-modx: "\f285"; $fa-var-money: "\f0d6"; $fa-var-moon-o: "\f186"; $fa-var-mortar-board: "\f19d"; +$fa-var-motorcycle: "\f21c"; +$fa-var-mouse-pointer: "\f245"; $fa-var-music: "\f001"; $fa-var-navicon: "\f0c9"; +$fa-var-neuter: "\f22c"; $fa-var-newspaper-o: "\f1ea"; +$fa-var-object-group: "\f247"; +$fa-var-object-ungroup: "\f248"; +$fa-var-odnoklassniki: "\f263"; +$fa-var-odnoklassniki-square: "\f264"; +$fa-var-opencart: "\f23d"; $fa-var-openid: "\f19b"; +$fa-var-opera: "\f26a"; +$fa-var-optin-monster: "\f23c"; $fa-var-outdent: "\f03b"; $fa-var-pagelines: "\f18c"; $fa-var-paint-brush: "\f1fc"; @@ -353,19 +474,24 @@ $fa-var-paperclip: "\f0c6"; $fa-var-paragraph: "\f1dd"; $fa-var-paste: "\f0ea"; $fa-var-pause: "\f04c"; +$fa-var-pause-circle: "\f28b"; +$fa-var-pause-circle-o: "\f28c"; $fa-var-paw: "\f1b0"; $fa-var-paypal: "\f1ed"; $fa-var-pencil: "\f040"; $fa-var-pencil-square: "\f14b"; $fa-var-pencil-square-o: "\f044"; +$fa-var-percent: "\f295"; $fa-var-phone: "\f095"; $fa-var-phone-square: "\f098"; $fa-var-photo: "\f03e"; $fa-var-picture-o: "\f03e"; $fa-var-pie-chart: "\f200"; -$fa-var-pied-piper: "\f1a7"; +$fa-var-pied-piper: "\f2ae"; $fa-var-pied-piper-alt: "\f1a8"; +$fa-var-pied-piper-pp: "\f1a7"; $fa-var-pinterest: "\f0d2"; +$fa-var-pinterest-p: "\f231"; $fa-var-pinterest-square: "\f0d3"; $fa-var-plane: "\f072"; $fa-var-play: "\f04b"; @@ -378,11 +504,13 @@ $fa-var-plus-square: "\f0fe"; $fa-var-plus-square-o: "\f196"; $fa-var-power-off: "\f011"; $fa-var-print: "\f02f"; +$fa-var-product-hunt: "\f288"; $fa-var-puzzle-piece: "\f12e"; $fa-var-qq: "\f1d6"; $fa-var-qrcode: "\f029"; $fa-var-question: "\f128"; $fa-var-question-circle: "\f059"; +$fa-var-question-circle-o: "\f29c"; $fa-var-quote-left: "\f10d"; $fa-var-quote-right: "\f10e"; $fa-var-ra: "\f1d0"; @@ -390,14 +518,17 @@ $fa-var-random: "\f074"; $fa-var-rebel: "\f1d0"; $fa-var-recycle: "\f1b8"; $fa-var-reddit: "\f1a1"; +$fa-var-reddit-alien: "\f281"; $fa-var-reddit-square: "\f1a2"; $fa-var-refresh: "\f021"; +$fa-var-registered: "\f25d"; $fa-var-remove: "\f00d"; $fa-var-renren: "\f18b"; $fa-var-reorder: "\f0c9"; $fa-var-repeat: "\f01e"; $fa-var-reply: "\f112"; $fa-var-reply-all: "\f122"; +$fa-var-resistance: "\f1d0"; $fa-var-retweet: "\f079"; $fa-var-rmb: "\f157"; $fa-var-road: "\f018"; @@ -410,13 +541,17 @@ $fa-var-rss-square: "\f143"; $fa-var-rub: "\f158"; $fa-var-ruble: "\f158"; $fa-var-rupee: "\f156"; +$fa-var-safari: "\f267"; $fa-var-save: "\f0c7"; $fa-var-scissors: "\f0c4"; +$fa-var-scribd: "\f28a"; $fa-var-search: "\f002"; $fa-var-search-minus: "\f010"; $fa-var-search-plus: "\f00e"; +$fa-var-sellsy: "\f213"; $fa-var-send: "\f1d8"; $fa-var-send-o: "\f1d9"; +$fa-var-server: "\f233"; $fa-var-share: "\f064"; $fa-var-share-alt: "\f1e0"; $fa-var-share-alt-square: "\f1e1"; @@ -425,16 +560,27 @@ $fa-var-share-square-o: "\f045"; $fa-var-shekel: "\f20b"; $fa-var-sheqel: "\f20b"; $fa-var-shield: "\f132"; +$fa-var-ship: "\f21a"; +$fa-var-shirtsinbulk: "\f214"; +$fa-var-shopping-bag: "\f290"; +$fa-var-shopping-basket: "\f291"; $fa-var-shopping-cart: "\f07a"; $fa-var-sign-in: "\f090"; +$fa-var-sign-language: "\f2a7"; $fa-var-sign-out: "\f08b"; $fa-var-signal: "\f012"; +$fa-var-signing: "\f2a7"; +$fa-var-simplybuilt: "\f215"; $fa-var-sitemap: "\f0e8"; +$fa-var-skyatlas: "\f216"; $fa-var-skype: "\f17e"; $fa-var-slack: "\f198"; $fa-var-sliders: "\f1de"; $fa-var-slideshare: "\f1e7"; $fa-var-smile-o: "\f118"; +$fa-var-snapchat: "\f2ab"; +$fa-var-snapchat-ghost: "\f2ac"; +$fa-var-snapchat-square: "\f2ad"; $fa-var-soccer-ball-o: "\f1e3"; $fa-var-sort: "\f0dc"; $fa-var-sort-alpha-asc: "\f15d"; @@ -467,11 +613,17 @@ $fa-var-steam-square: "\f1b7"; $fa-var-step-backward: "\f048"; $fa-var-step-forward: "\f051"; $fa-var-stethoscope: "\f0f1"; +$fa-var-sticky-note: "\f249"; +$fa-var-sticky-note-o: "\f24a"; $fa-var-stop: "\f04d"; +$fa-var-stop-circle: "\f28d"; +$fa-var-stop-circle-o: "\f28e"; +$fa-var-street-view: "\f21d"; $fa-var-strikethrough: "\f0cc"; $fa-var-stumbleupon: "\f1a4"; $fa-var-stumbleupon-circle: "\f1a3"; $fa-var-subscript: "\f12c"; +$fa-var-subway: "\f239"; $fa-var-suitcase: "\f0f2"; $fa-var-sun-o: "\f185"; $fa-var-superscript: "\f12b"; @@ -483,6 +635,7 @@ $fa-var-tag: "\f02b"; $fa-var-tags: "\f02c"; $fa-var-tasks: "\f0ae"; $fa-var-taxi: "\f1ba"; +$fa-var-television: "\f26c"; $fa-var-tencent-weibo: "\f1d5"; $fa-var-terminal: "\f120"; $fa-var-text-height: "\f034"; @@ -490,6 +643,7 @@ $fa-var-text-width: "\f035"; $fa-var-th: "\f00a"; $fa-var-th-large: "\f009"; $fa-var-th-list: "\f00b"; +$fa-var-themeisle: "\f2b2"; $fa-var-thumb-tack: "\f08d"; $fa-var-thumbs-down: "\f165"; $fa-var-thumbs-o-down: "\f088"; @@ -506,10 +660,15 @@ $fa-var-toggle-off: "\f204"; $fa-var-toggle-on: "\f205"; $fa-var-toggle-right: "\f152"; $fa-var-toggle-up: "\f151"; +$fa-var-trademark: "\f25c"; +$fa-var-train: "\f238"; +$fa-var-transgender: "\f224"; +$fa-var-transgender-alt: "\f225"; $fa-var-trash: "\f1f8"; $fa-var-trash-o: "\f014"; $fa-var-tree: "\f1bb"; $fa-var-trello: "\f181"; +$fa-var-tripadvisor: "\f262"; $fa-var-trophy: "\f091"; $fa-var-truck: "\f0d1"; $fa-var-try: "\f195"; @@ -517,26 +676,40 @@ $fa-var-tty: "\f1e4"; $fa-var-tumblr: "\f173"; $fa-var-tumblr-square: "\f174"; $fa-var-turkish-lira: "\f195"; +$fa-var-tv: "\f26c"; $fa-var-twitch: "\f1e8"; $fa-var-twitter: "\f099"; $fa-var-twitter-square: "\f081"; $fa-var-umbrella: "\f0e9"; $fa-var-underline: "\f0cd"; $fa-var-undo: "\f0e2"; +$fa-var-universal-access: "\f29a"; $fa-var-university: "\f19c"; $fa-var-unlink: "\f127"; $fa-var-unlock: "\f09c"; $fa-var-unlock-alt: "\f13e"; $fa-var-unsorted: "\f0dc"; $fa-var-upload: "\f093"; +$fa-var-usb: "\f287"; $fa-var-usd: "\f155"; $fa-var-user: "\f007"; $fa-var-user-md: "\f0f0"; +$fa-var-user-plus: "\f234"; +$fa-var-user-secret: "\f21b"; +$fa-var-user-times: "\f235"; $fa-var-users: "\f0c0"; +$fa-var-venus: "\f221"; +$fa-var-venus-double: "\f226"; +$fa-var-venus-mars: "\f228"; +$fa-var-viacoin: "\f237"; +$fa-var-viadeo: "\f2a9"; +$fa-var-viadeo-square: "\f2aa"; $fa-var-video-camera: "\f03d"; +$fa-var-vimeo: "\f27d"; $fa-var-vimeo-square: "\f194"; $fa-var-vine: "\f1ca"; $fa-var-vk: "\f189"; +$fa-var-volume-control-phone: "\f2a0"; $fa-var-volume-down: "\f027"; $fa-var-volume-off: "\f026"; $fa-var-volume-up: "\f028"; @@ -544,17 +717,27 @@ $fa-var-warning: "\f071"; $fa-var-wechat: "\f1d7"; $fa-var-weibo: "\f18a"; $fa-var-weixin: "\f1d7"; +$fa-var-whatsapp: "\f232"; $fa-var-wheelchair: "\f193"; +$fa-var-wheelchair-alt: "\f29b"; $fa-var-wifi: "\f1eb"; +$fa-var-wikipedia-w: "\f266"; $fa-var-windows: "\f17a"; $fa-var-won: "\f159"; $fa-var-wordpress: "\f19a"; +$fa-var-wpbeginner: "\f297"; +$fa-var-wpforms: "\f298"; $fa-var-wrench: "\f0ad"; $fa-var-xing: "\f168"; $fa-var-xing-square: "\f169"; +$fa-var-y-combinator: "\f23b"; +$fa-var-y-combinator-square: "\f1d4"; $fa-var-yahoo: "\f19e"; +$fa-var-yc: "\f23b"; +$fa-var-yc-square: "\f1d4"; $fa-var-yelp: "\f1e9"; $fa-var-yen: "\f157"; +$fa-var-yoast: "\f2b1"; $fa-var-youtube: "\f167"; $fa-var-youtube-play: "\f16a"; $fa-var-youtube-square: "\f166"; diff --git a/bootstrap/addons/font-awesome/scss/font-awesome.scss b/bootstrap/addons/font-awesome/scss/font-awesome.scss index f300c09..2308b14 100644 --- a/bootstrap/addons/font-awesome/scss/font-awesome.scss +++ b/bootstrap/addons/font-awesome/scss/font-awesome.scss @@ -1,5 +1,5 @@ /*! - * Font Awesome 4.2.0 by @davegandy - http://fontawesome.io - @fontawesome + * Font Awesome 4.6.3 by @davegandy - http://fontawesome.io - @fontawesome * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) */ @@ -11,7 +11,8 @@ @import "fixed-width"; @import "list"; @import "bordered-pulled"; -@import "spinning"; +@import "animated"; @import "rotated-flipped"; @import "stacked"; @import "icons"; +@import "screen-reader"; diff --git a/bootstrap/addons/select/bootstrap-select.min.css b/bootstrap/addons/select/bootstrap-select.min.css new file mode 100644 index 0000000..d2ce55a --- /dev/null +++ b/bootstrap/addons/select/bootstrap-select.min.css @@ -0,0 +1,6 @@ +/*! + * Bootstrap-select v1.10.0 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2016 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */select.bs-select-hidden,select.selectpicker{display:none!important}.bootstrap-select{width:220px\9}.bootstrap-select>.dropdown-toggle{width:100%;padding-right:25px;z-index:1}.bootstrap-select>select{position:absolute!important;bottom:0;left:50%;display:block!important;width:.5px!important;height:100%!important;padding:0!important;opacity:0!important;border:none}.bootstrap-select>select.mobile-device{top:0;left:0;display:block!important;width:100%!important;z-index:2}.error .bootstrap-select .dropdown-toggle,.has-error .bootstrap-select .dropdown-toggle{border-color:#b94a48}.bootstrap-select.fit-width{width:auto!important}.bootstrap-select:not([class*=col-]):not([class*=form-control]):not(.input-group-btn){width:220px}.bootstrap-select .dropdown-toggle:focus{outline:thin dotted #333!important;outline:5px auto -webkit-focus-ring-color!important;outline-offset:-2px}.bootstrap-select.form-control{margin-bottom:0;padding:0;border:none}.bootstrap-select.form-control:not([class*=col-]){width:100%}.bootstrap-select.form-control.input-group-btn{z-index:auto}.bootstrap-select.btn-group:not(.input-group-btn),.bootstrap-select.btn-group[class*=col-]{float:none;display:inline-block;margin-left:0}.bootstrap-select.btn-group.dropdown-menu-right,.bootstrap-select.btn-group[class*=col-].dropdown-menu-right,.row .bootstrap-select.btn-group[class*=col-].dropdown-menu-right{float:right}.form-group .bootstrap-select.btn-group,.form-horizontal .bootstrap-select.btn-group,.form-inline .bootstrap-select.btn-group{margin-bottom:0}.form-group-lg .bootstrap-select.btn-group.form-control,.form-group-sm .bootstrap-select.btn-group.form-control{padding:0}.form-inline .bootstrap-select.btn-group .form-control{width:100%}.bootstrap-select.btn-group.disabled,.bootstrap-select.btn-group>.disabled{cursor:not-allowed}.bootstrap-select.btn-group.disabled:focus,.bootstrap-select.btn-group>.disabled:focus{outline:0!important}.bootstrap-select.btn-group.bs-container{position:absolute}.bootstrap-select.btn-group.bs-container .dropdown-menu{z-index:1060}.bootstrap-select.btn-group .dropdown-toggle .filter-option{display:inline-block;overflow:hidden;width:100%;text-align:left}.bootstrap-select.btn-group .dropdown-toggle .caret{position:absolute;top:50%;right:12px;margin-top:-2px;vertical-align:middle}.bootstrap-select.btn-group[class*=col-] .dropdown-toggle{width:100%}.bootstrap-select.btn-group .dropdown-menu{min-width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.bootstrap-select.btn-group .dropdown-menu.inner{position:static;float:none;border:0;padding:0;margin:0;border-radius:0;-webkit-box-shadow:none;box-shadow:none}.bootstrap-select.btn-group .dropdown-menu li{position:relative}.bootstrap-select.btn-group .dropdown-menu li.active small{color:#fff}.bootstrap-select.btn-group .dropdown-menu li.disabled a{cursor:not-allowed}.bootstrap-select.btn-group .dropdown-menu li a{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.bootstrap-select.btn-group .dropdown-menu li a.opt{position:relative;padding-left:2.25em}.bootstrap-select.btn-group .dropdown-menu li a span.check-mark{display:none}.bootstrap-select.btn-group .dropdown-menu li a span.text{display:inline-block}.bootstrap-select.btn-group .dropdown-menu li small{padding-left:.5em}.bootstrap-select.btn-group .dropdown-menu .notify{position:absolute;bottom:5px;width:96%;margin:0 2%;min-height:26px;padding:3px 5px;background:#f5f5f5;border:1px solid #e3e3e3;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05);pointer-events:none;opacity:.9;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.bootstrap-select.btn-group .no-results{padding:3px;background:#f5f5f5;margin:0 5px;white-space:nowrap}.bootstrap-select.btn-group.fit-width .dropdown-toggle .filter-option{position:static}.bootstrap-select.btn-group.fit-width .dropdown-toggle .caret{position:static;top:auto;margin-top:-1px}.bootstrap-select.btn-group.show-tick .dropdown-menu li.selected a span.check-mark{position:absolute;display:inline-block;right:15px;margin-top:5px}.bootstrap-select.btn-group.show-tick .dropdown-menu li a span.text{margin-right:34px}.bootstrap-select.show-menu-arrow.open>.dropdown-toggle{z-index:1061}.bootstrap-select.show-menu-arrow .dropdown-toggle:before{content:'';border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid rgba(204,204,204,.2);position:absolute;bottom:-4px;left:9px;display:none}.bootstrap-select.show-menu-arrow .dropdown-toggle:after{content:'';border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #fff;position:absolute;bottom:-4px;left:10px;display:none}.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle:before{bottom:auto;top:-3px;border-top:7px solid rgba(204,204,204,.2);border-bottom:0}.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle:after{bottom:auto;top:-3px;border-top:6px solid #fff;border-bottom:0}.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle:before{right:12px;left:auto}.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle:after{right:13px;left:auto}.bootstrap-select.show-menu-arrow.open>.dropdown-toggle:after,.bootstrap-select.show-menu-arrow.open>.dropdown-toggle:before{display:block}.bs-actionsbox,.bs-donebutton,.bs-searchbox{padding:4px 8px}.bs-actionsbox{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.bs-actionsbox .btn-group button{width:50%}.bs-donebutton{float:left;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.bs-donebutton .btn-group button{width:100%}.bs-searchbox+.bs-actionsbox{padding:0 8px 4px}.bs-searchbox .form-control{margin-bottom:0;width:100%;float:none} \ No newline at end of file diff --git a/bootstrap/addons/select/bootstrap-select.min.js b/bootstrap/addons/select/bootstrap-select.min.js new file mode 100644 index 0000000..12625e5 --- /dev/null +++ b/bootstrap/addons/select/bootstrap-select.min.js @@ -0,0 +1,8 @@ +/*! + * Bootstrap-select v1.10.0 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2016 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +!function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){!function(a){"use strict";function b(b){var c=[{re:/[\xC0-\xC6]/g,ch:"A"},{re:/[\xE0-\xE6]/g,ch:"a"},{re:/[\xC8-\xCB]/g,ch:"E"},{re:/[\xE8-\xEB]/g,ch:"e"},{re:/[\xCC-\xCF]/g,ch:"I"},{re:/[\xEC-\xEF]/g,ch:"i"},{re:/[\xD2-\xD6]/g,ch:"O"},{re:/[\xF2-\xF6]/g,ch:"o"},{re:/[\xD9-\xDC]/g,ch:"U"},{re:/[\xF9-\xFC]/g,ch:"u"},{re:/[\xC7-\xE7]/g,ch:"c"},{re:/[\xD1]/g,ch:"N"},{re:/[\xF1]/g,ch:"n"}];return a.each(c,function(){b=b.replace(this.re,this.ch)}),b}function c(a){var b={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`"},c="(?:"+Object.keys(b).join("|")+")",d=new RegExp(c),e=new RegExp(c,"g"),f=null==a?"":""+a;return d.test(f)?f.replace(e,function(a){return b[a]}):f}function d(b,c){var d=arguments,f=b,g=c;[].shift.apply(d);var h,i=this.each(function(){var b=a(this);if(b.is("select")){var c=b.data("selectpicker"),i="object"==typeof f&&f;if(c){if(i)for(var j in i)i.hasOwnProperty(j)&&(c.options[j]=i[j])}else{var k=a.extend({},e.DEFAULTS,a.fn.selectpicker.defaults||{},b.data(),i);k.template=a.extend({},e.DEFAULTS.template,a.fn.selectpicker.defaults?a.fn.selectpicker.defaults.template:{},b.data().template,i.template),b.data("selectpicker",c=new e(this,k,g))}"string"==typeof f&&(h=c[f]instanceof Function?c[f].apply(c,d):c.options[f])}});return"undefined"!=typeof h?h:i}String.prototype.includes||!function(){var a={}.toString,b=function(){try{var a={},b=Object.defineProperty,c=b(a,a,a)&&b}catch(d){}return c}(),c="".indexOf,d=function(b){if(null==this)throw new TypeError;var d=String(this);if(b&&"[object RegExp]"==a.call(b))throw new TypeError;var e=d.length,f=String(b),g=f.length,h=arguments.length>1?arguments[1]:void 0,i=h?Number(h):0;i!=i&&(i=0);var j=Math.min(Math.max(i,0),e);return g+j>e?!1:-1!=c.call(d,f,i)};b?b(String.prototype,"includes",{value:d,configurable:!0,writable:!0}):String.prototype.includes=d}(),String.prototype.startsWith||!function(){var a=function(){try{var a={},b=Object.defineProperty,c=b(a,a,a)&&b}catch(d){}return c}(),b={}.toString,c=function(a){if(null==this)throw new TypeError;var c=String(this);if(a&&"[object RegExp]"==b.call(a))throw new TypeError;var d=c.length,e=String(a),f=e.length,g=arguments.length>1?arguments[1]:void 0,h=g?Number(g):0;h!=h&&(h=0);var i=Math.min(Math.max(h,0),d);if(f+i>d)return!1;for(var j=-1;++j'},maxOptions:!1,mobile:!1,selectOnTab:!1,dropdownAlignRight:!1},e.prototype={constructor:e,init:function(){var b=this,c=this.$element.attr("id");this.$element.addClass("bs-select-hidden"),this.liObj={},this.multiple=this.$element.prop("multiple"),this.autofocus=this.$element.prop("autofocus"),this.$newElement=this.createView(),this.$element.after(this.$newElement).appendTo(this.$newElement),this.$button=this.$newElement.children("button"),this.$menu=this.$newElement.children(".dropdown-menu"),this.$menuInner=this.$menu.children(".inner"),this.$searchbox=this.$menu.find("input"),this.$element.removeClass("bs-select-hidden"),this.options.dropdownAlignRight&&this.$menu.addClass("dropdown-menu-right"),"undefined"!=typeof c&&(this.$button.attr("data-id",c),a('label[for="'+c+'"]').click(function(a){a.preventDefault(),b.$button.focus()})),this.checkDisabled(),this.clickListener(),this.options.liveSearch&&this.liveSearchListener(),this.render(),this.setStyle(),this.setWidth(),this.options.container&&this.selectPosition(),this.$menu.data("this",this),this.$newElement.data("this",this),this.options.mobile&&this.mobile(),this.$newElement.on({"hide.bs.dropdown":function(a){b.$element.trigger("hide.bs.select",a)},"hidden.bs.dropdown":function(a){b.$element.trigger("hidden.bs.select",a)},"show.bs.dropdown":function(a){b.$element.trigger("show.bs.select",a)},"shown.bs.dropdown":function(a){b.$element.trigger("shown.bs.select",a)}}),b.$element[0].hasAttribute("required")&&this.$element.on("invalid",function(){b.$button.addClass("bs-invalid").focus(),b.$element.on({"focus.bs.select":function(){b.$button.focus(),b.$element.off("focus.bs.select")},"shown.bs.select":function(){b.$element.val(b.$element.val()).off("shown.bs.select")},"rendered.bs.select":function(){this.validity.valid&&b.$button.removeClass("bs-invalid"),b.$element.off("rendered.bs.select")}})}),setTimeout(function(){b.$element.trigger("loaded.bs.select")})},createDropdown:function(){var b=this.multiple||this.options.showTick?" show-tick":"",d=this.$element.parent().hasClass("input-group")?" input-group-btn":"",e=this.autofocus?" autofocus":"",f=this.options.header?'
'+this.options.header+"
":"",g=this.options.liveSearch?'":"",h=this.multiple&&this.options.actionsBox?'
":"",i=this.multiple&&this.options.doneButton?'
":"",j='
";return a(j)},createView:function(){var a=this.createDropdown(),b=this.createLi();return a.find("ul")[0].innerHTML=b,a},reloadLi:function(){this.destroyLi();var a=this.createLi();this.$menuInner[0].innerHTML=a},destroyLi:function(){this.$menu.find("li").remove()},createLi:function(){var d=this,e=[],f=0,g=document.createElement("option"),h=-1,i=function(a,b,c,d){return""+a+""},j=function(a,e,f,g){return'
"+a+''};if(this.options.title&&!this.multiple&&(h--,!this.$element.find(".bs-title-option").length)){var k=this.$element[0];g.className="bs-title-option",g.appendChild(document.createTextNode(this.options.title)),g.value="",k.insertBefore(g,k.firstChild),void 0===a(k.options[k.selectedIndex]).attr("selected")&&(g.selected=!0)}return this.$element.find("option").each(function(b){var c=a(this);if(h++,!c.hasClass("bs-title-option")){var g=this.className||"",k=this.style.cssText,l=c.data("content")?c.data("content"):c.html(),m=c.data("tokens")?c.data("tokens"):null,n="undefined"!=typeof c.data("subtext")?''+c.data("subtext")+"":"",o="undefined"!=typeof c.data("icon")?' ':"",p="OPTGROUP"===this.parentNode.tagName,q=this.disabled||p&&this.parentNode.disabled;if(""!==o&&q&&(o=""+o+""),d.options.hideDisabled&&q&&!p)return void h--;if(c.data("content")||(l=o+''+l+n+""),p&&c.data("divider")!==!0){var r=" "+this.parentNode.className||"";if(0===c.index()){f+=1;var s=this.parentNode.label,t="undefined"!=typeof c.parent().data("subtext")?''+c.parent().data("subtext")+"":"",u=c.parent().data("icon")?' ':"";s=u+''+s+t+"",0!==b&&e.length>0&&(h++,e.push(i("",null,"divider",f+"div"))),h++,e.push(i(s,null,"dropdown-header"+r,f))}if(d.options.hideDisabled&&q)return void h--;e.push(i(j(l,"opt "+g+r,k,m),b,"",f))}else c.data("divider")===!0?e.push(i("",b,"divider")):c.data("hidden")===!0?e.push(i(j(l,g,k,m),b,"hidden is-hidden")):(this.previousElementSibling&&"OPTGROUP"===this.previousElementSibling.tagName&&(h++,e.push(i("",null,"divider",f+"div"))),e.push(i(j(l,g,k,m),b)));d.liObj[b]=h}}),this.multiple||0!==this.$element.find("option:selected").length||this.options.title||this.$element.find("option").eq(0).prop("selected",!0).attr("selected","selected"),e.join("")},findLis:function(){return null==this.$lis&&(this.$lis=this.$menu.find("li")),this.$lis},render:function(b){var c,d=this;b!==!1&&this.$element.find("option").each(function(a){var b=d.findLis().eq(d.liObj[a]);d.setDisabled(a,this.disabled||"OPTGROUP"===this.parentNode.tagName&&this.parentNode.disabled,b),d.setSelected(a,this.selected,b)}),this.tabIndex();var e=this.$element.find("option").map(function(){if(this.selected){if(d.options.hideDisabled&&(this.disabled||"OPTGROUP"===this.parentNode.tagName&&this.parentNode.disabled))return;var b,c=a(this),e=c.data("icon")&&d.options.showIcon?' ':"";return b=d.options.showSubtext&&c.data("subtext")&&!d.multiple?' '+c.data("subtext")+"":"","undefined"!=typeof c.attr("title")?c.attr("title"):c.data("content")&&d.options.showContent?c.data("content"):e+c.html()+b}}).toArray(),f=this.multiple?e.join(this.options.multipleSeparator):e[0];if(this.multiple&&this.options.selectedTextFormat.indexOf("count")>-1){var g=this.options.selectedTextFormat.split(">");if(g.length>1&&e.length>g[1]||1==g.length&&e.length>=2){c=this.options.hideDisabled?", [disabled]":"";var h=this.$element.find("option").not('[data-divider="true"], [data-hidden="true"]'+c).length,i="function"==typeof this.options.countSelectedText?this.options.countSelectedText(e.length,h):this.options.countSelectedText;f=i.replace("{0}",e.length.toString()).replace("{1}",h.toString())}}void 0==this.options.title&&(this.options.title=this.$element.attr("title")),"static"==this.options.selectedTextFormat&&(f=this.options.title),f||(f="undefined"!=typeof this.options.title?this.options.title:this.options.noneSelectedText),this.$button.attr("title",a.trim(f.replace(/<[^>]*>?/g,""))),this.$button.children(".filter-option").html(f),this.$element.trigger("rendered.bs.select")},setStyle:function(a,b){this.$element.attr("class")&&this.$newElement.addClass(this.$element.attr("class").replace(/selectpicker|mobile-device|bs-select-hidden|validate\[.*\]/gi,""));var c=a?a:this.options.style;"add"==b?this.$button.addClass(c):"remove"==b?this.$button.removeClass(c):(this.$button.removeClass(this.options.style),this.$button.addClass(c))},liHeight:function(b){if(b||this.options.size!==!1&&!this.sizeInfo){var c=document.createElement("div"),d=document.createElement("div"),e=document.createElement("ul"),f=document.createElement("li"),g=document.createElement("li"),h=document.createElement("a"),i=document.createElement("span"),j=this.options.header&&this.$menu.find(".popover-title").length>0?this.$menu.find(".popover-title")[0].cloneNode(!0):null,k=this.options.liveSearch?document.createElement("div"):null,l=this.options.actionsBox&&this.multiple&&this.$menu.find(".bs-actionsbox").length>0?this.$menu.find(".bs-actionsbox")[0].cloneNode(!0):null,m=this.options.doneButton&&this.multiple&&this.$menu.find(".bs-donebutton").length>0?this.$menu.find(".bs-donebutton")[0].cloneNode(!0):null;if(i.className="text",c.className=this.$menu[0].parentNode.className+" open",d.className="dropdown-menu open",e.className="dropdown-menu inner",f.className="divider",i.appendChild(document.createTextNode("Inner text")),h.appendChild(i),g.appendChild(h),e.appendChild(g),e.appendChild(f),j&&d.appendChild(j),k){var n=document.createElement("span");k.className="bs-searchbox",n.className="form-control",k.appendChild(n),d.appendChild(k)}l&&d.appendChild(l),d.appendChild(e),m&&d.appendChild(m),c.appendChild(d),document.body.appendChild(c);var o=h.offsetHeight,p=j?j.offsetHeight:0,q=k?k.offsetHeight:0,r=l?l.offsetHeight:0,s=m?m.offsetHeight:0,t=a(f).outerHeight(!0),u="function"==typeof getComputedStyle?getComputedStyle(d):!1,v=u?null:a(d),w=parseInt(u?u.paddingTop:v.css("paddingTop"))+parseInt(u?u.paddingBottom:v.css("paddingBottom"))+parseInt(u?u.borderTopWidth:v.css("borderTopWidth"))+parseInt(u?u.borderBottomWidth:v.css("borderBottomWidth")),x=w+parseInt(u?u.marginTop:v.css("marginTop"))+parseInt(u?u.marginBottom:v.css("marginBottom"))+2;document.body.removeChild(c),this.sizeInfo={liHeight:o,headerHeight:p,searchHeight:q,actionsHeight:r,doneButtonHeight:s,dividerHeight:t,menuPadding:w,menuExtras:x}}},setSize:function(){if(this.findLis(),this.liHeight(),this.options.header&&this.$menu.css("padding-top",0),this.options.size!==!1){var b,c,d,e,f=this,g=this.$menu,h=this.$menuInner,i=a(window),j=this.$newElement[0].offsetHeight,k=this.sizeInfo.liHeight,l=this.sizeInfo.headerHeight,m=this.sizeInfo.searchHeight,n=this.sizeInfo.actionsHeight,o=this.sizeInfo.doneButtonHeight,p=this.sizeInfo.dividerHeight,q=this.sizeInfo.menuPadding,r=this.sizeInfo.menuExtras,s=this.options.hideDisabled?".disabled":"",t=function(){d=f.$newElement.offset().top-i.scrollTop(),e=i.height()-d-j};if(t(),"auto"===this.options.size){var u=function(){var i,j=function(b,c){return function(d){return c?d.classList?d.classList.contains(b):a(d).hasClass(b):!(d.classList?d.classList.contains(b):a(d).hasClass(b))}},p=f.$menuInner[0].getElementsByTagName("li"),s=Array.prototype.filter?Array.prototype.filter.call(p,j("hidden",!1)):f.$lis.not(".hidden"),u=Array.prototype.filter?Array.prototype.filter.call(s,j("dropdown-header",!0)):s.filter(".dropdown-header");t(),b=e-r,f.options.container?(g.data("height")||g.data("height",g.height()),c=g.data("height")):c=g.height(),f.options.dropupAuto&&f.$newElement.toggleClass("dropup",d>e&&c>b-r),f.$newElement.hasClass("dropup")&&(b=d-r),i=s.length+u.length>3?3*k+r-2:0,g.css({"max-height":b+"px",overflow:"hidden","min-height":i+l+m+n+o+"px"}),h.css({"max-height":b-l-m-n-o-q+"px","overflow-y":"auto","min-height":Math.max(i-q,0)+"px"})};u(),this.$searchbox.off("input.getSize propertychange.getSize").on("input.getSize propertychange.getSize",u),i.off("resize.getSize scroll.getSize").on("resize.getSize scroll.getSize",u)}else if(this.options.size&&"auto"!=this.options.size&&this.$lis.not(s).length>this.options.size){var v=this.$lis.not(".divider").not(s).children().slice(0,this.options.size).last().parent().index(),w=this.$lis.slice(0,v+1).filter(".divider").length;b=k*this.options.size+w*p+q,f.options.container?(g.data("height")||g.data("height",g.height()),c=g.data("height")):c=g.height(),f.options.dropupAuto&&this.$newElement.toggleClass("dropup",d>e&&c>b-r),g.css({"max-height":b+l+m+n+o+"px",overflow:"hidden","min-height":""}),h.css({"max-height":b-q+"px","overflow-y":"auto","min-height":""})}}},setWidth:function(){if("auto"===this.options.width){this.$menu.css("min-width","0");var a=this.$menu.parent().clone().appendTo("body"),b=this.options.container?this.$newElement.clone().appendTo("body"):a,c=a.children(".dropdown-menu").outerWidth(),d=b.css("width","auto").children("button").outerWidth();a.remove(),b.remove(),this.$newElement.css("width",Math.max(c,d)+"px")}else"fit"===this.options.width?(this.$menu.css("min-width",""),this.$newElement.css("width","").addClass("fit-width")):this.options.width?(this.$menu.css("min-width",""),this.$newElement.css("width",this.options.width)):(this.$menu.css("min-width",""),this.$newElement.css("width",""));this.$newElement.hasClass("fit-width")&&"fit"!==this.options.width&&this.$newElement.removeClass("fit-width")},selectPosition:function(){this.$bsContainer=a('
');var b,c,d=this,e=function(a){d.$bsContainer.addClass(a.attr("class").replace(/form-control|fit-width/gi,"")).toggleClass("dropup",a.hasClass("dropup")),b=a.offset(),c=a.hasClass("dropup")?0:a[0].offsetHeight,d.$bsContainer.css({top:b.top+c,left:b.left,width:a[0].offsetWidth})};this.$button.on("click",function(){var b=a(this);d.isDisabled()||(e(d.$newElement),d.$bsContainer.appendTo(d.options.container).toggleClass("open",!b.hasClass("open")).append(d.$menu))}),a(window).on("resize scroll",function(){e(d.$newElement)}),this.$element.on("hide.bs.select",function(){d.$menu.data("height",d.$menu.height()),d.$bsContainer.detach()})},setSelected:function(a,b,c){c||(c=this.findLis().eq(this.liObj[a])),c.toggleClass("selected",b)},setDisabled:function(a,b,c){c||(c=this.findLis().eq(this.liObj[a])),b?c.addClass("disabled").children("a").attr("href","#").attr("tabindex",-1):c.removeClass("disabled").children("a").removeAttr("href").attr("tabindex",0)},isDisabled:function(){return this.$element[0].disabled},checkDisabled:function(){var a=this;this.isDisabled()?(this.$newElement.addClass("disabled"),this.$button.addClass("disabled").attr("tabindex",-1)):(this.$button.hasClass("disabled")&&(this.$newElement.removeClass("disabled"),this.$button.removeClass("disabled")),-1!=this.$button.attr("tabindex")||this.$element.data("tabindex")||this.$button.removeAttr("tabindex")),this.$button.click(function(){return!a.isDisabled()})},tabIndex:function(){this.$element.data("tabindex")!==this.$element.attr("tabindex")&&-98!==this.$element.attr("tabindex")&&"-98"!==this.$element.attr("tabindex")&&(this.$element.data("tabindex",this.$element.attr("tabindex")),this.$button.attr("tabindex",this.$element.data("tabindex"))),this.$element.attr("tabindex",-98)},clickListener:function(){var b=this,c=a(document);this.$newElement.on("touchstart.dropdown",".dropdown-menu",function(a){a.stopPropagation()}),c.data("spaceSelect",!1),this.$button.on("keyup",function(a){/(32)/.test(a.keyCode.toString(10))&&c.data("spaceSelect")&&(a.preventDefault(),c.data("spaceSelect",!1))}),this.$button.on("click",function(){b.setSize()}),this.$element.on("shown.bs.select",function(){if(b.options.liveSearch||b.multiple){if(!b.multiple){var a=b.liObj[b.$element[0].selectedIndex];if("number"!=typeof a||b.options.size===!1)return;var c=b.$lis.eq(a)[0].offsetTop-b.$menuInner[0].offsetTop;c=c-b.$menuInner[0].offsetHeight/2+b.sizeInfo.liHeight/2,b.$menuInner[0].scrollTop=c}}else b.$menuInner.find(".selected a").focus()}),this.$menuInner.on("click","li a",function(c){var d=a(this),e=d.parent().data("originalIndex"),f=b.$element.val(),g=b.$element.prop("selectedIndex");if(b.multiple&&c.stopPropagation(),c.preventDefault(),!b.isDisabled()&&!d.parent().hasClass("disabled")){var h=b.$element.find("option"),i=h.eq(e),j=i.prop("selected"),k=i.parent("optgroup"),l=b.options.maxOptions,m=k.data("maxOptions")||!1;if(b.multiple){if(i.prop("selected",!j),b.setSelected(e,!j),d.blur(),l!==!1||m!==!1){var n=l
');q[2]&&(r=r.replace("{var}",q[2][l>1?0:1]),s=s.replace("{var}",q[2][m>1?0:1])),i.prop("selected",!1),b.$menu.append(t),l&&n&&(t.append(a("
"+r+"
")),b.$element.trigger("maxReached.bs.select")),m&&o&&(t.append(a("
"+s+"
")),b.$element.trigger("maxReachedGrp.bs.select")),setTimeout(function(){b.setSelected(e,!1)},10),t.delay(750).fadeOut(300,function(){a(this).remove()})}}}else h.prop("selected",!1),i.prop("selected",!0),b.$menuInner.find(".selected").removeClass("selected"),b.setSelected(e,!0);b.multiple?b.options.liveSearch&&b.$searchbox.focus():b.$button.focus(),(f!=b.$element.val()&&b.multiple||g!=b.$element.prop("selectedIndex")&&!b.multiple)&&b.$element.trigger("changed.bs.select",[e,i.prop("selected"),j]).triggerNative("change")}}),this.$menu.on("click","li.disabled a, .popover-title, .popover-title :not(.close)",function(c){c.currentTarget==this&&(c.preventDefault(),c.stopPropagation(),b.options.liveSearch&&!a(c.target).hasClass("close")?b.$searchbox.focus():b.$button.focus())}),this.$menuInner.on("click",".divider, .dropdown-header",function(a){a.preventDefault(),a.stopPropagation(),b.options.liveSearch?b.$searchbox.focus():b.$button.focus()}),this.$menu.on("click",".popover-title .close",function(){b.$button.click()}),this.$searchbox.on("click",function(a){a.stopPropagation()}),this.$menu.on("click",".actions-btn",function(c){b.options.liveSearch?b.$searchbox.focus():b.$button.focus(),c.preventDefault(),c.stopPropagation(),a(this).hasClass("bs-select-all")?b.selectAll():b.deselectAll()}),this.$element.change(function(){b.render(!1)})},liveSearchListener:function(){var d=this,e=a('
  • ');this.$button.on("click.dropdown.data-api touchstart.dropdown.data-api",function(){d.$menuInner.find(".active").removeClass("active"),d.$searchbox.val()&&(d.$searchbox.val(""),d.$lis.not(".is-hidden").removeClass("hidden"),e.parent().length&&e.remove()),d.multiple||d.$menuInner.find(".selected").addClass("active"),setTimeout(function(){d.$searchbox.focus()},10)}),this.$searchbox.on("click.dropdown.data-api focus.dropdown.data-api touchend.dropdown.data-api",function(a){a.stopPropagation()}),this.$searchbox.on("input propertychange",function(){if(d.$searchbox.val()){var f=d.$lis.not(".is-hidden").removeClass("hidden").children("a");f=d.options.liveSearchNormalize?f.not(":a"+d._searchStyle()+'("'+b(d.$searchbox.val())+'")'):f.not(":"+d._searchStyle()+'("'+d.$searchbox.val()+'")'),f.parent().addClass("hidden"),d.$lis.filter(".dropdown-header").each(function(){var b=a(this),c=b.data("optgroup");0===d.$lis.filter("[data-optgroup="+c+"]").not(b).not(".hidden").length&&(b.addClass("hidden"),d.$lis.filter("[data-optgroup="+c+"div]").addClass("hidden"))});var g=d.$lis.not(".hidden");g.each(function(b){var c=a(this);c.hasClass("divider")&&(c.index()===g.first().index()||c.index()===g.last().index()||g.eq(b+1).hasClass("divider"))&&c.addClass("hidden")}),d.$lis.not(".hidden, .no-results").length?e.parent().length&&e.remove():(e.parent().length&&e.remove(),e.html(d.options.noneResultsText.replace("{0}",'"'+c(d.$searchbox.val())+'"')).show(),d.$menuInner.append(e))}else d.$lis.not(".is-hidden").removeClass("hidden"),e.parent().length&&e.remove();d.$lis.filter(".active").removeClass("active"),d.$searchbox.val()&&d.$lis.not(".hidden, .divider, .dropdown-header").eq(0).addClass("active").children("a").focus(),a(this).focus()})},_searchStyle:function(){var a={begins:"ibegins",startsWith:"ibegins"};return a[this.options.liveSearchStyle]||"icontains"},val:function(a){return"undefined"!=typeof a?(this.$element.val(a),this.render(),this.$element):this.$element.val()},changeAll:function(b){"undefined"==typeof b&&(b=!0),this.findLis();for(var c=this.$element.find("option"),d=this.$lis.not(".divider, .dropdown-header, .disabled, .hidden").toggleClass("selected",b),e=d.length,f=[],g=0;e>g;g++){var h=d[g].getAttribute("data-original-index");f[f.length]=c.eq(h)[0]}a(f).prop("selected",b),this.render(!1),this.$element.trigger("changed.bs.select").triggerNative("change")},selectAll:function(){return this.changeAll(!0)},deselectAll:function(){return this.changeAll(!1)},toggle:function(a){a=a||window.event,a&&a.stopPropagation(),this.$button.trigger("click")},keydown:function(c){var d,e,f,g,h,i,j,k,l,m=a(this),n=m.is("input")?m.parent().parent():m.parent(),o=n.data("this"),p=":not(.disabled, .hidden, .dropdown-header, .divider)",q={32:" ",48:"0",49:"1",50:"2",51:"3",52:"4",53:"5",54:"6",55:"7",56:"8",57:"9",59:";",65:"a",66:"b",67:"c",68:"d",69:"e",70:"f",71:"g",72:"h",73:"i",74:"j",75:"k",76:"l",77:"m",78:"n",79:"o",80:"p",81:"q",82:"r",83:"s",84:"t",85:"u",86:"v",87:"w",88:"x",89:"y",90:"z",96:"0",97:"1",98:"2",99:"3",100:"4",101:"5",102:"6",103:"7",104:"8",105:"9"};if(o.options.liveSearch&&(n=m.parent().parent()),o.options.container&&(n=o.$menu),d=a("[role=menu] li",n),l=o.$newElement.hasClass("open"),!l&&(c.keyCode>=48&&c.keyCode<=57||c.keyCode>=96&&c.keyCode<=105||c.keyCode>=65&&c.keyCode<=90)&&(o.options.container?o.$button.trigger("click"):(o.setSize(),o.$menu.parent().addClass("open"),l=!0),o.$searchbox.focus()),o.options.liveSearch&&(/(^9$|27)/.test(c.keyCode.toString(10))&&l&&0===o.$menu.find(".active").length&&(c.preventDefault(),o.$menu.parent().removeClass("open"),o.options.container&&o.$newElement.removeClass("open"),o.$button.focus()),d=a("[role=menu] li"+p,n),m.val()||/(38|40)/.test(c.keyCode.toString(10))||0===d.filter(".active").length&&(d=o.$menuInner.find("li"),d=o.options.liveSearchNormalize?d.filter(":a"+o._searchStyle()+"("+b(q[c.keyCode])+")"):d.filter(":"+o._searchStyle()+"("+q[c.keyCode]+")"))),d.length){if(/(38|40)/.test(c.keyCode.toString(10)))e=d.index(d.find("a").filter(":focus").parent()),g=d.filter(p).first().index(),h=d.filter(p).last().index(),f=d.eq(e).nextAll(p).eq(0).index(),i=d.eq(e).prevAll(p).eq(0).index(),j=d.eq(f).prevAll(p).eq(0).index(),o.options.liveSearch&&(d.each(function(b){a(this).hasClass("disabled")||a(this).data("index",b)}),e=d.index(d.filter(".active")),g=d.first().data("index"),h=d.last().data("index"),f=d.eq(e).nextAll().eq(0).data("index"),i=d.eq(e).prevAll().eq(0).data("index"),j=d.eq(f).prevAll().eq(0).data("index")),k=m.data("prevIndex"),38==c.keyCode?(o.options.liveSearch&&e--,e!=j&&e>i&&(e=i),g>e&&(e=g),e==k&&(e=h)):40==c.keyCode&&(o.options.liveSearch&&e++,-1==e&&(e=0),e!=j&&f>e&&(e=f),e>h&&(e=h),e==k&&(e=g)),m.data("prevIndex",e),o.options.liveSearch?(c.preventDefault(),m.hasClass("dropdown-toggle")||(d.removeClass("active").eq(e).addClass("active").children("a").focus(),m.focus())):d.eq(e).children("a").focus();else if(!m.is("input")){var r,s,t=[];d.each(function(){a(this).hasClass("disabled")||a.trim(a(this).children("a").text().toLowerCase()).substring(0,1)==q[c.keyCode]&&t.push(a(this).index())}),r=a(document).data("keycount"),r++,a(document).data("keycount",r),s=a.trim(a(":focus").text().toLowerCase()).substring(0,1),s!=q[c.keyCode]?(r=1,a(document).data("keycount",r)):r>=t.length&&(a(document).data("keycount",0),r>t.length&&(r=1)),d.eq(t[r-1]).children("a").focus()}if((/(13|32)/.test(c.keyCode.toString(10))||/(^9$)/.test(c.keyCode.toString(10))&&o.options.selectOnTab)&&l){if(/(32)/.test(c.keyCode.toString(10))||c.preventDefault(),o.options.liveSearch)/(32)/.test(c.keyCode.toString(10))||(o.$menuInner.find(".active a").click(),m.focus());else{var u=a(":focus");u.click(),u.focus(),c.preventDefault(),a(document).data("spaceSelect",!0)}a(document).data("keycount",0)}(/(^9$|27)/.test(c.keyCode.toString(10))&&l&&(o.multiple||o.options.liveSearch)||/(27)/.test(c.keyCode.toString(10))&&!l)&&(o.$menu.parent().removeClass("open"),o.options.container&&o.$newElement.removeClass("open"),o.$button.focus())}},mobile:function(){this.$element.addClass("mobile-device")},refresh:function(){this.$lis=null,this.liObj={},this.reloadLi(),this.render(),this.checkDisabled(),this.liHeight(!0),this.setStyle(),this.setWidth(),this.$lis&&this.$searchbox.trigger("propertychange"),this.$element.trigger("refreshed.bs.select")},hide:function(){this.$newElement.hide()},show:function(){this.$newElement.show()},remove:function(){this.$newElement.remove(),this.$element.remove()},destroy:function(){this.$newElement.before(this.$element).remove(),this.$bsContainer?this.$bsContainer.remove():this.$menu.remove(),this.$element.off(".bs.select").removeData("selectpicker").removeClass("bs-select-hidden selectpicker")}};var f=a.fn.selectpicker;a.fn.selectpicker=d,a.fn.selectpicker.Constructor=e,a.fn.selectpicker.noConflict=function(){return a.fn.selectpicker=f,this},a(document).data("keycount",0).on("keydown.bs.select",'.bootstrap-select [data-toggle=dropdown], .bootstrap-select [role="menu"], .bs-searchbox input',e.prototype.keydown).on("focusin.modal",'.bootstrap-select [data-toggle=dropdown], .bootstrap-select [role="menu"], .bs-searchbox input',function(a){a.stopPropagation()}),a(window).on("load.bs.select.data-api",function(){a(".selectpicker").each(function(){var b=a(this);d.call(b,b.data())})})}(a)}); +//# sourceMappingURL=bootstrap-select.js.map \ No newline at end of file diff --git a/bootstrap/addons/show-password/bootstrap-show-password.min.js b/bootstrap/addons/show-password/bootstrap-show-password.min.js new file mode 100644 index 0000000..a944d22 --- /dev/null +++ b/bootstrap/addons/show-password/bootstrap-show-password.min.js @@ -0,0 +1,6 @@ +/** + * @author zhixin wen + * https://github.com/wenzhixin/bootstrap-show-password + * version: 1.0.3 + */ +!function(e){"use strict";var t=function(e){var t=arguments,s=!0,i=1;return e=e.replace(/%s/g,function(){var e=t[i++];return"undefined"==typeof e?(s=!1,""):e}),s?e:""},s=function(t,s){this.options=s,this.$element=e(t),this.isShown=!1,this.init()};s.DEFAULTS={placement:"after",white:!1,message:"Click here to show/hide password",eyeClass:"glyphicon",eyeOpenClass:"glyphicon-eye-open",eyeCloseClass:"glyphicon-eye-close"},s.prototype.init=function(){var s,i;"before"===this.options.placement?(s="insertBefore",i="input-prepend"):(this.options.placement="after",s="insertAfter",i="input-append"),this.$element.wrap(t('
    ',i)),this.$text=e('')[s](this.$element).attr("class",this.$element.attr("class")).attr("style",this.$element.attr("style")).attr("placeholder",this.$element.attr("placeholder")).css("display",this.$element.css("display")).val(this.$element.val()).hide(),this.$element.prop("readonly")&&this.$text.prop("readonly",!0),this.$icon=e(['','',""].join(""))[s](this.$text).css("cursor","pointer"),this.$text.off("keyup").on("keyup",e.proxy(function(){this.isShown&&this.$element.val(this.$text.val()).trigger("change")},this)),this.$icon.off("click").on("click",e.proxy(function(){this.$text.val(this.$element.val()).trigger("change"),this.toggle()},this))},s.prototype.toggle=function(e){this[this.isShown?"hide":"show"](e)},s.prototype.show=function(t){var s=e.Event("show.bs.password",{relatedTarget:t});this.$element.trigger(s),this.isShown=!0,this.$element.hide(),this.$text.show(),this.$icon.find("i").removeClass("icon-eye-open "+this.options.eyeOpenClass).addClass("icon-eye-close "+this.options.eyeCloseClass),this.$text[this.options.placement](this.$element)},s.prototype.hide=function(t){var s=e.Event("hide.bs.password",{relatedTarget:t});this.$element.trigger(s),this.isShown=!1,this.$element.show(),this.$text.hide(),this.$icon.find("i").removeClass("icon-eye-close "+this.options.eyeCloseClass).addClass("icon-eye-open "+this.options.eyeOpenClass),this.$element[this.options.placement](this.$text)},s.prototype.val=function(e){return"undefined"==typeof e?this.$element.val():(this.$element.val(e).trigger("change"),this.$text.val(e),void 0)};var i=e.fn.password;e.fn.password=function(){var t,i=arguments[0],n=arguments,o=["show","hide","toggle","val"];return this.each(function(){var a=e(this),h=a.data("bs.password"),r=e.extend({},s.DEFAULTS,a.data(),"object"==typeof i&&i);if("string"==typeof i){if(e.inArray(i,o)<0)throw"Unknown method: "+i;t=h[i](n[1])}else h?h.init(r):(h=new s(a,r),a.data("bs.password",h))}),t?t:this},e.fn.password.Constructor=s,e.fn.password.noConflict=function(){return e.fn.password=i,this},e(function(){e('[data-toggle="password"]').password()})}(window.jQuery); \ No newline at end of file diff --git a/bootstrap/addons/switch-master/bootstrap-switch.min.css b/bootstrap/addons/switch-master/bootstrap-switch.min.css new file mode 100644 index 0000000..0a9f2b7 --- /dev/null +++ b/bootstrap/addons/switch-master/bootstrap-switch.min.css @@ -0,0 +1,22 @@ +/* ======================================================================== + * bootstrap-switch - v3.3.2 + * http://www.bootstrap-switch.org + * ======================================================================== + * Copyright 2012-2013 Mattia Larentis + * + * ======================================================================== + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ======================================================================== + */ + +.bootstrap-switch{display:inline-block;direction:ltr;cursor:pointer;border-radius:4px;border:1px solid #ccc;position:relative;text-align:left;overflow:hidden;line-height:8px;z-index:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:middle;-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.bootstrap-switch .bootstrap-switch-container{display:inline-block;top:0;border-radius:4px;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.bootstrap-switch .bootstrap-switch-handle-off,.bootstrap-switch .bootstrap-switch-handle-on,.bootstrap-switch .bootstrap-switch-label{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;cursor:pointer;display:inline-block!important;padding:6px 12px;font-size:14px;line-height:20px}.bootstrap-switch .bootstrap-switch-handle-off,.bootstrap-switch .bootstrap-switch-handle-on{text-align:center;z-index:1}.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-primary,.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-primary{color:#fff;background:#337ab7}.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-info,.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-info{color:#fff;background:#5bc0de}.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-success,.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-success{color:#fff;background:#5cb85c}.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-warning,.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-warning{background:#f0ad4e;color:#fff}.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-danger,.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-danger{color:#fff;background:#d9534f}.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-default,.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-default{color:#000;background:#eee}.bootstrap-switch .bootstrap-switch-label{text-align:center;margin-top:-1px;margin-bottom:-1px;z-index:100;color:#333;background:#fff}.bootstrap-switch .bootstrap-switch-handle-on{border-bottom-left-radius:3px;border-top-left-radius:3px}.bootstrap-switch .bootstrap-switch-handle-off{border-bottom-right-radius:3px;border-top-right-radius:3px}.bootstrap-switch input[type=radio],.bootstrap-switch input[type=checkbox]{position:absolute!important;top:0;left:0;margin:0;z-index:-1;opacity:0;filter:alpha(opacity=0)}.bootstrap-switch.bootstrap-switch-mini .bootstrap-switch-handle-off,.bootstrap-switch.bootstrap-switch-mini .bootstrap-switch-handle-on,.bootstrap-switch.bootstrap-switch-mini .bootstrap-switch-label{padding:1px 5px;font-size:12px;line-height:1.5}.bootstrap-switch.bootstrap-switch-small .bootstrap-switch-handle-off,.bootstrap-switch.bootstrap-switch-small .bootstrap-switch-handle-on,.bootstrap-switch.bootstrap-switch-small .bootstrap-switch-label{padding:5px 10px;font-size:12px;line-height:1.5}.bootstrap-switch.bootstrap-switch-large .bootstrap-switch-handle-off,.bootstrap-switch.bootstrap-switch-large .bootstrap-switch-handle-on,.bootstrap-switch.bootstrap-switch-large .bootstrap-switch-label{padding:6px 16px;font-size:18px;line-height:1.3333333}.bootstrap-switch.bootstrap-switch-disabled,.bootstrap-switch.bootstrap-switch-indeterminate,.bootstrap-switch.bootstrap-switch-readonly{cursor:default!important}.bootstrap-switch.bootstrap-switch-disabled .bootstrap-switch-handle-off,.bootstrap-switch.bootstrap-switch-disabled .bootstrap-switch-handle-on,.bootstrap-switch.bootstrap-switch-disabled .bootstrap-switch-label,.bootstrap-switch.bootstrap-switch-indeterminate .bootstrap-switch-handle-off,.bootstrap-switch.bootstrap-switch-indeterminate .bootstrap-switch-handle-on,.bootstrap-switch.bootstrap-switch-indeterminate .bootstrap-switch-label,.bootstrap-switch.bootstrap-switch-readonly .bootstrap-switch-handle-off,.bootstrap-switch.bootstrap-switch-readonly .bootstrap-switch-handle-on,.bootstrap-switch.bootstrap-switch-readonly .bootstrap-switch-label{opacity:.5;filter:alpha(opacity=50);cursor:default!important}.bootstrap-switch.bootstrap-switch-animate .bootstrap-switch-container{-webkit-transition:margin-left .5s;-o-transition:margin-left .5s;transition:margin-left .5s}.bootstrap-switch.bootstrap-switch-inverse .bootstrap-switch-handle-on{border-radius:0 3px 3px 0}.bootstrap-switch.bootstrap-switch-inverse .bootstrap-switch-handle-off{border-radius:3px 0 0 3px}.bootstrap-switch.bootstrap-switch-focused{border-color:#66afe9;outline:0;-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)}.bootstrap-switch.bootstrap-switch-inverse.bootstrap-switch-off .bootstrap-switch-label,.bootstrap-switch.bootstrap-switch-on .bootstrap-switch-label{border-bottom-right-radius:3px;border-top-right-radius:3px}.bootstrap-switch.bootstrap-switch-inverse.bootstrap-switch-on .bootstrap-switch-label,.bootstrap-switch.bootstrap-switch-off .bootstrap-switch-label{border-bottom-left-radius:3px;border-top-left-radius:3px} \ No newline at end of file diff --git a/bootstrap/addons/switch-master/bootstrap-switch.min.js b/bootstrap/addons/switch-master/bootstrap-switch.min.js new file mode 100644 index 0000000..9849658 --- /dev/null +++ b/bootstrap/addons/switch-master/bootstrap-switch.min.js @@ -0,0 +1,22 @@ +/* ======================================================================== + * bootstrap-switch - v3.3.2 + * http://www.bootstrap-switch.org + * ======================================================================== + * Copyright 2012-2013 Mattia Larentis + * + * ======================================================================== + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ======================================================================== + */ + +(function(){var t=[].slice;!function(e,i){"use strict";var n;return n=function(){function t(t,i){null==i&&(i={}),this.$element=e(t),this.options=e.extend({},e.fn.bootstrapSwitch.defaults,{state:this.$element.is(":checked"),size:this.$element.data("size"),animate:this.$element.data("animate"),disabled:this.$element.is(":disabled"),readonly:this.$element.is("[readonly]"),indeterminate:this.$element.data("indeterminate"),inverse:this.$element.data("inverse"),radioAllOff:this.$element.data("radio-all-off"),onColor:this.$element.data("on-color"),offColor:this.$element.data("off-color"),onText:this.$element.data("on-text"),offText:this.$element.data("off-text"),labelText:this.$element.data("label-text"),handleWidth:this.$element.data("handle-width"),labelWidth:this.$element.data("label-width"),baseClass:this.$element.data("base-class"),wrapperClass:this.$element.data("wrapper-class")},i),this.prevOptions={},this.$wrapper=e("
    ",{"class":function(t){return function(){var e;return e=[""+t.options.baseClass].concat(t._getClasses(t.options.wrapperClass)),e.push(t.options.state?t.options.baseClass+"-on":t.options.baseClass+"-off"),null!=t.options.size&&e.push(t.options.baseClass+"-"+t.options.size),t.options.disabled&&e.push(t.options.baseClass+"-disabled"),t.options.readonly&&e.push(t.options.baseClass+"-readonly"),t.options.indeterminate&&e.push(t.options.baseClass+"-indeterminate"),t.options.inverse&&e.push(t.options.baseClass+"-inverse"),t.$element.attr("id")&&e.push(t.options.baseClass+"-id-"+t.$element.attr("id")),e.join(" ")}}(this)()}),this.$container=e("
    ",{"class":this.options.baseClass+"-container"}),this.$on=e("",{html:this.options.onText,"class":this.options.baseClass+"-handle-on "+this.options.baseClass+"-"+this.options.onColor}),this.$off=e("",{html:this.options.offText,"class":this.options.baseClass+"-handle-off "+this.options.baseClass+"-"+this.options.offColor}),this.$label=e("",{html:this.options.labelText,"class":this.options.baseClass+"-label"}),this.$element.on("init.bootstrapSwitch",function(e){return function(){return e.options.onInit.apply(t,arguments)}}(this)),this.$element.on("switchChange.bootstrapSwitch",function(i){return function(n){return!1===i.options.onSwitchChange.apply(t,arguments)?i.$element.is(":radio")?e("[name='"+i.$element.attr("name")+"']").trigger("previousState.bootstrapSwitch",!0):i.$element.trigger("previousState.bootstrapSwitch",!0):void 0}}(this)),this.$container=this.$element.wrap(this.$container).parent(),this.$wrapper=this.$container.wrap(this.$wrapper).parent(),this.$element.before(this.options.inverse?this.$off:this.$on).before(this.$label).before(this.options.inverse?this.$on:this.$off),this.options.indeterminate&&this.$element.prop("indeterminate",!0),this._init(),this._elementHandlers(),this._handleHandlers(),this._labelHandlers(),this._formHandler(),this._externalLabelHandler(),this.$element.trigger("init.bootstrapSwitch",this.options.state)}return t.prototype._constructor=t,t.prototype.setPrevOptions=function(){return this.prevOptions=e.extend(!0,{},this.options)},t.prototype.state=function(t,i){return"undefined"==typeof t?this.options.state:this.options.disabled||this.options.readonly?this.$element:this.options.state&&!this.options.radioAllOff&&this.$element.is(":radio")?this.$element:(this.$element.is(":radio")?e("[name='"+this.$element.attr("name")+"']").trigger("setPreviousOptions.bootstrapSwitch"):this.$element.trigger("setPreviousOptions.bootstrapSwitch"),this.options.indeterminate&&this.indeterminate(!1),t=!!t,this.$element.prop("checked",t).trigger("change.bootstrapSwitch",i),this.$element)},t.prototype.toggleState=function(t){return this.options.disabled||this.options.readonly?this.$element:this.options.indeterminate?(this.indeterminate(!1),this.state(!0)):this.$element.prop("checked",!this.options.state).trigger("change.bootstrapSwitch",t)},t.prototype.size=function(t){return"undefined"==typeof t?this.options.size:(null!=this.options.size&&this.$wrapper.removeClass(this.options.baseClass+"-"+this.options.size),t&&this.$wrapper.addClass(this.options.baseClass+"-"+t),this._width(),this._containerPosition(),this.options.size=t,this.$element)},t.prototype.animate=function(t){return"undefined"==typeof t?this.options.animate:(t=!!t,t===this.options.animate?this.$element:this.toggleAnimate())},t.prototype.toggleAnimate=function(){return this.options.animate=!this.options.animate,this.$wrapper.toggleClass(this.options.baseClass+"-animate"),this.$element},t.prototype.disabled=function(t){return"undefined"==typeof t?this.options.disabled:(t=!!t,t===this.options.disabled?this.$element:this.toggleDisabled())},t.prototype.toggleDisabled=function(){return this.options.disabled=!this.options.disabled,this.$element.prop("disabled",this.options.disabled),this.$wrapper.toggleClass(this.options.baseClass+"-disabled"),this.$element},t.prototype.readonly=function(t){return"undefined"==typeof t?this.options.readonly:(t=!!t,t===this.options.readonly?this.$element:this.toggleReadonly())},t.prototype.toggleReadonly=function(){return this.options.readonly=!this.options.readonly,this.$element.prop("readonly",this.options.readonly),this.$wrapper.toggleClass(this.options.baseClass+"-readonly"),this.$element},t.prototype.indeterminate=function(t){return"undefined"==typeof t?this.options.indeterminate:(t=!!t,t===this.options.indeterminate?this.$element:this.toggleIndeterminate())},t.prototype.toggleIndeterminate=function(){return this.options.indeterminate=!this.options.indeterminate,this.$element.prop("indeterminate",this.options.indeterminate),this.$wrapper.toggleClass(this.options.baseClass+"-indeterminate"),this._containerPosition(),this.$element},t.prototype.inverse=function(t){return"undefined"==typeof t?this.options.inverse:(t=!!t,t===this.options.inverse?this.$element:this.toggleInverse())},t.prototype.toggleInverse=function(){var t,e;return this.$wrapper.toggleClass(this.options.baseClass+"-inverse"),e=this.$on.clone(!0),t=this.$off.clone(!0),this.$on.replaceWith(t),this.$off.replaceWith(e),this.$on=t,this.$off=e,this.options.inverse=!this.options.inverse,this.$element},t.prototype.onColor=function(t){var e;return e=this.options.onColor,"undefined"==typeof t?e:(null!=e&&this.$on.removeClass(this.options.baseClass+"-"+e),this.$on.addClass(this.options.baseClass+"-"+t),this.options.onColor=t,this.$element)},t.prototype.offColor=function(t){var e;return e=this.options.offColor,"undefined"==typeof t?e:(null!=e&&this.$off.removeClass(this.options.baseClass+"-"+e),this.$off.addClass(this.options.baseClass+"-"+t),this.options.offColor=t,this.$element)},t.prototype.onText=function(t){return"undefined"==typeof t?this.options.onText:(this.$on.html(t),this._width(),this._containerPosition(),this.options.onText=t,this.$element)},t.prototype.offText=function(t){return"undefined"==typeof t?this.options.offText:(this.$off.html(t),this._width(),this._containerPosition(),this.options.offText=t,this.$element)},t.prototype.labelText=function(t){return"undefined"==typeof t?this.options.labelText:(this.$label.html(t),this._width(),this.options.labelText=t,this.$element)},t.prototype.handleWidth=function(t){return"undefined"==typeof t?this.options.handleWidth:(this.options.handleWidth=t,this._width(),this._containerPosition(),this.$element)},t.prototype.labelWidth=function(t){return"undefined"==typeof t?this.options.labelWidth:(this.options.labelWidth=t,this._width(),this._containerPosition(),this.$element)},t.prototype.baseClass=function(t){return this.options.baseClass},t.prototype.wrapperClass=function(t){return"undefined"==typeof t?this.options.wrapperClass:(t||(t=e.fn.bootstrapSwitch.defaults.wrapperClass),this.$wrapper.removeClass(this._getClasses(this.options.wrapperClass).join(" ")),this.$wrapper.addClass(this._getClasses(t).join(" ")),this.options.wrapperClass=t,this.$element)},t.prototype.radioAllOff=function(t){return"undefined"==typeof t?this.options.radioAllOff:(t=!!t,t===this.options.radioAllOff?this.$element:(this.options.radioAllOff=t,this.$element))},t.prototype.onInit=function(t){return"undefined"==typeof t?this.options.onInit:(t||(t=e.fn.bootstrapSwitch.defaults.onInit),this.options.onInit=t,this.$element)},t.prototype.onSwitchChange=function(t){return"undefined"==typeof t?this.options.onSwitchChange:(t||(t=e.fn.bootstrapSwitch.defaults.onSwitchChange),this.options.onSwitchChange=t,this.$element)},t.prototype.destroy=function(){var t;return t=this.$element.closest("form"),t.length&&t.off("reset.bootstrapSwitch").removeData("bootstrap-switch"),this.$container.children().not(this.$element).remove(),this.$element.unwrap().unwrap().off(".bootstrapSwitch").removeData("bootstrap-switch"),this.$element},t.prototype._width=function(){var t,e;return t=this.$on.add(this.$off),t.add(this.$label).css("width",""),e="auto"===this.options.handleWidth?Math.max(this.$on.width(),this.$off.width()):this.options.handleWidth,t.width(e),this.$label.width(function(t){return function(i,n){return"auto"!==t.options.labelWidth?t.options.labelWidth:e>n?e:n}}(this)),this._handleWidth=this.$on.outerWidth(),this._labelWidth=this.$label.outerWidth(),this.$container.width(2*this._handleWidth+this._labelWidth),this.$wrapper.width(this._handleWidth+this._labelWidth)},t.prototype._containerPosition=function(t,e){return null==t&&(t=this.options.state),this.$container.css("margin-left",function(e){return function(){var i;return i=[0,"-"+e._handleWidth+"px"],e.options.indeterminate?"-"+e._handleWidth/2+"px":t?e.options.inverse?i[1]:i[0]:e.options.inverse?i[0]:i[1]}}(this)),e?setTimeout(function(){return e()},50):void 0},t.prototype._init=function(){var t,e;return t=function(t){return function(){return t.setPrevOptions(),t._width(),t._containerPosition(null,function(){return t.options.animate?t.$wrapper.addClass(t.options.baseClass+"-animate"):void 0})}}(this),this.$wrapper.is(":visible")?t():e=i.setInterval(function(n){return function(){return n.$wrapper.is(":visible")?(t(),i.clearInterval(e)):void 0}}(this),50)},t.prototype._elementHandlers=function(){return this.$element.on({"setPreviousOptions.bootstrapSwitch":function(t){return function(e){return t.setPrevOptions()}}(this),"previousState.bootstrapSwitch":function(t){return function(e){return t.options=t.prevOptions,t.options.indeterminate&&t.$wrapper.addClass(t.options.baseClass+"-indeterminate"),t.$element.prop("checked",t.options.state).trigger("change.bootstrapSwitch",!0)}}(this),"change.bootstrapSwitch":function(t){return function(i,n){var o;return i.preventDefault(),i.stopImmediatePropagation(),o=t.$element.is(":checked"),t._containerPosition(o),o!==t.options.state?(t.options.state=o,t.$wrapper.toggleClass(t.options.baseClass+"-off").toggleClass(t.options.baseClass+"-on"),n?void 0:(t.$element.is(":radio")&&e("[name='"+t.$element.attr("name")+"']").not(t.$element).prop("checked",!1).trigger("change.bootstrapSwitch",!0),t.$element.trigger("switchChange.bootstrapSwitch",[o]))):void 0}}(this),"focus.bootstrapSwitch":function(t){return function(e){return e.preventDefault(),t.$wrapper.addClass(t.options.baseClass+"-focused")}}(this),"blur.bootstrapSwitch":function(t){return function(e){return e.preventDefault(),t.$wrapper.removeClass(t.options.baseClass+"-focused")}}(this),"keydown.bootstrapSwitch":function(t){return function(e){if(e.which&&!t.options.disabled&&!t.options.readonly)switch(e.which){case 37:return e.preventDefault(),e.stopImmediatePropagation(),t.state(!1);case 39:return e.preventDefault(),e.stopImmediatePropagation(),t.state(!0)}}}(this)})},t.prototype._handleHandlers=function(){return this.$on.on("click.bootstrapSwitch",function(t){return function(e){return e.preventDefault(),e.stopPropagation(),t.state(!1),t.$element.trigger("focus.bootstrapSwitch")}}(this)),this.$off.on("click.bootstrapSwitch",function(t){return function(e){return e.preventDefault(),e.stopPropagation(),t.state(!0),t.$element.trigger("focus.bootstrapSwitch")}}(this))},t.prototype._labelHandlers=function(){return this.$label.on({click:function(t){return t.stopPropagation()},"mousedown.bootstrapSwitch touchstart.bootstrapSwitch":function(t){return function(e){return t._dragStart||t.options.disabled||t.options.readonly?void 0:(e.preventDefault(),e.stopPropagation(),t._dragStart=(e.pageX||e.originalEvent.touches[0].pageX)-parseInt(t.$container.css("margin-left"),10),t.options.animate&&t.$wrapper.removeClass(t.options.baseClass+"-animate"),t.$element.trigger("focus.bootstrapSwitch"))}}(this),"mousemove.bootstrapSwitch touchmove.bootstrapSwitch":function(t){return function(e){var i;if(null!=t._dragStart&&(e.preventDefault(),i=(e.pageX||e.originalEvent.touches[0].pageX)-t._dragStart,!(i<-t._handleWidth||i>0)))return t._dragEnd=i,t.$container.css("margin-left",t._dragEnd+"px")}}(this),"mouseup.bootstrapSwitch touchend.bootstrapSwitch":function(t){return function(e){var i;if(t._dragStart)return e.preventDefault(),t.options.animate&&t.$wrapper.addClass(t.options.baseClass+"-animate"),t._dragEnd?(i=t._dragEnd>-(t._handleWidth/2),t._dragEnd=!1,t.state(t.options.inverse?!i:i)):t.state(!t.options.state),t._dragStart=!1}}(this),"mouseleave.bootstrapSwitch":function(t){return function(e){return t.$label.trigger("mouseup.bootstrapSwitch")}}(this)})},t.prototype._externalLabelHandler=function(){var t;return t=this.$element.closest("label"),t.on("click",function(e){return function(i){return i.preventDefault(),i.stopImmediatePropagation(),i.target===t[0]?e.toggleState():void 0}}(this))},t.prototype._formHandler=function(){var t;return t=this.$element.closest("form"),t.data("bootstrap-switch")?void 0:t.on("reset.bootstrapSwitch",function(){return i.setTimeout(function(){return t.find("input").filter(function(){return e(this).data("bootstrap-switch")}).each(function(){return e(this).bootstrapSwitch("state",this.checked)})},1)}).data("bootstrap-switch",!0)},t.prototype._getClasses=function(t){var i,n,o,s;if(!e.isArray(t))return[this.options.baseClass+"-"+t];for(n=[],o=0,s=t.length;s>o;o++)i=t[o],n.push(this.options.baseClass+"-"+i);return n},t}(),e.fn.bootstrapSwitch=function(){var i,o,s;return o=arguments[0],i=2<=arguments.length?t.call(arguments,1):[],s=this,this.each(function(){var t,a;return t=e(this),a=t.data("bootstrap-switch"),a||t.data("bootstrap-switch",a=new n(this,o)),"string"==typeof o?s=a[o].apply(a,i):void 0}),s},e.fn.bootstrapSwitch.Constructor=n,e.fn.bootstrapSwitch.defaults={state:!0,size:null,animate:!0,disabled:!1,readonly:!1,indeterminate:!1,inverse:!1,radioAllOff:!1,onColor:"primary",offColor:"default",onText:"ON",offText:"OFF",labelText:" ",handleWidth:"auto",labelWidth:"auto",baseClass:"bootstrap-switch",wrapperClass:"wrapper",onInit:function(){},onSwitchChange:function(){}}}(window.jQuery,window)}).call(this); \ No newline at end of file diff --git a/bootstrap/addons/touchspin-master/jquery.bootstrap-touchspin.css b/bootstrap/addons/touchspin-master/jquery.bootstrap-touchspin.css new file mode 100644 index 0000000..072e9a9 --- /dev/null +++ b/bootstrap/addons/touchspin-master/jquery.bootstrap-touchspin.css @@ -0,0 +1 @@ +.bootstrap-touchspin .input-group-btn-vertical{position:relative;white-space:nowrap;width:1%;vertical-align:middle;display:table-cell}.bootstrap-touchspin .input-group-btn-vertical>.btn{display:block;float:none;width:100%;max-width:100%;padding:8px 10px;margin-left:-1px;position:relative}.bootstrap-touchspin .input-group-btn-vertical .bootstrap-touchspin-up{border-radius:0;border-top-right-radius:4px}.bootstrap-touchspin .input-group-btn-vertical .bootstrap-touchspin-down{margin-top:-2px;border-radius:0;border-bottom-right-radius:4px}.bootstrap-touchspin .input-group-btn-vertical i{position:absolute;top:3px;left:5px;font-size:9px;font-weight:normal} \ No newline at end of file diff --git a/bootstrap/addons/touchspin-master/jquery.bootstrap-touchspin.js b/bootstrap/addons/touchspin-master/jquery.bootstrap-touchspin.js new file mode 100644 index 0000000..84b7377 --- /dev/null +++ b/bootstrap/addons/touchspin-master/jquery.bootstrap-touchspin.js @@ -0,0 +1 @@ +(function($){var _currentSpinnerId=0;function _scopedEventName(name,id){return name+".touchspin_"+id}function _scopeEventNames(names,id){return $.map(names,function(name){return _scopedEventName(name,id)})}$.fn.TouchSpin=function(options){if(options==="destroy"){this.each(function(){var originalinput=$(this),originalinput_data=originalinput.data();$(document).off(_scopeEventNames(["mouseup","touchend","touchcancel","mousemove","touchmove","scroll","scrollstart"],originalinput_data.spinnerid).join(" "))});return}var defaults={min:0,max:100,initval:"",replacementval:"",step:1,decimals:0,stepinterval:100,forcestepdivisibility:"round",stepintervaldelay:500,verticalbuttons:false,verticalupclass:"glyphicon glyphicon-chevron-up",verticaldownclass:"glyphicon glyphicon-chevron-down",prefix:"",postfix:"",prefix_extraclass:"",postfix_extraclass:"",booster:true,boostat:10,maxboostedstep:false,mousewheel:true,buttondown_class:"btn btn-default",buttonup_class:"btn btn-default",buttondown_txt:"-",buttonup_txt:"+"};var attributeMap={min:"min",max:"max",initval:"init-val",replacementval:"replacement-val",step:"step",decimals:"decimals",stepinterval:"step-interval",verticalbuttons:"vertical-buttons",verticalupclass:"vertical-up-class",verticaldownclass:"vertical-down-class",forcestepdivisibility:"force-step-divisibility",stepintervaldelay:"step-interval-delay",prefix:"prefix",postfix:"postfix",prefix_extraclass:"prefix-extra-class",postfix_extraclass:"postfix-extra-class",booster:"booster",boostat:"boostat",maxboostedstep:"max-boosted-step",mousewheel:"mouse-wheel",buttondown_class:"button-down-class",buttonup_class:"button-up-class",buttondown_txt:"button-down-txt",buttonup_txt:"button-up-txt"};return this.each(function(){var settings,originalinput=$(this),originalinput_data=originalinput.data(),container,elements,value,downSpinTimer,upSpinTimer,downDelayTimeout,upDelayTimeout,spincount=0,spinning=false;init();function init(){if(originalinput.data("alreadyinitialized"))return;originalinput.data("alreadyinitialized",true);_currentSpinnerId+=1;originalinput.data("spinnerid",_currentSpinnerId);if(!originalinput.is("input")){console.log("Must be an input.");return}_initSettings();_setInitval();_checkValue();_buildHtml();_initElements();_hideEmptyPrefixPostfix();_bindEvents();_bindEventsInterface();elements.input.css("display","block")}function _setInitval(){if(settings.initval!==""&&originalinput.val()==="")originalinput.val(settings.initval)}function changeSettings(newsettings){_updateSettings(newsettings);_checkValue();var value=elements.input.val();if(value!==""){value=Number(elements.input.val());elements.input.val(value.toFixed(settings.decimals))}}function _initSettings(){settings=$.extend({},defaults,originalinput_data,_parseAttributes(),options)}function _parseAttributes(){var data={};$.each(attributeMap,function(key,value){var attrName="bts-"+value+"";if(originalinput.is("[data-"+attrName+"]"))data[key]=originalinput.data(attrName)});return data}function _updateSettings(newsettings){settings=$.extend({},settings,newsettings)}function _buildHtml(){var initval=originalinput.val(),parentelement=originalinput.parent();if(initval!=="")initval=Number(initval).toFixed(settings.decimals);originalinput.data("initvalue",initval).val(initval);originalinput.addClass("form-control");if(parentelement.hasClass("input-group"))_advanceInputGroup(parentelement);else _buildInputGroup()}function _advanceInputGroup(parentelement){parentelement.addClass("bootstrap-touchspin");var prev=originalinput.prev(),next=originalinput.next();var downhtml,uphtml,prefixhtml=''+settings.prefix+"",postfixhtml=''+settings.postfix+"";if(prev.hasClass("input-group-btn")){downhtml='";prev.append(downhtml)}else{downhtml='";$(downhtml).insertBefore(originalinput)}if(next.hasClass("input-group-btn")){uphtml='";next.prepend(uphtml)}else{uphtml='";$(uphtml).insertAfter(originalinput)}$(prefixhtml).insertBefore(originalinput);$(postfixhtml).insertAfter(originalinput);container=parentelement}function _buildInputGroup(){var html;if(settings.verticalbuttons)html='
    '+settings.prefix+''+settings.postfix+'
    ';else html='
    '+settings.prefix+''+settings.postfix+'
    ";container=$(html).insertBefore(originalinput);$(".bootstrap-touchspin-prefix",container).after(originalinput);if(originalinput.hasClass("input-sm"))container.addClass("input-group-sm");else if(originalinput.hasClass("input-lg"))container.addClass("input-group-lg")}function _initElements(){elements={down:$(".bootstrap-touchspin-down",container),up:$(".bootstrap-touchspin-up",container),input:$("input",container),prefix:$(".bootstrap-touchspin-prefix",container).addClass(settings.prefix_extraclass),postfix:$(".bootstrap-touchspin-postfix",container).addClass(settings.postfix_extraclass)}}function _hideEmptyPrefixPostfix(){if(settings.prefix==="")elements.prefix.remove();if(settings.postfix==="")elements.postfix.remove()}function _bindEvents(){originalinput.on("keydown",function(ev){var code=ev.keyCode||ev.which;if(code===38){if(spinning!=="up"){upOnce();startUpSpin()}ev.preventDefault()}else if(code===40){if(spinning!=="down"){downOnce();startDownSpin()}ev.preventDefault()}});originalinput.on("keyup",function(ev){var code=ev.keyCode||ev.which;if(code===38)stopSpin();else if(code===40)stopSpin()});originalinput.on("blur",function(){_checkValue()});elements.down.on("keydown",function(ev){var code=ev.keyCode||ev.which;if(code===32||code===13){if(spinning!=="down"){downOnce();startDownSpin()}ev.preventDefault()}});elements.down.on("keyup",function(ev){var code=ev.keyCode||ev.which;if(code===32||code===13)stopSpin()});elements.up.on("keydown",function(ev){var code=ev.keyCode||ev.which;if(code===32||code===13){if(spinning!=="up"){upOnce();startUpSpin()}ev.preventDefault()}});elements.up.on("keyup",function(ev){var code=ev.keyCode||ev.which;if(code===32||code===13)stopSpin()});elements.down.on("mousedown.touchspin",function(ev){elements.down.off("touchstart.touchspin");if(originalinput.is(":disabled"))return;downOnce();startDownSpin();ev.preventDefault();ev.stopPropagation()});elements.down.on("touchstart.touchspin",function(ev){elements.down.off("mousedown.touchspin");if(originalinput.is(":disabled"))return;downOnce();startDownSpin();ev.preventDefault();ev.stopPropagation()});elements.up.on("mousedown.touchspin",function(ev){elements.up.off("touchstart.touchspin");if(originalinput.is(":disabled"))return;upOnce();startUpSpin();ev.preventDefault();ev.stopPropagation()});elements.up.on("touchstart.touchspin",function(ev){elements.up.off("mousedown.touchspin");if(originalinput.is(":disabled"))return;upOnce();startUpSpin();ev.preventDefault();ev.stopPropagation()});elements.up.on("mouseout touchleave touchend touchcancel",function(ev){if(!spinning)return;ev.stopPropagation();stopSpin()});elements.down.on("mouseout touchleave touchend touchcancel",function(ev){if(!spinning)return;ev.stopPropagation();stopSpin()});elements.down.on("mousemove touchmove",function(ev){if(!spinning)return;ev.stopPropagation();ev.preventDefault()});elements.up.on("mousemove touchmove",function(ev){if(!spinning)return;ev.stopPropagation();ev.preventDefault()});$(document).on(_scopeEventNames(["mouseup","touchend","touchcancel"],_currentSpinnerId).join(" "),function(ev){if(!spinning)return;ev.preventDefault();stopSpin()});$(document).on(_scopeEventNames(["mousemove","touchmove","scroll","scrollstart"],_currentSpinnerId).join(" "),function(ev){if(!spinning)return;ev.preventDefault();stopSpin()});originalinput.on("mousewheel DOMMouseScroll",function(ev){if(!settings.mousewheel||!originalinput.is(":focus"))return;var delta=ev.originalEvent.wheelDelta||-ev.originalEvent.deltaY||-ev.originalEvent.detail;ev.stopPropagation();ev.preventDefault();if(delta<0)downOnce();else upOnce()})}function _bindEventsInterface(){originalinput.on("touchspin.uponce",function(){stopSpin();upOnce()});originalinput.on("touchspin.downonce",function(){stopSpin();downOnce()});originalinput.on("touchspin.startupspin",function(){startUpSpin()});originalinput.on("touchspin.startdownspin",function(){startDownSpin()});originalinput.on("touchspin.stopspin",function(){stopSpin()});originalinput.on("touchspin.updatesettings",function(e,newsettings){changeSettings(newsettings)})}function _forcestepdivisibility(value){switch(settings.forcestepdivisibility){case "round":return(Math.round(value/settings.step)*settings.step).toFixed(settings.decimals);case "floor":return(Math.floor(value/settings.step)*settings.step).toFixed(settings.decimals);case "ceil":return(Math.ceil(value/settings.step)*settings.step).toFixed(settings.decimals);default:return value}}function _checkValue(){var val,parsedval,returnval;val=originalinput.val();if(val===""){if(settings.replacementval!==""){originalinput.val(settings.replacementval);originalinput.trigger("change")}return}if(settings.decimals>0&&val===".")return;parsedval=parseFloat(val);if(isNaN(parsedval))if(settings.replacementval!=="")parsedval=settings.replacementval;else parsedval=0;returnval=parsedval;if(parsedval.toString()!==val)returnval=parsedval;if(parsedvalsettings.max)returnval=settings.max;returnval=_forcestepdivisibility(returnval);if(Number(val).toString()!==returnval.toString()){originalinput.val(returnval);originalinput.trigger("change")}}function _getBoostedStep(){if(!settings.booster)return settings.step;else{var boosted=Math.pow(2,Math.floor(spincount/settings.boostat))*settings.step;if(settings.maxboostedstep)if(boosted>settings.maxboostedstep){boosted=settings.maxboostedstep;value=Math.round(value/boosted)*boosted}return Math.max(settings.step,boosted)}}function upOnce(){_checkValue();value=parseFloat(elements.input.val());if(isNaN(value))value=0;var initvalue=value,boostedstep=_getBoostedStep();value=value+boostedstep;if(value>settings.max){value=settings.max;originalinput.trigger("touchspin.on.max");stopSpin()}elements.input.val(Number(value).toFixed(settings.decimals));if(initvalue!==value)originalinput.trigger("change")}function downOnce(){_checkValue();value=parseFloat(elements.input.val());if(isNaN(value))value=0;var initvalue=value,boostedstep=_getBoostedStep();value=value-boostedstep;if(valuea{color:#3c763d}.nav-tabs li.bv-tab-error>a{color:#a94442}.bv-form .bv-icon-no-label{top:0}.bv-form .bv-icon-input-group{top:0;z-index:100} \ No newline at end of file diff --git a/bootstrap/addons/validator/bootstrapValidator.min.js b/bootstrap/addons/validator/bootstrapValidator.min.js new file mode 100644 index 0000000..cf62b33 --- /dev/null +++ b/bootstrap/addons/validator/bootstrapValidator.min.js @@ -0,0 +1,13 @@ +/*! + * BootstrapValidator (http://bootstrapvalidator.com) + * The best jQuery plugin to validate form fields. Designed to use with Bootstrap 3 + * + * @version v0.5.2, built on 2014-09-25 4:01:07 PM + * @author https://twitter.com/nghuuphuoc + * @copyright (c) 2013 - 2014 Nguyen Huu Phuoc + * @license MIT + */ +if("undefined"==typeof jQuery)throw new Error("BootstrapValidator's JavaScript requires jQuery");!function(a){var b=function(b,c){this.$form=a(b),this.options=a.extend({},a.fn.bootstrapValidator.DEFAULT_OPTIONS,c),this.$invalidFields=a([]),this.$submitButton=null,this.$hiddenButton=null,this.STATUS_NOT_VALIDATED="NOT_VALIDATED",this.STATUS_VALIDATING="VALIDATING",this.STATUS_INVALID="INVALID",this.STATUS_VALID="VALID";var d=function(){for(var a=3,b=document.createElement("div"),c=b.all||[];b.innerHTML="",c[0];);return a>4?a:!a}(),e=document.createElement("div");this._changeEvent=9!==d&&"oninput"in e?"input":"keyup",this._submitIfValid=null,this._cacheFields={},this._init()};b.prototype={constructor:b,_init:function(){var b=this,c={container:this.$form.attr("data-bv-container"),events:{formInit:this.$form.attr("data-bv-events-form-init"),formError:this.$form.attr("data-bv-events-form-error"),formSuccess:this.$form.attr("data-bv-events-form-success"),fieldAdded:this.$form.attr("data-bv-events-field-added"),fieldRemoved:this.$form.attr("data-bv-events-field-removed"),fieldInit:this.$form.attr("data-bv-events-field-init"),fieldError:this.$form.attr("data-bv-events-field-error"),fieldSuccess:this.$form.attr("data-bv-events-field-success"),fieldStatus:this.$form.attr("data-bv-events-field-status"),validatorError:this.$form.attr("data-bv-events-validator-error"),validatorSuccess:this.$form.attr("data-bv-events-validator-success")},excluded:this.$form.attr("data-bv-excluded"),feedbackIcons:{valid:this.$form.attr("data-bv-feedbackicons-valid"),invalid:this.$form.attr("data-bv-feedbackicons-invalid"),validating:this.$form.attr("data-bv-feedbackicons-validating")},group:this.$form.attr("data-bv-group"),live:this.$form.attr("data-bv-live"),message:this.$form.attr("data-bv-message"),onError:this.$form.attr("data-bv-onerror"),onSuccess:this.$form.attr("data-bv-onsuccess"),submitButtons:this.$form.attr("data-bv-submitbuttons"),threshold:this.$form.attr("data-bv-threshold"),trigger:this.$form.attr("data-bv-trigger"),verbose:this.$form.attr("data-bv-verbose"),fields:{}};this.$form.attr("novalidate","novalidate").addClass(this.options.elementClass).on("submit.bv",function(a){a.preventDefault(),b.validate()}).on("click.bv",this.options.submitButtons,function(){b.$submitButton=a(this),b._submitIfValid=!0}).find("[name], [data-bv-field]").each(function(){var d=a(this),e=d.attr("name")||d.attr("data-bv-field"),f=b._parseOptions(d);f&&(d.attr("data-bv-field",e),c.fields[e]=a.extend({},f,c.fields[e]))}),this.options=a.extend(!0,this.options,c),this.$hiddenButton=a("',$msg,'
    '; +} + +if ((!isset($_POST['install']) && !isset($_POST['confweb'])) || $err_lvl == 1 || $err_lvl == 2) { +?> +
    + +
    +
    +
    +

    + +

    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    *
    +
    +
    +
    + +
    + +
    *
    +
    +
    +
    +
    +
     
    +
    +
    +
    + +
    + +
    *
    +
    +
    +
    + +
    + +
    *
    +
    +
    +
    +
    +
    +
    +
     
    +
    +
    + +
    +
    +
     
    +
    +
    +
    +
    + + + + + + + + +
    + +
    +
    +
    +

    + +

    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    + +
    *
    +
    +
    +
    + +
    + +
    *
    +
    +
    +
    +
    +
     
    +
    +
    +
     
    +
    +
    + +
    +
    +
     
    +
    +
    +
    +
    + +
    + +
    +
    +
    +
    +
    + + \ No newline at end of file diff --git a/jobs/bot.php b/jobs/bot.php index 9396ac0..03fda76 100644 --- a/jobs/bot.php +++ b/jobs/bot.php @@ -44,6 +44,11 @@ function enter_logfile($logpath,$timezone,$loglevel,$logtext) { require_once(substr(__DIR__,0,-4).'other/config.php'); +if(version_compare(phpversion(), '5.5.0', '<')) { + enter_logfile($logpath,$timezone,1,"Your PHP version (".phpversion().") is below 5.5.0. Update of PHP needed! Shuttin down!\n\n"); + exit; +} + enter_logfile($logpath,$timezone,5,"Initialize Bot..."); require_once(substr(__DIR__,0,-4).'ts3_lib/TeamSpeak3.php'); require_once(substr(__DIR__,0,-4).'jobs/calc_user.php'); @@ -54,7 +59,7 @@ require_once(substr(__DIR__,0,-4).'jobs/calc_userstats.php'); require_once(substr(__DIR__,0,-4).'jobs/clean.php'); require_once(substr(__DIR__,0,-4).'jobs/check_db.php'); -function log_mysql($jobname,$mysqlcon,$timezone) { +function log_mysql($jobname,$mysqlcon,$timezone,$dbname) { $timestamp = time(); if($mysqlcon->exec("INSERT INTO $dbname.job_log (timestamp,job_name,status) VALUES ('$timestamp','$jobname','9')") === false) { enter_logfile($logpath,$timezone,2,print_r($mysqlcon->errorInfo())); @@ -127,26 +132,24 @@ try { if($defchid != 0) { try { usleep($slowmode); $ts3->clientMove($whoami['client_id'],$defchid); } catch (Exception $e) {} } - $jobid = log_mysql('calc_user',$mysqlcon,$timezone); - calc_user($ts3,$mysqlcon,$lang,$dbname,$slowmode,$jobid,$timezone,$showgen,$update,$grouptime,$boostarr,$resetbydbchange,$msgtouser,$uniqueid,$updateinfotime,$currvers,$substridle,$exceptuuid,$exceptgroup,$allclients,$logpath); + $jobid = log_mysql('calc_user',$mysqlcon,$timezone,$dbname); + calc_user($ts3,$mysqlcon,$lang,$dbname,$slowmode,$jobid,$timezone,$update,$grouptime,$boostarr,$resetbydbchange,$msgtouser,$uniqueid,$updateinfotime,$currvers,$substridle,$exceptuuid,$exceptgroup,$allclients,$logpath,$rankupmsg,$ignoreidle,$exceptcid); check_shutdown($timezone,$logpath); usleep($slowmode); - $jobid = log_mysql('get_avatars',$mysqlcon,$timezone); + $jobid = log_mysql('get_avatars',$mysqlcon,$timezone,$dbname); get_avatars($ts3,$mysqlcon,$lang,$dbname,$slowmode,$jobid,$timezone,$logpath); check_shutdown($timezone,$logpath); usleep($slowmode); - $jobid = log_mysql('update_groups',$mysqlcon,$timezone); + $jobid = log_mysql('update_groups',$mysqlcon,$timezone,$dbname); update_groups($ts3,$mysqlcon,$lang,$dbname,$slowmode,$jobid,$timezone,$serverinfo,$logpath); check_shutdown($timezone,$logpath); usleep($slowmode); - $jobid = log_mysql('calc_serverstats',$mysqlcon,$timezone); + $jobid = log_mysql('calc_serverstats',$mysqlcon,$timezone,$dbname); calc_serverstats($ts3,$mysqlcon,$lang,$dbname,$slowmode,$jobid,$timezone,$serverinfo,$substridle,$grouptime,$logpath); check_shutdown($timezone,$logpath); usleep($slowmode); - $jobid = log_mysql('calc_userstats',$mysqlcon,$timezone); + $jobid = log_mysql('calc_userstats',$mysqlcon,$timezone,$dbname); calc_userstats($ts3,$mysqlcon,$lang,$dbname,$slowmode,$jobid,$timezone,$logpath); check_shutdown($timezone,$logpath); usleep($slowmode); - $jobid = log_mysql('clean',$mysqlcon,$timezone); + $jobid = log_mysql('clean',$mysqlcon,$timezone,$dbname); clean($ts3,$mysqlcon,$lang,$dbname,$slowmode,$jobid,$timezone,$cleanclients,$cleanperiod,$logpath); - //check auf fehler in job_log $looptime = microtime(true) - $starttime; - //echo DateTime::createFromFormat('U.u', number_format(microtime(true), 6, '.', ''))->setTimeZone(new DateTimeZone($timezone))->format("Y-m-d H:i:s.u "),"Loop: ",$looptime,"\n"; } } catch (Exception $e) { diff --git a/jobs/calc_serverstats.php b/jobs/calc_serverstats.php index 53cec9f..5ba1d9d 100644 --- a/jobs/calc_serverstats.php +++ b/jobs/calc_serverstats.php @@ -212,14 +212,14 @@ function calc_serverstats($ts3,$mysqlcon,$lang,$dbname,$slowmode,$jobid,$timezon $server_bytes_up = $serverinfo['connection_bytes_sent_total']; $server_uptime = $serverinfo['virtualserver_uptime']; $server_id = $serverinfo['virtualserver_id']; - $server_name = str_replace('\\', '\\\\', htmlspecialchars($serverinfo['virtualserver_name'], ENT_QUOTES)); + $server_name = $mysqlcon->quote($serverinfo['virtualserver_name'], ENT_QUOTES); $server_pass = $serverinfo['virtualserver_flag_password']; $server_creation_date = $serverinfo['virtualserver_created']; $server_platform = $serverinfo['virtualserver_platform']; $server_weblist = $serverinfo['virtualserver_weblist_enabled']; $server_version = $serverinfo['virtualserver_version']; - if($mysqlcon->exec("UPDATE $dbname.stats_server SET total_user='$total_user', total_online_time='$total_online_time', total_online_month='$total_online_month', total_online_week='$total_online_week', total_active_time='$total_active_time', total_inactive_time='$total_inactive_time', country_nation_name_1='$country_nation_name_1', country_nation_name_2='$country_nation_name_2', country_nation_name_3='$country_nation_name_3', country_nation_name_4='$country_nation_name_4', country_nation_name_5='$country_nation_name_5', country_nation_1='$country_nation_1', country_nation_2='$country_nation_2', country_nation_3='$country_nation_3', country_nation_4='$country_nation_4', country_nation_5='$country_nation_5', country_nation_other='$country_nation_other', platform_1='$platform_1', platform_2='$platform_2', platform_3='$platform_3', platform_4='$platform_4', platform_5='$platform_5', platform_other='$platform_other', version_name_1='$version_name_1', version_name_2='$version_name_2', version_name_3='$version_name_3', version_name_4='$version_name_4', version_name_5='$version_name_5', version_1='$version_1', version_2='$version_2', version_3='$version_3', version_4='$version_4', version_5='$version_5', version_other='$version_other', version_name_1='$version_name_1', server_status='$server_status', server_free_slots='$server_free_slots', server_used_slots='$server_used_slots', server_channel_amount='$server_channel_amount', server_ping='$server_ping', server_packet_loss='$server_packet_loss', server_bytes_down='$server_bytes_down', server_bytes_up='$server_bytes_up', server_uptime='$server_uptime', server_id='$server_id', server_name='$server_name', server_pass='$server_pass', server_creation_date='$server_creation_date', server_platform='$server_platform', server_weblist='$server_weblist', server_version='$server_version'") === false) { + if($mysqlcon->exec("UPDATE $dbname.stats_server SET total_user='$total_user', total_online_time='$total_online_time', total_online_month='$total_online_month', total_online_week='$total_online_week', total_active_time='$total_active_time', total_inactive_time='$total_inactive_time', country_nation_name_1='$country_nation_name_1', country_nation_name_2='$country_nation_name_2', country_nation_name_3='$country_nation_name_3', country_nation_name_4='$country_nation_name_4', country_nation_name_5='$country_nation_name_5', country_nation_1='$country_nation_1', country_nation_2='$country_nation_2', country_nation_3='$country_nation_3', country_nation_4='$country_nation_4', country_nation_5='$country_nation_5', country_nation_other='$country_nation_other', platform_1='$platform_1', platform_2='$platform_2', platform_3='$platform_3', platform_4='$platform_4', platform_5='$platform_5', platform_other='$platform_other', version_name_1='$version_name_1', version_name_2='$version_name_2', version_name_3='$version_name_3', version_name_4='$version_name_4', version_name_5='$version_name_5', version_1='$version_1', version_2='$version_2', version_3='$version_3', version_4='$version_4', version_5='$version_5', version_other='$version_other', version_name_1='$version_name_1', server_status='$server_status', server_free_slots='$server_free_slots', server_used_slots='$server_used_slots', server_channel_amount='$server_channel_amount', server_ping='$server_ping', server_packet_loss='$server_packet_loss', server_bytes_down='$server_bytes_down', server_bytes_up='$server_bytes_up', server_uptime='$server_uptime', server_id='$server_id', server_name=$server_name, server_pass='$server_pass', server_creation_date='$server_creation_date', server_platform='$server_platform', server_weblist='$server_weblist', server_version='$server_version'") === false) { enter_logfile($logpath,$timezone,2,"calc_serverstats 8:".print_r($mysqlcon->errorInfo())); $sqlmsg .= print_r($mysqlcon->errorInfo()); $sqlerr++; diff --git a/jobs/calc_user.php b/jobs/calc_user.php index f56816f..9e5d744 100644 --- a/jobs/calc_user.php +++ b/jobs/calc_user.php @@ -1,32 +1,61 @@ query("SELECT * FROM $dbname.job_check WHERE job_name='get_version'")) === false) { + enter_logfile($logpath,$timezone,2,"calc_user -3:".print_r($mysqlcon->errorInfo())); + $sqlmsg .= print_r($mysqlcon->errorInfo()); + $sqlerr++; + } else { + $getversion = $getversion->fetchAll(); + $updatetime = $nowtime - 43200; + if ($getversion[0]['timestamp'] < $updatetime) { + set_error_handler(function() { }); + $newversion = file_get_contents('http://ts-n.net/ranksystem/version'); + restore_error_handler(); + if($mysqlcon->exec("UPDATE $dbname.job_check SET timestamp='$nowtime' WHERE job_name='get_version'") === false) { + enter_logfile($logpath,$timezone,2,"calc_user -2:".print_r($mysqlcon->errorInfo())); + $sqlmsg .= print_r($mysqlcon->errorInfo()); + $sqlerr++; + } + if($mysqlcon->exec("UPDATE $dbname.config SET newversion='$newversion'") === false) { + enter_logfile($logpath,$timezone,2,"calc_user -1:".print_r($mysqlcon->errorInfo())); + $sqlmsg .= print_r($mysqlcon->errorInfo()); + $sqlerr++; + } + } + } + if ($update == 1) { $updatetime = $nowtime - $updateinfotime; if(($lastupdate = $mysqlcon->query("SELECT * FROM $dbname.job_check WHERE job_name='check_update'")) === false) { - enter_logfile($logpath,$timezone,2,"calc_user 1:".print_r($mysqlcon->errorInfo())); + enter_logfile($logpath,$timezone,2,"calc_user 0:".print_r($mysqlcon->errorInfo())); $sqlmsg .= print_r($mysqlcon->errorInfo()); $sqlerr++; } $lastupdate = $lastupdate->fetchAll(); if ($lastupdate[0]['timestamp'] < $updatetime) { - set_error_handler(function() { }); - $newversion = file_get_contents('http://ts-n.net/ranksystem/version'); - restore_error_handler(); - if (substr($newversion, 0, 4) != substr($currvers, 0, 4) && $newversion != '') { + if(($getversion = $mysqlcon->query("SELECT newversion FROM $dbname.config")) === false) { + enter_logfile($logpath,$timezone,2,"calc_user 1:".print_r($mysqlcon->errorInfo())); + $sqlmsg .= print_r($mysqlcon->errorInfo()); + $sqlerr++; + } + $getversion = $getversion->fetchAll(); + $newversion = $getversion[0]; + if(version_compare(substr($newversion, 0, 5), substr($currvers, 0, 5), '>') && $newversion != '') { enter_logfile($logpath,$timezone,4,$lang['upinf']); foreach ($uniqueid as $clientid) { - check_shutdown($timezone); usleep($slowmode); + check_shutdown($timezone,$logpath); usleep($slowmode); try { $ts3->clientGetByUid($clientid)->message(sprintf($lang['upmsg'], $currvers, $newversion)); - enter_logfile($logpath,$timezone,5," ".sprintf($lang['upusrinf'], $clientid)); + enter_logfile($logpath,$timezone,4," ".sprintf($lang['upusrinf'], $clientid)); } catch (Exception $e) { - enter_logfile($logpath,$timezone,2," ".sprintf($lang['upusrerr'], $clientid)); + enter_logfile($logpath,$timezone,4," ".sprintf($lang['upusrerr'], $clientid)); $sqlmsg .= $e->getCode() . ': ' . $e->getMessage(); $sqlerr++; } @@ -80,7 +109,7 @@ function calc_user($ts3,$mysqlcon,$lang,$dbname,$slowmode,$jobid,$timezone,$show } unset($uuids); - check_shutdown($timezone); usleep($slowmode); + check_shutdown($timezone,$logpath); usleep($slowmode); $yetonline[] = ''; $insertdata = ''; if(empty($grouptime)) { @@ -103,8 +132,12 @@ function calc_user($ts3,$mysqlcon,$lang,$dbname,$slowmode,$jobid,$timezone,$show $nation=$client['client_country']; $version=$client['client_version']; $firstconnect=$client['client_created']; + $channel=$client['cid']; if (!in_array($uid, $yetonline) && $client['client_version'] != "ServerQuery") { $clientidle = floor($client['client_idle_time'] / 1000); + if(isset($ignoreidle) && $clientidle < $ignoreidle) { + $clientidle = 0; + } $yetonline[] = $uid; if(in_array($uid, $exceptuuid) || array_intersect($sgroups, $exceptgroup)) { $except = 1; @@ -130,7 +163,7 @@ function calc_user($ts3,$mysqlcon,$lang,$dbname,$slowmode,$jobid,$timezone,$show $boosttime = $nowtime; } else { if ($nowtime > $sqlhis[$uid]['boosttime'] + $boost['time']) { - check_shutdown($timezone); usleep($slowmode); + check_shutdown($timezone,$logpath); usleep($slowmode); try { $ts3->serverGroupClientDel($boost['group'], $cldbid); $boosttime = 0; @@ -173,10 +206,14 @@ function calc_user($ts3,$mysqlcon,$lang,$dbname,$slowmode,$jobid,$timezone,$show $grpcount=0; foreach ($grouptime as $time => $groupid) { $grpcount++; - if ($activetime > $time && !in_array($uid, $exceptuuid) && !array_intersect($sgroups, $exceptgroup)) { + if(in_array($channel, $exceptcid)) { + $count = $sqlhis[$uid]['count']; + $idle = $sqlhis[$uid]['idle']; + $except = 1; + } elseif ($activetime > $time && !in_array($uid, $exceptuuid) && !array_intersect($sgroups, $exceptgroup)) { if ($sqlhis[$uid]['grpid'] != $groupid) { if ($sqlhis[$uid]['grpid'] != 0 && in_array($sqlhis[$uid]['grpid'], $sgroups)) { - check_shutdown($timezone); usleep($slowmode); + check_shutdown($timezone,$logpath); usleep($slowmode); try { $ts3->serverGroupClientDel($sqlhis[$uid]['grpid'], $cldbid); enter_logfile($logpath,$timezone,5,sprintf($lang['sgrprm'], $sqlhis[$uid]['grpid'], $name, $uid, $cldbid)); @@ -188,7 +225,7 @@ function calc_user($ts3,$mysqlcon,$lang,$dbname,$slowmode,$jobid,$timezone,$show } } if (!in_array($groupid, $sgroups)) { - check_shutdown($timezone); usleep($slowmode); + check_shutdown($timezone,$logpath); usleep($slowmode); try { $ts3->serverGroupClientAdd($groupid, $cldbid); enter_logfile($logpath,$timezone,5,sprintf($lang['sgrpadd'], $groupid, $name, $uid, $cldbid)); @@ -206,22 +243,12 @@ function calc_user($ts3,$mysqlcon,$lang,$dbname,$slowmode,$jobid,$timezone,$show $hours = $dtF->diff($dtT)->format('%h'); $mins = $dtF->diff($dtT)->format('%i'); $secs = $dtF->diff($dtT)->format('%s'); - if ($substridle == 1) { - try { - $ts3->clientGetByUid($uid)->message(sprintf($lang['usermsgactive'], $days, $hours, $mins, $secs)); - } catch (Exception $e) { - enter_logfile($logpath,$timezone,2,"calc_user 11:".sprintf($lang['sgrprerr'], $name, $uid, $cldbid)); - $sqlmsg .= $e->getCode() . ': ' . $e->getMessage(); - $sqlerr++; - } - } else { - try { - $ts3->clientGetByUid($uid)->message(sprintf($lang['usermsgonline'], $days, $hours, $mins, $secs)); - } catch (Exception $e) { - enter_logfile($logpath,$timezone,2,"calc_user 12:".sprintf($lang['sgrprerr'], $name, $uid, $cldbid)); - $sqlmsg .= $e->getCode() . ': ' . $e->getMessage(); - $sqlerr++; - } + try { + $ts3->clientGetByUid($uid)->message(sprintf($rankupmsg, $days, $hours, $mins, $secs)); + } catch (Exception $e) { + enter_logfile($logpath,$timezone,2,"calc_user 12:".sprintf($lang['sgrprerr'], $name, $uid, $cldbid)); + $sqlmsg .= $e->getCode() . ': ' . $e->getMessage(); + $sqlerr++; } } } diff --git a/jobs/calc_userstats.php b/jobs/calc_userstats.php index da957ab..b417e9a 100644 --- a/jobs/calc_userstats.php +++ b/jobs/calc_userstats.php @@ -117,7 +117,7 @@ function calc_userstats($ts3,$mysqlcon,$lang,$dbname,$slowmode,$jobid,$timezone, $count_month = 0; $idle_month = 0; } - $clientdesc = str_replace('\\', '\\\\', htmlspecialchars($clientinfo['client_description'], ENT_QUOTES)); + $clientdesc = $mysqlcon->quote($clientinfo['client_description'], ENT_QUOTES);; if(isset($uidarrstats[$userstats['uuid']])) { $allupdateuuid = $allupdateuuid . "'" . $userstats['uuid'] . "',"; $allupdaterank = $allupdaterank . "WHEN '" . $userstats['uuid'] . "' THEN '" . $userstats['rank'] . "' "; @@ -129,9 +129,9 @@ function calc_userstats($ts3,$mysqlcon,$lang,$dbname,$slowmode,$jobid,$timezone, $allupdatebase64 = $allupdatebase64 . "WHEN '" . $userstats['uuid'] . "' THEN '" . $clientinfo['client_base64HashClientUID'] . "' "; $allupdatecldtup = $allupdatecldtup . "WHEN '" . $userstats['uuid'] . "' THEN '" . $clientinfo['client_total_bytes_uploaded'] . "' "; $allupdatecldtdo = $allupdatecldtdo . "WHEN '" . $userstats['uuid'] . "' THEN '" . $clientinfo['client_total_bytes_downloaded'] . "' "; - $allupdateclddes = $allupdateclddes . "WHEN '" . $userstats['uuid'] . "' THEN '" . $clientdesc . "' "; + $allupdateclddes = $allupdateclddes . "WHEN '" . $userstats['uuid'] . "' THEN " . $clientdesc . " "; } else { - $allinsertuserstats = $allinsertuserstats . "('" . $userstats['uuid'] . "', '" .$userstats['rank'] . "', '" . $count_week . "', '" . $count_month . "', '" . $idle_week . "', '" . $idle_month . "', '" . $clientinfo['client_totalconnections'] . "', '" . $clientinfo['client_base64HashClientUID'] . "', '" . $clientinfo['client_total_bytes_uploaded'] . "', '" . $clientinfo['client_total_bytes_downloaded'] . "', '" . $clientdesc . "'),"; + $allinsertuserstats = $allinsertuserstats . "('" . $userstats['uuid'] . "', '" .$userstats['rank'] . "', '" . $count_week . "', '" . $count_month . "', '" . $idle_week . "', '" . $idle_month . "', '" . $clientinfo['client_totalconnections'] . "', '" . $clientinfo['client_base64HashClientUID'] . "', '" . $clientinfo['client_total_bytes_uploaded'] . "', '" . $clientinfo['client_total_bytes_downloaded'] . "', " . $clientdesc . "),"; } } catch (Exception $e) { //error would be, when client is missing in ts db diff --git a/jobs/check_db.php b/jobs/check_db.php index d18888c..b693fe6 100644 --- a/jobs/check_db.php +++ b/jobs/check_db.php @@ -1,6 +1,6 @@ exec("CREATE INDEX serverusage_timestamp ON $dbname.server_usage (timestamp)") === false) { } + if($mysqlcon->exec("ALTER TABLE $dbname.config ADD (advancemode int(1) NOT NULL default '0', count_access int(2) NOT NULL default '0', last_access bigint(11) NOT NULL default '0', ignoreidle bigint(11) NOT NULL default '0', exceptcid text CHARACTER SET utf8 COLLATE utf8_unicode_ci, rankupmsg text CHARACTER SET utf8 COLLATE utf8_unicode_ci, boost_mode int(1) NOT NULL default '0', newversion varchar(25) CHARACTER SET utf8 COLLATE utf8_unicode_ci)") === false) { } else { + enter_logfile($logpath,$timezone,4," Adjusted table config successfully."); + } + if($mysqlcon->exec("UPDATE $dbname.config set ignoreidle='600', rankupmsg='\\nHey, you got a rank up, cause you reached an activity of %s days, %s hours, %s minutes and %s seconds.', newversion='1.1.0'") === false) { } else { + enter_logfile($logpath,$timezone,4," Set default values to new fields in table config."); + } + if($mysqlcon->exec("INSERT INTO $dbname.job_check (job_name) VALUES ('get_version')") === false) { } else { + enter_logfile($logpath,$timezone,4," Set new values to table job_check."); + } + if(($password = $mysqlcon->query("SELECT webpass FROM $dbname.config")) === false) { } + $password = $password->fetchAll(); + if(strlen($password[0]['webpass']) != 60) { + $newwebpass = password_hash($password[0]['webpass'], PASSWORD_DEFAULT); + if($mysqlcon->exec("UPDATE $dbname.config set webpass='$newwebpass'") === false) { } else { + enter_logfile($logpath,$timezone,4," Encrypted password for the webinterface and wrote hash to database."); + } + } + if($mysqlcon->exec("ALTER TABLE $dbname.config DROP COLUMN showexgrp, DROP COLUMN showgen, DROP COLUMN bgcolor, DROP COLUMN hdcolor, DROP COLUMN txcolor, DROP COLUMN hvcolor, DROP COLUMN ifcolor, DROP COLUMN wncolor, DROP COLUMN sccolor") === false) { } else { + enter_logfile($logpath,$timezone,4," Delete old configs, which are no more needed."); + } $currvers = set_new_version($mysqlcon,$dbname,$timezone,$newversion,$logpath); old_files($timezone); check_chmod($timezone); diff --git a/jobs/clean.php b/jobs/clean.php index fb0b3ab..3077d52 100644 --- a/jobs/clean.php +++ b/jobs/clean.php @@ -37,7 +37,7 @@ function clean($ts3,$mysqlcon,$lang,$dbname,$slowmode,$jobid,$timezone,$cleancli $countrs = $dbuserdata->rowCount(); $uuids = $dbuserdata->fetchAll(); if ($lastclean[0]['timestamp'] < $cleantime) { - enter_logfile($logpath,$timezone,5,$lang['clean']); + enter_logfile($logpath,$timezone,4,$lang['clean']); $start=0; $break=200; $clientdblist=array(); @@ -50,7 +50,7 @@ function clean($ts3,$mysqlcon,$lang,$dbname,$slowmode,$jobid,$timezone,$cleancli if ($start == 100000 || $count_tsuser['count'] <= $start) { break; } - check_shutdown($timezone); usleep($slowmode); + check_shutdown($timezone,$logpath); usleep($slowmode); } foreach($clientdblist as $uuidts) { $single_uuid = $uuidts['client_unique_identifier']->toString(); @@ -68,8 +68,8 @@ function clean($ts3,$mysqlcon,$lang,$dbname,$slowmode,$jobid,$timezone,$cleancli } unset($uidarrts); - enter_logfile($logpath,$timezone,5," ".sprintf($lang['cleants'], $countts, $count_tsuser['count'])); - enter_logfile($logpath,$timezone,5," ".sprintf($lang['cleanrs'], $countrs)); + enter_logfile($logpath,$timezone,4," ".sprintf($lang['cleants'], $countts, $count_tsuser['count'])); + enter_logfile($logpath,$timezone,4," ".sprintf($lang['cleanrs'], $countrs)); if(isset($deleteuuids)) { $alldeldata = ''; @@ -84,7 +84,7 @@ function clean($ts3,$mysqlcon,$lang,$dbname,$slowmode,$jobid,$timezone,$cleancli $sqlmsg .= print_r($mysqlcon->errorInfo()); $sqlerr++; } else { - enter_logfile($logpath,$timezone,5," ".sprintf($lang['cleandel'], $countdel)); + enter_logfile($logpath,$timezone,4," ".sprintf($lang['cleandel'], $countdel)); if($mysqlcon->exec("UPDATE $dbname.job_check SET timestamp='$nowtime' WHERE job_name='check_clean'") === false) { enter_logfile($logpath,$timezone,2,"clean 6:".print_r($mysqlcon->errorInfo())); $sqlmsg .= print_r($mysqlcon->errorInfo()); @@ -93,7 +93,7 @@ function clean($ts3,$mysqlcon,$lang,$dbname,$slowmode,$jobid,$timezone,$cleancli } } } else { - enter_logfile($logpath,$timezone,2," ".$lang['cleanno']); + enter_logfile($logpath,$timezone,4," ".$lang['cleanno']); if($mysqlcon->exec("UPDATE $dbname.job_check SET timestamp='$nowtime' WHERE job_name='check_clean'") === false) { enter_logfile($logpath,$timezone,2,"clean 7:".print_r($mysqlcon->errorInfo())); $sqlmsg .= print_r($mysqlcon->errorInfo()); diff --git a/jobs/get_avatars.php b/jobs/get_avatars.php index 8f6bc12..80d557e 100644 --- a/jobs/get_avatars.php +++ b/jobs/get_avatars.php @@ -6,7 +6,7 @@ function get_avatars($ts3,$mysqlcon,$lang,$dbname,$slowmode,$jobid,$timezone,$lo $count = 0; try { - check_shutdown($timezone); usleep($slowmode); + check_shutdown($timezone,$logpath); usleep($slowmode); $tsfilelist = $ts3->channelFileList($cid="0", $cpw="", $path="/"); } catch (Exception $e) { if ($e->getCode() != 1281) { @@ -29,7 +29,7 @@ function get_avatars($ts3,$mysqlcon,$lang,$dbname,$slowmode,$jobid,$timezone,$lo if (!isset($fsfilelistarray[$uuidasbase16.'.png']) || $tsfile['datetime']>$fsfilelistarray[$uuidasbase16.'.png']) { if (substr($tsfile['name'],0,7) == 'avatar_') { try { - check_shutdown($timezone); usleep($slowmode); + check_shutdown($timezone,$logpath); usleep($slowmode); $avatar = $ts3->transferInitDownload($clientftfid="5",$cid="0",$name=$fullfilename,$cpw="", $seekpos=0); $transfer = TeamSpeak3::factory("filetransfer://" . $avatar["host"] . ":" . $avatar["port"]); $tsfile = $transfer->download($avatar["ftkey"], $avatar["size"]); diff --git a/jobs/update_groups.php b/jobs/update_groups.php index 58364fa..6dc2bbb 100644 --- a/jobs/update_groups.php +++ b/jobs/update_groups.php @@ -5,7 +5,7 @@ function update_groups($ts3,$mysqlcon,$lang,$dbname,$slowmode,$jobid,$timezone,$ $sqlerr = 0; try { - check_shutdown($timezone); usleep($slowmode); + check_shutdown($timezone,$logpath); usleep($slowmode); $iconlist = $ts3->channelFileList($cid="0", $cpw="", $path="/icons/"); } catch (Exception $e) { if ($e->getCode() != 1281) { @@ -21,7 +21,7 @@ function update_groups($ts3,$mysqlcon,$lang,$dbname,$slowmode,$jobid,$timezone,$ } try { - check_shutdown($timezone); usleep($slowmode); + check_shutdown($timezone,$logpath); usleep($slowmode); $ts3->serverGroupListReset(); $ts3groups = $ts3->serverGroupList(); } catch (Exception $e) { @@ -56,7 +56,7 @@ function update_groups($ts3,$mysqlcon,$lang,$dbname,$slowmode,$jobid,$timezone,$ if (!isset($sqlhisgroup['0']) || $sqlhisgroup['0']['iconid'] != $sIconId || $iconarr["i".$sIconId] > $sqlhisgroup['0']['icondate']) { if($sIconId > 600) { try { - check_shutdown($timezone); usleep($slowmode); + check_shutdown($timezone,$logpath); usleep($slowmode); enter_logfile($logpath,$timezone,5,"Download new ServerIcon"); $sIconFile = $ts3->iconDownload(); if(file_put_contents(substr(dirname(__FILE__),0,-4) . "icons/servericon.png", $sIconFile) === false) { @@ -71,7 +71,7 @@ function update_groups($ts3,$mysqlcon,$lang,$dbname,$slowmode,$jobid,$timezone,$ if (!isset($sqlhisgroup['0'])) { $insertgroups[] = array( "sgid" => "0", - "sgidname" => "ServerIcon", + "sgidname" => $mysqlcon->quote("ServerIcon", ENT_QUOTES), "iconid" => $sIconId, "icon" => $sIconFile, "icondate" => $iconarr["i".$sIconId] @@ -79,7 +79,7 @@ function update_groups($ts3,$mysqlcon,$lang,$dbname,$slowmode,$jobid,$timezone,$ } else { $updategroups[] = array( "sgid" => "0", - "sgidname" => "ServerIcon", + "sgidname" => $mysqlcon->quote("ServerIcon", ENT_QUOTES), "iconid" => $sIconId, "icon" => $sIconFile, "icondate" => $iconarr["i".$sIconId] @@ -91,7 +91,7 @@ function update_groups($ts3,$mysqlcon,$lang,$dbname,$slowmode,$jobid,$timezone,$ foreach ($ts3groups as $servergroup) { $tsgroupids[] = $servergroup['sgid']; $sgid = $servergroup['sgid']; - $sgname = str_replace('\\', '\\\\', htmlspecialchars($servergroup['name'], ENT_QUOTES)); + $sgname = $mysqlcon->quote($servergroup['name'], ENT_QUOTES); $gefunden = 2; $iconid = $servergroup['iconid']; $iconid = ($iconid < 0) ? (pow(2, 32)) - ($iconid * -1) : $iconid; @@ -148,7 +148,11 @@ function update_groups($ts3,$mysqlcon,$lang,$dbname,$slowmode,$jobid,$timezone,$ if (isset($insertgroups)) { $allinsertdata = ''; foreach ($insertgroups as $insertarr) { - $allinsertdata = $allinsertdata . "('" . $insertarr['sgid'] . "', '" . $insertarr['sgidname'] . "', '" . $insertarr['iconid'] . "', '" . $insertarr['icondate'] . "'),"; + if( $insertarr['iconid'] == 0) { + //enter_logfile($logpath,$timezone,6,"IconID is 0 for (servergroup) ".$insertarr['sgidname']." (".$insertarr['sgid'].")"); + continue; + } + $allinsertdata = $allinsertdata . "('" . $insertarr['sgid'] . "', " . $insertarr['sgidname'] . ", '" . $insertarr['iconid'] . "', '" . $insertarr['icondate'] . "'),"; } $allinsertdata = substr($allinsertdata, 0, -1); if ($allinsertdata != '') { @@ -167,7 +171,7 @@ function update_groups($ts3,$mysqlcon,$lang,$dbname,$slowmode,$jobid,$timezone,$ $allupdatedate = ''; foreach ($updategroups as $updatedata) { $allsgids = $allsgids . "'" . $updatedata['sgid'] . "',"; - $allupdatesgid = $allupdatesgid . "WHEN '" . $updatedata['sgid'] . "' THEN '" . $updatedata['sgidname'] . "' "; + $allupdatesgid = $allupdatesgid . "WHEN '" . $updatedata['sgid'] . "' THEN " . $updatedata['sgidname'] . " "; $allupdateiconid = $allupdateiconid . "WHEN '" . $updatedata['sgid'] . "' THEN '" . $updatedata['iconid'] . "' "; $allupdatedate = $allupdatedate . "WHEN '" . $updatedata['sgid'] . "' THEN '" . $updatedata['icondate'] . "' "; } diff --git a/languages/core_ar.php b/languages/core_ar.php new file mode 100644 index 0000000..0844dc7 --- /dev/null +++ b/languages/core_ar.php @@ -0,0 +1,364 @@ + added to the Ranksystem now."; +$lang['changedbid'] = "User %s (unique Client-ID: %s) got a new TeamSpeak Client-database-ID (%s). Update the old Client-database-ID (%s) and reset collected times!"; +$lang['crawl'] = "البحث عن المستخدمين المتواجدين وحساب التفاعل"; +$lang['clean'] = "البحث عن المستخدمين الذين من المفروض حذفهم"; +$lang['cleanc'] = "تصفية المستخدمين"; +$lang['cleancdesc'] = "With this function the old clients in the Ranksystem get deleted.

    To this end, the Ranksystem sychronized with the TeamSpeak database. Clients, which do not exist in TeamSpeak, will be deleted from the Ranksystem.

    This function is only enabled when the 'Slowmode' is deactivated!


    For automatic adjustment of the TeamSpeak database the ClientCleaner can be used:
    http://ts-n.net/clientcleaner.php"; +$lang['cleandel'] = "There were %s clients deleted out of the Ranksystem database, cause they were no longer existing in the TeamSpeak database."; +$lang['cleanno'] = "ليس هناك شيء ليتم مسحه "; +$lang['cleanp'] = "مدى التصفية"; +$lang['cleanpdesc'] = "Set a time that has to elapse before the 'clean clients' runs next.

    Set a time in seconds.

    Recommended is once a day, cause the client cleaning needs much time for bigger databases."; +$lang['cleanrs'] = "المستخدمون في قاعدة باينات نظام الرتب: %s"; +$lang['cleants'] = "المستخدمين الذين تم العثور عليهم في قاعدة بايانات التيم سبيك: %s (of %s)"; +$lang['days'] = "المئوية %d"; +$lang['dbconerr'] = "فشل الدخول الى قاعدة بيانات قاعدة بيانات: "; +$lang['delcldgrpif'] = "خلل عند حذف المعلومات من مجموعات السيرفر: %s"; +$lang['delcldgrpsc'] = "Knowledge about servergroups for %s User successfully removed."; +$lang['delclientsif'] = "%s Clients deleted out of the Ranksystem database!"; +$lang['delclientssc'] = "%s Clients successfully deleted out of the Ranksystem database!"; +$lang['errlogin'] = "اسم المستخدم او كلمة المرور خاطئة! حاول مجددا..."; +$lang['errlogin2'] = "Brute force protection: Try it again in %s seconds!"; +$lang['errlogin3'] = "Brute force protection: To much misstakes. Banned for 300 Seconds!"; +$lang['error'] = "خلل "; +$lang['errremgrp'] = "Error while removing user with unique Client-ID %s out of the servergroup with servergroup-database-ID %s!"; +$lang['errremdb'] = "Error while removing user with unique Client-ID %s out of the Ranksystem database!"; +$lang['errsel'] = "Error while choosing the selections with
    selected client: %s
    option 'delete clients': %s
    option 'sum. online time': %s"; +$lang['errukwn'] = "حدث خلل غير معروف!"; +$lang['errupcount'] = "Error while renewing the summary online time of %s by user with the unique Client-ID %s"; +$lang['highest'] = "تم الوصول الى اعلى رتبة"; +$lang['install'] = "Installation"; +$lang['instdb'] = "تنصيب قاعدة البيانات"; +$lang['instdbsuc'] = "قاعدة البيانات %s أنشات بنجاح."; +$lang['isntwicfg'] = "Can't save the database configuration! Please edit the 'other/dbconfig.php' with a chmod 0777 and try again after."; +$lang['isntwicfg2'] = "Configurate Webinterface"; +$lang['isntwichm'] = "Write Permissions failed on folder \"%s\". Please give them a chmod 777 and try to start the Ranksystem again."; +$lang['isntwidbhost'] = "DB Hostaddress:"; +$lang['isntwidbhostdesc'] = "عنوان خادم قاعدة البيانات
    (IP or DNS)"; +$lang['isntwidbmsg'] = "خلل في قاعدة البيانات: "; +$lang['isntwidbname'] = "DB Name:"; +$lang['isntwidbnamedesc'] = "اسم قاعدة البيانات"; +$lang['isntwidbpass'] = "DB Password:"; +$lang['isntwidbpassdesc'] = "كلمة مرور قاعدة البيانات"; +$lang['isntwidbtype'] = "DB Type:"; +$lang['isntwidbtypedesc'] = "Database type

    You have to install the needed PDO Driver.
    For more informations have look at the requirements on http://ts-n.net/ranksystem.php"; +$lang['isntwidbusr'] = "DB User:"; +$lang['isntwidbusrdesc'] = "User to access the database"; +$lang['isntwidel'] = "Please delete the file 'install.php' from your webserver and open the %s to configure the Ranksystem!"; +$lang['isntwiusr'] = "المستخدم للوحة التحكم انشئ بنجاح"; +$lang['isntwiusrcr'] = "Create Webinterface-User"; +$lang['isntwiusrdesc'] = "ادخل الاسم وكلمة المرور للدخول الى لوحة التحكم . بإستخدام لوحة التحكم يمكنك التعديل على نظام الرتب"; +$lang['isntwiusrh'] = "Access - Webinterface"; +$lang['listacsg'] = "actual servergroup"; +$lang['listcldbid'] = "Client-database-ID"; +$lang['listexgrp'] = "Will not conside for the Ranksystem (servergroup exception)."; +$lang['listexuid'] = "Will not conside for the Ranksystem (client exception)."; +$lang['listip'] = "IP address"; +$lang['listnick'] = "اسم المستخدم"; +$lang['listnxsg'] = "الرتبة التالية"; +$lang['listnxup'] = "الترفيع التالي"; +$lang['listrank'] = "رتبة"; +$lang['listseen'] = "اخر ظهور"; +$lang['listsuma'] = "sum. وقت التفاعل"; +$lang['listsumi'] = "sum. وقت عدم التواجد"; +$lang['listsumo'] = "sum. وقت التواجد"; +$lang['listuid'] = "unique Client-ID"; +$lang['login'] = "Login"; +$lang['nocount'] = "User %s (unique Client-ID: %s; Client-database-ID %s) is a query-user or is several times online (only first connection counts) -> this will not count!"; +$lang['noentry'] = "لم يتم العثور على اي مدخلات"; +$lang['pass'] = "كلمة المرور"; +$lang['queryname'] = "اسم البوت الاول قيد الاستخدام جاري المحاولة باسم البوت الثاني"; +$lang['sccrmcld'] = "User with unique Client-ID %s successfull removed from the Ranksystem database."; +$lang['sccupcount'] = "User with the unique Client-ID %s successfull overwritten with a summary online time of %s."; +$lang['setontime'] = "sum. online time"; +$lang['setontimedesc'] = "Enter a new summary online time, which should be set to the previous selected clients. With this the old summary online gets overwritten.

    The entered summary online time will be considered for the rank up."; +$lang['sgrpadd'] = "Grant servergroup %s to user %s (unique Client-ID: %s; Client-database-ID %s)."; +$lang['sgrprerr'] = "It happened a problem with the servergroup of the user %s (unique Client-ID: %s; Client-database-ID %s)!"; +$lang['sgrprm'] = "تم حذف مجموعة السيرفر %s من المستخدم %s (unique Client-ID: %s; Client-database-ID %s)."; +$lang['stix0001'] = "حالة السيرفر"; +$lang['stix0002'] = "مجموع المستخدمين"; +$lang['stix0003'] = "عرض التفاصيل"; +$lang['stix0004'] = "مجموع وقت التواجد لكل المستخدمين"; +$lang['stix0005'] = "اضهار الاول في كل الاوقات"; +$lang['stix0006'] = "اضهار الاول لهذا الشهر"; +$lang['stix0007'] = "اضهار الاول لهذا الاسبوع"; +$lang['stix0008'] = "مدة استعمال السيرفر"; +$lang['stix0009'] = "في اخر 7 ايام"; +$lang['stix0010'] = "في اخر 30 يوم"; +$lang['stix0011'] = "في اخر 24 ساعة"; +$lang['stix0012'] = "حدد المدة"; +$lang['stix0013'] = "قبل يوم"; +$lang['stix0014'] = "قبل اسبوع"; +$lang['stix0015'] = "قبل شهر"; +$lang['stix0016'] = "Active / inactive time (of all clients)"; +$lang['stix0017'] = "الاصدارات (كل المستخدمين)"; +$lang['stix0018'] = "القوميات (لكل المستخدمين)"; +$lang['stix0019'] = "Platforms (of all clients)"; +$lang['stix0020'] = "Current statistics"; +$lang['stix0023'] = "حالة السيرفر"; +$lang['stix0024'] = "متواجد"; +$lang['stix0025'] = "غير متواجد"; +$lang['stix0026'] = " (Online / Max)"; +$lang['stix0027'] = "عدد القنوات"; +$lang['stix0028'] = "Average server ping"; +$lang['stix0029'] = "Total bytes received"; +$lang['stix0030'] = "Total bytes sent"; +$lang['stix0031'] = "وقت عمل السيرفر"; +$lang['stix0032'] = "قبل ايقاف التشغيل:"; +$lang['stix0033'] = "Days 00, Hours 00, Mins 00, Secs 00"; +$lang['stix0034'] = "Average packet loss"; +$lang['stix0035'] = "Overall statistics"; +$lang['stix0036'] = "اسم الخادم"; +$lang['stix0037'] = "عنوان الخادم (Host Address : Port)"; +$lang['stix0038'] = "كلمة مرور الخادم"; +$lang['stix0039'] = "لا (الخادم عام)"; +$lang['stix0040'] = "نعم (الخادم خاص)"; +$lang['stix0041'] = "Server ID"; +$lang['stix0042'] = "Server platform"; +$lang['stix0043'] = "اصدار السيرفر"; +$lang['stix0044'] = "تاريخ انشاء الخادم (يوم/شهر/سنة)"; +$lang['stix0045'] = "ابلاغ الى جدو السيرفر"; +$lang['stix0046'] = "مفعل"; +$lang['stix0047'] = "غير مفعل"; +$lang['stix0048'] = "عدد غير كافي من المعلومات حتى الان"; +$lang['stix0049'] = "وقت التواجد لكل المستخدمين / شهر"; +$lang['stix0050'] = "وقت التواجد لكل المستخدمين / اسبوع"; +$lang['stix0051'] = "لقد فشل التيم سبيك لذا لن يكون هناك عملية انشاء"; +$lang['stmy0001'] = "حالتي"; +$lang['stmy0002'] = "رتبة"; +$lang['stmy0003'] = "Database ID:"; +$lang['stmy0004'] = "Unique ID:"; +$lang['stmy0005'] = "عدد مرات الدخول الى السيرفر:"; +$lang['stmy0006'] = "تاريخ بدء الحالة:"; +$lang['stmy0007'] = "المجموع الكلي لوقت التواجد:"; +$lang['stmy0008'] = "وقت التواجد للايام الـ7 الاخيرة:"; +$lang['stmy0009'] = "وقت التواجد للايام الـ30 الاخيرة:"; +$lang['stmy0010'] = "اكملت الانجازات:"; +$lang['stmy0011'] = "Time achievement progress"; +$lang['stmy0012'] = "Time: Legendary"; +$lang['stmy0013'] = "ساعات %s لانه لديك وقت تواجد"; +$lang['stmy0014'] = "Progress completed"; +$lang['stmy0015'] = "Time: Gold"; +$lang['stmy0016'] = "Completed for Legendary %"; +$lang['stmy0017'] = "Time: Silver"; +$lang['stmy0018'] = "Completed for Gold %"; +$lang['stmy0019'] = "Time: Bronze"; +$lang['stmy0020'] = "Completed for Silver %"; +$lang['stmy0021'] = "Time: Unranked"; +$lang['stmy0022'] = "Completed for Bronze %"; +$lang['stmy0023'] = "Connection achievement progress"; +$lang['stmy0024'] = "Connects: اسطوري"; +$lang['stmy0025'] = "مرات الى سيرفر التيم سبيك %s لانك قمت بالدخول"; +$lang['stmy0026'] = "Connects: ذهبي"; +$lang['stmy0027'] = "Connects: فضي"; +$lang['stmy0028'] = "Connects: برونزي"; +$lang['stmy0029'] = "Connects: لايوجد رتبة"; +$lang['stmy0030'] = "Progress next servergroup"; +$lang['stnv0001'] = "اخبار الخادم"; +$lang['stnv0002'] = "اغلاق"; +$lang['stnv0003'] = "انعاش معلومات المستخدم"; +$lang['stnv0004'] = "Only use this refresh, when your TS3 information got changed, such as your TS3 username"; +$lang['stnv0005'] = "يعمل عندما تكون داخل سيرفر الـتيمسبيك في نفس الوقت"; +$lang['stnv0006'] = "إنعاش"; +$lang['stnv0007'] = "منطقة النزال - مضمون الصفحة"; +$lang['stnv0008'] = "يمكنك تحدي المستخدمين الاخرين في معركة بين اثنين او بين فريقين"; +$lang['stnv0009'] = "في خلال المعركة سيتم حساب وقت التواجد للاعبين او للفريقين"; +$lang['stnv0010'] = "عند انتهاء المعركة المستخدم او الفريق الذي لديه اعلى وقت تواحد سيعتبر الفائز"; +$lang['stnv0011'] = "(الوقت الاعتيادي للمعركة هو 48 ساعة)"; +$lang['stnv0012'] = "المستخدم او الفريق الفائز يحصل على مبلغ يمكنه استخدامه عندما يريد"; +$lang['stnv0013'] = "سيتم اضهاره على لوحة My statistics "; +$lang['stnv0014'] = "( يمكن ان يكون تسريع وقت تواجد لمدة 8 ساعات, زيادة وقت التواجد 4 ساعات اضافية , الخ "; +$lang['stnv0015'] = "يمكن استخدام هذه التسريعات للصعود على سبيل المثال فوق افضل المستخدمين للاسبوع"; +$lang['stnv0016'] = "غير متوفر"; +$lang['stnv0017'] = "You are not connected to the TS3 Server, so it can't display any data for you."; +$lang['stnv0018'] = "Please connect to the TS3 Server and then Refresh your Session by pressing the blue Refresh Button at the top-right corner."; +$lang['stnv0019'] = "My statistics - Page content"; +$lang['stnv0020'] = "تحتوي هذا الصفحة على مختصر لحالتك الخاصة ومجموع وقت تواجدك على السيرفر"; +$lang['stnv0021'] = "The informations are collected since the beginning of the Ranksystem, they are not since the beginning of the TeamSpeak server."; +$lang['stnv0022'] = "This page receives its values out of a database. So the values might be delayed a bit."; +$lang['stnv0023'] = "The sum inside of the donut charts may differ to the amount of 'Total user'. The reason is that this data weren't collected with older versions of the Ranksystem."; +$lang['stnv0024'] = "نظام الرتب - الحالة"; +$lang['stnv0025'] = "تحديد المدخلات"; +$lang['stnv0026'] = "الكل"; +$lang['stnv0027'] = "المعلومات على هذه الصفحة قد تكون منتهية الصلاحية! يبدو ان نظام الرتب لم يعد متصلا بسيرفر التيم سبيك"; +$lang['stnv0028'] = "(انت غير متصل بسيرفر التيم سبيك!)"; +$lang['stnv0029'] = "List Rankup"; +$lang['stnv0030'] = "لغات نظام الرتب"; +$lang['stnv0031'] = "About the search field you can search for pattern in clientname, unique Client-ID and Client-database-ID."; +$lang['stnv0032'] = "You can also use a view filter options (see below). Enter the filter also inside the search field."; +$lang['stnv0033'] = "Combination of filter and search pattern are possible. Enter first the filter(s) followed without any sign your search pattern."; +$lang['stnv0034'] = "Also it is possible to combine multiple filters. Enter this consecutively inside the search field."; +$lang['stnv0035'] = "Example:
    filter:nonexcepted:TeamSpeakUser"; +$lang['stnv0036'] = "Show only clients, which are excepted (client, servergroup or channel exception)."; +$lang['stnv0037'] = "Show only clients, which are not excepted."; +$lang['stnv0038'] = "Show only clients, which are online."; +$lang['stnv0039'] = "Show only clients, which are not online."; +$lang['stnv0040'] = "Show only clients, which are in defined group. Represent the actuel rank/level.
    Replace GROUPID with the wished servergroup ID."; +$lang['stnv0041'] = "Show only clients, which are selected by lastseen.
    Replace OPERATOR with '<' or '>' or '=' or '!='.
    And replace TIME with a timestamp or date with format 'Y-m-d H-i' (example: 2016-06-18 20-25).
    Full example: filter:lastseen:<:2016-06-18 20-25:"; +$lang['stnv0042'] = "Show only clients, which are from defined country.
    Replace TS3-COUNTRY-CODE with the wished country.
    For list of codes google for ISO 3166-1 alpha-2"; +$lang['stri0001'] = "معلومات نظام الرتب"; +$lang['stri0002'] = "ماهو نظام الرتب؟"; +$lang['stri0003'] = "A TS3 Bot, which automatically grant ranks (servergroups) to user on a TeamSpeak 3 Server for online time or online activity. It also gathers informations and statistics about the user and displays the result on this site."; +$lang['stri0004'] = "من الذي اخترع نظام الرتب؟"; +$lang['stri0005'] = "متى تم اطلاق نظام الرتب ؟"; +$lang['stri0006'] = "اول اصدار اولي: 05/10/2014."; +$lang['stri0007'] = "اول اصدار تجريبي: 01/02/2015."; +$lang['stri0008'] = "يمكنك رؤية اخر اصدار على Ranksystem Website."; +$lang['stri0009'] = "كيف تم انشاء نظام الرتب ؟"; +$lang['stri0010'] = "The Ranksystem is coded in"; +$lang['stri0011'] = "It uses also the following libraries:"; +$lang['stri0012'] = "شكر خاص الى:"; +$lang['stri0013'] = "sergey, Arselopster & DeviantUser - for russian translation"; +$lang['stri0014'] = "Bejamin Frost - for initialisation the bootstrap design"; +$lang['stri0015'] = "ZanK - for italian translation"; +$lang['stri0016'] = "DeStRoYzR & Jehad - for initialisation arabic translation"; +$lang['stri0017'] = "SakaLuX - for initialisation romanian translation"; +$lang['sttw0001'] = "افضل مستخدمين"; +$lang['sttw0002'] = "لهذا الاسبوع"; +$lang['sttw0003'] = "مع %s ساعات وقت تواجد"; +$lang['sttw0004'] = "Top 10 compared"; +$lang['sttw0005'] = "Hours (Defines 100 %)"; +$lang['sttw0006'] = "%s hours (%s%)"; +$lang['sttw0007'] = "Top 10 Statistics"; +$lang['sttw0008'] = "Top 10 vs others in online time"; +$lang['sttw0009'] = "Top 10 vs others in active time"; +$lang['sttw0010'] = "Top 10 vs others in inactive time"; +$lang['sttw0011'] = "Top 10 (in hours)"; +$lang['sttw0012'] = "(in hours) Other users %s"; +$lang['sttw0013'] = "With %s hours active time"; +$lang['sttm0001'] = "لهذا الشهر"; +$lang['stta0001'] = "لكل الوقت"; +$lang['upinf'] = "يتوفر اصدار جديد من نظام الرتب; ابلغ المستخدمين في السيرفر"; +$lang['upmsg'] = "\nHey, a new version of the [B]Ranksystem[/B] is available!\n\ncurrent version: %s\n[B]new version: %s[/B]\n\nPlease check out our site for more informations [URL]http://ts-n.net/ranksystem.php[/URL]."; +$lang['upsucc'] = "Database update successfully executed."; +$lang['upuser'] = "User %s (unique Client-ID: %s; Client-database-ID %s) gets a new count (sum. online time) of %s (thereof active %s)."; +$lang['upuserboost'] = "User %s (unique Client-ID: %s; Client-database-ID %s) gets a new count (sum. online time) of %s (thereof active %s) [BOOST %sx]."; +$lang['upusrerr'] = "The unique Client-ID %s couldn't reached on the TeamSpeak!"; +$lang['upusrinf'] = "المستخدم %s المستخدمح"; +$lang['user'] = "اسم المستخدم"; +$lang['wiaction'] = "action"; +$lang['wiboost'] = "boost"; +$lang['wiboostdesc'] = "Give an user on your TeamSpeak server a servergroup (have to be created manually), which you can declare here as boost group. Define also a factor which should be used (for example 2x) and a time, how long the boost should be rated.
    The higher the factor, the faster an user reaches the next higher rank.
    Is the time expired, the boost servergroup get automatically removed from the concerned user. The time starts running as soon as the user gets the servergroup.

    servergroup ID => factor => time (in seconds)

    Each entry have to separate from next with a comma.

    Example:
    12=>2=>6000,13=>3=>2500,14=>5=>600

    On this an user in servergroup 12 get the factor 2 for the next 6000 seconds, an user in servergroup 13 get the factor 3 for 2500 seconds, and so on..."; +$lang['wibot1'] = "Ranksystem Bot should be stopped. Check the log below for more information!"; +$lang['wibot2'] = "Ranksystem Bot should be started. Check the log below for more information!"; +$lang['wibot3'] = "Ranksystem Bot should be restarted. Check the log below for more information!"; +$lang['wibot4'] = "Start / Stop Ranksystem Bot"; +$lang['wibot5'] = "Start Bot"; +$lang['wibot6'] = "Stop Bot"; +$lang['wibot7'] = "Restart Bot"; +$lang['wibot8'] = "Ranksystem log (extract):"; +$lang['wibot9'] = "Fill out all mandatory fields before starting the Ranksystem Bot!"; +$lang['wichdbid'] = "Client-database-ID reset"; +$lang['wichdbiddesc'] = "Reset the online time of an user, if his TeamSpeak Client-database-ID changed.

    Example:
    If a clients gets removed from the TeamSpeak server, it gets a new Client-database-ID with the next connect to the server."; +$lang['wiconferr'] = "There is an error in the configuration of the Ranksystem. Please go to the webinterface and correct the Core Settings. Especially check the config 'rank up'!"; +$lang['widaform'] = "نظام التاريخ"; +$lang['widaformdesc'] = "اختر كيفية ضهور التاريخ.

    Example:
    %a ايام, %h ساعات, %i دقائق, %s ثوان"; +$lang['widbcfgsuc'] = "تعديلات قاعدة البيانات حفظت بنجاح"; +$lang['widbcfgerr'] = "'other/dbconfig.php'خلل عند حفظ تعديلات قاعدة البيانات فشل الاتصال مع "; +$lang['widelcld'] = "حذف المستخدمين"; +$lang['widelcldgrp'] = "اعادة انشاء المجاميع"; +$lang['widelcldgrpdesc'] = "The Ranksystem remember the given servergroups, so it don't need to give/check this with every run of the worker.php again.

    With this function you can remove once time the knowledge of given servergroups. In effect the ranksystem try to give all clients (which are on the TS3 server online) the servergroup of the actual rank.
    For each client, which gets the group or stay in group, the Ranksystem remember this like described at beginning.

    This function can be helpful, when user are not in the servergroup, they should be for the defined online time.

    Attention: Run this in a moment, where the next few minutes no rankups become due!!! The Ranksystem can't remove the old group, cause he can't remember ;-)"; +$lang['widelclddesc'] = "Delete the before selected clients out of the Ranksystem database.

    With this deletion are the clients on the TeamSpeak Server untouched."; +$lang['widelsg'] = "حذف من مجموعات السيرفر"; +$lang['widelsgdesc'] = "Choose if the clients should also be removed out of the last known servergroup, when you delete clients out of the Ranksystem database.

    It will only considered servergroups, which concerned the Ranksystem"; +$lang['wideltime'] = "وقت الحذف"; +$lang['wideltimedesc'] = "Clean old clients out of the Ranksystem database.
    Entry a time in seconds which a client was not seen to delete it.

    0 - deletes all clients out of the Ranksystem

    The Userdatas on the TeamSpeak server are with this untouched!"; +$lang['wiexcid'] = "Channel-Ausnahmen"; +$lang['wiexciddesc'] = "A comma separated list of the channel-IDs that are not to participate in the Ranksystem.

    Stay users in one of the listed channels, the time there will be completely ignored. There is neither the online time, yet the idle time counted.

    Sense does this function only with the mode 'online time', cause here could be ignored AFK channels for example.
    With the mode 'active time', this function is useless because as would be deducted the idle time in AFK rooms and thus not counted anyway.

    Be a user in an excluded channel, it is noted for this period as 'excluded from the Ranksystem'. The user dows no longer appears in the list 'stats/list_rankup.php' unless excluded clients should not be displayed there (Stats Page - excepted client)."; +$lang['wiexgrp'] = "servergroup exception"; +$lang['wiexgrpdesc'] = "A comma seperated list of servergroup-IDs, which should not conside for the Ranksystem.
    User in at least one of this servergroups IDs will be ignored for the rank up."; +$lang['wiexuid'] = "استثناء المستخدم"; +$lang['wiexuiddesc'] = "A comma seperated list of unique Client-IDs, which should not conside for the Ranksystem.
    User in this list will be ignored for the rank up."; +$lang['wigrptime'] = "ترفيع رتبة"; +$lang['wigrptimedesc'] = "Define here after which time a user should get automatically a predefined servergroup.

    time (seconds)=>servergroup ID

    Important for this is the 'online time' or the 'active time' of an user, depending on setting of the mode.

    Each entry have to separate from next with a comma.

    The time must be entered cumulative

    Example:
    60=>9,120=>10,180=>11

    On this a user get after 60 seconds the servergroup 9, in turn after 60 seconds the servergroup 10, and so on..."; +$lang['wihladm'] = "List Rankup (Admin-Mode)"; +$lang['wihlcfg'] = "خيارات النواة"; +$lang['wihldb'] = "اعدادات قاعدة البيانات"; +$lang['wihlmsg'] = "Message settings"; +$lang['wihlsty'] = "Stats page settings"; +$lang['wihlts'] = "TeamSpeak settings"; +$lang['wihlvs'] = "Various settings"; +$lang['wiignidle'] = "Ignoriere Idle"; +$lang['wiignidledesc'] = "Define a period, up to which the idle time of an user will be ignored.

    When a client does not do anything on the server (=idle), this time is noted by the Ranksystem. With this feature the idle time of an user will not be counted until the defined limit. Only when the defined limit is exceeded, it counts from that date for the Ranksystem as idle time.

    This function plays only in conjunction with the mode 'active time' a role.

    Meaning the function is e.g. to evaluate the time of listening in conversations as activity.

    0 = disable the feature

    Example:
    Ignore idle = 600 (seconds)
    A client has an idle of 8 minuntes
    consequence:
    8 minutes idle are ignored and he therefore receives this time as active time. If the idle time now increased to over 12 minutes so the time is over 10 minutes, and in this case 2 minutes would be counted as idle time."; +$lang['wilog'] = "Logpath"; +$lang['wilogdesc'] = "Path of the log file of the Ranksystem.

    Example:
    /var/logs/ranksystem/

    Be sure, the webuser has the write-permissions to the logpath."; +$lang['wimsgmsg'] = "Message"; +$lang['wimsgmsgdesc'] = "Define a message, which will be send to an user, when he rises the next higher rank.

    This message will be send via TS3 private message. So every know bb-code could be used, which also works for a normal private message.
    http://ts-n.net/lexicon.php?showid=97#lexindex

    Furthermore, the previously spent time can be expressed by arguments:
    %1\$s - days
    %2\$s - hours
    %3\$s - minutes
    %4\$s - seconds

    Example:
    Hey,\\nyou reached a higher rank, since you already connected for %1\$s days, %2\$s hours and %3\$s minutes to our TS3 server.[B]Keep it up![/B] ;-)"; +$lang['wilogout'] = "تسجيل الخروج"; +$lang['wimsgusr'] = "Rank up notification"; +$lang['wimsgusrdesc'] = "Inform an user with a private text message about his rank up."; +$lang['winav1'] = "TeamSpeak"; +$lang['winav2'] = "Database"; +$lang['winav3'] = "Core"; +$lang['winav4'] = "Other"; +$lang['winav5'] = "Message"; +$lang['winav6'] = "Stats page"; +$lang['winav7'] = "Administrate"; +$lang['winav8'] = "Start / Stop Bot"; +$lang['winav9'] = "Update available!"; +$lang['winav10'] = "Please use the webinterface only via %s HTTPS%s An encryption is critical to ensure your privacy and security.%sTo be able to use HTTPS your webserver needs to support an SSL connection."; +$lang['wiselcld'] = "select clients"; +$lang['wiselclddesc'] = "Select the clients by the last known username. For this you only have to start typing.
    Multiple selections are comma separated, which does the system automatically.

    With the selection you can choose with the next step an action."; +$lang['wishcolas'] = "actual servergroup"; +$lang['wishcolasdesc'] = "Show column 'actual servergroup' in stats/list_rankup.php"; +$lang['wishcolat'] = "active time"; +$lang['wishcolatdesc'] = "Show column 'sum. active time' in stats/list_rankup.php"; +$lang['wishcolcld'] = "Client-name"; +$lang['wishcolclddesc'] = "Show column 'Client-name' in stats/list_rankup.php"; +$lang['wishcoldbid'] = "database-ID"; +$lang['wishcoldbiddesc'] = "Show column 'Client-database-ID' in stats/list_rankup.php"; +$lang['wishcolit'] = "idle time"; +$lang['wishcolitdesc'] = "Show column 'sum idle time' in stats/list_rankup.php"; +$lang['wishcolls'] = "last seen"; +$lang['wishcollsdesc'] = "Show column 'last seen' in stats/list_rankup.php"; +$lang['wishcolnx'] = "next rank up"; +$lang['wishcolnxdesc'] = "Show column 'next rank up' in stats/list_rankup.php"; +$lang['wishcolot'] = "online time"; +$lang['wishcolotdesc'] = "Show column 'sum. online time' in stats/list_rankup.php"; +$lang['wishcolrg'] = "rank"; +$lang['wishcolrgdesc'] = "Show column 'rank' in stats/list_rankup.php"; +$lang['wishcolsg'] = "next servergroup"; +$lang['wishcolsgdesc'] = "Show column 'next servergroup' in stats/list_rankup.php"; +$lang['wishcoluuid'] = "Client-ID"; +$lang['wishcoluuiddesc'] = "Show column 'unique Client-ID' in stats/list_rankup.php"; +$lang['wishexcld'] = "excepted client"; +$lang['wishexclddesc'] = "Show clients in list_rankup.php,
    which are excluded and therefore not participate in the Ranksystem."; +$lang['wishexgrp'] = "excepted groups"; +$lang['wishexgrpdesc'] = "Show clients in list_rankup.php, which are in the list 'client exception' and shouldn't be conside for the Ranksystem."; +$lang['wishhicld'] = "Clients in highest Level"; +$lang['wishhiclddesc'] = "Show clients in list_rankup.php, which reached the highest level in the Ranksystem."; +$lang['wisupidle'] = "Mode"; +$lang['wisupidledesc'] = "There are two modes, as time can be counted and can then apply for a rank increase. 1) online time: Here the pure online time of the user is taken into account (see column 'sum. online time' in the 'stats/list_rankup.php') 2) active time: This will be deducted from the online time of a user, the inactive time (idle) (see column 'sum. active time' in the 'stats/list_rankup.php'). A change of mode with an already longer running database is not recommended, but may work."; +$lang['wisvconf'] = "save"; +$lang['wisvsuc'] = "Changes successfully saved!"; +$lang['wisvres'] = "You need to restart the Ranksystem before the changes will take effect!"; +$lang['witime'] = "Timezone"; +$lang['witimedesc'] = "Select the timezone the server is hosted."; +$lang['wits3dch'] = "Default Channel"; +$lang['wits3dchdesc'] = "The channel-ID, the bot should connect with.

    The Bot will join this channel after connecting to the TeamSpeak server."; +$lang['wits3host'] = "TS3 Hostaddress"; +$lang['wits3hostdesc'] = "TeamSpeak 3 Server address
    (IP oder DNS)"; +$lang['wits3sm'] = "Slowmode"; +$lang['wits3smdesc'] = "With the Slowmode you can reduce \"spam\" of query commands to the TeamSpeak server. This prevent bans in case of flood.
    TeamSpeak Query commands get delayed with this function.

    !!! ALSO IT REDUCE THE CPU USAGE !!!

    The activation is not recommended, if not required. The delay increases the duration of the Bot, which makes it imprecisely."; +$lang['wits3qnm'] = "Botname"; +$lang['wits3qnm2'] = "2nd Botname"; +$lang['wits3qnm2desc'] = "A fallback Botname, if the first one is already in use."; +$lang['wits3qnmdesc'] = "The name, with this the query-connection will be established.
    You can name it free."; +$lang['wits3querpw'] = "TS3 Query-Password"; +$lang['wits3querpwdesc'] = "TeamSpeak 3 query password
    Password for the query user."; +$lang['wits3querusr'] = "TS3 Query-User"; +$lang['wits3querusrdesc'] = "TeamSpeak 3 query username
    Default is serveradmin
    Of course, you can also create an additional serverquery account only for the Ranksystem.
    The needed permissions you find on:
    http://ts-n.net/ranksystem.php"; +$lang['wits3query'] = "TS3 Query-Port"; +$lang['wits3querydesc'] = "TeamSpeak 3 query port
    Default is 10011 (TCP)
    If its not default, you should find it in your 'ts3server.ini'."; +$lang['wits3voice'] = "TS3 Voice-Port"; +$lang['wits3voicedesc'] = "TeamSpeak 3 voice port
    Default is 9987 (UDP)
    This is the port, you uses also to connect with the TS3 Client."; +$lang['wiupcheck'] = "Update-Check"; +$lang['wiupcheckdesc'] = "If the Update-Check is enable, the listed user gets a notification with a private text message, once an update is available."; +$lang['wiuptime'] = "Interval"; +$lang['wiuptimedesc'] = "Enter here how much seconds have to gone till the Ranksystem should check for available updates.
    Attention, for each check the listed user gets a notification. If no one of the listed users is online, the Ranksystem will try to notificate with the next interval."; +$lang['wiupuid'] = "Recipient"; +$lang['wiupuiddesc'] = "A comma separate list of unique Client-IDs, which shoud be informed on the TeamSpeak via private message for available updates."; +$lang['wivlang'] = "Language"; +$lang['wivlangdesc'] = "Language for the Ranksystem

    de - Deutsch
    en - english
    it - italiano
    ru - русский"; +?> \ No newline at end of file diff --git a/languages/core_de.php b/languages/core_de.php index 8232eda..b8cc52a 100644 --- a/languages/core_de.php +++ b/languages/core_de.php @@ -1,359 +1,364 @@ wurde nun zum Ranksystem hinzugefügt."; -$lang['alrup'] = "Das Ranksystem ist bereits up to date. Bitte lösche diese Datei von deinem Webserver!"; -$lang['changedbid'] = "User %s (eindeutige Client-ID: %s) hat eine neue TeamSpeak Client-Datenbank-ID (%s). Ersetze die alte Client-Datenbank-ID (%s) und setze die gesammelte Zeiten zurück"; -$lang['crawl'] = "Scanne nach verbundenen Usern und sammle die online Zeit..."; -$lang['clean'] = "Scanne nach Usern, welche zu löschen sind..."; -$lang['cleanc'] = "Clientlöschung"; -$lang['cleancdesc'] = "Mit dieser Funktion werden alte Clients aus dem Ranksystem gelöscht.

    Hierzu wird die TeamSpeak Datenbank mit dem Ranksystem abgeglichen. Clients, welche nicht mehr in der TeamSpeak Datenbank existieren, werden aus dem Ranksystem gelöscht.

    Diese Funktion kann nur genutzt werden, wenn der 'Slowmode' deaktiviert ist!


    Zur automatischen Bereinigung der TeamSpeak Datenbank kann der ClientCleaner genutzt werden:
    http://ts-n.net/clientcleaner.php"; -$lang['cleandel'] = "Es wurden %s Clients aus der Ranksystem-Datenbank gelöscht, da sie nicht mehr in der TeamSpeak Datenbank vorhanden sind."; -$lang['cleanno'] = "Es gab nichts zu löschen..."; -$lang['cleanp'] = "Löschintervall"; -$lang['cleanpdesc'] = "Bestimme einen Intervall, wie oft die 'Clientlöschung' laufen soll.

    Angabe der Zeit in Sekunden!

    Empfohlen wird die Clientlöschung nur einmal am Tag laufen zu lassen, da für größere Datenbanken die Laufzeit extrem steigt."; -$lang['cleanrs'] = "Clients in der Ranksystem Datenbank: %s"; -$lang['cleants'] = "Clients in der TeamSpeak Datenbank gefunden: %s (von %s)"; -$lang['days'] = "Tage"; -$lang['dbconerr'] = "Verbindung zur MySQL-Datenbank gescheitert: "; -$lang['delcldgrpif'] = "Fehler beim Löschen der Servergruppen aus der Datenbank: %s"; -$lang['delcldgrpsc'] = "Knowledge der Servergruppen für %s User erfolgreich gelöscht."; -$lang['delclientsif'] = "%s Clients aus der Ranksystem Datenbank gelöscht!"; -$lang['delclientssc'] = "%s Clients aus der Ranksystem Datenbank erfolgreich gelöscht!"; -$lang['errlogin'] = "Benutzername und/oder Passwort sind falsch! Versuche es erneut..."; -$lang['error'] = "Fehler "; -$lang['errremgrp'] = "Fehler beim Entfernen des Users mit der eindeutigen Client-ID %s aus der Servergruppe mit der Servergruppen-Datenbank-ID %s!"; -$lang['errremdb'] = "Fehler beim Löschen des Users mit der eindeutigen Client-ID %s aus der Ranksystem Datenbank!"; -$lang['errsel'] = "Fehler bei der Auswahl der Bedingungen!
    ausgewählte User: %s
    Option 'lösche Clients': %s
    Option 'ges. online Zeit': %s"; -$lang['errukwn'] = "Unbekannter Fehler aufgetreten!"; -$lang['errupcount'] = "Fehler beim Überschreiben der ges. online Zeit %s bei User mit der eindeutigen Client-ID %s!"; -$lang['firstuse'] = "Scheint der erste Lauf zu sein. Starte loggen der Userhistorie..."; -$lang['highest'] = "höchster Rang erreicht"; -$lang['instdb'] = "Installiere Datenbank:"; -$lang['instdberr'] = "Fehler beim Erstellen der Datenbank: "; -$lang['instdbsubm'] = "Datenbank einrichten"; -$lang['instdbsuc'] = "Datenbank %s wurde erfolgreich angelegt."; -$lang['insttb'] = "Installiere Tabellen:"; -$lang['insttberr'] = "Fehler beim Erstellen der Tabelle: "; -$lang['insttbsuc'] = "Tabelle %s wurde erfolgreich angelegt."; -$lang['isntwicfg'] = "Die Datenbankkonfigurationen konnten nicht gespeichert werden! Bitte versehe die 'other/dbconfig.php' mit einem chmod 0777 und versuche es anschließend erneut."; -$lang['isntwichm'] = "Bitte versehe die 'other/dbconfig.php' und die Ordner 'avatars/', 'icons/' und 'logs/' mit den nötigen Dateiberechtigungen. Hierfür je die Berechtigung auf einem chmod 0777 setzen. Anschließend versuche es erneut (Seite neu laden)."; -$lang['isntwidb'] = "Trage deine Datenbank Einstellungen ein:"; -$lang['isntwidberr'] = "Bitte überprüfe, ob alle Felder korrekt ausgefüllt wurden!"; -$lang['isntwidbhost'] = "DB Hostadresse:"; -$lang['isntwidbhostdesc'] = "Datenbank Server Adresse
    (IP oder DNS)"; -$lang['isntwidbmsg'] = "Datenbank-Fehler: "; -$lang['isntwidbname'] = "DB Name:"; -$lang['isntwidbnamedesc'] = "Name der Datenbank"; -$lang['isntwidbpass'] = "DB Passwort:"; -$lang['isntwidbpassdesc'] = "Passwort für die Datenbank"; -$lang['isntwidbtype'] = "DB Typ:"; -$lang['isntwidbtypedesc'] = "Datenbank Typ

    Der benötigte PDO Treiber muss installiert sein.
    Für mehr Informationen beachte die Anforderungen auf http://ts-n.net/ranksystem.php"; -$lang['isntwidbusr'] = "DB Benutzer:"; -$lang['isntwidbusrdesc'] = "Username für die Datenbank"; -$lang['isntwidel'] = "Bitte lösche noch die Datei 'install.php' vom Webserver und öffne danach das %s um das Ranksystem zu konfigurieren!"; -$lang['isntwiusr'] = "Benutzer für das Webinterface wurde erfolgreich erstellt."; -$lang['isntwiusrcr'] = "erstelle Zugang"; -$lang['isntwiusrdesc'] = "Gib einen frei wählbaren Benutzer und ein Passwort für das Webinterface ein. Mit dem Webinterface wird das Ranksystem konfiguriert."; -$lang['isntwiusrh'] = "Zugang - Webinterface"; -$lang['listacsg'] = "atkuelle Servergruppe"; -$lang['listcldbid'] = "Client-Datenbank-ID"; -$lang['listexgrp'] = "Ist vom Ranksystem ausgeschlossen (Servergruppen-Ausnahmen)."; -$lang['listexuid'] = "Ist vom Ranksystem ausgeschlossen (Client-Ausnahmen)."; -$lang['listip'] = "IP Adresse"; -$lang['listnick'] = "Client-Name"; -$lang['listnxsg'] = "nächste Servergruppe"; -$lang['listnxup'] = "nächster Rang"; -$lang['listrank'] = "Rang"; -$lang['listseen'] = "zuletzt gesehen"; -$lang['listsuma'] = "ges. aktive Zeit"; -$lang['listsumi'] = "ges. idle Zeit"; -$lang['listsumo'] = "ges. online Zeit"; -$lang['listtime'] = "%s Tag(e), %s Std., %s Min., %s Sek."; -$lang['listuid'] = "eindeutige Client-ID"; -$lang['new'] = "neu"; -$lang['nocount'] = "User %s (eindeutige Client-ID: %s; Client-Datenbank-ID %s) ist ein Query-User oder ist mehrmals online (nur erste Verbindung zählt) -> diese wird nicht gewertet!"; -$lang['noentry'] = "Keine Einträge gefunden.."; -$lang['pass'] = "Passwort: "; -$lang['queryname'] = "Erster Botname ist bereits in Verwendung. Versuche zweiten Botnamen zu nutzen..."; -$lang['sccrmcld'] = "User mit der eindeutigen Client-ID %s wurde erfolgreich aus der Ranksystem Datenbank gelöscht."; -$lang['sccupcount'] = "User mit der eindeutigen Client-ID %s erhielt erfolgreich ein neue ges. online Zeit von %s."; -$lang['setontime'] = "ges. online Zeit"; -$lang['setontimedesc'] = "Gib eine neue ges. online Zeit ein, welche bei den zuvor selektierten Usern hinterlegt werden soll. Mit dieser wird die alte ges. online Zeit überschrieben.

    Die eingegeben ges. online Zeit wird für die nächsten Rangsteigerungen berücksichtigt."; -$lang['sgrpadd'] = "Servergruppe %s zu User %s (eindeutige Client-ID: %s; Client-Datenbank-ID %s) hinzugefügt."; -$lang['sgrprerr'] = "Es ist ein Problem mit den Servergruppen des Users %s (eindeutige Client-ID: %s; Client-Datenbank-ID %s) aufgetreten!"; -$lang['sgrprm'] = "Servergruppe %s von User %s (eindeutige Client-ID: %s; Client-Datenbank-ID %s) entfernt."; -$lang['sitegen'] = "Seite generiert in %s Sekunden mit %s Clients."; -$lang['sitegenl'] = "Seite generiert in %s Sekunden mit %s Clients (davon %s angezeigt; %s betroffen von Ausnahmeregeln; %s im höchsten Rang)."; -$lang['stix0001'] = "Server Statistiken"; -$lang['stix0002'] = "Anzahl User"; -$lang['stix0003'] = "zeige Liste aller User"; -$lang['stix0004'] = "Online Zeit aller User / Total"; -$lang['stix0005'] = "zeige Top User aller Zeiten"; -$lang['stix0006'] = "zeige Top User des Monats"; -$lang['stix0007'] = "zeige Top User der Woche"; -$lang['stix0008'] = "Server Nutzung"; -$lang['stix0009'] = "der letzten 7 Tage"; -$lang['stix0010'] = "der letzten 30 Tage"; -$lang['stix0011'] = "der letzten 24 Stunden"; -$lang['stix0012'] = "wähle Zeitraum"; -$lang['stix0013'] = "letzten 24 Stunden"; -$lang['stix0014'] = "letzte Woche"; -$lang['stix0015'] = "letzer Monat"; -$lang['stix0016'] = "Aktive / Inaktive Zeit (aller User)"; -$lang['stix0017'] = "Versionen (aller User)"; -$lang['stix0018'] = "Nationalitäten (aller User)"; -$lang['stix0019'] = "Plattformen (aller User)"; -$lang['stix0020'] = "Server Details"; -$lang['stix0023'] = "Server Status"; -$lang['stix0024'] = "Online"; -$lang['stix0025'] = "Offline"; -$lang['stix0026'] = "User (Online / Max)"; -$lang['stix0027'] = "Anzahl aller Channel"; -$lang['stix0028'] = "Server Ping (Mittelwert)"; -$lang['stix0029'] = "Eingehende Daten insg."; -$lang['stix0030'] = "Ausgehende Daten insg."; -$lang['stix0031'] = "Server online seit"; -$lang['stix0032'] = "vor Offlineschaltung:"; -$lang['stix0033'] = "00 Tage, 00 Stunden, 00 Min., 00 Sek."; -$lang['stix0034'] = "Paketverlust (Mittelwert)"; -$lang['stix0035'] = " "; -$lang['stix0036'] = "Server Name"; -$lang['stix0037'] = "Server Adresse (Host Adresse : Port)"; -$lang['stix0038'] = "Server Passwort"; -$lang['stix0039'] = "Nein (Öffentlich)"; -$lang['stix0040'] = "Ja (Privat)"; -$lang['stix0041'] = "Server ID"; -$lang['stix0042'] = "Server Plattform"; -$lang['stix0043'] = "Server Version"; -$lang['stix0044'] = "Server Erstelldatum (dd/mm/yyyy)"; -$lang['stix0045'] = "Report an Serverliste"; -$lang['stix0046'] = "Aktiv"; -$lang['stix0047'] = "Deaktiviert"; -$lang['stix0048'] = "nicht genügend Daten ..."; -$lang['stix0049'] = "Online Zeit aller User / Monat"; -$lang['stix0050'] = "Online Zeit aller User / Woche"; -$lang['stix0051'] = "TeamSpeak hat gefailed, daher kein Erstelldatum..."; -$lang['stmy0001'] = "Meine Statistiken"; -$lang['stmy0002'] = "Rank"; -$lang['stmy0003'] = "Datenbank ID:"; -$lang['stmy0004'] = "Eindeutige Client ID:"; -$lang['stmy0005'] = "Insg. Verbunden zum TS"; -$lang['stmy0006'] = "Startzeitpunkt der Statistiken:"; -$lang['stmy0007'] = "Gesamte online Zeit:"; -$lang['stmy0008'] = "Online Zeit der letzten 7 Tage:"; -$lang['stmy0009'] = "Online Zeit der letzten 30 Tage:"; -$lang['stmy0010'] = "Errungenschaften:"; -$lang['stmy0011'] = "Fortschritt Errungenschaft Zeit"; -$lang['stmy0012'] = "Zeit: Legendär"; -$lang['stmy0013'] = "Da du bereits %s Stunden auf dem Server online bist."; -$lang['stmy0014'] = "Abgeschlossen"; -$lang['stmy0015'] = "Zeit: Gold"; -$lang['stmy0016'] = "% erreicht für Legendär"; -$lang['stmy0017'] = "Zeit: Silber"; -$lang['stmy0018'] = "% erreicht für Gold"; -$lang['stmy0019'] = "Zeit: Bronze"; -$lang['stmy0020'] = "% erreicht für Silber"; -$lang['stmy0021'] = "Zeit: Unranked"; -$lang['stmy0022'] = "% erreicht für Bronze"; -$lang['stmy0023'] = "Fortschritt Errungenschaft Verbindungen"; -$lang['stmy0024'] = "Verbindungen: Legendär"; -$lang['stmy0025'] = "Da du bereits %s zum Server verbunden warst."; -$lang['stmy0026'] = "Verbindungen: Gold"; -$lang['stmy0027'] = "Verbindungen: Silber"; -$lang['stmy0028'] = "Verbindungen: Bronze"; -$lang['stmy0029'] = "Verbindungen: Unranked"; -$lang['stmy0030'] = "Fortschritt nächste Servergruppe"; -$lang['stnv0001'] = "Server News"; -$lang['stnv0002'] = "Schließen"; -$lang['stnv0003'] = "Client Informationen aktualisieren"; -$lang['stnv0004'] = "Benutze diese Funktion, wenn sich deine TS3 Daten geändert haben, wie z.B. dein Username."; -$lang['stnv0005'] = "Du musst hierfür mit dem TS3 Server verbunden sein!"; -$lang['stnv0006'] = "Aktualisieren"; -$lang['stnv0007'] = "Battle Area - Page Content"; -$lang['stnv0008'] = "You can challenge other users in a battle between two users or two teams."; -$lang['stnv0009'] = "While the battle is active the online time of the teams/users will be counted."; -$lang['stnv0010'] = "When the battle ends the team/user with the highest online time wins."; -$lang['stnv0011'] = "(The regular battling time is 48 hours)"; -$lang['stnv0012'] = "The winning team/user will recieve a price, which the user can use whenever the user wants."; -$lang['stnv0013'] = "It will be displayed on the My Statistics tab."; -$lang['stnv0014'] = "(Could be online time boost(2x) for 8 hours, instant online time (4 hours), etc."; -$lang['stnv0015'] = "These boosts can be used for example to climb in the top users of the week."; -$lang['stnv0016'] = "nicht verfügbar"; -$lang['stnv0017'] = "Du bist nicht mit dem TS3 Server verbunden, daher können kein Daten angezeigt werden."; -$lang['stnv0018'] = "Bitte verbinde dich mit dem TS3 Server und aktualisiere anschließend die Session über den Aktualisierungs-Button oben rechts in der Ecke."; -$lang['stnv0019'] = "Statistiken - Inhaltserläuterung"; -$lang['stnv0020'] = "Diese Seite zeigt u.a. eine Übersicht deiner persönlichen Statistiken und Aktivität auf dem TS3 Server."; -$lang['stnv0021'] = "Die Informationen wurden gesammelt seit Beginn des Ranksystems, nicht seit Beginn des TS3 Servers."; -$lang['stnv0022'] = "Die Seite erhält ihre Daten aus einer Datenbank. Es ist also möglich, dass die angezeigten Werte von den live Werten abweichen."; -$lang['stnv0023'] = "Die Werte innerhalb der Donut-Charts können von der Anzahl der User abweichen. Hintergrund ist, dass die Daten in älteren Versionen des Ranksystems nicht gesammelt wurden."; -$lang['stnv0024'] = "Ranksystem - Statistiken"; -$lang['stnv0025'] = "Anzahl Einträge"; -$lang['stnv0026'] = "alle"; -$lang['stnv0027'] = "Die Informationen auf dieser Seite scheinen veraltet! Es scheint, das Ranksystem ist nicht mehr mit dem TS3 verbunden."; -$lang['stnv0028'] = "(Du bist nicht zum TS3 verbunden!)"; -$lang['stnv0029'] = "Rank-Liste"; -$lang['stnv0030'] = "Ranksystem Info"; -$lang['stnv0031'] = "DE - Deutsch"; -$lang['stnv0032'] = "EN - English"; -$lang['stnv0033'] = "RU - русский"; -$lang['stnv0034'] = "IT - italiano"; -$lang['stri0001'] = "Ranksystem Informationen"; -$lang['stri0002'] = "Was ist das Ranksystem?"; -$lang['stri0003'] = "Ein TS3 Bot, der automatisch Servergruppen an User für online Zeit oder aktive Zeit auf einem TeamSpeak 3 Server zuweist. Weiterhin sammelt es diverse Statistiken und stellt diese hier dar."; -$lang['stri0004'] = "Wer hat das Ranksystem erstellt?"; -$lang['stri0005'] = "Wann wurde das Ranksystem erstellt?"; -$lang['stri0006'] = "Erste Alpha Version: 05/10/2014."; -$lang['stri0007'] = "Erste Beta Version: 01/02/2015."; -$lang['stri0008'] = "Die neuste Version kannst du auf der Ranksystem Website sehen."; -$lang['stri0009'] = "Wie wurde das Ranksystem erstellt?"; -$lang['stri0010'] = "Das Ranksystem basiert auf"; -$lang['stri0011'] = "Es nutzt weiterhin die folgenden Programmbibliotheken:"; -$lang['stri0012'] = "Ein spezieller Danke ergeht an:"; -$lang['stri0013'] = "sergey - für die russische Übersetzung"; -$lang['stri0014'] = "Bejamin Frost - für die Initialisierung des Bootstrap Designs"; -$lang['stri0015'] = "ZanK - für die italienische Übersetzung"; -$lang['sttw0001'] = "Top User"; -$lang['sttw0002'] = "der Woche"; -$lang['sttw0003'] = "mit %s Stunden online Zeit"; -$lang['sttw0004'] = "Top 10 im Vergleich"; -$lang['sttw0005'] = "Stunden (definiert 100 %)"; -$lang['sttw0006'] = "%s Stunden (%s%)"; -$lang['sttw0007'] = "Top 10 Statistiken"; -$lang['sttw0008'] = "Top 10 vs Andere; Online Zeit"; -$lang['sttw0009'] = "Top 10 Vs Others; Aktive Zeit"; -$lang['sttw0010'] = "Top 10 Vs Others; Inaktive Zeit"; -$lang['sttw0011'] = "Top 10 (in Stunden)"; -$lang['sttw0012'] = "Andere %s User (in Stunden)"; -$lang['sttw0013'] = "mit %s Stunden aktive Zeit"; -$lang['sttm0001'] = "des Monats"; -$lang['stta0001'] = "aller Zeiten"; -$lang['updb'] = "Das Update muss nur ausgeführt werden, wenn das Ranksystem bereits mit einer älteren Version als %s genutzt wird!

    Führe das Update nur einmal aus und lösche danach die 'update_%s.php' sofort von deinem Webserver.


    Update Datenbank:
    "; -$lang['updel'] = "Bitte lösche die folgenden Dateien vom Hauptverzeichnis des Ranksystems, sofern sie existieren:
    %s"; -$lang['upinf'] = "Eine neue Version des Ranksystems ist verfügbar. Informiere Clients auf dem Server..."; -$lang['upmov'] = "Bitte verschiebe die Datei \'%s\' in das Unterverzeichnis \'%s\' und überschreibe dabei die dort vorhandene Datei!"; -$lang['upmsg'] = "\nHey, eine neue Version des [B]Ranksystems[/B] ist verfügbar!\n\naktuelle Version: %s\n[B]neue Version: %s[/B]\n\nBitte schaue auf unsere Homepage für weitere Informationen [URL]http://ts-n.net/ranksystem.php[/URL]."; -$lang['upsucc'] = "Datenbank-Update erfolgreich durchgeführt"; -$lang['upuser'] = "User %s (eindeutige Client-ID: %s; Client-Datenbank-ID %s) erhält eine neue ges. online Zeit von %s (davon aktiv: %s)."; -$lang['upuserboost'] = "User %s (eindeutige Client-ID: %s; Client-Datenbank-ID %s) erhält eine neue ges. online Zeit von %s (davon aktiv: %s) [BOOST %sx]."; -$lang['upusrerr'] = "Die eindeutige Client-ID %s konnte auf dem TeamSpeak nicht erreicht werden!"; -$lang['upusrinf'] = "User %s wurde erfolgreich benachrichtigt."; -$lang['user'] = "Benutzername: "; -$lang['usermsgactive'] = "\nHey, du bist im Rang gestiegen, da du eine Aktivität von %s Tagen, %s Stunden, %s Minuten und %s Sekunden erreicht hast."; -$lang['usermsgonline'] = "\nHey, du bist im Rang gestiegen, da du bereits %s Tage, %s Stunden, %s Minuten und %s Sekunden online warst."; -$lang['wiaction'] = "ausführen"; -$lang['wibgco'] = "Hintergrundfarbe:"; -$lang['wibgcodesc'] = "Lege eine Hintergrundfarbe fest
    (gültiger HTML Code; muss mit # beginnen)"; -$lang['wiboost'] = "Boost"; -$lang['wiboostdesc'] = "Gebe einen User auf dem TeamSpeak Server eine Servergruppe (ist manuell zu erstellen), welche hier für das Ranksystem als Boost Gruppe deklariert werden kann. Definiere hierfür noch einen Faktor (z.B. 2x) und eine Zeit, wie lange der Boost gewährt werden soll.
    Umso höher der Faktor, umso schneller erreicht ein User den nächst höheren Rang.
    Ist die Zeit abgelaufen, so wird dem betroffenen User die Servergruppe automatisch entfernt. Die Zeit beginnt in dem Moment zu laufen, in dem der User die Servergruppe erhält.

    Servergruppen-ID => Faktor => Zeit (in Sekunden)

    Beispiel:
    12=>2=>6000,13=>3=>2500,14=>5=>600

    Hier werden den Usern in der Servergruppe mit der ID 12 dem Faktor 2 für 6000 Sekunden, den Usern in der Servergruppe 13 dem Faktor 3 für 2500 Sekunden gewährt, und so weiter..."; -$lang['wichdbid'] = "Client-Datenbank-ID Reset"; -$lang['wichdbiddesc'] = "Setzt die online Zeit eines Users zurück, wenn sich seine TeamSpeak Client-Datenbank-ID ändert.

    Beispiel:
    Wird ein Client vom TeamSpeak Server gelöscht, so erhält er mit der nächsten Verbindung zum Server eine neue Client-Datenbank-ID."; -$lang['wiconferr'] = "Es ist ein Fehler in der Konfiguration des Ranksystems. Bitte prüfe im Webinterface die Kern-Einstellungen auf Richtigkeit. Besonders sollte die Einstellung 'Rangsteigerung' geprüft werden!"; -$lang['widaform'] = "Datumsformat"; -$lang['widaformdesc'] = "Gebe ein Datumsformat zur Anzeige vor.

    Beispiel:
    %a Tage, %h Std., %i Min., %s Sek."; -$lang['widbcfgsuc'] = "Datenbank Einstellungen erfolgreich gespeichert."; -$lang['widbcfgerr'] = "Fehler beim Speichern der Datenbank Einstellungen! Verbindung zur Datenbank oder speichern der 'other/dbconfig.php' nicht möglich."; -$lang['widelcld'] = "lösche Clients"; -$lang['widelcldgrp'] = "Servergruppen zurücksetzen"; -$lang['widelcldgrpdesc'] = "Das Ranksystem merkt sich die vergebenen Servergruppen, sodass nicht mit jedem Lauf der worker.php diese nochmals überprüft bzw. vergeben werden.

    Mit dieser Funktion ist es möglich, dieses Wissen einmalig zurückzusetzen. Dadurch versucht das Ranksystem alle User (welche auf dem TS3 Server online sind) in die aktuell gültige Servergruppe zu setzen.
    Für jeden User, welcher eine Servergruppe erhält bzw. in der vorhanden verbleibt, wird die Wissensdatenbank wie zu Anfang beschrieben wieder aufgebaut.

    Diese Funktion kann hilreich sein, wenn sich User nicht in der Servergruppe befinden, welche für die jeweilige online Zeit vorgesehen ist.

    Achtung: Bitte diese Funktion in einem Moment ausführen, in dem für nächsten Minuten kein Rankup ansteht!!! Das Ranksystem kann dann nämlich die alten Gruppen entfernen, da es hiervon nichts mehr weiß ;-)"; -$lang['widelclddesc'] = "Lösche zuvor selektierte User aus der Ranksystem Datenbank.

    Hiermit bleiben die Userdaten auf dem TeamSpeak Server unberührt!"; -$lang['widelsg'] = "entferne aus Servergruppen"; -$lang['widelsgdesc'] = "Wähle, ob Clients auch aus den Servergruppen entfernt werden sollen, wenn sie aus der Ranksystem Datenbank gelöscht werden.

    Es werden nur Servergruppen beachtet, welche das Ranksystem betreffen!"; -$lang['wideltime'] = "Löschzeitraum"; -$lang['wideltimedesc'] = "Lösche alte Clients aus aus der Ranksystem Datenbank.
    Gib eine Zeit in Sekunden ein, welche ein User nicht mehr online war, damit er gelöscht wird.

    0 - löscht alle User aus dem Ranksystem

    Hiermit bleiben die Userdaten auf dem TeamSpeak Server unberührt!"; -$lang['wiexgrp'] = "Servergruppen-Ausnahmen"; -$lang['wiexgrpdesc'] = "Eine mit Komma getrennte Liste von Servergruppen-IDs, welche nicht am Ranksystem teilnehmen sollen.

    User in mindestens einer dieser Gruppen sind von Rangsteigerungen ausgenommen."; -$lang['wiexuid'] = "Client-Ausnahmen"; -$lang['wiexuiddesc'] = "Eine mit Komma getrennte Liste von eindeutigen Client-IDs, welche nicht am Ranksystem teilnehmen sollen.

    Aufgelistete User sind von Rangsteigerungen ausgenommen."; -$lang['wigrptime'] = "Rangsteigerung"; -$lang['wigrptimedesc'] = "Definiere hier, nach welcher Zeit ein User automatisch in eine vorgegebene Servergruppe gelangen soll.

    Zeit (Sekunden)=>Servergruppen ID

    Entscheidend hierfür ist die online Zeit des User bzw. wenn 'Idlezeit' aktiv, dann die aktive Zeit.

    Jeder Eintrag ist vom nächsten durch ein Komma zu separieren.

    Die Zeiten sind kummulativ zu hinterlegen.

    Beispiel:
    60=>9,120=>10,180=>11

    Hier werden die User nach 60 Sekunden in die Servergruppe 9, nach wiederum 60 Sekunden in die Servergruppe 10, usw..., hinzugefügt."; -$lang['wihdco'] = "Überschriftenfarbe:"; -$lang['wihdcodesc'] = "Lege eine Überschriftenfarbe fest.
    (gültiger HTML Code; muss mit # beginnen)"; -$lang['wihl'] = "Webinterface - Ranksystem"; -$lang['wihladm'] = "Admin Liste"; -$lang['wihlcfg'] = "Kern-Einstellungen"; -$lang['wihlclg'] = "Clients editieren (Global)"; -$lang['wihlcls'] = "Clients edidieren (Selektiv)"; -$lang['wihldb'] = "Datenbank-Einstellungen"; -$lang['wihlsty'] = "Style-Einstellungen"; -$lang['wihlts'] = "TeamSpeak-Einstellungen"; -$lang['wihvco'] = "Hoverfarbe:"; -$lang['wihvcodesc'] = "Lege eine Hoverfarbe fest.
    (gültiger HTML Code; muss mit # beginnen)"; -$lang['wiifco'] = "Infotextfarbe:"; -$lang['wiifcodesc'] = "Lege eine Infotextfarbe fest.
    (gültiger HTML Code; muss mit # beginnen)"; -$lang['wilogout'] = "Abmelden"; -$lang['wilog'] = "Log-Pfad"; -$lang['wilogdesc'] = "Pfad in dem das Logfile des Ranksystems geschrieben werden soll.

    Beispiel:
    /var/logs/ranksystem/

    Beachte, dass der Webuser Schreibrechte in dem Verzeichnis hat."; -$lang['wimsgusr'] = "Benachrichtigung"; -$lang['wimsgusrdesc'] = "Informiere den User per privater Textnachricht über seine Rangsteigerung.

    Definiere die Nachricht in der 'lang.php'
    (usermsgonline bzw. usermsgactive)"; -$lang['wiscco'] = "Erfolgsmeldungsfarbe:"; -$lang['wisccodesc'] = "Lege eine Erfolgsmeldungsfarbe fest.
    (gültiger HTML Code; muss mit # beginnen)"; -$lang['wiselcld'] = "selektiere User"; -$lang['wiselclddesc'] = "Wähle User anhand des letzt bekannten Usernamen aus. Hierfür einfach losschreiben.
    Mehrfachselektionen sind kommagetrennt möglich, welche automatisch vorgenommen werden.

    Mit den selektierten Usern kann im nächsten Schritt eine Aktion gewählt werden."; -$lang['wishcolas'] = "aktuelle Servergruppe"; -$lang['wishcolasdesc'] = "Zeige Spalte 'aktuelle Servergruppe' in der list_rankup.php"; -$lang['wishcolat'] = "aktive Zeit"; -$lang['wishcolatdesc'] = "Zeige Spalte 'ges. aktive Zeit' in der list_rankup.php"; -$lang['wishcolcld'] = "Client-Name"; -$lang['wishcolclddesc'] = "Zeige Spalte 'Client-Name' in der list_rankup.php"; -$lang['wishcoldbid'] = "Datenbank-ID"; -$lang['wishcoldbiddesc'] = "Zeige Spalte 'Client-Datenbank-ID' in der list_rankup.php"; -$lang['wishcolit'] = "idle Zeit"; -$lang['wishcolitdesc'] = "Zeige Spalte 'ges. idle Zeit' in der list_rankup.php"; -$lang['wishcolls'] = "zuletzt gesehen"; -$lang['wishcollsdesc'] = "Zeige Spalte 'zuletzt gesehen' in der list_rankup.php"; -$lang['wishcolnx'] = "nächster rank up"; -$lang['wishcolnxdesc'] = "Zeige Spalte 'nächster Rang' in der list_rankup.php"; -$lang['wishcolot'] = "online Zeit"; -$lang['wishcolotdesc'] = "Zeige Spalte 'ges. online Zeit' in der list_rankup.php"; -$lang['wishcolrg'] = "Rang"; -$lang['wishcolrgdesc'] = "Zeige Spalte 'Rang' in der list_rankup.php"; -$lang['wishcolsg'] = "nächste Servergruppe"; -$lang['wishcolsgdesc'] = "Zeige Spalte 'nächste Servergruppe' in der list_rankup.php"; -$lang['wishcoluuid'] = "Client-ID"; -$lang['wishcoluuiddesc'] = "Zeige Spalte 'eindeutige Client-ID' in der list_rankup.php"; -$lang['wishexcld'] = "ausgeschl. Clients"; -$lang['wishexclddesc'] = "Zeige User in der list_rankup.php, welche über die 'Client-Ausnahmen' nicht am Ranksystem teilnehmen."; -$lang['wishexgrp'] = "ausgeschl. Servergruppen"; -$lang['wishexgrpdesc'] = "Zeige User in der list_rankup.php, welche über die 'Servergruppen-Ausnahmen' nicht am Ranksystem teilnehmen."; -$lang['wishgen'] = "Seitengenerierung"; -$lang['wishgendesc'] = "Zeige die Zeit, welche zur Generierung der Seite benötigt wird, am Ende der Seite."; -$lang['wishhicld'] = "User in höchestem Rang"; -$lang['wishhiclddesc'] = "Zeige User in der list_rankup.php, welche den höchsten Rang erreicht haben."; -$lang['wisupidle'] = "Idlezeit"; -$lang['wisupidledesc'] = "Ist diese Funktion aktiv, wird die 'ges. idle Zeit' eines Users von der 'ges. online Zeit' abgezogen. Anstelle der 'ges. online Zeit' wird somit die vorgenannte Differenz für Rangsteigerungen herangezogen."; -$lang['wisvconf'] = "speichern"; -$lang['wisvsuc'] = "Änderungen erfolgreich gesichert!"; -$lang['witime'] = "Zeitzone"; -$lang['witimedesc'] = "Wähle die Zeitzone, die für den Sever gilt."; -$lang['wits3dch'] = "Default Channel"; -$lang['wits3dchdesc'] = "Die channel-ID, mit der sich der Bot verbindet.

    In diesem Channel wechselt der Bot nach dem Verbinden mit dem TeamSpeak Server."; -$lang['wits3host'] = "TS3 Hostadresse"; -$lang['wits3hostdesc'] = "TeamSpeak 3 Server Adresse
    (IP oder DNS)"; -$lang['wits3sm'] = "Slowmode"; -$lang['wits3smdesc'] = "Mit dem Slowmode werden die Query-Anfragen an den TeamSpeak Server reduziert. Dies schützt vor einem Ban aufgrund von flooding.
    TeamSpeak Query Befehle werden mit dieser Funktion verzögert abgeschickt.

    !!! AUCH REDUZIERT ER DIE CPU USAGE !!!

    Die Aktivierung ist nicht empfohlen, wenn nicht benötigt. Die Verzögerung (delay) erhöht die Laufzeit eines Durchgangs des Bots, dadurch wird er unpräziser."; -$lang['wits3qnm'] = "Botname"; -$lang['wits3qnm2'] = "2. Botname"; -$lang['wits3qnm2desc'] = "Ein zweiter Botname, falls der erste bereits genutzt wird."; -$lang['wits3qnmdesc'] = "Der Name, mit dem die Query-Verbindung augebaut werden soll.
    Der Name kann frei gewählt werden."; -$lang['wits3querpw'] = "TS3 Query-Passwort"; -$lang['wits3querpwdesc'] = "TeamSpeak 3 Query Passwort
    Passwort des Query Benutzers"; -$lang['wits3querusr'] = "TS3 Query-Benutzer"; -$lang['wits3querusrdesc'] = "TeamSpeak 3 Query Benutzername
    Standard ist serveradmin
    Natürlich kann auch ein gesonderter Query-Benutzer erstellt und genutzt werden.
    Die benötigten Rechte sind hier aufgelistet:
    http://ts-n.net/ranksystem.php"; -$lang['wits3query'] = "TS3 Query-Port"; -$lang['wits3querydesc'] = "TeamSpeak 3 Query Port
    Standard ist 10011 (TCP)
    andere Werte sollten in der 'ts3server.ini' zu finden sein."; -$lang['wits3voice'] = "TS3 Voice-Port"; -$lang['wits3voicedesc'] = "TeamSpeak 3 Voice Port
    Standard ist 9987 (UDP)
    Dieser Port wird zum Verbinden mit dem TS3 Client genutzt."; -$lang['witxco'] = "Textfarbe:"; -$lang['witxcodesc'] = "Lege eine Textfarbe fest.
    (gültiger HTML Code; muss mit # beginnen)"; -$lang['wiupcheck'] = "Update-Prüfung"; -$lang['wiupcheckdesc'] = "Ist die Update-Prüfung aktiv, werden nachfolgend genannte User mit einer privaten Textnachricht informiert, sobald ein Update verfügbar ist."; -$lang['wiuptime'] = "Prüfungsintervall"; -$lang['wiuptimedesc'] = "Gib an alle wie viel Sekunden das Ranksystem prüfen soll, ob ein Update verfügbar ist.
    Beachte, bei jeder Prüfung werden die hinterlegten User über ein verfügbares Update benachrichtigt. Ist kein hinterlegter User online, wird mit dem nächsten Intervall versucht zu benachrichtigen."; -$lang['wiupuid'] = "Empfänger"; -$lang['wiupuiddesc'] = "Eine Komma getrennte Liste von eindeutigen Client-IDs, welche via privater Textnachricht auf dem TeamSpeak über ein Update informiert werden sollen."; -$lang['wiversion'] = "(verwendete Version %s)"; -$lang['wivlang'] = "Sprache"; -$lang['wivlangdesc'] = "Sprache des Ranksystems

    de - Deutsch
    en - english
    it - italiano
    ru - русский"; -$lang['wiwnco'] = "Warntextfarbe:"; -$lang['wiwncodesc'] = "Lege eine Warntextfarbe fest.
    (gültiger HTML Code; muss mit # beginnen)"; +$lang= array(); +$lang['adduser'] = "User %s (eindeutige Client-ID: %s; Client-Datenbank-ID: %s) ist bisher unbekannt -> wurde nun zum Ranksystem hinzugefügt."; +$lang['changedbid'] = "User %s (eindeutige Client-ID: %s) hat eine neue TeamSpeak Client-Datenbank-ID (%s). Ersetze die alte Client-Datenbank-ID (%s) und setze die gesammelte Zeiten zurück"; +$lang['crawl'] = "Scanne nach verbundenen Usern und sammle die online Zeit..."; +$lang['clean'] = "Scanne nach Usern, welche zu löschen sind..."; +$lang['cleanc'] = "Clientlöschung"; +$lang['cleancdesc'] = "Mit dieser Funktion werden alte Clients aus dem Ranksystem gelöscht.

    Hierzu wird die TeamSpeak Datenbank mit dem Ranksystem abgeglichen. Clients, welche nicht mehr in der TeamSpeak Datenbank existieren, werden aus dem Ranksystem gelöscht.

    Diese Funktion kann nur genutzt werden, wenn der 'Slowmode' deaktiviert ist!


    Zur automatischen Bereinigung der TeamSpeak Datenbank kann der ClientCleaner genutzt werden:
    http://ts-n.net/clientcleaner.php"; +$lang['cleandel'] = "Es wurden %s Clients aus der Ranksystem-Datenbank gelöscht, da sie nicht mehr in der TeamSpeak Datenbank vorhanden sind."; +$lang['cleanno'] = "Es gab nichts zu löschen..."; +$lang['cleanp'] = "Löschintervall"; +$lang['cleanpdesc'] = "Bestimme einen Intervall, wie oft die 'Clientlöschung' laufen soll.

    Angabe der Zeit in Sekunden!

    Empfohlen wird die Clientlöschung nur einmal am Tag laufen zu lassen, da für größere Datenbanken die Laufzeit extrem steigt."; +$lang['cleanrs'] = "Clients in der Ranksystem Datenbank: %s"; +$lang['cleants'] = "Clients in der TeamSpeak Datenbank gefunden: %s (von %s)"; +$lang['days'] = "%s Tage"; +$lang['dbconerr'] = "Verbindung zur Datenbank gescheitert: "; +$lang['delcldgrpif'] = "Fehler beim Löschen der Servergruppen aus der Datenbank: %s"; +$lang['delcldgrpsc'] = "Knowledge der Servergruppen für %s User erfolgreich gelöscht."; +$lang['delclientsif'] = "%s Clients aus der Ranksystem Datenbank gelöscht!"; +$lang['delclientssc'] = "%s Clients aus der Ranksystem Datenbank erfolgreich gelöscht!"; +$lang['errlogin'] = "Benutzername und/oder Passwort sind falsch! Versuche es erneut..."; +$lang['errlogin2'] = "Brute force Schutz: Bitte versuche es in %s Sekunden erneut!"; +$lang['errlogin3'] = "Brute force Schutz: Zu viele Fehlversuche. Für 300 Sekunden gesperrt!"; +$lang['error'] = "Fehler "; +$lang['errremgrp'] = "Fehler beim Entfernen des Users mit der eindeutigen Client-ID %s aus der Servergruppe mit der Servergruppen-Datenbank-ID %s!"; +$lang['errremdb'] = "Fehler beim Löschen des Users mit der eindeutigen Client-ID %s aus der Ranksystem Datenbank!"; +$lang['errsel'] = "Fehler bei der Auswahl der Bedingungen!
    ausgewählte User: %s
    Option 'lösche Clients': %s
    Option 'ges. online Zeit': %s"; +$lang['errukwn'] = "Unbekannter Fehler aufgetreten!"; +$lang['errupcount'] = "Fehler beim Überschreiben der ges. online Zeit %s bei User mit der eindeutigen Client-ID %s!"; +$lang['highest'] = "höchster Rang erreicht"; +$lang['install'] = "Installation"; +$lang['instdb'] = "Installiere Datenbank"; +$lang['instdbsuc'] = "Datenbank %s wurde erfolgreich angelegt."; +$lang['isntwicfg'] = "Die Datenbankkonfigurationen konnten nicht gespeichert werden! Bitte versehe die 'other/dbconfig.php' mit einem chmod 0777 und versuche es anschließend erneut."; +$lang['isntwicfg2'] = "Konfiguriere Webinterface"; +$lang['isntwichm'] = "Schreibrechte fehlen für Verzeichnis \"%s\". Bitte setze auf dieses einen chmod 777 und starte anschließend das Ranksystem erneut."; +$lang['isntwidbhost'] = "DB Hostadresse:"; +$lang['isntwidbhostdesc']= "Datenbank Server Adresse
    (IP oder DNS)"; +$lang['isntwidbmsg'] = "Datenbank-Fehler: "; +$lang['isntwidbname'] = "DB Name:"; +$lang['isntwidbnamedesc']= "Name der Datenbank"; +$lang['isntwidbpass'] = "DB Passwort:"; +$lang['isntwidbpassdesc']= "Passwort für die Datenbank"; +$lang['isntwidbtype'] = "DB Typ:"; +$lang['isntwidbtypedesc']= "Datenbank Typ

    Der benötigte PDO Treiber muss installiert sein.
    Für mehr Informationen beachte die Anforderungen auf http://ts-n.net/ranksystem.php"; +$lang['isntwidbusr'] = "DB Benutzer:"; +$lang['isntwidbusrdesc']= "Username für die Datenbank"; +$lang['isntwidel'] = "Bitte lösche noch die Datei 'install.php' vom Webserver und öffne danach das %s um das Ranksystem zu konfigurieren!"; +$lang['isntwiusr'] = "Benutzer für das Webinterface wurde erfolgreich erstellt."; +$lang['isntwiusrcr'] = "Erstelle Webinterface-User"; +$lang['isntwiusrdesc'] = "Gib einen frei wählbaren Benutzer und ein Passwort für das Webinterface ein. Mit dem Webinterface wird das Ranksystem konfiguriert."; +$lang['isntwiusrh'] = "Zugang - Webinterface"; +$lang['listacsg'] = "atkuelle Servergruppe"; +$lang['listcldbid'] = "Client-Datenbank-ID"; +$lang['listexgrp'] = "Ist vom Ranksystem ausgeschlossen (Servergruppen-Ausnahmen)."; +$lang['listexuid'] = "Ist vom Ranksystem ausgeschlossen (Client-Ausnahmen)."; +$lang['listip'] = "IP Adresse"; +$lang['listnick'] = "Client-Name"; +$lang['listnxsg'] = "nächste Servergruppe"; +$lang['listnxup'] = "nächster Rang"; +$lang['listrank'] = "Rang"; +$lang['listseen'] = "zuletzt gesehen"; +$lang['listsuma'] = "ges. aktive Zeit"; +$lang['listsumi'] = "ges. idle Zeit"; +$lang['listsumo'] = "ges. online Zeit"; +$lang['listuid'] = "eindeutige Client-ID"; +$lang['login'] = "Login"; +$lang['nocount'] = "User %s (eindeutige Client-ID: %s; Client-Datenbank-ID %s) ist ein Query-User oder ist mehrmals online (nur erste Verbindung zählt) -> diese wird nicht gewertet!"; +$lang['noentry'] = "Keine Einträge gefunden.."; +$lang['pass'] = "Passwort"; +$lang['queryname'] = "Erster Botname ist bereits in Verwendung. Versuche zweiten Botnamen zu nutzen..."; +$lang['sccrmcld'] = "User mit der eindeutigen Client-ID %s wurde erfolgreich aus der Ranksystem Datenbank gelöscht."; +$lang['sccupcount'] = "User mit der eindeutigen Client-ID %s erhielt erfolgreich ein neue ges. online Zeit von %s."; +$lang['setontime'] = "ges. online Zeit"; +$lang['setontimedesc'] = "Gib eine neue ges. online Zeit ein, welche bei den zuvor selektierten Usern hinterlegt werden soll. Mit dieser wird die alte ges. online Zeit überschrieben.

    Die eingegeben ges. online Zeit wird für die nächsten Rangsteigerungen berücksichtigt."; +$lang['sgrpadd'] = "Servergruppe %s zu User %s (eindeutige Client-ID: %s; Client-Datenbank-ID %s) hinzugefügt."; +$lang['sgrprerr'] = "Es ist ein Problem mit den Servergruppen des Users %s (eindeutige Client-ID: %s; Client-Datenbank-ID %s) aufgetreten!"; +$lang['sgrprm'] = "Servergruppe %s von User %s (eindeutige Client-ID: %s; Client-Datenbank-ID %s) entfernt."; +$lang['stix0001'] = "Server Statistiken"; +$lang['stix0002'] = "Anzahl User"; +$lang['stix0003'] = "zeige Liste aller User"; +$lang['stix0004'] = "Online Zeit aller User / Total"; +$lang['stix0005'] = "zeige Top User aller Zeiten"; +$lang['stix0006'] = "zeige Top User des Monats"; +$lang['stix0007'] = "zeige Top User der Woche"; +$lang['stix0008'] = "Server Nutzung"; +$lang['stix0009'] = "der letzten 7 Tage"; +$lang['stix0010'] = "der letzten 30 Tage"; +$lang['stix0011'] = "der letzten 24 Stunden"; +$lang['stix0012'] = "wähle Zeitraum"; +$lang['stix0013'] = "letzten 24 Stunden"; +$lang['stix0014'] = "letzte Woche"; +$lang['stix0015'] = "letzer Monat"; +$lang['stix0016'] = "Aktive / Inaktive Zeit (aller User)"; +$lang['stix0017'] = "Versionen (aller User)"; +$lang['stix0018'] = "Nationalitäten (aller User)"; +$lang['stix0019'] = "Plattformen (aller User)"; +$lang['stix0020'] = "Server Details"; +$lang['stix0023'] = "Server Status"; +$lang['stix0024'] = "Online"; +$lang['stix0025'] = "Offline"; +$lang['stix0026'] = "User (Online / Max)"; +$lang['stix0027'] = "Anzahl aller Channel"; +$lang['stix0028'] = "Server Ping (Mittelwert)"; +$lang['stix0029'] = "Eingehende Daten insg."; +$lang['stix0030'] = "Ausgehende Daten insg."; +$lang['stix0031'] = "Server online seit"; +$lang['stix0032'] = "vor Offlineschaltung:"; +$lang['stix0033'] = "00 Tage, 00 Stunden, 00 Min., 00 Sek."; +$lang['stix0034'] = "Paketverlust (Mittelwert)"; +$lang['stix0035'] = " "; +$lang['stix0036'] = "Server Name"; +$lang['stix0037'] = "Server Adresse (Host Adresse : Port)"; +$lang['stix0038'] = "Server Passwort"; +$lang['stix0039'] = "Nein (Öffentlich)"; +$lang['stix0040'] = "Ja (Privat)"; +$lang['stix0041'] = "Server ID"; +$lang['stix0042'] = "Server Plattform"; +$lang['stix0043'] = "Server Version"; +$lang['stix0044'] = "Server Erstelldatum (dd/mm/yyyy)"; +$lang['stix0045'] = "Report an Serverliste"; +$lang['stix0046'] = "Aktiv"; +$lang['stix0047'] = "Deaktiviert"; +$lang['stix0048'] = "nicht genügend Daten ..."; +$lang['stix0049'] = "Online Zeit aller User / Monat"; +$lang['stix0050'] = "Online Zeit aller User / Woche"; +$lang['stix0051'] = "TeamSpeak hat gefailed, daher kein Erstelldatum..."; +$lang['stmy0001'] = "Meine Statistiken"; +$lang['stmy0002'] = "Rank"; +$lang['stmy0003'] = "Datenbank ID:"; +$lang['stmy0004'] = "Eindeutige Client ID:"; +$lang['stmy0005'] = "Insg. Verbunden zum TS"; +$lang['stmy0006'] = "Startzeitpunkt der Statistiken:"; +$lang['stmy0007'] = "Gesamte online Zeit:"; +$lang['stmy0008'] = "Online Zeit der letzten 7 Tage:"; +$lang['stmy0009'] = "Online Zeit der letzten 30 Tage:"; +$lang['stmy0010'] = "Errungenschaften:"; +$lang['stmy0011'] = "Fortschritt Errungenschaft Zeit"; +$lang['stmy0012'] = "Zeit: Legendär"; +$lang['stmy0013'] = "Da du bereits %s Stunden auf dem Server online bist."; +$lang['stmy0014'] = "Abgeschlossen"; +$lang['stmy0015'] = "Zeit: Gold"; +$lang['stmy0016'] = "% erreicht für Legendär"; +$lang['stmy0017'] = "Zeit: Silber"; +$lang['stmy0018'] = "% erreicht für Gold"; +$lang['stmy0019'] = "Zeit: Bronze"; +$lang['stmy0020'] = "% erreicht für Silber"; +$lang['stmy0021'] = "Zeit: Unranked"; +$lang['stmy0022'] = "% erreicht für Bronze"; +$lang['stmy0023'] = "Fortschritt Errungenschaft Verbindungen"; +$lang['stmy0024'] = "Verbindungen: Legendär"; +$lang['stmy0025'] = "Da du bereits %s zum Server verbunden warst."; +$lang['stmy0026'] = "Verbindungen: Gold"; +$lang['stmy0027'] = "Verbindungen: Silber"; +$lang['stmy0028'] = "Verbindungen: Bronze"; +$lang['stmy0029'] = "Verbindungen: Unranked"; +$lang['stmy0030'] = "Fortschritt nächste Servergruppe"; +$lang['stnv0001'] = "Server News"; +$lang['stnv0002'] = "Schließen"; +$lang['stnv0003'] = "Client Informationen aktualisieren"; +$lang['stnv0004'] = "Benutze diese Funktion, wenn sich deine TS3 Daten geändert haben, wie z.B. dein Username."; +$lang['stnv0005'] = "Du musst hierfür mit dem TS3 Server verbunden sein!"; +$lang['stnv0006'] = "Aktualisieren"; +$lang['stnv0007'] = "Battle Area - Seiteninhalt"; +$lang['stnv0008'] = "Du kannst dich mit anderen Usern battle."; +$lang['stnv0009'] = "So lange das Battle läuft, wird die online Zeit bzw. aktive Zeit gewertet."; +$lang['stnv0010'] = "Wenn das Battle abgeschlossen ist, gewinnt der User, welcher die höchste online Zeit bzw. aktive Zeit hat.."; +$lang['stnv0011'] = "(Die Standard Battle Dauer ist 48 Stunden)"; +$lang['stnv0012'] = "Der Sieger erhält einen Preis, welcher zu einem eigens bestimmten Zeitpunkt eingelöst werden kann."; +$lang['stnv0013'] = "Dieser wird auf der Seite Meine Statistiken angezeigt."; +$lang['stnv0014'] = "(Kann sein ein Zeit Boost(2x) für 8 Stunden, instant online Zeit (4 Stunden), etc."; +$lang['stnv0015'] = "Diese Boosts können benutzt werden, um z.B. die Chancen auf den Top User der Woche zu erhöhen."; +$lang['stnv0016'] = "nicht verfügbar"; +$lang['stnv0017'] = "Du bist nicht mit dem TS3 Server verbunden, daher können kein Daten angezeigt werden."; +$lang['stnv0018'] = "Bitte verbinde dich mit dem TS3 Server und aktualisiere anschließend die Session über den Aktualisierungs-Button oben rechts in der Ecke."; +$lang['stnv0019'] = "Statistiken - Inhaltserläuterung"; +$lang['stnv0020'] = "Diese Seite zeigt u.a. eine Übersicht deiner persönlichen Statistiken und Aktivität auf dem TS3 Server."; +$lang['stnv0021'] = "Die Informationen wurden gesammelt seit Beginn des Ranksystems, nicht seit Beginn des TS3 Servers."; +$lang['stnv0022'] = "Die Seite erhält ihre Daten aus einer Datenbank. Es ist also möglich, dass die angezeigten Werte von den live Werten abweichen."; +$lang['stnv0023'] = "Die Werte innerhalb der Donut-Charts können von der Anzahl der User abweichen. Hintergrund ist, dass die Daten in älteren Versionen des Ranksystems nicht gesammelt wurden."; +$lang['stnv0024'] = "Ranksystem - Statistiken"; +$lang['stnv0025'] = "Anzahl Einträge"; +$lang['stnv0026'] = "alle"; +$lang['stnv0027'] = "Die Informationen auf dieser Seite scheinen veraltet! Es scheint, das Ranksystem ist nicht mehr mit dem TS3 verbunden."; +$lang['stnv0028'] = "(Du bist nicht zum TS3 verbunden!)"; +$lang['stnv0029'] = "Rank-Liste"; +$lang['stnv0030'] = "Ranksystem Info"; +$lang['stnv0031'] = "Über das Suchfeld können nach Teile im Clientnamen, der eindeutigen Client-ID und der Client-Datenbank-ID gesucht werden."; +$lang['stnv0032'] = "Es ist auch möglich bestimmte Filterregeln anzuwenden (siehe unterhalb). Der Filter wird auch im Suchfeld hinterlegt."; +$lang['stnv0033'] = "Kombinationen von Filter und einem Suchwert sind möglich. Trage hierfür den/die Filter gefolgt von dem Suchwert ein."; +$lang['stnv0034'] = "Auch ist es möglich mehrere Filter zu kombinieren. Trage diese einfach fortlaufend in das Suchfeld ein."; +$lang['stnv0035'] = "Beispiel:
    filter:nonexcepted:TeamSpeakUser"; +$lang['stnv0036'] = "Zeigt nur Clients an, welche ausgeschlossen sind (Client, Severgruppen oder Channel-Ausnahme)."; +$lang['stnv0037'] = "Zeigt nur Clients an, welche nicht ausgeschlossen sind."; +$lang['stnv0038'] = "Zeigt nur Clients an, welche online sind"; +$lang['stnv0039'] = "Zeigt nur Clients an, welche nicht online sind"; +$lang['stnv0040'] = "Zeigt nur Clients an, welche sich in einer bestimmten Servergruppe befinden. Stellt das aktuelle Level (Rang) dar.
    Ersetze GROUPID mi der gewünschten Servergruppen ID."; +$lang['stnv0041'] = "Zeigt nur Clients an, welche dem ausgewählten 'zuletzt gesehen' Zeitraum entsprechen.
    Ersetze OPERATOR mit '<' oder '>' oder '=' oder '!='.
    Und ersetze TIME mit einem Zeitstempel (Timestamp) oder Datum mit im Format 'Y-m-d H-i' (Beispiel: 2016-06-18 20-25).
    Vollständiges Beispiel: filter:lastseen:<:2016-06-18 20-25:"; +$lang['stnv0042'] = "Zeigt nur Clients an, welche sich im definierten Land befinden.
    Ersetze TS3-COUNTRY-CODE mit dem gewünschten Land.
    Für eine Liste der gültigen Ländercodes, bitte nach dem 'ISO 3166-1 alpha-2' googlen."; +$lang['stri0001'] = "Ranksystem Informationen"; +$lang['stri0002'] = "Was ist das Ranksystem?"; +$lang['stri0003'] = "Ein TS3 Bot, der automatisch Servergruppen an User für online Zeit oder aktive Zeit auf einem TeamSpeak 3 Server zuweist. Weiterhin sammelt es diverse Statistiken und stellt diese hier dar."; +$lang['stri0004'] = "Wer hat das Ranksystem erstellt?"; +$lang['stri0005'] = "Wann wurde das Ranksystem erstellt?"; +$lang['stri0006'] = "Erste Alpha Version: 05/10/2014."; +$lang['stri0007'] = "Erste Beta Version: 01/02/2015."; +$lang['stri0008'] = "Die neuste Version kannst du auf der Ranksystem Website sehen."; +$lang['stri0009'] = "Wie wurde das Ranksystem erstellt?"; +$lang['stri0010'] = "Das Ranksystem basiert auf"; +$lang['stri0011'] = "Es nutzt weiterhin die folgenden Programmbibliotheken:"; +$lang['stri0012'] = "Ein spezieller Danke ergeht an:"; +$lang['stri0013'] = "sergey, Arselopster & DeviantUser - für die russische Übersetzung"; +$lang['stri0014'] = "Bejamin Frost - für die Initialisierung des Bootstrap Designs"; +$lang['stri0015'] = "ZanK - für die italienische Übersetzung"; +$lang['stri0016'] = "DeStRoYzR & Jehad - für die Initiierung der arabischen Übersetzung"; +$lang['stri0017'] = "SakaLuX - für die Initiierung der rumänischen Übersetzung"; +$lang['sttw0001'] = "Top User"; +$lang['sttw0002'] = "der Woche"; +$lang['sttw0003'] = "mit %s Stunden online Zeit"; +$lang['sttw0004'] = "Top 10 im Vergleich"; +$lang['sttw0005'] = "Stunden (definiert 100 %)"; +$lang['sttw0006'] = "%s Stunden (%s%)"; +$lang['sttw0007'] = "Top 10 Statistiken"; +$lang['sttw0008'] = "Top 10 vs Andere; Online Zeit"; +$lang['sttw0009'] = "Top 10 Vs Others; Aktive Zeit"; +$lang['sttw0010'] = "Top 10 Vs Others; Inaktive Zeit"; +$lang['sttw0011'] = "Top 10 (in Stunden)"; +$lang['sttw0012'] = "Andere %s User (in Stunden)"; +$lang['sttw0013'] = "mit %s Stunden aktive Zeit"; +$lang['sttm0001'] = "des Monats"; +$lang['stta0001'] = "aller Zeiten"; +$lang['upinf'] = "Eine neue Version des Ranksystems ist verfügbar. Informiere Clients auf dem Server..."; +$lang['upmsg'] = "\nHey, eine neue Version des [B]Ranksystems[/B] ist verfügbar!\n\naktuelle Version: %s\n[B]neue Version: %s[/B]\n\nBitte schaue auf unsere Homepage für weitere Informationen [URL]http://ts-n.net/ranksystem.php[/URL]."; +$lang['upsucc'] = "Datenbank-Update erfolgreich durchgeführt"; +$lang['upuser'] = "User %s (eindeutige Client-ID: %s; Client-Datenbank-ID %s) erhält eine neue ges. online Zeit von %s (davon aktiv: %s)."; +$lang['upuserboost'] = "User %s (eindeutige Client-ID: %s; Client-Datenbank-ID %s) erhält eine neue ges. online Zeit von %s (davon aktiv: %s) [BOOST %sx]."; +$lang['upusrerr'] = "Die eindeutige Client-ID %s konnte auf dem TeamSpeak nicht erreicht werden!"; +$lang['upusrinf'] = "User %s wurde erfolgreich benachrichtigt."; +$lang['user'] = "Benutzername"; +$lang['wiaction'] = "ausführen"; +$lang['wiboost'] = "Boost"; +$lang['wiboostdesc'] = "Gebe einen User auf dem TeamSpeak Server eine Servergruppe (ist manuell zu erstellen), welche hier für das Ranksystem als Boost Gruppe deklariert werden kann. Definiere hierfür noch einen Faktor (z.B. 2x) und eine Zeit, wie lange der Boost gewährt werden soll.
    Umso höher der Faktor, umso schneller erreicht ein User den nächst höheren Rang.
    Ist die Zeit abgelaufen, so wird dem betroffenen User die Servergruppe automatisch entfernt. Die Zeit beginnt in dem Moment zu laufen, in dem der User die Servergruppe erhält.

    Servergruppen-ID=> Faktor=> Zeit (in Sekunden)

    Beispiel:
    12=>2=>6000,13=>3=>2500,14=>5=>600

    Hier werden den Usern in der Servergruppe mit der ID 12 dem Faktor 2 für 6000 Sekunden, den Usern in der Servergruppe 13 dem Faktor 3 für 2500 Sekunden gewährt, und so weiter..."; +$lang['wibot1'] = "Der Ranksystem Bot sollte gestoppt sein. Für mehr Informationen bitte die Log unterhalb prüfen!"; +$lang['wibot2'] = "Der Ranksystem Bot sollte gestartet sein. Für mehr Informationen bitte die Log unterhalb prüfen!"; +$lang['wibot3'] = "Der Ranksystem Bot sollte neu gestartet sein. Für mehr Informationen bitte die Log unterhalb prüfen!"; +$lang['wibot4'] = "Start / Stop Ranksystem Bot"; +$lang['wibot5'] = "Bot starten"; +$lang['wibot6'] = "Bot stoppen"; +$lang['wibot7'] = "Bot neustarten"; +$lang['wibot8'] = "Ranksystem Log (Auszug):"; +$lang['wibot9'] = "Bitte fülle alle erforderlichen Felder aus, bevor der Ranksystem Bot gestartet werden kann!"; +$lang['wichdbid'] = "Client-Datenbank-ID Reset"; +$lang['wichdbiddesc'] = "Setzt die online Zeit eines Users zurück, wenn sich seine TeamSpeak Client-Datenbank-ID ändert.

    Beispiel:
    Wird ein Client vom TeamSpeak Server gelöscht, so erhält er mit der nächsten Verbindung zum Server eine neue Client-Datenbank-ID."; +$lang['wiconferr'] = "Es ist ein Fehler in der Konfiguration des Ranksystems. Bitte prüfe im Webinterface die Kern-Einstellungen auf Richtigkeit. Besonders sollte die Einstellung 'Rangsteigerung' geprüft werden!"; +$lang['widaform'] = "Datumsformat"; +$lang['widaformdesc'] = "Gebe ein Datumsformat zur Anzeige vor.

    Beispiel:
    %a Tage, %h Std., %i Min., %s Sek."; +$lang['widbcfgsuc'] = "Datenbank Einstellungen erfolgreich gespeichert."; +$lang['widbcfgerr'] = "Fehler beim Speichern der Datenbank Einstellungen! Verbindung zur Datenbank oder speichern der 'other/dbconfig.php' nicht möglich."; +$lang['widelcld'] = "lösche Clients"; +$lang['widelcldgrp'] = "Servergruppen zurücksetzen"; +$lang['widelcldgrpdesc']= "Das Ranksystem merkt sich die vergebenen Servergruppen, sodass nicht mit jedem Lauf der worker.php diese nochmals überprüft bzw. vergeben werden.

    Mit dieser Funktion ist es möglich, dieses Wissen einmalig zurückzusetzen. Dadurch versucht das Ranksystem alle User (welche auf dem TS3 Server online sind) in die aktuell gültige Servergruppe zu setzen.
    Für jeden User, welcher eine Servergruppe erhält bzw. in der vorhanden verbleibt, wird die Wissensdatenbank wie zu Anfang beschrieben wieder aufgebaut.

    Diese Funktion kann hilreich sein, wenn sich User nicht in der Servergruppe befinden, welche für die jeweilige online Zeit vorgesehen ist.

    Achtung: Bitte diese Funktion in einem Moment ausführen, in dem für nächsten Minuten kein Rankup ansteht!!! Das Ranksystem kann dann nämlich die alten Gruppen entfernen, da es hiervon nichts mehr weiß ;-)"; +$lang['widelclddesc'] = "Lösche zuvor selektierte User aus der Ranksystem Datenbank.

    Hiermit bleiben die Userdaten auf dem TeamSpeak Server unberührt!"; +$lang['widelsg'] = "entferne aus Servergruppen"; +$lang['widelsgdesc'] = "Wähle, ob Clients auch aus den Servergruppen entfernt werden sollen, wenn sie aus der Ranksystem Datenbank gelöscht werden.

    Es werden nur Servergruppen beachtet, welche das Ranksystem betreffen!"; +$lang['wideltime'] = "Löschzeitraum"; +$lang['wideltimedesc'] = "Lösche alte Clients aus aus der Ranksystem Datenbank.
    Gib eine Zeit in Sekunden ein, welche ein User nicht mehr online war, damit er gelöscht wird.

    0 - löscht alle User aus dem Ranksystem

    Hiermit bleiben die Userdaten auf dem TeamSpeak Server unberührt!"; +$lang['wiexcid'] = "Channel-Ausnahmen"; +$lang['wiexciddesc'] = "Eine mit Komma getrennte Liste von den Channel-IDs, die nicht am Ranksystem teilnehmen sollen.

    Halten sich User in einem der aufgelisteten Channel auf, so wird die Zeit darin vollständig ignoriert. Es wird weder die online Zeit, noch die Idle Zeit gewertet.

    Sinn macht diese Funktion mit dem Modus 'online Zeit', da hier z.B. AFK Räume ausgeschlossen werden können.
    Mit dem Modus 'aktive Zeit' ist diese Funktion sinnlos, da z.B. in AFK Räumen die Idle-Zeit abgezogen und somit sowieso nicht gewertet würde.

    Befindet sich ein User in einem ausgeschlossenen Channel, so wird er für diese Zeit als 'vom Ranksystem ausgeschlossen' vermerkt. Der User erscheint damit auch nicht mehr in der Liste 'stats/list_rankup.php', sofern ausgeschlossene Clients dort nicht angezeigt werden sollen (Statistik Seite - ausgeschl. Clients)."; +$lang['wiexgrp'] = "Servergruppen-Ausnahmen"; +$lang['wiexgrpdesc'] = "Eine mit Komma getrennte Liste von Servergruppen-IDs, welche nicht am Ranksystem teilnehmen sollen.

    User in mindestens einer dieser Gruppen sind von Rangsteigerungen ausgenommen."; +$lang['wiexuid'] = "Client-Ausnahmen"; +$lang['wiexuiddesc'] = "Eine mit Komma getrennte Liste von eindeutigen Client-IDs, welche nicht am Ranksystem teilnehmen sollen.

    Aufgelistete User sind von Rangsteigerungen ausgenommen."; +$lang['wigrptime'] = "Rangsteigerung Definition"; +$lang['wigrptimedesc'] = "Definiere hier, nach welcher Zeit ein User automatisch in eine vorgegebene Servergruppe gelangen soll.

    Zeit (Sekunden)=>Servergruppen ID

    Entscheidend hierfür ist die 'online Zeit' bzw. die 'aktive Zeit' des Users, je nach Einstellung des Modus.

    Jeder Eintrag ist vom nächsten durch ein Komma zu separieren.

    Die Zeiten sind kummulativ zu hinterlegen.

    Beispiel:
    60=>9,120=>10,180=>11

    Hier werden die User nach 60 Sekunden in die Servergruppe 9, nach wiederum 60 Sekunden in die Servergruppe 10, usw..., hinzugefügt."; +$lang['wihladm'] = "List Rankup (Admin-Modus)"; +$lang['wihlcfg'] = "Kern-Einstellungen"; +$lang['wihldb'] = "Datenbank"; +$lang['wihlmsg'] = "Benachrichtigungen"; +$lang['wihlsty'] = "Statistik Seite"; +$lang['wihlts'] = "TeamSpeak"; +$lang['wihlvs'] = "Sonstiges"; +$lang['wiignidle'] = "Ignoriere Idle"; +$lang['wiignidledesc'] = "Lege eine Zeit fest, bis zu der die Idlezeit eines Users ignoriert werden soll.

    Wenn ein Client nichts auf dem Server unternimmt (=Idle), wird diese Zeit vom Ranksystem notiert. Mit dieser Funktion wird die Idlezeit eines User bis zur definierten Grenze nicht als Idlezeit gewertet. Erst wenn der definierte Wert überschritten wird, zählt sie ab diesem Zeitpunkt für das Ranksystem auch als Idlezeit.

    Diese Funktion spielt nur in Verbindung mit dem Modus 'aktive Zeit' eine Rolle.
    Sinn der Funktion ist es z.B. die Zeit des Zuhörens bei Gesprächen als Aktivität zu werten.

    0= Deaktivieren der Funktion

    Beispiel:
    Ignoriere Idle= 600 (Sekunden)
    Ein Client hat einen Idle von 8 Minunten.
    Folge:
    Die 8 Minuten Idle werden ignoriert und er erhält demnach diese Zeit als aktive Zeit. Wenn sich die Idlezeit nun auf über 12 Minuten erhöht, so wird die Zeit über 10 Minuten, also 2 Minuten, auch als Idlezeit gewertet."; +$lang['wilogout'] = "Abmelden"; +$lang['wilog'] = "Log-Pfad"; +$lang['wilogdesc'] = "Pfad in dem das Logfile des Ranksystems geschrieben werden soll.

    Beispiel:
    /var/logs/ranksystem/

    Beachte, dass der Webuser Schreibrechte in dem Verzeichnis hat."; +$lang['wimsgmsg'] = "Nachricht"; +$lang['wimsgmsgdesc'] = "Definiere eine Nachricht, welche ein User erhält, wenn er im Rang aufsteigt.

    Die Nachricht wird über TS3 als private Text-Nachricht versendet. Daher können alle bekannten BB-Codes genutzt werden, die auch sonst in Text-Nachrichten funktionieren.
    http://ts-n.net/lexicon.php?showid=97#lexindex

    Weiterhin kann die bisher verbrachte Zeit mittels Argumenten angegeben werden:
    %1\$s - Tage
    %2\$s - Stunden
    %3\$s - Minuten
    %4\$s - Sekunden

    Beispiel:
    Hey,\\ndu bist im Rang gestiegen, da du bereits %1\$s Tage, %2\$s Stunden und %3\$s Minuten mit unserem TS3 Server verbunden bist.[B]Weiter so![/B] ;-)"; +$lang['wimsgusr'] = "Benachrichtigung Rangsteigerung"; +$lang['wimsgusrdesc'] = "Informiere den User per privater Textnachricht über seine Rangsteigerung."; +$lang['winav1'] = "TeamSpeak"; +$lang['winav2'] = "Datenbank"; +$lang['winav3'] = "Kern"; +$lang['winav4'] = "Anderes"; +$lang['winav5'] = "Benachrichtigung"; +$lang['winav6'] = "Statistik Seite"; +$lang['winav7'] = "Administration"; +$lang['winav8'] = "Start / Stop Bot"; +$lang['winav9'] = "Update verfügbar!"; +$lang['winav10'] = "Bitte nutze das Webinterface nur via %s HTTPS%s Eine Verschlüsselung ist wichtig um die Privatsphäre und Sicherheit zu gewährleisten.%sUm HTTPS nutzen zu können, muss der Webserver eine SSL Verbindung unterstützen."; +$lang['wiselcld'] = "selektiere User"; +$lang['wiselclddesc'] = "Wähle User anhand des letzt bekannten Usernamen aus. Hierfür einfach losschreiben.
    Mehrfachselektionen sind kommagetrennt möglich, welche automatisch vorgenommen werden.

    Mit den selektierten Usern kann im nächsten Schritt eine Aktion gewählt werden."; +$lang['wishcolas'] = "aktuelle Servergruppe"; +$lang['wishcolasdesc'] = "Zeige Spalte 'aktuelle Servergruppe' in der stats/list_rankup.php"; +$lang['wishcolat'] = "aktive Zeit"; +$lang['wishcolatdesc'] = "Zeige Spalte 'ges. aktive Zeit' in der stats/list_rankup.php"; +$lang['wishcolcld'] = "Client-Name"; +$lang['wishcolclddesc'] = "Zeige Spalte 'Client-Name' in der stats/list_rankup.php"; +$lang['wishcoldbid'] = "Datenbank-ID"; +$lang['wishcoldbiddesc']= "Zeige Spalte 'Client-Datenbank-ID' in der stats/list_rankup.php"; +$lang['wishcolit'] = "idle Zeit"; +$lang['wishcolitdesc'] = "Zeige Spalte 'ges. idle Zeit' in der stats/list_rankup.php"; +$lang['wishcolls'] = "zuletzt gesehen"; +$lang['wishcollsdesc'] = "Zeige Spalte 'zuletzt gesehen' in der stats/list_rankup.php"; +$lang['wishcolnx'] = "nächster rank up"; +$lang['wishcolnxdesc'] = "Zeige Spalte 'nächster Rang' in der stats/list_rankup.php"; +$lang['wishcolot'] = "online Zeit"; +$lang['wishcolotdesc'] = "Zeige Spalte 'ges. online Zeit' in der stats/list_rankup.php"; +$lang['wishcolrg'] = "Rang"; +$lang['wishcolrgdesc'] = "Zeige Spalte 'Rang' in der stats/list_rankup.php"; +$lang['wishcolsg'] = "nächste Servergruppe"; +$lang['wishcolsgdesc'] = "Zeige Spalte 'nächste Servergruppe' in der stats/list_rankup.php"; +$lang['wishcoluuid'] = "Client-ID"; +$lang['wishcoluuiddesc']= "Zeige Spalte 'eindeutige Client-ID' in der stats/list_rankup.php"; +$lang['wishexcld'] = "ausgeschl. Clients"; +$lang['wishexclddesc'] = "Zeige User in der list_rankup.php, welche ausgeschlossen sind und demnach nicht am Ranksystem teilnehmen."; +$lang['wishexgrp'] = "ausgeschl. Servergruppen"; +$lang['wishexgrpdesc'] = "Zeige User in der list_rankup.php, welche über die 'Servergruppen-Ausnahmen' nicht am Ranksystem teilnehmen."; +$lang['wishhicld'] = "User in höchestem Rang"; +$lang['wishhiclddesc'] = "Zeige User in der list_rankup.php, welche den höchsten Rang erreicht haben."; +$lang['wisupidle'] = "Modus"; +$lang['wisupidledesc'] = "Es gibt zwei Ausprägungen, wie Zeiten gewertet werden können und dann für eine Rangsteigerung herangezogen werden.

    1) online Zeit: Hier wird die reine online Zeit des Users beachtet (siehe Spalte 'ges. online Zeit' in der stats/list_rankup.php).
    2) aktive Zeit: Hier wird von der online Zeit eines Users noch die inaktive Zeit (Idle) abgezogen (siehe Spalte 'ges. aktive Zeit' in der stats/list_rankup.php).


    Eine Umstellung des Modus mit einer bereits länger laufenden Datenbank wird nicht empfohlen, kann aber funktionieren."; +$lang['wisvconf'] = "speichern"; +$lang['wisvsuc'] = "Änderungen erfolgreich gesichert!"; +$lang['wisvres'] = "Damit die Änderungen wirksam werden ist ein Neustart des Ranksystems erforderlich!"; +$lang['witime'] = "Zeitzone"; +$lang['witimedesc'] = "Wähle die Zeitzone, die für den Sever gilt."; +$lang['wits3dch'] = "Default Channel"; +$lang['wits3dchdesc'] = "Die channel-ID, mit der sich der Bot verbindet.

    In diesem Channel wechselt der Bot nach dem Verbinden mit dem TeamSpeak Server."; +$lang['wits3host'] = "TS3 Hostadresse"; +$lang['wits3hostdesc'] = "TeamSpeak 3 Server Adresse
    (IP oder DNS)"; +$lang['wits3sm'] = "Slowmode"; +$lang['wits3smdesc'] = "Mit dem Slowmode werden die Query-Anfragen an den TeamSpeak Server reduziert. Dies schützt vor einem Ban aufgrund von flooding.
    TeamSpeak Query Befehle werden mit dieser Funktion verzögert abgeschickt.

    !!! AUCH REDUZIERT ER DIE CPU USAGE !!!

    Die Aktivierung ist nicht empfohlen, wenn nicht benötigt. Die Verzögerung (delay) erhöht die Laufzeit eines Durchgangs des Bots, dadurch wird er unpräziser."; +$lang['wits3qnm'] = "Botname"; +$lang['wits3qnm2'] = "2. Botname"; +$lang['wits3qnm2desc'] = "Ein zweiter Botname, falls der erste bereits genutzt wird."; +$lang['wits3qnmdesc'] = "Der Name, mit dem die Query-Verbindung augebaut werden soll.
    Der Name kann frei gewählt werden."; +$lang['wits3querpw'] = "TS3 Query-Passwort"; +$lang['wits3querpwdesc']= "TeamSpeak 3 Query Passwort
    Passwort des Query Benutzers"; +$lang['wits3querusr'] = "TS3 Query-Benutzer"; +$lang['wits3querusrdesc']= "TeamSpeak 3 Query Benutzername
    Standard ist serveradmin
    Natürlich kann auch ein gesonderter Query-Benutzer erstellt und genutzt werden.
    Die benötigten Rechte sind hier aufgelistet:
    http://ts-n.net/ranksystem.php"; +$lang['wits3query'] = "TS3 Query-Port"; +$lang['wits3querydesc'] = "TeamSpeak 3 Query Port
    Standard ist 10011 (TCP)
    andere Werte sollten in der 'ts3server.ini' zu finden sein."; +$lang['wits3voice'] = "TS3 Voice-Port"; +$lang['wits3voicedesc'] = "TeamSpeak 3 Voice Port
    Standard ist 9987 (UDP)
    Dieser Port wird zum Verbinden mit dem TS3 Client genutzt."; +$lang['wiupcheck'] = "Update Info"; +$lang['wiupcheckdesc'] = "Ist die Update Info aktiv, werden nachfolgend genannte User mit einer privaten Textnachricht informiert, sobald ein Update verfügbar ist."; +$lang['wiuptime'] = "Intervall"; +$lang['wiuptimedesc'] = "Gib an alle wie viel Sekunden das Ranksystem prüfen soll, ob ein Update verfügbar ist.
    Beachte, bei jeder Prüfung werden die hinterlegten User über ein verfügbares Update benachrichtigt. Ist kein hinterlegter User online, wird mit dem nächsten Intervall versucht zu benachrichtigen."; +$lang['wiupuid'] = "Empfänger"; +$lang['wiupuiddesc'] = "Eine Komma getrennte Liste von eindeutigen Client-IDs, welche via privater Textnachricht auf dem TeamSpeak über ein Update informiert werden sollen."; +$lang['wivlang'] = "Sprache"; +$lang['wivlangdesc'] = "Sprache des Ranksystems

    de - Deutsch
    en - english
    it - italiano
    ru - русский"; ?> \ No newline at end of file diff --git a/languages/core_en.php b/languages/core_en.php index 00ce0de..38c5399 100644 --- a/languages/core_en.php +++ b/languages/core_en.php @@ -1,361 +1,364 @@ added to the Ranksystem now."; -$lang['alrup'] = "You already updated your database. Please delete this file from your webspace!"; -$lang['changedbid'] = "User %s (unique Client-ID: %s) got a new TeamSpeak Client-database-ID (%s). Update the old Client-database-ID (%s) and reset collected times!"; -$lang['crawl'] = "Scan for connected user and count the activity..."; -$lang['clean'] = "Scan for clients, which have to delete..."; -$lang['cleanc'] = "clean clients"; -$lang['cleancdesc'] = "With this function the old clients in the Ranksystem get deleted.

    To this end, the Ranksystem sychronized with the TeamSpeak database. Clients, which do not exist in TeamSpeak, will be deleted from the Ranksystem.

    This function is only enabled when the 'Slowmode' is deactivated!


    For automatic adjustment of the TeamSpeak database the ClientCleaner can be used:
    http://ts-n.net/clientcleaner.php"; -$lang['cleandel'] = "There were %s clients deleted out of the Ranksystem database, cause they were no longer existing in the TeamSpeak database."; -$lang['cleanno'] = "There were nothing to delete..."; -$lang['cleanp'] = "clean period"; -$lang['cleanpdesc'] = "Set a time that has to elapse before the 'clean clients' runs next.

    Set a time in seconds.

    Recommended is once a day, cause the client cleaning needs much time for bigger databases."; -$lang['cleanrs'] = "Clients in the Ranksystem database: %s"; -$lang['cleants'] = "Clients found in the TeamSpeak database: %s (of %s)"; -$lang['days'] = "days"; -$lang['dbconerr'] = "Failed to connect to MySQL-Database: "; -$lang['delcldgrpif'] = "Error while removing the knowledge for servergroups: %s"; -$lang['delcldgrpsc'] = "Knowledge about servergroups for %s User successfully removed."; -$lang['delclientsif'] = "%s Clients deleted out of the Ranksystem database!"; -$lang['delclientssc'] = "%s Clients successfully deleted out of the Ranksystem database!"; -$lang['errlogin'] = "Username and/or password are incorrect! Try again..."; -$lang['error'] = "Error "; -$lang['errremgrp'] = "Error while removing user with unique Client-ID %s out of the servergroup with servergroup-database-ID %s!"; -$lang['errremdb'] = "Error while removing user with unique Client-ID %s out of the Ranksystem database!"; -$lang['errsel'] = "Error while choosing the selections with
    selected client: %s
    option 'delete clients': %s
    option 'sum. online time': %s"; -$lang['errukwn'] = "An unknown error has occurred!"; -$lang['errupcount'] = "Error while renewing the summary online time of %s by user with the unique Client-ID %s"; -$lang['firstuse'] = "Seems to be the first run. Start logging the Userhistory..."; -$lang['highest'] = "highest rank reached"; -$lang['instdb'] = "Install database:"; -$lang['instdberr'] = "Error while creating the database: "; -$lang['instdbsubm'] = "Create database"; -$lang['instdbsuc'] = "Database %s successfully created."; -$lang['insttb'] = "Install Tables:"; -$lang['insttberr'] = "Error while creating table: "; -$lang['insttbsuc'] = "Table %s successfully created."; -$lang['isntwicfg'] = "Can't save the database configuration! Please edit the 'other/dbconfig.php' with a chmod 0777 and try again after."; -$lang['isntwichm'] = "Please edit the 'other/dbconfig.php', and the folders 'avatars/', 'icons/' and 'logs/' with the needed permissions. Therefore edit the chmod to 0777. After it try again (reload the page)."; -$lang['isntwidb'] = "Enter your database settings:"; -$lang['isntwidberr'] = "Please check if you filled out all fields correctly!"; -$lang['isntwidbhost'] = "DB Hostaddress:"; -$lang['isntwidbhostdesc'] = "Database server address
    (IP or DNS)"; -$lang['isntwidbmsg'] = "Database error: "; -$lang['isntwidbname'] = "DB Name:"; -$lang['isntwidbnamedesc'] = "Name of database"; -$lang['isntwidbpass'] = "DB Password:"; -$lang['isntwidbpassdesc'] = "Password to access the database"; -$lang['isntwidbtype'] = "DB Type:"; -$lang['isntwidbtypedesc'] = "Database type

    You have to install the needed PDO Driver.
    For more informations have look at the requirements on http://ts-n.net/ranksystem.php"; -$lang['isntwidbusr'] = "DB User:"; -$lang['isntwidbusrdesc'] = "User to access the database"; -$lang['isntwidel'] = "Please delete the file 'install.php' and all 'update_x-xx.php' files from your webserver and open the %s to configure the Ranksystem!"; -$lang['isntwiusr'] = "User for the webinterface successfully created."; -$lang['isntwiusrcr'] = "create access"; -$lang['isntwiusrdesc'] = "Enter a username and password for access the webinterface. With the webinterface you can configurate the ranksytem."; -$lang['isntwiusrh'] = "Access - Webinterface"; -$lang['listacsg'] = "actual servergroup"; -$lang['listcldbid'] = "Client-database-ID"; -$lang['listexgrp'] = "Will not conside for the Ranksystem (servergroup exception)."; -$lang['listexuid'] = "Will not conside for the Ranksystem (client exception)."; -$lang['listip'] = "IP address"; -$lang['listnick'] = "Clientname"; -$lang['listnxsg'] = "next servergroup"; -$lang['listnxup'] = "next rank up"; -$lang['listrank'] = "rank"; -$lang['listseen'] = "last seen"; -$lang['listsuma'] = "sum. active time"; -$lang['listsumi'] = "sum. idle time"; -$lang['listsumo'] = "sum. online time"; -$lang['listtime'] = "%s day(s), %s hour(s), %s min., %s sec."; -$lang['listuid'] = "unique Client-ID"; -$lang['new'] = "new"; -$lang['nocount'] = "User %s (unique Client-ID: %s; Client-database-ID %s) is a query-user or is several times online (only first connection counts) -> this will not count!"; -$lang['noentry'] = "No entries found.."; -$lang['pass'] = "Password: "; -$lang['queryname'] = "First Botname already in use. Trying with second Botname..."; -$lang['sccrmcld'] = "User with unique Client-ID %s successfull removed from the Ranksystem database."; -$lang['sccupcount'] = "User with the unique Client-ID %s successfull overwritten with a summary online time of %s."; -$lang['setontime'] = "sum. online time"; -$lang['setontimedesc'] = "Enter a new summary online time, which should be set to the previous selected clients. With this the old summary online gets overwritten.

    The entered summary online time will be considered for the rank up."; -$lang['sgrpadd'] = "Grant servergroup %s to user %s (unique Client-ID: %s; Client-database-ID %s)."; -$lang['sgrprerr'] = "It happened a problem with the servergroup of the user %s (unique Client-ID: %s; Client-database-ID %s)!"; -$lang['sgrprm'] = "Removed servergroup %s from user %s (unique Client-ID: %s; Client-database-ID %s)."; -$lang['sitegen'] = "Site generated in %s seconds with %s clients."; -$lang['sitegenl'] = "Site generated in %s seconds with %s clients (thereof %s displayed; %s affected by exception rules; %s in highest rank)."; -$lang['stix0001'] = "Server statistics"; -$lang['stix0002'] = "Total users"; -$lang['stix0003'] = "View details"; -$lang['stix0004'] = "Online time of all user / Total"; -$lang['stix0005'] = "View top of all time"; -$lang['stix0006'] = "View top of the month"; -$lang['stix0007'] = "View top of the week"; -$lang['stix0008'] = "Server usage"; -$lang['stix0009'] = "In the last 7 days"; -$lang['stix0010'] = "In the last 30 days"; -$lang['stix0011'] = "In the last 24 hours"; -$lang['stix0012'] = "select period"; -$lang['stix0013'] = "Last day"; -$lang['stix0014'] = "Last week"; -$lang['stix0015'] = "Last month"; -$lang['stix0016'] = "Active / inactive time (of all clients)"; -$lang['stix0017'] = "Versions (of all clients)"; -$lang['stix0018'] = "Nationalities (of all clients)"; -$lang['stix0019'] = "Platforms (of all clients)"; -$lang['stix0020'] = "Current statistics"; -$lang['stix0021'] = "Requested information"; -$lang['stix0022'] = "Result"; -$lang['stix0023'] = "Server status"; -$lang['stix0024'] = "Online"; -$lang['stix0025'] = "Offline"; -$lang['stix0026'] = "Clients (Online / Max)"; -$lang['stix0027'] = "Amount of channels"; -$lang['stix0028'] = "Average server ping"; -$lang['stix0029'] = "Total bytes received"; -$lang['stix0030'] = "Total bytes sent"; -$lang['stix0031'] = "Server uptime"; -$lang['stix0032'] = "before offline:"; -$lang['stix0033'] = "00 Days, 00 Hours, 00 Mins, 00 Secs"; -$lang['stix0034'] = "Average packet loss"; -$lang['stix0035'] = "Overall statistics"; -$lang['stix0036'] = "Server name"; -$lang['stix0037'] = "Server address (Host Address : Port)"; -$lang['stix0038'] = "Server password"; -$lang['stix0039'] = "No (Server is public)"; -$lang['stix0040'] = "Yes (Server Is private)"; -$lang['stix0041'] = "Server ID"; -$lang['stix0042'] = "Server platform"; -$lang['stix0043'] = "Server version"; -$lang['stix0044'] = "Server creation date (dd/mm/yyyy)"; -$lang['stix0045'] = "Report to server list"; -$lang['stix0046'] = "Activated"; -$lang['stix0047'] = "Not activated"; -$lang['stix0048'] = "not enough data yet..."; -$lang['stix0049'] = "Online time of all user / month"; -$lang['stix0050'] = "Online time of all user / week"; -$lang['stix0051'] = "TeamSpeak has failed, so no creation date..."; -$lang['stmy0001'] = "My statistics"; -$lang['stmy0002'] = "Rank"; -$lang['stmy0003'] = "Database ID:"; -$lang['stmy0004'] = "Unique ID:"; -$lang['stmy0005'] = "Total connections to the server:"; -$lang['stmy0006'] = "Start date for statistics:"; -$lang['stmy0007'] = "Total online time:"; -$lang['stmy0008'] = "Online time last 7 days:"; -$lang['stmy0009'] = "Online time last 30 days:"; -$lang['stmy0010'] = "Achievements completed:"; -$lang['stmy0011'] = "Time achievement progress"; -$lang['stmy0012'] = "Time: Legendary"; -$lang['stmy0013'] = "Because you have an online time of %s hours."; -$lang['stmy0014'] = "Progress completed"; -$lang['stmy0015'] = "Time: Gold"; -$lang['stmy0016'] = "% Completed for Legendary"; -$lang['stmy0017'] = "Time: Silver"; -$lang['stmy0018'] = "% Completed for Gold"; -$lang['stmy0019'] = "Time: Bronze"; -$lang['stmy0020'] = "% Completed for Silver"; -$lang['stmy0021'] = "Time: Unranked"; -$lang['stmy0022'] = "% Completed for Bronze"; -$lang['stmy0023'] = "Connection achievement progress"; -$lang['stmy0024'] = "Connects: Legendary"; -$lang['stmy0025'] = "Because You connected %s times to the server."; -$lang['stmy0026'] = "Connects: Gold"; -$lang['stmy0027'] = "Connects: Silver"; -$lang['stmy0028'] = "Connects: Bronze"; -$lang['stmy0029'] = "Connects: Unranked"; -$lang['stmy0030'] = "Progress next servergroup"; -$lang['stnv0001'] = "Server news"; -$lang['stnv0002'] = "Close"; -$lang['stnv0003'] = "Refresh client information"; -$lang['stnv0004'] = "Only use this refresh, when your TS3 information got changed, such as your TS3 username"; -$lang['stnv0005'] = "It only works, when you are connected to the TS3 server at the same time"; -$lang['stnv0006'] = "Refresh"; -$lang['stnv0007'] = "Battle area - Page content"; -$lang['stnv0008'] = "You can challenge other users in a battle between two users or two teams."; -$lang['stnv0009'] = "While the battle is active the online time of the teams/users will be counted."; -$lang['stnv0010'] = "When the battle ends the team/user with the highest online time wins."; -$lang['stnv0011'] = "(The regular battling time is 48 hours)"; -$lang['stnv0012'] = "The winning team/user will recieve a price, which the user can use whenever the user wants."; -$lang['stnv0013'] = "It will be displayed on the My statistics tab."; -$lang['stnv0014'] = "(Could be online time boost(2x) for 8 hours, instant online time (4 hours), etc."; -$lang['stnv0015'] = "These boosts can be used for example to climb in the top users of the week."; -$lang['stnv0016'] = "Not available"; -$lang['stnv0017'] = "You are not connected to the TS3 Server, so it can't display any data for you."; -$lang['stnv0018'] = "Please connect to the TS3 Server and then Refresh your Session by pressing the blue Refresh Button at the top-right corner."; -$lang['stnv0019'] = "My statistics - Page content"; -$lang['stnv0020'] = "This page contains a overall summary of your personal statistics and activity on the server."; -$lang['stnv0021'] = "The informations are collected since the beginning of the Ranksystem, they are not since the beginning of the TeamSpeak server."; -$lang['stnv0022'] = "This page receives its values out of a database. So the values might be delayed a bit."; -$lang['stnv0023'] = "The sum inside of the donut charts may differ to the amount of 'Total user'. The reason is that this data weren't collected with older versions of the Ranksystem."; -$lang['stnv0024'] = "Ranksystem - Statistics"; -$lang['stnv0025'] = "Limit entries"; -$lang['stnv0026'] = "all"; -$lang['stnv0027'] = "The informations on this site could be outdated! It seems the Ranksystem is no more connected to the TeamSpeak."; -$lang['stnv0028'] = "(You are not connected to the TS3!)"; -$lang['stnv0029'] = "List Rankup"; -$lang['stnv0030'] = "Ranksystem info"; -$lang['stnv0031'] = "DE - Deutsch"; -$lang['stnv0032'] = "EN - english"; -$lang['stnv0033'] = "RU - русский"; -$lang['stnv0034'] = "IT - italiano"; -$lang['stri0001'] = "Ranksystem information"; -$lang['stri0002'] = "What is the Ranksystem?"; -$lang['stri0003'] = "A TS3 Bot, which automatically grant ranks (servergroups) to user on a TeamSpeak 3 Server for online time or online activity. It also gathers informations and statistics about the user and displays the result on this site."; -$lang['stri0004'] = "Who created the Ranksystem?"; -$lang['stri0005'] = "When the Ranksystem was Created?"; -$lang['stri0006'] = "First alpha release: 05/10/2014."; -$lang['stri0007'] = "First beta release: 01/02/2015."; -$lang['stri0008'] = "You can see the newest version on the Ranksystem Website."; -$lang['stri0009'] = "How was the Ranksystem created?"; -$lang['stri0010'] = "The Ranksystem is coded in"; -$lang['stri0011'] = "It uses also the following libraries:"; -$lang['stri0012'] = "Special Thanks To:"; -$lang['stri0013'] = "sergey - for russian translation"; -$lang['stri0014'] = "Bejamin Frost - for initialisation the bootstrap design"; -$lang['stri0015'] = "ZanK - for italian translation"; -$lang['sttw0001'] = "Top users"; -$lang['sttw0002'] = "Of the week"; -$lang['sttw0003'] = "With %s hours online time"; -$lang['sttw0004'] = "Top 10 compared"; -$lang['sttw0005'] = "Hours (Defines 100 %)"; -$lang['sttw0006'] = "%s hours (%s%)"; -$lang['sttw0007'] = "Top 10 Statistics"; -$lang['sttw0008'] = "Top 10 vs others in online time"; -$lang['sttw0009'] = "Top 10 vs others in active time"; -$lang['sttw0010'] = "Top 10 vs others in inactive time"; -$lang['sttw0011'] = "Top 10 (in hours)"; -$lang['sttw0012'] = "Other %s users (in hours)"; -$lang['sttw0013'] = "With %s hours active time"; -$lang['sttm0001'] = "Of the month"; -$lang['stta0001'] = "Of all time"; -$lang['updb'] = "You only have to run this if you want to update the Ranksystem from an older version to %s!

    Run this once time and delete the update_%s.php file after from your webserver.


    Update Database:
    "; -$lang['updel'] = "Please remove the following files from the root directory of the ranksystem, if they are still existing:
    %s"; -$lang['upinf'] = "A new Version of the Ranksystem is available; Inform clients on server..."; -$lang['upmov'] = "Please move the \'%s\' into the subfolder \'%s\' and overwrite the existing one!"; -$lang['upmsg'] = "\nHey, a new version of the [B]Ranksystem[/B] is available!\n\ncurrent version: %s\n[B]new version: %s[/B]\n\nPlease check out our site for more informations [URL]http://ts-n.net/ranksystem.php[/URL]."; -$lang['upsucc'] = "Database update successfully executed."; -$lang['upuser'] = "User %s (unique Client-ID: %s; Client-database-ID %s) gets a new count (sum. online time) of %s (thereof active %s)."; -$lang['upuserboost'] = "User %s (unique Client-ID: %s; Client-database-ID %s) gets a new count (sum. online time) of %s (thereof active %s) [BOOST %sx]."; -$lang['upusrerr'] = "The unique Client-ID %s couldn't reached on the TeamSpeak!"; -$lang['upusrinf'] = "User %s was successfully informed."; -$lang['user'] = "Username: "; -$lang['usermsgactive'] = "\nHey, you got a rank up, cause you reached an activity of %s days, %s hours, %s minutes and %s seconds."; -$lang['usermsgonline'] = "\nHey, you got a rank up, cause you reached an online time of %s days, %s hours, %s minutes and %s seconds."; -$lang['wiaction'] = "action"; -$lang['wibgco'] = "Background color:"; -$lang['wibgcodesc'] = "Define a background color.
    (valid HTML Code; have to beginn with # )"; -$lang['wiboost'] = "boost"; -$lang['wiboostdesc'] = "Give an user on your TeamSpeak server a servergroup (have to be created manually), which you can declare here as boost group. Define also a factor which should be used (for example 2x) and a time, how long the boost should be rated.
    The higher the factor, the faster an user reaches the next higher rank.
    Is the time expired, the boost servergroup get automatically removed from the concerned user. The time starts running as soon as the user gets the servergroup.

    servergroup ID => factor => time (in seconds)

    Each entry have to separate from next with a comma.

    Example:
    12=>2=>6000,13=>3=>2500,14=>5=>600

    On this an user in servergroup 12 get the factor 2 for the next 6000 seconds, an user in servergroup 13 get the factor 3 for 2500 seconds, and so on..."; -$lang['wichdbid'] = "Client-database-ID reset"; -$lang['wichdbiddesc'] = "Reset the online time of an user, if his TeamSpeak Client-database-ID changed.

    Example:
    If a clients gets removed from the TeamSpeak server, it gets a new Client-database-ID with the next connect to the server."; -$lang['wiconferr'] = "There is an error in the configuration of the Ranksystem. Please go to the webinterface and correct the Core Settings. Especially check the config 'rank up'!"; -$lang['widaform'] = "Date format"; -$lang['widaformdesc'] = "Choose the showing date format.

    Example:
    %a days, %h hours, %i mins, %s secs"; -$lang['widbcfgsuc'] = "Database configurations saved successfully."; -$lang['widbcfgerr'] = "Error by saving the database configurations! Connection failed or writeout error for 'other/dbconfig.php'"; -$lang['widelcld'] = "delete clients"; -$lang['widelcldgrp'] = "renew groups"; -$lang['widelcldgrpdesc'] = "The Ranksystem remember the given servergroups, so it don't need to give/check this with every run of the worker.php again.

    With this function you can remove once time the knowledge of given servergroups. In effect the ranksystem try to give all clients (which are on the TS3 server online) the servergroup of the actual rank.
    For each client, which gets the group or stay in group, the Ranksystem remember this like described at beginning.

    This function can be helpful, when user are not in the servergroup, they should be for the defined online time.

    Attention: Run this in a moment, where the next few minutes no rankups become due!!! The Ranksystem can't remove the old group, cause he can't remember ;-)"; -$lang['widelclddesc'] = "Delete the before selected clients out of the Ranksystem database.

    With this deletion are the clients on the TeamSpeak Server untouched."; -$lang['widelsg'] = "remove out of servergroups"; -$lang['widelsgdesc'] = "Choose if the clients should also be removed out of the last known servergroup, when you delete clients out of the Ranksystem database.

    It will only considered servergroups, which concerned the Ranksystem"; -$lang['wideltime'] = "Deletiontime"; -$lang['wideltimedesc'] = "Clean old clients out of the Ranksystem database.
    Entry a time in seconds which a client was not seen to delete it.

    0 - deletes all clients out of the Ranksystem

    The Userdatas on the TeamSpeak server are with this untouched!"; -$lang['wiexgrp'] = "servergroup exception"; -$lang['wiexgrpdesc'] = "A comma seperated list of servergroup-IDs, which should not conside for the Ranksystem.
    User in at least one of this servergroups IDs will be ignored for the rank up."; -$lang['wiexuid'] = "client exception"; -$lang['wiexuiddesc'] = "A comma seperated list of unique Client-IDs, which should not conside for the Ranksystem.
    User in this list will be ignored for the rank up."; -$lang['wigrptime'] = "rank up"; -$lang['wigrptimedesc'] = "Define here after which time a user should get automatically a predefined servergroup.

    time (seconds)=>servergroup ID

    Important for this is the online time of an user or if 'Idletime' is active, the active time.

    Each entry have to separate from next with a comma.

    The time must be entered cumulative

    Example:
    60=>9,120=>10,180=>11

    On this a user get after 60 seconds the servergroup 9, in turn after 60 seconds the servergroup 10, and so on..."; -$lang['wihdco'] = "Headline color:"; -$lang['wihdcodesc'] = "Define a headline color.
    (valid HTML Code; have to beginn with # )"; -$lang['wihl'] = "Webinterface - Ranksystem"; -$lang['wihladm'] = "admin list"; -$lang['wihlcfg'] = "Core settings"; -$lang['wihlclg'] = "Edit clients (global)"; -$lang['wihlcls'] = "Edit clients (selective)"; -$lang['wihldb'] = "Database settings"; -$lang['wihlsty'] = "Style settings"; -$lang['wihlts'] = "TeamSpeak settings"; -$lang['wihvco'] = "Hover color:"; -$lang['wihvcodesc'] = "Define a hover color.
    (valid HTML Code; have to beginn with # )"; -$lang['wiifco'] = "Infotext color:"; -$lang['wiifcodesc'] = "Define a info-text color.
    (valid HTML Code; have to beginn with # )"; -$lang['wilog'] = "Logpath"; -$lang['wilogdesc'] = "Path of the log file of the Ranksystem.

    Example:
    /var/logs/ranksystem/

    Be sure, the webuser has the write-permissions to the logpath."; -$lang['wilogout'] = "LogOut"; -$lang['wimsgusr'] = "Notification"; -$lang['wimsgusrdesc'] = "Inform an user with a private text message about his rank up.
    Define the message in 'lang.php'
    (usermsgonline or usermsgactive)"; -$lang['wiscco'] = "Successtext color:"; -$lang['wisccodesc'] = "Define a success-text color.
    (valid HTML Code; have to beginn with # )"; -$lang['wiselcld'] = "select clients"; -$lang['wiselclddesc'] = "Select the clients by the last known username. For this you only have to start typing.
    Multiple selections are comma separated, which does the system automatically.

    With the selection you can choose with the next step an action."; -$lang['wishcolas'] = "actual servergroup"; -$lang['wishcolasdesc'] = "Show column 'actual servergroup' in list_rankup.php"; -$lang['wishcolat'] = "active time"; -$lang['wishcolatdesc'] = "Show column 'sum. active time' in list_rankup.php"; -$lang['wishcolcld'] = "Client-name"; -$lang['wishcolclddesc'] = "Show column 'Client-name' in list_rankup.php"; -$lang['wishcoldbid'] = "database-ID"; -$lang['wishcoldbiddesc'] = "Show column 'Client-database-ID' in list_rankup.php"; -$lang['wishcolit'] = "idle time"; -$lang['wishcolitdesc'] = "Show column 'sum idle time' in list_rankup.php"; -$lang['wishcolls'] = "last seen"; -$lang['wishcollsdesc'] = "Show column 'last seen' in list_rankup.php"; -$lang['wishcolnx'] = "next rank up"; -$lang['wishcolnxdesc'] = "Show column 'next rank up' in list_rankup.php"; -$lang['wishcolot'] = "online time"; -$lang['wishcolotdesc'] = "Show column 'sum. online time' in list_rankup.php"; -$lang['wishcolrg'] = "rank"; -$lang['wishcolrgdesc'] = "Show column 'rank' in list_rankup.php"; -$lang['wishcolsg'] = "next servergroup"; -$lang['wishcolsgdesc'] = "Show column 'next servergroup' in list_rankup.php"; -$lang['wishcoluuid'] = "Client-ID"; -$lang['wishcoluuiddesc'] = "Show column 'unique Client-ID' in list_rankup.php"; -$lang['wishexcld'] = "excepted client"; -$lang['wishexclddesc'] = "Show clients in list_rankup.php,
    which are excepted by his uniqueID."; -$lang['wishexgrp'] = "excepted groups"; -$lang['wishexgrpdesc'] = "Show clients in list_rankup.php, which are in the list 'client exception' and shouldn't be conside for the Ranksystem."; -$lang['wishgen'] = "Sitegen"; -$lang['wishgendesc'] = "Show the needed time for the generation of the site at the end of the site."; -$lang['wishhicld'] = "Clients in highest Level"; -$lang['wishhiclddesc'] = "Show clients in list_rankup.php, which reached the highest level in the Ranksystem."; -$lang['wisupidle'] = "Idletime"; -$lang['wisupidledesc'] = "If this function is active, the 'sum. idle time' will be substrate from the 'sum. online time'. Instead of the 'sum. online time', the previoused substration will consided for the rank up."; -$lang['wisvconf'] = "save"; -$lang['wisvsuc'] = "Changes successfully saved!"; -$lang['witime'] = "Timezone"; -$lang['witimedesc'] = "Select the timezone the server is hosted."; -$lang['wits3dch'] = "Default Channel"; -$lang['wits3dchdesc'] = "The channel-ID, the bot should connect with.

    The Bot will join this channel after connecting to the TeamSpeak server."; -$lang['wits3host'] = "TS3 Hostaddress"; -$lang['wits3hostdesc'] = "TeamSpeak 3 Server address
    (IP oder DNS)"; -$lang['wits3sm'] = "Slowmode"; -$lang['wits3smdesc'] = "With the Slowmode you can reduce \"spam\" of query commands to the TeamSpeak server. This prevent bans in case of flood.
    TeamSpeak Query commands get delayed with this function.

    !!! ALSO IT REDUCE THE CPU USAGE !!!

    The activation is not recommended, if not required. The delay increases the duration of the Bot, which makes it imprecisely."; -$lang['wits3qnm'] = "Botname"; -$lang['wits3qnm2'] = "2nd Botname"; -$lang['wits3qnm2desc'] = "A fallback Botname, if the first one is already in use."; -$lang['wits3qnmdesc'] = "The name, with this the query-connection will be established.
    You can name it free."; -$lang['wits3querpw'] = "TS3 Query-Password"; -$lang['wits3querpwdesc'] = "TeamSpeak 3 query password
    Password for the query user."; -$lang['wits3querusr'] = "TS3 Query-User"; -$lang['wits3querusrdesc'] = "TeamSpeak 3 query username
    Default is serveradmin
    Of course, you can also create an additional serverquery account only for the Ranksystem.
    The needed permissions you find on:
    http://ts-n.net/ranksystem.php"; -$lang['wits3query'] = "TS3 Query-Port"; -$lang['wits3querydesc'] = "TeamSpeak 3 query port
    Default is 10011 (TCP)
    If its not default, you should find it in your 'ts3server.ini'."; -$lang['wits3voice'] = "TS3 Voice-Port"; -$lang['wits3voicedesc'] = "TeamSpeak 3 voice port
    Default is 9987 (UDP)
    This is the port, you uses also to connect with the TS3 Client."; -$lang['witxco'] = "Text color:"; -$lang['witxcodesc'] = "Define a text color.
    (valid HTML Code; have to beginn with # )"; -$lang['wiupcheck'] = "Update-Check"; -$lang['wiupcheckdesc'] = "If the Update-Check is enable, the listed user gets a notification with a private text message, once an update is available."; -$lang['wiuptime'] = "Checkinterval"; -$lang['wiuptimedesc'] = "Enter here how much seconds have to gone till the Ranksystem should check for available updates.
    Attention, for each check the listed user gets a notification. If no one of the listed users is online, the Ranksystem will try to notificate with the next interval."; -$lang['wiupuid'] = "Recipient"; -$lang['wiupuiddesc'] = "A comma separate list of unique Client-IDs, which shoud be informed on the TeamSpeak via private message for available updates."; -$lang['wiversion'] = "(current version %s)"; -$lang['wivlang'] = "Language"; -$lang['wivlangdesc'] = "Language for the Ranksystem

    de - Deutsch
    en - english
    it - italiano
    ru - русский"; -$lang['wiwnco'] = "Warntext color:"; -$lang['wiwncodesc'] = "Define a warntext color.
    (valid HTML Code; have to beginn with # )"; -?> +$lang['adduser'] = "User %s (unique Client-ID: %s; Client-database-ID %s) is unknown -> added to the Ranksystem now."; +$lang['changedbid'] = "User %s (unique Client-ID: %s) got a new TeamSpeak Client-database-ID (%s). Update the old Client-database-ID (%s) and reset collected times!"; +$lang['crawl'] = "Scan for connected user and count the activity..."; +$lang['clean'] = "Scan for clients, which have to delete..."; +$lang['cleanc'] = "clean clients"; +$lang['cleancdesc'] = "With this function the old clients in the Ranksystem get deleted.

    To this end, the Ranksystem sychronized with the TeamSpeak database. Clients, which do not exist in TeamSpeak, will be deleted from the Ranksystem.

    This function is only enabled when the 'Slowmode' is deactivated!


    For automatic adjustment of the TeamSpeak database the ClientCleaner can be used:
    http://ts-n.net/clientcleaner.php"; +$lang['cleandel'] = "There were %s clients deleted out of the Ranksystem database, cause they were no longer existing in the TeamSpeak database."; +$lang['cleanno'] = "There were nothing to delete..."; +$lang['cleanp'] = "clean period"; +$lang['cleanpdesc'] = "Set a time that has to elapse before the 'clean clients' runs next.

    Set a time in seconds.

    Recommended is once a day, cause the client cleaning needs much time for bigger databases."; +$lang['cleanrs'] = "Clients in the Ranksystem database: %s"; +$lang['cleants'] = "Clients found in the TeamSpeak database: %s (of %s)"; +$lang['days'] = "%s days"; +$lang['dbconerr'] = "Failed to connect to Database: "; +$lang['delcldgrpif'] = "Error while removing the knowledge for servergroups: %s"; +$lang['delcldgrpsc'] = "Knowledge about servergroups for %s User successfully removed."; +$lang['delclientsif'] = "%s Clients deleted out of the Ranksystem database!"; +$lang['delclientssc'] = "%s Clients successfully deleted out of the Ranksystem database!"; +$lang['errlogin'] = "Username and/or password are incorrect! Try again..."; +$lang['errlogin2'] = "Brute force protection: Try it again in %s seconds!"; +$lang['errlogin3'] = "Brute force protection: To much misstakes. Banned for 300 Seconds!"; +$lang['error'] = "Error "; +$lang['errremgrp'] = "Error while removing user with unique Client-ID %s out of the servergroup with servergroup-database-ID %s!"; +$lang['errremdb'] = "Error while removing user with unique Client-ID %s out of the Ranksystem database!"; +$lang['errsel'] = "Error while choosing the selections with
    selected client: %s
    option 'delete clients': %s
    option 'sum. online time': %s"; +$lang['errukwn'] = "An unknown error has occurred!"; +$lang['errupcount'] = "Error while renewing the summary online time of %s by user with the unique Client-ID %s"; +$lang['highest'] = "highest rank reached"; +$lang['install'] = "Installation"; +$lang['instdb'] = "Install database"; +$lang['instdbsuc'] = "Database %s successfully created."; +$lang['isntwicfg'] = "Can't save the database configuration! Please edit the 'other/dbconfig.php' with a chmod 0777 and try again after."; +$lang['isntwicfg2'] = "Configurate Webinterface"; +$lang['isntwichm'] = "Write Permissions failed on folder \"%s\". Please give them a chmod 777 and try to start the Ranksystem again."; +$lang['isntwidbhost'] = "DB Hostaddress:"; +$lang['isntwidbhostdesc']= "Database server address
    (IP or DNS)"; +$lang['isntwidbmsg'] = "Database error: "; +$lang['isntwidbname'] = "DB Name:"; +$lang['isntwidbnamedesc']= "Name of database"; +$lang['isntwidbpass'] = "DB Password:"; +$lang['isntwidbpassdesc']= "Password to access the database"; +$lang['isntwidbtype'] = "DB Type:"; +$lang['isntwidbtypedesc']= "Database type

    You have to install the needed PDO Driver.
    For more informations have look at the requirements on http://ts-n.net/ranksystem.php"; +$lang['isntwidbusr'] = "DB User:"; +$lang['isntwidbusrdesc']= "User to access the database"; +$lang['isntwidel'] = "Please delete the file 'install.php' from your webserver and open the %s to configure the Ranksystem!"; +$lang['isntwiusr'] = "User for the webinterface successfully created."; +$lang['isntwiusrcr'] = "Create Webinterface-User"; +$lang['isntwiusrdesc'] = "Enter a username and password for access the webinterface. With the webinterface you can configurate the ranksytem."; +$lang['isntwiusrh'] = "Access - Webinterface"; +$lang['listacsg'] = "actual servergroup"; +$lang['listcldbid'] = "Client-database-ID"; +$lang['listexgrp'] = "Will not conside for the Ranksystem (servergroup exception)."; +$lang['listexuid'] = "Will not conside for the Ranksystem (client exception)."; +$lang['listip'] = "IP address"; +$lang['listnick'] = "Clientname"; +$lang['listnxsg'] = "next servergroup"; +$lang['listnxup'] = "next rank up"; +$lang['listrank'] = "rank"; +$lang['listseen'] = "last seen"; +$lang['listsuma'] = "sum. active time"; +$lang['listsumi'] = "sum. idle time"; +$lang['listsumo'] = "sum. online time"; +$lang['listuid'] = "unique Client-ID"; +$lang['login'] = "Login"; +$lang['nocount'] = "User %s (unique Client-ID: %s; Client-database-ID %s) is a query-user or is several times online (only first connection counts) -> this will not count!"; +$lang['noentry'] = "No entries found.."; +$lang['pass'] = "Password"; +$lang['queryname'] = "First Botname already in use. Trying with second Botname..."; +$lang['sccrmcld'] = "User with unique Client-ID %s successfull removed from the Ranksystem database."; +$lang['sccupcount'] = "User with the unique Client-ID %s successfull overwritten with a summary online time of %s."; +$lang['setontime'] = "sum. online time"; +$lang['setontimedesc'] = "Enter a new summary online time, which should be set to the previous selected clients. With this the old summary online gets overwritten.

    The entered summary online time will be considered for the rank up."; +$lang['sgrpadd'] = "Grant servergroup %s to user %s (unique Client-ID: %s; Client-database-ID %s)."; +$lang['sgrprerr'] = "It happened a problem with the servergroup of the user %s (unique Client-ID: %s; Client-database-ID %s)!"; +$lang['sgrprm'] = "Removed servergroup %s from user %s (unique Client-ID: %s; Client-database-ID %s)."; +$lang['stix0001'] = "Server statistics"; +$lang['stix0002'] = "Total users"; +$lang['stix0003'] = "View details"; +$lang['stix0004'] = "Online time of all user / Total"; +$lang['stix0005'] = "View top of all time"; +$lang['stix0006'] = "View top of the month"; +$lang['stix0007'] = "View top of the week"; +$lang['stix0008'] = "Server usage"; +$lang['stix0009'] = "In the last 7 days"; +$lang['stix0010'] = "In the last 30 days"; +$lang['stix0011'] = "In the last 24 hours"; +$lang['stix0012'] = "select period"; +$lang['stix0013'] = "Last day"; +$lang['stix0014'] = "Last week"; +$lang['stix0015'] = "Last month"; +$lang['stix0016'] = "Active / inactive time (of all clients)"; +$lang['stix0017'] = "Versions (of all clients)"; +$lang['stix0018'] = "Nationalities (of all clients)"; +$lang['stix0019'] = "Platforms (of all clients)"; +$lang['stix0020'] = "Current statistics"; +$lang['stix0023'] = "Server status"; +$lang['stix0024'] = "Online"; +$lang['stix0025'] = "Offline"; +$lang['stix0026'] = "Clients (Online / Max)"; +$lang['stix0027'] = "Amount of channels"; +$lang['stix0028'] = "Average server ping"; +$lang['stix0029'] = "Total bytes received"; +$lang['stix0030'] = "Total bytes sent"; +$lang['stix0031'] = "Server uptime"; +$lang['stix0032'] = "before offline:"; +$lang['stix0033'] = "00 Days, 00 Hours, 00 Mins, 00 Secs"; +$lang['stix0034'] = "Average packet loss"; +$lang['stix0035'] = "Overall statistics"; +$lang['stix0036'] = "Server name"; +$lang['stix0037'] = "Server address (Host Address : Port)"; +$lang['stix0038'] = "Server password"; +$lang['stix0039'] = "No (Server is public)"; +$lang['stix0040'] = "Yes (Server Is private)"; +$lang['stix0041'] = "Server ID"; +$lang['stix0042'] = "Server platform"; +$lang['stix0043'] = "Server version"; +$lang['stix0044'] = "Server creation date (dd/mm/yyyy)"; +$lang['stix0045'] = "Report to server list"; +$lang['stix0046'] = "Activated"; +$lang['stix0047'] = "Not activated"; +$lang['stix0048'] = "not enough data yet..."; +$lang['stix0049'] = "Online time of all user / month"; +$lang['stix0050'] = "Online time of all user / week"; +$lang['stix0051'] = "TeamSpeak has failed, so no creation date..."; +$lang['stmy0001'] = "My statistics"; +$lang['stmy0002'] = "Rank"; +$lang['stmy0003'] = "Database ID:"; +$lang['stmy0004'] = "Unique ID:"; +$lang['stmy0005'] = "Total connections to the server:"; +$lang['stmy0006'] = "Start date for statistics:"; +$lang['stmy0007'] = "Total online time:"; +$lang['stmy0008'] = "Online time last 7 days:"; +$lang['stmy0009'] = "Online time last 30 days:"; +$lang['stmy0010'] = "Achievements completed:"; +$lang['stmy0011'] = "Time achievement progress"; +$lang['stmy0012'] = "Time: Legendary"; +$lang['stmy0013'] = "Because you have an online time of %s hours."; +$lang['stmy0014'] = "Progress completed"; +$lang['stmy0015'] = "Time: Gold"; +$lang['stmy0016'] = "% Completed for Legendary"; +$lang['stmy0017'] = "Time: Silver"; +$lang['stmy0018'] = "% Completed for Gold"; +$lang['stmy0019'] = "Time: Bronze"; +$lang['stmy0020'] = "% Completed for Silver"; +$lang['stmy0021'] = "Time: Unranked"; +$lang['stmy0022'] = "% Completed for Bronze"; +$lang['stmy0023'] = "Connection achievement progress"; +$lang['stmy0024'] = "Connects: Legendary"; +$lang['stmy0025'] = "Because You connected %s times to the server."; +$lang['stmy0026'] = "Connects: Gold"; +$lang['stmy0027'] = "Connects: Silver"; +$lang['stmy0028'] = "Connects: Bronze"; +$lang['stmy0029'] = "Connects: Unranked"; +$lang['stmy0030'] = "Progress next servergroup"; +$lang['stnv0001'] = "Server news"; +$lang['stnv0002'] = "Close"; +$lang['stnv0003'] = "Refresh client information"; +$lang['stnv0004'] = "Only use this refresh, when your TS3 information got changed, such as your TS3 username"; +$lang['stnv0005'] = "It only works, when you are connected to the TS3 server at the same time"; +$lang['stnv0006'] = "Refresh"; +$lang['stnv0007'] = "Battle area - Page content"; +$lang['stnv0008'] = "You can challenge other users in a battle between two users or two teams."; +$lang['stnv0009'] = "While the battle is active the online time of the teams/users will be counted."; +$lang['stnv0010'] = "When the battle ends the team/user with the highest online time wins."; +$lang['stnv0011'] = "(The regular battling time is 48 hours)"; +$lang['stnv0012'] = "The winning team/user will recieve a price, which the user can use whenever the user wants."; +$lang['stnv0013'] = "It will be displayed on the My statistics tab."; +$lang['stnv0014'] = "(Could be online time boost(2x) for 8 hours, instant online time (4 hours), etc."; +$lang['stnv0015'] = "These boosts can be used for example to climb in the top users of the week."; +$lang['stnv0016'] = "Not available"; +$lang['stnv0017'] = "You are not connected to the TS3 Server, so it can't display any data for you."; +$lang['stnv0018'] = "Please connect to the TS3 Server and then Refresh your Session by pressing the blue Refresh Button at the top-right corner."; +$lang['stnv0019'] = "My statistics - Page content"; +$lang['stnv0020'] = "This page contains a overall summary of your personal statistics and activity on the server."; +$lang['stnv0021'] = "The informations are collected since the beginning of the Ranksystem, they are not since the beginning of the TeamSpeak server."; +$lang['stnv0022'] = "This page receives its values out of a database. So the values might be delayed a bit."; +$lang['stnv0023'] = "The sum inside of the donut charts may differ to the amount of 'Total user'. The reason is that this data weren't collected with older versions of the Ranksystem."; +$lang['stnv0024'] = "Ranksystem - Statistics"; +$lang['stnv0025'] = "Limit entries"; +$lang['stnv0026'] = "all"; +$lang['stnv0027'] = "The informations on this site could be outdated! It seems the Ranksystem is no more connected to the TeamSpeak."; +$lang['stnv0028'] = "(You are not connected to the TS3!)"; +$lang['stnv0029'] = "List Rankup"; +$lang['stnv0030'] = "Ranksystem info"; +$lang['stnv0031'] = "About the search field you can search for pattern in clientname, unique Client-ID and Client-database-ID."; +$lang['stnv0032'] = "You can also use a view filter options (see below). Enter the filter also inside the search field."; +$lang['stnv0033'] = "Combination of filter and search pattern are possible. Enter first the filter(s) followed without any sign your search pattern."; +$lang['stnv0034'] = "Also it is possible to combine multiple filters. Enter this consecutively inside the search field."; +$lang['stnv0035'] = "Example:
    filter:nonexcepted:TeamSpeakUser"; +$lang['stnv0036'] = "Show only clients, which are excepted (client, servergroup or channel exception)."; +$lang['stnv0037'] = "Show only clients, which are not excepted."; +$lang['stnv0038'] = "Show only clients, which are online."; +$lang['stnv0039'] = "Show only clients, which are not online."; +$lang['stnv0040'] = "Show only clients, which are in defined group. Represent the actuel rank/level.
    Replace GROUPID with the wished servergroup ID."; +$lang['stnv0041'] = "Show only clients, which are selected by lastseen.
    Replace OPERATOR with '<' or '>' or '=' or '!='.
    And replace TIME with a timestamp or date with format 'Y-m-d H-i' (example: 2016-06-18 20-25).
    Full example: filter:lastseen:<:2016-06-18 20-25:"; +$lang['stnv0042'] = "Show only clients, which are from defined country.
    Replace TS3-COUNTRY-CODE with the wished country.
    For list of codes google for ISO 3166-1 alpha-2"; +$lang['stri0001'] = "Ranksystem information"; +$lang['stri0002'] = "What is the Ranksystem?"; +$lang['stri0003'] = "A TS3 Bot, which automatically grant ranks (servergroups) to user on a TeamSpeak 3 Server for online time or online activity. It also gathers informations and statistics about the user and displays the result on this site."; +$lang['stri0004'] = "Who created the Ranksystem?"; +$lang['stri0005'] = "When the Ranksystem was Created?"; +$lang['stri0006'] = "First alpha release: 05/10/2014."; +$lang['stri0007'] = "First beta release: 01/02/2015."; +$lang['stri0008'] = "You can see the newest version on the Ranksystem Website."; +$lang['stri0009'] = "How was the Ranksystem created?"; +$lang['stri0010'] = "The Ranksystem is coded in"; +$lang['stri0011'] = "It uses also the following libraries:"; +$lang['stri0012'] = "Special Thanks To:"; +$lang['stri0013'] = "sergey, Arselopster & DeviantUser - for russian translation"; +$lang['stri0014'] = "Bejamin Frost - for initialisation the bootstrap design"; +$lang['stri0015'] = "ZanK - for italian translation"; +$lang['stri0016'] = "DeStRoYzR & Jehad - for initialisation arabic translation"; +$lang['stri0017'] = "SakaLuX - for initialisation romanian translation"; +$lang['sttw0001'] = "Top users"; +$lang['sttw0002'] = "Of the week"; +$lang['sttw0003'] = "With %s hours online time"; +$lang['sttw0004'] = "Top 10 compared"; +$lang['sttw0005'] = "Hours (Defines 100 %)"; +$lang['sttw0006'] = "%s hours (%s%)"; +$lang['sttw0007'] = "Top 10 Statistics"; +$lang['sttw0008'] = "Top 10 vs others in online time"; +$lang['sttw0009'] = "Top 10 vs others in active time"; +$lang['sttw0010'] = "Top 10 vs others in inactive time"; +$lang['sttw0011'] = "Top 10 (in hours)"; +$lang['sttw0012'] = "Other %s users (in hours)"; +$lang['sttw0013'] = "With %s hours active time"; +$lang['sttm0001'] = "Of the month"; +$lang['stta0001'] = "Of all time"; +$lang['upinf'] = "A new Version of the Ranksystem is available; Inform clients on server..."; +$lang['upmsg'] = "\nHey, a new version of the [B]Ranksystem[/B] is available!\n\ncurrent version: %s\n[B]new version: %s[/B]\n\nPlease check out our site for more informations [URL]http://ts-n.net/ranksystem.php[/URL]."; +$lang['upsucc'] = "Database update successfully executed."; +$lang['upuser'] = "User %s (unique Client-ID: %s; Client-database-ID %s) gets a new count (sum. online time) of %s (thereof active %s)."; +$lang['upuserboost'] = "User %s (unique Client-ID: %s; Client-database-ID %s) gets a new count (sum. online time) of %s (thereof active %s) [BOOST %sx]."; +$lang['upusrerr'] = "The unique Client-ID %s couldn't reached on the TeamSpeak!"; +$lang['upusrinf'] = "User %s was successfully informed."; +$lang['user'] = "Username"; +$lang['wiaction'] = "action"; +$lang['wiboost'] = "boost"; +$lang['wiboostdesc'] = "Give an user on your TeamSpeak server a servergroup (have to be created manually), which you can declare here as boost group. Define also a factor which should be used (for example 2x) and a time, how long the boost should be rated.
    The higher the factor, the faster an user reaches the next higher rank.
    Is the time expired, the boost servergroup get automatically removed from the concerned user. The time starts running as soon as the user gets the servergroup.

    servergroup ID => factor => time (in seconds)

    Each entry have to separate from next with a comma.

    Example:
    12=>2=>6000,13=>3=>2500,14=>5=>600

    On this an user in servergroup 12 get the factor 2 for the next 6000 seconds, an user in servergroup 13 get the factor 3 for 2500 seconds, and so on..."; +$lang['wibot1'] = "Ranksystem Bot should be stopped. Check the log below for more information!"; +$lang['wibot2'] = "Ranksystem Bot should be started. Check the log below for more information!"; +$lang['wibot3'] = "Ranksystem Bot should be restarted. Check the log below for more information!"; +$lang['wibot4'] = "Start / Stop Ranksystem Bot"; +$lang['wibot5'] = "Start Bot"; +$lang['wibot6'] = "Stop Bot"; +$lang['wibot7'] = "Restart Bot"; +$lang['wibot8'] = "Ranksystem log (extract):"; +$lang['wibot9'] = "Fill out all mandatory fields before starting the Ranksystem Bot!"; +$lang['wichdbid'] = "Client-database-ID reset"; +$lang['wichdbiddesc'] = "Reset the online time of an user, if his TeamSpeak Client-database-ID changed.

    Example:
    If a clients gets removed from the TeamSpeak server, it gets a new Client-database-ID with the next connect to the server."; +$lang['wiconferr'] = "There is an error in the configuration of the Ranksystem. Please go to the webinterface and correct the Core Settings. Especially check the config 'rank up'!"; +$lang['widaform'] = "Date format"; +$lang['widaformdesc'] = "Choose the showing date format.

    Example:
    %a days, %h hours, %i mins, %s secs"; +$lang['widbcfgsuc'] = "Database configurations saved successfully."; +$lang['widbcfgerr'] = "Error while saving the database configurations! Connection failed or writeout error for 'other/dbconfig.php'"; +$lang['widelcld'] = "delete clients"; +$lang['widelcldgrp'] = "renew groups"; +$lang['widelcldgrpdesc']= "The Ranksystem remember the given servergroups, so it don't need to give/check this with every run of the worker.php again.

    With this function you can remove once time the knowledge of given servergroups. In effect the ranksystem try to give all clients (which are on the TS3 server online) the servergroup of the actual rank.
    For each client, which gets the group or stay in group, the Ranksystem remember this like described at beginning.

    This function can be helpful, when user are not in the servergroup, they should be for the defined online time.

    Attention: Run this in a moment, where the next few minutes no rankups become due!!! The Ranksystem can't remove the old group, cause it can't remember ;-)"; +$lang['widelclddesc'] = "Delete the before selected clients out of the Ranksystem database.

    With this deletion are the clients on the TeamSpeak Server untouched."; +$lang['widelsg'] = "remove out of servergroups"; +$lang['widelsgdesc'] = "Choose if the clients should also be removed out of the last known servergroup, when you delete clients out of the Ranksystem database.

    It will only considered servergroups, which concerned the Ranksystem"; +$lang['wideltime'] = "Deletiontime"; +$lang['wideltimedesc'] = "Clean old clients out of the Ranksystem database.
    Entry a time in seconds which a client was not seen to delete it.

    0 - deletes all clients out of the Ranksystem

    The Userdatas on the TeamSpeak server are with this untouched!"; +$lang['wiexcid'] = "channel exception"; +$lang['wiexciddesc'] = "A comma separated list of the channel-IDs that are not to participate in the Ranksystem.

    Stay users in one of the listed channels, the time there will be completely ignored. There is neither the online time, yet the idle time counted.

    Sense does this function only with the mode 'online time', cause here could be ignored AFK channels for example.
    With the mode 'active time', this function is useless because as would be deducted the idle time in AFK rooms and thus not counted anyway.

    Be a user in an excluded channel, it is noted for this period as 'excluded from the Ranksystem'. The user dows no longer appears in the list 'stats/list_rankup.php' unless excluded clients should not be displayed there (Stats Page - excepted client)."; +$lang['wiexgrp'] = "servergroup exception"; +$lang['wiexgrpdesc'] = "A comma seperated list of servergroup-IDs, which should not conside for the Ranksystem.
    User in at least one of this servergroups IDs will be ignored for the rank up."; +$lang['wiexuid'] = "client exception"; +$lang['wiexuiddesc'] = "A comma seperated list of unique Client-IDs, which should not conside for the Ranksystem.
    User in this list will be ignored for the rank up."; +$lang['wigrptime'] = "rank up definition"; +$lang['wigrptimedesc'] = "Define here after which time a user should get automatically a predefined servergroup.

    time (seconds)=>servergroup ID

    Important for this is the 'online time' or the 'active time' of an user, depending on setting of the mode.

    Each entry have to separate from next with a comma.

    The time must be entered cumulative

    Example:
    60=>9,120=>10,180=>11

    On this a user get after 60 seconds the servergroup 9, in turn after 60 seconds the servergroup 10, and so on..."; +$lang['wihladm'] = "List Rankup (Admin-Mode)"; +$lang['wihlcfg'] = "Core settings"; +$lang['wihldb'] = "Database settings"; +$lang['wihlmsg'] = "Message settings"; +$lang['wihlsty'] = "Stats page settings"; +$lang['wihlts'] = "TeamSpeak settings"; +$lang['wihlvs'] = "Various settings"; +$lang['wiignidle'] = "Ignore idle"; +$lang['wiignidledesc'] = "Define a period, up to which the idle time of an user will be ignored.

    When a client does not do anything on the server (=idle), this time is noted by the Ranksystem. With this feature the idle time of an user will not be counted until the defined limit. Only when the defined limit is exceeded, it counts from that date for the Ranksystem as idle time.

    This function plays only in conjunction with the mode 'active time' a role.

    Meaning the function is e.g. to evaluate the time of listening in conversations as activity.

    0 = disable the feature

    Example:
    Ignore idle = 600 (seconds)
    A client has an idle of 8 minuntes
    consequence:
    8 minutes idle are ignored and he therefore receives this time as active time. If the idle time now increased to over 12 minutes so the time is over 10 minutes, and in this case 2 minutes would be counted as idle time."; +$lang['wilog'] = "Logpath"; +$lang['wilogdesc'] = "Path of the log file of the Ranksystem.

    Example:
    /var/logs/ranksystem/

    Be sure, the webuser has the write-permissions to the logpath."; +$lang['wimsgmsg'] = "Message"; +$lang['wimsgmsgdesc'] = "Define a message, which will be send to an user, when he rises the next higher rank.

    This message will be send via TS3 private message. So every know bb-code could be used, which also works for a normal private message.
    http://ts-n.net/lexicon.php?showid=97#lexindex

    Furthermore, the previously spent time can be expressed by arguments:
    %1\$s - days
    %2\$s - hours
    %3\$s - minutes
    %4\$s - seconds

    Example:
    Hey,\\nyou reached a higher rank, since you already connected for %1\$s days, %2\$s hours and %3\$s minutes to our TS3 server.[B]Keep it up![/B] ;-)"; +$lang['wilogout'] = "Logout"; +$lang['wimsgusr'] = "Rank up notification"; +$lang['wimsgusrdesc'] = "Inform an user with a private text message about his rank up."; +$lang['winav1'] = "TeamSpeak"; +$lang['winav2'] = "Database"; +$lang['winav3'] = "Core"; +$lang['winav4'] = "Other"; +$lang['winav5'] = "Message"; +$lang['winav6'] = "Stats page"; +$lang['winav7'] = "Administrate"; +$lang['winav8'] = "Start / Stop Bot"; +$lang['winav9'] = "Update available!"; +$lang['winav10'] = "Please use the webinterface only via %s HTTPS%s An encryption is critical to ensure your privacy and security.%sTo be able to use HTTPS your webserver needs to support an SSL connection."; +$lang['wiselcld'] = "select clients"; +$lang['wiselclddesc'] = "Select the clients by the last known username. For this you only have to start typing.
    Multiple selections are comma separated, which does the system automatically.

    With the selection you can choose with the next step an action."; +$lang['wishcolas'] = "actual servergroup"; +$lang['wishcolasdesc'] = "Show column 'actual servergroup' in list_rankup.php"; +$lang['wishcolat'] = "active time"; +$lang['wishcolatdesc'] = "Show column 'sum. active time' in list_rankup.php"; +$lang['wishcolcld'] = "Client-name"; +$lang['wishcolclddesc'] = "Show column 'Client-name' in list_rankup.php"; +$lang['wishcoldbid'] = "database-ID"; +$lang['wishcoldbiddesc']= "Show column 'Client-database-ID' in list_rankup.php"; +$lang['wishcolit'] = "idle time"; +$lang['wishcolitdesc'] = "Show column 'sum idle time' in list_rankup.php"; +$lang['wishcolls'] = "last seen"; +$lang['wishcollsdesc'] = "Show column 'last seen' in list_rankup.php"; +$lang['wishcolnx'] = "next rank up"; +$lang['wishcolnxdesc'] = "Show column 'next rank up' in list_rankup.php"; +$lang['wishcolot'] = "online time"; +$lang['wishcolotdesc'] = "Show column 'sum. online time' in list_rankup.php"; +$lang['wishcolrg'] = "rank"; +$lang['wishcolrgdesc'] = "Show column 'rank' in list_rankup.php"; +$lang['wishcolsg'] = "next servergroup"; +$lang['wishcolsgdesc'] = "Show column 'next servergroup' in list_rankup.php"; +$lang['wishcoluuid'] = "Client-ID"; +$lang['wishcoluuiddesc']= "Show column 'unique Client-ID' in list_rankup.php"; +$lang['wishexcld'] = "excepted client"; +$lang['wishexclddesc'] = "Show clients in list_rankup.php,
    which are excluded and therefore not participate in the Ranksystem."; +$lang['wishexgrp'] = "excepted groups"; +$lang['wishexgrpdesc'] = "Show clients in list_rankup.php, which are in the list 'client exception' and shouldn't be conside for the Ranksystem."; +$lang['wishhicld'] = "Clients in highest Level"; +$lang['wishhiclddesc'] = "Show clients in list_rankup.php, which reached the highest level in the Ranksystem."; +$lang['wisupidle'] = "Mode"; +$lang['wisupidledesc'] = "There are two modes, as time can be counted and can then apply for a rank increase. 1) online time: Here the pure online time of the user is taken into account (see column 'sum. online time' in the 'stats/list_rankup.php') 2) active time: This will be deducted from the online time of a user, the inactive time (idle) (see column 'sum. active time' in the 'stats/list_rankup.php'). A change of mode with an already longer running database is not recommended, but may work."; +$lang['wisvconf'] = "save"; +$lang['wisvsuc'] = "Changes successfully saved!"; +$lang['wisvres'] = "You need to restart the Ranksystem before the changes will take effect!"; +$lang['witime'] = "Timezone"; +$lang['witimedesc'] = "Select the timezone the server is hosted."; +$lang['wits3dch'] = "Default Channel"; +$lang['wits3dchdesc'] = "The channel-ID, the bot should connect with.

    The Bot will join this channel after connecting to the TeamSpeak server."; +$lang['wits3host'] = "TS3 Hostaddress"; +$lang['wits3hostdesc'] = "TeamSpeak 3 Server address
    (IP oder DNS)"; +$lang['wits3sm'] = "Slowmode"; +$lang['wits3smdesc'] = "With the Slowmode you can reduce \"spam\" of query commands to the TeamSpeak server. This prevent bans in case of flood.
    TeamSpeak Query commands get delayed with this function.

    !!! ALSO IT REDUCE THE CPU USAGE !!!

    The activation is not recommended, if not required. The delay increases the duration of the Bot, which makes it imprecisely."; +$lang['wits3qnm'] = "Botname"; +$lang['wits3qnm2'] = "2nd Botname"; +$lang['wits3qnm2desc'] = "A fallback Botname, if the first one is already in use."; +$lang['wits3qnmdesc'] = "The name, with this the query-connection will be established.
    You can name it free."; +$lang['wits3querpw'] = "TS3 Query-Password"; +$lang['wits3querpwdesc']= "TeamSpeak 3 query password
    Password for the query user."; +$lang['wits3querusr'] = "TS3 Query-User"; +$lang['wits3querusrdesc']= "TeamSpeak 3 query username
    Default is serveradmin
    Of course, you can also create an additional serverquery account only for the Ranksystem.
    The needed permissions you find on:
    http://ts-n.net/ranksystem.php"; +$lang['wits3query'] = "TS3 Query-Port"; +$lang['wits3querydesc'] = "TeamSpeak 3 query port
    Default is 10011 (TCP)
    If its not default, you should find it in your 'ts3server.ini'."; +$lang['wits3voice'] = "TS3 Voice-Port"; +$lang['wits3voicedesc'] = "TeamSpeak 3 voice port
    Default is 9987 (UDP)
    This is the port, you uses also to connect with the TS3 Client."; +$lang['wiupcheck'] = "Update info"; +$lang['wiupcheckdesc'] = "If the Update info is enable, the listed user gets a notification with a private text message, once an update is available."; +$lang['wiuptime'] = "Interval"; +$lang['wiuptimedesc'] = "Enter here how much seconds have to gone till the Ranksystem should check for available updates.

    Attention, for each check the listed user gets a notification. If no one of the listed users is online, the Ranksystem will try to notificate with the next interval."; +$lang['wiupuid'] = "Recipient"; +$lang['wiupuiddesc'] = "A comma separate list of unique Client-IDs, which shoud be informed on the TeamSpeak via private message for available updates."; +$lang['wivlang'] = "Language"; +$lang['wivlangdesc'] = "Choose a default language for the Ranksystem.

    The language is also selectable on the websites for the users and will be stored for the session."; +?> \ No newline at end of file diff --git a/languages/core_it.php b/languages/core_it.php index f8789ef..ddf17b2 100644 --- a/languages/core_it.php +++ b/languages/core_it.php @@ -1,7 +1,6 @@ L'utente è stato aggiunto al sistema."; -$lang['alrup'] = "Hai già aggiornato il database. Per favore cancella questo file dalla web-space!"; $lang['changedbid'] = "L'utente %s (unique Client-ID: %s) ha ottenuto un nuovo database-ID (%s). Aggiorna il vecchio Client-database-ID (%s) e resetta il tempo raggiunto!"; $lang['crawl'] = "Scansione degli utenti connessi e conteggio delle attività..."; $lang['clean'] = "Scansione degli utenti che vanno eliminati..."; @@ -13,32 +12,28 @@ $lang['cleanp'] = "tempo di pulitura del database"; $lang['cleanpdesc'] = "Imposta il tempo che deve trascorrere alla prossima pulitura del database.

    Imposta il tempo in secondi.

    È consigliato eseguire la 'pulitura' del database almeno una volta al giorno, in quanto il tempo di 'pulitura' del database aumenta nel caso vi sia un database di grandi dimensioni."; $lang['cleanrs'] = "Numero di utenti trovati nel database del Ranksystem: %s"; $lang['cleants'] = "Numero di utenti trovati nel database di TeamSpeak: %s (of %s)"; -$lang['days'] = "giorni"; -$lang['dbconerr'] = "Connessione al Database MySQL fallita: "; +$lang['days'] = "%s giorni"; +$lang['dbconerr'] = "Connessione al Database fallita: "; $lang['delcldgrpif'] = "Errore nella rimozione delle informazioni del servergroup: %s"; $lang['delcldgrpsc'] = "Informazioni su servergroup per l'utente %s cancellate correttamente."; $lang['delclientsif'] = "%s Utenti cancellati dal database del Ranksystem!"; $lang['delclientssc'] = "%s Utenti correttamente cancellati dal database del Ranksystem!"; $lang['errlogin'] = "Nome utente e/o password errati! Riprova..."; +$lang['errlogin2'] = "Protezione attacchi brute force: Riprova in %s secondi!"; +$lang['errlogin3'] = "Protezione attacchi brute force: Hai commesso troppi errori. Sei stato bannato per 5 minuti!"; $lang['error'] = "Errore "; $lang['errremgrp'] = "Errore nella rimozione dell'utente: %s (Client-ID) Dal server Group con il servergroup-database-ID: %s!"; $lang['errremdb'] = "Errore nella rimozione dell'utente: %s (Client-ID) dal database del RankSystem!"; $lang['errsel'] = "Errore nella selezione degli
    Utenti: %s
    opzione 'cancella utenti': %s
    opzione 'somma del tempo online': %s"; $lang['errukwn'] = "È stato riscontrato un errore sconosciuto!"; $lang['errupcount'] = "Errore nel rinnovo della somma del tempo online dell’utente %s con l’Id unico %s"; -$lang['firstuse'] = "Sembra che questa sia la prima volta che lanci l'applicazione. Inizio del log degli utenti..."; $lang['highest'] = "È stato raggiunto il rank massimo"; +$lang['install'] = "Installazione"; $lang['instdb'] = "Installa il database:"; -$lang['instdberr'] = "Errore nella creazione del database: "; -$lang['instdbsubm'] = "Crea il database"; $lang['instdbsuc'] = "Il database %s è stato creato con successo."; -$lang['insttb'] = "Installazione delle tabelle del database:"; -$lang['insttberr'] = "Errore nella creazione delle tabelle del database: "; -$lang['insttbsuc'] = "Le Tabelle del database %s sono state create con successo."; $lang['isntwicfg'] = "Impossibile salvare la configurazione del database! Modifica il file 'other/dbconfig.php' dandogli i permessi 0777 (chmod 777 nomefile) e riprova."; -$lang['isntwichm'] = "Per favore modifica il file 'other/dbconfig.php', e la cartella 'avatars/', 'icons/' and 'logs/' con i permessi necessari: Modificali quindi dandogli chmod 0777 (chmod 777 nomefile) e riprova (ricarica la pagina)."; -$lang['isntwidb'] = "Inserisci le informazioni del database:"; -$lang['isntwidberr'] = "Per favore controlla di aver inserito tutti i campi correttamente!"; +$lang['isntwicfg2'] = "Configurate Webinterface"; +$lang['isntwichm'] = "Permessi di scrittura negati per la cartella \"%s\". Per favore dai i permessi chmod 777 e prova ad avviare il Ranksystem di nuovo."; $lang['isntwidbhost'] = "Indirizzo host DB:"; $lang['isntwidbhostdesc'] = "L'indirizzo del server su cui si trova il database (Se il database è in locale basterà inserire 127.0.0.1)
    (IP o DNS)"; $lang['isntwidbmsg'] = "Errore del Database: "; @@ -50,12 +45,12 @@ $lang['isntwidbtype'] = "Tipo DB:"; $lang['isntwidbtypedesc'] = "Il tipo di Database

    Dovrai installare i driver PDO.
    Per maggiori informazioni sui requisiti guarda sulla pagina http://ts-n.net/ranksystem.php"; $lang['isntwidbusr'] = "Utente DB:"; $lang['isntwidbusrdesc'] = "Nome dell'utente che ha l'accesso al database"; -$lang['isntwidel'] = "Per favore cancella il file 'install.php' e titti i file 'update_x-xx.php' dal tuo webserver e apri la %s per configurare il Ranksystem!"; +$lang['isntwidel'] = "Per favore cancella il file 'install.php' dal tuo webserver e apri la %s per configurare il Ranksystem!"; $lang['isntwiusr'] = "L'utente dell'interfaccia Web è stato creato con successo."; -$lang['isntwiusrcr'] = "Creazione dell'accesso"; +$lang['isntwiusrcr'] = "Create Webinterface-User"; $lang['isntwiusrdesc'] = "Inserisci nome utente e password per l'accesso all'interfaccia web. Con l'interfaccia web tu potrai configurare il Ranksystem."; $lang['isntwiusrh'] = "Accesso - Interfaccia Web"; -$lang['listacsg'] = "servergroup attuale"; +$lang['listacsg'] = "Servergroup attuale"; $lang['listcldbid'] = "Client-database-ID"; $lang['listexgrp'] = "Non viene considerato dal Ranksystem (eccezione del servergroup)."; $lang['listexuid'] = "Non viene considerato dal Ranksystem (eccezione dell'utente)."; @@ -68,12 +63,11 @@ $lang['listseen'] = "Ultima volta online"; $lang['listsuma'] = "Somma del tempo di attività"; $lang['listsumi'] = "Somma del tempo in IDLE"; $lang['listsumo'] = "Somma del tempo Online"; -$lang['listtime'] = "%s giorno(i), %s ora(e), %s min., %s sec."; $lang['listuid'] = "unique Client-ID"; -$lang['new'] = "Nuovo"; +$lang['login'] = "Login"; $lang['nocount'] = "L'utente %s (unique Client-ID: %s; Client-database-ID %s) è una query oppure effettua molte connessioni (conterà solo la prima connessione) -> Non verrà contato!"; $lang['noentry'] = "Nessuna voce trovata.."; -$lang['pass'] = "Password: "; +$lang['pass'] = "Password"; $lang['queryname'] = "Il primo nome del bot è già in uso. Sto riprovando con il secondo..."; $lang['sccrmcld'] = "L'utente con il Client-ID %s è stato correttamente cancellato dal database del ranksystem."; $lang['sccupcount'] = "All'utente con il Client-ID %s è stato assegnato un tempo online di %s."; @@ -82,8 +76,6 @@ $lang['setontimedesc'] = "Inserisci il nuovo tempo online, che verrà imposta $lang['sgrpadd'] = "All'utente %s è stato assegnato il servergroup %s (Client-ID unico: %s; Client-database-ID %s)."; $lang['sgrprerr'] = "C'è stato un problema con l'aggiunta del servergroup all'utente %s (unique Client-ID: %s; Client-database-ID %s)!"; $lang['sgrprm'] = "All'utente %s è stato rimosso il servergroup %s (unique Client-ID: %s; Client-database-ID %s)."; -$lang['sitegen'] = "Sito generato in %s secondi con %s utenti."; -$lang['sitegenl'] = "Sito generato in %s secondi con %s utenti (di cui %s visualizzati; %s non considerati per le regole d'eccezione impostate; %s che hanno raggiunto il rank massimo)."; $lang['stix0001'] = "Statistiche del server"; $lang['stix0002'] = "Utenti totali"; $lang['stix0003'] = "Vedi dettagli"; @@ -104,8 +96,6 @@ $lang['stix0017'] = "Versioni (di tutti gli utenti)"; $lang['stix0018'] = "Nazionalità (di tutti gli utenti)"; $lang['stix0019'] = "Piattaforme (di tutti gli utenti)"; $lang['stix0020'] = "Statistiche correnti"; -$lang['stix0021'] = "Informazioni richieste"; -$lang['stix0022'] = "Risultato"; $lang['stix0023'] = "Stato del server"; $lang['stix0024'] = "Online"; $lang['stix0025'] = "Offline"; @@ -195,25 +185,35 @@ $lang['stnv0027'] = "Le informazioni su questo sito potrebbero NON esser $lang['stnv0028'] = "(Non sei connesso al TS3!)"; $lang['stnv0029'] = "Lista dei Rank"; $lang['stnv0030'] = "Ranksystem info"; -$lang['stnv0031'] = "DE - Deutsch"; -$lang['stnv0032'] = "EN - english"; -$lang['stnv0033'] = "RU - русский"; -$lang['stnv0034'] = "IT - italiano"; +$lang['stnv0031'] = "Nel campo di ricerca potrai inserire un nome utente, un Client-ID o un Client-database-ID."; +$lang['stnv0032'] = "Potrai inoltre filtrare i risultati (vedi sotto). Puoi inserire i filtri nel campo di ricerca."; +$lang['stnv0033'] = "La ricerca di utenti combinata a dei filtri è possible. Inserire prima il filtro e successivamente nome utente o ID."; +$lang['stnv0034'] = "È inoltre possibile combinare diversi filtri. Inseriscili consecutivamente nel campo di ricerca."; +$lang['stnv0035'] = "Esempio:
    filtro:non esclusi:Utente Teamspeak"; +$lang['stnv0036'] = "Mostra solo gli utenti che sono esclusi (client, servergroup or channel exception)."; +$lang['stnv0037'] = "Mostra solo gli utenti che non sono esclusi."; +$lang['stnv0038'] = "Mostra solo gli utenti online."; +$lang['stnv0039'] = "Mostra solo gli utenti offline"; +$lang['stnv0040'] = "Mostra solo gli utenti che sono in un determinato Server Group. Rappresentano il rank attuale.
    Sostituisci qui GROUPID."; +$lang['stnv0041'] = "Mostra solo gli utenti selezionati per ultima visita effettuata.
    Replace OPERATOR con '<' or '>' or '=' or '!='.
    E Sostituisci qui TIME con formato data 'Y-m-d H-i' (example: 2016-06-18 20-25).
    Esempio: filter:lastseen:<:2016-06-18 20-25:"; +$lang['stnv0042'] = "Mostra solo gli utenti di un determinato paese.
    Sostituisci qui TS3-COUNTRY-CODE e il codice del paese.
    Per la lista dei codici google for ISO 3166-1 alpha-2"; $lang['stri0001'] = "Informazioni sul Ranksystem"; -$lang['stri0002'] = "Che cos' è il ranksystem?"; +$lang['stri0002'] = "Che cos'è il ranksystem?"; $lang['stri0003'] = "Un TS3 Bot, che automaticamente attribuisce i rank (servergroups) agli utenti su un TeamSpeak 3 per il tempo trascorso online o di attività online. Inoltre raccoglie info e statistiche sull’utente e mostra i risultati sul sito."; $lang['stri0004'] = "Chi ha creato il Ranksystem?"; $lang['stri0005'] = "Quando è stato creato?"; $lang['stri0006'] = "Prima alpha: 05/10/2014."; $lang['stri0007'] = "Prima Beta: 01/02/2015."; $lang['stri0008'] = "Puoi trovare l'ultima versione del Ranksystem alla pagina Ranksystem Website."; -$lang['stri0009'] = "Com' è stato creato il RankSystem?"; +$lang['stri0009'] = "Com'è stato creato il RankSystem?"; $lang['stri0010'] = "Che linguaggio è stato utilizzato"; $lang['stri0011'] = "Utilizza inoltre le seguenti librerie:"; $lang['stri0012'] = "Un ringraziamento speciale a:"; -$lang['stri0013'] = "sergey - for russian translation"; +$lang['stri0013'] = "sergey, Arselopster & DeviantUser - for russian translation"; $lang['stri0014'] = "Bejamin Frost - for per i primi bootstrap design"; -$lang['stri0015'] = "ZanK - for italian translation"; +$lang['stri0015'] = "ZanK - per la traduzione italiana"; +$lang['stri0016'] = "DeStRoYzR & Jehad - per avviare la traduzione in arabo"; +$lang['stri0017'] = "SakaLuX - per avviare la traduzione in rumeno"; $lang['sttw0001'] = "Top utenti"; $lang['sttw0002'] = "Della settimana"; $lang['sttw0003'] = "con %s ore di tempo online"; @@ -229,24 +229,26 @@ $lang['sttw0012'] = "Gli altri %s utenti (in ore)"; $lang['sttw0013'] = "con %s ore di tempo attivo"; $lang['sttm0001'] = "Del mese"; $lang['stta0001'] = "Di sempre"; -$lang['updb'] = "Devi avviare questo file una sola volta per aggiornare il Ranksystem da una versione non aggiornate %s!

    Dopo aver eseguito il file update_%s.php eliminalo dal tuo web server.


    Database aggiornato:
    "; -$lang['updel'] = "Per favore cancella i seguenti file dalla cartella principale del Ranksystem (se non sono già stati eliminati):
    %s"; $lang['upinf'] = "È stata trovato una versione piu recente del RankSystem (informazioni su come aggiornare qui: http://ts-n.net/ranksystem.php?artid=84#01id84); Informa gli utenti del server..."; -$lang['upmov'] = "Per favore sposta \'%s\' nella sottocartella \'%s\' e sovrascrivi quella esistente!"; $lang['upmsg'] = "\nHey, Una nuova versione del [B]Ranksystem[/B] è disponibile!\n\nVersione corrente: %s\n[B]Nuova Versione: %s[/B]\n\nPer maggiori informazioni visita il nostro sito [URL]http://ts-n.net/ranksystem.php[/URL]."; $lang['upsucc'] = "Aggiornamento del database eseguito con successo."; $lang['upuser'] = "L'utente %s (unique Client-ID: %s; Client-database-ID %s) ha ottenuto un nuovo conteggio (somma del tempo online) di %s (tempo di attività (rispetto al nuovo conteggio): %s)."; $lang['upuserboost'] = "L'utente %s (unique Client-ID: %s; Client-database-ID %s) ha ottenuto un nuovo conteggi (somma del tempo online) di %s (tempo di attività (rispetto al nuovo conteggio): %s) [BOOST %sx]."; $lang['upusrerr'] = "Il Client-ID unico %s non è raggiungibile dal sistema TeamSpeak!"; $lang['upusrinf'] = "L'utente %s è stato informato correttamente."; -$lang['user'] = "Nome Utente: "; -$lang['usermsgactive'] = "\nHey, Sei aumentato di livello in quanto hai raggiunto un tempo di attività di %s giorni, %s ore, %s minuti and %s secondi."; -$lang['usermsgonline'] = "\nHey, Sei aumentato di livello in quanto hai raggiunto un tempo online di %s giorni, %s ore, %s minuti and %s secondi."; -$lang['wiaction'] = "azione"; -$lang['wibgco'] = "Colore di sfondo:"; -$lang['wibgcodesc'] = "Imposta un colore di sfondo.
    (utilizza un codice HTML valido, deve iniziare con #)"; -$lang['wiboost'] = "boost"; +$lang['user'] = "Nome Utente"; +$lang['wiaction'] = "Azione"; +$lang['wiboost'] = "Boost"; $lang['wiboostdesc'] = "Dai all'utente sul TS3 un servergroup (che dovrà essere creato manualmente), con il quale potrai definire il Boost. Definisci anche il fattore di moltiplicazione (per esempio 2x) e il (per quanto il boost durerà).
    Più alto è il fattore, più velocemente l'utente raggiungerà il rank successivo.
    Uno volta che il tempo impostato finirà il servergroup verrà rimosso in automatico dal RankSystem.Il tempo parte non appena viene assegnato il servergroup all'utente.

    servergroup ID => fattore (2,3) => tempo (in secondi)

    Per separare ogni voce utilizza la virgola.

    Esempio:
    12=>2=>6000,13=>3=>2500,14=>5=>600

    Nell'esempio il servergroup 12 per i successivi 6000 secondi gli verrà conteggiato il doppio del tempo online, al servergroup 13 verrà moltiplicato il tempo per 3 per 2500 secondi, e cosi via..."; +$lang['wibot1'] = "Il Ranksystem Bot dovrebbe essere stoppato. Controlla il log qui sotto per maggiori informazioni!"; +$lang['wibot2'] = "Il Ranksystem Bot dovrebbe essere avviato. Controlla il log qui sotto per maggiori informazioni!"; +$lang['wibot3'] = "Il Ranksystem Bot dovrebbe essere riavviato. Controlla il log qui sotto per maggiori informazioni!"; +$lang['wibot4'] = "Avvia / Ferma il Bot Ranksystem"; +$lang['wibot5'] = "Avvia il Bot"; +$lang['wibot6'] = "Ferma il Bot"; +$lang['wibot7'] = "Riavvia il Bot"; +$lang['wibot8'] = "Log del Ranksystem (estrai):"; +$lang['wibot9'] = "Compila tutti i campi obbligatori prima di avviare il bot Ranksystem!"; $lang['wichdbid'] = "Client-database-ID reset"; $lang['wichdbiddesc'] = "Resetta il tempo online di un utente se il suo database-ID è cambiato.

    Esempio:
    Se un utente viene rimosso da TeamSpeak, gli viene assegnato un nuovo database-ID con la successiva connesione al server."; $lang['wiconferr'] = "C'è un errore nella configurazione del RankSystem. Vai nell'interfaccia web i sistema le Impostazioni Principali. Specialmente la configurazione 'rank'!"; @@ -262,71 +264,77 @@ $lang['widelsg'] = "rimosso(i) dal servergroup"; $lang['widelsgdesc'] = "Scegli se agli utenti venga rimosso anche l'ultimo servergroup conosciuto, quando cancelli gli utenti dal database del Ranksystem.

    Considererà solamente i servergroup riguardanti il Ranksystem"; $lang['wideltime'] = "Tempo di eliminazione"; $lang['wideltimedesc'] = "Cancella i 'vecchi utenti' dal database del Ranksystem.
    Inserisci il tempo dopo cui un utente che non si connette al TeamSpeak verrà eliminato.

    0 - Cancellerà gli utenti dal Ranksystem

    I dati degli utenti su TeamSpeak non verranno toccati!"; +$lang['wiexcid'] = "Eccezione Stanze"; +$lang['wiexciddesc'] = "Inserisci gli ID delle stanze dove non verrà conteggiato il tempo del Rank.

    Se un utente resta in uno dei canali elencati, il tempo non sarà completamente ignorato ma verrà conteggiato come tempo in IDLE.

    Di conseguenza avrà senso solo se si utilizzerà la modalità 'Tempo di attività'."; $lang['wiexgrp'] = "Eccezione dei servergroup"; $lang['wiexgrpdesc'] = "Lista dei servergroup ID che non verranno contati dal Ranksystem (separati da virgola. es. 9,10,11)
    Gli utenti che avranno almeno uno di questi servergroup verranno ignorati."; $lang['wiexuid'] = "Eccezione degli utenti"; $lang['wiexuiddesc'] = "Lista degli utenti (ID unico) che non verranno contati dal Ranksystem (separati da virgola. es 5GFxciykQMojlrvugWti835Wdto=,YQf+7x/4LJ2Tw5cuQGItsVEn+S4=)
    Questi utentiverranno ignorati."; -$lang['wigrptime'] = "rank"; -$lang['wigrptimedesc'] = "Definisci qui dopo quanto tempo un utente debba ottenere automaticamente un servergroup predefinito.

    time (seconds)=>servergroup ID

    Importante per questo è il tempo online di un utente o se \"Idletime\" è attivo, il tempo di attività.

    Ogni voce deve essere separate dalla successive con una virgola. br>
    Dovrà essere inserito il tempo cumulativo

    Esempio:
    60=>9,120=>10,180=>11

    Su queste basi un utente ottiene il servergroup 9 dopo 60 secondi, a sua volta il 10 dopo altri 60 secondi e così via..."; -$lang['wihdco'] = "Colore titolo:"; -$lang['wihdcodesc'] = "Definisci un colore del titolo.
    (Deve essere un codice HTML valido e deve iniziare con # )"; -$lang['wihl'] = "Webinterface - Ranksystem"; -$lang['wihladm'] = "lista utenti"; +$lang['wigrptime'] = "rank up defintion"; +$lang['wigrptimedesc'] = "Definisci qui dopo quanto tempo un utente debba ottenere automaticamente un servergroup predefinito.

    time (seconds)=>servergroup ID

    Important for this is the 'online time' or the 'active time' of an user, depending on setting of the mode.

    Ogni voce deve essere separate dalla successive con una virgola. br>
    Dovrà essere inserito il tempo cumulativo

    Esempio:
    60=>9,120=>10,180=>11

    Su queste basi un utente ottiene il servergroup 9 dopo 60 secondi, a sua volta il 10 dopo altri 60 secondi e così via..."; +$lang['wihladm'] = "List Rankup (Admin-Mode)"; $lang['wihlcfg'] = "Impostazioni Principali"; -$lang['wihlclg'] = "Modifica Utenti (globale)"; -$lang['wihlcls'] = "Modifica Utenti (selezionati)"; $lang['wihldb'] = "Impostazioni Database"; -$lang['wihlsty'] = "Impostazioni Stile"; +$lang['wihlmsg'] = "Impostazioni Messaggi"; +$lang['wihlsty'] = "Impostazione Pagina Statistiche"; $lang['wihlts'] = "Impostazioni Teamspeak"; -$lang['wihvco'] = "Colore al passaggio del mouse:"; -$lang['wihvcodesc'] = "Imposta colore al passaggio del mouse.
    (Deve essere un codice HTML valido e deve iniziare con # )"; -$lang['wiifco'] = "Colore infotext:"; -$lang['wiifcodesc'] = "Imposta il colore del testo delle informazioni.
    (Deve essere un codice HTML valido e deve iniziare con # )"; +$lang['wihlvs'] = "Impostazione Varie"; +$lang['wiignidle'] = "Ignora Idle"; +$lang['wiignidledesc'] = "Definisci un periodo di tempo, fino a che il tempo di inattività di un utente verrà ignorato.

    Quando un cliente non fa nulla sul server (=idle), questo tempo viene conteggiato dal Ranksystem. Grazie a questa funzione il tempo di inattività di un utente non sarà conteggiato fino al limite definito. Solo quando il limite definito viene superato, conta da tale data per il Ranksystem come il tempo di inattività.

    Questà funzione è compatibile solo con il tempo di attività.

    Significato La funzione è ad esempio per valutare il tempo di ascolto in conversazioni come l'attività.

    0 = Disabilità la funzione

    Esempio:
    Ignore idle = 600 (seconds)
    Un utente ha un idle di 8 minunti
    Conseguenza:
    8 minuti in IDLE verranno ignorati e poi il tempo successivo verrà conteggiato come tempo di attività. Se il tempo di inattività ora viene aumentato a oltre 12 minuti (quindi il tempo è più di 10 minuti) 2 minuti verrebbero conteggiati come tempo di inattività."; $lang['wilog'] = "Path dei Log"; -$lang['wilogdesc'] = "La path dei lod del RankSystem.

    Example:
    /var/logs/ranksystem/

    Assicurati che l'utente che hai assegnato (del web server) abbia i poteri per scrivere nella directory (oppure dai direttamente chmod 777 alla cartella log)."; -$lang['wilogout'] = "LogOut"; -$lang['wimsgusr'] = "Notifica"; -$lang['wimsgusrdesc'] = "Informa un utente con un messaggio privato testuale sul suo aumento di rank.
    Stabilisci il messaggio in 'lang.php'
    (usermsgonline o usermsgactive)"; -$lang['wiscco'] = "Colore di operazione avvenuta con successo"; -$lang['wisccodesc'] = "Definisci un success-text color.
    (Deve essere un codice HTML valido e deve iniziare con # )"; +$lang['wilogdesc'] = "La path dei log del RankSystem.

    Example:
    /var/logs/ranksystem/

    Assicurati che l'utente che hai assegnato (del web server) abbia i poteri per scrivere nella directory (oppure dai direttamente chmod 777 alla cartella log)."; +$lang['wimsgmsg'] = "Messaggio"; +$lang['wimsgmsgdesc'] = "Imposta un messaggio che verrà inviato come messaggio privato su TS3 per quando un utente raggiunge il Rank Successivo.

    Potrete utilizzare i BB-code di un comunissimo messaggio .
    http://ts-n.net/lexicon.php?showid=97#lexindex

    Inoltre il tempo trascorsco potrà essere espresso con la stringa:
    %1\$s - days
    %2\$s - hours
    %3\$s - minutes
    %4\$s - seconds

    Esempio:
    Hey,\\nComplimenti! hai raggiunto il Ranksuccessivo grazie al tuo tempo online di %1\$s days, %2\$s hours and %3\$s minutes. [B]Continua Così[/B] ;-)"; +$lang['wilogout'] = "Logout"; +$lang['wimsgusr'] = "Notifica di aumento di rank"; +$lang['wimsgusrdesc'] = "Informa un utente con un messaggio privato testuale sul suo aumento di rank."; +$lang['winav1'] = "TeamSpeak"; +$lang['winav2'] = "Database"; +$lang['winav3'] = "Core"; +$lang['winav4'] = "Altri"; +$lang['winav5'] = "Messaggio"; +$lang['winav6'] = "Pagina delle Statistiche"; +$lang['winav7'] = "Amministra"; +$lang['winav8'] = "Avvia / Ferma il Bot"; +$lang['winav9'] = "Aggiornamento disponibile!"; +$lang['winav10'] = "Per favore utilizzare l'interfaccia solo attraverso %s HTTPS%s Una crittografia è fondamentale per garantire la privacy e la sicurezza.%sPer essere in grado di utilizzare HTTPS il vostro web server deve supportare una connessione SSL."; $lang['wiselcld'] = "Seleziona utenti"; -$lang['wiselclddesc'] = "seleziona i clients in base all’ultimo nickname noto. Per farlo devi solo scrivere.
    Selezioni multiple vanno separate da una virgola, che il sistema fa automaticamente.

    Con la selezione puoi scegliere un’azione con il prossimo passaggio."; +$lang['wiselclddesc'] = "Seleziona gli utenti in base all’ultimo nickname noto. Per farlo devi solo scrivere.
    Selezioni multiple vanno separate da una virgola, che il sistema fa automaticamente.

    Con la selezione puoi scegliere un’azione con il prossimo passaggio."; $lang['wishcolas'] = "Servergroup attuale"; -$lang['wishcolasdesc'] = "Show column 'actual servergroup' in list_rankup.php"; +$lang['wishcolasdesc'] = "Mostra colonna 'Servergroup attuale' in stats/list_rankup.php"; $lang['wishcolat'] = "Tempo Attività"; -$lang['wishcolatdesc'] = "Show column 'sum. active time' in list_rankup.php"; +$lang['wishcolatdesc'] = "Mostra colonna 'Tempo Attività' in stats/list_rankup.php"; $lang['wishcolcld'] = "Nome Utente"; -$lang['wishcolclddesc'] = "Show column 'Client-name' in list_rankup.php"; +$lang['wishcolclddesc'] = "Mostra colonna 'Nome Utente' in stats/list_rankup.php"; $lang['wishcoldbid'] = "ID del database"; -$lang['wishcoldbiddesc'] = "Show column 'Client-database-ID' in list_rankup.php"; +$lang['wishcoldbiddesc'] = "Mostra colonna 'ID del database' in stats/list_rankup.php"; $lang['wishcolit'] = "tempo in IDLE"; -$lang['wishcolitdesc'] = "Show column 'sum idle time' in list_rankup.php"; +$lang['wishcolitdesc'] = "Mostra colonna 'tempo in IDLE' in stats/list_rankup.php"; $lang['wishcolls'] = "Ultimo volta online"; -$lang['wishcollsdesc'] = "Show column 'last seen' in list_rankup.php"; +$lang['wishcollsdesc'] = "Mostra colonna 'Ultimo volta online' in stats/list_rankup.php"; $lang['wishcolnx'] = "Prossimo Rank"; -$lang['wishcolnxdesc'] = "Show column 'next rank up' in list_rankup.php"; +$lang['wishcolnxdesc'] = "Mostra colonna 'Prossimo Rank' in stats/list_rankup.php"; $lang['wishcolot'] = "Tempo Online"; -$lang['wishcolotdesc'] = "Show column 'sum. online time' in list_rankup.php"; +$lang['wishcolotdesc'] = "Mostra colonna 'Tempo Online' in stats/list_rankup.php"; $lang['wishcolrg'] = "rank"; -$lang['wishcolrgdesc'] = "Show column 'rank' in list_rankup.php"; -$lang['wishcolsg'] = "next servergroup"; -$lang['wishcolsgdesc'] = "Show column 'next servergroup' in list_rankup.php"; -$lang['wishcoluuid'] = "Client-ID"; -$lang['wishcoluuiddesc'] = "Show column 'unique Client-ID' in list_rankup.php"; -$lang['wishexcld'] = "excepted client"; -$lang['wishexclddesc'] = "Show clients in list_rankup.php,
    which are excepted by his uniqueID."; -$lang['wishexgrp'] = "excepted groups"; -$lang['wishexgrpdesc'] = "Mostra i clients in list_rankup.php, che sono nella lista 'client exception' e non dovrebbero essere considerati per il Ranksystem."; -$lang['wishgen'] = "Sitegen"; -$lang['wishgendesc'] = "Mostra il tempo richiesto per la generazione del sito al fondo del sito."; -$lang['wishhicld'] = "Clients in highest Level"; -$lang['wishhiclddesc'] = "Mostra I clients in list_rankup.php, che hanno raggiunto il più elevato rank nel Ranksystem."; -$lang['wisupidle'] = "Idletime"; -$lang['wisupidledesc'] = "Se la funzione è attivata, la somma del tempo in IDLE verrà sottratta alla somma del tempo online. Il tempo ricavato verrà utilizzato per l'avanzamento di rank."; -$lang['wisvconf'] = "salva"; +$lang['wishcolrgdesc'] = "Mostra colonna 'rank' in stats/list_rankup.php"; +$lang['wishcolsg'] = "Prossimo Servergroup"; +$lang['wishcolsgdesc'] = "Mostra colonna 'Prossimo Servergroup' in stats/list_rankup.php"; +$lang['wishcoluuid'] = "ID del Utente"; +$lang['wishcoluuiddesc'] = "Mostra colonna 'ID del Utente' in stats/list_rankup.php"; +$lang['wishexcld'] = "Eccetto gli utenti"; +$lang['wishexclddesc'] = "Mostra gli utenti in list_rankup.php,
    which are excluded and therefore not participate in the Ranksystem."; +$lang['wishexgrp'] = "Eccetto i Servergroups"; +$lang['wishexgrpdesc'] = "Mostra gli utenti in list_rankup.php, che sono nella lista 'client exception' e non dovrebbero essere considerati per il Ranksystem."; +$lang['wishhicld'] = "Utenti col massimo rank"; +$lang['wishhiclddesc'] = "Mostra gli utenti in list_rankup.php, che hanno raggiunto il più elevato rank nel Ranksystem."; +$lang['wisupidle'] = "Modalità"; +$lang['wisupidledesc'] = "Ci sono due modalità di conteggio del tempo per applicare un aumento di rank. 1) Tempo Online: Tutto il tempo che l'utente passa in TS in IDLE o meno (Vedi colonna 'sum. online time' in the 'stats/list_rankup.php') 2) Tempo di attività: Al tempo online dell'utente viene sottratto il tempo in IDLE (AFK) (Vedi colonna 'sum. active time' in the 'stats/list_rankup.php'). Il cambiamento di modalità dopo lungo tempo non è consigliato ma dovrebbe funzionare comunque."; +$lang['wisvconf'] = "Salva"; $lang['wisvsuc'] = "Modifiche salvate con successo!"; -$lang['witime'] = "Timezone"; -$lang['witimedesc'] = "Select the timezone the server is hosted."; +$lang['wisvres'] = "Dovrai riavviare il Ranksystem affinché i cambiamenti vengano applicati!"; +$lang['witime'] = "Fuso orario"; +$lang['witimedesc'] = "Selezione il fuso orario di dove è hostato il server."; $lang['wits3dch'] = "Canale di Default"; $lang['wits3dchdesc'] = "Il channel-ID cui il bot deve connettersi.

    Il Bot entrerà in questo canale appena entrato nel TeamSpeak server."; $lang['wits3host'] = "Indirizzo TS3"; @@ -344,18 +352,13 @@ $lang['wits3querusrdesc'] = "Il nome utente della Query scelta
    Di default è $lang['wits3query'] = "TS3 - Porta della Query"; $lang['wits3querydesc'] = "La porta per l'accesso delle query a Teamspeak
    La porta di default è 10011 (TCP)
    Se non è la porta di default e non sai che porta possa essere guarda all'interno del file 'ts3server.ini' nella directory principale del server Teamspeak dove troverai tutte le informazioni sul server."; $lang['wits3voice'] = "TS3 - Voice-Port"; -$lang['wits3voicedesc'] = "La voice port del vostro Teamspeak
    Di default è 9987 (UDP)
    Questa è inoltre la porta con cui ti connetti al TS3."; -$lang['witxco'] = "Colore del testo:"; -$lang['witxcodesc'] = "Imposta un colore per il testo.
    (Deve essere un codice HTML valido e deve iniziare con # )"; +$lang['wits3voicedesc'] = "La voice port del vostro Teamspeak
    Di default è 9987 (UDP)
    Questa è inoltre la porta con cui vi connettete al TS3."; $lang['wiupcheck'] = "Controlla aggiornamenti"; $lang['wiupcheckdesc'] = "Se le funzione 'Controlla aggiornamenti', la lista di utenti inseriti (ID unico dell'utente) riceveranno una notifica su Teamspeak (come messaggio privato), quando sarà disponibile uin aggiornamento."; $lang['wiuptime'] = "Intervallo di cotrollo aggiornamenti"; $lang['wiuptimedesc'] = "Inserisci qui ogni quanti secondi il Ranksystem verificherà se vi sono aggiornamenti disponibili.
    Attenzione, Ogni utente inserito riceverà la notifica di aggiornamento attraverso un messaggio privato su Temaspeak. Se nessuno degli utenti inseriti sarà online, Il Ranksystem proverà ad inviare il messaggio nell'intervallo di tempo successivo."; $lang['wiupuid'] = "Recipiente"; $lang['wiupuiddesc'] = "La lista di utenti (dovrà essere inserito l'ID unico dell'utente(i) es. YdicUS4yofeBEONN7J3FeLic8b4=,RiGqBf8hU1kbCV/vwfPL0rzAwZQ=), che verranno informati di eventuali aggiornamenti attraverso un messaggio privato su Teamspeak."; -$lang['wiversion'] = "(versione corrente %s)"; $lang['wivlang'] = "Lingua"; $lang['wivlangdesc'] = "Lingue disponibili per il Ranksystem

    de - Deutsch
    en - english
    it - italiano
    ru - Русский"; -$lang['wiwnco'] = "Colore messggio d'avviso:"; -$lang['wiwncodesc'] = "Definisci il colore del messaggio di avviso di aggiornamenti disponibili.
    (Deve essere un codice HTML valido e deve iniziare con # )"; ?> \ No newline at end of file diff --git a/languages/core_ro.php b/languages/core_ro.php new file mode 100644 index 0000000..2976521 --- /dev/null +++ b/languages/core_ro.php @@ -0,0 +1,364 @@ + adăugat la Ranksystem acum."; +$lang['changedbid'] = "Userul %s (unique Client-ID: %s) a primit un nouă identitate (%s). Actualizăm vechea identitate (%s) și resetăm timpul colectat!"; +$lang['crawl'] = "Scanăm clientul conectat și contorizăm activitatea..."; +$lang['clean'] = "Scanăm clienții care trebuie șterși..."; +$lang['cleanc'] = "Utilizatori curați"; +$lang['cleancdesc'] = "Cu aceasta funcție clienții vechi din Ranksystem se elimină.

    La sfârșit, Ranksystem sincronizat cu baza de date TeamSpeak. Utilizatorii , care nu există în TeamSpeak, vor fi șterși din Ranksystem.

    Această funcție este activată numai atunci când \"SlowMode\" este dezactivat!


    Pentru reglarea automată a bazei de date TeamSpeak , ClientCleaner poate fi folosit:
    http://ts-n.net/clientcleaner.php"; +$lang['cleandel'] = "Au fost %s clienții eliminați din baza de date Ranksystem , pentru că ei nu mai erau existenți în baza de date TeamSpeak "; +$lang['cleanno'] = "Nu a fost nimic de eliminat..."; +$lang['cleanp'] = "Perioada de curațare"; +$lang['cleanpdesc'] = "Setați un timp care trebuie să treacă înainte de a se executa curățirea clienților.

    Setați un timp în secunde.

    Recomandat este o dată pe zi , deoarece curățarea clienților are nevoie de mult timp pentru baze de date mai mari."; +$lang['cleanrs'] = "Clienți in baza de date Ranksystem: %s"; +$lang['cleants'] = "Clienți în baza de date TeamSpeak: %s (of %s)"; +$lang['days'] = "%s zile"; +$lang['dbconerr'] = "Nu a reușit să se conecteze la baza de date MySQL: "; +$lang['delcldgrpif'] = "Eroare la eliminarea cunoștințelor pentru servergroups: %s"; +$lang['delcldgrpsc'] = "Cunoștințe despre servergroups pentru %s Utilizatorul a eliminat cu succes."; +$lang['delclientsif'] = "%s Clienții eliminați din baza de date Ranksystem!"; +$lang['delclientssc'] = "%s Clienții eliminați cu succes din baza de date Ranksystem!"; +$lang['errlogin'] = "Numele de utilizator și / sau parola sunt incorecte ! Încearcă din nou..."; +$lang['errlogin2'] = "Protecție forță brută: încercați din nou în %s seconde!"; +$lang['errlogin3'] = "Protecție forță brută: Prea multe greșeli. Banat pentru 300 de secunde!"; +$lang['error'] = "Eroare "; +$lang['errremgrp'] = "Eroare la eliminarea utilizatorului cu identitatea %s din servergroup cu servergroup-database-ID %s!"; +$lang['errremdb'] = "Eroare când eliminăm utilizatorului cu identitatea %s din baza de date Ranksystem!"; +$lang['errsel'] = "Eroare când alegem selecțiile cu
    Clientul selectat: %s
    opțiune 'ștergeți clienții': %s
    opțiune 'sum. online timp': %s"; +$lang['errukwn'] = "A apărut o eroare necunoscută!"; +$lang['errupcount'] = "Eroare în timp ce reînnoim timpul rezumat on-line de %s de către utilizator cu identitatea %s"; +$lang['highest'] = "Cel mai înalt rang atins"; +$lang['install'] = "Instalare"; +$lang['instdb'] = "Instalăm baza de date:"; +$lang['instdbsuc'] = "Baza de date %s a fost creată cu succes."; +$lang['insttb'] = "Instalăm tabelele:"; +$lang['isntwicfg'] = "Nu se poate salva configurația bazei de date ! Vă rugăm să modificați 'other/dbconfig.php' cu acces chmod 0777 și incercați iar."; +$lang['isntwichm'] = "Vă rugăm să modificați 'other/dbconfig.php', și folderele 'avatars/', 'icons/' and 'logs/' cu permisiile necesare. Prin urmare, sa editați accesul chmod cu 0777. Apoi incercați iar (refresh la pagină)."; +$lang['isntwidbhost'] = "Host-ul bazei de date:"; +$lang['isntwidbhostdesc'] = "Server-ul DB
    (IP sau DNS)"; +$lang['isntwidbmsg'] = "Eroare DB: "; +$lang['isntwidbname'] = "Nume DB:"; +$lang['isntwidbnamedesc'] = "Nume DB"; +$lang['isntwidbpass'] = "Parolă DB:"; +$lang['isntwidbpassdesc'] = "Parola pentru a accesa DB"; +$lang['isntwidbtype'] = "Tipul DB:"; +$lang['isntwidbtypedesc'] = "Tipul DB

    Trebuie să instalați necesarul de PDO Driver.
    Pentru mai multe informatii accesați http://ts-n.net/ranksystem.php"; +$lang['isntwidbusr'] = "DB User:"; +$lang['isntwidbusrdesc'] = "User-ul pentru acces la DB"; +$lang['isntwidel'] = "Vă rugăm să ștergeți fișierul 'install.php' din webserver și deschideți %s să configurați Ranksystem!"; +$lang['isntwiusr'] = "Utilizator pentru webinterface creat cu succes."; +$lang['isntwiusrcr'] = "Creare acces"; +$lang['isntwiusrdesc'] = "Introduceți un nume de utilizator și o parolă pentru accesul webinterface. Cu webinterface vă puteți configura Ranksytem-ul."; +$lang['isntwiusrh'] = "Acces - Webinterface"; +$lang['listacsg'] = "Servergroup actual"; +$lang['listcldbid'] = "Client-database-ID"; +$lang['listexgrp'] = "Nu va considera pentru Ranksystem (servergroup exception)."; +$lang['listexuid'] = "Nu va considera pentru Ranksystem (client exception)."; +$lang['listip'] = "Adresă IP"; +$lang['listnick'] = "Nume Client"; +$lang['listnxsg'] = "Următorul servergroup"; +$lang['listnxup'] = "Următorul rank up"; +$lang['listrank'] = "rank"; +$lang['listseen'] = "Văzut ultima dată"; +$lang['listsuma'] = "sum. timp activ"; +$lang['listsumi'] = "sum. timpul de inactivitate"; +$lang['listsumo'] = "sum. timp online"; +$lang['listuid'] = "unique Client-ID"; +$lang['login'] = "Logare"; +$lang['nocount'] = "User-ul %s (Client-ID unic: %s; Client-database-ID %s) este un query-user sau este de mai multe ori on-line ( numai primul număr de conexiune ) - > acest lucru nu va conta !"; +$lang['noentry'] = "Nu au gasit .."; +$lang['pass'] = "Parolă"; +$lang['queryname'] = "În primul rând Botname deja în uz . Încerc cu al doilea Botname ..."; +$lang['sccrmcld'] = "User-ul cu unic Client-ID %s scos cu success din baza de date Ranksystem ."; +$lang['sccupcount'] = "User-ul cu unic Client-ID %s rescrise cu un succes timp rezumat on-line al %s."; +$lang['setontime'] = "sum. timp online"; +$lang['setontimedesc'] = "Introduceți un timp on-line nou rezumat , care ar trebui să fie setat la clienții anteriori selectate . Cu acest vechi rezumat on-line va fi rescris .

    Timpul de sinteză introdus on-line v-a fi luat în considerare pentru rangul sus."; +$lang['sgrpadd'] = "Aloca servergroup %s user-ului %s (unique Client-ID: %s; Client-database-ID %s)."; +$lang['sgrprerr'] = "S-a întâmplat o problemă cu servergroup utilizatorului %s (unique Client-ID: %s; Client-database-ID %s)!"; +$lang['sgrprm'] = "S-a șters servergroup %s de la user-ul %s (unique Client-ID: %s; Client-database-ID %s)."; +$lang['stix0001'] = "Statistică de server"; +$lang['stix0002'] = "Numărul total de utilizatori"; +$lang['stix0003'] = "Vezi detalii"; +$lang['stix0004'] = "Timp on-line al tuturor utilizator / Total"; +$lang['stix0005'] = "Vedere de sus din toate timpurile"; +$lang['stix0006'] = "Vedere de sus a lunii"; +$lang['stix0007'] = "Vedere de sus a săptămânii"; +$lang['stix0008'] = "Utilizarea serverului"; +$lang['stix0009'] = "În ultimele 7 zile"; +$lang['stix0010'] = "În ultimele 30 de zile"; +$lang['stix0011'] = "În ultimele 24 de ore"; +$lang['stix0012'] = "Selectare perioadă"; +$lang['stix0013'] = "Ultima zi"; +$lang['stix0014'] = "Săptămâna trecută"; +$lang['stix0015'] = "Luna trecută"; +$lang['stix0016'] = "Timp activ / inactiv ( tuturor clienților )"; +$lang['stix0017'] = "Versiunile ( tuturor clienților )"; +$lang['stix0018'] = "Naționalitățile ( tuturor clienților )"; +$lang['stix0019'] = "Platforme ( tuturor clienților )"; +$lang['stix0020'] = "Statisticile curente"; +$lang['stix0023'] = "Status server"; +$lang['stix0024'] = "Online"; +$lang['stix0025'] = "Offline"; +$lang['stix0026'] = "Clienți (Online / Max)"; +$lang['stix0027'] = "Număr de canale"; +$lang['stix0028'] = "Ping mediu pe server"; +$lang['stix0029'] = "Număr total de octeți primit"; +$lang['stix0030'] = "Număr total de octeți trimiși"; +$lang['stix0031'] = "Server uptime"; +$lang['stix0032'] = "După offline:"; +$lang['stix0033'] = "00 Zile, 00 Ore, 00 Minute, 00 Secunde"; +$lang['stix0034'] = "Pierderea medie de pachete"; +$lang['stix0035'] = "Statisticile generale"; +$lang['stix0036'] = "Nume Server"; +$lang['stix0037'] = "Adresa Server(Adresa Host : Port)"; +$lang['stix0038'] = "Parola Server"; +$lang['stix0039'] = "Nu (Server-ul este public)"; +$lang['stix0040'] = "Da (Server este privat)"; +$lang['stix0041'] = "Server ID"; +$lang['stix0042'] = "Server platformă"; +$lang['stix0043'] = "Server versiune"; +$lang['stix0044'] = "Server creat in data (dd/mm/yyyy)"; +$lang['stix0045'] = "Raport la lista de servere"; +$lang['stix0046'] = "Activat"; +$lang['stix0047'] = "Nu este activat"; +$lang['stix0048'] = "Nu sunt suficiente date încă ..."; +$lang['stix0049'] = "Timp on-line la toți utilizatorii / luna"; +$lang['stix0050'] = "Timp on-line la toți utilizatorii / săptămână"; +$lang['stix0051'] = "TeamSpeak nu a reușit , deci nici o data creată..."; +$lang['stmy0001'] = "Statisticile mele"; +$lang['stmy0002'] = "Rank"; +$lang['stmy0003'] = "Database ID:"; +$lang['stmy0004'] = "Unic ID:"; +$lang['stmy0005'] = "Conexiuni totale la serverul:"; +$lang['stmy0006'] = "Inceputul dății pentru statistici:"; +$lang['stmy0007'] = "Timp total on-line:"; +$lang['stmy0008'] = "Timp online ultimele 7 zile:"; +$lang['stmy0009'] = "Timp online ultimele 30 zile:"; +$lang['stmy0010'] = "Realizări finalizate:"; +$lang['stmy0011'] = "Timp progres realizare"; +$lang['stmy0012'] = "Ora: Legendarul"; +$lang['stmy0013'] = "Pentru că ai un timp online %s ore."; +$lang['stmy0014'] = "Progres finalizat"; +$lang['stmy0015'] = "Ora: Aur"; +$lang['stmy0016'] = "% completat pentru Legendar"; +$lang['stmy0017'] = "Ora: Argint"; +$lang['stmy0018'] = "% completat pentru Aur"; +$lang['stmy0019'] = "Ora: Bronz"; +$lang['stmy0020'] = "% completat pentru Argint"; +$lang['stmy0021'] = "Ora: Ne-rank-at"; +$lang['stmy0022'] = "% completat pentru Bronz"; +$lang['stmy0023'] = "Conexiune progres realizare"; +$lang['stmy0024'] = "Connects: Legendary"; +$lang['stmy0025'] = "Because You connected %s times to the server."; +$lang['stmy0026'] = "Connects: Gold"; +$lang['stmy0027'] = "Connects: Silver"; +$lang['stmy0028'] = "Connects: Bronze"; +$lang['stmy0029'] = "Connects: Unranked"; +$lang['stmy0030'] = "Progress next servergroup"; +$lang['stnv0001'] = "Server news"; +$lang['stnv0002'] = "Close"; +$lang['stnv0003'] = "Refresh client information"; +$lang['stnv0004'] = "Only use this refresh, when your TS3 information got changed, such as your TS3 username"; +$lang['stnv0005'] = "It only works, when you are connected to the TS3 server at the same time"; +$lang['stnv0006'] = "Refresh"; +$lang['stnv0007'] = "Battle area - Page content"; +$lang['stnv0008'] = "You can challenge other users in a battle between two users or two teams."; +$lang['stnv0009'] = "While the battle is active the online time of the teams/users will be counted."; +$lang['stnv0010'] = "When the battle ends the team/user with the highest online time wins."; +$lang['stnv0011'] = "(The regular battling time is 48 hours)"; +$lang['stnv0012'] = "The winning team/user will recieve a price, which the user can use whenever the user wants."; +$lang['stnv0013'] = "It will be displayed on the My statistics tab."; +$lang['stnv0014'] = "(Could be online time boost(2x) for 8 hours, instant online time (4 hours), etc."; +$lang['stnv0015'] = "These boosts can be used for example to climb in the top users of the week."; +$lang['stnv0016'] = "Not available"; +$lang['stnv0017'] = "You are not connected to the TS3 Server, so it can't display any data for you."; +$lang['stnv0018'] = "Please connect to the TS3 Server and then Refresh your Session by pressing the blue Refresh Button at the top-right corner."; +$lang['stnv0019'] = "My statistics - Page content"; +$lang['stnv0020'] = "This page contains a overall summary of your personal statistics and activity on the server."; +$lang['stnv0021'] = "The informations are collected since the beginning of the Ranksystem, they are not since the beginning of the TeamSpeak server."; +$lang['stnv0022'] = "This page receives its values out of a database. So the values might be delayed a bit."; +$lang['stnv0023'] = "The sum inside of the donut charts may differ to the amount of 'Total user'. The reason is that this data weren't collected with older versions of the Ranksystem."; +$lang['stnv0024'] = "Ranksystem - Statistics"; +$lang['stnv0025'] = "Limit entries"; +$lang['stnv0026'] = "all"; +$lang['stnv0027'] = "The informations on this site could be outdated! It seems the Ranksystem is no more connected to the TeamSpeak."; +$lang['stnv0028'] = "(You are not connected to the TS3!)"; +$lang['stnv0029'] = "List Rankup"; +$lang['stnv0030'] = "Ranksystem info"; +$lang['stnv0031'] = "About the search field you can search for pattern in clientname, unique Client-ID and Client-database-ID."; +$lang['stnv0032'] = "You can also use a view filter options (see below). Enter the filter also inside the search field."; +$lang['stnv0033'] = "Combination of filter and search pattern are possible. Enter first the filter(s) followed without any sign your search pattern."; +$lang['stnv0034'] = "Also it is possible to combine multiple filters. Enter this consecutively inside the search field."; +$lang['stnv0035'] = "Example:
    filter:nonexcepted:TeamSpeakUser"; +$lang['stnv0036'] = "Show only clients, which are excepted (client, servergroup or channel exception)."; +$lang['stnv0037'] = "Show only clients, which are not excepted."; +$lang['stnv0038'] = "Show only clients, which are online."; +$lang['stnv0039'] = "Show only clients, which are not online."; +$lang['stnv0040'] = "Show only clients, which are in defined group. Represent the actuel rank/level.
    Replace GROUPID with the wished servergroup ID."; +$lang['stnv0041'] = "Show only clients, which are selected by lastseen.
    Replace OPERATOR with '<' or '>' or '=' or '!='.
    And replace TIME with a timestamp or date with format 'Y-m-d H-i' (example: 2016-06-18 20-25).
    Full example: filter:lastseen:<:2016-06-18 20-25:"; +$lang['stnv0042'] = "Show only clients, which are from defined country.
    Replace TS3-COUNTRY-CODE with the wished country.
    For list of codes google for ISO 3166-1 alpha-2"; +$lang['stri0001'] = "Ranksystem information"; +$lang['stri0002'] = "What is the Ranksystem?"; +$lang['stri0003'] = "A TS3 Bot, which automatically grant ranks (servergroups) to user on a TeamSpeak 3 Server for online time or online activity. It also gathers informations and statistics about the user and displays the result on this site."; +$lang['stri0004'] = "Who created the Ranksystem?"; +$lang['stri0005'] = "When the Ranksystem was Created?"; +$lang['stri0006'] = "First alpha release: 05/10/2014."; +$lang['stri0007'] = "First beta release: 01/02/2015."; +$lang['stri0008'] = "You can see the newest version on the Ranksystem Website."; +$lang['stri0009'] = "How was the Ranksystem created?"; +$lang['stri0010'] = "The Ranksystem is coded in"; +$lang['stri0011'] = "It uses also the following libraries:"; +$lang['stri0012'] = "Special Thanks To:"; +$lang['stri0013'] = "sergey, Arselopster & DeviantUser - for russian translation"; +$lang['stri0014'] = "Bejamin Frost - for initialisation the bootstrap design"; +$lang['stri0015'] = "ZanK - for italian translation"; +$lang['stri0016'] = "DeStRoYzR & Jehad - for initialisation arabic translation"; +$lang['stri0017'] = "SakaLuX - for initialisation romanian translation"; +$lang['sttw0001'] = "Top users"; +$lang['sttw0002'] = "Of the week"; +$lang['sttw0003'] = "With %s hours online time"; +$lang['sttw0004'] = "Top 10 compared"; +$lang['sttw0005'] = "Hours (Defines 100 %)"; +$lang['sttw0006'] = "%s hours (%s%)"; +$lang['sttw0007'] = "Top 10 Statistics"; +$lang['sttw0008'] = "Top 10 vs others in online time"; +$lang['sttw0009'] = "Top 10 vs others in active time"; +$lang['sttw0010'] = "Top 10 vs others in inactive time"; +$lang['sttw0011'] = "Top 10 (in hours)"; +$lang['sttw0012'] = "Other %s users (in hours)"; +$lang['sttw0013'] = "With %s hours active time"; +$lang['sttm0001'] = "Of the month"; +$lang['stta0001'] = "Of all time"; +$lang['upinf'] = "A new Version of the Ranksystem is available; Inform clients on server..."; +$lang['upmsg'] = "\nHey, a new version of the [B]Ranksystem[/B] is available!\n\ncurrent version: %s\n[B]new version: %s[/B]\n\nPlease check out our site for more informations [URL]http://ts-n.net/ranksystem.php[/URL]."; +$lang['upsucc'] = "Database update successfully executed."; +$lang['upuser'] = "User %s (unique Client-ID: %s; Client-database-ID %s) gets a new count (sum. online time) of %s (thereof active %s)."; +$lang['upuserboost'] = "User %s (unique Client-ID: %s; Client-database-ID %s) gets a new count (sum. online time) of %s (thereof active %s) [BOOST %sx]."; +$lang['upusrerr'] = "The unique Client-ID %s couldn't reached on the TeamSpeak!"; +$lang['upusrinf'] = "User %s was successfully informed."; +$lang['user'] = "Username"; +$lang['wiaction'] = "action"; +$lang['wiboost'] = "boost"; +$lang['wiboostdesc'] = "Give an user on your TeamSpeak server a servergroup (have to be created manually), which you can declare here as boost group. Define also a factor which should be used (for example 2x) and a time, how long the boost should be rated.
    The higher the factor, the faster an user reaches the next higher rank.
    Is the time expired, the boost servergroup get automatically removed from the concerned user. The time starts running as soon as the user gets the servergroup.

    servergroup ID => factor => time (in seconds)

    Each entry have to separate from next with a comma.

    Example:
    12=>2=>6000,13=>3=>2500,14=>5=>600

    On this an user in servergroup 12 get the factor 2 for the next 6000 seconds, an user in servergroup 13 get the factor 3 for 2500 seconds, and so on..."; +$lang['wibot1'] = "Ranksystem Bot should be stopped. Check the log below for more information!"; +$lang['wibot2'] = "Ranksystem Bot should be started. Check the log below for more information!"; +$lang['wibot3'] = "Ranksystem Bot should be restarted. Check the log below for more information!"; +$lang['wibot4'] = "Start / Stop Ranksystem Bot"; +$lang['wibot5'] = "Start Bot"; +$lang['wibot6'] = "Stop Bot"; +$lang['wibot7'] = "Restart Bot"; +$lang['wibot8'] = "Ranksystem log (extract):"; +$lang['wibot9'] = "Fill out all mandatory fields before starting the Ranksystem Bot!"; +$lang['wichdbid'] = "Client-database-ID reset"; +$lang['wichdbiddesc'] = "Reset the online time of an user, if his TeamSpeak Client-database-ID changed.

    Example:
    If a clients gets removed from the TeamSpeak server, it gets a new Client-database-ID with the next connect to the server."; +$lang['wiconferr'] = "There is an error in the configuration of the Ranksystem. Please go to the webinterface and correct the Core Settings. Especially check the config 'rank up'!"; +$lang['widaform'] = "Date format"; +$lang['widaformdesc'] = "Choose the showing date format.

    Example:
    %a days, %h hours, %i mins, %s secs"; +$lang['widbcfgsuc'] = "Database configurations saved successfully."; +$lang['widbcfgerr'] = "Error while saving the database configurations! Connection failed or writeout error for 'other/dbconfig.php'"; +$lang['widelcld'] = "delete clients"; +$lang['widelcldgrp'] = "renew groups"; +$lang['widelcldgrpdesc'] = "The Ranksystem remember the given servergroups, so it don't need to give/check this with every run of the worker.php again.

    With this function you can remove once time the knowledge of given servergroups. In effect the ranksystem try to give all clients (which are on the TS3 server online) the servergroup of the actual rank.
    For each client, which gets the group or stay in group, the Ranksystem remember this like described at beginning.

    This function can be helpful, when user are not in the servergroup, they should be for the defined online time.

    Attention: Run this in a moment, where the next few minutes no rankups become due!!! The Ranksystem can't remove the old group, cause it can't remember ;-)"; +$lang['widelclddesc'] = "Delete the before selected clients out of the Ranksystem database.

    With this deletion are the clients on the TeamSpeak Server untouched."; +$lang['widelsg'] = "remove out of servergroups"; +$lang['widelsgdesc'] = "Choose if the clients should also be removed out of the last known servergroup, when you delete clients out of the Ranksystem database.

    It will only considered servergroups, which concerned the Ranksystem"; +$lang['wideltime'] = "Deletiontime"; +$lang['wideltimedesc'] = "Clean old clients out of the Ranksystem database.
    Entry a time in seconds which a client was not seen to delete it.

    0 - deletes all clients out of the Ranksystem

    The Userdatas on the TeamSpeak server are with this untouched!"; +$lang['wiexcid'] = "channel exception"; +$lang['wiexciddesc'] = "A comma separated list of the channel-IDs that are not to participate in the Ranksystem.

    Stay users in one of the listed channels, the time there will be completely ignored. There is neither the online time, yet the idle time counted.

    Sense does this function only with the mode 'online time', cause here could be ignored AFK channels for example.
    With the mode 'active time', this function is useless because as would be deducted the idle time in AFK rooms and thus not counted anyway.

    Be a user in an excluded channel, it is noted for this period as 'excluded from the Ranksystem'. The user dows no longer appears in the list 'stats/list_rankup.php' unless excluded clients should not be displayed there (Stats Page - excepted client)."; +$lang['wiexgrp'] = "servergroup exception"; +$lang['wiexgrpdesc'] = "A comma seperated list of servergroup-IDs, which should not conside for the Ranksystem.
    User in at least one of this servergroups IDs will be ignored for the rank up."; +$lang['wiexuid'] = "client exception"; +$lang['wiexuiddesc'] = "A comma seperated list of unique Client-IDs, which should not conside for the Ranksystem.
    User in this list will be ignored for the rank up."; +$lang['wigrptime'] = "rank up definition"; +$lang['wigrptimedesc'] = "Define here after which time a user should get automatically a predefined servergroup.

    time (seconds)=>servergroup ID

    Important for this is the 'online time' or the 'active time' of an user, depending on setting of the mode.

    Each entry have to separate from next with a comma.

    The time must be entered cumulative

    Example:
    60=>9,120=>10,180=>11

    On this a user get after 60 seconds the servergroup 9, in turn after 60 seconds the servergroup 10, and so on..."; +$lang['wihladm'] = "List Rankup (Admin-Mode)"; +$lang['wihlcfg'] = "Core settings"; +$lang['wihldb'] = "Database settings"; +$lang['wihlmsg'] = "Message settings"; +$lang['wihlsty'] = "Stats page settings"; +$lang['wihlts'] = "TeamSpeak settings"; +$lang['wihlvs'] = "Various settings"; +$lang['wiignidle'] = "Ignore idle"; +$lang['wiignidledesc'] = "Define a period, up to which the idle time of an user will be ignored.

    When a client does not do anything on the server (=idle), this time is noted by the Ranksystem. With this feature the idle time of an user will not be counted until the defined limit. Only when the defined limit is exceeded, it counts from that date for the Ranksystem as idle time.

    This function plays only in conjunction with the mode 'active time' a role.

    Meaning the function is e.g. to evaluate the time of listening in conversations as activity.

    0 = disable the feature

    Example:
    Ignore idle = 600 (seconds)
    A client has an idle of 8 minuntes
    consequence:
    8 minutes idle are ignored and he therefore receives this time as active time. If the idle time now increased to over 12 minutes so the time is over 10 minutes, and in this case 2 minutes would be counted as idle time."; +$lang['wilog'] = "Logpath"; +$lang['wilogdesc'] = "Path of the log file of the Ranksystem.

    Example:
    /var/logs/ranksystem/

    Be sure, the webuser has the write-permissions to the logpath."; +$lang['wimsgmsg'] = "Message"; +$lang['wimsgmsgdesc'] = "Define a message, which will be send to an user, when he rises the next higher rank.

    This message will be send via TS3 private message. So every know bb-code could be used, which also works for a normal private message.
    http://ts-n.net/lexicon.php?showid=97#lexindex

    Furthermore, the previously spent time can be expressed by arguments:
    %1\$s - days
    %2\$s - hours
    %3\$s - minutes
    %4\$s - seconds

    Example:
    Hey,\\nyou reached a higher rank, since you already connected for %1\$s days, %2\$s hours and %3\$s minutes to our TS3 server.[B]Keep it up![/B] ;-)"; +$lang['wilogout'] = "Logout"; +$lang['wimsgusr'] = "Rank up notification"; +$lang['wimsgusrdesc'] = "Inform an user with a private text message about his rank up."; +$lang['winav1'] = "TeamSpeak"; +$lang['winav2'] = "Database"; +$lang['winav3'] = "Core"; +$lang['winav4'] = "Other"; +$lang['winav5'] = "Message"; +$lang['winav6'] = "Stats page"; +$lang['winav7'] = "Administrate"; +$lang['winav8'] = "Start / Stop Bot"; +$lang['winav9'] = "Update available!"; +$lang['winav10'] = "Please use the webinterface only via %s HTTPS%s An encryption is critical to ensure your privacy and security.%sTo be able to use HTTPS your webserver needs to support an SSL connection."; +$lang['wiselcld'] = "select clients"; +$lang['wiselclddesc'] = "Select the clients by the last known username. For this you only have to start typing.
    Multiple selections are comma separated, which does the system automatically.

    With the selection you can choose with the next step an action."; +$lang['wishcolas'] = "actual servergroup"; +$lang['wishcolasdesc'] = "Show column 'actual servergroup' in list_rankup.php"; +$lang['wishcolat'] = "active time"; +$lang['wishcolatdesc'] = "Show column 'sum. active time' in list_rankup.php"; +$lang['wishcolcld'] = "Client-name"; +$lang['wishcolclddesc'] = "Show column 'Client-name' in list_rankup.php"; +$lang['wishcoldbid'] = "database-ID"; +$lang['wishcoldbiddesc'] = "Show column 'Client-database-ID' in list_rankup.php"; +$lang['wishcolit'] = "idle time"; +$lang['wishcolitdesc'] = "Show column 'sum idle time' in list_rankup.php"; +$lang['wishcolls'] = "last seen"; +$lang['wishcollsdesc'] = "Show column 'last seen' in list_rankup.php"; +$lang['wishcolnx'] = "next rank up"; +$lang['wishcolnxdesc'] = "Show column 'next rank up' in list_rankup.php"; +$lang['wishcolot'] = "online time"; +$lang['wishcolotdesc'] = "Show column 'sum. online time' in list_rankup.php"; +$lang['wishcolrg'] = "rank"; +$lang['wishcolrgdesc'] = "Show column 'rank' in list_rankup.php"; +$lang['wishcolsg'] = "next servergroup"; +$lang['wishcolsgdesc'] = "Show column 'next servergroup' in list_rankup.php"; +$lang['wishcoluuid'] = "Client-ID"; +$lang['wishcoluuiddesc'] = "Show column 'unique Client-ID' in list_rankup.php"; +$lang['wishexcld'] = "excepted client"; +$lang['wishexclddesc'] = "Show clients in list_rankup.php,
    which are excluded and therefore not participate in the Ranksystem."; +$lang['wishexgrp'] = "excepted groups"; +$lang['wishexgrpdesc'] = "Show clients in list_rankup.php, which are in the list 'client exception' and shouldn't be conside for the Ranksystem."; +$lang['wishhicld'] = "Clients in highest Level"; +$lang['wishhiclddesc'] = "Show clients in list_rankup.php, which reached the highest level in the Ranksystem."; +$lang['wisupidle'] = "Mode"; +$lang['wisupidledesc'] = "There are two modes, as time can be counted and can then apply for a rank increase. 1) online time: Here the pure online time of the user is taken into account (see column 'sum. online time' in the 'stats/list_rankup.php') 2) active time: This will be deducted from the online time of a user, the inactive time (idle) (see column 'sum. active time' in the 'stats/list_rankup.php'). A change of mode with an already longer running database is not recommended, but may work."; +$lang['wisvconf'] = "save"; +$lang['wisvsuc'] = "Changes successfully saved!"; +$lang['wisvres'] = "You need to restart the Ranksystem before the changes will take effect!"; +$lang['witime'] = "Timezone"; +$lang['witimedesc'] = "Select the timezone the server is hosted."; +$lang['wits3dch'] = "Default Channel"; +$lang['wits3dchdesc'] = "The channel-ID, the bot should connect with.

    The Bot will join this channel after connecting to the TeamSpeak server."; +$lang['wits3host'] = "TS3 Hostaddress"; +$lang['wits3hostdesc'] = "TeamSpeak 3 Server address
    (IP oder DNS)"; +$lang['wits3sm'] = "Slowmode"; +$lang['wits3smdesc'] = "With the Slowmode you can reduce \"spam\" of query commands to the TeamSpeak server. This prevent bans in case of flood.
    TeamSpeak Query commands get delayed with this function.

    !!! ALSO IT REDUCE THE CPU USAGE !!!

    The activation is not recommended, if not required. The delay increases the duration of the Bot, which makes it imprecisely."; +$lang['wits3qnm'] = "Botname"; +$lang['wits3qnm2'] = "2nd Botname"; +$lang['wits3qnm2desc'] = "A fallback Botname, if the first one is already in use."; +$lang['wits3qnmdesc'] = "The name, with this the query-connection will be established.
    You can name it free."; +$lang['wits3querpw'] = "TS3 Query-Password"; +$lang['wits3querpwdesc'] = "TeamSpeak 3 query password
    Password for the query user."; +$lang['wits3querusr'] = "TS3 Query-User"; +$lang['wits3querusrdesc'] = "TeamSpeak 3 query username
    Default is serveradmin
    Of course, you can also create an additional serverquery account only for the Ranksystem.
    The needed permissions you find on:
    http://ts-n.net/ranksystem.php"; +$lang['wits3query'] = "TS3 Query-Port"; +$lang['wits3querydesc'] = "TeamSpeak 3 query port
    Default is 10011 (TCP)
    If its not default, you should find it in your 'ts3server.ini'."; +$lang['wits3voice'] = "TS3 Voice-Port"; +$lang['wits3voicedesc'] = "TeamSpeak 3 voice port
    Default is 9987 (UDP)
    This is the port, you uses also to connect with the TS3 Client."; +$lang['wiupcheck'] = "Update info"; +$lang['wiupcheckdesc'] = "If the Update info is enable, the listed user gets a notification with a private text message, once an update is available."; +$lang['wiuptime'] = "Interval"; +$lang['wiuptimedesc'] = "Enter here how much seconds have to gone till the Ranksystem should check for available updates.

    Attention, for each check the listed user gets a notification. If no one of the listed users is online, the Ranksystem will try to notificate with the next interval."; +$lang['wiupuid'] = "Recipient"; +$lang['wiupuiddesc'] = "A comma separate list of unique Client-IDs, which shoud be informed on the TeamSpeak via private message for available updates."; +$lang['wivlang'] = "Language"; +$lang['wivlangdesc'] = "Choose a default language for the Ranksystem.

    The language is also selectable on the websites for the users and will be stored for the session."; +?> \ No newline at end of file diff --git a/languages/core_ru.php b/languages/core_ru.php index d935aa4..7de665e 100644 --- a/languages/core_ru.php +++ b/languages/core_ru.php @@ -1,361 +1,364 @@ добавлен к Ранг Системе."; -$lang['alrup'] = "Вы уже обновили свою базу данных. Пожалуйста, удалите этот файл из своего веб-сервера!"; -$lang['changedbid'] = "Пользователь %s (Уникальный ID клиента: %s) получил новый TeamSpeak Client-database-ID (%s). Обновление старой Client-database-ID (%s) и сброс collected times!"; +$lang['adduser'] = "Пользователь %s (Уникальный ID клиента: %s; ID в базе данных: %s) неизвестен -> добавлен к Ранг Системе."; +$lang['changedbid'] = "Пользователь %s (Уникальный ID клиента: %s) получил новый TeamSpeak Client-database-ID (%s). Обновление старой Client-database-ID (%s) и сбрасываем ему старое время!"; $lang['crawl'] = "Сканирование активности подключенных пользователей..."; $lang['clean'] = "Сканирование пользователей, которых должен удалить..."; -$lang['cleanc'] = "чистка пользователей"; -$lang['cleancdesc'] = "С включением этой функцией старые пользователи в Ranksystem будут удалены.

    С этой целью, Ranksystem синхронизируется с базой данных TeamSpeak. Пользователи, которых не существует в TeamSpeak, будут удалены из Ranksystem.

    Эта функция работает когда 'Slowmode' дезактивирован!


    Для автоматического регулирования базы данных может использоваться TeamSpeak ClientCleaner:
    http://ts-n.net/clientcleaner.php"; +$lang['cleanc'] = "Чистка пользователей"; +$lang['cleancdesc'] = "С включением этой функцией старые пользователи в Ranksystem будут удалены.

    С этой целью, Ranksystem синхронизируется с базой данных TeamSpeak. Пользователи, которых не существует в базе данных TeamSpeak, будут удалены из Ranksystem.

    Эта функция работает когда 'Slowmode' дезактивирован!


    Для автоматического регулирования базы данных TeamSpeak 3 можете использоваться ClientCleaner:
    http://ts-n.net/clientcleaner.php"; $lang['cleandel'] = "%s пользователя удаленны из базы данных Ranksystem, так как они больше не существуют в базе данных TeamSpeak."; -$lang['cleanno'] = "Никого не было, чтобы было что удалить..."; -$lang['cleanp'] = "период отчистки"; +$lang['cleanno'] = "Не найдены пользователи, которые подходили бы для удаления из базы данных."; +$lang['cleanp'] = "Период чистки БД RankSystem"; $lang['cleanpdesc'] = "Укажите время, которое должно пройти перед запуском 'чистка пользователей'.

    Устанавливается в секундах.

    Для больших баз данных рекомендуется использовать один раз в день."; $lang['cleanrs'] = "Пользователи в базе данных Ranksystem: %s"; $lang['cleants'] = "Пользователи найдены в базе данных TeamSpeak: %s (at %s)"; -$lang['days'] = "days"; -$lang['dbconerr'] = "Ошибка подключения к базе данных MySQL: "; -$lang['delcldgrpif'] = "Ошибка by removing the knowledge for servergroups: %s"; +$lang['days'] = "%s Дней"; +$lang['dbconerr'] = "Ошибка подключения к базе данных: "; +$lang['delcldgrpif'] = "Ошибка удаления пользователя из группы сервера: %s"; $lang['delcldgrpsc'] = "Данные о сервер группах для пользователя %s успешно удалена."; $lang['delclientsif'] = "%s Клиент(ов) удалено из базы данных Ранг Системы!"; $lang['delclientssc'] = "%s Клиент(ов) успешно удалено из базы данных Ранг Системы!"; -$lang['errlogin'] = "Логин и/или пароль не верны! Попробуйте снова..."; +$lang['errlogin'] = "Логин или пароль введены неверно! Попробуйте снова..."; +$lang['errlogin2'] = "Brute force protection: Попробуйте повторить через %s секунд!"; +$lang['errlogin3'] = "Brute force protection: Слишком много попыток. Вы были забанены на 300 секунд!"; $lang['error'] = "Ошибка "; -$lang['errremgrp'] = "Ошибка удаления пользователя с уникальным идентификатором UID: %s из сервер группы SID: %s!"; +$lang['errremgrp'] = "Ошибка удаления пользователя с уникальным идентификатором UID: %s из группы сервера ID: %s!"; $lang['errremdb'] = "Ошибка удаления пользователя с уникальным идентификатором UID %s из базы данных Ранг Системы!"; -$lang['errsel'] = "Error by choosing the selections with
    selected client: %s
    option 'delete clients': %s
    option 'sum. online time': %s"; +$lang['errsel'] = "Ошибка удаления пользователя с уникальным идентификатором UID: %s
    параметр 'удаление клиентов': %s
    По условию 'Суммарное время онлайна': %s"; $lang['errukwn'] = "Произошла неизвестная ошибка!"; $lang['errupcount'] = "Ошибка подсчета суммарного времени подключения %s пользователя с UCI %s"; -$lang['firstuse'] = "Кажется это первый запуск. Начинаю вести Историю Пользователей..."; -$lang['highest'] = "высокий Ранг достигнут"; -$lang['instdb'] = "Установка Базы данных:"; -$lang['instdberr'] = "Ошибка создания базы данных: "; -$lang['instdbsubm'] = "Создание Базы данных"; +$lang['highest'] = "Достигнут высший ранг"; +$lang['install'] = "Установка"; +$lang['instdb'] = "Установка базы данных"; $lang['instdbsuc'] = "База данных %s успешно создана."; -$lang['insttb'] = "Установка Базы Данных:"; -$lang['insttberr'] = "Ошибка при установке таблиц: "; -$lang['insttbsuc'] = "Таблица %s успешно создана."; -$lang['isntwicfg'] = "Не получилось записать настройки базы данных! Пожалуйста установите права на запись 'other/dbconfig.php' chmod 0777 и попробуйте снова."; -$lang['isntwichm'] = "Please edit the 'other/dbconfig.php', and the folders 'avatars/', 'icons/' and 'logs/' with the needed permissions. Therefore edit the chmod to 0777. After it try again (reload the page)."; -$lang['isntwidb'] = "Укажите настройки для подключения к базе данных:"; -$lang['isntwidberr'] = "Пожалуйста, проверьте, все ли поля были заполнены а так же корректность заполнения!"; -$lang['isntwidbhost'] = "Адрес Базы Данных:"; -$lang['isntwidbhostdesc'] = "Адрес сервера Базы Данных
    (IP or DNS)"; -$lang['isntwidbmsg'] = "Ошибка Данных: "; -$lang['isntwidbname'] = "Имя Базы Данных:"; -$lang['isntwidbnamedesc'] = "Название Базы Данных"; -$lang['isntwidbpass'] = "Пароль Базы Данных:"; +$lang['isntwicfg'] = "Не получилось записать настройки базы данных! Пожалуйста, установите права на запись 'other/dbconfig.php' chmod 0777 и попробуйте снова."; +$lang['isntwicfg2'] = "Конфигурирование веб-интерфейса"; +$lang['isntwichm'] = "Отсутствуют права на запись в папку \"%s\". Пожалуйста, установите на эту папку права chmod 0777 и повторите этот этап заново."; +$lang['isntwidbhost'] = "Адрес:"; +$lang['isntwidbhostdesc'] = "Адрес сервера базы данных
    (IP or DNS)"; +$lang['isntwidbmsg'] = "Ошибка базы данных: "; +$lang['isntwidbname'] = "Имя:"; +$lang['isntwidbnamedesc'] = "Название базы данных"; +$lang['isntwidbpass'] = "Пароль:"; $lang['isntwidbpassdesc'] = "Пароль для подключения к базе данных"; -$lang['isntwidbtype'] = "Тип Базы Данных:"; -$lang['isntwidbtypedesc'] = "Тип Базы Данных

    У вас должен быть установлен PDO Драйвер.
    Для получения дополнительной информации см. http://ts-n.net/ranksystem.php"; -$lang['isntwidbusr'] = "Пользователь Базы Данных:"; -$lang['isntwidbusrdesc'] = "Пользователь с доступом к Базе Данных"; -$lang['isntwidel'] = "Пожалуйста удалите файл 'install.php' и файлы 'update_x-xx.php' с вашего Веб-Сервера и откройте %s для настройки Ранг Системы!"; +$lang['isntwidbtype'] = "Тип базы данных:"; +$lang['isntwidbtypedesc'] = "Тип базы данных

    Для корректной работы у вас должен быть установлен PDO-Драйвер.
    Для получения дополнительной информации см. http://ts-n.net/ranksystem.php"; +$lang['isntwidbusr'] = "Пользователь:"; +$lang['isntwidbusrdesc'] = "Пользователь с доступом к базе данных"; +$lang['isntwidel'] = "Пожалуйста, удалите файл 'install.php' Веб-Сервера в целях безопасности! После откройте %s для настройки Системы рангов(RankSystem)!"; $lang['isntwiusr'] = "Пользователь Веб-Панели успешно создан."; -$lang['isntwiusrcr'] = "создание доступа"; +$lang['isntwiusrcr'] = "Создать создать аккаунт Администратора"; $lang['isntwiusrdesc'] = "Введите имя пользователя и пароль для доступа в Веб-Панель. С помощью Веб-Панели вы сможете настроить ранг систему."; $lang['isntwiusrh'] = "Доступ - Веб-Панель"; -$lang['listacsg'] = "ток сервер группа"; +$lang['listacsg'] = "Текущая сервер группа"; $lang['listcldbid'] = "ID клиента в базе данных"; -$lang['listexgrp'] = "Не учитывается Ранг Системой (исключения по сервергруппам)."; -$lang['listexuid'] = "Не учитывается Ранг Системой (исключения по клиентам)."; -$lang['listip'] = "IP адрес"; -$lang['listnick'] = "Ник"; -$lang['listnxsg'] = "Следующая сервер группа"; +$lang['listexgrp'] = "Не учитывается Ранг Системой (исключение по группам сервера)."; +$lang['listexuid'] = "Не учитывается Ранг Системой (исключение по клиентам)."; +$lang['listip'] = "IP-адрес"; +$lang['listnick'] = "Никнейм"; +$lang['listnxsg'] = "Следующая группа ранга"; $lang['listnxup'] = "Следующий Ранг через"; -$lang['listrank'] = "П\Н"; -$lang['listseen'] = "последняя активность"; +$lang['listrank'] = "Ранг"; +$lang['listseen'] = "Последняя активность"; $lang['listsuma'] = "Сумм. время активности"; $lang['listsumi'] = "Сумм. время простоя"; $lang['listsumo'] = "Сумм. время подключения"; -$lang['listtime'] = "%s день(й), %s час(ов), %s мин., %s сек."; -$lang['listuid'] = "Уникальный ID клиента"; -$lang['new'] = "новый"; -$lang['nocount'] = "Пользователь %s (Уникальный Клиент ID: %s; Клиент ID %s) это query-пользователь (постоянно первое подключение) -> не будет учитываться!"; +$lang['listuid'] = "Уникальный ID клиента(UID)"; +$lang['login'] = "Авторизоваться"; +$lang['nocount'] = "Пользователь %s (Уникальный Клиент ID: %s; Клиент ID %s) является query-пользователем -> не будет учитываться!"; $lang['noentry'] = "Записей не найдено.."; -$lang['pass'] = "Пароль: "; -$lang['queryname'] = "Первый Botname уже используется. Попробуйте вторым Botname..."; +$lang['pass'] = "Пароль"; +$lang['queryname'] = "Первый никнейм для бота уже занят другим пользователем. Пробуем использовать второй никнейм..."; $lang['sccrmcld'] = "Пользователь с уникальным ID %s успешно удален из базы данных Ранг Системы."; $lang['sccupcount'] = "Пользователь с уникальным ID %s успешно переписан с итоговым временем онлайн %s."; -$lang['setontime'] = "сумм. время подключения"; -$lang['setontimedesc'] = "Укажите новое суммарное время подключения для выбранных клиентов. С этим изминением пользователь получит указанное время подключения.

    Указанное время подключения будет учтено Ранг Системой."; +$lang['setontime'] = "Правка накопленного времени"; +$lang['setontimedesc'] = "Укажите новое время в секундах, которое нужно задать выбранным клиентам.

    Указанное время подключения будет учтено Ранг Системой и пользователь будет награжден новым Рангом, если он достиг его."; $lang['sgrpadd'] = "Выдана сервер группа %s пользователю %s (Уникальный ID клиента: %s; ID в базе данных: %s)."; -$lang['sgrprerr'] = "Что то пошло не так, проблема с сервер группой пользователя %s (Уникальный ID клиента:: %s; ID в базе данных %s)!"; +$lang['sgrprerr'] = "Что-то пошло не так, проблема с сервер группой пользователя %s (Уникальный ID клиента:: %s; ID в базе данных %s)!"; $lang['sgrprm'] = "С пользователя %s (Уникальный ID клиента: %s; ID в базе данных: %s) удалена сервер-группа %s."; -$lang['sitegen'] = "Страница генерирована за %s секунд. %s пользователей."; -$lang['sitegenl'] = "Страница генерирована за %s секунд с %s пользователями ( %s пользователей показанно; %s игнорируются по правилам исключения; %s высокого ранга)."; -$lang['stix0001'] = "Server Statistics"; -$lang['stix0002'] = "Total Users"; -$lang['stix0003'] = "View Details"; -$lang['stix0004'] = "Online Time Of All User / Total"; -$lang['stix0005'] = "View Top Of All Time"; -$lang['stix0006'] = "View Top Of The Month"; -$lang['stix0007'] = "View Top Of The Week"; -$lang['stix0008'] = "Server Usage"; -$lang['stix0009'] = "In The Last 7 Days"; -$lang['stix0010'] = "In The Last 30 Days"; -$lang['stix0011'] = "In The Last 24 Hours"; -$lang['stix0012'] = "select period"; -$lang['stix0013'] = "Last Day"; -$lang['stix0014'] = "Last Week"; -$lang['stix0015'] = "Last Month"; -$lang['stix0016'] = "Active / Inactive Time (Of All Clients)"; -$lang['stix0017'] = "Versions (Of All Clients)"; -$lang['stix0018'] = "Nationalities (Of All Clients)"; -$lang['stix0019'] = "Platforms (Of All Clients)"; -$lang['stix0020'] = "Current Statistics"; -$lang['stix0021'] = "Requested Information"; -$lang['stix0022'] = "Result"; -$lang['stix0023'] = "Server Status"; -$lang['stix0024'] = "Online"; -$lang['stix0025'] = "Offline"; -$lang['stix0026'] = "Clients (Online / Max)"; -$lang['stix0027'] = "Amount Of Channels"; -$lang['stix0028'] = "Average Server Ping"; -$lang['stix0029'] = "Total Bytes Received"; -$lang['stix0030'] = "Total Bytes Sent"; -$lang['stix0031'] = "Server Uptime"; -$lang['stix0032'] = "before offline:"; -$lang['stix0033'] = "00 Days, 00 Hours, 00 Mins, 00 Secs"; -$lang['stix0034'] = "Average Packet Loss"; -$lang['stix0035'] = "Overall Statistics"; -$lang['stix0036'] = "Server Name"; -$lang['stix0037'] = "Server Address (Host Address : Port)"; -$lang['stix0038'] = "Server Password"; -$lang['stix0039'] = "No (Server is Public)"; -$lang['stix0040'] = "Yes (Server Is Private)"; -$lang['stix0041'] = "Server ID"; -$lang['stix0042'] = "Server Platform"; -$lang['stix0043'] = "Server Version"; -$lang['stix0044'] = "Server Creation Date (dd/mm/yyyy)"; -$lang['stix0045'] = "Report To Server List"; -$lang['stix0046'] = "Activated"; -$lang['stix0047'] = "Not Activated"; -$lang['stix0048'] = "not enough data yet..."; -$lang['stix0049'] = "Online Time Of All User / Last Month"; -$lang['stix0050'] = "Online Time Of All User / Last Week"; -$lang['stix0051'] = "TeamSpeak has failed, so no creation date..."; -$lang['stmy0001'] = "My Statistics"; -$lang['stmy0002'] = "Rank"; -$lang['stmy0003'] = "Database ID:"; -$lang['stmy0004'] = "Unique ID:"; -$lang['stmy0005'] = "Total Connections To The Server:"; -$lang['stmy0006'] = "Start Date For Statistics:"; -$lang['stmy0007'] = "Total Online Time:"; -$lang['stmy0008'] = "Online Time Last 7 Days:"; -$lang['stmy0009'] = "Online Time Last 30 Days:"; -$lang['stmy0010'] = "Achievements Completed:"; -$lang['stmy0011'] = "Time Achievement Progress"; -$lang['stmy0012'] = "Time: Legendary"; -$lang['stmy0013'] = "Because You Have A Online Time Of %s hours."; -$lang['stmy0014'] = "Progress Completed"; -$lang['stmy0015'] = "Time: Gold"; -$lang['stmy0016'] = "% Completed For Legendary"; -$lang['stmy0017'] = "Time: Silver"; -$lang['stmy0018'] = "% Completed For Gold"; -$lang['stmy0019'] = "Time: Bronze"; -$lang['stmy0020'] = "% Completed For Silver"; -$lang['stmy0021'] = "Time: Unranked"; -$lang['stmy0022'] = "% Completed For Bronze"; -$lang['stmy0023'] = "Connection Achievement Progress"; -$lang['stmy0024'] = "Connects: Legendary"; -$lang['stmy0025'] = "Because You Connected %s Times To The Server."; -$lang['stmy0026'] = "Connects: Gold"; -$lang['stmy0027'] = "Connects: Silver"; -$lang['stmy0028'] = "Connects: Bronze"; -$lang['stmy0029'] = "Connects: Unranked"; -$lang['stmy0030'] = "Progress next servergroup"; -$lang['stnv0001'] = "Server News"; -$lang['stnv0002'] = "Close"; -$lang['stnv0003'] = "Refresh Client Information"; -$lang['stnv0004'] = "Only use this Refresh, when your TS3 information got changed, such as your TS3 username"; -$lang['stnv0005'] = "It only works, when you are connected to the TS3 Server at the same time"; -$lang['stnv0006'] = "Refresh"; -$lang['stnv0007'] = "Battle Area - Page Content"; -$lang['stnv0008'] = "You can challenge other users in a battle between two users or two teams."; -$lang['stnv0009'] = "While the battle is active the online time of the teams/users will be counted."; -$lang['stnv0010'] = "When the battle ends the team/user with the highest online time wins."; -$lang['stnv0011'] = "(The regular battling time is 48 hours)"; -$lang['stnv0012'] = "The winning team/user will recieve a price, which the user can use whenever the user wants."; -$lang['stnv0013'] = "It will be displayed on the My Statistics tab."; -$lang['stnv0014'] = "(Could be online time boost(2x) for 8 hours, instant online time (4 hours), etc."; -$lang['stnv0015'] = "These boosts can be used for example to climb in the top users of the week."; -$lang['stnv0016'] = "Not available"; -$lang['stnv0017'] = "You are not connected to the TS3 Server, so it cant display any data for you."; -$lang['stnv0018'] = "Please connect to the TS3 Server and then Refresh your Session by pressing the blue Refresh Button at the top-right corner."; -$lang['stnv0019'] = "My Statistics - Page Content"; -$lang['stnv0020'] = "This page contains a overall summary of your personal statistics and activity on the server."; -$lang['stnv0021'] = "The informations are collected since the beginning of the Ranksystem, they are not since the beginning of the TeamSpeak server."; -$lang['stnv0022'] = "This page receives its values out of a database. So the values might be delayed a bit."; -$lang['stnv0023'] = "The sum inside of the donut charts may differ to the amount of 'Total user'. The reason is that this data weren't collected with older versions of the Ranksystem."; -$lang['stnv0024'] = "Ranksystem - Statistics"; -$lang['stnv0025'] = "Limit entries"; -$lang['stnv0026'] = "all"; -$lang['stnv0027'] = "The Informations on this site could be outdated! It seems the Ranksystem is no more connected to the TeamSpeak."; -$lang['stnv0028'] = "(You are not connected to the TS3!)"; -$lang['stnv0029'] = "List Rankup"; -$lang['stnv0030'] = "Ranksystem Info"; -$lang['stnv0031'] = "DE - Deutsch"; -$lang['stnv0032'] = "EN - english"; -$lang['stnv0033'] = "RU - русский"; -$lang['stnv0034'] = "IT - italiano"; -$lang['stri0001'] = "Ranksystem Information"; -$lang['stri0002'] = "What Is The Ranksystem?"; -$lang['stri0003'] = "A TS3 Bot, which automatically grant ranks (servergroups) to user on a TeamSpeak 3 Server for online time or online activity. It also gathers informations and statistics about the user and displays the result on this site."; -$lang['stri0004'] = "Who Created The Ranksystem?"; -$lang['stri0005'] = "When Did The Ranksystem Created?"; -$lang['stri0006'] = "First alpha release: 05/10/2014."; -$lang['stri0007'] = "First beta release: 01/02/2015."; -$lang['stri0008'] = "You can see the newest version on the Ranksystem Website."; -$lang['stri0009'] = "How Did The Ranksystem Created?"; -$lang['stri0010'] = "The Ranksystem is coded in"; -$lang['stri0011'] = "It uses also the following libraries:"; -$lang['stri0012'] = "Special Thanks To:"; -$lang['stri0013'] = "sergey - for russian translation"; -$lang['stri0014'] = "Bejamin Frost - for initialisation the bootstrap design"; -$lang['stri0015'] = "ZanK - for italian translation"; -$lang['sttw0001'] = "Top Users"; -$lang['sttw0002'] = "Of The Week"; -$lang['sttw0003'] = "With %s Hours Online Time"; -$lang['sttw0004'] = "Top 10 Compared"; -$lang['sttw0005'] = "Hours (Defines 100 %)"; -$lang['sttw0006'] = "%s Hours (%s%)"; -$lang['sttw0007'] = "Top 10 Statistics"; -$lang['sttw0008'] = "Top 10 Vs Others In Online Time"; -$lang['sttw0009'] = "Top 10 Vs Others In Active Time"; -$lang['sttw0010'] = "Top 10 Vs Others In Inactive Time"; -$lang['sttw0011'] = "Top 10 (in Hours)"; -$lang['sttw0012'] = "Other %s Users (in Hours)"; -$lang['sttw0013'] = "With %s hours active time"; -$lang['sttm0001'] = "Of The Month"; -$lang['stta0001'] = "Of All Time"; -$lang['updb'] = "Запустите это, если вы хотите обновить Ranksystem с более старой версии до версии %s!

    Запустите это один раз после чего удалите update_%s.php файлы с вашего вебсервера.


    Обновление Базы данных:
    "; -$lang['updel'] = "Пожалуйста, удалите следующие файлы из корня ranksystem, если они все еще существуют:
    %s"; +$lang['stix0001'] = "Статистика сервера"; +$lang['stix0002'] = "Пользователей зарегистрировано в базе RankSystem"; +$lang['stix0003'] = "Посмотреть подробнее"; +$lang['stix0004'] = "Общий накопленный онлайн за всё время"; +$lang['stix0005'] = "Топ онлайна за всё время"; +$lang['stix0006'] = "Топ онлайна за месяц"; +$lang['stix0007'] = "Топ онлайна за неделю"; +$lang['stix0008'] = "Активность сервера"; +$lang['stix0009'] = "За последние 7 дней"; +$lang['stix0010'] = "За последние 30 дней"; +$lang['stix0011'] = "За последние 24 часа"; +$lang['stix0012'] = "Выберите период"; +$lang['stix0013'] = "За день"; +$lang['stix0014'] = "За неделю"; +$lang['stix0015'] = "За месяц"; +$lang['stix0016'] = "Соотнош. активн./AFK"; +$lang['stix0017'] = "Версии клиентов"; +$lang['stix0018'] = "Рейтинг стран"; +$lang['stix0019'] = "Популярные платформы"; +$lang['stix0020'] = "Текущая статистика"; +$lang['stix0023'] = "Статус сервера"; +$lang['stix0024'] = "Активен"; +$lang['stix0025'] = "Неактивен"; +$lang['stix0026'] = "Пользователей (В сети / Вмещается)"; +$lang['stix0027'] = "Количество каналов"; +$lang['stix0028'] = "Средний пинг на сервере"; +$lang['stix0029'] =" Всего байтов получено"; +$lang['stix0030'] = "Всего байтов отправлено"; +$lang['stix0031'] = "Сервер онлайн"; +$lang['stix0032'] = "Находится в оффлайне:"; +$lang['stix0033'] = "00 Дней, 00 Часов, 00 Мин., 00 Сек."; +$lang['stix0034'] = "Средняя потеря пакетов"; +$lang['stix0035'] = "Информация о сервере"; +$lang['stix0036'] = "Название сервера"; +$lang['stix0037'] = "Адрес сервера (IP : Порт)"; +$lang['stix0038'] = "Защищен паролем"; +$lang['stix0039'] = "Нет (Публичный сервер)"; +$lang['stix0040'] = "Да (Приватный сервер)"; +$lang['stix0041'] = "ID сервера"; +$lang['stix0042'] = "Серверная платформа"; +$lang['stix0043'] = "Версия сервера"; +$lang['stix0044'] = "Дата создания (dd/mm/yyyy)"; +$lang['stix0045'] = "Видимость в глобал. списке"; +$lang['stix0046'] = "Отображается"; +$lang['stix0047'] = "Не отображается"; +$lang['stix0048'] = "Нет информации..."; +$lang['stix0049'] = "Общий накопленный онлайн за месяц"; +$lang['stix0050'] = "Общий накопленный онлайн за неделю"; +$lang['stix0051'] = "Ошибка при получении даты"; +$lang['stmy0001'] = "Моя статистика"; +$lang['stmy0002'] = "Ранг"; +$lang['stmy0003'] = "ID в базе данных:"; +$lang['stmy0004'] = "Уникальный ID(UID):"; +$lang['stmy0005'] = "Всего подключений к серверу:"; +$lang['stmy0006'] = "Занесён в базу статистики"; +$lang['stmy0007'] = "Проведенное время на сервере:"; +$lang['stmy0008'] = "Онлайн за 7 дней:"; +$lang['stmy0009'] = "Онлайн за 30 дней:"; +$lang['stmy0010'] = "Получено достижений:"; +$lang['stmy0011'] = "Достижение за онлайн на сервере"; +$lang['stmy0012'] = "Уровень: Легенда"; +$lang['stmy0013'] = "Вы провели в онлайне на сервере %s часа(ов)."; +$lang['stmy0014'] = "Полностью выполнена вся цепочка"; +$lang['stmy0015'] = "Уровень: Золото"; +$lang['stmy0016'] = "% завершено до получения уровня \"Легенда\""; +$lang['stmy0017'] = "Уровень: Серебро"; +$lang['stmy0018'] = "% завершено до получения уровня \"Золото\""; +$lang['stmy0019'] = "Уровень: Бронза"; +$lang['stmy0020'] = "% завершено до получения уровня \"Серебро\""; +$lang['stmy0021'] = "Уровень: Без достижений"; +$lang['stmy0022'] = "% завершено до получения уровня \"Бронза\""; +$lang['stmy0023'] = "Достижение за количество подключений"; +$lang['stmy0024'] = "Уровень: Легенда"; +$lang['stmy0025'] = "Всего ваших подключений к серверу: %s раз."; +$lang['stmy0026'] = "Уровень: Золото"; +$lang['stmy0027'] = "Уровень: Серебро"; +$lang['stmy0028'] = "Уровень: Бронза"; +$lang['stmy0029'] = "Уровень: Без достижений"; +$lang['stmy0030'] = "Прогресс до следующего ранга на сервере"; +$lang['stnv0001'] = "Наши новости"; +$lang['stnv0002'] = "Закрыть"; +$lang['stnv0003'] = "Обновление информации о клиенте"; +$lang['stnv0004'] = "Используйте это, если хотите чтобы обновилась информация о вас. К примеру, вы зашли под другим аккаунтом на сервер TeamSpeak и хотите увидеть его статистику."; +$lang['stnv0005'] = "Это работает только если вы подключены к серверу TeamSpeak в данный момент."; +$lang['stnv0006'] = "Обновить"; +$lang['stnv0007'] = "Battle area - Содержимое"; +$lang['stnv0008'] = "Вы можете создать состязание между двумя пользователями или командами."; +$lang['stnv0009'] = "Во время \"Битвы\" подсчитывается время, проведенное на сервере у обеих команд или игроков."; +$lang['stnv0010'] = "Для победы необходимо набрать больше времени в онлайне, чем команда противника."; +$lang['stnv0011'] = "(Продолжительность \"Битвы\" - 48 часов)"; +$lang['stnv0012'] = "Команда победителей получает приз, который пользователь может затем использовать."; +$lang['stnv0013'] = "Полученный приз будет отображаться в вкладкеМоя статистика."; +$lang['stnv0014'] = "(Это может быть множитель времени(2x) на 8 часов или же бонус, в виде прибавки к основному времени (4 часа), и т.д."; +$lang['stnv0015'] = "Также, \"множители времени\" можно использовать для поднятия себя в рейтинге пользователей за неделю/месяц"; +$lang['stnv0016'] = "Недоступно"; +$lang['stnv0017'] = "Для доступа к этим данным необходимо, чтобы вы подключились к серверу TeamSpeak"; +$lang['stnv0018'] = "Пожалуйста, подключитесь к TeamSpeak серверу и обновите вашу сессию, путём нажатия синей кнопки в верхнем правом углу браузера."; +$lang['stnv0019'] = "Статистика сервера - содержимое"; +$lang['stnv0020'] = "Эта страница содержит информацию о вашей статистике и активности на сервере."; +$lang['stnv0021'] = "Большинство этой информации было собрано с момента начального старта системы RankSystem, никак не с момента первого запуска TeamSpeak сервера."; +$lang['stnv0022'] = "Данная информация получена из базы данных RankSystem и может отличаться от той, которая хранится в базе данных TeamSpeak."; +$lang['stnv0023'] = "К тому же, информация внутри диаграмм может расходиться с реальными цифрами из базы данных TeamSpeak 3. Это связано с тем, что старые версии RankSystem не собирали часть той информации, которая используется сейчас."; +$lang['stnv0024'] = "RankSystem — статистика TeamSpeak 3 сервера"; +$lang['stnv0025'] = "Ограничение списка"; +$lang['stnv0026'] = "Все"; +$lang['stnv0027'] = "Информация на сайте может быть устаревшей! Кажется,\"система рангов\" больше не подключена к TeamSpeak 3 серверу. Потеряно соединение?"; +$lang['stnv0028'] = "(Вы не подключены к TS3!)"; +$lang['stnv0029'] = "Общая статистика"; +$lang['stnv0030'] = "О RankSystem"; +$lang['stnv0031'] = "Поиск также поддерживает шаблоны: никнейм пользователя, уникальный ID(UID) и ID клиента в базе данных."; +$lang['stnv0032'] = "Вы также можете использовать фильтр запроса (смотрите ниже). Для этого введите его в поисковое поле."; +$lang['stnv0033'] = "Также допустимы комбинации шаблонов и фильтров. Для этого введите первым фильтр, за ним без пробелов шаблон."; +$lang['stnv0034'] = "Это позволяет комбинировать множество фильтров, вводить которые необходимо последовательно."; +$lang['stnv0035'] = "Пример:
    filter:nonexcepted:TeamSpeakUser"; +$lang['stnv0036'] = "Показывать только клиентов находящихся в исключении (клиентов, групп сервера или исключение канала)."; +$lang['stnv0037'] = "Показывать только клиентов не находящихся в исключении клиентов"; +$lang['stnv0038'] = "Показывать только клиентов находящихся в онлайне"; +$lang['stnv0039'] = "Показывать только клиентов не находящихся в онлайне"; +$lang['stnv0040'] = "Показывать только клиентов в указанных группах, она же - выборка юзеров по рангам
    Замените GROUPID на желаемые ID группы ранга."; +$lang['stnv0041'] = "Показать клиентов, удовлетворяющих поисковому запросу по дате последнего посещения сервера.
    Замените OPERATOR на '<' или '>' или '=' или '!='.
    Также замените TIME на желаемую дату поиска в формате 'Y-m-d H-i'(год-месяц-день час-минута) (пример: 2016-06-18 20-25).
    Более подробный пример запроса: filter:lastseen:<:2016-06-18 20-25:"; +$lang['stnv0042'] = "Показывать только клиентов из указанной страны.
    Замените TS3-COUNTRY-CODE на желаемый код страны.
    Коды стран вы можете взять Здесь(Википедия)"; +$lang['stri0001'] = "Информация о системе рангов"; +$lang['stri0002'] = "Что такое TSN Ranksystem?"; +$lang['stri0003'] = "Удобная система, позволяющая создать на сервере TeamSpeak 3 систему рангов-поощрений, основанную на времени, которое пользователи проводят на сервере. Ко всему прочему, она также занимается сбором информации о пользователях и последующим её отображением на сайте."; +$lang['stri0004'] = "Кто является её разработчиком?"; +$lang['stri0005'] = "Когда была создана TSN Ranksystem?"; +$lang['stri0006'] = "Альфа-релиз: 05/10/2014."; +$lang['stri0007'] = "Бета-релиз: 01/02/2015."; +$lang['stri0008'] = "Вы можете найти новую версию на сайте: Ranksystem Website."; +$lang['stri0009'] = "Как создавалась TSN Ranksystem?"; +$lang['stri0010'] = "\"Система рангов\" разрабатывалась на языке"; +$lang['stri0011'] = "При создании использовался следующий набор инструментов:"; +$lang['stri0012'] = "Особая благодарность:"; +$lang['stri0013'] = "sergey, Arselopster & DeviantUser - За русскоязычный перевод текста."; +$lang['stri0014'] = "Bejamin Frost - За помощь в создании дизайна сайта с помощью Bootstrap."; +$lang['stri0015'] = "ZanK - За перевод интерфейса на итальянский."; +$lang['stri0016'] = "DeStRoYzR & Jehad - для инициирования перевода на арабский язык"; +$lang['stri0017'] = "SakaLuX - для инициирования перевода румынский"; +$lang['sttw0001'] = "Рейтинг пользователей"; +$lang['sttw0002'] = "Лучшие за неделю"; +$lang['sttw0003'] = "Набрал %s часов онлайна"; +$lang['sttw0004'] = "Топ-10 в графике(Разрыв между участниками)"; +$lang['sttw0005'] = "Часов (Представляет собой 100 %)"; +$lang['sttw0006'] = "%s часов (%s%)"; +$lang['sttw0007'] = "Участники топ-10 в сравнении"; +$lang['sttw0008'] = "Топ-10 Vs остальные по времени онлайн"; +$lang['sttw0009'] = "Топ-10 Vs остальные по активности"; +$lang['sttw0010'] = "Tоп-10 Vs остальные по времени оффлайн"; +$lang['sttw0011'] = "Топ-10 в графике"; +$lang['sttw0012'] = "Остальные %s клиенты (в часах)"; +$lang['sttw0013'] = "С %s Часами аквтиности"; +$lang['sttm0001'] = "Лучшие за месяц"; +$lang['stta0001'] = "Лучшие за все время"; $lang['upinf'] = "Доступна новая версия Ранг Системы; Сообщаю Клиентам на Сервере..."; -$lang['upmov'] = "Пожалуйста, переместите \'%s\' в подпапку \'%s\' и перепишите существующий!"; -$lang['upmsg'] = "\nЭй, доступна новая версия [B]Ранг Системы[/B]!\n\nтекущая версия: %s\n[B]новая версия: %s[/B]\n\nПожалуйста посетите наш сайт [URL]http://ts-n.net/ranksystem.php[/URL] для получения более подробной информации."; +$lang['upmsg'] = "\nЭй, доступна новая версия [B]Ранг Системы[/B]!\n\nТекущая версия: %s\n[B]новая версия: %s[/B]\n\nПожалуйста, посетите наш сайт [URL]http://ts-n.net/ranksystem.php[/URL] для получения более подробной информации."; $lang['upsucc'] = "Обновление базы данных успешно выполнено."; -$lang['upuser'] = "Пользователь %s (Уникальный ID клиента: %s; ID в базе данных: %s) получает новое количество (сумм. время подключения) из %s (thereof active %s)."; -$lang['upuserboost'] = "Пользователь %s (Уникальный ID клиента: %s; ID в базе данных: %s) получает новое количество (сумм. время подключения) из %s (thereof active %s) [BOOST %sx]."; +$lang['upuser'] = "Пользователь %s (Никнейм: %s; UID в базе данных: %s) получает новое количество (сумм. время подключения) из %s (активное время онлайна %s)."; +$lang['upuserboost'] = "Пользователь %s (Никнейм: %s; UID в базе данных: %s) получает новое количество (сумм. время подключения) из %s (активное время онлайна %s) [BOOST %sx]."; $lang['upusrerr'] = "Пользователь с уникальным ID %s не был найден (не правильно указан Уникальный ID или пользователь в настоящий момент не подключен к серверу Teamspeak)!"; $lang['upusrinf'] = "Пользователь %s был успешно информирован."; -$lang['user'] = "Логин: "; -$lang['usermsgactive'] = "\nЭй, вы получили новый Ранг, так как были активны в течении %s дней, %s часов, %s минут и %s секунд."; -$lang['usermsgonline'] = "\nЭй, вы получили новый Ранг, так как были онлайн в течении %s дней, %s часов, %s минут и %s секунд."; -$lang['wiaction'] = "выполнить"; -$lang['wibgco'] = "Цвет фона:"; -$lang['wibgcodesc'] = "Укажите код цвета фона.
    (только HTML код; должно начинаться с # )"; -$lang['wiboost'] = "повышение"; -$lang['wiboostdesc'] = "Give an user on your TeamSpeak server a servergroup (have to be created manually), which you can declare here as boost group. Define also a factor which should be used (for example 2x) and a time, how long the boost should be rated.
    The higher the factor, the faster an user reaches the next higher rank.
    Is the time expired, the boost servergroup get automatically removed from the concerned user. The time starts running as soon as the user gets the servergroup.

    servergroup ID => factor => time (in seconds)

    Each entry have to separate from next with a comma.

    Example:
    12=>2=>6000,13=>3=>2500,14=>5=>600

    On this an user in servergroup 12 get the factor 2 for the next 6000 seconds, an user in servergroup 13 get the factor 3 for 2500 seconds, and so on..."; +$lang['user'] = "Логин"; +$lang['wiaction'] = "Выполнить"; +$lang['wiboost'] = "Бустер онлайна"; +$lang['wiboostdesc'] = "Вы можете указать здесь ID групп сервера(Их необходимо создать на TeamSpeak сервере заранее), выступающие в роли множителя накапливаемого времени, которое получает пользователь за онлайн на сервере. Также вы должны указать на сколько должно умножаться время и период действия группы-множителя. Чем больше множитель времени, тем быстрее пользователь достигнет следующий ранг. По окончанию действия множителя, группа-множитель автоматически снимается с пользователя. Пример указания группы-множителя следующий: ID группы => множитель => время(В секундах). Если вы хотите сделать две такие группы, то просто разделите их между собой запятой.

    Пример:
    12=>2=>6000,13=>3=>2500,14=>5=>600

    Из примера выше следует, что группа с ID 12 дает множитель времени х2 на 6000 секунд, а группа 13 имеет множитель х3 на 2500 секунд. 14 группа соответственно, имеет множитель х5 на 600 секунд."; +$lang['wibot1'] = "RankSystem был выключен. Более подробную информацию смотрите в логе ниже!"; +$lang['wibot2'] = "RankSystem запущен. Более подробную информацию смотрите в логе ниже!"; +$lang['wibot3'] = "RankSystem перезагружается. Более подробную информацию смотрите в логе ниже!"; +$lang['wibot4'] = "Включить / Выключить бота RankSystem"; +$lang['wibot5'] = "Запустить"; +$lang['wibot6'] = "Остановить"; +$lang['wibot7'] = "Перезапуститб"; +$lang['wibot8'] = "Лог RankSystem:"; +$lang['wibot9'] = "Заполните все обязательные поля перед запуском RankSystem!!"; $lang['wichdbid'] = "Client-database-ID reset"; -$lang['wichdbiddesc'] = "Сбрасывает время онлайн пользователя, если его ID в базы данных клиента TeamSpeak изменился.

    Пример:
    Если пользователь удален из БД сервера TeamSpeak, то, новый ID базы данных клиента будет записан со следующим подключением к серверу."; -$lang['wiconferr'] = "Есть ошибка в конфигурации Ranksystem. Пожалуйста, зайдите в Веб Панель и проверте настройки раздела 'Настройка Ранг Системы'. Особенно проверьте 'Ранги'!"; +$lang['wichdbiddesc'] = "Сбрасывает время онлайн пользователя, если его ID в базе данных клиента TeamSpeak изменился.

    Пример:
    Если пользователь удален из БД сервера TeamSpeak, то, новый ID в базе данных клиента будет записан со следующим подключением к серверу."; +$lang['wiconferr'] = "Есть ошибка в конфигурации Ranksystem. Пожалуйста, зайдите в Веб-Панель и проверьте настройки раздела 'Настройка Ранг Системы'. Особенно тщательно проверьте 'Ранги'!"; $lang['widaform'] = "Формат даты"; $lang['widaformdesc'] = "Выберите формат показа даты.

    Пример:
    %a дней, %h часов, %i минут, %s секунд"; $lang['widbcfgsuc'] = "Настройки Базы Данных успешно сохранены."; -$lang['widbcfgerr'] = "Ошибка сохранения настроек базы данных! Ошибка подключения, проверте на правильность настроек 'other/dbconfig.php'"; +$lang['widbcfgerr'] = "Ошибка сохранения настроек в базе данных! Ошибка подключения, проверьте на правильность настройки 'other/dbconfig.php'"; $lang['widelcld'] = "удаление пользователей"; -$lang['widelcldgrp'] = "renew groups"; -$lang['widelcldgrpdesc'] = "The Ranksystem remember the given servergroups, so it don't need to give/check this with every run of the worker.php again.

    With this function you can remove once time the knowledge of given servergroups. In effect the ranksystem try to give all clients (which are on the TS3 server online) the servergroup of the actual rank.
    For each client, which gets the group or stay in group, the Ranksystem remember this like described at beginning.

    This function can be helpful, when user are not in the servergroup, they should be for the defined online time.

    Attention: Run this in a moment, where the next few minutes no rankups become due!!! The Ranksystem can't remove the old group, cause he can't remember ;-)"; -$lang['widelclddesc'] = "Удаление выбранных клиентов из базы данных Ранг-Системы.

    Клиент непосредственно на сервере Teamspeak не будет удален."; -$lang['widelsg'] = "удаление из сервер групп"; -$lang['widelsgdesc'] = "Выберите, если клиенты должны также быть удалены из последней известной Сервер-группы, когда Вы удаляете клиентов из базы данных Ранг Системы.

    Будет затронуты только те сервер группы, которые указанны в настройках Ранг Системы"; +$lang['widelcldgrp'] = "Обновить группы"; +$lang['widelcldgrpdesc'] = "RankSystem хранит текущие группы рангов пользователей в своей базе данных и после того, как вы отредактируете этих пользователей, то пройдет некоторое время, прежде чем бот уберёт затронутых пользователей из их прежних групп ранга.
    Однако, этой функцией вы можете принудительно запустить процесс обновления групп ранга у всех пользователей, которые в данный момент подключены к серверу."; +$lang['widelclddesc'] = "Удаление выбранных клиентов из базы данных RankSystem.

    Клиент непосредственно на сервере Teamspeak не будет удален."; +$lang['widelsg'] = "Удалить их также из групп сервера"; +$lang['widelsgdesc'] = "Выберите, если клиенты должны также быть удалены из последней заработанной ими группы-ранга."; $lang['wideltime'] = "Время удаления"; -$lang['wideltimedesc'] = "Отчистка базы данных Ранг Системы от старых клиентов.
    Entry a time in seconds which a client was not seen to delete it.

    0 - deletes all clients out of the Ranksystem

    При этом база данных пользователей на сервере TeamSpeak затронута не будет!"; +$lang['wideltimedesc'] = "Очистка базы данных Ранг Системы от старых клиентов.
    Введите время в секундах, достигнув которого, пользователь не будет удален из БД RankSystem.

    0 - Удаление всех пользователей из БД RankSystem

    При этом база данных пользователей на сервере TeamSpeak затронута не будет!"; +$lang['wiexcid'] = "Исключения каналов"; +$lang['wiexciddesc'] = "Через запятую должен будет указан список каналов, которые должна будет игнорировать система рангов

    Находясь в этих каналах, пользователям не будет начислять время за онлайн на сервере.

    Данную функция можно использовать к примеру, для AFK каналов.
    При режиме 'активное время', эта функция становится бесполезной, т.к. в канале юзеру перестает вовсе начисляться время бездействия

    Пользователи находящиеся в таких каналах, помечаются на этот период как 'исключение из списков RankSystem'. К тому же, данные пользователи перестают отображаться в 'stats/list_rankup.php' и становятся доступны только с фильтром поиска или с включенным отображением \"исключенных клиентов\"(Страница статистики - \"исключенный клиент\")."; $lang['wiexgrp'] = "Исключения сервер групп"; -$lang['wiexgrpdesc'] = "Укажите через запятую какие сервер группы будут игнорироваться Ранг Системой.
    Если пользователь находится хоты бы в одной из этих групп то Ранг Система будет игнорировать его."; -$lang['wiexuid'] = "Исключения CID"; -$lang['wiexuiddesc'] = "Укажите через запятую уникальные идентификаторы клиентов (Client-IDs), которых будет игнорировать Ранг Система.
    Пользователи в этом списке будет проигнорированы Ранг Системой."; -$lang['wigrptime'] = "Ранги"; -$lang['wigrptimedesc'] = "Укажите через какой промежуток времени будет выданная сервер группа.

    Время (в секундах)=>номер сервер группы SID

    Важным условием для этого, является учет времени онлайн пользователя или если включен учет 'Время простоя'.

    Каждый параметр должен разделяться запятой.

    Так же время должно быть указанно по 'нарастающей'

    Пример:
    60=>9,120=>10,180=>11

    По истечению 60 секунд пользователь получает сервер группу под SID 9, по истечению еще 120 секунд пользователь получает сервер группу SID 10, и так далее..."; -$lang['wihdco'] = "Цвет заголовка:"; -$lang['wihdcodesc'] = "Укажите код цвета заголовка.
    (только HTML код; должно начинаться с # )"; -$lang['wihl'] = "Веб Панель - Система Рангов"; -$lang['wihladm'] = "Лист Администратора"; -$lang['wihlcfg'] = "Настройка Ранг Системы"; -$lang['wihlclg'] = "Редактирование клиентов (глобальное)"; -$lang['wihlcls'] = "Редактирование клиентов (выборочное)"; +$lang['wiexgrpdesc'] = "Укажите через запятую ID групп сервера, которые будут игнорироваться Ранг Системой.
    Если пользователь находится хоты бы в одной из этих групп, то Ранг Система будет игнорировать его.(Также не будет начислять онлайн)"; +$lang['wiexuid'] = "Исключение для пользователей"; +$lang['wiexuiddesc'] = "Укажите через запятую уникальные идентификаторы клиентов (UID), которых будет игнорировать Ранг Система(RankSystem) и им не будет засчитываться время, проведенное на сервере.
    "; +$lang['wigrptime'] = "Настройка рангов"; +$lang['wigrptimedesc'] = "Укажите через какой промежуток времени, будут выдаваться группы сервера.

    Время (в секундах)=>номер группы сервера(ServerGroupID)

    К тому же, от выбранного режима будет зависеть.

    Каждый параметр должен разделяться запятой.

    Так же время должно быть указано по 'нарастающей'

    Пример:
    60=>9,120=>10,180=>11

    По истечению 60 секунд пользователь получает сервер группу под SGID 9, по истечению еще 120 секунд пользователь получает сервер группу SGID 10, и так далее..."; +$lang['wihladm'] = "Список пользователей (Admin-Mode)"; +$lang['wihlcfg'] = "Настройка RankSystem"; $lang['wihldb'] = "Настройки Базы Данных"; -$lang['wihlsty'] = "Настройки стиля"; -$lang['wihlts'] = "Настройка поключения к TeamSpeak"; -$lang['wihvco'] = "Цвет Hover:"; -$lang['wihvcodesc'] = "Укажите код цвета hover.
    (только HTML код; должно начинаться с # )"; -$lang['wiifco'] = "Цвет Текста оповещения:"; -$lang['wiifcodesc'] = "Укажите код цвета Текста оповещения.
    (только HTML код; должно начинаться с # )"; +$lang['wihlmsg'] = "Настройка оповещения"; +$lang['wihlsty'] = "Отображение пользователей на странице статистики"; +$lang['wihlts'] = "Настройка подключения к TeamSpeak"; +$lang['wihlvs'] = "Прочие настройки"; +$lang['wiignidle'] = "Игнорировать время бездействия"; +$lang['wiignidledesc'] = "Задать период, в течение которого время бездействия будет игнорироваться.

    Время бездействия - если клиент не выполняет каких-либо действий на сервере (=idle/бездействует), также время учитывается системой рангов. Только когда установленный лимит будет достигнут, система начнет подсчитывать время бездействия.

    Эта функция работает только при включенном режиме 'Подсчитывать активное время'(при высчитывании группы-ранга, когда время бездействия вычитается из \"активного\" времени).

    Использование этой функции оправдано в том случае, если пользователь \"слушает\" говорящих людей и при этом ему зачисляется \"время бездействия\", которое обнуляется при любом его действии.

    0 = отключить данную функцию

    Пример:
    Игнорировать бездействие = 600 (секунд)
    Клиенту 8 минут простоя не будут засчитаны системой рангов и оно будет ему засчитано как \"активное время\". Если пользователь находился 12 минут в бездействии при \"игнорировании бездействия\" в 10 минут, то ему будет зачислены только 2 минуты простоя."; $lang['wilogout'] = "Выход"; -$lang['wilog'] = "Logpath"; -$lang['wilogdesc'] = "Path of the log file of the Ranksystem.

    Example:
    /var/logs/ranksystem/

    Be sure, the webuser has the write-permissions to the logpath."; -$lang['wimsgusr'] = "Уведомление"; -$lang['wimsgusrdesc'] = "Сообщение пользователю о повышение ранга.
    Отредактируйте сообщение в 'lang.php'
    (usermsgonline или usermsgactive)"; -$lang['wiscco'] = "Цвет Successtext:"; -$lang['wisccodesc'] = "Укажите код цвета success-text.
    (только HTML код; должно начинаться с # )"; +$lang['wilog'] = "Папка логирования работы RankSystem"; +$lang['wilogdesc'] = "Расположение логов Ranksystem на диске.

    Пример:
    /var/logs/ranksystem/

    Убедитесь, что веб-пользователь имеет разрешение на редактирование этой папки/файлов(chmod)."; +$lang['wimsgmsg'] = "Оповещение"; +$lang['wimsgmsgdesc'] = "Задать сообщение, которое будет отправлено пользователю, при достижении высшего ранга.

    Данное сообщение отправляется посредством личных сообщений на TeamSpeak 3 сервере. Текст поддерживает использование bb-кодов программы Teamspeak.
    http://ts-n.net/lexicon.php?showid=97#lexindex

    Кроме того, также поддерживаются следующие аргументы в сообщении:
    %1\$s - дни
    %2\$s - часы
    %3\$s - минут
    %4\$s - секунды

    Пример:
    Привет,\\nты достиг высший ранг, за время онлайн на сервере в течение %1\$s дней, %2\$s часов и %3\$s минут на нашем сервере.[B]Продолжай в том же духе![/B] ;-)"; +$lang['wimsgusr'] = "Уведомление при повышении"; +$lang['wimsgusrdesc'] = "Сообщение пользователю о повышение ранга."; +$lang['winav1'] = "TeamSpeak"; +$lang['winav2'] = "База данных"; +$lang['winav3'] = "Система"; +$lang['winav4'] = "Прочее"; +$lang['winav5'] = "Оповещения"; +$lang['winav6'] = "Статистика"; +$lang['winav7'] = "Администрирование"; +$lang['winav8'] = "Запустить / Остановить бота"; +$lang['winav9'] = "Доступно обновление!"; +$lang['winav10'] = "Соединение с данным сайтом не защищено с помощью %s HTTPS%sЭто может повлечь за собой проблемы для вашей приватности и безопасности! %sДля использования HTTPS ваш веб-сервер должен поддерживать SSL-соединение."; $lang['wiselcld'] = "Выбор клиентов"; -$lang['wiselclddesc'] = "Выберите клиентов последним известным именем пользователя. Для этого Вы только должны начать печатать.
    Выбор нескольких пользователей - отделенная запятая, которая ставится системой автоматически.

    With the selection you can choose with the next step an action."; -$lang['wishcolas'] = "ток сервер группа"; -$lang['wishcolasdesc'] = "Показ колонки 'ток сервер группа' в list_rankup.php"; +$lang['wiselclddesc'] = "Выберите клиентов, путём ввода их последнего имени. В процессе ввода вы увидите подсказку
    Для выбора нескольких пользователей нужно поставить запятую, которая поставится автоматически, после завершения ввода первого пользователя

    После завершения ввода пользователей, выберите необходимое для них действие в селекторах ниже."; +$lang['wishcolas'] = "Текущая группа сервера"; +$lang['wishcolasdesc'] = "Показ колонки 'Текущая группа сервера' в stats/list_rankup.php"; $lang['wishcolat'] = "Время активности"; -$lang['wishcolatdesc'] = "Показ колонки 'суммарное время активности' в list_rankup.php"; +$lang['wishcolatdesc'] = "Показ колонки 'Суммарное время активности' в stats/list_rankup.php"; $lang['wishcolcld'] = "Ник клиента"; -$lang['wishcolclddesc'] = "Показ колонки 'Ник клиента' в list_rankup.php"; +$lang['wishcolclddesc'] = "Показ колонки 'Ник клиента' в stats/list_rankup.php"; $lang['wishcoldbid'] = "ID в Базе данных"; -$lang['wishcoldbiddesc'] = "Показ колонки 'ID в Базе данных' в list_rankup.php"; -$lang['wishcolit'] = "Время простоя"; -$lang['wishcolitdesc'] = "Показ колонки 'суммарное время простоя' в list_rankup.php"; +$lang['wishcoldbiddesc'] = "Показ колонки 'ID в Базе данных' в stats/list_rankup.php"; +$lang['wishcolit'] = "Учитывать время простоя"; +$lang['wishcolitdesc'] = "Показ колонки 'суммарное время простоя' в stats/list_rankup.php"; $lang['wishcolls'] = "Последний раз замечен"; -$lang['wishcollsdesc'] = "Показ колонки 'Последний раз замечен' в list_rankup.php"; -$lang['wishcolnx'] = "Следующий Ранг"; -$lang['wishcolnxdesc'] = "Показ колонки 'Следующий Ранг' в list_rankup.php"; +$lang['wishcollsdesc'] = "Показ колонки 'Последний раз замечен' в stats/list_rankup.php"; +$lang['wishcolnx'] = "Время до след. ранга"; +$lang['wishcolnxdesc'] = "Показ колонки 'Следующий Ранг' в stats/list_rankup.php"; $lang['wishcolot'] = "Время подключения"; -$lang['wishcolotdesc'] = "Показ колонки 'суммарное время подключения' в list_rankup.php"; -$lang['wishcolrg'] = "П\Н"; -$lang['wishcolrgdesc'] = "Показ колонки 'Порядковый номер' в list_rankup.php"; +$lang['wishcolotdesc'] = "Показ колонки 'суммарное время подключения' в stats/list_rankup.php"; +$lang['wishcolrg'] = "Ранг"; +$lang['wishcolrgdesc'] = "Показ колонки 'Ранг' в stats/list_rankup.php"; $lang['wishcolsg'] = "Следующая сервер группа"; -$lang['wishcolsgdesc'] = "Показ колонки 'следующая сервер группа' в list_rankup.php"; +$lang['wishcolsgdesc'] = "Показ колонки 'следующая сервер группа' в stats/list_rankup.php"; $lang['wishcoluuid'] = "Client-ID"; -$lang['wishcoluuiddesc'] = "Показ колонки 'уникальный ID клиента' в list_rankup.php"; +$lang['wishcoluuiddesc'] = "Показ колонки 'уникальный ID клиента'(UID) в stats/list_rankup.php"; $lang['wishexcld'] = "Пользователи исключения"; -$lang['wishexclddesc'] = "Показывать пользователий в list_rankup.php,
    которые исключены по параметру uniqueID."; +$lang['wishexclddesc'] = "Показывать пользователей в list_rankup.php,
    которые исключены и не участвуют в системе рангов."; $lang['wishexgrp'] = "Группы исключения"; -$lang['wishexgrpdesc'] = "Показывать пользователий в list_rankup.php, которые находятся в списке 'исключение клиента' и не должы учитываться Системой Рангов."; -$lang['wishgen'] = "Sitegen"; -$lang['wishgendesc'] = "Показывать время генерации списка в конце страницы."; -$lang['wishhicld'] = "Пользователи с высоким рангом"; -$lang['wishhiclddesc'] = "Показывать пользователий в list_rankup.php, который достиг высшего уровня в Ranksystem."; -$lang['wisupidle'] = "Время простоя"; -$lang['wisupidledesc'] = "Если эта функция активна, 'сумм. время простоя' будет основанием от 'сумм. время подключения'. Вместо 'сумм. время подключения', предыдущая вычитание будет рассматриваться на повышение Ранга."; -$lang['wisvconf'] = "сохранить"; +$lang['wishexgrpdesc'] = "Показывать пользователей в list_rankup.php, которые находятся в списке 'исключение клиента' и не должны учитываться RankSystem."; +$lang['wishhicld'] = "Пользователи с высшим рангом"; +$lang['wishhiclddesc'] = "Показывать пользователей в list_rankup.php, который достиг высшего уровня в Ranksystem."; +$lang['wisupidle'] = "Режим"; +$lang['wisupidledesc'] = "Предоставлены два режима, от которых будет высчиваться ранг пользователей. 1) Время подключения(Общее время): Общее время подключения на сервере, складывается из \"Активного времени\" и \"времени бездействия\"(колонка 'Сумм. время подключения' в 'stats/list_rankup.php') 2) Активное время(Время активности): Время, которое пользователь не находился в бездействии. Значение этого времени высчитывается путем вычитания \"времени бездействия из\" из \"Общего времени подключения на сервере\" (Колонка 'Сумм. время активности' в 'stats/list_rankup.php'). Не рекомендуется смена режима при уже отработавшем долгий срок старом, но допустимо."; +$lang['wisvconf'] = "Сохранить"; $lang['wisvsuc'] = "Изменения успешно сохранены!"; -$lang['witime'] = "Timezone"; -$lang['witimedesc'] = "Select the timezone the server is hosted."; -$lang['wits3dch'] = "Default Channel"; -$lang['wits3dchdesc'] = "The channel-ID, the bot should connect with.

    The Bot will join this channel after connecting to the TeamSpeak server."; -$lang['wits3host'] = "TS3 Hostaddress"; +$lang['wisvres'] = "Для принятия внесенных правок вам необходимо перезагрузить RankSystem!"; +$lang['witime'] = "Часовой пояс"; +$lang['witimedesc'] = "Выбрать часовой пояс, в котором находится сервер."; +$lang['wits3dch'] = "Канал по умолчанию"; +$lang['wits3dchdesc'] = "При подключении на сервер, бот будет пытаться войти в этот канал и останется там."; +$lang['wits3host'] = "TS3 адрес хоста"; $lang['wits3hostdesc'] = "Адрес TeamSpeak 3 Сервера
    (IP или DNS)"; $lang['wits3sm'] = "Замедленный режим"; -$lang['wits3smdesc'] = "With the Slowmode you can reduce \"spam\" of query commands to the TeamSpeak server. This prevent bans in case of flood.
    TeamSpeak Query commands get delayed with this function.

    !!! ALSO IT REDUCE THE CPU USAGE !!!

    The activation is not recommended, if not required. The delay increases the duration of the Bot, which makes it imprecisely."; -$lang['wits3qnm'] = "Botname"; -$lang['wits3qnm2'] = "2е Botname"; -$lang['wits3qnm2desc'] = "Это Botname, будет использоваться если первое уже занято."; -$lang['wits3qnmdesc'] = "Имя, под которым будет сидеть Ранг система.
    Убедитесь что оно не занято."; +$lang['wits3smdesc'] = "Замедленный режим позволяет предотвратить флуд query-командами на сервер, из-за которого RankSystem может получить временный бан со стороны TeamSpeak 3 сервера.

    !!! Также это снижает нагрузку на ЦП и уменьшает расход трафика !!!

    Однако, не включайте эту функцию, если нет в ней нужды, потому как с ней не работает очистка базы от неактивных пользователей. К тому же, замедленный режим значительно увеличивает время обработки разного рода процессов."; +$lang['wits3qnm'] = "Основн. ник бота"; +$lang['wits3qnm2'] = "Запас. ник бота"; +$lang['wits3qnm2desc'] = "Этот никнейм будет использоваться, если первый уже занят. Рекомендуется заполнить!"; +$lang['wits3qnmdesc'] = "Никнейм, с которым будет авторизовываться Ранг система на сервере.
    Убедитесь, что оно не занято кем-то другим."; $lang['wits3querpw'] = "TS3 Query-Пароль"; -$lang['wits3querpwdesc'] = "TeamSpeak 3 query Пароль
    Ваш пароль от query пользователя."; +$lang['wits3querpwdesc'] = "TeamSpeak 3 query-Пароль
    Ваш пароль от query-пользователя."; $lang['wits3querusr'] = "TS3 Query-Логин"; -$lang['wits3querusrdesc'] = "TeamSpeak 3 query Логин
    По умолчанию: serveradmin
    Конечно вы можете указать другой логин для Ranksystem.
    Необходимые разрешения привилегий вы можете найти на:
    http://ts-n.net/ranksystem.php"; +$lang['wits3querusrdesc'] = "TeamSpeak 3 query-Логин
    По умолчанию: serveradmin
    Конечно вы можете указать другой логин для Ranksystem.
    Необходимые разрешения привилегий вы можете найти на:
    http://ts-n.net/ranksystem.php"; $lang['wits3query'] = "TS3 Query-Порт"; -$lang['wits3querydesc'] = "TeamSpeak 3 query Порт
    По умолчанию: 10011 (TCP)
    Если порт изменен, то укажите его согласно настройкам из 'ts3server.ini'."; +$lang['wits3querydesc'] = "TeamSpeak 3 query-Порт
    По умолчанию: 10011 (TCP)
    Если порт изменен, то укажите его согласно настройкам из 'ts3server.ini'."; $lang['wits3voice'] = "TS3 Voice-Порт"; -$lang['wits3voicedesc'] = "TeamSpeak 3 voice Порт
    По умолчанию: 9987 (UDP)
    Этот порт используется Teamspeak3 клиентом для подключения к серверу."; -$lang['witxco'] = "Цвет текста:"; -$lang['witxcodesc'] = "Укажите код цвета текста.
    (только HTML код; должно начинаться с # )"; +$lang['wits3voicedesc'] = "TeamSpeak 3 voice-Порт
    По умолчанию: 9987 (UDP)
    Этот порт используется Teamspeak 3 клиентом для подключения к серверу."; $lang['wiupcheck'] = "Проверка обновлений"; -$lang['wiupcheckdesc'] = "Если проверка обнолений включена, то пользователь получит приватное сообщение, когда обновление доступно."; +$lang['wiupcheckdesc'] = "Если проверка обновлений включена, то пользователь получит приватное сообщение, когда обновление доступно."; $lang['wiuptime'] = "Интервал проверки"; -$lang['wiuptimedesc'] = "Введите здесь через сколько секунд Ранг Система должна проверить наличие обновлений.
    Внимание, после каждой проверки перечисленные пользователь получает уведомление. Если ни один из перечисленных пользователей не онлайн, Система Рангов будет пытаться уведомить пользователей со следующего интервала сканирования."; -$lang['wiupuid'] = "Получатель"; -$lang['wiupuiddesc'] = "Укажите через запятую уникальные ID клиентов, которые будут проинформированы о доступных обновлениях посредством приватного сообщения через TeamSpeak."; -$lang['wiversion'] = "(текущая версия %s)"; +$lang['wiuptimedesc'] = "Введите здесь через сколько секунд Ранг Система должна проверить наличие обновлений.
    Внимание, после каждой проверки перечисленные пользователь получает уведомление. Если ни один из перечисленных пользователей не онлайн, Система Рангов будет пытаться уведомить пользователей при следующем сканировании."; +$lang['wiupuid'] = "Получатель обновлений"; +$lang['wiupuiddesc'] = "Укажите через запятую уникальные ID(UID) клиентов, которые будут проинформированы о доступных обновлениях посредством приватного сообщения через TeamSpeak."; $lang['wivlang'] = "Язык"; $lang['wivlangdesc'] = "Язык Ранг Системы

    de - Deutsch
    en - english
    it - italiano
    ru - Русский"; -$lang['wiwnco'] = "Цвет текста предупреждений:"; -$lang['wiwncodesc'] = "Укажите цвет текста предупреждения.
    (только HTML код; должно начинаться с # )"; ?> \ No newline at end of file diff --git a/other/config.php b/other/config.php index 1edd767..8272a61 100644 --- a/other/config.php +++ b/other/config.php @@ -13,25 +13,14 @@ if ($db['type'] == 'mysql') { } else { $dboptions = array(); } - try { $mysqlcon = new PDO($dbserver, $db['user'], $db['pass'], $dboptions); } catch (PDOException $e) { - $sqlconerr = "SQL Connection failed: ".$e->getMessage()."\n"; - echo $sqlconerr; - // open function mail here and try to ts3 msg (perhaps uuid out of text file; mysqlconf?) - exit; + $err_msg = "Database Connection failed: ".$e->getMessage()."\n"; $err_lvl = 3; + $language = "en"; } -if (($config = $mysqlcon->query("SELECT * FROM config")) === false) { - $bgcolor = '#101010'; - $hdcolor = '#909090'; - $txcolor = '#707070'; - $hvcolor = '#FFFFFF'; - $ifcolor = '#3366CC'; - $wncolor = '#CC0000'; - $sccolor = '#008000'; - $showgen = '1'; -} else { + +if (isset($mysqlcon) && ($config = $mysqlcon->query("SELECT * FROM config"))) { $config = $config->fetchAll(); $ts['host'] = $config[0]['tshost']; $ts['query'] = $config[0]['tsquery']; @@ -46,15 +35,21 @@ if (($config = $mysqlcon->query("SELECT * FROM config")) === false) { } else { $language = $config[0]['language']; } + } elseif($_GET["lang"] == "ar") { + $language = "ar"; + $_SESSION['language'] = "ar"; } elseif($_GET["lang"] == "de") { $language = "de"; $_SESSION['language'] = "de"; - } elseif($_GET["lang"] == "ru") { - $language = "ru"; - $_SESSION['language'] = "ru"; } elseif($_GET["lang"] == "it") { $language = "it"; $_SESSION['language'] = "it"; + } elseif($_GET["lang"] == "ro") { + $language = "ro"; + $_SESSION['language'] = "ro"; + } elseif($_GET["lang"] == "ru") { + $language = "ru"; + $_SESSION['language'] = "ru"; } else { $language = "en"; $_SESSION['language'] = "en"; @@ -89,8 +84,8 @@ if (($config = $mysqlcon->query("SELECT * FROM config")) === false) { $substridle = $config[0]['substridle']; $exceptuuid = explode(',', $config[0]['exceptuuid']); $exceptgroup = explode(',', $config[0]['exceptgroup']); + $exceptcid = explode(',', $config[0]['exceptcid']); $timeformat = $config[0]['dateformat']; - $showexgrp = $config[0]['showexgrp']; $showexcld = $config[0]['showexcld']; $showhighest = $config[0]['showhighest']; $showcolrg = $config[0]['showcolrg']; @@ -104,14 +99,6 @@ if (($config = $mysqlcon->query("SELECT * FROM config")) === false) { $showcolas = $config[0]['showcolas']; $showcolnx = $config[0]['showcolnx']; $showcolsg = $config[0]['showcolsg']; - $bgcolor = $config[0]['bgcolor']; - $hdcolor = $config[0]['hdcolor']; - $txcolor = $config[0]['txcolor']; - $hvcolor = $config[0]['hvcolor']; - $ifcolor = $config[0]['ifcolor']; - $wncolor = $config[0]['wncolor']; - $sccolor = $config[0]['sccolor']; - $showgen = $config[0]['showgen']; $cleanclients = $config[0]['cleanclients']; $cleanperiod = $config[0]['cleanperiod']; $defchid = $config[0]['defchid']; @@ -122,14 +109,24 @@ if (($config = $mysqlcon->query("SELECT * FROM config")) === false) { $timezone = $config[0]['timezone']; } date_default_timezone_set($timezone); + $advancemode = $config[0]['advancemode']; + $count_access = $config[0]['count_access']; + $last_access = $config[0]['last_access']; + $ignoreidle = $config[0]['ignoreidle']; + $rankupmsg = $config[0]['rankupmsg']; + $newversion = $config[0]['newversion']; } if(!isset($language) || $language == "en") { require_once(substr(dirname(__FILE__),0,-5).'languages/core_en.php'); +} elseif($language == "ar") { + require_once(substr(dirname(__FILE__),0,-5).'languages/core_ar.php'); } elseif($language == "de") { require_once(substr(dirname(__FILE__),0,-5).'languages/core_de.php'); -} elseif($language == "ru") { - require_once(substr(dirname(__FILE__),0,-5).'languages/core_ru.php'); } elseif($language == "it") { require_once(substr(dirname(__FILE__),0,-5).'languages/core_it.php'); +} elseif($language == "ro") { + require_once(substr(dirname(__FILE__),0,-5).'languages/core_ro.php'); +} elseif($language == "ru") { + require_once(substr(dirname(__FILE__),0,-5).'languages/core_ru.php'); } ?> \ No newline at end of file diff --git a/other/session.php b/other/session.php index 8ad4490..0d82401 100644 --- a/other/session.php +++ b/other/session.php @@ -1 +1,78 @@ -query("SELECT u.uuid,u.cldbid,u.name,u.ip,u.firstcon,s.total_connections FROM $dbname.user as u LEFT JOIN $dbname.stats_user as s ON u.uuid=s.uuid WHERE online='1';")->fetchAll();$_SESSION['connected']=0;$_SESSION['serverport']=$voiceport;foreach($allclients as $client){if($hpclientip==$client['ip']){$_SESSION['tsuid']=$client['uuid'];$_SESSION['tscldbid']=$client['cldbid'];$_SESSION['tsname']=$client['name'];if($client['firstcon']==0){$_SESSION['tscreated']="unkown";}else{$_SESSION['tscreated']=date('d-m-Y',$client['firstcon']);}if($client['total_connections']!=NULL){$_SESSION['tsconnections']=$client['total_connections'];}else{$_SESSION['tsconnections']=0;}$convert=array('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p');$uuidasbase16='';for($i=0;$i<20;$i++){$char=ord(substr(base64_decode($_SESSION['tsuid']),$i,1));$uuidasbase16.=$convert[($char & 0xF0)>> 4];$uuidasbase16.=$convert[$char & 0x0F];}if(is_file('../avatars/'.$uuidasbase16.'.png')){$_SESSION['tsavatar']=$uuidasbase16.'.png';}else{$_SESSION['tsavatar']="none";}$_SESSION['connected']=1;$_SESSION['language']=$language;break;}}}?> \ No newline at end of file +query("SELECT u.uuid,u.cldbid,u.name,u.ip,u.firstcon,s.total_connections FROM $dbname.user as u LEFT JOIN $dbname.stats_user as s ON u.uuid=s.uuid WHERE online='1';")->fetchAll(); + $_SESSION['connected'] = 0; + $_SESSION['serverport'] = $voiceport; + foreach ($allclients as $client) { + if ($hpclientip == $client['ip']) { + $_SESSION['tsuid'] = $client['uuid']; + $_SESSION['tscldbid'] = $client['cldbid']; + $_SESSION['tsname'] = $client['name']; + if ($client['firstcon'] == 0) { + $_SESSION['tscreated'] = "unkown"; + } else { + $_SESSION['tscreated'] = date('d-m-Y', $client['firstcon']); + } + if ($client['total_connections'] != NULL) { + $_SESSION['tsconnections'] = $client['total_connections']; + } else { + $_SESSION['tsconnections'] = 0; + } + $convert = array( + 'a', + 'b', + 'c', + 'd', + 'e', + 'f', + 'g', + 'h', + 'i', + 'j', + 'k', + 'l', + 'm', + 'n', + 'o', + 'p' + ); + $uuidasbase16 = ''; + for ($i = 0; $i < 20; $i++) { + $char = ord(substr(base64_decode($_SESSION['tsuid']), $i, 1)); + $uuidasbase16 .= $convert[($char & 0xF0) >> 4]; + $uuidasbase16 .= $convert[$char & 0x0F]; + } + if (is_file('../avatars/' . $uuidasbase16 . '.png')) { + $_SESSION['tsavatar'] = $uuidasbase16 . '.png'; + } else { + $_SESSION['tsavatar'] = "none"; + } + $_SESSION['connected'] = 1; + $_SESSION['language'] = $language; + break; + } + } +} +?> \ No newline at end of file diff --git a/other/style.css.php b/other/style.css.php deleted file mode 100644 index 3eaac93..0000000 --- a/other/style.css.php +++ /dev/null @@ -1 +0,0 @@ - body{font-family:Century Gothic,sans-serif;font-size:15px;color:;background-color:}a:link{text-decoration:none;color:}a:visited{text-decoration:none;color:}a:hover{text-decoration:none;color:}.hdcolor{color:}.ifcolor{color:}.wncolor{color:}.sccolor{color:}.tabledefault{width:95%;top:10;left:10;border:1;text-align:center;font-family:Verdana;font-size:10pt;margin:0 auto}.tablefunction{max-width:500px;width:100%;top:10;left:10;border:0;text-align:center;font-family:Verdana;font-size:10pt;margin:0 auto}.tablelogin{position:fixed;top:50%;left:50%;margin-top:-40px;margin-left:-150px}.tdleft{width:55%;text-align:left}.tdlefth{width:50%;text-align:left;vertical-align:top}.tdred{width:45%;text-align:right;color:red}.tdright{width:45%;text-align:right}.tdrighth{width:50%;text-align:right;vertical-align:top}.tdheadline{text-align:center;background-color:#0a1b2a}.tdheadline:hover{text-align:center;background-color:#0b243b}.tdheadlineimp{text-align:center;background-color:#030}.tdheadlineimp:hover{text-align:center;background-color:#060}.center{text-align:center}.right{text-align:right}.opacity{opacity:.1}.size1{font-size:24px;font-weight:bold}.size2{font-size:16px;font-weight:bold}.width{width:95%;box-sizing:border-box}.elevated{vertical-align:super}th{font-weight:bold;text-align:center;color:}img{margin-bottom:-3}select{width:140px}input.switch:empty{margin-left:-9999px}input.switch:empty ~ label{position:relative;float:left;line-height:1.3em;text-indent:4em;margin:.2em 0 0 90px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}input.switch:empty ~ label:before,input.switch:empty ~ label:after{position:absolute;display:block;top:0;bottom:0;left:0;content:'';width:3em;background-color:#c00;border-radius:1em;-webkit-transition:all 50ms ease-in;transition:all 50ms ease-in}input.switch:empty ~ label:after{width:1.2em;top:.1em;bottom:.1em;margin-left:.2em;background-color:#fff;border-radius:.8em}input.switch:checked ~ label:before{background-color:green}input.switch:checked ~ label:after{margin-left:1.5em}.tooltip{position:relative;display:inline}.tooltip span{width:350px;position:absolute;color:#000;background:#ccc;padding:10px 10px 10px 10px;line-height:16px;text-align:center;visibility:hidden;border-radius:5px;box-shadow:0 1px 2px #0b243b}.tooltip span:after{content:'';position:absolute;top:7px;left:100%;width:0;height:0;border-left:12px solid #ccc;border-top:12px solid transparent;border-bottom:12px solid transparent}.tooltip:hover span{visibility:visible;right:110%;margin-top:-10px;margin-right:15px;z-index:999} \ No newline at end of file diff --git a/other/webinterface_list.php b/other/webinterface_list.php deleted file mode 100644 index baefba9..0000000 --- a/other/webinterface_list.php +++ /dev/null @@ -1,387 +0,0 @@ -query("SELECT * FROM config"); -$configs = $configs->fetch(PDO::FETCH_ASSOC); - -echo ' - - - - -
    ', $lang['wilogout'], '
    ', $lang['wihl'], '
    ', sprintf($lang['wiversion'], $configs['currvers']), '
    ', $alert, '
    - - - - - - - - - - - - - - - - - - - - - -
     
    - ', $lang['wihlts'], ' -
    - -
     
    - ', $lang['wihldb'], ' -
    - -
     
    - ', $lang['wihlcfg'], ' -
    - -
     
    - ', $lang['wihlsty'], ' -
    - -
     
     
    - ', $lang['wihladm'], ' -
     
    - ', $lang['wihlcls'], ' -
    - -
     
    - ', $lang['wihlclg'], ' -
    - -
    '; -?> \ No newline at end of file diff --git a/other/webinterface_login.php b/other/webinterface_login.php deleted file mode 100644 index deda485..0000000 --- a/other/webinterface_login.php +++ /dev/null @@ -1 +0,0 @@ -';if(isset($showerrlogin)){echo '';}echo '
    ',$lang['errlogin'],'

    ',$lang['user'],'
    ',$lang['pass'],'
    ';?> \ No newline at end of file diff --git a/stats/index.php b/stats/index.php index c0bcb84..0f253f8 100644 --- a/stats/index.php +++ b/stats/index.php @@ -3,19 +3,22 @@ session_start(); require_once('../other/config.php'); require_once('../other/session.php'); -if($language == "de") { +if($language == "ar") { + require_once('../languages/nations_en.php'); +} elseif($language == "de") { require_once('../languages/nations_de.php'); } elseif($language == "en") { require_once('../languages/nations_en.php'); } elseif($language == "it") { require_once('../languages/nations_it.php'); +} elseif($language == "ro") { + require_once('../languages/nations_en.php'); } elseif($language == "ru") { require_once('../languages/nations_ru.php'); } if(!isset($_SESSION['tsuid'])) { - $hpclientip = ip2long($_SERVER['REMOTE_ADDR']); - set_session_ts3($hpclientip, $ts['voice'], $mysqlcon, $dbname); + set_session_ts3($ts['voice'], $mysqlcon, $dbname); } function human_readable_size($bytes) { @@ -54,7 +57,7 @@ require_once('nav.php');

    - +

    @@ -91,7 +94,7 @@ require_once('nav.php');
    -
    '.$lang['days'].'';?>
    +
    @@ -113,7 +116,7 @@ require_once('nav.php');
    -
    '.$lang['days'].'';?>
    +
    @@ -135,7 +138,7 @@ require_once('nav.php');
    -
    '.$lang['days'].'';?>
    +
    @@ -318,7 +321,7 @@ require_once('nav.php'); - '.$lang['stix0046'].''; } else { echo $lang['stix0047']; } ?> + '.$lang['stix0046'].''; } else { echo $lang['stix0047']; } ?> diff --git a/stats/info.php b/stats/info.php index b475768..90befc0 100644 --- a/stats/info.php +++ b/stats/info.php @@ -1,4 +1,4 @@ -
    - -

    @@ -33,7 +30,7 @@ require_once('nav.php');

    -

    The Ranksystem was coded by Newcomer1989 Copyright © 2009-2016 TeamSpeak Sponsoring TS-N.NET. All rights reserved.

    +

    The Ranksystem was coded by Newcomer1989 Copyright © 2009-2016 TeamSpeak Sponsoring TS-N.NET. All rights reserved.


    @@ -50,18 +47,22 @@ require_once('nav.php');

    -

    PHP - Copyright © 2001-2016 the PHP Group


    +

    PHP - Copyright © 2001-2016 the PHP Group


    -

    jQuery v2.2.0 - Copyright © 2016 The jQuery Foundation

    +

    jQuery v2.2.0 - Copyright © 2016 The jQuery Foundation

    jQuery Autocomplete plugin 1.1 - Copyright © 2009 Jörn Zaefferer

    -

    Font Awesome 4.2.0 - Copyright © davegandy

    -

    flag-icon-css - Copyright © 2016 lipis

    -

    Ajax Queue Plugin - Copyright © 2013 Corey Frang

    -

    TeamSpeak 3 PHP Framework 1.1.23 - Copyright © 2010 Planet TeamSpeak

    -

    Bootstrap 3.3.6 - Copyright © 2011-2016 Twitter, Inc.

    -

    morris.js - Copyright © 2013 Olly Smith

    -

    Raphaël 2.1.4 - JavaScript Vector Library - Copyright © 2008-2012 Dmitry Baranovskiy

    -

    SB Admin Bootstrap Admin Template - Copyright © 2013-2016 Blackrock Digital LLC.

    +

    Font Awesome 4.6.3 - Copyright © davegandy

    +

    flag-icon-css - Copyright © 2016 lipis

    +

    Ajax Queue Plugin - Copyright © 2013 Corey Frang

    +

    TeamSpeak 3 PHP Framework 1.1.23 - Copyright © 2010 Planet TeamSpeak

    +

    Bootstrap 3.3.7 - Copyright © 2011-2016 Twitter, Inc.

    +

    morris.js - Copyright © 2013 Olly Smith

    +

    Raphaël 2.1.4 - JavaScript Vector Library - Copyright © 2008-2012 Dmitry Baranovskiy

    +

    SB Admin Bootstrap Admin Template - Copyright © 2013-2016 Blackrock Digital LLC.

    +

    Bootstrap Switch - Copyright © 2013-2015 Mattia Larentis

    +

    Bootstrap TouchSpin - Copyright © 2013-2016 István Ujj-Mészáros

    +

    bootstrap-select - Copyright © 2013-2015 Silvio Moreto a.o.

    +

    Bootstrap Show Password - Copyright © 2014 zhixin wen


    @@ -71,14 +72,13 @@ require_once('nav.php');

    +

    +


    - - - \ No newline at end of file diff --git a/stats/list_rankup.php b/stats/list_rankup.php index 422c485..5055343 100644 --- a/stats/list_rankup.php +++ b/stats/list_rankup.php @@ -5,9 +5,25 @@ $starttime = microtime(true); require_once('../other/config.php'); require_once('../other/session.php'); +function getclientip() { + if (!empty($_SERVER['HTTP_CLIENT_IP'])) + return $_SERVER['HTTP_CLIENT_IP']; + elseif(!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) + return $_SERVER['HTTP_X_FORWARDED_FOR']; + elseif(!empty($_SERVER['HTTP_X_FORWARDED'])) + return $_SERVER['HTTP_X_FORWARDED']; + elseif(!empty($_SERVER['HTTP_FORWARDED_FOR'])) + return $_SERVER['HTTP_FORWARDED_FOR']; + elseif(!empty($_SERVER['HTTP_FORWARDED'])) + return $_SERVER['HTTP_FORWARDED']; + elseif(!empty($_SERVER['REMOTE_ADDR'])) + return $_SERVER['REMOTE_ADDR']; + else + return false; +} + if(!isset($_SESSION['tsuid'])) { - $hpclientip = ip2long($_SERVER['REMOTE_ADDR']); - set_session_ts3($hpclientip, $ts['voice'], $mysqlcon, $dbname); + set_session_ts3($ts['voice'], $mysqlcon, $dbname); } if(isset($_POST['username'])) { @@ -31,6 +47,9 @@ if(isset($getstring) && strstr($getstring, 'filter:excepted:')) { $filter .= " AND except='0'"; } else { $searchstring = $getstring; + if($showexcld == 0) { + $filter .= " AND except='0'"; + } } if(isset($getstring) && strstr($getstring, 'filter:online:')) { $searchstring = preg_replace('/filter\:online\:/','',$searchstring); @@ -44,6 +63,32 @@ if(isset($getstring) && strstr($getstring, 'filter:actualgroup:')) { $searchstring = preg_replace('/filter\:actualgroup\:(.*)\:/','',$searchstring); $filter .= " AND grpid='".$grpvalue[1]."'"; } +if(isset($getstring) && strstr($getstring, 'filter:country:')) { + preg_match('/filter\:country\:(.*)\:/',$searchstring,$grpvalue); + $searchstring = preg_replace('/filter\:country\:(.*)\:/','',$searchstring); + $filter .= " AND nation='".$grpvalue[1]."'"; +} +if(isset($getstring) && strstr($getstring, 'filter:lastseen:')) { + preg_match('/filter\:lastseen\:(.*)\:(.*)\:/',$searchstring,$seenvalue); + $searchstring = preg_replace('/filter\:lastseen\:(.*)\:(.*)\:/','',$searchstring); + if(is_numeric($seenvalue[2])) { + $lastseen = $seenvalue[2]; + } else { + $r = date_parse_from_format("Y-m-d H-i",$seenvalue[2]); + $d = mktime($r['hour'], $r['minute'], $r['second'], $r['month'], $r['day'], $r['year']); + $lastseen = $d; + } + if($seenvalue[1] == '<') { + $operator = '<'; + } elseif($seenvalue[1] == '>') { + $operator = '>'; + } elseif($seenvalue[1] == '!=') { + $operator = '!='; + } else { + $operator = '='; + } + $filter .= " AND lastseen".$operator."'".$lastseen."'"; +} if(isset($getstring)) { $dbdata_full = $mysqlcon->prepare("SELECT COUNT(*) FROM $dbname.user WHERE (uuid LIKE :searchvalue OR cldbid LIKE :searchvalue OR name LIKE :searchvalue)$filter"); @@ -73,7 +118,7 @@ if (isset($_GET['order'])) { } $keyorder = ($keyorder == 'desc' ? 'desc' : 'asc'); if (isset($_GET['admin'])) { - if($_GET['admin'] == "true" && isset($_SESSION['username'])) { + if($_SESSION['username'] == $webuser && $_SESSION['password'] == $webpass && $_SESSION['clientip'] == getclientip()) { $adminlogin = 1; } } @@ -267,14 +312,6 @@ if($adminlogin == 1) { $countallsum++; foreach ($grouptime as $time => $groupid) { $grpcount++; - if (array_intersect($sgroups, $exceptgroup) && $showexgrp != 1 && $adminlogin != 1) { - $exceptgrp++; - break; - } - if (in_array($uid, $exceptuuid) && $showexcld != 1 && $adminlogin != 1) { - $exceptcld++; - break; - } if ($activetime < $time || $grpcount == $countgrp && $nextup == 0 && $showhighest == 1 || $grpcount == $countgrp && $nextup == 0 && $adminlogin == 1) { if($nextup == 0 && $grpcount == $countgrp) { $neededtime = 0; @@ -382,32 +419,10 @@ if($adminlogin == 1) { if($user_pro_seite != "all") { pagination($keysort,$keyorder,$user_pro_seite,$seiten_anzahl_gerundet,$seite,$getstring); } - if ($showgen == 1 || $adminlogin == 1) { - $except = $exceptgrp + $exceptcld; - $notvisible = 0; - if ($showexgrp != 1) { $notvisible = $exceptgrp; } - if ($showexcld != 1) { $notvisible = $notvisible + $exceptcld; } - if ($showhighest != 1) { $notvisible = $notvisible + $highest; } - $displayed = $countallsum - $notvisible; - $buildtime = microtime(true) - $starttime; - ?> - - - - - - - - - @@ -132,18 +121,56 @@ - +
    - - - - - - TS-N.NET Ranksystem - Webinterface - - - - - - -'; -$starttime = microtime(true); -require_once('other/config.php'); -$alert = " "; -if (isset($_POST['changeclients'])) { - $selectedclients = $_POST['selectedclients']; - echo $selectedclients; - echo '
    '; - $selecteduuids = $_POST['selecteduuids']; - echo $selecteduuids; -} -if (isset($_POST['updatets'])) { - $tshost = $_POST['tshost']; - $tsquery = $_POST['tsquery']; - $tsvoice = $_POST['tsvoice']; - $tsuser = $_POST['tsuser']; - $tspass = $_POST['tspass']; - $queryname = $_POST['queryname']; - $queryname2 = $_POST['queryname2']; - $defchid = $_POST['defchid']; - $timezone = $_POST['timezone']; - $slowmode = $_POST['slowmode']; - if ($mysqlcon->exec("UPDATE $dbname.config set tshost='$tshost',tsquery='$tsquery',tsvoice='$tsvoice',tsuser='$tsuser',tspass='$tspass',queryname='$queryname',queryname2='$queryname2',slowmode='$slowmode',defchid='$defchid',timezone='$timezone'") === false) { - $alert = '' . $mysqlcon->errorCode() . '
    '; - } else { - if (substr(php_uname(), 0, 7) == "Windows") { - $WshShell = new COM("WScript.Shell"); - $oExec = $WshShell->Run("cmd /C php ".__DIR__."\worker.php restart", 0, false); - } else { - exec("php ".__DIR__."/worker.php restart"); - } - $alert = '' . $lang['wisvsuc'] . ''; - } - require_once('other/webinterface_list.php'); -} -if (isset($_POST['updatecore'])) { - $grouptime = $_POST['grouptime']; - if (isset($_POST['resetbydbchange'])) $resetbydbchange = 1; else $resetbydbchange = 0; - if (isset($_POST['msgtouser'])) $msgtouser = 1; else $msgtouser = 0; - if (isset($_POST['cleanclients'])) $cleanclients = 1; else $cleanclients = 0; - if (isset($_POST['upcheck'])) $upcheck = 1; else $upcheck = 0; - $cleanperiod = $_POST['cleanperiod']; - $uniqueid = $_POST['uniqueid']; - $boost = $_POST['boost']; - $updateinfotime = $_POST['updateinfotime']; - $logpath = addslashes($_POST['logpath']); - if (isset($_POST['substridle'])) $substridle = 1; else $substridle = 0; - $exceptuuid = $_POST['exceptuuid']; - $exceptgroup = $_POST['exceptgroup']; - if ($mysqlcon->exec("UPDATE $dbname.config set grouptime='$grouptime',resetbydbchange='$resetbydbchange',msgtouser='$msgtouser',cleanclients='$cleanclients',cleanperiod='$cleanperiod',upcheck='$upcheck',uniqueid='$uniqueid',updateinfotime='$updateinfotime',substridle='$substridle',exceptuuid='$exceptuuid',exceptgroup='$exceptgroup',boost='$boost',logpath='$logpath'") === false) { - $alert = '' . $mysqlcon->errorCode() . '
    '; - } else { - if (substr(php_uname(), 0, 7) == "Windows") { - $WshShell = new COM("WScript.Shell"); - $oExec = $WshShell->Run("cmd /C php ".__DIR__."\worker.php restart", 0, false); - } else { - exec("php ".__DIR__."/worker.php restart"); - } - $alert = '' . $lang['wisvsuc'] . ''; - } - require_once('other/webinterface_list.php'); -} -if (isset($_POST['updatestyle'])) { - $language = $_POST['languagedb']; - $dateformat = $_POST['dateformat']; - if (isset($_POST['showexgrp'])) $showexgrp = 1; else $showexgrp = 0; - if (isset($_POST['showexcld'])) $showexcld = 1; else $showexcld = 0; - if (isset($_POST['showhighest'])) $showhighest = 1; else $showhighest = 0; - if (isset($_POST['showcolrg'])) $showcolrg = 1; else $showcolrg = 0; - if (isset($_POST['showcolcld'])) $showcolcld = 1; else $showcolcld = 0; - if (isset($_POST['showcoluuid'])) $showcoluuid = 1; else $showcoluuid = 0; - if (isset($_POST['showcoldbid'])) $showcoldbid = 1; else $showcoldbid = 0; - if (isset($_POST['showcolls'])) $showcolls = 1; else $showcolls = 0; - if (isset($_POST['showcolot'])) $showcolot = 1; else $showcolot = 0; - if (isset($_POST['showcolit'])) $showcolit = 1; else $showcolit = 0; - if (isset($_POST['showcolat'])) $showcolat = 1; else $showcolat = 0; - if (isset($_POST['showcolas'])) $showcolas = 1; else $showcolas = 0; - if (isset($_POST['showcolnx'])) $showcolnx = 1; else $showcolnx = 0; - if (isset($_POST['showcolsg'])) $showcolsg = 1; else $showcolsg = 0; - $bgcolor = $_POST['bgcolor']; - $hdcolor = $_POST['hdcolor']; - $txcolor = $_POST['txcolor']; - $hvcolor = $_POST['hvcolor']; - $ifcolor = $_POST['ifcolor']; - $wncolor = $_POST['wncolor']; - $sccolor = $_POST['sccolor']; - if (isset($_POST['showgen'])) $showgen = 1; else $showgen = 0; - include('lang.php'); - if ($mysqlcon->exec("UPDATE $dbname.config set language='$language',dateformat='$dateformat',showexgrp='$showexgrp',showexcld='$showexcld',showhighest='$showhighest',showcolrg='$showcolrg',showcolcld='$showcolcld',showcoluuid='$showcoluuid',showcoldbid='$showcoldbid',showcolls='$showcolls',showcolot='$showcolot',showcolit='$showcolit',showcolat='$showcolat',showcolas='$showcolas',showcolnx='$showcolnx',showcolsg='$showcolsg',bgcolor='$bgcolor',hdcolor='$hdcolor',txcolor='$txcolor',hvcolor='$hvcolor',ifcolor='$ifcolor',wncolor='$wncolor',sccolor='$sccolor',showgen='$showgen'") === false) { - $alert = '' . $mysqlcon->errorCode() . '
    '; - } else { - $alert = '' . $lang['wisvsuc'] . ''; - } - require_once('other/webinterface_list.php'); -} -if (isset($_POST['selectivclients'])) { - $seluuid = $_POST['selecteduuids']; - $uuidarr = explode(',', $seluuid); - $counttime = $_POST['counttime']; - if (isset($_POST['delclients']) && $seluuid != '' && $counttime == 0) { - require_once('ts3_lib/TeamSpeak3.php'); - $ts3_VirtualServer = TeamSpeak3::factory("serverquery://" . $ts['user'] . ":" . $ts['pass'] . "@" . $ts['host'] . ":" . $ts['query'] . "/?server_port=" . $ts['voice']); - try { - $ts3_VirtualServer->selfUpdate(array( - 'client_nickname' => $queryname - )); - } - catch (Exception $e) { - try { - $ts3_VirtualServer->selfUpdate(array( - 'client_nickname' => $queryname2 - )); - } - catch (Exception $e) { - echo $lang['error'], $e->getCode(), ': ', $e->getMessage(); - } - } - foreach ($uuidarr as $uuid) { - if (isset($_POST['delsrvgrp'])) { - $dbremsgrp = $mysqlcon->query("SELECT cldbid,grpid from $dbname.user where uuid='$uuid'"); - while ($remsgrp = $dbremsgrp->fetch(PDO::FETCH_ASSOC)) { - if ($remsgrp['grpid'] != 0) { - try { - $ts3_VirtualServer->serverGroupClientDel($remsgrp['grpid'], $remsgrp['cldbid']); - } - catch (Exception $e) { - $alert = $alert . '' . sprintf($lang['errremgrp'], $uuid, $remsgrp['grpid']) . $e->getCode() . ': ' . $e->getMessage() . '
    '; - } - } - } - } - if ($mysqlcon->exec("DELETE FROM $dbname.user WHERE uuid='$uuid'") === false) { - $alert = $alert . '' . sprintf($lang['errremdb'], $uuid) . $mysqlcon->errorCode() . '
    '; - } else { - $alert = $alert . '' . sprintf($lang['sccrmcld'], $uuid) . '
    '; - } - } - } elseif ($_POST['delclients'] == "" && $seluuid != '' && $counttime != 0) { - $dtF = new DateTime("@0"); - $dtT = new DateTime("@$counttime"); - $timecount = $dtF->diff($dtT)->format($timeformat); - foreach ($uuidarr as $uuid) { - if ($mysqlcon->exec("UPDATE $dbname.user SET count='$counttime' WHERE uuid='$uuid'") === false) { - $alert = $alert . '' . sprintf($lang['errupcount'], $timecount, $uuid) . $mysqlcon->errorCode() . '
    '; - } else { - $alert = $alert . '' . sprintf($lang['sccupcount'], $uuid, $timecount) . '
    '; - } - } - } else { - echo $_POST['delclients']; - $alert = '' . sprintf($lang['errsel'], $seluuid, $_POST['delclients'], $counttime) . ''; - } - require_once('other/webinterface_list.php'); -} -if (isset($_POST['globalclients'])) { - if(isset($_POST['delcldgrps'])) { - $selectbefore = $mysqlcon->query("SELECT * FROM $dbname.user WHERE grpid!='0'"); - $before = $selectbefore->rowCount(); - if($mysqlcon->exec("UPDATE $dbname.user SET grpid='0'") && $selectbefore->rowCount() != 0) { - $alert = '' . sprintf($lang['delcldgrpsc'], $before) . ''; - } elseif($selectbefore->rowCount() == 0) { - $alert = '' . sprintf($lang['delcldgrpsc'], $before) . ''; - } else { - $alert = '' . sprintf($lang['delcldgrpif'], $selectbefore->errorCode()) . ''; - } - } else { - $selectbefore = $mysqlcon->query("SELECT * FROM $dbname.user"); - $before = $selectbefore->rowCount(); - $cleantime = time() - $_POST['cleantime']; - if (isset($_POST['delsrvgrp'])) { - require_once('ts3_lib/TeamSpeak3.php'); - $ts3_VirtualServer = TeamSpeak3::factory("serverquery://" . $ts['user'] . ":" . $ts['pass'] . "@" . $ts['host'] . ":" . $ts['query'] . "/?server_port=" . $ts['voice']); - try { - $ts3_VirtualServer->selfUpdate(array( - 'client_nickname' => $queryname - )); - } - catch (Exception $e) { - try { - $ts3_VirtualServer->selfUpdate(array( - 'client_nickname' => $queryname2 - )); - } - catch (Exception $e) { - echo $lang['error'], $e->getCode(), ': ', $e->getMessage(); - } - } - $dbremsgrp = $mysqlcon->query("SELECT cldbid,grpid from $dbname.user where lastseen<'$cleantime'"); - $dbremsgrp = $dbremsgrp->fetchAll(); - foreach ($dbremsgrp as $remsgrp) { - if ($remsgrp['grpid'] != 0) { - $ts3_VirtualServer->serverGroupClientDel($remsgrp['grpid'], $remsgrp['cldbid']); - } - } - } - if ($_POST['cleantime'] < 1) { - $dbcount = $mysqlcon->exec("DELETE from $dbname.user"); - } else { - $dbcount = $mysqlcon->exec("DELETE from $dbname.user where lastseen<'$cleantime'"); - } - $selectafter = $mysqlcon->query("SELECT * from $dbname.user"); - $after = $selectafter->rowCount(); - $countdel = $before - $after; - if ($countdel == 0) { - $alert = '' . sprintf($lang['delclientsif'], $countdel) . ''; - } else { - $alert = '' . sprintf($lang['delclientssc'], $countdel) . ''; - } - } - require_once('other/webinterface_list.php'); -} -if (isset($_POST['updatetdbsettings'])) { -$newconfig=''; - $dbserver = $_POST['dbtype'].':host='.$_POST['dbhost'].';dbname='.$_POST['dbname']; - try { - $mysqlcon = new PDO($dbserver, $_POST['dbuser'], $_POST['dbpass']); - $handle=fopen('./other/dbconfig.php','w'); - if(!fwrite($handle,$newconfig)) - { - $alert = '' . sprintf($lang['widbcfgerr']) . ''; - } else { - if (substr(php_uname(), 0, 7) == "Windows") { - $WshShell = new COM("WScript.Shell"); - $oExec = $WshShell->Run("cmd /C php ".__DIR__."\worker.php restart", 0, false); - } else { - exec("php ".__DIR__."/worker.php restart"); - } - $alert = '' . sprintf($lang['widbcfgsuc']) . ''; - } - fclose($handle); - } catch (PDOException $e) { - $alert = '' . sprintf($lang['widbcfgerr']) . ''; - } - require_once('other/webinterface_list.php'); -} -if (file_exists('install.php') || file_exists('update_0-02.php') || file_exists('update_0-10.php')) { - echo sprintf($lang['isntwidel'], "webinterface.php"); -} else { - if (isset($_GET['logout']) == "true") { - session_destroy(); - header("location:webinterface.php"); - } elseif (isset($_POST['abschicken']) || isset($_SESSION['username'])) { - if (isset($_SESSION['username']) || ($_POST['username'] == $webuser && $_POST['password'] == $webpass)) { - $_SESSION['username'] = $webuser; - set_error_handler(function() { }); - $newversion = file_get_contents('http://ts-n.net/ranksystem/version'); - restore_error_handler(); - if (substr($newversion, 0, 4) != substr($currvers, 0, 4) && $newversion != '') { - $alert = 'Update available!'; - } - require_once('other/webinterface_list.php'); - } else { - $showerrlogin = 1; - require_once('other/webinterface_login.php'); - } - } else { - session_destroy(); - require_once('other/webinterface_login.php'); - } -} -?> \ No newline at end of file diff --git a/webinterface/admin.php b/webinterface/admin.php new file mode 100644 index 0000000..97f601f --- /dev/null +++ b/webinterface/admin.php @@ -0,0 +1,74 @@ + +
    + +
    + +
    +
    +

    + Special Functions +

    +
    +
    + +
     
    +
    +
    + The functions (delete clients/ clear Ranksystem/ edit clients online time) will come back with one of the next releases... +
    +
    +
     
    + +
    +
    +
    + + \ No newline at end of file diff --git a/webinterface/bot.php b/webinterface/bot.php new file mode 100644 index 0000000..a2b3af5 --- /dev/null +++ b/webinterface/bot.php @@ -0,0 +1,204 @@ +$number_lines) array_shift($lines); + } + fclose($fp); + } else { + $lines[] = "No log entry found...\n"; + $lines[] = "The logfile will be created with next startup.\n"; + } + return $lines; +} + +$number_lines = 20; +if (isset($_POST['number'])) { + if($_POST['number'] == 20) { + $number_lines = 20; + } elseif($_POST['number'] == 50) { + $number_lines = 50; + } elseif($_POST['number'] == 100) { + $number_lines = 100; + } elseif($_POST['number'] == 200) { + $number_lines = 200; + } elseif($_POST['number'] == 500) { + $number_lines = 500; + } elseif($_POST['number'] == 9999) { + $number_lines = 9999; + } else { + $number_lines = 20; + } +} +if (isset($_POST['logout'])) { + echo "logout"; + $_SESSION = array(); + session_destroy(); + if($_SERVER['HTTPS'] == "on") { + header("Location: https://".$_SERVER['HTTP_HOST'].rtrim(dirname($_SERVER['PHP_SELF']), '/\\')); + } else { + header("Location: http://".$_SERVER['HTTP_HOST'].rtrim(dirname($_SERVER['PHP_SELF']), '/\\')); + } + exit; +} + +if (!isset($_SESSION['username']) || $_SESSION['username'] != $webuser || $_SESSION['password'] != $webpass || $_SESSION['clientip'] != getclientip()) { + if($_SERVER['HTTPS'] == "on") { + header("Location: https://".$_SERVER['HTTP_HOST'].rtrim(dirname($_SERVER['PHP_SELF']), '/\\')); + } else { + header("Location: http://".$_SERVER['HTTP_HOST'].rtrim(dirname($_SERVER['PHP_SELF']), '/\\')); + } + exit; +} + +require_once('nav.php'); +$logoutput = getlog($logpath,$number_lines); + +if (isset($_POST['start']) && $_SESSION['username'] == $webuser && $_SESSION['password'] == $webpass && $_SESSION['clientip'] == getclientip()) { + if (substr(php_uname(), 0, 7) == "Windows") { + $WshShell = new COM("WScript.Shell"); + $oExec = $WshShell->Run("cmd /C php ".substr(__DIR__,0,-12)."\worker.php start", 0, false); + } else { + exec("php ".substr(__DIR__,0,-12)."worker.php start"); + } + $err_msg = $lang['wibot2']; + $err_lvl = 1; + usleep(80000); + $logoutput = getlog($logpath,$number_lines); +} + +if (isset($_POST['stop']) && $_SESSION['username'] == $webuser && $_SESSION['password'] == $webpass && $_SESSION['clientip'] == getclientip()) { + if (substr(php_uname(), 0, 7) == "Windows") { + $WshShell = new COM("WScript.Shell"); + $oExec = $WshShell->Run("cmd /C php ".substr(__DIR__,0,-12)."\worker.php stop", 0, false); + } else { + exec("php ".substr(__DIR__,0,-12)."worker.php stop"); + } + $err_msg = $lang['wibot1']; + $err_lvl = 1; + usleep(80000); + $logoutput = getlog($logpath,$number_lines); +} + +if (isset($_POST['restart']) && $_SESSION['username'] == $webuser && $_SESSION['password'] == $webpass && $_SESSION['clientip'] == getclientip()) { + if (substr(php_uname(), 0, 7) == "Windows") { + $WshShell = new COM("WScript.Shell"); + $oExec = $WshShell->Run("cmd /C php ".substr(__DIR__,0,-12)."\worker.php restart", 0, false); + } else { + exec("php ".substr(__DIR__,0,-12)."worker.php restart"); + } + $err_msg = $lang['wibot3']; + $err_lvl = 1; + usleep(80000); + $logoutput = getlog($logpath,$number_lines); +} + +$disabled = ''; +if($ts['host'] == NULL || $ts['query'] == NULL || $ts['voice'] == NULL || $ts['user'] == NULL || $ts['pass'] == NULL || $queryname == NULL || $queryname2 == NULL || $grouptime == NULL || $logpath == NULL) { + $disabled = 1; + $err_msg = $lang['wibot9']; + $err_lvl = 2; +} +?> +
    + +
    +
    +
    +

    + +

    +
    +
    +
    +
     
    +
    +
    + +
    +
    +
     
    +
    +
    +
     
    +
    +
    + +
    +
    +
     
    +
    +
    +
     
    +
    +
    + +
    +
    +
     
    +
    +
     
    +
    +
    +

    + +

    +
    +
    +
    +
    + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + + + \ No newline at end of file diff --git a/webinterface/core.php b/webinterface/core.php new file mode 100644 index 0000000..0ffe7e1 --- /dev/null +++ b/webinterface/core.php @@ -0,0 +1,377 @@ +exec("UPDATE $dbname.config set substridle='$substridle',exceptuuid='$exceptuuid',exceptgroup='$exceptgroup',exceptcid='$exceptcid',grouptime='$grouptime',ignoreidle='$ignoreidle',resetbydbchange='$resetbydbchange',cleanclients='$cleanclients',cleanperiod='$cleanperiod',boost='$boost'") === false) { + $err_msg = print_r($mysqlcon->errorInfo()); + $err_lvl = 3; + } else { + $err_msg = $lang['wisvsuc']." ".$lang['wisvres']; + $err_lvl = NULL; + } + $config[0]['grouptime'] = $_POST['grouptime']; + $config[0]['exceptuuid'] = $_POST['exceptuuid']; + $config[0]['exceptgroup'] = $_POST['exceptgroup']; + $config[0]['exceptcid'] = $_POST['exceptcid']; + $config[0]['boost'] = $_POST['boost']; +} +?> +
    + +
    +
    +
    +

    +
    +
    +
    +
    +
    +
    + +
    + +
    +
    +
    +
    +
    + +
    + +
    +
    +
    +
    + +
    + +
    +
    +
    +
    + +
    + +
    +
    +
    +
    +
    +
     
    +
    + +
    + +
    *
    +
    +
    +
    +
    +
    +
    + +
    + + +
    +
    +
    + +
    + '; + } else { + echo ''; + } ?> +
    +
    +
     
    +
    +
    +
    + +
    + '; + } else { + echo ''; + } ?> +
    +
    +
     
    +
    + +
    + + +
    +
    +
    +
    +
    + +
    + +
    +
    +
    +
    +
     
    +
    +
    + +
    +
    +
     
    +
    +
    +
    + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/webinterface/db.php b/webinterface/db.php new file mode 100644 index 0000000..9a3cfba --- /dev/null +++ b/webinterface/db.php @@ -0,0 +1,246 @@ +'; + $dbserver = $_POST['dbtype'].':host='.$_POST['dbhost'].';dbname='.$_POST['dbname']; + try { + $mysqlcon = new PDO($dbserver, $_POST['dbuser'], $_POST['dbpass']); + $handle=fopen('../other/dbconfig.php','w'); + if(!fwrite($handle,$newconfig)) + { + $err_msg = sprintf($lang['widbcfgerr']); + $err_lvl = 3; + } else { + $err_msg = $lang['wisvsuc']." ".$lang['wisvres']; + $err_lvl = 0; + } + fclose($handle); + } catch (PDOException $e) { + $err_msg = sprintf($lang['widbcfgerr']); + $err_lvl = 3; + } + $db['type'] = $_POST['dbtype']; + $db['host'] = $_POST['dbhost']; + $dbname = $_POST['dbname']; + $db['user'] = $_POST['dbuser']; + $db['pass'] = $_POST['dbpass']; +} +?> +
    + +
    +
    +
    +

    + +

    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    *
    +
    +
    +
    + +
    + +
    *
    +
    +
    +
    +
    +
     
    +
    +
    +
    + +
    + +
    *
    +
    +
    +
    + +
    + +
    *
    +
    +
    +
    +
    +
    +
    +
     
    +
    +
    + +
    +
    +
     
    +
    +
    +
    + + + + + + + + + \ No newline at end of file diff --git a/webinterface/index.php b/webinterface/index.php new file mode 100644 index 0000000..08c67e0 --- /dev/null +++ b/webinterface/index.php @@ -0,0 +1,133 @@ +setTimeZone(new DateTimeZone($timezone))->format("Y-m-d H:i:s.u ").$loglevel.$logtext."\n"; + $loghandle = fopen($file, 'a'); + fwrite($loghandle, $input); + if (filesize($file) > 5242880) { + fwrite($loghandle, DateTime::createFromFormat('U.u', number_format(microtime(true), 6, '.', ''))->setTimeZone(new DateTimeZone($timezone))->format("Y-m-d H:i:s.u ")." NOTICE Logfile filesie of 5 MiB reached.. Rotate logfile.\n"); + fwrite($loghandle, DateTime::createFromFormat('U.u', number_format(microtime(true), 6, '.', ''))->setTimeZone(new DateTimeZone($timezone))->format("Y-m-d H:i:s.u ")." NOTICE Restart Bot to continue with new log file...\n"); + fclose($loghandle); + $file2 = "$file.old"; + if (file_exists($file2)) unlink($file2); + rename($file, $file2); + if (substr(php_uname(), 0, 7) == "Windows") { + exec("del /F ".substr(__DIR__,0,-12).'logs/pid'); + $WshShell = new COM("WScript.Shell"); + $oExec = $WshShell->Run("cmd /C php ".substr(__DIR__,0,-12)."worker.php start", 0, false); + exit; + } else { + exec("rm -f ".substr(__DIR__,0,-12).'logs/pid'); + exec("php ".substr(__DIR__,0,-12)."worker.php start"); + exit; + } + } +} + +function getclientip() { + if (!empty($_SERVER['HTTP_CLIENT_IP'])) + return $_SERVER['HTTP_CLIENT_IP']; + elseif(!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) + return $_SERVER['HTTP_X_FORWARDED_FOR']; + elseif(!empty($_SERVER['HTTP_X_FORWARDED'])) + return $_SERVER['HTTP_X_FORWARDED']; + elseif(!empty($_SERVER['HTTP_FORWARDED_FOR'])) + return $_SERVER['HTTP_FORWARDED_FOR']; + elseif(!empty($_SERVER['HTTP_FORWARDED'])) + return $_SERVER['HTTP_FORWARDED']; + elseif(!empty($_SERVER['REMOTE_ADDR'])) + return $_SERVER['REMOTE_ADDR']; + else + return false; +} + +if(($last_access = $mysqlcon->query("SELECT last_access,count_access FROM $dbname.config")) === false) { + $sqlmsg .= print_r($mysqlcon->errorInfo()); +} +$last_access = $last_access->fetchAll(); + +if(($last_access[0]['last_access'] + 1) >= time()) { + $again = $last_access[0]['last_access'] + 2 - time(); + $err_msg = sprintf($lang['errlogin2'],$again); + $err_lvl = 3; +} elseif ($last_access[0]['count_access'] >= 10) { + enter_logfile($logpath,$timezone,3,"Much incorrect logins detected on the webinterface. Blocked login for 300 seconds! Last access from IP ".getclientip()."."); + $err_msg = $lang['errlogin3']; + $err_lvl = 3; + $bantime = time() + 299; + if($mysqlcon->exec("UPDATE $dbname.config SET last_access='$bantime', count_access='0'") === false) { } +} elseif (isset($_POST['username']) && $_POST['username'] == $webuser && password_verify($_POST['password'], $webpass)) { + $_SESSION['username'] = $webuser; + $_SESSION['password'] = $webpass; + $_SESSION['clientip'] = getclientip(); + $_SESSION['newversion'] = $newversion; + if($mysqlcon->exec("UPDATE $dbname.config SET count_access='0'") === false) { } + if($_SERVER['HTTPS'] == "on") { + header("Location: https://".$_SERVER['HTTP_HOST'].rtrim(dirname($_SERVER['PHP_SELF']), '/\\')."/ts.php"); + } else { + header("Location: http://".$_SERVER['HTTP_HOST'].rtrim(dirname($_SERVER['PHP_SELF']), '/\\')."/ts.php"); + } + exit; +} elseif(isset($_POST['username'])) { + $nowtime = time(); + if($mysqlcon->exec("UPDATE $dbname.config SET last_access='$nowtime', count_access = count_access + 1") === false) { } + $err_msg = $lang['errlogin']; + $err_lvl = 3; +} + +require_once('nav.php'); +?> +
    + +
    + +
    +
    + + + \ No newline at end of file diff --git a/webinterface/msg.php b/webinterface/msg.php new file mode 100644 index 0000000..f6d8eb7 --- /dev/null +++ b/webinterface/msg.php @@ -0,0 +1,140 @@ +exec("UPDATE $dbname.config set msgtouser='$msgtouser',rankupmsg='$rankupmsg'") === false) { + $err_msg = print_r($mysqlcon->errorInfo()); + $err_lvl = 3; + } else { + $err_msg = $lang['wisvsuc']." ".$lang['wisvres']; + $err_lvl = NULL; + } + $rankupmsg = $_POST['rankupmsg']; +} +?> +
    + +
    +
    +
    +

    + +

    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    + '; + } else { + echo ''; + } ?> +
    +
    +
    + +
    + +
    +
    +
    +
    +
    +
    +
     
    +
    +
    + +
    +
    +
     
    +
    +
    +
    + + + + + + \ No newline at end of file diff --git a/webinterface/nav.php b/webinterface/nav.php new file mode 100644 index 0000000..0b17dd0 --- /dev/null +++ b/webinterface/nav.php @@ -0,0 +1,147 @@ + + + + + + + + + TS-N.NET Ranksystem + + + + + + + + + + + + + + + + + + + + +
    + +') && $_SESSION['newversion'] != '') { + $err_msg = ''.$lang['winav9'].''; $err_lvl = 1; +} + +if(!isset($_SERVER['HTTPS']) || $_SERVER['HTTPS'] != "on") { + $host = ""; + $err_msg = sprintf($lang['winav10'], $host,'!
    ', '
    '); $err_lvl = 2; +} + +function error_handling($msg,$type = NULL) { + switch ($type) { + case NULL: echo '
    '; break; + case 1: echo '
    '; break; + case 2: echo '
    '; break; + case 3: echo '
    '; break; + } + echo '',$msg,'
    '; +} +?> \ No newline at end of file diff --git a/webinterface/other.php b/webinterface/other.php new file mode 100644 index 0000000..75e5844 --- /dev/null +++ b/webinterface/other.php @@ -0,0 +1,299 @@ +exec("UPDATE $dbname.config set timezone='$timezone',dateformat='$dateformat',logpath='$logpath',language='$language',upcheck='$upcheck',updateinfotime='$updateinfotime',uniqueid='$uniqueid'") === false) { + $err_msg = print_r($mysqlcon->errorInfo()); + $err_lvl = 3; + } else { + $err_msg = $lang['wisvsuc']." ".$lang['wisvres']; + $err_lvl = NULL; + } + $logpath = $_POST['logpath']; + $config[0]['uniqueid'] = $_POST['uniqueid']; +} +?> +
    + +
    +
    +
    +

    + +

    +
    +
    +
    +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    *
    +
    +
    +
    + +
    + +
    +
    +
    +
    +
    +
    +
    + +
    + '; + } else { + echo ''; + } ?> +
    +
    +
    + +
    + + +
    +
    +
    + +
    + +
    +
    +
    +
    +
    +
    +
    +
     
    +
    +
    + +
    +
    +
     
    +
    +
    +
    +
    + + + + + + + + + + + \ No newline at end of file diff --git a/webinterface/stats.php b/webinterface/stats.php new file mode 100644 index 0000000..65fa980 --- /dev/null +++ b/webinterface/stats.php @@ -0,0 +1,442 @@ +exec("UPDATE $dbname.config set showexcld='$showexcld',showcolrg='$showcolrg',showcolcld='$showcolcld',showcoluuid='$showcoluuid',showcoldbid='$showcoldbid',showcolls='$showcolls',showcolot='$showcolot',showcolit='$showcolit',showcolat='$showcolat',showcolas='$showcolas',showcolnx='$showcolnx',showcolsg='$showcolsg',showhighest='$showhighest'") === false) { + $err_msg = print_r($mysqlcon->errorInfo()); + $err_lvl = 3; + } else { + $err_msg = $lang['wisvsuc']; + $err_lvl = NULL; + } +} +?> +
    + +
    +
    +
    +

    + +

    +
    +
    +
    +
    +
    +
    +
    +
    + +
    + '; + } else { + echo ''; + } ?> +
    +
    +
    +
    +
    + +
    + '; + } else { + echo ''; + } ?> +
    +
    +
    + +
    + '; + } else { + echo ''; + } ?> +
    +
    +
    + +
    + '; + } else { + echo ''; + } ?> +
    +
    +
    + +
    + '; + } else { + echo ''; + } ?> +
    +
    +
    + +
    + '; + } else { + echo ''; + } ?> +
    +
    +
    + +
    + '; + } else { + echo ''; + } ?> +
    +
    +
    + +
    + '; + } else { + echo ''; + } ?> +
    +
    +
    + +
    + '; + } else { + echo ''; + } ?> +
    +
    +
    + +
    + '; + } else { + echo ''; + } ?> +
    +
    +
    + +
    + '; + } else { + echo ''; + } ?> +
    +
    +
    + +
    + '; + } else { + echo ''; + } ?> +
    +
    +
    +
    +
     
    +
    + +
    + '; + } else { + echo ''; + } ?> +
    +
    +
    +
    +
     
    +
    +
    + +
    +
    +
     
    +
    +
    +
    +
    + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/webinterface/ts.php b/webinterface/ts.php new file mode 100644 index 0000000..709efff --- /dev/null +++ b/webinterface/ts.php @@ -0,0 +1,350 @@ +exec("UPDATE $dbname.config set tshost='$tshost',tsquery='$tsquery',tsvoice='$tsvoice',tsuser='$tsuser',tspass='$tspass',queryname='$queryname',queryname2='$queryname2',slowmode='$slowmode',defchid='$defchid'") === false) { + $err_msg = print_r($mysqlcon->errorInfo()); + $err_lvl = 3; + } else { + $err_msg = $lang['wisvsuc']." ".$lang['wisvres']; + $err_lvl = NULL; + } + $ts['host'] = $_POST['tshost']; + $ts['query'] = $_POST['tsquery']; + $ts['voice'] = $_POST['tsvoice']; + $ts['user'] = $_POST['tsuser']; + $ts['pass'] = $_POST['tspass']; +} +?> +
    + +
    +
    +
    +

    + +

    +
    +
    +
    +
    +
    +
    +
    +
    + +
    + +
    *
    +
    +
    +
    + +
    + + +
    *
    +
    +
    +
    + +
    + + +
    *
    +
    +
    +
    +
    +
     
    +
    +
    +
    + +
    + +
    *
    +
    +
    +
    + +
    + +
    *
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    + +
    *
    +
    +
    +
    + +
    + +
    *
    +
    +
    +
    +
    +
     
    +
    + +
    + + +
    +
    +
     
    +
    + +
    + +
    +
    +
    +
    +
     
    +
    +
    + +
    +
    +
     
    +
    +
    +
    +
    + + + + + + + + + + + \ No newline at end of file