diff --git a/plugins/admin/systems/class_glpiSelectUser.inc b/plugins/admin/systems/class_glpiSelectUser.inc
index 8e7eff7e3812b28adc51c79dd027af5509f5da03..7073b12a40564807837d986f706cd683fb9f518b 100644 (file)
var $PostVarName = "";
- function glpiSelectUser ($config, $dn= NULL,$postvar)
+ function glpiSelectUser (&$config, $dn= NULL,$postvar)
{
plugin::plugin ($config, $dn);
$display= "";
$divlist = new divlist("glpi users");
+ $divlist->SetPluginMode();
$divlist->SetEntriesPerPage(0);
$divlist->SetHeader(array(
array("string" => " ", "attach" => "style='text-align:center;width:20px;'"),
/* 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>";
+
+
+ /* Get all departments within this subtree */
+ $this->base = $_SESSION['glpi_user_filter']['base'];
+ $options ="";
+ $base = $this->config->current['BASE'];
+ $deps= get_list("(&(|(ou=*)(description=*))(objectClass=gosaDepartment))", "users", $base,
+ array("ou", "description"), GL_SIZELIMIT | GL_SUBSEARCH);
+
+ /* Load possible departments */
+ $ui= get_userinfo();
+ $tdeps= $ui->get_module_departments("users");
+ $ids = $this->config->idepartments;
+ foreach($deps as $dep){
+ if(isset($ids[$dep['dn']]) && in_array_ics($dep['dn'], $tdeps)){
+ $value = $ids[$dep['dn']];
+ if ($this->base == $dep['dn']){
+ $options.= "<option selected='selected' value='".$dep['dn']."'>$value</option>";
+ } else {
+ $options.= "<option value='".$dep['dn']."'>$value</option>";
+ }
}
}
* So we are able to navigate like in konquerer
*/
- $res3= get_list("(&(|(ou=*)(description=*))(objectClass=gosaDepartment))",
- "glpi", $base, array("ou", "description"), GL_SIZELIMIT | GL_CONVERT);
+ $res3= get_list("(&(|(ou=*)(description=*))(objectClass=gosaDepartment))","users",
+ $base, array("ou", "description"), GL_SIZELIMIT | GL_CONVERT);
$this->departments= array();
$tmp = array();
/* END NEW LIST MANAGMENT
*/
$ou = get_people_ou();
- $res2= get_list("(&(|(cn=$regex)(sn=$regex))(objectClass=person))", "glpi",
+
+ $res2= get_list("(&(|(cn=$regex)(sn=$regex))(objectClass=person))", "users",
$ou.$base, array("cn", "sn", "uid", "givenName", "description"),
GL_SUBSEARCH | GL_SIZELIMIT);