logoutmanagement_list.php 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168
  1. <?php
  2. /* Copyright (C) 2001-2005 Rodolphe Quiedeville <rodolphe@quiedeville.org>
  3. * Copyright (C) 2004-2015 Laurent Destailleur <eldy@users.sourceforge.net>
  4. * Copyright (C) 2005-2012 Regis Houssin <regis.houssin@inodbox.com>
  5. * Copyright (C) 2015 Jean-François Ferry <jfefe@aternatik.fr>
  6. *
  7. * This program is free software; you can redistribute it and/or modify
  8. * it under the terms of the GNU General Public License as published by
  9. * the Free Software Foundation; either version 3 of the License, or
  10. * (at your option) any later version.
  11. *
  12. * This program is distributed in the hope that it will be useful,
  13. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  14. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  15. * GNU General Public License for more details.
  16. *
  17. * You should have received a copy of the GNU General Public License
  18. * along with this program. If not, see <https://www.gnu.org/licenses/>.
  19. */
  20. /**
  21. * \file settlements/settlementsindex.php
  22. * \ingroup settlements
  23. * \brief Home page of settlements top menu
  24. */
  25. // Load Dolibarr environment
  26. $res = 0;
  27. // Try main.inc.php into web root known defined into CONTEXT_DOCUMENT_ROOT (not always defined)
  28. if (!$res && !empty($_SERVER["CONTEXT_DOCUMENT_ROOT"])) {
  29. $res = @include $_SERVER["CONTEXT_DOCUMENT_ROOT"] . "/main.inc.php";
  30. }
  31. // Try main.inc.php into web root detected using web root calculated from SCRIPT_FILENAME
  32. $tmp = empty($_SERVER['SCRIPT_FILENAME']) ? '' : $_SERVER['SCRIPT_FILENAME'];
  33. $tmp2 = realpath(__FILE__);
  34. $i = strlen($tmp) - 1;
  35. $j = strlen($tmp2) - 1;
  36. while ($i > 0 && $j > 0 && isset($tmp[$i]) && isset($tmp2[$j]) && $tmp[$i] == $tmp2[$j]) {
  37. $i--;
  38. $j--;
  39. }
  40. if (!$res && $i > 0 && file_exists(substr($tmp, 0, ($i + 1)) . "/main.inc.php")) {
  41. $res = @include substr($tmp, 0, ($i + 1)) . "/main.inc.php";
  42. }
  43. if (!$res && $i > 0 && file_exists(dirname(substr($tmp, 0, ($i + 1))) . "/main.inc.php")) {
  44. $res = @include dirname(substr($tmp, 0, ($i + 1))) . "/main.inc.php";
  45. }
  46. // Try main.inc.php using relative path
  47. if (!$res && file_exists("../main.inc.php")) {
  48. $res = @include "../main.inc.php";
  49. }
  50. if (!$res && file_exists("../../main.inc.php")) {
  51. $res = @include "../../main.inc.php";
  52. }
  53. if (!$res && file_exists("../../../main.inc.php")) {
  54. $res = @include "../../../main.inc.php";
  55. }
  56. if (!$res) {
  57. die("Include of main fails");
  58. }
  59. require_once DOL_DOCUMENT_ROOT . '/core/class/html.formfile.class.php';
  60. require_once DOL_DOCUMENT_ROOT . '/custom/settlements/class/helper.class.php';
  61. require_once DOL_DOCUMENT_ROOT . '/user/class/user.class.php';
  62. $helper = new Helper($db);
  63. $userObj = new User($db);
  64. // Load translation files required by the page
  65. $langs->loadLangs(array("settlements@settlements"));
  66. $action = GETPOST('action', 'aZ09');
  67. $id = GETPOST('id', 'int');
  68. $idmenu = GETPOST('idmenu', 'int');
  69. $limit = GETPOST('limit', 'int') ? GETPOST('limit', 'int') : $conf->liste_limit;
  70. $sortfield = GETPOST('sortfield', 'aZ09comma');
  71. $sortorder = GETPOST('sortorder', 'aZ09comma');
  72. $search_nickname = GETPOST('search_nickname', 'alpha');
  73. $search_name = GETPOST('search_name', 'alpha');
  74. $search_login = GETPOST('search_login', 'alpha');
  75. $searchArray = ['search_name' => $search_name, 'search_nickname' => $search_nickname, 'search_login' => $search_login];
  76. $search = array();
  77. foreach ($searchArray as $key => $val) {
  78. if (GETPOST($key, 'alpha') !== '') {
  79. $search[$key] = GETPOST($key, 'alpha');
  80. }
  81. }
  82. if (GETPOST('button_removefilter_x', 'alpha')) {
  83. foreach ($searchArray as $key => $val) {
  84. $search[$key] = '';
  85. $searchArray[$key] = '';
  86. $$key = '';
  87. }
  88. }
  89. if (!$sortorder) {
  90. $sortorder = "ASC";
  91. }
  92. $form = new Form($db);
  93. $formfile = new FormFile($db);
  94. $sql = "SELECT u.rowid, u.lastname, u.firstname, u.login, ue.nickname
  95. FROM llx_user AS u
  96. LEFT JOIN llx_user_extrafields AS ue ON u.rowid = ue.fk_object
  97. WHERE ue.user_category = '1'";
  98. if ($search_nickname) {
  99. $sql .= " AND ue.nickname LIKE '%{$search_nickname}%'";
  100. }
  101. if ($search_name) {
  102. $sql .= " AND (u.firstname LIKE '%{$search_name}%' OR u.lastname LIKE '%{$search_name}%')";
  103. }
  104. if ($search_login) {
  105. $sql .= " AND u.login LIKE '%{$search_login}%'";
  106. }
  107. $sql .= " ORDER BY u.lastname";
  108. $sql .= " {$sortorder}";
  109. $allSalesUsers = $helper->getAllSalesWithSQL($userObj, $sql);
  110. $title = '';
  111. $help_url = '';
  112. $morejs = '';
  113. $morecss = '';
  114. llxHeader('', $title, $help_url, '', 0, 0, $morejs, $morecss, '', 'classforhorizontalscrolloftabs');
  115. $url = $_SERVER["PHP_SELF"] . '?idmenu=' . $idmenu . '&mainmenu=settlements&leftmenu=';
  116. print '<form method="POST" id="logoutManagementForm" action="' . $url . '">' . "\n";
  117. print '<input type="hidden" name="token" value="' . newToken() . '">';
  118. print '<input type="hidden" name="formfilteraction" id="formfilteraction" value="list">';
  119. print '<input type="hidden" name="action" value="list">';
  120. print '<input type="hidden" name="sortfield" value="' . $sortfield . '">';
  121. print '<input type="hidden" name="sortorder" value="' . $sortorder . '">';
  122. //print '<input type="hidden" name="page" value="' . $page . '">';
  123. $now = date('Y.m.d', dol_now());
  124. print load_fiche_titre($langs->trans("LogoutManagement") . '&nbsp; ' . $now, '', 'settlements.png@settlements');
  125. print '
  126. <table style="width:100%;">
  127. <tr>
  128. <th>' . $langs->trans("username") . '</th>
  129. <th>' . $langs->trans("nickname") . '</th>
  130. <th>' . $langs->trans("login") . '</th>
  131. </tr>';
  132. include DOL_DOCUMENT_ROOT . '/custom/settlements/core/tpl/search_fields_for_userslist.tpl.php';
  133. $rownum = 0;
  134. $helper->tableDrawer($allSalesUsers, $db, $idmenu);
  135. print '</table>';
  136. print '</form>' . "\n";
  137. // End of page
  138. llxFooter();
  139. $db->close();
  140. ?>