Merge pull request #2885 from Nicofuma/ticket/12990

[ticket/12990] Use the full services name for the notification's types
This commit is contained in:
Marc Alexander 2014-08-21 00:44:05 +02:00
commit 31aac66f5a
51 changed files with 327 additions and 212 deletions

View file

@ -404,7 +404,7 @@ class acp_users
if ($config['require_activation'] == USER_ACTIVATION_ADMIN) if ($config['require_activation'] == USER_ACTIVATION_ADMIN)
{ {
$phpbb_notifications = $phpbb_container->get('notification_manager'); $phpbb_notifications = $phpbb_container->get('notification_manager');
$phpbb_notifications->delete_notifications('admin_activate_user', $user_row['user_id']); $phpbb_notifications->delete_notifications('notification.type.admin_activate_user', $user_row['user_id']);
include_once($phpbb_root_path . 'includes/functions_messenger.' . $phpEx); include_once($phpbb_root_path . 'includes/functions_messenger.' . $phpEx);

View file

@ -1146,12 +1146,12 @@ function markread($mode, $forum_id = false, $topic_id = false, $post_time = 0, $
// Mark all topic notifications read for this user // Mark all topic notifications read for this user
$phpbb_notifications->mark_notifications_read(array( $phpbb_notifications->mark_notifications_read(array(
'topic', 'notification.type.topic',
'quote', 'notification.type.quote',
'bookmark', 'notification.type.bookmark',
'post', 'notification.type.post',
'approve_topic', 'notification.type.approve_topic',
'approve_post', 'notification.type.approve_post',
), false, $user->data['user_id'], $post_time); ), false, $user->data['user_id'], $post_time);
if ($config['load_db_lastread'] && $user->data['is_registered']) if ($config['load_db_lastread'] && $user->data['is_registered'])
@ -1211,8 +1211,8 @@ function markread($mode, $forum_id = false, $topic_id = false, $post_time = 0, $
$phpbb_notifications = $phpbb_container->get('notification_manager'); $phpbb_notifications = $phpbb_container->get('notification_manager');
$phpbb_notifications->mark_notifications_read_by_parent(array( $phpbb_notifications->mark_notifications_read_by_parent(array(
'topic', 'notification.type.topic',
'approve_topic', 'notification.type.approve_topic',
), $forum_id, $user->data['user_id'], $post_time); ), $forum_id, $user->data['user_id'], $post_time);
// Mark all post/quote notifications read for this user in this forum // Mark all post/quote notifications read for this user in this forum
@ -1228,10 +1228,10 @@ function markread($mode, $forum_id = false, $topic_id = false, $post_time = 0, $
$db->sql_freeresult($result); $db->sql_freeresult($result);
$phpbb_notifications->mark_notifications_read_by_parent(array( $phpbb_notifications->mark_notifications_read_by_parent(array(
'quote', 'notification.type.quote',
'bookmark', 'notification.type.bookmark',
'post', 'notification.type.post',
'approve_post', 'notification.type.approve_post',
), $topic_ids, $user->data['user_id'], $post_time); ), $topic_ids, $user->data['user_id'], $post_time);
// Add 0 to forums array to mark global announcements correctly // Add 0 to forums array to mark global announcements correctly
@ -1334,15 +1334,15 @@ function markread($mode, $forum_id = false, $topic_id = false, $post_time = 0, $
// Mark post notifications read for this user in this topic // Mark post notifications read for this user in this topic
$phpbb_notifications->mark_notifications_read(array( $phpbb_notifications->mark_notifications_read(array(
'topic', 'notification.type.topic',
'approve_topic', 'notification.type.approve_topic',
), $topic_id, $user->data['user_id'], $post_time); ), $topic_id, $user->data['user_id'], $post_time);
$phpbb_notifications->mark_notifications_read_by_parent(array( $phpbb_notifications->mark_notifications_read_by_parent(array(
'quote', 'notification.type.quote',
'bookmark', 'notification.type.bookmark',
'post', 'notification.type.post',
'approve_post', 'notification.type.approve_post',
), $topic_id, $user->data['user_id'], $post_time); ), $topic_id, $user->data['user_id'], $post_time);
if ($config['load_db_lastread'] && $user->data['is_registered']) if ($config['load_db_lastread'] && $user->data['is_registered'])

View file

@ -722,9 +722,9 @@ function delete_topics($where_type, $where_ids, $auto_sync = true, $post_count_s
$phpbb_notifications = $phpbb_container->get('notification_manager'); $phpbb_notifications = $phpbb_container->get('notification_manager');
$phpbb_notifications->delete_notifications(array( $phpbb_notifications->delete_notifications(array(
'topic', 'notification.type.topic',
'approve_topic', 'notification.type.approve_topic',
'topic_in_queue', 'notification.type.topic_in_queue',
), $topic_ids); ), $topic_ids);
return $return; return $return;
@ -739,9 +739,9 @@ function delete_posts($where_type, $where_ids, $auto_sync = true, $posted_sync =
// Notifications types to delete // Notifications types to delete
$delete_notifications_types = array( $delete_notifications_types = array(
'quote', 'notification.type.quote',
'approve_post', 'notification.type.approve_post',
'post_in_queue', 'notification.type.post_in_queue',
); );
/** /**

View file

@ -2256,17 +2256,17 @@ function submit_post($mode, $subject, $username, $topic_type, &$poll, &$data, $u
{ {
case 'post': case 'post':
$phpbb_notifications->add_notifications(array( $phpbb_notifications->add_notifications(array(
'quote', 'notification.type.quote',
'topic', 'notification.type.topic',
), $notification_data); ), $notification_data);
break; break;
case 'reply': case 'reply':
case 'quote': case 'quote':
$phpbb_notifications->add_notifications(array( $phpbb_notifications->add_notifications(array(
'quote', 'notification.type.quote',
'bookmark', 'notification.type.bookmark',
'post', 'notification.type.post',
), $notification_data); ), $notification_data);
break; break;
@ -2275,10 +2275,10 @@ function submit_post($mode, $subject, $username, $topic_type, &$poll, &$data, $u
case 'edit': case 'edit':
case 'edit_last_post': case 'edit_last_post':
$phpbb_notifications->update_notifications(array( $phpbb_notifications->update_notifications(array(
'quote', 'notification.type.quote',
'bookmark', 'notification.type.bookmark',
'topic', 'notification.type.topic',
'post', 'notification.type.post',
), $notification_data); ), $notification_data);
break; break;
} }
@ -2288,12 +2288,12 @@ function submit_post($mode, $subject, $username, $topic_type, &$poll, &$data, $u
switch ($mode) switch ($mode)
{ {
case 'post': case 'post':
$phpbb_notifications->add_notifications('topic_in_queue', $notification_data); $phpbb_notifications->add_notifications('notification.type.topic_in_queue', $notification_data);
break; break;
case 'reply': case 'reply':
case 'quote': case 'quote':
$phpbb_notifications->add_notifications('post_in_queue', $notification_data); $phpbb_notifications->add_notifications('notification.type.post_in_queue', $notification_data);
break; break;
case 'edit_topic': case 'edit_topic':
@ -2310,20 +2310,20 @@ function submit_post($mode, $subject, $username, $topic_type, &$poll, &$data, $u
{ {
case 'edit_topic': case 'edit_topic':
case 'edit_first_post': case 'edit_first_post':
$phpbb_notifications->add_notifications('topic_in_queue', $notification_data); $phpbb_notifications->add_notifications('notification.type.topic_in_queue', $notification_data);
// Delete the approve_post notification so we can notify the user again, // Delete the approve_post notification so we can notify the user again,
// when his post got reapproved // when his post got reapproved
$phpbb_notifications->delete_notifications('approve_post', $notification_data['post_id']); $phpbb_notifications->delete_notifications('notification.type.approve_post', $notification_data['post_id']);
break; break;
case 'edit': case 'edit':
case 'edit_last_post': case 'edit_last_post':
$phpbb_notifications->add_notifications('post_in_queue', $notification_data); $phpbb_notifications->add_notifications('notification.type.post_in_queue', $notification_data);
// Delete the approve_post notification so we can notify the user again, // Delete the approve_post notification so we can notify the user again,
// when his post got reapproved // when his post got reapproved
$phpbb_notifications->delete_notifications('approve_post', $notification_data['post_id']); $phpbb_notifications->delete_notifications('notification.type.approve_post', $notification_data['post_id']);
break; break;
case 'post': case 'post':

View file

@ -883,7 +883,7 @@ function update_unread_status($unread, $msg_id, $user_id, $folder_id)
$phpbb_notifications = $phpbb_container->get('notification_manager'); $phpbb_notifications = $phpbb_container->get('notification_manager');
$phpbb_notifications->mark_notifications_read('pm', $msg_id, $user_id); $phpbb_notifications->mark_notifications_read('notification.type.pm', $msg_id, $user_id);
$sql = 'UPDATE ' . PRIVMSGS_TO_TABLE . " $sql = 'UPDATE ' . PRIVMSGS_TO_TABLE . "
SET pm_unread = 0 SET pm_unread = 0
@ -1114,7 +1114,7 @@ function delete_pm($user_id, $msg_ids, $folder_id)
$phpbb_notifications = $phpbb_container->get('notification_manager'); $phpbb_notifications = $phpbb_container->get('notification_manager');
$phpbb_notifications->delete_notifications('pm', array_keys($delete_rows)); $phpbb_notifications->delete_notifications('notification.type.pm', array_keys($delete_rows));
// Now we have to check which messages we can delete completely // Now we have to check which messages we can delete completely
$sql = 'SELECT msg_id $sql = 'SELECT msg_id
@ -1296,7 +1296,7 @@ function phpbb_delete_users_pms($user_ids)
AND ' . $db->sql_in_set('msg_id', $delivered_msg); AND ' . $db->sql_in_set('msg_id', $delivered_msg);
$db->sql_query($sql); $db->sql_query($sql);
$phpbb_notifications->delete_notifications('pm', $delivered_msg); $phpbb_notifications->delete_notifications('notification.type.pm', $delivered_msg);
} }
if (!empty($undelivered_msg)) if (!empty($undelivered_msg))
@ -1309,7 +1309,7 @@ function phpbb_delete_users_pms($user_ids)
WHERE ' . $db->sql_in_set('msg_id', $undelivered_msg); WHERE ' . $db->sql_in_set('msg_id', $undelivered_msg);
$db->sql_query($sql); $db->sql_query($sql);
$phpbb_notifications->delete_notifications('pm', $undelivered_msg); $phpbb_notifications->delete_notifications('notification.type.pm', $undelivered_msg);
} }
} }
@ -1353,7 +1353,7 @@ function phpbb_delete_users_pms($user_ids)
WHERE ' . $db->sql_in_set('msg_id', $delete_ids); WHERE ' . $db->sql_in_set('msg_id', $delete_ids);
$db->sql_query($sql); $db->sql_query($sql);
$phpbb_notifications->delete_notifications('pm', $delete_ids); $phpbb_notifications->delete_notifications('notification.type.pm', $delete_ids);
} }
} }
@ -1911,11 +1911,11 @@ function submit_pm($mode, $subject, &$data, $put_in_outbox = true)
if ($mode == 'edit') if ($mode == 'edit')
{ {
$phpbb_notifications->update_notifications('pm', $pm_data); $phpbb_notifications->update_notifications('notification.type.pm', $pm_data);
} }
else else
{ {
$phpbb_notifications->add_notifications('pm', $pm_data); $phpbb_notifications->add_notifications('notification.type.pm', $pm_data);
} }
/** /**

View file

@ -2675,7 +2675,7 @@ function group_user_add($group_id, $user_id_ary = false, $username_ary = false,
foreach ($add_id_ary as $user_id) foreach ($add_id_ary as $user_id)
{ {
$phpbb_notifications->add_notifications('group_request', array( $phpbb_notifications->add_notifications('notification.type.group_request', array(
'group_id' => $group_id, 'group_id' => $group_id,
'user_id' => $user_id, 'user_id' => $user_id,
'group_name' => $group_name, 'group_name' => $group_name,
@ -2832,7 +2832,7 @@ function group_user_del($group_id, $user_id_ary = false, $username_ary = false,
$phpbb_notifications = $phpbb_container->get('notification_manager'); $phpbb_notifications = $phpbb_container->get('notification_manager');
$phpbb_notifications->delete_notifications('group_request', $user_id_ary, $group_id); $phpbb_notifications->delete_notifications('notification.type.group_request', $user_id_ary, $group_id);
// Return false - no error // Return false - no error
return false; return false;
@ -2996,12 +2996,12 @@ function group_user_attributes($action, $group_id, $user_id_ary = false, $userna
$phpbb_notifications = $phpbb_container->get('notification_manager'); $phpbb_notifications = $phpbb_container->get('notification_manager');
$phpbb_notifications->add_notifications('group_request_approved', array( $phpbb_notifications->add_notifications('notification.type.group_request_approved', array(
'user_ids' => $user_id_ary, 'user_ids' => $user_id_ary,
'group_id' => $group_id, 'group_id' => $group_id,
'group_name' => $group_name, 'group_name' => $group_name,
)); ));
$phpbb_notifications->delete_notifications('group_request', $user_id_ary, $group_id); $phpbb_notifications->delete_notifications('notification.type.group_request', $user_id_ary, $group_id);
$log = 'LOG_USERS_APPROVED'; $log = 'LOG_USERS_APPROVED';
break; break;

View file

@ -95,7 +95,7 @@ class mcp_pm_reports
$phpbb_notifications = $phpbb_container->get('notification_manager'); $phpbb_notifications = $phpbb_container->get('notification_manager');
$phpbb_notifications->mark_notifications_read_by_parent('report_pm', $report_id, $user->data['user_id']); $phpbb_notifications->mark_notifications_read_by_parent('notification.type.report_pm', $report_id, $user->data['user_id']);
$pm_id = $report['pm_id']; $pm_id = $report['pm_id'];
$report_id = $report['report_id']; $report_id = $report['report_id'];

View file

@ -165,7 +165,7 @@ class mcp_queue
{ {
$post_id = (int) $topic_info[$topic_id]['topic_first_post_id']; $post_id = (int) $topic_info[$topic_id]['topic_first_post_id'];
$phpbb_notifications->mark_notifications_read('topic_in_queue', $topic_id, $user->data['user_id']); $phpbb_notifications->mark_notifications_read('notification.type.topic_in_queue', $topic_id, $user->data['user_id']);
} }
else else
{ {
@ -173,7 +173,7 @@ class mcp_queue
} }
} }
$phpbb_notifications->mark_notifications_read('post_in_queue', $post_id, $user->data['user_id']); $phpbb_notifications->mark_notifications_read('notification.type.post_in_queue', $post_id, $user->data['user_id']);
$post_info = phpbb_get_post_data(array($post_id), 'm_approve', true); $post_info = phpbb_get_post_data(array($post_id), 'm_approve', true);
@ -701,11 +701,11 @@ class mcp_queue
// A single topic approval may also happen here, so handle deleting the respective notification. // A single topic approval may also happen here, so handle deleting the respective notification.
if (!$post_data['topic_posts_approved']) if (!$post_data['topic_posts_approved'])
{ {
$phpbb_notifications->delete_notifications('topic_in_queue', $post_data['topic_id']); $phpbb_notifications->delete_notifications('notification.type.topic_in_queue', $post_data['topic_id']);
if ($post_data['post_visibility'] == ITEM_UNAPPROVED) if ($post_data['post_visibility'] == ITEM_UNAPPROVED)
{ {
$phpbb_notifications->add_notifications(array('topic'), $post_data); $phpbb_notifications->add_notifications(array('notification.type.topic'), $post_data);
} }
if ($post_data['post_visibility'] != ITEM_APPROVED) if ($post_data['post_visibility'] != ITEM_APPROVED)
{ {
@ -721,18 +721,18 @@ class mcp_queue
if ($post_data['post_visibility'] == ITEM_UNAPPROVED) if ($post_data['post_visibility'] == ITEM_UNAPPROVED)
{ {
$phpbb_notifications->add_notifications(array( $phpbb_notifications->add_notifications(array(
'bookmark', 'notification.type.bookmark',
'post', 'notification.type.post',
), $post_data); ), $post_data);
} }
} }
$phpbb_notifications->add_notifications(array('quote'), $post_data); $phpbb_notifications->add_notifications(array('notification.type.quote'), $post_data);
$phpbb_notifications->delete_notifications('post_in_queue', $post_id); $phpbb_notifications->delete_notifications('notification.type.post_in_queue', $post_id);
$phpbb_notifications->mark_notifications_read(array( $phpbb_notifications->mark_notifications_read(array(
'quote', 'notification.type.quote',
'bookmark', 'notification.type.bookmark',
'post', 'notification.type.post',
), $post_data['post_id'], $user->data['user_id']); ), $post_data['post_id'], $user->data['user_id']);
// Notify Poster? // Notify Poster?
@ -745,11 +745,11 @@ class mcp_queue
if (!$post_data['topic_posts_approved']) if (!$post_data['topic_posts_approved'])
{ {
$phpbb_notifications->add_notifications('approve_post', $post_data); $phpbb_notifications->add_notifications('notification.type.approve_post', $post_data);
} }
else else
{ {
$phpbb_notifications->add_notifications('approve_topic', $post_data); $phpbb_notifications->add_notifications('notification.type.approve_topic', $post_data);
} }
} }
} }
@ -921,7 +921,7 @@ class mcp_queue
'post_username' => $topic_data['topic_first_poster_name'], 'post_username' => $topic_data['topic_first_poster_name'],
)); ));
$phpbb_notifications->delete_notifications('topic_in_queue', $topic_id); $phpbb_notifications->delete_notifications('notification.type.topic_in_queue', $topic_id);
// Only add notifications, if we are not reapproving post // Only add notifications, if we are not reapproving post
// When the topic was already approved, but was edited and // When the topic was already approved, but was edited and
@ -930,17 +930,17 @@ class mcp_queue
if ($topic_data['topic_visibility'] == ITEM_UNAPPROVED) if ($topic_data['topic_visibility'] == ITEM_UNAPPROVED)
{ {
$phpbb_notifications->add_notifications(array( $phpbb_notifications->add_notifications(array(
'quote', 'notification.type.quote',
'topic', 'notification.type.topic',
), $topic_data); ), $topic_data);
} }
$phpbb_notifications->mark_notifications_read('quote', $topic_data['post_id'], $user->data['user_id']); $phpbb_notifications->mark_notifications_read('notification.type.quote', $topic_data['post_id'], $user->data['user_id']);
$phpbb_notifications->mark_notifications_read('topic', $topic_id, $user->data['user_id']); $phpbb_notifications->mark_notifications_read('notification.type.topic', $topic_id, $user->data['user_id']);
if ($notify_poster) if ($notify_poster)
{ {
$phpbb_notifications->add_notifications('approve_topic', $topic_data); $phpbb_notifications->add_notifications('notification.type.approve_topic', $topic_data);
} }
} }
} }
@ -1178,12 +1178,12 @@ class mcp_queue
$topic_information[$topic_id]['topic_posts_softdeleted'] == 0 && $topic_information[$topic_id]['topic_posts_softdeleted'] == 0 &&
$topic_information[$topic_id]['topic_posts_unapproved'] == $topic_posts_unapproved[$topic_id]; $topic_information[$topic_id]['topic_posts_unapproved'] == $topic_posts_unapproved[$topic_id];
$phpbb_notifications->delete_notifications('post_in_queue', $post_id); $phpbb_notifications->delete_notifications('notification.type.post_in_queue', $post_id);
// Do we disapprove the whole topic? Remove potential notifications // Do we disapprove the whole topic? Remove potential notifications
if ($disapprove_all_posts_in_topic) if ($disapprove_all_posts_in_topic)
{ {
$phpbb_notifications->delete_notifications('topic_in_queue', $post_data['topic_id']); $phpbb_notifications->delete_notifications('notification.type.topic_in_queue', $post_data['topic_id']);
} }
// Notify Poster? // Notify Poster?
@ -1228,13 +1228,13 @@ class mcp_queue
{ {
// If there is only 1 post when disapproving the topic, // If there is only 1 post when disapproving the topic,
// we send the user a "disapprove topic" notification... // we send the user a "disapprove topic" notification...
$phpbb_notifications->add_notifications('disapprove_topic', $post_data); $phpbb_notifications->add_notifications('notification.type.disapprove_topic', $post_data);
} }
else else
{ {
// ... otherwise there are multiple unapproved posts and // ... otherwise there are multiple unapproved posts and
// all of them are disapproved as posts. // all of them are disapproved as posts.
$phpbb_notifications->add_notifications('disapprove_post', $post_data); $phpbb_notifications->add_notifications('notification.type.disapprove_post', $post_data);
} }
} }
} }

View file

@ -92,7 +92,7 @@ class mcp_reports
$phpbb_notifications = $phpbb_container->get('notification_manager'); $phpbb_notifications = $phpbb_container->get('notification_manager');
$phpbb_notifications->mark_notifications_read('report_post', $post_id, $user->data['user_id']); $phpbb_notifications->mark_notifications_read('notification.type.report_post', $post_id, $user->data['user_id']);
if (!$report_id && $report['report_closed']) if (!$report_id && $report['report_closed'])
{ {
@ -631,12 +631,12 @@ function close_report($report_id_list, $mode, $action, $pm = false)
if ($pm) if ($pm)
{ {
add_log('mod', 0, 0, 'LOG_PM_REPORT_' . strtoupper($action) . 'D', $post_info[$report['pm_id']]['message_subject']); add_log('mod', 0, 0, 'LOG_PM_REPORT_' . strtoupper($action) . 'D', $post_info[$report['pm_id']]['message_subject']);
$phpbb_notifications->delete_notifications('report_pm', $report['pm_id']); $phpbb_notifications->delete_notifications('notification.type.report_pm', $report['pm_id']);
} }
else else
{ {
add_log('mod', $post_info[$report['post_id']]['forum_id'], $post_info[$report['post_id']]['topic_id'], 'LOG_REPORT_' . strtoupper($action) . 'D', $post_info[$report['post_id']]['post_subject']); add_log('mod', $post_info[$report['post_id']]['forum_id'], $post_info[$report['post_id']]['topic_id'], 'LOG_REPORT_' . strtoupper($action) . 'D', $post_info[$report['post_id']]['post_subject']);
$phpbb_notifications->delete_notifications('report_post', $report['post_id']); $phpbb_notifications->delete_notifications('notification.type.report_post', $report['post_id']);
} }
} }
@ -654,7 +654,7 @@ function close_report($report_id_list, $mode, $action, $pm = false)
if ($pm) if ($pm)
{ {
$phpbb_notifications->add_notifications('report_pm_closed', array_merge($post_info[$post_id], array( $phpbb_notifications->add_notifications('notification.type.report_pm_closed', array_merge($post_info[$post_id], array(
'reporter' => $reporter['user_id'], 'reporter' => $reporter['user_id'],
'closer_id' => $user->data['user_id'], 'closer_id' => $user->data['user_id'],
'from_user_id' => $post_info[$post_id]['author_id'], 'from_user_id' => $post_info[$post_id]['author_id'],
@ -662,7 +662,7 @@ function close_report($report_id_list, $mode, $action, $pm = false)
} }
else else
{ {
$phpbb_notifications->add_notifications('report_post_closed', array_merge($post_info[$post_id], array( $phpbb_notifications->add_notifications('notification.type.report_post_closed', array_merge($post_info[$post_id], array(
'reporter' => $reporter['user_id'], 'reporter' => $reporter['user_id'],
'closer_id' => $user->data['user_id'], 'closer_id' => $user->data['user_id'],
))); )));

View file

@ -111,7 +111,7 @@ class ucp_activate
if ($config['require_activation'] == USER_ACTIVATION_ADMIN && !$update_password) if ($config['require_activation'] == USER_ACTIVATION_ADMIN && !$update_password)
{ {
$phpbb_notifications = $phpbb_container->get('notification_manager'); $phpbb_notifications = $phpbb_container->get('notification_manager');
$phpbb_notifications->delete_notifications('admin_activate_user', $user_row['user_id']); $phpbb_notifications->delete_notifications('notification.type.admin_activate_user', $user_row['user_id']);
include_once($phpbb_root_path . 'includes/functions_messenger.' . $phpEx); include_once($phpbb_root_path . 'includes/functions_messenger.' . $phpEx);

View file

@ -58,21 +58,21 @@ class ucp_notifications
{ {
foreach($notification_methods as $method => $method_data) foreach($notification_methods as $method => $method_data)
{ {
if ($request->is_set_post($type . '_' . $method_data['id']) && (!isset($subscriptions[$type]) || !in_array($method_data['id'], $subscriptions[$type]))) if ($request->is_set_post(str_replace('.', '_', $type . '_' . $method_data['id'])) && (!isset($subscriptions[$type]) || !in_array($method_data['id'], $subscriptions[$type])))
{ {
$phpbb_notifications->add_subscription($type, 0, $method_data['id']); $phpbb_notifications->add_subscription($type, 0, $method_data['id']);
} }
else if (!$request->is_set_post($type . '_' . $method_data['id']) && isset($subscriptions[$type]) && in_array($method_data['id'], $subscriptions[$type])) else if (!$request->is_set_post(str_replace('.', '_', $type . '_' . $method_data['id'])) && isset($subscriptions[$type]) && in_array($method_data['id'], $subscriptions[$type]))
{ {
$phpbb_notifications->delete_subscription($type, 0, $method_data['id']); $phpbb_notifications->delete_subscription($type, 0, $method_data['id']);
} }
} }
if ($request->is_set_post($type . '_notification') && !isset($subscriptions[$type])) if ($request->is_set_post(str_replace('.', '_', $type) . '_notification') && !isset($subscriptions[$type]))
{ {
$phpbb_notifications->add_subscription($type); $phpbb_notifications->add_subscription($type);
} }
else if (!$request->is_set_post($type . '_notification') && isset($subscriptions[$type])) else if (!$request->is_set_post(str_replace('.', '_', $type) . '_notification') && isset($subscriptions[$type]))
{ {
$phpbb_notifications->delete_subscription($type); $phpbb_notifications->delete_subscription($type);
} }

View file

@ -389,7 +389,7 @@ class ucp_register
if ($config['require_activation'] == USER_ACTIVATION_ADMIN) if ($config['require_activation'] == USER_ACTIVATION_ADMIN)
{ {
$phpbb_notifications = $phpbb_container->get('notification_manager'); $phpbb_notifications = $phpbb_container->get('notification_manager');
$phpbb_notifications->add_notifications('admin_activate_user', array( $phpbb_notifications->add_notifications('notification.type.admin_activate_user', array(
'user_id' => $user_id, 'user_id' => $user_id,
'user_actkey' => $user_row['user_actkey'], 'user_actkey' => $user_row['user_actkey'],
'user_regdate' => $user_row['user_regdate'], 'user_regdate' => $user_row['user_regdate'],

View file

@ -813,9 +813,9 @@ INSERT INTO phpbb_profile_fields (field_name, field_type, field_ident, field_len
INSERT INTO phpbb_profile_fields (field_name, field_type, field_ident, field_length, field_minlen, field_maxlen, field_novalue, field_default_value, field_validation, field_required, field_show_novalue, field_show_on_reg, field_show_on_pm, field_show_on_vt, field_show_on_ml, field_show_profile, field_hide, field_no_view, field_active, field_order, field_is_contact, field_contact_desc, field_contact_url) VALUES ('phpbb_googleplus', 'profilefields.type.googleplus', 'phpbb_googleplus', '20', '3', '255', '', '', '[\w]+', 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 13, 1, 'VIEW_GOOGLEPLUS_PROFILE', 'http://plus.google.com/%s'); INSERT INTO phpbb_profile_fields (field_name, field_type, field_ident, field_length, field_minlen, field_maxlen, field_novalue, field_default_value, field_validation, field_required, field_show_novalue, field_show_on_reg, field_show_on_pm, field_show_on_vt, field_show_on_ml, field_show_profile, field_hide, field_no_view, field_active, field_order, field_is_contact, field_contact_desc, field_contact_url) VALUES ('phpbb_googleplus', 'profilefields.type.googleplus', 'phpbb_googleplus', '20', '3', '255', '', '', '[\w]+', 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 13, 1, 'VIEW_GOOGLEPLUS_PROFILE', 'http://plus.google.com/%s');
# User Notification Options (for first user) # User Notification Options (for first user)
INSERT INTO phpbb_user_notifications (item_type, item_id, user_id, method) VALUES('post', 0, 2, ''); INSERT INTO phpbb_user_notifications (item_type, item_id, user_id, method) VALUES('notification.type.post', 0, 2, '');
INSERT INTO phpbb_user_notifications (item_type, item_id, user_id, method) VALUES('post', 0, 2, 'email'); INSERT INTO phpbb_user_notifications (item_type, item_id, user_id, method) VALUES('notification.type.post', 0, 2, 'notification.method.email');
INSERT INTO phpbb_user_notifications (item_type, item_id, user_id, method) VALUES('topic', 0, 2, ''); INSERT INTO phpbb_user_notifications (item_type, item_id, user_id, method) VALUES('notification.type.topic', 0, 2, '');
INSERT INTO phpbb_user_notifications (item_type, item_id, user_id, method) VALUES('topic', 0, 2, 'email'); INSERT INTO phpbb_user_notifications (item_type, item_id, user_id, method) VALUES('notification.type.topic', 0, 2, 'notification.method.email');
# POSTGRES COMMIT # # POSTGRES COMMIT #

View file

@ -0,0 +1,117 @@
<?php
/**
*
* This file is part of the phpBB Forum Software package.
*
* @copyright (c) phpBB Limited <https://www.phpbb.com>
* @license GNU General Public License, version 2 (GPL-2.0)
*
* For full copyright and license information, please see
* the docs/CREDITS.txt file.
*
*/
namespace phpbb\db\migration\data\v310;
class notifications_use_full_name extends \phpbb\db\migration\migration
{
protected $notification_types = array(
'admin_activate_user',
'approve_post',
'approve_topic',
'bookmark',
'disapprove_post',
'disapprove_topic',
'group_request',
'group_request_approved',
'pm',
'post',
'post_in_queue',
'quote',
'report_pm',
'report_pm_closed',
'report_post',
'report_post_closed',
'topic',
'topic_in_queue');
protected $notification_methods = array(
'email',
'jabber',
);
static public function depends_on()
{
return array('\phpbb\db\migration\data\v310\rc3');
}
public function update_data()
{
return array(
array('custom', array(array($this, 'update_notifications_name'))),
array('custom', array(array($this, 'update_notifications_method_name'))),
);
}
public function revert_data()
{
return array(
array('custom', array(array($this, 'revert_notifications_name'))),
array('custom', array(array($this, 'revert_notifications_method_name'))),
);
}
public function update_notifications_method_name()
{
foreach ($this->notification_methods as $notification_method)
{
$sql = 'UPDATE ' . USER_NOTIFICATIONS_TABLE . "
SET method = 'notification.method.${notification_method}'
WHERE method = '${notification_method}'";
$this->db->sql_query($sql);
}
}
public function revert_notifications_method_name()
{
foreach ($this->notification_methods as $notification_method)
{
$sql = 'UPDATE ' . USER_NOTIFICATIONS_TABLE . "
SET method = '${notification_method}'
WHERE method = 'notification.method.${notification_method}'";
$this->db->sql_query($sql);
}
}
public function update_notifications_name()
{
foreach ($this->notification_types as $notification_type)
{
$sql = 'UPDATE ' . NOTIFICATION_TYPES_TABLE . "
SET notification_type_name = 'notification.type.${notification_type}'
WHERE notification_type_name = '${notification_type}'";
$this->db->sql_query($sql);
$sql = 'UPDATE ' . USER_NOTIFICATIONS_TABLE . "
SET item_type = 'notification.type.${notification_type}'
WHERE item_type = '${notification_type}'";
$this->db->sql_query($sql);
}
}
public function revert_notifications_name()
{
foreach ($this->notification_types as $notification_type)
{
$sql = 'UPDATE ' . NOTIFICATION_TYPES_TABLE . "
SET notification_type_name = '${notification_type}'
WHERE notification_type_name = 'notification.type.${notification_type}'";
$this->db->sql_query($sql);
$sql = 'UPDATE ' . USER_NOTIFICATIONS_TABLE . "
SET item_type = '${notification_type}'
WHERE item_type = 'notification.type.${notification_type}'";
$this->db->sql_query($sql);
}
}
}

View file

@ -570,7 +570,7 @@ class manager
{ {
$subscription_methods[$method_name] = array( $subscription_methods[$method_name] = array(
'id' => $method->get_type(), 'id' => $method->get_type(),
'lang' => 'NOTIFICATION_METHOD_' . strtoupper($method->get_type()), 'lang' => str_replace('.', '_', strtoupper($method->get_type())),
); );
} }
} }
@ -851,8 +851,6 @@ class manager
*/ */
public function get_item_type_class($notification_type_name, $data = array()) public function get_item_type_class($notification_type_name, $data = array())
{ {
$notification_type_name = (strpos($notification_type_name, 'notification.type.') === 0) ? $notification_type_name : 'notification.type.' . $notification_type_name;
$item = $this->load_object($notification_type_name); $item = $this->load_object($notification_type_name);
$item->set_initial_data($data); $item->set_initial_data($data);
@ -865,8 +863,6 @@ class manager
*/ */
public function get_method_class($method_name) public function get_method_class($method_name)
{ {
$method_name = (strpos($method_name, 'notification.method.') === 0) ? $method_name : 'notification.method.' . $method_name;
return $this->load_object($method_name); return $this->load_object($method_name);
} }

View file

@ -27,7 +27,7 @@ class email extends \phpbb\notification\method\messenger_base
*/ */
public function get_type() public function get_type()
{ {
return 'email'; return 'notification.method.email';
} }
/** /**

View file

@ -27,7 +27,7 @@ class jabber extends \phpbb\notification\method\messenger_base
*/ */
public function get_type() public function get_type()
{ {
return 'jabber'; return 'notification.method.jabber';
} }
/** /**

View file

@ -25,7 +25,7 @@ class admin_activate_user extends \phpbb\notification\type\base
*/ */
public function get_type() public function get_type()
{ {
return 'admin_activate_user'; return 'notification.type.admin_activate_user';
} }
/** /**

View file

@ -27,7 +27,7 @@ class approve_post extends \phpbb\notification\type\post
*/ */
public function get_type() public function get_type()
{ {
return 'approve_post'; return 'notification.type.approve_post';
} }
/** /**

View file

@ -27,7 +27,7 @@ class approve_topic extends \phpbb\notification\type\topic
*/ */
public function get_type() public function get_type()
{ {
return 'approve_topic'; return 'notification.type.approve_topic';
} }
/** /**

View file

@ -27,7 +27,7 @@ class bookmark extends \phpbb\notification\type\post
*/ */
public function get_type() public function get_type()
{ {
return 'bookmark'; return 'notification.type.bookmark';
} }
/** /**

View file

@ -27,7 +27,7 @@ class disapprove_post extends \phpbb\notification\type\approve_post
*/ */
public function get_type() public function get_type()
{ {
return 'disapprove_post'; return 'notification.type.disapprove_post';
} }
/** /**

View file

@ -27,7 +27,7 @@ class disapprove_topic extends \phpbb\notification\type\approve_topic
*/ */
public function get_type() public function get_type()
{ {
return 'disapprove_topic'; return 'notification.type.disapprove_topic';
} }
/** /**

View file

@ -20,7 +20,7 @@ class group_request extends \phpbb\notification\type\base
*/ */
public function get_type() public function get_type()
{ {
return 'group_request'; return 'notification.type.group_request';
} }
/** /**

View file

@ -20,7 +20,7 @@ class group_request_approved extends \phpbb\notification\type\base
*/ */
public function get_type() public function get_type()
{ {
return 'group_request_approved'; return 'notification.type.group_request_approved';
} }
/** /**

View file

@ -27,7 +27,7 @@ class pm extends \phpbb\notification\type\base
*/ */
public function get_type() public function get_type()
{ {
return 'pm'; return 'notification.type.pm';
} }
/** /**

View file

@ -27,7 +27,7 @@ class post extends \phpbb\notification\type\base
*/ */
public function get_type() public function get_type()
{ {
return 'post'; return 'notification.type.post';
} }
/** /**

View file

@ -27,7 +27,7 @@ class post_in_queue extends \phpbb\notification\type\post
*/ */
public function get_type() public function get_type()
{ {
return 'post_in_queue'; return 'notification.type.post_in_queue';
} }
/** /**
@ -44,7 +44,7 @@ class post_in_queue extends \phpbb\notification\type\post
* Array of data (including keys 'id', 'lang', and 'group') * Array of data (including keys 'id', 'lang', and 'group')
*/ */
public static $notification_option = array( public static $notification_option = array(
'id' => 'needs_approval', 'id' => 'notification.type.needs_approval',
'lang' => 'NOTIFICATION_TYPE_IN_MODERATION_QUEUE', 'lang' => 'NOTIFICATION_TYPE_IN_MODERATION_QUEUE',
'group' => 'NOTIFICATION_GROUP_MODERATION', 'group' => 'NOTIFICATION_GROUP_MODERATION',
); );

View file

@ -27,7 +27,7 @@ class quote extends \phpbb\notification\type\post
*/ */
public function get_type() public function get_type()
{ {
return 'quote'; return 'notification.type.quote';
} }
/** /**

View file

@ -27,7 +27,7 @@ class report_pm extends \phpbb\notification\type\pm
*/ */
public function get_type() public function get_type()
{ {
return 'report_pm'; return 'notification.type.report_pm';
} }
/** /**
@ -61,7 +61,7 @@ class report_pm extends \phpbb\notification\type\pm
* Array of data (including keys 'id', 'lang', and 'group') * Array of data (including keys 'id', 'lang', and 'group')
*/ */
public static $notification_option = array( public static $notification_option = array(
'id' => 'report', 'id' => 'notification.type.report',
'lang' => 'NOTIFICATION_TYPE_REPORT', 'lang' => 'NOTIFICATION_TYPE_REPORT',
'group' => 'NOTIFICATION_GROUP_MODERATION', 'group' => 'NOTIFICATION_GROUP_MODERATION',
); );

View file

@ -27,7 +27,7 @@ class report_pm_closed extends \phpbb\notification\type\pm
*/ */
public function get_type() public function get_type()
{ {
return 'report_pm_closed'; return 'notification.type.report_pm_closed';
} }
/** /**

View file

@ -26,7 +26,7 @@ class report_post extends \phpbb\notification\type\post_in_queue
*/ */
public function get_type() public function get_type()
{ {
return 'report_post'; return 'notification.type.report_post';
} }
/** /**
@ -67,7 +67,7 @@ class report_post extends \phpbb\notification\type\post_in_queue
* Array of data (including keys 'id' and 'lang') * Array of data (including keys 'id' and 'lang')
*/ */
public static $notification_option = array( public static $notification_option = array(
'id' => 'report', 'id' => 'notification.type.report',
'lang' => 'NOTIFICATION_TYPE_REPORT', 'lang' => 'NOTIFICATION_TYPE_REPORT',
'group' => 'NOTIFICATION_GROUP_MODERATION', 'group' => 'NOTIFICATION_GROUP_MODERATION',
); );

View file

@ -27,7 +27,7 @@ class report_post_closed extends \phpbb\notification\type\post
*/ */
public function get_type() public function get_type()
{ {
return 'report_post_closed'; return 'notification.type.report_post_closed';
} }
/** /**

View file

@ -27,7 +27,7 @@ class topic extends \phpbb\notification\type\base
*/ */
public function get_type() public function get_type()
{ {
return 'topic'; return 'notification.type.topic';
} }
/** /**

View file

@ -27,7 +27,7 @@ class topic_in_queue extends \phpbb\notification\type\topic
*/ */
public function get_type() public function get_type()
{ {
return 'topic_in_queue'; return 'notification.type.topic_in_queue';
} }
/** /**
@ -44,7 +44,7 @@ class topic_in_queue extends \phpbb\notification\type\topic
* Array of data (including keys 'id', 'lang', and 'group') * Array of data (including keys 'id', 'lang', and 'group')
*/ */
public static $notification_option = array( public static $notification_option = array(
'id' => 'needs_approval', 'id' => 'notification.type.needs_approval',
'lang' => 'NOTIFICATION_TYPE_IN_MODERATION_QUEUE', 'lang' => 'NOTIFICATION_TYPE_IN_MODERATION_QUEUE',
'group' => 'NOTIFICATION_GROUP_MODERATION', 'group' => 'NOTIFICATION_GROUP_MODERATION',
); );

View file

@ -231,7 +231,7 @@ if ($submit && $reason_id)
$lang_return = $user->lang['RETURN_TOPIC']; $lang_return = $user->lang['RETURN_TOPIC'];
$lang_success = $user->lang['POST_REPORTED_SUCCESS']; $lang_success = $user->lang['POST_REPORTED_SUCCESS'];
$phpbb_notifications->add_notifications('report_post', array_merge($report_data, $row, $forum_data, array( $phpbb_notifications->add_notifications('notification.type.report_post', array_merge($report_data, $row, $forum_data, array(
'report_text' => $report_text, 'report_text' => $report_text,
))); )));
} }
@ -261,7 +261,7 @@ if ($submit && $reason_id)
$lang_return = $user->lang['RETURN_PM']; $lang_return = $user->lang['RETURN_PM'];
$lang_success = $user->lang['PM_REPORTED_SUCCESS']; $lang_success = $user->lang['PM_REPORTED_SUCCESS'];
$phpbb_notifications->add_notifications('report_pm', array_merge($report_data, $row, array( $phpbb_notifications->add_notifications('notification.type.report_pm', array_merge($report_data, $row, array(
'report_text' => $report_text, 'report_text' => $report_text,
'from_user_id' => $report_data['author_id'], 'from_user_id' => $report_data['author_id'],
'report_id' => $report_id, 'report_id' => $report_id,

View file

@ -21,20 +21,20 @@ class phpbb_functional_notification_test extends phpbb_functional_test_case
return array( return array(
// Rows inserted by phpBB/install/schemas/schema_data.sql // Rows inserted by phpBB/install/schemas/schema_data.sql
// Also see PHPBB3-11460 // Also see PHPBB3-11460
array('post_notification', true), array('notification.type.post_notification', true),
array('topic_notification', true), array('notification.type.topic_notification', true),
array('post_email', true), array('notification.type.post_notification.method.email', true),
array('topic_email', true), array('notification.type.topic_notification.method.email', true),
// Default behaviour for in-board notifications: // Default behaviour for in-board notifications:
// If user did not opt-out, in-board notifications are on. // If user did not opt-out, in-board notifications are on.
array('bookmark_notification', true), array('notification.type.bookmark_notification', true),
array('quote_notification', true), array('notification.type.quote_notification', true),
// Default behaviour for email notifications: // Default behaviour for email notifications:
// If user did not opt-in, email notifications are off. // If user did not opt-in, email notifications are off.
array('bookmark_email', false), array('notification.type.bookmark_notification.method.email', false),
array('quote_email', false), array('notification.type.quote_notification.method.email', false),
); );
} }

View file

@ -21,21 +21,21 @@ abstract class phpbb_tests_notification_base extends phpbb_database_test_case
{ {
return array( return array(
'test', 'test',
'approve_post', 'notification.type.approve_post',
'approve_topic', 'notification.type.approve_topic',
'bookmark', 'notification.type.bookmark',
'disapprove_post', 'notification.type.disapprove_post',
'disapprove_topic', 'notification.type.disapprove_topic',
'pm', 'notification.type.pm',
'post', 'notification.type.post',
'post_in_queue', 'notification.type.post_in_queue',
'quote', 'notification.type.quote',
'report_pm', 'notification.type.report_pm',
'report_pm_closed', 'notification.type.report_pm_closed',
'report_post', 'notification.type.report_post',
'report_post_closed', 'notification.type.report_post_closed',
'topic', 'notification.type.topic',
'topic_in_queue', 'notification.type.topic_in_queue',
); );
} }
@ -92,10 +92,11 @@ abstract class phpbb_tests_notification_base extends phpbb_database_test_case
$types = array(); $types = array();
foreach ($this->get_notification_types() as $type) foreach ($this->get_notification_types() as $type)
{ {
$class = $this->build_type('phpbb\notification\type\\' . $type); $type_parts = explode('.', $type);
$class = $this->build_type('phpbb\notification\type\\' . array_pop($type_parts));
$types[$type] = $class; $types[$type] = $class;
$this->container->set('notification.type.' . $type, $class); $this->container->set($type, $class);
} }
$this->notifications->set_var('notification_types', $types); $this->notifications->set_var('notification_types', $types);

View file

@ -50,7 +50,7 @@
<column>notification_type_enabled</column> <column>notification_type_enabled</column>
<row> <row>
<value>1</value> <value>1</value>
<value>bookmark</value> <value>notification.type.bookmark</value>
<value>1</value> <value>1</value>
</row> </row>
</table> </table>
@ -123,35 +123,35 @@
<column>method</column> <column>method</column>
<column>notify</column> <column>notify</column>
<row> <row>
<value>bookmark</value> <value>notification.type.bookmark</value>
<value>0</value> <value>0</value>
<value>2</value> <value>2</value>
<value></value> <value></value>
<value>1</value> <value>1</value>
</row> </row>
<row> <row>
<value>bookmark</value> <value>notification.type.bookmark</value>
<value>0</value> <value>0</value>
<value>3</value> <value>3</value>
<value></value> <value></value>
<value>1</value> <value>1</value>
</row> </row>
<row> <row>
<value>bookmark</value> <value>notification.type.bookmark</value>
<value>0</value> <value>0</value>
<value>4</value> <value>4</value>
<value></value> <value></value>
<value>1</value> <value>1</value>
</row> </row>
<row> <row>
<value>bookmark</value> <value>notification.type.bookmark</value>
<value>0</value> <value>0</value>
<value>5</value> <value>5</value>
<value></value> <value></value>
<value>1</value> <value>1</value>
</row> </row>
<row> <row>
<value>bookmark</value> <value>notification.type.bookmark</value>
<value>0</value> <value>0</value>
<value>6</value> <value>6</value>
<value></value> <value></value>

View file

@ -50,7 +50,7 @@
<column>notification_type_enabled</column> <column>notification_type_enabled</column>
<row> <row>
<value>1</value> <value>1</value>
<value>post</value> <value>notification.type.post</value>
<value>1</value> <value>1</value>
</row> </row>
</table> </table>
@ -153,49 +153,49 @@
<column>method</column> <column>method</column>
<column>notify</column> <column>notify</column>
<row> <row>
<value>post</value> <value>notification.type.post</value>
<value>0</value> <value>0</value>
<value>2</value> <value>2</value>
<value></value> <value></value>
<value>1</value> <value>1</value>
</row> </row>
<row> <row>
<value>post</value> <value>notification.type.post</value>
<value>0</value> <value>0</value>
<value>3</value> <value>3</value>
<value></value> <value></value>
<value>1</value> <value>1</value>
</row> </row>
<row> <row>
<value>post</value> <value>notification.type.post</value>
<value>0</value> <value>0</value>
<value>4</value> <value>4</value>
<value></value> <value></value>
<value>1</value> <value>1</value>
</row> </row>
<row> <row>
<value>post</value> <value>notification.type.post</value>
<value>0</value> <value>0</value>
<value>5</value> <value>5</value>
<value></value> <value></value>
<value>1</value> <value>1</value>
</row> </row>
<row> <row>
<value>post</value> <value>notification.type.post</value>
<value>0</value> <value>0</value>
<value>6</value> <value>6</value>
<value></value> <value></value>
<value>1</value> <value>1</value>
</row> </row>
<row> <row>
<value>post</value> <value>notification.type.post</value>
<value>0</value> <value>0</value>
<value>7</value> <value>7</value>
<value></value> <value></value>
<value>1</value> <value>1</value>
</row> </row>
<row> <row>
<value>post</value> <value>notification.type.post</value>
<value>0</value> <value>0</value>
<value>8</value> <value>8</value>
<value></value> <value></value>

View file

@ -22,7 +22,7 @@
<column>notification_type_enabled</column> <column>notification_type_enabled</column>
<row> <row>
<value>1</value> <value>1</value>
<value>post_in_queue</value> <value>notification.type.post_in_queue</value>
<value>1</value> <value>1</value>
</row> </row>
</table> </table>
@ -107,49 +107,49 @@
<column>method</column> <column>method</column>
<column>notify</column> <column>notify</column>
<row> <row>
<value>needs_approval</value> <value>notification.type.needs_approval</value>
<value>0</value> <value>0</value>
<value>2</value> <value>2</value>
<value></value> <value></value>
<value>1</value> <value>1</value>
</row> </row>
<row> <row>
<value>needs_approval</value> <value>notification.type.needs_approval</value>
<value>0</value> <value>0</value>
<value>3</value> <value>3</value>
<value></value> <value></value>
<value>1</value> <value>1</value>
</row> </row>
<row> <row>
<value>needs_approval</value> <value>notification.type.needs_approval</value>
<value>0</value> <value>0</value>
<value>4</value> <value>4</value>
<value></value> <value></value>
<value>1</value> <value>1</value>
</row> </row>
<row> <row>
<value>needs_approval</value> <value>notification.type.needs_approval</value>
<value>0</value> <value>0</value>
<value>5</value> <value>5</value>
<value></value> <value></value>
<value>1</value> <value>1</value>
</row> </row>
<row> <row>
<value>needs_approval</value> <value>notification.type.needs_approval</value>
<value>0</value> <value>0</value>
<value>6</value> <value>6</value>
<value></value> <value></value>
<value>1</value> <value>1</value>
</row> </row>
<row> <row>
<value>needs_approval</value> <value>notification.type.needs_approval</value>
<value>0</value> <value>0</value>
<value>7</value> <value>7</value>
<value></value> <value></value>
<value>0</value> <value>0</value>
</row> </row>
<row> <row>
<value>needs_approval</value> <value>notification.type.needs_approval</value>
<value>0</value> <value>0</value>
<value>9</value> <value>9</value>
<value></value> <value></value>

View file

@ -22,7 +22,7 @@
<column>notification_type_enabled</column> <column>notification_type_enabled</column>
<row> <row>
<value>1</value> <value>1</value>
<value>quote</value> <value>notification.type.quote</value>
<value>1</value> <value>1</value>
</row> </row>
</table> </table>
@ -95,35 +95,35 @@
<column>method</column> <column>method</column>
<column>notify</column> <column>notify</column>
<row> <row>
<value>quote</value> <value>notification.type.quote</value>
<value>0</value> <value>0</value>
<value>2</value> <value>2</value>
<value></value> <value></value>
<value>1</value> <value>1</value>
</row> </row>
<row> <row>
<value>quote</value> <value>notification.type.quote</value>
<value>0</value> <value>0</value>
<value>3</value> <value>3</value>
<value></value> <value></value>
<value>1</value> <value>1</value>
</row> </row>
<row> <row>
<value>quote</value> <value>notification.type.quote</value>
<value>0</value> <value>0</value>
<value>4</value> <value>4</value>
<value></value> <value></value>
<value>1</value> <value>1</value>
</row> </row>
<row> <row>
<value>quote</value> <value>notification.type.quote</value>
<value>0</value> <value>0</value>
<value>5</value> <value>5</value>
<value></value> <value></value>
<value>1</value> <value>1</value>
</row> </row>
<row> <row>
<value>quote</value> <value>notification.type.quote</value>
<value>0</value> <value>0</value>
<value>6</value> <value>6</value>
<value></value> <value></value>

View file

@ -42,7 +42,7 @@
<column>notification_type_enabled</column> <column>notification_type_enabled</column>
<row> <row>
<value>1</value> <value>1</value>
<value>topic</value> <value>notification.type.topic</value>
<value>1</value> <value>1</value>
</row> </row>
</table> </table>
@ -103,28 +103,28 @@
<column>method</column> <column>method</column>
<column>notify</column> <column>notify</column>
<row> <row>
<value>topic</value> <value>notification.type.topic</value>
<value>0</value> <value>0</value>
<value>2</value> <value>2</value>
<value></value> <value></value>
<value>1</value> <value>1</value>
</row> </row>
<row> <row>
<value>topic</value> <value>notification.type.topic</value>
<value>0</value> <value>0</value>
<value>6</value> <value>6</value>
<value></value> <value></value>
<value>1</value> <value>1</value>
</row> </row>
<row> <row>
<value>topic</value> <value>notification.type.topic</value>
<value>0</value> <value>0</value>
<value>7</value> <value>7</value>
<value></value> <value></value>
<value>1</value> <value>1</value>
</row> </row>
<row> <row>
<value>topic</value> <value>notification.type.topic</value>
<value>0</value> <value>0</value>
<value>8</value> <value>8</value>
<value></value> <value></value>

View file

@ -25,8 +25,8 @@ class phpbb_notification_group_request_test extends phpbb_tests_notification_bas
return array_merge( return array_merge(
parent::get_notification_types(), parent::get_notification_types(),
array( array(
'group_request', 'notification.type.group_request',
'group_request_approved', 'notification.type.group_request_approved',
) )
); );
} }

View file

@ -43,7 +43,8 @@ class phpbb_notification_manager_helper extends \phpbb\notification\manager
*/ */
public function get_item_type_class($item_type, $data = array()) public function get_item_type_class($item_type, $data = array())
{ {
$item_type = 'phpbb\notification\type\\' . $item_type; $item_parts = explode('.', $item_type);
$item_type = 'phpbb\notification\type\\' . array_pop($item_parts);
$item = new $item_type($this->user_loader, $this->db, $this->cache->get_driver(), $this->user, $this->auth, $this->config, $this->phpbb_root_path, $this->php_ext, $this->notification_types_table, $this->notifications_table, $this->user_notifications_table); $item = new $item_type($this->user_loader, $this->db, $this->cache->get_driver(), $this->user, $this->auth, $this->config, $this->phpbb_root_path, $this->php_ext, $this->notification_types_table, $this->notifications_table, $this->user_notifications_table);

View file

@ -25,22 +25,22 @@ class phpbb_notification_test extends phpbb_tests_notification_base
public function test_get_notification_type_id() public function test_get_notification_type_id()
{ {
// They should be inserted the first time // They should be inserted the first time
$post_type_id = $this->notifications->get_notification_type_id('post'); $post_type_id = $this->notifications->get_notification_type_id('notification.type.post');
$quote_type_id = $this->notifications->get_notification_type_id('quote'); $quote_type_id = $this->notifications->get_notification_type_id('notification.type.quote');
$test_type_id = $this->notifications->get_notification_type_id('test'); $test_type_id = $this->notifications->get_notification_type_id('test');
$this->assertEquals(array( $this->assertEquals(array(
'test' => $test_type_id, 'test' => $test_type_id,
'quote' => $quote_type_id, 'notification.type.quote' => $quote_type_id,
'post' => $post_type_id, 'notification.type.post' => $post_type_id,
), ),
$this->notifications->get_notification_type_ids(array( $this->notifications->get_notification_type_ids(array(
'test', 'test',
'quote', 'notification.type.quote',
'post', 'notification.type.post',
) )
)); ));
$this->assertEquals($quote_type_id, $this->notifications->get_notification_type_id('quote')); $this->assertEquals($quote_type_id, $this->notifications->get_notification_type_id('notification.type.quote'));
try try
{ {
@ -58,12 +58,12 @@ class phpbb_notification_test extends phpbb_tests_notification_base
$this->assertArrayHasKey('NOTIFICATION_GROUP_MISCELLANEOUS', $subscription_types); $this->assertArrayHasKey('NOTIFICATION_GROUP_MISCELLANEOUS', $subscription_types);
$this->assertArrayHasKey('NOTIFICATION_GROUP_POSTING', $subscription_types); $this->assertArrayHasKey('NOTIFICATION_GROUP_POSTING', $subscription_types);
$this->assertArrayHasKey('bookmark', $subscription_types['NOTIFICATION_GROUP_POSTING']); $this->assertArrayHasKey('notification.type.bookmark', $subscription_types['NOTIFICATION_GROUP_POSTING']);
$this->assertArrayHasKey('post', $subscription_types['NOTIFICATION_GROUP_POSTING']); $this->assertArrayHasKey('notification.type.post', $subscription_types['NOTIFICATION_GROUP_POSTING']);
$this->assertArrayHasKey('quote', $subscription_types['NOTIFICATION_GROUP_POSTING']); $this->assertArrayHasKey('notification.type.quote', $subscription_types['NOTIFICATION_GROUP_POSTING']);
$this->assertArrayHasKey('topic', $subscription_types['NOTIFICATION_GROUP_POSTING']); $this->assertArrayHasKey('notification.type.topic', $subscription_types['NOTIFICATION_GROUP_POSTING']);
$this->assertArrayHasKey('pm', $subscription_types['NOTIFICATION_GROUP_MISCELLANEOUS']); $this->assertArrayHasKey('notification.type.pm', $subscription_types['NOTIFICATION_GROUP_MISCELLANEOUS']);
//get_subscription_types //get_subscription_types
//get_subscription_methods //get_subscription_methods
@ -72,12 +72,12 @@ class phpbb_notification_test extends phpbb_tests_notification_base
public function test_subscriptions() public function test_subscriptions()
{ {
$expected_subscriptions = array( $expected_subscriptions = array(
'post' => array(''), 'notification.type.post' => array(''),
'topic' => array(''), 'notification.type.topic' => array(''),
'quote' => array(''), 'notification.type.quote' => array(''),
'bookmark' => array(''), 'notification.type.bookmark' => array(''),
'test' => array(''), 'test' => array(''),
'pm' => array(''), 'notification.type.pm' => array(''),
); );
$subscriptions = $this->notifications->get_global_subscriptions(2); $subscriptions = $this->notifications->get_global_subscriptions(2);
@ -92,20 +92,20 @@ class phpbb_notification_test extends phpbb_tests_notification_base
$this->assert_array_content_equals($methods, $expected_subscriptions[$item_type]); $this->assert_array_content_equals($methods, $expected_subscriptions[$item_type]);
} }
$this->notifications->delete_subscription('post', 0, '', 2); $this->notifications->delete_subscription('notification.type.post', 0, '', 2);
$this->assertArrayNotHasKey('post', $this->notifications->get_global_subscriptions(2)); $this->assertArrayNotHasKey('notification.type.post', $this->notifications->get_global_subscriptions(2));
$this->notifications->add_subscription('post', 0, '', 2); $this->notifications->add_subscription('notification.type.post', 0, '', 2);
$this->assertArrayHasKey('post', $this->notifications->get_global_subscriptions(2)); $this->assertArrayHasKey('notification.type.post', $this->notifications->get_global_subscriptions(2));
} }
public function test_notifications() public function test_notifications()
{ {
$this->db->sql_query('DELETE FROM phpbb_notification_types'); $this->db->sql_query('DELETE FROM phpbb_notification_types');
$types = array('quote', 'bookmark', 'post', 'test'); $types = array('notification.type.quote', 'notification.type.bookmark', 'notification.type.post', 'test');
foreach ($types as $id => $type) foreach ($types as $id => $type)
{ {
$this->db->sql_query('INSERT INTO phpbb_notification_types ' . $this->db->sql_query('INSERT INTO phpbb_notification_types ' .
@ -150,7 +150,7 @@ class phpbb_notification_test extends phpbb_tests_notification_base
'post_time' => 1349413323, 'post_time' => 1349413323,
)); ));
$this->notifications->add_notifications(array('quote', 'bookmark', 'post', 'test'), array( $this->notifications->add_notifications(array('notification.type.quote', 'notification.type.bookmark', 'notification.type.post', 'test'), array(
'post_id' => '4', 'post_id' => '4',
'topic_id' => '2', 'topic_id' => '2',
'post_time' => 1349413324, 'post_time' => 1349413324,
@ -166,7 +166,7 @@ class phpbb_notification_test extends phpbb_tests_notification_base
'user_id' => 0, 'user_id' => 0,
))); )));
$this->notifications->add_notifications(array('quote', 'bookmark', 'post', 'test'), array( $this->notifications->add_notifications(array('notification.type.quote', 'notification.type.bookmark', 'notification.type.post', 'test'), array(
'post_id' => '5', 'post_id' => '5',
'topic_id' => '2', 'topic_id' => '2',
'post_time' => 1349413325, 'post_time' => 1349413325,
@ -258,7 +258,7 @@ class phpbb_notification_test extends phpbb_tests_notification_base
'post_time' => 1234, // change time 'post_time' => 1234, // change time
)); ));
$this->notifications->update_notifications(array('quote', 'bookmark', 'post', 'test'), array( $this->notifications->update_notifications(array('notification.type.quote', 'notification.type.bookmark', 'notification.type.post', 'test'), array(
'post_id' => '5', 'post_id' => '5',
'topic_id' => '2', 'topic_id' => '2',
'poster_id' => 2, 'poster_id' => 2,

View file

@ -15,7 +15,7 @@ require_once dirname(__FILE__) . '/submit_post_base.php';
class phpbb_notification_submit_post_type_bookmark_test extends phpbb_notification_submit_post_base class phpbb_notification_submit_post_type_bookmark_test extends phpbb_notification_submit_post_base
{ {
protected $item_type = 'bookmark'; protected $item_type = 'notification.type.bookmark';
public function setUp() public function setUp()
{ {

View file

@ -15,7 +15,7 @@ require_once dirname(__FILE__) . '/submit_post_base.php';
class phpbb_notification_submit_post_type_post_in_queue_test extends phpbb_notification_submit_post_base class phpbb_notification_submit_post_type_post_in_queue_test extends phpbb_notification_submit_post_base
{ {
protected $item_type = 'post_in_queue'; protected $item_type = 'notification.type.post_in_queue';
public function setUp() public function setUp()
{ {

View file

@ -15,7 +15,7 @@ require_once dirname(__FILE__) . '/submit_post_base.php';
class phpbb_notification_submit_post_type_post_test extends phpbb_notification_submit_post_base class phpbb_notification_submit_post_type_post_test extends phpbb_notification_submit_post_base
{ {
protected $item_type = 'post'; protected $item_type = 'notification.type.post';
public function setUp() public function setUp()
{ {

View file

@ -15,7 +15,7 @@ require_once dirname(__FILE__) . '/submit_post_base.php';
class phpbb_notification_submit_post_type_quote_test extends phpbb_notification_submit_post_base class phpbb_notification_submit_post_type_quote_test extends phpbb_notification_submit_post_base
{ {
protected $item_type = 'quote'; protected $item_type = 'notification.type.quote';
public function setUp() public function setUp()
{ {

View file

@ -15,7 +15,7 @@ require_once dirname(__FILE__) . '/submit_post_base.php';
class phpbb_notification_submit_post_type_topic_test extends phpbb_notification_submit_post_base class phpbb_notification_submit_post_type_topic_test extends phpbb_notification_submit_post_base
{ {
protected $item_type = 'topic'; protected $item_type = 'notification.type.topic';
public function setUp() public function setUp()
{ {