Added sambaGroupType as option
This commit is contained in:
parent
81aa810c0c
commit
799d9d1228
|
@ -26,7 +26,8 @@ class sambaGroupMapping extends baseModule {
|
||||||
// Variables
|
// Variables
|
||||||
/** Array of well known RIDs */
|
/** Array of well known RIDs */
|
||||||
var $rids;
|
var $rids;
|
||||||
|
/** Array of sambaGroupTypes */
|
||||||
|
var $sambaGroupTypes;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a new module for Samba 3 groups.
|
* Creates a new module for Samba 3 groups.
|
||||||
|
@ -46,6 +47,15 @@ class sambaGroupMapping extends baseModule {
|
||||||
_('Domain Enterprise Admins') => 519,
|
_('Domain Enterprise Admins') => 519,
|
||||||
_('Domain Policy Admins') => 520);
|
_('Domain Policy Admins') => 520);
|
||||||
|
|
||||||
|
$this->sambaGroupTypes = array (
|
||||||
|
_('User') => 1,
|
||||||
|
_('Domain Group') => 2,
|
||||||
|
_('Domain') => 3,
|
||||||
|
_('Local Group') => 4,
|
||||||
|
_('Builtin Group') => 5,
|
||||||
|
_('Deleted Account') => 6,
|
||||||
|
_('Ivalid Account') => 7
|
||||||
|
);
|
||||||
// call parent constructor
|
// call parent constructor
|
||||||
parent::baseModule($scope);
|
parent::baseModule($scope);
|
||||||
}
|
}
|
||||||
|
@ -74,6 +84,7 @@ class sambaGroupMapping extends baseModule {
|
||||||
$errors = array();
|
$errors = array();
|
||||||
for ($i = 0; $i < sizeof($rawAccounts); $i++) {
|
for ($i = 0; $i < sizeof($rawAccounts); $i++) {
|
||||||
// group type is always 2
|
// group type is always 2
|
||||||
|
// TODO
|
||||||
$partialAccounts[$i]['sambaGroupType'] = "2";
|
$partialAccounts[$i]['sambaGroupType'] = "2";
|
||||||
if (!in_array("sambaGroupMapping", $partialAccounts[$i]['objectClass'])) $partialAccounts[$i]['objectClass'][] = "sambaGroupMapping";
|
if (!in_array("sambaGroupMapping", $partialAccounts[$i]['objectClass'])) $partialAccounts[$i]['objectClass'][] = "sambaGroupMapping";
|
||||||
// SID
|
// SID
|
||||||
|
@ -121,7 +132,8 @@ class sambaGroupMapping extends baseModule {
|
||||||
// Get Domain SID from name
|
// Get Domain SID from name
|
||||||
$sambaDomains = search_domains($_SESSION['config']->get_domainSuffix());
|
$sambaDomains = search_domains($_SESSION['config']->get_domainSuffix());
|
||||||
// Get Domain-SID from group SID
|
// Get Domain-SID from group SID
|
||||||
$domainSID = substr($this->attributes['sambaSID'][0], 0, strrpos($this->attributes['sambaSID'][0], "-"));
|
if ($this->attributes['sambaSID'][0]!='')
|
||||||
|
$domainSID = substr($this->atttributes['sambaSID'][0], 0, strrpos($this->attributes['sambaSID'][0], "-"));
|
||||||
for ($i=0; $i<count($sambaDomains); $i++ ) {
|
for ($i=0; $i<count($sambaDomains); $i++ ) {
|
||||||
// List with all valid domains
|
// List with all valid domains
|
||||||
$sambaDomainNames[] = $sambaDomains[$i]->name;
|
$sambaDomainNames[] = $sambaDomains[$i]->name;
|
||||||
|
@ -151,6 +163,15 @@ class sambaGroupMapping extends baseModule {
|
||||||
2 => array ( 'kind' => 'help', 'value' => 'sambaSID' ));
|
2 => array ( 'kind' => 'help', 'value' => 'sambaSID' ));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$names = array_keys($this->sambaGroupTypes);
|
||||||
|
$selected = array( _('Domain Group') );
|
||||||
|
for ($i=0; $i<count($names); $i++) {
|
||||||
|
if ($this->attributes['sambaGroupType'][0]==$this->sambaGroupTypes[$names[$i]])
|
||||||
|
$selected = array( $names[$i] );
|
||||||
|
}
|
||||||
|
$return[] = array ( 0 => array ( 'kind' => 'text', 'text' => _('Group type') ),
|
||||||
|
1 => array ( 'kind' => 'select', 'name' => 'sambaGroupType', 'options' => $names , 'options_selected' => $selected ),
|
||||||
|
2 => array ( 'kind' => 'help', 'value' => 'sambaDomainName' ));
|
||||||
$return[] = array ( 0 => array ( 'kind' => 'text', 'text' => _('Domain') ),
|
$return[] = array ( 0 => array ( 'kind' => 'text', 'text' => _('Domain') ),
|
||||||
1 => array ( 'kind' => 'select', 'name' => 'sambaDomainName', 'options' => $sambaDomainNames, 'options_selected' => array ( $sel_domain ) ),
|
1 => array ( 'kind' => 'select', 'name' => 'sambaDomainName', 'options' => $sambaDomainNames, 'options_selected' => array ( $sel_domain ) ),
|
||||||
2 => array ( 'kind' => 'help', 'value' => 'sambaDomainName' ));
|
2 => array ( 'kind' => 'help', 'value' => 'sambaDomainName' ));
|
||||||
|
@ -322,9 +343,9 @@ class sambaGroupMapping extends baseModule {
|
||||||
/* Write variables into object and do some regexp checks
|
/* Write variables into object and do some regexp checks
|
||||||
*/
|
*/
|
||||||
function proccess_attributes($post, $profile=false) {
|
function proccess_attributes($post, $profile=false) {
|
||||||
// Load attributes
|
// Save attributes
|
||||||
$this->attributes['displayName'][0] = $post['displayName'];
|
$this->attributes['displayName'][0] = $post['displayName'];
|
||||||
$this->attributes['sambaGroupType'][0] = 2;
|
$this->attributes['sambaGroupType'][0] = $this->sambaGroupTypes[$post['sambaGroupType']];
|
||||||
|
|
||||||
if (!$profile) {
|
if (!$profile) {
|
||||||
// Get Domain SID from name
|
// Get Domain SID from name
|
||||||
|
@ -337,7 +358,6 @@ class sambaGroupMapping extends baseModule {
|
||||||
|
|
||||||
// Load attributes
|
// Load attributes
|
||||||
$this->attributes['displayName'][0] = $post['displayName'];
|
$this->attributes['displayName'][0] = $post['displayName'];
|
||||||
$this->attributes['sambaGroupType'][0] = 2;
|
|
||||||
|
|
||||||
$rids = array_keys($this->rids);
|
$rids = array_keys($this->rids);
|
||||||
$wrid = false;
|
$wrid = false;
|
||||||
|
|
Loading…
Reference in New Issue