From 81d79a79e4b29e9314b64b2e4c49b48ae8319767 Mon Sep 17 00:00:00 2001 From: ftimme <ft@falkotimme.com> Date: Tue, 11 Oct 2011 08:50:45 -0400 Subject: [PATCH] - WebDAV Users: show only domains that run on Apache (because nginx does not have full WebDAV support). --- 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