X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=plugins%2Fadmin%2Fdepartments%2Fclass_departmentGeneric.inc;h=9aecbccdff2cb3d39578dc59596a449b74e37625;hb=206abcab698395b6c61297782e8c304c4e77dc56;hp=ee0e39fecdb354c14873e9f7fe075c465b808aa6;hpb=00d11e42a0c867bfbd1e7f611edbf47f27992336;p=gosa.git diff --git a/plugins/admin/departments/class_departmentGeneric.inc b/plugins/admin/departments/class_departmentGeneric.inc index ee0e39fec..9aecbccdf 100644 --- a/plugins/admin/departments/class_departmentGeneric.inc +++ b/plugins/admin/departments/class_departmentGeneric.inc @@ -214,15 +214,14 @@ class department extends plugin $message= plugin::check(); /* Permissions for that base? */ - // $this->dn= "ou=$this->ou,".$this->base; if (chkacl($this->acl, "create") != ""){ $message[]= _("You have no permissions to create a department on this 'Base'."); } /* Check for presence of this department */ $ldap= $this->config->get_ldap_link(); - $attrs= $ldap->cat ($this->dn, array('dn')); - if ($this->orig_dn == "new" && !($attrs === FALSE)){ + $ldap->ls ("(&(ou=".$this->ou.")(objectClass=organizationalUnit))", $this->base, array('dn')); + if ($this->orig_dn == "new" && $ldap->count()){ $message[]= _("Department with that 'Name' already exists."); } elseif ($this->orig_dn != $this->dn && !($attrs === FALSE)){ $message[]= _("Department with that 'Name' already exists."); @@ -240,7 +239,7 @@ class department extends plugin $message[]= sprintf(_("The field 'Name' contains the reserved word '%s'. Please choose another name."),$this->ou); } - if (preg_match ('/[#+:=>\\\\\/]/', $this->ou)){ + if (preg_match ('/["+>\\\\]/', $this->ou)){ $message[]= _("The field 'Name' contains invalid characters."); } if (!is_phone_nr($this->telephoneNumber)){ @@ -263,7 +262,9 @@ class department extends plugin if ($this->is_administrational_unit){ if(!in_array_ics("gosaAdministrativeUnit",$this->objectclasses)){ $this->objectclasses[]= "gosaAdministrativeUnit"; + $this->gosaUnitTag= ""; } + if ($this->gosaUnitTag == ""){ /* It's unlikely, but check if already used... */ @@ -286,8 +287,6 @@ class department extends plugin } $this->gosaUnitTag= preg_replace("/\./", "", $sec.$usec); } - } else { - $this->gosaUnitTag= ""; } plugin::save(); @@ -297,13 +296,18 @@ class department extends plugin $tmp= array(); /* Remove gosaAdministrativeUnit from this plugin */ + $has_unit_tag= false; foreach($this->attrs['objectClass'] as $oc){ if (!preg_match("/^gosaAdministrativeUnit$/i", $oc)){ $tmp[]= $oc; } + if (preg_match("/^gosaAdministrativeUnitTag$/i", $oc)){ + $has_unit_tag= true; + } } $this->attrs['objectClass']= $tmp; - if(isset($this->attrs['gosaUnitTag'])){ + + if(!$has_unit_tag && isset($this->attrs['gosaUnitTag'])){ $this->attrs['gosaUnitTag']= array(); } } @@ -343,7 +347,7 @@ class department extends plugin function ShowMoveFrame() { $smarty = get_smarty(); - $smarty->assign("src","?plug=".$_GET['plug']."&PerformRecMove"); + $smarty->assign("src","?plug=".$_GET['plug']."&PerformRecMove"); $smarty->assign("message","As soon as the move operation has finished, you can scroll down to end of the page and press the 'Continue' button to continue with the department management dialog."); $display= $smarty->fetch(get_template_path("dep_iframe.tpl",TRUE)); return($display); @@ -352,7 +356,7 @@ class department extends plugin function ShowTagFrame() { $smarty = get_smarty(); - $smarty->assign("src","?plug=".$_GET['plug']."&TagDepartment"); + $smarty->assign("src","?plug=".$_GET['plug']."&TagDepartment"); $smarty->assign("message","As soon as the tag operation has finished, you can scroll down to end of the page and press the 'Continue' button to continue with the department management dialog."); $display= $smarty->fetch(get_template_path("dep_iframe.tpl",TRUE)); return($display); @@ -363,8 +367,18 @@ class department extends plugin { if(!$OnlySetTagFlag){ $smarty= get_smarty(); - echo "".$smarty->fetch(get_template_path('headers.tpl')); - echo "
"; + + /* Print out html introduction */ + echo ' + + +