Actual dataset id */ /* Path settings */ $strPattern = '(admin/[^/]*.php)'; $preRelPath = preg_replace($strPattern, '', filter_input(INPUT_SERVER, 'PHP_SELF')); $preBasePath = preg_replace($strPattern, '', filter_input(INPUT_SERVER, 'SCRIPT_FILENAME')); /* Define common variables */ $preAccess = 1; $preNoMain = 1; require $preBasePath . 'functions/prepend_adm.php'; /* Process get parameters */ $chkDataId = filter_input(INPUT_GET, 'dataId', FILTER_VALIDATE_INT, array('options' => array('default' => 0))); $chkVersion = filter_input(INPUT_GET, 'version', FILTER_VALIDATE_INT, array('options' => array('default' => 0))); $chkMode = (string)filter_input(INPUT_GET, 'mode'); $chkUser = (string)filter_input(INPUT_GET, 'user'); $chkRights = (string)filter_input(INPUT_GET, 'rights'); $chkId = filter_input(INPUT_GET, 'id', FILTER_VALIDATE_INT); $chkLinkTab = (string)filter_input(INPUT_GET, 'linktab'); if (substr_count($chkRights, '-')) { $arrRights = explode('-', $chkRights); $strRights = ''; if ((int)$arrRights[0] === 1) { $strRights .= 'READ,'; } if ((int)$arrRights[1] === 1) { $strRights .= 'WRITE,'; } if ((int)$arrRights[2] === 1) { $strRights .= 'LINK,'; } if ($strRights !== '') { $strRights = substr($strRights, 0, -1); } $chkRights = $strRights; } /* Get datasets */ if ($chkLinkTab !== '') { /** @noinspection SqlResolve */ $strSQL = 'SELECT * FROM `tbl_user` LEFT JOIN `' . $chkLinkTab . '` ON `id`=`idSlave` ' . "WHERE `idMaster`=$chkDataId ORDER BY `username`"; $booReturn = $myDBClass->hasDataArray($strSQL, $arrDataLines, $intDataCount); /* Write data to session */ if (($chkMode === null) || ($chkMode === '')) { $_SESSION['groupuser'] = array(); if ($intDataCount !== 0) { foreach ($arrDataLines as $elem) { $arrTemp['id'] = (int)$elem['id']; $arrTemp['user'] = (int)$elem['id']; $strRights = ''; if ((int)$elem['read'] === 1) { $strRights .= 'READ,'; } if ((int)$elem['write'] === 1) { $strRights .= 'WRITE,'; } if ((int)$elem['link'] === 1) { $strRights .= 'LINK,'; } if ($strRights !== '') { $strRights = substr($strRights, 0, -1); } $arrTemp['rights'] = $strRights; $arrTemp['status'] = 0; $_SESSION['groupuser'][] = $arrTemp; } } } } /* Add mode */ if ($chkMode === 'add') { if (isset($_SESSION['groupuser']) && is_array($_SESSION['groupuser'])) { $intCheck = 0; foreach ($_SESSION['groupuser'] as $key => $elem) { if (((int)$elem['user'] === (int)$chkUser) && ((int)$elem['status'] === 0)) { $_SESSION['groupuser'][$key]['user'] = $chkUser; $_SESSION['groupuser'][$key]['rights'] = $chkRights; $intCheck = 1; } } if ($intCheck === 0) { $arrTemp['id'] = 0; $arrTemp['user'] = $chkUser; $arrTemp['rights'] = $chkRights; $arrTemp['status'] = 0; $_SESSION['groupuser'][] = $arrTemp; } } else { $arrTemp['id'] = 0; $arrTemp['user'] = $chkUser; $arrTemp['rights'] = $chkRights; $arrTemp['status'] = 0; $_SESSION['groupuser'] = array(); $_SESSION['groupuser'][] = $arrTemp; } } /* Deletion mode */ if ($chkMode === 'del' && isset($_SESSION['groupuser']) && is_array($_SESSION['groupuser'])) { foreach ($_SESSION['groupuser'] as $key => $elem) { if (((int)$elem['user'] === (int)$chkUser) && ((int)$elem['status'] === 0)) { $_SESSION['groupuser'][$key]['status'] = 1; } } } ?>
![]() |
||