aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMeik Sievertsen <acydburn@phpbb.com>2007-01-02 16:35:48 +0000
committerMeik Sievertsen <acydburn@phpbb.com>2007-01-02 16:35:48 +0000
commit46c9da77a47abba5f0bb314d9a4cd68d1abb32c9 (patch)
tree33183de1bf76a073820ffeafc5d9931381ba125d
parent1c32dcaeb10292de8fa8de25c8775fbdab25e2c7 (diff)
downloadforums-46c9da77a47abba5f0bb314d9a4cd68d1abb32c9.tar
forums-46c9da77a47abba5f0bb314d9a4cd68d1abb32c9.tar.gz
forums-46c9da77a47abba5f0bb314d9a4cd68d1abb32c9.tar.bz2
forums-46c9da77a47abba5f0bb314d9a4cd68d1abb32c9.tar.xz
forums-46c9da77a47abba5f0bb314d9a4cd68d1abb32c9.zip
- do not allow setting the parent to currently assigned childs [Bug #6708]
- Allow the display_on_index setting to be specified for link forums [Bug #6660] - Rank code in functions_display.php [Bug #6656] - Added some new locations for the viewonline page [Related to bug #6484] - Do not display attached images inline if user disabled image display in posts; the same with flash files [Bug #6226] git-svn-id: file:///svn/phpbb/trunk@6829 89ea8834-ac86-4346-8a33-228a782c2dd0
-rw-r--r--phpBB/adm/style/acp_forums.html6
-rw-r--r--phpBB/includes/acp/acp_forums.php18
-rw-r--r--phpBB/includes/functions.php11
-rw-r--r--phpBB/includes/functions_display.php44
-rw-r--r--phpBB/language/en/common.php7
-rw-r--r--phpBB/memberlist.php36
-rw-r--r--phpBB/viewonline.php38
-rw-r--r--phpBB/viewtopic.php23
8 files changed, 109 insertions, 74 deletions
diff --git a/phpBB/adm/style/acp_forums.html b/phpBB/adm/style/acp_forums.html
index 427a1f07a4..46223ea81d 100644
--- a/phpBB/adm/style/acp_forums.html
+++ b/phpBB/adm/style/acp_forums.html
@@ -256,6 +256,12 @@
<div id="forum_link_options">
<fieldset>
<legend>{L_GENERAL_FORUM_SETTINGS}</legend>
+ <!-- IF S_SHOW_DISPLAY_ON_INDEX -->
+ <dl>
+ <dt><label for="link_display_on_index">{L_LIST_INDEX}:</label><br /><span>{L_LIST_INDEX_EXPLAIN}</span></dt>
+ <dd><input type="radio" class="radio" name="link_display_on_index" value="1"<!-- IF S_DISPLAY_ON_INDEX --> id="link_display_on_index" checked="checked"<!-- ENDIF --> /> {L_YES} &nbsp; <input type="radio" class="radio" name="link_display_on_index" value="0"<!-- IF not S_DISPLAY_ON_INDEX --> id="link_display_on_index" checked="checked"<!-- ENDIF --> /> {L_NO}</dd>
+ </dl>
+ <!-- ENDIF -->
<dl>
<dt><label for="forum_link">{L_FORUM_LINK}:</label><br /><span>{L_FORUM_LINK_EXPLAIN}</span></dt>
<dd><input class="medium" type="text" id="forum_link" name="forum_link" value="{FORUM_DATA_LINK}" /></dd>
diff --git a/phpBB/includes/acp/acp_forums.php b/phpBB/includes/acp/acp_forums.php
index fe78a6252b..da60162e33 100644
--- a/phpBB/includes/acp/acp_forums.php
+++ b/phpBB/includes/acp/acp_forums.php
@@ -133,6 +133,12 @@ class acp_forums
'forum_password_confirm'=> request_var('forum_password_confirm', ''),
);
+ // Use link_display_on_index setting if forum type is link
+ if ($forum_data['forum_type'] == FORUM_LINK)
+ {
+ $forum_data['display_on_index'] = request_var('link_display_on_index', false);
+ }
+
$forum_data['show_active'] = ($forum_data['forum_type'] == FORUM_POST) ? request_var('display_recent', false) : request_var('display_active', false);
// Get data for forum rules if specified...
@@ -396,18 +402,14 @@ class acp_forums
$forum_data['right_id'] = $row['right_id'];
}
- // Make sure there is no forum displayed for parents_list having the current forum id as a parent...
- $sql = 'SELECT forum_id
- FROM ' . FORUMS_TABLE . '
- WHERE parent_id = ' . $forum_id;
- $result = $db->sql_query($sql);
+ // Make sure no direct child forums are able to be selected as parents.
+ $childs = get_forum_branch($forum_id, 'children');
- $exclude_forums = array($forum_id);
- while ($row = $db->sql_fetchrow($result))
+ $exclude_forums = array();
+ foreach ($childs as $row)
{
$exclude_forums[] = $row['forum_id'];
}
- $db->sql_freeresult($result);
$parents_list = make_forum_select($forum_data['parent_id'], $exclude_forums, false, false, false);
diff --git a/phpBB/includes/functions.php b/phpBB/includes/functions.php
index 8e1df45cb0..5206e51fdd 100644
--- a/phpBB/includes/functions.php
+++ b/phpBB/includes/functions.php
@@ -2620,6 +2620,17 @@ function parse_attachments($forum_id, &$message, &$attachments, &$update_count,
}
}
+ // Make some descisions based on user options being set.
+ if (($display_cat == ATTACHMENT_CATEGORY_IMAGE || $display_cat == ATTACHMENT_CATEGORY_THUMB) && !$user->optionget('viewimg'))
+ {
+ $display_cat = ATTACHMENT_CATEGORY_NONE;
+ }
+
+ if ($display_cat == ATTACHMENT_CATEGORY_FLASH && !$user->optionget('viewflash'))
+ {
+ $display_cat = ATTACHMENT_CATEGORY_NONE;
+ }
+
$download_link = (!$force_physical && $attachment['attach_id']) ? append_sid("{$phpbb_root_path}download.$phpEx", 'id=' . $attachment['attach_id'] . '&amp;f=' . (int) $forum_id) : $filename;
switch ($display_cat)
diff --git a/phpBB/includes/functions_display.php b/phpBB/includes/functions_display.php
index 47e7e67c17..60e35709c9 100644
--- a/phpBB/includes/functions_display.php
+++ b/phpBB/includes/functions_display.php
@@ -998,4 +998,48 @@ function watch_topic_forum($mode, &$s_watching, &$s_watching_img, $user_id, $for
return;
}
+/**
+* Get user rank title and image
+*
+* @param int $user_rank the current stored users rank id
+* @param int $user_posts the users number of posts
+* @param string &$rank_title the rank title will be stored here after execution
+* @param string &$rank_img the rank image as full img tag is stored here after execution
+* @param string &$rank_img_src the rank image source is stored here after execution
+*
+*/
+function get_user_rank($user_rank, $user_posts, &$rank_title, &$rank_img, &$rank_img_src)
+{
+ global $ranks, $config;
+
+ if (empty($ranks))
+ {
+ global $cache;
+ $ranks = $cache->obtain_ranks();
+ }
+
+ if (!empty($user_rank))
+ {
+ $rank_title = (isset($ranks['special'][$user_rank]['rank_title'])) ? $ranks['special'][$user_rank]['rank_title'] : '';
+ $rank_img = (!empty($ranks['special'][$user_rank]['rank_image'])) ? '<img src="' . $config['ranks_path'] . '/' . $ranks['special'][$user_rank]['rank_image'] . '" alt="' . $ranks['special'][$user_rank]['rank_title'] . '" title="' . $ranks['special'][$user_rank]['rank_title'] . '" />' : '';
+ $rank_img_src = (!empty($ranks['special'][$user_rank]['rank_image'])) ? $config['ranks_path'] . '/' . $ranks['special'][$user_rank]['rank_image'] : '';
+ }
+ else
+ {
+ if (!empty($ranks['normal']))
+ {
+ foreach ($ranks['normal'] as $rank)
+ {
+ if ($user_posts >= $rank['rank_min'])
+ {
+ $rank_title = $rank['rank_title'];
+ $rank_img = (!empty($rank['rank_image'])) ? '<img src="' . $config['ranks_path'] . '/' . $rank['rank_image'] . '" alt="' . $rank['rank_title'] . '" title="' . $rank['rank_title'] . '" />' : '';
+ $rank_img_src = (!empty($rank['rank_image'])) ? $config['ranks_path'] . '/' . $rank['rank_image'] : '';
+ break;
+ }
+ }
+ }
+ }
+}
+
?> \ No newline at end of file
diff --git a/phpBB/language/en/common.php b/phpBB/language/en/common.php
index 0bd4a1e454..3d1e941050 100644
--- a/phpBB/language/en/common.php
+++ b/phpBB/language/en/common.php
@@ -103,6 +103,8 @@ $lang = array_merge($lang, array(
'CANCEL' => 'Cancel',
'CHANGE' => 'Change',
'CHANGE_FONT_SIZE' => 'Change font size',
+ 'CHANGING_PREFERENCES' => 'Changing forum preferences',
+ 'CHANGING_PROFILE' => 'Changing forum profile settings',
'CLICK_VIEW_PRIVMSG' => '%sGo to your inbox%s',
'CLOSE_WINDOW' => 'Close window',
'COLOUR_SWATCH' => 'Colour swatch',
@@ -367,6 +369,7 @@ $lang = array_merge($lang, array(
'PLAY_QUICKTIME_FILE' => 'Play Quicktime file',
'PM' => 'PM',
'POSTING_MESSAGE' => 'Posting message in %s',
+ 'POSTING_PRIVATE_MESSAGE' => 'Composing private message',
'POST' => 'Post',
'POST_ANNOUNCEMENT' => 'Announce',
'POST_STICKY' => 'Sticky',
@@ -397,6 +400,7 @@ $lang = array_merge($lang, array(
'READING_FORUM' => 'Viewing topics in %s',
'READING_GLOBAL_ANNOUNCE' => 'Reading global announcement',
+ 'READING_LINK' => 'Following forum link %s',
'READING_TOPIC' => 'Reading topic in %s',
'READ_PROFILE' => 'Profile',
'REASON' => 'Reason',
@@ -579,7 +583,10 @@ $lang = array_merge($lang, array(
'VIEWING_FAQ' => 'Viewing FAQ',
'VIEWING_MEMBERS' => 'Viewing member details',
'VIEWING_ONLINE' => 'Viewing who is online',
+ 'VIEWING_MCP' => 'Viewing moderator control panel',
'VIEWING_MEMBER_PROFILE' => 'Viewing member profile',
+ 'VIEWING_PRIVATE_MESSAGES' => 'Viewing private messages',
+ 'VIEWING_REGISTER' => 'Registering account',
'VIEWING_UCP' => 'Viewing user control panel',
'VIEWS' => 'Views',
'VIEW_BOOKMARKS' => 'View bookmarks',
diff --git a/phpBB/memberlist.php b/phpBB/memberlist.php
index ff1ccd6670..1811376b5b 100644
--- a/phpBB/memberlist.php
+++ b/phpBB/memberlist.php
@@ -15,6 +15,7 @@ define('IN_PHPBB', true);
$phpbb_root_path = './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
+include($phpbb_root_path . 'includes/functions_display.' . $phpEx);
// Start session management
$user->session_begin();
@@ -418,10 +419,6 @@ switch ($mode)
if ($config['load_user_activity'])
{
- if (!function_exists('display_user_activity'))
- {
- include_once($phpbb_root_path . 'includes/functions_display.' . $phpEx);
- }
display_user_activity($member);
}
@@ -1346,37 +1343,6 @@ make_jumpbox(append_sid("{$phpbb_root_path}viewforum.$phpEx"));
page_footer();
/**
-* Get user rank title and image
-*/
-function get_user_rank($user_rank, $user_posts, &$rank_title, &$rank_img, &$rank_img_src)
-{
- global $ranks, $config;
-
- if (!empty($user_rank))
- {
- $rank_title = (isset($ranks['special'][$user_rank]['rank_title'])) ? $ranks['special'][$user_rank]['rank_title'] : '';
- $rank_img = (!empty($ranks['special'][$user_rank]['rank_image'])) ? '<img src="' . $config['ranks_path'] . '/' . $ranks['special'][$user_rank]['rank_image'] . '" alt="' . $ranks['special'][$user_rank]['rank_title'] . '" title="' . $ranks['special'][$user_rank]['rank_title'] . '" />' : '';
- $rank_img_src = (!empty($ranks['special'][$user_rank]['rank_image'])) ? $config['ranks_path'] . '/' . $ranks['special'][$user_rank]['rank_image'] : '';
- }
- else
- {
- if (isset($ranks['normal']))
- {
- foreach ($ranks['normal'] as $rank)
- {
- if ($user_posts >= $rank['rank_min'])
- {
- $rank_title = $rank['rank_title'];
- $rank_img = (!empty($rank['rank_image'])) ? '<img src="' . $config['ranks_path'] . '/' . $rank['rank_image'] . '" alt="' . $rank['rank_title'] . '" title="' . $rank['rank_title'] . '" />' : '';
- $rank_img_src = (!empty($rank['rank_image'])) ? $config['ranks_path'] . '/' . $rank['rank_image'] : '';
- break;
- }
- }
- }
- }
-}
-
-/**
* Prepare profile data
*/
function show_profile($data)
diff --git a/phpBB/viewonline.php b/phpBB/viewonline.php
index 85f4749f53..588d753b14 100644
--- a/phpBB/viewonline.php
+++ b/phpBB/viewonline.php
@@ -83,7 +83,7 @@ $result = $db->sql_query($sql, 600);
while ($row = $db->sql_fetchrow($result))
{
- $forum_data[$row['forum_id']] = $row['forum_name'];
+ $forum_data[$row['forum_id']] = $row;
}
$db->sql_freeresult($result);
@@ -209,6 +209,14 @@ while ($row = $db->sql_fetchrow($result))
if ($forum_id && $auth->acl_get('f_list', $forum_id))
{
$location = '';
+ $location_url = append_sid("{$phpbb_root_path}viewforum.$phpEx", 'f=' . $forum_id);
+
+ if ($forum_data[$forum_id]['forum_type'] == FORUM_LINK)
+ {
+ $location = sprintf($user->lang['READING_LINK'], $forum_data[$forum_id]['forum_name']);
+ break;
+ }
+
switch ($on_page[1])
{
case 'posting':
@@ -234,8 +242,6 @@ while ($row = $db->sql_fetchrow($result))
$location = sprintf($user->lang['READING_FORUM'], $forum_data[$forum_id]);
break;
}
-
- $location_url = append_sid("{$phpbb_root_path}viewforum.$phpEx", 'f=' . $forum_id);
}
else
{
@@ -265,16 +271,30 @@ while ($row = $db->sql_fetchrow($result))
break;
case 'mcp':
+ $location = $user->lang['VIEWING_MCP'];
+ $location_url = append_sid("{$phpbb_root_path}index.$phpEx");
+ break;
+
case 'ucp':
$location = $user->lang['VIEWING_UCP'];
- /**
- * @todo getting module/mode for ucp and mcp
- */
-/* if (strpos($row['session_page'], 'i=pm&mode=compose') !== false)
+ // Grab some common modules
+ $url_params = array(
+ 'mode=register' => 'VIEWING_REGISTER',
+ 'i=pm&mode=compose' => 'POSTING_PRIVATE_MESSAGE',
+ 'i=pm&' => 'VIEWING_PRIVATE_MESSAGES',
+ 'i=profile&' => 'CHANGING_PROFILE',
+ 'i=prefs&' => 'CHANGING_PREFERENCES',
+ );
+
+ foreach ($url_params as $param => $lang)
{
- $location = 'Composing PM';
- }*/
+ if (strpos($row['session_page'], $param) !== false)
+ {
+ $location = $user->lang[$lang];
+ break;
+ }
+ }
$location_url = append_sid("{$phpbb_root_path}index.$phpEx");
break;
diff --git a/phpBB/viewtopic.php b/phpBB/viewtopic.php
index ee15a89d7a..1f1c1acb6a 100644
--- a/phpBB/viewtopic.php
+++ b/phpBB/viewtopic.php
@@ -1050,28 +1050,7 @@ while ($row = $db->sql_fetchrow($result))
$user_cache[$poster_id]['avatar'] = '<img src="' . $avatar_img . '" width="' . $row['user_avatar_width'] . '" height="' . $row['user_avatar_height'] . '" alt="" />';
}
- if (!empty($row['user_rank']))
- {
- $user_cache[$poster_id]['rank_title'] = (isset($ranks['special'][$row['user_rank']])) ? $ranks['special'][$row['user_rank']]['rank_title'] : '';
- $user_cache[$poster_id]['rank_image'] = (!empty($ranks['special'][$row['user_rank']]['rank_image'])) ? '<img src="' . $config['ranks_path'] . '/' . $ranks['special'][$row['user_rank']]['rank_image'] . '" alt="' . $ranks['special'][$row['user_rank']]['rank_title'] . '" title="' . $ranks['special'][$row['user_rank']]['rank_title'] . '" /><br />' : '';
- $user_cache[$poster_id]['rank_image_src'] = (!empty($ranks['special'][$row['user_rank']]['rank_image'])) ? $config['ranks_path'] . '/' . $ranks['special'][$row['user_rank']]['rank_image'] : '';
- }
- else
- {
- if (isset($ranks['normal']) && sizeof($ranks['normal']))
- {
- foreach ($ranks['normal'] as $rank)
- {
- if ($row['user_posts'] >= $rank['rank_min'])
- {
- $user_cache[$poster_id]['rank_title'] = $rank['rank_title'];
- $user_cache[$poster_id]['rank_image'] = (!empty($rank['rank_image'])) ? '<img src="' . $config['ranks_path'] . '/' . $rank['rank_image'] . '" alt="' . $rank['rank_title'] . '" title="' . $rank['rank_title'] . '" /><br />' : '';
- $user_cache[$poster_id]['rank_image_src'] = (!empty($rank['rank_image'])) ? $config['ranks_path'] . '/' . $rank['rank_image'] : '';
- break;
- }
- }
- }
- }
+ get_user_rank($row['user_rank'], $row['user_posts'], $user_cache[$poster_id]['rank_title'], $user_cache[$poster_id]['rank_image'], $user_cache[$poster_id]['rank_image_src']);
if (!empty($row['user_allow_viewemail']) || $auth->acl_get('a_email'))
{