config->get_ldap_link(); $ldap->ls ("(&(o=".$this->o.")(objectClass=organization))", $this->base, array('dn')); if ($this->orig_o == "new" && $ldap->count()){ $message[]= msgPool::duplicated(_("Name")); } elseif ($this->orig_dn != $this->dn && $ldap->count()){ $message[]= msgPool::duplicated(_("Name")); } /* All required fields are set? */ if ($this->o == ""){ $message[]= msgPool::required(_("Name")); }elseif(tests::is_department_name_reserved($this->o,$this->base)){ $message[]= msgPool::reserved(_("Name")); }elseif(preg_match ('/[#+:=>\\\\\/]/', $this->o)){ $message[]= msgPool::invalid(_("Name"), $this->o, "/[^#+:=>\\\\\/]/"); } /* Check description */ if ($this->description == ""){ $message[]= msgPool::required(_("Description")); } /* Check if we are allowed to create or move this object */ if($this->orig_dn == "new" && !$this->acl_is_createable($this->base)){ $message[] = msgPool::permCreate(); }elseif($this->orig_dn != "new" && $this->base != $this->orig_base && !$this->acl_is_moveable($this->base)){ $message[] = msgPool::permMove(); } return($message); } /* Return plugin informations for acl handling */ static function plInfo() { return (array("plShortName" => _("Organization"), "plDescription" => _("Organization"), "plSelfModify" => FALSE, "plPriority" => 1, "plDepends" => array(), "plSection" => array("administration"), "plCategory" => array("department"), "plProvidedAcls" => array( "o" => _("Organization name"), "description" => _("Description"), "businessCategory" => _("Category"), "base" => _("Base"), "manager" => _("Manager"), "st" => _("State"), "l" => _("Location"), "postalAddress" => _("Postal address"), "telephoneNumber" => _("Phone number"), "facsimileTelephoneNumber"=> _("Fax"), "gosaUnitTag" => _("Administrative settings")) )); } } // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler: ?>