Code

Fixed typo
[gosa.git] / gosa-core / html / autocomplete.php
1 <?php
2 /*
3  * This code is part of GOsa (http://www.gosa-project.org)
4  * Copyright (C) 2003-2008 GONICUS GmbH
5  *
6  * ID: $$Id: getbin.php 9255 2008-03-03 16:04:30Z cajus $$
7  *
8  * This program is free software; you can redistribute it and/or modify
9  * it under the terms of the GNU General Public License as published by
10  * the Free Software Foundation; either version 2 of the License, or
11  * (at your option) any later version.
12  *
13  * This program is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16  * GNU General Public License for more details.
17  *
18  * You should have received a copy of the GNU General Public License
19  * along with this program; if not, write to the Free Software
20  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
21  */
23 /* Basic setup, remove eventually registered sessions */
24 @require_once ("../include/php_setup.inc");
25 @require_once ("functions.inc");
27 session_cache_limiter("private");
28 session::start();
29 session::global_set('errorsAlreadyPosted',array());
31 /* Logged in? Simple security check */
32 if (!session::global_is_set('ui')){
33   new log("security","unknown","",array(),"Error: autocomplete.php called without session") ;
34   header ("Location: index.php");
35   exit;
36 }
38 /* Base completition or filter completition? */
39 if (isset($_GET['type']) && $_GET['type'] == "base") {
41   // Find dn based on name and description
42   if (session::is_set("pathMapping") && count($_POST) == 1) {
43     $res= "";
44     $pathMapping= session::get("pathMapping");
45     $search= preg_replace('/&quot;/', '"', current($_POST));
47     $config = session::global_get('config');
48     foreach ($config->department_info as $dn => $info) {
49       if (!isset($pathMapping[$dn])) {
50         continue;
51       }
52       if (mb_stristr($info['name'], $search) !== false) {
53         $res.= "<li>".mark($search, $pathMapping[$dn]).($info['description']==''?"":"<span class='informal'> [".mark($search, $info['description'])."]</span>")."</li>";
54         continue;
55       }
56       if (mb_stristr($info['description'], $search) !== false) {
57         $res.= "<li>".mark($search, $pathMapping[$dn]).($info['description']==''?"":"<span class='informal'> [".mark($search, $info['description'])."]</span>")."</li>";
58         continue;
59       }
60       if (mb_stristr($pathMapping[$dn], $search) !== false) {
61         $res.= "<li>".mark($search, $pathMapping[$dn]).($info['description']==''?"":"<span class='informal'> [".mark($search, $info['description'])."]</span>")."</li>";
62         continue;
63       }
64     }
66     /* Return results */
67     if (!empty($res)) {
68       echo "<ul>$res</ul>";
69     }
70   }
72 } else {
74   $ui = session::global_get('ui');
76   /* Is there a filter object arround? */
77   if (session::is_set("autocomplete")){
78     $filter= session::get("autocomplete");
79     $filter->processAutocomplete();
80   }
81 }
83 ?>