Merge branch 'ent-7676-12038-error-en-users-connected' into 'develop'
fixed sql error without profile See merge request artica/pandorafms!4200
This commit is contained in:
commit
cdc8b0a80c
|
@ -33,10 +33,19 @@ function users_extension_main_god($god=true)
|
||||||
$image = 'images/user.png';
|
$image = 'images/user.png';
|
||||||
}
|
}
|
||||||
|
|
||||||
// Header
|
// Header.
|
||||||
ui_print_page_header(__('Users connected'), $image, false, '', $god);
|
ui_print_page_header(__('Users connected'), $image, false, '', $god);
|
||||||
|
|
||||||
// Get groups user has permission
|
$check_profile = db_get_row('tusuario_perfil', 'id_usuario', $config['id_user'], 'id_up');
|
||||||
|
if ($check_profile === false && !users_is_admin()) {
|
||||||
|
return ui_print_error_message(
|
||||||
|
__('This user does not have any associated profile'),
|
||||||
|
'',
|
||||||
|
false
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Get groups user has permission.
|
||||||
$group_um = users_get_groups_UM($config['id_user']);
|
$group_um = users_get_groups_UM($config['id_user']);
|
||||||
// Is admin or has group permissions all.
|
// Is admin or has group permissions all.
|
||||||
$groups = implode(',', array_keys($group_um, 1));
|
$groups = implode(',', array_keys($group_um, 1));
|
||||||
|
@ -44,6 +53,15 @@ function users_extension_main_god($god=true)
|
||||||
// Get user conected last 5 minutes.Show only those on which the user has permission.
|
// Get user conected last 5 minutes.Show only those on which the user has permission.
|
||||||
switch ($config['dbtype']) {
|
switch ($config['dbtype']) {
|
||||||
case 'mysql':
|
case 'mysql':
|
||||||
|
if (users_is_admin()) {
|
||||||
|
$sql = sprintf(
|
||||||
|
'SELECT tusuario.id_user, tusuario.last_connect
|
||||||
|
FROM tusuario
|
||||||
|
WHERE last_connect > (UNIX_TIMESTAMP(NOW()) - '.SECONDS_5MINUTES.')
|
||||||
|
GROUP BY tusuario.id_user
|
||||||
|
ORDER BY last_connect DESC'
|
||||||
|
);
|
||||||
|
} else {
|
||||||
$sql = sprintf(
|
$sql = sprintf(
|
||||||
'SELECT tusuario.id_user, tusuario.last_connect
|
'SELECT tusuario.id_user, tusuario.last_connect
|
||||||
FROM tusuario
|
FROM tusuario
|
||||||
|
@ -54,9 +72,19 @@ function users_extension_main_god($god=true)
|
||||||
ORDER BY last_connect DESC',
|
ORDER BY last_connect DESC',
|
||||||
$groups
|
$groups
|
||||||
);
|
);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'postgresql':
|
case 'postgresql':
|
||||||
|
if (users_is_admin()) {
|
||||||
|
$sql = sprintf(
|
||||||
|
"SELECT tusuario.id_user, tusuario.last_connect
|
||||||
|
FROM tusuario
|
||||||
|
WHERE last_connect > (ceil(date_part('epoch', CURRENT_TIMESTAMP)) - ".SECONDS_5MINUTES.')
|
||||||
|
GROUP BY tusuario.id_user
|
||||||
|
ORDER BY last_connect DESC'
|
||||||
|
);
|
||||||
|
} else {
|
||||||
$sql = sprintf(
|
$sql = sprintf(
|
||||||
"SELECT tusuario.id_user, tusuario.last_connect
|
"SELECT tusuario.id_user, tusuario.last_connect
|
||||||
FROM tusuario
|
FROM tusuario
|
||||||
|
@ -67,9 +95,19 @@ function users_extension_main_god($god=true)
|
||||||
ORDER BY last_connect DESC',
|
ORDER BY last_connect DESC',
|
||||||
$groups
|
$groups
|
||||||
);
|
);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'oracle':
|
case 'oracle':
|
||||||
|
if (users_is_admin()) {
|
||||||
|
$sql = sprintf(
|
||||||
|
"SELECT tusuario.id_user, tusuario.last_connect
|
||||||
|
FROM tusuario
|
||||||
|
WHERE last_connect > (ceil((sysdate - to_date('19700101000000','YYYYMMDDHH24MISS')) * (".SECONDS_1DAY.')) - '.SECONDS_5MINUTES.')
|
||||||
|
GROUP BY tusuario.id_user
|
||||||
|
ORDER BY last_connect DESC'
|
||||||
|
);
|
||||||
|
} else {
|
||||||
$sql = sprintf(
|
$sql = sprintf(
|
||||||
"SELECT tusuario.id_user, tusuario.last_connect
|
"SELECT tusuario.id_user, tusuario.last_connect
|
||||||
FROM tusuario
|
FROM tusuario
|
||||||
|
@ -80,15 +118,20 @@ function users_extension_main_god($god=true)
|
||||||
ORDER BY last_connect DESC',
|
ORDER BY last_connect DESC',
|
||||||
$groups
|
$groups
|
||||||
);
|
);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
// Nothing to do.
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
$rows = db_get_all_rows_sql($sql);
|
$rows = db_get_all_rows_sql($sql);
|
||||||
|
|
||||||
if (empty($rows)) {
|
if (empty($rows)) {
|
||||||
$rows = [];
|
$rows = [];
|
||||||
echo "<div class='nf'>".__('No other users connected').'</div>';
|
echo "<div class='nf'>".__('No other users connected').'</div>';
|
||||||
} else {
|
} else {
|
||||||
|
$table = new StdClass();
|
||||||
$table->cellpadding = 0;
|
$table->cellpadding = 0;
|
||||||
$table->cellspacing = 0;
|
$table->cellspacing = 0;
|
||||||
$table->width = '100%';
|
$table->width = '100%';
|
||||||
|
@ -105,7 +148,7 @@ function users_extension_main_god($god=true)
|
||||||
$rowPair = true;
|
$rowPair = true;
|
||||||
$iterator = 0;
|
$iterator = 0;
|
||||||
|
|
||||||
// Get data
|
// Get data.
|
||||||
foreach ($rows as $row) {
|
foreach ($rows as $row) {
|
||||||
// Get data of user's last login.
|
// Get data of user's last login.
|
||||||
switch ($config['dbtype']) {
|
switch ($config['dbtype']) {
|
||||||
|
@ -135,6 +178,10 @@ function users_extension_main_god($god=true)
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
// Nothing to do.
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($rowPair) {
|
if ($rowPair) {
|
||||||
|
|
Loading…
Reference in New Issue