From 236d796455c44b0ca40ca6582ae1fbb614f8bf21 Mon Sep 17 00:00:00 2001
From: tbrehm <t.brehm@ispconfig.org>
Date: Tue, 03 Jan 2012 06:08:04 -0500
Subject: [PATCH] Fixed: FS#1858 - Old SSH-RSA Public Key not deleted from authorized_keys when deleted or changed
---
server/mods-available/web_module.inc.php | 45 ++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 40 insertions(+), 5 deletions(-)
diff --git a/server/mods-available/web_module.inc.php b/server/mods-available/web_module.inc.php
index 01c8b4d..653940f 100644
--- a/server/mods-available/web_module.inc.php
+++ b/server/mods-available/web_module.inc.php
@@ -43,7 +43,13 @@
'shell_user_delete',
'webdav_user_insert',
'webdav_user_update',
- 'webdav_user_delete');
+ 'webdav_user_delete',
+ 'web_folder_insert',
+ 'web_folder_update',
+ 'web_folder_delete',
+ 'web_folder_user_insert',
+ 'web_folder_user_update',
+ 'web_folder_user_delete');
//* This function is called during ispconfig installation to determine
// if a symlink shall be created for this plugin.
@@ -86,6 +92,8 @@
$app->modules->registerTableHook('ftp_user','web_module','process');
$app->modules->registerTableHook('shell_user','web_module','process');
$app->modules->registerTableHook('webdav_user','web_module','process');
+ $app->modules->registerTableHook('web_folder','web_module','process');
+ $app->modules->registerTableHook('web_folder_user','web_module','process');
// Register service
$app->services->registerService('httpd','web_module','restartHttpd');
@@ -121,6 +129,16 @@
if($action == 'u') $app->plugins->raiseEvent('webdav_user_update',$data);
if($action == 'd') $app->plugins->raiseEvent('webdav_user_delete',$data);
break;
+ case 'web_folder':
+ if($action == 'i') $app->plugins->raiseEvent('web_folder_insert',$data);
+ if($action == 'u') $app->plugins->raiseEvent('web_folder_update',$data);
+ if($action == 'd') $app->plugins->raiseEvent('web_folder_delete',$data);
+ break;
+ case 'web_folder_user':
+ if($action == 'i') $app->plugins->raiseEvent('web_folder_user_insert',$data);
+ if($action == 'u') $app->plugins->raiseEvent('web_folder_user_update',$data);
+ if($action == 'd') $app->plugins->raiseEvent('web_folder_user_delete',$data);
+ break;
} // end switch
} // end function
@@ -129,11 +147,28 @@
function restartHttpd($action = 'restart') {
global $app,$conf;
+ // load the server configuration options
+ $app->uses('getconf');
+ $web_config = $app->getconf->get_server_config($conf['server_id'], 'web');
+
$daemon = '';
- if(is_file($conf['init_scripts'] . '/' . 'httpd')) {
- $daemon = 'httpd';
- } else {
- $daemon = 'apache2';
+ switch ($web_config['server_type']) {
+ case 'nginx':
+ $daemon = $web_config['server_type'];
+ // Reload PHP-FPM as well
+ $restart_second_service['daemon'] = $web_config['php_fpm_init_script'];
+ $restart_second_service['action'] = 'reload';
+ break;
+ default:
+ if(is_file($conf['init_scripts'] . '/' . 'httpd')) {
+ $daemon = 'httpd';
+ } else {
+ $daemon = 'apache2';
+ }
+ }
+
+ if($restart_second_service['daemon'] != '' && $restart_second_service['action'] != ''){
+ exec($conf['init_scripts'] . '/' . $restart_second_service['daemon'] . ' ' . $restart_second_service['action']);
}
if($action == 'restart') {
--
Gitblit v1.9.1