HEX
Server: Apache
System: Linux server2.voipitup.com.au 4.18.0-553.111.1.lve.el8.x86_64 #1 SMP Fri Mar 13 13:42:17 UTC 2026 x86_64
User: posscale (1027)
PHP: 8.2.30
Disabled: exec,passthru,shell_exec,system
Upload Files
File: /home/posscale/subdomains/Phone_directories/templates/3rdParty/pla/lib/SelectionAttribute.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;
	}
}
?>