index 1247ad781b62997165444711a8d4efc2d4368145..4a132154ccdc52eed46a0e982dc3dc193604c48e 100644 (file)
var $autocompleter= array();
var $category= "";
var $objectStorage= array();
- var $objectBase= "";
var $base= "";
var $scope= "";
var $query;
$this->alphabetElements[]= $tag;
}
}
+
+ // Sort elements for element length to allow proper replacing later on
+ function strlenSort($a, $b) {
+ if (strlen($a['tag']) == strlen($b['tag'])) {
+ return 0;
+ }
+ return (strlen($a['tag']) < strlen($b['tag']) ? -1 : 1);
+ }
+ uasort($this->elements, 'strlenSort');
+ $this->elements= array_reverse($this->elements);
+
}
return true;
function getTextfield($element)
{
$tag= $element['tag'];
- $result= "<input class='filter_textfield' id='$tag' name='$tag' type='text' size='30' maxlength='30' value='".$this->elementValues[$tag]."'>";
+ $size= 30;
+ if (isset($element['size'])){
+ $size= $element['size'];
+ }
+ $maxlength= 30;
+ if (isset($element['maxlength'])){
+ $maxlength= $element['maxlength'];
+ }
+ $result= "<input class='filter_textfield' id='$tag' name='$tag' type='text' size='$size' maxlength='maxlength' value='".$this->elementValues[$tag]."'>";
if (isset($element['autocomplete'])) {
$frequency= "0.5";
$characters= "1";
}
- function setObjectBase($base) {
- $this->objectBase= $base;
- }
-
-
function setBase($base) {
$this->base= $base;
}
}
$result= array_merge($result, call_user_func(array($backend, 'query'), $this->base, $this->scope, $filter, $attributes,
- $this->category, $this->objectStorage, $this->objectBase));
+ $this->category, $this->objectStorage));
}
// Make filter
$filter= preg_replace("/\\$$tag/", normalizeLDAP($value), $filter);
- if (isset($config['base']) && isset($config['scope'])
- && isset($config['category']) && isset($config['objectbase']) ) {
+ if (isset($config['base']) && isset($config['scope']) && isset($config['category'])) {
$result= call_user_func(array($backend, 'query'), $config['base'], $config['scope'], $filter, $attributes,
- $config["category"], $config["objectbase"]);
+ $config["category"], $config["objectStorage"]);
} else {
$result= call_user_func(array($backend, 'query'), $this->base, $this->scope, $filter, $attributes,
- $this->category, $this->objectStorage, $this->objectBase);
+ $this->category, $this->objectStorage);
}
foreach ($result as $entry) {
global $class_mapping;
$result= array();
+ // Introduce maximum number of entries
+ $max= 10;
+
foreach ($this->autocompleters as $tag => $config) {
if(isset($_POST[$tag])){
$result= $this->getCompletitionList($config, $tag, $_POST[$tag]);
+ $result= array_unique($result);
+ asort($result);
echo '<ul>';
foreach ($result as $entry) {
echo '<li>'.$entry.'</li>';
+ if ($max-- == 0) {
+ break;
+ }
}
echo '</ul>';
}
-
}
}