2023-02-03 14:10:26 +01:00
< ? php
/**
* User management .
*
* @ category Users
* @ package Pandora FMS
* @ subpackage Community
* @ version 1.0 . 0
* @ license See below
*
* ______ ___ _______ _______ ________
2023-06-08 12:42:10 +02:00
* | __ \ .-----.--.--.--| |.-----.----.-----. | ___ | | | __ |
* | __ /| _ | | _ || _ | _ | _ | | ___ | | __ |
2023-02-03 14:10:26 +01:00
* | ___ | | ___ . _ | __ | __ | _____ || _____ | __ | | ___ . _ | | ___ | | __ | _ | __ | _______ |
*
* ============================================================================
2023-06-08 11:53:13 +02:00
* Copyright ( c ) 2005 - 2023 Pandora FMS
2023-06-08 13:19:01 +02:00
* Please see https :// pandorafms . com / community / for full contribution list
2023-02-03 14:10:26 +01:00
* 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 .
* ============================================================================
*/
2023-11-07 13:20:08 +01:00
use PandoraFMS\Dashboard\Manager ;
2023-02-03 14:10:26 +01:00
// Load global vars.
global $config ;
check_login ();
// Bussiness Logic.
// Data for homescreen section.
$homeScreenValues = [
HOME_SCREEN_DEFAULT => __ ( 'Default' ),
HOME_SCREEN_VISUAL_CONSOLE => __ ( 'Visual console' ),
HOME_SCREEN_EVENT_LIST => __ ( 'Event list' ),
HOME_SCREEN_GROUP_VIEW => __ ( 'Group view' ),
HOME_SCREEN_TACTICAL_VIEW => __ ( 'Tactical view' ),
HOME_SCREEN_ALERT_DETAIL => __ ( 'Alert detail' ),
HOME_SCREEN_EXTERNAL_LINK => __ ( 'External link' ),
HOME_SCREEN_OTHER => __ ( 'Other' ),
HOME_SCREEN_DASHBOARD => __ ( 'Dashboard' ),
];
2023-11-07 13:20:08 +01:00
$dashboards = Manager :: getDashboards (
- 1 ,
- 1 ,
false ,
false ,
$id_usr
);
$dashboards_aux = [];
if ( $dashboards === false ) {
$dashboards = [ 'None' => 'None' ];
} else {
foreach ( $dashboards as $key => $dashboard ) {
$dashboards_aux [ $dashboard [ 'id' ]] = $dashboard [ 'name' ];
}
}
2023-02-03 14:10:26 +01:00
// Custom Home Screen controls.
$customHomeScreenAddition = [];
// Home screen. Dashboard.
2023-11-07 11:11:08 +01:00
$customHomeScreenAddition [ HOME_SCREEN_DASHBOARD ] = html_print_select (
$dashboards_aux ,
'dashboard' ,
$user_info [ 'data_section' ],
'' ,
'' ,
'' ,
true ,
false ,
true ,
'w100p' ,
false ,
'width: 100%'
);
2023-02-03 14:10:26 +01:00
// Home screen. Visual consoles.
2023-02-06 23:10:28 +01:00
$customHomeScreenAddition [ HOME_SCREEN_VISUAL_CONSOLE ] = html_print_select ( $layouts_aux , 'visual_console' , $user_info [ 'data_section' ], '' , '' , '' , true , false , true , 'w100p' , false , 'width: 100%' );
2023-02-03 14:10:26 +01:00
// Home screen. External link and Other.
2024-01-02 10:26:36 +01:00
$customHomeScreenAddition [ HOME_SCREEN_EXTERNAL_LINK ] = html_print_input_text ( 'data_section' , $user_info [ 'data_section' ], '' , 60 , 400 , true );
2023-11-07 13:20:08 +01:00
$layouts = visual_map_get_user_layouts ( $config [ 'id_user' ], true );
$layouts_aux = [];
if ( $layouts === false ) {
$layouts_aux = [ 'None' => 'None' ];
} else {
foreach ( $layouts as $layout ) {
$layouts_aux [ $layout ] = $layout ;
}
}
2023-02-03 14:10:26 +01:00
// Home screen. Visual consoles.
2023-11-07 11:11:08 +01:00
$customHomeScreenAddition [ HOME_SCREEN_VISUAL_CONSOLE ] = html_print_select (
$layouts_aux ,
'visual_console' ,
$user_info [ 'data_section' ],
'' ,
'' ,
'' ,
true ,
false ,
true ,
'w100p' ,
false ,
'width: 100%'
);
2023-02-03 14:10:26 +01:00
// Home screen. External link and Other.
2023-11-07 11:11:08 +01:00
$customHomeScreenAddition [ HOME_SCREEN_EXTERNAL_LINK ] = html_print_input_text (
'data_section' ,
$user_info [ 'data_section' ],
'' ,
60 ,
2023-12-14 16:59:39 +01:00
999 ,
2023-11-07 11:11:08 +01:00
true
);
2023-02-03 14:10:26 +01:00
$customHomeScreenDataField = '' ;
foreach ( $customHomeScreenAddition as $key => $customField ) {
$customHomeScreenDataField .= html_print_div (
[
'id' => sprintf ( 'custom_home_screen_%s' , $key ),
'content' => $customField ,
],
true
);
}
// Timezone creation canvas.
$timezoneContent = [];
if ( is_metaconsole () === false ) {
date_default_timezone_set ( 'UTC' );
include_once 'include/javascript/timezonepicker/includes/parser.inc' ;
// Read in options for map builder.
$bases = [
'gray' => 'Gray' ,
'blue-marble' => 'Blue marble' ,
'night-electric' => 'Night Electric' ,
'living' => 'Living Earth' ,
];
$local_file = 'include/javascript/timezonepicker/images/gray-400.png' ;
// Dimensions must always be exact since the imagemap does not scale.
$array_size = getimagesize ( $local_file );
$map_width = $array_size [ 0 ];
$map_height = $array_size [ 1 ];
$timezones = timezone_picker_parse_files (
$map_width ,
$map_height ,
'include/javascript/timezonepicker/tz_world.txt' ,
'include/javascript/timezonepicker/tz_islands.txt'
);
2023-02-06 23:10:28 +01:00
// Initial definition of vars.
$area_data_timezone_polys = '' ;
$area_data_timezone_rects = '' ;
2023-02-03 14:10:26 +01:00
foreach ( $timezones as $timezone_name => $tz ) {
if ( $timezone_name === 'America/Montreal' ) {
$timezone_name = 'America/Toronto' ;
} else if ( $timezone_name === 'Asia/Chongqing' ) {
$timezone_name = 'Asia/Shanghai' ;
}
foreach ( $tz [ 'polys' ] as $coords ) {
$area_data_timezone_polys .= '<area data-timezone="' . $timezone_name . '" data-country="' . $tz [ 'country' ] . '" data-pin="' . implode ( ',' , $tz [ 'pin' ]) . '" data-offset="' . $tz [ 'offset' ] . '" shape="poly" coords="' . implode ( ',' , $coords ) . '" />' ;
}
foreach ( $tz [ 'rects' ] as $coords ) {
$area_data_timezone_rects .= '<area data-timezone="' . $timezone_name . '" data-country="' . $tz [ 'country' ] . '" data-pin="' . implode ( ',' , $tz [ 'pin' ]) . '" data-offset="' . $tz [ 'offset' ] . '" shape="rect" coords="' . implode ( ',' , $coords ) . '" />' ;
}
}
$timezoneContent [] = '<img id="timezone-image" src="' . $local_file . '" width="' . $map_width . '" height="' . $map_height . '" usemap="#timezone-map" />' ;
$timezoneContent [] = '<img class="timezone-pin" src="include/javascript/timezonepicker/images/pin.png" class="pdd_t_4px" />' ;
$timezoneContent [] = '<map name="timezone-map" id="timezone-map">' . $area_data_timezone_polys . $area_data_timezone_rects . '</map>' ;
}
// Create the view.
$userManagementTable = new stdClass ();
$userManagementTable -> id = 'advanced' ;
$userManagementTable -> width = '100%' ;
2023-02-07 13:19:40 +01:00
$userManagementTable -> class = 'principal_table floating_form white_box' ;
2023-02-03 14:10:26 +01:00
$userManagementTable -> data = [];
$userManagementTable -> style = [];
$userManagementTable -> rowclass = [];
$userManagementTable -> cellclass = [];
$userManagementTable -> colspan = [];
$userManagementTable -> rowspan = [];
// Title for Profile information.
2023-02-13 14:23:31 +01:00
$sustitleTable = ( $new_user === true ) ? __ ( 'Profile information' ) : sprintf ( '%s [ %s ]' , __ ( 'Profile information for' ), $id );
2023-02-08 17:20:52 +01:00
$userManagementTable -> data [ 'title_profile_information' ] = html_print_subtitle_table ( $sustitleTable );
2023-02-03 14:10:26 +01:00
// Id user.
if ( $new_user === true ) {
2023-02-06 10:17:51 +01:00
$userManagementTable -> rowclass [ 'captions_iduser' ] = 'field_half_width' ;
2023-02-03 14:10:26 +01:00
$userManagementTable -> rowclass [ 'fields_iduser' ] = 'field_half_width' ;
$userManagementTable -> data [ 'captions_iduser' ][ 0 ] = __ ( 'User ID' );
$userManagementTable -> data [ 'fields_iduser' ][ 0 ] = html_print_input_text_extended (
'id_user' ,
2023-06-22 10:51:26 +02:00
'' ,
2023-02-03 14:10:26 +01:00
'' ,
'' ,
20 ,
255 ,
! $new_user || $view_mode ,
'' ,
[
2023-02-06 10:17:51 +01:00
'class' => 'input' ,
2023-02-03 14:10:26 +01:00
'placeholder' => __ ( 'User ID' ),
],
true
);
} else {
2023-03-27 17:13:23 +02:00
$userManagementTable -> data [ 'fields_iduser' ][ 0 ] = html_print_input_hidden ( 'id' , $id , false , false , false , 'id' );
2023-02-03 14:10:26 +01:00
}
// User Full name.
2023-02-06 10:17:51 +01:00
$userManagementTable -> rowclass [ 'captions_fullname' ] = 'field_half_width' ;
2023-02-03 14:10:26 +01:00
$userManagementTable -> rowclass [ 'fields_fullname' ] = 'field_half_width' ;
$userManagementTable -> data [ 'captions_fullname' ][ 0 ] = __ ( 'Full name' );
$userManagementTable -> data [ 'fields_fullname' ][ 0 ] = html_print_input_text_extended (
'fullname' ,
$user_info [ 'fullname' ],
'fullname' ,
'' ,
20 ,
100 ,
$view_mode ,
'' ,
[
'class' => 'input' ,
'placeholder' => __ ( 'Full (display) name' ),
],
true
);
// User Email.
2023-02-06 10:17:51 +01:00
$userManagementTable -> rowclass [ 'captions_email' ] = 'field_half_width' ;
2023-02-03 14:10:26 +01:00
$userManagementTable -> rowclass [ 'fields_email' ] = 'field_half_width' ;
$userManagementTable -> data [ 'captions_email' ][ 0 ] = __ ( 'Email' );
$userManagementTable -> data [ 'fields_email' ][ 0 ] = html_print_input_text_extended (
'email' ,
$user_info [ 'email' ],
'email' ,
'' ,
'25' ,
'100' ,
$view_mode ,
'' ,
[
2023-02-06 10:17:51 +01:00
'class' => 'input' ,
2023-02-03 14:10:26 +01:00
'placeholder' => __ ( 'E-mail' ),
],
true
);
// User phone number.
2023-02-06 10:17:51 +01:00
$userManagementTable -> rowclass [ 'captions_phone' ] = 'field_half_width' ;
2023-02-03 14:10:26 +01:00
$userManagementTable -> rowclass [ 'fields_phone' ] = 'field_half_width' ;
$userManagementTable -> data [ 'captions_phone' ][ 0 ] = __ ( 'Phone number' );
$userManagementTable -> data [ 'fields_phone' ][ 0 ] = html_print_input_text_extended (
'phone' ,
$user_info [ 'phone' ],
'phone' ,
'' ,
'20' ,
'30' ,
$view_mode ,
'' ,
[
2023-02-06 10:17:51 +01:00
'class' => 'input' ,
2023-02-03 14:10:26 +01:00
'placeholder' => __ ( 'Phone number' ),
],
true
);
2023-02-16 12:59:23 +01:00
$fieldsAdminUserCount = 0 ;
2023-02-16 07:25:26 +01:00
$userManagementTable -> rowclass [ 'captions_fields_admin_user' ] = 'field_half_width w50p' ;
2023-02-16 12:59:23 +01:00
$userManagementTable -> cellclass [ 'captions_fields_admin_user' ][ $fieldsAdminUserCount ] = 'wrap' ;
if ( empty ( $doubleAuthentication ) === false ) {
$userManagementTable -> data [ 'captions_fields_admin_user' ][ $fieldsAdminUserCount ] = $doubleAuthentication ;
$fieldsAdminUserCount ++ ;
}
2023-02-07 13:19:40 +01:00
if ( users_is_admin () === true ) {
$globalProfileContent = [];
$globalProfileContent [] = '<span>' . __ ( 'Administrator user' ) . '</span>' ;
$globalProfileContent [] = html_print_checkbox_switch (
'is_admin' ,
0 ,
$user_info [ 'is_admin' ],
true
);
2023-02-16 12:59:23 +01:00
$userManagementTable -> cellclass [ 'captions_fields_admin_user' ][ $fieldsAdminUserCount ] = 'wrap' ;
$userManagementTable -> data [ 'captions_fields_admin_user' ][ $fieldsAdminUserCount ] = html_print_div (
2023-02-07 13:19:40 +01:00
[
'class' => 'margin-top-10' ,
'style' => 'display: flex; flex-direction: row-reverse; align-items: center;' ,
'content' => implode ( '' , $globalProfileContent ),
],
true
);
} else {
// Insert in the latest row this hidden input avoiding create empty rows.
$userManagementTable -> data [ 'fields_phone' ][ 0 ] .= html_print_input_hidden (
'is_admin_sent' ,
0 ,
true
);
}
2023-02-03 14:10:26 +01:00
// Password management.
$passwordManageTable = new stdClass ();
2023-04-04 09:24:29 +02:00
$passwordManageTable -> class = 'full_section' ;
2023-02-03 14:10:26 +01:00
$passwordManageTable -> id = 'password_manage' ;
$passwordManageTable -> style = [];
$passwordManageTable -> rowclass = [];
$passwordManageTable -> data = [];
$passwordManageTable -> data [ 'captions_newpassword' ][ 0 ] = __ ( 'New password' );
$passwordManageTable -> rowclass [ 'fields_newpassword' ] = 'w540px' ;
2023-10-11 09:59:26 +02:00
$passwordManageTable -> data [ 'fields_newpassword' ][ 0 ] = '<div class="relative container-div-input-password ">' . html_print_input_text_extended (
2023-02-03 14:10:26 +01:00
'password_new' ,
'' ,
'password_new' ,
'' ,
'25' ,
2023-05-10 10:41:59 +02:00
'150' ,
2023-02-03 14:10:26 +01:00
$view_mode ,
'' ,
[
2023-10-11 09:59:26 +02:00
'class' => 'input' ,
2023-02-03 14:10:26 +01:00
'placeholder' => __ ( 'Password' ),
2023-10-11 09:59:26 +02:00
'style' => 'width: 540px' ,
2023-02-03 14:10:26 +01:00
],
true ,
true
2023-10-11 09:59:26 +02:00
) . '</div>' ;
2023-02-03 14:10:26 +01:00
$passwordManageTable -> data [ 'captions_repeatpassword' ][ 0 ] = __ ( 'Repeat new password' );
$passwordManageTable -> rowclass [ 'fields_repeatpassword' ] = 'w540px' ;
2023-10-11 09:59:26 +02:00
$passwordManageTable -> data [ 'fields_repeatpassword' ][ 0 ] = '<div class="relative container-div-input-password ">' . html_print_input_text_extended (
2023-02-03 14:10:26 +01:00
'password_confirm' ,
'' ,
'password_conf' ,
'' ,
'20' ,
2023-05-10 10:41:59 +02:00
'150' ,
2023-02-03 14:10:26 +01:00
$view_mode ,
'' ,
[
2023-02-06 23:10:28 +01:00
'class' => 'input w100p' ,
2023-02-03 14:10:26 +01:00
'placeholder' => __ ( 'Password confirmation' ),
2023-10-11 09:59:26 +02:00
'style' => 'width: 540px' ,
2023-02-03 14:10:26 +01:00
],
true ,
true
2023-10-11 09:59:26 +02:00
) . '</div>' ;
2023-02-03 14:10:26 +01:00
2023-05-11 14:48:06 +02:00
if ( $new_user === false && users_is_admin () === false ) {
2023-02-03 14:10:26 +01:00
$passwordManageTable -> data [ 'captions_currentpassword' ][ 0 ] = __ ( 'Current password' );
$passwordManageTable -> rowclass [ 'fields_currentpassword' ] = 'w540px' ;
2023-05-11 14:48:06 +02:00
if ( $user_info [ 'id_user' ] === $config [ 'id_user' ]) {
$passwordManageTable -> data [ 'fields_currentpassword' ][ 0 ] = html_print_input_text_extended (
'own_password_confirm' ,
'' ,
'own_password_confirm' ,
'' ,
'20' ,
'45' ,
$view_mode ,
'' ,
[
'class' => 'input w100p' ,
'placeholder' => __ ( 'Own password confirmation' ),
],
true ,
true
);
} else {
$passwordManageTable -> data [ 'fields_currentpassword' ][ 0 ] = html_print_input_text_extended (
'own_password_confirm' ,
'' ,
'own_password_confirm' ,
'' ,
'20' ,
'45' ,
$view_mode ,
'' ,
[
'class' => 'input w100p' ,
'placeholder' => __ ( 'Third user password confirmation' ),
],
true ,
true
);
}
2023-02-03 14:10:26 +01:00
}
$userManagementTable -> data [ 'passwordManage_table' ] = html_print_table ( $passwordManageTable , true );
2023-03-14 13:11:57 +01:00
if ( users_is_admin () === true ) {
$userManagementTable -> rowclass [ 'captions_loginErrorUser' ] = 'field_half_width w50p' ;
$userManagementTable -> cellclass [ 'captions_loginErrorUser' ][ 0 ] = 'wrap' ;
$userManagementTable -> cellclass [ 'captions_loginErrorUser' ][ 1 ] = 'wrap' ;
$notLoginCheckContent = [];
$notLoginCheckContent [] = '<span>' . __ ( 'Not Login' ) . '</span>' ;
$notLoginCheckContent [] = html_print_checkbox_switch (
'not_login' ,
1 ,
$user_info [ 'not_login' ],
true
);
2023-02-07 13:19:40 +01:00
2023-03-14 13:11:57 +01:00
$userManagementTable -> data [ 'captions_loginErrorUser' ][ 0 ] = html_print_div (
[
'class' => 'margin-top-10' ,
'style' => 'display: flex; flex-direction: row-reverse; align-items: center;' ,
'content' => implode ( '' , $notLoginCheckContent ),
],
true
);
$userManagementTable -> data [ 'captions_loginErrorUser' ][ 0 ] .= ui_print_input_placeholder (
__ ( 'The user with not login set only can access to API.' ),
true
);
2023-02-07 13:19:40 +01:00
2023-03-14 13:11:57 +01:00
$localUserCheckContent = [];
$localUserCheckContent [] = '<span>' . __ ( 'Local User' ) . '</span>' ;
$localUserCheckContent [] = html_print_checkbox_switch (
'local_user' ,
1 ,
$user_info [ 'local_user' ],
true
);
2023-02-07 13:19:40 +01:00
2023-03-14 13:11:57 +01:00
$userManagementTable -> data [ 'captions_loginErrorUser' ][ 1 ] = html_print_div (
[
'class' => 'margin-top-10' ,
'style' => 'display: flex; flex-direction: row-reverse; align-items: center;' ,
'content' => implode ( '' , $localUserCheckContent ),
],
true
);
$userManagementTable -> data [ 'captions_loginErrorUser' ][ 1 ] .= ui_print_input_placeholder (
__ ( 'The user with local authentication enabled will always use local authentication.' ),
true
);
}
2023-02-07 13:19:40 +01:00
2023-04-14 10:02:41 +02:00
$userManagementTable -> data [ 'show_tips_startup' ][ 0 ] = html_print_checkbox_switch (
'show_tips_startup' ,
1 ,
( isset ( $user_info [ 'show_tips_startup' ]) === false ) ? true : $user_info [ 'show_tips_startup' ],
true
);
2023-03-08 09:13:04 +01:00
$userManagementTable -> data [ 'show_tips_startup' ][ 1 ] = '<span>' . __ ( 'Show usage tips at startup' ) . '</span>' ;
2023-02-07 13:19:40 +01:00
// Session time input.
$userManagementTable -> rowclass [ 'captions_userSessionTime' ] = 'field_half_width' ;
$userManagementTable -> rowclass [ 'fields_userSessionTime' ] = 'field_half_width' ;
$userManagementTable -> cellclass [ 'fields_userSessionTime' ][ 0 ] = 'wrap' ;
$userManagementTable -> data [ 'captions_userSessionTime' ][ 0 ] = __ ( 'Session time' );
$userManagementTable -> data [ 'fields_userSessionTime' ][ 0 ] = html_print_input_text (
'session_time' ,
$user_info [ 'session_time' ],
'' ,
5 ,
5 ,
true
);
$userManagementTable -> data [ 'fields_userSessionTime' ][ 0 ] .= ui_print_input_placeholder (
__ ( 'This is defined in minutes, If you wish a permanent session should putting -1 in this field.' ),
true
);
2023-02-03 14:10:26 +01:00
// Title for Autorefresh.
2023-02-07 15:39:53 +01:00
$userManagementTable -> data [ 'title_autorefresh' ] = html_print_subtitle_table ( __ ( 'Autorefresh' ));
2023-02-03 14:10:26 +01:00
// Autorefresh selects.
$select_out = html_print_select (
$autorefresh_list_out ,
'autorefresh_list_out[]' ,
'' ,
'' ,
'' ,
'' ,
true ,
true ,
true ,
'' ,
false ,
2023-02-22 16:24:11 +01:00
'width:100%;'
2023-02-03 14:10:26 +01:00
);
$select_in = html_print_select (
$autorefresh_list ,
'autorefresh_list[]' ,
'' ,
'' ,
'' ,
'' ,
true ,
true ,
true ,
'' ,
false ,
2023-02-22 16:24:11 +01:00
'width:100%;'
2023-02-03 14:10:26 +01:00
);
// Full list pages generation.
$autorefreshFullListContent = [];
$autorefreshFullListContent [] = '<p class="autorefresh_select_text">' . __ ( 'Full list of pages' ) . '</p>' ;
$autorefreshFullListContent [] = html_print_div (
[
'id' => 'autorefreshAllPagesList' ,
'content' => $select_out ,
],
true
);
// Selected pages generation.
$autorefreshSelectedListContent = [];
$autorefreshSelectedListContent [] = '<p class="autorefresh_select_text">' . __ ( 'Pages with autorefresh' ) . '</p>' ;
$autorefreshSelectedListContent [] = html_print_div (
[
'id' => 'autorefreshSelectedPagesList' ,
'content' => $select_in ,
],
true
);
// Controls generation.
$autorefreshControlsContent = [];
$autorefreshControlsContent [] = html_print_anchor (
[
'id' => 'addAutorefreshPage' ,
'href' => 'javascript:' ,
'content' => html_print_image (
2023-02-06 10:17:51 +01:00
'images/plus.svg' ,
2023-02-03 14:10:26 +01:00
true ,
[
'id' => 'right_autorefreshlist' ,
2023-02-06 23:10:28 +01:00
'style' => 'width: 24px; margin: 10px 10px 0;' ,
2023-02-03 14:10:26 +01:00
'alt' => __ ( 'Push selected pages into autorefresh list' ),
'title' => __ ( 'Push selected pages into autorefresh list' ),
]
),
],
true
);
$autorefreshControlsContent [] = html_print_anchor (
[
'id' => 'removeAutorefreshPage' ,
'href' => 'javascript:' ,
'content' => html_print_image (
2023-02-06 10:17:51 +01:00
'images/minus.svg' ,
2023-02-03 14:10:26 +01:00
true ,
[
'id' => 'left_autorefreshlist' ,
2023-02-06 23:10:28 +01:00
'style' => 'width: 24px; margin: 10px 10px 0;' ,
2023-02-03 14:10:26 +01:00
'alt' => __ ( 'Pop selected pages out of autorefresh list' ),
'title' => __ ( 'Pop selected pages out of autorefresh list' ),
]
),
],
true
);
// Container with all pages list.
$autorefreshFullList = html_print_div (
[
'class' => 'autorefresh_select_list_out' ,
'content' => implode ( '' , $autorefreshFullListContent ),
],
true
);
// Container with selected pages list.
$autorefreshSelectedList = html_print_div (
[
'class' => 'autorefresh_select_list' ,
'content' => implode ( '' , $autorefreshSelectedListContent ),
],
true
);
// Container with controls.
$autorefreshControls = html_print_div (
[
'class' => 'autorefresh_select_arrows' ,
'content' => implode ( '' , $autorefreshControlsContent ),
],
true
);
// Generate final control table.
$autorefreshTable = html_print_div (
[
'class' => 'autorefresh_select' ,
'content' => $autorefreshFullList . $autorefreshControls . $autorefreshSelectedList ,
],
true
);
2023-02-06 10:17:51 +01:00
$userManagementTable -> rowclass [ 'captions_autorefreshList' ] = 'field_half_width' ;
$userManagementTable -> rowclass [ 'fields_autorefreshList' ] = 'field_half_width' ;
2023-02-06 23:10:28 +01:00
$userManagementTable -> cellstyle [ 'fields_autorefreshList' ][ 0 ] = 'width: 100%' ;
2023-02-03 14:10:26 +01:00
$userManagementTable -> data [ 'captions_autorefreshList' ] = __ ( 'Autorefresh pages' );
$userManagementTable -> data [ 'fields_autorefreshList' ] = $autorefreshTable ;
2023-02-06 10:17:51 +01:00
$userManagementTable -> rowclass [ 'captions_autorefreshTime' ] = 'field_half_width' ;
2023-02-03 14:10:26 +01:00
$userManagementTable -> rowclass [ 'fields_autorefreshTime' ] = 'field_half_width' ;
2023-02-07 13:19:40 +01:00
$userManagementTable -> cellclass [ 'fields_autorefreshTime' ][ 0 ] = 'wrap' ;
2023-02-03 14:10:26 +01:00
$userManagementTable -> data [ 'captions_autorefreshTime' ][ 0 ] = __ ( 'Time for autorefresh' );
$userManagementTable -> data [ 'fields_autorefreshTime' ][ 0 ] = html_print_select (
get_refresh_time_array (),
'time_autorefresh' ,
2023-04-14 10:02:41 +02:00
( $user_info [ 'time_autorefresh' ] ? ? 0 ),
2023-02-03 14:10:26 +01:00
'' ,
'' ,
'' ,
true ,
false ,
false
);
2023-02-07 13:19:40 +01:00
$userManagementTable -> data [ 'fields_autorefreshTime' ][ 0 ] .= ui_print_input_placeholder (
__ ( 'Interval of autorefresh of the elements, by default they are 30 seconds, needing to enable the autorefresh first' ),
true
);
2023-02-03 14:10:26 +01:00
2023-11-07 11:11:08 +01:00
// EHorus conf.
2023-10-10 09:57:09 +02:00
if ( isset ( $config [ 'ehorus_user_level_conf' ]) === true && ( bool ) $config [ 'ehorus_user_level_conf' ] === true ) {
$userManagementTable -> data [ 'captions_ehorus_user_level_enabled' ][ 1 ] = __ ( 'Pandora RC user access enabled' );
$userManagementTable -> data [ 'fields_ehorus_user_level_enabled' ][ 1 ] = html_print_checkbox_switch (
'ehorus_user_level_enabled' ,
1 ,
$user_info [ 'ehorus_user_level_enabled' ],
true
);
$userManagementTable -> rowclass [ 'captions_ehorus_user_level_user' ] = 'field_half_width' ;
$userManagementTable -> rowclass [ 'fields_ehorus_user_level_user' ] = 'field_half_width' ;
$userManagementTable -> data [ 'captions_ehorus_user_level_user' ][ 1 ] = __ ( 'Pandora RC User' );
$userManagementTable -> data [ 'fields_ehorus_user_level_user' ][ 1 ] = html_print_input_text_extended (
'ehorus_user_level_user' ,
$user_info [ 'ehorus_user_level_user' ],
'' ,
'' ,
25 ,
150 ,
$view_mode ,
'' ,
[
'class' => 'input' ,
'placeholder' => __ ( 'Pandora RC User' ),
],
true
);
$userManagementTable -> rowclass [ 'captions_ehorus_user_level_pass' ] = 'field_half_width' ;
$userManagementTable -> rowclass [ 'fields_ehorus_user_level_pass' ] = 'field_half_width' ;
$userManagementTable -> data [ 'captions_ehorus_user_level_pass' ][ 1 ] = __ ( 'Pandora RC Password' );
$userManagementTable -> data [ 'fields_ehorus_user_level_pass' ][ 1 ] = html_print_input_text_extended (
'ehorus_user_level_pass' ,
io_output_password ( $user_info [ 'ehorus_user_level_pass' ]),
'' ,
'' ,
'25' ,
'150' ,
$view_mode ,
'' ,
[
'class' => 'input w100p' ,
'placeholder' => __ ( 'Pandora RC Password' ),
],
true ,
true
);
}
2023-02-03 14:10:26 +01:00
// Title for Language and Appearance.
2023-02-07 15:39:53 +01:00
$userManagementTable -> data [ 'title_lookAndFeel' ] = html_print_subtitle_table ( __ ( 'Language and Appearance' ));
2023-02-07 15:33:29 +01:00
// Language and color scheme.
2023-03-14 13:11:57 +01:00
$userManagementTable -> rowclass [ 'line1_looknfeel' ] = 'field_half_width' ;
$userManagementTable -> rowclass [ 'line2_looknfeel' ] = 'field_half_width' ;
$userManagementTable -> data [ 'line1_looknfeel' ][ 0 ] = __ ( 'Language' );
$userManagementTable -> data [ 'line2_looknfeel' ][ 0 ] = html_print_select_from_sql (
2023-02-03 14:10:26 +01:00
'SELECT id_language, name FROM tlanguage' ,
'language' ,
$user_info [ 'language' ],
'' ,
__ ( 'Default' ),
'default' ,
true
);
2023-07-03 17:37:01 +02:00
// Hidden hint to change theme.
$hin_change_theme = ui_print_help_tip ( __ ( 'When changing the theme, the login screen logo will be restricted to the default for that color scheme, if you have a custom logo, adjust it after changing the theme.' ), true , '' , '' , 'display: none;' );
2023-03-14 13:11:57 +01:00
if ( is_metaconsole () === true ) {
if ( users_is_admin () === true ) {
$userManagementTable -> data [ 'line1_looknfeel' ][ 1 ] = $outputMetaAccess [ 0 ];
$userManagementTable -> data [ 'line2_looknfeel' ][ 1 ] = $outputMetaAccess [ 1 ];
}
} else {
2023-03-27 12:11:59 +02:00
if ( function_exists ( 'skins_print_select' )) {
2023-07-03 17:37:01 +02:00
$userManagementTable -> data [ 'line1_looknfeel' ][ 1 ] = __ ( 'User color scheme' ) . $hin_change_theme ;
2023-03-27 12:11:59 +02:00
$userManagementTable -> data [ 'line2_looknfeel' ][ 1 ] = skins_print_select ( $id_usr , 'skin' , $user_info [ 'id_skin' ], '' , __ ( 'None' ), 0 , true );
}
2023-03-14 13:11:57 +01:00
}
2023-02-03 14:10:26 +01:00
2023-09-18 08:23:05 +02:00
$performance_variables_control = ( array ) json_decode ( io_safe_output ( $config [ 'performance_variables_control' ]));
2023-02-06 10:17:51 +01:00
$userManagementTable -> rowclass [ 'captions_blocksize_eventfilter' ] = 'field_half_width' ;
2023-02-03 14:10:26 +01:00
$userManagementTable -> rowclass [ 'fields_blocksize_eventfilter' ] = 'field_half_width' ;
$userManagementTable -> data [ 'captions_blocksize_eventfilter' ][ 0 ] = __ ( 'Block size for pagination' );
2023-09-18 08:23:05 +02:00
$userManagementTable -> data [ 'fields_blocksize_eventfilter' ][ 0 ] = html_print_input (
[
'type' => 'number' ,
'size' => 5 ,
'max' => $performance_variables_control [ 'block_size' ] -> max ,
'name' => 'block_size' ,
'value' => $user_info [ 'block_size' ],
'return' => true ,
]
2023-02-03 14:10:26 +01:00
);
2023-05-22 12:08:27 +02:00
if ( is_metaconsole () === true && empty ( $user_info [ 'metaconsole_default_event_filter' ]) !== true ) {
$user_info [ 'default_event_filter' ] = $user_info [ 'metaconsole_default_event_filter' ];
}
2023-02-03 14:10:26 +01:00
$userManagementTable -> data [ 'captions_blocksize_eventfilter' ][ 1 ] = __ ( 'Event filter' );
$userManagementTable -> data [ 'fields_blocksize_eventfilter' ][ 1 ] = html_print_select (
$event_filter ,
'default_event_filter' ,
2023-05-22 12:08:27 +02:00
[ $user_info [ 'default_event_filter' ]],
2023-02-03 14:10:26 +01:00
'' ,
'' ,
__ ( 'None' ),
true ,
false ,
false
);
2023-05-19 10:49:16 +02:00
// Home screen table.
$homeScreenTable = new stdClass ();
$homeScreenTable -> class = 'w100p full_section' ;
$homeScreenTable -> id = 'home_screen_table' ;
$homeScreenTable -> style = [];
$homeScreenTable -> rowclass = [];
$homeScreenTable -> data = [];
// Home screen.
2023-05-22 12:08:27 +02:00
if ( is_metaconsole () === true && empty ( $user_info [ 'metaconsole_data_section' ]) !== true ) {
$user_info [ 'data_section' ] = $user_info [ 'metaconsole_data_section' ];
$user_info [ 'section' ] = $user_info [ 'metaconsole_section' ];
}
2023-05-19 10:49:16 +02:00
$homeScreenTable -> data [ 'captions_homescreen' ][ 0 ] = __ ( 'Home screen' );
$homeScreenTable -> colspan [ 'captions_homescreen' ][ 0 ] = 2 ;
$homeScreenTable -> rowclass [ 'captions_homescreen' ] = 'field_half_width' ;
$homeScreenTable -> rowclass [ 'fields_homescreen' ] = 'field_half_width flex' ;
2023-04-28 09:51:30 +02:00
$homeScreenTable -> data [ 'fields_homescreen' ][ 0 ] = html_print_select (
$homeScreenValues ,
'section' ,
2023-06-28 15:08:09 +02:00
$user_info [ 'section' ],
2023-04-28 09:51:30 +02:00
'show_data_section();' ,
'' ,
- 1 ,
true ,
false ,
false
);
$homeScreenTable -> data [ 'fields_homescreen' ][ 1 ] = html_print_div (
[
'class' => 'w100p' ,
'content' => $customHomeScreenDataField ,
],
true
);
$userManagementTable -> rowclass [ 'homescreen_table' ] = 'w100p' ;
2023-05-19 12:25:31 +02:00
$userManagementTable -> data [ 'homescreen_table' ] = html_print_table ( $homeScreenTable , true );
2023-05-19 10:49:16 +02:00
$homeScreenTable -> data [ 'fields_homescreen' ][ 1 ] = html_print_div (
[
'class' => 'w100p' ,
'content' => $customHomeScreenDataField ,
],
true
);
$userManagementTable -> rowclass [ 'homescreen_table' ] = 'w100p' ;
$userManagementTable -> data [ 'homescreen_table' ] = html_print_table ( $homeScreenTable , true );
2023-03-14 13:11:57 +01:00
if ( is_metaconsole () === true && users_is_admin () === true ) {
$userManagementTable -> rowclass [ 'search_custom1_looknfeel' ] = 'field_half_width' ;
$userManagementTable -> rowclass [ 'search_custom2_looknfeel' ] = 'field_half_width flex-column' ;
$userManagementTable -> data [ 'search_custom1_looknfeel' ][ 0 ] = $searchCustomFieldView [ 0 ];
$userManagementTable -> data [ 'search_custom2_looknfeel' ][ 0 ] = $searchCustomFieldView [ 1 ];
$userManagementTable -> rowclass [ 'agent_manager1_looknfeel' ] = 'field_half_width' ;
$userManagementTable -> rowclass [ 'agent_manager2_looknfeel' ] = 'field_half_width flex-column' ;
$userManagementTable -> data [ 'agent_manager1_looknfeel' ][ 0 ] = $metaconsoleAgentManager [ 0 ];
$userManagementTable -> data [ 'agent_manager1_looknfeel' ][ 1 ] = $metaconsoleAgentManager [ 2 ];
$userManagementTable -> data [ 'agent_manager2_looknfeel' ][ 0 ] = $metaconsoleAgentManager [ 1 ];
$userManagementTable -> data [ 'agent_manager2_looknfeel' ][ 1 ] = $metaconsoleAgentManager [ 3 ];
}
2023-02-03 14:10:26 +01:00
// Timezone.
2023-02-06 10:17:51 +01:00
$userManagementTable -> rowclass [ 'captions_timezone' ] = 'field_half_width' ;
2023-02-03 14:10:26 +01:00
$userManagementTable -> rowclass [ 'fields_timezone' ] = 'field_half_width' ;
$userManagementTable -> colspan [ 'captions_timezone' ][ 0 ] = 2 ;
2023-02-06 10:17:51 +01:00
$userManagementTable -> cellstyle [ 'fields_timezone' ][ 0 ] = 'align-self: baseline;' ;
2023-02-07 13:19:40 +01:00
$userManagementTable -> cellclass [ 'fields_timezone' ][ 0 ] = 'wrap' ;
2023-02-03 14:10:26 +01:00
$userManagementTable -> data [ 'captions_timezone' ][ 0 ] = __ ( 'Time zone' );
$userManagementTable -> data [ 'fields_timezone' ][ 0 ] = html_print_timezone_select ( 'timezone' , $user_info [ 'timezone' ]);
2023-02-07 13:19:40 +01:00
$userManagementTable -> data [ 'fields_timezone' ][ 0 ] .= ui_print_input_placeholder (
2023-02-03 14:10:26 +01:00
__ ( 'The timezone must be that of the associated server.' ),
true
);
2023-03-14 13:11:57 +01:00
if ( is_metaconsole () === false ) {
$userManagementTable -> data [ 'fields_timezone' ][ 1 ] = html_print_div (
[
'id' => 'timezone-picker' ,
'content' => implode ( '' , $timezoneContent ),
],
true
);
}
2023-02-03 14:10:26 +01:00
// Title for Language and Appearance.
2023-02-07 15:39:53 +01:00
$userManagementTable -> data [ 'title_additionalSettings' ] = html_print_subtitle_table ( __ ( 'Additional settings' ));
2023-02-03 14:10:26 +01:00
2023-02-06 10:17:51 +01:00
$userManagementTable -> rowclass [ 'captions_addSettings' ] = 'field_half_width' ;
2023-02-03 14:10:26 +01:00
$userManagementTable -> rowclass [ 'fields_addSettings' ] = 'field_half_width' ;
2023-02-06 23:10:28 +01:00
$userManagementTable -> cellstyle [ 'fields_addSettings' ][ 0 ] = 'align-self: baseline' ;
$userManagementTable -> cellstyle [ 'fields_addSettings' ][ 1 ] = 'width: 50%;flex-direction: column;align-items: flex-start;' ;
2023-02-03 14:10:26 +01:00
$userManagementTable -> data [ 'captions_addSettings' ][ 0 ] = __ ( 'Comments' );
$userManagementTable -> data [ 'fields_addSettings' ][ 0 ] = html_print_textarea (
'comments' ,
2023-02-06 10:17:51 +01:00
5 ,
2023-02-03 14:10:26 +01:00
65 ,
$user_info [ 'comments' ],
2023-11-07 11:11:08 +01:00
( $view_mode ) ? 'readonly="readonly"' : '' ,
2023-02-06 23:10:28 +01:00
true ,
''
2023-02-03 14:10:26 +01:00
);
2023-11-27 16:59:21 +01:00
if ( users_is_admin ( $config [ 'id_user' ]) === true || ( bool ) check_acl ( $config [ 'id_user' ], 0 , 'PM' ) === true ) {
2023-11-27 13:55:08 +01:00
$allowAllIpsContent = [];
$allowAllIpsContent [] = '<span>' . __ ( 'Enable IP allowlist' ) . '</span>' ;
$allowAllIpsContent [] = html_print_div (
[
'content' => html_print_checkbox_switch (
'allowed_ip_active' ,
0 ,
( $user_info [ 'allowed_ip_active' ] ? ? 0 ),
true ,
false ,
'handleIpAllowlist(this)'
),
],
true
);
2023-02-03 16:36:04 +01:00
2023-11-27 13:55:08 +01:00
$userManagementTable -> data [ 'captions_addSettings' ][ 1 ] = html_print_div (
[
'class' => 'margin-top-10' ,
'style' => 'display: flex; flex-direction: row-reverse; align-items: center;' ,
'content' => implode ( '' , $allowAllIpsContent ),
],
true
);
2023-11-23 15:29:26 +01:00
2023-11-27 13:55:08 +01:00
$userManagementTable -> data [ 'fields_addSettings' ][ 1 ] .= html_print_div (
[
'class' => 'edit_user_allowed_ip ' . ((( int ) $user_info [ 'allowed_ip_active' ] === 1 ) ? '' : 'invisible' ),
'content' => html_print_textarea (
'allowed_ip_list' ,
5 ,
65 ,
( $user_info [ 'allowed_ip_list' ] ? ? '' ),
((( bool ) $view_mode === true ) ? 'readonly="readonly"' : '' ),
true
),
],
true
);
2023-11-23 15:29:26 +01:00
2023-11-27 13:55:08 +01:00
$userManagementTable -> data [ 'fields_addSettings' ][ 1 ] .= ui_print_input_placeholder (
__ ( 'Add the source IPs that will allow console access. Each IP must be separated only by comma. * allows all.' ),
true ,
[
'id' => 'info_allowed_ip' ,
'class' => (( int ) $user_info [ 'allowed_ip_active' ] === 1 ) ? 'input_sub_placeholder' : 'input_sub_placeholder invisible' ,
]
);
}
2023-06-16 13:47:25 +02:00
2023-07-21 14:23:42 +02:00
if ( $config [ 'ITSM_enabled' ] && $config [ 'ITSM_user_level_conf' ]) {
// Pandora ITSM user remote login.
$table_ITSM = new StdClass ();
$table_ITSM -> data = [];
$table_ITSM -> width = '100%' ;
$table_ITSM -> id = 'ITSM-remote-setup' ;
$table_ITSM -> class = 'white_box' ;
$table_ITSM -> size [ 'name' ] = '30%' ;
$table_ITSM -> style [ 'name' ] = 'font-weight: bold' ;
// Pandora ITSM user level authentication.
2023-06-16 13:47:25 +02:00
// Title.
$row = [];
2023-07-21 14:23:42 +02:00
$row [ 'control' ] = '<p class="edit_user_labels">' . __ ( 'Pandora ITSM user configuration' ) . ': </p>' ;
$table_ITSM -> data [ 'ITSM_user_level_conf' ] = $row ;
2023-06-16 13:47:25 +02:00
2023-07-21 14:23:42 +02:00
// Pandora ITSM pass.
2023-06-16 13:47:25 +02:00
$row = [];
2023-07-21 14:23:42 +02:00
$row [ 'name' ] = __ ( 'Token' );
$row [ 'control' ] = html_print_input_password (
'integria_user_level_pass' ,
io_output_password ( $user_info [ 'integria_user_level_pass' ]),
'' ,
100 ,
100 ,
true
);
$table_ITSM -> data [ 'integria_user_level_pass' ] = $row ;
2023-06-16 13:47:25 +02:00
// Test.
2023-07-21 14:23:42 +02:00
$ITSM_host = db_get_value ( 'value' , 'tconfig' , 'token' , 'ITSM_hostname' );
2023-06-16 13:47:25 +02:00
$row = [];
$row [ 'name' ] = __ ( 'Test' );
$row [ 'control' ] = html_print_button (
__ ( 'Start' ),
2023-07-21 14:23:42 +02:00
'ITSM' ,
2023-06-16 13:47:25 +02:00
false ,
2023-07-21 14:23:42 +02:00
'' ,
[
'icon' => 'cog' ,
'mode' => 'secondary mini' ,
],
2023-06-16 13:47:25 +02:00
true
);
2023-07-21 14:23:42 +02:00
$row [ 'control' ] .= ' <span id="ITSM-spinner" class="invisible"> ' . html_print_image ( 'images/spinner.gif' , true ) . '</span>' ;
$row [ 'control' ] .= ' <span id="ITSM-success" class="invisible"> ' . html_print_image ( 'images/status_sets/default/severity_normal.png' , true ) . '</span>' ;
$row [ 'control' ] .= ' <span id="ITSM-failure" class="invisible"> ' . html_print_image ( 'images/status_sets/default/severity_critical.png' , true ) . '</span>' ;
$row [ 'control' ] .= '<span id="ITSM-message" class="invisible"></span>' ;
$table_ITSM -> data [ 'ITSM_test' ] = $row ;
2023-06-16 13:47:25 +02:00
$userManagementTable -> colspan [ 'pandoraitsm' ] = 2 ;
2023-07-21 14:23:42 +02:00
$userManagementTable -> data [ 'pandoraitsm' ] = html_print_table ( $table_ITSM , true );
2023-06-16 13:47:25 +02:00
}
2023-04-14 10:02:41 +02:00
if ( isset ( $CodeQRTable ) === true || isset ( $apiTokenContent ) === true ) {
// QR Code and API Token advice.
2023-06-21 13:49:34 +02:00
$titleQr = '<span class="font-title-font">' . __ ( 'Contact details (QR)' ) . '</span>' ;
2023-08-01 11:11:24 +02:00
$titleApi = '<span class="font-title-font margin-top-10">' . __ ( 'API Token credentials' ) . '</span>' ;
2023-04-14 10:02:41 +02:00
html_print_div (
[
'id' => 'api_qrcode_display' ,
2023-06-21 13:49:34 +02:00
'content' => $titleQr . $CodeQRTable . $titleApi . $apiTokenContent ,
2023-04-14 10:02:41 +02:00
]
);
}
2023-02-16 12:44:11 +01:00
2023-02-03 14:10:26 +01:00
html_print_table ( $userManagementTable );
2023-03-29 15:34:03 +02:00
$vcard_data = [];
$vcard_data [ 'version' ] = '3.0' ;
2023-03-30 16:50:30 +02:00
$vcard_data [ 'firstName' ] = $user_info [ 'fullname' ];
$vcard_data [ 'lastName' ] = '' ;
$vcard_data [ 'middleName' ] = '' ;
2023-03-29 15:34:03 +02:00
$vcard_data [ 'workPhone' ] = $user_info [ 'phone' ];
$vcard_data [ 'email' ] = $user_info [ 'email' ];
$vcard_data [ 'organization' ] = io_safe_output ( get_product_name ());
$vcard_data [ 'url' ] = ui_get_full_url ( 'index.php' );
$vcard_json = json_encode ( $vcard_data );
2023-07-21 14:23:42 +02:00
ui_require_javascript_file ( 'ITSM' );
2023-03-29 15:34:03 +02:00
?>
< script type = " text/javascript " >
$ ( document ) . ready ( function () {
paint_vcard (
2023-07-21 14:23:42 +02:00
< ? php echo $vcard_json ; ?> ,
" #qr_code_agent_view " ,
128 ,
128
);
$ ( '#button-ITSM' ) . click ( function () {
var pass = $ ( 'input#password-integria_user_level_pass' ) . val ();
var host = '<?php echo $ITSM_host; ?>' ;
testConectionApi ( pass , host );
});
2023-07-03 17:37:01 +02:00
//Hint to change theme.
$ ( '#skin1' ) . on ( " change " , () => {
$ ( '#advanced-line1_looknfeel-1 > a' ) . css ( 'display' , 'block' );
})
2023-10-10 09:57:09 +02:00
2023-11-07 11:11:08 +01:00
var ehorus_user_level_enabled = '<?php echo (isset($user_info[' ehorus_user_level_enabled ']) === true) ? $user_info[' ehorus_user_level_enabled '] : 0; ?>' ;
2023-10-10 09:57:09 +02:00
var chk_ehorus_user_level_enabled = ehorus_user_level_enabled ;
if ( ehorus_user_level_enabled == 0 ) {
$ ( '#advanced-captions_ehorus_user_level_user' ) . hide ();
$ ( '#advanced-fields_ehorus_user_level_user' ) . hide ();
$ ( '#advanced-captions_ehorus_user_level_pass' ) . hide ();
$ ( '#advanced-fields_ehorus_user_level_pass' ) . hide ();
} else {
$ ( '#advanced-captions_ehorus_user_level_user' ) . show ();
$ ( '#advanced-fields_ehorus_user_level_user' ) . show ();
$ ( '#advanced-captions_ehorus_user_level_pass' ) . show ();
$ ( '#advanced-fields_ehorus_user_level_pass' ) . show ();
}
$ ( '#checkbox-ehorus_user_level_enabled1' ) . on ( 'change' , () => {
if ( chk_ehorus_user_level_enabled == 1 ) {
$ ( '#advanced-captions_ehorus_user_level_user' ) . hide ();
$ ( '#advanced-fields_ehorus_user_level_user' ) . hide ();
$ ( '#advanced-captions_ehorus_user_level_pass' ) . hide ();
$ ( '#advanced-fields_ehorus_user_level_pass' ) . hide ();
chk_ehorus_user_level_enabled = 0 ;
} else {
$ ( '#advanced-captions_ehorus_user_level_user' ) . show ();
$ ( '#advanced-fields_ehorus_user_level_user' ) . show ();
$ ( '#advanced-captions_ehorus_user_level_pass' ) . show ();
$ ( '#advanced-fields_ehorus_user_level_pass' ) . show ();
chk_ehorus_user_level_enabled = 1 ;
}
})
2023-03-29 15:34:03 +02:00
});
2023-11-23 15:29:26 +01:00
function handleIpAllowlist ( e ){
if ( e . checked === true ) {
$ ( '.edit_user_allowed_ip' ) . show ();
$ ( '#info_allowed_ip' ) . show ();
} else {
$ ( '.edit_user_allowed_ip' ) . hide ();
$ ( '#info_allowed_ip' ) . hide ();
}
}
2023-03-29 15:34:03 +02:00
</ script >