]> lifelog.hopto.org Git - LifeLog.git/commitdiff
Bug fix with search, Search/View By look overhaul.
authorwbudic <redacted>
Sat, 23 Mar 2019 01:01:49 +0000 (12:01 +1100)
committerwbudic <redacted>
Sat, 23 Mar 2019 01:01:49 +0000 (12:01 +1100)
htdocs/cgi-bin/main.cgi
htdocs/cgi-bin/remove.cgi
htdocs/cgi-bin/search.cgi
htdocs/cgi-bin/stats.cgi
htdocs/cgi-bin/wsrc/main.js

index edc77afdf9982bea4b38bdcf2bb39428e267de65..0c56acbb32fff50126a5756172b718535f4e4ad5 100755 (executable)
@@ -80,11 +80,16 @@ my $stmt    = "SELECT rowid, ID_CAT, DATE, LOG, AMMOUNT FROM LOG ORDER BY DATE D
 $st = $db->prepare( $stmtCat );
 $rv = $st->execute() or die or die "<p>Error->"& $DBI::errstri &"</p>";
 
-my $cats = '<select id="ec" name="cat" onChange="updateSelCategory(this)">\n';
+my $cats = '<select id="ec" name="cat" onChange="updateSelCategory(this)"><option value="0">---</option>\n';
 my %hshCats;
-
+my $c_sel = 1;
  while(my @row = $st->fetchrow_array()) {
-       $cats = $cats. '<option value="'.$row[0].'">'.$row[1].'</option>\n';
+       if($row[0]==$c_sel){
+               $cats = $cats. '<option selected value="'.$row[0].'">'.$row[1].'</option>\n';
+       }
+       else{   
+               $cats = $cats. '<option value="'.$row[0].'">'.$row[1].'</option>\n';
+       }       
        $hshCats{$row[0]} = $row[1];
  }
 
@@ -103,6 +108,8 @@ if($rs_keys){
        my @keywords = split / /, $rs_keys;
        if($rs_cat_idx){
                $stmS = $stmS ." ID_CAT='".$rs_cat_idx."' AND";
+       }else{
+               $stmS = $stmS ." ID_CAT='0' OR";
        }       
        if($stmD){
                $stmS = $stmS .$stmD." AND";
@@ -140,14 +147,6 @@ else{
  # Enable to see main query statement issued!
  #print $q->pre("### -> ".$stmt);
 
-#
-#Fetch entries!
-#
-$st = $db->prepare( $stmt );
-$rv = $st->execute() or die or die "<p>Error->"& $DBI::errstri &"</p>";
-if($rv < 0) {
-            print "<p>Error->"& $DBI::errstri &"</p>";
-}
 
 my $tfId = 0;
 my $id = 0;
@@ -165,8 +164,14 @@ if($tbl_start>0){
        }
        $stc->finish();
 }
-
-
+#
+#Fetch entries!
+#
+$st = $db->prepare( $stmt );
+$rv = $st->execute() or die or die "<p>Error->"& $DBI::errstri &"</p>";
+if($rv < 0) {
+            print "<p>Error->"& $DBI::errstri &"</p>";
+}
  while(my @row = $st->fetchrow_array()) {
 
         $id = $row[0];
@@ -239,12 +244,15 @@ if($tbl_start>0){
         
     if($stmD){
        $tbl = $tbl . '<tr><td colspan="5">
-       <b>Search Failed to Retrive any records on select: [<i>'. $stmD .'</i>] !</b></td>
-       </tr>';
+       <b>Search Failed to Retrive any records on select: [<i>'. $stmD .'</i>] !</b></td></tr>';
     }
     elsif($rs_keys){
+           my $criter = "";
+           if($rs_cat_idx>0){
+               $criter = "->Criteria[".$hshCats{$rs_cat_idx}."]";
+           }
        $tbl = $tbl . '<tr><td colspan="5">
-       <b>Search Failed to Retrive any records on keywords: [<i>'. $rs_keys .'</i>] !</b></td>
+       <b>Search Failed to Retrive any records on keywords: [<i>'. $rs_keys .'</i>]'.$criter.' !</b></td>
        </tr>';
    }
     else{
@@ -252,18 +260,19 @@ if($tbl_start>0){
         }
  }
 
- $tbl .= '<tr class="r0"><td colspan="6" align="right"> 
+ $tbl .= '<tr class="r0"><td><a href="#top">&#x219F;</a></td><td colspan="5" align="right"> 
  <input type="hidden" name="datediff" id="datediff" value="0"/>
  <input type="submit" value="Date Diff Selected" onclick="return dateDiffSelected()"/>&nbsp;
+ <input type="button" value="Select All" onclick="return selectAllLogs()"/>
  <input type="reset" value="Unselect All"/>
  <input type="submit" value="Delete Selected"/>
  </td></tr></form>
-<tr class="r0"><form id="frm_srch" action="main.cgi"><td>Keywords:</td><td colspan="4" align="left">
+<tr class="r0"><form id="frm_srch" action="main.cgi"><td><b>Keywords:</b></td><td colspan="4" align="left">
 <input name="keywords" type="text" size="60"/></td>
 <td><input type="submit" value="Search"/></form></td></tr>
  </table>';
 
-my  $frm = qq(<a name="top"></a>
+ my  $frm = qq(<a name="top"></a>
  <form id="frm_entry" action="main.cgi" onSubmit="return formValidation();">
         <table class="tbl" border="0" width="$PRC_WIDTH%">
         <tr class="r0"><td colspan="3"><b>* LOG ENTRY FORM *</b></td></tr>
@@ -300,33 +309,31 @@ my  $srh = qq(
         <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></tr>
-          <tr><td>Keywords:</td>
-              <td colspan="2" align="left">
-                        <input name="keywords" type="text" size="60" value=").$rs_keys.qq("/></td>
-              <td align="left"><input type="submit" value="Search" align="left"></td></tr>);
-
-my $ctmsg = '<p id="ctmsg">&nbsp;&nbsp;(Use the Category dropdown to change).</p>';
-if($rs_keys || $rs_cat_idx || $stmD){
-       $srh .= '<tr><td></td><td></td><td></td><td align="left">
-       <button onClick="resetView()">Reset Whole View</button></td></tr>';
-       $ctmsg = "";
-}
-
-
-
-$srh .= '<tr><td>View by Category:</td>
-    <td colspan="3" align="left">
-    <button id="btn_cat" onclick="viewByCategory(this);" style="float:left">Unspecified</button>
-    <input id="idx_cat" name="category" type="hidden" value="1">'.$ctmsg.'</td></tr>
-    <tr><td>View by Date:</td>
+          );
+
+$cats =~ s/selected//g;
+$srh .= '<tr><td align="right"><b>View by Category:</b></td><td>'.$cats.'</td><td></td>
+    <td colspan="1" align="left">
+    <button id="btn_cat" onclick="viewByCategory(this);" style="float:left">View</button>
+    <input id="idx_cat" name="category" type="hidden" value="0"></td></tr>
+    <tr><td align="right"><b>View by Date:</b></td>
     <td align="left">
     From:&nbsp;<input name="v_from" type="text" size="16"/></td><td align="left">
     To:&nbsp;<input name="v_to" type="text" size="16"/>
     <td align="left"><button id="btn_dat" onclick="viewByDate(this);">View</button></td>
     </tr>
-    <tr><td colspan="4"><br></td></tr>
-</table>
-</form><br>';
+    <tr><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>';
+
+if($rs_keys || $rs_cat_idx || $stmD){
+       $srh .= '<tr><td align="left" colspan="3">
+       <button onClick="resetView()">Reset Whole View</button></td></tr>';
+}
+              
+#$srh .='<tr><td colspan="4"><br></td></tr>
+$srh.='</table></form><br>';
 #
 #Page printout from here!
 #
@@ -347,50 +354,6 @@ exit;
 
 
 
-sub buildNavigationButtons{
-
-       my $is_end_of_rs = shift;
-       
-       if(!$tbl_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;
-       }
-       if($tfId==1){
-        $tfId = 0;
-       }else{
-        $tfId = 1;
-       }
-
-       $tbl .=  '<tr class="r'.$tfId.'"><td><a href="#top">&#x219F;</a></td>';
-
-       if($rs_prev && $rs_prev>0 && $tbl_start>0){
-
-        $tbl = $tbl . '<td><input type="hidden" value="'.$rs_prev.'"/>
-        <input type="button" onclick="submitPrev('.$rs_prev.');return false;"
-         value="&lsaquo;&lsaquo;&ndash; Previous"/></td>';
-
-       }
-       else{
-                $tbl = $tbl .'<td><i>Top</i></td>';
-       }
-
-
-       $tbl = $tbl .'<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>';
-       }
-       else{
-
-       $tbl = $tbl . '<td><input type="button" onclick="submitNext('.$tbl_cur_id.');return false;" 
-       value="Next &ndash;&rsaquo;&rsaquo;"/></td>';
-
-       }
-
-       $tbl = $tbl .'<td colspan="2"></td></tr>';
-}
 
 sub processSubmit { 
 
@@ -478,6 +441,50 @@ catch{
 }
 
 
+sub buildNavigationButtons{
+
+       my $is_end_of_rs = shift;
+       
+       if(!$tbl_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;
+       }
+       if($tfId==1){
+        $tfId = 0;
+       }else{
+        $tfId = 1;
+       }
+
+       $tbl .=  '<tr class="r'.$tfId.'"><td></td>';
+
+       if($rs_prev && $rs_prev>0 && $tbl_start>0){
+
+        $tbl = $tbl . '<td><input type="hidden" value="'.$rs_prev.'"/>
+        <input type="button" onclick="submitPrev('.$rs_prev.');return false;"
+         value="&lsaquo;&lsaquo;&ndash; Previous"/></td>';
+
+       }
+       else{
+                $tbl = $tbl .'<td><i>Top</i></td>';
+       }
+
+
+       $tbl = $tbl .'<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>';
+       }
+       else{
+
+       $tbl = $tbl . '<td><input type="button" onclick="submitNext('.$tbl_cur_id.');return false;" 
+       value="Next &ndash;&rsaquo;&rsaquo;"/></td>';
+
+       }
+
+       $tbl = $tbl .'<td colspan="2"></td></tr>';
+}
 
 sub checkCreateTables(){
 
index 1902b4aa0b461c77df14630c215827634eb4e862..aafa7e2de282a02b2faa8d2f5a8e160530256da1 100755 (executable)
@@ -34,6 +34,13 @@ my $rv = $st->execute() or die or die "<p>Error->"& $DBI::errstri &"</p>";
 my %hshCats;
 my $tbl_rc =0;
 
+
+#SETTINGS HERE!
+our $REC_LIMIT = 25;
+our $TIME_ZONE = 'Australia/Sydney';
+our $PRC_WIDTH = '60';
+#END OF SETTINGS
+
 while(my @row = $st->fetchrow_array()) {
        $hshCats{$row[0]} = $row[1];
 }
@@ -42,7 +49,7 @@ while(my @row = $st->fetchrow_array()) {
 my $stmS = "SELECT rowid, ID_CAT, DATE, LOG from LOG WHERE";
 my $stmE = " ORDER BY DATE DESC, rowid DESC;";
 my $tbl = '<form name="frm_log_del" action="remove.cgi" onSubmit="return formDelValidation();">
-               <table class="tbl">
+               <table class="tbl" width="'.$PRC_WIDTH.'%">
                <tr class="r0"><th>Date</th><th>Time</th><th>Log</th><th>Category</th></tr>';
 
 
@@ -75,7 +82,7 @@ $db->disconnect();
 exit;
 
 sub DisplayDateDiffs{
-    $tbl = '<table class="tbl">
+    $tbl = '<table class="tbl" width="'.$PRC_WIDTH.'%">
            <tr class="r0"><td colspan="2"><b>* DATE DIFFERENCES *</b></td></tr>';
 
     $stm = 'SELECT DATE, LOG FROM LOG WHERE '; 
index 69e36ad63a960a8f23b39d4dc30fc7d6180fa830..694b26984569d95552858bf41f95d173190ad44e 100755 (executable)
@@ -69,7 +69,7 @@ else{
                print $q->center($q->h2({-style=>'Color: red;'},'No Keywords Submitted!'));
        }
 
-       print $q->pre("### -> ".$stm);
+       print $q->pre("### -> ".$stm);
 
 print $q->end_html;
 
index ce614bb47bdc77a3f1ddd4b4d17c84121d0e6693..2320fa5d9af417bf4057dd1c0c0b9764890d260b 100755 (executable)
@@ -83,9 +83,9 @@ $tbl = $tbl . '<tr class="r1"><td>Number of Records:</td><td>'.
 
 </table>';
 
-print '<center><div>' . $tbl .'</div></center>';
-print '<center><div style="text-align:left;"><br/><b>Server Info</b><br/><br/>' . $hardware_status .'</div></center>';
-print '<center><div style="text-align:left;"><br/><b>Processes Info</b><br/><br/><pre>' . $processes .'</pre></div>i</center>';
+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>';
 
 print $q->end_html;
 $dbh->disconnect();
index bb89c074ad40234067b47d432df8669841dcf33c..5b49fab5cbffc47cbf77fb1e815ce96ff7afe48d 100644 (file)
@@ -26,6 +26,11 @@ function formValidation(){
   
 var date = document.getElementById("frm_entry").date;
 var log  = document.getElementById("frm_entry").log;
+var cat  = document.getElementById("frm_entry").cat;
+if(cat.value ==0){
+       alert("Category -> has not been selected!");
+       return false;
+}
 
 return validDate(date.value) && validLog(log.value);
 
@@ -81,7 +86,7 @@ function edit(row){
        document.getElementById("el").value = ev_v.innerText;
        document.getElementById("ed").value = ed_v.innerText + " " +  et_v.innerText;
        document.getElementById("am").value = ea_v.innerText;
-
+       //Change selected catergory
        for(var i = 0, j = ec.options.length; i < j; ++i) {
                if(ec.options[i].innerHTML === ec_v) {
                                   ec.selectedIndex = i;
@@ -94,6 +99,18 @@ function edit(row){
 return false;
 }
 
+
+
+function selectAllLogs(){
+       var frm = document.getElementById("frm_log");
+       var chks = document.getElementsByName("chk");
+       for(var i=0, n=chks.length;i<n;i++) {
+                     chks[i].checked = true;
+        }
+return false;
+}
+
+
 function submitNext(tbl_rc){
 
        var frm = document.getElementById("frm_entry");
@@ -152,18 +169,18 @@ function resetView(){
 }
 
 function updateSelCategory(sel){
-        
-    var b = document.getElementById("btn_cat");
+//disabled as Search View has own dreopdown since v.1.3         
+//    var b = document.getElementById("btn_cat");
     var cat = document.getElementById("idx_cat");
-
     cat.value = sel.options[sel.selectedIndex].value;
-    b.innerText = sel.options[sel.selectedIndex].text;
+//    b.innerText = sel.options[sel.selectedIndex].text;
        
-    document.getElementById("ctmsg").style.display = "none";    
+//    document.getElementById("ctmsg").style.display = "none";    
 }
 
 function viewByCategory(btn){
-//     alert(btn.value);
+        
+    document.getElementById("rs_keys").value = "";    
 }
 
 function viewByDate(btn){