feat: Add campaign comments functionality with API support and database migration

This commit is contained in:
2026-03-06 20:07:11 +01:00
parent 5524324bea
commit 5dc2a89748
6 changed files with 244 additions and 26 deletions

View File

@@ -415,4 +415,31 @@ class Campaigns
$mdb -> delete( 'campaigns_history', [ 'id' => $ids ] );
return count( $ids );
}
static public function get_campaign_comments( $campaign_id )
{
global $mdb;
return $mdb -> query( 'SELECT id, comment, date_add FROM campaigns_comments WHERE campaign_id = \'' . (int) $campaign_id . '\' ORDER BY date_add DESC' ) -> fetchAll( \PDO::FETCH_ASSOC );
}
static public function add_campaign_comment( $campaign_id, $comment, $date = null )
{
global $mdb;
if ( !$date )
$date = date( 'Y-m-d' );
else
$date = date( 'Y-m-d', strtotime( $date ) );
if ( $mdb -> count( 'campaigns_comments', [ 'AND' => [ 'campaign_id' => $campaign_id, 'date_add' => $date ] ] ) )
return $mdb -> update( 'campaigns_comments', [ 'comment' => $comment ], [ 'AND' => [ 'campaign_id' => $campaign_id, 'date_add' => $date ] ] );
else
return $mdb -> insert( 'campaigns_comments', [ 'campaign_id' => $campaign_id, 'comment' => $comment, 'date_add' => $date ] );
}
static public function delete_campaign_comment( $comment_id )
{
global $mdb;
return $mdb -> delete( 'campaigns_comments', [ 'id' => $comment_id ] );
}
}