diff --git a/actions/admin/settings/140.statistics.php b/actions/admin/settings/140.statistics.php index 1fb36990..a8a09fe3 100644 --- a/actions/admin/settings/140.statistics.php +++ b/actions/admin/settings/140.statistics.php @@ -48,6 +48,15 @@ return array( 'string_type' => 'dir', 'default' => '/usr/bin/', 'save_method' => 'storeSettingField', + ), + 'system_awstats_conf' => array( + 'label' => $lng['serversettings']['awstats_conf'], + 'settinggroup' => 'system', + 'varname' => 'awstats_conf', + 'type' => 'string', + 'string_type' => 'dir', + 'default' => '/etc/awstats/', + 'save_method' => 'storeSettingField', ) ) ) diff --git a/install/froxlor.sql b/install/froxlor.sql index 0940a764..d8833b79 100644 --- a/install/froxlor.sql +++ b/install/froxlor.sql @@ -558,6 +558,7 @@ INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) V INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (127, 'dkim', 'dkim_notes', ''); INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (128, 'system', 'stdsubdomain', ''); INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (129, 'system', 'awstats_path', '/usr/bin/'); +INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (130, 'system', 'awstats_conf', '/etc/awstats/'); # -------------------------------------------------------- diff --git a/install/updates/froxlor/0.9/update_0.9.inc.php b/install/updates/froxlor/0.9/update_0.9.inc.php index b77385f9..c67ee3b9 100644 --- a/install/updates/froxlor/0.9/update_0.9.inc.php +++ b/install/updates/froxlor/0.9/update_0.9.inc.php @@ -404,16 +404,29 @@ if(isFroxlorVersion('0.9.4')) if(isset($settings['system']['awstats_path']) && $settings['system']['awstats_path'] != '' ) { - showUpdateStep("Updating settings"); + showUpdateStep("Updating awstats path setting"); $db->query("UPDATE `" . TABLE_PANEL_SETTINGS . "` SET `value` = '/usr/bin/' WHERE `settinggroup` = 'system' AND `varname` = 'awstats_path';"); } else { - showUpdateStep("Adding new settings"); + showUpdateStep("Adding new awstats path setting"); $db->query("INSERT INTO `" . TABLE_PANEL_SETTINGS . "` (`settinggroup`, `varname`, `value`) VALUES ('system', 'awstats_path', '/usr/bin/');"); } lastStepStatus(0); + if(isset($settings['system']['awstats_domain_file']) + && $settings['system']['awstats_domain_file'] != '' + ) { + showUpdateStep("Updating awstats configuration path setting"); + $db->query("UPDATE `" . TABLE_PANEL_SETTINGS . "` SET `varname` = 'awstats_conf' WHERE `varname` = 'awstats_domain_file';"); + } + else + { + showUpdateStep("Adding awstats configuration path settings"); + $db->query("INSERT INTO `" . TABLE_PANEL_SETTINGS . "` (`settinggroup`, `varname`, `value`) VALUES ('system', 'awstats_conf', '/etc/awstats/');"); + } + lastStepStatus(0); + updateToVersion('0.9.4-svn1'); } diff --git a/lib/configfiles/etch.inc.php b/lib/configfiles/etch.inc.php index bcd90f3e..c6421e97 100644 --- a/lib/configfiles/etch.inc.php +++ b/lib/configfiles/etch.inc.php @@ -273,7 +273,7 @@ return Array( 'cp /usr/share/doc/awstats/examples/awstats_buildstaticpages.pl /usr/lib/cgi-bin/' ), 'files' => Array( - 'etc_awstats.model.conf' => '/etc/awstats/awstats.conf' + 'etc_awstats.model.conf' => makeCorrectFile($settings['system']['awstats_conf'].'/awstats.conf') ), ), 'libnss' => Array( diff --git a/lib/configfiles/gentoo.inc.php b/lib/configfiles/gentoo.inc.php index 60b14d29..5c70ce94 100644 --- a/lib/configfiles/gentoo.inc.php +++ b/lib/configfiles/gentoo.inc.php @@ -288,7 +288,7 @@ milter_default_action = accept" >> /etc/postfix/main.cf' 'awstats_configure.pl' ), 'files' => Array( - 'etc_awstats.model.conf' => '/etc/awstats/awstats.model.conf' + 'etc_awstats.model.conf' => makeCorrectFile($settings['system']['awstats_conf'].'/awstats.model.conf') ), ), 'libnss' => Array( diff --git a/lib/configfiles/hardy.inc.php b/lib/configfiles/hardy.inc.php index ffe25e29..5e7ccaf0 100644 --- a/lib/configfiles/hardy.inc.php +++ b/lib/configfiles/hardy.inc.php @@ -267,7 +267,7 @@ return Array( 'cp /usr/share/doc/awstats/examples/awstats_buildstaticpages.pl /usr/lib/cgi-bin/' ), 'files' => Array( - 'etc_awstats.model.conf' => '/etc/awstats/awstats.model.conf' + 'etc_awstats.model.conf' => makeCorrectFile($settings['system']['awstats_conf'].'/awstats.conf') ), ), 'libnss' => Array( diff --git a/lib/configfiles/lenny.inc.php b/lib/configfiles/lenny.inc.php index 4c8532d2..5f814b67 100644 --- a/lib/configfiles/lenny.inc.php +++ b/lib/configfiles/lenny.inc.php @@ -274,7 +274,7 @@ return Array( 'cp /usr/share/doc/awstats/examples/awstats_buildstaticpages.pl /usr/lib/cgi-bin/' ), 'files' => Array( - 'etc_awstats.model.conf' => '/etc/awstats/awstats.conf' + 'etc_awstats.model.conf' => makeCorrectFile($settings['system']['awstats_conf'].'/awstats.conf') ), ), 'libnss' => Array( diff --git a/lib/configfiles/suse10.inc.php b/lib/configfiles/suse10.inc.php index c7bfc2be..f8bd98c1 100644 --- a/lib/configfiles/suse10.inc.php +++ b/lib/configfiles/suse10.inc.php @@ -154,7 +154,7 @@ return Array( 'awstats_configure.pl' ), 'files' => Array( - 'etc_awstats.model.conf' => '/etc/awstats/awstats.conf' + 'etc_awstats.model.conf' => makeCorrectFile($settings['system']['awstats_conf'].'/awstats.conf') ) ) ) diff --git a/lib/functions/froxlor/function.createAWStatsConf.php b/lib/functions/froxlor/function.createAWStatsConf.php index 03dc9c91..4dcc977b 100644 --- a/lib/functions/froxlor/function.createAWStatsConf.php +++ b/lib/functions/froxlor/function.createAWStatsConf.php @@ -48,18 +48,20 @@ function createAWStatsConf($logFile, $siteDomain, $hostAliases, $customerDocroot '/\{LOG_FILE\}/', '/\{SITE_DOMAIN\}/', '/\{HOST_ALIASES\}/', - '/\{CUSTOMER_DOCROOT\}/' + '/\{CUSTOMER_DOCROOT\}/', + '/\{AWSTATS_CONF\}/' ); $replace = array( makeCorrectFile($logFile), $siteDomain, $hostAliases, - $awstats_dir + $awstats_dir, + makeCorrectDir($settings['system']['awstats_conf']) ); // File names - $domain_file = '/etc/awstats/awstats.' . $siteDomain . '.conf'; + $domain_file = makeCorrectFile($settings['system']['awstats_conf'].'/awstats.' . $siteDomain . '.conf'); $model_file = dirname(dirname(dirname(dirname(__FILE__)))); $model_file.= '/templates/misc/awstatsmodel/'; diff --git a/lng/english.lng.php b/lng/english.lng.php index a3ee1ebc..178c04a4 100644 --- a/lng/english.lng.php +++ b/lng/english.lng.php @@ -826,8 +826,6 @@ $lng['error']['cannotuseawstatsandwebalizeratonetime'] = 'You cannot enable Weba $lng['serversettings']['webalizer_enabled'] = 'Enable webalizer statistics'; $lng['serversettings']['awstats_enabled'] = 'Enable awstats statistics'; $lng['admin']['awstatssettings'] = 'Awstats settings'; -$lng['serversettings']['awstats_domain_file']['title'] = 'Awstats domainfiles directory'; -$lng['serversettings']['awstats_model_file']['title'] = 'Awstats model file'; // ADDED IN 1.2.19-svn16 @@ -1356,5 +1354,6 @@ $lng['customer']['mysql_add']['infomail_body']['pma'] = "\nYou can access your d $lng['customer']['mysql_add']['infomail_body']['main'] = "Hello {CUST_NAME},\n\nyou have just added a new database. Here is the entered information:\n\nDatabasename: {DB_NAME}\nPassword: {DB_PASS}\nDescription: {DB_DESC}\n{PMA_URI}\nYours sincerely, the Froxlor-Team"; $lng['error']['domains_cantdeletedomainwithapsinstances'] = 'You cannot delete a domain which is used by an installed APS package. You have to uninstall it first.'; $lng['serversettings']['awstats_path'] = 'Path to AWStats \'awstats_buildstaticpages.pl\''; +$lng['serversettings']['awstats_conf'] = 'AWStats configuration path'; ?> diff --git a/lng/german.lng.php b/lng/german.lng.php index 1867fc16..3056dfae 100644 --- a/lng/german.lng.php +++ b/lng/german.lng.php @@ -830,8 +830,6 @@ $lng['error']['cannotuseawstatsandwebalizeratonetime'] = 'Webalizer und Awstats $lng['serversettings']['webalizer_enabled'] = 'Nutze Webalizer Statistiken'; $lng['serversettings']['awstats_enabled'] = 'Nutze AWStats Statistiken'; $lng['admin']['awstatssettings'] = 'Awstats Einstellungen'; -$lng['serversettings']['awstats_domain_file']['title'] = 'Awstats Domain-Dateien Ordner'; -$lng['serversettings']['awstats_model_file']['title'] = 'Awstats Model Datei'; // ADDED IN 1.2.19-svn16 @@ -1337,5 +1335,6 @@ $lng['customer']['mysql_add']['infomail_body']['pma'] = "\nDie Datenbank kann mi $lng['customer']['mysql_add']['infomail_body']['main'] = "Hallo {CUST_NAME},\n\ndu hast gerade eine neue Datenbank angelegt. Hier die angegebenen Informationen:\n\nDatenbankname: {DB_NAME}\nPasswort: {DB_PASS}\nBeschreibung: {DB_DESC}\n{PMA_URI}\nVielen Dank, das Froxlor-Team"; $lng['error']['domains_cantdeletedomainwithapsinstances'] = 'Sie können keine Domain löschen, die noch von APS Paketen verwendet wird. Löschen Sie zuerst alle installierten APS Pakete dieser Domain.'; $lng['serversettings']['awstats_path'] = 'Pfad zu AWStats \'awstats_buildstaticpages.pl\''; +$lng['serversettings']['awstats_conf'] = 'AWStats Konfigurations-Pfad'; ?> diff --git a/scripts/jobs/cron_traffic.inc.functions.php b/scripts/jobs/cron_traffic.inc.functions.php index 5e7f4004..93a06d17 100644 --- a/scripts/jobs/cron_traffic.inc.functions.php +++ b/scripts/jobs/cron_traffic.inc.functions.php @@ -22,7 +22,7 @@ function awstatsDoSingleDomain($domain, $outputdir) global $cronlog, $settings; $returnval = 0; - $domainconfig = '/etc/awstats/awstats.' . $domain . '.conf'; + $domainconfig = makeCorrectFile($settings['system']['awstats_conf'].'/awstats.' . $domain . '.conf'); if(file_exists($domainconfig)) { $outputdir = makeCorrectDir($outputdir . '/' . $domain); diff --git a/templates/misc/awstatsmodel/awstats.froxlor.model.conf b/templates/misc/awstatsmodel/awstats.froxlor.model.conf index 08f6a00c..0ba97c2c 100644 --- a/templates/misc/awstatsmodel/awstats.froxlor.model.conf +++ b/templates/misc/awstatsmodel/awstats.froxlor.model.conf @@ -7,4 +7,4 @@ HostAliases="{HOST_ALIASES}" DirData="{CUSTOMER_DOCROOT}" # Include local configuration options identical for all virtual hosts -Include "/etc/awstats/awstats.model.conf" +Include "{AWSTATS_CONF}awstats.model.conf" diff --git a/templates/misc/awstatsmodel/awstats.froxlor.model_log_sql.conf b/templates/misc/awstatsmodel/awstats.froxlor.model_log_sql.conf index 7e45bee7..d40de2c9 100644 --- a/templates/misc/awstatsmodel/awstats.froxlor.model_log_sql.conf +++ b/templates/misc/awstatsmodel/awstats.froxlor.model_log_sql.conf @@ -7,4 +7,4 @@ HostAliases="{HOST_ALIASES}" DirData="{CUSTOMER_DOCROOT}" # Include local configuration options identical for all virtual hosts -Include "/etc/awstats/awstats.model.conf" \ No newline at end of file +Include "{AWSTATS_CONF}awstats.model.conf"