mirror of
https://github.com/phpbb/phpbb.git
synced 2025-05-05 23:25:30 +02:00
[ticket/12435] purge_notifications() fails for unused notifications
https://tracker.phpbb.com/browse/PHPBB3-12435 PHPBB3-12435
This commit is contained in:
parent
bec9b7c34e
commit
cb97c26e88
@ -760,17 +760,28 @@ class manager
|
|||||||
*/
|
*/
|
||||||
public function purge_notifications($notification_type_name)
|
public function purge_notifications($notification_type_name)
|
||||||
{
|
{
|
||||||
$notification_type_id = $this->get_notification_type_id($notification_type_name);
|
// If the notification was never used, it was never put in the database and so its id was never cached.
|
||||||
|
// If this notification was added by an extension, this one will call purge_notification in the purge step,
|
||||||
|
// and get_notification_type_id() will throw an exception.
|
||||||
|
// The notification was never used, thus we can silently drop the exception.
|
||||||
|
try
|
||||||
|
{
|
||||||
|
$notification_type_id = $this->get_notification_type_id($notification_type_name);
|
||||||
|
|
||||||
$sql = 'DELETE FROM ' . $this->notifications_table . '
|
$sql = 'DELETE FROM ' . $this->notifications_table . '
|
||||||
WHERE notification_type_id = ' . (int) $notification_type_id;
|
WHERE notification_type_id = ' . (int) $notification_type_id;
|
||||||
$this->db->sql_query($sql);
|
$this->db->sql_query($sql);
|
||||||
|
|
||||||
$sql = 'DELETE FROM ' . $this->notification_types_table . '
|
$sql = 'DELETE FROM ' . $this->notification_types_table . '
|
||||||
WHERE notification_type_id = ' . (int) $notification_type_id;
|
WHERE notification_type_id = ' . (int) $notification_type_id;
|
||||||
$this->db->sql_query($sql);
|
$this->db->sql_query($sql);
|
||||||
|
|
||||||
$this->cache->destroy('notification_type_ids');
|
$this->cache->destroy('notification_type_ids');
|
||||||
|
}
|
||||||
|
catch (\phpbb\notification\exception $e)
|
||||||
|
{
|
||||||
|
// Continue
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
x
Reference in New Issue
Block a user