From 0f2c8ec4a8ece3cb8ef2024bd6bec1e1470cf326 Mon Sep 17 00:00:00 2001 From: hickert Date: Thu, 16 Nov 2006 06:10:19 +0000 Subject: [PATCH] Added patch from revision r5303 To avoid share remove it is still in use git-svn-id: https://oss.gonicus.de/repositories/gosa/trunk@5136 594d385d-05f5-0310-b6e9-bd551577e9d8 --- plugins/admin/systems/class_goShareServer.inc | 22 +++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/plugins/admin/systems/class_goShareServer.inc b/plugins/admin/systems/class_goShareServer.inc index f9c0a0a04..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() { -- 2.30.2