From f4823ab9192e894b8e07f7ae313b8ee544a59410 Mon Sep 17 00:00:00 2001 From: Metabox Date: Sat, 27 Apr 2019 08:33:28 +1000 Subject: [PATCH] Added category desc. display. --- htdocs/cgi-bin/main.cgi | 54 ++++++++++++++++++++++++++---------- htdocs/cgi-bin/wsrc/main.css | 11 ++++++++ htdocs/cgi-bin/wsrc/main.js | 31 ++++++++++++++++++--- 3 files changed, 77 insertions(+), 19 deletions(-) diff --git a/htdocs/cgi-bin/main.cgi b/htdocs/cgi-bin/main.cgi index 7600a8e..b4ea4b8 100755 --- a/htdocs/cgi-bin/main.cgi +++ b/htdocs/cgi-bin/main.cgi @@ -30,6 +30,7 @@ our $LOG_PATH = '../../dbLifeLog/'; our $SESSN_EXPR = '+30m'; our $DATE_UNI = '0'; our $RELEASE_VER = '1.3'; +our $AUTHORITY = 'admin'; #END OF SETTINGS my $cgi = CGI->new; @@ -39,8 +40,11 @@ my $dbname =$session->param('database'); my $userid =$session->param('alias'); my $password=$session->param('passw'); -if(!$userid||!$dbname){ - print $cgi->redirect("login_ctr.cgi?CGISESSID=$sid"); +if($AUTHORITY){ + $userid = $password = $AUTHORITY; + $dbname = 'data_'.$userid.'_log.db'; +}elsif(!$userid||!$dbname){ + print $cgi->redirect("login_ctr.cgi?CGISESSID=$sid"); exit; } @@ -96,8 +100,10 @@ my $stmt = "SELECT rowid, ID_CAT, DATE, LOG, AMMOUNT FROM LOG ORDER BY rowid $st = $db->prepare( $stmtCat ); $rv = $st->execute() or die or die "

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

"; -my $cats = ' + \n); my %hshCats; +my %desc = {}; my $c_sel = 1; while(my @row = $st->fetchrow_array()) { if($row[0]==$c_sel){ @@ -107,10 +113,20 @@ my $c_sel = 1; $cats = $cats. '\n'; } $hshCats{$row[0]} = $row[1]; + $desc{$row[0]} = $row[2]; } - + $cats = $cats.''; +my $cat_descriptions = ""; +for my $key (keys %desc){ + my $kv = $desc{$key}; + if($kv ne ".."){ + $cat_descriptions .= qq(
  • $kv
  • \n); + } +} + + my $tbl = qq(
    @@ -363,23 +379,25 @@ my $frm = qq( - + - + - - + + - @@ -390,8 +408,7 @@ my $frm = qq( - $tags - + $tags ); @@ -432,7 +449,10 @@ print "
    "; print "\n
    \n" . $tbl ."\n
    "; print '
    View Statistics
    '; print '
    Configure Log (Careful)
    '; -print "
    "; +print qq( +
      + $cat_descriptions +
    ); print $cgi->end_html; $st->finish; @@ -587,6 +607,10 @@ sub buildNavigationButtons{ sub authenticate{ try { + if($AUTHORITY){ + return; + } + my $st =$db->prepare("SELECT * FROM AUTH WHERE alias='$userid' and passw='$password';"); $st->execute(); if($st->fetchrow_array()){return;} diff --git a/htdocs/cgi-bin/wsrc/main.css b/htdocs/cgi-bin/wsrc/main.css index edf62a9..6623be1 100644 --- a/htdocs/cgi-bin/wsrc/main.css +++ b/htdocs/cgi-bin/wsrc/main.css @@ -122,4 +122,15 @@ div#rz { img { float: left; padding: 0 10px +} + +#cat_desc { + position: relative; + border: 2px solid rgb(148, 205, 231); + padding: 5px; + text-align: left; +} + +#cat_lst { + visibility: hidden; } \ No newline at end of file diff --git a/htdocs/cgi-bin/wsrc/main.js b/htdocs/cgi-bin/wsrc/main.js index 7d7d29c..69afee5 100644 --- a/htdocs/cgi-bin/wsrc/main.js +++ b/htdocs/cgi-bin/wsrc/main.js @@ -3,6 +3,8 @@ Open Source License -> https://choosealicense.com/licenses/isc/ */ +var map = new Map(); + function loadedBody(toggle) { var el = document.getElementById("frm_entry"); el.log.focus(); @@ -11,6 +13,12 @@ function loadedBody(toggle) { } document.getElementById("log_submit").addEventListener("click", encodeText); + var lst = document.getElementById("cat_lst"); + var children = lst.childNodes; + + for (var i = 0; i < children.length; i++) { + map.set(children[i].id, children[i].innerHTML); + } } function encodeText(el) { @@ -174,13 +182,28 @@ function resetView() { } function updateSelCategory(sel) { - //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; +} + +function toggleVisibility(target) { + var d = document.getElementById(target); + if (d.style.display === "none" || d.style.display === "") { + d.style.display = "block"; + } else { + d.style.display = "none"; + } +} - // document.getElementById("ctmsg").style.display = "none"; + + +function helpSelCategory(sel) { + var el = document.getElementById("cat_desc"); + var desc = map.get(sel.options[sel.selectedIndex].value); + if (!desc) { + desc = "Please select a Category!"; + } + el.innerHTML = desc; } function viewByCategory(btn) { -- 2.34.1
    * LOG ENTRY FORM *

    Date:Date:hms . qq(">   
    Log:Category: $cats
    +    Category: $cats
     Ammount: - - + + +
      +