]> lifelog.hopto.org Git - LifeLog.git/commitdiff
New AFLAG in LOG table, migration required.
authorMetabox <redacted>
Wed, 7 Aug 2019 06:05:10 +0000 (16:05 +1000)
committerMetabox <redacted>
Wed, 7 Aug 2019 06:05:10 +0000 (16:05 +1000)
dbLifeLog/main.cnf
htdocs/cgi-bin/config.cgi
htdocs/cgi-bin/login_ctr.cgi
htdocs/cgi-bin/main.cgi
htdocs/cgi-bin/remove.cgi
htdocs/cgi-bin/stats.cgi

index a1435dc2d0870febefa5978568a646e7a3575f56..111dc02912f90f0b0848a514275e4bc999a12fbe 100644 (file)
@@ -34,5 +34,44 @@ Credential format:<<AUTO_LOGIN <{alias}/{password}> , must be enabled option.
 55|Cars        `Car(s) related entry.
 60|Online      `Online purchases (ebay, or received/ordered from online source).
 <<MIG<>
-LOG<5>|ALTER TABLE LOG ADD RTF BOOL DEFAULT 0;' ver. 1.5
 NOTES|DROP TABLE NOTES;' ver. 1.5 fts4 virtual tables have been scratched as they require special SQLite compilation.
+LOG<5>|Run Query ' ver. 1.5
+
+//ALTER TABLE LOG RENAME AMMOUNT TO AMOUNT;
+
+CREATE TABLE life_log_temp_table AS SELECT * FROM LOG;
+DROP TABLE LOG;
+//CREATE TABLE LOG ( ID_CAT TINY NOT NULL, DATE   DATETIME    NOT NULL, LOG    VCHAR (128) NOT NULL,  AMOUNT INTEGER,  AFLAG TINY DEFAULT 0, RTF BOOL DEFAULT 0);
+CREATE TABLE LOG (
+    ID_CAT TINY        NOT NULL,
+    DATE   DATETIME    NOT NULL,
+    LOG    VCHAR (128) NOT NULL,
+    AMOUNT INTEGER,
+    AFLAG TINY DEFAULT 0,
+    RTF BOOL DEFAULT 0
+);
+
+INSERT INTO LOG (
+                    ID_CAT,
+                    DATE,
+                    LOG,
+                    AMOUNT
+                )
+                SELECT ID_CAT,
+                       DATE,
+                       LOG,
+                       AMMOUNT
+                  FROM life_log_temp_table;
+
+DROP TABLE life_log_temp_table;
+PRAGMA foreign_keys = 1;
+
+%INCOME_ID% = SELECT ID FROM CAT WHERE CAT.NAME LIKE 'Income';
+%EXPENSE_ID% = SELECT ID FROM CAT WHERE CAT.NAME LIKE 'Income';
+
+
+
+UPDATE LOG SET AFLAG=1 WHERE ID_CAT=%INCOME_ID%;
+UPDATE LOG SET AFLAG=2 WHERE ID_CAT=%EXPENSE_ID%;
+
+
index 0d8a9e85fc5348aeec987e01e66c4029236bb510..0326108fdccd83d6ba2c31ae1f64ea1d06c6a819 100755 (executable)
@@ -826,7 +826,7 @@ sub exportLogToCSV {
                                 print $cgi->header(-charset=>"UTF-8", -type=>"application/octet-stream", -attachment=>"$dbname.csv");
                        }
                        
-                # print "ID_CAT,DATE,LOG,AMMOUNT\n";
+                # print "ID_CAT,DATE,LOG,AMOUNT, AFLAG\n";
                        while (my $r=$dbs->fetchrow_arrayref()){ 
                                                 print $csv->print(*STDOUT, $r)."\n";
                        }
@@ -935,18 +935,20 @@ sub updateLOGDB {
                        my $id_cat = $flds[0];
                        my $date   = $flds[1];
                        my $log    = $flds[2];
-                       my $amm    = $flds[3];
+                       my $amv    = $flds[3];
+                       my $amf    = $flds[4];
+                       my $rtf    = $flds[5];
                        my $pdate = DateTime::Format::SQLite->parse_datetime($date);
                        #Check if valid date log entry?
                        if($id_cat==0||$id_cat==""||!$pdate){
                                return;
                        }
                        #is it existing entry?
-                       $dbs = $db->prepare("SELECT ID_CAT, DATE, LOG, AMMOUNT  FROM LOG WHERE date = '$date';");
+                       $dbs = $db->prepare("SELECT ID_CAT, DATE, LOG, AMOUNT, AFLAG, RTF  FROM LOG WHERE date = '$date';");
                        $dbs->execute();
                        if(!$dbs->fetchrow_array()){
-                                       $dbs = $db->prepare('INSERT INTO LOG VALUES (?,?,?,?)');
-                                       $dbs->execute( $id_cat, $pdate, $log, $amm);
+                                       $dbs = $db->prepare('INSERT INTO LOG VALUES (?,?,?,?,?,?)');
+                                       $dbs->execute( $id_cat, $pdate, $log, $amv, $amf, $rtf);
                        }
                        #Renumerate
                        $dbs = $db->prepare('select rowid from LOG ORDER BY DATE;');
index a5f4e53d0709300448dfc02608c2a70ad3ab6f22..d2545191b17d0332bcffd94c5660a5b6cca5b5c2 100755 (executable)
@@ -180,7 +180,8 @@ try{
                         ID_CAT TINY NOT NULL,
                         DATE DATETIME  NOT NULL,
                         LOG VCHAR(128) NOT NULL,                        
-                        AMMOUNT INTEGER DEFAULT 0,
+                        AMOUNT INTEGER DEFAULT 0,
+                        AFLAG TINY DEFAULT 0,
                         RTF BOOL DEFAULT 0
                );
                CREATE INDEX idx_log_dates ON LOG (DATE);
@@ -188,8 +189,8 @@ try{
                $rv = $db->do($stmt);
                if($rv < 0){print "<p>Error->"& $DBI::errstri &"</p>";}
                
-               $st = $db->prepare('INSERT INTO LOG VALUES (?,?,?,?,?)');
-               $st->execute( 3, $today, "DB Created!",0,0);
+               $st = $db->prepare('INSERT INTO LOG VALUES (?,?,?,?,?,?)');
+               $st->execute( 3, $today, "DB Created!",0,0,0);
        }
        $st = $db->prepare(selSQLTbl('CAT'));
        $st->execute();
index 7e56b531814cf0e537a7722dce9551802c8bdc89..be7d6e176f62578979092010899e7d6c229a2e99 100755 (executable)
@@ -68,9 +68,9 @@ my ( $imgw, $imgh );
 &authenticate;
 &getConfiguration($db);
 
-my $tbl_rc      = 0;
-my $tbl_rc_prev = 0;
-my $tbl_cur_id;
+my $log_rc      = 0;
+my $log_rc_prev = 0;
+my $log_cur_id;
 my $rs_keys     = $cgi->param('keywords');
 my $rs_cat_idx  = $cgi->param('category');
 my $prm_vc      = $cgi->param("vc");
@@ -79,7 +79,7 @@ my $rs_dat_to   = $cgi->param('v_to');
 my $rs_prev     = $cgi->param('rs_prev');
 my $rs_cur      = $cgi->param('rs_cur');
 my $rs_page     = $cgi->param('rs_page');
-my $stmS        = "SELECT rowid, ID_CAT, DATE, LOG, AMMOUNT from LOG WHERE";
+my $stmS        = "SELECT rowid, ID_CAT, DATE, LOG, AMOUNT, AFLAG, RTF from LOG WHERE";
 my $stmE        = " ORDER BY DATE DESC;";
 my $stmD        = "";
 my $sm_reset_all;
@@ -174,11 +174,10 @@ print $cgi->start_html(
 my $rv;
 my $st;
 my $stmtCat = "SELECT ID, NAME, DESCRIPTION FROM CAT ORDER BY ID;";
-my $stmt =
-"SELECT rowid, ID_CAT, DATE, LOG, AMMOUNT, RTF FROM LOG ORDER BY DATE DESC, rowid DESC;";
+my $stmt ="SELECT rowid, ID_CAT, DATE, LOG, AMOUNT, AFLAG, RTF FROM LOG ORDER BY DATE DESC, rowid DESC;";
 
 $st = $db->prepare($stmtCat);
-$rv = $st->execute() or die or die "<p>Error->" & $DBI::errstri & "</p>";
+$rv = $st->execute() or die "<p>Error->" & $DBI::errstri & "</p>";
 
 my $cats = qq(<select   class="ui-widget-content" id="ec" name="ec" 
  onFocus="show('#cat_desc');" 
@@ -190,8 +189,8 @@ my %hshCats;
 my %hshDesc = {};
 my $c_sel   = 1;
 my $cats_v  = $cats;
+my $cat_descriptions = "";
 $cats_v =~ s/\"ec\"/\"vc\"/g;
-
 while ( my @row = $st->fetchrow_array() ) {
     if ( $row[0] == $c_sel ) {
         $cats .= qq(<option selected value="$row[0]">$row[1]</option>\n);
@@ -210,15 +209,15 @@ while ( my @row = $st->fetchrow_array() ) {
 }
 
 $cats .= '</select>';
+$cats_v .= '</select>';
 
-my $cat_descs = "";
 for my $key ( keys %hshDesc ) {
     my $kv = $hshDesc{$key};
     if ( $kv ne ".." ) {
-        $cat_descs .= qq(<li id="$key">$kv</li>\n);
+        $cat_descriptions .= qq(<li id="$key">$kv</li>\n);
     }
 }
-my $tbl =
+my $log_output =
 qq(<form id="frm_log" action="remove.cgi" onSubmit="return formDelValidation();">
 <TABLE class="tbl" border="0" width="$PRC_WIDTH%">
 <tr class="r0">
@@ -280,10 +279,10 @@ qq(<form id="frm_log" action="remove.cgi" onSubmit="return formDelValidation();"
     #
     my $tfId      = 0;
     my $id        = 0;
-    my $tbl_start = index $stmt, "<=";
+    my $log_start = index $stmt, "<=";
     my $re_a_tag  = qr/<a\s+.*?>.*<\/a>/si;
 
-    if ( $tbl_start > 0 ) {
+    if ( $log_start > 0 ) {
 
         #check if we are at the beggining of the LOG table?
         my $stc =
@@ -291,7 +290,7 @@ qq(<form id="frm_log" action="remove.cgi" onSubmit="return formDelValidation();"
         $stc->execute();
         my @row = $stc->fetchrow_array();
         if ( $row[0] == $rs_prev && $rs_cur == $rs_prev ) {
-            $tbl_start = -1;
+            $log_start = -1;
         }
         $stc->finish();
     }
@@ -302,6 +301,7 @@ qq(<form id="frm_log" action="remove.cgi" onSubmit="return formDelValidation();"
     my $tags      = "";
     my $sum       = 0;
     my $exp       = 0;
+    my $ass       = 0;
     $st = $db->prepare($stmt);
     $rv = $st->execute() or die or die "<p>Error->" & $DBI::errstri & "</p>";
     if ( $rv < 0 ) {
@@ -309,21 +309,25 @@ qq(<form id="frm_log" action="remove.cgi" onSubmit="return formDelValidation();"
     }
     while ( my @row = $st->fetchrow_array() ) {
 
-        $id = $row[0];
+        $id = $row[0];# rowid
 
-        my $ct  = $hshCats{ $row[1] };
+        my $ct  = $hshCats{$row[1]}; #ID_CAT
         my $dt  = DateTime::Format::SQLite->parse_datetime( $row[2] );
         my $log = $row[3];
-        my $am  = &cam( $row[4] );
-        my $rtf = $row[5];
+        my $am  = $row[4];
+        my $af  = $row[5]; #AFLAG -> Asset as 0, Income as 1, Expense as 2
+        my $rtf = $row[6]; #RTF has document true or false
 
-        if ( $ct eq 'Expense' ) {
-            $exp += $row[4];
+        if ( $af == 1 ) { #AFLAG Income
+            $sum += $am;
         }
-        else {
-            $sum += $row[4];
+        elsif ( $af == 2 ) {            
+            $exp -= $am;
         }
-
+        else{
+            $ass += $am;
+        }
+        $am =  &cam($am);
         #Apostrophe in the log value is doubled to avoid SQL errors.
         $log =~ s/''/'/g;
         #
@@ -336,8 +340,8 @@ qq(<form id="frm_log" action="remove.cgi" onSubmit="return formDelValidation();"
         if ( !$am ) {
             $am = "0.00";
         }
-        if ( $tbl_rc_prev == 0 ) {
-            $tbl_rc_prev = $id;
+        if ( $log_rc_prev == 0 ) {
+            $log_rc_prev = $id;
         }
         if ( $tfId == 1 ) {
             $tfId = 0;
@@ -514,7 +518,11 @@ qq(\n<img src="$lnk" width="$imgw" height="$imgh" class="tag_FRM"/>);
             $log .= qq(<hr><button id="btnRTF" onClick="return loadRTF(true, $id);">`RTF</button>);
         }
 
-        $tbl .= qq(<tr class="r$tfId">
+        if($af==2){
+           $am = qq(<font color="maroon">$am</font>);
+        }
+
+        $log_output .= qq(<tr class="r$tfId">
                <td width="15%">$dtf<input id="y$id" type="hidden" value="$dty"/></td>
                <td id="t$id" width="10%" class="tbl">$dth</td>
                <td id="v$id" class="log" width="40%">$log</td>
@@ -527,7 +535,7 @@ qq(\n<img src="$lnk" width="$imgw" height="$imgh" class="tag_FRM"/>);
                </td></tr>);
         
         if ( $rtf > 0 ) {
-             $tbl .= qq(<tr id="q-rtf$id" class="r$tfId" style="display:none;">
+             $log_output .= qq(<tr id="q-rtf$id" class="r$tfId" style="display:none;">
                          <td colspan="6">
                           <div id="q-scroll$id" style="height:auto; max-height:480px; padding: 10px; background:#fffafa; overflow-y: auto;">
                             <div id="q-container$id"></div>
@@ -535,9 +543,9 @@ qq(\n<img src="$lnk" width="$imgw" height="$imgh" class="tag_FRM"/>);
                         </td></tr>);
         }
 
-        $tbl_rc += 1;
+        $log_rc += 1;
 
-        if ( $REC_LIMIT > 0 && $tbl_rc == $REC_LIMIT ) {
+        if ( $REC_LIMIT > 0 && $log_rc == $REC_LIMIT ) {
             last;
         }
 
@@ -545,18 +553,20 @@ qq(\n<img src="$lnk" width="$imgw" height="$imgh" class="tag_FRM"/>);
 
     if   ( $tfId == 1 ) { $tfId = 0; }
     else                { $tfId = 1; }
-    my $tot = $sum - $exp;
+    my ($tot,$tas);
+    $tot = $sum - $exp;
     $sum = &cam($sum);
     $exp = &cam($exp);
+    $tas = &cam($ass);
     $tot = &cam($tot);
-    $tbl .= qq(<tr class="r$tfId">
+    
+    $log_output .= qq(<tr class="r$tfId">
                <td></td>
                <td></td>
-               <td style="text-align:right"># Total:</td>
-               <td id="summary" colspan="3" style="text-align:left">$sum (<font color="red">$exp</font>) = <b><i>$tot</i></b></td>
+               <td id="summary" colspan="4" style="text-align:right"># <i>Totals</i>: Assets[$tas] Gross[<b><i>$tot</i></b> &lt;-- $sum (<font color="red">$exp</font>)]</td>
        </tr>);
 
-    if ( $REC_LIMIT > 0 && $tbl_rc == $REC_LIMIT ) {
+    if ( $REC_LIMIT > 0 && $log_rc == $REC_LIMIT ) {
         &buildNavigationButtons;
     }
 
@@ -573,7 +583,7 @@ qq(\n<img src="$lnk" width="$imgw" height="$imgh" class="tag_FRM"/>);
     &fetchAutocomplete;
 
     #End of table?
-    if ( $rs_prev && $tbl_rc < $REC_LIMIT ) {
+    if ( $rs_prev && $log_rc < $REC_LIMIT ) {
         $st = $db->prepare("SELECT count(*) FROM LOG;");
         $st->execute();
         my @row = $st->fetchrow_array();
@@ -582,10 +592,10 @@ qq(\n<img src="$lnk" width="$imgw" height="$imgh" class="tag_FRM"/>);
         }
     }
 
-    if ( $tbl_rc == 0 ) {
+    if ( $log_rc == 0 ) {
 
         if ($stmD) {
-            $tbl .= qq(<tr><td colspan="5">
+            $log_output .= qq(<tr><td colspan="5">
                        <b>Search Failed to Retrive any records on select: [<i>$stmD</i>] !</b></td></tr>');
         }
         elsif ($rs_keys) {
@@ -593,16 +603,16 @@ qq(\n<img src="$lnk" width="$imgw" height="$imgh" class="tag_FRM"/>);
             if ( $rs_cat_idx > 0 ) {
                 $criter = "->Criteria[" . $hshCats{$rs_cat_idx} . "]";
             }
-            $tbl .= qq(<tr><td colspan="5">
+            $log_output .= qq(<tr><td colspan="5">
                        <b>Search Failed to Retrive any records on keywords: [<i>$rs_keys</i>]$criter!</b></td></tr>);
         }
         else {
-            $tbl .=
+            $log_output .=
 '<tr><td colspan="5"><b>Database is New or  Empty!</b></td></tr>\n';
         }
     }
 
-    $tbl .= <<_TXT;
+    $log_output .= <<_TXT;
 <tr class="r0"><td colspan="2">Show All Again -&#62; 
 <a id="menu_close" href="#" onclick="return showAll();"><span  class="ui-icon ui-icon-heart" style="float:none;></span></a>
 
@@ -655,7 +665,14 @@ _TXT
        </tr>
        <tr class="collpsd"><td style="text-align:right"><a id="to_bottom" href="#bottom" title="Go to bottom of page.">&#x21A1;</a>&nbsp;Amount:</td>
                <td id="al">
-                       <input id="am" name="am" type="number" step="any">&nbsp;<input id="RTF" name="rtf" type="checkbox" onclick="return toggleDoc(true);"/> RTF Document
+                       <input id="am" name="am" type="number" step="any">&nbsp;
+            Marks as: 
+            <select id="amf" name="amf">
+                <option value="0" selected>Asset</option>
+                <option value="1">Income</option>
+                <option value="2">Expense</option>
+            </select>&nbsp;
+            <input id="RTF" name="rtf" type="checkbox" onclick="return toggleDoc(true);"/> RTF Document
                </td>
                <td align="right">
                                <input id="log_submit" type="submit" onclick="return saveRTF(-1, 'store');" value="Submit"/></div>
@@ -667,7 +684,7 @@ _TXT
        <input type="hidden" name="submit_is_view" id="submit_is_view" value="0"/>
        <input type="hidden" name="rs_all" value="0"/>
        <input type="hidden" name="rs_cur" value="0"/>
-       <input type="hidden" name="rs_prev" value="$tbl_rc_prev"/>
+       <input type="hidden" name="rs_prev" value="$log_rc_prev"/>
        <input type="hidden" name="rs_page" value="$rs_page"/>
        <input type="hidden" name="CGISESSID" value="$sid"/>
        $tags
@@ -678,7 +695,7 @@ _TXT
        <form id="frm_srch" action="main.cgi">
        <table class="tbl" border="0" width="$PRC_WIDTH%">
          <tr class="r0">
-        <td colspan="4"><b>Search/View By</b>
+        <td colspan="2"><b>Search/View By</b>
             <a id="srch_close" href="#" onclick="return hide('#div_srh');">$sp1</a>
             <a id="srch_close" href="#" onclick="return toggle('#div_srh .collpsd');">$sp2</a>                        
         </td>
@@ -686,37 +703,47 @@ _TXT
 );
 
     $srh .=
-      qq(<tr class="collpsd"><td align="right"><b>View by Category:</b></td>
-    <td align="left" colspan="2">$cats_v</td><td><button id="btn_cat" onclick="viewByCategory(this);" style="float:left">View</button>
-       <input id="idx_cat" name="category" type="hidden" value="0"></td>
+      qq(
+    <tr class="collpsd">
+     <td align="right"><b>View by Category:</b></td>
+     <td align="left">
+        $cats_v &nbsp;&nbsp;
+        <button id="btn_cat" onclick="viewByCategory(this);">View</button>
+        <input id="idx_cat" name="category" type="hidden" value="0"/>
+     </td>
    </tr>
-   <tr class="collpsd"><td align="right"><b>View by Date:</b></td>
+   <tr class="collpsd">
+    <td align="right"><b>View by Date:</b></td>
        <td align="left">
-       From:&nbsp;<input name="v_from" type="text" size="16" value="$rs_dat_from"/></td><td align="left">
-       To:&nbsp;<input name="v_to" type="text" size="16" value="$rs_dat_to"/>
-       <td align="left"><button id="btn_dat" onclick="viewByDate(this);">View</button></td>
+        From:&nbsp;<input name="v_from" type="text" size="16" value="$rs_dat_from"/>&nbsp;&nbsp;
+        To:&nbsp;<input name="v_to" type="text" size="16" value="$rs_dat_to"/>
+        &nbsp;&nbsp;<button id="btn_dat" onclick="viewByDate(this);">View</button>
+    </td>
        </tr>
-   <tr class="collpsd"><td align="right"><b>Keywords:</b></td>
-                               <td colspan="2" align="left">
-                                       <input id="rs_keys" name="keywords" type="text" size="60" value="$rs_keys"/></td>
-                               <td align="left"><input type="submit" value="Search" align="left"></td></tr>);
+   <tr class="collpsd">
+    <td align="right"><b>Keywords:</b></td>
+       <td align="left">
+               <input id="rs_keys" name="keywords" type="text" size="60" value="$rs_keys"/>
+               &nbsp;&nbsp;<input type="submit" value="Search" align="left">
+    </td></tr>);
 
     if ( ( $rs_keys && $rs_keys ne '*' ) || $rs_cat_idx || $stmD ) {
         $sm_reset_all =
           '<a class="a_" onclick="resetView();">Reset View</a><hr>';
-        $srh .= '<tr class="collpsd"><td align="left" colspan="3"></td>
-       <td align="left"><button onClick="resetView()">Reset Whole View</button></td></tr>';
+
+        $srh .= '<tr class="collpsd"><td align="center" colspan="2">
+        <button onClick="resetView()">Reset Whole View</button></td></tr>';
     }
 
     $srh .= '</table></form>';
     my $quill = &quill( $cgi->param('submit_is_edit') );
     my $help = &help;
 
-    #
-    #Page printout from here!
-    #
+  ################################
+ #   Page printout from here!   #
+################################
 
-    print
+print
 qq(<div id="menu" title="To close this menu click on its heart, and wait.">
 <div class="hdr" style="marging=0;padding:0px;">
 
@@ -740,14 +767,14 @@ $sm_reset_all
          <div id="div_srh">$srh</div>
       $quill
       <div id="div_hlp">$help</div>
-         <div>\n$tbl\n</div><br>
+         <div>\n$log_output\n</div><br>
          <div><a class="a_" href="stats.cgi">View Statistics</a></div><br>
          <div><a class="a_" href="config.cgi">Configure Log</a></div><hr>
          <div><a class="a_" href="login_ctr.cgi?logout=bye">LOGOUT</a><hr><a name="bottom"/></div>
        );
     print qq(
 <ul id="cat_lst">
-       $cat_descs
+       $cat_descriptions
 </ul>  
                          <script type="text/javascript">
                                        \$( function() {
@@ -786,6 +813,7 @@ return $today;
         my $cat  = $cgi->param('ec')
           ;    #Used to be cat v.1.3, tag id and name should be kept same.
         my $am = $cgi->param('am');
+        my $af = $cgi->param('amf');
 
         my $edit_mode = $cgi->param('submit_is_edit');
         my $view_mode = $cgi->param('submit_is_view');
@@ -802,8 +830,7 @@ return $today;
 
                 #Update
 
-                my $stm = qq( UPDATE LOG SET 
-                                ID_CAT='$cat', DATE='$date', LOG='$log', AMMOUNT='$am', RTF='$rtf' 
+                my $stm = qq( UPDATE LOG SET ID_CAT='$cat', DATE='$date', LOG='$log', AMOUNT='$am', AFLAG = '$af', RTF='$rtf'
                               WHERE rowid="$edit_mode";);
                 my $st = $db->prepare($stm);
                 $st->execute();
@@ -827,7 +854,7 @@ return $today;
                     else {
                         $rs_page++;
                     }
-                    $stmt = qq(SELECT rowid, ID_CAT, DATE, LOG, AMMOUNT, RTF from LOG where rowid <= '$rs_cur' ORDER BY DATE DESC;);
+                    $stmt = qq(SELECT rowid, ID_CAT, DATE, LOG, AMOUNT, AFLAG, RTF from LOG where rowid <= '$rs_cur' ORDER BY DATE DESC;);
                     return;
                 }
             }
@@ -843,8 +870,8 @@ return $today;
                     return;
                 }
 
-                $st = $db->prepare('INSERT INTO LOG VALUES (?,?,?,?,?)');
-                $st->execute( $cat, $date, $log, $am, $rtf );
+                $st = $db->prepare('INSERT INTO LOG VALUES (?,?,?,?,?,?)');
+                $st->execute( $cat, $date, $log, $am, $af, $rtf );
                 if($rtf){ #Update 0 ground NOTES entry to the just inserted log.
                    
                    #last_insert_id() -> Not reliable commented out.
@@ -924,11 +951,11 @@ return $today;
 
         my $is_end_of_rs = shift;
 
-        if ( !$tbl_cur_id ) {
+        if ( !$log_cur_id ) {
 
         #Following is a quick hack as previous id as current minus one might not
         #coincide in the database table!
-            $tbl_cur_id = $id - 1;
+            $log_cur_id = $id - 1;
         }
         if ( $tfId == 1 ) {
             $tfId = 0;
@@ -937,34 +964,34 @@ return $today;
             $tfId = 1;
         }
 
-        $tbl .= qq!<tr class="r$tfId"><td></td>!;
+        $log_output .= qq!<tr class="r$tfId"><td></td>!;
 
-        if ( $rs_prev && $rs_prev > 0 && $tbl_start > 0 && $rs_page > 0 ) {
+        if ( $rs_prev && $rs_prev > 0 && $log_start > 0 && $rs_page > 0 ) {
 
-            $tbl = $tbl . qq!<td><input type="hidden" value="$rs_prev"/>
+            $log_output = $log_output . qq!<td><input type="hidden" value="$rs_prev"/>
         <input type="button" onclick="submitPrev($rs_prev);return false;"
          value="&lsaquo;&lsaquo;&ndash; Previous"/></td>!;
 
         }
         else {
-            $tbl .= '<td><i>Top</i></td>';
+            $log_output .= '<td><i>Top</i></td>';
         }
 
-        $tbl .=
+        $log_output .=
 '<td colspan="1"><input type="button" onclick="viewAll();return false;" value="View All"/></td>';
 
         if ( $is_end_of_rs == 1 ) {
-            $tbl = $tbl . '<td><i>End</i></td>';
+            $log_output = $log_output . '<td><i>End</i></td>';
         }
         else {
 
-            $tbl .=
-qq!<td><input type="button" onclick="submitNext($tbl_cur_id);return false;"
+            $log_output .=
+qq!<td><input type="button" onclick="submitNext($log_cur_id);return false;"
                                      value="Next &ndash;&rsaquo;&rsaquo;"/></td>!;
 
         }
 
-        $tbl = $tbl . '<td colspan="2"></td></tr>';
+        $log_output = $log_output . '<td colspan="2"></td></tr>';
     }
 
 sub authenticate {
index 6c711c36ba93d58e8d91aa62389ae51e543a5d5a..8dd02bf766b34e5aa6235aacb1aa87e87778edaa 100755 (executable)
@@ -52,13 +52,14 @@ my $db = DBI->connect($dsn, $userid, $password, { RaiseError => 1 }) or die "<p>
 my $today = DateTime->now;
    $today->set_time_zone( $TIME_ZONE );
 
+my %hshCats ={};
+my $tbl_rc =0;
 my $stm;
 my $stmtCat = "SELECT ID, NAME FROM CAT;";
 my $st = $db->prepare( $stmtCat );
 my $rv = $st->execute() or die or die "<p>Error->"& $DBI::errstri &"</p>";
 
-my %hshCats;
-my $tbl_rc =0;
+
 
 while(my @row = $st->fetchrow_array()) {
        $hshCats{$row[0]} = $row[1];
@@ -105,11 +106,11 @@ sub DisplayDateDiffs{
            <tr class="r0"><td colspan="2"><b>* DATE DIFFERENCES *</b></td></tr>';
 
     $stm = 'SELECT DATE, LOG FROM LOG WHERE '; 
-    my  @prms = $cgi->param('chk');
+    my  @ids = $cgi->param('chk');
 
-       foreach (@prms){
+       foreach (@ids){
                $stm .= "rowid = '" . $_ ."'";
-               if(  \$_ != \$prms[-1]  ) {
+               if(  \$_ != \$ids[-1]  ) {
                        $stm = $stm." OR ";
                }
        }
@@ -150,11 +151,11 @@ return "<b>".$d->ymd."</b> ".$d->hms;
 sub ConfirmedDelition{
 
 
-       foreach my $prm ($cgi->param('chk')){
+       foreach my $id ($cgi->param('chk')){
                
-           $st = $db->prepare("DELETE FROM LOG WHERE rowid = '$prm';");
+           $st = $db->prepare("DELETE FROM LOG WHERE rowid = '$id';");
                $rv = $st->execute() or die or die "<p>Error->"& $DBI::errstri &"</p>";
-               $st = $st = $db->prepare("DELETE FROM NOTES WHERE LID = '$prm';");
+               $st = $st = $db->prepare("DELETE FROM NOTES WHERE LID = '$id';");
                $rv = $st->execute();
 
                if($rv < 0) {
@@ -173,22 +174,20 @@ sub ConfirmedDelition{
 
 sub NotConfirmed{
 
-#Get prms and build confirm table and check
+#Get ids and build confirm table and check
 my $stm = $stmS ." ";
-       foreach my $prm ($cgi->param('chk')){
-               $stm = $stm . "rowid = '" . $prm . "' OR ";
+       foreach my $id ($cgi->param('chk')){
+               $stm = $stm . "rowid = '" . $id . "' OR ";
        }
-#rid=0 hack! ;)
+#OR end to rid=0 hack! ;)
        $stm = $stm . "rowid = '0' " . $stmE;
-
 #
 $st = $db->prepare( $stm );
-$rv = $st->execute() or die or die "<p>Error->"& $DBI::errstri &"</p>";
+$rv = $st->execute() or die "<p>Error->"& $DBI::errstri &"</p>";
 if($rv < 0) {
             print "<p>Error->"& $DBI::errstri &"</p>";
 }
 
-
 my $r_cnt = 0;
 my $rs = "r1";
 while(my @row = $st->fetchrow_array()) {
index 9fa7fb41edcbb35b8b845861b97fd3e17222e456..5b506f8aa29821a14a965d58ea42ecff7252ca0e 100755 (executable)
@@ -27,11 +27,10 @@ if(!$userid||!$dbname){
        exit;
 }
 
-my $database = '../../dbLifeLog/'.$dbname;
-my $dsn= "DBI:SQLite:dbname=$database";
-my $db = DBI->connect($dsn, $userid, $password, { RaiseError => 1 }) or die "<p>Error->". $DBI::errstri ."</p>";
-
 
+my $database = '../../dbLifeLog/' . $dbname;
+my $dsn      = "DBI:SQLite:dbname=$database";
+my $db       = DBI->connect( $dsn, $userid, $password, { RaiseError => 1 } ) or die "<p>Error->" & $DBI::errstri & "</p>";
 
 
 my @stat = stat $database;
@@ -51,28 +50,28 @@ print $q->header(-expires=>"+6os", -charset=>"UTF-8");
 print $q->start_html(-title => "Log Data Stats", -BGCOLOR=>"#c8fff8",
                                 -script=>{-type => 'text/javascript', -src => 'wsrc/main.js'},
                             -style =>{-type => 'text/css', -src => 'wsrc/main.css'},
-                            -onload => "loadedBody();"
+                            -onload => ""
                        );        
 
 
-my $tbl = '<table class="tbl" border="1px"><tr class="r0"><td colspan="4"><b>* PERSONAL LOG DATA STATS *</b></td></tr>';
+my $tbl = '<table class="tbl" border="1px"><tr class="r0"><td colspan="5"><b>* Personal Log Data Statistics *</b></td></tr>';
 
 my $log_rc = selectSQL('select count(rowid) from LOG;');
-my $stm = "SELECT count(date) from LOG where date>=date('now','start of year');";
-my $log_this_year_rc = selectSQL($stm);
-
-my $id_expense = selectSQL('SELECT ID from CAT where name like "Expense";');
-my $id_income  = selectSQL('SELECT ID from CAT where name like "Income";');
+my ($stm1,$stm2) = "SELECT count(date) from LOG where date>=date('now','start of year');";
+my $log_this_year_rc = selectSQL($stm1);
+my $notes_rc = selectSQL('select count(LID) from NOTES where DOC is not null;');
 
-$stm = 'SELECT sum(ammount) from LOG where date>=date("now","start of year") 
-               AND ID_CAT = '.$id_expense.';';
-my $expense = big_money(sprintf("%.2f",selectSQL($stm)));
+#my $id_expense = selectSQL('SELECT ID from CAT where name like "Expense";');
+#my $id_income  = selectSQL('SELECT ID from CAT where name like "Income";');
 
-$stm = 'SELECT sum(ammount) from LOG where date>=date("now","start of year") 
-       AND ID_CAT = '.$id_income.';';
+#INCOME
+$stm1 = 'SELECT sum(AMOUNT) from LOG where date>=date("now","start of year") AND AFLAG = 1;';
+#EXPENSE
+$stm2 = 'SELECT sum(AMOUNT) from LOG where date>=date("now","start of year") AND AFLAG = 2;';
 
-my $income =  big_money(sprintf("%.2f",selectSQL($stm)));
-my $revenue = big_money($income - $expense);
+my $expense = big_money(sprintf("%.2f",selectSQL($stm1)));
+my $income =  big_money(sprintf("%.2f",selectSQL($stm2)));
+my $gross = big_money($income - $expense);
 my $hardware_status =`inxi -b -c0;uptime -p`;
 $hardware_status =~ s/\n/<br\/>/g;
 $hardware_status =~ s/Memory:/<b>Memory:/g;
@@ -85,25 +84,24 @@ my $prc = 'ps -eo size,pid,user,command --sort -size | awk \'{ hr=$1/1024 ; prin
 my  $processes = `$prc | sort -u -r -`;
 #Strip kernel 0 processes reported
 $processes =~ s/\s*0.00.*//gd;
+my $year =$today->year();
  
-$tbl = $tbl . '<tr class="r1"><td>Number of Records:</td><td>'.
-               $log_rc.'</td></tr>
-               <tr class="r0"><td>No. of Records This Year:</td><td>'.
-               $log_this_year_rc.'</td></tr>
-               <tr class="r0"><td># Sum of Expenses For Year '.$today->year().
-               '</td><td>'.$expense.'</td></tr>
-               <tr class="r0"><td># Sum of Income For Year '.$today->year().
-               '</td><td>'.$income.'</td></tr>
-               <tr class="r0"><td>Revenue For Year '.$today->year().
-               '</td><td>'.$revenue.'</td></tr>
-               <tr class="r1"><td>'.$database.'</td><td>'.
-                (uc format_bytes($stat[7], bs => 1000)).'</td></tr>
-
-</table>';
-
-print '<div style="float:left; padding:10px;">' . $tbl .'</div>';
-print '<div style="text-align:left;  border: 1px solid black;"><br/><b>Server Info</b><br/><br/>' . $hardware_status .'</div><br>';
-print '<div style="text-align:left;"><br/><b>Processes Info</b><br/><br/><pre>' . $processes .'</pre></div>';
+$tbl .=qq(     <tr class="r1"><td>Number of Records:</td><td>$log_rc</td></tr>
+                       <tr class="r0"><td>No. of Records This Year:</td><td>$log_this_year_rc</td></tr>
+                       <tr class="r1"><td>No. of RTF Documents:</td><td>$notes_rc</td></tr>
+                       <tr class="r0"><td># Sum of Expenses For Year $year</td><td>$expense</td></tr>
+                       <tr class="r0"><td># Sum of Income For Year $year</td><td>$income</td></tr>
+                       <tr class="r0"><td>Gross For Year $year</td><td>$gross</td></tr>
+                       <tr class="r1"><td>$database</td><td>).(uc format_bytes($stat[7], bs => 1000)).q(</td></tr>                     
+</table>);
+
+print qq(<div style="text-align:left; border: 1px solid black; padding:5px;"><h2>Your Life Log Server Statistics</h2><hr>
+       <span style="text-align:left; float:left; padding:15px;">$tbl<br><br><br><br></span>
+       <span style="text-align:left; margin:1px;  padding-right:15px; float:none;"><b>Server Info</b><hr><br>
+       $hardware_status</span></div>
+<div class="tbl" style="text-align:left; border: 0px; padding:5px; float:none;">
+<b>Server Side Processes</b><hr>
+<pre style="text-align:left;">$processes </pre><div>);
 
 print $q->end_html;
 $db->disconnect();