mirror of
https://github.com/phpbb/phpbb.git
synced 2025-05-08 08:35:31 +02:00
Potential (display) support for global announcements ... various issues still need to addressed wrt posting/replying/etc.
git-svn-id: file:///svn/phpbb/trunk@3567 89ea8834-ac86-4346-8a33-228a782c2dd0
This commit is contained in:
parent
ce4e06811c
commit
66062783ce
@ -184,9 +184,6 @@ if ($forum_data['forum_postable'])
|
|||||||
gen_sort_selects($limit_days, $sort_by_text, $sort_days, $sort_key, $sort_dir, $s_limit_days, $s_sort_key, $s_sort_dir);
|
gen_sort_selects($limit_days, $sort_by_text, $sort_days, $sort_key, $sort_dir, $s_limit_days, $s_sort_key, $s_sort_dir);
|
||||||
|
|
||||||
// Limit topics to certain time frame, obtain correct topic count
|
// Limit topics to certain time frame, obtain correct topic count
|
||||||
$topics_count = ($forum_data['forum_topics']) ? $forum_data['forum_topics'] : 1;
|
|
||||||
$limit_topics_time = $topic_days = '';
|
|
||||||
|
|
||||||
if ($sort_days)
|
if ($sort_days)
|
||||||
{
|
{
|
||||||
$min_topic_time = time() - ($sort_days * 86400);
|
$min_topic_time = time() - ($sort_days * 86400);
|
||||||
@ -205,6 +202,7 @@ if ($forum_data['forum_postable'])
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
$topics_count = ($forum_data['forum_topics']) ? $forum_data['forum_topics'] : 1;
|
$topics_count = ($forum_data['forum_topics']) ? $forum_data['forum_topics'] : 1;
|
||||||
|
$limit_topics_time = '';
|
||||||
}
|
}
|
||||||
|
|
||||||
// Select the sort order
|
// Select the sort order
|
||||||
@ -263,7 +261,8 @@ if ($forum_data['forum_postable'])
|
|||||||
FROM (' . TOPICS_TABLE . ' t
|
FROM (' . TOPICS_TABLE . ' t
|
||||||
LEFT JOIN ' . LASTREAD_TABLE . ' lr ON lr.topic_id = t.topic_id
|
LEFT JOIN ' . LASTREAD_TABLE . ' lr ON lr.topic_id = t.topic_id
|
||||||
AND lr.user_id = ' . $user->data['user_id'] . ")
|
AND lr.user_id = ' . $user->data['user_id'] . ")
|
||||||
WHERE t.forum_id IN ($forum_id, 0)
|
WHERE (t.forum_id = $forum_id
|
||||||
|
OR t.forum_id = 0)
|
||||||
AND t.topic_type = " . POST_ANNOUNCE . "
|
AND t.topic_type = " . POST_ANNOUNCE . "
|
||||||
ORDER BY $sort_order_sql
|
ORDER BY $sort_order_sql
|
||||||
LIMIT " . $config['topics_per_page'];
|
LIMIT " . $config['topics_per_page'];
|
||||||
|
@ -121,9 +121,9 @@ if ($user->data['user_id'] != ANONYMOUS)
|
|||||||
{
|
{
|
||||||
switch (SQL_LAYER)
|
switch (SQL_LAYER)
|
||||||
{
|
{
|
||||||
//TODO
|
|
||||||
case 'oracle':
|
case 'oracle':
|
||||||
break;
|
// TODO
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
$extra_fields .= ', tw.notify_status';
|
$extra_fields .= ', tw.notify_status';
|
||||||
@ -132,11 +132,17 @@ if ($user->data['user_id'] != ANONYMOUS)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Join to forum table on topic forum_id unless topic forum_id is zero
|
||||||
|
// whereupon we join on the forum_id passed as a parameter ... this
|
||||||
|
// is done so navigation, forum name, etc. remain consistent with where
|
||||||
|
// user clicked to view a global topic
|
||||||
$sql = "SELECT t.topic_id, t.topic_title, t.topic_status, t.topic_replies, t.topic_time, t.topic_type, t.poll_start, t.poll_length, t.poll_title, f.forum_name, f.forum_desc, f.forum_parents, f.parent_id, f.left_id, f.right_id, f.forum_status, f.forum_id, f.forum_style" . $extra_fields . "
|
$sql = "SELECT t.topic_id, t.topic_title, t.topic_status, t.topic_replies, t.topic_time, t.topic_type, t.poll_start, t.poll_length, t.poll_title, f.forum_name, f.forum_desc, f.forum_parents, f.parent_id, f.left_id, f.right_id, f.forum_status, f.forum_id, f.forum_style" . $extra_fields . "
|
||||||
FROM " . TOPICS_TABLE . " t, " . FORUMS_TABLE . " f" . $join_sql_table . "
|
FROM " . TOPICS_TABLE . " t, " . FORUMS_TABLE . " f" . $join_sql_table . "
|
||||||
WHERE $join_sql
|
WHERE $join_sql
|
||||||
AND ( f.forum_id = t.forum_id
|
AND (f.forum_id = t.forum_id
|
||||||
OR f.forum_id = $forum_id )
|
OR (t.forum_id = 0 AND
|
||||||
|
f.forum_id = $forum_id)
|
||||||
|
)
|
||||||
$order_sql";
|
$order_sql";
|
||||||
$result = $db->sql_query($sql);
|
$result = $db->sql_query($sql);
|
||||||
|
|
||||||
@ -148,12 +154,12 @@ extract($topic_data);
|
|||||||
|
|
||||||
|
|
||||||
// Configure style, language, etc.
|
// Configure style, language, etc.
|
||||||
$user->setup(false, intval($forum_style));
|
$user->setup(false, $forum_style);
|
||||||
$auth->acl($user->data, intval($forum_id));
|
$auth->acl($user->data);
|
||||||
|
|
||||||
|
|
||||||
// Start auth check
|
// Start auth check
|
||||||
if (!$auth->acl_gets('f_read', 'm_', 'a_', intval($forum_id)))
|
if (!$auth->acl_gets('f_read', 'm_', 'a_', $forum_id))
|
||||||
{
|
{
|
||||||
if ($user->data['user_id'] == ANONYMOUS)
|
if ($user->data['user_id'] == ANONYMOUS)
|
||||||
{
|
{
|
||||||
@ -188,12 +194,8 @@ $sort_by_sql = array('a' => 'u.username', 't' => 'p.post_id', 's' => 'p.post_sub
|
|||||||
$s_limit_days = $s_sort_key = $s_sort_dir = '';
|
$s_limit_days = $s_sort_key = $s_sort_dir = '';
|
||||||
gen_sort_selects($limit_days, $sort_by_text, $sort_days, $sort_key, $sort_dir, $s_limit_days, $s_sort_key, $s_sort_dir);
|
gen_sort_selects($limit_days, $sort_by_text, $sort_days, $sort_key, $sort_dir, $s_limit_days, $s_sort_key, $s_sort_dir);
|
||||||
|
|
||||||
|
|
||||||
// Obtain correct post count and ordering SQL if user has
|
// Obtain correct post count and ordering SQL if user has
|
||||||
// requested anything different
|
// requested anything different
|
||||||
$limit_posts_time = '';
|
|
||||||
$total_posts = $topic_replies + 1;
|
|
||||||
|
|
||||||
if ($sort_days)
|
if ($sort_days)
|
||||||
{
|
{
|
||||||
$min_post_time = time() - ($sort_days * 86400);
|
$min_post_time = time() - ($sort_days * 86400);
|
||||||
@ -209,6 +211,11 @@ if ($sort_days)
|
|||||||
$total_posts = ($row = $db->sql_fetchrow($result)) ? $row['num_posts'] : 0;
|
$total_posts = ($row = $db->sql_fetchrow($result)) ? $row['num_posts'] : 0;
|
||||||
$limit_posts_time = "AND p.post_time >= $min_post_time ";
|
$limit_posts_time = "AND p.post_time >= $min_post_time ";
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$total_posts = $topic_replies + 1;
|
||||||
|
$limit_posts_time = '';
|
||||||
|
}
|
||||||
|
|
||||||
// Select the sort order
|
// Select the sort order
|
||||||
$sort_order = $sort_by_sql[$sort_key] . ' ' . (($sort_dir == 'd') ? 'DESC' : 'ASC');
|
$sort_order = $sort_by_sql[$sort_key] . ' ' . (($sort_dir == 'd') ? 'DESC' : 'ASC');
|
||||||
|
Loading…
x
Reference in New Issue
Block a user