From 3f87c83d1202603ece1df4643da07ce84100b243 Mon Sep 17 00:00:00 2001 From: Will Budicm Date: Mon, 7 Dec 2020 05:46:16 +1100 Subject: [PATCH] Config. vars ordering and PG integration finished. --- htdocs/cgi-bin/config.cgi | 45 ++++++++++++++++++++++++++++----------- 1 file changed, 33 insertions(+), 12 deletions(-) diff --git a/htdocs/cgi-bin/config.cgi b/htdocs/cgi-bin/config.cgi index 2960ad7..ee5eac6 100755 --- a/htdocs/cgi-bin/config.cgi +++ b/htdocs/cgi-bin/config.cgi @@ -90,6 +90,7 @@ my $tbl = ' '; +my $foot = ""; $dbs = Settings::selectRecords($db, $stmtCat); while(my @row = $dbs->fetchrow_array()) { if( $row[0]>0 ){ @@ -288,15 +289,16 @@ while(my @row = $dbs->fetchrow_array()) { $v = ''; } - $tbl = qq($tbl - + my $tr = qq(); + + if($i<300){$tbl.=$tr}else{$foot.=$tr} } -$tbl = qq($tbl$REL); #RELEASE VERSION we make to outstand last, can't be changed. :) +$tbl = qq($tbl$foot$REL); #RELEASE VERSION we make to outstand last, can't be changed. :) my $frmVars = qq( $tbl @@ -752,9 +754,7 @@ elsif($chdbfix){ exit; } - else{ - &processDBFix; - } + else{processDBFix()} $status = "Performed Database Fixes!"; } @@ -828,7 +828,11 @@ try{ $db->do('BEGIN TRANSACTION;'); #Check for duplicates, which are possible during imports or migration as internal rowid is not primary in log. - $dbs = Settings::selectRecords($db, 'SELECT rowid, DATE FROM LOG ORDER BY DATE;'); + if(Settings::isProgressDB()){ + $dbs = Settings::selectRecords($db, 'SELECT ID, DATE FROM LOG ORDER BY DATE;'); + }else{ + $dbs = Settings::selectRecords($db, 'SELECT rowid, DATE FROM LOG ORDER BY DATE;'); + } while(@row = $dbs->fetchrow_array()) { my $existing = $dates{$row[0]}; if($existing && $existing eq $row[1]){ @@ -841,7 +845,11 @@ try{ } foreach my $del (@dlts){ - $sql = "DELETE FROM LOG WHERE rowid=$del;"; + if(Settings::isProgressDB()){ + $sql = "DELETE FROM LOG WHERE rowid=$del;"; + }else{ + $sql = "DELETE FROM LOG WHERE ID=$del;"; + } #print "$sql\n
"; my $st_del = $db->prepare($sql); $st_del->execute(); @@ -1312,14 +1320,22 @@ sub renumerate { #Renumerate Log! Copy into temp. table. my $sql; $db->do("CREATE TABLE life_log_temp_table AS SELECT * FROM LOG;"); - $dbs = Settings::selectRecords($db, 'SELECT rowid, DATE FROM LOG WHERE ID_RTF >0 ORDER BY DATE;'); + if(Settings::isProgressDB()){ + $dbs = Settings::selectRecords($db, 'SELECT ID, DATE FROM LOG WHERE ID_RTF > 0 ORDER BY DATE;'); + }else{ + $dbs = Settings::selectRecords($db, 'SELECT rowid, DATE FROM LOG WHERE ID_RTF > 0 ORDER BY DATE;'); + } #update notes with new log id while(my @row = $dbs->fetchrow_array()) { my $sql_date = $row[1]; if($sql_date){#could be an improperly deleted record in there? Skip if there is! #$sql_date =~ s/T/ /; $sql_date = DateTime::Format::SQLite->parse_datetime($sql_date); - $sql = "SELECT rowid, DATE FROM life_log_temp_table WHERE ID_RTF > 0 AND DATE = '".$sql_date."';"; + if(Settings::isProgressDB()){ + $sql = "SELECT ID, DATE FROM life_log_temp_table WHERE ID_RTF > 0 AND DATE = '".$sql_date."';"; + }else{ + $sql = "SELECT rowid, DATE FROM life_log_temp_table WHERE ID_RTF > 0 AND DATE = '".$sql_date."';"; + } $dbs = Settings::selectRecords($db, $sql); my @new = $dbs->fetchrow_array(); if(scalar @new > 0){ @@ -1329,12 +1345,17 @@ sub renumerate { } # Delete Orphaned Notes entries. + if(Settings::isProgressDB()){ + $dbs = Settings::selectRecords($db, "SELECT LID, LOG.ID from NOTES LEFT JOIN LOG ON + NOTES.LID = LOG.ID WHERE LOG.ID is NULL;"); + }else{ $dbs = Settings::selectRecords($db, "SELECT LID, LOG.rowid from NOTES LEFT JOIN LOG ON - NOTES.LID = LOG.rowid WHERE LOG.rowid is NULL;"); + NOTES.LID = LOG.rowid WHERE LOG.rowid is NULL;"); + } while(my @row = $dbs->fetchrow_array()) { $db->do("DELETE FROM NOTES WHERE LID=$row[0];"); } - $db->do('DROP TABLE LOG;'); + $db->do('DROP TABLE LOG CASCADE;'); $db->do(&Settings::createLOGStmt); $db->do(q(INSERT INTO LOG (ID_CAT, ID_RTF, DATE, LOG, AMOUNT,AFLAG) SELECT ID_CAT, ID_RTF, DATE, LOG, AMOUNT, AFLAG FROM life_log_temp_table ORDER by DATE;)); -- 2.34.1
* CATEGORIES CONFIGURATION *
IDCategoryDescription
$n $v $d