phpldapadmin/lib/SelectionAttribute.php

65 lines
1.4 KiB
PHP
Raw Permalink Normal View History

2009-06-30 10:46:00 +00:00
<?php
/**
* Classes and functions for the template engine.
2009-06-30 10:46:00 +00:00
*
* @author The phpLDAPadmin development team
* @package phpLDAPadmin
*/
/**
2009-06-30 10:46:00 +00:00
* Represents an attribute whose values are in a predefined list
*
* @package phpLDAPadmin
* @subpackage Templates
2009-06-30 10:46:00 +00:00
*/
class SelectionAttribute extends Attribute {
protected $selection = array();
2009-06-30 10:46:00 +00:00
protected $multiple;
protected $default;
public function __construct($name,$values,$server_id,$source=null) {
# Call our parent constructor
parent::__construct($name,$values,$server_id,$source);
2009-06-30 10:46:00 +00:00
# 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();
}
2009-06-30 10:46:00 +00:00
if (isset($values['type']) && $values['type'] == 'multiselect')
$this->multiple = true;
else
$this->multiple = false;
2009-06-30 10:46:00 +00:00
}
public function addOption($value,$description) {
$this->selection[$value] = $description;
2009-06-30 10:46:00 +00:00
}
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;
}
2009-06-30 10:46:00 +00:00
public function isMultiple() {
return $this->multiple;
}
public function setMultiple() {
$this->multiple = true;
}
}
?>