[ticket/11103] time -> notification_time

PHPBB3-11103
This commit is contained in:
Nathan Guse 2012-12-15 21:02:28 -06:00
parent 1cfcbfd19f
commit 47bed33216
22 changed files with 55 additions and 56 deletions

View file

@ -1305,14 +1305,14 @@ function get_schema_struct()
$schema_data['phpbb_notifications'] = array( $schema_data['phpbb_notifications'] = array(
'COLUMNS' => array( 'COLUMNS' => array(
'notification_id' => array('UINT', NULL, 'auto_increment'), 'notification_id' => array('UINT', NULL, 'auto_increment'),
'item_type' => array('VCHAR:255', ''), 'item_type' => array('VCHAR:255', ''),
'item_id' => array('UINT', 0), 'item_id' => array('UINT', 0),
'item_parent_id' => array('UINT', 0), 'item_parent_id' => array('UINT', 0),
'user_id' => array('UINT', 0), 'user_id' => array('UINT', 0),
'unread' => array('BOOL', 1), 'unread' => array('BOOL', 1),
'time' => array('TIMESTAMP', 1), 'notification_time' => array('TIMESTAMP', 1),
'data' => array('TEXT_UNI', ''), 'data' => array('TEXT_UNI', ''),
), ),
'PRIMARY_KEY' => 'notification_id', 'PRIMARY_KEY' => 'notification_id',
'KEYS' => array( 'KEYS' => array(

View file

@ -96,7 +96,7 @@ class phpbb_notification_manager
$options = array_merge(array( $options = array_merge(array(
'notification_id' => false, 'notification_id' => false,
'user_id' => $this->user->data['user_id'], 'user_id' => $this->user->data['user_id'],
'order_by' => 'time', 'order_by' => 'notification_time',
'order_dir' => 'DESC', 'order_dir' => 'DESC',
'limit' => 0, 'limit' => 0,
'start' => 0, 'start' => 0,
@ -238,10 +238,9 @@ class phpbb_notification_manager
$sql = 'UPDATE ' . $this->notifications_table . " $sql = 'UPDATE ' . $this->notifications_table . "
SET unread = 0 SET unread = 0
WHERE time <= " . $time . WHERE notification_time <= " . $time .
(($item_type !== false) ? ' AND ' . (is_array($item_type) ? $this->db->sql_in_set('item_type', $item_type) : " item_type = '" . $this->db->sql_escape($item_type) . "'") : '') . (($item_type !== false) ? ' AND ' . (is_array($item_type) ? $this->db->sql_in_set('item_type', $item_type) : " item_type = '" . $this->db->sql_escape($item_type) . "'") : '') .
(($item_id !== false) ? ' AND ' . (is_array($item_id) ? $this->db->sql_in_set('item_id', $item_id) : 'item_id = ' . (int) $item_id) : '') . (($item_id !== false) ? ' AND ' . (is_array($item_id) ? $this->db->sql_in_set('item_id', $item_id) : 'item_id = ' . (int) $item_id) : '') .
(($user_id !== false) ? ' AND ' . (is_array($user_id) ? $this->db->sql_in_set('user_id', $user_id) : 'user_id = ' . (int) $user_id) : '');
$this->db->sql_query($sql); $this->db->sql_query($sql);
} }
@ -270,7 +269,7 @@ class phpbb_notification_manager
$sql = 'UPDATE ' . $this->notifications_table . " $sql = 'UPDATE ' . $this->notifications_table . "
SET unread = 0 SET unread = 0
WHERE item_type = '" . $this->db->sql_escape($item_type) . "' WHERE item_type = '" . $this->db->sql_escape($item_type) . "'
AND time <= " . $time . AND notification_time <= " . $time .
(($item_parent_id !== false) ? ' AND ' . (is_array($item_parent_id) ? $this->db->sql_in_set('item_parent_id', $item_parent_id) : 'item_parent_id = ' . (int) $item_parent_id) : '') . (($item_parent_id !== false) ? ' AND ' . (is_array($item_parent_id) ? $this->db->sql_in_set('item_parent_id', $item_parent_id) : 'item_parent_id = ' . (int) $item_parent_id) : '') .
(($user_id !== false) ? ' AND ' . (is_array($user_id) ? $this->db->sql_in_set('user_id', $user_id) : 'user_id = ' . (int) $user_id) : ''); (($user_id !== false) ? ' AND ' . (is_array($user_id) ? $this->db->sql_in_set('user_id', $user_id) : 'user_id = ' . (int) $user_id) : '');
$this->db->sql_query($sql); $this->db->sql_query($sql);
@ -288,7 +287,7 @@ class phpbb_notification_manager
$sql = 'UPDATE ' . $this->notifications_table . " $sql = 'UPDATE ' . $this->notifications_table . "
SET unread = 0 SET unread = 0
WHERE time <= " . $time . ' WHERE notification_time <= " . $time . '
AND ' . ((is_array($notification_id)) ? $this->db->sql_in_set('notification_id', $notification_id) : 'notification_id = ' . (int) $notification_id); AND ' . ((is_array($notification_id)) ? $this->db->sql_in_set('notification_id', $notification_id) : 'notification_id = ' . (int) $notification_id);
$this->db->sql_query($sql); $this->db->sql_query($sql);
} }
@ -793,7 +792,7 @@ class phpbb_notification_manager
public function prune_notifications($timestamp) public function prune_notifications($timestamp)
{ {
$sql = 'DELETE FROM ' . $this->notifications_table . ' $sql = 'DELETE FROM ' . $this->notifications_table . '
WHERE time < ' . (int) $timestamp; WHERE notification_time < ' . (int) $timestamp;
$this->db->sql_query($sql); $this->db->sql_query($sql);
} }

View file

@ -32,7 +32,7 @@ class phpbb_notification_type_approve_post extends phpbb_notification_type_post
{ {
return 'approve_post'; return 'approve_post';
} }
/** /**
* Language key used to output the text * Language key used to output the text
* *
@ -123,7 +123,7 @@ class phpbb_notification_type_approve_post extends phpbb_notification_type_post
$data = parent::create_insert_array($post, $pre_create_data); $data = parent::create_insert_array($post, $pre_create_data);
$this->time = $data['time'] = time(); $this->notification_time = $data['notification_time'] = time();
return $data; return $data;
} }

View file

@ -121,7 +121,7 @@ class phpbb_notification_type_approve_topic extends phpbb_notification_type_topi
{ {
$data = parent::create_insert_array($post, $pre_create_data); $data = parent::create_insert_array($post, $pre_create_data);
$this->time = $data['time'] = time(); $this->notification_time = $data['notification_time'] = time();
return $data; return $data;
} }

View file

@ -168,7 +168,7 @@ abstract class phpbb_notification_type_base implements phpbb_notification_type_i
'item_type' => $this->get_type(), 'item_type' => $this->get_type(),
'item_parent_id' => static::get_item_parent_id($type_data), 'item_parent_id' => static::get_item_parent_id($type_data),
'time' => time(), 'notification_time' => time(),
'unread' => true, 'unread' => true,
'data' => array(), 'data' => array(),
@ -195,7 +195,7 @@ abstract class phpbb_notification_type_base implements phpbb_notification_type_i
// Unset data unique to each row // Unset data unique to each row
unset( unset(
$data['time'], // Also unsetting time, since it always tries to change the time to current (if you actually need to change the time, over-ride this function) $data['notification_time'], // Also unsetting time, since it always tries to change the time to current (if you actually need to change the time, over-ride this function)
$data['notification_id'], $data['notification_id'],
$data['unread'], $data['unread'],
$data['user_id'] $data['user_id']
@ -250,7 +250,7 @@ abstract class phpbb_notification_type_base implements phpbb_notification_type_i
'FORMATTED_TITLE' => $this->get_title(), 'FORMATTED_TITLE' => $this->get_title(),
'URL' => $this->get_url(), 'URL' => $this->get_url(),
'TIME' => $this->user->format_date($this->time), 'TIME' => $this->user->format_date($this->notification_time),
'UNREAD' => $this->unread, 'UNREAD' => $this->unread,

View file

@ -103,7 +103,7 @@ class phpbb_notification_type_disapprove_post extends phpbb_notification_type_ap
$data = parent::create_insert_array($post); $data = parent::create_insert_array($post);
$this->time = $data['time'] = time(); $this->notification_time = $data['notification_time'] = time();
return $data; return $data;
} }

View file

@ -103,7 +103,7 @@ class phpbb_notification_type_disapprove_topic extends phpbb_notification_type_a
$data = parent::create_insert_array($post, $pre_create_data); $data = parent::create_insert_array($post, $pre_create_data);
$this->time = $data['time'] = time(); $this->notification_time = $data['notification_time'] = time();
return $data; return $data;
} }

View file

@ -320,11 +320,11 @@ class phpbb_notification_type_post extends phpbb_notification_type_base
$this->set_data('forum_name', $post['forum_name']); $this->set_data('forum_name', $post['forum_name']);
$this->time = $post['post_time']; $this->notification_time = $post['post_time'];
// Topics can be "read" before they are public (while awaiting approval). // Topics can be "read" before they are public (while awaiting approval).
// Make sure that if the user has read the topic, it's marked as read in the notification // Make sure that if the user has read the topic, it's marked as read in the notification
if (isset($pre_create_data[$this->user_id]) && $pre_create_data[$this->user_id] >= $this->time) if (isset($pre_create_data[$this->user_id]) && $pre_create_data[$this->user_id] >= $this->notification_time)
{ {
$this->unread = false; $this->unread = false;
} }

View file

@ -120,7 +120,7 @@ class phpbb_notification_type_post_in_queue extends phpbb_notification_type_post
{ {
$data = parent::create_insert_array($post, $pre_create_data); $data = parent::create_insert_array($post, $pre_create_data);
$this->time = $data['time'] = time(); $this->notification_time = $data['notification_time'] = time();
return $data; return $data;
} }

View file

@ -148,7 +148,7 @@ class phpbb_notification_type_report_pm_closed extends phpbb_notification_type_p
$data = parent::create_insert_array($pm, $pre_create_data); $data = parent::create_insert_array($pm, $pre_create_data);
$this->time = $data['time'] = time(); $this->notification_time = $data['notification_time'] = time();
return $data; return $data;
} }

View file

@ -148,7 +148,7 @@ class phpbb_notification_type_report_post_closed extends phpbb_notification_type
$data = parent::create_insert_array($post, $pre_create_data); $data = parent::create_insert_array($post, $pre_create_data);
$this->time = $data['time'] = time(); $this->notification_time = $data['notification_time'] = time();
return $data; return $data;
} }

View file

@ -261,11 +261,11 @@ class phpbb_notification_type_topic extends phpbb_notification_type_base
$this->set_data('forum_name', $post['forum_name']); $this->set_data('forum_name', $post['forum_name']);
$this->time = $post['post_time']; $this->notification_time = $post['post_time'];
// Topics can be "read" before they are public (while awaiting approval). // Topics can be "read" before they are public (while awaiting approval).
// Make sure that if the user has read the topic, it's marked as read in the notification // Make sure that if the user has read the topic, it's marked as read in the notification
if (isset($pre_create_data[$this->user_id]) && $pre_create_data[$this->user_id] >= $this->time) if (isset($pre_create_data[$this->user_id]) && $pre_create_data[$this->user_id] >= $this->notification_time)
{ {
$this->unread = false; $this->unread = false;
} }

View file

@ -113,7 +113,7 @@ class phpbb_notification_type_topic_in_queue extends phpbb_notification_type_top
{ {
$data = parent::create_insert_array($topic, $pre_create_data); $data = parent::create_insert_array($topic, $pre_create_data);
$this->time = $data['time'] = time(); $this->notification_time = $data['notification_time'] = time();
return $data; return $data;
} }

View file

@ -1192,15 +1192,15 @@ function database_update_info()
), ),
NOTIFICATIONS_TABLE => array( NOTIFICATIONS_TABLE => array(
'COLUMNS' => array( 'COLUMNS' => array(
'notification_id' => array('UINT', NULL, 'auto_increment'), 'notification_id' => array('UINT', NULL, 'auto_increment'),
'item_type' => array('VCHAR:255', ''), 'item_type' => array('VCHAR:255', ''),
'item_id' => array('UINT', 0), 'item_id' => array('UINT', 0),
'item_parent_id' => array('UINT', 0), 'item_parent_id' => array('UINT', 0),
'user_id' => array('UINT', 0), 'user_id' => array('UINT', 0),
'unread' => array('BOOL', 1), 'unread' => array('BOOL', 1),
'is_enabled' => array('BOOL', 1), 'is_enabled' => array('BOOL', 1),
'time' => array('TIMESTAMP', 1), 'notification_time' => array('TIMESTAMP', 1),
'data' => array('TEXT_UNI', ''), 'data' => array('TEXT_UNI', ''),
), ),
'PRIMARY_KEY' => 'notification_id', 'PRIMARY_KEY' => 'notification_id',
'KEYS' => array( 'KEYS' => array(

View file

@ -635,7 +635,7 @@ CREATE TABLE phpbb_notifications (
item_parent_id INTEGER DEFAULT 0 NOT NULL, item_parent_id INTEGER DEFAULT 0 NOT NULL,
user_id INTEGER DEFAULT 0 NOT NULL, user_id INTEGER DEFAULT 0 NOT NULL,
unread INTEGER DEFAULT 1 NOT NULL, unread INTEGER DEFAULT 1 NOT NULL,
time INTEGER DEFAULT 1 NOT NULL, notification_time INTEGER DEFAULT 1 NOT NULL,
data BLOB SUB_TYPE TEXT CHARACTER SET UTF8 DEFAULT '' NOT NULL data BLOB SUB_TYPE TEXT CHARACTER SET UTF8 DEFAULT '' NOT NULL
);; );;

View file

@ -779,7 +779,7 @@ CREATE TABLE [phpbb_notifications] (
[item_parent_id] [int] DEFAULT (0) NOT NULL , [item_parent_id] [int] DEFAULT (0) NOT NULL ,
[user_id] [int] DEFAULT (0) NOT NULL , [user_id] [int] DEFAULT (0) NOT NULL ,
[unread] [int] DEFAULT (1) NOT NULL , [unread] [int] DEFAULT (1) NOT NULL ,
[time] [int] DEFAULT (1) NOT NULL , [notification_time] [int] DEFAULT (1) NOT NULL ,
[data] [varchar] (4000) DEFAULT ('') NOT NULL [data] [varchar] (4000) DEFAULT ('') NOT NULL
) ON [PRIMARY] ) ON [PRIMARY]
GO GO

View file

@ -446,7 +446,7 @@ CREATE TABLE phpbb_notifications (
item_parent_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, item_parent_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL,
user_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, user_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL,
unread tinyint(1) UNSIGNED DEFAULT '1' NOT NULL, unread tinyint(1) UNSIGNED DEFAULT '1' NOT NULL,
time int(11) UNSIGNED DEFAULT '1' NOT NULL, notification_time int(11) UNSIGNED DEFAULT '1' NOT NULL,
data blob NOT NULL, data blob NOT NULL,
PRIMARY KEY (notification_id), PRIMARY KEY (notification_id),
KEY item_ident (item_type, item_id), KEY item_ident (item_type, item_id),

View file

@ -446,7 +446,7 @@ CREATE TABLE phpbb_notifications (
item_parent_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, item_parent_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL,
user_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, user_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL,
unread tinyint(1) UNSIGNED DEFAULT '1' NOT NULL, unread tinyint(1) UNSIGNED DEFAULT '1' NOT NULL,
time int(11) UNSIGNED DEFAULT '1' NOT NULL, notification_time int(11) UNSIGNED DEFAULT '1' NOT NULL,
data text NOT NULL, data text NOT NULL,
PRIMARY KEY (notification_id), PRIMARY KEY (notification_id),
KEY item_ident (item_type, item_id), KEY item_ident (item_type, item_id),

View file

@ -861,7 +861,7 @@ CREATE TABLE phpbb_notifications (
item_parent_id number(8) DEFAULT '0' NOT NULL, item_parent_id number(8) DEFAULT '0' NOT NULL,
user_id number(8) DEFAULT '0' NOT NULL, user_id number(8) DEFAULT '0' NOT NULL,
unread number(1) DEFAULT '1' NOT NULL, unread number(1) DEFAULT '1' NOT NULL,
time number(11) DEFAULT '1' NOT NULL, notification_time number(11) DEFAULT '1' NOT NULL,
data clob DEFAULT '' , data clob DEFAULT '' ,
CONSTRAINT pk_phpbb_notifications PRIMARY KEY (notification_id) CONSTRAINT pk_phpbb_notifications PRIMARY KEY (notification_id)
) )

View file

@ -618,7 +618,7 @@ CREATE TABLE phpbb_notifications (
item_parent_id INT4 DEFAULT '0' NOT NULL CHECK (item_parent_id >= 0), item_parent_id INT4 DEFAULT '0' NOT NULL CHECK (item_parent_id >= 0),
user_id INT4 DEFAULT '0' NOT NULL CHECK (user_id >= 0), user_id INT4 DEFAULT '0' NOT NULL CHECK (user_id >= 0),
unread INT2 DEFAULT '1' NOT NULL CHECK (unread >= 0), unread INT2 DEFAULT '1' NOT NULL CHECK (unread >= 0),
time INT4 DEFAULT '1' NOT NULL CHECK (time >= 0), notification_time INT4 DEFAULT '1' NOT NULL CHECK (notification_time >= 0),
data varchar(4000) DEFAULT '' NOT NULL, data varchar(4000) DEFAULT '' NOT NULL,
PRIMARY KEY (notification_id) PRIMARY KEY (notification_id)
); );

View file

@ -433,7 +433,7 @@ CREATE TABLE phpbb_notifications (
item_parent_id INTEGER UNSIGNED NOT NULL DEFAULT '0', item_parent_id INTEGER UNSIGNED NOT NULL DEFAULT '0',
user_id INTEGER UNSIGNED NOT NULL DEFAULT '0', user_id INTEGER UNSIGNED NOT NULL DEFAULT '0',
unread INTEGER UNSIGNED NOT NULL DEFAULT '1', unread INTEGER UNSIGNED NOT NULL DEFAULT '1',
time INTEGER UNSIGNED NOT NULL DEFAULT '1', notification_time INTEGER UNSIGNED NOT NULL DEFAULT '1',
data text(65535) NOT NULL DEFAULT '' data text(65535) NOT NULL DEFAULT ''
); );

View file

@ -206,7 +206,7 @@ class phpbb_notification_test extends phpbb_database_test_case
'item_parent_id' => 1, 'item_parent_id' => 1,
'user_id' => 0, 'user_id' => 0,
'unread' => 1, 'unread' => 1,
'time' => 1349413321, 'notification_time' => 1349413321,
'data' => array(), 'data' => array(),
), ),
2 => array( 2 => array(
@ -215,7 +215,7 @@ class phpbb_notification_test extends phpbb_database_test_case
'item_parent_id' => 2, 'item_parent_id' => 2,
'user_id' => 0, 'user_id' => 0,
'unread' => 1, 'unread' => 1,
'time' => 1349413322, 'notification_time' => 1349413322,
'data' => array(), 'data' => array(),
), ),
3 => array( 3 => array(
@ -224,7 +224,7 @@ class phpbb_notification_test extends phpbb_database_test_case
'item_parent_id' => 2, 'item_parent_id' => 2,
'user_id' => 0, 'user_id' => 0,
'unread' => 1, 'unread' => 1,
'time' => 1349413323, 'notification_time' => 1349413323,
'data' => array(), 'data' => array(),
), ),
4 => array( 4 => array(
@ -233,7 +233,7 @@ class phpbb_notification_test extends phpbb_database_test_case
'item_parent_id' => 2, 'item_parent_id' => 2,
'user_id' => 0, 'user_id' => 0,
'unread' => 1, 'unread' => 1,
'time' => 1349413324, 'notification_time' => 1349413324,
'data' => array( 'data' => array(
'poster_id' => 2, 'poster_id' => 2,
'topic_title' => 'test-title', 'topic_title' => 'test-title',
@ -249,7 +249,7 @@ class phpbb_notification_test extends phpbb_database_test_case
'item_parent_id' => 2, 'item_parent_id' => 2,
'user_id' => 0, 'user_id' => 0,
'unread' => 1, 'unread' => 1,
'time' => 1349413325, 'notification_time' => 1349413325,
'data' => array( 'data' => array(
'poster_id' => 2, 'poster_id' => 2,
'topic_title' => 'test-title', 'topic_title' => 'test-title',
@ -312,7 +312,7 @@ class phpbb_notification_test extends phpbb_database_test_case
'item_parent_id' => 2, 'item_parent_id' => 2,
'user_id' => 0, 'user_id' => 0,
'unread' => 1, 'unread' => 1,
'time' => 1349413321, 'notification_time' => 1349413321,
'data' => array(), 'data' => array(),
), ),
2 => array( 2 => array(
@ -321,7 +321,7 @@ class phpbb_notification_test extends phpbb_database_test_case
'item_parent_id' => 2, 'item_parent_id' => 2,
'user_id' => 0, 'user_id' => 0,
'unread' => 1, 'unread' => 1,
'time' => 1349413322, 'notification_time' => 1349413322,
'data' => array(), 'data' => array(),
), ),
3 => array( 3 => array(
@ -330,7 +330,7 @@ class phpbb_notification_test extends phpbb_database_test_case
'item_parent_id' => 2, 'item_parent_id' => 2,
'user_id' => 0, 'user_id' => 0,
'unread' => 1, 'unread' => 1,
'time' => 1234, 'notification_time' => 1234,
'data' => array(), 'data' => array(),
), ),
4 => array( 4 => array(
@ -339,7 +339,7 @@ class phpbb_notification_test extends phpbb_database_test_case
'item_parent_id' => 2, 'item_parent_id' => 2,
'user_id' => 0, 'user_id' => 0,
'unread' => 1, 'unread' => 1,
'time' => 1349413324, 'notification_time' => 1349413324,
'data' => array( 'data' => array(
'poster_id' => 2, 'poster_id' => 2,
'topic_title' => 'test-title', 'topic_title' => 'test-title',
@ -355,7 +355,7 @@ class phpbb_notification_test extends phpbb_database_test_case
'item_parent_id' => 2, 'item_parent_id' => 2,
'user_id' => 0, 'user_id' => 0,
'unread' => 1, 'unread' => 1,
'time' => 1349413325, 'notification_time' => 1349413325,
'data' => array( 'data' => array(
'poster_id' => 2, 'poster_id' => 2,
'topic_title' => 'test-title2', 'topic_title' => 'test-title2',