26if (! defined(
'CSRFCHECK_WITH_TOKEN')) {
27 define(
'CSRFCHECK_WITH_TOKEN',
'1');
31require
'../../main.inc.php';
32require_once DOL_DOCUMENT_ROOT.
'/core/lib/admin.lib.php';
36$langs->loadLangs(array(
"companies",
"install",
"users",
"other"));
42$action =
GETPOST(
'action',
'aZ09');
43$confirm =
GETPOST(
'confirm',
'alpha');
46if ($user->socid > 0) {
48 $socid = $user->socid;
52$sortfield =
GETPOST(
'sortfield',
'aZ09comma');
53$sortorder =
GETPOST(
'sortorder',
'aZ09comma');
55if (empty($page) || $page == -1) {
58$offset = $limit * $page;
65 $sortfield =
"dateevent";
74if ($action ==
'confirm_purge' && $confirm ==
'yes' && $user->admin) {
79if ($action ==
'confirm_lock' && $confirm ==
'yes' && $user->admin) {
80 if (
dolibarr_set_const($db,
'MAIN_ONLY_LOGIN_ALLOWED', $user->login,
'text', 1,
'Logon is restricted to a particular user', 0) < 0) {
86if ($action ==
'confirm_unlock' && $user->admin) {
98llxHeader(
'',
'',
'',
'', 0, 0,
'',
'',
'',
'mod-admin page-tools_listsessions');
100$form =
new Form($db);
102$userstatic =
new User($db);
106$num = count($listofsessions);
108print_barre_liste($langs->trans(
"Sessions"), $page, $_SERVER[
"PHP_SELF"],
"", $sortfield, $sortorder,
'', $num, ($num ? $num :
''),
'setup');
110$savehandler = ini_get(
"session.save_handler");
111$savepath = ini_get(
"session.save_path");
112$openbasedir = ini_get(
"open_basedir");
114$suhosin = empty($phparray[
'suhosin'][
"suhosin.session.encrypt"][
"local"]) ?
'' : $phparray[
'suhosin'][
"suhosin.session.encrypt"][
"local"];
116print
'<b>'.$langs->trans(
"SessionSaveHandler").
'</b>: '.$savehandler.
'<br>';
117print
'<b>'.$langs->trans(
"SessionSavePath").
'</b>: '.$savepath.
'<br>';
119 print
'<b>'.$langs->trans(
"OpenBaseDir").
'</b>: '.$openbasedir.
'<br>';
122 print
'<b>'.$langs->trans(
"SuhosinSessionEncrypt").
'</b>: '.$suhosin.
'<br>';
126if ($action ==
'purge') {
127 $formquestion = array();
128 print $form->formconfirm($_SERVER[
"PHP_SELF"].
'?noparam=noparam', $langs->trans(
'PurgeSessions'), $langs->trans(
'ConfirmPurgeSessions'),
'confirm_purge', $formquestion,
'no', 2);
129} elseif ($action ==
'lock') {
130 $formquestion = array();
131 print $form->formconfirm($_SERVER[
"PHP_SELF"].
'?noparam=noparam', $langs->trans(
'LockNewSessions'), $langs->trans(
'ConfirmLockNewSessions', $user->login),
'confirm_lock', $formquestion,
'no', 1);
134if ($savehandler ==
'files') {
135 print
'<table class="liste centpercent">';
136 print
'<tr class="liste_titre">';
137 print_liste_field_titre(
"Login", $_SERVER[
"PHP_SELF"],
"login",
"",
"",
'align="left"', $sortfield, $sortorder);
138 print_liste_field_titre(
"SessionId", $_SERVER[
"PHP_SELF"],
"id",
"",
"",
'align="left"', $sortfield, $sortorder);
139 print_liste_field_titre(
"DateCreation", $_SERVER[
"PHP_SELF"],
"datec",
"",
"",
'align="left"', $sortfield, $sortorder);
140 print_liste_field_titre(
"DateModification", $_SERVER[
"PHP_SELF"],
"datem",
"",
"",
'align="left"', $sortfield, $sortorder);
147 foreach ($listofsessions as $key => $sessionentry) {
148 print
'<tr class="oddeven">';
151 print
'<td>'.$sessionentry[
'login'].
'</td>';
154 print
'<td class="nowrap left">';
155 if (
"$key" == session_id()) {
156 print $form->textwithpicto($key, $langs->trans(
"YourSession"));
163 print
'<td class="nowrap left">'.dol_print_date($sessionentry[
'creation'],
'%Y-%m-%d %H:%M:%S').
'</td>';
166 print
'<td class="nowrap left">'.dol_print_date($sessionentry[
'modification'],
'%Y-%m-%d %H:%M:%S').
'</td>';
169 print
'<td>'.$sessionentry[
'age'].
'</td>';
172 print
'<td>'.dol_trunc($sessionentry[
'raw'], 40,
'middle').
'</td>';
174 print
'<td> </td>';
180 if (count($listofsessions) == 0) {
181 print
'<tr class="oddeven"><td colspan="7">'.$langs->trans(
"NoSessionFound", $savepath, $openbasedir).
'</td></tr>';
185 print $langs->trans(
"NoSessionListWithThisHandler");
192print
'<div class="tabsAction">';
196 print
'<a class="butAction" href="'.$_SERVER[
"PHP_SELF"].
'?action=lock&token='.
newToken().
'">'.$langs->trans(
"LockNewSessions").
'</a>';
198 print
'<a class="butAction" href="'.$_SERVER[
"PHP_SELF"].
'?action=confirm_unlock&token='.
newToken().
'">'.$langs->trans(
"UnlockNewSessions").
'</a>';
201if ($savehandler ==
'files') {
202 if (count($listofsessions)) {
203 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($head='', $title='', $help_url='', $target='', $disablejs=0, $disablehead=0, $arrayofjs='', $arrayofcss='', $morequerystring='', $morecssonbody='', $replacemainareaby='', $disablenofollow=0, $disablenoindex=0)
Empty header.
Class to manage Dolibarr users.
print_barre_liste($title, $page, $file, $options='', $sortfield='', $sortorder='', $morehtmlcenter='', $num=-1, $totalnboflines='', $picto='generic', $pictoisfullpath=0, $morehtmlright='', $morecss='', $limit=-1, $selectlimitsuffix=0, $hidenavigation=0, $pagenavastextinput=0, $morehtmlrightbeforearrow='')
Print a title with navigation controls for pagination.
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.
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 a 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.