parent
							
								
									c92674a95a
								
							
						
					
					
						commit
						2c2a9a20f1
					
				|  | @ -20,22 +20,21 @@ $Id$ | |||
|   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA | ||||
| */ | ||||
| 
 | ||||
| /* | ||||
| * Variables in basearray which are no objects: | ||||
| * type: Type of account. Can be user, group, host, domain | ||||
| * attributes: List of all attributes, how to get them and are theiy required or optional | ||||
| * dn: current DN without uid= or cn= | ||||
| * dn_orig: old DN if account was loaded with uid= or cn= | ||||
| /** | ||||
| * Manages the atrributes of object class inetOrgPerson. | ||||
| * | ||||
| * @package modules | ||||
| * @author Tilo Lutz | ||||
| * @author Roland Gruber | ||||
| * @author Michael Duergner | ||||
| */ | ||||
| 
 | ||||
| 
 | ||||
| /* This class contains all account LDAP attributes | ||||
| * and funtioncs required to deal with inetOrgPerson | ||||
| * inetOrgPerson can only be created when it should be added | ||||
| * to an array. | ||||
| * $base is the name of account_container in session | ||||
| /** | ||||
| * This class contains all account LDAP attributes | ||||
| * and funtioncs required to deal with inetOrgPerson. | ||||
| * | ||||
| * @package modules | ||||
| */ | ||||
| 
 | ||||
| class inetOrgPerson extends baseModule { | ||||
| 
 | ||||
| 	/** | ||||
|  | @ -91,6 +90,11 @@ class inetOrgPerson extends baseModule { | |||
| 		return $return; | ||||
| 	} | ||||
| 
 | ||||
| 	/** | ||||
| 	* Initializes the module in its accountContainer | ||||
| 	* | ||||
| 	* @param string $base the name of account_container in session | ||||
| 	*/ | ||||
| 	function init($base) { | ||||
| 		// Get local copy of name of account_container in session
 | ||||
| 		$this->base = $base; | ||||
|  | @ -110,26 +114,36 @@ class inetOrgPerson extends baseModule { | |||
| 		} | ||||
| 
 | ||||
| 	// Variables
 | ||||
| 	// name of account_container in session so we can read other classes in account_container
 | ||||
| 	/** name of account_container in session so we can read other classes in account_container */ | ||||
| 	var $base; | ||||
| 	// This variable contains all inetOrgPerson attributes
 | ||||
| 	/** This variable contains all inetOrgPerson attributes */ | ||||
| 	var $attributes; | ||||
| 	/* If an account was loaded all attributes are kept in this array | ||||
| 	* to compare it with new changed attributes | ||||
| 	/** | ||||
| 	* If an account was loaded all attributes are kept in this array | ||||
| 	* to compare it with new changed attributes. | ||||
| 	*/ | ||||
| 	var $orig; | ||||
| 	 | ||||
| 	var $regex_host = '^([a-z]|[A-Z]|[0-9]|[.]|[-])+(([,])+([ ])*([a-z]|[A-Z]|[0-9]|[.]|[-])+)*$'; | ||||
| 	var $regex_givenName = '^([a-z]|[A-Z]|[-]|[ ]|[ä]|[Ä]|[ö]|[Ö]|[ü]|[Ü]|[ß])+$'; | ||||
| 	var $regex_surname = '^([a-z]|[A-Z]|[-]|[ ]|[ä]|[Ä]|[ö]|[Ö]|[ü]|[Ü]|[ß])+$'; | ||||
| 
 | ||||
| 	/** regular expression for host name */ | ||||
| 	var $regex_host = '^([a-z0-9\\.-])+(([,])+([ ])*([a-z0-9\\.-])+)*$'; | ||||
| 	/** regular expression for first/last name */ | ||||
| 	var $regex_name = '^([a-z äöüß-])+$'; | ||||
| 	/** regular expression for telephone numbers */ | ||||
| 	var $regex_telephoneNumber = '^(\+)*([0-9]|[ ]|[.]|[(]|[)]|[/]|[-])*$'; | ||||
| 	var $regex_email = '^(([0-9]|[A-Z]|[a-z]|[.]|[-]|[_])+[@]([0-9]|[A-Z]|[a-z]|[-])+([.]([0-9]|[A-Z]|[a-z]|[-])+)*)*$'; | ||||
| 	var $regex_street = '^([0-9]|[A-Z]|[a-z]|[-]|[ ]|[.]|[Ä]|[ä]|[Ö]|[ö]|[Ü]|[ü]|[ß])*$'; | ||||
| 	var $regex_postalAddress = '^([0-9]|[A-Z]|[a-z]|[ ]|[.]|[Ä]|[ä]|[Ö]|[ö]|[Ü]|[ü]|[ß])*$'; | ||||
| 	var $regex_postalCode = '^([0-9]|[A-Z]|[a-z])*$'; | ||||
| 	var $regex_title = '^([0-9]|[A-Z]|[a-z]|[-]|[ ]|[.]|[Ä]|[ä]|[Ö]|[ö]|[Ü]|[ü]|[ß])*$'; | ||||
| 	var $regex_employeeType = '^([0-9]|[A-Z]|[a-z]|[ ]|[.]|[Ä]|[ä]|[Ö]|[ö]|[Ü]|[ü]|[ß])*$'; | ||||
| 	 | ||||
| 	/** regular expression for e-mail */ | ||||
| 	var $regex_email = '^(([0-9a-z\\._-])+[@]([0-9a-z-])+([.]([0-9a-z-])+)*)*$'; | ||||
| 	/** regular expression for street names */ | ||||
| 	var $regex_street = '^([0-9a-z \\.äöüß-])*$'; | ||||
| 	/** regular expression for postal address */ | ||||
| 	var $regex_postalAddress = '^([0-9a-z \\.äöüß-])*$'; | ||||
| 	/** regular expression for postal codes */ | ||||
| 	var $regex_postalCode = '^([0-9a-z])*$'; | ||||
| 	/** regular expression for job titles */ | ||||
| 	var $regex_title = '^([0-9a-z \\.äöüß-])*$'; | ||||
| 	/** regular expression for employee types */ | ||||
| 	var $regex_employeeType = '^([0-9a-z \\.äöüß-])*$'; | ||||
| 
 | ||||
| 	/** list of possible error messages */ | ||||
| 	var $messages = array(); | ||||
| 
 | ||||
| 	/* This function returns true if all required attributes from other | ||||
|  | @ -250,7 +264,7 @@ class inetOrgPerson extends baseModule { | |||
| 		// handle host-attribute in on epice because it's not set by default
 | ||||
| 		if (isset($this->attributes['host'])) { | ||||
| 			$host = $post['host']; | ||||
| 			if ((!$host=='') && !ereg($this->regex_host, $host)) | ||||
| 			if ((!$host=='') && !eregi($this->regex_host, $host)) | ||||
| 				$errors['host'][] = $this->messages['host']; | ||||
| 			$hosts = explode(" ", $host); | ||||
| 			$this->attributes['host'] = array(); | ||||
|  | @ -260,18 +274,18 @@ class inetOrgPerson extends baseModule { | |||
| 
 | ||||
| 		// Do some regex-checks and return error if attributes are set to wrong values
 | ||||
| 		if (!$profile) { | ||||
| 			if ( !ereg($this->regex_givenName, $this->attributes['givenName'][0])) $errors['givenName'][] = $this->messages['givenName']; | ||||
| 			if ( !ereg($this->regex_surname, $this->attributes['sn'][0])) $errors['sn'][] = $this->messages['surname']; | ||||
| 			if ( !eregi($this->regex_name, $this->attributes['givenName'][0])) $errors['givenName'][] = $this->messages['givenName']; | ||||
| 			if ( !eregi($this->regex_name, $this->attributes['sn'][0])) $errors['sn'][] = $this->messages['surname']; | ||||
| 			if ( !ereg($this->regex_telephoneNumber, $this->attributes['telephoneNumber'][0]))  $errors['telephoneNumber'][] = $this->messages['telephoneNumber']; | ||||
| 			if ( !ereg($this->regex_telephoneNumber, $this->attributes['mobileTelephoneNumber'][0]))  $errors['mobileTelephoneNumber'][] = $this->messages['mobileTelephone']; | ||||
| 			if ( !ereg($this->regex_telephoneNumber, $this->attributes['facsimileTelephoneNumber'][0]))  $errors['facsimileTelephoneNumber'][] = $this->messages['facsimileNumber']; | ||||
| 			if ( !ereg($this->regex_email, $this->attributes['mail'][0])) $this->messages['email']; | ||||
| 			if ( !ereg($this->regex_street, $this->attributes['street'][0]))  $errors['street'][] = $this->messages['street']; | ||||
| 			if ( !ereg($this->regex_postalAddress, $this->attributes['postalAddress'][0]))  $errors['postalAdress'][] = $this->messages['postalAddress']; | ||||
| 			if ( !ereg($this->regex_postalCode, $this->attributes['personal_postalCode'][0]))  $errors['personal_postalCode'][] = $this->messages['postalCode']; | ||||
| 			if ( !eregi($this->regex_email, $this->attributes['mail'][0])) $this->messages['email']; | ||||
| 			if ( !eregi($this->regex_street, $this->attributes['street'][0]))  $errors['street'][] = $this->messages['street']; | ||||
| 			if ( !eregi($this->regex_postalAddress, $this->attributes['postalAddress'][0]))  $errors['postalAdress'][] = $this->messages['postalAddress']; | ||||
| 			if ( !eregi($this->regex_postalCode, $this->attributes['personal_postalCode'][0]))  $errors['personal_postalCode'][] = $this->messages['postalCode']; | ||||
| 			} | ||||
| 		if ( !ereg($this->regex_title, $this->attributes['title'][0]))  $errors['title'][] = $this->messages['title']; | ||||
| 		if ( !ereg($this->regex_employeeType, $this->attributes['employeeType'][0]))  $errors['employeeType'][] = $this->messages['employeeType']; | ||||
| 		if ( !eregi($this->regex_title, $this->attributes['title'][0]))  $errors['title'][] = $this->messages['title']; | ||||
| 		if ( !eregi($this->regex_employeeType, $this->attributes['employeeType'][0]))  $errors['employeeType'][] = $this->messages['employeeType']; | ||||
| 		// Return error-messages
 | ||||
| 		if (is_array($errors)) return $errors; | ||||
| 		return 0; | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue