X-Git-Url: http://git.ipfire.org/?p=ipfire-2.x.git;a=blobdiff_plain;f=src%2Fsquid-accounting%2Faccounting.cgi;h=1064763c28ab5e795fca0473a21d6844d3029f0c;hp=eabb0c2956641bcb17676797f7ab9658fe2883c0;hb=0f14446a89c090cd985ee544b19fdfa0afe04dad;hpb=4616ecceced8208c695e697395f0b916d875fb91 diff --git a/src/squid-accounting/accounting.cgi b/src/squid-accounting/accounting.cgi index eabb0c2956..1064763c28 100755 --- a/src/squid-accounting/accounting.cgi +++ b/src/squid-accounting/accounting.cgi @@ -56,12 +56,17 @@ my $count=0; my $col; my $proxlog=$Lang::tr{'stopped'}; my $proxsrv=$Lang::tr{'stopped'}; +my $mailfile="${General::swroot}/dma/mail.conf"; &Header::getcgihash(\%cgiparams); &General::readhash("${General::swroot}/main/settings", \%mainsettings); &General::readhash("/srv/web/ipfire/html/themes/".$mainsettings{'THEME'}."/include/colors.txt", \%color); &General::readhash("$settingsfile", \%settings) if(-f $settingsfile); +if ( -f $mailfile){ + &General::readhash($mailfile, \%mail); +} + #Find out which lang is set (used later to set decimal separator correctly) my $uplang=uc($mainsettings{'LANGUAGE'}); setlocale LC_NUMERIC,"$mainsettings{'LANGUAGE'}_$uplang"; @@ -136,11 +141,6 @@ if ($cgiparams{'ACTION'} eq "$Lang::tr{'save'}"){ #SaveButton on configsite if ($cgiparams{'USEMAIL'} eq 'on'){ $errormessage=&checkmailsettings; }elsif($cgiparams{'USEMAIL'} ne 'on'){ - $cgiparams{'txt_mailserver'}=''; - $cgiparams{'txt_mailport'}=''; - $cgiparams{'txt_mailuser'}=''; - $cgiparams{'txt_mailpass'}=''; - $cgiparams{'mail_tls'}=''; $cgiparams{'txt_mailsender'}=''; $cgiparams{'txt_mailsubject'}=''; $mailtxt=''; @@ -155,11 +155,6 @@ if ($cgiparams{'ACTION'} eq "$Lang::tr{'save'}"){ #SaveButton on configsite $settings{'CURRENCY'} = $cgiparams{'txt_currency'}; $settings{'SKIPURLS'} = $skipurls; $settings{'USEMAIL'} = $cgiparams{'USEMAIL'}; - $settings{'MAILSRV'} = $cgiparams{'txt_mailserver'}; - $settings{'MAILPORT'} = $cgiparams{'txt_mailport'}; - $settings{'MAILUSER'} = $cgiparams{'txt_mailuser'}; - $settings{'MAILPASS'} = $cgiparams{'txt_mailpass'}; - $settings{'TLS'} = $cgiparams{'mail_tls'}; $settings{'MAILSENDER'} = $cgiparams{'txt_mailsender'}; $settings{'MAILSUB'} = $cgiparams{'txt_mailsubject'}; $settings{'MAILTXT'} = $mailtxt; @@ -568,10 +563,6 @@ sub configsite{ #If update set fieldvalues new if($cgiparams{'update'} eq 'on'){ $settings{'USEMAIL'} = 'on'; - $settings{'MAILSRV'} = $cgiparams{'txt_mailserver'}; - $settings{'MAILPORT'} = $cgiparams{'txt_mailport'}; - $settings{'MAILUSER'} = $cgiparams{'txt_mailuser'}; - $settings{'MAILPASS'} = $cgiparams{'txt_mailpass'}; $settings{'MAILSUB'} = $cgiparams{'txt_mailsubject'}; $settings{'MAILTXT'} = $cgiparams{'txt_mailtxt'}; } @@ -580,14 +571,13 @@ sub configsite{ $checked{'logging'}{$settings{'LOG'}} = 'CHECKED'; $checked{'multiuser'}{$settings{'MULTIUSER'}} = 'CHECKED'; $checked{'usemail'}{$settings{'USEMAIL'}} = 'CHECKED'; - $checked{'mail_tls'}{$settings{'TLS'}} = 'CHECKED'; - + #Open site &Header::openpage($Lang::tr{'acct settings'}, 1, ''); &Header::openbigbox('100%', 'center'); &error; &Header::openbox('100%', 'left', $Lang::tr{'acct config'}); - + #### JAVA SCRIPT #### print< @@ -631,57 +621,45 @@ END $Lang::tr{'acct multiuser'} - + $Lang::tr{'acct mwst'} + $Lang::tr{'acct currency'} - + $Lang::tr{'acct skipurl'} +END + +if ($mail{'USEMAIL'} eq 'on'){ + if (!$settings{'MAILSENDER'}){ + $settings{'MAILSENDER'} = $mail{'SENDER'}; + } +print < $Lang::tr{'acct usemail'} -
+END +} +print <
- - - - - - - - - - - - - - - - - - - - - + - - - @@ -693,7 +671,6 @@ END
$Lang::tr{'acct mailaddr'}
$Lang::tr{'acct mailport'}
$Lang::tr{'acct mailuser'}*
$Lang::tr{'acct mailpass'}*
$Lang::tr{'acct tls'}
$Lang::tr{'acct mailsender'}$Lang::tr{'acct mailsender'}
 
$Lang::tr{'acct subject'}
- @@ -907,7 +884,7 @@ sub generatemonthgraph{ my $sth; my $cnt=0; #If we want to show Data from within last 2 months, get DATA from ACCT - if ( ! $grmon < ($mon+1) && $gryear == ($year+1900)){ + if ( $grmon == ($mon)+1 && $gryear == ($year+1900)){ $sth=&ACCT::getmonthgraphdata("ACCT",$from,$till,$grhost); }else{ #If we want to show data from a date older than last two months, use ACCT_HIST @@ -1119,28 +1096,28 @@ print< $Lang::tr{'acct customer'}   $Lang::tr{'acct hoster'} - + - + - + - + - + - + @@ -1148,7 +1125,7 @@ print< - + + - + - + - + @@ -1180,25 +1157,25 @@ print< - + - + - + - + END @@ -1959,9 +1936,9 @@ END sub viewtablehosts{ $dbh=&ACCT::connectdb; &Header::openbox('100%', 'left', $Lang::tr{'acct hosts'}); - my $mon=$_[0]; - my $year=$_[1]; - my ($from,$till)=&ACCT::getmonth($mon,$year); + my $mon1=$_[0]; + my $year1=$_[1]; + my ($from,$till)=&ACCT::getmonth($mon1,$year1); $count=0; #Menu to display another month print< END - my $res = $dbh->selectall_arrayref("SELECT SUM(BYTES),min(TIME_RUN),max(TIME_RUN),NAME from ACCT where TIME_RUN between ".$from." and ".$till." group by NAME;"); + my $res; + if (($mon)+1 == $mon1 && ($year)+1900 == $year1){ + $res = $dbh->selectall_arrayref("SELECT SUM(BYTES),min(TIME_RUN),max(TIME_RUN),NAME from ACCT where TIME_RUN between ".$from." and ".$till." group by NAME;"); + }else{ + $res = $dbh->selectall_arrayref("SELECT SUM(BYTES),min(strftime('%s',TIME_RUN)),max(strftime('%s',TIME_RUN)),NAME from ACCT_HIST where date(TIME_RUN) > date($from,'unixepoch') and date(TIME_RUN) < date($till,'unixepoch') group by NAME;"); + } my $sumbytes; my $type; my $lineval; @@ -2036,8 +2018,8 @@ END - - + + @@ -2170,18 +2152,6 @@ END } sub checkmailsettings{ - #Check if mailserver is an ip address or a domain - if ($cgiparams{'txt_mailserver'} =~ /^(\d+)\.(\d+)\.(\d+)\.(\d+)$/){ - if (! &General::validip($cgiparams{'txt_mailserver'})){ - $errormessage.="$Lang::tr{'acct invalid mailip'} $cgiparams{'txt_mailserver'}
"; - } - }elsif(! &General::validfqdn($cgiparams{'txt_mailserver'})){ - $errormessage.="$Lang::tr{'acct invalid mailfqdn'} $cgiparams{'txt_mailserver'}
"; - } - #Check valid mailserverport - if($cgiparams{'txt_mailport'} < 1 || $cgiparams{'txt_mailport'} > 65535){ - $errormessage.="$Lang::tr{'acct invalid mailport'} $cgiparams{'txt_mailport'}
"; - } #Check valid sender if(! $cgiparams{'txt_mailsender'}){ $errormessage.="$Lang::tr{'acct empty field'} $Lang::tr{'acct mailsender'}
";
$Lang::tr{'acct bank'}$Lang::tr{'acct bank'}*
$Lang::tr{'acct company'}$Lang::tr{'acct company'}* $Lang::tr{'acct iban'}*$Lang::tr{'acct iban'}
$Lang::tr{'acct name1'}*$Lang::tr{'acct name1'} $Lang::tr{'acct bic'}*$Lang::tr{'acct bic'}
$Lang::tr{'acct str'}$Lang::tr{'acct str'}* $Lang::tr{'acct blz'}
$Lang::tr{'acct str_nr'}$Lang::tr{'acct str_nr'}* $Lang::tr{'acct kto'} @@ -1157,16 +1134,16 @@ print< - $Lang::tr{'acct plz'}$Lang::tr{'acct plz'}* $Lang::tr{'acct email'}$Lang::tr{'acct email'}*
$Lang::tr{'acct city'}$Lang::tr{'acct city'}* $Lang::tr{'acct inet'}*$Lang::tr{'acct inet'}
$Lang::tr{'acct ustid'}$Lang::tr{'acct ustid'}*
$Lang::tr{'acct tel'}*$Lang::tr{'acct tel'}
$Lang::tr{'acct fax'}*$Lang::tr{'acct fax'}
*$Lang::tr{'acct optional'}*$Lang::tr{'acct not optional'}