diff --git a/scripts/jobs/cron_tasks.inc.http.10.apache.php b/scripts/jobs/cron_tasks.inc.http.10.apache.php index d5d0334b..7d4d40e0 100644 --- a/scripts/jobs/cron_tasks.inc.http.10.apache.php +++ b/scripts/jobs/cron_tasks.inc.http.10.apache.php @@ -146,24 +146,36 @@ class apache $this->virtualhosts_data[$vhosts_filename] = ''; } - if($this->settings['defaultwebsrverrhandler']['err401'] != '') - { - $this->virtualhosts_data[$vhosts_filename].= 'ErrorDocument 401 "' . makeCorrectFile($this->settings['defaultwebsrverrhandler']['err401']) . '"'."\n"; + if ($this->settings['defaultwebsrverrhandler']['err401'] != '') { + $defhandler = $this->settings['defaultwebsrverrhandler']['err401']; + if (!validateUrl($defhandler)) { + $defhandler = makeCorrectFile($defhandler); + } + $this->virtualhosts_data[$vhosts_filename].= 'ErrorDocument 401 "' . $defhandler . '"'."\n"; } - if($this->settings['defaultwebsrverrhandler']['err403'] != '') - { - $this->virtualhosts_data[$vhosts_filename].= 'ErrorDocument 403 "' . makeCorrectFile($this->settings['defaultwebsrverrhandler']['err403']) . '"' . "\n"; + if ($this->settings['defaultwebsrverrhandler']['err403'] != '') { + $defhandler = $this->settings['defaultwebsrverrhandler']['err403']; + if (!validateUrl($defhandler)) { + $defhandler = makeCorrectFile($defhandler); + } + $this->virtualhosts_data[$vhosts_filename].= 'ErrorDocument 403 "' . $defhandler . '"' . "\n"; } - if($this->settings['defaultwebsrverrhandler']['err404'] != '') - { - $this->virtualhosts_data[$vhosts_filename].= 'ErrorDocument 404 "' . makeCorrectFile($this->settings['defaultwebsrverrhandler']['err404']) . '"' . "\n"; + if ($this->settings['defaultwebsrverrhandler']['err404'] != '') { + $defhandler = $this->settings['defaultwebsrverrhandler']['err404']; + if (!validateUrl($defhandler)) { + $defhandler = makeCorrectFile($defhandler); + } + $this->virtualhosts_data[$vhosts_filename].= 'ErrorDocument 404 "' . $defhandler . '"' . "\n"; } - if($this->settings['defaultwebsrverrhandler']['err500'] != '') - { - $this->virtualhosts_data[$vhosts_filename].= 'ErrorDocument 500 "' . makeCorrectFile($this->settings['defaultwebsrverrhandler']['err500']) . '"' . "\n"; + if ($this->settings['defaultwebsrverrhandler']['err500'] != '') { + $defhandler = $this->settings['defaultwebsrverrhandler']['err500']; + if (!validateUrl($defhandler)) { + $defhandler = makeCorrectFile($defhandler); + } + $this->virtualhosts_data[$vhosts_filename].= 'ErrorDocument 500 "' . $defhandler . '"' . "\n"; } } @@ -961,22 +973,34 @@ class apache fwrite($this->debugHandler, ' cron_tasks: Task3 - Setting Options -Indexes' . "\n"); } - if(isset($row_diroptions['error404path']) - && $row_diroptions['error404path'] != '') - { - $this->diroptions_data[$diroptions_filename].= ' ErrorDocument 404 "' . makeCorrectFile($row_diroptions['error404path']) . '"' . "\n"; + if (isset($row_diroptions['error404path']) + && $row_diroptions['error404path'] != '' + ) { + $defhandler = $row_diroptions['error404path']; + if (!validateUrl($defhandler)) { + $defhandler = makeCorrectFile($defhandler); + } + $this->diroptions_data[$diroptions_filename].= ' ErrorDocument 404 "' . $defhandler. '"' . "\n"; } - if(isset($row_diroptions['error403path']) - && $row_diroptions['error403path'] != '') - { - $this->diroptions_data[$diroptions_filename].= ' ErrorDocument 403 "' . makeCorrectFile($row_diroptions['error403path']) . '"' . "\n"; + if (isset($row_diroptions['error403path']) + && $row_diroptions['error403path'] != '' + ) { + $defhandler = $row_diroptions['error403path']; + if (!validateUrl($defhandler)) { + $defhandler = makeCorrectFile($defhandler); + } + $this->diroptions_data[$diroptions_filename].= ' ErrorDocument 403 "' . $defhandler . '"' . "\n"; } - if(isset($row_diroptions['error500path']) - && $row_diroptions['error500path'] != '') - { - $this->diroptions_data[$diroptions_filename].= ' ErrorDocument 500 "' . makeCorrectFile($row_diroptions['error500path']) . '"' . "\n"; + if (isset($row_diroptions['error500path']) + && $row_diroptions['error500path'] != '' + ) { + $defhandler = $row_diroptions['error500path']; + if (!validateUrl($defhandler)) { + $defhandler = makeCorrectFile($defhandler); + } + $this->diroptions_data[$diroptions_filename].= ' ErrorDocument 500 "' . $defhandler . '"' . "\n"; } if($cperlenabled diff --git a/scripts/jobs/cron_tasks.inc.http.20.lighttpd.php b/scripts/jobs/cron_tasks.inc.http.20.lighttpd.php index 48f39432..4bf8597e 100644 --- a/scripts/jobs/cron_tasks.inc.http.20.lighttpd.php +++ b/scripts/jobs/cron_tasks.inc.http.20.lighttpd.php @@ -247,14 +247,18 @@ class lighttpd if($this->settings['defaultwebsrverrhandler']['enabled'] == '1' && $this->settings['defaultwebsrverrhandler']['err404'] != '' ) { - $vhosts_filename = makeCorrectFile($this->settings['system']['apacheconf_vhost'] . '/05_froxlor_default_errorhandler.conf'); + $vhost_filename = makeCorrectFile($this->settings['system']['apacheconf_vhost'] . '/05_froxlor_default_errorhandler.conf'); if(!isset($this->lighttpd_data[$vhost_filename])) { $this->lighttpd_data[$vhost_filename] = ''; } - $this->lighttpd_data[$vhost_filename] = 'server.error-handler-404 = "'.makeCorrectFile($this->settings['defaultwebsrverrhandler']['err404']).'"'; + $defhandler = $this->settings['defaultwebsrverrhandler']['err404']; + if (!validateUrl($defhandler)) { + $defhandler = makeCorrectFile($defhandler); + } + $this->lighttpd_data[$vhost_filename] = 'server.error-handler-404 = "'.$defhandler.'"'; } } @@ -352,34 +356,28 @@ class lighttpd $_pos = strrpos($_tmp_path, '/'); $_inc_path = substr($_tmp_path, $_pos+1); + // subdomain if((int)$domain['parentdomainid'] == 0 && isCustomerStdSubdomain((int)$domain['id']) == false && ((int)$domain['ismainbutsubto'] == 0 || domainMainToSubExists($domain['ismainbutsubto']) == false) ) { - $vhost_no = '52'; - if($ssl == '1') - { - $vhost_no = '62'; - } + $vhost_no = '50'; } + // sub-but-main-domain elseif((int)$domain['parentdomainid'] == 0 && isCustomerStdSubdomain((int)$domain['id']) == false && (int)$domain['ismainbutsubto'] > 0 ) { $vhost_no = '51'; - if($ssl == '1') - { - $vhost_no = '61'; - } } - else - { - $vhost_no = '50'; - if($ssl == '1') - { - $vhost_no = '60'; - } + // main domain + else { + $vhost_no = '52'; + } + + if ($ssl == '1') { + $vhost_no = (int)$vhost_no += 10; } $vhost_filename = makeCorrectFile($this->settings['system']['apacheconf_vhost'].'/vhosts/'.$vhost_no.'_'.$domain['domain'].'.conf'); @@ -614,11 +612,14 @@ class lighttpd $path_options = ''; $error_string = ''; - while($row = $this->db->fetch_array($result)) - { - if(!empty($row['error404path'])) - { - $error_string.= ' server.error-handler-404 = "' . makeCorrectFile($domain['documentroot'] . '/' . $row['error404path']) . '"' . "\n\n"; + while ($row = $this->db->fetch_array($result)) { + + if (!empty($row['error404path'])) { + $defhandler = $row['error404path']; + if (!validateUrl($defhandler)) { + $defhandler = makeCorrectFile($domain['documentroot'] . '/' . $defhandler); + } + $error_string.= ' server.error-handler-404 = "' . $defhandler . '"' . "\n\n"; } if($row['options_indexes'] != '0') @@ -901,10 +902,10 @@ class lighttpd $vhosts_file = ''; // sort by filename so the order is: - // 1. subdomains + // 1. main-domains // 2. subdomains as main-domains - // 3. main-domains - // #437 + // 3. subdomains + // (former #437) - #833 (the numbering is done in createLighttpdHosts()) ksort($this->lighttpd_data); foreach($this->lighttpd_data as $vhosts_filename => $vhost_content) diff --git a/scripts/jobs/cron_tasks.inc.http.30.nginx.php b/scripts/jobs/cron_tasks.inc.http.30.nginx.php index 9a28a1b7..8665ace2 100644 --- a/scripts/jobs/cron_tasks.inc.http.30.nginx.php +++ b/scripts/jobs/cron_tasks.inc.http.30.nginx.php @@ -115,24 +115,36 @@ class nginx $this->nginx_data[$vhosts_filename] = ''; } - if($this->settings['defaultwebsrverrhandler']['err401'] != '') - { - $this->nginx_data[$vhosts_filename].= 'error_page 401 ' . makeCorrectFile($this->settings['defaultwebsrverrhandler']['err401']) . ';' . "\n"; + if ($this->settings['defaultwebsrverrhandler']['err401'] != '') { + $defhandler = $this->settings['defaultwebsrverrhandler']['err401']; + if (!validateUrl($defhandler)) { + $defhandler = makeCorrectFile($defhandler); + } + $this->nginx_data[$vhosts_filename].= 'error_page 401 ' . $defhandler . ';' . "\n"; } - if($this->settings['defaultwebsrverrhandler']['err403'] != '') - { - $this->nginx_data[$vhosts_filename].= 'error_page 403 ' . makeCorrectFile($this->settings['defaultwebsrverrhandler']['err403']) . ';' . "\n"; + if ($this->settings['defaultwebsrverrhandler']['err403'] != '') { + $defhandler = $this->settings['defaultwebsrverrhandler']['err403']; + if (!validateUrl($defhandler)) { + $defhandler = makeCorrectFile($defhandler); + } + $this->nginx_data[$vhosts_filename].= 'error_page 403 ' . $defhandler . ';' . "\n"; } - if($this->settings['defaultwebsrverrhandler']['err404'] != '') - { - $this->nginx_data[$vhosts_filename].= 'error_page 404 ' . makeCorrectFile($this->settings['defaultwebsrverrhandler']['err404']) . ';' . "\n"; + if ($this->settings['defaultwebsrverrhandler']['err404'] != '') { + $defhandler = $this->settings['defaultwebsrverrhandler']['err404']; + if (!validateUrl($defhandler)) { + $defhandler = makeCorrectFile($defhandler); + } + $this->nginx_data[$vhosts_filename].= 'error_page 404 ' . $defhandler . ';' . "\n"; } - if($this->settings['defaultwebsrverrhandler']['err500'] != '') - { - $this->nginx_data[$vhosts_filename].= 'error_page 500 ' . makeCorrectFile($this->settings['defaultwebsrverrhandler']['err500']) . ';' . "\n"; + if ($this->settings['defaultwebsrverrhandler']['err500'] != '') { + $defhandler = $this->settings['defaultwebsrverrhandler']['err500']; + if (!validateUrl($defhandler)) { + $defhandler = makeCorrectFile($defhandler); + } + $this->nginx_data[$vhosts_filename].= 'error_page 500 ' . $defhandler . ';' . "\n"; } } @@ -467,15 +479,27 @@ class nginx while ($row = $this->db->fetch_array($result)) { if (!empty($row['error404path'])) { - $path_options.= "\t".'error_page 404 ' . makeCorrectFile($row['error404path']) . ';' . "\n"; + $defhandler = $row['error404path']; + if (!validateUrl($defhandler)) { + $defhandler = makeCorrectFile($defhandler); + } + $path_options.= "\t".'error_page 404 ' . $defhandler . ';' . "\n"; } if (!empty($row['error403path'])) { - $path_options.= "\t".'error_page 403 ' . makeCorrectFile($row['error403path']) . ';' . "\n"; + $defhandler = $row['error403path']; + if (!validateUrl($defhandler)) { + $defhandler = makeCorrectFile($defhandler); + } + $path_options.= "\t".'error_page 403 ' . $defhandler . ';' . "\n"; } if (!empty($row['error500path'])) { - $path_options.= "\t".'error_page 502 503 504 ' . makeCorrectFile($row['error500path']) . ';' . "\n"; + $defhandler = $row['error500path']; + if (!validateUrl($defhandler)) { + $defhandler = makeCorrectFile($defhandler); + } + $path_options.= "\t".'error_page 500 502 503 504 ' . $defhandler . ';' . "\n"; } // if($row['options_indexes'] != '0')