From acc9566283e99f9e6496924646932a3fde003260 Mon Sep 17 00:00:00 2001 From: Will Budic Date: Sun, 16 Apr 2023 20:27:26 +1000 Subject: [PATCH] Upd. Made scripts more cross platform and modern. --- .gitignore | 1 + dbLifeLog/main.cnf | 2 +- htdocs/cgi-bin/config.cgi | 2329 +++++++++++++++++++--------------- htdocs/cgi-bin/data.cgi | 2 +- htdocs/cgi-bin/login_ctr.cgi | 2 +- htdocs/cgi-bin/main.cgi | 2 +- htdocs/cgi-bin/stats.cgi | 2 +- install.sh | 8 + 8 files changed, 1327 insertions(+), 1021 deletions(-) diff --git a/.gitignore b/.gitignore index 384b7be..a663952 100644 --- a/.gitignore +++ b/.gitignore @@ -22,3 +22,4 @@ cgisess_* tags */bck/* bck_* +dbLifeLog/current_theme diff --git a/dbLifeLog/main.cnf b/dbLifeLog/main.cnf index 5836834..5ae4e8d 100644 --- a/dbLifeLog/main.cnf +++ b/dbLifeLog/main.cnf @@ -115,7 +115,7 @@ BankingPlugin->banking.pl 35|Income `Significant yearly income. 40|Work `Work related entry, worth monitoring. 45|Food `Quick reference to recipes, observations. -50|Music `Music reference of interest. Youtube embbed. +50|Music `Music reference of interest. Youtube embedded. 52|Sport/Club `Sport or Social related entry. 55|Cars `Car(s) related entry. 60|Online `Online purchases (ebay, or received/ordered from online source). diff --git a/htdocs/cgi-bin/config.cgi b/htdocs/cgi-bin/config.cgi index 183583d..827a3eb 100755 --- a/htdocs/cgi-bin/config.cgi +++ b/htdocs/cgi-bin/config.cgi @@ -1,4 +1,4 @@ -#!/usr/bin/perl +#!/usr/bin/env perl # # Programed by: Will Budic # Open Source License -> https://choosealicense.com/licenses/isc/ @@ -19,61 +19,62 @@ use Date::Language; use Capture::Tiny ':all'; use Text::CSV; use Scalar::Util qw(looks_like_number); -use Sys::Syslog qw(:DEFAULT :standard :macros); #openLog, closelog macros +use Sys::Syslog qw(:DEFAULT :standard :macros); #openLog, closelog macros use Compress::Zlib; use bignum qw/hex/; - #DEFAULT SETTINGS HERE! use lib "system/modules"; require Settings; +require CNFParser; #<- Only ever used here, as for best performance CNF2.2 type particulars are only needed. + #15mg data post limit $CGI::POST_MAX = 1024 * 15000; ## - -my ($RDS,$TR_STATUS,$LOGOUT,$ERROR) = ("","",0,""); -my $sys = `uname -n`; -my $db = Settings::fetchDBSettings(); -my $cgi = Settings->cgi(); -my $sid = Settings::sid(); -my $dbname = Settings::dbName(); -my $alias = Settings::alias(); +my ( $RDS, $TR_STATUS, $LOGOUT, $ERROR ) = ( "", "", 0, "" ); +my $sys = `uname -n`; +my $db = Settings::fetchDBSettings(); +my $cgi = Settings->cgi(); +my $sid = Settings::sid(); +my $dbname = Settings::dbName(); +my $alias = Settings::alias(); my $rv; my $dbs; -my $lang = Date::Language->new(Settings::language()); -my $today = Settings::today(); -my $tz = $cgi->param('tz'); -my $csvp = $cgi->param('csv'); -my $CID = 'rowid'; $CID = 'ID' if Settings::isProgressDB(); - - - - exportToCSV() if ($csvp); - if($cgi->param('bck')) {&backup} #?bck=1 (js set) - elsif($_=$cgi->param('bck_del')) {backupDelete($_)} #?bck_del=... (js set) - elsif($cgi->param('bck_upload')) {&restore} #upload backup (form set) - elsif($_=$cgi->param('bck_file')) {restore($_)} - elsif($cgi->param('data_cat')) {&importCatCSV} - elsif($cgi->param('data_log')) {&importLogCSV} - - +my $lang = Date::Language->new( Settings::language() ); +my $today = Settings::today(); +my $tz = $cgi->param('tz'); +my $csvp = $cgi->param('csv'); +my $CID = 'rowid'; +$CID = 'ID' if Settings::isProgressDB(); + +exportToCSV() if ($csvp); +if ( $cgi->param('bck') ) { &backup } #?bck=1 (js set) +elsif ( $_ = $cgi->param('bck_del') ) { + backupDelete($_); +} #?bck_del=... (js set) +elsif ( $cgi->param('bck_upload') ) { &restore } #upload backup (form set) +elsif ( $_ = $cgi->param('bck_file') ) { restore($_) } +elsif ( $cgi->param('data_cat') ) { &importCatCSV } +elsif ( $cgi->param('data_log') ) { &importLogCSV } my $stmtCat = 'SELECT * FROM CAT ORDER BY ID;'; my $status = $RDS = "Ready for change!"; -my $cats; +my $cats; my %hshCats = (); cats(); ############### processSubmit(); ############### Settings::setupTheme(); -Settings::session()->param("theme", Settings::theme('css')); -Settings::session()->param("bgcolor", Settings::bgcol()); +Settings::session()->param( "theme", Settings::theme('css') ); +Settings::session()->param( "bgcolor", Settings::bgcol() ); getHeader(); - if ($ERROR){&error;}else{ -print qq(