diff --git a/plugins/admin/systems/class_glpiSelectUser.inc b/plugins/admin/systems/class_glpiSelectUser.inc
index 27cd281cca0b529b8afcea9a7db1dd1a7296ece0..4d8e2d41adace1e64f0001e4a7f824e612066022 100644 (file)
var $ui;
- function glpiSelectUser ($config, $dn= NULL)
+ var $PostVarName = "";
+
+ function glpiSelectUser ($config, $dn= NULL,$postvar)
{
plugin::plugin ($config, $dn);
+ $this->PostVarName = $postvar;
+
if(!isset($_SESSION['glpi_user_filter'])){
$tmp['users_regex'] = "*";
$tmp['base'] = $this->config->current['BASE'];
/* Call parent execute */
plugin::execute();
+ if(isset($_POST['depselect'])){
+ $_SESSION['glpi_user_filter']['base'] = $_POST['depselect'];
+ }
+
$filter = $_SESSION['glpi_user_filter'];
- $s_action="";
+ /* Filter settings, remove double* */
+ if(isset($_GET['search'])){
+ $filter['users_regex'] = preg_replace("/\*\**/","*",$_GET['search']."*");
+ }elseif(isset($_POST['regex'])){
+ $filter['users_regex'] = preg_replace("/\*\**/","*",$_POST['regex']);
+ }
+ if(empty($filter['users_regex'])) {
+ $filter = "*";
+ }
+
+ $s_action="";
/* Test Posts */
foreach($_POST as $key => $val){
// Post for delete
$divlist->AddEntry(array($field1,$field2,$field3));
}
- $useruse = "<a href='?plug=".$_GET['plug']."&act=user_tech_num&id=%s'>%s</a>";
+ $useruse = "<a href='?plug=".$_GET['plug']."&act=".$this->PostVarName."&id=%s'>%s</a>";
foreach($this->users as $key=>$user){
- $field1 = array("string" => "<img src='images/select_user.png' alt='user'>", "attach" => "style='text-align:center;width:20px;'");
+ $field1 = array("string" => "<img src='images/select_user.png' alt='user' >", "attach" => "style='text-align:center;width:20px;'");
$field2 = array("string" => sprintf($useruse,base64_encode($key),$user), "attach" => "style=''");
- $field3 = array("string" => sprintf($useruse,base64_encode($key),"<img border=0 src='images/crossref.png' alt='"._("use")."'>"),
+ $field3 = array("string" => sprintf($useruse,base64_encode($key),"<img title='"._("Use")."' border=0 src='images/crossref.png' alt='"._("use")."'>"),
"attach" => "style='width:60px;border-right:0px;text-align:right;'");
$divlist->AddEntry(array($field1,$field2,$field3));
}
-
-
-
-
-
-
-
+ /* Prepare departments,
+ which are shown in the listbox on top of the listbox
+ */
+ $options= "";
+ foreach ($this->config->idepartments as $key => $value){
+ if ($_SESSION['glpi_user_filter']['base'] == $key){
+ $options.= "<option selected='selected' value='$key'>$value</option>";
+ } else {
+ $options.= "<option value='$key'>$value</option>";
+ }
+ }
$listhead = "<div style='background:#F0F0F9;padding:5px;'>".
- " <input class='center' type='image' align='middle'
- src='images/list_back.png' title='"._("Go up one department")."' alt='"._("Up")."' name='dep_back'> ".
" <input class='center' type='image' src='images/list_root.png'
align='middle' title='"._("Go to root department")."' name='dep_root' alt='"._("Root")."'> ".
" <input class='center' type='image' align='middle'
+ src='images/list_back.png' title='"._("Go up one department")."' alt='"._("Up")."' name='dep_back'> ".
+ " <input class='center' type='image' align='middle'
src='images/list_home.png' title='"._("Go to users department")."' alt='"._("Home")."' name='dep_home'> ".
+ " <input class='center' type='image' src='images/list_reload.png' align='middle' title='"._("Reload list")."' name='submit_department' alt='"._("Submit")."'> ".
+" <img class='center' src='images/list_seperator.png' align='middle' alt='' height='16' width='1'> "._("Base")." ".
+ " <select name='depselect' onChange='mainform.submit()' class='center'>$options</select>".
+ " <input class='center' type='image' src='images/list_submit.png' align='middle'
+ title='"._("Submit department")."' name='submit_department' alt='". _("Submit")."'> ".
"</div>";
$smarty->assign("search_image", get_template_path('images/search.png'));
$smarty->assign("searchu_image", get_template_path('images/search_user.png'));
$smarty->assign("tree_image", get_template_path('images/tree.png'));
- $smarty->assign("infoimage", get_template_path('images/info.png'));
- $smarty->assign("launchimage", get_template_path('images/launch.png'));
+ $smarty->assign("infoimage", get_template_path('images/info_small.png'));
+ $smarty->assign("launchimage", get_template_path('images/small_filter.png'));
$smarty->assign("apply", apply_filter());
$smarty->assign("alphabet", generate_alphabet());
$smarty->assign("users_regex", $filter['users_regex']);
* So we are able to navigate like in konquerer
*/
- $res3 = get_list2($this->ui->subtreeACL, "(&(|(ou=$regex)(description=$regex))(objectClass=gosaDepartment))",
- TRUE, $base, array("ou", "description"), TRUE);
+ $res3= get_list("(&(|(ou=*)(description=*))(objectClass=gosaDepartment))",
+ $this->ui->subtreeACL, $base, array("ou", "description"), GL_SIZELIMIT | GL_CONVERT);
$this->departments= array();
$tmp = array();
ksort($tmp);
foreach($tmp as $value){
if(isset($value["description"][0])){
- $this->departments[$value['dn']]=convert_department_dn2($value['dn'])." - [".$value["description"][0]."]";
+ $this->departments[$value['dn']]= get_sub_department($value['dn'])." - [".$value["description"][0]."]";
}else{
- $this->departments[$value['dn']]=convert_department_dn2($value['dn']);//$value["description"][0];
+ $this->departments[$value['dn']]= get_sub_department($value['dn']);//$value["description"][0];
}
}
/* END NEW LIST MANAGMENT
*/
$ou = get_people_ou();
- $res2 = get_list($this->ui->subtreeACL, "(&(|(cn=$regex)(sn=$regex))(objectClass=person))",
- TRUE,$ou.$base, array("cn","sn","uid","givenName", "description"), TRUE);
+ $res2= get_list("(&(|(cn=$regex)(sn=$regex))(objectClass=person))", $this->ui->subtreeACL,
+ $ou.$base, array("cn", "sn", "uid", "givenName", "description"),
+ GL_SUBSEARCH | GL_SIZELIMIT);
$tmp = array();