From 0ea36edae29d8c70b83d646a49bcdc7066c8789e Mon Sep 17 00:00:00 2001 From: wbudic Date: Tue, 21 Aug 2018 16:10:58 +1000 Subject: [PATCH] Initial commit of htdocs --- README.md | 1 + htdocs/cgi-bin/.main.cgi.swo | Bin 0 -> 16384 bytes htdocs/cgi-bin/.main.cgi.swp | Bin 0 -> 12288 bytes htdocs/cgi-bin/hello.cgi | 10 ++ htdocs/cgi-bin/main.cgi | 179 +++++++++++++++++++++++++++++++++++ htdocs/cgi-bin/perl_env.cgi | 10 ++ htdocs/cgi-bin/wsrc/main.css | 11 +++ htdocs/cgi-bin/wsrc/main.js | 25 +++++ htdocs/data | 1 + htdocs/test.html | 1 + 10 files changed, 238 insertions(+) create mode 100644 README.md create mode 100644 htdocs/cgi-bin/.main.cgi.swo create mode 100644 htdocs/cgi-bin/.main.cgi.swp create mode 100755 htdocs/cgi-bin/hello.cgi create mode 100755 htdocs/cgi-bin/main.cgi create mode 100755 htdocs/cgi-bin/perl_env.cgi create mode 100644 htdocs/cgi-bin/wsrc/main.css create mode 100644 htdocs/cgi-bin/wsrc/main.js create mode 120000 htdocs/data create mode 100644 htdocs/test.html diff --git a/README.md b/README.md new file mode 100644 index 0000000..610f07c --- /dev/null +++ b/README.md @@ -0,0 +1 @@ +# LifeLog diff --git a/htdocs/cgi-bin/.main.cgi.swo b/htdocs/cgi-bin/.main.cgi.swo new file mode 100644 index 0000000000000000000000000000000000000000..2dcb35b909a471a68ef34c43a53d2f999933637c GIT binary patch literal 16384 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 literal 0 HcmV?d00001 diff --git a/htdocs/cgi-bin/hello.cgi b/htdocs/cgi-bin/hello.cgi new file mode 100755 index 0000000..805abba --- /dev/null +++ b/htdocs/cgi-bin/hello.cgi @@ -0,0 +1,10 @@ +#!/usr/bin/env python +print "Content-Type: text/html" # HTML is following +print # blank line, end of headers +print "CGI script output" +print "

This is my first CGI script

" +print "Hello, world!
" +for i in range(10): + print i, '
' +print 'Just to show that some stuff is "dynamically" generated server side
' + diff --git a/htdocs/cgi-bin/main.cgi b/htdocs/cgi-bin/main.cgi new file mode 100755 index 0000000..4588661 --- /dev/null +++ b/htdocs/cgi-bin/main.cgi @@ -0,0 +1,179 @@ +#!/usr/bin/perl + +use strict; +use warnings; + +use CGI; +use DBI; + +use DateTime; +use DateTime::Format::SQLite; + +my $q = CGI->new; + +my $driver = "SQLite"; +my $database = "../../dbLifeLog/data_log.db"; +my $dsn = "DBI:$driver:dbname=$database"; +my $userid = ""; +my $password = ""; +my $dbh = DBI->connect($dsn, $userid, $password, { RaiseError => 1 }) + or die "

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

"; + + + +print $q->header(-expires=>"+6os"); + +print $q->start_html(-title => "Personal Log", + -script=>{-type => 'text/javascript', -src => 'wsrc/main.js'}, + -style =>{-type => 'text/css', -src => 'wsrc/main.css'} + + ); + + +my $rv; +my $today = DateTime->now; +$today->set_time_zone( 'Australia/Sydney' ); + +my $sth = $dbh->prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='LOG';"); +$sth->execute(); + +if(!$sth->fetchrow_array()) { + my $stmt = qq( + + CREATE TABLE LOG ( + ID INT PRIMARY KEY NOT NULL, + ID_CAT TINY, + DATE DATETIME NOT NULL, + LOG VCHAR(60) + ); + + ); + + $rv = $dbh->do($stmt); + + if($rv < 0) { + print "

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

"; + } + + $sth = $dbh->prepare('INSERT INTO LOG VALUES (?,?,?,?)'); + + $sth->execute(1, 3, $today, "DB Created!"); + + + $stmt = qq( + + CREATE TABLE CAT( + ID INT PRIMARY KEY NOT NULL, + NAME VCHAR(16) + ); + + ); + + $rv = $dbh->do($stmt); + + if($rv < 0) { + print "

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

"; + } + + $sth = $dbh->prepare('INSERT INTO CAT VALUES (?,?)'); + + $sth->execute(1,"Unspecified"); + $sth->execute(3,"File System"); + $sth->execute(6,"System Log"); + $sth->execute(9,"Event"); + $sth->execute(28,"Personal"); + $sth->execute(32, "Expense"); +} +my $stmtCat = "SELECT * FROM CAT;"; +my $stmt = "SELECT * from LOG;"; + + +$sth = $dbh->prepare( $stmtCat ); +$rv = $sth->execute() or die or die "

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

"; + +my $cats = ''; + + +my $tbl = ''; +my $tbl_rc = 0; + +################################## +&processSubmit($q, %hshCats); +################################## + +#Fetch entries! +# +$sth = $dbh->prepare( $stmt ); +$rv = $sth->execute() or die or die "

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

"; +if($rv < 0) { + print "

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

"; +} + + + + while(my @row = $sth->fetchrow_array()) { + + my $ct = $hshCats{@row[1]}; + my $dt = DateTime::Format::SQLite->parse_datetime( $row[2] ); + + $tbl = $tbl . "" . + "" . "". + "\n"; + $tbl_rc +=1; + } + + if($tbl_rc==1){ + $tbl = $tbl . "\n"; + } + $tbl = $tbl . "
DateTimeLogCategory
". $dt->ymd . "" . $dt->hms . "" . $row[3] . "" . $ct ."
Table is Empty!
"; + +my $frm = qq( +
+ + + + + + +
Date
Log: ).$cats.qq(
+
+ ); + + + +print "
\n" . $tbl ."
"; +print "
\n" . $frm ."
"; + +print $q->end_html; + +$dbh->disconnect(); + +sub processSubmit { + + + my $date = $q->param('date'); + my $log = $q->param('log'); + my $cat = $q->param('cat'); + + + if($log){ + print "

Received!". $log. "

"; + + } + if($date){ + print "

Received!". $date. "

"; + + } + if($cat){ + print "

Received!". $hshCats{$cat}. "

"; + + } +} diff --git a/htdocs/cgi-bin/perl_env.cgi b/htdocs/cgi-bin/perl_env.cgi new file mode 100755 index 0000000..b61d708 --- /dev/null +++ b/htdocs/cgi-bin/perl_env.cgi @@ -0,0 +1,10 @@ +#!/usr/bin/perl + +use strict; +use warnings; + +use CGI; +my $q = CGI->new; +print $q->header; + +print "Hello World!"; diff --git a/htdocs/cgi-bin/wsrc/main.css b/htdocs/cgi-bin/wsrc/main.css new file mode 100644 index 0000000..3f97381 --- /dev/null +++ b/htdocs/cgi-bin/wsrc/main.css @@ -0,0 +1,11 @@ +[type="submit"] { + clear: left; + margin: 10px 0 0 30px; + font-size:12px +} + +p { + margin-left: 70px; + font-weight: bold; +} + diff --git a/htdocs/cgi-bin/wsrc/main.js b/htdocs/cgi-bin/wsrc/main.js new file mode 100644 index 0000000..2d8460b --- /dev/null +++ b/htdocs/cgi-bin/wsrc/main.js @@ -0,0 +1,25 @@ +function formValidation(){ + +var date = document.frm_log.date; +var log = document.frm_log.log; + +return validDate(date.value) && validLog(log.value); + +} + +function validDate(dt){ + if(!Date.parse(dt)){ + alert("Date -> '" + dt +"' is Invalid can't submit!"); + return false; + } +return true; +} + +function validLog(log){ + if(log==""){ + + alert("Log -> entry can't be empty, can't submit!"); + return false; + } +return true; +} diff --git a/htdocs/data b/htdocs/data new file mode 120000 index 0000000..fa3d85b --- /dev/null +++ b/htdocs/data @@ -0,0 +1 @@ +/usr/local/www/data \ No newline at end of file diff --git a/htdocs/test.html b/htdocs/test.html new file mode 100644 index 0000000..eebbb0e --- /dev/null +++ b/htdocs/test.html @@ -0,0 +1 @@ +

Hello thttpd

-- 2.34.1