aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/includes/ucp/ucp_main.php
diff options
context:
space:
mode:
authorMeik Sievertsen <acydburn@phpbb.com>2006-03-15 13:03:57 +0000
committerMeik Sievertsen <acydburn@phpbb.com>2006-03-15 13:03:57 +0000
commitd907d066f2e0d7974766370b11dab69a59962f97 (patch)
tree146a203caa445298e084088c30311b959d00c9f1 /phpBB/includes/ucp/ucp_main.php
parent8c3f94f9ae8a1333be8c01dd2e0be74dffc91831 (diff)
downloadforums-d907d066f2e0d7974766370b11dab69a59962f97.tar
forums-d907d066f2e0d7974766370b11dab69a59962f97.tar.gz
forums-d907d066f2e0d7974766370b11dab69a59962f97.tar.bz2
forums-d907d066f2e0d7974766370b11dab69a59962f97.tar.xz
forums-d907d066f2e0d7974766370b11dab69a59962f97.zip
- adding ability to assign moderator specific ban options
- fixing destroying of sql caches - fixing referencing of sql cached queries if more than one are active on one page - other fixes git-svn-id: file:///svn/phpbb/trunk@5633 89ea8834-ac86-4346-8a33-228a782c2dd0
Diffstat (limited to 'phpBB/includes/ucp/ucp_main.php')
-rw-r--r--phpBB/includes/ucp/ucp_main.php26
1 files changed, 20 insertions, 6 deletions
diff --git a/phpBB/includes/ucp/ucp_main.php b/phpBB/includes/ucp/ucp_main.php
index 44eadc2628..dda436cba2 100644
--- a/phpBB/includes/ucp/ucp_main.php
+++ b/phpBB/includes/ucp/ucp_main.php
@@ -85,7 +85,7 @@ class ucp_main
}
$db->sql_freeresult($result);
- $topic_tracking_info = get_topic_tracking(0, $topic_list, $rowset, array(0 => false), $topic_list);
+ $topic_tracking_info = get_topic_tracking(0, $topic_list, $rowset, false, $topic_list);
foreach ($topic_list as $topic_id)
{
@@ -334,12 +334,15 @@ class ucp_main
ORDER BY t.topic_last_post_time DESC';
$result = $db->sql_query_limit($sql, $config['topics_per_page'], $start);
- $topic_list = $global_announce_list = $rowset = array();
+ $topic_list = $topic_forum_list = $global_announce_list = $rowset = array();
while ($row = $db->sql_fetchrow($result))
{
$topic_list[] = $row['topic_id'];
$rowset[$row['topic_id']] = $row;
+ $topic_forum_list[$row['forum_id']]['forum_mark_time'] = ($config['load_db_lastread']) ? $row['forum_mark_time'] : 0;
+ $topic_forum_list[$row['forum_id']]['topics'][] = $row['topic_id'];
+
if ($row['topic_type'] == POST_GLOBAL)
{
$global_announce_list[] = $row['topic_id'];
@@ -347,10 +350,21 @@ class ucp_main
}
$db->sql_freeresult($result);
- /**
- * @todo get_topic_tracking able to fetch from multiple forums
- */
- $topic_tracking_info = get_topic_tracking(0, $topic_list, $rowset, array(0 => false), $global_announce_list);
+ $topic_tracking_info = array();
+ if ($config['load_db_lastread'])
+ {
+ foreach ($topic_forum_list as $f_id => $topic_row)
+ {
+ $topic_tracking_info += get_topic_tracking($f_id, $topic_row['topics'], $rowset, array($f_id => $topic_row['forum_mark_time']), ($f_id == 0) ? $global_announce_list : false);
+ }
+ }
+ else
+ {
+ foreach ($topic_forum_list as $f_id => $topic_row)
+ {
+ $topic_tracking_info += get_complete_topic_tracking($f_id, $topic_row['topics'], $global_announce_list);
+ }
+ }
foreach ($topic_list as $topic_id)
{