Revision | 9 (tree) |
---|---|
Time | 2021-10-01 20:43:39 |
Author | ![]() |
todo is being checked at the selected day + refreshing the page does not lead to unchecking a previously checked item
@@ -244,10 +244,14 @@ | ||
244 | 244 | $db->close(); |
245 | 245 | } |
246 | 246 | |
247 | -if ($a === 'todocheck') { | |
247 | +if (($a === 'todocheck') || ($a === 'todouncheck')) { | |
248 | 248 | $db = new SQLite3('agenda.sqlite3'); |
249 | - $stmt = $db->prepare('UPDATE todos SET doneday = CASE WHEN doneday = 0 THEN :today ELSE 0 END WHERE id = :id'); | |
250 | - $stmt->bindvalue(':today', $today, SQLITE3_INTEGER); | |
249 | + $stmt = $db->prepare('UPDATE todos SET doneday = :day WHERE id = :id'); | |
250 | + if ($a === 'todocheck') { | |
251 | + $stmt->bindvalue(':day', $day, SQLITE3_INTEGER); | |
252 | + } else { | |
253 | + $stmt->bindvalue(':day', 0, SQLITE3_INTEGER); | |
254 | + } | |
251 | 255 | $stmt->bindvalue(':id', $id, SQLITE3_INTEGER); |
252 | 256 | $stmt->execute(); |
253 | 257 | $db->close(); |
@@ -380,11 +384,13 @@ | ||
380 | 384 | if ($row['doneday'] == 0) { |
381 | 385 | $checkbox = '☐'; |
382 | 386 | $classname = 'todo'; |
387 | + $linkaction = 'todocheck'; | |
383 | 388 | } else { |
384 | 389 | $checkbox = '☑'; |
385 | 390 | $classname = 'tododone'; |
391 | + $linkaction = 'todouncheck'; | |
386 | 392 | } |
387 | - echo ' <div class="' . $classname . '"><a href="?day=' . $day . '&a=todocheck&id=' . $row['id'] . '">' . $checkbox . '</a> <a href="?a=todo&day=' . $day . '&id=' . $row['id'] . '">' . htmlspecialchars($row['title']) . "</a></div>\n"; | |
393 | + echo ' <div class="' . $classname . '"><a href="?day=' . $day . '&a=' . $linkaction . '&id=' . $row['id'] . '">' . $checkbox . '</a> <a href="?a=todo&day=' . $day . '&id=' . $row['id'] . '">' . htmlspecialchars($row['title']) . "</a></div>\n"; | |
388 | 394 | } |
389 | 395 | $sqlres->finalize(); |
390 | 396 | echo "</div>\n"; |