25 if (! defined(
'CSRFCHECK_WITH_TOKEN')) {
26 define(
'CSRFCHECK_WITH_TOKEN',
'1');
30 require
'../../main.inc.php';
31 require_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');
45 if ($user->socid > 0) {
47 $socid = $user->socid;
50 $limit =
GETPOST(
'limit',
'int') ?
GETPOST(
'limit',
'int') : $conf->liste_limit;
51 $sortfield =
GETPOST(
'sortfield',
'aZ09comma');
52 $sortorder =
GETPOST(
'sortorder',
'aZ09comma');
54 if (empty($page) || $page == -1) {
57 $offset = $limit * $page;
58 $pageprev = $page - 1;
59 $pagenext = $page + 1;
64 $sortfield =
"dateevent";
73 if ($action ==
'confirm_purge' && $confirm ==
'yes' && $user->admin) {
78 if ($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) {
85 if ($action ==
'confirm_unlock' && $user->admin) {
101 $userstatic =
new User($db);
105 $num = count($listofsessions);
107 print_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"];
115 print
'<b>'.$langs->trans(
"SessionSaveHandler").
'</b>: '.$savehandler.
'<br>';
116 print
'<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>';
125 if ($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);
133 if ($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");
190 print
'<div class="tabsAction">';
193 if (empty($conf->global->MAIN_ONLY_LOGIN_ALLOWED)) {
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>';
199 if ($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.
if($cancel &&! $id) if($action=='add' &&! $cancel) if($action=='delete') if($id) $form
Actions.
dol_print_error($db='', $error='', $errors=null)
Displays error message system with all the information to facilitate the diagnosis and the escalation...
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.
GETPOST($paramname, $check='alphanohtml', $method=0, $filter=null, $options=null, $noreplace=0)
Return value of a param into GET or POST supervariable.
print_barre_liste($titre, $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.
GETPOSTISSET($paramname)
Return true if we are in a context of submitting the parameter $paramname from a POST of a form.
accessforbidden($message='', $printheader=1, $printfooter=1, $showonlymessage=0, $params=null)
Show a message to say access is forbidden and stop program.