From 7a6c096c1429fdb82294ce7fde4aeaf66a0ab1b9 Mon Sep 17 00:00:00 2001 From: Metabox Date: Wed, 24 Apr 2019 17:19:37 +1000 Subject: [PATCH] Fixed styling. --- htdocs/cgi-bin/main.cgi | 313 +++++++++++++++++++++------------------- 1 file changed, 168 insertions(+), 145 deletions(-) diff --git a/htdocs/cgi-bin/main.cgi b/htdocs/cgi-bin/main.cgi index 54c4863..0973d5d 100755 --- a/htdocs/cgi-bin/main.cgi +++ b/htdocs/cgi-bin/main.cgi @@ -10,6 +10,7 @@ use Switch; use CGI; use CGI::Session '-ip_match'; +use CGI::Carp qw ( fatalsToBrowser ); use DBI; use DateTime; @@ -85,7 +86,7 @@ my $today = DateTime->now; my $stmtCat = "SELECT * FROM CAT;"; -my $stmt = "SELECT rowid, ID_CAT, DATE, LOG, AMMOUNT FROM LOG ORDER BY rowid DESC, DATE DESC;"; +my $stmt = "SELECT rowid, ID_CAT, DATE, LOG, AMMOUNT FROM LOG ORDER BY DATE DESC, rowid DESC;"; $st = $db->prepare( $stmtCat ); @@ -110,10 +111,10 @@ $cats = $cats.''; my $tbl = qq(
- - - - + + + + ); @@ -181,166 +182,179 @@ if($tbl_start>0){ # #Fetch entries! # + $st = $db->prepare( $stmt ); $rv = $st->execute() or die or die "

Error->"& $DBI::errstri &"

"; if($rv < 0) { - print "

Error->"& $DBI::errstri &"

"; + print "

Error->"& $DBI::errstri &"

"; } - while(my @row = $st->fetchrow_array()) { - - $id = $row[0]; - my $ct = $hshCats{$row[1]}; - my $dt = DateTime::Format::SQLite->parse_datetime( $row[2] ); - my $log = $row[3]; - my $amm = sprintf "%.2f", $row[4]; - - #Apostrophe in the log value is doubled to avoid SQL errors. - $log =~ s/''/'/g; - # - - if(!$amm){ - $amm = "0.00"; - } - if($tbl_rc_prev == 0){ - $tbl_rc_prev = $id; - } - if($tfId==1){ - $tfId = 0; - }else{ - $tfId = 1; - } +while(my @row = $st->fetchrow_array()) { - #Replace with a full link an HTTP URI - my @chnks = split(/($re_a_tag)/si , $log) ; - foreach my $ch_i ( @chnks ) { - next if $ch_i =~ /$re_a_tag/ ; - $ch_i =~ s/https/http/gsi; - $ch_i =~ s/($RE{URI}{HTTP})/$1<\/a>/gsi; - } - $log = join('' , @chnks); - #Decode escaped \\n - $log =~ s/\\n/
/gs; + $id = $row[0]; + my $ct = $hshCats{$row[1]}; + my $dt = DateTime::Format::SQLite->parse_datetime($row[2]); + my $log = $row[3]; + my $amm = sprintf "%.2f", $row[4]; + + #Apostrophe in the log value is doubled to avoid SQL errors. + $log =~ s/''/'/g; + # + if(!$ct){ + $ct = $hshCats{1}; + } + if(!$dt){ + $dt = $today; + } + if(!$amm){ + $amm = "0.00"; + } + if($tbl_rc_prev == 0){ + $tbl_rc_prev = $id; + } + if($tfId==1){ + $tfId = 0; + }else{ + $tfId = 1; + } + #Replace with a full link an HTTP URI + my @chnks = split(/($re_a_tag)/si , $log) ; + foreach my $ch_i ( @chnks ) { + next if $ch_i =~ /$re_a_tag/ ; + $ch_i =~ s/https/http/gsi; + $ch_i =~ s/($RE{URI}{HTTP})/
$1<\/a>/gsi; + } + $log = join('' , @chnks); + #Decode escaped \\n + my $style; + if($log=~/\\n/){ + $style = '" class="log"'; + } + else{ + $log =~ s/\\n/
/gs; + } - $tbl .= '
- \n". - '\n". - '\n". - '\n". - '\n". - ' - '; - $tbl_rc += 1; + + $tbl .= ' + \n". + '\n". + '\n". + '\n". + '\n". + ' + '; + $tbl_rc += 1; if($REC_LIMIT>0 && $tbl_rc==$REC_LIMIT){ &buildNavigationButtons; last; } - } +} - #End of table? - if($rs_prev && $tbl_rc < $REC_LIMIT){ - $st = $db->prepare( "SELECT count(*) FROM LOG;" ); - $st->execute(); - my @row = $st->fetchrow_array(); - if($row[0]>$REC_LIMIT){ - &buildNavigationButtons(1); - } - } - if($tbl_rc==0){ - - if($stmD){ - $tbl = $tbl . ''; - } - elsif($rs_keys){ - my $criter = ""; - if($rs_cat_idx>0){ - $criter = "->Criteria[".$hshCats{$rs_cat_idx}."]"; - } - $tbl = $tbl . ' - '; - } - else{ - $tbl = $tbl . '\n'; - } - } +#End of table? +if($rs_prev && $tbl_rc < $REC_LIMIT){ +$st = $db->prepare( "SELECT count(*) FROM LOG;" ); +$st->execute(); +my @row = $st->fetchrow_array(); +if($row[0]>$REC_LIMIT){ + &buildNavigationButtons(1); +} +} + +if($tbl_rc==0){ + + if($stmD){ + $tbl = $tbl . ''; + } + elsif($rs_keys){ + my $criter = ""; + if($rs_cat_idx>0){ + $criter = "->Criteria[".$hshCats{$rs_cat_idx}."]"; + } + $tbl = $tbl . ' + '; + } + else{ + $tbl = $tbl . '\n'; + } +} - $tbl .= ' +$tbl .= ' -
DateTimeLog#CategoryEditDateTimeLog#CategoryEdit
'.$dt->ymd."'.$dt->hms."' . $log . "' . $amm ."' . $ct ." - - -
'.$dt->ymd."'.$dt->hms."' . $log . "' . $amm ."' . $ct ." + + +
- Search Failed to Retrive any records on select: ['. $stmD .'] !
- Search Failed to Retrive any records on keywords: ['. $rs_keys .']'.$criter.' !
Database is New or Empty!
+ Search Failed to Retrive any records on select: ['. $stmD .'] !
+ Search Failed to Retrive any records on keywords: ['. $rs_keys .']'.$criter.' !
Database is New or Empty!
- -   - - - -
+ +  + + + +
Keywords:
'; - - my $frm = qq( -
- - - - - - - - - - - - - -
* LOG ENTRY FORM *

Date:hms . - qq(">  -   -
Log:Category: $cats
 Ammount: - - - -
- - - - - - -
- ); +'; + +my $frm = qq( +
+ + + + + + + + + + + + + +
* LOG ENTRY FORM *

Date:hms . + qq(">  +   +
Log:Category: $cats
 Ammount: + + + +
+ + + + + + +
+ ); my $srh = qq( -
- - - ); + +
Search/View By
+ + ); $cats =~ s/selected//g; $srh .= qq( - - - - - - - ); + + + + + + + ); if($rs_keys || $rs_cat_idx || $stmD){ $srh .= '
Search/View By
View by Category:.$cats. - -
View by Date: - From:  - To:  -
Keywords: -
+ +
View by Date: + From:  + To:  +
Keywords: +
@@ -365,8 +379,18 @@ $db->disconnect(); undef($session); exit; -### CGI END - +=comm +sub parseDate{ + my $date = $_[0]; +try{ +return DateTime::Format::SQLite->parse_datetime( $date ); +} +catch{ + print "SERVER ERRORdate:$date]->".$_; +} +return $today; +} +=cut @@ -374,9 +398,9 @@ sub processSubmit { my $date = $cgi->param('date'); - my $log = $cgi->param('log'); - my $cat = $cgi->param('cat'); - my $amm = $cgi->param('am'); + my $log = $cgi->param('log'); + my $cat = $cgi->param('cat'); + my $amm = $cgi->param('am'); my $edit_mode = $cgi->param('submit_is_edit'); my $view_mode = $cgi->param('submit_is_view'); @@ -441,7 +465,6 @@ try{ my @row = $st->fetchrow_array(); my $cnt = 1; while(my @row = $st->fetchrow_array()) { - my $st_upd = $db->prepare("UPDATE LOG SET rowid=".$cnt. " WHERE rowid='".$row[0]."';"); $st_upd->execute(); -- 2.34.1