From 3c1bc9af660aa85cfbc19d9781b2b2b74be78741 Mon Sep 17 00:00:00 2001 From: Jacek Pyziak Date: Sat, 10 May 2025 23:33:38 +0200 Subject: [PATCH] feat: Implement topic deletion functionality in BackendSites and update task query conditions --- .vscode/ftp-kr.sync.cache.json | 4 ++-- autoload/class.Cron.php | 7 ++----- autoload/controls/class.BackendSites.php | 16 ++++++++++++++++ autoload/factory/class.BackendSites.php | 7 +++++++ templates/tasks/main_view.php | 2 ++ 5 files changed, 29 insertions(+), 7 deletions(-) diff --git a/.vscode/ftp-kr.sync.cache.json b/.vscode/ftp-kr.sync.cache.json index 5def309..ec9e6f9 100644 --- a/.vscode/ftp-kr.sync.cache.json +++ b/.vscode/ftp-kr.sync.cache.json @@ -458,8 +458,8 @@ }, "task_edit.php": { "type": "-", - "size": 9233, - "lmtime": 1746650179260, + "size": 9314, + "lmtime": 1746733898990, "modified": false }, "task_popup.php": { diff --git a/autoload/class.Cron.php b/autoload/class.Cron.php index 5fe3bff..5b9851b 100644 --- a/autoload/class.Cron.php +++ b/autoload/class.Cron.php @@ -11,7 +11,7 @@ class Cron . 'FROM ' . 'tasks AS t ' . 'WHERE ' - . 'recursively = 1 AND deleted = 0 AND ( status = 1 OR status = 2 OR status = 3 ) AND date_end IS NOT NULL AND date_end < \'' . date( 'Y-m-d', strtotime( '+366 days', time() ) ) . '\' ' + . 'recursively = 1 AND deleted = 0 AND status = 2 AND date_end IS NOT NULL AND date_end < \'' . date( 'Y-m-d', strtotime( '+60 days', time() ) ) . '\' ' . 'HAVING quantity = 0 ORDER BY date_end ASC' ) -> fetchAll( \PDO::FETCH_ASSOC ); if ( is_array( $results ) and count( $results ) ) { @@ -87,10 +87,7 @@ class Cron $days_reminder = explode( ',', $row['reminders_interval'] ); $max_days_reminder = max( $days_reminder ); - if ( $row['status'] != 2 ) - $status = $row['status']; - else - $status = 0; + $status = 0; $task_users = $mdb -> select( 'task_user', 'user_id', ['task_id' => $row['id']] ); diff --git a/autoload/controls/class.BackendSites.php b/autoload/controls/class.BackendSites.php index 26539c2..ba95468 100644 --- a/autoload/controls/class.BackendSites.php +++ b/autoload/controls/class.BackendSites.php @@ -2,6 +2,22 @@ namespace controls; class BackendSites { + static public function topic_delete() + { + if ( \factory\BackendSites::topic_delete( \S::get( 'id' ) ) ) + { + \S::alert( 'Temat został usunięty' ); + header( 'Location: /backend_sites/topics/' ); + exit; + } + else + { + \S::alert( 'Nie można usunąć tematu' ); + header( 'Location: /backend_sites/topics/' ); + exit; + } + } + static public function topic_accept() { if ( \factory\BackendSites::topic_accept( \S::get( 'id' ) ) ) diff --git a/autoload/factory/class.BackendSites.php b/autoload/factory/class.BackendSites.php index 2889b5e..03bd510 100644 --- a/autoload/factory/class.BackendSites.php +++ b/autoload/factory/class.BackendSites.php @@ -2,6 +2,13 @@ namespace factory; class BackendSites { + // topic_delete + static public function topic_delete( $id ) + { + global $mdb; + return $mdb -> delete( 'zaplecze_tematy', [ 'id' => $id ] ); + } + static public function topic_unaccept( $id ) { global $mdb; diff --git a/templates/tasks/main_view.php b/templates/tasks/main_view.php index 3873cd5..1127ff8 100644 --- a/templates/tasks/main_view.php +++ b/templates/tasks/main_view.php @@ -401,6 +401,8 @@ var users = jQuery( 'input[name="users"]:checked' ).map(function() { return this.value; }).get(); + // close popup + $( '.task_popup' ).empty().hide(); reload_tasks( projects, users ); } }