0 && $j > 0 && isset ($tmp[$i]) && isset ($tmp2[$j]) && $tmp[$i] == $tmp2[$j]) { $i--; $j--; } if (!$res && $i > 0 && file_exists(substr($tmp, 0, ($i + 1)) . "/main.inc.php")) { $res = @include substr($tmp, 0, ($i + 1)) . "/main.inc.php"; } if (!$res && $i > 0 && file_exists(dirname(substr($tmp, 0, ($i + 1))) . "/main.inc.php")) { $res = @include dirname(substr($tmp, 0, ($i + 1))) . "/main.inc.php"; } // Try main.inc.php using relative path if (!$res && file_exists("../main.inc.php")) { $res = @include "../main.inc.php"; } if (!$res && file_exists("../../main.inc.php")) { $res = @include "../../main.inc.php"; } if (!$res && file_exists("../../../main.inc.php")) { $res = @include "../../../main.inc.php"; } if (!$res) { die ("Include of main fails"); } require_once DOL_DOCUMENT_ROOT . '/custom/settlements/class/helper.class.php'; $helper = new Helper($db); function getFilteredUsers($db, $string) { $filteredUsers = []; $sql = "SELECT u.rowid, u.login, u.firstname, u.lastname, ue.nickname, ue.user_category FROM llx_user as u INNER JOIN llx_user_extrafields AS ue ON ue.fk_object = u.rowid WHERE ue.user_category = '1' AND u.rowid NOT IN (SELECT fk_user FROM llx_settlements_groupusers) AND (u.lastname LIKE '%{$string}%' OR u.firstname LIKE '%{$string}%' OR ue.nickname LIKE '%{$string}%' OR u.login LIKE '%{$string}%') ORDER BY u.lastname"; //print $sql; $data = $db->query($sql); if (!$data) { dol_syslog("No group found.", LOG_DEBUG | LOG_INFO | LOG_WARNING | LOG_ERR); } while ($row = pg_fetch_assoc($data)) { $row['openDailyClosing'] = 0; $dailyclosingSql = "SELECT * FROM llx_rollerstorage_packagehistory WHERE user_id = {$row['rowid']} AND status = 0 ORDER BY rowid DESC LIMIT 1"; $dailyclosingData = $db->query($dailyclosingSql); if($db->num_rows($dailyclosingData) > 0){ $dCRow = $db->fetch_object($dailyclosingData); $row['openDailyClosing'] = $dCRow->rowid; } $filteredUsers['freeUsers'][] = $row; } $sqlAddedUsers = "SELECT gu.fk_user, u.firstname, u.lastname, u.login, ue.nickname, sg.ref as groupref, sg.rowid as groupid FROM llx_settlements_groupusers as gu INNER JOIN llx_user as u ON u.rowid = gu.fk_user INNER JOIN llx_user_extrafields as ue ON gu.fk_user = ue.fk_object AND (u.lastname LIKE '%{$string}%' OR u.firstname LIKE '%{$string}%' OR ue.nickname LIKE '%{$string}%' OR u.login LIKE '%{$string}%') INNER JOIN llx_settlements_group as sg ON sg.rowid = gu.fk_settlements_group ORDER BY ue.nickname"; $dataAddedUsers = $db->query($sqlAddedUsers); if (!$data) { dol_syslog("No group found.", LOG_DEBUG | LOG_INFO | LOG_WARNING | LOG_ERR); } while ($rowAddedUsers = pg_fetch_assoc($dataAddedUsers)) { $filteredUsers['addedUsers'][] = $rowAddedUsers; } return $filteredUsers; } $search_title = GETPOST('search_title', 'alpha'); $toselectnewuser = GETPOST('toselectnewuser', 'alpha'); $reduction = GETPOST('reduction', 'alpha'); if ($search_title) { if (!isset ($_SESSION['usersArray'])) { if ($toselectnewuser) { $selectedArray = explode(',', $toselectnewuser); $_SESSION['usersArray'] = $selectedArray; $selectedArray = $_SESSION['usersArray']; } elseif ($reduction) { $selectedArray = explode(',', $reduction); $_SESSION['usersArray'] = $selectedArray; $selectedArray = $_SESSION['usersArray']; } else { //print '1'; //unset($_SESSION['usersArray']); } } else { //$selectedArray = $_SESSION['usersArray']; if ($toselectnewuser) { $selectedArray = explode(',', $toselectnewuser); $_SESSION['usersArray'] = array_unique(array_merge($_SESSION['usersArray'], $selectedArray)); $selectedArray = $_SESSION['usersArray']; } elseif ($reduction) { $reduction_id = explode(',', $reduction); $_SESSION['usersArray'] = array_diff($_SESSION['usersArray'], $reduction_id); $selectedArray = $_SESSION['usersArray']; if (empty ($_SESSION['usersArray'])) { unset($_SESSION['usersArray']); } } else { //print '2'; } } } else { if (!isset ($_SESSION['usersArray'])) { if ($toselectnewuser) { $selectedArray = explode(',', $toselectnewuser); $_SESSION['usersArray'] = $selectedArray; $selectedArray = $_SESSION['usersArray']; } elseif ($reduction) { $selectedArray = explode(',', $reduction); $_SESSION['usersArray'] = $selectedArray; $selectedArray = $_SESSION['usersArray']; } else { //print '3'; //unset($_SESSION['usersArray']); } } else { //$selectedArray = $_SESSION['usersArray']; if ($toselectnewuser) { $selectedArray = explode(',', $toselectnewuser); $_SESSION['usersArray'] = array_unique(array_merge($_SESSION['usersArray'], $selectedArray)); $selectedArray = $_SESSION['usersArray']; } elseif ($reduction) { $reduction_id = explode(',', $reduction); $_SESSION['usersArray'] = array_diff($_SESSION['usersArray'], $reduction_id); //$_SESSION['usersArray'] = $selectedArray; $selectedArray = $_SESSION['usersArray']; if (empty ($_SESSION['usersArray'])) { unset($_SESSION['usersArray']); } } else { //print '4'; $selectedArray = $_SESSION['usersArray']; } } } $allUsers = $search_title !== '' ? getFilteredUsers($db, $search_title) : $helper->getAllUsers($db); $form = new Form($db); print $isConfirmedTheGroup; $searchedString = ''; if (is_array($allUsers['freeUsers'])) { print '' . "\n"; foreach ($allUsers['freeUsers'] as $freeUser) { if (!empty ($selectedArray)) { $selected = in_array($freeUser['rowid'], $selectedArray) ? 'checked' : ''; } $linkToDailyclosing = $freeUser['openDailyClosing'] > 0 ? '
' . $langs->trans('HasAnOpenDailyClosing') . 'Link
' : ''; $dCDisabled = $freeUser['openDailyClosing'] > 0 ? 'disabled' : ''; $nickname = isset ($freeUser['nickname']) ? '' . $freeUser['nickname'] . ' - ' : ''; $searchedString .= ''; } } $searchedString .= '
' . $nickname . $freeUser['lastname'] . ' ' . $freeUser['firstname'] . ' (' . $freeUser['login'] . ') ' . $linkToDailyclosing . '
'; if (is_array($allUsers['addedUsers'])) { foreach ($allUsers['addedUsers'] as $addedUser) { $nickname = isset ($addedUser['nickname']) ? '' . $addedUser['nickname'] . ' - ' : ''; $searchedString .= ' '; } } $searchedString .= '
' . $nickname . $addedUser['lastname'] . ' ' . $addedUser['firstname'] . ' (' . $addedUser['login'] . ')
' . $addedUser['groupref'] . '
'; print $searchedString; ?>