fixed many little problems in modules. Too many to count.
Added a new function to all modules
This commit is contained in:
parent
754b283163
commit
e6206bdcaa
|
@ -286,7 +286,11 @@ class accountContainer {
|
||||||
echo "<a href=../help.php?module=$module&item=". $input[$i][$j]['value'] . ">" . _('Help') . "</a></td>\n";
|
echo "<a href=../help.php?module=$module&item=". $input[$i][$j]['value'] . ">" . _('Help') . "</a></td>\n";
|
||||||
break;
|
break;
|
||||||
case 'message':
|
case 'message':
|
||||||
|
echo "<td";
|
||||||
|
if ($input[$i][$j]['td']['valign']!='') echo ' valign="' . $input[$i][$j]['td']['valign'] .'"';
|
||||||
|
echo ">\n";
|
||||||
StatusMessage($input[$i][$j]['type'], $input[$i][$j]['headline'], $input[$i][$j]['text']);
|
StatusMessage($input[$i][$j]['type'], $input[$i][$j]['headline'], $input[$i][$j]['text']);
|
||||||
|
echo "</td>\n";
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
echo "<td>Unrecognized type: " . $input[$i][$j]['kind'] . "</td>\n";
|
echo "<td>Unrecognized type: " . $input[$i][$j]['kind'] . "</td>\n";
|
||||||
|
@ -395,6 +399,7 @@ class accountContainer {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* This function return ldap attributes which are uses by $objectClass
|
/* This function return ldap attributes which are uses by $objectClass
|
||||||
* Syntax is get_attributes($objectClass)
|
* Syntax is get_attributes($objectClass)
|
||||||
* Return is an array with all allowed attributes
|
* Return is an array with all allowed attributes
|
||||||
|
@ -537,8 +542,9 @@ class accountContainer {
|
||||||
// found attribute which must be set
|
// found attribute which must be set
|
||||||
if ($this->attributes[$attributes[$i]][$singleattribute[$j]]=='MUST') {
|
if ($this->attributes[$attributes[$i]][$singleattribute[$j]]=='MUST') {
|
||||||
// Check if attribute is set
|
// Check if attribute is set
|
||||||
if ($this->module[$singleattribute[$j]]->attributes[$attributes[$i]]=='')
|
if ($this->module[$singleattribute[$j]]->attributes[$attributes[$i]]=='') {
|
||||||
if (!in_array($singleattribute[$j], $return)) $return[] = $singleattribute[$j];
|
if (!in_array($singleattribute[$j], $return)) $return[] = $singleattribute[$j];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -81,6 +81,14 @@ class account {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* This functions return true
|
||||||
|
* if all needed settings are done
|
||||||
|
*/
|
||||||
|
function module_complete() {
|
||||||
|
if (!$this->module_ready()) return false;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
/* This function returns a list of all html-pages in module
|
/* This function returns a list of all html-pages in module
|
||||||
* This is usefull for mass upload and pdf-files
|
* This is usefull for mass upload and pdf-files
|
||||||
* because lam can walk trough all pages itself and do some
|
* because lam can walk trough all pages itself and do some
|
||||||
|
|
|
@ -46,7 +46,9 @@ class inetOrgPerson {
|
||||||
if (!is_string($base)) trigger_error(_('Please create a new module object with $accountContainer->add_objectClass(\'inetOrgPerson\');'), E_USER_ERROR);
|
if (!is_string($base)) trigger_error(_('Please create a new module object with $accountContainer->add_objectClass(\'inetOrgPerson\');'), E_USER_ERROR);
|
||||||
if ($_SESSION[$this->base]->type != 'user') trigger_error(_('inetOrgPerson can only be used for users.'), E_USER_WARNING);
|
if ($_SESSION[$this->base]->type != 'user') trigger_error(_('inetOrgPerson can only be used for users.'), E_USER_WARNING);
|
||||||
// load attribtues which are used in inetOrgPerson objectClass
|
// load attribtues which are used in inetOrgPerson objectClass
|
||||||
$this->attributes = $_SESSION[$this->base]->get_module_attributes('inetOrgPerson');
|
// unset attributes which are "must" but not in this module
|
||||||
|
// cn will be set to uid in module posixAccount
|
||||||
|
// Therefore module posixAccount is required an cn will be removed from main index in account_container
|
||||||
// Create copy of attributes
|
// Create copy of attributes
|
||||||
$this->orig = $this->attributes ;
|
$this->orig = $this->attributes ;
|
||||||
// Add objectClass to attributes
|
// Add objectClass to attributes
|
||||||
|
@ -70,7 +72,7 @@ class inetOrgPerson {
|
||||||
/* This function returns a list with all required modules
|
/* This function returns a list with all required modules
|
||||||
*/
|
*/
|
||||||
function get_dependencies($scope) {
|
function get_dependencies($scope) {
|
||||||
if ($scope=='user') return array('require' => array('main'), 'conflict' => array('account', 'posixGroup', 'sambaDomain') );
|
if ($scope=='user') return array('require' => array('main', 'posixAccount'), 'conflict' => array('account', 'posixGroup', 'sambaDomain') );
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -81,6 +83,16 @@ class inetOrgPerson {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* This functions return true
|
||||||
|
* if all needed settings are done
|
||||||
|
*/
|
||||||
|
function module_complete() {
|
||||||
|
if (!$this->module_ready()) return false;
|
||||||
|
if ($this->attributes['sn'][0] == '') return false;
|
||||||
|
if ($this->attributes['givenName'][0] == '') return false;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
/* This function returns a list of all html-pages in module
|
/* This function returns a list of all html-pages in module
|
||||||
* This is usefull for mass upload and pdf-files
|
* This is usefull for mass upload and pdf-files
|
||||||
* because lam can walk trough all pages itself and do some
|
* because lam can walk trough all pages itself and do some
|
||||||
|
|
|
@ -77,6 +77,14 @@ class main {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* This functions return true
|
||||||
|
* if all needed settings are done
|
||||||
|
*/
|
||||||
|
function module_complete() {
|
||||||
|
if (!$this->module_ready()) return false;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
/* This function returns a list of all html-pages in module
|
/* This function returns a list of all html-pages in module
|
||||||
* This is usefull for mass upload and pdf-files
|
* This is usefull for mass upload and pdf-files
|
||||||
* because lam can walk trough all pages itself and do some
|
* because lam can walk trough all pages itself and do some
|
||||||
|
@ -188,16 +196,19 @@ class main {
|
||||||
}
|
}
|
||||||
|
|
||||||
function display_html_attributes($post, $profile=false) {
|
function display_html_attributes($post, $profile=false) {
|
||||||
$modules = $_SESSION[$this->base]->check_attributes();
|
$modules = array_keys($_SESSION[$this->base]->module);
|
||||||
if (count($modules)!=0 && !$profile) {
|
if (!$profile) {
|
||||||
$disabled = false;
|
$disabled = false;
|
||||||
// Show reason why module is disabled
|
foreach ($modules as $module) {
|
||||||
for ($i=0; $i<count($modules); $i++)
|
if (!$_SESSION[$this->base]->module[$module]->module_complete()) {
|
||||||
$return[] = array ( 0 => array ( 'kind' => 'message', 'type' => 'ERROR', 'headline' => _('Check module'),
|
$disabled = true;
|
||||||
'text' => sprintf(_('Please set up all required attributes on %s page.'), $_SESSION[$this->base]->module[$modules[$i]]->get_alias()) ));
|
$table[] = array ( 0 => array ( 'kind' => 'message', 'type' => 'ERROR', 'headline' => _('Check module'),
|
||||||
|
'text' => sprintf(_('Please set up all required attributes on %s page.'), $_SESSION[$this->base]->module[$module]->get_alias()) ));
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else $disabled = true;
|
|
||||||
|
|
||||||
|
if (count($table)!=0) $return[] = array ( 0 => array ( 'kind' => 'table', 'value' => $table ) );
|
||||||
// loop through all suffixes
|
// loop through all suffixes
|
||||||
$function = '$suffix = $_SESSION[$_SESSION[$this->base]->config]->get_'.ucfirst($_SESSION[$this->base]->type).'Suffix();';
|
$function = '$suffix = $_SESSION[$_SESSION[$this->base]->config]->get_'.ucfirst($_SESSION[$this->base]->type).'Suffix();';
|
||||||
eval($function);
|
eval($function);
|
||||||
|
|
|
@ -145,6 +145,19 @@ class posixAccount {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* This functions return true
|
||||||
|
* if all needed settings are done
|
||||||
|
*/
|
||||||
|
function module_complete() {
|
||||||
|
if (!$this->module_ready()) return false;
|
||||||
|
if ($this->attributes['uid'][0] == '') return false;
|
||||||
|
if ($this->attributes['uidNumber'][0] == '') return false;
|
||||||
|
if ($this->attributes['gidNumber'][0] == '') return false;
|
||||||
|
if ($this->attributes['homeDirectory'][0] == '') return false;
|
||||||
|
if ($this->attributes['loginShell'][0] == '') return false;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
/* This function returns a list of all html-pages in module
|
/* This function returns a list of all html-pages in module
|
||||||
* This is usefull for mass upload and pdf-files
|
* This is usefull for mass upload and pdf-files
|
||||||
* because lam can walk trough all pages itself and do some
|
* because lam can walk trough all pages itself and do some
|
||||||
|
@ -362,14 +375,15 @@ class posixAccount {
|
||||||
if ($post['userPassword_lock']) $this->userPassword_lock=true;
|
if ($post['userPassword_lock']) $this->userPassword_lock=true;
|
||||||
else $this->userPassword_lock=false;
|
else $this->userPassword_lock=false;
|
||||||
if (!$profile) {
|
if (!$profile) {
|
||||||
if (isset($post['userPassword'])) {
|
|
||||||
if ($post['userPassword'] != $post['userPassword2']) {
|
|
||||||
$errors['userPassword'][] = array('ERROR', _('Password'), _('Please enter the same password in both password-fields.'));
|
|
||||||
unset ($post['userPassword2']);
|
|
||||||
}
|
|
||||||
else $this->userPassword($post['userPassword']);
|
|
||||||
}
|
|
||||||
if ($post['genpass']) $this->userPassword(genpasswd());
|
if ($post['genpass']) $this->userPassword(genpasswd());
|
||||||
|
else if (isset($post['userPassword'])) {
|
||||||
|
if ($post['userPassword'] != $post['userPassword2']) {
|
||||||
|
$errors['userPassword'][] = array('ERROR', _('Password'), _('Please enter the same password in both password-fields.'));
|
||||||
|
unset ($post['userPassword2']);
|
||||||
|
}
|
||||||
|
else $this->userPassword($post['userPassword']);
|
||||||
|
}
|
||||||
|
|
||||||
// Check if UID is valid. If none value was entered, the next useable value will be inserted
|
// Check if UID is valid. If none value was entered, the next useable value will be inserted
|
||||||
// load min and may uidNumber
|
// load min and may uidNumber
|
||||||
if ($_SESSION[$this->base]->type=='user') {
|
if ($_SESSION[$this->base]->type=='user') {
|
||||||
|
@ -581,6 +595,7 @@ class posixAccount {
|
||||||
1 => array ( 'kind' => 'input', 'name' => 'userPassword', 'type' => 'password', 'size' => '20', 'maxlength' => '255', 'value' => $password),
|
1 => array ( 'kind' => 'input', 'name' => 'userPassword', 'type' => 'password', 'size' => '20', 'maxlength' => '255', 'value' => $password),
|
||||||
2 => array ( 'kind' => 'input', 'name' => 'genpass', 'type' => 'submit', 'value' => _('Generate password')));
|
2 => array ( 'kind' => 'input', 'name' => 'genpass', 'type' => 'submit', 'value' => _('Generate password')));
|
||||||
if ($post['userPassword2']!='') $password2 = $post['userPassword2'];
|
if ($post['userPassword2']!='') $password2 = $post['userPassword2'];
|
||||||
|
else $password2 = $password;
|
||||||
$return[] = array ( 0 => array ( 'kind' => 'text', 'text' => _('Repeat password') ),
|
$return[] = array ( 0 => array ( 'kind' => 'text', 'text' => _('Repeat password') ),
|
||||||
1 => array ( 'kind' => 'input', 'name' => 'userPassword2', 'type' => 'password', 'size' => '20', 'maxlength' => '255', 'value' => $password2),
|
1 => array ( 'kind' => 'input', 'name' => 'userPassword2', 'type' => 'password', 'size' => '20', 'maxlength' => '255', 'value' => $password2),
|
||||||
2 => array ('kind' => 'help', 'value' => 'userPassword'));
|
2 => array ('kind' => 'help', 'value' => 'userPassword'));
|
||||||
|
|
|
@ -134,6 +134,16 @@ class posixGroup {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* This functions return true
|
||||||
|
* if all needed settings are done
|
||||||
|
*/
|
||||||
|
function module_complete() {
|
||||||
|
if (!$this->module_ready()) return false;
|
||||||
|
if ($this->attributes['cn'][0] == '') return false;
|
||||||
|
if ($this->attributes['gidNumber'][0] == '') return false;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
/* This function returns a list of all html-pages in module
|
/* This function returns a list of all html-pages in module
|
||||||
* This is usefull for mass upload and pdf-files
|
* This is usefull for mass upload and pdf-files
|
||||||
* because lam can walk trough all pages itself and do some
|
* because lam can walk trough all pages itself and do some
|
||||||
|
|
|
@ -86,6 +86,14 @@ class quota {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* This functions return true
|
||||||
|
* if all needed settings are done
|
||||||
|
*/
|
||||||
|
function module_complete() {
|
||||||
|
if (!$this->module_ready()) return false;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
/* This function returns a list of all html-pages in module
|
/* This function returns a list of all html-pages in module
|
||||||
* This is usefull for mass upload and pdf-files
|
* This is usefull for mass upload and pdf-files
|
||||||
* because lam can walk trough all pages itself and do some
|
* because lam can walk trough all pages itself and do some
|
||||||
|
|
|
@ -141,6 +141,15 @@ class sambaAccount {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* This functions return true
|
||||||
|
* if all needed settings are done
|
||||||
|
*/
|
||||||
|
function module_complete() {
|
||||||
|
if (!$this->module_ready()) return false;
|
||||||
|
if ($this->attributes['rid'][0] == '') return false;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
/* This function returns a list of all html-pages in module
|
/* This function returns a list of all html-pages in module
|
||||||
* This is usefull for mass upload and pdf-files
|
* This is usefull for mass upload and pdf-files
|
||||||
* because lam can walk trough all pages itself and do some
|
* because lam can walk trough all pages itself and do some
|
||||||
|
|
|
@ -109,6 +109,16 @@ class sambaGroupMapping {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* This functions return true
|
||||||
|
* if all needed settings are done
|
||||||
|
*/
|
||||||
|
function module_complete() {
|
||||||
|
if (!$this->module_ready()) return false;
|
||||||
|
if ($this->attributes['sambaSID'][0] == '') return false;
|
||||||
|
if ($this->attributes['sambaGroupType'][0] == '') return false;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
/* This function returns a list of all html-pages in module
|
/* This function returns a list of all html-pages in module
|
||||||
* This is usefull for mass upload and pdf-files
|
* This is usefull for mass upload and pdf-files
|
||||||
* because lam can walk trough all pages itself and do some
|
* because lam can walk trough all pages itself and do some
|
||||||
|
|
|
@ -141,6 +141,15 @@ class sambaSamAccount {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* This functions return true
|
||||||
|
* if all needed settings are done
|
||||||
|
*/
|
||||||
|
function module_complete() {
|
||||||
|
if (!$this->module_ready()) return false;
|
||||||
|
if ($this->attributes['sambaSID'][0] == '') return false;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
/* This function returns a list of all html-pages in module
|
/* This function returns a list of all html-pages in module
|
||||||
* This is usefull for mass upload and pdf-files
|
* This is usefull for mass upload and pdf-files
|
||||||
* because lam can walk trough all pages itself and do some
|
* because lam can walk trough all pages itself and do some
|
||||||
|
|
|
@ -102,6 +102,14 @@ class shadowAccount {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* This functions return true
|
||||||
|
* if all needed settings are done
|
||||||
|
*/
|
||||||
|
function module_complete() {
|
||||||
|
if (!$this->module_ready()) return false;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
/* This function returns a list of all html-pages in module
|
/* This function returns a list of all html-pages in module
|
||||||
* This is usefull for mass upload and pdf-files
|
* This is usefull for mass upload and pdf-files
|
||||||
* because lam can walk trough all pages itself and do some
|
* because lam can walk trough all pages itself and do some
|
||||||
|
|
Loading…
Reference in New Issue