From cb389894e948b2e23473d1de21c5843ac1059a8c Mon Sep 17 00:00:00 2001 From: Ruslan Uzdenov Date: Mon, 18 Jan 2010 15:50:13 +0000 Subject: [PATCH] Fix bug #51585 - Search loginbox or auth message differs Authorised by: ToonArmy git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_0@10426 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/docs/CHANGELOG.html | 1 + phpBB/search.php | 38 ++++++++++++++++++++------------------ 2 files changed, 21 insertions(+), 18 deletions(-) diff --git a/phpBB/docs/CHANGELOG.html b/phpBB/docs/CHANGELOG.html index ed177b6d18..44e03912da 100644 --- a/phpBB/docs/CHANGELOG.html +++ b/phpBB/docs/CHANGELOG.html @@ -147,6 +147,7 @@
  • [Change] It is no longer possible to persist a solution for the login CAPTCHA.
  • [Change] SQLite is no longer autoloaded by the installer. (Bug #56105)
  • [Change] Friends and foes will not show up as private message rule options if their respective UCP modules are disabled. (Bug #51155)
  • +
  • [Change] Offer for guests to log in for egosearch and unreadposts search before the search permissions check. (Bug #51585)
  • 1.ii. Changes since 3.0.5

    diff --git a/phpBB/search.php b/phpBB/search.php index c70f389b94..ab2221a96e 100644 --- a/phpBB/search.php +++ b/phpBB/search.php @@ -47,6 +47,26 @@ $sort_dir = request_var('sd', 'd'); $return_chars = request_var('ch', ($topic_id) ? -1 : 300); $search_forum = request_var('fid', array(0)); +// We put login boxes for the case if search_id is egosearch or unreadposts +// because a guest should be able to log in even if guests search is not permitted + +// Egosearch is an author search +if ($search_id == 'egosearch') +{ + $author_id = $user->data['user_id']; + + if ($user->data['user_id'] == ANONYMOUS) + { + login_box('', $user->lang['LOGIN_EXPLAIN_EGOSEARCH']); + } +} + +// Search for unread posts needs user to be logged in if topics tracking for guests is disabled +if ($search_id == 'unreadposts' && !$config['load_anon_lastread'] && !$user->data['is_registered']) +{ + login_box('', $user->lang['LOGIN_EXPLAIN_UNREADSEARCH']); +} + // Is user able to search? Has search been disabled? if (!$auth->acl_get('u_search') || !$auth->acl_getf_global('f_search') || !$config['load_search']) { @@ -84,24 +104,6 @@ if ($keywords || $author || $author_id || $search_id || $submit) // clear arrays $id_ary = array(); - // egosearch is an author search - if ($search_id == 'egosearch') - { - $author_id = $user->data['user_id']; - - if ($user->data['user_id'] == ANONYMOUS) - { - login_box('', $user->lang['LOGIN_EXPLAIN_EGOSEARCH']); - } - } - - // search for unread posts needs user to be logged in - // if topics tracking for guests is disabled - if ($search_id == 'unreadposts' && !$config['load_anon_lastread'] && !$user->data['is_registered']) - { - login_box('', $user->lang['LOGIN_EXPLAIN_UNREADSEARCH']); - } - // If we are looking for authors get their ids $author_id_ary = array(); $sql_author_match = '';