From 0889fc96ec5788d598ad5bc6a69f27330797db44 Mon Sep 17 00:00:00 2001
From: ftimme <ft@falkotimme.com>
Date: Tue, 11 Jun 2013 11:20:01 -0400
Subject: [PATCH] - Fixed FS#2968 - linux user and group deletion order is wrong when a client gets deleted.

---
 interface/web/client/client_del.php             |    1 +
 interface/web/client/lib/lang/de_client_del.lng |    1 +
 server/plugins-available/apache2_plugin.inc.php |    6 ++++--
 interface/web/client/lib/lang/en_client_del.lng |    1 +
 interface/web/client/templates/client_del.htm   |    8 ++++++--
 server/plugins-available/nginx_plugin.inc.php   |    6 ++++--
 6 files changed, 17 insertions(+), 6 deletions(-)

diff --git a/interface/web/client/client_del.php b/interface/web/client/client_del.php
index 14f211e..ecee8f5 100644
--- a/interface/web/client/client_del.php
+++ b/interface/web/client/client_del.php
@@ -97,6 +97,7 @@
 		}
 		
 		$app->tpl->setVar('id',$this->id);
+		$app->tpl->setVar('number_records',$number);
 		$app->tpl->setLoop('records', $table_list);
 		
 		//* load language file 
diff --git a/interface/web/client/lib/lang/de_client_del.lng b/interface/web/client/lib/lang/de_client_del.lng
index c6982a2..5bee3ec 100644
--- a/interface/web/client/lib/lang/de_client_del.lng
+++ b/interface/web/client/lib/lang/de_client_del.lng
@@ -3,4 +3,5 @@
 $wb['delete_explanation'] = 'Diese Aktion wird folgende Anzahl an Datensätzen des Kunden löschen';
 $wb['btn_save_txt'] = 'Kunden löschen';
 $wb['btn_cancel_txt'] = 'Abbrechen, ohne den Kunden zu löschen';
+$wb["confirm_client_delete_txt"] = 'Sind Sie sicher, daß Sie den Kunden löschen möchten?';
 ?>
diff --git a/interface/web/client/lib/lang/en_client_del.lng b/interface/web/client/lib/lang/en_client_del.lng
index 4d16af6..7b1bbf9 100644
--- a/interface/web/client/lib/lang/en_client_del.lng
+++ b/interface/web/client/lib/lang/en_client_del.lng
@@ -3,4 +3,5 @@
 $wb["delete_explanation"] = 'This action will delete the following number of records associated with this client';
 $wb["btn_save_txt"] = 'Delete the client';
 $wb["btn_cancel_txt"] = 'Cancel without deleting the client';
+$wb["confirm_client_delete_txt"] = 'Are you sure you want to delete this client?';
 ?>
diff --git a/interface/web/client/templates/client_del.htm b/interface/web/client/templates/client_del.htm
index ff25488..efde39d 100644
--- a/interface/web/client/templates/client_del.htm
+++ b/interface/web/client/templates/client_del.htm
@@ -4,14 +4,18 @@
 <div class="panel panel_client_del">
 
     <div class="pnl_formsarea">
-
+		
         <div id="OKMsg">
+			<tmpl_if name='number_records'>
             <tmpl_var name="delete_explanation">:<br /><br />
                 <tmpl_loop name="records">
                     <tmpl_var name="table">, 
                 </tmpl_loop>
+			</tmpl_else>
+				<tmpl_var name="confirm_client_delete_txt">
+			</tmpl_if>
         </div>
-
+		
         <input type="checkbox" name="confirm" value="yes" /> <b><tmpl_var name="confirm_action_txt"></b>
 
         <input type="hidden" name="id" value="{tmpl_var name='id'}">
diff --git a/server/plugins-available/apache2_plugin.inc.php b/server/plugins-available/apache2_plugin.inc.php
index 5d4e502..96b14c5 100644
--- a/server/plugins-available/apache2_plugin.inc.php
+++ b/server/plugins-available/apache2_plugin.inc.php
@@ -2766,8 +2766,10 @@
 				$app->log('Removed client directory: '.$client_dir,LOGLEVEL_DEBUG);
 			}
 			
-			$this->_exec('groupdel client'.$client_id);
-			$app->log('Removed group client'.$client_id,LOGLEVEL_DEBUG);
+			if($app->system->is_group('client'.$client_id)){
+				$this->_exec('groupdel client'.$client_id);
+				$app->log('Removed group client'.$client_id,LOGLEVEL_DEBUG);
+			}
 		}
 		
 	}
diff --git a/server/plugins-available/nginx_plugin.inc.php b/server/plugins-available/nginx_plugin.inc.php
index 0e0d9c3..3696269 100644
--- a/server/plugins-available/nginx_plugin.inc.php
+++ b/server/plugins-available/nginx_plugin.inc.php
@@ -2526,8 +2526,10 @@
 				$app->log('Removed client directory: '.$client_dir,LOGLEVEL_DEBUG);
 			}
 			
-			$this->_exec('groupdel client'.$client_id);
-			$app->log('Removed group client'.$client_id,LOGLEVEL_DEBUG);
+			if($app->system->is_group('client'.$client_id)){
+				$this->_exec('groupdel client'.$client_id);
+				$app->log('Removed group client'.$client_id,LOGLEVEL_DEBUG);
+			}
 		}
 		
 	}

--
Gitblit v1.9.1