]> lifelog.hopto.org Git - LifeLog.git/commitdiff
Branch Switch
authorwbudic <redacted>
Fri, 16 Nov 2018 03:17:40 +0000 (14:17 +1100)
committerwbudic <redacted>
Fri, 16 Nov 2018 03:17:40 +0000 (14:17 +1100)
htdocs/cgi-bin/main.cgi
htdocs/cgi-bin/search.cgi [new file with mode: 0755]

index 6838da7fc69a1892d99badac1ae231d604990eb2..82497b5a31d89c495810edc1975be24fb073ad63 100755 (executable)
@@ -9,7 +9,7 @@ use DBI;
 
 use DateTime;
 use DateTime::Format::SQLite;
-
+use DateTime::Duration;
 
 my $driver   = "SQLite"; 
 my $database = "../../dbLifeLog/data_log.db";
@@ -363,6 +363,19 @@ try{
                
                $sth = $dbh->prepare('INSERT INTO LOG VALUES (?,?,?,?)');
                $sth->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);
+
+               if($dtCur> $dt){
+#                      print $q->p('<b>Insert is in the past!</b>');
+               }
        }
 }
 catch{
diff --git a/htdocs/cgi-bin/search.cgi b/htdocs/cgi-bin/search.cgi
new file mode 100755 (executable)
index 0000000..69e36ad
--- /dev/null
@@ -0,0 +1,110 @@
+#!/usr/bin/perl
+use strict;
+use warnings;
+use CGI;
+use DBI;
+use DateTime;
+use DateTime::Format::SQLite;
+
+my $driver   = "SQLite"; 
+my $database = "../../dbLifeLog/data_log.db";
+my $dsn = "DBI:$driver:dbname=$database";
+my $userid = $ENV{'DB_USER'};
+my $password = $ENV{'DB_PASS'};
+
+
+my $q = CGI->new;
+
+my $dbh = DBI->connect($dsn, $userid, $password, { RaiseError => 1 }) 
+   or die "<p>Error->"& $DBI::errstri &"</p>";
+
+my $today = DateTime->now;
+$today->set_time_zone( 'Australia/Sydney' );
+
+my $stmtCat = "SELECT * FROM CAT;";
+
+
+my $sth = $dbh->prepare( $stmtCat );
+my $rv = $sth->execute() or die or die "<p>Error->"& $DBI::errstri &"</p>";
+
+my %hshCats;
+my $tbl_rc =0;
+
+ while(my @row = $sth->fetchrow_array()) {
+       $hshCats{$row[0]} = $row[1];
+ }
+
+
+my $stmS = "SELECT rowid, ID_CAT, DATE, LOG from LOG WHERE";
+my $stmE = " ORDER BY DATE DESC, rowid DESC;";
+my @keywords = split / /, $q->param('keywords');
+my $stm= $stmS;
+if(@keywords){
+       foreach (@keywords)
+       {
+               $stm = $stm . " LOG LIKE '%" .$_."%'";
+               if(  \$_ != \$keywords[-1]  ) {
+                       $stm = $stm." OR ";
+               }
+       }
+       $stm = $stm . $stmE;
+}
+else{
+       $stm = "";
+}
+
+
+     print $q->header(-expires=>"+6os");    
+     print $q->start_html(-title => "Personal Log Record Removal", 
+                            -script=>{-type => 'text/javascript', -src => 'wsrc/main.js'},
+                    -style =>{-type => 'text/css', -src => 'wsrc/main.css'}
+
+        );       
+
+       if($stm){
+            &build;
+       }
+       else{
+               print $q->center($q->h2({-style=>'Color: red;'},'No Keywords Submitted!'));
+       }
+
+       print $q->pre("### -> ".$stm);
+
+print $q->end_html;
+
+$dbh->disconnect();
+
+
+
+sub build{
+
+my $tbl = '<table class="tbl">
+               <tr class="r0"><th>Date</th><th>Time</th><th>Log</th><th>Category</th></tr>';
+$sth = $dbh->prepare( $stm );
+$rv = $sth->execute() or die or die "<p>Error->"& $DBI::errstri &"</p>";
+if($rv < 0) {
+            print "<p>Error->"& $DBI::errstri &"</p>";
+}
+
+
+my $r_cnt = 0;
+while(my @row = $sth->fetchrow_array()) {
+
+        my $ct = $hshCats{@row[1]};
+        my $dt = DateTime::Format::SQLite->parse_datetime( $row[2] );
+
+        $tbl = $tbl . '<tr class="r1"><td>'. $dt->ymd . "</td>" . 
+                 "<td>" . $dt->hms . "</td>" . "<td>" . $row[3] . "</td>\n".
+                 "<td>" . $ct. '<input type="hidden" name="chk" value="'.$row[0].'"></td></tr>';       
+       $r_cnt++;
+}
+my $plural = "";
+if($r_cnt>1){
+       $plural = "s";
+}
+ $tbl = $tbl . "</table>";
+
+print '<center><div>' . $tbl .'</div></center>';
+
+}