From: Will Budic Date: Tue, 3 Mar 2020 01:46:23 +0000 (+1100) Subject: Sticky was resetting on renumerate. :() X-Git-Url: https://lifelog.hopto.org/gitweb/?a=commitdiff_plain;h=782c5810c28b99becec12918b653612afc6dd43e;p=LifeLog.git Sticky was resetting on renumerate. :() --- diff --git a/htdocs/cgi-bin/main.cgi b/htdocs/cgi-bin/main.cgi index 187ac06..d10868a 100755 --- a/htdocs/cgi-bin/main.cgi +++ b/htdocs/cgi-bin/main.cgi @@ -345,9 +345,9 @@ qq(
} } - ################### - &processSubmit; - ################### +################### + &processSubmit; +################### my $tfId = 0; my $id = 0; @@ -393,6 +393,7 @@ qq( sub traceDBExe { my $sql = shift; try{ + print "do:$sql" if ($DEBUG); my $st = $db->prepare($sql); $st -> execute() or LifeLogException->throw("Execute failed [$DBI::errstri]", show_trace=>1); return $st; @@ -1013,9 +1014,9 @@ try { $stm = qq( UPDATE LOG SET ID_CAT='$cat', ID_RTF='$rtf', DATE='$date', LOG='$log', - AMOUNT='$am', - AFLAG = '$af', - STICKY='$sticky' WHERE rowid="$edit_mode"; + AMOUNT=$am, + AFLAG = $af, + STICKY=$sticky WHERE rowid="$edit_mode";
); # print $stm if $DEBUG; @@ -1065,6 +1066,14 @@ try { if ( $log && $date && $cat ) { + # + # After Insert renumeration check + # + my $dt = DateTime::Format::SQLite->parse_datetime($date); + my $dtCur = DateTime->now(); + $dtCur->set_time_zone(&Settings::timezone); + $dtCur = $dtCur - DateTime::Duration->new( days => 1 ); + #check for double entry # $date = DateTime::Format::SQLite->parse_datetime($date); @@ -1073,8 +1082,8 @@ try { if ($st->fetchrow_array() ) { return; } - - $stm = qq(INSERT INTO LOG (ID_CAT, ID_RTF, DATE, LOG, AMOUNT, AFLAG, STICKY) VALUES($cat, $rtf, '$date', '$log', $am, $af, $sticky);); + if ($dtCur > $dt){$sticky = 1; print $cgi->p("Insert forced to be sticky, it is in the past!");} + $stm = qq(INSERT INTO LOG (ID_CAT, ID_RTF, DATE, LOG, AMOUNT, AFLAG, STICKY) VALUES ($cat,$rtf,'$date','$log',$am,$af,$sticky);); $st = traceDBExe($stm); if($sssCDB){ #Allow further new database creation, it is not an login infinite db creation attack. @@ -1101,18 +1110,7 @@ try { $st->execute(); } } - # - # After Insert renumeration check - # - my $dt = DateTime::Format::SQLite->parse_datetime($date); - my $dtCur = DateTime->now(); - $dtCur->set_time_zone(&Settings::timezone); - $dtCur = $dtCur - DateTime::Duration->new( days => 1 ); - - if ( $dtCur > $dt ) { - print $cgi->p('Insert is in the past!'); - Settings::renumerate($db); - } + Settings::renumerate($db) if ( $dtCur > $dt ); } } catch { diff --git a/htdocs/cgi-bin/system/modules/Settings.pm b/htdocs/cgi-bin/system/modules/Settings.pm index 7e95807..6f76f0d 100644 --- a/htdocs/cgi-bin/system/modules/Settings.pm +++ b/htdocs/cgi-bin/system/modules/Settings.pm @@ -239,8 +239,8 @@ sub renumerate { } $db->do('DROP TABLE LOG;'); $db->do(&createLOGStmt); - $db->do('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;'); + $db->do('INSERT INTO LOG (ID_CAT, ID_RTF, DATE, LOG, AMOUNT,AFLAG,STICKY) + SELECT ID_CAT, ID_RTF, DATE, LOG, AMOUNT, AFLAG, STICKY FROM life_log_temp_table ORDER by DATE;'); $db->do('DROP TABLE life_log_temp_table;'); }