From: wbudic Date: Fri, 25 Jan 2019 21:18:49 +0000 (+1100) Subject: Added view by date search. Also License notice. X-Git-Url: https://lifelog.hopto.org/gitweb/?a=commitdiff_plain;h=4e7f2cdaf5d4fd6bccfffa6b0232aeef20d4b57f;p=LifeLog.git Added view by date search. Also License notice. --- diff --git a/htdocs/cgi-bin/main.cgi b/htdocs/cgi-bin/main.cgi index 8ecde3a..8a950bb 100755 --- a/htdocs/cgi-bin/main.cgi +++ b/htdocs/cgi-bin/main.cgi @@ -1,5 +1,8 @@ #!/usr/bin/perl - +# +# Programed in vim by: Will Budic +# Open Source License -> https://choosealicense.com/licenses/isc/ +# use strict; use warnings; use Try::Tiny; @@ -30,15 +33,34 @@ our $TIME_ZONE = 'Australia/Sydney'; #END OF SETTINGS my $q = CGI->new; +my $tbl_rc = 0; +my $tbl_rc_prev = 0; +my $tbl_cur_id; my $rs_keys = $q->param('keywords'); my $rs_cat_idx = $q->param('category'); +my $rs_dat_from = $q->param('v_from'); +my $rs_dat_to = $q->param('v_to'); +my $rs_prev = $q->param('rs_prev'); +my $rs_cur = $q->param('rs_cur'); +my $stmS = "SELECT rowid, ID_CAT, DATE, LOG, AMMOUNT from LOG WHERE"; +my $stmE = " ORDER BY DATE DESC;"; +my $stmD = ""; +if(!$rs_dat_to){ + $rs_dat_to = 'now'; +} + +if($rs_dat_from && $rs_dat_to){ + $stmD = " DATE BETWEEN date('".$rs_dat_from."') AND date('".$rs_dat_to."') "; +} + +my $toggle =""; if($rs_keys||$rs_cat_idx||$stmD){$toggle=1;}; print $q->header(-expires=>"+6os", -charset=>"UTF-8"); print $q->start_html(-title => "Personal Log", -script=>{-type => 'text/javascript', -src => 'wsrc/main.js'}, -style =>{-type => 'text/css', -src => 'wsrc/main.css'}, - -onload => "loadedBody('".$rs_keys."');" + -onload => "loadedBody('".$toggle."');" ); my $rv; @@ -74,48 +96,50 @@ my $tbl = qq(
pre("### -> ".$stmt); + # + # Enable to see main query statement issued! + #print $q->pre("### -> ".$stmt); - # - # +# #Fetch entries! # $st = $db->prepare( $stmt ); @@ -203,11 +227,18 @@ if($tbl_start>0){ } if($tbl_rc==0){ - if($rs_keys){ - $tbl = $tbl . ' - Search Failed to Retrive any records on keywords: ['. $rs_keys .'] !\n'; - } - else{ + + if($stmD){ + $tbl = $tbl . ' + Search Failed to Retrive any records on select: ['. $stmD .'] ! + '; + } + elsif($rs_keys){ + $tbl = $tbl . ' + Search Failed to Retrive any records on keywords: ['. $rs_keys .'] ! + '; + } + else{ $tbl = $tbl . 'Database is New or Empty!\n'; } } @@ -258,7 +289,7 @@ my $srh = qq( ); my $ctmsg = '

  (Use the Category dropdown to change).

'; -if($rs_keys || $rs_cat_idx){ +if($rs_keys || $rs_cat_idx || $stmD){ $srh = $srh.' '; $ctmsg = ""; @@ -267,7 +298,11 @@ if($rs_keys || $rs_cat_idx){ $srh = $srh.'View by Category: - '.$ctmsg.' + '.$ctmsg.' + View by (YYYY-MM-DD)
Date: + From: To:  + +

'; @@ -391,18 +426,14 @@ try{ } $st = $db->prepare('INSERT INTO LOG VALUES (?,?,?,?)'); - #bug In dade strings "-01" doesn't properly translate in SQLLite - $date =~ s/-0/-/g; $st->execute( $cat, $date, $log, $amm); # - # UNDER DEVELOPMENT! - # # After Insert renumeration check # my $dt = DateTime::Format::SQLite->parse_datetime($date); my $dtCur = DateTime->now(); $dtCur->set_time_zone($TIME_ZONE); - $dtCur = $dtCur - DateTime::Duration->new( days => 1); + $dtCur = $dtCur - DateTime::Duration->new(days => 1); if($dtCur> $dt){ print $q->p('Insert is in the past!'); diff --git a/htdocs/cgi-bin/wsrc/main.js b/htdocs/cgi-bin/wsrc/main.js index 167e5ff..8a33637 100644 --- a/htdocs/cgi-bin/wsrc/main.js +++ b/htdocs/cgi-bin/wsrc/main.js @@ -1,3 +1,8 @@ +/* + Programed in vim by: Will Budic + Open Source License -> https://choosealicense.com/licenses/isc/ +*/ + function loadedBody(toggle){ document.getElementById("frm_log").log.focus(); if(toggle){ @@ -36,11 +41,21 @@ function setNow(){ var date = document.getElementById("frm_log").date; var dt = new Date(); - date.value = dt.getFullYear()+"-"+(dt.getMonth()+1)+"-"+dt.getUTCDate() + " " + dt.getHours() + ":" + dt.getMinutes() +":"+dt.getSeconds(); + var mm = fix0(dt.getMonth()+1); + var dd = fix0(dt.getUTCDate()); + date.value = dt.getFullYear()+"-"+mm+"-"+dd+ " " + + dt.getHours() + ":" + dt.getMinutes() +":"+dt.getSeconds(); return false; } +function fix0(v){ + if(v<10){ + return "0"+v; + } + return v; +} + function edit(row){ var ec_v = document.getElementById("c"+ row).innerText; @@ -138,6 +153,10 @@ function viewByCategory(btn){ // alert(btn.value); } +function viewByDate(btn){ +// alert(btn.value); +} + function submitNewCategory(){ var frm = document.getElementById("frm_config");