Awstats in unterschiedlichen Sprachen, zB. Webseite A -> in deutsch und Webseite B in englisch

Dieses Thema im Forum "Feature Requests" wurde erstellt von brt, 9. Sep. 2015.

  1. brt

    brt New Member

    in /usr/local/ispconfig/server/cron_daily.php Zeile 399 wird die Sprache für die Statistiken festgelegt:

    Code:
    $command = "$awstats_buildstaticpages_pl -month='$awmonth' -year='$awyear' -update -config='$domain' -dir='$statsdir' -awstatsprog='$awstats_pl'";
    Ich würde mir wünschen die Sprache für jede Seite unabhängig festlegen zu können, zB. in /etc/awstats/awstats.einedomain.com.conf
     
  2. florian030

    florian030 Member

    Welche Version setzt Du denn ein? Bei mir steht da noch "-lang=".$conf['language']"
     
  3. brt

    brt New Member

    ups,.. :) ja das stand bei mir natürlich auch drin, nur hab ich es rausgelöscht, weil es meine Spracheinstellungen in den awstats-Konfigurationsdateien überschreibt, was natürlich ein blöder hack ist, da die Änderung beim nächsten ISPConfig Update wahrscheinlich wieder weg ist.
     
    Zuletzt bearbeitet: 9. Sep. 2015
  4. brt

    brt New Member

    Hab mir die cron_daily.php noch mal genauer angesehen, das Entfernen von "-lang=".$conf['language']" ist sinnfrei. Weil die awstats-Konfigurationsdateien täglich neu geschrieben werden, gehen von Hand vorgenommene Einstellungen in diesen Dateien wieder verloren :(

    Nun habe ich die cron_daily.php so angepaßt, daß die vorhandene Spracheinstellung aus der Konfigurationsdatei ausgelesen und wieder hineingeschrieben wird, somit sollte es nun klappen mit individuellen Spracheinstellungen.

    PHP:
    --- cron_daily.php.orig 2015-09-09 17:17:53.277736814 +0200
    +++ cron_daily.php      2015-09-09 17:17:15.213407807 +0200
    @@ -358,+358,15 @@
            
    $awstats_conf_dir $web_config['awstats_conf_dir'];
            
    $awstats_website_conf_file $web_config['awstats_conf_dir'].'/awstats.'.$domain.'.conf';
    -       if(
    is_file($awstats_website_conf_file)) unlink($awstats_website_conf_file);
    +       
    $existing_awstats_conf_array = array();
    +       if(
    is_file($awstats_website_conf_file)) {
    +               
    $existing_awstats_conf file($awstats_website_conf_file);
    +               foreach (
    $existing_awstats_conf as $line) {
    +                       if(
    preg_match("/Lang=/",$line)) $existing_awstats_conf_array['Lang'] = implode('',parse_ini_string($line));
    +               }
    +
    +               
    unlink($awstats_website_conf_file);
    +       }
            
    $sql "SELECT domain FROM web_domain WHERE (type = 'alias' OR type = 'subdomain') AND parent_domain_id = ".$rec['domain_id'];
            
    $aliases $app->db->queryAllRecords($sql);
    @@ -
    375,+383,@@
    LogFile="/var/log/ispconfig/httpd/'.$domain.'/yesterday-access.log"
    SiteDomain="'.$domain.'"
    HostAliases="www.'.$domain.' localhost 127.0.0.1'.$aliasdomain.'"';
    +               if (array_key_exists('
    Lang',$existing_awstats_conf_array)) $awstats_conf_file_content .='
    +Lang="'.$existing_awstats_conf_array['Lang'].'"';
                    file_put_contents($awstats_website_conf_file, $awstats_conf_file_content);
            }
    @@ -396,7 +406,7 @@
            // awstats_buildstaticpages.pl -update -config=mydomain.com -lang=en -dir=/var/www/domain.com/'
    .$web_folder.'/stats -awstatsprog=/path/to/awstats.pl
            // $command = "$awstats_buildstaticpages_pl -update -config='
    $domain' -lang=".$conf['language']." -dir='$statsdir' -awstatsprog='$awstats_pl'";
    -       $command = "$awstats_buildstaticpages_pl -month='
    $awmonth' -year='$awyear' -update -config='$domain' -lang=".$conf['language']." -dir='$statsdir' -awstatsprog='$awstats_pl'";
    +       $command = "$awstats_buildstaticpages_pl -month='
    $awmonth' -year='$awyear' -update -config='$domain' -dir='$statsdir' -awstatsprog='$awstats_pl'";
            if (date("d") == 2) {
                    $awmonth = date("m")-1;
     

    Anhänge:

    Zuletzt bearbeitet: 10. Sep. 2015
  5. florian030

    florian030 Member

    Was spricht denn dagegen, einfach in awstats Lang="de" zu setzen? klick
     
  6. brt

    brt New Member

    ich möchte für die verschiedenen Websites unterschiedliche Sprachen haben, Webseite A in deutsch und Webseite B in englisch.
     
  7. brt

    brt New Member

    so habs nun auch testen können, klappt einwandfrei :)
    habe ähnlich wie im obigen Link beschrieben in der globalen /etc/awstats/awstats.conf.local die Zeile Lang="de" eingefügt, dadurch sind standardmäßig alle Statistiken auf deutsch.

    Bei einzelnen Webseiten hab ich in die webseitenspezifische Konfigurationsdatei /etc/awstats/awstats.somedomain.com.conf die Zeile Lang="en" hinzugefügt. Mit Hilfe des Patches erhalte ich nun die Statistik in unterschiedliche Sprachen.
     
    Zuletzt bearbeitet: 3. Feb. 2016

Diese Seite empfehlen