From 255dcdb94ece8f37df700b8a144bcd4ff1194815 Mon Sep 17 00:00:00 2001
From: tbrehm <t.brehm@ispconfig.org>
Date: Thu, 20 Oct 2011 07:47:29 -0400
Subject: [PATCH] Fixed: FS#1777 - AWStats: In months with two digits (10, 11, 12) order is broken => 1,10,11,12,2,3...9
---
server/plugins-available/apache2_plugin.inc.php | 82 ++++++++++++++++++++++++++++++-----------
1 files changed, 60 insertions(+), 22 deletions(-)
diff --git a/server/plugins-available/apache2_plugin.inc.php b/server/plugins-available/apache2_plugin.inc.php
index b91fb7c..fbf91b9 100644
--- a/server/plugins-available/apache2_plugin.inc.php
+++ b/server/plugins-available/apache2_plugin.inc.php
@@ -827,12 +827,13 @@
$tpl->setVar('alias','');
}
- if(count($rewrite_rules) > 0) {
+ if(count($rewrite_rules) > 0 || $vhost_data['seo_redirect_enabled'] > 0) {
$tpl->setVar('rewrite_enabled',1);
} else {
$tpl->setVar('rewrite_enabled',0);
}
- $tpl->setLoop('redirects',$rewrite_rules);
+
+ //$tpl->setLoop('redirects',$rewrite_rules);
/**
* install fast-cgi starter script and add script aliasd config
@@ -957,22 +958,39 @@
//* create empty vhost array
$vhosts = array();
- //* Add vhost for ipv4 IP
- $vhosts[] = array('ip_address' => $data['new']['ip_address'], 'ssl_enabled' => 0, 'port' => 80 );
+ //* Add vhost for ipv4 IP
+ if(count($rewrite_rules) > 0){
+ $vhosts[] = array('ip_address' => $data['new']['ip_address'], 'ssl_enabled' => 0, 'port' => 80, 'redirects' => $rewrite_rules);
+ } else {
+ $vhosts[] = array('ip_address' => $data['new']['ip_address'], 'ssl_enabled' => 0, 'port' => 80);
+ }
//* Add vhost for ipv4 IP with SSL
if($data['new']['ssl_domain'] != '' && $data['new']['ssl'] == 'y' && @is_file($crt_file) && @is_file($key_file) && (@filesize($crt_file)>0) && (@filesize($key_file)>0)) {
- $vhosts[] = array('ip_address' => $data['new']['ip_address'], 'ssl_enabled' => 1, 'port' => '443' );
+ if(count($rewrite_rules) > 0){
+ $vhosts[] = array('ip_address' => $data['new']['ip_address'], 'ssl_enabled' => 1, 'port' => '443', 'redirects' => $rewrite_rules);
+ } else {
+ $vhosts[] = array('ip_address' => $data['new']['ip_address'], 'ssl_enabled' => 1, 'port' => '443');
+ }
$app->log('Enable SSL for: '.$domain,LOGLEVEL_DEBUG);
}
//* Add vhost for IPv6 IP
if($data['new']['ipv6_address'] != '') {
- $vhosts[] = array('ip_address' => '['.$data['new']['ipv6_address'].']', 'ssl_enabled' => 0, 'port' => 80 );
+ if(count($rewrite_rules) > 0){
+ $vhosts[] = array('ip_address' => '['.$data['new']['ipv6_address'].']', 'ssl_enabled' => 0, 'port' => 80, 'redirects' => $rewrite_rules);
+ } else {
+ $vhosts[] = array('ip_address' => '['.$data['new']['ipv6_address'].']', 'ssl_enabled' => 0, 'port' => 80);
+ }
//* Add vhost for ipv6 IP with SSL
if($data['new']['ssl_domain'] != '' && $data['new']['ssl'] == 'y' && @is_file($crt_file) && @is_file($key_file) && (@filesize($crt_file)>0) && (@filesize($key_file)>0)) {
- $vhosts[] = array('ip_address' => '['.$data['new']['ipv6_address'].']', 'ssl_enabled' => 1, 'port' => '443' );
+
+ if(count($rewrite_rules) > 0){
+ $vhosts[] = array('ip_address' => '['.$data['new']['ipv6_address'].']', 'ssl_enabled' => 1, 'port' => '443', 'redirects' => $rewrite_rules);
+ } else {
+ $vhosts[] = array('ip_address' => '['.$data['new']['ipv6_address'].']', 'ssl_enabled' => 1, 'port' => '443');
+ }
$app->log('Enable SSL for IPv6: '.$domain,LOGLEVEL_DEBUG);
}
}
@@ -1287,7 +1305,7 @@
if(substr($folder['path'],0,1) == '/') $folder['path'] = substr($folder['path'],1);
if(substr($folder['path'],-1) == '/') $folder['path'] = substr($folder['path'],0,-1);
$folder_path = escapeshellcmd($website['document_root'].'/web/'.$folder['path']);
- if(substr($folder_path,-1 != '/')) $folder_path .= '/';
+ if(substr($folder_path,-1) != '/') $folder_path .= '/';
//* Check if the resulting path is inside the docroot
if(stristr($folder_path,'..') || stristr($folder_path,'./') || stristr($folder_path,'\\')) {
@@ -1305,7 +1323,20 @@
$app->log('Created file '.$folder_path.'.htpasswd',LOGLEVEL_DEBUG);
}
- if($data['new']['username'] != $data['old']['username'] || $data['new']['active'] == 'n') {
+ /*
+ $auth_users = $app->db->queryAllRecords("SELECT * FROM web_folder_user WHERE active = 'y' AND web_folder_id = ".intval($folder_id));
+ $htpasswd_content = '';
+ if(is_array($auth_users) && !empty($auth_users)){
+ foreach($auth_users as $auth_user){
+ $htpasswd_content .= $auth_user['username'].':'.$auth_user['password']."\n";
+ }
+ }
+ $htpasswd_content = trim($htpasswd_content);
+ @file_put_contents($folder_path.'.htpasswd', $htpasswd_content);
+ $app->log('Changed .htpasswd file: '.$folder_path.'.htpasswd',LOGLEVEL_DEBUG);
+ */
+
+ if(($data['new']['username'] != $data['old']['username'] || $data['new']['active'] == 'n') && $data['old']['username'] != '') {
$app->system->removeLine($folder_path.'.htpasswd',$data['old']['username'].':');
$app->log('Removed user: '.$data['old']['username'],LOGLEVEL_DEBUG);
}
@@ -1321,13 +1352,14 @@
}
}
+
//* Create the .htaccess file
- if(!is_file($folder_path.'.htaccess')) {
+ //if(!is_file($folder_path.'.htaccess')) {
$ht_file = "AuthType Basic\nAuthName \"Members Only\"\nAuthUserFile ".$folder_path.".htpasswd\nrequire valid-user";
file_put_contents($folder_path.'.htaccess',$ht_file);
chmod($folder_path.'.htpasswd',0755);
$app->log('Created file '.$folder_path.'.htaccess',LOGLEVEL_DEBUG);
- }
+ //}
}
@@ -1337,7 +1369,7 @@
$folder_id = $data['old']['web_folder_id'];
- $folder = $app->db->queryOneRecord("SELECT * FROM web_folder WHERE web_folder_id = ".intval($folder_id));
+ $folder = $data['old'];
$website = $app->db->queryOneRecord("SELECT * FROM web_domain WHERE domain_id = ".intval($folder['parent_domain_id']));
if(!is_array($folder) or !is_array($website)) {
@@ -1346,8 +1378,10 @@
}
//* Get the folder path.
+ if(substr($folder['path'],0,1) == '/') $folder['path'] = substr($folder['path'],1);
+ if(substr($folder['path'],-1) == '/') $folder['path'] = substr($folder['path'],0,-1);
$folder_path = realpath($website['document_root'].'/web/'.$folder['path']);
- if(substr($folder_path,-1 != '/')) $folder_path .= '/';
+ if(substr($folder_path,-1) != '/') $folder_path .= '/';
//* Check if the resulting path is inside the docroot
if(substr($folder_path,0,strlen($website['document_root'])) != $website['document_root']) {
@@ -1380,11 +1414,15 @@
}
//* Get the folder path.
+ if(substr($data['old']['path'],0,1) == '/') $data['old']['path'] = substr($data['old']['path'],1);
+ if(substr($data['old']['path'],-1) == '/') $data['old']['path'] = substr($data['old']['path'],0,-1);
$old_folder_path = realpath($website['document_root'].'/web/'.$data['old']['path']);
- if(substr($old_folder_path,-1 != '/')) $old_folder_path .= '/';
+ if(substr($old_folder_path,-1) != '/') $old_folder_path .= '/';
+ if(substr($data['new']['path'],0,1) == '/') $data['new']['path'] = substr($data['new']['path'],1);
+ if(substr($data['new']['path'],-1) == '/') $data['new']['path'] = substr($data['new']['path'],0,-1);
$new_folder_path = escapeshellcmd($website['document_root'].'/web/'.$data['new']['path']);
- if(substr($new_folder_path,-1 != '/')) $new_folder_path .= '/';
+ if(substr($new_folder_path,-1) != '/') $new_folder_path .= '/';
//* Check if the resulting path is inside the docroot
if(stristr($new_folder_path,'..') || stristr($new_folder_path,'./') || stristr($new_folder_path,'\\')) {
@@ -1415,20 +1453,20 @@
//* move .htpasswd file
if(is_file($old_folder_path.'.htpasswd')) {
rename($old_folder_path.'.htpasswd',$new_folder_path.'.htpasswd');
- $app->log('Moved file '.$new_folder_path.'.htpasswd',LOGLEVEL_DEBUG);
+ $app->log('Moved file '.$old_folder_path.'.htpasswd to '.$new_folder_path.'.htpasswd',LOGLEVEL_DEBUG);
}
- //* move .htaccess file
+ //* delete old .htaccess file
if(is_file($old_folder_path.'.htaccess')) {
- rename($old_folder_path.'.htaccess',$new_folder_path.'.htaccess');
- $app->log('Moved file '.$new_folder_path.'.htaccess',LOGLEVEL_DEBUG);
+ unlink($old_folder_path.'.htaccess');
+ $app->log('Deleted file '.$old_folder_path.'.htaccess',LOGLEVEL_DEBUG);
}
}
//* Create the .htaccess file
- if($data['new']['active'] == 'y' && !is_file($new_folder_path.'.htaccess')) {
- $ht_file = "AuthType Basic\nAuthName \"Members Only\"\nAuthUserFile ".$folder_path.".htpasswd\nrequire valid-user";
+ if($data['new']['active'] == 'y') {
+ $ht_file = "AuthType Basic\nAuthName \"Members Only\"\nAuthUserFile ".$new_folder_path.".htpasswd\nrequire valid-user";
file_put_contents($new_folder_path.'.htaccess',$ht_file);
chmod($new_folder_path.'.htpasswd',0755);
$app->log('Created file '.$new_folder_path.'.htaccess',LOGLEVEL_DEBUG);
@@ -1719,7 +1757,7 @@
$app->log('Created AWStats config file: '.$awstats_conf_dir.'/awstats.'.$data['new']['domain'].'.conf',LOGLEVEL_DEBUG);
}
- unlink($data['new']['document_root']."/web/stats/index.html");
+ if(is_file($data['new']['document_root']."/web/stats/index.html")) unlink($data['new']['document_root']."/web/stats/index.html");
copy("/usr/local/ispconfig/server/conf/awstats_index.php.master",$data['new']['document_root']."/web/stats/index.php");
}
--
Gitblit v1.9.1