From 58053eae9b6a9c8865ef9375e54038fdafe91e84 Mon Sep 17 00:00:00 2001 From: mcramer <m.cramer@pixcept.de> Date: Wed, 22 Aug 2012 05:56:07 -0400 Subject: [PATCH] Bugfix: Web folder protection did not work on web deletion Bugfix: $app->system->unlink function had wrong parameter name, no files were deleted ever --- server/plugins-available/nginx_plugin.inc.php | 10 +++++++--- 1 files changed, 7 insertions(+), 3 deletions(-) diff --git a/server/plugins-available/nginx_plugin.inc.php b/server/plugins-available/nginx_plugin.inc.php index 424d96f..cf8c98c 100644 --- a/server/plugins-available/nginx_plugin.inc.php +++ b/server/plugins-available/nginx_plugin.inc.php @@ -322,8 +322,12 @@ $web_folder = 'web'; $log_folder = 'log'; if($data['new']['type'] == 'vhostsubdomain') { + $tmp = $app->db->queryOneRecord('SELECT `domain` FROM web_domain WHERE domain_id = '.intval($data['new']['parent_domain_id'])); + $subdomain_host = preg_replace('/^(.*)\.' . preg_quote($tmp['domain'], '/') . '$/', '$1', $data['new']['domain']); + if($subdomain_host == '') $subdomain_host = 'web'.$data['new']['domain_id']; $web_folder = $data['new']['web_folder']; - $log_folder .= '_web' . $data['new']['domain_id']; + $log_folder .= '/' . $subdomain_host; + unset($tmp); } // Create group and user, if not exist @@ -459,7 +463,7 @@ if(!is_dir('/var/log/ispconfig/httpd/'.$data['new']['domain'])) exec('mkdir -p /var/log/ispconfig/httpd/'.$data['new']['domain']); if(!is_dir($data['new']['document_root'].'/'.$log_folder) || is_link($data['new']['document_root'].'/'.$log_folder)) { if(is_link($data['new']['document_root'].'/'.$log_folder)) unlink($data['new']['document_root'].'/'.$log_folder); - $app->system->mkdir($data['new']['document_root'].'/'.$log_folder); + $app->system->mkdirpath($data['new']['document_root'].'/'.$log_folder); $app->system->chown($data['new']['document_root'].'/'.$log_folder,'root'); $app->system->chgrp($data['new']['document_root'].'/'.$log_folder,'root'); $app->system->chmod($data['new']['document_root'].'/'.$log_folder,0755); @@ -630,7 +634,7 @@ $app->system->chmod($data['new']['document_root'].'/tmp',0777); // Set Log directory to 755 to make the logs accessible by the FTP user - if(realpath($data['new']['document_root'].'/'.$log_folder) == '/var/log/ispconfig/httpd/'.$data['new']['domain'].'/error.log') { + if(realpath($data['new']['document_root'].'/'.$log_folder . '/error.log') == '/var/log/ispconfig/httpd/'.$data['new']['domain'].'/error.log') { $app->system->chmod($data['new']['document_root'].'/'.$log_folder,0755); } -- Gitblit v1.9.1