diff options
author | Meik Sievertsen <acydburn@phpbb.com> | 2007-01-02 16:35:48 +0000 |
---|---|---|
committer | Meik Sievertsen <acydburn@phpbb.com> | 2007-01-02 16:35:48 +0000 |
commit | 46c9da77a47abba5f0bb314d9a4cd68d1abb32c9 (patch) | |
tree | 33183de1bf76a073820ffeafc5d9931381ba125d | |
parent | 1c32dcaeb10292de8fa8de25c8775fbdab25e2c7 (diff) | |
download | forums-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.html | 6 | ||||
-rw-r--r-- | phpBB/includes/acp/acp_forums.php | 18 | ||||
-rw-r--r-- | phpBB/includes/functions.php | 11 | ||||
-rw-r--r-- | phpBB/includes/functions_display.php | 44 | ||||
-rw-r--r-- | phpBB/language/en/common.php | 7 | ||||
-rw-r--r-- | phpBB/memberlist.php | 36 | ||||
-rw-r--r-- | phpBB/viewonline.php | 38 | ||||
-rw-r--r-- | phpBB/viewtopic.php | 23 |
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} <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'] . '&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')) { |