implemented profile loading
This commit is contained in:
parent
301bb7edf4
commit
3c27a809b2
|
@ -106,6 +106,15 @@ class sambaSamAccount extends baseModule {
|
|||
'type' => 'ext_preg',
|
||||
'regex' => 'unixhost',
|
||||
'error_message' => $this->messages['workstations'][0]);
|
||||
// profile mappings
|
||||
$return['profile_mappings'] = array(
|
||||
'sambaSamAccount_homeDrive' => 'sambaHomeDrive',
|
||||
'sambaSamAccount_smbhome' => 'sambaHomePath',
|
||||
'sambaSamAccount_profilePath' => 'sambaProfilePath',
|
||||
'sambaSamAccount_scriptPath' => 'sambaLogonScript',
|
||||
'sambaSamAccount_userWorkstations' => 'sambaUserWorkstations',
|
||||
'sambaSamAccount_sambaDomainName' => 'sambaDomainName'
|
||||
);
|
||||
// available PDF fields
|
||||
$return['PDF_fields'] = array(
|
||||
'displayName',
|
||||
|
@ -331,17 +340,30 @@ class sambaSamAccount extends baseModule {
|
|||
return $return;
|
||||
}
|
||||
|
||||
// Constructor
|
||||
/**
|
||||
* Initializes the module after it became part of an accountContainer
|
||||
*
|
||||
* @param string $base the name of the accountContainer object ($_SESSION[$base])
|
||||
*/
|
||||
function init($base) {
|
||||
// call parent init
|
||||
parent::init($base);
|
||||
$this->useunixpwd=false;
|
||||
}
|
||||
$this->noexpire = true;
|
||||
$this->nopwd = false;
|
||||
$this->deactivated = false;
|
||||
}
|
||||
|
||||
// Variables
|
||||
// use unix password as samba password?
|
||||
/** use unix password as samba password? */
|
||||
var $useunixpwd;
|
||||
// Array of well known rids
|
||||
/** use no password? */
|
||||
var $nopwd;
|
||||
/** password does not expire? */
|
||||
var $noexpire;
|
||||
/** account deactivated? */
|
||||
var $deactivated;
|
||||
/** array of well known rids */
|
||||
var $rids;
|
||||
|
||||
|
||||
|
@ -400,6 +422,9 @@ class sambaSamAccount extends baseModule {
|
|||
*/
|
||||
function load_attributes($attr) {
|
||||
$this->load_ldap_attributes($attr);
|
||||
if (strpos($this->attributes['sambaAcctFlags'][0], "D")) $this->deactivated = true;
|
||||
if (strpos($this->attributes['sambaAcctFlags'][0], "N")) $this->nopwd = true;
|
||||
if (strpos($this->attributes['sambaAcctFlags'][0], "X")) $this->noexpire = true;
|
||||
// Delete password. We don't want to show an encrypted password because it makes no sense
|
||||
$this->sambaLMPassword('');
|
||||
return 0;
|
||||
|
@ -484,9 +509,27 @@ class sambaSamAccount extends baseModule {
|
|||
$RIDbase = $sambaDomains[$i]->RIDbase;
|
||||
}
|
||||
$flag = "[";
|
||||
if ($post['sambaAcctFlagsD']) $flag .= "D";
|
||||
if ($post['sambaAcctFlagsX']) $flag .= "X";
|
||||
if ($post['sambaAcctFlagsN']) $flag .= "N";
|
||||
if ($post['sambaAcctFlagsD']) {
|
||||
$flag .= "D";
|
||||
$this->deactivated = true;
|
||||
}
|
||||
else {
|
||||
$this->deactivated = false;
|
||||
}
|
||||
if ($post['sambaAcctFlagsX']) {
|
||||
$flag .= "X";
|
||||
$this->noexpire = true;
|
||||
}
|
||||
else {
|
||||
$this->noexpire = false;
|
||||
}
|
||||
if ($post['sambaAcctFlagsN']) {
|
||||
$flag .= "N";
|
||||
$this->nopwd = true;
|
||||
}
|
||||
else {
|
||||
$this->nopwd = false;
|
||||
}
|
||||
if ($post['sambaAcctFlagsS']) $flag .= "S";
|
||||
if ($post['sambaAcctFlagsH']) $flag .= "H";
|
||||
if ($post['sambaAcctFlagsW']) $flag .= "W";
|
||||
|
@ -678,20 +721,14 @@ class sambaSamAccount extends baseModule {
|
|||
1 => array ( 'kind' => 'input', 'name' => 'useunixpwd', 'type' => 'checkbox', 'checked' => $this->useunixpwd),
|
||||
2 => array ('kind' => 'help', 'value' => 'useunixpwd'));
|
||||
}
|
||||
$checked = false;
|
||||
if (strpos($this->attributes['sambaAcctFlags'][0], "N")) $checked = true;
|
||||
$return[] = array ( 0 => array ( 'kind' => 'text', 'text' => _('Use no password') ),
|
||||
1 => array ( 'kind' => 'input', 'name' => 'sambaAcctFlagsN', 'type' => 'checkbox', 'checked' => $checked, 'value' => 'true'),
|
||||
1 => array ( 'kind' => 'input', 'name' => 'sambaAcctFlagsN', 'type' => 'checkbox', 'checked' => $this->nopwd, 'value' => 'true'),
|
||||
2 => array ('kind' => 'help', 'value' => 'sambaAcctFlagsN'));
|
||||
$checked = false;
|
||||
if (strpos($this->attributes['sambaAcctFlags'][0], "X")) $checked = true;
|
||||
$return[] = array ( 0 => array ( 'kind' => 'text', 'text' => _('Password does not expire') ),
|
||||
1 => array ( 'kind' => 'input', 'name' => 'sambaAcctFlagsX', 'type' => 'checkbox', 'checked' => $checked, 'value' => 'true'),
|
||||
1 => array ( 'kind' => 'input', 'name' => 'sambaAcctFlagsX', 'type' => 'checkbox', 'checked' => $this->noexpire, 'value' => 'true'),
|
||||
2 => array ('kind' => 'help', 'value' => 'sambaAcctFlagsX'));
|
||||
$checked = false;
|
||||
if (strpos($this->attributes['sambaAcctFlags'][0], "D")) $checked = true;
|
||||
$return[] = array ( 0 => array ( 'kind' => 'text', 'text' => _('Account is deactivated') ),
|
||||
1 => array ( 'kind' => 'input', 'name' => 'sambaAcctFlagsD', 'type' => 'checkbox', 'checked' => $checked, 'value' => 'true'),
|
||||
1 => array ( 'kind' => 'input', 'name' => 'sambaAcctFlagsD', 'type' => 'checkbox', 'checked' => $this->deactivated, 'value' => 'true'),
|
||||
2 => array ('kind' => 'help', 'value' => 'sambaAcctFlagsD'));
|
||||
for ( $i=1; $i<=31; $i++ ) $mday[] = $i;
|
||||
for ( $i=1; $i<=12; $i++ ) $mon[] = $i;
|
||||
|
@ -907,6 +944,45 @@ class sambaSamAccount extends baseModule {
|
|||
return $return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Loads the values of an account profile into internal variables.
|
||||
*
|
||||
* @param array $profile hash array with profile values (identifier => value)
|
||||
*/
|
||||
function load_profile($profile) {
|
||||
// profile mappings in meta data
|
||||
parent::load_profile($profile);
|
||||
// special profile options
|
||||
// use Unix password
|
||||
if ($profile['sambaSamAccount_useunixpwd'][0] == "true") {
|
||||
$this->useunixpwd = true;
|
||||
}
|
||||
elseif ($profile['sambaSamAccount_useunixpwd'][0] == "false") {
|
||||
$this->useunixpwd = false;
|
||||
}
|
||||
// use no password
|
||||
if ($profile['sambaSamAccount_acctFlagsN'][0] == "true") {
|
||||
$this->nopwd = true;
|
||||
}
|
||||
elseif ($profile['sambaSamAccount_acctFlagsN'][0] == "false") {
|
||||
$this->nopwd = false;
|
||||
}
|
||||
// password expiration
|
||||
if ($profile['sambaSamAccount_acctFlagsX'][0] == "true") {
|
||||
$this->noexpire = true;
|
||||
}
|
||||
elseif ($profile['sambaSamAccount_acctFlagsX'][0] == "false") {
|
||||
$this->noexpire = false;
|
||||
}
|
||||
// use no password
|
||||
if ($profile['sambaSamAccount_acctFlagsD'][0] == "true") {
|
||||
$this->deactivated = true;
|
||||
}
|
||||
elseif ($profile['sambaSamAccount_acctFlagsD'][0] == "false") {
|
||||
$this->deactivated = false;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* (non-PHPDoc)
|
||||
* @see baseModule#get_pdfEntries
|
||||
|
|
Loading…
Reference in New Issue