Merge remote-tracking branch 'origin/develop' into ent-6346-9940-event-group-no-muestra-eventos-para-grupos-secundarios

This commit is contained in:
fbsanchez 2020-10-06 13:00:06 +02:00
commit 35b80f0778
137 changed files with 1619 additions and 622 deletions

View File

@ -1,5 +1,5 @@
package: pandorafms-agent-unix package: pandorafms-agent-unix
Version: 7.0NG.749-201005 Version: 7.0NG.749-201006
Architecture: all Architecture: all
Priority: optional Priority: optional
Section: admin Section: admin

View File

@ -14,7 +14,7 @@
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details. # GNU General Public License for more details.
pandora_version="7.0NG.749-201005" pandora_version="7.0NG.749-201006"
echo "Test if you has the tools for to make the packages." echo "Test if you has the tools for to make the packages."
whereis dpkg-deb | cut -d":" -f2 | grep dpkg-deb > /dev/null whereis dpkg-deb | cut -d":" -f2 | grep dpkg-deb > /dev/null

View File

@ -55,7 +55,7 @@ my $Sem = undef;
my $ThreadSem = undef; my $ThreadSem = undef;
use constant AGENT_VERSION => '7.0NG.749'; use constant AGENT_VERSION => '7.0NG.749';
use constant AGENT_BUILD => '201005'; use constant AGENT_BUILD => '201006';
# Agent log default file size maximum and instances # Agent log default file size maximum and instances
use constant DEFAULT_MAX_LOG_SIZE => 600000; use constant DEFAULT_MAX_LOG_SIZE => 600000;

View File

@ -3,7 +3,7 @@
# #
%define name pandorafms_agent_unix %define name pandorafms_agent_unix
%define version 7.0NG.749 %define version 7.0NG.749
%define release 201005 %define release 201006
Summary: Pandora FMS Linux agent, PERL version Summary: Pandora FMS Linux agent, PERL version
Name: %{name} Name: %{name}

View File

@ -3,7 +3,7 @@
# #
%define name pandorafms_agent_unix %define name pandorafms_agent_unix
%define version 7.0NG.749 %define version 7.0NG.749
%define release 201005 %define release 201006
Summary: Pandora FMS Linux agent, PERL version Summary: Pandora FMS Linux agent, PERL version
Name: %{name} Name: %{name}

View File

@ -10,7 +10,7 @@
# ********************************************************************** # **********************************************************************
PI_VERSION="7.0NG.749" PI_VERSION="7.0NG.749"
PI_BUILD="201005" PI_BUILD="201006"
OS_NAME=`uname -s` OS_NAME=`uname -s`
FORCE=0 FORCE=0

View File

@ -186,7 +186,7 @@ UpgradeApplicationID
{} {}
Version Version
{201005} {201006}
ViewReadme ViewReadme
{Yes} {Yes}

View File

@ -30,7 +30,7 @@ using namespace Pandora;
using namespace Pandora_Strutils; using namespace Pandora_Strutils;
#define PATH_SIZE _MAX_PATH+1 #define PATH_SIZE _MAX_PATH+1
#define PANDORA_VERSION ("7.0NG.749(Build 201005)") #define PANDORA_VERSION ("7.0NG.749(Build 201006)")
string pandora_path; string pandora_path;
string pandora_dir; string pandora_dir;

View File

@ -11,7 +11,7 @@ BEGIN
VALUE "LegalCopyright", "Artica ST" VALUE "LegalCopyright", "Artica ST"
VALUE "OriginalFilename", "PandoraAgent.exe" VALUE "OriginalFilename", "PandoraAgent.exe"
VALUE "ProductName", "Pandora FMS Windows Agent" VALUE "ProductName", "Pandora FMS Windows Agent"
VALUE "ProductVersion", "(7.0NG.749(Build 201005))" VALUE "ProductVersion", "(7.0NG.749(Build 201006))"
VALUE "FileVersion", "1.0.0.0" VALUE "FileVersion", "1.0.0.0"
END END
END END

View File

@ -1,5 +1,5 @@
package: pandorafms-console package: pandorafms-console
Version: 7.0NG.749-201005 Version: 7.0NG.749-201006
Architecture: all Architecture: all
Priority: optional Priority: optional
Section: admin Section: admin

View File

@ -14,7 +14,7 @@
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details. # GNU General Public License for more details.
pandora_version="7.0NG.749-201005" pandora_version="7.0NG.749-201006"
package_pear=0 package_pear=0
package_pandora=1 package_pandora=1

View File

@ -92,7 +92,9 @@ function mainAgentsAlerts()
$groups = users_get_groups(); $groups = users_get_groups();
$filter_groups .= '<b>'.__('Group').'</b>'; $filter_groups .= '<b>'.__('Group').'</b>';
$filter_groups .= '<div class="w250px inline margin-left-2">';
$filter_groups .= html_print_select_groups(false, 'AR', true, 'group_id', $group_id, false, '', '', true, false, true, '', false, 'margin-right: 10px; margin-top: 5px;'); $filter_groups .= html_print_select_groups(false, 'AR', true, 'group_id', $group_id, false, '', '', true, false, true, '', false, 'margin-right: 10px; margin-top: 5px;');
$filter_groups .= '</div>';
$check = '<b>'.__('Show modules without alerts').'</b>'; $check = '<b>'.__('Show modules without alerts').'</b>';
$check .= html_print_checkbox('slides_ids[]', $d['id'], $show_modules, true, false, '', true); $check .= html_print_checkbox('slides_ids[]', $d['id'], $show_modules, true, false, '', true);

View File

@ -389,8 +389,8 @@ function mainAgentsModules()
$filter_groups_label = '<b>'.__('Group').'</b>'; $filter_groups_label = '<b>'.__('Group').'</b>';
$filter_groups = html_print_select_groups(false, 'AR', true, 'group_id', $group_id, '', '', '', true, false, true, '', false, 'width: auto;'); $filter_groups = html_print_select_groups(false, 'AR', true, 'group_id', $group_id, '', '', '', true, false, true, '', false, 'width: auto;');
$filter_recursion_label = '<b>'.__('Recursion').'</b>'; $filter_recursion_label = '</td><td><b>'.__('Recursion').'</b>';
$filter_recursion = html_print_checkbox('recursion', 1, 0, true); $filter_recursion = html_print_checkbox('recursion', 1, 0, true).'</td>';
// Groups module. // Groups module.
$filter_module_groups_label = '<b>'.__('Module group').'</b>'; $filter_module_groups_label = '<b>'.__('Module group').'</b>';
$filter_module_groups = html_print_select_from_sql( $filter_module_groups = html_print_select_from_sql(

View File

@ -53,7 +53,28 @@ foreach ($groups as $id => $name) {
$row = []; $row = [];
$row[0] = __('Groups'); $row[0] = __('Groups');
$row[1] = html_print_select($groups, 'groups[]', $groups_selected, '', '', '', true, true, '', '', ''); $row[1] = '<div class="w290px">'.html_print_select_groups(
// Id_user.
false,
// Privilege.
'AR',
// ReturnAllGroup.
true,
// Name.
'groups[]',
// Selected.
$groups_selected,
// Script.
'',
// Nothing.
'',
// Nothing_value.
0,
// Return.
true,
// Multiple.
true
).'</div>';
$table->data[] = $row; $table->data[] = $row;
$table->colspan[][1] = 3; $table->colspan[][1] = 3;

View File

@ -322,7 +322,16 @@ $table_primary_group = '<div class="label_select"><p class="input_label">'.__('P
$table_primary_group .= '<div class="label_select_parent">'; $table_primary_group .= '<div class="label_select_parent">';
// Cannot change primary group if user have not permission for that group. // Cannot change primary group if user have not permission for that group.
if (isset($groups[$grupo]) || $new_agent) { if (isset($groups[$grupo]) || $new_agent) {
$table_primary_group .= html_print_select_groups(false, 'AR', false, 'grupo', $grupo, '', '', 0, true); $table_primary_group .= html_print_input(
[
'type' => 'select_groups',
'returnAllGroup' => false,
'name' => 'grupo',
'selected' => $grupo,
'return' => true,
'required' => true,
]
);
} else { } else {
$table_primary_group .= groups_get_name($grupo); $table_primary_group .= groups_get_name($grupo);
$table_primary_group .= html_print_input_hidden('grupo', $grupo, true); $table_primary_group .= html_print_input_hidden('grupo', $grupo, true);
@ -424,44 +433,66 @@ if (enterprise_installed()) {
$secondary_groups_selected = enterprise_hook('agents_get_secondary_groups', [$id_agente]); $secondary_groups_selected = enterprise_hook('agents_get_secondary_groups', [$id_agente]);
$adv_secondary_groups_label = '<div class="label_select"><p class="input_label">'.__('Secondary groups').'</p></div>'; $adv_secondary_groups_label = '<div class="label_select"><p class="input_label">'.__('Secondary groups').'</p></div>';
$adv_secondary_groups_left = html_print_select_groups( $adv_secondary_groups_left = html_print_select_groups(
false, // Id_user.
// Use the current user to select the groups. // Use the current user to select the groups.
'AR',
// ACL permission.
false, false,
// Privilege.
// ACL permission.
'AR',
// ReturnAllGroup.
// Not all group. // Not all group.
'secondary_groups', false,
// Name.
// HTML id. // HTML id.
'', 'secondary_groups',
// Selected.
// No select any by default. // No select any by default.
'', '',
// Script.
// Javascript onChange code. // Javascript onChange code.
'', '',
// Nothing.
// Do not user no selected value. // Do not user no selected value.
0, false,
// Nothing_value.
// Do not use no selected value. // Do not use no selected value.
true, 0,
// Return.
// Return HTML (not echo). // Return HTML (not echo).
true, true,
// Multiple.
// Multiple selection. // Multiple selection.
true, true,
// Sort.
// Sorting by default. // Sorting by default.
'', true,
// Class.
// CSS classnames (default). // CSS classnames (default).
false, '',
// Disabled.
// Not disabled (default). // Not disabled (default).
'min-width:170px;',
// Inline styles (default).
false, false,
// Style.
// Inline styles (default).
'min-width:170px;',
// Option_style.
// Option style select (default). // Option style select (default).
false, false,
// Id_group.
// Do not truncate the users tree (default). // Do not truncate the users tree (default).
'id_grupo',
// Key to get as value (default).
false, false,
// Keys_field.
// Key to get as value (default).
'id_grupo',
// Strict_user.
// Not strict user (default). // Not strict user (default).
$secondary_groups_selected['plain'] false,
// Delete_groups.
// Do not show the primary group in this selection. // Do not show the primary group in this selection.
array_merge($secondary_groups_selected['plain'], [$agent['id_grupo']])
// Include_groups.
// Size.
// Simple_multiple_options.
); );
$adv_secondary_groups_arrows = html_print_input_image( $adv_secondary_groups_arrows = html_print_input_image(
@ -489,30 +520,30 @@ if (enterprise_installed()) {
); );
$adv_secondary_groups_right .= html_print_select( $adv_secondary_groups_right .= html_print_select(
$secondary_groups_selected['for_select'],
// Values. // Values.
'secondary_groups_selected', $secondary_groups_selected['for_select'],
// HTML id. // HTML id.
'', 'secondary_groups_selected',
// Selected. // Selected.
'', '',
// Javascript onChange code. // Javascript onChange code.
'', '',
// Nothing selected. // Nothing selected.
0, false,
// Nothing selected. // Nothing selected.
true, 0,
// Return HTML (not echo). // Return HTML (not echo).
true, true,
// Multiple selection. // Multiple selection.
true, true,
// Sort. // Sort.
'', true,
// Class. // Class.
false, '',
// Disabled. // Disabled.
'min-width:170px;' false,
// Style. // Style.
'min-width:170px;'
); );
// Safe operation mode. // Safe operation mode.

View File

@ -173,8 +173,9 @@ if (!$own_info['is_admin'] && !check_acl($config['id_user'], 0, 'AR') && !check_
$return_all_group = true; $return_all_group = true;
} }
echo '<div class="w250px inline">';
html_print_select_groups(false, 'AR', $return_all_group, 'ag_group', $ag_group, 'this.form.submit();', '', 0, false, false, true, '', false); html_print_select_groups(false, 'AR', $return_all_group, 'ag_group', $ag_group, 'this.form.submit();', '', 0, false, false, true, '', false);
echo '</div>';
echo '<td>'; echo '<td>';
echo __('Show Agents').'&nbsp;'; echo __('Show Agents').'&nbsp;';
$fields = [ $fields = [

View File

@ -645,7 +645,7 @@ $table->data[0][1] = html_print_input_text(
$disabled_in_execution $disabled_in_execution
); );
$table->data[1][0] = __('Group'); $table->data[1][0] = __('Group');
$table->data[1][1] = html_print_select_groups( $table->data[1][1] = '<div class="w250px">'.html_print_select_groups(
false, false,
$access, $access,
true, true,
@ -659,7 +659,7 @@ $table->data[1][1] = html_print_select_groups(
true, true,
'', '',
$disabled_in_execution $disabled_in_execution
); ).'</div>';
$table->data[2][0] = __('Description'); $table->data[2][0] = __('Description');
$table->data[2][1] = html_print_textarea( $table->data[2][1] = html_print_textarea(
'description', 'description',

View File

@ -296,7 +296,9 @@ if (!users_can_manage_group_all('LM')) {
$can_manage_group_all = true; $can_manage_group_all = true;
} }
echo '<div class="inline w250px">';
html_print_select_groups(false, 'LM', $can_manage_group_all, 'id_group', $id_group, false, '', 0, false, false, true, '', false, 'width:100px;'); html_print_select_groups(false, 'LM', $can_manage_group_all, 'id_group', $id_group, false, '', 0, false, false, true, '', false, 'width:100px;');
echo '</div>';
echo '</td><td>'; echo '</td><td>';
echo __('Overwrite'); echo __('Overwrite');
ui_print_help_tip(__('Check this box, if you want to overwrite existing same days.'), false); ui_print_help_tip(__('Check this box, if you want to overwrite existing same days.'), false);

View File

@ -168,7 +168,7 @@ $table->data[1][0] = __('Group');
$own_info = get_user_info($config['id_user']); $own_info = get_user_info($config['id_user']);
$table->data[1][1] = html_print_select_groups( $table->data[1][1] = '<div class="w250px inline">'.html_print_select_groups(
false, false,
'LW', 'LW',
true, true,
@ -182,7 +182,7 @@ $table->data[1][1] = html_print_select_groups(
true, true,
'', '',
$is_central_policies_on_node $is_central_policies_on_node
); ).'</div>';
$table->colspan[1][1] = 2; $table->colspan[1][1] = 2;
$table->data[2][0] = __('Command'); $table->data[2][0] = __('Command');

View File

@ -218,7 +218,7 @@ $table->data['command'][1] = html_print_textarea(
$table->colspan['group'][1] = 3; $table->colspan['group'][1] = 3;
$table->data['group'][0] = __('Group'); $table->data['group'][0] = __('Group');
$table->data['group'][1] = html_print_select_groups( $table->data['group'][1] = '<div class="w250px inline">'.html_print_select_groups(
false, false,
'LM', 'LM',
true, true,
@ -232,7 +232,7 @@ $table->data['group'][1] = html_print_select_groups(
true, true,
'', '',
$is_central_policies_on_node $is_central_policies_on_node
); ).'</div>';
$table->colspan['description'][1] = 3; $table->colspan['description'][1] = 3;
$table->data['description'][0] = __('Description'); $table->data['description'][0] = __('Description');

View File

@ -1099,7 +1099,7 @@ if ($step == 2) {
} }
$table->data[0][1] .= '&nbsp;'; $table->data[0][1] .= '&nbsp;';
$table->data[0][1] .= html_print_select_groups( $table->data[0][1] .= '<div class="w250px inline">'.html_print_select_groups(
false, false,
'AR', 'AR',
$display_all_group, $display_all_group,
@ -1113,7 +1113,7 @@ if ($step == 2) {
true, true,
'', '',
$is_central_policies_on_node $is_central_policies_on_node
); ).'</div>';
$table->data[1][0] = __('Description'); $table->data[1][0] = __('Description');

View File

@ -241,7 +241,7 @@ if ($returnAllGroup === false && $id_group_filter == 0) {
$returnAllGroup = true; $returnAllGroup = true;
} }
$table->data[1][1] = html_print_select_groups( $table->data[1][1] = '<div class="w250px">'.html_print_select_groups(
$config['id_user'], $config['id_user'],
$access, $access,
$returnAllGroup, $returnAllGroup,
@ -260,21 +260,21 @@ $table->data[1][1] = html_print_select_groups(
false, false,
'id_grupo', 'id_grupo',
$strict_user $strict_user
); ).'</div>';
$table->data[2][0] = '<b>'.__('Group').'</b>'; $table->data[2][0] = '<b>'.__('Group').'</b>';
$display_all_group = (users_is_admin() || users_can_manage_group_all('AR')); $display_all_group = (users_is_admin() || users_can_manage_group_all('AR'));
$table->data[2][1] = html_print_select_groups( $table->data[2][1] = '<div class="w250px">'.html_print_select_groups(
$config['id_user'], $config['id_user'],
'AR', 'AR',
$display_all_group, $display_all_group,
'id_group', 'id_group',
$idGroup, $id_group,
'', '',
'', '',
'', '',
true true
); ).'</div>';
$types = get_event_types(); $types = get_event_types();
// Expand standard array to add not_normal (not exist in the array, used only for searches) // Expand standard array to add not_normal (not exist in the array, used only for searches)

View File

@ -145,7 +145,8 @@ if ($id_group) {
$table->data[2][1] = __('You have not access to the parent.').html_print_input_hidden('id_parent', $id_parent, true); $table->data[2][1] = __('You have not access to the parent.').html_print_input_hidden('id_parent', $id_parent, true);
} else { } else {
$table->data[2][1] = html_print_select_groups( $table->data[2][1] = '<div class="w250px inline">';
$table->data[2][1] .= html_print_select_groups(
false, false,
'AR', 'AR',
true, true,
@ -163,9 +164,12 @@ if ($id_group) {
false, false,
$id_group $id_group
); );
$table->data[2][1] .= '</div>';
} }
} else { } else {
$table->data[2][1] = html_print_select_groups(false, 'AR', true, 'id_parent', $id_parent, '', '', '', true); $table->data[2][1] = '<div class="w250px inline">';
$table->data[2][1] .= html_print_select_groups(false, 'AR', true, 'id_parent', $id_parent, '', '', '', true);
$table->data[2][1] .= '</div>';
} }
if ($acl_parent) { if ($acl_parent) {

View File

@ -222,12 +222,14 @@ if ($own_info['is_admin'] || check_acl($config['id_user'], 0, 'PM')) {
} }
echo "<td style='width: 12%;'><b>".__('Group').'</b></td><td>'; echo "<td style='width: 12%;'><b>".__('Group').'</b></td><td>';
echo '<div class="w250px">';
if ($id_container === '1') { if ($id_container === '1') {
echo html_print_select_groups($config['id_user'], '', $return_all_groups, 'container_id_group', $id_group, '', '', '', true, false, true, '', true); echo html_print_select_groups($config['id_user'], '', $return_all_groups, 'container_id_group', $id_group, '', '', '', true, false, true, '', true);
} else { } else {
echo html_print_select_groups($config['id_user'], '', $return_all_groups, 'container_id_group', $id_group, '', '', '', true, false, true, '', false); echo html_print_select_groups($config['id_user'], '', $return_all_groups, 'container_id_group', $id_group, '', '', '', true, false, true, '', false);
} }
echo '</div>';
echo '</td></tr>'; echo '</td></tr>';
echo '<tr>'; echo '<tr>';
@ -500,7 +502,7 @@ if ($edit_container) {
$data = []; $data = [];
$data[0] = __('Group'); $data[0] = __('Group');
$data[1] = html_print_select_groups($config['id_user'], 'RW', $return_all_groups, 'container_id_group', $id_group, '', '', '', true); $data[1] = '<div class="w250px">'.html_print_select_groups($config['id_user'], 'RW', $return_all_groups, 'container_id_group', $id_group, '', '', '', true).'</div>';
$table->data[] = $data; $table->data[] = $data;
$table->rowclass[] = ''; $table->rowclass[] = '';

View File

@ -1,29 +1,44 @@
<?php <?php
/**
* Combined graph
*
* @category Combined graph
* @package Pandora FMS
* @subpackage Community
* @version 1.0.0
* @license See below
*
* ______ ___ _______ _______ ________
* | __ \.-----.--.--.--| |.-----.----.-----. | ___| | | __|
* | __/| _ | | _ || _ | _| _ | | ___| |__ |
* |___| |___._|__|__|_____||_____|__| |___._| |___| |__|_|__|_______|
*
* ============================================================================
* Copyright (c) 2005-2019 Artica Soluciones Tecnologicas
* Please see http://pandorafms.org for full contribution list
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation for version 2.
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* ============================================================================
*/
// Pandora FMS - http://pandorafms.com
// ==================================================
// Copyright (c) 2005-2010 Artica Soluciones Tecnologicas
// Please see http://pandorafms.org for full contribution list
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation for version 2.
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
global $config; global $config;
require_once 'include/functions_custom_graphs.php'; require_once 'include/functions_custom_graphs.php';
if (is_ajax()) { if (is_ajax() === true) {
$search_agents = (bool) get_parameter('search_agents'); $search_agents = (bool) get_parameter('search_agents', false);
if ($search_agents) { if ($search_agents === true) {
include_once 'include/functions_agents.php'; include_once 'include/functions_agents.php';
$id_agent = (int) get_parameter('id_agent'); $id_agent = (int) get_parameter('id_agent');
$string = (string) get_parameter('q'); $string = (string) get_parameter('q');
// q is what autocomplete plugin gives // Q is what autocomplete plugin gives.
$id_group = (int) get_parameter('id_group'); $id_group = (int) get_parameter('id_group');
$filter = []; $filter = [];
@ -47,7 +62,9 @@ if (is_ajax()) {
check_login(); check_login();
if (! check_acl($config['id_user'], 0, 'RW') && ! check_acl($config['id_user'], 0, 'RM')) { if (! check_acl($config['id_user'], 0, 'RW')
&& ! check_acl($config['id_user'], 0, 'RM')
) {
db_pandora_audit( db_pandora_audit(
'ACL Violation', 'ACL Violation',
'Trying to access graph builder' 'Trying to access graph builder'
@ -57,7 +74,9 @@ if (! check_acl($config['id_user'], 0, 'RW') && ! check_acl($config['id_user'],
} }
if ($edit_graph) { if ($edit_graph) {
$graphInTgraph = db_get_row_sql('SELECT * FROM tgraph WHERE id_graph = '.$id_graph); $graphInTgraph = db_get_row_sql(
'SELECT * FROM tgraph WHERE id_graph = '.$id_graph
);
$stacked = $graphInTgraph['stacked']; $stacked = $graphInTgraph['stacked'];
$period = $graphInTgraph['period']; $period = $graphInTgraph['period'];
$id_group = $graphInTgraph['id_group']; $id_group = $graphInTgraph['id_group'];
@ -94,56 +113,84 @@ if ($edit_graph) {
// ----------------------- // -----------------------
// CREATE/EDIT GRAPH FORM // CREATE/EDIT GRAPH FORM
// ----------------------- // -----------------------
echo "<table width='100%' cellpadding=4 cellspacing=4 class='databox filters'>"; $url = 'index.php?sec=reporting&sec2=godmode/reporting/graph_builder';
if ($edit_graph) { if ($edit_graph) {
echo "<form method='post' action='index.php?sec=reporting&sec2=godmode/reporting/graph_builder&edit_graph=1&update_graph=1&id=".$id_graph."'>"; $output = "<form method='post' action='".$url.'&edit_graph=1&update_graph=1&id='.$id_graph."'>";
} else { } else {
echo "<form method='post' action='index.php?sec=reporting&sec2=godmode/reporting/graph_builder&edit_graph=1&add_graph=1'>"; $output = "<form method='post' action='".$url."&edit_graph=1&add_graph=1'>";
} }
echo '<tr>'; $output .= "<table width='100%' cellpadding=4 cellspacing=4 class='databox filters'>";
echo "<td class='datos'><b>".__('Name').'</b></td>'; $output .= '<tr>';
echo "<td class='datos'><input type='text' name='name' size='25' "; $output .= "<td class='datos'><b>".__('Name').'</b></td>';
$output .= "<td class='datos'><input type='text' name='name' size='25' ";
if ($edit_graph) { if ($edit_graph) {
echo "value='".$graphInTgraph['name']."' "; $output .= "value='".$graphInTgraph['name']."' ";
} }
echo '>'; $output .= '>';
$own_info = get_user_info($config['id_user']); $own_info = get_user_info($config['id_user']);
echo '<td><b>'.__('Group').'</b></td><td>'; $output .= '<td><b>'.__('Group').'</b></td><td>';
if (check_acl($config['id_user'], 0, 'RW')) { if (check_acl($config['id_user'], 0, 'RW')) {
echo html_print_select_groups($config['id_user'], 'RW', true, 'graph_id_group', $id_group, '', '', '', true); $output .= html_print_select_groups(
$config['id_user'],
'RW',
true,
'graph_id_group',
$id_group,
'',
'',
'',
true
);
} else if (check_acl($config['id_user'], 0, 'RM')) { } else if (check_acl($config['id_user'], 0, 'RM')) {
echo html_print_select_groups($config['id_user'], 'RM', true, 'graph_id_group', $id_group, '', '', '', true); $output .= html_print_select_groups(
$config['id_user'],
'RM',
true,
'graph_id_group',
$id_group,
'',
'',
'',
true
);
} }
echo '</td></tr>'; $output .= '</td></tr>';
echo '<tr>'; $output .= '<tr>';
echo "<td class='datos2'><b>".__('Description').'</b></td>'; $output .= "<td class='datos2'><b>".__('Description').'</b></td>';
echo "<td class='datos2' colspan=3><textarea name='description' style='height:45px;' cols=55 rows=2>"; $output .= "<td class='datos2' colspan=3><textarea name='description' style='height:45px;' cols=55 rows=2>";
if ($edit_graph) { if ($edit_graph) {
echo $graphInTgraph['description']; $output .= $graphInTgraph['description'];
} }
echo '</textarea>'; $output .= '</textarea>';
echo '</td></tr>'; $output .= '</td></tr>';
if ($stacked == CUSTOM_GRAPH_GAUGE) { if ($stacked == CUSTOM_GRAPH_GAUGE) {
$hidden = ' style="display:none;" '; $hidden = ' style="display:none;" ';
} else { } else {
$hidden = ''; $hidden = '';
} }
echo '<tr>'; $output .= '<tr>';
echo "<td class='datos'>"; $output .= "<td class='datos'>";
echo '<b>'.__('Period').'</b></td>'; $output .= '<b>'.__('Period').'</b></td>';
echo "<td class='datos'>"; $output .= "<td class='datos'>";
html_print_extended_select_for_time('period', $period, '', '', '0', 10); $output .= html_print_extended_select_for_time(
echo "</td><td class='datos2'>"; 'period',
echo '<b>'.__('Type of graph').'</b></td>'; $period,
echo "<td class='datos2'> <div style='float:left;display:inline-block'>"; '',
'',
'0',
10,
true
);
$output .= "</td><td class='datos2'>";
$output .= '<b>'.__('Type of graph').'</b></td>';
$output .= "<td class='datos2'> <div style='float:left;display:inline-block'>";
require_once $config['homedir'].'/include/functions_graph.php'; require_once $config['homedir'].'/include/functions_graph.php';
@ -158,71 +205,133 @@ $stackeds = [
CUSTOM_GRAPH_VBARS => __('Vertical bars'), CUSTOM_GRAPH_VBARS => __('Vertical bars'),
CUSTOM_GRAPH_PIE => __('Pie'), CUSTOM_GRAPH_PIE => __('Pie'),
]; ];
html_print_select($stackeds, 'stacked', $stacked); $output .= html_print_select($stackeds, 'stacked', $stacked, '', '', 0, true);
echo '</div></td></tr>'; $output .= '</div></td></tr>';
echo "<tr><td class='datos2'><b>".__('Percentil').'</b></td>'; $output .= '<tr>';
echo "<td class='datos2'>".html_print_checkbox('percentil', 1, $percentil, true).'</td>'; $output .= "<td class='datos2 thresholdDiv'><b>";
echo "<td class='datos2 thresholdDiv'><b>".__('Equalize maximum thresholds').'</b></td>'; $output .= __('Equalize maximum thresholds');
echo "<td class='datos2 thresholdDiv'>".html_print_checkbox('threshold', CUSTOM_GRAPH_BULLET_CHART_THRESHOLD, $check, true, false, '', false); $output .= '</b></td>';
echo '</td></tr>'; $output .= "<td class='datos2 thresholdDiv'>";
echo "<tr><td class='datos2'><b>".__('Add summatory series').'</b></td>'; $output .= html_print_checkbox(
echo "<td class='datos2'>".html_print_checkbox('summatory_series', 1, $summatory_series, true)."</td> 'threshold',
<td class='datos2'><b>".__('Add average series').'</b></td>'; CUSTOM_GRAPH_BULLET_CHART_THRESHOLD,
echo "<td class='datos2'>".html_print_checkbox('average_series', 1, $average_series, true).'</td></tr>'; $check,
echo "<tr><td class='datos2'><b>".__('Modules and series').'</b></td>'; true,
false,
'',
false
);
$output .= '</td></tr>';
echo "<td class='datos2'>".html_print_checkbox('modules_series', 1, $modules_series, true).'</td>'; $output .= "<tr><td class='datos2 sparse_graph '><b>";
echo "<td class='datos2'><b>".__('Show full scale graph (TIP)').'</td>'; $output .= __('Percentil');
echo "<td class='datos2'>".html_print_checkbox('fullscale', 1, $fullscale, true).'</td>'; $output .= '</b></td>';
echo '</tr>'; $output .= "<td class='datos2 sparse_graph'>";
echo '</table>'; $output .= html_print_checkbox(
'percentil',
1,
$percentil,
true
);
$output .= '</td>';
$output .= '</tr>';
$output .= "<tr><td class='datos2 sparse_graph'><b>";
$output .= __('Add summatory series');
$output .= '</b></td>';
$output .= "<td class='datos2 sparse_graph'>";
$output .= html_print_checkbox(
'summatory_series',
1,
$summatory_series,
true
);
$output .= "</td><td class='datos2 sparse_graph'><b>";
$output .= __('Add average series');
$output .= '</b></td>';
$output .= "<td class='datos2 sparse_graph'>";
$output .= html_print_checkbox(
'average_series',
1,
$average_series,
true
);
$output .= '</td></tr>';
$output .= "<tr><td class='datos2 sparse_graph'><b>";
$output .= __('Modules and series');
$output .= '</b></td>';
$output .= "<td class='datos2 sparse_graph'>";
$output .= html_print_checkbox('modules_series', 1, $modules_series, true);
$output .= '</td>';
$output .= "<td class='datos2 sparse_graph'><b>";
$output .= __('Show full scale graph (TIP)');
$output .= '</td>';
$output .= "<td class='datos2 sparse_graph'>";
$output .= html_print_checkbox('fullscale', 1, $fullscale, true);
$output .= '</td>';
$output .= '</tr>';
$output .= '</table>';
if ($edit_graph) { if ($edit_graph) {
echo "<div style='width:100%'><input style='float:right;' type=submit name='store' class='sub upd' value='".__('Update')."'></div>"; $output .= "<div style='width:100%'>";
$output .= "<input style='float:right;' type=submit name='store' class='sub upd' value='".__('Update')."'>";
$output .= '</div>';
} else { } else {
echo "<div style='width:100%'><input style='float:right;' type=submit name='store' class='sub next' value='".__('Create')."'></div>"; $output .= "<div style='width:100%'>";
$output .= "<input style='float:right;' type=submit name='store' class='sub next' value='".__('Create')."'>";
$output .= '</div>';
} }
echo '</form>'; $output .= '</form>';
echo $output;
echo '<script type="text/javascript"> ?>
<script type="text/javascript">
$(document).ready(function() { $(document).ready(function() {
if ($("#stacked").val() == '.CUSTOM_GRAPH_BULLET_CHART.') { if ($("#stacked").val() == '<?php echo CUSTOM_GRAPH_BULLET_CHART; ?>') {
$(".thresholdDiv").show(); $(".thresholdDiv").show();
$(".sparse_graph").hide();
} else if (
$("#stacked").val() == '<?php echo CUSTOM_GRAPH_AREA; ?>' ||
$("#stacked").val() == '<?php echo CUSTOM_GRAPH_LINE; ?>'
) {
$(".thresholdDiv").hide();
$(".sparse_graph").show();
} else { } else {
$(".thresholdDiv").hide(); $(".thresholdDiv").hide();
$(".sparse_graph").hide();
} }
if(!$("#checkbox-summatory_series").is(":checked") && !$("#checkbox-average_series").is(":checked")){ if( !$("#checkbox-summatory_series").is(":checked") &&
!$("#checkbox-average_series").is(":checked")
){
$("#checkbox-modules_series").attr("disabled", true); $("#checkbox-modules_series").attr("disabled", true);
$("#checkbox-modules_series").attr("checked", false); $("#checkbox-modules_series").attr("checked", false);
} }
});
$("#stacked").change(function(){ $("#stacked").change(function(){
if ( $(this).val() == '.CUSTOM_GRAPH_GAUGE.') { if ( $(this).val() == '<?php echo CUSTOM_GRAPH_BULLET_CHART; ?>') {
$("[name=threshold]").prop("checked", false);
$(".stacked").hide();
$("input[name=\'width\']").hide();
$(".thresholdDiv").hide();
} else if ($(this).val() == '.CUSTOM_GRAPH_BULLET_CHART.') {
$(".thresholdDiv").show(); $(".thresholdDiv").show();
$(".stacked").show(); $(".sparse_graph").hide();
$("input[name=\'width\']").show(); } else if (
} else { $(this).val() == '<?php echo CUSTOM_GRAPH_AREA; ?>' ||
$("[name=threshold]").prop("checked", false); $(this).val() == '<?php echo CUSTOM_GRAPH_LINE; ?>'
$(".stacked").show(); ) {
$("input[name=\'width\']").show();
$(".thresholdDiv").hide(); $(".thresholdDiv").hide();
$(".sparse_graph").show();
} else {
$(".thresholdDiv").hide();
$(".sparse_graph").hide();
} }
}); });
$("#checkbox-summatory_series").change(function() { $("#checkbox-summatory_series").change(function() {
if($("#checkbox-summatory_series").is(":checked") && $("#checkbox-modules_series").is(":disabled")) { if( $("#checkbox-summatory_series").is(":checked") &&
$("#checkbox-modules_series").is(":disabled")
) {
$("#checkbox-modules_series").removeAttr("disabled"); $("#checkbox-modules_series").removeAttr("disabled");
} else if(!$("#checkbox-average_series").is(":checked")) { } else if(!$("#checkbox-average_series").is(":checked")) {
$("#checkbox-modules_series").attr("disabled", true); $("#checkbox-modules_series").attr("disabled", true);
@ -231,12 +340,14 @@ echo '<script type="text/javascript">
}); });
$("#checkbox-average_series").change(function() { $("#checkbox-average_series").change(function() {
if($("#checkbox-average_series").is(":checked") && $("#checkbox-modules_series").is(":disabled")) { if( $("#checkbox-average_series").is(":checked") &&
$("#checkbox-modules_series").is(":disabled")
) {
$("#checkbox-modules_series").removeAttr("disabled"); $("#checkbox-modules_series").removeAttr("disabled");
} else if(!$("#checkbox-summatory_series").is(":checked")) { } else if(!$("#checkbox-summatory_series").is(":checked")) {
$("#checkbox-modules_series").attr("disabled", true); $("#checkbox-modules_series").attr("disabled", true);
$("#checkbox-modules_series").attr("checked", false); $("#checkbox-modules_series").attr("checked", false);
} }
}); });
});
</script>'; </script>

View File

@ -1,16 +1,31 @@
<?php <?php
/**
* Combined graph
*
* @category Combined graph
* @package Pandora FMS
* @subpackage Community
* @version 1.0.0
* @license See below
*
* ______ ___ _______ _______ ________
* | __ \.-----.--.--.--| |.-----.----.-----. | ___| | | __|
* | __/| _ | | _ || _ | _| _ | | ___| |__ |
* |___| |___._|__|__|_____||_____|__| |___._| |___| |__|_|__|_______|
*
* ============================================================================
* Copyright (c) 2005-2019 Artica Soluciones Tecnologicas
* Please see http://pandorafms.org for full contribution list
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation for version 2.
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* ============================================================================
*/
// Pandora FMS - http://pandorafms.com
// ==================================================
// Copyright (c) 2005-2010 Artica Soluciones Tecnologicas
// Please see http://pandorafms.org for full contribution list
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation for version 2.
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
global $config; global $config;
if (is_ajax()) { if (is_ajax()) {
@ -21,7 +36,7 @@ if (is_ajax()) {
$id_agent = (int) get_parameter('id_agent'); $id_agent = (int) get_parameter('id_agent');
$string = (string) get_parameter('q'); $string = (string) get_parameter('q');
// q is what autocomplete plugin gives // Q is what autocomplete plugin gives.
$id_group = (int) get_parameter('id_group'); $id_group = (int) get_parameter('id_group');
$filter = []; $filter = [];
@ -45,7 +60,9 @@ if (is_ajax()) {
check_login(); check_login();
if (! check_acl($config['id_user'], 0, 'RW') && ! check_acl($config['id_user'], 0, 'RM')) { if (! check_acl($config['id_user'], 0, 'RW')
&& ! check_acl($config['id_user'], 0, 'RM')
) {
db_pandora_audit( db_pandora_audit(
'ACL Violation', 'ACL Violation',
'Trying to access graph builder' 'Trying to access graph builder'
@ -95,7 +112,7 @@ if ($add_graph) {
$stacked = $threshold; $stacked = $threshold;
} }
// Create graph // Create graph.
$values = [ $values = [
'id_user' => $config['id_user'], 'id_user' => $config['id_user'],
'name' => $name, 'name' => $name,
@ -114,7 +131,7 @@ if ($add_graph) {
if (trim($name) != '') { if (trim($name) != '') {
$id_graph = db_process_sql_insert('tgraph', $values); $id_graph = db_process_sql_insert('tgraph', $values);
if ($id_graph !== false) { if ($id_graph !== false) {
db_pandora_audit('Report management', "Create graph #$id_graph"); db_pandora_audit('Report management', 'Create graph #'.$id_graph);
} else { } else {
db_pandora_audit('Report management', 'Fail try to create graph'); db_pandora_audit('Report management', 'Fail try to create graph');
} }
@ -166,9 +183,15 @@ if ($update_graph) {
['id_graph' => $id_graph] ['id_graph' => $id_graph]
); );
if ($success !== false) { if ($success !== false) {
db_pandora_audit('Report management', "Update graph #$id_graph"); db_pandora_audit(
'Report management',
'Update graph #'.$id_graph
);
} else { } else {
db_pandora_audit('Report management', "Fail try to update graph #$id_graph"); db_pandora_audit(
'Report management',
'Fail try to update graph #'.$id_graph
);
} }
} else { } else {
$success = false; $success = false;
@ -188,12 +211,12 @@ if ($add_module) {
$id_agents = get_parameter('id_agents'); $id_agents = get_parameter('id_agents');
$weight = get_parameter('weight'); $weight = get_parameter('weight');
// Id modules has double entities conversion // Id modules has double entities conversion.
// Safe output remove all entities // Safe output remove all entities.
io_safe_output_array($id_modules, ''); io_safe_output_array($id_modules, '');
// We need to put the entities again // We need to put the entities again
// to browse in db // to browse in db.
io_safe_input_array($id_modules); io_safe_input_array($id_modules);
$id_agent_modules = db_get_all_rows_sql( $id_agent_modules = db_get_all_rows_sql(
@ -304,23 +327,39 @@ switch ($tab) {
} }
if ($add_graph) { if ($add_graph) {
ui_print_result_message($id_graph, __('Graph stored successfully'), __('There was a problem storing Graph')); ui_print_result_message(
$id_graph,
__('Graph stored successfully'),
__('There was a problem storing Graph')
);
} }
if ($add_module) { if ($add_module) {
ui_print_result_message($result, __('Module added successfully'), __('There was a problem adding Module')); ui_print_result_message(
$result,
__('Module added successfully'),
__('There was a problem adding Module')
);
} }
if ($update_graph) { if ($update_graph) {
ui_print_result_message($success, __('Update the graph'), __('Bad update the graph')); ui_print_result_message(
$success,
__('Update the graph'),
__('Bad update the graph')
);
} }
if ($delete_module) { if ($delete_module) {
ui_print_result_message($result, __('Graph deleted successfully'), __('There was a problem deleting Graph')); ui_print_result_message(
$result,
__('Graph deleted successfully'),
__('There was a problem deleting Graph')
);
} }
// Parse CHUNK information into showable information // Parse CHUNK information into showable information.
// Split id to get all parameters // Split id to get all parameters.
if (!$delete_module) { if (!$delete_module) {
if (isset($_POST['period'])) { if (isset($_POST['period'])) {
$period = $_POST['period']; $period = $_POST['period'];

View File

@ -307,8 +307,9 @@ if (!$own_info['is_admin'] && !check_acl($config['id_user'], 0, 'VR')) {
$return_all_group = true; $return_all_group = true;
} }
echo '<div class="w250px inline">';
html_print_select_groups(false, 'AR', $return_all_group, 'ag_group', $ag_group, 'this.form.submit();', '', 0, false, false, true, '', false); html_print_select_groups(false, 'AR', $return_all_group, 'ag_group', $ag_group, 'this.form.submit();', '', 0, false, false, true, '', false);
echo '</div>';
echo "<td style='width:25%;'>"; echo "<td style='width:25%;'>";
echo __('Group Recursion').'&nbsp;'; echo __('Group Recursion').'&nbsp;';
html_print_checkbox('recursion', 1, $recursion, false, false, 'this.form.submit()'); html_print_checkbox('recursion', 1, $recursion, false, false, 'this.form.submit()');

View File

@ -1264,6 +1264,7 @@ $class = 'databox filters';
<td style="font-weight:bold;"><?php echo __('Group'); ?></td> <td style="font-weight:bold;"><?php echo __('Group'); ?></td>
<td style=""> <td style="">
<?php <?php
echo '<div class="w250px inline padding-right-2-imp">';
if (check_acl($config['id_user'], 0, 'RW')) { if (check_acl($config['id_user'], 0, 'RW')) {
html_print_select_groups( html_print_select_groups(
$config['id_user'], $config['id_user'],
@ -1284,6 +1285,8 @@ $class = 'databox filters';
); );
} }
echo '</div>';
echo '&nbsp;&nbsp;&nbsp;'.__('Recursion').'&nbsp;&nbsp;&nbsp;'.html_print_checkbox_switch( echo '&nbsp;&nbsp;&nbsp;'.__('Recursion').'&nbsp;&nbsp;&nbsp;'.html_print_checkbox_switch(
'recursion', 'recursion',
1, 1,
@ -2122,7 +2125,7 @@ $class = 'databox filters';
<td style="font-weight:bold;"> <td style="font-weight:bold;">
<?php <?php
echo __('Full resolution graph (TIP)').ui_print_help_tip( echo __('Full resolution graph (TIP)').ui_print_help_tip(
__('This option may cause performance issues.'), __('TIP mode charts do not support average - maximum - minimum series, you can only enable TIP or average, maximum or minimum series'),
true true
); );
?> ?>

View File

@ -92,17 +92,7 @@ $table->data['group'][0] = __('Group');
$write_groups = users_get_groups_for_select(false, 'AR', true, true, false, 'id_grupo'); $write_groups = users_get_groups_for_select(false, 'AR', true, true, false, 'id_grupo');
html_print_select_groups(
$config['id_user'],
'AR',
true,
'id_group',
$idGroup,
'',
'',
'',
true
);
// If the report group is not among the RW groups (special permission) we add it // If the report group is not among the RW groups (special permission) we add it
@ -110,17 +100,19 @@ $write_groups = users_get_groups_for_select(false, 'AR', true, true, false, 'id_
$write_groups[$idGroupReport] = groups_get_name($idGroupReport); $write_groups[$idGroupReport] = groups_get_name($idGroupReport);
} }
$table->data['group'][1] = html_print_select( $table->data['group'][1] = '<div class="w290px inline">';
$write_groups, $table->data['group'][1] .= html_print_select_groups(
$config['id_user'],
'AR',
true,
'id_group', 'id_group',
$idGroupReport, $idGroupReport,
false,
'', '',
'', '',
true, '',
false, true
false
); );
$table->data['group'][1] .= '</div>';
if ($report_id_user == $config['id_user'] if ($report_id_user == $config['id_user']
|| is_user_admin($config['id_user']) || is_user_admin($config['id_user'])
@ -147,8 +139,9 @@ $write_groups = users_get_groups_for_select(false, 'AR', true, true, false, 'id_
$style = ''; $style = '';
} }
$table->data['access'][1] .= '<span style="'.$style.'" class="access_subform" id="group_edit"> $table->data['access'][1] .= '<span style="'.$style.'" class="access_subform" id="group_edit">';
'.html_print_select_groups( $table->data['access'][1] .= '<div class="w290px inline">';
$table->data['access'][1] .= html_print_select_groups(
false, false,
'RW', 'RW',
false, false,
@ -158,8 +151,9 @@ $write_groups = users_get_groups_for_select(false, 'AR', true, true, false, 'id_
'', '',
'', '',
true true
).' );
</span>'; $table->data['access'][1] .= '</div>';
$table->data['access'][1] .= '</span>';
} }
if ($enterpriseEnable) { if ($enterpriseEnable) {
@ -200,14 +194,11 @@ $write_groups = users_get_groups_for_select(false, 'AR', true, true, false, 'id_
<script type="text/javascript"> <script type="text/javascript">
function change_type_access(select_item) { function change_type_access(select_item) {
$(".access_subform").hide(); $(".access_subform").hide();
switch ($(select_item).val()) { if ($(select_item).val() == "group_edit") {
case 'group_view': $("#group_edit").show()
break; } else {
case 'group_edit': $("#group_edit").hide()
$("#group_edit").show();
break;
case 'user_edit':
break;
} }
} }
</script> </script>

View File

@ -136,7 +136,7 @@ if ($action == 'new') {
$table->data[1][0] = __('Group:'); $table->data[1][0] = __('Group:');
$table->data[1][1] = html_print_select_groups( $table->data[1][1] = '<div class="w250px">'.html_print_select_groups(
$config['id_user'], $config['id_user'],
'RW', 'RW',
true, true,
@ -146,7 +146,7 @@ $table->data[1][1] = html_print_select_groups(
'', '',
'', '',
true true
); ).'</div>';
$backgrounds_list = list_files( $backgrounds_list = list_files(
$config['homedir'].'/images/console/background/', $config['homedir'].'/images/console/background/',
'jpg', 'jpg',

View File

@ -381,7 +381,7 @@ if (is_metaconsole()) {
$table->rowstyle['all_3'] = 'display: none;'; $table->rowstyle['all_3'] = 'display: none;';
$table->data['all_3'][0] = __('Groups'); $table->data['all_3'][0] = __('Groups');
$table->colspan['all_3'][1] = '3'; $table->colspan['all_3'][1] = '3';
$table->data['all_3'][1] = html_print_select_groups( $table->data['all_3'][1] = '<div class="w250px">'.html_print_select_groups(
$config['id_user'], $config['id_user'],
'AR', 'AR',
true, true,
@ -391,7 +391,7 @@ $table->data['all_3'][1] = html_print_select_groups(
'', '',
0, 0,
true true
); ).'</div>';
$table->rowstyle['all_one_item_per_agent'] = 'display: none'; $table->rowstyle['all_one_item_per_agent'] = 'display: none';

View File

@ -176,7 +176,9 @@ if ((isset($_GET['form_add'])) || (isset($_GET['form_edit']))) {
$data[0] .= '<input type="text" name="subject" size="35" value="'.$subject.'">'; $data[0] .= '<input type="text" name="subject" size="35" value="'.$subject.'">';
$data[1] = __('Group').'<br>'; $data[1] = __('Group').'<br>';
$data[1] .= '<div class="w250px">';
$data[1] .= html_print_select_groups($config['id_user'], 'ER', users_can_manage_group_all(), 'id_group', $id_group, '', '', 0, true, false, false, ''); $data[1] .= html_print_select_groups($config['id_user'], 'ER', users_can_manage_group_all(), 'id_group', $id_group, '', '', 0, true, false, false, '');
$data[1] .= '</div>';
$data[2] = __('Modal screen').'<br>'; $data[2] = __('Modal screen').'<br>';
$data[2] .= html_print_checkbox_extended('modal', 1, $modal, false, '', 'style="margin-top: 5px;margin-bottom: 7px;"', true); $data[2] .= html_print_checkbox_extended('modal', 1, $modal, false, '', 'style="margin-top: 5px;margin-bottom: 7px;"', true);

View File

@ -917,6 +917,15 @@ $row++;
); );
$row++; $row++;
$table_chars->data[$row][0] = __('Chart fit to content');
$table_chars->data[$row][1] = html_print_checkbox_switch(
'maximum_y_axis',
1,
$config['maximum_y_axis'],
true
);
$row++;
$table_chars->data[$row][0] = __('Type of module charts'); $table_chars->data[$row][0] = __('Type of module charts');
$table_chars->data[$row][1] = __('Area').'&nbsp;'.html_print_radio_button( $table_chars->data[$row][1] = __('Area').'&nbsp;'.html_print_radio_button(
'type_module_charts', 'type_module_charts',

View File

@ -776,6 +776,7 @@ if ($create_alert || $update_alert) {
// Group // Group
echo '<tr id="tr-group"><td class="datos2">'.__('Group').'</td><td class="datos2">'; echo '<tr id="tr-group"><td class="datos2">'.__('Group').'</td><td class="datos2">';
echo '<div class="w250px">';
html_print_select_groups( html_print_select_groups(
$config['id_user'], $config['id_user'],
'AR', 'AR',
@ -796,6 +797,7 @@ if ($create_alert || $update_alert) {
'id_grupo', 'id_grupo',
false false
); );
echo '</div>';
echo '</td></tr>'; echo '</td></tr>';
// Trap type // Trap type

View File

@ -934,7 +934,6 @@ class HostDevices extends Wizard
'selected' => $this->task['id_group'], 'selected' => $this->task['id_group'],
'return' => true, 'return' => true,
'class' => 'discovery_list_input', 'class' => 'discovery_list_input',
'size' => 9,
'simple_multiple_options' => true, 'simple_multiple_options' => true,
] ]
); );

View File

@ -0,0 +1,71 @@
<?php
/**
* Ajax secondary controller for groups.
*
* @category Ajax secondary controller page.
* @package Pandora FMS
* @subpackage Opensource
* @version 1.0.0
* @license See below
*
* ______ ___ _______ _______ ________
* | __ \.-----.--.--.--| |.-----.----.-----. | ___| | | __|
* | __/| _ | | _ || _ | _| _ | | ___| |__ |
* |___| |___._|__|__|_____||_____|__| |___._| |___| |__|_|__|_______|
*
* ============================================================================
* Copyright (c) 2005-2019 Artica Soluciones Tecnologicas
* Please see http://pandorafms.org for full contribution list
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation for version 2.
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* ============================================================================
*/
// Begin.
global $config;
use PandoraFMS\Group;
// Only logged users have access to this endpoint.
check_login();
if (! check_acl($config['id_user'], 0, 'AR')) {
db_pandora_audit(
'ACL Violation',
'Trying to access credential store'
);
if (is_ajax()) {
echo json_encode(['error' => 'noaccess']);
} else {
include 'general/noaccess.php';
}
exit;
}
// AJAX controller.
if (is_ajax()) {
$method = get_parameter('method');
if (method_exists('PandoraFMS\Group', $method) === true) {
if (Group::ajaxMethod($method) === true) {
Group::{$method}();
} else {
Group::error('Unavailable method.');
}
} else {
Group::error('Method not found. ['.$method.']');
}
// Stop any execution.
exit;
} else {
// Run.
$cs->run();
}

View File

@ -766,16 +766,15 @@ class CredentialStore extends Wizard
'inputs' => [ 'inputs' => [
[ [
'label' => __('Group'), 'label' => __('Group'),
'type' => 'select', 'type' => 'select_groups',
'id' => 'filter_id_group', 'id' => 'filter_id_group',
'name' => 'filter_id_group', 'name' => 'filter_id_group',
'options' => users_get_groups_for_select( 'privilege' => 'AR',
$config['id_user'], 'type' => 'select_groups',
'AR', 'nothing' => false,
true, 'selected' => (defined($id_group_filter) ? $id_group_filter : 0),
true, 'return' => true,
false 'size' => '80%',
),
], ],
[ [
'label' => __('Free search'), 'label' => __('Free search'),
@ -856,6 +855,7 @@ class CredentialStore extends Wizard
'id' => 'id_group', 'id' => 'id_group',
'input_class' => 'flex-row', 'input_class' => 'flex-row',
'type' => 'select_groups', 'type' => 'select_groups',
'returnAllGroup' => true,
'selected' => $values['id_group'], 'selected' => $values['id_group'],
'return' => true, 'return' => true,
'class' => 'w50p', 'class' => 'w50p',

View File

@ -504,6 +504,7 @@ class CustomNetScan extends Wizard
'type' => 'select_groups', 'type' => 'select_groups',
'selected' => $this->task['id_group'], 'selected' => $this->task['id_group'],
'return' => true, 'return' => true,
'size' => '400px',
], ],
]; ];

View File

@ -20,7 +20,7 @@
/** /**
* Pandora build version and version * Pandora build version and version
*/ */
$build_version = 'PC201005'; $build_version = 'PC201006';
$pandora_version = 'v7.0NG.749'; $pandora_version = 'v7.0NG.749';
// Do not overwrite default timezone set if defined. // Do not overwrite default timezone set if defined.

View File

@ -1851,7 +1851,9 @@ function api_set_delete_agent($id, $thrash1, $other, $thrash3)
} }
if (is_metaconsole()) { if (is_metaconsole()) {
if (!check_acl($config['id_user'], 0, 'PM')) { if (!check_acl($config['id_user'], 0, 'PM')
&& !check_acl($config['id_user'], 0, 'AW')
) {
returnError('forbidden', 'string'); returnError('forbidden', 'string');
return; return;
} }

View File

@ -925,6 +925,10 @@ function config_update_config()
$error_update[] = __('Use round corners'); $error_update[] = __('Use round corners');
} }
if (!config_update_value('maximum_y_axis', (bool) get_parameter('maximum_y_axis'))) {
$error_update[] = __('Chart fit to content');
}
if (!config_update_value('show_qr_code_header', (bool) get_parameter('show_qr_code_header'))) { if (!config_update_value('show_qr_code_header', (bool) get_parameter('show_qr_code_header'))) {
$error_update[] = __('Show QR code header'); $error_update[] = __('Show QR code header');
} }
@ -1772,6 +1776,10 @@ function config_process_config()
config_update_value('round_corner', false); config_update_value('round_corner', false);
} }
if (isset($config['maximum_y_axis']) === false) {
config_update_value('maximum_y_axis', false);
}
if (!isset($config['show_qr_code_header'])) { if (!isset($config['show_qr_code_header'])) {
config_update_value('show_qr_code_header', false); config_update_value('show_qr_code_header', false);
} }

View File

@ -56,7 +56,17 @@ function forecast_projection_graph(
'projection' => true, 'projection' => true,
]; ];
$module_data = grafico_modulo_sparse($params, $server_name); if (is_metaconsole()) {
$id_meta = metaconsole_get_id_server($server_name);
$server = metaconsole_get_connection_by_id($id_meta);
metaconsole_connect($server);
}
$module_data = grafico_modulo_sparse($params);
if (is_metaconsole()) {
metaconsole_restore_db();
}
if (empty($module_data)) { if (empty($module_data)) {
return []; return [];

View File

@ -629,172 +629,177 @@ function grafico_modulo_sparse_data(
* 'graph_render' => 0, * 'graph_render' => 0,
* 'zoom' => 1, * 'zoom' => 1,
* 'server_id' => null, * 'server_id' => null,
* 'stacked' => 0. * 'stacked' => 0
* 'maximum_y_axis' => 0.
* *
* @return string html Content graphs. * @return string html Content graphs.
*/ */
function grafico_modulo_sparse($params, $server_name='') function grafico_modulo_sparse($params)
{ {
global $config; global $config;
if (!isset($params) || !is_array($params)) { if (isset($params) === false || is_array($params) === false) {
return false; return false;
} }
if (!isset($params['period'])) { if (isset($params['period']) === false) {
return false; return false;
} }
if (!isset($params['show_events'])) { if (isset($params['show_events']) === false) {
$params['show_events'] = false; $params['show_events'] = false;
} }
if (!isset($params['width'])) { if (isset($params['width']) === false) {
$params['width'] = '90%'; $params['width'] = '90%';
} }
if (!isset($params['height'])) { if (isset($params['height']) === false) {
$params['height'] = 450; $params['height'] = 450;
} }
if (!isset($params['title'])) { if (isset($params['title']) === false) {
$params['title'] = ''; $params['title'] = '';
} }
if (!isset($params['unit_name'])) { if (isset($params['unit_name']) === false) {
$params['unit_name'] = null; $params['unit_name'] = null;
} }
if (!isset($params['show_alerts'])) { if (isset($params['show_alerts']) === false) {
$params['show_alerts'] = false; $params['show_alerts'] = false;
} }
if (!isset($params['date']) || !$params['date']) { if (isset($params['date']) === false || !$params['date']) {
$params['date'] = get_system_time(); $params['date'] = get_system_time();
} }
if (!isset($params['unit'])) { if (isset($params['unit']) === false) {
$params['unit'] = ''; $params['unit'] = '';
} }
if (!isset($params['baseline'])) { if (isset($params['baseline']) === false) {
$params['baseline'] = 0; $params['baseline'] = 0;
} }
if (!isset($params['return_data'])) { if (isset($params['return_data']) === false) {
$params['return_data'] = 0; $params['return_data'] = 0;
} }
if (!isset($params['show_title'])) { if (isset($params['show_title']) === false) {
$show_title = true; $show_title = true;
} }
if (!isset($params['only_image'])) { if (isset($params['only_image']) === false) {
$params['only_image'] = false; $params['only_image'] = false;
} }
if (!isset($params['homeurl'])) { if (isset($params['homeurl']) === false) {
$params['homeurl'] = $config['homeurl']; $params['homeurl'] = $config['homeurl'];
} }
if (!isset($params['ttl'])) { if (isset($params['ttl']) === false) {
$params['ttl'] = 1; $params['ttl'] = 1;
} }
if (!isset($params['adapt_key'])) { if (isset($params['adapt_key']) === false) {
$params['adapt_key'] = ''; $params['adapt_key'] = '';
} }
if (!isset($params['compare'])) { if (isset($params['compare']) === false) {
$params['compare'] = false; $params['compare'] = false;
} }
if (!isset($params['show_unknown'])) { if (isset($params['show_unknown']) === false) {
$params['show_unknown'] = false; $params['show_unknown'] = false;
} }
if (!isset($params['menu'])) { if (isset($params['menu']) === false) {
$params['menu'] = true; $params['menu'] = true;
} }
if (!isset($params['show_legend'])) { if (isset($params['show_legend']) === false) {
$params['show_legend'] = true; $params['show_legend'] = true;
} }
if (!isset($params['show_overview'])) { if (isset($params['show_overview']) === false) {
$params['show_overview'] = true; $params['show_overview'] = true;
} }
if (!isset($params['show_export_csv'])) { if (isset($params['show_export_csv']) === false) {
$params['show_export_csv'] = true; $params['show_export_csv'] = true;
} }
if (!isset($params['backgroundColor'])) { if (isset($params['backgroundColor']) === false) {
$params['backgroundColor'] = 'white'; $params['backgroundColor'] = 'white';
} }
if (!isset($params['percentil'])) { if (isset($params['percentil']) === false) {
$params['percentil'] = null; $params['percentil'] = null;
} }
if (!isset($params['dashboard'])) { if (isset($params['dashboard']) === false) {
$params['dashboard'] = false; $params['dashboard'] = false;
} }
if (!isset($params['vconsole']) || $params['vconsole'] == false) { if (isset($params['vconsole']) === false || $params['vconsole'] == false) {
$params['vconsole'] = false; $params['vconsole'] = false;
} else { } else {
$params['menu'] = false; $params['menu'] = false;
} }
if (!isset($params['type_graph'])) { if (isset($params['type_graph']) === false) {
$params['type_graph'] = $config['type_module_charts']; $params['type_graph'] = $config['type_module_charts'];
} }
if (!isset($params['fullscale'])) { if (isset($params['fullscale']) === false) {
$params['fullscale'] = false; $params['fullscale'] = false;
} }
if (!isset($params['id_widget_dashboard'])) { if (isset($params['id_widget_dashboard']) === false) {
$params['id_widget_dashboard'] = false; $params['id_widget_dashboard'] = false;
} }
if (!isset($params['force_interval'])) { if (isset($params['force_interval']) === false) {
$params['force_interval'] = ''; $params['force_interval'] = '';
} }
if (!isset($params['time_interval'])) { if (isset($params['time_interval']) === false) {
$params['time_interval'] = 300; $params['time_interval'] = 300;
} }
if (!isset($params['array_data_create'])) { if (isset($params['array_data_create']) === false) {
$params['array_data_create'] = 0; $params['array_data_create'] = 0;
} }
if (!isset($params['return_img_base_64'])) { if (isset($params['return_img_base_64']) === false) {
$params['return_img_base_64'] = false; $params['return_img_base_64'] = false;
} }
if (!isset($params['image_treshold'])) { if (isset($params['image_treshold']) === false) {
$params['image_treshold'] = false; $params['image_treshold'] = false;
} }
if (!isset($params['graph_combined'])) { if (isset($params['graph_combined']) === false) {
$params['graph_combined'] = false; $params['graph_combined'] = false;
} }
if (!isset($params['zoom'])) { if (isset($params['zoom']) === false) {
$params['zoom'] = ($config['zoom_graph']) ? $config['zoom_graph'] : 1; $params['zoom'] = ($config['zoom_graph']) ? $config['zoom_graph'] : 1;
} }
if (!isset($params['type_mode_graph'])) { if (isset($params['type_mode_graph']) === false) {
$params['type_mode_graph'] = $config['type_mode_graph']; $params['type_mode_graph'] = $config['type_mode_graph'];
if (isset($params['graph_render']) === true) { if (isset($params['graph_render']) === true) {
$params['type_mode_graph'] = $params['graph_render']; $params['type_mode_graph'] = $params['graph_render'];
} }
} }
if (!isset($params['projection'])) { if (isset($params['maximum_y_axis']) === false) {
$params['maximum_y_axis'] = $config['maximum_y_axis'];
}
if (isset($params['projection']) === false) {
$params['projection'] = false; $params['projection'] = false;
} }
@ -802,7 +807,7 @@ function grafico_modulo_sparse($params, $server_name='')
$params['pdf'] = false; $params['pdf'] = false;
} }
if (!isset($params['agent_module_id'])) { if (isset($params['agent_module_id']) === false) {
return graph_nodata_image( return graph_nodata_image(
$params['width'], $params['width'],
$params['height'], $params['height'],
@ -815,14 +820,12 @@ function grafico_modulo_sparse($params, $server_name='')
$agent_module_id = $params['agent_module_id']; $agent_module_id = $params['agent_module_id'];
} }
if (!isset($params['stacked'])) { if (isset($params['stacked']) === false) {
$params['stacked'] = 0; $params['stacked'] = 0;
} }
// TODO: Configurable.
$params['grid_color'] = '#C1C1C1'; $params['grid_color'] = '#C1C1C1';
$params['legend_color'] = '#636363'; $params['legend_color'] = '#636363';
$params['font'] = $config['fontpath']; $params['font'] = $config['fontpath'];
$params['font_size'] = $config['font_size']; $params['font_size'] = $config['font_size'];
$params['short_data'] = $config['short_module_graph_data']; $params['short_data'] = $config['short_module_graph_data'];
@ -880,14 +883,14 @@ function grafico_modulo_sparse($params, $server_name='')
} }
// Format of the graph. // Format of the graph.
if (empty($params['unit'])) { if (empty($params['unit']) === true) {
$params['unit'] = $module_data['unit']; $params['unit'] = $module_data['unit'];
if (modules_is_unit_macro($params['unit'])) { if (modules_is_unit_macro($params['unit'])) {
$params['unit'] = ''; $params['unit'] = '';
} }
} }
if (empty($params['divisor'])) { if (empty($params['divisor']) === true) {
$params['divisor'] = get_data_multiplier($params['unit']); $params['divisor'] = get_data_multiplier($params['unit']);
} }
@ -986,7 +989,7 @@ function grafico_modulo_sparse($params, $server_name='')
// Check available data. // Check available data.
if ($params['compare'] === 'separated') { if ($params['compare'] === 'separated') {
if (!empty($array_data)) { if (empty($array_data) === false) {
$return = area_graph( $return = area_graph(
$agent_module_id, $agent_module_id,
$array_data, $array_data,
@ -1011,7 +1014,7 @@ function grafico_modulo_sparse($params, $server_name='')
} }
$return .= '<br>'; $return .= '<br>';
if (!empty($array_data_prev)) { if (empty($array_data_prev) === false) {
$series_type_array = series_type_graph_array( $series_type_array = series_type_graph_array(
$array_data_prev, $array_data_prev,
$params $params
@ -1116,11 +1119,11 @@ function graphic_combined_module(
) { ) {
global $config; global $config;
if (!isset($params_combined['from_interface'])) { if (isset($params_combined['from_interface']) === false) {
$params_combined['from_interface'] = false; $params_combined['from_interface'] = false;
} }
if (!isset($params_combined['stacked'])) { if (isset($params_combined['stacked']) === false) {
if ($params_combined['from_interface']) { if ($params_combined['from_interface']) {
if ($config['type_interface_charts'] == 'line') { if ($config['type_interface_charts'] == 'line') {
$params_combined['stacked'] = CUSTOM_GRAPH_LINE; $params_combined['stacked'] = CUSTOM_GRAPH_LINE;
@ -1131,155 +1134,165 @@ function graphic_combined_module(
if ($params_combined['id_graph'] == 0) { if ($params_combined['id_graph'] == 0) {
$params_combined['stacked'] = CUSTOM_GRAPH_AREA; $params_combined['stacked'] = CUSTOM_GRAPH_AREA;
} else { } else {
$params_combined['stacked'] = db_get_row('tgraph', 'id_graph', $params_combined['id_graph']); $params_combined['stacked'] = db_get_row(
'tgraph',
'id_graph',
$params_combined['id_graph']
);
} }
} }
} }
$params['stacked'] = $params_combined['stacked']; $params['stacked'] = $params_combined['stacked'];
if (!isset($params_combined['projection']) || $params_combined['projection'] == false) { if (isset($params_combined['projection']) === false
|| $params_combined['projection'] == false
) {
$params_combined['projection'] = false; $params_combined['projection'] = false;
} else { } else {
$params['stacked'] = 'area'; $params['stacked'] = 'area';
$params['projection'] = true; $params['projection'] = true;
} }
if (!isset($params_combined['labels'])) { if (isset($params_combined['labels']) === false) {
$params_combined['labels'] = []; $params_combined['labels'] = [];
} }
if (!isset($params_combined['summatory'])) { if (isset($params_combined['summatory']) === false) {
$params_combined['summatory'] = 0; $params_combined['summatory'] = 0;
} }
if (!isset($params_combined['average'])) { if (isset($params_combined['average']) === false) {
$params_combined['average'] = 0; $params_combined['average'] = 0;
} }
if (!isset($params_combined['modules_series'])) { if (isset($params_combined['modules_series']) === false) {
$params_combined['modules_series'] = 0; $params_combined['modules_series'] = 0;
} }
if (!isset($params_combined['return'])) { if (isset($params_combined['return']) === false) {
$params_combined['return'] = 1; $params_combined['return'] = 1;
} }
if (!isset($params_combined['id_graph'])) { if (isset($params_combined['id_graph']) === false) {
$params_combined['id_graph'] = 0; $params_combined['id_graph'] = 0;
} }
if (!isset($params_combined['type_report'])) { if (isset($params_combined['type_report']) === false) {
$params_combined['type_report'] = ''; $params_combined['type_report'] = '';
} }
if (!isset($params['percentil'])) { if (isset($params['percentil']) === false) {
$params_combined['percentil'] = null; $params_combined['percentil'] = null;
} else { } else {
$params_combined['percentil'] = $params['percentil']; $params_combined['percentil'] = $params['percentil'];
} }
if (!isset($params['period'])) { if (isset($params['period']) === false) {
return false; return false;
} }
if (!isset($params['width'])) { if (isset($params['width']) === false) {
$params['width'] = '90%'; $params['width'] = '90%';
} }
if (!isset($params['height'])) { if (isset($params['height']) === false) {
$params['height'] = 450; $params['height'] = 450;
} }
if (!isset($params['title'])) { if (isset($params['title']) === false) {
$params['title'] = ''; $params['title'] = '';
} }
if (!isset($params['unit_name'])) { if (isset($params['unit_name']) === false) {
$params['unit_name'] = null; $params['unit_name'] = null;
} }
if (!isset($params['show_alerts'])) { if (isset($params['show_alerts']) === false) {
$params['show_alerts'] = false; $params['show_alerts'] = false;
} }
if (!isset($params['date']) || !$params['date']) { if (isset($params['date']) === false || !$params['date']) {
$params['date'] = get_system_time(); $params['date'] = get_system_time();
} }
if (!isset($params['only_image'])) { if (isset($params['only_image']) === false) {
$params['only_image'] = false; $params['only_image'] = false;
} }
if (!isset($params['ttl'])) { if (isset($params['ttl']) === false) {
$params['ttl'] = 1; $params['ttl'] = 1;
} }
if (!isset($params['backgroundColor'])) { if (isset($params['backgroundColor']) === false) {
$params['backgroundColor'] = 'white'; $params['backgroundColor'] = 'white';
} }
if (!isset($params['dashboard'])) { if (isset($params['dashboard']) === false) {
$params['dashboard'] = false; $params['dashboard'] = false;
} }
if (!isset($params['menu']) || $params['only_image']) { if (isset($params['menu']) === false
|| $params['only_image']
) {
$params['menu'] = true; $params['menu'] = true;
} else { } else {
$params['menu'] = false; $params['menu'] = false;
} }
if (!isset($params['vconsole']) || $params['vconsole'] == false) { if (isset($params['vconsole']) === false
|| $params['vconsole'] == false
) {
$params['vconsole'] = false; $params['vconsole'] = false;
} else { } else {
$params['menu'] = false; $params['menu'] = false;
} }
if (!isset($params['type_graph'])) { if (isset($params['type_graph']) === false) {
$params['type_graph'] = $config['type_module_charts']; $params['type_graph'] = $config['type_module_charts'];
} }
if (!isset($params['percentil'])) { if (isset($params['percentil']) === false) {
$params['percentil'] = null; $params['percentil'] = null;
} }
if (!isset($params['fullscale'])) { if (isset($params['fullscale']) === false) {
$params['fullscale'] = false; $params['fullscale'] = false;
} }
if (!isset($params['id_widget_dashboard'])) { if (isset($params['id_widget_dashboard']) === false) {
$params['id_widget_dashboard'] = false; $params['id_widget_dashboard'] = false;
} }
if (!isset($params['homeurl'])) { if (isset($params['homeurl']) === false) {
$params['homeurl'] = ui_get_full_url(false, false, false, false); $params['homeurl'] = ui_get_full_url(false, false, false, false);
} }
if (!isset($params['show_legend'])) { if (isset($params['show_legend']) === false) {
$params['show_legend'] = true; $params['show_legend'] = true;
} }
if (!isset($params['show_overview'])) { if (isset($params['show_overview']) === false) {
$params['show_overview'] = true; $params['show_overview'] = true;
} }
if (!isset($params['show_export_csv'])) { if (isset($params['show_export_csv']) === false) {
$params['show_export_csv'] = true; $params['show_export_csv'] = true;
} }
if (!isset($params['return_img_base_64'])) { if (isset($params['return_img_base_64']) === false) {
$params['return_img_base_64'] = false; $params['return_img_base_64'] = false;
} }
if (!isset($params['image_treshold'])) { if (isset($params['image_treshold']) === false) {
$params['image_treshold'] = false; $params['image_treshold'] = false;
} }
if (!isset($params['show_unknown'])) { if (isset($params['show_unknown']) === false) {
$params['show_unknown'] = false; $params['show_unknown'] = false;
} }
if (!isset($params['type_mode_graph'])) { if (isset($params['type_mode_graph']) === false) {
$params['type_mode_graph'] = 0; $params['type_mode_graph'] = 0;
if (isset($params['graph_render']) === true) { if (isset($params['graph_render']) === true) {
$params['type_mode_graph'] = $params['graph_render']; $params['type_mode_graph'] = $params['graph_render'];
@ -1293,6 +1306,10 @@ function graphic_combined_module(
$params_combined['fullscale'] = $params['fullscale']; $params_combined['fullscale'] = $params['fullscale'];
} }
if (isset($params['maximum_y_axis']) === false) {
$params['maximum_y_axis'] = $config['maximum_y_axis'];
}
$params['graph_combined'] = true; $params['graph_combined'] = true;
$params_combined['graph_combined'] = true; $params_combined['graph_combined'] = true;
@ -1305,11 +1322,10 @@ function graphic_combined_module(
); );
} }
if (!isset($params['zoom'])) { if (isset($params['zoom']) === false) {
$params['zoom'] = 1; $params['zoom'] = 1;
} }
// TODO: Configurable.
$params['grid_color'] = '#C1C1C1'; $params['grid_color'] = '#C1C1C1';
$params['legend_color'] = '#636363'; $params['legend_color'] = '#636363';
@ -1454,23 +1470,23 @@ function graphic_combined_module(
$params_combined['modules_id'] = $modules; $params_combined['modules_id'] = $modules;
} }
if (isset($summatory)) { if (isset($summatory) === true) {
$params_combined['summatory'] = $summatory; $params_combined['summatory'] = $summatory;
} }
if (isset($average)) { if (isset($average) === true) {
$params_combined['average'] = $average; $params_combined['average'] = $average;
} }
if (isset($modules_series)) { if (isset($modules_series) === true) {
$params_combined['modules_series'] = $modules_series; $params_combined['modules_series'] = $modules_series;
} }
if (isset($labels)) { if (isset($labels) === true) {
$params_combined['labels'] = $labels; $params_combined['labels'] = $labels;
} }
if (isset($weights)) { if (isset($weights) === true) {
$params_combined['weight_list'] = $weights; $params_combined['weight_list'] = $weights;
} }
@ -1660,7 +1676,7 @@ function graphic_combined_module(
} }
} }
if (empty($array_data)) { if (empty($array_data) === true) {
if ($params_combined['return']) { if ($params_combined['return']) {
return graph_nodata_image($width, $height); return graph_nodata_image($width, $height);
} }
@ -4392,7 +4408,7 @@ function fullscale_data(
// Avg count total. // Avg count total.
$count_data_total++; $count_data_total++;
if ($type_mode_graph && !$params['baseline']) { if (!$params['baseline']) {
// MIN. // MIN.
// max min. // max min.
if ($min_value >= $min_value_max if ($min_value >= $min_value_max
@ -4460,7 +4476,7 @@ function fullscale_data(
} }
} }
if ($type_mode_graph && !$params['baseline']) { if (!$params['baseline']) {
if ((int) $type_mode_graph === 1 || (int) $type_mode_graph === 3) { if ((int) $type_mode_graph === 1 || (int) $type_mode_graph === 3) {
$data['min'.$series_suffix]['min'] = $min_value_min; $data['min'.$series_suffix]['min'] = $min_value_min;
$data['min'.$series_suffix]['max'] = $min_value_max; $data['min'.$series_suffix]['max'] = $min_value_max;

View File

@ -341,7 +341,7 @@ function groups_get_children($parent, $ignorePropagate=false)
/** /**
* XXX: This is not working. Expects 'propagate' on CHILD not on PARENT!!! * @deprecated This is not working. Expects 'propagate' on CHILD not on PARENT!!!
* *
* Return a array of id_group of childrens (to branches down) * Return a array of id_group of childrens (to branches down)
* *
@ -575,15 +575,19 @@ function groups_get_id_recursive($id_parent, $all=false)
function groups_flatten_tree_groups($tree, $deep) function groups_flatten_tree_groups($tree, $deep)
{ {
if (is_array($tree) === true) {
foreach ($tree as $key => $group) { foreach ($tree as $key => $group) {
$return[$key] = $group; $return[$key] = $group;
unset($return[$key]['branch']); unset($return[$key]['branch']);
$return[$key]['deep'] = $deep; $return[$key]['deep'] = $deep;
if (!empty($group['branch'])) { if (empty($group['branch']) === false) {
$return = ($return + groups_flatten_tree_groups($group['branch'], ($deep + 1))); $return = ($return + groups_flatten_tree_groups($group['branch'], ($deep + 1)));
} }
} }
} else {
$return = [];
}
return $return; return $return;
} }
@ -618,7 +622,7 @@ function groups_get_groups_tree_recursive($groups, $trash=0, $trash2=0)
$tree[$group['parent']]['branch'][$key] = &$tree[$key]; $tree[$group['parent']]['branch'][$key] = &$tree[$key];
} }
// Depends on the All group we give different format // Depends on the All group we give different format.
if (isset($groups[0])) { if (isset($groups[0])) {
$tree = [$tree[0]]; $tree = [$tree[0]];
} else { } else {

View File

@ -410,25 +410,32 @@ function html_print_select_style($fields, $name, $selected='', $style='', $scrip
/** /**
* Prints the groups of user of fields in a popup menu of a form. * Print or return selector for groups.
* *
* @param string User id * @param string $id_user User id.
* @param string The privilege to evaluate * @param string $privilege The privilege to evaluate.
* @param boolean $returnAllGroup Flag the return group, by default true. * @param boolean $returnAllGroup Flag the return group, (true).
* @param boolean $returnAllColumns Flag to return all columns of groups. * @param boolean $name Name of input field.
* @param array Array with dropdown values. Example: $fields["value"] = "label" * @param array $selected Array with dropdown values. Example:
* @param string Select form name * $fields["value"] = "label".
* @param variant Current selected value. Can be a single value or an * @param string $script Javascript onChange code.
* array of selected values (in combination with multiple) * @param mixed $nothing Label when nothing is selected.
* @param string Javascript onChange code. * @param array $nothing_value Value when nothing is selected.
* @param string Label when nothing is selected. * @param string $return Return string or dump to output.
* @param variant Value when nothing is selected * @param boolean $multiple Enable multiple select.
* @param bool Whether to return an output string or echo now (optional, echo by default). * @param mixed $sort Sort values or not (default false).
* @param bool Set the input to allow multiple selections (optional, single selection by default). * @param boolean $class CSS classes to apply.
* @param bool Whether to sort the options or not (optional, unsorted by default). * @param boolean $disabled Disabled or enabled.
* @param string $style The string of style. * @param boolean $style CSS inline style.
* @param integer $id_group The id of node that must do not show the children and own. * @param string $option_style CSS inline style in array format.
* @param string $keys_field The field of the group used in the array keys. By default ID * @param array $id_group Groups to be manually added.
* @param string $keys_field Field to be used as array key, (id).
* @param boolean $strict_user Strict.
* @param array $delete_groups Remove groups from select.
* @param array $include_groups Add groups to select.
* @param string $size Style, size (width) of element.
* @param boolean $simple_multiple_options Discovery simple multiple inputs.
* @param boolean $required Required input.
* *
* @return string HTML code if return parameter is true. * @return string HTML code if return parameter is true.
*/ */
@ -436,14 +443,14 @@ function html_print_select_groups(
$id_user=false, $id_user=false,
$privilege='AR', $privilege='AR',
$returnAllGroup=true, $returnAllGroup=true,
$name, $name=null,
$selected='', $selected='',
$script='', $script='',
$nothing='', $nothing='',
$nothing_value=0, $nothing_value=0,
$return=false, $return=false,
$multiple=false, $multiple=false,
$sort=true, $sort=false,
$class='', $class='',
$disabled=false, $disabled=false,
$style=false, $style=false,
@ -454,39 +461,68 @@ function html_print_select_groups(
$delete_groups=false, $delete_groups=false,
$include_groups=false, $include_groups=false,
$size=false, $size=false,
$simple_multiple_options=false $simple_multiple_options=false,
$required=false
) { ) {
global $config; $output = '';
$fields = users_get_groups_for_select( if (is_ajax()) {
$id_user, $output .= '<script src="';
$privilege, $output .= ui_get_full_url(
$returnAllGroup, 'include/javascript/select2.min.js',
true, false,
$id_group, false,
$keys_field false
); );
$output .= '" type="text/javascript"></script>';
if ($delete_groups && is_array($delete_groups)) { $output .= '<link rel="stylesheet" href="';
foreach ($delete_groups as $value) { $output .= ui_get_full_url(
unset($fields[$value]); 'include/styles/select2.min.css',
false,
false,
false
);
$output .= '"/>';
} else {
ui_require_css_file('select2.min');
ui_require_javascript_file('select2.min');
}
if ($name === null) {
static $idcounter = [];
if (isset($idcounter[$name]) === true) {
$idcounter[$name]++;
} else {
$idcounter[$name] = 0;
}
$name = 'group_select'.$idcounter[$name];
}
$fields = [];
// Preload selector.
if (is_array($selected) === false) {
if (empty($selected) === false) {
$fields = [ $selected => groups_get_name($selected) ];
} else if ($returnAllGroup === true && $multiple === false) {
$fields = [ $selected => groups_get_name(null, true) ];
}
} else {
foreach ($selected as $k) {
$fields[$k] = groups_get_name($k);
} }
} }
if (is_array($include_groups)) { if (is_array($delete_groups) === true) {
$field = []; $json_exclusions = json_encode($delete_groups);
foreach ($include_groups as $value) {
$field[$value] = $fields[$value];
} }
$fields = array_intersect($fields, $field); if (is_array($include_groups) === true) {
$json_inclusions = json_encode($include_groups);
} }
if ($strict_user) { $output .= html_print_select(
$fields = users_get_strict_mode_groups($config['id_user'], $returnAllGroup);
}
$output = html_print_select(
$fields, $fields,
$name, $name,
$selected, $selected,
@ -495,7 +531,7 @@ function html_print_select_groups(
$nothing_value, $nothing_value,
$return, $return,
$multiple, $multiple,
false, $sort,
$class, $class,
$disabled, $disabled,
$style, $style,
@ -504,9 +540,82 @@ function html_print_select_groups(
false, false,
'', '',
false, false,
$simple_multiple_options $simple_multiple_options,
$required
); );
if (empty($size) === true) {
$size = '100%';
}
ob_start();
?>
<style type="text/css">
.select2-search__field {
background: url('<?php echo ui_get_full_url('images/zoom.png'); ?>') no-repeat;
background-position: right 10px center;
background-size: 1em;
}
</style>
<script type="text/javascript">
$(document).ready(function() {
$('select[name="<?php echo $name; ?>"]').each(
function() {
$(this).select2({
multiple: <?php echo ($multiple) ? 'true' : 'false'; ?>,
placeholder: "<?php echo __('Please select...'); ?>",
debug: 0,
width: '<?php echo $size; ?>',
templateResult: function(node) {
if (!node.id) {
return node.text;
}
return $('<span style="padding-left:' + (5 * node.level) + 'px;">' + node.text + '</span>');
},
ajax: {
delay: 500,
method: 'post',
url: '<?php echo ui_get_full_url('ajax.php'); ?>',
dataType: 'json',
data: function (params) {
var query = {
search: params.term,
page: 'include/ajax/group',
method: 'getGroupsForSelect',
id_user: '<?php echo $id_user; ?>',
privilege: '<?php echo $privilege; ?>',
exclusions: '<?php echo $json_exclusions; ?>',
inclusions: '<?php echo $json_inclusions; ?>',
step: params.page || 1,
strict: "<?php echo $strict_user; ?>",
returnAllGroup: <?php echo (int) $returnAllGroup; ?>
}
return query;
}
}
});
}
);
<?php
if (empty($fields) === true) {
?>
$('select[name="<?php echo $name; ?>"]').val(null).trigger("change");
$('select[name="<?php echo $name; ?>"] option[value=""]').each(function() {
$(this).remove();
});
<?php
}
?>
});
</script>
<?php
$output .= ob_get_clean();
if ($return) { if ($return) {
return $output; return $output;
} else { } else {
@ -553,7 +662,8 @@ function html_print_select(
$modal=false, $modal=false,
$message='', $message='',
$select_all=false, $select_all=false,
$simple_multiple_options=false $simple_multiple_options=false,
$required=false
) { ) {
$output = "\n"; $output = "\n";
@ -603,7 +713,11 @@ function html_print_select(
$styleText = 'style="'.$style.'"'; $styleText = 'style="'.$style.'"';
} }
$output .= '<select id="'.$id.'" name="'.$name.'"'.$attributes.' '.$styleText.'>'; if ($required) {
$required = 'required';
}
$output .= '<select '.$required.' id="'.$id.'" name="'.$name.'"'.$attributes.' '.$styleText.'>';
if ($nothing !== false) { if ($nothing !== false) {
if ($nothing != '' || empty($fields)) { if ($nothing != '' || empty($fields)) {
@ -4271,7 +4385,8 @@ function html_print_input($data, $wrapper='div', $input_only=false)
((isset($data['delete_groups']) === true) ? $data['delete_groups'] : false), ((isset($data['delete_groups']) === true) ? $data['delete_groups'] : false),
((isset($data['include_groups']) === true) ? $data['include_groups'] : false), ((isset($data['include_groups']) === true) ? $data['include_groups'] : false),
((isset($data['size']) === true) ? $data['size'] : false), ((isset($data['size']) === true) ? $data['size'] : false),
((isset($data['simple_multiple_options']) === true) ? $data['simple_multiple_options'] : false) ((isset($data['simple_multiple_options']) === true) ? $data['simple_multiple_options'] : false),
((isset($data['required']) === true) ? $data['required'] : false)
); );
break; break;

View File

@ -323,7 +323,7 @@ function profile_print_profile_table($id)
$data['group'] = html_print_select_groups( $data['group'] = html_print_select_groups(
$config['id_user'], $config['id_user'],
'UM', 'UM',
users_is_admin($config['id_user']), users_can_manage_group_all('UM'),
'assign_group', 'assign_group',
-1, -1,
'', '',

View File

@ -116,17 +116,30 @@ function users_get_all_model_groups()
* *
* @return array A list of the groups the user has certain privileges. * @return array A list of the groups the user has certain privileges.
*/ */
function users_get_groups_for_select($id_user, $privilege='AR', $returnAllGroup=true, $returnAllColumns=false, $id_groups=null, $keys_field='id_grupo') function users_get_groups_for_select(
{ $id_user,
$privilege='AR',
$returnAllGroup=true,
$returnAllColumns=false,
$id_groups=null,
$keys_field='id_grupo',
$ajax_format=false
) {
if ($id_groups === false) { if ($id_groups === false) {
$id_groups = null; $id_groups = null;
} }
$user_groups = users_get_groups($id_user, $privilege, $returnAllGroup, $returnAllColumns, null); $user_groups = users_get_groups(
$id_user,
$privilege,
$returnAllGroup,
$returnAllColumns,
null
);
if ($id_groups !== null) { if ($id_groups !== null) {
$childrens = groups_get_childrens($id_groups); $children = groups_get_children($id_groups);
foreach ($childrens as $child) { foreach ($children as $child) {
unset($user_groups[$child['id_grupo']]); unset($user_groups[$child['id_grupo']]);
} }
@ -136,7 +149,7 @@ function users_get_groups_for_select($id_user, $privilege='AR', $returnAllGroup=
if (empty($user_groups)) { if (empty($user_groups)) {
$user_groups_tree = []; $user_groups_tree = [];
} else { } else {
// First group it's needed to retrieve its parent group // First group it's needed to retrieve its parent group.
$first_group = array_slice($user_groups, 0, 1); $first_group = array_slice($user_groups, 0, 1);
$first_group = reset($first_group); $first_group = reset($first_group);
$parent_group = $first_group['parent']; $parent_group = $first_group['parent'];
@ -149,13 +162,28 @@ function users_get_groups_for_select($id_user, $privilege='AR', $returnAllGroup=
foreach ($user_groups_tree as $group) { foreach ($user_groups_tree as $group) {
$groupName = ui_print_truncate_text($group['nombre'], GENERIC_SIZE_TEXT, false, true, false); $groupName = ui_print_truncate_text($group['nombre'], GENERIC_SIZE_TEXT, false, true, false);
if ($ajax_format === false) {
$fields[$group[$keys_field]] = str_repeat('&nbsp;&nbsp;&nbsp;&nbsp;', $group['deep']).$groupName; $fields[$group[$keys_field]] = str_repeat('&nbsp;&nbsp;&nbsp;&nbsp;', $group['deep']).$groupName;
} else {
$tmp['id'] = $group[$keys_field];
$tmp['text'] = io_safe_output($groupName);
$tmp['level'] = $group['deep'];
$fields[] = $tmp;
}
} }
return $fields; return $fields;
} }
/**
* Extract ancestors for given group.
*
* @param integer $group_id Target group.
* @param array $groups All groups.
*
* @return array
*/
function get_group_ancestors($group_id, $groups) function get_group_ancestors($group_id, $groups)
{ {
if ($group_id == 0) { if ($group_id == 0) {
@ -249,13 +277,14 @@ function groups_combine_acl($acl_group_a, $acl_group_b)
/** /**
* Get all the groups a user has reading privileges. * Get all the groups a user has reading privileges.
* *
* @param string $id_user User id * @param string $id_user User id.
* @param string $privilege The privilege to evaluate, and it is false then no check ACL. * @param string $privilege The privilege to evaluate, and it is false then no check ACL.
* @param boolean $returnAllGroup Flag the return group, by default true. * @param boolean $returnAllGroup Flag the return group, by default true.
* @param boolean $returnAllColumns Flag to return all columns of groups. * @param boolean $returnAllColumns Flag to return all columns of groups.
* @param array $id_groups The list of group to scan to bottom child. By default null. * @param array $id_groups The list of group to scan to bottom child. By default null.
* @param string $keys_field The field of the group used in the array keys. By default ID * @param string $keys_field The field of the group used in the array keys. By default ID.
* @param boolean $cache Set it to false to not use cache * @param boolean $cache Set it to false to not use cache.
* @param string $term Return only groups matching keyword '$term'.
* *
* @return array A list of the groups the user has certain privileges. * @return array A list of the groups the user has certain privileges.
*/ */
@ -266,13 +295,14 @@ function users_get_groups(
$returnAllColumns=false, $returnAllColumns=false,
$id_groups=null, $id_groups=null,
$keys_field='id_grupo', $keys_field='id_grupo',
$cache=true $cache=true,
$search=''
) { ) {
static $group_cache = []; static $group_cache = [];
// Added users_group_cache to avoid unnecessary proccess on massive calls... // Added users_group_cache to avoid unnecessary proccess on massive calls...
static $users_group_cache = []; static $users_group_cache = [];
$users_group_cache_key = $id_user.'|'.$privilege.'|'.$returnAllGroup.'|'.$returnAllColumns; $users_group_cache_key = $id_user.'|'.$privilege.'|'.$returnAllGroup.'|'.$returnAllColumns.'|'.$search;
if (empty($id_user)) { if (empty($id_user)) {
global $config; global $config;
@ -284,24 +314,45 @@ function users_get_groups(
} }
// Check the group cache first. // Check the group cache first.
if (array_key_exists($id_user, $group_cache) && $cache) { if (array_key_exists($users_group_cache_key, $group_cache) && $cache) {
$forest_acl = $group_cache[$id_user]; $forest_acl = $group_cache[$users_group_cache_key];
} else { } else {
// Admin. // Admin.
if (is_user_admin($id_user)) { if (is_user_admin($id_user)) {
$forest_acl = db_get_all_rows_sql('SELECT * FROM tgrupo ORDER BY nombre'); if (empty($search) === false) {
$filter = sprintf(
' WHERE lower(tgrupo.nombre) like lower("%%%s%%")',
$search
);
} }
$sql = sprintf(
'SELECT * FROM tgrupo %s ORDER BY nombre',
$filter
);
$forest_acl = db_get_all_rows_sql($sql);
}
// Per-group permissions. // Per-group permissions.
else { else {
$query = 'SELECT * FROM tgrupo ORDER BY nombre'; $query = 'SELECT * FROM tgrupo ORDER BY nombre';
$raw_groups = db_get_all_rows_sql($query); $raw_groups = db_get_all_rows_sql($query);
if (empty($search) === false) {
$filter = sprintf(
' AND lower(tgrupo.nombre) like lower("%%%s%%")',
$search
);
}
$query = sprintf( $query = sprintf(
"SELECT tgrupo.*, tperfil.*, tusuario_perfil.tags, tusuario_perfil.no_hierarchy FROM tgrupo, tusuario_perfil, tperfil "SELECT tgrupo.*, tperfil.*, tusuario_perfil.tags, tusuario_perfil.no_hierarchy FROM tgrupo, tusuario_perfil, tperfil
WHERE (tgrupo.id_grupo = tusuario_perfil.id_grupo OR tusuario_perfil.id_grupo = 0) WHERE (tgrupo.id_grupo = tusuario_perfil.id_grupo OR tusuario_perfil.id_grupo = 0)
AND tusuario_perfil.id_perfil = tperfil.id_perfil AND tusuario_perfil.id_perfil = tperfil.id_perfil
AND tusuario_perfil.id_usuario = '%s' ORDER BY nombre", AND tusuario_perfil.id_usuario = '%s' %s ORDER BY nombre",
$id_user $id_user,
$filter
); );
$raw_forest = db_get_all_rows_sql($query); $raw_forest = db_get_all_rows_sql($query);
if ($raw_forest === false) { if ($raw_forest === false) {
@ -309,7 +360,6 @@ function users_get_groups(
} }
foreach ($raw_forest as $g) { foreach ($raw_forest as $g) {
// XXX, following code must be remade (TAG)
users_get_explode_tags($g); users_get_explode_tags($g);
if (!isset($forest_acl[$g['id_grupo']])) { if (!isset($forest_acl[$g['id_grupo']])) {
@ -354,7 +404,7 @@ function users_get_groups(
} }
// Update the group cache. // Update the group cache.
$group_cache[$id_user] = $forest_acl; $group_cache[$users_group_cache_key] = $forest_acl;
} }
$user_groups = []; $user_groups = [];
@ -620,6 +670,13 @@ function users_get_strict_mode_groups($id_user, $return_group_all)
} }
/**
* Use carefully, it consumes a lot of memory.
*
* @param array $group Group array.
*
* @return void
*/
function users_get_explode_tags(&$group) function users_get_explode_tags(&$group)
{ {
if (empty($group['tags'])) { if (empty($group['tags'])) {

View File

@ -537,8 +537,6 @@ $.fn.VUseTooltip = function() {
var color = item.series.color; var color = item.series.color;
//console.log(item.series.xaxis.ticks[x].label);
/* /*
"<strong>" + "<strong>" +
item.series.label + item.series.label +
@ -1003,6 +1001,7 @@ function pandoraFlotArea(
var update_legend = {}; var update_legend = {};
var force_integer = 0; var force_integer = 0;
var divisor = params.divisor; var divisor = params.divisor;
var maximum_y_axis = params.maximum_y_axis;
if (typeof divisor === "undefined") { if (typeof divisor === "undefined") {
divisor = 1000; divisor = 1000;
@ -1896,6 +1895,13 @@ function pandoraFlotArea(
fill_color = "green"; fill_color = "green";
} }
if (typeof maximum_y_axis !== "undefined" && maximum_y_axis != 0) {
maximum_y_axis =
parseInt(value.max) > parseInt(maximum_y_axis)
? parseInt(value.max)
: parseInt(maximum_y_axis);
}
switch (series_type[index]) { switch (series_type[index]) {
case "area": case "area":
line_show = true; line_show = true;
@ -2044,6 +2050,10 @@ function pandoraFlotArea(
} }
}; };
if (typeof maximum_y_axis !== "undefined" && maximum_y_axis != 0) {
options.yaxis.max = maximum_y_axis;
}
if (vconsole) { if (vconsole) {
options.grid["hoverable"] = false; options.grid["hoverable"] = false;
options.grid["clickable"] = false; options.grid["clickable"] = false;

View File

@ -0,0 +1,3 @@
/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/af",[],function(){return{errorLoading:function(){return"Die resultate kon nie gelaai word nie."},inputTooLong:function(e){var n=e.input.length-e.maximum,r="Verwyders asseblief "+n+" character";return 1!=n&&(r+="s"),r},inputTooShort:function(e){return"Voer asseblief "+(e.minimum-e.input.length)+" of meer karakters"},loadingMore:function(){return"Meer resultate word gelaai…"},maximumSelected:function(e){var n="Kies asseblief net "+e.maximum+" item";return 1!=e.maximum&&(n+="s"),n},noResults:function(){return"Geen resultate gevind"},searching:function(){return"Besig…"},removeAllItems:function(){return"Verwyder alle items"}}}),e.define,e.require}();

View File

@ -0,0 +1,3 @@
/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/ar",[],function(){return{errorLoading:function(){return"لا يمكن تحميل النتائج"},inputTooLong:function(n){return"الرجاء حذف "+(n.input.length-n.maximum)+" عناصر"},inputTooShort:function(n){return"الرجاء إضافة "+(n.minimum-n.input.length)+" عناصر"},loadingMore:function(){return"جاري تحميل نتائج إضافية..."},maximumSelected:function(n){return"تستطيع إختيار "+n.maximum+" بنود فقط"},noResults:function(){return"لم يتم العثور على أي نتائج"},searching:function(){return"جاري البحث…"},removeAllItems:function(){return"قم بإزالة كل العناصر"}}}),n.define,n.require}();

View File

@ -0,0 +1,3 @@
/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/az",[],function(){return{inputTooLong:function(n){return n.input.length-n.maximum+" simvol silin"},inputTooShort:function(n){return n.minimum-n.input.length+" simvol daxil edin"},loadingMore:function(){return"Daha çox nəticə yüklənir…"},maximumSelected:function(n){return"Sadəcə "+n.maximum+" element seçə bilərsiniz"},noResults:function(){return"Nəticə tapılmadı"},searching:function(){return"Axtarılır…"},removeAllItems:function(){return"Bütün elementləri sil"}}}),n.define,n.require}();

View File

@ -0,0 +1,3 @@
/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/bg",[],function(){return{inputTooLong:function(n){var e=n.input.length-n.maximum,u="Моля въведете с "+e+" по-малко символ";return e>1&&(u+="a"),u},inputTooShort:function(n){var e=n.minimum-n.input.length,u="Моля въведете още "+e+" символ";return e>1&&(u+="a"),u},loadingMore:function(){return"Зареждат се още…"},maximumSelected:function(n){var e="Можете да направите до "+n.maximum+" ";return n.maximum>1?e+="избора":e+="избор",e},noResults:function(){return"Няма намерени съвпадения"},searching:function(){return"Търсене…"},removeAllItems:function(){return"Премахнете всички елементи"}}}),n.define,n.require}();

View File

@ -0,0 +1,3 @@
/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/bn",[],function(){return{errorLoading:function(){return"ফলাফলগুলি লোড করা যায়নি।"},inputTooLong:function(n){var e=n.input.length-n.maximum,u="অনুগ্রহ করে "+e+" টি অক্ষর মুছে দিন।";return 1!=e&&(u="অনুগ্রহ করে "+e+" টি অক্ষর মুছে দিন।"),u},inputTooShort:function(n){return n.minimum-n.input.length+" টি অক্ষর অথবা অধিক অক্ষর লিখুন।"},loadingMore:function(){return"আরো ফলাফল লোড হচ্ছে ..."},maximumSelected:function(n){var e=n.maximum+" টি আইটেম নির্বাচন করতে পারবেন।";return 1!=n.maximum&&(e=n.maximum+" টি আইটেম নির্বাচন করতে পারবেন।"),e},noResults:function(){return"কোন ফলাফল পাওয়া যায়নি।"},searching:function(){return"অনুসন্ধান করা হচ্ছে ..."}}}),n.define,n.require}();

View File

@ -0,0 +1,3 @@
/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/bs",[],function(){function e(e,n,r,t){return e%10==1&&e%100!=11?n:e%10>=2&&e%10<=4&&(e%100<12||e%100>14)?r:t}return{errorLoading:function(){return"Preuzimanje nije uspijelo."},inputTooLong:function(n){var r=n.input.length-n.maximum,t="Obrišite "+r+" simbol";return t+=e(r,"","a","a")},inputTooShort:function(n){var r=n.minimum-n.input.length,t="Ukucajte bar još "+r+" simbol";return t+=e(r,"","a","a")},loadingMore:function(){return"Preuzimanje još rezultata…"},maximumSelected:function(n){var r="Možete izabrati samo "+n.maximum+" stavk";return r+=e(n.maximum,"u","e","i")},noResults:function(){return"Ništa nije pronađeno"},searching:function(){return"Pretraga…"},removeAllItems:function(){return"Uklonite sve stavke"}}}),e.define,e.require}();

View File

@ -0,0 +1,3 @@
/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/ca",[],function(){return{errorLoading:function(){return"La càrrega ha fallat"},inputTooLong:function(e){var n=e.input.length-e.maximum,r="Si us plau, elimina "+n+" car";return r+=1==n?"àcter":"àcters"},inputTooShort:function(e){var n=e.minimum-e.input.length,r="Si us plau, introdueix "+n+" car";return r+=1==n?"àcter":"àcters"},loadingMore:function(){return"Carregant més resultats…"},maximumSelected:function(e){var n="Només es pot seleccionar "+e.maximum+" element";return 1!=e.maximum&&(n+="s"),n},noResults:function(){return"No s'han trobat resultats"},searching:function(){return"Cercant…"},removeAllItems:function(){return"Treu tots els elements"}}}),e.define,e.require}();

View File

@ -0,0 +1,3 @@
/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/cs",[],function(){function e(e,n){switch(e){case 2:return n?"dva":"dvě";case 3:return"tři";case 4:return"čtyři"}return""}return{errorLoading:function(){return"Výsledky nemohly být načteny."},inputTooLong:function(n){var t=n.input.length-n.maximum;return 1==t?"Prosím, zadejte o jeden znak méně.":t<=4?"Prosím, zadejte o "+e(t,!0)+" znaky méně.":"Prosím, zadejte o "+t+" znaků méně."},inputTooShort:function(n){var t=n.minimum-n.input.length;return 1==t?"Prosím, zadejte ještě jeden znak.":t<=4?"Prosím, zadejte ještě další "+e(t,!0)+" znaky.":"Prosím, zadejte ještě dalších "+t+" znaků."},loadingMore:function(){return"Načítají se další výsledky…"},maximumSelected:function(n){var t=n.maximum;return 1==t?"Můžete zvolit jen jednu položku.":t<=4?"Můžete zvolit maximálně "+e(t,!1)+" položky.":"Můžete zvolit maximálně "+t+" položek."},noResults:function(){return"Nenalezeny žádné položky."},searching:function(){return"Vyhledávání…"},removeAllItems:function(){return"Odstraňte všechny položky"}}}),e.define,e.require}();

View File

@ -0,0 +1,3 @@
/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/da",[],function(){return{errorLoading:function(){return"Resultaterne kunne ikke indlæses."},inputTooLong:function(e){return"Angiv venligst "+(e.input.length-e.maximum)+" tegn mindre"},inputTooShort:function(e){return"Angiv venligst "+(e.minimum-e.input.length)+" tegn mere"},loadingMore:function(){return"Indlæser flere resultater…"},maximumSelected:function(e){var n="Du kan kun vælge "+e.maximum+" emne";return 1!=e.maximum&&(n+="r"),n},noResults:function(){return"Ingen resultater fundet"},searching:function(){return"Søger…"},removeAllItems:function(){return"Fjern alle elementer"}}}),e.define,e.require}();

View File

@ -0,0 +1,3 @@
/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/de",[],function(){return{errorLoading:function(){return"Die Ergebnisse konnten nicht geladen werden."},inputTooLong:function(e){return"Bitte "+(e.input.length-e.maximum)+" Zeichen weniger eingeben"},inputTooShort:function(e){return"Bitte "+(e.minimum-e.input.length)+" Zeichen mehr eingeben"},loadingMore:function(){return"Lade mehr Ergebnisse…"},maximumSelected:function(e){var n="Sie können nur "+e.maximum+" Element";return 1!=e.maximum&&(n+="e"),n+=" auswählen"},noResults:function(){return"Keine Übereinstimmungen gefunden"},searching:function(){return"Suche…"},removeAllItems:function(){return"Entferne alle Elemente"}}}),e.define,e.require}();

View File

@ -0,0 +1,3 @@
/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/dsb",[],function(){var n=["znamuško","znamušce","znamuška","znamuškow"],e=["zapisk","zapiska","zapiski","zapiskow"],u=function(n,e){return 1===n?e[0]:2===n?e[1]:n>2&&n<=4?e[2]:n>=5?e[3]:void 0};return{errorLoading:function(){return"Wuslědki njejsu se dali zacytaś."},inputTooLong:function(e){var a=e.input.length-e.maximum;return"Pšosym lašuj "+a+" "+u(a,n)},inputTooShort:function(e){var a=e.minimum-e.input.length;return"Pšosym zapódaj nanejmjenjej "+a+" "+u(a,n)},loadingMore:function(){return"Dalšne wuslědki se zacytaju…"},maximumSelected:function(n){return"Móžoš jano "+n.maximum+" "+u(n.maximum,e)+"wubraś."},noResults:function(){return"Žedne wuslědki namakane"},searching:function(){return"Pyta se…"},removeAllItems:function(){return"Remove all items"}}}),n.define,n.require}();

View File

@ -0,0 +1,3 @@
/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/el",[],function(){return{errorLoading:function(){return"Τα αποτελέσματα δεν μπόρεσαν να φορτώσουν."},inputTooLong:function(n){var e=n.input.length-n.maximum,u="Παρακαλώ διαγράψτε "+e+" χαρακτήρ";return 1==e&&(u+="α"),1!=e&&(u+="ες"),u},inputTooShort:function(n){return"Παρακαλώ συμπληρώστε "+(n.minimum-n.input.length)+" ή περισσότερους χαρακτήρες"},loadingMore:function(){return"Φόρτωση περισσότερων αποτελεσμάτων…"},maximumSelected:function(n){var e="Μπορείτε να επιλέξετε μόνο "+n.maximum+" επιλογ";return 1==n.maximum&&(e+="ή"),1!=n.maximum&&(e+="ές"),e},noResults:function(){return"Δεν βρέθηκαν αποτελέσματα"},searching:function(){return"Αναζήτηση…"},removeAllItems:function(){return"Καταργήστε όλα τα στοιχεία"}}}),n.define,n.require}();

View File

@ -0,0 +1,3 @@
/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/en",[],function(){return{errorLoading:function(){return"The results could not be loaded."},inputTooLong:function(e){var n=e.input.length-e.maximum,r="Please delete "+n+" character";return 1!=n&&(r+="s"),r},inputTooShort:function(e){return"Please enter "+(e.minimum-e.input.length)+" or more characters"},loadingMore:function(){return"Loading more results…"},maximumSelected:function(e){var n="You can only select "+e.maximum+" item";return 1!=e.maximum&&(n+="s"),n},noResults:function(){return"No results found"},searching:function(){return"Searching…"},removeAllItems:function(){return"Remove all items"}}}),e.define,e.require}();

View File

@ -0,0 +1,3 @@
/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/es",[],function(){return{errorLoading:function(){return"No se pudieron cargar los resultados"},inputTooLong:function(e){var n=e.input.length-e.maximum,r="Por favor, elimine "+n+" car";return r+=1==n?"ácter":"acteres"},inputTooShort:function(e){var n=e.minimum-e.input.length,r="Por favor, introduzca "+n+" car";return r+=1==n?"ácter":"acteres"},loadingMore:function(){return"Cargando más resultados…"},maximumSelected:function(e){var n="Sólo puede seleccionar "+e.maximum+" elemento";return 1!=e.maximum&&(n+="s"),n},noResults:function(){return"No se encontraron resultados"},searching:function(){return"Buscando…"},removeAllItems:function(){return"Eliminar todos los elementos"}}}),e.define,e.require}();

View File

@ -0,0 +1,3 @@
/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/et",[],function(){return{inputTooLong:function(e){var n=e.input.length-e.maximum,t="Sisesta "+n+" täht";return 1!=n&&(t+="e"),t+=" vähem"},inputTooShort:function(e){var n=e.minimum-e.input.length,t="Sisesta "+n+" täht";return 1!=n&&(t+="e"),t+=" rohkem"},loadingMore:function(){return"Laen tulemusi…"},maximumSelected:function(e){var n="Saad vaid "+e.maximum+" tulemus";return 1==e.maximum?n+="e":n+="t",n+=" valida"},noResults:function(){return"Tulemused puuduvad"},searching:function(){return"Otsin…"},removeAllItems:function(){return"Eemalda kõik esemed"}}}),e.define,e.require}();

View File

@ -0,0 +1,3 @@
/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/eu",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Idatzi ";return n+=1==t?"karaktere bat":t+" karaktere",n+=" gutxiago"},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Idatzi ";return n+=1==t?"karaktere bat":t+" karaktere",n+=" gehiago"},loadingMore:function(){return"Emaitza gehiago kargatzen…"},maximumSelected:function(e){return 1===e.maximum?"Elementu bakarra hauta dezakezu":e.maximum+" elementu hauta ditzakezu soilik"},noResults:function(){return"Ez da bat datorrenik aurkitu"},searching:function(){return"Bilatzen…"},removeAllItems:function(){return"Kendu elementu guztiak"}}}),e.define,e.require}();

View File

@ -0,0 +1,3 @@
/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/fa",[],function(){return{errorLoading:function(){return"امکان بارگذاری نتایج وجود ندارد."},inputTooLong:function(n){return"لطفاً "+(n.input.length-n.maximum)+" کاراکتر را حذف نمایید"},inputTooShort:function(n){return"لطفاً تعداد "+(n.minimum-n.input.length)+" کاراکتر یا بیشتر وارد نمایید"},loadingMore:function(){return"در حال بارگذاری نتایج بیشتر..."},maximumSelected:function(n){return"شما تنها می‌توانید "+n.maximum+" آیتم را انتخاب نمایید"},noResults:function(){return"هیچ نتیجه‌ای یافت نشد"},searching:function(){return"در حال جستجو..."},removeAllItems:function(){return"همه موارد را حذف کنید"}}}),n.define,n.require}();

View File

@ -0,0 +1,3 @@
/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/fi",[],function(){return{errorLoading:function(){return"Tuloksia ei saatu ladattua."},inputTooLong:function(n){return"Ole hyvä ja anna "+(n.input.length-n.maximum)+" merkkiä vähemmän"},inputTooShort:function(n){return"Ole hyvä ja anna "+(n.minimum-n.input.length)+" merkkiä lisää"},loadingMore:function(){return"Ladataan lisää tuloksia…"},maximumSelected:function(n){return"Voit valita ainoastaan "+n.maximum+" kpl"},noResults:function(){return"Ei tuloksia"},searching:function(){return"Haetaan…"},removeAllItems:function(){return"Poista kaikki kohteet"}}}),n.define,n.require}();

View File

@ -0,0 +1,3 @@
/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/fr",[],function(){return{errorLoading:function(){return"Les résultats ne peuvent pas être chargés."},inputTooLong:function(e){var n=e.input.length-e.maximum;return"Supprimez "+n+" caractère"+(n>1?"s":"")},inputTooShort:function(e){var n=e.minimum-e.input.length;return"Saisissez au moins "+n+" caractère"+(n>1?"s":"")},loadingMore:function(){return"Chargement de résultats supplémentaires…"},maximumSelected:function(e){return"Vous pouvez seulement sélectionner "+e.maximum+" élément"+(e.maximum>1?"s":"")},noResults:function(){return"Aucun résultat trouvé"},searching:function(){return"Recherche en cours…"},removeAllItems:function(){return"Supprimer tous les éléments"}}}),e.define,e.require}();

View File

@ -0,0 +1,3 @@
/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/gl",[],function(){return{errorLoading:function(){return"Non foi posíbel cargar os resultados."},inputTooLong:function(e){var n=e.input.length-e.maximum;return 1===n?"Elimine un carácter":"Elimine "+n+" caracteres"},inputTooShort:function(e){var n=e.minimum-e.input.length;return 1===n?"Engada un carácter":"Engada "+n+" caracteres"},loadingMore:function(){return"Cargando máis resultados…"},maximumSelected:function(e){return 1===e.maximum?"Só pode seleccionar un elemento":"Só pode seleccionar "+e.maximum+" elementos"},noResults:function(){return"Non se atoparon resultados"},searching:function(){return"Buscando…"},removeAllItems:function(){return"Elimina todos os elementos"}}}),e.define,e.require}();

View File

@ -0,0 +1,3 @@
/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/he",[],function(){return{errorLoading:function(){return"שגיאה בטעינת התוצאות"},inputTooLong:function(n){var e=n.input.length-n.maximum,r="נא למחוק ";return r+=1===e?"תו אחד":e+" תווים"},inputTooShort:function(n){var e=n.minimum-n.input.length,r="נא להכניס ";return r+=1===e?"תו אחד":e+" תווים",r+=" או יותר"},loadingMore:function(){return"טוען תוצאות נוספות…"},maximumSelected:function(n){var e="באפשרותך לבחור עד ";return 1===n.maximum?e+="פריט אחד":e+=n.maximum+" פריטים",e},noResults:function(){return"לא נמצאו תוצאות"},searching:function(){return"מחפש…"},removeAllItems:function(){return"הסר את כל הפריטים"}}}),n.define,n.require}();

View File

@ -0,0 +1,3 @@
/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/hi",[],function(){return{errorLoading:function(){return"परिणामों को लोड नहीं किया जा सका।"},inputTooLong:function(n){var e=n.input.length-n.maximum,r=e+" अक्षर को हटा दें";return e>1&&(r=e+" अक्षरों को हटा दें "),r},inputTooShort:function(n){return"कृपया "+(n.minimum-n.input.length)+" या अधिक अक्षर दर्ज करें"},loadingMore:function(){return"अधिक परिणाम लोड हो रहे है..."},maximumSelected:function(n){return"आप केवल "+n.maximum+" आइटम का चयन कर सकते हैं"},noResults:function(){return"कोई परिणाम नहीं मिला"},searching:function(){return"खोज रहा है..."},removeAllItems:function(){return"सभी वस्तुओं को हटा दें"}}}),n.define,n.require}();

View File

@ -0,0 +1,3 @@
/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/hr",[],function(){function n(n){var e=" "+n+" znak";return n%10<5&&n%10>0&&(n%100<5||n%100>19)?n%10>1&&(e+="a"):e+="ova",e}return{errorLoading:function(){return"Preuzimanje nije uspjelo."},inputTooLong:function(e){return"Unesite "+n(e.input.length-e.maximum)},inputTooShort:function(e){return"Unesite još "+n(e.minimum-e.input.length)},loadingMore:function(){return"Učitavanje rezultata…"},maximumSelected:function(n){return"Maksimalan broj odabranih stavki je "+n.maximum},noResults:function(){return"Nema rezultata"},searching:function(){return"Pretraga…"},removeAllItems:function(){return"Ukloni sve stavke"}}}),n.define,n.require}();

View File

@ -0,0 +1,3 @@
/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/hsb",[],function(){var n=["znamješko","znamješce","znamješka","znamješkow"],e=["zapisk","zapiskaj","zapiski","zapiskow"],u=function(n,e){return 1===n?e[0]:2===n?e[1]:n>2&&n<=4?e[2]:n>=5?e[3]:void 0};return{errorLoading:function(){return"Wuslědki njedachu so začitać."},inputTooLong:function(e){var a=e.input.length-e.maximum;return"Prošu zhašej "+a+" "+u(a,n)},inputTooShort:function(e){var a=e.minimum-e.input.length;return"Prošu zapodaj znajmjeńša "+a+" "+u(a,n)},loadingMore:function(){return"Dalše wuslědki so začitaja…"},maximumSelected:function(n){return"Móžeš jenož "+n.maximum+" "+u(n.maximum,e)+"wubrać"},noResults:function(){return"Žane wuslědki namakane"},searching:function(){return"Pyta so…"},removeAllItems:function(){return"Remove all items"}}}),n.define,n.require}();

View File

@ -0,0 +1,3 @@
/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/hu",[],function(){return{errorLoading:function(){return"Az eredmények betöltése nem sikerült."},inputTooLong:function(e){return"Túl hosszú. "+(e.input.length-e.maximum)+" karakterrel több, mint kellene."},inputTooShort:function(e){return"Túl rövid. Még "+(e.minimum-e.input.length)+" karakter hiányzik."},loadingMore:function(){return"Töltés…"},maximumSelected:function(e){return"Csak "+e.maximum+" elemet lehet kiválasztani."},noResults:function(){return"Nincs találat."},searching:function(){return"Keresés…"},removeAllItems:function(){return"Távolítson el minden elemet"}}}),e.define,e.require}();

View File

@ -0,0 +1,3 @@
/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/hy",[],function(){return{errorLoading:function(){return"Արդյունքները հնարավոր չէ բեռնել։"},inputTooLong:function(n){return"Խնդրում ենք հեռացնել "+(n.input.length-n.maximum)+" նշան"},inputTooShort:function(n){return"Խնդրում ենք մուտքագրել "+(n.minimum-n.input.length)+" կամ ավել նշաններ"},loadingMore:function(){return"Բեռնվում են նոր արդյունքներ․․․"},maximumSelected:function(n){return"Դուք կարող եք ընտրել առավելագույնը "+n.maximum+" կետ"},noResults:function(){return"Արդյունքներ չեն գտնվել"},searching:function(){return"Որոնում․․․"},removeAllItems:function(){return"Հեռացնել բոլոր տարրերը"}}}),n.define,n.require}();

View File

@ -0,0 +1,3 @@
/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/id",[],function(){return{errorLoading:function(){return"Data tidak boleh diambil."},inputTooLong:function(n){return"Hapuskan "+(n.input.length-n.maximum)+" huruf"},inputTooShort:function(n){return"Masukkan "+(n.minimum-n.input.length)+" huruf lagi"},loadingMore:function(){return"Mengambil data…"},maximumSelected:function(n){return"Anda hanya dapat memilih "+n.maximum+" pilihan"},noResults:function(){return"Tidak ada data yang sesuai"},searching:function(){return"Mencari…"},removeAllItems:function(){return"Hapus semua item"}}}),n.define,n.require}();

View File

@ -0,0 +1,3 @@
/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/is",[],function(){return{inputTooLong:function(n){var t=n.input.length-n.maximum,e="Vinsamlegast styttið texta um "+t+" staf";return t<=1?e:e+"i"},inputTooShort:function(n){var t=n.minimum-n.input.length,e="Vinsamlegast skrifið "+t+" staf";return t>1&&(e+="i"),e+=" í viðbót"},loadingMore:function(){return"Sæki fleiri niðurstöður…"},maximumSelected:function(n){return"Þú getur aðeins valið "+n.maximum+" atriði"},noResults:function(){return"Ekkert fannst"},searching:function(){return"Leita…"},removeAllItems:function(){return"Fjarlægðu öll atriði"}}}),n.define,n.require}();

View File

@ -0,0 +1,3 @@
/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/it",[],function(){return{errorLoading:function(){return"I risultati non possono essere caricati."},inputTooLong:function(e){var n=e.input.length-e.maximum,t="Per favore cancella "+n+" caratter";return t+=1!==n?"i":"e"},inputTooShort:function(e){return"Per favore inserisci "+(e.minimum-e.input.length)+" o più caratteri"},loadingMore:function(){return"Caricando più risultati…"},maximumSelected:function(e){var n="Puoi selezionare solo "+e.maximum+" element";return 1!==e.maximum?n+="i":n+="o",n},noResults:function(){return"Nessun risultato trovato"},searching:function(){return"Sto cercando…"},removeAllItems:function(){return"Rimuovi tutti gli oggetti"}}}),e.define,e.require}();

View File

@ -0,0 +1,3 @@
/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/ja",[],function(){return{errorLoading:function(){return"結果が読み込まれませんでした"},inputTooLong:function(n){return n.input.length-n.maximum+" 文字を削除してください"},inputTooShort:function(n){return"少なくとも "+(n.minimum-n.input.length)+" 文字を入力してください"},loadingMore:function(){return"読み込み中…"},maximumSelected:function(n){return n.maximum+" 件しか選択できません"},noResults:function(){return"対象が見つかりません"},searching:function(){return"検索しています…"},removeAllItems:function(){return"すべてのアイテムを削除"}}}),n.define,n.require}();

View File

@ -0,0 +1,3 @@
/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/ka",[],function(){return{errorLoading:function(){return"მონაცემების ჩატვირთვა შეუძლებელია."},inputTooLong:function(n){return"გთხოვთ აკრიფეთ "+(n.input.length-n.maximum)+" სიმბოლოთი ნაკლები"},inputTooShort:function(n){return"გთხოვთ აკრიფეთ "+(n.minimum-n.input.length)+" სიმბოლო ან მეტი"},loadingMore:function(){return"მონაცემების ჩატვირთვა…"},maximumSelected:function(n){return"თქვენ შეგიძლიათ აირჩიოთ არაუმეტეს "+n.maximum+" ელემენტი"},noResults:function(){return"რეზულტატი არ მოიძებნა"},searching:function(){return"ძიება…"},removeAllItems:function(){return"ამოიღე ყველა ელემენტი"}}}),n.define,n.require}();

View File

@ -0,0 +1,3 @@
/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/km",[],function(){return{errorLoading:function(){return"មិនអាចទាញយកទិន្នន័យ"},inputTooLong:function(n){return"សូមលុបចេញ "+(n.input.length-n.maximum)+" អក្សរ"},inputTooShort:function(n){return"សូមបញ្ចូល"+(n.minimum-n.input.length)+" អក្សរ រឺ ច្រើនជាងនេះ"},loadingMore:function(){return"កំពុងទាញយកទិន្នន័យបន្ថែម..."},maximumSelected:function(n){return"អ្នកអាចជ្រើសរើសបានតែ "+n.maximum+" ជម្រើសប៉ុណ្ណោះ"},noResults:function(){return"មិនមានលទ្ធផល"},searching:function(){return"កំពុងស្វែងរក..."},removeAllItems:function(){return"លុបធាតុទាំងអស់"}}}),n.define,n.require}();

View File

@ -0,0 +1,3 @@
/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/ko",[],function(){return{errorLoading:function(){return"결과를 불러올 수 없습니다."},inputTooLong:function(n){return"너무 깁니다. "+(n.input.length-n.maximum)+" 글자 지워주세요."},inputTooShort:function(n){return"너무 짧습니다. "+(n.minimum-n.input.length)+" 글자 더 입력해주세요."},loadingMore:function(){return"불러오는 중…"},maximumSelected:function(n){return"최대 "+n.maximum+"개까지만 선택 가능합니다."},noResults:function(){return"결과가 없습니다."},searching:function(){return"검색 중…"},removeAllItems:function(){return"모든 항목 삭제"}}}),n.define,n.require}();

View File

@ -0,0 +1,3 @@
/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/lt",[],function(){function n(n,e,i,t){return n%10==1&&(n%100<11||n%100>19)?e:n%10>=2&&n%10<=9&&(n%100<11||n%100>19)?i:t}return{inputTooLong:function(e){var i=e.input.length-e.maximum,t="Pašalinkite "+i+" simbol";return t+=n(i,"į","ius","ių")},inputTooShort:function(e){var i=e.minimum-e.input.length,t="Įrašykite dar "+i+" simbol";return t+=n(i,"į","ius","ių")},loadingMore:function(){return"Kraunama daugiau rezultatų…"},maximumSelected:function(e){var i="Jūs galite pasirinkti tik "+e.maximum+" element";return i+=n(e.maximum,"ą","us","ų")},noResults:function(){return"Atitikmenų nerasta"},searching:function(){return"Ieškoma…"},removeAllItems:function(){return"Pašalinti visus elementus"}}}),n.define,n.require}();

View File

@ -0,0 +1,3 @@
/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/lv",[],function(){function e(e,n,u,i){return 11===e?n:e%10==1?u:i}return{inputTooLong:function(n){var u=n.input.length-n.maximum,i="Lūdzu ievadiet par "+u;return(i+=" simbol"+e(u,"iem","u","iem"))+" mazāk"},inputTooShort:function(n){var u=n.minimum-n.input.length,i="Lūdzu ievadiet vēl "+u;return i+=" simbol"+e(u,"us","u","us")},loadingMore:function(){return"Datu ielāde…"},maximumSelected:function(n){var u="Jūs varat izvēlēties ne vairāk kā "+n.maximum;return u+=" element"+e(n.maximum,"us","u","us")},noResults:function(){return"Sakritību nav"},searching:function(){return"Meklēšana…"},removeAllItems:function(){return"Noņemt visus vienumus"}}}),e.define,e.require}();

View File

@ -0,0 +1,3 @@
/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/mk",[],function(){return{inputTooLong:function(n){var e=(n.input.length,n.maximum,"Ве молиме внесете "+n.maximum+" помалку карактер");return 1!==n.maximum&&(e+="и"),e},inputTooShort:function(n){var e=(n.minimum,n.input.length,"Ве молиме внесете уште "+n.maximum+" карактер");return 1!==n.maximum&&(e+="и"),e},loadingMore:function(){return"Вчитување резултати…"},maximumSelected:function(n){var e="Можете да изберете само "+n.maximum+" ставк";return 1===n.maximum?e+="а":e+="и",e},noResults:function(){return"Нема пронајдено совпаѓања"},searching:function(){return"Пребарување…"},removeAllItems:function(){return"Отстрани ги сите предмети"}}}),n.define,n.require}();

View File

@ -0,0 +1,3 @@
/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/ms",[],function(){return{errorLoading:function(){return"Keputusan tidak berjaya dimuatkan."},inputTooLong:function(n){return"Sila hapuskan "+(n.input.length-n.maximum)+" aksara"},inputTooShort:function(n){return"Sila masukkan "+(n.minimum-n.input.length)+" atau lebih aksara"},loadingMore:function(){return"Sedang memuatkan keputusan…"},maximumSelected:function(n){return"Anda hanya boleh memilih "+n.maximum+" pilihan"},noResults:function(){return"Tiada padanan yang ditemui"},searching:function(){return"Mencari…"},removeAllItems:function(){return"Keluarkan semua item"}}}),n.define,n.require}();

View File

@ -0,0 +1,3 @@
/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/nb",[],function(){return{errorLoading:function(){return"Kunne ikke hente resultater."},inputTooLong:function(e){return"Vennligst fjern "+(e.input.length-e.maximum)+" tegn"},inputTooShort:function(e){return"Vennligst skriv inn "+(e.minimum-e.input.length)+" tegn til"},loadingMore:function(){return"Laster flere resultater…"},maximumSelected:function(e){return"Du kan velge maks "+e.maximum+" elementer"},noResults:function(){return"Ingen treff"},searching:function(){return"Søker…"},removeAllItems:function(){return"Fjern alle elementer"}}}),e.define,e.require}();

View File

@ -0,0 +1,3 @@
/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/ne",[],function(){return{errorLoading:function(){return"नतिजाहरु देखाउन सकिएन।"},inputTooLong:function(n){var e=n.input.length-n.maximum,u="कृपया "+e+" अक्षर मेटाउनुहोस्।";return 1!=e&&(u+="कृपया "+e+" अक्षरहरु मेटाउनुहोस्।"),u},inputTooShort:function(n){return"कृपया बाँकी रहेका "+(n.minimum-n.input.length)+" वा अरु धेरै अक्षरहरु भर्नुहोस्।"},loadingMore:function(){return"अरु नतिजाहरु भरिँदैछन् …"},maximumSelected:function(n){var e="तँपाई "+n.maximum+" वस्तु मात्र छान्न पाउँनुहुन्छ।";return 1!=n.maximum&&(e="तँपाई "+n.maximum+" वस्तुहरु मात्र छान्न पाउँनुहुन्छ।"),e},noResults:function(){return"कुनै पनि नतिजा भेटिएन।"},searching:function(){return"खोजि हुँदैछ…"}}}),n.define,n.require}();

View File

@ -0,0 +1,3 @@
/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/nl",[],function(){return{errorLoading:function(){return"De resultaten konden niet worden geladen."},inputTooLong:function(e){return"Gelieve "+(e.input.length-e.maximum)+" karakters te verwijderen"},inputTooShort:function(e){return"Gelieve "+(e.minimum-e.input.length)+" of meer karakters in te voeren"},loadingMore:function(){return"Meer resultaten laden…"},maximumSelected:function(e){var n=1==e.maximum?"kan":"kunnen",r="Er "+n+" maar "+e.maximum+" item";return 1!=e.maximum&&(r+="s"),r+=" worden geselecteerd"},noResults:function(){return"Geen resultaten gevonden…"},searching:function(){return"Zoeken…"},removeAllItems:function(){return"Verwijder alle items"}}}),e.define,e.require}();

View File

@ -0,0 +1,3 @@
/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/pl",[],function(){var n=["znak","znaki","znaków"],e=["element","elementy","elementów"],r=function(n,e){return 1===n?e[0]:n>1&&n<=4?e[1]:n>=5?e[2]:void 0};return{errorLoading:function(){return"Nie można załadować wyników."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Usuń "+t+" "+r(t,n)},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Podaj przynajmniej "+t+" "+r(t,n)},loadingMore:function(){return"Trwa ładowanie…"},maximumSelected:function(n){return"Możesz zaznaczyć tylko "+n.maximum+" "+r(n.maximum,e)},noResults:function(){return"Brak wyników"},searching:function(){return"Trwa wyszukiwanie…"},removeAllItems:function(){return"Usuń wszystkie przedmioty"}}}),n.define,n.require}();

View File

@ -0,0 +1,3 @@
/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/ps",[],function(){return{errorLoading:function(){return"پايلي نه سي ترلاسه کېدای"},inputTooLong:function(n){var e=n.input.length-n.maximum,r="د مهربانۍ لمخي "+e+" توری ړنګ کړئ";return 1!=e&&(r=r.replace("توری","توري")),r},inputTooShort:function(n){return"لږ تر لږه "+(n.minimum-n.input.length)+" يا ډېر توري وليکئ"},loadingMore:function(){return"نوري پايلي ترلاسه کيږي..."},maximumSelected:function(n){var e="تاسو يوازي "+n.maximum+" قلم په نښه کولای سی";return 1!=n.maximum&&(e=e.replace("قلم","قلمونه")),e},noResults:function(){return"پايلي و نه موندل سوې"},searching:function(){return"لټول کيږي..."},removeAllItems:function(){return"ټول توکي لرې کړئ"}}}),n.define,n.require}();

View File

@ -0,0 +1,3 @@
/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/pt-BR",[],function(){return{errorLoading:function(){return"Os resultados não puderam ser carregados."},inputTooLong:function(e){var n=e.input.length-e.maximum,r="Apague "+n+" caracter";return 1!=n&&(r+="es"),r},inputTooShort:function(e){return"Digite "+(e.minimum-e.input.length)+" ou mais caracteres"},loadingMore:function(){return"Carregando mais resultados…"},maximumSelected:function(e){var n="Você só pode selecionar "+e.maximum+" ite";return 1==e.maximum?n+="m":n+="ns",n},noResults:function(){return"Nenhum resultado encontrado"},searching:function(){return"Buscando…"},removeAllItems:function(){return"Remover todos os itens"}}}),e.define,e.require}();

View File

@ -0,0 +1,3 @@
/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/pt",[],function(){return{errorLoading:function(){return"Os resultados não puderam ser carregados."},inputTooLong:function(e){var r=e.input.length-e.maximum,n="Por favor apague "+r+" ";return n+=1!=r?"caracteres":"caractere"},inputTooShort:function(e){return"Introduza "+(e.minimum-e.input.length)+" ou mais caracteres"},loadingMore:function(){return"A carregar mais resultados…"},maximumSelected:function(e){var r="Apenas pode seleccionar "+e.maximum+" ";return r+=1!=e.maximum?"itens":"item"},noResults:function(){return"Sem resultados"},searching:function(){return"A procurar…"},removeAllItems:function(){return"Remover todos os itens"}}}),e.define,e.require}();

View File

@ -0,0 +1,3 @@
/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/ro",[],function(){return{errorLoading:function(){return"Rezultatele nu au putut fi incărcate."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Vă rugăm să ștergeți"+t+" caracter";return 1!==t&&(n+="e"),n},inputTooShort:function(e){return"Vă rugăm să introduceți "+(e.minimum-e.input.length)+" sau mai multe caractere"},loadingMore:function(){return"Se încarcă mai multe rezultate…"},maximumSelected:function(e){var t="Aveți voie să selectați cel mult "+e.maximum;return t+=" element",1!==e.maximum&&(t+="e"),t},noResults:function(){return"Nu au fost găsite rezultate"},searching:function(){return"Căutare…"},removeAllItems:function(){return"Eliminați toate elementele"}}}),e.define,e.require}();

View File

@ -0,0 +1,3 @@
/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/ru",[],function(){function n(n,e,r,u){return n%10<5&&n%10>0&&n%100<5||n%100>20?n%10>1?r:e:u}return{errorLoading:function(){return"Невозможно загрузить результаты"},inputTooLong:function(e){var r=e.input.length-e.maximum,u="Пожалуйста, введите на "+r+" символ";return u+=n(r,"","a","ов"),u+=" меньше"},inputTooShort:function(e){var r=e.minimum-e.input.length,u="Пожалуйста, введите ещё хотя бы "+r+" символ";return u+=n(r,"","a","ов")},loadingMore:function(){return"Загрузка данных…"},maximumSelected:function(e){var r="Вы можете выбрать не более "+e.maximum+" элемент";return r+=n(e.maximum,"","a","ов")},noResults:function(){return"Совпадений не найдено"},searching:function(){return"Поиск…"},removeAllItems:function(){return"Удалить все элементы"}}}),n.define,n.require}();

View File

@ -0,0 +1,3 @@
/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/sk",[],function(){var e={2:function(e){return e?"dva":"dve"},3:function(){return"tri"},4:function(){return"štyri"}};return{errorLoading:function(){return"Výsledky sa nepodarilo načítať."},inputTooLong:function(n){var t=n.input.length-n.maximum;return 1==t?"Prosím, zadajte o jeden znak menej":t>=2&&t<=4?"Prosím, zadajte o "+e[t](!0)+" znaky menej":"Prosím, zadajte o "+t+" znakov menej"},inputTooShort:function(n){var t=n.minimum-n.input.length;return 1==t?"Prosím, zadajte ešte jeden znak":t<=4?"Prosím, zadajte ešte ďalšie "+e[t](!0)+" znaky":"Prosím, zadajte ešte ďalších "+t+" znakov"},loadingMore:function(){return"Načítanie ďalších výsledkov…"},maximumSelected:function(n){return 1==n.maximum?"Môžete zvoliť len jednu položku":n.maximum>=2&&n.maximum<=4?"Môžete zvoliť najviac "+e[n.maximum](!1)+" položky":"Môžete zvoliť najviac "+n.maximum+" položiek"},noResults:function(){return"Nenašli sa žiadne položky"},searching:function(){return"Vyhľadávanie…"},removeAllItems:function(){return"Odstráňte všetky položky"}}}),e.define,e.require}();

View File

@ -0,0 +1,3 @@
/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/sl",[],function(){return{errorLoading:function(){return"Zadetkov iskanja ni bilo mogoče naložiti."},inputTooLong:function(e){var n=e.input.length-e.maximum,t="Prosim zbrišite "+n+" znak";return 2==n?t+="a":1!=n&&(t+="e"),t},inputTooShort:function(e){var n=e.minimum-e.input.length,t="Prosim vpišite še "+n+" znak";return 2==n?t+="a":1!=n&&(t+="e"),t},loadingMore:function(){return"Nalagam več zadetkov…"},maximumSelected:function(e){var n="Označite lahko največ "+e.maximum+" predmet";return 2==e.maximum?n+="a":1!=e.maximum&&(n+="e"),n},noResults:function(){return"Ni zadetkov."},searching:function(){return"Iščem…"},removeAllItems:function(){return"Odstranite vse elemente"}}}),e.define,e.require}();

View File

@ -0,0 +1,3 @@
/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/sq",[],function(){return{errorLoading:function(){return"Rezultatet nuk mund të ngarkoheshin."},inputTooLong:function(e){var n=e.input.length-e.maximum,t="Të lutem fshi "+n+" karakter";return 1!=n&&(t+="e"),t},inputTooShort:function(e){return"Të lutem shkruaj "+(e.minimum-e.input.length)+" ose më shumë karaktere"},loadingMore:function(){return"Duke ngarkuar më shumë rezultate…"},maximumSelected:function(e){var n="Mund të zgjedhësh vetëm "+e.maximum+" element";return 1!=e.maximum&&(n+="e"),n},noResults:function(){return"Nuk u gjet asnjë rezultat"},searching:function(){return"Duke kërkuar…"},removeAllItems:function(){return"Hiq të gjitha sendet"}}}),e.define,e.require}();

View File

@ -0,0 +1,3 @@
/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/sr-Cyrl",[],function(){function n(n,e,r,u){return n%10==1&&n%100!=11?e:n%10>=2&&n%10<=4&&(n%100<12||n%100>14)?r:u}return{errorLoading:function(){return"Преузимање није успело."},inputTooLong:function(e){var r=e.input.length-e.maximum,u="Обришите "+r+" симбол";return u+=n(r,"","а","а")},inputTooShort:function(e){var r=e.minimum-e.input.length,u="Укуцајте бар још "+r+" симбол";return u+=n(r,"","а","а")},loadingMore:function(){return"Преузимање још резултата…"},maximumSelected:function(e){var r="Можете изабрати само "+e.maximum+" ставк";return r+=n(e.maximum,"у","е","и")},noResults:function(){return"Ништа није пронађено"},searching:function(){return"Претрага…"},removeAllItems:function(){return"Уклоните све ставке"}}}),n.define,n.require}();

View File

@ -0,0 +1,3 @@
/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/sr",[],function(){function n(n,e,r,t){return n%10==1&&n%100!=11?e:n%10>=2&&n%10<=4&&(n%100<12||n%100>14)?r:t}return{errorLoading:function(){return"Preuzimanje nije uspelo."},inputTooLong:function(e){var r=e.input.length-e.maximum,t="Obrišite "+r+" simbol";return t+=n(r,"","a","a")},inputTooShort:function(e){var r=e.minimum-e.input.length,t="Ukucajte bar još "+r+" simbol";return t+=n(r,"","a","a")},loadingMore:function(){return"Preuzimanje još rezultata…"},maximumSelected:function(e){var r="Možete izabrati samo "+e.maximum+" stavk";return r+=n(e.maximum,"u","e","i")},noResults:function(){return"Ništa nije pronađeno"},searching:function(){return"Pretraga…"},removeAllItems:function(){return"Уклоните све ставке"}}}),n.define,n.require}();

View File

@ -0,0 +1,3 @@
/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/sv",[],function(){return{errorLoading:function(){return"Resultat kunde inte laddas."},inputTooLong:function(n){return"Vänligen sudda ut "+(n.input.length-n.maximum)+" tecken"},inputTooShort:function(n){return"Vänligen skriv in "+(n.minimum-n.input.length)+" eller fler tecken"},loadingMore:function(){return"Laddar fler resultat…"},maximumSelected:function(n){return"Du kan max välja "+n.maximum+" element"},noResults:function(){return"Inga träffar"},searching:function(){return"Söker…"},removeAllItems:function(){return"Ta bort alla objekt"}}}),n.define,n.require}();

Some files were not shown because too many files have changed in this diff Show More