no longer allow integer results from process_..., updated documentation
This commit is contained in:
parent
4d769306f3
commit
4689680855
|
@ -747,18 +747,17 @@ is needed t interact with the user.<br>
|
|||
<br>
|
||||
This function processes user input. It checks user input. It also
|
||||
saves changes in attributes.<br>
|
||||
This functions can return two different variables. When 0 is returned
|
||||
everything is ok. If it
|
||||
returns an array the array contains status<br>
|
||||
messages. First index is the attribute which has triggered a message.
|
||||
Second index is an array containing status message arrays.<br>
|
||||
This function must reset $this->triggered_messages when it wants to
|
||||
display
|
||||
status messages. This can be done with $this->triggered_messages =
|
||||
array();<br>
|
||||
It may
|
||||
return an array which contains status messages. Each entry is an array
|
||||
containing the status message parameters.<br>
|
||||
<span style="font-weight: bold;">$post</span> is the $_POST
|
||||
array.<br>
|
||||
<br>
|
||||
<span style="font-weight: bold; text-decoration: underline;">Example:</span><br>
|
||||
<br>
|
||||
return array(0 => array('ERROR', 'Invalid input!', 'This is not
|
||||
allowed here.'));<br>
|
||||
<br>
|
||||
<br>
|
||||
<h3>2.2.14. process_*<br>
|
||||
</h3>
|
||||
|
|
|
@ -861,8 +861,8 @@ class accountContainer {
|
|||
}
|
||||
}
|
||||
}
|
||||
// go to subpage of current module
|
||||
if (!$errorsOccured) {
|
||||
// go to subpage of current module
|
||||
$postKeys = array_keys($post);
|
||||
for ($p = 0; $p < sizeof($postKeys); $p++) {
|
||||
if (is_string($postKeys[$p]) && (strpos($postKeys[$p], 'form_subpage_' . $this->order[$this->current_page]) === 0)) {
|
||||
|
@ -873,24 +873,26 @@ class accountContainer {
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (is_int($result) || !$errorsOccured) { // numeric return value means to change to another module
|
||||
// change module page if requested
|
||||
if ($post['form_main_main']) {
|
||||
$this->current_page = 0;
|
||||
$this->subpage='attributes';
|
||||
}
|
||||
else for ($i=1; $i<count($this->order); $i++ )
|
||||
if (isset($post['form_main_'.$this->order[$i]])) {
|
||||
if ($this->module[$this->order[$i]]->module_ready()) {
|
||||
$this->current_page = $i;
|
||||
$this->subpage='attributes';
|
||||
}
|
||||
else {
|
||||
StatusMessage('ERROR', _('The module %s is not yet ready.'),
|
||||
_('Please enter the account information on the other pages first.'),
|
||||
array($this->module[$this->order[$i]]->get_alias()));
|
||||
else {
|
||||
for ($i=1; $i<count($this->order); $i++ ) {
|
||||
if (isset($post['form_main_'.$this->order[$i]])) {
|
||||
if ($this->module[$this->order[$i]]->module_ready()) {
|
||||
$this->current_page = $i;
|
||||
$this->subpage='attributes';
|
||||
}
|
||||
else {
|
||||
StatusMessage('ERROR', _('The module %s is not yet ready.'),
|
||||
_('Please enter the account information on the other pages first.'),
|
||||
array($this->module[$this->order[$i]]->get_alias()));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// Write HTML-Code
|
||||
echo $_SESSION['header'];
|
||||
|
|
|
@ -183,7 +183,12 @@ class account extends baseModule {
|
|||
return $return;
|
||||
}
|
||||
|
||||
/* Write variables into object and do some regexp checks
|
||||
/**
|
||||
* Processes user input of the primary module page.
|
||||
* It checks if all input values are correct and updates the associated LDAP attributes.
|
||||
*
|
||||
* @param array $post HTTP-POST values
|
||||
* @return array list of info/error messages
|
||||
*/
|
||||
function process_attributes(&$post) {
|
||||
// Load attributes
|
||||
|
@ -195,7 +200,6 @@ class account extends baseModule {
|
|||
if (!get_preg($this->attributes['uid'][0], '!upper')) $triggered_messages['uid'][] = $this->messages['uid'][2];
|
||||
if (!get_preg($this->attributes['uid'][0], 'username')) $triggered_messages['uid'][] = $this->messages['uid'][3];
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* This function will create the html-page
|
||||
|
|
|
@ -157,9 +157,11 @@ class ieee802Device extends baseModule {
|
|||
}
|
||||
|
||||
/**
|
||||
* Write variables into object and do some regex checks
|
||||
* Processes user input of the primary module page.
|
||||
* It checks if all input values are correct and updates the associated LDAP attributes.
|
||||
*
|
||||
* @param array $post HTTP-POST values
|
||||
* @return array list of info/error messages
|
||||
*/
|
||||
function process_attributes(&$post) {
|
||||
$this->triggered_messages = array();
|
||||
|
|
|
@ -219,9 +219,11 @@ class inetLocalMailRecipient extends baseModule {
|
|||
}
|
||||
|
||||
/**
|
||||
* Write variables into object and do some regex checks
|
||||
* Processes user input of the primary module page.
|
||||
* It checks if all input values are correct and updates the associated LDAP attributes.
|
||||
*
|
||||
* @param array $post HTTP-POST values
|
||||
* @return array list of info/error messages
|
||||
*/
|
||||
function process_attributes(&$post) {
|
||||
$this->triggered_messages = array();
|
||||
|
@ -286,7 +288,6 @@ class inetLocalMailRecipient extends baseModule {
|
|||
}
|
||||
else {
|
||||
$this->inputCorrect = true;
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -413,6 +413,13 @@ class inetOrgPerson extends baseModule {
|
|||
return $return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Processes user input of the primary module page.
|
||||
* It checks if all input values are correct and updates the associated LDAP attributes.
|
||||
*
|
||||
* @param array $post HTTP-POST values
|
||||
* @return array list of info/error messages
|
||||
*/
|
||||
function process_attributes(&$post) {
|
||||
// Load attributes
|
||||
$this->attributes['description'][0] = $post['description'];
|
||||
|
@ -498,8 +505,6 @@ class inetOrgPerson extends baseModule {
|
|||
}
|
||||
// Return error-messages
|
||||
if (is_array($triggered_messages)) return $triggered_messages;
|
||||
if ($post['changepass']) return 'password';
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* This function will create the html-page
|
||||
|
|
|
@ -433,9 +433,11 @@ class kolabUser extends baseModule {
|
|||
}
|
||||
|
||||
/**
|
||||
* Write variables into object and do some regex checks
|
||||
* Processes user input of the primary module page.
|
||||
* It checks if all input values are correct and updates the associated LDAP attributes.
|
||||
*
|
||||
* @param array $post HTTP-POST values
|
||||
* @return array list of info/error messages
|
||||
*/
|
||||
function process_attributes(&$post) {
|
||||
if ($post['form_subpage_kolabUser_deleteUser_open']) return;
|
||||
|
@ -582,7 +584,6 @@ class kolabUser extends baseModule {
|
|||
}
|
||||
else {
|
||||
$this->inputCorrect = true;
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -191,9 +191,11 @@ class nisMailAlias extends baseModule {
|
|||
}
|
||||
|
||||
/**
|
||||
* Write variables into object and do some regex checks
|
||||
* Processes user input of the primary module page.
|
||||
* It checks if all input values are correct and updates the associated LDAP attributes.
|
||||
*
|
||||
* @param array $post HTTP-POST values
|
||||
* @return array list of info/error messages
|
||||
*/
|
||||
function process_attributes(&$post) {
|
||||
$this->triggered_messages = array();
|
||||
|
@ -242,7 +244,6 @@ class nisMailAlias extends baseModule {
|
|||
}
|
||||
else {
|
||||
$this->inputCorrect = true;
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -615,7 +615,12 @@ class posixAccount extends baseModule {
|
|||
return $return;
|
||||
}
|
||||
|
||||
/* Write variables into object and do some regexp checks
|
||||
/**
|
||||
* Processes user input of the primary module page.
|
||||
* It checks if all input values are correct and updates the associated LDAP attributes.
|
||||
*
|
||||
* @param array $post HTTP-POST values
|
||||
* @return array list of info/error messages
|
||||
*/
|
||||
function process_attributes(&$post) {
|
||||
$triggered_messages = array();
|
||||
|
@ -828,31 +833,31 @@ class posixAccount extends baseModule {
|
|||
return $triggered_messages;
|
||||
}
|
||||
else $this->triggered_messages = array();
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* Write variables into object and do some regexp checks
|
||||
*/
|
||||
function process_group(&$post) {
|
||||
do { // X-Or, only one if() can be true
|
||||
if (isset($post['addgroups']) && isset($post['addgroups_button'])) { // Add groups to list
|
||||
// Add new group
|
||||
$this->groups = @array_merge($this->groups, $post['addgroups']);
|
||||
break;
|
||||
}
|
||||
if (isset($post['removegroups']) && isset($post['removegroups_button'])) { // remove groups from list
|
||||
$this->groups = array_delete($post['removegroups'], $this->groups);
|
||||
break;
|
||||
}
|
||||
} while(0);
|
||||
if (isset($post['addgroups_button']) || isset($post['removegroups_button'])) return 'group';
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets a new password.
|
||||
* Processes user input of the group selection page.
|
||||
* It checks if all input values are correct and updates the associated LDAP attributes.
|
||||
*
|
||||
* @param $post HTTP POST
|
||||
* @param array $post HTTP-POST values
|
||||
* @return array list of info/error messages
|
||||
*/
|
||||
function process_group(&$post) {
|
||||
if (isset($post['addgroups']) && isset($post['addgroups_button'])) { // Add groups to list
|
||||
// Add new group
|
||||
$this->groups = @array_merge($this->groups, $post['addgroups']);
|
||||
}
|
||||
elseif (isset($post['removegroups']) && isset($post['removegroups_button'])) { // remove groups from list
|
||||
$this->groups = array_delete($post['removegroups'], $this->groups);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Processes user input of the password page.
|
||||
* It checks if all input values are correct and updates the associated LDAP attributes.
|
||||
*
|
||||
* @param array $post HTTP-POST values
|
||||
* @return array list of info/error messages
|
||||
*/
|
||||
function process_password(&$post) {
|
||||
if ($post['form_subpage_posixAccount_attributes_back']) return;
|
||||
|
|
|
@ -529,7 +529,12 @@ class posixGroup extends baseModule {
|
|||
}
|
||||
|
||||
|
||||
/* Write variables into object and do some regexp checks
|
||||
/**
|
||||
* Processes user input of the primary module page.
|
||||
* It checks if all input values are correct and updates the associated LDAP attributes.
|
||||
*
|
||||
* @param array $post HTTP-POST values
|
||||
* @return array list of info/error messages
|
||||
*/
|
||||
function process_attributes(&$post) {
|
||||
$this->attributes['description'][0] = $post['description'];
|
||||
|
@ -672,15 +677,15 @@ class posixGroup extends baseModule {
|
|||
return $triggered_messages;
|
||||
}
|
||||
else $this->triggered_messages = array();
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Processes input data and adds or removes users from current group.
|
||||
* Processes user input of the user selection page.
|
||||
* It checks if all input values are correct and updates the associated LDAP attributes.
|
||||
*
|
||||
* @param array $post HTTP-POST
|
||||
* @return string name of next page
|
||||
* @param array $post HTTP-POST values
|
||||
* @return array list of info/error messages
|
||||
*/
|
||||
function process_user(&$post) {
|
||||
if (isset($post['addusers']) && isset($post['addusers_button'])) { // Add users to list
|
||||
|
@ -696,14 +701,15 @@ class posixGroup extends baseModule {
|
|||
elseif (isset($post['removeusers']) && isset($post['removeusers_button'])) { // remove users from list
|
||||
$this->attributes['memberUid'] = array_delete($post['removeusers'], $this->attributes['memberUid']);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Sets a new password.
|
||||
* Processes user input of the password page.
|
||||
* It checks if all input values are correct and updates the associated LDAP attributes.
|
||||
*
|
||||
* @param $post HTTP POST
|
||||
* @param array $post HTTP-POST values
|
||||
* @return array list of info/error messages
|
||||
*/
|
||||
function process_password(&$post) {
|
||||
if ($post['form_subpage_posixGroup_attributes_back']) return;
|
||||
|
|
|
@ -272,7 +272,12 @@ class quota extends baseModule {
|
|||
return $return;
|
||||
}
|
||||
|
||||
/* Write variables into object and do some regexp checks
|
||||
/**
|
||||
* Processes user input of the primary module page.
|
||||
* It checks if all input values are correct and updates the associated LDAP attributes.
|
||||
*
|
||||
* @param array $post HTTP-POST values
|
||||
* @return array list of info/error messages
|
||||
*/
|
||||
function process_attributes(&$post) {
|
||||
// Write all general values into $account_new
|
||||
|
@ -304,8 +309,6 @@ class quota extends baseModule {
|
|||
return $triggered_messages;
|
||||
}
|
||||
else $this->triggered_messages = array();
|
||||
// Go to additional group page when no error did ocour and button was pressed
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* This function will create the html-page
|
||||
|
|
|
@ -493,7 +493,12 @@ class sambaAccount extends baseModule {
|
|||
return $return;
|
||||
}
|
||||
|
||||
/* Write variables into object and do some regexp checks
|
||||
/**
|
||||
* Processes user input of the primary module page.
|
||||
* It checks if all input values are correct and updates the associated LDAP attributes.
|
||||
*
|
||||
* @param array $post HTTP-POST values
|
||||
* @return array list of info/error messages
|
||||
*/
|
||||
function process_attributes(&$post) {
|
||||
$this->attributes['domain'][0] = $post['domain'];
|
||||
|
@ -626,10 +631,14 @@ class sambaAccount extends baseModule {
|
|||
return $triggered_messages;
|
||||
}
|
||||
else $this->triggered_messages = array();
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
/* Write variables into object and do some regexp checks
|
||||
/**
|
||||
* Processes user input of the workstation selection page.
|
||||
* It checks if all input values are correct and updates the associated LDAP attributes.
|
||||
*
|
||||
* @param array $post HTTP-POST values
|
||||
* @return array list of info/error messages
|
||||
*/
|
||||
function process_userWorkstations(&$post) {
|
||||
// Load attributes
|
||||
|
@ -672,7 +681,6 @@ class sambaAccount extends baseModule {
|
|||
}
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* This function will create the html-page
|
||||
|
|
|
@ -386,7 +386,12 @@ class sambaGroupMapping extends baseModule {
|
|||
}
|
||||
|
||||
|
||||
/* Write variables into object and do some regexp checks
|
||||
/**
|
||||
* Processes user input of the primary module page.
|
||||
* It checks if all input values are correct and updates the associated LDAP attributes.
|
||||
*
|
||||
* @param array $post HTTP-POST values
|
||||
* @return array list of info/error messages
|
||||
*/
|
||||
function process_attributes(&$post) {
|
||||
// Save attributes
|
||||
|
@ -425,8 +430,7 @@ class sambaGroupMapping extends baseModule {
|
|||
return $triggered_messages;
|
||||
}
|
||||
else $this->triggered_messages = array();
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* This function returns an array with 3 entries:
|
||||
|
|
|
@ -486,7 +486,12 @@ class sambaSamAccount extends baseModule {
|
|||
return $return;
|
||||
}
|
||||
|
||||
/* Write variables into object and do some regexp checks
|
||||
/**
|
||||
* Processes user input of the primary module page.
|
||||
* It checks if all input values are correct and updates the associated LDAP attributes.
|
||||
*
|
||||
* @param array $post HTTP-POST values
|
||||
* @return array list of info/error messages
|
||||
*/
|
||||
function process_attributes(&$post) {
|
||||
// Save attributes
|
||||
|
@ -635,62 +640,64 @@ class sambaSamAccount extends baseModule {
|
|||
return $triggered_messages;
|
||||
}
|
||||
else $this->triggered_messages = array();
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* Write variables into object and do some regexp checks
|
||||
/**
|
||||
* Processes user input of the primary module page.
|
||||
* It checks if all input values are correct and updates the associated LDAP attributes.
|
||||
*
|
||||
* @param array $post HTTP-POST values
|
||||
* @return array list of info/error messages
|
||||
*/
|
||||
function process_sambaUserWorkstations(&$post) {
|
||||
// Load attributes
|
||||
if ($_SESSION[$this->base]->type=='user') {
|
||||
do { // X-Or, only one if() can be true
|
||||
if (isset($post['availableSambaUserWorkstations']) && isset($post['sambaUserWorkstations_add'])) { // Add workstations to list
|
||||
$temp = str_replace(' ', '', $this->attributes['sambaUserWorkstations'][0]);
|
||||
$workstations = explode (',', $temp);
|
||||
for ($i=0; $i<count($workstations); $i++)
|
||||
if ($workstations[$i]=='') unset($workstations[$i]);
|
||||
$workstations = array_values($workstations);
|
||||
// Add new // Add workstations
|
||||
$workstations = array_merge($workstations, $post['availableSambaUserWorkstations']);
|
||||
// remove doubles
|
||||
$workstations = array_flip($workstations);
|
||||
array_unique($workstations);
|
||||
$workstations = array_flip($workstations);
|
||||
// sort workstations
|
||||
sort($workstations);
|
||||
// Recreate workstation string
|
||||
$this->attributes['sambaUserWorkstations'][0] = $workstations[0];
|
||||
for ($i=1; $i<count($workstations); $i++) {
|
||||
$this->attributes['sambaUserWorkstations'][0] = $this->attributes['sambaUserWorkstations'][0] . "," . $workstations[$i];
|
||||
}
|
||||
break;
|
||||
if (isset($post['availableSambaUserWorkstations']) && isset($post['sambaUserWorkstations_add'])) { // Add workstations to list
|
||||
$temp = str_replace(' ', '', $this->attributes['sambaUserWorkstations'][0]);
|
||||
$workstations = explode (',', $temp);
|
||||
for ($i=0; $i<count($workstations); $i++) {
|
||||
if ($workstations[$i]=='') unset($workstations[$i]);
|
||||
}
|
||||
$workstations = array_values($workstations);
|
||||
// Add new // Add workstations
|
||||
$workstations = array_merge($workstations, $post['availableSambaUserWorkstations']);
|
||||
// remove doubles
|
||||
$workstations = array_flip($workstations);
|
||||
array_unique($workstations);
|
||||
$workstations = array_flip($workstations);
|
||||
// sort workstations
|
||||
sort($workstations);
|
||||
// Recreate workstation string
|
||||
$this->attributes['sambaUserWorkstations'][0] = $workstations[0];
|
||||
for ($i=1; $i<count($workstations); $i++) {
|
||||
$this->attributes['sambaUserWorkstations'][0] = $this->attributes['sambaUserWorkstations'][0] . "," . $workstations[$i];
|
||||
}
|
||||
if (isset($post['sambaUserWorkstations']) && isset($post['sambaUserWorkstations_remove'])) { // remove // Add workstations from list
|
||||
// Put all workstations in array
|
||||
$temp = str_replace(' ', '', $this->attributes['sambaUserWorkstations'][0]);
|
||||
$workstations = explode (',', $temp);
|
||||
for ($i=0; $i<count($workstations); $i++)
|
||||
if ($workstations[$i]=='') unset($workstations[$i]);
|
||||
$workstations = array_values($workstations);
|
||||
// Remove unwanted workstations from array
|
||||
$workstations = array_delete($post['sambaUserWorkstations'], $workstations);
|
||||
// Recreate workstation string
|
||||
$this->attributes['sambaUserWorkstations'][0] = $workstations[0];
|
||||
for ($i=1; $i<count($workstations); $i++) {
|
||||
$this->attributes['sambaUserWorkstations'][0] = $this->attributes['sambaUserWorkstations'][0] . "," . $workstations[$i];
|
||||
}
|
||||
break;
|
||||
}
|
||||
} while(0);
|
||||
}
|
||||
elseif (isset($post['sambaUserWorkstations']) && isset($post['sambaUserWorkstations_remove'])) { // remove // Add workstations from list
|
||||
// Put all workstations in array
|
||||
$temp = str_replace(' ', '', $this->attributes['sambaUserWorkstations'][0]);
|
||||
$workstations = explode (',', $temp);
|
||||
for ($i=0; $i<count($workstations); $i++) {
|
||||
if ($workstations[$i]=='') unset($workstations[$i]);
|
||||
}
|
||||
$workstations = array_values($workstations);
|
||||
// Remove unwanted workstations from array
|
||||
$workstations = array_delete($post['sambaUserWorkstations'], $workstations);
|
||||
// Recreate workstation string
|
||||
$this->attributes['sambaUserWorkstations'][0] = $workstations[0];
|
||||
for ($i=1; $i<count($workstations); $i++) {
|
||||
$this->attributes['sambaUserWorkstations'][0] = $this->attributes['sambaUserWorkstations'][0] . "," . $workstations[$i];
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Save logon hours
|
||||
* Processes user input of the logon hours page.
|
||||
* It checks if all input values are correct and updates the associated LDAP attributes.
|
||||
*
|
||||
* @param array $post HTTP POST variables
|
||||
* @return string next page name (attributes or logonHours)
|
||||
* @param array $post HTTP-POST values
|
||||
* @return array list of info/error messages
|
||||
*/
|
||||
function process_logonHours(&$post) {
|
||||
if ($post['form_subpage_sambaSamAccount_attributes_abort']) return;
|
||||
|
|
|
@ -235,9 +235,11 @@ class shadowAccount extends baseModule {
|
|||
}
|
||||
|
||||
/**
|
||||
* Checks user input and saves it in LDAP attributes.
|
||||
* Processes user input of the primary module page.
|
||||
* It checks if all input values are correct and updates the associated LDAP attributes.
|
||||
*
|
||||
* @param array $post HTTP POST data
|
||||
* @param array $post HTTP-POST values
|
||||
* @return array list of info/error messages
|
||||
*/
|
||||
function process_attributes(&$post) {
|
||||
// Load attributes
|
||||
|
@ -256,7 +258,6 @@ class shadowAccount extends baseModule {
|
|||
return $triggered_messages;
|
||||
}
|
||||
else $this->triggered_messages = array();
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in New Issue