X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=plugins%2Fadmin%2Fsystems%2Fclass_goShareServer.inc;h=5f580dde93e6d69bc6555e0bbb4f843506252a28;hb=ea192ab4f2ec780c4e2f21820ba653c67da84bb3;hp=f5061b1e3ee475404de49d22060f02bd9986b48e;hpb=a19b1adcc856c72f83cc60b607d0f66d7c57f52f;p=gosa.git diff --git a/plugins/admin/systems/class_goShareServer.inc b/plugins/admin/systems/class_goShareServer.inc index f5061b1e3..5f580dde9 100644 --- a/plugins/admin/systems/class_goShareServer.inc +++ b/plugins/admin/systems/class_goShareServer.inc @@ -212,8 +212,26 @@ class goShareServer extends goService{ $this->goExportEntryList[$key]=$entry[$key]; } - function deleteFromList($id){ - unset($this->goExportEntryList[$id]); + function deleteFromList($id) + { + /* Check if the share is used by someone */ + $ldap = $this->config->get_ldap_link(); + $ldap->cd($this->config->current['BASE']); + $ldap->search("(|(gotoProfileServer=*|$id)(gotoShare=*|$id|*))", array("cn")); + $cnt= $ldap->count(); + if ($cnt){ + $msg= sprintf(_("The share can't be removed since it is still used by %d users:"), $cnt); + $msg.= "

"._("Please correct the share-/profile settings of these users"); + print_red($msg); + + } else { + /* Finally remove it */ + unset($this->goExportEntryList[$id]); + } } function process_mounts() { @@ -340,7 +358,7 @@ class goShareServer extends goService{ function plInfo() { return (array( - "plShortName" => _("File servive (Shares)"), + "plShortName" => _("File service (Shares)"), "plDescription" => _("File service - Shares")." ("._("Services").")", "plSelfModify" => FALSE, "plDepends" => array(),