aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHenry Sudhof <kellanved@phpbb.com>2008-09-22 13:32:28 +0000
committerHenry Sudhof <kellanved@phpbb.com>2008-09-22 13:32:28 +0000
commit08428f8fa133c43c05066ff0e307abe01d943fa0 (patch)
tree6fd52c4b643026b0b1f82f172032f8b45513e7a6
parent0f14f278d0fa9d765bb141ab79242a34fa73a883 (diff)
downloadforums-08428f8fa133c43c05066ff0e307abe01d943fa0.tar
forums-08428f8fa133c43c05066ff0e307abe01d943fa0.tar.gz
forums-08428f8fa133c43c05066ff0e307abe01d943fa0.tar.bz2
forums-08428f8fa133c43c05066ff0e307abe01d943fa0.tar.xz
forums-08428f8fa133c43c05066ff0e307abe01d943fa0.zip
merging 8904
git-svn-id: file:///svn/phpbb/trunk@8905 89ea8834-ac86-4346-8a33-228a782c2dd0
-rw-r--r--phpBB/includes/functions_display.php35
-rw-r--r--phpBB/index.php2
-rw-r--r--phpBB/viewforum.php11
3 files changed, 29 insertions, 19 deletions
diff --git a/phpBB/includes/functions_display.php b/phpBB/includes/functions_display.php
index 9b37544c9e..ca97913887 100644
--- a/phpBB/includes/functions_display.php
+++ b/phpBB/includes/functions_display.php
@@ -231,22 +231,29 @@ function display_forums($root_data = '', $display_moderators = true, $return_mod
if ($mark_read == 'forums' || $mark_read == 'all')
{
$redirect = build_url('mark');
-
- if ($mark_read == 'all')
+ $token = request_var('hash', '');
+ if (check_link_hash($token, 'global'))
{
- markread('all');
-
- $message = sprintf($user->lang['RETURN_INDEX'], '<a href="' . $redirect . '">', '</a>');
+ if ($mark_read == 'all')
+ {
+ markread('all');
+ $message = sprintf($user->lang['RETURN_INDEX'], '<a href="' . $redirect . '">', '</a>');
+ }
+ else
+ {
+ markread('topics', $forum_ids);
+ $message = sprintf($user->lang['RETURN_FORUM'], '<a href="' . $redirect . '">', '</a>');
+ }
+ meta_refresh(3, $redirect);
+ trigger_error($user->lang['FORUMS_MARKED'] . '<br /><br />' . $message);
}
else
{
- markread('topics', $forum_ids);
-
- $message = sprintf($user->lang['RETURN_FORUM'], '<a href="' . $redirect . '">', '</a>');
+ $message = sprintf($user->lang['RETURN_PAGE'], '<a href="' . $redirect . '">', '</a>');
+ meta_refresh(3, $redirect);
+ trigger_error($message);
}
-
- meta_refresh(3, $redirect);
- trigger_error($user->lang['FORUMS_MARKED'] . '<br /><br />' . $message);
+
}
// Grab moderators ... if necessary
@@ -443,7 +450,7 @@ function display_forums($root_data = '', $display_moderators = true, $return_mod
}
$template->assign_vars(array(
- 'U_MARK_FORUMS' => ($user->data['is_registered'] || $config['load_anon_lastread']) ? append_sid('viewforum', 'f=' . $root_data['forum_id'] . '&amp;mark=forums') : '',
+ 'U_MARK_FORUMS' => ($user->data['is_registered'] || $config['load_anon_lastread']) ? append_sid('viewforum', 'hash=' . generate_link_hash('global') . '&amp;f=' . $root_data['forum_id'] . '&amp;mark=forums') : '',
'S_HAS_SUBFORUM' => ($visible_forums) ? true : false,
'L_SUBFORUM' => ($visible_forums == 1) ? $user->lang['SUBFORUM'] : $user->lang['SUBFORUMS'],
'LAST_POST_IMG' => $user->img('icon_topic_latest', 'VIEW_LATEST_POST'))
@@ -986,7 +993,7 @@ function watch_topic_forum($mode, &$s_watching, $user_id, $forum_id, $topic_id,
$table_sql = ($mode == 'forum') ? FORUMS_WATCH_TABLE : TOPICS_WATCH_TABLE;
$where_sql = ($mode == 'forum') ? 'forum_id' : 'topic_id';
$match_id = ($mode == 'forum') ? $forum_id : $topic_id;
- $u_url = "uid={$user->data['user_id']}&amp;hash=" . generate_link_hash("{$mode}_$topic_id");
+ $u_url = "uid={$user->data['user_id']}&amp;hash=" . generate_link_hash("{$mode}_$match_id");
$u_url .= ($mode == 'forum') ? '&amp;f' : '&amp;f=' . $forum_id . '&amp;t';
// Is user watching this thread?
@@ -1056,7 +1063,7 @@ function watch_topic_forum($mode, &$s_watching, $user_id, $forum_id, $topic_id,
$token = request_var('hash', '');
$redirect_url = append_sid("view$mode", "$u_url=$match_id&amp;start=$start");
- if ($_GET['watch'] == $mode && check_link_hash($token, "{$mode}_$topic_id"))
+ if ($_GET['watch'] == $mode && check_link_hash($token, "{$mode}_$match_id"))
{
$is_watching = true;
diff --git a/phpBB/index.php b/phpBB/index.php
index a9032f5e5d..2ed2e6ec2e 100644
--- a/phpBB/index.php
+++ b/phpBB/index.php
@@ -117,7 +117,7 @@ $template->assign_vars(array(
'S_LOGIN_ACTION' => append_sid('ucp', 'mode=login'),
'S_DISPLAY_BIRTHDAY_LIST' => ($config['load_birthdays']) ? true : false,
- 'U_MARK_FORUMS' => ($user->data['is_registered'] || $config['load_anon_lastread']) ? append_sid('index', 'mark=forums') : '',
+ 'U_MARK_FORUMS' => ($user->data['is_registered'] || $config['load_anon_lastread']) ? append_sid('index', 'hash=' . generate_link_hash('global') . '&amp;mark=forums') : '',
'U_MCP' => ($auth->acl_get('m_') || $auth->acl_getf_global('m_')) ? append_sid('mcp', 'i=main&amp;mode=front', true, $user->session_id) : '')
);
diff --git a/phpBB/viewforum.php b/phpBB/viewforum.php
index e0fb0ec621..f41e1abb08 100644
--- a/phpBB/viewforum.php
+++ b/phpBB/viewforum.php
@@ -173,8 +173,11 @@ if (!$auth->acl_get('f_read', $forum_id))
// Handle marking posts
if ($mark_read == 'topics')
{
- markread('topics', $forum_id);
-
+ $token = request_var('hash', '');
+ if (check_link_hash($token, 'global'))
+ {
+ markread('topics', $forum_id);
+ }
$redirect_url = append_sid('viewforum', 'f=' . $forum_id);
meta_refresh(3, $redirect_url);
@@ -303,11 +306,11 @@ $template->assign_vars(array(
'S_SINGLE_MODERATOR' => (!empty($moderators[$forum_id]) && sizeof($moderators[$forum_id]) > 1) ? false : true,
'S_IS_LOCKED' => ($forum_data['forum_status'] == ITEM_LOCKED) ? true : false,
'S_VIEWFORUM' => true,
-
+
'U_MCP' => ($auth->acl_get('m_', $forum_id)) ? append_sid('mcp', "f=$forum_id&amp;i=main&amp;mode=forum_view", true, $user->session_id) : '',
'U_POST_NEW_TOPIC' => ($auth->acl_get('f_post', $forum_id) || $user->data['user_id'] == ANONYMOUS) ? append_sid('posting', 'mode=post&amp;f=' . $forum_id) : '',
'U_VIEW_FORUM' => append_sid('viewforum', "f=$forum_id" . ((strlen($u_sort_param)) ? "&amp;$u_sort_param" : '') . "&amp;start=$start"),
- 'U_MARK_TOPICS' => ($user->data['is_registered'] || $config['load_anon_lastread']) ? append_sid('viewforum', "f=$forum_id&amp;mark=topics") : '',
+ 'U_MARK_TOPICS' => ($user->data['is_registered'] || $config['load_anon_lastread']) ? append_sid('viewforum', 'hash=' . generate_link_hash('global') . "&amp;f=$forum_id&amp;mark=topics") : '',
));
// Grab icons