- Added columns for two-factor authentication (2FA) in the pp_users table: - twofa_enabled (TINYINT) - twofa_email (VARCHAR) - twofa_code_hash (VARCHAR) - twofa_expires_at (DATETIME) - twofa_sent_at (DATETIME) - twofa_failed_attempts (INT) - Updated the twofa_enabled and twofa_email for user with id 0. - Enhanced .htaccess to disable directory listing, block execution of sensitive files, and prevent serving hidden files.
90 lines
3.4 KiB
PHP
90 lines
3.4 KiB
PHP
<?php
|
|
global $gdb, $config;
|
|
|
|
$this -> user['id'] ? $password_param = 'optional' : $password_param = 'require';
|
|
|
|
$grid = new \gridEdit;
|
|
$grid -> gdb_opt = $gdb;
|
|
$grid -> include_plugins = true;
|
|
$grid -> title = 'Zapisz użytkownika';
|
|
$grid -> fields = [
|
|
[
|
|
'db' => 'id',
|
|
'type' => 'hidden',
|
|
'value' => $this -> user['id']
|
|
],
|
|
[
|
|
'db' => 'admin',
|
|
'type' => 'hidden',
|
|
'value' => '1'
|
|
],
|
|
[
|
|
'name' => 'Login',
|
|
'db' => 'login',
|
|
'type' => 'text',
|
|
'value' => $this -> user['login'],
|
|
'params' => [ 'class' => 'require', 'function' => 'check_login' ]
|
|
],
|
|
[
|
|
'name' => 'Aktywny',
|
|
'db' => 'status',
|
|
'type' => 'input_switch',
|
|
'checked' => $this -> user['status'] ? true : false
|
|
], [
|
|
'db' => 'twofa_enabled',
|
|
'name' => 'Dwustopniowe uwierzytelnianie (2FA)',
|
|
'type' => 'input_switch',
|
|
'checked' => $this -> user['twofa_enabled'] ? true : false,
|
|
], [
|
|
'db' => 'twofa_email',
|
|
'name' => 'E-mail do 2FA',
|
|
'type' => 'text',
|
|
'value' => $this -> user['twofa_email'],
|
|
], [
|
|
'name' => 'Hasło',
|
|
'db' => 'password',
|
|
'type' => 'text',
|
|
'params' => [ 'class' => $password_param, 'min' => 5 ]
|
|
],
|
|
[
|
|
'name' => 'Hasło - powtórz',
|
|
'db' => 'password_re',
|
|
'type' => 'text',
|
|
'params' => [ 'class' => $password_param, 'min' => 5, 'equal' => 'password', 'error_txt' => 'Podane hasła są różne' ]
|
|
]
|
|
];
|
|
$grid -> actions = [
|
|
'save' => [ 'url' => '/admin/users/user_save/', 'back_url' => '/admin/users/view_list/' ],
|
|
'cancel' => [ 'url' => '/admin/users/view_list/' ]
|
|
];
|
|
echo $grid -> draw();
|
|
?>
|
|
<script type="text/javascript">
|
|
$( function()
|
|
{
|
|
disable_menu();
|
|
});
|
|
|
|
function check_login()
|
|
{
|
|
var response = null;
|
|
|
|
$.ajax({
|
|
type: 'POST',
|
|
cache: false,
|
|
async: false,
|
|
url: '/admin/ajax.php',
|
|
data:
|
|
{
|
|
a: 'check_login',
|
|
login: $.trim( $( '#login' ).val() ),
|
|
user_id: <?= (int)$this -> user['id'];?>
|
|
},
|
|
success: function( data )
|
|
{
|
|
response = $.parseJSON( data );
|
|
}
|
|
});
|
|
return response;
|
|
}
|
|
</script>
|