X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=gosa-core%2Fhtml%2Fautocomplete.php;h=e6bbdbde2b69c765d47a1bee636ccff4dee473d1;hb=dc9477682ce4fc03b5623c39bab13f981eaf3c32;hp=76b026106e9746e66864ed184ab092f57cfbb1e6;hpb=9023b31c1a5d3fd2229c72c279d86833c10a2b96;p=gosa.git diff --git a/gosa-core/html/autocomplete.php b/gosa-core/html/autocomplete.php index 76b026106..e6bbdbde2 100644 --- a/gosa-core/html/autocomplete.php +++ b/gosa-core/html/autocomplete.php @@ -24,6 +24,7 @@ @require_once ("../include/php_setup.inc"); @require_once ("functions.inc"); +session_cache_limiter("private"); session::start(); session::global_set('errorsAlreadyPosted',array()); @@ -34,13 +35,49 @@ if (!session::global_is_set('ui')){ exit; } -$config = session::global_get('config'); -$ui = session::global_get('ui'); +/* Base completition or filter completition? */ +if (isset($_GET['type']) && $_GET['type'] == "base") { -/* Is there a filter object arround? */ -if (session::is_set("autocomplete")){ - $filter= session::get("autocomplete"); - $filter->processAutocomplete(); + // Find dn based on name and description + if (session::is_set("pathMapping") && count($_POST) == 1) { + $res= ""; + $pathMapping= session::get("pathMapping"); + $search= preg_replace('/"/', '"', current($_POST)); + + $config = session::global_get('config'); + foreach ($config->department_info as $dn => $info) { + if (!isset($pathMapping[$dn])) { + continue; + } + if (mb_stristr($info['name'], $search) !== false) { + $res.= "
  • ".mark($search, $pathMapping[$dn]).($info['description']==''?"":" [".mark($search, $info['description'])."]")."
  • "; + continue; + } + if (mb_stristr($info['description'], $search) !== false) { + $res.= "
  • ".mark($search, $pathMapping[$dn]).($info['description']==''?"":" [".mark($search, $info['description'])."]")."
  • "; + continue; + } + if (mb_stristr($pathMapping[$dn], $search) !== false) { + $res.= "
  • ".mark($search, $pathMapping[$dn]).($info['description']==''?"":" [".mark($search, $info['description'])."]")."
  • "; + continue; + } + } + + /* Return results */ + if (!empty($res)) { + echo ""; + } + } + +} else { + + $ui = session::global_get('ui'); + + /* Is there a filter object arround? */ + if (session::is_set("autocomplete")){ + $filter= session::get("autocomplete"); + $filter->processAutocomplete(); + } } ?>