diff options
22 files changed, 222 insertions, 107 deletions
diff --git a/phpBB/adm/style/admin.css b/phpBB/adm/style/admin.css index 76875bf412..f7bea46942 100644 --- a/phpBB/adm/style/admin.css +++ b/phpBB/adm/style/admin.css @@ -1322,6 +1322,9 @@ fieldset.permissions .permissions-switch { float: left; } +fieldset.permissions .padding { +} + .permissions-switch a { text-decoration: underline; font-size: 0.90em; diff --git a/phpBB/adm/style/permission_mask.html b/phpBB/adm/style/permission_mask.html index 81f889b390..05368cbc78 100644 --- a/phpBB/adm/style/permission_mask.html +++ b/phpBB/adm/style/permission_mask.html @@ -18,7 +18,7 @@ <!-- BEGIN p_mask --> <div class="clearfix"></div> -<h3>{p_mask.PADDING}{p_mask.NAME}<!-- IF p_mask.S_LOCAL --> <span class="small"> [{p_mask.L_ACL_TYPE}]</span><!-- ENDIF --></h3> +<h3>{p_mask.NAME}<!-- IF p_mask.S_LOCAL --> <span class="small"> [{p_mask.L_ACL_TYPE}]</span><!-- ENDIF --></h3> <!-- BEGIN f_mask --> <div class="clearfix"></div> @@ -28,7 +28,7 @@ <input type="checkbox" style="display: none;" class="permissions-checkbox" name="inherit[{p_mask.f_mask.UG_ID}][{p_mask.f_mask.FORUM_ID}]" id="checkbox{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}" value="1" onclick="toggle_opacity('{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}')" /> <!-- ELSE --> <!-- ENDIF --> - <!-- {p_mask.f_mask.PADDING} -->{p_mask.f_mask.NAME} + <!-- IF p_mask.f_mask.PADDING --><span class="padding">{p_mask.f_mask.PADDING}{p_mask.f_mask.PADDING}</span><!-- ENDIF -->{p_mask.f_mask.NAME} </legend> <!-- IF not p_mask.S_VIEW --> <div class="permissions-switch"> diff --git a/phpBB/adm/style/permission_trace.html b/phpBB/adm/style/permission_trace.html index 7f7079cc8f..5d0e359c2f 100644 --- a/phpBB/adm/style/permission_trace.html +++ b/phpBB/adm/style/permission_trace.html @@ -19,7 +19,7 @@ </thead> <tbody> <!-- BEGIN trace --> - <!-- IF trace.S_ROW_COUNT is even --><tr class="row4"><!-- ELSE --><tr class="row3"><!-- ENDIF --> + <!-- IF trace.S_ROW_COUNT is even --><tr class="row3"><!-- ELSE --><tr class="row4"><!-- ENDIF --> <td style="white-space: nowrap;"><strong>{trace.WHO}</strong></td> <!-- IF trace.S_SETTING_NEVER --> @@ -41,6 +41,13 @@ <td>{trace.INFORMATION}</td> </tr> <!-- END trace --> + <tr class="row2"> + <td style="white-space: nowrap;"><strong>{L_TRACE_RESULT}</strong></td> + <td colspan="2" style="text-align: center;" class="<!-- IF S_RESULT_NEVER -->never<!-- ELSEIF S_RESULT_YES -->yes<!-- ELSE -->no<!-- ENDIF -->"> + <!-- IF S_RESULT_NEVER -->{L_ACL_NEVER}<!-- ELSEIF S_RESULT_YES -->{L_ACL_YES}<!-- ELSE -->{L_ACL_NO}<!-- ENDIF --> + </td> + <td>{L_RESULTING_PERMISSION}</td> + </tr> </tbody> </table> diff --git a/phpBB/docs/CHANGELOG.html b/phpBB/docs/CHANGELOG.html index 1ee9c24df1..0f7d8e7125 100644 --- a/phpBB/docs/CHANGELOG.html +++ b/phpBB/docs/CHANGELOG.html @@ -227,6 +227,13 @@ p a { <li>[Fix] used cleaned up version of given field identification for pre-filling a new custom profile field (Bug #13319)</li> <li>[Fix] Correctly convert 2.0 website profile fields. (Bug #13379)</li> <li>[Fix] Fixed the "Alphanumeric" and "Alphanumeric and spacers" username selection limitations (Bug #13391)</li> + <li>[Fix] Make sure filelist() is only returning array types (Bug #13385)</li> + <li>[Fix] Correctly mark forums read if using cookie based topic tracking (Bug #13245)</li> + <li>[Change] Put custom profile fields into top box and signature into separate box in members profile view (Bug #13357)</li> + <li>[Fix] Only show moderator log entries for forums the user is having moderation rights in (Bug #12481)</li> + <li>[Feature] Show resulting permission alone in trace window (Bug #10953) - thanks to dark/rain for the proposal</li> + <li>[Fix] Fixed bug in realpath replacement letting it actually work again</li> + <li>[Change] Try to be a bit more specific regarding global/local permission trace (Bug #11032)</li> </ul> diff --git a/phpBB/includes/acp/acp_permissions.php b/phpBB/includes/acp/acp_permissions.php index 3a7318231b..1ad5ea2903 100644 --- a/phpBB/includes/acp/acp_permissions.php +++ b/phpBB/includes/acp/acp_permissions.php @@ -899,7 +899,10 @@ class acp_permissions 'PERMISSION' => $user->lang['acl_' . $permission]['lang'], 'PERMISSION_USERNAME' => $userdata['username'], 'FORUM_NAME' => $forum_name, - 'U_BACK' => ($back) ? build_url(array('f', 'back')) . "&f=$back" : '') + + 'S_GLOBAL_TRACE' => ($forum_id) ? false : true, + + 'U_BACK' => ($back) ? build_url(array('f', 'back')) . "&f=$back" : '') ); $template->assign_block_vars('trace', array( @@ -929,6 +932,8 @@ class acp_permissions $db->sql_freeresult($result); $total = ACL_NO; + $add_key = (($forum_id) ? '_LOCAL' : ''); + if (sizeof($groups)) { // Get group auth settings @@ -945,16 +950,16 @@ class acp_permissions switch ($row['auth_setting']) { case ACL_NO: - $information = $user->lang['TRACE_GROUP_NO']; + $information = $user->lang['TRACE_GROUP_NO' . $add_key]; break; case ACL_YES: - $information = ($total == ACL_YES) ? $user->lang['TRACE_GROUP_YES_TOTAL_YES'] : (($total == ACL_NEVER) ? $user->lang['TRACE_GROUP_YES_TOTAL_NEVER'] : $user->lang['TRACE_GROUP_YES_TOTAL_NO']); + $information = ($total == ACL_YES) ? $user->lang['TRACE_GROUP_YES_TOTAL_YES' . $add_key] : (($total == ACL_NEVER) ? $user->lang['TRACE_GROUP_YES_TOTAL_NEVER' . $add_key] : $user->lang['TRACE_GROUP_YES_TOTAL_NO' . $add_key]); $total = ($total == ACL_NO) ? ACL_YES : $total; break; case ACL_NEVER: - $information = ($total == ACL_YES) ? $user->lang['TRACE_GROUP_NEVER_TOTAL_YES'] : (($total == ACL_NEVER) ? $user->lang['TRACE_GROUP_NEVER_TOTAL_NEVER'] : $user->lang['TRACE_GROUP_NEVER_TOTAL_NO']); + $information = ($total == ACL_YES) ? $user->lang['TRACE_GROUP_NEVER_TOTAL_YES' . $add_key] : (($total == ACL_NEVER) ? $user->lang['TRACE_GROUP_NEVER_TOTAL_NEVER' . $add_key] : $user->lang['TRACE_GROUP_NEVER_TOTAL_NO' . $add_key]); $total = ACL_NEVER; break; } @@ -973,24 +978,24 @@ class acp_permissions } } - // Get user specific permission... + // Get user specific permission... globally or for this forum $hold_ary = $auth->acl_user_raw_data($user_id, $permission, $forum_id); $auth_setting = (!sizeof($hold_ary)) ? ACL_NO : $hold_ary[$user_id][$forum_id][$permission]; switch ($auth_setting) { case ACL_NO: - $information = ($total == ACL_NO) ? $user->lang['TRACE_USER_NO_TOTAL_NO'] : $user->lang['TRACE_USER_KEPT']; + $information = ($total == ACL_NO) ? $user->lang['TRACE_USER_NO_TOTAL_NO' . $add_key] : $user->lang['TRACE_USER_KEPT' . $add_key]; $total = ($total == ACL_NO) ? ACL_NEVER : $total; break; case ACL_YES: - $information = ($total == ACL_YES) ? $user->lang['TRACE_USER_YES_TOTAL_YES'] : (($total == ACL_NEVER) ? $user->lang['TRACE_USER_YES_TOTAL_NEVER'] : $user->lang['TRACE_USER_YES_TOTAL_NO']); + $information = ($total == ACL_YES) ? $user->lang['TRACE_USER_YES_TOTAL_YES' . $add_key] : (($total == ACL_NEVER) ? $user->lang['TRACE_USER_YES_TOTAL_NEVER' . $add_key] : $user->lang['TRACE_USER_YES_TOTAL_NO' . $add_key]); $total = ($total == ACL_NO) ? ACL_YES : $total; break; case ACL_NEVER: - $information = ($total == ACL_YES) ? $user->lang['TRACE_USER_NEVER_TOTAL_YES'] : (($total == ACL_NEVER) ? $user->lang['TRACE_USER_NEVER_TOTAL_NEVER'] : $user->lang['TRACE_USER_NEVER_TOTAL_NO']); + $information = ($total == ACL_YES) ? $user->lang['TRACE_USER_NEVER_TOTAL_YES' . $add_key] : (($total == ACL_NEVER) ? $user->lang['TRACE_USER_NEVER_TOTAL_NEVER' . $add_key] : $user->lang['TRACE_USER_NEVER_TOTAL_NO' . $add_key]); $total = ACL_NEVER; break; } @@ -1007,8 +1012,7 @@ class acp_permissions 'S_TOTAL_NEVER' => ($total == ACL_NEVER) ? true : false) ); - // global permission might overwrite local permission - if (($forum_id != 0) && isset($auth->acl_options['global'][$permission])) + if ($forum_id != 0 && isset($auth->acl_options['global'][$permission])) { if ($user_id != $user->data['user_id']) { @@ -1031,17 +1035,21 @@ class acp_permissions $information = $user->lang['TRACE_USER_GLOBAL_NEVER_TOTAL_KEPT']; } - $template->assign_block_vars('trace', array( - 'WHO' => sprintf($user->lang['TRACE_GLOBAL_SETTING'], $userdata['username']), - 'INFORMATION' => sprintf($information, '<a href="' . $this->u_action . "&u=$user_id&f=0&auth=$permission&back=$forum_id\">", '</a>'), + // If there is no auth information we do not need to worry the user by showing non-relevant data. + if ($auth_setting) + { + $template->assign_block_vars('trace', array( + 'WHO' => sprintf($user->lang['TRACE_GLOBAL_SETTING'], $userdata['username']), + 'INFORMATION' => sprintf($information, '<a href="' . $this->u_action . "&u=$user_id&f=0&auth=$permission&back=$forum_id\">", '</a>'), - 'S_SETTING_NO' => false, - 'S_SETTING_YES' => $auth_setting, - 'S_SETTING_NEVER' => !$auth_setting, - 'S_TOTAL_NO' => false, - 'S_TOTAL_YES' => ($total == ACL_YES) ? true : false, - 'S_TOTAL_NEVER' => ($total == ACL_NEVER) ? true : false) - ); + 'S_SETTING_NO' => false, + 'S_SETTING_YES' => $auth_setting, + 'S_SETTING_NEVER' => !$auth_setting, + 'S_TOTAL_NO' => false, + 'S_TOTAL_YES' => ($total == ACL_YES) ? true : false, + 'S_TOTAL_NEVER' => ($total == ACL_NEVER) ? true : false) + ); + } } // Take founder status into account, overwriting the default values @@ -1058,7 +1066,16 @@ class acp_permissions 'S_TOTAL_YES' => true, 'S_TOTAL_NEVER' => false) ); + + $total = ACL_YES; } + + // Total value... + $template->assign_vars(array( + 'S_RESULT_NO' => ($total == ACL_NO) ? true : false, + 'S_RESULT_YES' => ($total == ACL_YES) ? true : false, + 'S_RESULT_NEVER' => ($total == ACL_NEVER) ? true : false, + )); } /** diff --git a/phpBB/includes/acp/acp_ranks.php b/phpBB/includes/acp/acp_ranks.php index e0f6aa9a0b..08270a7221 100644 --- a/phpBB/includes/acp/acp_ranks.php +++ b/phpBB/includes/acp/acp_ranks.php @@ -143,11 +143,12 @@ class acp_ranks $db->sql_freeresult($result); $imglist = filelist($phpbb_root_path . $config['ranks_path'], ''); - $edit_img = $filename_list = ''; foreach ($imglist as $path => $img_ary) { + sort($img_ary); + foreach ($img_ary as $img) { $img = $path . $img; @@ -202,7 +203,7 @@ class acp_ranks $sql = 'SELECT * FROM ' . RANKS_TABLE . ' - ORDER BY rank_min ASC, rank_special ASC, rank_title ASC'; + ORDER BY rank_special DESC, rank_min ASC, rank_title ASC'; $result = $db->sql_query($sql); while ($row = $db->sql_fetchrow($result)) diff --git a/phpBB/includes/functions.php b/phpBB/includes/functions.php index 9c5fde9316..f894c2750d 100644 --- a/phpBB/includes/functions.php +++ b/phpBB/includes/functions.php @@ -577,7 +577,7 @@ if (!function_exists('realpath')) $bits = explode('/', $path); // Remove any . in the path, renumber array for the loop below - $bits = array_keys(array_diff($bits, array('.'))); + $bits = array_values(array_diff($bits, array('.'))); // Lets get looping, run over and resolve any .. (up directory) for ($i = 0, $max = sizeof($bits); $i < $max; $i++) @@ -789,6 +789,8 @@ function markread($mode, $forum_id = false, $topic_id = false, $post_time = 0, $ $tracking_topics['l'] = base_convert(time() - $config['board_startdate'], 10, 36); $user->set_cookie('track', tracking_serialize($tracking_topics), time() + 31536000); + $_COOKIE[$config['cookie_name'] . '_track'] = (STRIP) ? addslashes(tracking_serialize($tracking_topics)) : tracking_serialize($tracking_topics); + unset($tracking_topics); if ($user->data['is_registered']) @@ -882,7 +884,14 @@ function markread($mode, $forum_id = false, $topic_id = false, $post_time = 0, $ $tracking['f'][$f_id] = base_convert(time() - $config['board_startdate'], 10, 36); } + if (isset($tracking['tf']) && empty($tracking['tf'])) + { + unset($tracking['tf']); + } + $user->set_cookie('track', tracking_serialize($tracking), time() + 31536000); + $_COOKIE[$config['cookie_name'] . '_track'] = (STRIP) ? addslashes(tracking_serialize($tracking)) : tracking_serialize($tracking); + unset($tracking); } @@ -977,6 +986,7 @@ function markread($mode, $forum_id = false, $topic_id = false, $post_time = 0, $ } $user->set_cookie('track', tracking_serialize($tracking), time() + 31536000); + $_COOKIE[$config['cookie_name'] . '_track'] = (STRIP) ? addslashes(tracking_serialize($tracking)) : tracking_serialize($tracking); } return; @@ -1241,11 +1251,8 @@ function update_forum_tracking_info($forum_id, $forum_last_post_time, $f_mark_ti } else if ($config['load_anon_lastread'] || $user->data['is_registered']) { - if (!isset($tracking_topics) || !sizeof($tracking_topics)) - { - $tracking_topics = (isset($_COOKIE[$config['cookie_name'] . '_track'])) ? ((STRIP) ? stripslashes($_COOKIE[$config['cookie_name'] . '_track']) : $_COOKIE[$config['cookie_name'] . '_track']) : ''; - $tracking_topics = ($tracking_topics) ? tracking_unserialize($tracking_topics) : array(); - } + $tracking_topics = (isset($_COOKIE[$config['cookie_name'] . '_track'])) ? ((STRIP) ? stripslashes($_COOKIE[$config['cookie_name'] . '_track']) : $_COOKIE[$config['cookie_name'] . '_track']) : ''; + $tracking_topics = ($tracking_topics) ? tracking_unserialize($tracking_topics) : array(); if (!$user->data['is_registered']) { @@ -1300,6 +1307,7 @@ function update_forum_tracking_info($forum_id, $forum_last_post_time, $f_mark_ti $check_forum = $tracking_topics['tf'][$forum_id]; $unread = false; + while ($row = $db->sql_fetchrow($result)) { if (!in_array(base_convert($row['topic_id'], 10, 36), array_keys($check_forum))) diff --git a/phpBB/includes/functions_admin.php b/phpBB/includes/functions_admin.php index 5e94b0d9e0..64358cbdf4 100644 --- a/phpBB/includes/functions_admin.php +++ b/phpBB/includes/functions_admin.php @@ -365,14 +365,14 @@ function filelist($rootdir, $dir = '', $type = 'gif|jpg|jpeg|png') if (!is_dir($rootdir . $dir)) { - return false; + return $matches; } $dh = @opendir($rootdir . $dir); if (!$dh) { - return false; + return $matches; } while (($fname = readdir($dh)) !== false) diff --git a/phpBB/includes/mcp/mcp_front.php b/phpBB/includes/mcp/mcp_front.php index 8bebbc71bd..de607df297 100644 --- a/phpBB/includes/mcp/mcp_front.php +++ b/phpBB/includes/mcp/mcp_front.php @@ -227,7 +227,7 @@ function mcp_front_view($id, $mode, $action) // Latest 5 logs if ($module->loaded('logs')) { - $forum_list = get_forum_list(array('m_', 'a_')); + $forum_list = get_forum_list('m_'); if (!empty($forum_list)) { diff --git a/phpBB/includes/mcp/mcp_logs.php b/phpBB/includes/mcp/mcp_logs.php index cec097cd8a..514aba5718 100755 --- a/phpBB/includes/mcp/mcp_logs.php +++ b/phpBB/includes/mcp/mcp_logs.php @@ -55,51 +55,69 @@ class mcp_logs $this->tpl_name = 'mcp_logs'; $this->page_title = 'MCP_LOGS'; + $forum_list = get_forum_list('m_'); + $forum_list[] = 0; + $forum_id = $topic_id = 0; + switch ($mode) { case 'front': - $where_sql = ''; break; case 'forum_logs': $forum_id = request_var('f', 0); - $where_sql = " AND forum_id = $forum_id"; + + if (!in_array($forum_id, $forum_list)) + { + trigger_error('NOT_AUTHORISED'); + } + + $forum_list = array($forum_id); break; case 'topic_logs': $topic_id = request_var('t', 0); - $where_sql = " AND topic_id = $topic_id"; + + $sql = 'SELECT forum_id + FROM ' . TOPICS_TABLE . ' + WHERE topic_id = ' . $topic_id; + $result = $db->sql_query($sql); + $forum_id = (int) $db->sql_fetchfield('forum_id'); + $db->sql_freeresult($result); + + if (!in_array($forum_id, $forum_list)) + { + trigger_error('NOT_AUTHORISED'); + } + + $forum_list = array($forum_id); break; } // Delete entries if requested and able if (($deletemark || $deleteall) && $auth->acl_get('a_clearlogs')) { - if ($deletemark) + if ($deletemark && sizeof($marked)) { - if (!sizeof($marked)) - { - $where_sql = ''; - } - else - { - $sql_in = array(); - foreach ($marked as $mark) - { - $sql_in[] = $mark; - } - - $where_sql = ' AND ' . $db->sql_in_set('log_id', $sql_in); - unset($sql_in); - } - } + $sql = 'DELETE FROM ' . LOG_TABLE . ' + WHERE log_type = ' . LOG_MOD . ' + AND ' . $db->sql_in_set('forum_id', $forum_list) . ' + AND ' . $db->sql_in_set('log_id', $marked); + $db->sql_query($sql); - if ($where_sql || $deleteall) + add_log('admin', 'LOG_CLEAR_MOD'); + } + else if ($deleteall) { $sql = 'DELETE FROM ' . LOG_TABLE . ' - WHERE log_type = ' . LOG_MOD . " - $where_sql"; + WHERE log_type = ' . LOG_MOD . ' + AND ' . $db->sql_in_set('forum_id', $forum_list); + + if ($mode == 'topic_logs') + { + $sql .= ' AND topic_id = ' . $topic_id; + } $db->sql_query($sql); add_log('admin', 'LOG_CLEAR_MOD'); @@ -121,7 +139,7 @@ class mcp_logs // Grab log data $log_data = array(); $log_count = 0; - view_log('mod', $log_data, $log_count, $config['topics_per_page'], $start, $forum_id, $topic_id, 0, $sql_where, $sql_sort); + view_log('mod', $log_data, $log_count, $config['topics_per_page'], $start, $forum_list, $topic_id, 0, $sql_where, $sql_sort); $template->assign_vars(array( 'PAGE_NUMBER' => on_page($log_count, $config['topics_per_page'], $start), diff --git a/phpBB/install/install_install.php b/phpBB/install/install_install.php index 68bf1f9a84..7db99eb56a 100755 --- a/phpBB/install/install_install.php +++ b/phpBB/install/install_install.php @@ -1704,7 +1704,12 @@ class install_install extends module { $path = $phpbb_root_path . 'language/' . $file; - if (is_dir($path) && !is_link($path) && file_exists($path . '/iso.txt')) + if ($file == '.' || $file == '..' || is_link($path) || is_file($path) || $file == 'CVS') + { + continue; + } + + if (is_dir($path) && file_exists($path . '/iso.txt')) { $lang_file = file("{$phpbb_root_path}language/$path/iso.txt"); diff --git a/phpBB/install/install_update.php b/phpBB/install/install_update.php index 4c4912a2ab..0659e1f364 100644 --- a/phpBB/install/install_update.php +++ b/phpBB/install/install_update.php @@ -454,7 +454,7 @@ class install_update extends module { if (substr(strrchr($entry, '.'), 1) == 'css') { - $file_list[] = $entry; + $file_list[] = "{$phpbb_root_path}styles/{$theme['theme_path']}/theme/{$entry}"; } } closedir($dir); diff --git a/phpBB/language/en/acp/permissions.php b/phpBB/language/en/acp/permissions.php index ee05c5a568..3deeb344af 100644 --- a/phpBB/language/en/acp/permissions.php +++ b/phpBB/language/en/acp/permissions.php @@ -139,6 +139,7 @@ $lang = array_merge($lang, array( 'REMOVE_PERMISSIONS' => 'Remove permissions', 'REMOVE_ROLE' => 'Remove role', + 'RESULTING_PERMISSION' => 'Resulting permission', 'ROLE' => 'Role', 'ROLE_ADD_SUCCESS' => 'Role successfully added.', 'ROLE_ASSIGNED_TO' => 'Users/Groups assigned to %s', @@ -214,27 +215,44 @@ $lang = array_merge($lang, array( 'TRACE_FOR' => 'Trace for', 'TRACE_GLOBAL_SETTING' => '%s (global)', 'TRACE_GROUP_NEVER_TOTAL_NEVER' => 'This group’s permission is set to <samp>NEVER</samp> like the total result so the old result is kept.', + 'TRACE_GROUP_NEVER_TOTAL_NEVER_LOCAL' => 'This group’s permission for this forum is set to <samp>NEVER</samp> like the total result so the old result is kept.', 'TRACE_GROUP_NEVER_TOTAL_NO' => 'This group’s permission is set to <samp>NEVER</samp> which becomes the new total value because it wasn’t set yet (set to <samp>NO</samp>).', + 'TRACE_GROUP_NEVER_TOTAL_NO_LOCAL' => 'This group’s permission for this forum is set to <samp>NEVER</samp> which becomes the new total value because it wasn’t set yet (set to <samp>NO</samp>).', 'TRACE_GROUP_NEVER_TOTAL_YES' => 'This group’s permission is set to <samp>NEVER</samp> which overwrites the total <samp>YES</samp> to a <samp>NEVER</samp> for this user.', + 'TRACE_GROUP_NEVER_TOTAL_YES_LOCAL' => 'This group’s permission for this forum is set to <samp>NEVER</samp> which overwrites the total <samp>YES</samp> to a <samp>NEVER</samp> for this user.', 'TRACE_GROUP_NO' => 'The permission is <samp>NO</samp> for this group so the old total value is kept.', + 'TRACE_GROUP_NO_LOCAL' => 'The permission is <samp>NO</samp> for this group within this forum so the old total value is kept.', 'TRACE_GROUP_YES_TOTAL_NEVER' => 'This group’s permission is set to <samp>YES</samp> but the total <samp>NEVER</samp> cannot be overwritten.', + 'TRACE_GROUP_YES_TOTAL_NEVER_LOCAL' => 'This group’s permission for this forum is set to <samp>YES</samp> but the total <samp>NEVER</samp> cannot be overwritten.', 'TRACE_GROUP_YES_TOTAL_NO' => 'This group’s permission is set to <samp>YES</samp> which becomes the new total value because it wasn’t set yet (set to <samp>NO</samp>).', + 'TRACE_GROUP_YES_TOTAL_NO_LOCAL' => 'This group’s permission for this forum is set to <samp>YES</samp> which becomes the new total value because it wasn’t set yet (set to <samp>NO</samp>).', 'TRACE_GROUP_YES_TOTAL_YES' => 'This group’s permission is set to <samp>YES</samp> and the total permission is already set to <samp>YES</samp>, so the total result is kept.', + 'TRACE_GROUP_YES_TOTAL_YES_LOCAL' => 'This group’s permission for this forum is set to <samp>YES</samp> and the total permission is already set to <samp>YES</samp>, so the total result is kept.', 'TRACE_PERMISSION' => 'Trace permission - %s', + 'TRACE_RESULT' => 'Trace result', 'TRACE_SETTING' => 'Trace setting', 'TRACE_USER_GLOBAL_YES_TOTAL_YES' => 'The forum independent user permission evaluates to <samp>YES</samp> but the total permission is already set to <samp>YES</samp>, so the total result is kept. %sTrace global permission%s', 'TRACE_USER_GLOBAL_YES_TOTAL_NEVER' => 'The forum independent user permission evaluates to <samp>YES</samp> which overwrites the current local result <samp>NEVER</samp>. %sTrace global permission%s', 'TRACE_USER_GLOBAL_NEVER_TOTAL_KEPT' => 'The forum independent user permission evaluates to <samp>NEVER</samp> which doesn’t influence the local permission. %sTrace global permission%s', + 'TRACE_USER_FOUNDER' => 'The user has the founder type set, therefore admin permissions are set to <samp>YES</samp> by default.', - 'TRACE_USER_KEPT' => 'The user permission is <samp>NO</samp> so the old total value is kept.', - 'TRACE_USER_NEVER_TOTAL_NEVER' => 'The user permission is set to <samp>NEVER</samp> and the total value is set to <samp>NEVER</samp>, so nothing is changed.', - 'TRACE_USER_NEVER_TOTAL_NO' => 'The user permission is set to <samp>NEVER</samp> which becomes the total value because it was set to NO.', - 'TRACE_USER_NEVER_TOTAL_YES' => 'The user permission is set to <samp>NEVER</samp> and overwrites the previous <samp>YES</samp>.', - 'TRACE_USER_NO_TOTAL_NO' => 'The user permission is <samp>NO</samp> and the total value was set to NO so it defaults to <samp>NEVER</samp>.', - 'TRACE_USER_YES_TOTAL_NEVER' => 'The user permission is set to <samp>YES</samp> but the total <samp>NEVER</samp> cannot be overwritten.', - 'TRACE_USER_YES_TOTAL_NO' => 'The user permission is set to <samp>YES</samp> which becomes the total value because it was set to <samp>NO</samp>.', - 'TRACE_USER_YES_TOTAL_YES' => 'The user permission is set to <samp>YES</samp> and the total value is set to <samp>YES</samp>, so nothing is changed.', + 'TRACE_USER_KEPT' => 'The user’s permission is <samp>NO</samp> so the old total value is kept.', + 'TRACE_USER_KEPT_LOCAL' => 'The user’s permission for this forum is <samp>NO</samp> so the old total value is kept.', + 'TRACE_USER_NEVER_TOTAL_NEVER' => 'The user’s permission is set to <samp>NEVER</samp> and the total value is set to <samp>NEVER</samp>, so nothing is changed.', + 'TRACE_USER_NEVER_TOTAL_NEVER_LOCAL' => 'The user’s permission for this forum is set to <samp>NEVER</samp> and the total value is set to <samp>NEVER</samp>, so nothing is changed.', + 'TRACE_USER_NEVER_TOTAL_NO' => 'The user’s permission is set to <samp>NEVER</samp> which becomes the total value because it was set to NO.', + 'TRACE_USER_NEVER_TOTAL_NO_LOCAL' => 'The user’s permission for this forum is set to <samp>NEVER</samp> which becomes the total value because it was set to NO.', + 'TRACE_USER_NEVER_TOTAL_YES' => 'The user’s permission is set to <samp>NEVER</samp> and overwrites the previous <samp>YES</samp>.', + 'TRACE_USER_NEVER_TOTAL_YES_LOCAL' => 'The user’s permission for this forum is set to <samp>NEVER</samp> and overwrites the previous <samp>YES</samp>.', + 'TRACE_USER_NO_TOTAL_NO' => 'The user’s permission is <samp>NO</samp> and the total value was set to NO so it defaults to <samp>NEVER</samp>.', + 'TRACE_USER_NO_TOTAL_NO_LOCAL' => 'The user’s permission for this forum is <samp>NO</samp> and the total value was set to NO so it defaults to <samp>NEVER</samp>.', + 'TRACE_USER_YES_TOTAL_NEVER' => 'The user’s permission is set to <samp>YES</samp> but the total <samp>NEVER</samp> cannot be overwritten.', + 'TRACE_USER_YES_TOTAL_NEVER_LOCAL' => 'The user’s permission for this forum is set to <samp>YES</samp> but the total <samp>NEVER</samp> cannot be overwritten.', + 'TRACE_USER_YES_TOTAL_NO' => 'The user’s permission is set to <samp>YES</samp> which becomes the total value because it was set to <samp>NO</samp>.', + 'TRACE_USER_YES_TOTAL_NO_LOCAL' => 'The user’s permission for this forum is set to <samp>YES</samp> which becomes the total value because it was set to <samp>NO</samp>.', + 'TRACE_USER_YES_TOTAL_YES' => 'The user’s permission is set to <samp>YES</samp> and the total value is set to <samp>YES</samp>, so nothing is changed.', + 'TRACE_USER_YES_TOTAL_YES_LOCAL' => 'The user’s permission for this forum is set to <samp>YES</samp> and the total value is set to <samp>YES</samp>, so nothing is changed.', 'TRACE_WHO' => 'Who', 'TRACE_TOTAL' => 'Total', diff --git a/phpBB/style.php b/phpBB/style.php index f49acc44d3..d6bb5bd9da 100644 --- a/phpBB/style.php +++ b/phpBB/style.php @@ -154,7 +154,7 @@ if ($id && $sid) { if (substr(strrchr($entry, '.'), 1) == 'css') { - $file_list[] = $entry; + $file_list[] = "{$phpbb_root_path}styles/{$theme['theme_path']}/theme/{$entry}"; } } closedir($dir); diff --git a/phpBB/styles/prosilver/template/memberlist_view.html b/phpBB/styles/prosilver/template/memberlist_view.html index 23f6ac79fd..ce299e22f6 100644 --- a/phpBB/styles/prosilver/template/memberlist_view.html +++ b/phpBB/styles/prosilver/template/memberlist_view.html @@ -31,7 +31,19 @@ <!-- IF OCCUPATION --><dt>{L_OCCUPATION}:</dt> <dd>{OCCUPATION}</dd><!-- ENDIF --> <!-- IF INTERESTS --><dt>{L_INTERESTS}:</dt> <dd>{INTERESTS}</dd><!-- ENDIF --> <!-- IF S_GROUP_OPTIONS --><dt>{L_USERGROUPS}:</dt> <dd><select name="g">{S_GROUP_OPTIONS}</select> <input type="submit" name="submit" value="{L_GO}" class="button2" /></dd><!-- ENDIF --> - <!-- IF SIGNATURE --><dt>{L_SIGNATURE}:</dt> <dd><div class="signature">{SIGNATURE}</div></dd><!-- ENDIF --> + <!-- BEGIN custom_fields --><dt>{custom_fields.PROFILE_FIELD_NAME}:</dt> <dd>{custom_fields.PROFILE_FIELD_VALUE}</dd><!-- END custom_fields --> + <!-- IF S_USER_LOGGED_IN and S_ZEBRA --> + <!-- IF U_ADD_FRIEND and U_ADD_FOE--> + <dt> </dt> <dd><a href="{U_ADD_FRIEND}"><strong>{L_ADD_FRIEND}</strong></a></dd> + <dt> </dt> <dd><a href="{U_ADD_FOE}"><strong>{L_ADD_FOE}</strong></a></dd> + <!-- ELSE --> + <!-- IF U_REMOVE_FRIEND --> + <dt> </dt> <dd><a href="{U_REMOVE_FRIEND}"><strong>{L_REMOVE_FRIEND}</strong></a></dd> + <!-- ELSE --> + <dt> </dt> <dd><a href="{U_REMOVE_FOE}"><strong>{L_REMOVE_FOE}</strong></a></dd> + <!-- ENDIF --> + <!-- ENDIF --> + <!-- ENDIF --> </dl> <span class="corners-bottom"><span></span></span></div> @@ -57,19 +69,6 @@ <!-- NOTE: Use a construct like this to include admin defined profile fields. Replace FIELD1 with the name of your field. --> <dt>{postrow.PROFILE_FIELD1_NAME}:</dt> <dd>{postrow.PROFILE_FIELD1_VALUE}</dd> <!-- ENDIF --> - <!-- BEGIN custom_fields --><dt>{custom_fields.PROFILE_FIELD_NAME}:</dt> <dd>{custom_fields.PROFILE_FIELD_VALUE}</dd><!-- END custom_fields --> - <!-- IF S_USER_LOGGED_IN and S_ZEBRA --> - <!-- IF U_ADD_FRIEND and U_ADD_FOE--> - <dt> </dt> <dd><a href="{U_ADD_FRIEND}"><strong>{L_ADD_FRIEND}</strong></a></dd> - <dt> </dt> <dd><a href="{U_ADD_FOE}"><strong>{L_ADD_FOE}</strong></a></dd> - <!-- ELSE --> - <!-- IF U_REMOVE_FRIEND --> - <dt> </dt> <dd><a href="{U_REMOVE_FRIEND}"><strong>{L_REMOVE_FRIEND}</strong></a></dd> - <!-- ELSE --> - <dt> </dt> <dd><a href="{U_REMOVE_FOE}"><strong>{L_REMOVE_FOE}</strong></a></dd> - <!-- ENDIF --> - <!-- ENDIF --> - <!-- ENDIF --> </dl> </div> @@ -91,6 +90,19 @@ </div> <span class="corners-bottom"><span></span></span></div> </div> + +<!-- IF SIGNATURE --> +<div class="panel bg1"> + <div class="inner"><span class="corners-top"><span></span></span> + + <h3>{L_SIGNATURE}</h3> + + <div class="postbody"><div class="content">{SIGNATURE}</div></div> + + <span class="corners-bottom"><span></span></span></div> +</div> +<!-- ENDIF --> + </form> <!-- INCLUDE jumpbox.html --> diff --git a/phpBB/styles/prosilver/template/viewforum_body.html b/phpBB/styles/prosilver/template/viewforum_body.html index bc89861575..7a41cd6ef9 100644 --- a/phpBB/styles/prosilver/template/viewforum_body.html +++ b/phpBB/styles/prosilver/template/viewforum_body.html @@ -28,21 +28,19 @@ <!-- IF S_HAS_SUBFORUM --> <!-- IF not S_IS_BOT and U_MARK_FORUMS --> <ul class="linklist"> - <li class="rightside"><a href="{U_MARK_FORUMS}">{L_MARK_FORUMS_READ}</a></li> + <li class="rightside"><a href="{U_MARK_FORUMS}">{L_MARK_FORUMS_READ}</a></li> </ul> <!-- ENDIF --> <!-- INCLUDE forumlist_body.html --> <!-- ENDIF --> -<!-- IF U_POST_REPLY_TOPIC or S_IS_POSTABLE or PAGINATION or TOTAL_POSTS or TOTAL_TOPICS --> +<!-- IF S_DISPLAY_POST_INFO or PAGINATION or TOTAL_POSTS or TOTAL_TOPICS --> <div class="topic-actions" <!-- IF S_HAS_SUBFORUM -->style="margin-top: 2em;"<!-- ENDIF -->> - <!-- IF not S_IS_BOT --> - <!-- IF U_POST_REPLY_TOPIC or S_IS_POSTABLE --> - <div class="buttons"> - <div class="post-icon"><a href="{U_POST_NEW_TOPIC}" accesskey="n"><span>{L_POST_TOPIC}</span></a></div> - </div> - <!-- ENDIF --> + <!-- IF not S_IS_BOT and S_DISPLAY_POST_INFO --> + <div class="buttons"> + <div class="post-icon"><a href="{U_POST_NEW_TOPIC}" accesskey="n"><span>{L_POST_TOPIC}</span></a></div> + </div> <!-- ENDIF --> <!-- IF S_DISPLAY_SEARCHBOX --> @@ -181,7 +179,7 @@ <!-- IF .topicrow and not S_DISPLAY_ACTIVE --> <div class="topic-actions"> - <!-- IF S_IS_POSTABLE and not S_IS_BOT --> + <!-- IF not S_IS_BOT and S_DISPLAY_POST_INFO --> <div class="buttons"> <div class="post-icon"><a href="{U_POST_NEW_TOPIC}"><span>{L_POST_REPLY}</span></a></div> </div> @@ -189,7 +187,7 @@ <!-- IF PAGINATION or TOTAL_POSTS or TOTAL_TOPICS --> <div class="pagination"> - <!-- IF not U_POST_REPLY_TOPIC and TOTAL_TOPICS and not S_IS_BOT and U_MARK_TOPICS --><a href="{U_MARK_TOPICS}">{L_MARK_TOPICS_READ}</a> • <!-- ENDIF --> + <!-- IF TOTAL_TOPICS and not S_IS_BOT and U_MARK_TOPICS --><a href="{U_MARK_TOPICS}">{L_MARK_TOPICS_READ}</a> • <!-- ENDIF --> <!-- IF TOTAL_POSTS and not NEWEST_USER --> {TOTAL_POSTS}<!-- ELSEIF TOTAL_TOPICS and not NEWEST_USER --> {TOTAL_TOPICS}<!-- ENDIF --> <!-- IF TOTAL_USERS -->{TOTAL_USERS}<!-- ENDIF --> <!-- IF PAGINATION --> • <a href="#" onclick="jumpto(); return false;" title="{L_JUMP_TO_PAGE}">{PAGE_NUMBER}</a> @@ -206,7 +204,7 @@ <p>{LOGGED_IN_USER_LIST}</p> <!-- ENDIF --> -<!-- IF S_IS_POSTABLE --> +<!-- IF S_DISPLAY_POST_INFO --> <h3>{L_FORUM_PERMISSIONS}</h3> <p><!-- BEGIN rules -->{rules.RULE}<br /><!-- END rules --></p> <!-- ENDIF --> diff --git a/phpBB/styles/prosilver/template/viewtopic_body.html b/phpBB/styles/prosilver/template/viewtopic_body.html index 95e37663ae..1eb35bdaa0 100644 --- a/phpBB/styles/prosilver/template/viewtopic_body.html +++ b/phpBB/styles/prosilver/template/viewtopic_body.html @@ -31,7 +31,7 @@ <div class="topic-actions"> <div class="buttons"> - <!-- IF not S_IS_BOT and U_POST_REPLY_TOPIC --> + <!-- IF not S_IS_BOT and S_DISPLAY_REPLY_INFO --> <div class="<!-- IF S_IS_LOCKED -->locked-icon<!-- ELSE -->reply-icon<!-- ENDIF -->"><a href="{U_POST_REPLY_TOPIC}"><span><!-- IF S_IS_LOCKED -->{L_TOPIC_LOCKED}<!-- ELSE -->{L_POST_REPLY}<!-- ENDIF --></span></a></div> <!-- ENDIF --> </div> @@ -238,7 +238,7 @@ <div class="topic-actions"> <div class="buttons"> - <!-- IF not S_IS_BOT and U_POST_REPLY_TOPIC --> + <!-- IF not S_IS_BOT and S_DISPLAY_REPLY_INFO --> <div class="<!-- IF S_IS_LOCKED -->locked-icon<!-- ELSE -->reply-icon<!-- ENDIF -->"><a href="{U_POST_REPLY_TOPIC}"><span><!-- IF S_IS_LOCKED -->{L_TOPIC_LOCKED}<!-- ELSE -->{L_POST_REPLY}<!-- ENDIF --></span></a></div> <!-- ENDIF --> </div> diff --git a/phpBB/styles/prosilver/theme/common.css b/phpBB/styles/prosilver/theme/common.css index c1a0c504ca..46caee6089 100644 --- a/phpBB/styles/prosilver/theme/common.css +++ b/phpBB/styles/prosilver/theme/common.css @@ -581,6 +581,10 @@ div.rules { font-size: 1.1em; } +div.rules li { + margin-left: 20px; +} + p.rules { background-color: #ececec; background-image: none; @@ -596,6 +600,7 @@ p.rules a { clear: both; } + #top { position: absolute; top: -20px; diff --git a/phpBB/styles/subsilver2/template/viewforum_body.html b/phpBB/styles/subsilver2/template/viewforum_body.html index e328552cde..de31d951fd 100644 --- a/phpBB/styles/subsilver2/template/viewforum_body.html +++ b/phpBB/styles/subsilver2/template/viewforum_body.html @@ -133,10 +133,10 @@ <br clear="all" /> <!-- ENDIF --> - <!-- IF S_IS_POSTABLE or TOTAL_TOPICS --> + <!-- IF S_DISPLAY_POST_INFO or TOTAL_TOPICS --> <table width="100%" cellspacing="1"> <tr> - <!-- IF S_IS_POSTABLE and not S_IS_BOT --> + <!-- IF S_DISPLAY_POST_INFO and not S_IS_BOT --> <td align="{S_CONTENT_FLOW_BEGIN}" valign="middle"><a href="{U_POST_NEW_TOPIC}">{POST_IMG}</a></td> <!-- ENDIF --> <!-- IF TOTAL_TOPICS --> @@ -235,10 +235,10 @@ </tr> </table> - <!-- IF S_IS_POSTABLE or TOTAL_TOPICS --> + <!-- IF S_DISPLAY_POST_INFO or TOTAL_TOPICS --> <table width="100%" cellspacing="1"> <tr> - <!-- IF S_IS_POSTABLE and not S_IS_BOT --> + <!-- IF S_DISPLAY_POST_INFO and not S_IS_BOT --> <td align="{S_CONTENT_FLOW_BEGIN}" valign="middle"><a href="{U_POST_NEW_TOPIC}">{POST_IMG}</a></td> <!-- ENDIF --> <!-- IF TOTAL_TOPICS --> @@ -268,7 +268,7 @@ </table> <!-- ENDIF --> -<!-- IF S_IS_POSTABLE --> +<!-- IF S_DISPLAY_POST_INFO --> <br clear="all" /> <table width="100%" cellspacing="0"> diff --git a/phpBB/styles/subsilver2/template/viewtopic_body.html b/phpBB/styles/subsilver2/template/viewtopic_body.html index 0fe28f3509..bb29aacfea 100644 --- a/phpBB/styles/subsilver2/template/viewtopic_body.html +++ b/phpBB/styles/subsilver2/template/viewtopic_body.html @@ -31,7 +31,12 @@ <table width="100%" cellspacing="1"> <tr> - <td align="{S_CONTENT_FLOW_BEGIN}" valign="middle" nowrap="nowrap"><!-- IF not S_IS_BOT and U_POST_NEW_TOPIC --><a href="{U_POST_NEW_TOPIC}">{POST_IMG}</a> <!-- ENDIF --><!-- IF not S_IS_BOT and U_POST_REPLY_TOPIC --><a href="{U_POST_REPLY_TOPIC}">{REPLY_IMG}</a><!-- ENDIF --></td> + <td align="{S_CONTENT_FLOW_BEGIN}" valign="middle" nowrap="nowrap"> + <!-- IF not S_IS_BOT --> + <!-- IF S_DISPLAY_POST_INFO --><a href="{U_POST_NEW_TOPIC}">{POST_IMG}</a> <!-- ENDIF --> + <!-- IF S_DISPLAY_REPLY_INFO --><a href="{U_POST_REPLY_TOPIC}">{REPLY_IMG}</a><!-- ENDIF --> + <!-- ENDIF --> + </td> <!-- IF TOTAL_POSTS --> <td class="nav" valign="middle" nowrap="nowrap"> {PAGE_NUMBER}<br /></td> <td class="gensmall" nowrap="nowrap"> [ {TOTAL_POSTS} ] </td> @@ -294,7 +299,12 @@ <table width="100%" cellspacing="1"> <tr> - <td align="{S_CONTENT_FLOW_BEGIN}" valign="middle" nowrap="nowrap"><!-- IF not S_IS_BOT and U_POST_NEW_TOPIC --><a href="{U_POST_NEW_TOPIC}">{POST_IMG}</a> <!-- ENDIF --><!-- IF not S_IS_BOT and U_POST_REPLY_TOPIC --><a href="{U_POST_REPLY_TOPIC}">{REPLY_IMG}</a><!-- ENDIF --></td> + <td align="{S_CONTENT_FLOW_BEGIN}" valign="middle" nowrap="nowrap"> + <!-- IF not S_IS_BOT --> + <!-- IF S_DISPLAY_POST_INFO --><a href="{U_POST_NEW_TOPIC}">{POST_IMG}</a> <!-- ENDIF --> + <!-- IF S_DISPLAY_REPLY_INFO --><a href="{U_POST_REPLY_TOPIC}">{REPLY_IMG}</a><!-- ENDIF --> + <!-- ENDIF --> + </td> <!-- IF TOTAL_POSTS --> <td class="nav" valign="middle" nowrap="nowrap"> {PAGE_NUMBER}<br /></td> <td class="gensmall" nowrap="nowrap"> [ {TOTAL_POSTS} ] </td> diff --git a/phpBB/viewforum.php b/phpBB/viewforum.php index 7884896a9f..5e056967ae 100644 --- a/phpBB/viewforum.php +++ b/phpBB/viewforum.php @@ -275,7 +275,10 @@ $template->assign_vars(array( 'L_NO_TOPICS' => ($forum_data['forum_status'] == ITEM_LOCKED) ? $user->lang['POST_FORUM_LOCKED'] : $user->lang['NO_TOPICS'], - 'S_IS_POSTABLE' => ($forum_data['forum_type'] == FORUM_POST && $auth->acl_get('f_post', $forum_id)) ? true : false, + 'S_DISPLAY_POST_INFO' => ($forum_data['forum_type'] == FORUM_POST && ($auth->acl_get('f_post', $forum_id) || $user->data['user_id'] == ANONYMOUS)) ? true : false, + + 'S_IS_POSTABLE' => ($forum_data['forum_type'] == FORUM_POST) ? true : false, + 'S_USER_CAN_POST' => ($auth->acl_get('f_post', $forum_id)) ? true : false, 'S_DISPLAY_ACTIVE' => $s_display_active, 'S_SELECT_SORT_DIR' => $s_sort_dir, 'S_SELECT_SORT_KEY' => $s_sort_key, @@ -290,7 +293,7 @@ $template->assign_vars(array( 'S_SINGLE_MODERATOR' => (!empty($moderators[$forum_id]) && sizeof($moderators[$forum_id]) > 1) ? false : true, 'U_MCP' => ($auth->acl_get('m_', $forum_id)) ? append_sid("{$phpbb_root_path}mcp.$phpEx", "f=$forum_id&i=main&mode=forum_view", true, $user->session_id) : '', - 'U_POST_NEW_TOPIC' => ($auth->acl_get('f_post', $forum_id)) ? append_sid("{$phpbb_root_path}posting.$phpEx", 'mode=post&f=' . $forum_id) : '', + 'U_POST_NEW_TOPIC' => ($auth->acl_get('f_post', $forum_id) || $user->data['user_id'] == ANONYMOUS) ? append_sid("{$phpbb_root_path}posting.$phpEx", 'mode=post&f=' . $forum_id) : '', 'U_VIEW_FORUM' => append_sid("{$phpbb_root_path}viewforum.$phpEx", "f=$forum_id&$u_sort_param&start=$start"), 'U_MARK_TOPICS' => ($user->data['is_registered'] || $config['load_anon_lastread']) ? append_sid("{$phpbb_root_path}viewforum.$phpEx", "f=$forum_id&mark=topics") : '', )); diff --git a/phpBB/viewtopic.php b/phpBB/viewtopic.php index 6d21041e8a..26684669b4 100644 --- a/phpBB/viewtopic.php +++ b/phpBB/viewtopic.php @@ -565,6 +565,9 @@ $template->assign_vars(array( 'S_DISPLAY_SEARCHBOX' => ($auth->acl_get('u_search') && $auth->acl_get('f_search', $forum_id) && $config['load_search']) ? true : false, 'S_SEARCHBOX_ACTION' => append_sid("{$phpbb_root_path}search.$phpEx", 't=' . $topic_id), + 'S_DISPLAY_POST_INFO' => ($topic_data['forum_type'] == FORUM_POST && ($auth->acl_get('f_post', $forum_id) || $user->data['user_id'] == ANONYMOUS)) ? true : false, + 'S_DISPLAY_REPLY_INFO' => ($topic_data['forum_type'] == FORUM_POST && ($auth->acl_get('f_reply', $forum_id) || $user->data['user_id'] == ANONYMOUS)) ? true : false, + 'U_TOPIC' => "{$server_path}viewtopic.$phpEx?f=$forum_id&t=$topic_id", 'U_FORUM' => $server_path, 'U_VIEW_TOPIC' => $viewtopic_url, @@ -581,8 +584,8 @@ $template->assign_vars(array( 'U_BOOKMARK_TOPIC' => ($user->data['is_registered'] && $config['allow_bookmarks']) ? $viewtopic_url . '&bookmark=1' : '', 'L_BOOKMARK_TOPIC' => ($user->data['is_registered'] && $config['allow_bookmarks'] && $topic_data['bookmarked']) ? $user->lang['BOOKMARK_TOPIC_REMOVE'] : $user->lang['BOOKMARK_TOPIC'], - 'U_POST_NEW_TOPIC' => ($auth->acl_get('f_post', $forum_id)) ? append_sid("{$phpbb_root_path}posting.$phpEx", "mode=post&f=$forum_id") : '', - 'U_POST_REPLY_TOPIC' => ($auth->acl_get('f_reply', $forum_id)) ? append_sid("{$phpbb_root_path}posting.$phpEx", "mode=reply&f=$forum_id&t=$topic_id") : '', + 'U_POST_NEW_TOPIC' => ($auth->acl_get('f_post', $forum_id) || $user->data['user_id'] == ANONYMOUS) ? append_sid("{$phpbb_root_path}posting.$phpEx", "mode=post&f=$forum_id") : '', + 'U_POST_REPLY_TOPIC' => ($auth->acl_get('f_reply', $forum_id) || $user->data['user_id'] == ANONYMOUS) ? append_sid("{$phpbb_root_path}posting.$phpEx", "mode=reply&f=$forum_id&t=$topic_id") : '', 'U_BUMP_TOPIC' => (bump_topic_allowed($forum_id, $topic_data['topic_bumped'], $topic_data['topic_last_post_time'], $topic_data['topic_poster'], $topic_data['topic_last_poster_id'])) ? append_sid("{$phpbb_root_path}posting.$phpEx", "mode=bump&f=$forum_id&t=$topic_id") : '') ); |