}
}
- ###################
- &processSubmit;
- ###################
+###################
+ &processSubmit;
+###################
my $tfId = 0;
my $id = 0;
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;
$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";
<br>);
#
print $stm if $DEBUG;
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);
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("<b>Insert forced to be sticky, it is in the past!</b>");}
+ $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.
$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('<b>Insert is in the past!</b>');
- Settings::renumerate($db);
- }
+ Settings::renumerate($db) if ( $dtCur > $dt );
}
}
catch {
}
$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;');
}