diff options
Diffstat (limited to 'phpBB/phpbb')
| -rw-r--r-- | phpBB/phpbb/db/migration/data/v310/notifications_cron_p2.php | 27 | ||||
| -rw-r--r-- | phpBB/phpbb/notification/manager.php | 9 | 
2 files changed, 35 insertions, 1 deletions
| diff --git a/phpBB/phpbb/db/migration/data/v310/notifications_cron_p2.php b/phpBB/phpbb/db/migration/data/v310/notifications_cron_p2.php new file mode 100644 index 0000000000..050e679cc0 --- /dev/null +++ b/phpBB/phpbb/db/migration/data/v310/notifications_cron_p2.php @@ -0,0 +1,27 @@ +<?php +/** +* +* @package migration +* @copyright (c) 2013 phpBB Group +* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2 +* +*/ + +namespace phpbb\db\migration\data\v310; + +class notifications_cron_p2 extends \phpbb\db\migration\migration +{ +	static public function depends_on() +	{ +		return array('\phpbb\db\migration\data\v310\notifications_cron'); +	} + +	public function update_data() +	{ +		return array( +			// Make read_notification_last_gc dynamic. +			array('config.remove', array('read_notification_last_gc')), +			array('config.add', array('read_notification_last_gc', 0, 1)), +		); +	} +} diff --git a/phpBB/phpbb/notification/manager.php b/phpBB/phpbb/notification/manager.php index d77a936413..2e8652771b 100644 --- a/phpBB/phpbb/notification/manager.php +++ b/phpBB/phpbb/notification/manager.php @@ -27,6 +27,9 @@ class manager  	/** @var \phpbb\user_loader */  	protected $user_loader; +	/** @var \phpbb\config\config */ +	protected $config; +  	/** @var \phpbb\db\driver\driver */  	protected $db; @@ -58,6 +61,7 @@ class manager  	* @param array $notification_methods  	* @param ContainerBuilder $phpbb_container  	* @param \phpbb\user_loader $user_loader +	* @param \phpbb\config\config $config  	* @param \phpbb\db\driver\driver $db  	* @param \phpbb\user $user  	* @param string $phpbb_root_path @@ -67,13 +71,14 @@ class manager  	* @param string $user_notifications_table  	* @return \phpbb\notification\manager  	*/ -	public function __construct($notification_types, $notification_methods, $phpbb_container, \phpbb\user_loader $user_loader, \phpbb\db\driver\driver $db, \phpbb\cache\service $cache, $user, $phpbb_root_path, $php_ext, $notification_types_table, $notifications_table, $user_notifications_table) +	public function __construct($notification_types, $notification_methods, $phpbb_container, \phpbb\user_loader $user_loader, \phpbb\config\config $config, \phpbb\db\driver\driver $db, \phpbb\cache\service $cache, $user, $phpbb_root_path, $php_ext, $notification_types_table, $notifications_table, $user_notifications_table)  	{  		$this->notification_types = $notification_types;  		$this->notification_methods = $notification_methods;  		$this->phpbb_container = $phpbb_container;  		$this->user_loader = $user_loader; +		$this->config = $config;  		$this->db = $db;  		$this->cache = $cache;  		$this->user = $user; @@ -797,6 +802,8 @@ class manager  			WHERE notification_time < ' . (int) $timestamp .  				(($only_read) ? ' AND notification_read = 1' : '');  		$this->db->sql_query($sql); + +		$this->config->set('read_notification_last_gc', time(), false);  	}  	/** | 
