!C99Shell v. 2.0 [PHP 7 Update] [25.02.2019]!

Software: Apache/2.2.22 (Debian). PHP/5.6.36 

uname -a: Linux h05.hvosting.ua 4.9.110-amd64 #3 SMP Sun Nov 4 16:27:09 UTC 2018 x86_64 

uid=1389(h33678) gid=1099(h33678) groups=1099(h33678),502(mgrsecure) 

Safe-mode: OFF (not secure)

/usr/share/doc/awstats/examples/   drwxr-xr-x
Free 1.47 GB of 7.22 GB (20.42%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     awstats_updateall.pl (5.38 KB)      -rwxr-xr-x
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
#!/usr/bin/perl
#------------------------------------------------------------------------------
# Launch update process for all config files found in a particular directory.
# See COPYING.TXT file about AWStats GNU General Public License.
#------------------------------------------------------------------------------
# $Revision: 1.15 $ - $Author: eldy $ - $Date: 2006/07/23 22:57:48 $


#------------------------------------------------------------------------------
# Defines
#------------------------------------------------------------------------------
my $REVISION='$Revision: 1.15 $'; $REVISION =~ /\s(.*)\s/; $REVISION=$1;
my $VERSION="1.0 (build $REVISION)";

# Default value of DIRCONFIG
my $DIRCONFIG = "/etc/awstats";

my $Debug=0;

my $Awstats='awstats.pl';

my $AwstatsDir='';
my $AwstatsProg='';
my $LastLine='';



#------------------------------------------------------------------------------
# Functions
#------------------------------------------------------------------------------

#------------------------------------------------------------------------------
# Function:        Write error message and exit
# Parameters:    $message
# Input:        None
# Output:        None
# Return:        None
#------------------------------------------------------------------------------
sub error {
    print STDERR "Error: $_[0].\n";
    exit 1;
}


#------------------------------------------------------------------------------
# Function:     Write debug message and exit
# Parameters:   $string $level
# Input:        %HTMLOutput  $Debug=required level  $DEBUGFORCED=required level forced
# Output:        None
# Return:        None
#------------------------------------------------------------------------------
sub debug {
    my $level = $_[1] || 1;
    if ($Debug >= $level) {
        my $debugstring = $_[0];
        if ($ENV{"GATEWAY_INTERFACE"}) { $debugstring =~ s/^ /&nbsp&nbsp /; $debugstring .= "<br />"; }
        print localtime(time)." - DEBUG $level - $debugstring\n";
    }
}


#------------------------------------------------------------------------------
# MAIN
#------------------------------------------------------------------------------

# Change default value if options are used
my $helpfound=0;my $nowfound=0;
my %confexcluded=();
for (0..@ARGV-1) {
    if ($ARGV[$_] =~ /^-*h/i)                    { $helpfound=1; last; }
    if ($ARGV[$_] =~ /^-*awstatsprog=(.*)/i) { $Awstats="$1"; next; }
    if ($ARGV[$_] =~ /^-*configdir=(.*)/i)   { $DIRCONFIG="$1"; next; }
    if ($ARGV[$_] =~ /^-*excludeconf=(.*)/i) {
            #try to get the different files to exclude
            @conftoexclude = split(/,/, $1);
            foreach (@conftoexclude) {
                $confexcluded{"$_"}=1;
            }
            next;
    }
    if ($ARGV[$_] =~ /^-*debug=(\d+)/i)       { $Debug=$1; next; }
    if ($ARGV[$_] =~ /^-*lastline=(\d+)/i)   { $LastLine=$1; next; }
    if ($ARGV[$_] =~ /^now/i)                    { $nowfound=1; next; }
}

# Show usage help
my $DIR; my $PROG; my $Extension;
($DIR=$0) =~ s/([^\/\\]*)$//; ($PROG=$1) =~ s/\.([^\.]*)$//; $Extension=$1;
if (!$nowfound || $helpfound || ! @ARGV) {
    print "----- $PROG $VERSION (c) Laurent Destailleur -----\n";
    print "awstats_updateall launches update process for all AWStats config files (except\n";
    print "awstats.model.conf) found in a particular directory, so you can easily setup a\n";
    print "cron/scheduler job. The scanned directory is by default $DIRCONFIG.\n";
    print "\n";
    print "Usage:  $PROG.$Extension now [options]\n";
    print "\n";
    print "Where options are:\n";
    print "  -awstatsprog=pathtoawstatspl\n";
    print "  -configdir=directorytoscan\n";
    print "  -excludeconf=conftoexclude[,conftoexclude2,...] (Note: awstats.model.conf is always excluded)\n";
    print "\n";
    exit 0;
}

debug("Scan directory $DIRCONFIG");

# Scan directory $DIRCONFIG
opendir(DIR, $DIRCONFIG) || error("Can't scan directory $DIRCONFIG");
my @filesindir = grep { /^awstats\.(.*)conf$/ } sort readdir(DIR);
closedir(DIR);

debug("List of files found :".join(",",@filesindir));

# Build file list
my @files=();
foreach my $file (@filesindir) {
    if ($confexcluded{$file}) { next; }         # Should be useless
    if ($file =~ /^awstats\.(.*)conf$/) {
        my $conf=$1; $conf =~ s/\.$//;
        if ($conf eq 'model') { next; }
        if ($confexcluded{$conf}) { next; }
    }
    push @files, $file;
}

debug("List of files qualified :".join(",",@files));

# Run update process for each config file found
if (@files) {
    # Check if AWSTATS prog is found
    my $AwstatsFound=0;
    if (-s "$Awstats") { $AwstatsFound=1; }
    elsif (-s "/usr/local/awstats/wwwroot/cgi-bin/awstats.pl") {
        $Awstats="/usr/local/awstats/wwwroot/cgi-bin/awstats.pl";
        $AwstatsFound=1;
    }
    if (! $AwstatsFound) {
        error("Can't find AWStats program ('$Awstats').\nUse -awstatsprog option to solve this");
        exit 1;
    }
    # Define AwstatsDir and AwstatsProg
    ($AwstatsDir=$Awstats) =~ s/([^\/\\]+)$//; $AwstatsProg=$1;
    $AwstatsDir||='.'; $AwstatsDir =~ s/([^\/\\])[\\\/]+$/$1/;
    debug("AwstatsDir=$AwstatsDir");
    debug("AwstatsProg=$AwstatsProg");

    foreach (@files) {
        if ($_ =~ /^awstats\.(.*)conf$/) {
            my $domain = $1||"default"; $domain =~ s/\.$//;
            # Define command line
            my $command="\"$AwstatsDir/$AwstatsProg\" -update -config=$domain";
            $command.=" -configdir=\"$DIRCONFIG\"";
            if ($LastLine) 
            {
                $command.=" -lastline=$LastLine";
            }
            # Run command line
            print "Running '$command' to update config $domain\n";
            my $output = `$command 2>&1`;
            print "$output\n";
        }
    }
} else {
    print "No AWStats config file found in $DIRCONFIG\n";
}

0;    # Do not remove this line


:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.0 [PHP 7 Update] [25.02.2019] maintained by PinoyWH1Z | C99Shell Github | Generation time: 0.0155 ]--