25if (! defined(
'CSRFCHECK_WITH_TOKEN')) {
26 define(
'CSRFCHECK_WITH_TOKEN',
'1');
30require
'../../main.inc.php';
31require_once DOL_DOCUMENT_ROOT.
'/core/lib/admin.lib.php';
35$langs->loadLangs(array(
"companies",
"install",
"users",
"other"));
41$action =
GETPOST(
'action',
'aZ09');
42$confirm =
GETPOST(
'confirm',
'alpha');
45if ($user->socid > 0) {
47 $socid = $user->socid;
51$sortfield =
GETPOST(
'sortfield',
'aZ09comma');
52$sortorder =
GETPOST(
'sortorder',
'aZ09comma');
54if (empty($page) || $page == -1) {
57$offset = $limit * $page;
64 $sortfield =
"dateevent";
73if ($action ==
'confirm_purge' && $confirm ==
'yes' && $user->admin) {
78if ($action ==
'confirm_lock' && $confirm ==
'yes' && $user->admin) {
79 if (
dolibarr_set_const($db,
'MAIN_ONLY_LOGIN_ALLOWED', $user->login,
'text', 1,
'Logon is restricted to a particular user', 0) < 0) {
85if ($action ==
'confirm_unlock' && $user->admin) {
97llxHeader(
'',
'',
'',
'', 0, 0,
'',
'',
'',
'mod-admin page-tools_listsessions');
101$userstatic =
new User($db);
105$num = count($listofsessions);
107print_barre_liste($langs->trans(
"Sessions"), $page, $_SERVER[
"PHP_SELF"],
"", $sortfield, $sortorder,
'', $num, ($num ? $num :
''),
'setup');
109$savehandler = ini_get(
"session.save_handler");
110$savepath = ini_get(
"session.save_path");
111$openbasedir = ini_get(
"open_basedir");
113$suhosin = empty($phparray[
'suhosin'][
"suhosin.session.encrypt"][
"local"]) ?
'' : $phparray[
'suhosin'][
"suhosin.session.encrypt"][
"local"];
115print
'<b>'.$langs->trans(
"SessionSaveHandler").
'</b>: '.$savehandler.
'<br>';
116print
'<b>'.$langs->trans(
"SessionSavePath").
'</b>: '.$savepath.
'<br>';
118 print
'<b>'.$langs->trans(
"OpenBaseDir").
'</b>: '.$openbasedir.
'<br>';
121 print
'<b>'.$langs->trans(
"SuhosinSessionEncrypt").
'</b>: '.$suhosin.
'<br>';
125if ($action ==
'purge') {
126 $formquestion = array();
127 print $form->formconfirm($_SERVER[
"PHP_SELF"].
'?noparam=noparam', $langs->trans(
'PurgeSessions'), $langs->trans(
'ConfirmPurgeSessions'),
'confirm_purge', $formquestion,
'no', 2);
128} elseif ($action ==
'lock') {
129 $formquestion = array();
130 print $form->formconfirm($_SERVER[
"PHP_SELF"].
'?noparam=noparam', $langs->trans(
'LockNewSessions'), $langs->trans(
'ConfirmLockNewSessions', $user->login),
'confirm_lock', $formquestion,
'no', 1);
133if ($savehandler ==
'files') {
134 print
'<table class="liste centpercent">';
135 print
'<tr class="liste_titre">';
136 print_liste_field_titre(
"Login", $_SERVER[
"PHP_SELF"],
"login",
"",
"",
'align="left"', $sortfield, $sortorder);
137 print_liste_field_titre(
"SessionId", $_SERVER[
"PHP_SELF"],
"id",
"",
"",
'align="left"', $sortfield, $sortorder);
138 print_liste_field_titre(
"DateCreation", $_SERVER[
"PHP_SELF"],
"datec",
"",
"",
'align="left"', $sortfield, $sortorder);
139 print_liste_field_titre(
"DateModification", $_SERVER[
"PHP_SELF"],
"datem",
"",
"",
'align="left"', $sortfield, $sortorder);
145 foreach ($listofsessions as $key => $sessionentry) {
146 print
'<tr class="oddeven">';
149 print
'<td>'.$sessionentry[
'login'].
'</td>';
152 print
'<td class="nowrap left">';
153 if (
"$key" == session_id()) {
154 print $form->textwithpicto($key, $langs->trans(
"YourSession"));
161 print
'<td class="nowrap left">'.dol_print_date($sessionentry[
'creation'],
'%Y-%m-%d %H:%M:%S').
'</td>';
164 print
'<td class="nowrap left">'.dol_print_date($sessionentry[
'modification'],
'%Y-%m-%d %H:%M:%S').
'</td>';
167 print
'<td>'.$sessionentry[
'age'].
'</td>';
170 print
'<td>'.dol_trunc($sessionentry[
'raw'], 40,
'middle').
'</td>';
172 print
'<td> </td>';
178 if (count($listofsessions) == 0) {
179 print
'<tr class="oddeven"><td colspan="7">'.$langs->trans(
"NoSessionFound", $savepath, $openbasedir).
'</td></tr>';
183 print $langs->trans(
"NoSessionListWithThisHandler");
190print
'<div class="tabsAction">';
194 print
'<a class="butAction" href="'.$_SERVER[
"PHP_SELF"].
'?action=lock&token='.
newToken().
'">'.$langs->trans(
"LockNewSessions").
'</a>';
196 print
'<a class="butAction" href="'.$_SERVER[
"PHP_SELF"].
'?action=confirm_unlock&token='.
newToken().
'">'.$langs->trans(
"UnlockNewSessions").
'</a>';
199if ($savehandler ==
'files') {
200 if (count($listofsessions)) {
201 print
'<a class="butActionDelete" href="'.$_SERVER[
"PHP_SELF"].
'?action=purge&token='.
newToken().
'">'.$langs->trans(
"PurgeSessions").
'</a>';
dolibarr_set_const($db, $name, $value, $type='chaine', $visible=0, $note='', $entity=1)
Insert a parameter (key,value) into database (delete old key then insert it again).
purgeSessions($mysessionid)
Purge existing sessions.
dolibarr_del_const($db, $name, $entity=1)
Delete a constant.
listOfSessions()
Return list of session.
phpinfo_array()
Return the php_info into an array.
if(!defined('NOREQUIRESOC')) if(!defined( 'NOREQUIRETRAN')) if(!defined('NOTOKENRENEWAL')) if(!defined( 'NOREQUIREMENU')) if(!defined('NOREQUIREHTML')) if(!defined( 'NOREQUIREAJAX')) llxHeader()
Empty header.
Class to manage Dolibarr users.
GETPOSTINT($paramname, $method=0)
Return the value of a $_GET or $_POST supervariable, converted into integer.
newToken()
Return the value of token currently saved into session with name 'newtoken'.
print_liste_field_titre($name, $file="", $field="", $begin="", $moreparam="", $moreattrib="", $sortfield="", $sortorder="", $prefix="", $tooltip="", $forcenowrapcolumntitle=0)
Show title line of an array.
print_barre_liste($title, $page, $file, $options='', $sortfield='', $sortorder='', $morehtmlcenter='', $num=-1, $totalnboflines='', $picto='generic', $pictoisfullpath=0, $morehtmlright='', $morecss='', $limit=-1, $hideselectlimit=0, $hidenavigation=0, $pagenavastextinput=0, $morehtmlrightbeforearrow='')
Print a title with navigation controls for pagination.
GETPOST($paramname, $check='alphanohtml', $method=0, $filter=null, $options=null, $noreplace=0)
Return value of a param into GET or POST supervariable.
dol_print_error($db=null, $error='', $errors=null)
Displays error message system with all the information to facilitate the diagnosis and the escalation...
getDolGlobalString($key, $default='')
Return dolibarr global constant string value.
accessforbidden($message='', $printheader=1, $printfooter=1, $showonlymessage=0, $params=null)
Show a message to say access is forbidden and stop program.