Massive import web manager
BIN
code/web/www/css/images/Actions-system-run.ico
Executable file
After Width: | Height: | Size: 200 KiB |
BIN
code/web/www/css/images/ui-icons_444444_256x240.png
Executable file
After Width: | Height: | Size: 3.5 KiB |
1311
code/web/www/css/jquery-ui.css
vendored
Executable file
26
code/web/www/css/style.css
Executable file
|
@ -0,0 +1,26 @@
|
|||
|
||||
#wrapper-mac
|
||||
{
|
||||
white-space: nowrap;
|
||||
max-width: 250px;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
div.tooltip-inner {
|
||||
white-space:pre;
|
||||
max-width:none;
|
||||
}
|
||||
|
||||
td.details-control {
|
||||
background: url('../images/details_open.png') no-repeat center center;
|
||||
cursor: pointer;
|
||||
}
|
||||
tr.shown td.details-control {
|
||||
background: url('../images/details_close.png') no-repeat center center;
|
||||
}
|
||||
|
||||
#dialog-form
|
||||
{
|
||||
|
||||
}
|
434
code/web/www/dist/css/sb-admin-2.css
vendored
Executable file
|
@ -0,0 +1,434 @@
|
|||
/*!
|
||||
* Start Bootstrap - SB Admin 2 v3.3.7+1 (http://startbootstrap.com/template-overviews/sb-admin-2)
|
||||
* Copyright 2013-2016 Start Bootstrap
|
||||
* Licensed under MIT (https://github.com/BlackrockDigital/startbootstrap/blob/gh-pages/LICENSE)
|
||||
*/
|
||||
body {
|
||||
background-color: #f8f8f8;
|
||||
}
|
||||
#wrapper {
|
||||
width: 100%;
|
||||
}
|
||||
#page-wrapper {
|
||||
padding: 0 15px;
|
||||
min-height: 568px;
|
||||
background-color: white;
|
||||
}
|
||||
@media (min-width: 768px) {
|
||||
#page-wrapper {
|
||||
position: inherit;
|
||||
margin: 0 0 0 250px;
|
||||
padding: 0 30px;
|
||||
border-left: 1px solid #e7e7e7;
|
||||
}
|
||||
}
|
||||
.navbar-top-links {
|
||||
margin-right: 0;
|
||||
}
|
||||
.navbar-top-links li {
|
||||
display: inline-block;
|
||||
}
|
||||
.navbar-top-links li:last-child {
|
||||
margin-right: 15px;
|
||||
}
|
||||
.navbar-top-links li a {
|
||||
padding: 15px;
|
||||
min-height: 50px;
|
||||
}
|
||||
.navbar-top-links .dropdown-menu li {
|
||||
display: block;
|
||||
}
|
||||
.navbar-top-links .dropdown-menu li:last-child {
|
||||
margin-right: 0;
|
||||
}
|
||||
.navbar-top-links .dropdown-menu li a {
|
||||
padding: 3px 20px;
|
||||
min-height: 0;
|
||||
}
|
||||
.navbar-top-links .dropdown-menu li a div {
|
||||
white-space: normal;
|
||||
}
|
||||
.navbar-top-links .dropdown-messages,
|
||||
.navbar-top-links .dropdown-tasks,
|
||||
.navbar-top-links .dropdown-alerts {
|
||||
width: 310px;
|
||||
min-width: 0;
|
||||
}
|
||||
.navbar-top-links .dropdown-messages {
|
||||
margin-left: 5px;
|
||||
}
|
||||
.navbar-top-links .dropdown-tasks {
|
||||
margin-left: -59px;
|
||||
}
|
||||
.navbar-top-links .dropdown-alerts {
|
||||
margin-left: -123px;
|
||||
}
|
||||
.navbar-top-links .dropdown-user {
|
||||
right: 0;
|
||||
left: auto;
|
||||
}
|
||||
.sidebar .sidebar-nav.navbar-collapse {
|
||||
padding-left: 0;
|
||||
padding-right: 0;
|
||||
}
|
||||
.sidebar .sidebar-search {
|
||||
padding: 15px;
|
||||
}
|
||||
.sidebar ul li {
|
||||
border-bottom: 1px solid #e7e7e7;
|
||||
}
|
||||
.sidebar ul li a.active {
|
||||
background-color: #eeeeee;
|
||||
}
|
||||
.sidebar .arrow {
|
||||
float: right;
|
||||
}
|
||||
.sidebar .fa.arrow:before {
|
||||
content: "\f104";
|
||||
}
|
||||
.sidebar .active > a > .fa.arrow:before {
|
||||
content: "\f107";
|
||||
}
|
||||
.sidebar .nav-second-level li,
|
||||
.sidebar .nav-third-level li {
|
||||
border-bottom: none !important;
|
||||
}
|
||||
.sidebar .nav-second-level li a {
|
||||
padding-left: 37px;
|
||||
}
|
||||
.sidebar .nav-third-level li a {
|
||||
padding-left: 52px;
|
||||
}
|
||||
@media (min-width: 768px) {
|
||||
.sidebar {
|
||||
z-index: 1;
|
||||
position: absolute;
|
||||
width: 250px;
|
||||
margin-top: 51px;
|
||||
}
|
||||
.navbar-top-links .dropdown-messages,
|
||||
.navbar-top-links .dropdown-tasks,
|
||||
.navbar-top-links .dropdown-alerts {
|
||||
margin-left: auto;
|
||||
}
|
||||
}
|
||||
.btn-outline {
|
||||
color: inherit;
|
||||
background-color: transparent;
|
||||
transition: all .5s;
|
||||
}
|
||||
.btn-primary.btn-outline {
|
||||
color: #428bca;
|
||||
}
|
||||
.btn-success.btn-outline {
|
||||
color: #5cb85c;
|
||||
}
|
||||
.btn-info.btn-outline {
|
||||
color: #5bc0de;
|
||||
}
|
||||
.btn-warning.btn-outline {
|
||||
color: #f0ad4e;
|
||||
}
|
||||
.btn-danger.btn-outline {
|
||||
color: #d9534f;
|
||||
}
|
||||
.btn-primary.btn-outline:hover,
|
||||
.btn-success.btn-outline:hover,
|
||||
.btn-info.btn-outline:hover,
|
||||
.btn-warning.btn-outline:hover,
|
||||
.btn-danger.btn-outline:hover {
|
||||
color: white;
|
||||
}
|
||||
.chat {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
list-style: none;
|
||||
}
|
||||
.chat li {
|
||||
margin-bottom: 10px;
|
||||
padding-bottom: 5px;
|
||||
border-bottom: 1px dotted #999999;
|
||||
}
|
||||
.chat li.left .chat-body {
|
||||
margin-left: 60px;
|
||||
}
|
||||
.chat li.right .chat-body {
|
||||
margin-right: 60px;
|
||||
}
|
||||
.chat li .chat-body p {
|
||||
margin: 0;
|
||||
}
|
||||
.panel .slidedown .glyphicon,
|
||||
.chat .glyphicon {
|
||||
margin-right: 5px;
|
||||
}
|
||||
.chat-panel .panel-body {
|
||||
height: 350px;
|
||||
overflow-y: scroll;
|
||||
}
|
||||
.login-panel {
|
||||
margin-top: 25%;
|
||||
}
|
||||
.flot-chart {
|
||||
display: block;
|
||||
height: 400px;
|
||||
}
|
||||
.flot-chart-content {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
table.dataTable thead .sorting,
|
||||
table.dataTable thead .sorting_asc,
|
||||
table.dataTable thead .sorting_desc,
|
||||
table.dataTable thead .sorting_asc_disabled,
|
||||
table.dataTable thead .sorting_desc_disabled {
|
||||
background: transparent;
|
||||
}
|
||||
table.dataTable thead .sorting_asc:after {
|
||||
content: "\f0de";
|
||||
float: right;
|
||||
font-family: fontawesome;
|
||||
}
|
||||
table.dataTable thead .sorting_desc:after {
|
||||
content: "\f0dd";
|
||||
float: right;
|
||||
font-family: fontawesome;
|
||||
}
|
||||
table.dataTable thead .sorting:after {
|
||||
content: "\f0dc";
|
||||
float: right;
|
||||
font-family: fontawesome;
|
||||
color: rgba(50, 50, 50, 0.5);
|
||||
}
|
||||
.btn-circle {
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
padding: 6px 0;
|
||||
border-radius: 15px;
|
||||
text-align: center;
|
||||
font-size: 12px;
|
||||
line-height: 1.428571429;
|
||||
}
|
||||
.btn-circle.btn-lg {
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
padding: 10px 16px;
|
||||
border-radius: 25px;
|
||||
font-size: 18px;
|
||||
line-height: 1.33;
|
||||
}
|
||||
.btn-circle.btn-xl {
|
||||
width: 70px;
|
||||
height: 70px;
|
||||
padding: 10px 16px;
|
||||
border-radius: 35px;
|
||||
font-size: 24px;
|
||||
line-height: 1.33;
|
||||
}
|
||||
.show-grid [class^="col-"] {
|
||||
padding-top: 10px;
|
||||
padding-bottom: 10px;
|
||||
border: 1px solid #ddd;
|
||||
background-color: #eee !important;
|
||||
}
|
||||
.show-grid {
|
||||
margin: 15px 0;
|
||||
}
|
||||
.huge {
|
||||
font-size: 40px;
|
||||
}
|
||||
.panel-green {
|
||||
border-color: #5cb85c;
|
||||
}
|
||||
.panel-green > .panel-heading {
|
||||
border-color: #5cb85c;
|
||||
color: white;
|
||||
background-color: #5cb85c;
|
||||
}
|
||||
.panel-green > a {
|
||||
color: #5cb85c;
|
||||
}
|
||||
.panel-green > a:hover {
|
||||
color: #3d8b3d;
|
||||
}
|
||||
.panel-red {
|
||||
border-color: #d9534f;
|
||||
}
|
||||
.panel-red > .panel-heading {
|
||||
border-color: #d9534f;
|
||||
color: white;
|
||||
background-color: #d9534f;
|
||||
}
|
||||
.panel-red > a {
|
||||
color: #d9534f;
|
||||
}
|
||||
.panel-red > a:hover {
|
||||
color: #b52b27;
|
||||
}
|
||||
.panel-yellow {
|
||||
border-color: #f0ad4e;
|
||||
}
|
||||
.panel-yellow > .panel-heading {
|
||||
border-color: #f0ad4e;
|
||||
color: white;
|
||||
background-color: #f0ad4e;
|
||||
}
|
||||
.panel-yellow > a {
|
||||
color: #f0ad4e;
|
||||
}
|
||||
.panel-yellow > a:hover {
|
||||
color: #df8a13;
|
||||
}
|
||||
.timeline {
|
||||
position: relative;
|
||||
padding: 20px 0 20px;
|
||||
list-style: none;
|
||||
}
|
||||
.timeline:before {
|
||||
content: " ";
|
||||
position: absolute;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
left: 50%;
|
||||
width: 3px;
|
||||
margin-left: -1.5px;
|
||||
background-color: #eeeeee;
|
||||
}
|
||||
.timeline > li {
|
||||
position: relative;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
.timeline > li:before,
|
||||
.timeline > li:after {
|
||||
content: " ";
|
||||
display: table;
|
||||
}
|
||||
.timeline > li:after {
|
||||
clear: both;
|
||||
}
|
||||
.timeline > li:before,
|
||||
.timeline > li:after {
|
||||
content: " ";
|
||||
display: table;
|
||||
}
|
||||
.timeline > li:after {
|
||||
clear: both;
|
||||
}
|
||||
.timeline > li > .timeline-panel {
|
||||
float: left;
|
||||
position: relative;
|
||||
width: 46%;
|
||||
padding: 20px;
|
||||
border: 1px solid #d4d4d4;
|
||||
border-radius: 2px;
|
||||
-webkit-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.175);
|
||||
box-shadow: 0 1px 6px rgba(0, 0, 0, 0.175);
|
||||
}
|
||||
.timeline > li > .timeline-panel:before {
|
||||
content: " ";
|
||||
display: inline-block;
|
||||
position: absolute;
|
||||
top: 26px;
|
||||
right: -15px;
|
||||
border-top: 15px solid transparent;
|
||||
border-right: 0 solid #ccc;
|
||||
border-bottom: 15px solid transparent;
|
||||
border-left: 15px solid #ccc;
|
||||
}
|
||||
.timeline > li > .timeline-panel:after {
|
||||
content: " ";
|
||||
display: inline-block;
|
||||
position: absolute;
|
||||
top: 27px;
|
||||
right: -14px;
|
||||
border-top: 14px solid transparent;
|
||||
border-right: 0 solid #fff;
|
||||
border-bottom: 14px solid transparent;
|
||||
border-left: 14px solid #fff;
|
||||
}
|
||||
.timeline > li > .timeline-badge {
|
||||
z-index: 100;
|
||||
position: absolute;
|
||||
top: 16px;
|
||||
left: 50%;
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
margin-left: -25px;
|
||||
border-radius: 50% 50% 50% 50%;
|
||||
text-align: center;
|
||||
font-size: 1.4em;
|
||||
line-height: 50px;
|
||||
color: #fff;
|
||||
background-color: #999999;
|
||||
}
|
||||
.timeline > li.timeline-inverted > .timeline-panel {
|
||||
float: right;
|
||||
}
|
||||
.timeline > li.timeline-inverted > .timeline-panel:before {
|
||||
right: auto;
|
||||
left: -15px;
|
||||
border-right-width: 15px;
|
||||
border-left-width: 0;
|
||||
}
|
||||
.timeline > li.timeline-inverted > .timeline-panel:after {
|
||||
right: auto;
|
||||
left: -14px;
|
||||
border-right-width: 14px;
|
||||
border-left-width: 0;
|
||||
}
|
||||
.timeline-badge.primary {
|
||||
background-color: #2e6da4 !important;
|
||||
}
|
||||
.timeline-badge.success {
|
||||
background-color: #3f903f !important;
|
||||
}
|
||||
.timeline-badge.warning {
|
||||
background-color: #f0ad4e !important;
|
||||
}
|
||||
.timeline-badge.danger {
|
||||
background-color: #d9534f !important;
|
||||
}
|
||||
.timeline-badge.info {
|
||||
background-color: #5bc0de !important;
|
||||
}
|
||||
.timeline-title {
|
||||
margin-top: 0;
|
||||
color: inherit;
|
||||
}
|
||||
.timeline-body > p,
|
||||
.timeline-body > ul {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
.timeline-body > p + p {
|
||||
margin-top: 5px;
|
||||
}
|
||||
@media (max-width: 767px) {
|
||||
ul.timeline:before {
|
||||
left: 40px;
|
||||
}
|
||||
ul.timeline > li > .timeline-panel {
|
||||
width: calc(10%);
|
||||
width: -moz-calc(10%);
|
||||
width: -webkit-calc(10%);
|
||||
}
|
||||
ul.timeline > li > .timeline-badge {
|
||||
top: 16px;
|
||||
left: 15px;
|
||||
margin-left: 0;
|
||||
}
|
||||
ul.timeline > li > .timeline-panel {
|
||||
float: right;
|
||||
}
|
||||
ul.timeline > li > .timeline-panel:before {
|
||||
right: auto;
|
||||
left: -15px;
|
||||
border-right-width: 15px;
|
||||
border-left-width: 0;
|
||||
}
|
||||
ul.timeline > li > .timeline-panel:after {
|
||||
right: auto;
|
||||
left: -14px;
|
||||
border-right-width: 14px;
|
||||
border-left-width: 0;
|
||||
}
|
||||
}
|
5
code/web/www/dist/css/sb-admin-2.min.css
vendored
Executable file
47
code/web/www/dist/js/sb-admin-2.js
vendored
Executable file
|
@ -0,0 +1,47 @@
|
|||
/*!
|
||||
* Start Bootstrap - SB Admin 2 v3.3.7+1 (http://startbootstrap.com/template-overviews/sb-admin-2)
|
||||
* Copyright 2013-2016 Start Bootstrap
|
||||
* Licensed under MIT (https://github.com/BlackrockDigital/startbootstrap/blob/gh-pages/LICENSE)
|
||||
*/
|
||||
$(function() {
|
||||
$('#side-menu').metisMenu();
|
||||
});
|
||||
|
||||
//Loads the correct sidebar on window load,
|
||||
//collapses the sidebar on window resize.
|
||||
// Sets the min-height of #page-wrapper to window size
|
||||
$(function() {
|
||||
$(window).bind("load resize", function() {
|
||||
var topOffset = 50;
|
||||
var width = (this.window.innerWidth > 0) ? this.window.innerWidth : this.screen.width;
|
||||
if (width < 768) {
|
||||
$('div.navbar-collapse').addClass('collapse');
|
||||
topOffset = 100; // 2-row-menu
|
||||
} else {
|
||||
$('div.navbar-collapse').removeClass('collapse');
|
||||
}
|
||||
|
||||
var height = ((this.window.innerHeight > 0) ? this.window.innerHeight : this.screen.height) - 1;
|
||||
height = height - topOffset;
|
||||
if (height < 1) height = 1;
|
||||
if (height > topOffset) {
|
||||
$("#page-wrapper").css("min-height", (height) + "px");
|
||||
}
|
||||
});
|
||||
|
||||
var url = window.location;
|
||||
// var element = $('ul.nav a').filter(function() {
|
||||
// return this.href == url;
|
||||
// }).addClass('active').parent().parent().addClass('in').parent();
|
||||
var element = $('ul.nav a').filter(function() {
|
||||
return this.href == url;
|
||||
}).addClass('active').parent();
|
||||
|
||||
while (true) {
|
||||
if (element.is('li')) {
|
||||
element = element.parent().addClass('in').parent();
|
||||
} else {
|
||||
break;
|
||||
}
|
||||
}
|
||||
});
|
6
code/web/www/dist/js/sb-admin-2.min.js
vendored
Executable file
|
@ -0,0 +1,6 @@
|
|||
/*!
|
||||
* Start Bootstrap - SB Admin 2 v3.3.7+1 (http://startbootstrap.com/template-overviews/sb-admin-2)
|
||||
* Copyright 2013-2016 Start Bootstrap
|
||||
* Licensed under MIT (https://github.com/BlackrockDigital/startbootstrap/blob/gh-pages/LICENSE)
|
||||
*/
|
||||
$(function(){$("#side-menu").metisMenu()}),$(function(){$(window).bind("load resize",function(){var i=50,n=this.window.innerWidth>0?this.window.innerWidth:this.screen.width;n<768?($("div.navbar-collapse").addClass("collapse"),i=100):$("div.navbar-collapse").removeClass("collapse");var e=(this.window.innerHeight>0?this.window.innerHeight:this.screen.height)-1;e-=i,e<1&&(e=1),e>i&&$("#page-wrapper").css("min-height",e+"px")});for(var i=window.location,n=$("ul.nav a").filter(function(){return this.href==i}).addClass("active").parent();;){if(!n.is("li"))break;n=n.parent().addClass("in").parent()}});
|
11015
code/web/www/js/jquery-1.12.3.js
vendored
Executable file
18706
code/web/www/js/jquery-ui.js
vendored
Executable file
11
code/web/www/pages/dbconf.php
Normal file
|
@ -0,0 +1,11 @@
|
|||
<?php
|
||||
//DATABASE CONNECTION VARIABLES
|
||||
$host = "localhost"; // Host name
|
||||
$username = "eyeprox"; // Mysql username
|
||||
$password = "definir_ici_un_mot_de_passe"; // Mysql password
|
||||
$db_name = "eyeprox"; // Database name
|
||||
|
||||
$tbl_prefix = "";
|
||||
$tbl_nodes = $tbl_prefix."nodes";
|
||||
$tbl_logs = $tbl_prefix."logs";
|
||||
|
BIN
code/web/www/pages/images/configuration_13194.png
Normal file
After Width: | Height: | Size: 28 KiB |
BIN
code/web/www/pages/images/details_close.png
Normal file
After Width: | Height: | Size: 686 B |
BIN
code/web/www/pages/images/details_open.png
Normal file
After Width: | Height: | Size: 709 B |
BIN
code/web/www/pages/images/fb-lien-420.png
Executable file
After Width: | Height: | Size: 10 KiB |
BIN
code/web/www/pages/images/icon-load.gif
Executable file
After Width: | Height: | Size: 5.4 KiB |
BIN
code/web/www/pages/images/nongrata_off.png
Normal file
After Width: | Height: | Size: 1.3 KiB |
BIN
code/web/www/pages/images/nongrata_on.jpg
Normal file
After Width: | Height: | Size: 24 KiB |
BIN
code/web/www/pages/images/nongrata_on.png
Normal file
After Width: | Height: | Size: 1 KiB |
8
code/web/www/pages/includes/footer.php
Executable file
|
@ -0,0 +1,8 @@
|
|||
|
||||
</div>
|
||||
|
||||
<!-- <center> VM viewer and management center (VM-VMC) -- V0.1 by Tlams</center> -->
|
||||
<center> PCM - Proxmox Central Management -- V0.1 by Tlams</center>
|
||||
</body>
|
||||
|
||||
</html>
|
215
code/web/www/pages/includes/header.php
Executable file
|
@ -0,0 +1,215 @@
|
|||
<?php
|
||||
require(dirname(__DIR__).'/requires/configs.php');
|
||||
require(dirname(__DIR__).'/requires/functions.php');
|
||||
|
||||
|
||||
//SESSION
|
||||
session_start();
|
||||
if (!isset($_SESSION['uid']) && ($useldap == true)) {
|
||||
header("location:login.php");
|
||||
die();
|
||||
}
|
||||
|
||||
|
||||
// GEN HTML LIST Dates
|
||||
$html = new API_Gen_HTML;
|
||||
$q = new API_GET_INFO;
|
||||
$html_dates = [];
|
||||
$lastdate = "";
|
||||
|
||||
if(!empty($_POST['date']))
|
||||
{
|
||||
$html_dates = $html->List_Dates($_POST['date']);
|
||||
$lastdate = $_POST['date'];
|
||||
}
|
||||
else
|
||||
{
|
||||
$html_dates = $html->List_Dates();
|
||||
$lastdate = json_decode($q->GET_Dates("last"), true)['value'];
|
||||
}
|
||||
|
||||
//$html_groups = $html->List_Groups($lastdate);
|
||||
?>
|
||||
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="description" content="">
|
||||
<meta name="author" content="">
|
||||
|
||||
<title>PCM</title>
|
||||
|
||||
<!-- Bootstrap Core CSS -->
|
||||
<link href="../css/jquery-ui.css" rel="stylesheet">
|
||||
|
||||
<!-- Bootstrap Core CSS -->
|
||||
<link href="../css/style.css" rel="stylesheet">
|
||||
|
||||
<!-- Bootstrap Core CSS -->
|
||||
<link href="../vendor/bootstrap/css/bootstrap.css" rel="stylesheet">
|
||||
<link href="../vendor/bootstrap-select/css/bootstrap-select.css" rel="stylesheet">
|
||||
|
||||
<!-- MetisMenu CSS -->
|
||||
<link href="../vendor/metisMenu/metisMenu.min.css" rel="stylesheet">
|
||||
|
||||
<!-- DataTables CSS -->
|
||||
<link href="../vendor/datatables-plugins/dataTables.bootstrap.css" rel="stylesheet">
|
||||
|
||||
<!-- DataTables Responsive CSS -->
|
||||
<link href="../vendor/datatables-responsive/dataTables.responsive.css" rel="stylesheet">
|
||||
|
||||
<!-- Custom CSS -->
|
||||
<link href="../dist/css/sb-admin-2.css" rel="stylesheet">
|
||||
|
||||
<!-- Custom Fonts -->
|
||||
<link href="../vendor/font-awesome/css/font-awesome.min.css" rel="stylesheet" type="text/css">
|
||||
|
||||
<!-- jQuery -->
|
||||
<script src="../js/jquery-1.12.3.js"></script>
|
||||
<script src="../js/jquery-ui.js"></script>
|
||||
|
||||
<!-- Bootstrap Core JavaScript -->
|
||||
<script src="../vendor/bootstrap/js/bootstrap.min.js"></script>
|
||||
<script src="../vendor/bootstrap-select/js/bootstrap-select.js"></script>
|
||||
|
||||
|
||||
<!-- Metis Menu Plugin JavaScript -->
|
||||
<script src="../vendor/metisMenu/metisMenu.min.js"></script>
|
||||
|
||||
<!-- DataTables JavaScript -->
|
||||
<script src="../vendor/datatables/js/jquery.dataTables.min.js"></script>
|
||||
<script src="../vendor/datatables-plugins/dataTables.bootstrap.min.js"></script>
|
||||
<script src="../vendor/datatables-responsive/dataTables.responsive.js"></script>
|
||||
|
||||
<!-- Morris Charts JavaScript -->
|
||||
<script src="../vendor/raphael/raphael.min.js"></script>
|
||||
<script src="../vendor/morrisjs/morris.min.js"></script>
|
||||
|
||||
<!-- Custom Theme JavaScript -->
|
||||
<script src="../dist/js/sb-admin-2.js"></script>
|
||||
|
||||
<!-- Include the plugin's CSS and JS: -->
|
||||
<script type="text/javascript" src="../vendor/bootstrap-multisltc/js/bootstrap-multiselect.js"></script>
|
||||
<link rel="stylesheet" href="../vendor/bootstrap-multisltc/css/bootstrap-multiselect.css" type="text/css"/>
|
||||
|
||||
<!-- Main -->
|
||||
<script src="js/main.js"></script>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div id="wrapper">
|
||||
|
||||
<!-- Navigation -->
|
||||
<nav class="navbar navbar-default navbar-static-top" role="navigation" style="margin-bottom: 0">
|
||||
<div class="navbar-header">
|
||||
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
|
||||
<span class="sr-only">Toggle navigation</span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
<a class="navbar-brand" href="index.php">PCM V0.1</a>
|
||||
|
||||
<form method="POST" class="navbar-brand" action="" style="margin-top: -7px">
|
||||
<?php echo $html_dates; ?> <INPUT type="submit" class="btn btn-default pull-right" value="OK">
|
||||
</form>
|
||||
</div>
|
||||
<!-- /.navbar-header -->
|
||||
|
||||
<ul class="nav navbar-top-links navbar-right">
|
||||
<?php
|
||||
if ($useldap == true)
|
||||
{
|
||||
echo "Welcome ".$_SESSION['uid'];
|
||||
}
|
||||
else
|
||||
echo "Welcome guest !";
|
||||
?>
|
||||
|
||||
<!-- /.dropdown -->
|
||||
<li class="dropdown">
|
||||
<a class="dropdown-toggle" data-toggle="dropdown" href="#">
|
||||
<i class="fa fa-user fa-fw"></i> <i class="fa fa-caret-down"></i>
|
||||
</a>
|
||||
<?php
|
||||
if ($useldap == true)
|
||||
{
|
||||
echo '
|
||||
<ul class="dropdown-menu dropdown-user">
|
||||
<li><a href="login.php?logout="><i class="fa fa-sign-out fa-fw"></i> Logout</a></li>
|
||||
</ul>
|
||||
';
|
||||
}
|
||||
?>
|
||||
|
||||
<!-- /.dropdown-user -->
|
||||
</li>
|
||||
<!-- /.dropdown -->
|
||||
</ul>
|
||||
<!-- /.navbar-top-links -->
|
||||
|
||||
<div class="navbar-default sidebar" role="navigation">
|
||||
<div class="sidebar-nav navbar-collapse">
|
||||
<ul class="nav" id="side-menu">
|
||||
<!--
|
||||
<li class="sidebar-search">
|
||||
<div class="input-group custom-search-form">
|
||||
<input type="text" class="form-control" placeholder="Search...">
|
||||
<span class="input-group-btn">
|
||||
<button class="btn btn-default" type="button">
|
||||
<i class="fa fa-search"></i>
|
||||
</button>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
</li>
|
||||
-->
|
||||
|
||||
|
||||
<li>
|
||||
<a href="index.php"><i class="fa fa-dashboard fa-fw"></i> Dashboard</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="vmalloc.php"><i class="fa fa-street-view fa-fw"></i>VM Allocation</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="vms.php"><i class="fa fa-table fa-fw"></i>VMs</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="nodes.php"><i class="fa fa-table fa-fw"></i>Hypervisors</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="storages.php"><i class="fa fa-table fa-fw"></i>Storages</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
<li>
|
||||
<a href="#"><i class="fa fa-sitemap fa-fw"></i> Groups <span class="fa arrow"></span></a>
|
||||
<ul class="nav nav-second-level">
|
||||
<?php // echo $html_groups; ?>
|
||||
</ul>
|
||||
<!-- /.nav-second-level -->
|
||||
</li>
|
||||
|
||||
|
||||
<li>
|
||||
<a href="informations.php"><i class="fa fa-info fa-fw"></i>Informations</a>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
<!-- /.sidebar-collapse -->
|
||||
</div>
|
||||
<!-- /.navbar-static-side -->
|
||||
</nav>
|
132
code/web/www/pages/index.php
Executable file
|
@ -0,0 +1,132 @@
|
|||
<?php
|
||||
include(dirname(__DIR__).'/pages/includes/header.php');
|
||||
?>
|
||||
<div id="page-wrapper">
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<h1 class="page-header">General Dashboard</h1>
|
||||
</div>
|
||||
<div class="col-lg-12" id="List_Dates">
|
||||
|
||||
</div>
|
||||
<!-- /.col-lg-12 -->
|
||||
</div>
|
||||
<!-- /.row -->
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<div class="panel panel-default">
|
||||
|
||||
<!--
|
||||
|
||||
<div class="col-lg-3 col-md-6">
|
||||
<div class="panel panel-green">
|
||||
<div class="panel-heading">
|
||||
<div class="row">
|
||||
<div class="col-xs-3">
|
||||
<i class="fa fa-tasks fa-5x"></i>
|
||||
</div>
|
||||
<div class="col-xs-9 text-right">
|
||||
<div class="huge">12</div>
|
||||
<div>Nodes in your insfrastucture</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<a href="#">
|
||||
<div class="panel-footer">
|
||||
<span class="pull-left">View Details</span>
|
||||
<span class="pull-right"><i class="fa fa-arrow-circle-right"></i></span>
|
||||
<div class="clearfix"></div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-3 col-md-6">
|
||||
<div class="panel panel-green">
|
||||
<div class="panel-heading">
|
||||
<div class="row">
|
||||
<div class="col-xs-3">
|
||||
<i class="fa fa-tasks fa-5x"></i>
|
||||
</div>
|
||||
<div class="col-xs-9 text-right">
|
||||
<div class="huge">12</div>
|
||||
<div>VMs in your insfrastucture</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<a href="#">
|
||||
<div class="panel-footer">
|
||||
<span class="pull-left">View Details</span>
|
||||
<span class="pull-right"><i class="fa fa-arrow-circle-right"></i></span>
|
||||
<div class="clearfix"></div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="col-lg-3 col-md-6">
|
||||
<div class="panel panel-green">
|
||||
<div class="panel-heading">
|
||||
<div class="row">
|
||||
<div class="col-xs-3">
|
||||
<i class="fa fa-tasks fa-5x"></i>
|
||||
</div>
|
||||
<div class="col-xs-9 text-right">
|
||||
<div class="huge">12</div>
|
||||
<div>New Tasks!</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<a href="#">
|
||||
<div class="panel-footer">
|
||||
<span class="pull-left">View Details</span>
|
||||
<span class="pull-right"><i class="fa fa-arrow-circle-right"></i></span>
|
||||
<div class="clearfix"></div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-3 col-md-6">
|
||||
<div class="panel panel-green">
|
||||
<div class="panel-heading">
|
||||
<div class="row">
|
||||
<div class="col-xs-3">
|
||||
<i class="fa fa-tasks fa-5x"></i>
|
||||
</div>
|
||||
<div class="col-xs-9 text-right">
|
||||
<div class="huge">12</div>
|
||||
<div>New Tasks!</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<a href="#">
|
||||
<div class="panel-footer">
|
||||
<span class="pull-left">View Details</span>
|
||||
<span class="pull-right"><i class="fa fa-arrow-circle-right"></i></span>
|
||||
<div class="clearfix"></div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<h3>Clusters may be dead</h3>
|
||||
<div id="clusterdead" style="height: 300px;"></div>
|
||||
</div>
|
||||
<div class="col-md-12">
|
||||
<h3>Hypervisors ressources critical</h3>
|
||||
<div id="hypfull" style="height: 300px;"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
-->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php
|
||||
include(dirname(__DIR__).'/pages/includes/footer.php');
|
||||
?>
|
303
code/web/www/pages/js/main.js
Executable file
|
@ -0,0 +1,303 @@
|
|||
/**
|
||||
* Created by tlams on 10/11/16.
|
||||
*/
|
||||
|
||||
$(document).ready(function()
|
||||
{
|
||||
/* MAC ADDR Tooltip */
|
||||
$('[data-toggle="tooltip"]').tooltip({
|
||||
'selector': '',
|
||||
'placement': 'left',
|
||||
'container':'body'
|
||||
});
|
||||
|
||||
/* ARRAY CONFIGURATION */
|
||||
$('#dataTables-storages').DataTable( {
|
||||
"lengthMenu": [[10, 25, 50, 100, -1], [10, 25, 50, 100, "all"]],
|
||||
"paging": true,
|
||||
"searching": true,
|
||||
"ordering": true,
|
||||
"info": true,
|
||||
|
||||
responsive: {
|
||||
details: {
|
||||
type: 'inline',
|
||||
target: 'tr'
|
||||
}
|
||||
},
|
||||
columnDefs: [ {
|
||||
className: 'control',
|
||||
orderable: false,
|
||||
targets: 0
|
||||
} ],
|
||||
order: [ 1, 'asc' ]
|
||||
} );
|
||||
|
||||
|
||||
$('#dataTables-cluster').DataTable( {
|
||||
"lengthMenu": [[10, 25, 50, 100, -1], [10, 25, 50, 100, "all"]],
|
||||
"paging": true,
|
||||
"searching": true,
|
||||
"ordering": true,
|
||||
"info": true,
|
||||
|
||||
responsive: {
|
||||
details: {
|
||||
type: 'inline',
|
||||
target: 'tr'
|
||||
}
|
||||
},
|
||||
columnDefs: [ {
|
||||
className: 'control',
|
||||
orderable: false,
|
||||
targets: 0
|
||||
} ],
|
||||
order: [ 1, 'asc' ]
|
||||
} );
|
||||
|
||||
|
||||
$('#dataTables-hypervisors').DataTable( {
|
||||
"lengthMenu": [[25, 50, 100, 500, -1], [25, 50, 100, 500, "all"]],
|
||||
"paging": true,
|
||||
"searching": true,
|
||||
"ordering": true,
|
||||
"info": true,
|
||||
|
||||
responsive: {
|
||||
details: {
|
||||
type: 'inline',
|
||||
target: 'tr'
|
||||
}
|
||||
},
|
||||
|
||||
columnDefs: [ {
|
||||
className: 'control',
|
||||
orderable: false,
|
||||
targets: 0
|
||||
}
|
||||
],
|
||||
order: [ 1, 'asc' ]
|
||||
} );
|
||||
|
||||
|
||||
$('#dataTables-hypervisor').DataTable( {
|
||||
"paging": false,
|
||||
"searching": false,
|
||||
"ordering": false,
|
||||
"info": true,
|
||||
|
||||
responsive: {
|
||||
details: {
|
||||
type: 'inline',
|
||||
target: 'tr'
|
||||
}
|
||||
},
|
||||
columnDefs: [ {
|
||||
className: 'control',
|
||||
orderable: false,
|
||||
targets: 0
|
||||
} ],
|
||||
order: [ 2, 'asc' ]
|
||||
} );
|
||||
|
||||
|
||||
|
||||
$('.dataTables-vm').DataTable({
|
||||
"lengthMenu": [[25, 50, 100, 500, -1], [25, 50, 100, 500, "all"]],
|
||||
"paging": true,
|
||||
"searching": true,
|
||||
"ordering": true,
|
||||
"info": true,
|
||||
"pagingType": "simple_numbers",
|
||||
|
||||
responsive: {
|
||||
details: {
|
||||
type: 'column',
|
||||
target: 'tr'
|
||||
}
|
||||
},
|
||||
columnDefs: [ {
|
||||
className: 'control',
|
||||
orderable: false,
|
||||
targets: 0
|
||||
} ],
|
||||
order: [ 1, 'asc' ]
|
||||
} );
|
||||
|
||||
$( function()
|
||||
{
|
||||
|
||||
/* VM GESTION */
|
||||
var dialog, form,
|
||||
name = $( "#name" ),
|
||||
password = $( "#password" ),
|
||||
allFields = $( [] ).add( name ).add( password );
|
||||
|
||||
function sendrequest() {
|
||||
// J'initialise le variable box
|
||||
var box = $('.result');
|
||||
|
||||
var action = $( "#action" );
|
||||
var vmid = $( "#vmid" );
|
||||
var node = $( "#node" );
|
||||
var commandinfo = "The status available in the table is not dynamically update, you must wait the next cron rotate. <br /> You can play the status command to have an updated informations";
|
||||
box.html('<center> <img src="images/icon-load.gif" height="60" width="60"></center>');
|
||||
$('.selectaction').prop('selectedIndex',0);
|
||||
// Je définis ma requête ajax
|
||||
$.ajax({
|
||||
|
||||
// Adresse à laquelle la requête est envoyée
|
||||
url: 'requires/pveaction.php',
|
||||
type : 'POST',
|
||||
data : 'user=' + name.val() + '&password=' + password.val() + '&action=' + action.val() + '&vmid=' + vmid.val() + '&node=' + node.val(),
|
||||
// Le délai maximun en millisecondes de traitement de la demande
|
||||
timeout: 32000,
|
||||
|
||||
// La fonction à apeller si la requête aboutie
|
||||
success: function (data) {
|
||||
// Je charge les données dans box
|
||||
box.html('<div class="alert alert-info"> <strong>Command return: </strong> '+data+' <br /> '+ commandinfo +'</div>');
|
||||
},
|
||||
|
||||
// La fonction à appeler si la requête n'a pas abouti
|
||||
error: function() {
|
||||
// J'affiche un message d'erreur
|
||||
box.html('<div class="alert alert-danger"> <strong>Error: </strong> Command failed, try again or contact an true admin. </div>');
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
dialog.dialog( "close" );
|
||||
$("html, body").animate({ scrollTop: $(document).height() }, "slow");
|
||||
}
|
||||
|
||||
dialog = $( "#dialog-form" ).dialog({
|
||||
autoOpen: false,
|
||||
height: 250,
|
||||
width: 350,
|
||||
modal: true,
|
||||
resizable: false,
|
||||
buttons: {
|
||||
"Send": sendrequest,
|
||||
Cancel: function() {
|
||||
dialog.dialog( "close" );
|
||||
}
|
||||
},
|
||||
close: function() {
|
||||
form[ 0 ].reset();
|
||||
allFields.removeClass( "ui-state-error" );
|
||||
$('.selectaction').prop('selectedIndex',0);
|
||||
}
|
||||
});
|
||||
|
||||
form = dialog.find( "form" ).on( "submit", function( event ) {
|
||||
event.preventDefault();
|
||||
sendrequest();
|
||||
|
||||
});
|
||||
|
||||
$('.dataTables-vm').on('change', '.selectaction',function() {
|
||||
var jsonout = JSON.parse(this.value.replace(/'/g, '"'));
|
||||
if (jsonout["action"] != "none") {
|
||||
|
||||
$('#action').val(jsonout["action"]);
|
||||
$('#vmid').val(jsonout["vmid"]);
|
||||
$('#node').val(jsonout["node"]);
|
||||
dialog.dialog( "open" );
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
|
||||
/* NODE NON GRATA */
|
||||
|
||||
function nongrataswitch(node, action) {
|
||||
// J'initialise le variable box
|
||||
var box = $('.result');
|
||||
var commandinfo = "This information will be automatic applied in the next update.";
|
||||
box.html('<center> <img src="images/icon-load.gif" height="60" width="60"></center>');
|
||||
var divid = '#'+node;
|
||||
// Je définis ma requête ajax
|
||||
$.ajax({
|
||||
|
||||
// Adresse à laquelle la requête est envoyée
|
||||
url: 'requires/pcmaction.php',
|
||||
type : 'POST',
|
||||
data : 'node=' + node + '&action=' + action,
|
||||
// Le délai maximun en millisecondes de traitement de la demande
|
||||
timeout: 32000,
|
||||
|
||||
// La fonction à apeller si la requête aboutie
|
||||
success: function (data) {
|
||||
// Je charge les données dans box
|
||||
box.html('<div class="alert alert-info"> <strong>information: </strong>' + commandinfo);
|
||||
|
||||
if (data == "sw_OFF")
|
||||
$(divid).html('<a class="nongratalink" data-toggle="tooltip" title="Switch to non grata" id="'+node+'" action="sw_OFF" node="'+node+'" href="#" > <img src="images/nongrata_off.png" alt="Nongrataimg" style="width:16px;height:16px;"/></a>');
|
||||
else if (data == "sw_ON")
|
||||
$(divid).html('<a class="nongratalink" data-toggle="tooltip" title="Switch to grata" id="'+node+'" action="sw_ON" node="'+node+'" href="#" > <img src="images/nongrata_on.png" alt="Nongrataimg" style="width:16px;height:16px;"/></a>');
|
||||
else
|
||||
$(divid).html(':(');
|
||||
},
|
||||
|
||||
// La fonction à appeler si la requête n'a pas abouti
|
||||
error: function() {
|
||||
// J'affiche un message d'erreur
|
||||
box.html('<div class="alert alert-danger"> <strong>Error: </strong> Command failed, try again or contact an administrator. </div>');
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
dialog.dialog( "close" );
|
||||
}
|
||||
|
||||
$('.nongratalink').click(function() {
|
||||
var node = $(this).attr('node');
|
||||
var action = $(this).attr('action');
|
||||
nongrataswitch(node, action);
|
||||
return false; // return false so the browser will not scroll your page
|
||||
});
|
||||
/* NEWVM -- SEARCH NODES */
|
||||
|
||||
form = dialog.find( "form" ).on( "submit", function( event ) {
|
||||
event.preventDefault();
|
||||
sendrequest();
|
||||
|
||||
});
|
||||
|
||||
function newvm() {
|
||||
// J'initialise le variable box
|
||||
var box = $('#result');
|
||||
var cpu = $( "#cpu" );
|
||||
var ram = $( "#ram" );
|
||||
var disk = $( "#disk" );
|
||||
var cluster = $( "#enableClickableOptGroups" );
|
||||
|
||||
box.html('<center> <img src="images/icon-load.gif" height="60" width="60"> <br>Please wait... can take more than 1 minute</center> ');
|
||||
$.ajax({
|
||||
|
||||
// Adresse à laquelle la requête est envoyée
|
||||
url: 'requires/newvm.php',
|
||||
type : 'POST',
|
||||
data : 'cpu=' + cpu.val() + '&ram=' + ram.val() + '&disk=' + disk.val() + '&cluster=' + cluster.val(),
|
||||
// Le délai maximun en millisecondes de traitement de la demande
|
||||
timeout: 500000,
|
||||
|
||||
// La fonction à apeller si la requête aboutie
|
||||
success: function (data) {
|
||||
// Je charge les données dans box
|
||||
box.html(data);
|
||||
},
|
||||
|
||||
// La fonction à appeler si la requête n'a pas abouti
|
||||
error: function() {
|
||||
// J'affiche un message d'erreur
|
||||
box.html('<div class="alert alert-danger"> <strong>Error: </strong> Command failed, try again or contact an admin. </div>');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
$("#buttonnewvm").click(newvm);
|
||||
|
||||
});
|
||||
} );
|
56
code/web/www/pages/nodes.php
Executable file
|
@ -0,0 +1,56 @@
|
|||
<?php
|
||||
include(dirname(__DIR__).'/pages/includes/header.php');
|
||||
$html_HYPs = $html->List_HYPs($lastdate);
|
||||
|
||||
?>
|
||||
<div id="page-wrapper">
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<h1 class="page-header">HYPERVISORS</h1>
|
||||
</div>
|
||||
<div class="col-lg-12" id="List_Dates">
|
||||
|
||||
|
||||
</div>
|
||||
<!-- /.col-lg-12 -->
|
||||
</div>
|
||||
<!-- /.row -->
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<div class="panel panel-default">
|
||||
<!-- /.panel-heading -->
|
||||
<div class="panel-body" >
|
||||
|
||||
<table width="100%" class="table table-striped table-bordered table-hover" id="dataTables-hypervisors" >
|
||||
<thead class="thead-inverse">
|
||||
<tr>
|
||||
<th></th>
|
||||
<th data-priority="1">Cluster</th>
|
||||
<th data-priority="1">Name</th>
|
||||
<th data-priority="1">RAM(Used)</th>
|
||||
<th data-priority="1">RAM(Alloc/Total)</th>
|
||||
<th data-priority="1">CPU(Alloc/Total)</th>
|
||||
<th data-priority="1">STO(Used)*</th>
|
||||
<th data-priority="1">STO(Alloc/Total)</th>
|
||||
<th data-priority="1">Load</th>
|
||||
<th data-priority="1">Uptime</th>
|
||||
<th data-priority="1">Eligibility*</th>
|
||||
<th class="none" >Swap (used/total)</th>
|
||||
<th class="none" >PVE Version</th>
|
||||
<th class="none" >Kernel</th>
|
||||
<th class="none" >CPU - Informations</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<?php echo $html_HYPs; ?>
|
||||
</table>
|
||||
</div>
|
||||
<div id="result"></div>
|
||||
* The storage used is the largest.<br/>
|
||||
* This is a score to evaluate the eligibility to receive news VM. Lower score are the best.
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<?php
|
||||
include(dirname(__DIR__).'/pages/includes/footer.php');
|
||||
?>
|
15
code/web/www/pages/requires/configs.php
Executable file
|
@ -0,0 +1,15 @@
|
|||
<?php
|
||||
// Site
|
||||
$LANG = "EN";
|
||||
|
||||
//URL Site
|
||||
$baseurl = "http://www.eyeprox.lan";
|
||||
|
||||
|
||||
$sto_regx_status = false; // false = default on the size
|
||||
$sto_regx = "/((^VMs)|(!VG)).+/i"; // if not found, use size
|
||||
|
||||
$non_grata_weight = 1000;
|
||||
|
||||
$useldap = False;
|
||||
|
583
code/web/www/pages/requires/functions.php
Executable file
|
@ -0,0 +1,583 @@
|
|||
<?php
|
||||
|
||||
class API_GET_INFO
|
||||
{
|
||||
|
||||
public function GET_Dates($select="all")
|
||||
{
|
||||
$dates = curl("api/v1/static/dates/".$select);
|
||||
return $dates;
|
||||
}
|
||||
|
||||
public function GET_clusters_conf($cluster=null)
|
||||
{
|
||||
$cluster_conf = curl("api/v1/administration/cluster/".$cluster);
|
||||
return $cluster_conf;
|
||||
}
|
||||
|
||||
public function GET_qemu($date, $cluster=null, $node=null, $vmid= null)
|
||||
{
|
||||
|
||||
$qemu = curl("api/v1/static/instances/".$date."/");
|
||||
return $qemu;
|
||||
}
|
||||
|
||||
public function GET_hyp($date, $cluster=null, $node=null)
|
||||
{
|
||||
$nodes = curl("api/v1/static/nodes/".$date."/");
|
||||
return $nodes;
|
||||
}
|
||||
|
||||
public function GET_sto($date, $node = null, $storage = null)
|
||||
{
|
||||
|
||||
$storages = curl("api/v1/static/storages/".$date."/");
|
||||
return $storages;
|
||||
}
|
||||
|
||||
public function GET_Groups($date, $group = null)
|
||||
{
|
||||
if (!empty($group))
|
||||
$groups = curl($date."/groups/".$group);
|
||||
else
|
||||
$groups = curl($date."/groups/");
|
||||
|
||||
return $groups;
|
||||
}
|
||||
|
||||
public function GET_Disk($date, $cluster = null, $node = null)
|
||||
{
|
||||
$disks = curl("api/v1/static/disks/".$date."/".$cluster."/".$node."/");
|
||||
return $disks;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
class API_Gen_HTML
|
||||
{
|
||||
|
||||
var $sto_regx; // regex ou size
|
||||
var $sto_regx_status;
|
||||
|
||||
public function View_VM($node, $search)
|
||||
{
|
||||
$d = new API_GET_INFO;
|
||||
$dates = $d->GET_Dates();
|
||||
$array = json_decode($dates, true);
|
||||
$result = array();
|
||||
foreach ($array as $keydate => $value)
|
||||
{
|
||||
$vm = $d->GET_qemu($keydate, $node, $search);
|
||||
$array = json_decode($vm, true);
|
||||
$array['cpu'] = $array['cpu']*100;
|
||||
$array['mem'] = $array['mem'] / (1024 * 1024);
|
||||
$array['timestamp'] = $array['timestamp'] * 1000;
|
||||
$array['netout'] = $array['netout'] / (1024 * 1024);
|
||||
$array['netin'] = $array['netin'] / (1024 * 1024);
|
||||
$result[] = $array;
|
||||
}
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
|
||||
public function List_Groups($timestamp = "")
|
||||
{
|
||||
$d = new API_GET_INFO;
|
||||
$groups = $d->GET_Groups($timestamp);
|
||||
$html = '';
|
||||
|
||||
$arr_groups = json_decode($groups, true);
|
||||
|
||||
|
||||
foreach ($arr_groups as $group)
|
||||
{
|
||||
$clusters = $d->GET_Groups($timestamp, $group);
|
||||
|
||||
$arr_clusters = json_decode($clusters, true);
|
||||
sort($arr_clusters);
|
||||
|
||||
reset($arr_clusters);
|
||||
if (!empty($group))
|
||||
{
|
||||
$html = $html.'<li><a href="#">'.$group.'<span class="fa arrow"></span></a>';
|
||||
$html = $html.'<ul class="nav nav-third-level">';
|
||||
foreach ($arr_clusters as $cluster)
|
||||
{
|
||||
$cluster = (object) $cluster;
|
||||
$html = $html.'<li><a href="cluster.php?cluster='.$cluster->cluster.'">'.$cluster->cluster.'</a></li>';
|
||||
}
|
||||
$html = $html.'</ul></li>';
|
||||
}
|
||||
else {
|
||||
$html = $html.'<li><a href="#">'.$group.'<span class="fa arrow"></span></a>';
|
||||
$html = $html.'<ul class="nav nav-second-level"></ul></li>';
|
||||
}
|
||||
}
|
||||
$html = $html.'';
|
||||
|
||||
return $html;
|
||||
}
|
||||
|
||||
|
||||
public function List_Dates($timestamp = "")
|
||||
{
|
||||
$d = new API_GET_INFO;
|
||||
$dates = $d->GET_Dates();
|
||||
$dates_list = json_decode($dates, true)['value'];
|
||||
arsort($dates_list);
|
||||
|
||||
$html = '<select id="List-Dates" name="date" class="selectpicker selectdate show-tick">';
|
||||
|
||||
foreach ($dates_list as $key => $value)
|
||||
{
|
||||
$date = (object) $value;
|
||||
if (intval($timestamp) == intval($date->date))
|
||||
$html = $html.'<option value='.$date->date.' selected="selected">'.date('m/d/Y H:i', $date->date).'</option>';
|
||||
else
|
||||
$html = $html.'<option value='.$date->date.'>'.date('m/d/Y H:i', $date->date).'</option>';
|
||||
}
|
||||
$html = $html.'</select>';
|
||||
return $html;
|
||||
}
|
||||
|
||||
|
||||
public function List_VMs($date, $node=null)
|
||||
{
|
||||
$html = '';
|
||||
$d = new API_GET_INFO;
|
||||
$vms_list = json_decode($d->GET_qemu($date), true)['value'];
|
||||
|
||||
|
||||
foreach ($vms_list as $qemu)
|
||||
{
|
||||
$qemu = (object) $qemu;
|
||||
$macs = "";
|
||||
$clusters_info = json_decode($d->GET_clusters_conf($qemu->cluster), true)['value'][0];
|
||||
$clusters_info = (object) $clusters_info;
|
||||
|
||||
foreach($qemu->macaddr as $mac) { $macs = $mac.",".$macs ; }
|
||||
$html = $html.'
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>'.$qemu->cluster.'</td>
|
||||
<td><a href="node.php?hyp='.$qemu->node.'&date='.$date.'"> '.$qemu->node.'</a>
|
||||
|
||||
<a data-toggle="tooltip" title="External Link: https://'.$clusters_info->url.':'.$clusters_info->port.'" href="https://'.$clusters_info->url.':'.$clusters_info->port.'/#v1:0:=qemu%2F'.$qemu->vmid.':4::::::" target="_blank"> <img src="images/fb-lien-420.png" alt="ExternalProxmoxLink" style="width:20px;height:20px;"></a></td>
|
||||
<td><a href="vm.php?hyp='.$qemu->node.'&id='.$qemu->vmid.'&date='.$date.'"> '.$qemu->name.'</a></td>
|
||||
|
||||
|
||||
<td>'.$qemu->vmid.'</td>
|
||||
<td data-order="'.$qemu->maxmem.'">'.formatBytes(round($qemu->maxmem)).'</td>
|
||||
<td>'.$qemu->cpus.'</td>
|
||||
<td>xx GB</td>
|
||||
<td id="wrapper-mac"> <a data-toggle="tooltip" data-html="true" title="'.str_replace(",", "<br/>", $macs).'">'.$macs.'</a></td>
|
||||
<td>'.secondsToDays($qemu->uptime).'</td>
|
||||
<td>'.$qemu->status.'</td>
|
||||
<td>
|
||||
<select class="selectaction" data-width="auto" >
|
||||
<option value="{\'node\':\''.$qemu->node.'\',\'vmid\':\''.$qemu->vmid.'\',\'action\':\'none\'} ">Choice </option>
|
||||
<optgroup label="No unavailability risk">
|
||||
<option value="{\'node\':\''.$qemu->node.'\',\'vmid\':\''.$qemu->vmid.'\',\'action\':\'status\'}">Status</option>
|
||||
<option value="{\'node\':\''.$qemu->node.'\',\'vmid\':\''.$qemu->vmid.'\',\'action\':\'start\'} ">Start</option>
|
||||
</optgroup>
|
||||
<optgroup label="Hight unavailability risk">
|
||||
<option value="{\'node\':\''.$qemu->node.'\',\'vmid\':\''.$qemu->vmid.'\',\'action\':\'stop\'} ">Stop</option>
|
||||
<option value="{\'node\':\''.$qemu->node.'\',\'vmid\':\''.$qemu->vmid.'\',\'action\':\'shutdown\'} ">Shutdown</option>
|
||||
<option value="{\'node\':\''.$qemu->node.'\',\'vmid\':\''.$qemu->vmid.'\',\'action\':\'reset\'} ">Reset</option>
|
||||
</optgroup>
|
||||
<optgroup label="Others">
|
||||
<option disabled value="{\'node\':\''.$qemu->node.'\',\'vmid\':\''.$qemu->vmid.'\',\'action\':\'migration\'} ">Migration</option>
|
||||
</optgroup>
|
||||
</select>
|
||||
<!-- <img src="images/configuration_13194.png" alt="ExternalProxmoxLink" style="width:30px;height:30px;"> --> </td>
|
||||
</tr>';
|
||||
}
|
||||
return $html;
|
||||
}
|
||||
|
||||
public function List_HYPs($date, $cluster = null)
|
||||
{
|
||||
require(dirname(__DIR__).'/requires/configs.php');
|
||||
//$m = new REQUESTS_MYSQL;
|
||||
//$non_grata = $m->non_grata_select();
|
||||
|
||||
|
||||
$q = new API_GET_INFO;
|
||||
$nodes = json_decode($q->GET_hyp($date, $cluster), true)['value'];
|
||||
arsort($nodes);
|
||||
|
||||
$row_non_grata = [];
|
||||
|
||||
/*
|
||||
foreach ($non_grata as $rows) {
|
||||
$row_non_grata[] = $rows->name;
|
||||
}
|
||||
*/
|
||||
|
||||
$html = '';
|
||||
|
||||
foreach ($nodes as $node)
|
||||
{
|
||||
$node = (object) $node;
|
||||
|
||||
$sto_info = json_decode($q->GET_sto($date, $node->cluster, $node->name), true)['value'];
|
||||
|
||||
if ($this->sto_regx_status == true)
|
||||
{
|
||||
foreach ($sto_info as $sto)
|
||||
{
|
||||
$sto = (object)$sto;
|
||||
if (preg_match($this->sto_regx, $sto->storage))
|
||||
{
|
||||
$sto_el = $sto->storage;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if($sto_el == "" or $this->sto_regx_status == false)
|
||||
{
|
||||
foreach ($sto_info as $sto) {
|
||||
$sto = (object)$sto;
|
||||
$sto_new = $sto->total;
|
||||
if ($sto_new > $sto_max) {
|
||||
$sto_max = $sto_new;
|
||||
$sto_el = $sto->storage;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$sto_el_node = json_decode($q->GET_sto($date, $node->cluster, $node->name, $sto_el), true)['value'][0];
|
||||
$sto_el_node = (object) $sto_el_node;
|
||||
|
||||
|
||||
$clusters_info = json_decode($q->GET_clusters_conf($node->cluster), true)['value'][0];
|
||||
$clusters_info = (object) $clusters_info;
|
||||
|
||||
$ram_use_percent = round(($node->memory['used']/$node->memory['total'])*100);
|
||||
$ram_alloc_percent = round(($node->totalallocram/$node->memory['total'])*100);
|
||||
$cpu_alloc_percent = round(($node->totalalloccpu/$node->cpuinfo['cpus'])*100);
|
||||
$disk_use_percent = round((100/$sto_el_node->total)*$sto_el_node->used);
|
||||
$disk_alloc_percent = round(($sto_el_node->totalallocdisk/$sto_el_node->total)*100); // revoir param 1
|
||||
$load_percent = round($node->load*100);
|
||||
|
||||
$eligibility = eligibility($ram_use_percent, $ram_alloc_percent, $cpu_alloc_percent, $disk_use_percent, $disk_alloc_percent, $load_percent);
|
||||
|
||||
|
||||
if (in_array($node->name, $row_non_grata)) {
|
||||
$grata = '<a class="nongratalink" data-toggle="tooltip" title="Switch to grata" id="'.$node->node.'" action="sw_ON" node="'.$node->name.'" href="#" > <img src="images/nongrata_on.png" alt="Nongrataimg" style="width:16px;height:16px;"></a>';
|
||||
$eligibility = round($eligibility + $non_grata_weight);
|
||||
}
|
||||
else{
|
||||
$grata = '<a class="nongratalink" data-toggle="tooltip" title="Switch to non grata" id="'.$node->node.'" action="sw_OFF" node="'.$node->name.'" href="#" > <img src="images/nongrata_off.png" alt="Nongrataimg" style="width:16px;height:16px;"></a>';
|
||||
}
|
||||
|
||||
|
||||
$html = $html.'
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>'.$node->cluster.'</td>
|
||||
<td>
|
||||
<a href="node.php?hyp='.$node->node.'&date='.$date.'"> '.$node->node.'</a>
|
||||
<a data-toggle="tooltip" title="External Link: https://'.$clusters_info->url.':'.$clusters_info->port.'" href="https://'.$clusters_info->url.':'.$clusters_info->port.'/#v1:0:=node%2F'.$node->name.':4:5:::::" target="_blank"> <img src="images/fb-lien-420.png" alt="ExternalProxmoxLink" style="width:20px;height:20px;"></a>
|
||||
'.$grata.'
|
||||
</td>
|
||||
<td style="color:'.testcolor("ram_use", $ram_use_percent).'" data-order="'.$ram_use_percent.'">'.formatBytes($node->memory['used']).' ('.$ram_use_percent.'%)</td>
|
||||
<td style="color:'.testcolor("ram_alloc", $ram_alloc_percent).'" data-order="'.$ram_alloc_percent.'">'.formatBytes($node->totalallocram).'/'.formatBytes($node->memory['total']).' ('.$ram_alloc_percent.'%)</td>
|
||||
<td style="color:'.testcolor("cpu_alloc", $cpu_alloc_percent).'" data-order="'.$cpu_alloc_percent.'">'.$node->totalalloccpu.'/'.$node->maxcpu.' ('.$cpu_alloc_percent.'%)</td>
|
||||
<td style="color:'.testcolor("disk_use", $disk_use_percent).'" data-order="'.$sto_el_node->used.'">'.formatBytes($sto_el_node->used).'('.$disk_use_percent.'% - '.$sto_el.')</td>
|
||||
<td style="color:'.testcolor("disk_alloc", $disk_alloc_percent).'" data-order="'.$sto_el_node->used.'">'.formatBytes($sto_el_node->totalallocdisk).'/'.formatBytes($sto_el_node->total).' ('.$disk_alloc_percent.'%) </td>
|
||||
<td style="color:'.testcolor("cpu_use", $load_percent).'" >'.$load_percent.'%</td>
|
||||
<td data-order="'.secondsToDays($node->uptime).'">'.secondsToDays($node->uptime).'d</td>
|
||||
<td>'.$eligibility.'</td>
|
||||
|
||||
|
||||
<td>'.formatBytes($node->swap['used']).'/'.formatBytes($node->swap['total']).'</td>
|
||||
<td>'.$node->pveversion.'</td>
|
||||
<td>'.$node->kversion.'</td>
|
||||
<td>'.$node->cpuinfo['model'].'</td>
|
||||
</tr>
|
||||
';
|
||||
}
|
||||
return $html;
|
||||
}
|
||||
|
||||
|
||||
public function List_STO($date, $node=null, $sto=null)
|
||||
{
|
||||
|
||||
$q = new API_GET_INFO;
|
||||
$stos_list = json_decode($q->GET_sto($date), true)['value'];
|
||||
$html = '';
|
||||
|
||||
foreach ($stos_list as $sto)
|
||||
{
|
||||
$sto = (object) $sto;
|
||||
|
||||
$clusters_info = json_decode($q->GET_clusters_conf($sto->cluster), true)['value'][0];
|
||||
$clusters_info = (object) $clusters_info;
|
||||
|
||||
try {
|
||||
$stoavail = round(($sto->avail * 100 ) / $sto->total);
|
||||
$stoused = round(100 - ($sto->avail * 100) / $sto->total);
|
||||
$disk_alloc_percent = round(($sto->totalallocdisk/$sto->total) * 100);
|
||||
} catch (Exception $e) {
|
||||
$stoavail = 'Not available';
|
||||
$stoused = 'Not available';
|
||||
$disk_alloc_percent = 'Not available';
|
||||
}
|
||||
|
||||
$htmldisk = '<table class="display nowrap responsive table table-striped table-bordered table-hover">
|
||||
<thead class="thead-inverse">
|
||||
<tr>
|
||||
<th>Type</th>
|
||||
<th>Vol.id</th>
|
||||
<th>Size</th>
|
||||
</tr>
|
||||
</thead>';
|
||||
|
||||
$disklists = json_decode($q->GET_Disk($date, $sto->cluster, $sto->node), true)['value'];
|
||||
|
||||
foreach ($disklists as $disklist) {
|
||||
$disklist = (object) $disklist;
|
||||
if ($disklist->storage == $sto->storage)
|
||||
$htmldisk = $htmldisk.' <tr><td>'.$disklist->content.'</td> <td>'.$disklist->volid.'</td> <td>'.formatBytes($disklist->size).'</td></tr>';
|
||||
}
|
||||
$htmldisk = $htmldisk.'</table>';
|
||||
|
||||
$html = $html.'
|
||||
<tr>
|
||||
<td></td>
|
||||
<td> <a href="node.php?hyp='.$sto->node.'&date='.$date.'"> '.$sto->node.'</a> <a data-toggle="tooltip" title="External Link: https://'.$clusters_info->url.':'.$clusters_info->port.'" href="https://'.$clusters_info->url.':'.$clusters_info->port.'/#v1:0:=storage%2F'.$sto->node.'%2F'.$sto->storage.':4::::::" target="_blank"> <img src="images/fb-lien-420.png" alt="ExternalProxmoxLink" style="width:20px;height:20px;"></a> </td>
|
||||
<td> '.$sto->storage.'</td>
|
||||
<td data-order="'.$sto->total.'"> '.formatBytes($sto->total).'</td>
|
||||
<td data-order="'.$sto->totalalloc.'"> '.formatBytes($sto->totalallocdisk).' ('.$disk_alloc_percent.'%)</td>
|
||||
<td data-order="'.$sto->avail.'"> '.formatBytes($sto->avail).' ('.$stoavail.'%)</td>
|
||||
<td data-order="'.$sto->used.'"> '.formatBytes($sto->used).' ('.$stoused.'%)</td>
|
||||
<td> '.$htmldisk.' </td>
|
||||
</tr>';
|
||||
}
|
||||
return $html;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
function testcolor($type, $value)
|
||||
{
|
||||
|
||||
// charges points in percents
|
||||
$cpu_low = 30; // less than
|
||||
$cpu_height = 60 ; // more than
|
||||
|
||||
$cpu_low_alloc = 100; // less than
|
||||
$cpu_height_alloc = 200 ; // more than
|
||||
|
||||
$ram_low = 50; // less than
|
||||
$ram_height = 75 ; // more than
|
||||
|
||||
$ram_low_alloc = 75; // less than
|
||||
$ram_height_alloc = 110 ; // more than
|
||||
|
||||
$disk_low = 50; // less than
|
||||
$disk_height = 70 ; // more than
|
||||
|
||||
$disk_low_alloc = 90; // less than
|
||||
$disk_height_alloc = 190 ; // more than
|
||||
|
||||
$color = "";
|
||||
|
||||
$l_color = '#088A08'; // Green
|
||||
$m_color = '#DF7401'; // Yellow
|
||||
$h_color = '#B40404'; // Red
|
||||
|
||||
$array_calc = array(
|
||||
"ram_alloc" => array("low" => $ram_low_alloc, "height" =>$ram_height_alloc),
|
||||
"ram_use" => array("low" => $ram_low, "height" => $ram_height),
|
||||
"disk_use" => array("low" => $disk_low, "height" => $disk_height),
|
||||
"disk_alloc" => array("low" => $disk_low_alloc, "height" => $disk_height_alloc),
|
||||
"cpu_alloc" => array("low" => $cpu_low_alloc, "height" => $cpu_height_alloc),
|
||||
"cpu_use" => array("low" => $cpu_low, "height" => $cpu_height)
|
||||
);
|
||||
|
||||
if($value < $array_calc[$type]["low"])
|
||||
$color = $l_color;
|
||||
elseif (($array_calc[$type]["low"] <= $value ) and ($value < $array_calc[$type]["height"]))
|
||||
$color = $m_color;
|
||||
elseif ($value >= $array_calc[$type]["height"])
|
||||
$color = $h_color;
|
||||
|
||||
|
||||
return $color;
|
||||
}
|
||||
|
||||
function testvalue($val, $min, $max) {
|
||||
return ($val >= $min && $val <= $max);
|
||||
}
|
||||
|
||||
|
||||
class DbConn
|
||||
{
|
||||
public $conn;
|
||||
public function __construct()
|
||||
{
|
||||
require(dirname(__DIR__).'/dbconf.php');
|
||||
$this->host = $host; // Host name
|
||||
$this->username = $username; // Mysql username
|
||||
$this->password = $password; // Mysql password
|
||||
$this->db_name = $db_name; // Database name
|
||||
$this->tbl_logs = $tbl_logs;
|
||||
$this->tbl_nodes = $tbl_nodes;
|
||||
try {
|
||||
// Connect to server and select database.
|
||||
$this->conn = new PDO('mysql:host=' . $host . ';dbname=' . $db_name . ';charset=utf8', $username, $password);
|
||||
$this->conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
|
||||
|
||||
} catch (\Exception $e) {
|
||||
error_log("Database connection error:".$e);
|
||||
die('Database connection error');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
class REQUESTS_MYSQL
|
||||
{
|
||||
|
||||
function non_grata_select()
|
||||
{
|
||||
try {
|
||||
$db = new DbConn;
|
||||
$tbl_nodes = $db->tbl_nodes;
|
||||
$stmt = $db->conn->prepare("SELECT `name` FROM ".$tbl_nodes." WHERE `status` = 1");
|
||||
$stmt->execute();
|
||||
$result = $stmt->fetchAll(PDO::FETCH_OBJ);
|
||||
return $result;
|
||||
} catch (PDOException $e) {
|
||||
$err = "Error: " . $e->getMessage();
|
||||
}
|
||||
|
||||
//Determines returned value ('true' or error code)
|
||||
$resp = ($err == '') ? 'true' : $err;
|
||||
return $resp;
|
||||
}
|
||||
|
||||
function non_grata_update($node, $value)
|
||||
{
|
||||
try {
|
||||
$db = new DbConn;
|
||||
$tbl_nodes = $db->tbl_nodes;
|
||||
$stmt = $db->conn->prepare("REPLACE INTO ".$tbl_nodes."(`name`, `status`) VALUES ('".$node."','".$value."')");
|
||||
$stmt->execute();
|
||||
$result = $stmt->fetchAll(PDO::FETCH_OBJ);
|
||||
return $result;
|
||||
} catch (PDOException $e) {
|
||||
$err = "Error: " . $e->getMessage();
|
||||
}
|
||||
//Determines returned value ('true' or error code)
|
||||
$resp = ($err == '') ? 'true' : $err;
|
||||
return $resp;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function eligibility($ram_use, $ram_alloc, $cpu_alloc, $disk_use, $disk_alloc, $load) // data in percent !!! // ' .$sto->total - $sto->avail - $sto->used.'
|
||||
{
|
||||
$coef_ram_use = 4;
|
||||
$coef_ram_alloc = 3;
|
||||
$coef_cpu_alloc = 2;
|
||||
$coef_disk_use = 4;
|
||||
$coef_disk_alloc = 3;
|
||||
$coef_load = 3;
|
||||
|
||||
$coef_total = $coef_ram_use + $coef_ram_alloc + $coef_cpu_alloc + $coef_disk_use + $coef_disk_alloc + $coef_load;
|
||||
$calc = 0 - ($ram_use * $coef_ram_use) - ($ram_alloc * $coef_ram_alloc) - ($cpu_alloc * $coef_cpu_alloc) - ($disk_use * $coef_disk_use) - ($disk_alloc * $coef_disk_alloc) - ($load * $coef_load);
|
||||
$calc = $calc / $coef_total;
|
||||
$calc = $calc / 10;
|
||||
|
||||
return round($calc*-1,1);
|
||||
}
|
||||
|
||||
|
||||
function curl($url, $ip="127.0.0.1", $port="8080", $type="GET", $fieldsjson="")
|
||||
{
|
||||
|
||||
$url = "http://".$ip.":".$port."/".$url;
|
||||
$ch = curl_init();
|
||||
|
||||
if($type == "POST")
|
||||
{
|
||||
curl_setopt($ch,CURLOPT_POST, count($fieldsjson));
|
||||
curl_setopt($ch,CURLOPT_POSTFIELDS, $fieldsjson);
|
||||
}
|
||||
|
||||
curl_setopt($ch, CURLOPT_URL, $url);
|
||||
curl_setopt($ch, CURLOPT_HEADER, false);
|
||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
|
||||
|
||||
$data = curl_exec($ch);
|
||||
curl_close($ch);
|
||||
|
||||
return $data;
|
||||
}
|
||||
|
||||
|
||||
function secondsToDays($seconds)
|
||||
{
|
||||
// extract hours
|
||||
$days = floor($seconds / 86400);
|
||||
return $days;
|
||||
}
|
||||
|
||||
function secondsToTime($seconds)
|
||||
{
|
||||
// extract hours
|
||||
$hours = floor($seconds / (60 * 60));
|
||||
|
||||
// extract minutes
|
||||
$divisor_for_minutes = $seconds % (60 * 60);
|
||||
$minutes = floor($divisor_for_minutes / 60);
|
||||
|
||||
// extract the remaining seconds
|
||||
$divisor_for_seconds = $divisor_for_minutes % 60;
|
||||
$seconds = ceil($divisor_for_seconds);
|
||||
|
||||
// return the final array
|
||||
$obj = array(
|
||||
"h" => (int) $hours,
|
||||
"m" => (int) $minutes,
|
||||
"s" => (int) $seconds,
|
||||
);
|
||||
return $obj;
|
||||
}
|
||||
|
||||
function formatBytes($bytes, $precision = 2) {
|
||||
$kilobyte = 1024;
|
||||
$megabyte = $kilobyte * 1024;
|
||||
$gigabyte = $megabyte * 1024;
|
||||
$terabyte = $gigabyte * 1024;
|
||||
|
||||
if (($bytes >= 0) && ($bytes < $kilobyte)) {
|
||||
return $bytes . ' B';
|
||||
|
||||
} elseif (($bytes >= $kilobyte) && ($bytes < $megabyte)) {
|
||||
return round($bytes / $kilobyte, $precision) . ' KB';
|
||||
|
||||
} elseif (($bytes >= $megabyte) && ($bytes < $gigabyte)) {
|
||||
return round($bytes / $megabyte, $precision) . ' MB';
|
||||
|
||||
} elseif (($bytes >= $gigabyte) && ($bytes < $terabyte)) {
|
||||
return round($bytes / $gigabyte, $precision) . ' GB';
|
||||
|
||||
} elseif ($bytes >= $terabyte) {
|
||||
return round($bytes / $terabyte, $precision) . ' TB';
|
||||
} else {
|
||||
return $bytes . ' B';
|
||||
}
|
||||
}
|
75
code/web/www/pages/vms.php
Executable file
|
@ -0,0 +1,75 @@
|
|||
<?php
|
||||
|
||||
include(dirname(__DIR__).'/pages/includes/header.php');
|
||||
|
||||
|
||||
$html_VMs = $html->List_VMs($lastdate);
|
||||
|
||||
?>
|
||||
<div id="page-wrapper">
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<h1 class="page-header">VM list</h1>
|
||||
</div>
|
||||
<div class="col-lg-12" id="List_Dates">
|
||||
|
||||
|
||||
</div>
|
||||
<!-- /.col-lg-12 -->
|
||||
</div>
|
||||
<!-- /.row -->
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<div class="panel panel-default">
|
||||
|
||||
<!-- /.panel-heading -->
|
||||
<div class="result"></div>
|
||||
<div class="panel-body" >
|
||||
|
||||
<table width="100%" class="display nowrap table table-striped table-bordered table-hover dataTables-vm">
|
||||
<thead class="thead-inverse">
|
||||
<tr>
|
||||
<th></th>
|
||||
<th data-priority="1">Cluster</th>
|
||||
<th data-priority="1">Node</th>
|
||||
<th data-priority="1">Name</th>
|
||||
<th data-priority="1">vmid</th>
|
||||
<th data-priority="1">RAM</th>
|
||||
<th data-priority="1">CPU </th>
|
||||
<th data-priority="1">Disk</th>
|
||||
<th data-priority="1">Macs</th>
|
||||
<th data-priority="1">Uptime</th>
|
||||
<th data-priority="1">Status</th>
|
||||
<th data-priority="0">Actions</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<?php echo $html_VMs; ?>
|
||||
</table>
|
||||
</div>
|
||||
<div class="result"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- /#wrapper -->
|
||||
<div id="dialog-form" title="/!\ VM ACTION /!\" style="background-color: #8c8c8c;z-index: 3;">
|
||||
<p class="validateTips">Proxmox authentification required.</p>
|
||||
<form>
|
||||
<fieldset>
|
||||
<label for="name">Username:</label>
|
||||
<input type="text" name="name" id="name" value="root@pam" class="text ui-widget-content ui-corner-all">
|
||||
<br />
|
||||
<label for="password">Password:</label>
|
||||
<input type="password" name="password" id="password" value="" class="text ui-widget-content ui-corner-all">
|
||||
|
||||
<input type="hidden" name="action" id="action" value="">
|
||||
<input type="hidden" name="vmid" id="vmid" value="">
|
||||
<input type="hidden" name="node" id="node" value="">
|
||||
<input type="submit" tabindex="-1" style="position:absolute; top:-1000px">
|
||||
</fieldset>
|
||||
</form>
|
||||
</div>
|
||||
<?php
|
||||
include(dirname(__DIR__).'/pages/includes/footer.php');
|
||||
?>
|
1
code/web/www/vendor/bootstrap-multisltc/css/bootstrap-multiselect.css
vendored
Executable file
|
@ -0,0 +1 @@
|
|||
span.multiselect-native-select{position:relative}span.multiselect-native-select select{border:0!important;clip:rect(0 0 0 0)!important;height:1px!important;margin:-1px -1px -1px -3px!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:1px!important;left:50%;top:30px}.multiselect-container{position:absolute;list-style-type:none;margin:0;padding:0}.multiselect-container .input-group{margin:5px}.multiselect-container>li{padding:0}.multiselect-container>li>a.multiselect-all label{font-weight:700}.multiselect-container>li.multiselect-group label{margin:0;padding:3px 20px 3px 20px;height:100%;font-weight:700}.multiselect-container>li.multiselect-group-clickable label{cursor:pointer}.multiselect-container>li>a{padding:0}.multiselect-container>li>a>label{margin:0;height:100%;cursor:pointer;font-weight:400;padding:3px 20px 3px 40px}.multiselect-container>li>a>label.radio,.multiselect-container>li>a>label.checkbox{margin:0}.multiselect-container>li>a>label>input[type=checkbox]{margin-bottom:5px}.btn-group>.btn-group:nth-child(2)>.multiselect.btn{border-top-left-radius:4px;border-bottom-left-radius:4px}.form-inline .multiselect-container label.checkbox,.form-inline .multiselect-container label.radio{padding:3px 20px 3px 40px}.form-inline .multiselect-container li a label.checkbox input[type=checkbox],.form-inline .multiselect-container li a label.radio input[type=radio]{margin-left:-20px;margin-right:0}
|
1716
code/web/www/vendor/bootstrap-multisltc/js/bootstrap-multiselect.js
vendored
Executable file
129
code/web/www/vendor/bootstrap-multisltc/less/bootstrap-multiselect.less
vendored
Executable file
|
@ -0,0 +1,129 @@
|
|||
/**
|
||||
* Bootstrap Multiselect (https://github.com/davidstutz/bootstrap-multiselect)
|
||||
*
|
||||
* Apache License, Version 2.0:
|
||||
* Copyright (c) 2012 - 2015 David Stutz
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
* BSD 3-Clause License:
|
||||
* Copyright (c) 2012 - 2015 David Stutz
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
* - Redistributions of source code must retain the above copyright notice,
|
||||
* this list of conditions and the following disclaimer.
|
||||
* - Redistributions in binary form must reproduce the above copyright notice,
|
||||
* this list of conditions and the following disclaimer in the documentation
|
||||
* and/or other materials provided with the distribution.
|
||||
* - Neither the name of David Stutz nor the names of its contributors may be
|
||||
* used to endorse or promote products derived from this software without
|
||||
* specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
|
||||
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
|
||||
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||||
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
|
||||
* OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
|
||||
* OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
||||
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
span.multiselect-native-select{
|
||||
position:relative
|
||||
}
|
||||
|
||||
span.multiselect-native-select select{
|
||||
border :0 !important;
|
||||
clip: rect(0 0 0 0) !important;
|
||||
height: 1px !important;
|
||||
margin: -1px -1px -1px -3px !important;
|
||||
overflow: hidden !important;
|
||||
padding: 0 !important;
|
||||
position: absolute !important;
|
||||
width: 1px !important;
|
||||
left: 50%;
|
||||
top: 30px;
|
||||
}
|
||||
|
||||
.multiselect-container {
|
||||
position: absolute;
|
||||
list-style-type: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
|
||||
.input-group {
|
||||
margin: 5px;
|
||||
}
|
||||
|
||||
> li {
|
||||
padding: 0;
|
||||
|
||||
> a.multiselect-all label {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
&.multiselect-group label {
|
||||
margin: 0;
|
||||
padding: 3px 20px 3px 20px;
|
||||
height: 100%;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
&.multiselect-group-clickable label {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
> a {
|
||||
padding: 0;
|
||||
|
||||
> label {
|
||||
margin: 0;
|
||||
height: 100%;
|
||||
cursor: pointer;
|
||||
font-weight: normal;
|
||||
padding: 3px 20px 3px 40px;
|
||||
|
||||
&.radio, &.checkbox {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
> input[type="checkbox"] {
|
||||
margin-bottom:5px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.btn-group > .btn-group:nth-child(2) > .multiselect.btn {
|
||||
border-top-left-radius: 4px;
|
||||
border-bottom-left-radius: 4px;
|
||||
}
|
||||
|
||||
.form-inline .multiselect-container{
|
||||
|
||||
label.checkbox, label.radio{
|
||||
padding: 3px 20px 3px 40px;
|
||||
}
|
||||
|
||||
li a label{
|
||||
|
||||
&.checkbox input[type="checkbox"], &.radio input[type="radio"]{
|
||||
margin-left: -20px;
|
||||
margin-right: 0;
|
||||
}
|
||||
}
|
||||
}
|
48
code/web/www/vendor/bootstrap-select/.github/ISSUE_TEMPLATE.md
vendored
Normal file
|
@ -0,0 +1,48 @@
|
|||
Before posting, please see [guidelines for contributing](https://github.com/silviomoreto/bootstrap-select/blob/master/CONTRIBUTING.md). If you're submitting a bug report, see below.
|
||||
|
||||
## Bug reports
|
||||
|
||||
A bug is a _demonstrable problem_ that is caused by the code in the repository.
|
||||
Good bug reports are extremely helpful - thank you!
|
||||
|
||||
Guidelines for bug reports:
|
||||
|
||||
1. **Use the GitHub issue search.** Check if the issue has already been
|
||||
reported.
|
||||
|
||||
2. **Check if the issue has been fixed.** Try to reproduce it using the
|
||||
latest `master` or development branch in the repository.
|
||||
|
||||
3. **Provide environment details.** Provide your operating system, browser(s),
|
||||
jQuery version, Bootstrap version, and bootstrap-select version.
|
||||
|
||||
4. **Create an isolated and reproducible test case.** Create a [reduced test
|
||||
case](http://css-tricks.com/6263-reduced-test-cases/).
|
||||
|
||||
5. **Include a live example.** Use [this Plunker debugging template](http://silviomoreto.github.io/bootstrap-select/playground/) to share your isolated test cases. You can also make use of [jsFiddle](http://jsfiddle.net/) or [jsBin](http://jsbin.com/).
|
||||
|
||||
A good bug report shouldn't leave others needing to chase you up for more
|
||||
information. Please try to be as detailed as possible in your report. What is
|
||||
your environment? What steps will reproduce the issue? What browser(s) and OS
|
||||
experience the problem? What would you expect to be the outcome? All these
|
||||
details will help people to fix any potential bugs.
|
||||
|
||||
Example:
|
||||
|
||||
> Short and descriptive example bug report title
|
||||
>
|
||||
> A summary of the issue and the browser/OS environment in which it occurs. If
|
||||
> suitable, include the steps required to reproduce the bug.
|
||||
>
|
||||
> 1. This is the first step
|
||||
> 2. This is the second step
|
||||
> 3. Further steps, etc.
|
||||
>
|
||||
> `<url>` - a link to the reduced test case
|
||||
>
|
||||
> Any other information you want to share that is relevant to the issue being
|
||||
> reported. This might include the lines of code that you have identified as
|
||||
> causing the bug, and potential solutions (and your opinions on their
|
||||
> merits).
|
||||
|
||||
## Erase the above text and being typing. Thanks!
|
13
code/web/www/vendor/bootstrap-select/.gitignore
vendored
Normal file
|
@ -0,0 +1,13 @@
|
|||
# OS or Editor folders
|
||||
.DS_Store
|
||||
.idea
|
||||
|
||||
# Folders to ignore
|
||||
node_modules
|
||||
bower_components
|
||||
.sass-cache
|
||||
|
||||
# Dist zip
|
||||
bootstrap-select-*.zip
|
||||
|
||||
docs/site
|
21
code/web/www/vendor/bootstrap-select/LICENSE
vendored
Normal file
|
@ -0,0 +1,21 @@
|
|||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 bootstrap-select
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
300
code/web/www/vendor/bootstrap-select/css/bootstrap-select.css
vendored
Normal file
|
@ -0,0 +1,300 @@
|
|||
/*!
|
||||
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
|
||||
*
|
||||
* Copyright 2013-2017 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 \0;
|
||||
/*IE9 and below*/
|
||||
}
|
||||
.bootstrap-select > .dropdown-toggle {
|
||||
width: 100%;
|
||||
padding-right: 25px;
|
||||
z-index: 1;
|
||||
}
|
||||
.bootstrap-select > .dropdown-toggle.bs-placeholder,
|
||||
.bootstrap-select > .dropdown-toggle.bs-placeholder:hover,
|
||||
.bootstrap-select > .dropdown-toggle.bs-placeholder:focus,
|
||||
.bootstrap-select > .dropdown-toggle.bs-placeholder:active {
|
||||
color: #999;
|
||||
}
|
||||
.bootstrap-select > select {
|
||||
position: absolute !important;
|
||||
bottom: 0;
|
||||
left: 50%;
|
||||
display: block !important;
|
||||
width: 0.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;
|
||||
}
|
||||
.has-error .bootstrap-select .dropdown-toggle,
|
||||
.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 #333333 !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.form-control.input-group-btn:not(:first-child):not(:last-child) > .btn {
|
||||
border-radius: 0;
|
||||
}
|
||||
.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-inline .bootstrap-select.btn-group,
|
||||
.form-horizontal .bootstrap-select.btn-group,
|
||||
.form-group .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-group-lg .bootstrap-select.btn-group.form-control .dropdown-toggle,
|
||||
.form-group-sm .bootstrap-select.btn-group.form-control .dropdown-toggle {
|
||||
height: 100%;
|
||||
font-size: inherit;
|
||||
line-height: inherit;
|
||||
border-radius: inherit;
|
||||
}
|
||||
.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: none !important;
|
||||
}
|
||||
.bootstrap-select.btn-group.bs-container {
|
||||
position: absolute;
|
||||
height: 0 !important;
|
||||
padding: 0 !important;
|
||||
}
|
||||
.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: 0.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, 0.05);
|
||||
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
|
||||
pointer-events: none;
|
||||
opacity: 0.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, 0.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 white;
|
||||
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, 0.2);
|
||||
border-bottom: 0;
|
||||
}
|
||||
.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle:after {
|
||||
bottom: auto;
|
||||
top: -3px;
|
||||
border-top: 6px solid white;
|
||||
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:before,
|
||||
.bootstrap-select.show-menu-arrow.open > .dropdown-toggle:after {
|
||||
display: block;
|
||||
}
|
||||
.bs-searchbox,
|
||||
.bs-actionsbox,
|
||||
.bs-donebutton {
|
||||
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;
|
||||
}
|
||||
/*# sourceMappingURL=bootstrap-select.css.map */
|
1
code/web/www/vendor/bootstrap-select/css/bootstrap-select.css.map
vendored
Normal file
6
code/web/www/vendor/bootstrap-select/css/bootstrap-select.min.css
vendored
Normal file
1895
code/web/www/vendor/bootstrap-select/js/bootstrap-select.js
vendored
Normal file
1
code/web/www/vendor/bootstrap-select/js/bootstrap-select.js.map
vendored
Normal file
9
code/web/www/vendor/bootstrap-select/js/bootstrap-select.min.js
vendored
Normal file
49
code/web/www/vendor/bootstrap-select/js/i18n/defaults-ar_AR.js
vendored
Normal file
|
@ -0,0 +1,49 @@
|
|||
/*!
|
||||
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
|
||||
*
|
||||
* Copyright 2013-2017 bootstrap-select
|
||||
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
|
||||
*/
|
||||
|
||||
(function (root, factory) {
|
||||
if (typeof define === 'function' && define.amd) {
|
||||
// AMD. Register as an anonymous module unless amdModuleId is set
|
||||
define(["jquery"], function (a0) {
|
||||
return (factory(a0));
|
||||
});
|
||||
} else if (typeof module === 'object' && module.exports) {
|
||||
// Node. Does not work with strict CommonJS, but
|
||||
// only CommonJS-like environments that support module.exports,
|
||||
// like Node.
|
||||
module.exports = factory(require("jquery"));
|
||||
} else {
|
||||
factory(root["jQuery"]);
|
||||
}
|
||||
}(this, function (jQuery) {
|
||||
|
||||
/*!
|
||||
* Translated default messages for bootstrap-select.
|
||||
* Locale: AR (Arabic)
|
||||
* Author: Yasser Lotfy <y_l@alive.com>
|
||||
*/
|
||||
(function ($) {
|
||||
$.fn.selectpicker.defaults = {
|
||||
noneSelectedText: 'لم يتم إختيار شئ',
|
||||
noneResultsText: 'لا توجد نتائج مطابقة لـ {0}',
|
||||
countSelectedText: function (numSelected, numTotal) {
|
||||
return (numSelected == 1) ? "{0} خيار تم إختياره" : "{0} خيارات تمت إختيارها";
|
||||
},
|
||||
maxOptionsText: function (numAll, numGroup) {
|
||||
return [
|
||||
(numAll == 1) ? 'تخطى الحد المسموح ({n} خيار بحد أقصى)' : 'تخطى الحد المسموح ({n} خيارات بحد أقصى)',
|
||||
(numGroup == 1) ? 'تخطى الحد المسموح للمجموعة ({n} خيار بحد أقصى)' : 'تخطى الحد المسموح للمجموعة ({n} خيارات بحد أقصى)'
|
||||
];
|
||||
},
|
||||
selectAllText: 'إختيار الجميع',
|
||||
deselectAllText: 'إلغاء إختيار الجميع',
|
||||
multipleSeparator: '، '
|
||||
};
|
||||
})(jQuery);
|
||||
|
||||
|
||||
}));
|
12
code/web/www/vendor/bootstrap-select/js/i18n/defaults-ar_AR.min.js
vendored
Normal file
|
@ -0,0 +1,12 @@
|
|||
/*!
|
||||
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
|
||||
*
|
||||
* Copyright 2013-2017 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 module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){/*!
|
||||
* Translated default messages for bootstrap-select.
|
||||
* Locale: AR (Arabic)
|
||||
* Author: Yasser Lotfy <y_l@alive.com>
|
||||
*/
|
||||
!function(a){a.fn.selectpicker.defaults={noneSelectedText:"لم يتم إختيار شئ",noneResultsText:"لا توجد نتائج مطابقة لـ {0}",countSelectedText:function(a,b){return 1==a?"{0} خيار تم إختياره":"{0} خيارات تمت إختيارها"},maxOptionsText:function(a,b){return[1==a?"تخطى الحد المسموح ({n} خيار بحد أقصى)":"تخطى الحد المسموح ({n} خيارات بحد أقصى)",1==b?"تخطى الحد المسموح للمجموعة ({n} خيار بحد أقصى)":"تخطى الحد المسموح للمجموعة ({n} خيارات بحد أقصى)"]},selectAllText:"إختيار الجميع",deselectAllText:"إلغاء إختيار الجميع",multipleSeparator:"، "}}(a)});
|
44
code/web/www/vendor/bootstrap-select/js/i18n/defaults-bg_BG.js
vendored
Normal file
|
@ -0,0 +1,44 @@
|
|||
/*!
|
||||
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
|
||||
*
|
||||
* Copyright 2013-2017 bootstrap-select
|
||||
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
|
||||
*/
|
||||
|
||||
(function (root, factory) {
|
||||
if (typeof define === 'function' && define.amd) {
|
||||
// AMD. Register as an anonymous module unless amdModuleId is set
|
||||
define(["jquery"], function (a0) {
|
||||
return (factory(a0));
|
||||
});
|
||||
} else if (typeof module === 'object' && module.exports) {
|
||||
// Node. Does not work with strict CommonJS, but
|
||||
// only CommonJS-like environments that support module.exports,
|
||||
// like Node.
|
||||
module.exports = factory(require("jquery"));
|
||||
} else {
|
||||
factory(root["jQuery"]);
|
||||
}
|
||||
}(this, function (jQuery) {
|
||||
|
||||
(function ($) {
|
||||
$.fn.selectpicker.defaults = {
|
||||
noneSelectedText: 'Нищо избрано',
|
||||
noneResultsText: 'Няма резултат за {0}',
|
||||
countSelectedText: function (numSelected, numTotal) {
|
||||
return (numSelected == 1) ? "{0} избран елемент" : "{0} избрани елемента";
|
||||
},
|
||||
maxOptionsText: function (numAll, numGroup) {
|
||||
return [
|
||||
(numAll == 1) ? 'Лимита е достигнат ({n} елемент максимум)' : 'Лимита е достигнат ({n} елемента максимум)',
|
||||
(numGroup == 1) ? 'Груповия лимит е достигнат ({n} елемент максимум)' : 'Груповия лимит е достигнат ({n} елемента максимум)'
|
||||
];
|
||||
},
|
||||
selectAllText: 'Избери всички',
|
||||
deselectAllText: 'Размаркирай всички',
|
||||
multipleSeparator: ', '
|
||||
};
|
||||
})(jQuery);
|
||||
|
||||
|
||||
}));
|
7
code/web/www/vendor/bootstrap-select/js/i18n/defaults-bg_BG.min.js
vendored
Normal file
|
@ -0,0 +1,7 @@
|
|||
/*!
|
||||
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
|
||||
*
|
||||
* Copyright 2013-2017 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 module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Нищо избрано",noneResultsText:"Няма резултат за {0}",countSelectedText:function(a,b){return 1==a?"{0} избран елемент":"{0} избрани елемента"},maxOptionsText:function(a,b){return[1==a?"Лимита е достигнат ({n} елемент максимум)":"Лимита е достигнат ({n} елемента максимум)",1==b?"Груповия лимит е достигнат ({n} елемент максимум)":"Груповия лимит е достигнат ({n} елемента максимум)"]},selectAllText:"Избери всички",deselectAllText:"Размаркирай всички",multipleSeparator:", "}}(a)});
|
44
code/web/www/vendor/bootstrap-select/js/i18n/defaults-cro_CRO.js
vendored
Normal file
|
@ -0,0 +1,44 @@
|
|||
/*!
|
||||
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
|
||||
*
|
||||
* Copyright 2013-2017 bootstrap-select
|
||||
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
|
||||
*/
|
||||
|
||||
(function (root, factory) {
|
||||
if (typeof define === 'function' && define.amd) {
|
||||
// AMD. Register as an anonymous module unless amdModuleId is set
|
||||
define(["jquery"], function (a0) {
|
||||
return (factory(a0));
|
||||
});
|
||||
} else if (typeof module === 'object' && module.exports) {
|
||||
// Node. Does not work with strict CommonJS, but
|
||||
// only CommonJS-like environments that support module.exports,
|
||||
// like Node.
|
||||
module.exports = factory(require("jquery"));
|
||||
} else {
|
||||
factory(root["jQuery"]);
|
||||
}
|
||||
}(this, function (jQuery) {
|
||||
|
||||
(function ($) {
|
||||
$.fn.selectpicker.defaults = {
|
||||
noneSelectedText: 'Odaberite stavku',
|
||||
noneResultsText: 'Nema rezultata pretrage {0}',
|
||||
countSelectedText: function (numSelected, numTotal) {
|
||||
return (numSelected == 1) ? "{0} stavka selektirana" : "{0} stavke selektirane";
|
||||
},
|
||||
maxOptionsText: function (numAll, numGroup) {
|
||||
return [
|
||||
(numAll == 1) ? 'Limit je postignut ({n} stvar maximalno)' : 'Limit je postignut ({n} stavke maksimalno)',
|
||||
(numGroup == 1) ? 'Grupni limit je postignut ({n} stvar maksimalno)' : 'Grupni limit je postignut ({n} stavke maksimalno)'
|
||||
];
|
||||
},
|
||||
selectAllText: 'Selektiraj sve',
|
||||
deselectAllText: 'Deselektiraj sve',
|
||||
multipleSeparator: ', '
|
||||
};
|
||||
})(jQuery);
|
||||
|
||||
|
||||
}));
|
7
code/web/www/vendor/bootstrap-select/js/i18n/defaults-cro_CRO.min.js
vendored
Normal file
|
@ -0,0 +1,7 @@
|
|||
/*!
|
||||
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
|
||||
*
|
||||
* Copyright 2013-2017 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 module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Odaberite stavku",noneResultsText:"Nema rezultata pretrage {0}",countSelectedText:function(a,b){return 1==a?"{0} stavka selektirana":"{0} stavke selektirane"},maxOptionsText:function(a,b){return[1==a?"Limit je postignut ({n} stvar maximalno)":"Limit je postignut ({n} stavke maksimalno)",1==b?"Grupni limit je postignut ({n} stvar maksimalno)":"Grupni limit je postignut ({n} stavke maksimalno)"]},selectAllText:"Selektiraj sve",deselectAllText:"Deselektiraj sve",multipleSeparator:", "}}(a)});
|
35
code/web/www/vendor/bootstrap-select/js/i18n/defaults-cs_CZ.js
vendored
Normal file
|
@ -0,0 +1,35 @@
|
|||
/*!
|
||||
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
|
||||
*
|
||||
* Copyright 2013-2017 bootstrap-select
|
||||
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
|
||||
*/
|
||||
|
||||
(function (root, factory) {
|
||||
if (typeof define === 'function' && define.amd) {
|
||||
// AMD. Register as an anonymous module unless amdModuleId is set
|
||||
define(["jquery"], function (a0) {
|
||||
return (factory(a0));
|
||||
});
|
||||
} else if (typeof module === 'object' && module.exports) {
|
||||
// Node. Does not work with strict CommonJS, but
|
||||
// only CommonJS-like environments that support module.exports,
|
||||
// like Node.
|
||||
module.exports = factory(require("jquery"));
|
||||
} else {
|
||||
factory(root["jQuery"]);
|
||||
}
|
||||
}(this, function (jQuery) {
|
||||
|
||||
(function ($) {
|
||||
$.fn.selectpicker.defaults = {
|
||||
noneSelectedText: 'Nic není vybráno',
|
||||
noneResultsText: 'Žádné výsledky {0}',
|
||||
countSelectedText: 'Označeno {0} z {1}',
|
||||
maxOptionsText: ['Limit překročen ({n} {var} max)', 'Limit skupiny překročen ({n} {var} max)', ['položek', 'položka']],
|
||||
multipleSeparator: ', '
|
||||
};
|
||||
})(jQuery);
|
||||
|
||||
|
||||
}));
|
7
code/web/www/vendor/bootstrap-select/js/i18n/defaults-cs_CZ.min.js
vendored
Normal file
|
@ -0,0 +1,7 @@
|
|||
/*!
|
||||
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
|
||||
*
|
||||
* Copyright 2013-2017 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 module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Nic není vybráno",noneResultsText:"Žádné výsledky {0}",countSelectedText:"Označeno {0} z {1}",maxOptionsText:["Limit překročen ({n} {var} max)","Limit skupiny překročen ({n} {var} max)",["položek","položka"]],multipleSeparator:", "}}(a)});
|
44
code/web/www/vendor/bootstrap-select/js/i18n/defaults-da_DK.js
vendored
Normal file
|
@ -0,0 +1,44 @@
|
|||
/*!
|
||||
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
|
||||
*
|
||||
* Copyright 2013-2017 bootstrap-select
|
||||
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
|
||||
*/
|
||||
|
||||
(function (root, factory) {
|
||||
if (typeof define === 'function' && define.amd) {
|
||||
// AMD. Register as an anonymous module unless amdModuleId is set
|
||||
define(["jquery"], function (a0) {
|
||||
return (factory(a0));
|
||||
});
|
||||
} else if (typeof module === 'object' && module.exports) {
|
||||
// Node. Does not work with strict CommonJS, but
|
||||
// only CommonJS-like environments that support module.exports,
|
||||
// like Node.
|
||||
module.exports = factory(require("jquery"));
|
||||
} else {
|
||||
factory(root["jQuery"]);
|
||||
}
|
||||
}(this, function (jQuery) {
|
||||
|
||||
(function ($) {
|
||||
$.fn.selectpicker.defaults = {
|
||||
noneSelectedText: 'Intet valgt',
|
||||
noneResultsText: 'Ingen resultater fundet {0}',
|
||||
countSelectedText: function (numSelected, numTotal) {
|
||||
return (numSelected == 1) ? "{0} valgt" : "{0} valgt";
|
||||
},
|
||||
maxOptionsText: function (numAll, numGroup) {
|
||||
return [
|
||||
(numAll == 1) ? 'Begrænsning nået (max {n} valgt)' : 'Begrænsning nået (max {n} valgte)',
|
||||
(numGroup == 1) ? 'Gruppe-begrænsning nået (max {n} valgt)' : 'Gruppe-begrænsning nået (max {n} valgte)'
|
||||
];
|
||||
},
|
||||
selectAllText: 'Markér alle',
|
||||
deselectAllText: 'Afmarkér alle',
|
||||
multipleSeparator: ', '
|
||||
};
|
||||
})(jQuery);
|
||||
|
||||
|
||||
}));
|
7
code/web/www/vendor/bootstrap-select/js/i18n/defaults-da_DK.min.js
vendored
Normal file
|
@ -0,0 +1,7 @@
|
|||
/*!
|
||||
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
|
||||
*
|
||||
* Copyright 2013-2017 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 module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Intet valgt",noneResultsText:"Ingen resultater fundet {0}",countSelectedText:function(a,b){return"{0} valgt"},maxOptionsText:function(a,b){return[1==a?"Begrænsning nået (max {n} valgt)":"Begrænsning nået (max {n} valgte)",1==b?"Gruppe-begrænsning nået (max {n} valgt)":"Gruppe-begrænsning nået (max {n} valgte)"]},selectAllText:"Markér alle",deselectAllText:"Afmarkér alle",multipleSeparator:", "}}(a)});
|
44
code/web/www/vendor/bootstrap-select/js/i18n/defaults-de_DE.js
vendored
Normal file
|
@ -0,0 +1,44 @@
|
|||
/*!
|
||||
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
|
||||
*
|
||||
* Copyright 2013-2017 bootstrap-select
|
||||
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
|
||||
*/
|
||||
|
||||
(function (root, factory) {
|
||||
if (typeof define === 'function' && define.amd) {
|
||||
// AMD. Register as an anonymous module unless amdModuleId is set
|
||||
define(["jquery"], function (a0) {
|
||||
return (factory(a0));
|
||||
});
|
||||
} else if (typeof module === 'object' && module.exports) {
|
||||
// Node. Does not work with strict CommonJS, but
|
||||
// only CommonJS-like environments that support module.exports,
|
||||
// like Node.
|
||||
module.exports = factory(require("jquery"));
|
||||
} else {
|
||||
factory(root["jQuery"]);
|
||||
}
|
||||
}(this, function (jQuery) {
|
||||
|
||||
(function ($) {
|
||||
$.fn.selectpicker.defaults = {
|
||||
noneSelectedText: 'Bitte wählen...',
|
||||
noneResultsText: 'Keine Ergebnisse für {0}',
|
||||
countSelectedText: function (numSelected, numTotal) {
|
||||
return (numSelected == 1) ? "{0} Element ausgewählt" : "{0} Elemente ausgewählt";
|
||||
},
|
||||
maxOptionsText: function (numAll, numGroup) {
|
||||
return [
|
||||
(numAll == 1) ? 'Limit erreicht ({n} Element max.)' : 'Limit erreicht ({n} Elemente max.)',
|
||||
(numGroup == 1) ? 'Gruppen-Limit erreicht ({n} Element max.)' : 'Gruppen-Limit erreicht ({n} Elemente max.)'
|
||||
];
|
||||
},
|
||||
selectAllText: 'Alles auswählen',
|
||||
deselectAllText: 'Nichts auswählen',
|
||||
multipleSeparator: ', '
|
||||
};
|
||||
})(jQuery);
|
||||
|
||||
|
||||
}));
|
7
code/web/www/vendor/bootstrap-select/js/i18n/defaults-de_DE.min.js
vendored
Normal file
|
@ -0,0 +1,7 @@
|
|||
/*!
|
||||
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
|
||||
*
|
||||
* Copyright 2013-2017 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 module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Bitte wählen...",noneResultsText:"Keine Ergebnisse für {0}",countSelectedText:function(a,b){return 1==a?"{0} Element ausgewählt":"{0} Elemente ausgewählt"},maxOptionsText:function(a,b){return[1==a?"Limit erreicht ({n} Element max.)":"Limit erreicht ({n} Elemente max.)",1==b?"Gruppen-Limit erreicht ({n} Element max.)":"Gruppen-Limit erreicht ({n} Elemente max.)"]},selectAllText:"Alles auswählen",deselectAllText:"Nichts auswählen",multipleSeparator:", "}}(a)});
|
44
code/web/www/vendor/bootstrap-select/js/i18n/defaults-en_US.js
vendored
Normal file
|
@ -0,0 +1,44 @@
|
|||
/*!
|
||||
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
|
||||
*
|
||||
* Copyright 2013-2017 bootstrap-select
|
||||
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
|
||||
*/
|
||||
|
||||
(function (root, factory) {
|
||||
if (typeof define === 'function' && define.amd) {
|
||||
// AMD. Register as an anonymous module unless amdModuleId is set
|
||||
define(["jquery"], function (a0) {
|
||||
return (factory(a0));
|
||||
});
|
||||
} else if (typeof module === 'object' && module.exports) {
|
||||
// Node. Does not work with strict CommonJS, but
|
||||
// only CommonJS-like environments that support module.exports,
|
||||
// like Node.
|
||||
module.exports = factory(require("jquery"));
|
||||
} else {
|
||||
factory(root["jQuery"]);
|
||||
}
|
||||
}(this, function (jQuery) {
|
||||
|
||||
(function ($) {
|
||||
$.fn.selectpicker.defaults = {
|
||||
noneSelectedText: 'Nothing selected',
|
||||
noneResultsText: 'No results match {0}',
|
||||
countSelectedText: function (numSelected, numTotal) {
|
||||
return (numSelected == 1) ? "{0} item selected" : "{0} items selected";
|
||||
},
|
||||
maxOptionsText: function (numAll, numGroup) {
|
||||
return [
|
||||
(numAll == 1) ? 'Limit reached ({n} item max)' : 'Limit reached ({n} items max)',
|
||||
(numGroup == 1) ? 'Group limit reached ({n} item max)' : 'Group limit reached ({n} items max)'
|
||||
];
|
||||
},
|
||||
selectAllText: 'Select All',
|
||||
deselectAllText: 'Deselect All',
|
||||
multipleSeparator: ', '
|
||||
};
|
||||
})(jQuery);
|
||||
|
||||
|
||||
}));
|
7
code/web/www/vendor/bootstrap-select/js/i18n/defaults-en_US.min.js
vendored
Normal file
|
@ -0,0 +1,7 @@
|
|||
/*!
|
||||
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
|
||||
*
|
||||
* Copyright 2013-2017 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 module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Nothing selected",noneResultsText:"No results match {0}",countSelectedText:function(a,b){return 1==a?"{0} item selected":"{0} items selected"},maxOptionsText:function(a,b){return[1==a?"Limit reached ({n} item max)":"Limit reached ({n} items max)",1==b?"Group limit reached ({n} item max)":"Group limit reached ({n} items max)"]},selectAllText:"Select All",deselectAllText:"Deselect All",multipleSeparator:", "}}(a)});
|
37
code/web/www/vendor/bootstrap-select/js/i18n/defaults-es_CL.js
vendored
Normal file
|
@ -0,0 +1,37 @@
|
|||
/*!
|
||||
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
|
||||
*
|
||||
* Copyright 2013-2017 bootstrap-select
|
||||
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
|
||||
*/
|
||||
|
||||
(function (root, factory) {
|
||||
if (typeof define === 'function' && define.amd) {
|
||||
// AMD. Register as an anonymous module unless amdModuleId is set
|
||||
define(["jquery"], function (a0) {
|
||||
return (factory(a0));
|
||||
});
|
||||
} else if (typeof module === 'object' && module.exports) {
|
||||
// Node. Does not work with strict CommonJS, but
|
||||
// only CommonJS-like environments that support module.exports,
|
||||
// like Node.
|
||||
module.exports = factory(require("jquery"));
|
||||
} else {
|
||||
factory(root["jQuery"]);
|
||||
}
|
||||
}(this, function (jQuery) {
|
||||
|
||||
(function ($) {
|
||||
$.fn.selectpicker.defaults = {
|
||||
noneSelectedText: 'No hay selección',
|
||||
noneResultsText: 'No hay resultados {0}',
|
||||
countSelectedText: 'Seleccionados {0} de {1}',
|
||||
maxOptionsText: ['Límite alcanzado ({n} {var} max)', 'Límite del grupo alcanzado({n} {var} max)', ['elementos', 'element']],
|
||||
multipleSeparator: ', ',
|
||||
selectAllText: 'Seleccionar Todos',
|
||||
deselectAllText: 'Desmarcar Todos'
|
||||
};
|
||||
})(jQuery);
|
||||
|
||||
|
||||
}));
|
7
code/web/www/vendor/bootstrap-select/js/i18n/defaults-es_CL.min.js
vendored
Normal file
|
@ -0,0 +1,7 @@
|
|||
/*!
|
||||
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
|
||||
*
|
||||
* Copyright 2013-2017 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 module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"No hay selección",noneResultsText:"No hay resultados {0}",countSelectedText:"Seleccionados {0} de {1}",maxOptionsText:["Límite alcanzado ({n} {var} max)","Límite del grupo alcanzado({n} {var} max)",["elementos","element"]],multipleSeparator:", ",selectAllText:"Seleccionar Todos",deselectAllText:"Desmarcar Todos"}}(a)});
|
37
code/web/www/vendor/bootstrap-select/js/i18n/defaults-es_ES.js
vendored
Normal file
|
@ -0,0 +1,37 @@
|
|||
/*!
|
||||
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
|
||||
*
|
||||
* Copyright 2013-2017 bootstrap-select
|
||||
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
|
||||
*/
|
||||
|
||||
(function (root, factory) {
|
||||
if (typeof define === 'function' && define.amd) {
|
||||
// AMD. Register as an anonymous module unless amdModuleId is set
|
||||
define(["jquery"], function (a0) {
|
||||
return (factory(a0));
|
||||
});
|
||||
} else if (typeof module === 'object' && module.exports) {
|
||||
// Node. Does not work with strict CommonJS, but
|
||||
// only CommonJS-like environments that support module.exports,
|
||||
// like Node.
|
||||
module.exports = factory(require("jquery"));
|
||||
} else {
|
||||
factory(root["jQuery"]);
|
||||
}
|
||||
}(this, function (jQuery) {
|
||||
|
||||
(function ($) {
|
||||
$.fn.selectpicker.defaults = {
|
||||
noneSelectedText: 'No hay selección',
|
||||
noneResultsText: 'No hay resultados {0}',
|
||||
countSelectedText: 'Seleccionados {0} de {1}',
|
||||
maxOptionsText: ['Límite alcanzado ({n} {var} max)', 'Límite del grupo alcanzado({n} {var} max)', ['elementos', 'element']],
|
||||
multipleSeparator: ', ',
|
||||
selectAllText: 'Seleccionar Todos',
|
||||
deselectAllText: 'Desmarcar Todos'
|
||||
};
|
||||
})(jQuery);
|
||||
|
||||
|
||||
}));
|
7
code/web/www/vendor/bootstrap-select/js/i18n/defaults-es_ES.min.js
vendored
Normal file
|
@ -0,0 +1,7 @@
|
|||
/*!
|
||||
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
|
||||
*
|
||||
* Copyright 2013-2017 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 module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"No hay selección",noneResultsText:"No hay resultados {0}",countSelectedText:"Seleccionados {0} de {1}",maxOptionsText:["Límite alcanzado ({n} {var} max)","Límite del grupo alcanzado({n} {var} max)",["elementos","element"]],multipleSeparator:", ",selectAllText:"Seleccionar Todos",deselectAllText:"Desmarcar Todos"}}(a)});
|
35
code/web/www/vendor/bootstrap-select/js/i18n/defaults-eu.js
vendored
Normal file
|
@ -0,0 +1,35 @@
|
|||
/*!
|
||||
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
|
||||
*
|
||||
* Copyright 2013-2017 bootstrap-select
|
||||
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
|
||||
*/
|
||||
|
||||
(function (root, factory) {
|
||||
if (typeof define === 'function' && define.amd) {
|
||||
// AMD. Register as an anonymous module unless amdModuleId is set
|
||||
define(["jquery"], function (a0) {
|
||||
return (factory(a0));
|
||||
});
|
||||
} else if (typeof module === 'object' && module.exports) {
|
||||
// Node. Does not work with strict CommonJS, but
|
||||
// only CommonJS-like environments that support module.exports,
|
||||
// like Node.
|
||||
module.exports = factory(require("jquery"));
|
||||
} else {
|
||||
factory(root["jQuery"]);
|
||||
}
|
||||
}(this, function (jQuery) {
|
||||
|
||||
(function ($) {
|
||||
$.fn.selectpicker.defaults = {
|
||||
noneSelectedText: 'Hautapenik ez',
|
||||
noneResultsText: 'Emaitzarik ez {0}',
|
||||
countSelectedText: '{1}(e)tik {0} hautatuta',
|
||||
maxOptionsText: ['Mugara iritsita ({n} {var} gehienez)', 'Taldearen mugara iritsita ({n} {var} gehienez)', ['elementu', 'elementu']],
|
||||
multipleSeparator: ', '
|
||||
};
|
||||
})(jQuery);
|
||||
|
||||
|
||||
}));
|
7
code/web/www/vendor/bootstrap-select/js/i18n/defaults-eu.min.js
vendored
Normal file
|
@ -0,0 +1,7 @@
|
|||
/*!
|
||||
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
|
||||
*
|
||||
* Copyright 2013-2017 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 module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Hautapenik ez",noneResultsText:"Emaitzarik ez {0}",countSelectedText:"{1}(e)tik {0} hautatuta",maxOptionsText:["Mugara iritsita ({n} {var} gehienez)","Taldearen mugara iritsita ({n} {var} gehienez)",["elementu","elementu"]],multipleSeparator:", "}}(a)});
|
37
code/web/www/vendor/bootstrap-select/js/i18n/defaults-fa_IR.js
vendored
Normal file
|
@ -0,0 +1,37 @@
|
|||
/*!
|
||||
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
|
||||
*
|
||||
* Copyright 2013-2017 bootstrap-select
|
||||
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
|
||||
*/
|
||||
|
||||
(function (root, factory) {
|
||||
if (typeof define === 'function' && define.amd) {
|
||||
// AMD. Register as an anonymous module unless amdModuleId is set
|
||||
define(["jquery"], function (a0) {
|
||||
return (factory(a0));
|
||||
});
|
||||
} else if (typeof module === 'object' && module.exports) {
|
||||
// Node. Does not work with strict CommonJS, but
|
||||
// only CommonJS-like environments that support module.exports,
|
||||
// like Node.
|
||||
module.exports = factory(require("jquery"));
|
||||
} else {
|
||||
factory(root["jQuery"]);
|
||||
}
|
||||
}(this, function (jQuery) {
|
||||
|
||||
(function ($) {
|
||||
$.fn.selectpicker.defaults = {
|
||||
noneSelectedText: 'چیزی انتخاب نشده است',
|
||||
noneResultsText: 'هیج مشابهی برای {0} پیدا نشد',
|
||||
countSelectedText: "{0} از {1} مورد انتخاب شده",
|
||||
maxOptionsText: ['بیشتر ممکن نیست {حداکثر {n} عدد}', 'بیشتر ممکن نیست {حداکثر {n} عدد}'],
|
||||
selectAllText: 'انتخاب همه',
|
||||
deselectAllText: 'انتخاب هیچ کدام',
|
||||
multipleSeparator: ', '
|
||||
};
|
||||
})(jQuery);
|
||||
|
||||
|
||||
}));
|
7
code/web/www/vendor/bootstrap-select/js/i18n/defaults-fa_IR.min.js
vendored
Normal file
|
@ -0,0 +1,7 @@
|
|||
/*!
|
||||
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
|
||||
*
|
||||
* Copyright 2013-2017 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 module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"چیزی انتخاب نشده است",noneResultsText:"هیج مشابهی برای {0} پیدا نشد",countSelectedText:"{0} از {1} مورد انتخاب شده",maxOptionsText:["بیشتر ممکن نیست {حداکثر {n} عدد}","بیشتر ممکن نیست {حداکثر {n} عدد}"],selectAllText:"انتخاب همه",deselectAllText:"انتخاب هیچ کدام",multipleSeparator:", "}}(a)});
|
44
code/web/www/vendor/bootstrap-select/js/i18n/defaults-fi_FI.js
vendored
Normal file
|
@ -0,0 +1,44 @@
|
|||
/*!
|
||||
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
|
||||
*
|
||||
* Copyright 2013-2017 bootstrap-select
|
||||
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
|
||||
*/
|
||||
|
||||
(function (root, factory) {
|
||||
if (typeof define === 'function' && define.amd) {
|
||||
// AMD. Register as an anonymous module unless amdModuleId is set
|
||||
define(["jquery"], function (a0) {
|
||||
return (factory(a0));
|
||||
});
|
||||
} else if (typeof module === 'object' && module.exports) {
|
||||
// Node. Does not work with strict CommonJS, but
|
||||
// only CommonJS-like environments that support module.exports,
|
||||
// like Node.
|
||||
module.exports = factory(require("jquery"));
|
||||
} else {
|
||||
factory(root["jQuery"]);
|
||||
}
|
||||
}(this, function (jQuery) {
|
||||
|
||||
(function ($) {
|
||||
$.fn.selectpicker.defaults = {
|
||||
noneSelectedText: 'Ei valintoja',
|
||||
noneResultsText: 'Ei hakutuloksia {0}',
|
||||
countSelectedText: function (numSelected, numTotal) {
|
||||
return (numSelected == 1) ? "{0} valittu" : "{0} valitut";
|
||||
},
|
||||
maxOptionsText: function (numAll, numGroup) {
|
||||
return [
|
||||
(numAll == 1) ? 'Valintojen maksimimäärä ({n} saavutettu)' : 'Valintojen maksimimäärä ({n} saavutettu)',
|
||||
(numGroup == 1) ? 'Ryhmän maksimimäärä ({n} saavutettu)' : 'Ryhmän maksimimäärä ({n} saavutettu)'
|
||||
];
|
||||
},
|
||||
selectAllText: 'Valitse kaikki',
|
||||
deselectAllText: 'Poista kaikki',
|
||||
multipleSeparator: ', '
|
||||
};
|
||||
})(jQuery);
|
||||
|
||||
|
||||
}));
|
7
code/web/www/vendor/bootstrap-select/js/i18n/defaults-fi_FI.min.js
vendored
Normal file
|
@ -0,0 +1,7 @@
|
|||
/*!
|
||||
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
|
||||
*
|
||||
* Copyright 2013-2017 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 module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Ei valintoja",noneResultsText:"Ei hakutuloksia {0}",countSelectedText:function(a,b){return 1==a?"{0} valittu":"{0} valitut"},maxOptionsText:function(a,b){return["Valintojen maksimimäärä ({n} saavutettu)","Ryhmän maksimimäärä ({n} saavutettu)"]},selectAllText:"Valitse kaikki",deselectAllText:"Poista kaikki",multipleSeparator:", "}}(a)});
|
44
code/web/www/vendor/bootstrap-select/js/i18n/defaults-fr_FR.js
vendored
Normal file
|
@ -0,0 +1,44 @@
|
|||
/*!
|
||||
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
|
||||
*
|
||||
* Copyright 2013-2017 bootstrap-select
|
||||
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
|
||||
*/
|
||||
|
||||
(function (root, factory) {
|
||||
if (typeof define === 'function' && define.amd) {
|
||||
// AMD. Register as an anonymous module unless amdModuleId is set
|
||||
define(["jquery"], function (a0) {
|
||||
return (factory(a0));
|
||||
});
|
||||
} else if (typeof module === 'object' && module.exports) {
|
||||
// Node. Does not work with strict CommonJS, but
|
||||
// only CommonJS-like environments that support module.exports,
|
||||
// like Node.
|
||||
module.exports = factory(require("jquery"));
|
||||
} else {
|
||||
factory(root["jQuery"]);
|
||||
}
|
||||
}(this, function (jQuery) {
|
||||
|
||||
(function ($) {
|
||||
$.fn.selectpicker.defaults = {
|
||||
noneSelectedText: 'Aucune sélection',
|
||||
noneResultsText: 'Aucun résultat pour {0}',
|
||||
countSelectedText: function (numSelected, numTotal) {
|
||||
return (numSelected > 1) ? "{0} éléments sélectionnés" : "{0} élément sélectionné";
|
||||
},
|
||||
maxOptionsText: function (numAll, numGroup) {
|
||||
return [
|
||||
(numAll > 1) ? 'Limite atteinte ({n} éléments max)' : 'Limite atteinte ({n} élément max)',
|
||||
(numGroup > 1) ? 'Limite du groupe atteinte ({n} éléments max)' : 'Limite du groupe atteinte ({n} élément max)'
|
||||
];
|
||||
},
|
||||
multipleSeparator: ', ',
|
||||
selectAllText: 'Tout Sélectionner',
|
||||
deselectAllText: 'Tout Dé-selectionner',
|
||||
};
|
||||
})(jQuery);
|
||||
|
||||
|
||||
}));
|
7
code/web/www/vendor/bootstrap-select/js/i18n/defaults-fr_FR.min.js
vendored
Normal file
|
@ -0,0 +1,7 @@
|
|||
/*!
|
||||
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
|
||||
*
|
||||
* Copyright 2013-2017 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 module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Aucune sélection",noneResultsText:"Aucun résultat pour {0}",countSelectedText:function(a,b){return a>1?"{0} éléments sélectionnés":"{0} élément sélectionné"},maxOptionsText:function(a,b){return[a>1?"Limite atteinte ({n} éléments max)":"Limite atteinte ({n} élément max)",b>1?"Limite du groupe atteinte ({n} éléments max)":"Limite du groupe atteinte ({n} élément max)"]},multipleSeparator:", ",selectAllText:"Tout Sélectionner",deselectAllText:"Tout Dé-selectionner"}}(a)});
|
44
code/web/www/vendor/bootstrap-select/js/i18n/defaults-hu_HU.js
vendored
Normal file
|
@ -0,0 +1,44 @@
|
|||
/*!
|
||||
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
|
||||
*
|
||||
* Copyright 2013-2017 bootstrap-select
|
||||
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
|
||||
*/
|
||||
|
||||
(function (root, factory) {
|
||||
if (typeof define === 'function' && define.amd) {
|
||||
// AMD. Register as an anonymous module unless amdModuleId is set
|
||||
define(["jquery"], function (a0) {
|
||||
return (factory(a0));
|
||||
});
|
||||
} else if (typeof module === 'object' && module.exports) {
|
||||
// Node. Does not work with strict CommonJS, but
|
||||
// only CommonJS-like environments that support module.exports,
|
||||
// like Node.
|
||||
module.exports = factory(require("jquery"));
|
||||
} else {
|
||||
factory(root["jQuery"]);
|
||||
}
|
||||
}(this, function (jQuery) {
|
||||
|
||||
(function ($) {
|
||||
$.fn.selectpicker.defaults = {
|
||||
noneSelectedText: 'Válasszon!',
|
||||
noneResultsText: 'Nincs találat {0}',
|
||||
countSelectedText: function (numSelected, numTotal) {
|
||||
return '{0} elem kiválasztva';
|
||||
},
|
||||
maxOptionsText: function (numAll, numGroup) {
|
||||
return [
|
||||
'Legfeljebb {n} elem választható',
|
||||
'A csoportban legfeljebb {n} elem választható'
|
||||
];
|
||||
},
|
||||
selectAllText: 'Mind',
|
||||
deselectAllText: 'Egyik sem',
|
||||
multipleSeparator: ', '
|
||||
};
|
||||
})(jQuery);
|
||||
|
||||
|
||||
}));
|
7
code/web/www/vendor/bootstrap-select/js/i18n/defaults-hu_HU.min.js
vendored
Normal file
|
@ -0,0 +1,7 @@
|
|||
/*!
|
||||
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
|
||||
*
|
||||
* Copyright 2013-2017 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 module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Válasszon!",noneResultsText:"Nincs találat {0}",countSelectedText:function(a,b){return"{0} elem kiválasztva"},maxOptionsText:function(a,b){return["Legfeljebb {n} elem választható","A csoportban legfeljebb {n} elem választható"]},selectAllText:"Mind",deselectAllText:"Egyik sem",multipleSeparator:", "}}(a)});
|
37
code/web/www/vendor/bootstrap-select/js/i18n/defaults-id_ID.js
vendored
Normal file
|
@ -0,0 +1,37 @@
|
|||
/*!
|
||||
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
|
||||
*
|
||||
* Copyright 2013-2017 bootstrap-select
|
||||
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
|
||||
*/
|
||||
|
||||
(function (root, factory) {
|
||||
if (typeof define === 'function' && define.amd) {
|
||||
// AMD. Register as an anonymous module unless amdModuleId is set
|
||||
define(["jquery"], function (a0) {
|
||||
return (factory(a0));
|
||||
});
|
||||
} else if (typeof module === 'object' && module.exports) {
|
||||
// Node. Does not work with strict CommonJS, but
|
||||
// only CommonJS-like environments that support module.exports,
|
||||
// like Node.
|
||||
module.exports = factory(require("jquery"));
|
||||
} else {
|
||||
factory(root["jQuery"]);
|
||||
}
|
||||
}(this, function (jQuery) {
|
||||
|
||||
(function ($) {
|
||||
$.fn.selectpicker.defaults = {
|
||||
noneSelectedText: 'Tidak ada yang dipilih',
|
||||
noneResultsText: 'Tidak ada yang cocok {0}',
|
||||
countSelectedText: '{0} terpilih',
|
||||
maxOptionsText: ['Mencapai batas (maksimum {n})', 'Mencapai batas grup (maksimum {n})'],
|
||||
selectAllText: 'Pilih Semua',
|
||||
deselectAllText: 'Hapus Semua',
|
||||
multipleSeparator: ', '
|
||||
};
|
||||
})(jQuery);
|
||||
|
||||
|
||||
}));
|
7
code/web/www/vendor/bootstrap-select/js/i18n/defaults-id_ID.min.js
vendored
Normal file
|
@ -0,0 +1,7 @@
|
|||
/*!
|
||||
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
|
||||
*
|
||||
* Copyright 2013-2017 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 module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Tidak ada yang dipilih",noneResultsText:"Tidak ada yang cocok {0}",countSelectedText:"{0} terpilih",maxOptionsText:["Mencapai batas (maksimum {n})","Mencapai batas grup (maksimum {n})"],selectAllText:"Pilih Semua",deselectAllText:"Hapus Semua",multipleSeparator:", "}}(a)});
|
39
code/web/www/vendor/bootstrap-select/js/i18n/defaults-it_IT.js
vendored
Normal file
|
@ -0,0 +1,39 @@
|
|||
/*!
|
||||
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
|
||||
*
|
||||
* Copyright 2013-2017 bootstrap-select
|
||||
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
|
||||
*/
|
||||
|
||||
(function (root, factory) {
|
||||
if (typeof define === 'function' && define.amd) {
|
||||
// AMD. Register as an anonymous module unless amdModuleId is set
|
||||
define(["jquery"], function (a0) {
|
||||
return (factory(a0));
|
||||
});
|
||||
} else if (typeof module === 'object' && module.exports) {
|
||||
// Node. Does not work with strict CommonJS, but
|
||||
// only CommonJS-like environments that support module.exports,
|
||||
// like Node.
|
||||
module.exports = factory(require("jquery"));
|
||||
} else {
|
||||
factory(root["jQuery"]);
|
||||
}
|
||||
}(this, function (jQuery) {
|
||||
|
||||
(function ($) {
|
||||
$.fn.selectpicker.defaults = {
|
||||
noneSelectedText: 'Nessuna selezione',
|
||||
noneResultsText: 'Nessun risultato per {0}',
|
||||
countSelectedText: function (numSelected, numTotal){
|
||||
return (numSelected == 1) ? 'Selezionato {0} di {1}' : 'Selezionati {0} di {1}';
|
||||
},
|
||||
maxOptionsText: ['Limite raggiunto ({n} {var} max)', 'Limite del gruppo raggiunto ({n} {var} max)', ['elementi', 'elemento']],
|
||||
multipleSeparator: ', ',
|
||||
selectAllText: 'Seleziona Tutto',
|
||||
deselectAllText: 'Deseleziona Tutto'
|
||||
};
|
||||
})(jQuery);
|
||||
|
||||
|
||||
}));
|
7
code/web/www/vendor/bootstrap-select/js/i18n/defaults-it_IT.min.js
vendored
Normal file
|
@ -0,0 +1,7 @@
|
|||
/*!
|
||||
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
|
||||
*
|
||||
* Copyright 2013-2017 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 module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Nessuna selezione",noneResultsText:"Nessun risultato per {0}",countSelectedText:function(a,b){return 1==a?"Selezionato {0} di {1}":"Selezionati {0} di {1}"},maxOptionsText:["Limite raggiunto ({n} {var} max)","Limite del gruppo raggiunto ({n} {var} max)",["elementi","elemento"]],multipleSeparator:", ",selectAllText:"Seleziona Tutto",deselectAllText:"Deseleziona Tutto"}}(a)});
|
44
code/web/www/vendor/bootstrap-select/js/i18n/defaults-ko_KR.js
vendored
Normal file
|
@ -0,0 +1,44 @@
|
|||
/*!
|
||||
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
|
||||
*
|
||||
* Copyright 2013-2017 bootstrap-select
|
||||
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
|
||||
*/
|
||||
|
||||
(function (root, factory) {
|
||||
if (typeof define === 'function' && define.amd) {
|
||||
// AMD. Register as an anonymous module unless amdModuleId is set
|
||||
define(["jquery"], function (a0) {
|
||||
return (factory(a0));
|
||||
});
|
||||
} else if (typeof module === 'object' && module.exports) {
|
||||
// Node. Does not work with strict CommonJS, but
|
||||
// only CommonJS-like environments that support module.exports,
|
||||
// like Node.
|
||||
module.exports = factory(require("jquery"));
|
||||
} else {
|
||||
factory(root["jQuery"]);
|
||||
}
|
||||
}(this, function (jQuery) {
|
||||
|
||||
(function ($) {
|
||||
$.fn.selectpicker.defaults = {
|
||||
noneSelectedText: '항목을 선택해주세요',
|
||||
noneResultsText: '{0} 검색 결과가 없습니다',
|
||||
countSelectedText: function (numSelected, numTotal) {
|
||||
return "{0}개를 선택하였습니다";
|
||||
},
|
||||
maxOptionsText: function (numAll, numGroup) {
|
||||
return [
|
||||
'{n}개까지 선택 가능합니다',
|
||||
'해당 그룹은 {n}개까지 선택 가능합니다'
|
||||
];
|
||||
},
|
||||
selectAllText: '전체선택',
|
||||
deselectAllText: '전체해제',
|
||||
multipleSeparator: ', '
|
||||
};
|
||||
})(jQuery);
|
||||
|
||||
|
||||
}));
|
7
code/web/www/vendor/bootstrap-select/js/i18n/defaults-ko_KR.min.js
vendored
Normal file
|
@ -0,0 +1,7 @@
|
|||
/*!
|
||||
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
|
||||
*
|
||||
* Copyright 2013-2017 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 module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"항목을 선택해주세요",noneResultsText:"{0} 검색 결과가 없습니다",countSelectedText:function(a,b){return"{0}개를 선택하였습니다"},maxOptionsText:function(a,b){return["{n}개까지 선택 가능합니다","해당 그룹은 {n}개까지 선택 가능합니다"]},selectAllText:"전체선택",deselectAllText:"전체해제",multipleSeparator:", "}}(a)});
|
44
code/web/www/vendor/bootstrap-select/js/i18n/defaults-lt_LT.js
vendored
Normal file
|
@ -0,0 +1,44 @@
|
|||
/*!
|
||||
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
|
||||
*
|
||||
* Copyright 2013-2017 bootstrap-select
|
||||
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
|
||||
*/
|
||||
|
||||
(function (root, factory) {
|
||||
if (typeof define === 'function' && define.amd) {
|
||||
// AMD. Register as an anonymous module unless amdModuleId is set
|
||||
define(["jquery"], function (a0) {
|
||||
return (factory(a0));
|
||||
});
|
||||
} else if (typeof module === 'object' && module.exports) {
|
||||
// Node. Does not work with strict CommonJS, but
|
||||
// only CommonJS-like environments that support module.exports,
|
||||
// like Node.
|
||||
module.exports = factory(require("jquery"));
|
||||
} else {
|
||||
factory(root["jQuery"]);
|
||||
}
|
||||
}(this, function (jQuery) {
|
||||
|
||||
(function ($) {
|
||||
$.fn.selectpicker.defaults = {
|
||||
noneSelectedText: 'Niekas nepasirinkta',
|
||||
noneResultsText: 'Niekas nesutapo su {0}',
|
||||
countSelectedText: function (numSelected, numTotal) {
|
||||
return (numSelected == 1) ? "{0} elementas pasirinktas" : "{0} elementai(-ų) pasirinkta";
|
||||
},
|
||||
maxOptionsText: function (numAll, numGroup) {
|
||||
return [
|
||||
(numAll == 1) ? 'Pasiekta riba ({n} elementas daugiausiai)' : 'Riba pasiekta ({n} elementai(-ų) daugiausiai)',
|
||||
(numGroup == 1) ? 'Grupės riba pasiekta ({n} elementas daugiausiai)' : 'Grupės riba pasiekta ({n} elementai(-ų) daugiausiai)'
|
||||
];
|
||||
},
|
||||
selectAllText: 'Pasirinkti visus',
|
||||
deselectAllText: 'Atmesti visus',
|
||||
multipleSeparator: ', '
|
||||
};
|
||||
})(jQuery);
|
||||
|
||||
|
||||
}));
|
7
code/web/www/vendor/bootstrap-select/js/i18n/defaults-lt_LT.min.js
vendored
Normal file
|
@ -0,0 +1,7 @@
|
|||
/*!
|
||||
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
|
||||
*
|
||||
* Copyright 2013-2017 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 module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Niekas nepasirinkta",noneResultsText:"Niekas nesutapo su {0}",countSelectedText:function(a,b){return 1==a?"{0} elementas pasirinktas":"{0} elementai(-ų) pasirinkta"},maxOptionsText:function(a,b){return[1==a?"Pasiekta riba ({n} elementas daugiausiai)":"Riba pasiekta ({n} elementai(-ų) daugiausiai)",1==b?"Grupės riba pasiekta ({n} elementas daugiausiai)":"Grupės riba pasiekta ({n} elementai(-ų) daugiausiai)"]},selectAllText:"Pasirinkti visus",deselectAllText:"Atmesti visus",multipleSeparator:", "}}(a)});
|
44
code/web/www/vendor/bootstrap-select/js/i18n/defaults-nb_NO.js
vendored
Normal file
|
@ -0,0 +1,44 @@
|
|||
/*!
|
||||
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
|
||||
*
|
||||
* Copyright 2013-2017 bootstrap-select
|
||||
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
|
||||
*/
|
||||
|
||||
(function (root, factory) {
|
||||
if (typeof define === 'function' && define.amd) {
|
||||
// AMD. Register as an anonymous module unless amdModuleId is set
|
||||
define(["jquery"], function (a0) {
|
||||
return (factory(a0));
|
||||
});
|
||||
} else if (typeof module === 'object' && module.exports) {
|
||||
// Node. Does not work with strict CommonJS, but
|
||||
// only CommonJS-like environments that support module.exports,
|
||||
// like Node.
|
||||
module.exports = factory(require("jquery"));
|
||||
} else {
|
||||
factory(root["jQuery"]);
|
||||
}
|
||||
}(this, function (jQuery) {
|
||||
|
||||
(function ($) {
|
||||
$.fn.selectpicker.defaults = {
|
||||
noneSelectedText: 'Ingen valgt',
|
||||
noneResultsText: 'Søket gir ingen treff {0}',
|
||||
countSelectedText: function (numSelected, numTotal) {
|
||||
return (numSelected == 1) ? "{0} alternativ valgt" : "{0} alternativer valgt";
|
||||
},
|
||||
maxOptionsText: function (numAll, numGroup) {
|
||||
return [
|
||||
(numAll == 1) ? 'Grense nådd (maks {n} valg)' : 'Grense nådd (maks {n} valg)',
|
||||
(numGroup == 1) ? 'Grense for grupper nådd (maks {n} grupper)' : 'Grense for grupper nådd (maks {n} grupper)'
|
||||
];
|
||||
},
|
||||
selectAllText: 'Merk alle',
|
||||
deselectAllText: 'Fjern alle',
|
||||
multipleSeparator: ', '
|
||||
};
|
||||
})(jQuery);
|
||||
|
||||
|
||||
}));
|
7
code/web/www/vendor/bootstrap-select/js/i18n/defaults-nb_NO.min.js
vendored
Normal file
|
@ -0,0 +1,7 @@
|
|||
/*!
|
||||
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
|
||||
*
|
||||
* Copyright 2013-2017 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 module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Ingen valgt",noneResultsText:"Søket gir ingen treff {0}",countSelectedText:function(a,b){return 1==a?"{0} alternativ valgt":"{0} alternativer valgt"},maxOptionsText:function(a,b){return["Grense nådd (maks {n} valg)","Grense for grupper nådd (maks {n} grupper)"]},selectAllText:"Merk alle",deselectAllText:"Fjern alle",multipleSeparator:", "}}(a)});
|
35
code/web/www/vendor/bootstrap-select/js/i18n/defaults-nl_NL.js
vendored
Normal file
|
@ -0,0 +1,35 @@
|
|||
/*!
|
||||
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
|
||||
*
|
||||
* Copyright 2013-2017 bootstrap-select
|
||||
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
|
||||
*/
|
||||
|
||||
(function (root, factory) {
|
||||
if (typeof define === 'function' && define.amd) {
|
||||
// AMD. Register as an anonymous module unless amdModuleId is set
|
||||
define(["jquery"], function (a0) {
|
||||
return (factory(a0));
|
||||
});
|
||||
} else if (typeof module === 'object' && module.exports) {
|
||||
// Node. Does not work with strict CommonJS, but
|
||||
// only CommonJS-like environments that support module.exports,
|
||||
// like Node.
|
||||
module.exports = factory(require("jquery"));
|
||||
} else {
|
||||
factory(root["jQuery"]);
|
||||
}
|
||||
}(this, function (jQuery) {
|
||||
|
||||
(function ($) {
|
||||
$.fn.selectpicker.defaults = {
|
||||
noneSelectedText: 'Niets geselecteerd',
|
||||
noneResultsText: 'Geen resultaten gevonden voor {0}',
|
||||
countSelectedText: '{0} van {1} geselecteerd',
|
||||
maxOptionsText: ['Limiet bereikt ({n} {var} max)', 'Groep limiet bereikt ({n} {var} max)', ['items', 'item']],
|
||||
multipleSeparator: ', '
|
||||
};
|
||||
})(jQuery);
|
||||
|
||||
|
||||
}));
|
7
code/web/www/vendor/bootstrap-select/js/i18n/defaults-nl_NL.min.js
vendored
Normal file
|
@ -0,0 +1,7 @@
|
|||
/*!
|
||||
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
|
||||
*
|
||||
* Copyright 2013-2017 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 module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Niets geselecteerd",noneResultsText:"Geen resultaten gevonden voor {0}",countSelectedText:"{0} van {1} geselecteerd",maxOptionsText:["Limiet bereikt ({n} {var} max)","Groep limiet bereikt ({n} {var} max)",["items","item"]],multipleSeparator:", "}}(a)});
|
37
code/web/www/vendor/bootstrap-select/js/i18n/defaults-pl_PL.js
vendored
Normal file
|
@ -0,0 +1,37 @@
|
|||
/*!
|
||||
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
|
||||
*
|
||||
* Copyright 2013-2017 bootstrap-select
|
||||
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
|
||||
*/
|
||||
|
||||
(function (root, factory) {
|
||||
if (typeof define === 'function' && define.amd) {
|
||||
// AMD. Register as an anonymous module unless amdModuleId is set
|
||||
define(["jquery"], function (a0) {
|
||||
return (factory(a0));
|
||||
});
|
||||
} else if (typeof module === 'object' && module.exports) {
|
||||
// Node. Does not work with strict CommonJS, but
|
||||
// only CommonJS-like environments that support module.exports,
|
||||
// like Node.
|
||||
module.exports = factory(require("jquery"));
|
||||
} else {
|
||||
factory(root["jQuery"]);
|
||||
}
|
||||
}(this, function (jQuery) {
|
||||
|
||||
(function ($) {
|
||||
$.fn.selectpicker.defaults = {
|
||||
noneSelectedText: 'Nic nie zaznaczono',
|
||||
noneResultsText: 'Brak wyników wyszukiwania {0}',
|
||||
countSelectedText: 'Zaznaczono {0} z {1}',
|
||||
maxOptionsText: ['Osiągnięto limit ({n} {var} max)', 'Limit grupy osiągnięty ({n} {var} max)', ['elementy', 'element']],
|
||||
selectAll: 'Zaznacz wszystkie',
|
||||
deselectAll: 'Odznacz wszystkie',
|
||||
multipleSeparator: ', '
|
||||
};
|
||||
})(jQuery);
|
||||
|
||||
|
||||
}));
|
7
code/web/www/vendor/bootstrap-select/js/i18n/defaults-pl_PL.min.js
vendored
Normal file
|
@ -0,0 +1,7 @@
|
|||
/*!
|
||||
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
|
||||
*
|
||||
* Copyright 2013-2017 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 module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Nic nie zaznaczono",noneResultsText:"Brak wyników wyszukiwania {0}",countSelectedText:"Zaznaczono {0} z {1}",maxOptionsText:["Osiągnięto limit ({n} {var} max)","Limit grupy osiągnięty ({n} {var} max)",["elementy","element"]],selectAll:"Zaznacz wszystkie",deselectAll:"Odznacz wszystkie",multipleSeparator:", "}}(a)});
|
35
code/web/www/vendor/bootstrap-select/js/i18n/defaults-pt_BR.js
vendored
Normal file
|
@ -0,0 +1,35 @@
|
|||
/*!
|
||||
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
|
||||
*
|
||||
* Copyright 2013-2017 bootstrap-select
|
||||
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
|
||||
*/
|
||||
|
||||
(function (root, factory) {
|
||||
if (typeof define === 'function' && define.amd) {
|
||||
// AMD. Register as an anonymous module unless amdModuleId is set
|
||||
define(["jquery"], function (a0) {
|
||||
return (factory(a0));
|
||||
});
|
||||
} else if (typeof module === 'object' && module.exports) {
|
||||
// Node. Does not work with strict CommonJS, but
|
||||
// only CommonJS-like environments that support module.exports,
|
||||
// like Node.
|
||||
module.exports = factory(require("jquery"));
|
||||
} else {
|
||||
factory(root["jQuery"]);
|
||||
}
|
||||
}(this, function (jQuery) {
|
||||
|
||||
(function ($) {
|
||||
$.fn.selectpicker.defaults = {
|
||||
noneSelectedText: 'Nada selecionado',
|
||||
noneResultsText: 'Nada encontrado contendo {0}',
|
||||
countSelectedText: 'Selecionado {0} de {1}',
|
||||
maxOptionsText: ['Limite excedido (máx. {n} {var})', 'Limite do grupo excedido (máx. {n} {var})', ['itens', 'item']],
|
||||
multipleSeparator: ', '
|
||||
};
|
||||
})(jQuery);
|
||||
|
||||
|
||||
}));
|
7
code/web/www/vendor/bootstrap-select/js/i18n/defaults-pt_BR.min.js
vendored
Normal file
|
@ -0,0 +1,7 @@
|
|||
/*!
|
||||
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
|
||||
*
|
||||
* Copyright 2013-2017 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 module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Nada selecionado",noneResultsText:"Nada encontrado contendo {0}",countSelectedText:"Selecionado {0} de {1}",maxOptionsText:["Limite excedido (máx. {n} {var})","Limite do grupo excedido (máx. {n} {var})",["itens","item"]],multipleSeparator:", "}}(a)});
|
35
code/web/www/vendor/bootstrap-select/js/i18n/defaults-pt_PT.js
vendored
Normal file
|
@ -0,0 +1,35 @@
|
|||
/*!
|
||||
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
|
||||
*
|
||||
* Copyright 2013-2017 bootstrap-select
|
||||
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
|
||||
*/
|
||||
|
||||
(function (root, factory) {
|
||||
if (typeof define === 'function' && define.amd) {
|
||||
// AMD. Register as an anonymous module unless amdModuleId is set
|
||||
define(["jquery"], function (a0) {
|
||||
return (factory(a0));
|
||||
});
|
||||
} else if (typeof module === 'object' && module.exports) {
|
||||
// Node. Does not work with strict CommonJS, but
|
||||
// only CommonJS-like environments that support module.exports,
|
||||
// like Node.
|
||||
module.exports = factory(require("jquery"));
|
||||
} else {
|
||||
factory(root["jQuery"]);
|
||||
}
|
||||
}(this, function (jQuery) {
|
||||
|
||||
(function ($) {
|
||||
$.fn.selectpicker.defaults = {
|
||||
noneSelectedText: 'Nenhum seleccionado',
|
||||
noneResultsText: 'Sem resultados contendo {0}',
|
||||
countSelectedText: 'Selecionado {0} de {1}',
|
||||
maxOptionsText: ['Limite ultrapassado (máx. {n} {var})', 'Limite de seleções ultrapassado (máx. {n} {var})', ['itens', 'item']],
|
||||
multipleSeparator: ', '
|
||||
};
|
||||
})(jQuery);
|
||||
|
||||
|
||||
}));
|
7
code/web/www/vendor/bootstrap-select/js/i18n/defaults-pt_PT.min.js
vendored
Normal file
|
@ -0,0 +1,7 @@
|
|||
/*!
|
||||
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
|
||||
*
|
||||
* Copyright 2013-2017 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 module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Nenhum seleccionado",noneResultsText:"Sem resultados contendo {0}",countSelectedText:"Selecionado {0} de {1}",maxOptionsText:["Limite ultrapassado (máx. {n} {var})","Limite de seleções ultrapassado (máx. {n} {var})",["itens","item"]],multipleSeparator:", "}}(a)});
|
35
code/web/www/vendor/bootstrap-select/js/i18n/defaults-ro_RO.js
vendored
Normal file
|
@ -0,0 +1,35 @@
|
|||
/*!
|
||||
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
|
||||
*
|
||||
* Copyright 2013-2017 bootstrap-select
|
||||
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
|
||||
*/
|
||||
|
||||
(function (root, factory) {
|
||||
if (typeof define === 'function' && define.amd) {
|
||||
// AMD. Register as an anonymous module unless amdModuleId is set
|
||||
define(["jquery"], function (a0) {
|
||||
return (factory(a0));
|
||||
});
|
||||
} else if (typeof module === 'object' && module.exports) {
|
||||
// Node. Does not work with strict CommonJS, but
|
||||
// only CommonJS-like environments that support module.exports,
|
||||
// like Node.
|
||||
module.exports = factory(require("jquery"));
|
||||
} else {
|
||||
factory(root["jQuery"]);
|
||||
}
|
||||
}(this, function (jQuery) {
|
||||
|
||||
(function ($) {
|
||||
$.fn.selectpicker.defaults = {
|
||||
noneSelectedText: 'Nu a fost selectat nimic',
|
||||
noneResultsText: 'Nu exista niciun rezultat {0}',
|
||||
countSelectedText: '{0} din {1} selectat(e)',
|
||||
maxOptionsText: ['Limita a fost atinsa ({n} {var} max)', 'Limita de grup a fost atinsa ({n} {var} max)', ['iteme', 'item']],
|
||||
multipleSeparator: ', '
|
||||
};
|
||||
})(jQuery);
|
||||
|
||||
|
||||
}));
|
7
code/web/www/vendor/bootstrap-select/js/i18n/defaults-ro_RO.min.js
vendored
Normal file
|
@ -0,0 +1,7 @@
|
|||
/*!
|
||||
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
|
||||
*
|
||||
* Copyright 2013-2017 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 module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Nu a fost selectat nimic",noneResultsText:"Nu exista niciun rezultat {0}",countSelectedText:"{0} din {1} selectat(e)",maxOptionsText:["Limita a fost atinsa ({n} {var} max)","Limita de grup a fost atinsa ({n} {var} max)",["iteme","item"]],multipleSeparator:", "}}(a)});
|
38
code/web/www/vendor/bootstrap-select/js/i18n/defaults-ru_RU.js
vendored
Normal file
|
@ -0,0 +1,38 @@
|
|||
/*!
|
||||
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
|
||||
*
|
||||
* Copyright 2013-2017 bootstrap-select
|
||||
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
|
||||
*/
|
||||
|
||||
(function (root, factory) {
|
||||
if (typeof define === 'function' && define.amd) {
|
||||
// AMD. Register as an anonymous module unless amdModuleId is set
|
||||
define(["jquery"], function (a0) {
|
||||
return (factory(a0));
|
||||
});
|
||||
} else if (typeof module === 'object' && module.exports) {
|
||||
// Node. Does not work with strict CommonJS, but
|
||||
// only CommonJS-like environments that support module.exports,
|
||||
// like Node.
|
||||
module.exports = factory(require("jquery"));
|
||||
} else {
|
||||
factory(root["jQuery"]);
|
||||
}
|
||||
}(this, function (jQuery) {
|
||||
|
||||
(function ($) {
|
||||
$.fn.selectpicker.defaults = {
|
||||
noneSelectedText: 'Ничего не выбрано',
|
||||
noneResultsText: 'Совпадений не найдено {0}',
|
||||
countSelectedText: 'Выбрано {0} из {1}',
|
||||
maxOptionsText: ['Достигнут предел ({n} {var} максимум)', 'Достигнут предел в группе ({n} {var} максимум)', ['шт.', 'шт.']],
|
||||
doneButtonText: 'Закрыть',
|
||||
selectAllText: 'Выбрать все',
|
||||
deselectAllText: 'Отменить все',
|
||||
multipleSeparator: ', '
|
||||
};
|
||||
})(jQuery);
|
||||
|
||||
|
||||
}));
|
7
code/web/www/vendor/bootstrap-select/js/i18n/defaults-ru_RU.min.js
vendored
Normal file
|
@ -0,0 +1,7 @@
|
|||
/*!
|
||||
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
|
||||
*
|
||||
* Copyright 2013-2017 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 module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Ничего не выбрано",noneResultsText:"Совпадений не найдено {0}",countSelectedText:"Выбрано {0} из {1}",maxOptionsText:["Достигнут предел ({n} {var} максимум)","Достигнут предел в группе ({n} {var} максимум)",["шт.","шт."]],doneButtonText:"Закрыть",selectAllText:"Выбрать все",deselectAllText:"Отменить все",multipleSeparator:", "}}(a)});
|
37
code/web/www/vendor/bootstrap-select/js/i18n/defaults-sk_SK.js
vendored
Normal file
|
@ -0,0 +1,37 @@
|
|||
/*!
|
||||
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
|
||||
*
|
||||
* Copyright 2013-2017 bootstrap-select
|
||||
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
|
||||
*/
|
||||
|
||||
(function (root, factory) {
|
||||
if (typeof define === 'function' && define.amd) {
|
||||
// AMD. Register as an anonymous module unless amdModuleId is set
|
||||
define(["jquery"], function (a0) {
|
||||
return (factory(a0));
|
||||
});
|
||||
} else if (typeof module === 'object' && module.exports) {
|
||||
// Node. Does not work with strict CommonJS, but
|
||||
// only CommonJS-like environments that support module.exports,
|
||||
// like Node.
|
||||
module.exports = factory(require("jquery"));
|
||||
} else {
|
||||
factory(root["jQuery"]);
|
||||
}
|
||||
}(this, function (jQuery) {
|
||||
|
||||
(function ($) {
|
||||
$.fn.selectpicker.defaults = {
|
||||
noneSelectedText: 'Vyberte zo zoznamu',
|
||||
noneResultsText: 'Pre výraz {0} neboli nájdené žiadne výsledky',
|
||||
countSelectedText: 'Vybrané {0} z {1}',
|
||||
maxOptionsText: ['Limit prekročený ({n} {var} max)', 'Limit skupiny prekročený ({n} {var} max)', ['položiek', 'položka']],
|
||||
selectAllText: 'Vybrať všetky',
|
||||
deselectAllText: 'Zrušiť výber',
|
||||
multipleSeparator: ', '
|
||||
};
|
||||
})(jQuery);
|
||||
|
||||
|
||||
}));
|
7
code/web/www/vendor/bootstrap-select/js/i18n/defaults-sk_SK.min.js
vendored
Normal file
|
@ -0,0 +1,7 @@
|
|||
/*!
|
||||
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
|
||||
*
|
||||
* Copyright 2013-2017 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 module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Vyberte zo zoznamu",noneResultsText:"Pre výraz {0} neboli nájdené žiadne výsledky",countSelectedText:"Vybrané {0} z {1}",maxOptionsText:["Limit prekročený ({n} {var} max)","Limit skupiny prekročený ({n} {var} max)",["položiek","položka"]],selectAllText:"Vybrať všetky",deselectAllText:"Zrušiť výber",multipleSeparator:", "}}(a)});
|
44
code/web/www/vendor/bootstrap-select/js/i18n/defaults-sl_SI.js
vendored
Normal file
|
@ -0,0 +1,44 @@
|
|||
/*!
|
||||
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
|
||||
*
|
||||
* Copyright 2013-2017 bootstrap-select
|
||||
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
|
||||
*/
|
||||
|
||||
(function (root, factory) {
|
||||
if (typeof define === 'function' && define.amd) {
|
||||
// AMD. Register as an anonymous module unless amdModuleId is set
|
||||
define(["jquery"], function (a0) {
|
||||
return (factory(a0));
|
||||
});
|
||||
} else if (typeof module === 'object' && module.exports) {
|
||||
// Node. Does not work with strict CommonJS, but
|
||||
// only CommonJS-like environments that support module.exports,
|
||||
// like Node.
|
||||
module.exports = factory(require("jquery"));
|
||||
} else {
|
||||
factory(root["jQuery"]);
|
||||
}
|
||||
}(this, function (jQuery) {
|
||||
|
||||
(function ($) {
|
||||
$.fn.selectpicker.defaults = {
|
||||
noneSelectedText: 'Nič izbranega',
|
||||
noneResultsText: 'Ni zadetkov za {0}',
|
||||
countSelectedText: function (numSelected, numTotal) {
|
||||
"Število izbranih: {0}";
|
||||
},
|
||||
maxOptionsText: function (numAll, numGroup) {
|
||||
return [
|
||||
'Omejitev dosežena (max. izbranih: {n})',
|
||||
'Omejitev skupine dosežena (max. izbranih: {n})'
|
||||
];
|
||||
},
|
||||
selectAllText: 'Izberi vse',
|
||||
deselectAllText: 'Počisti izbor',
|
||||
multipleSeparator: ', '
|
||||
};
|
||||
})(jQuery);
|
||||
|
||||
|
||||
}));
|
7
code/web/www/vendor/bootstrap-select/js/i18n/defaults-sl_SI.min.js
vendored
Normal file
|
@ -0,0 +1,7 @@
|
|||
/*!
|
||||
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
|
||||
*
|
||||
* Copyright 2013-2017 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 module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Nič izbranega",noneResultsText:"Ni zadetkov za {0}",countSelectedText:function(a,b){"Število izbranih: {0}"},maxOptionsText:function(a,b){return["Omejitev dosežena (max. izbranih: {n})","Omejitev skupine dosežena (max. izbranih: {n})"]},selectAllText:"Izberi vse",deselectAllText:"Počisti izbor",multipleSeparator:", "}}(a)});
|
44
code/web/www/vendor/bootstrap-select/js/i18n/defaults-sv_SE.js
vendored
Normal file
|
@ -0,0 +1,44 @@
|
|||
/*!
|
||||
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
|
||||
*
|
||||
* Copyright 2013-2017 bootstrap-select
|
||||
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
|
||||
*/
|
||||
|
||||
(function (root, factory) {
|
||||
if (typeof define === 'function' && define.amd) {
|
||||
// AMD. Register as an anonymous module unless amdModuleId is set
|
||||
define(["jquery"], function (a0) {
|
||||
return (factory(a0));
|
||||
});
|
||||
} else if (typeof module === 'object' && module.exports) {
|
||||
// Node. Does not work with strict CommonJS, but
|
||||
// only CommonJS-like environments that support module.exports,
|
||||
// like Node.
|
||||
module.exports = factory(require("jquery"));
|
||||
} else {
|
||||
factory(root["jQuery"]);
|
||||
}
|
||||
}(this, function (jQuery) {
|
||||
|
||||
(function ($) {
|
||||
$.fn.selectpicker.defaults = {
|
||||
noneSelectedText: 'Inget valt',
|
||||
noneResultsText: 'Inget sökresultat matchar {0}',
|
||||
countSelectedText: function (numSelected, numTotal) {
|
||||
return (numSelected === 1) ? "{0} alternativ valt" : "{0} alternativ valda";
|
||||
},
|
||||
maxOptionsText: function (numAll, numGroup) {
|
||||
return [
|
||||
'Gräns uppnåd (max {n} alternativ)',
|
||||
'Gräns uppnåd (max {n} gruppalternativ)'
|
||||
];
|
||||
},
|
||||
selectAllText: 'Markera alla',
|
||||
deselectAllText: 'Avmarkera alla',
|
||||
multipleSeparator: ', '
|
||||
};
|
||||
})(jQuery);
|
||||
|
||||
|
||||
}));
|
7
code/web/www/vendor/bootstrap-select/js/i18n/defaults-sv_SE.min.js
vendored
Normal file
|
@ -0,0 +1,7 @@
|
|||
/*!
|
||||
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
|
||||
*
|
||||
* Copyright 2013-2017 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 module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Inget valt",noneResultsText:"Inget sökresultat matchar {0}",countSelectedText:function(a,b){return 1===a?"{0} alternativ valt":"{0} alternativ valda"},maxOptionsText:function(a,b){return["Gräns uppnåd (max {n} alternativ)","Gräns uppnåd (max {n} gruppalternativ)"]},selectAllText:"Markera alla",deselectAllText:"Avmarkera alla",multipleSeparator:", "}}(a)});
|
44
code/web/www/vendor/bootstrap-select/js/i18n/defaults-tr_TR.js
vendored
Normal file
|
@ -0,0 +1,44 @@
|
|||
/*!
|
||||
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
|
||||
*
|
||||
* Copyright 2013-2017 bootstrap-select
|
||||
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
|
||||
*/
|
||||
|
||||
(function (root, factory) {
|
||||
if (typeof define === 'function' && define.amd) {
|
||||
// AMD. Register as an anonymous module unless amdModuleId is set
|
||||
define(["jquery"], function (a0) {
|
||||
return (factory(a0));
|
||||
});
|
||||
} else if (typeof module === 'object' && module.exports) {
|
||||
// Node. Does not work with strict CommonJS, but
|
||||
// only CommonJS-like environments that support module.exports,
|
||||
// like Node.
|
||||
module.exports = factory(require("jquery"));
|
||||
} else {
|
||||
factory(root["jQuery"]);
|
||||
}
|
||||
}(this, function (jQuery) {
|
||||
|
||||
(function ($) {
|
||||
$.fn.selectpicker.defaults = {
|
||||
noneSelectedText: 'Hiçbiri seçilmedi',
|
||||
noneResultsText: 'Hiçbir sonuç bulunamadı {0}',
|
||||
countSelectedText: function (numSelected, numTotal) {
|
||||
return (numSelected == 1) ? "{0} öğe seçildi" : "{0} öğe seçildi";
|
||||
},
|
||||
maxOptionsText: function (numAll, numGroup) {
|
||||
return [
|
||||
(numAll == 1) ? 'Limit aşıldı (maksimum {n} sayıda öğe )' : 'Limit aşıldı (maksimum {n} sayıda öğe)',
|
||||
(numGroup == 1) ? 'Grup limiti aşıldı (maksimum {n} sayıda öğe)' : 'Grup limiti aşıldı (maksimum {n} sayıda öğe)'
|
||||
];
|
||||
},
|
||||
selectAllText: 'Tümünü Seç',
|
||||
deselectAllText: 'Seçiniz',
|
||||
multipleSeparator: ', '
|
||||
};
|
||||
})(jQuery);
|
||||
|
||||
|
||||
}));
|
7
code/web/www/vendor/bootstrap-select/js/i18n/defaults-tr_TR.min.js
vendored
Normal file
|
@ -0,0 +1,7 @@
|
|||
/*!
|
||||
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
|
||||
*
|
||||
* Copyright 2013-2017 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 module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Hiçbiri seçilmedi",noneResultsText:"Hiçbir sonuç bulunamadı {0}",countSelectedText:function(a,b){return"{0} öğe seçildi"},maxOptionsText:function(a,b){return[1==a?"Limit aşıldı (maksimum {n} sayıda öğe )":"Limit aşıldı (maksimum {n} sayıda öğe)","Grup limiti aşıldı (maksimum {n} sayıda öğe)"]},selectAllText:"Tümünü Seç",deselectAllText:"Seçiniz",multipleSeparator:", "}}(a)});
|
35
code/web/www/vendor/bootstrap-select/js/i18n/defaults-ua_UA.js
vendored
Normal file
|
@ -0,0 +1,35 @@
|
|||
/*!
|
||||
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
|
||||
*
|
||||
* Copyright 2013-2017 bootstrap-select
|
||||
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
|
||||
*/
|
||||
|
||||
(function (root, factory) {
|
||||
if (typeof define === 'function' && define.amd) {
|
||||
// AMD. Register as an anonymous module unless amdModuleId is set
|
||||
define(["jquery"], function (a0) {
|
||||
return (factory(a0));
|
||||
});
|
||||
} else if (typeof module === 'object' && module.exports) {
|
||||
// Node. Does not work with strict CommonJS, but
|
||||
// only CommonJS-like environments that support module.exports,
|
||||
// like Node.
|
||||
module.exports = factory(require("jquery"));
|
||||
} else {
|
||||
factory(root["jQuery"]);
|
||||
}
|
||||
}(this, function (jQuery) {
|
||||
|
||||
(function ($) {
|
||||
$.fn.selectpicker.defaults = {
|
||||
noneSelectedText: 'Нічого не вибрано',
|
||||
noneResultsText: 'Збігів не знайдено {0}',
|
||||
countSelectedText: 'Вибрано {0} із {1}',
|
||||
maxOptionsText: ['Досягнута межа ({n} {var} максимум)', 'Досягнута межа в групі ({n} {var} максимум)', ['items', 'item']],
|
||||
multipleSeparator: ', '
|
||||
};
|
||||
})(jQuery);
|
||||
|
||||
|
||||
}));
|
7
code/web/www/vendor/bootstrap-select/js/i18n/defaults-ua_UA.min.js
vendored
Normal file
|
@ -0,0 +1,7 @@
|
|||
/*!
|
||||
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
|
||||
*
|
||||
* Copyright 2013-2017 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 module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Нічого не вибрано",noneResultsText:"Збігів не знайдено {0}",countSelectedText:"Вибрано {0} із {1}",maxOptionsText:["Досягнута межа ({n} {var} максимум)","Досягнута межа в групі ({n} {var} максимум)",["items","item"]],multipleSeparator:", "}}(a)});
|
35
code/web/www/vendor/bootstrap-select/js/i18n/defaults-zh_CN.js
vendored
Normal file
|
@ -0,0 +1,35 @@
|
|||
/*!
|
||||
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
|
||||
*
|
||||
* Copyright 2013-2017 bootstrap-select
|
||||
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
|
||||
*/
|
||||
|
||||
(function (root, factory) {
|
||||
if (typeof define === 'function' && define.amd) {
|
||||
// AMD. Register as an anonymous module unless amdModuleId is set
|
||||
define(["jquery"], function (a0) {
|
||||
return (factory(a0));
|
||||
});
|
||||
} else if (typeof module === 'object' && module.exports) {
|
||||
// Node. Does not work with strict CommonJS, but
|
||||
// only CommonJS-like environments that support module.exports,
|
||||
// like Node.
|
||||
module.exports = factory(require("jquery"));
|
||||
} else {
|
||||
factory(root["jQuery"]);
|
||||
}
|
||||
}(this, function (jQuery) {
|
||||
|
||||
(function ($) {
|
||||
$.fn.selectpicker.defaults = {
|
||||
noneSelectedText: '没有选中任何项',
|
||||
noneResultsText: '没有找到匹配项',
|
||||
countSelectedText: '选中{1}中的{0}项',
|
||||
maxOptionsText: ['超出限制 (最多选择{n}项)', '组选择超出限制(最多选择{n}组)'],
|
||||
multipleSeparator: ', '
|
||||
};
|
||||
})(jQuery);
|
||||
|
||||
|
||||
}));
|