Merge branch 'seeddms-5.1.x' into seeddms-6.0.x

This commit is contained in:
Uwe Steinmann 2022-09-02 08:04:55 +02:00
commit 9a22f0390a
2 changed files with 29 additions and 2 deletions

View File

@ -35,6 +35,15 @@ function renderBaseData($colname, $objdata) { /* {{{ */
return $objdata[$colname];
} /* }}} */
function getBooleanData($colname, $coldata, $objdata) { /* {{{ */
$objdata[$colname] = $coldata == '1';
return $objdata;
} /* }}} */
function renderBooleanData($colname, $objdata) { /* {{{ */
return $objdata[$colname] ? '1' : '0';
} /* }}} */
function getPasswordPlainData($colname, $coldata, $objdata) { /* {{{ */
$objdata['passenc'] = seed_pass_hash($coldata);
return $objdata;
@ -49,6 +58,10 @@ function getQuotaData($colname, $coldata, $objdata) { /* {{{ */
return $objdata;
} /* }}} */
function renderQuotaData($colname, $objdata) { /* {{{ */
return SeedDMS_Core_File::format_filesize($objdata[$colname]);
} /* }}} */
function getFolderData($colname, $coldata, $objdata) { /* {{{ */
global $dms;
if($coldata) {
@ -168,6 +181,8 @@ if (isset($_FILES['userdata']) && $_FILES['userdata']['error'] == 0) {
$colmap[$i] = array("getPasswordPlainData", "renderPasswordPlainData", 'passenc');
} elseif(in_array($colname, array('login', 'name', 'passenc', 'email', 'comment', 'group'))) {
$colmap[$i] = array("getBaseData", "renderBaseData", $colname);
} elseif(in_array($colname, array('disabled', 'hidden'))) {
$colmap[$i] = array("getBooleanData", "renderBooleanData", $colname);
} elseif(substr($colname, 0, 5) == 'attr:') {
$kk = explode(':', $colname, 2);
if(($attrdef = $dms->getAttributeDefinitionByName($kk[1])) || ($attrdef = $dms->getAttributeDefinition((int) $kk[1]))) {
@ -204,7 +219,7 @@ if (isset($_FILES['userdata']) && $_FILES['userdata']['error'] == 0) {
$newusers[$md['login']] = $md;
}
}
// echo "<pre>";print_r($newusers);echo "</pre>";
// echo "<pre>";print_r($newusers);echo "</pre>";exit;
$makeupdate = !empty($_POST['update']);
foreach($newusers as $uhash=>$u) {
$log[$uhash] = [];
@ -239,6 +254,16 @@ if (isset($_FILES['userdata']) && $_FILES['userdata']['error'] == 0) {
if($makeupdate)
$eu->setQuota($u['quota']);
}
if(isset($u['disabled']) && $u['disabled'] != $eu->isDisabled()) {
$log[$uhash][] = array('id'=>$eu->getLogin(), 'type'=>'success', 'msg'=> "Disabled flag of user updated. '".$u['disabled']."' != '".$eu->isDisabled()."'");
if($makeupdate)
$eu->setDisabled($u['disabled']);
}
if(isset($u['hidden']) && $u['hidden'] != $eu->isHidden()) {
$log[$uhash][] = array('id'=>$eu->getLogin(), 'type'=>'success', 'msg'=> "Hidden flag of user updated. '".$u['hidden']."' != '".$eu->isHidden()."'");
if($makeupdate)
$eu->setHidden($u['hidden']);
}
if(isset($u['homefolder']) && $u['homefolder']->getId() != $eu->getHomeFolder()) {
$log[$uhash][] = array('id'=>$eu->getLogin(), 'type'=>'success', 'msg'=> "Homefolder of user updated. '".(is_object($u['homefolder']) ? $u['homefolder']->getId() : '')."' != '".($eu->getHomeFolder() ? $eu->getHomeFolder() : '')."'");
if($makeupdate)
@ -281,10 +306,12 @@ if (isset($_FILES['userdata']) && $_FILES['userdata']['error'] == 0) {
$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
$view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user));
$accessop = new SeedDMS_AccessOperation($dms, null, $user, $settings);
if($view) {
$view->setParam('log', $log);
$view->setParam('newusers', $newusers);
$view->setParam('colmap', $colmap);
$view->setParam('accessobject', $accessop);
$view($_GET);
exit;
}

View File

@ -95,7 +95,7 @@ class SeedDMS_View_ImportUsers extends SeedDMS_Theme_Style {
foreach($newusers as $uhash=>$newuser) {
foreach($colmap as $i=>$coldata) {
echo "<td>";
echo call_user_func($colmap[$i][1], $colmap[$i][2], $newuser);
echo htmlspecialchars(call_user_func($colmap[$i][1], $colmap[$i][2], $newuser));
echo "</td>\n";
}
echo "<td>";