User:
Title: PHPHELL
Content:
// Berechtigungen laden
$finalStruktUsers = array();
$notStrukSet = array();
$accsUsers = $dbmain->query($dbmain->select()->from($table['newaccess']))->fetchAll();
$finalAccsUsers = array();
$allAccsUsers = $dbmain->query($dbmain->select()->from($table['userdata'], array('user_name'))->where('user_type != ?', 'admin')->order('user_name ASC'))->fetchAll();
// Details aller Benutzer aufbereiten
if (!empty($allAccsUsers) && is_array($allAccsUsers)) {
foreach($allAccsUsers as $aridx => $rowdata) {
$detaildata = $dbauth->query($dbauth->select()->from($table['userinfo'], array('vorname', 'nachname'))->where('user_name = ?', $rowdata['user_name']))->fetch();
if (!empty($detaildata)) {
$finalAccsUsers[$rowdata['user_name']] = array();
$finalAccsUsers[$rowdata['user_name']]['vorname'] = $detaildata['vorname'];
$finalAccsUsers[$rowdata['user_name']]['nachname'] = $detaildata['nachname'];
}
}
unset($allAccsUsers);
}
// Details aller Zuordnungen aufbereiten
if (!empty($accsUsers) && is_array($accsUsers)) {
foreach($accsUsers as $aridx => $rowdata) {
$finalStruktUsers[$rowdata['sections']][$rowdata['user_name']] = $rowdata['accesslvl'];
$tmpUSectAr = explode('-', $rowdata['sections']);
if (count($tmpUSectAr) == 1) {
// Alle untergeordneten sind bereits dem Benutzer zugeordnet, also sperren
if (isset($rohdatenaufbereitung['bereich'][$tmpUSectAr[0]]) && !empty($rohdatenaufbereitung['anlage'][$tmpUSectAr[0]])) {
foreach ($rohdatenaufbereitung['bereich'][$tmpUSectAr[0]] as $ident => $details) {
$notStrukSet[$tmpUSectAr[0].'-'.$ident][$rowdata['user_name']] = true;
if (isset($rohdatenaufbereitung['anlage'][$ident]) && !empty($rohdatenaufbereitung['anlage'][$ident])) {
foreach ($rohdatenaufbereitung['anlage'][$ident] as $bident => $bdetails) {
$notStrukSet[$tmpUSectAr[0].'-'.$ident.'-'.$bident][$rowdata['user_name']] = true;
}
}
}
}
} elseif (count($tmpUSectAr) == 2) {
// Alle über- und untergeordneten des selben Baums sperren
$notStrukSet[$tmpUSectAr[0]][$rowdata['user_name']] = false;
if (isset($rohdatenaufbereitung['anlage'][$tmpUSectAr[1]]) && !empty($rohdatenaufbereitung['anlage'][$tmpUSectAr[1]])) {
foreach ($rohdatenaufbereitung['anlage'][$tmpUSectAr[1]] as $ident => $details) {
$notStrukSet[$tmpUSectAr[0].'-'.$tmpUSectAr[1].'-'.$ident][$rowdata['user_name']] = true;
}
}
} elseif (count($tmpUSectAr) == 3) {
// Alle übergeordneten des selben Baums sperren
$notStrukSet[$tmpUSectAr[0]][$rowdata['user_name']] = false;
$notStrukSet[$tmpUSectAr[0].'-'.$tmpUSectAr[1]][$rowdata['user_name']] = false;
}
}
unset($accsUsers);
}
$addRowCount = 15;
$sectionname = '-';
$sectionlongname = '-';
$useNeu = false;
Edit |
Back