72 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
		
		
			
		
	
	
			72 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
|  | <?php | ||
|  | /** | ||
|  |  * Classes and functions for the template engine. | ||
|  |  * | ||
|  |  * @author The phpLDAPadmin development team | ||
|  |  * @package phpLDAPadmin | ||
|  |  */ | ||
|  | 
 | ||
|  | /** | ||
|  |  * Represents an attribute whose values are in a predefined list | ||
|  |  * | ||
|  |  * @package phpLDAPadmin | ||
|  |  * @subpackage Templates | ||
|  |  */ | ||
|  | class SelectionAttribute extends Attribute { | ||
|  | 	protected $selection = array(); | ||
|  | 	protected $multiple; | ||
|  | 	protected $default; | ||
|  | 
 | ||
|  | 	public function __construct($name,$values,$server_id,$source=null) { | ||
|  | 		# Call our parent constructor
 | ||
|  | 		parent::__construct($name,$values,$server_id,$source); | ||
|  | 
 | ||
|  | 		# Our values are set by parent(). If we do have values, and the source was XML, move them to our selection.
 | ||
|  | 		if ($this->source == 'XML' && $this->values) { | ||
|  | 			$this->selection = $this->values; | ||
|  | 			$this->values = array(); | ||
|  | 		} | ||
|  | 
 | ||
|  | 		if (isset($values['type']) && $values['type'] == 'multiselect') | ||
|  | 			$this->multiple = true; | ||
|  | 		else | ||
|  | 			$this->multiple = false; | ||
|  | 	} | ||
|  | 
 | ||
|  | 	public function addOption($value,$description) { | ||
|  | 		$this->selection[$value] = $description; | ||
|  | 	} | ||
|  | 
 | ||
|  | 	public function addValue($new_val,$i=-1) { | ||
|  | 		if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS')) | ||
|  | 			debug_log('Entered (%%)',5,0,__FILE__,__LINE__,__METHOD__,$fargs); | ||
|  | 
 | ||
|  | 		$this->addOption($new_val,$new_val); | ||
|  | 	} | ||
|  | 
 | ||
|  | 	public function getOptionCount() { | ||
|  | 		return count($this->selection); | ||
|  | 	} | ||
|  | 
 | ||
|  | 	public function getSelection() { | ||
|  | 		return $this->selection; | ||
|  | 	} | ||
|  | 
 | ||
|  | 	public function autoValue($value) { | ||
|  | 		$this->selection = $value; | ||
|  | 	} | ||
|  | 
 | ||
|  | 	public function getDefault() { | ||
|  | 		return $this->default; | ||
|  | 	} | ||
|  | 
 | ||
|  | 	public function isMultiple() { | ||
|  | 		return $this->multiple; | ||
|  | 	} | ||
|  | 
 | ||
|  | 	public function setMultiple() { | ||
|  | 		$this->multiple = true; | ||
|  | 	} | ||
|  | } | ||
|  | ?>
 |