mirror of
https://github.com/phpbb/phpbb.git
synced 2025-02-25 12:33:29 +01:00
Merge branch 'develop-olympus' into develop
* develop-olympus: [ticket/9094] Hide "Copy permissions" message, when permissions were copied. [ticket/9135] Fix report-icon for moderators in PM folders. [ticket/8936] Subsilver2 missing reply-to-all feature. [ticket/7782] Return 404 HTTP status code for nonexistent attachments. [ticket/7782] Added spaces. [ticket/7782] Added phpdoc comment for send_status_line function. [ticket/7782] Send status line using refactored download/file.php logic. [ticket/8792] Add LDAP_SEARCH_FAILED string for when ldap_search() fails.
This commit is contained in:
commit
2cf57822bb
@ -670,15 +670,7 @@ function set_modified_headers($stamp, $browser)
|
||||
{
|
||||
if ($last_load !== false && $last_load >= $stamp)
|
||||
{
|
||||
if (substr(strtolower(@php_sapi_name()),0,3) === 'cgi')
|
||||
{
|
||||
// in theory, we shouldn't need that due to php doing it. Reality offers a differing opinion, though
|
||||
header('Status: 304 Not Modified', true, 304);
|
||||
}
|
||||
else
|
||||
{
|
||||
header('HTTP/1.0 304 Not Modified', true, 304);
|
||||
}
|
||||
send_status_line(304, 'Not Modified');
|
||||
// seems that we need those too ... browsers
|
||||
header('Pragma: public');
|
||||
header('Expires: ' . gmdate('D, d M Y H:i:s \G\M\T', time() + 31536000));
|
||||
|
@ -190,12 +190,14 @@ class acp_forums
|
||||
$forum_perm_from = request_var('forum_perm_from', 0);
|
||||
$cache->destroy('sql', FORUMS_TABLE);
|
||||
|
||||
$copied_permissions = false;
|
||||
// Copy permissions?
|
||||
if ($forum_perm_from && $forum_perm_from != $forum_data['forum_id'] &&
|
||||
($action != 'edit' || empty($forum_id) || ($auth->acl_get('a_fauth') && $auth->acl_get('a_authusers') && $auth->acl_get('a_authgroups') && $auth->acl_get('a_mauth'))))
|
||||
{
|
||||
copy_forum_permissions($forum_perm_from, $forum_data['forum_id'], ($action == 'edit') ? true : false);
|
||||
cache_moderators();
|
||||
$copied_permissions = true;
|
||||
}
|
||||
/* Commented out because of questionable UI workflow - re-visit for 3.0.7
|
||||
else if (!$this->parent_id && $action != 'edit' && $auth->acl_get('a_fauth') && $auth->acl_get('a_authusers') && $auth->acl_get('a_authgroups') && $auth->acl_get('a_mauth'))
|
||||
@ -211,13 +213,13 @@ class acp_forums
|
||||
$message = ($action == 'add') ? $user->lang['FORUM_CREATED'] : $user->lang['FORUM_UPDATED'];
|
||||
|
||||
// Redirect to permissions
|
||||
if ($auth->acl_get('a_fauth'))
|
||||
if ($auth->acl_get('a_fauth') && !$copied_permissions)
|
||||
{
|
||||
$message .= '<br /><br />' . sprintf($user->lang['REDIRECT_ACL'], '<a href="' . append_sid("{$phpbb_admin_path}index.$phpEx", 'i=permissions' . $acl_url) . '">', '</a>');
|
||||
}
|
||||
|
||||
// redirect directly to permission settings screen if authed
|
||||
if ($action == 'add' && !$forum_perm_from && $auth->acl_get('a_fauth'))
|
||||
if ($action == 'add' && !$copied_permissions && $auth->acl_get('a_fauth'))
|
||||
{
|
||||
meta_refresh(4, append_sid("{$phpbb_admin_path}index.$phpEx", 'i=permissions' . $acl_url));
|
||||
}
|
||||
|
@ -74,7 +74,7 @@ function init_ldap()
|
||||
|
||||
if ($search === false)
|
||||
{
|
||||
return $user->lang['LDAP_NO_SERVER_CONNECTION'];
|
||||
return $user->lang['LDAP_SEARCH_FAILED'];
|
||||
}
|
||||
|
||||
$result = @ldap_get_entries($ldap, $search);
|
||||
|
@ -2578,6 +2578,47 @@ function meta_refresh($time, $url, $disable_cd_check = false)
|
||||
return $url;
|
||||
}
|
||||
|
||||
/**
|
||||
* Outputs correct status line header.
|
||||
*
|
||||
* Depending on php sapi one of the two following forms is used:
|
||||
*
|
||||
* Status: 404 Not Found
|
||||
*
|
||||
* HTTP/1.x 404 Not Found
|
||||
*
|
||||
* HTTP version is taken from HTTP_VERSION environment variable,
|
||||
* and defaults to 1.0.
|
||||
*
|
||||
* Sample usage:
|
||||
*
|
||||
* send_status_line(404, 'Not Found');
|
||||
*
|
||||
* @param int $code HTTP status code
|
||||
* @param string $message Message for the status code
|
||||
* @return void
|
||||
*/
|
||||
function send_status_line($code, $message)
|
||||
{
|
||||
if (substr(strtolower(@php_sapi_name()), 0, 3) === 'cgi')
|
||||
{
|
||||
// in theory, we shouldn't need that due to php doing it. Reality offers a differing opinion, though
|
||||
header("Status: $code $message", true, $code);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (isset($_SERVER['HTTP_VERSION']))
|
||||
{
|
||||
$version = $_SERVER['HTTP_VERSION'];
|
||||
}
|
||||
else
|
||||
{
|
||||
$version = 'HTTP/1.0';
|
||||
}
|
||||
header("$version $code $message", true, $code);
|
||||
}
|
||||
}
|
||||
|
||||
//Form validation
|
||||
|
||||
|
||||
@ -3621,9 +3662,9 @@ function msg_handler($errno, $msg_text, $errfile, $errline)
|
||||
$user->setup();
|
||||
}
|
||||
|
||||
if ($msg_text == 'NO_FORUM' || $msg_text == 'NO_TOPIC' || $msg_text == 'NO_USER')
|
||||
if ($msg_text == 'ERROR_NO_ATTACHMENT' || $msg_text == 'NO_FORUM' || $msg_text == 'NO_TOPIC' || $msg_text == 'NO_USER')
|
||||
{
|
||||
header("HTTP/1.x 404 Not Found");
|
||||
send_status_line(404, 'Not Found');
|
||||
}
|
||||
|
||||
$msg_text = (!empty($user->lang[$msg_text])) ? $user->lang[$msg_text] : $msg_text;
|
||||
|
@ -170,10 +170,12 @@ function view_folder($id, $mode, $folder_id, $folder)
|
||||
'ATTACH_ICON_IMG' => ($auth->acl_get('u_pm_download') && $row['message_attachment'] && $config['allow_pm_attach']) ? $user->img('icon_topic_attach', $user->lang['TOTAL_ATTACHMENTS']) : '',
|
||||
|
||||
'S_PM_DELETED' => ($row['pm_deleted']) ? true : false,
|
||||
'S_PM_REPORTED' => (isset($row['report_id'])) ? true : false,
|
||||
'S_AUTHOR_DELETED' => ($row['author_id'] == ANONYMOUS) ? true : false,
|
||||
|
||||
'U_VIEW_PM' => ($row['pm_deleted']) ? '' : $view_message_url,
|
||||
'U_REMOVE_PM' => ($row['pm_deleted']) ? $remove_message_url : '',
|
||||
'U_MCP_REPORT' => (isset($row['report_id'])) ? append_sid("{$phpbb_root_path}mcp.$phpEx", 'i=pm_reports&mode=pm_report_details&r=' . $row['report_id']) : '',
|
||||
'RECIPIENTS' => ($folder_id == PRIVMSGS_OUTBOX || $folder_id == PRIVMSGS_SENTBOX) ? implode(', ', $address_list[$message_id]) : '')
|
||||
);
|
||||
}
|
||||
@ -183,6 +185,7 @@ function view_folder($id, $mode, $folder_id, $folder)
|
||||
'S_SHOW_RECIPIENTS' => ($folder_id == PRIVMSGS_OUTBOX || $folder_id == PRIVMSGS_SENTBOX) ? true : false,
|
||||
'S_SHOW_COLOUR_LEGEND' => true,
|
||||
|
||||
'REPORTED_IMG' => $user->img('icon_topic_reported', 'PM_REPORTED'),
|
||||
'S_PM_ICONS' => ($config['enable_pm_icons']) ? true : false)
|
||||
);
|
||||
}
|
||||
@ -502,7 +505,7 @@ function get_pm_from($folder_id, $folder, $user_id)
|
||||
$sql_sort_order = $sort_by_sql[$sort_key] . ' ' . $direction;
|
||||
}
|
||||
|
||||
$sql = 'SELECT t.*, p.root_level, p.message_time, p.message_subject, p.icon_id, p.to_address, p.message_attachment, p.bcc_address, u.username, u.username_clean, u.user_colour
|
||||
$sql = 'SELECT t.*, p.root_level, p.message_time, p.message_subject, p.icon_id, p.to_address, p.message_attachment, p.bcc_address, u.username, u.username_clean, u.user_colour, p.message_reported
|
||||
FROM ' . PRIVMSGS_TO_TABLE . ' t, ' . PRIVMSGS_TABLE . ' p, ' . USERS_TABLE . " u
|
||||
WHERE t.user_id = $user_id
|
||||
AND p.author_id = u.user_id
|
||||
@ -512,13 +515,34 @@ function get_pm_from($folder_id, $folder, $user_id)
|
||||
ORDER BY $sql_sort_order";
|
||||
$result = $db->sql_query_limit($sql, $sql_limit, $sql_start);
|
||||
|
||||
$pm_reported = array();
|
||||
while ($row = $db->sql_fetchrow($result))
|
||||
{
|
||||
$rowset[$row['msg_id']] = $row;
|
||||
$pm_list[] = $row['msg_id'];
|
||||
if ($row['message_reported'])
|
||||
{
|
||||
$pm_reported[] = $row['msg_id'];
|
||||
}
|
||||
}
|
||||
$db->sql_freeresult($result);
|
||||
|
||||
// Fetch the report_ids, if there are any reported pms.
|
||||
if (!empty($pm_reported) && $auth->acl_getf_global('m_report'))
|
||||
{
|
||||
$sql = 'SELECT pm_id, report_id
|
||||
FROM ' . REPORTS_TABLE . '
|
||||
WHERE report_closed = 0
|
||||
AND ' . $db->sql_in_set('pm_id', $pm_reported);
|
||||
$result = $db->sql_query($sql);
|
||||
|
||||
while ($row = $db->sql_fetchrow($result))
|
||||
{
|
||||
$rowset[$row['pm_id']]['report_id'] = $row['report_id'];
|
||||
}
|
||||
$db->sql_freeresult($result);
|
||||
}
|
||||
|
||||
$pm_list = ($store_reverse) ? array_reverse($pm_list) : $pm_list;
|
||||
|
||||
return array(
|
||||
|
@ -295,6 +295,7 @@ $lang = array_merge($lang, array(
|
||||
'LAST_VISIT' => 'Last visit',
|
||||
'LDAP_NO_LDAP_EXTENSION' => 'LDAP extension not available.',
|
||||
'LDAP_NO_SERVER_CONNECTION' => 'Could not connect to LDAP server.',
|
||||
'LDAP_SEARCH_FAILED' => 'An error occured while searching the LDAP directory.',
|
||||
'LEGEND' => 'Legend',
|
||||
'LOCATION' => 'Location',
|
||||
'LOCK_POST' => 'Lock post',
|
||||
@ -420,6 +421,7 @@ $lang = array_merge($lang, array(
|
||||
'PIXEL' => 'px',
|
||||
'PLAY_QUICKTIME_FILE' => 'Play Quicktime file',
|
||||
'PM' => 'PM',
|
||||
'PM_REPORTED' => 'Click to view report',
|
||||
'POSTING_MESSAGE' => 'Posting message in %s',
|
||||
'POSTING_PRIVATE_MESSAGE' => 'Composing private message',
|
||||
'POST' => 'Post',
|
||||
|
@ -71,7 +71,7 @@
|
||||
<br /><em class="small">{L_PM_FROM_REMOVED_AUTHOR}</em>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- IF messagerow.S_TOPIC_REPORTED --><a href="{messagerow.U_MCP_REPORT}">{REPORTED_IMG}</a><!-- ENDIF --> {messagerow.ATTACH_ICON_IMG}<br />
|
||||
<!-- IF messagerow.S_PM_REPORTED --><a href="{messagerow.U_MCP_REPORT}">{REPORTED_IMG}</a><!-- ENDIF --> {messagerow.ATTACH_ICON_IMG}<br />
|
||||
<!-- IF S_SHOW_RECIPIENTS -->{L_MESSAGE_TO} {messagerow.RECIPIENTS}<!-- ELSE -->{L_MESSAGE_BY_AUTHOR} {messagerow.MESSAGE_AUTHOR_FULL} » {messagerow.SENT_TIME}<!-- ENDIF -->
|
||||
</dt>
|
||||
<!-- IF S_SHOW_RECIPIENTS --><dd class="info"><span>{L_SENT_AT}: {messagerow.SENT_TIME}</span></dd><!-- ENDIF -->
|
||||
|
@ -14,6 +14,7 @@
|
||||
<span class="gensmall">
|
||||
<!-- IF U_PRINT_PM --><a href="{U_PRINT_PM}" title="{L_PRINT_PM}">{L_PRINT_PM}</a><!-- IF U_FORWARD_PM --> | <!-- ENDIF --><!-- ENDIF -->
|
||||
<!-- IF U_FORWARD_PM --><a href="{U_FORWARD_PM}" title="{L_FORWARD_PM}">{L_FORWARD_PM}</a><!-- ENDIF -->
|
||||
<!-- IF U_POST_REPLY_PM and S_PM_RECIPIENTS gt 1 --><!-- IF U_PRINT_PM or U_FORWARD_PM --> | <!-- ENDIF --><a title="{L_REPLY_TO_ALL}" href="{U_POST_REPLY_ALL}">{L_REPLY_TO_ALL}</a><!-- ENDIF -->
|
||||
</span>
|
||||
<!-- ENDIF -->
|
||||
</td>
|
||||
|
@ -81,6 +81,9 @@
|
||||
<!-- ELSE -->
|
||||
<a href="{messagerow.U_VIEW_PM}">{messagerow.SUBJECT}</a>
|
||||
<!-- ENDIF -->
|
||||
<!-- IF messagerow.S_PM_REPORTED -->
|
||||
<a href="{messagerow.U_MCP_REPORT}">{REPORTED_IMG}</a>
|
||||
<!-- ENDIF -->
|
||||
<!-- IF messagerow.S_AUTHOR_DELETED -->
|
||||
<br /><em class="gensmall">{L_PM_FROM_REMOVED_AUTHOR}</em>
|
||||
<!-- ENDIF -->
|
||||
|
Loading…
x
Reference in New Issue
Block a user