diff --git a/phpBB/docs/CHANGELOG.html b/phpBB/docs/CHANGELOG.html index 154e93c928..e44e7781b2 100644 --- a/phpBB/docs/CHANGELOG.html +++ b/phpBB/docs/CHANGELOG.html @@ -138,6 +138,12 @@
  • [Fix] Warnings if poll title/options exceed maximum characters per post (Bug #22865)
  • [Fix] Do not allow selecting non-authorized groups within memberlist by adjusting URL (Bug #22805 - patch provided by ToonArmy)
  • [Fix] Correctly specify "close report action" (Bug #22685)
  • +
  • [Fix] Display "empty password error" within the login box instead of issuing a general error (Bug #22525)
  • +
  • [Fix] Pertain select single link on memberlist (Bug #23235 - patch provided by Schumi)
  • +
  • [Fix] Allow & and | in local part of email addresses (Bug #22995)
  • +
  • [Fix] Do not error out if php_uname function disabled / Authenticating on SMTP Server (Bug #22235 - patch by HoL)
  • +
  • [Fix] Correctly obtain to be ignored users within topic/forum notification (Bug #21795 - patch provided by dr.death)
  • +
  • [Fix] Correctly update board statistics for attaching orphaned files to existing posts (Bug #20185)
  • diff --git a/phpBB/includes/acp/acp_attachments.php b/phpBB/includes/acp/acp_attachments.php index 120c6a789f..d2beba55c5 100644 --- a/phpBB/includes/acp/acp_attachments.php +++ b/phpBB/includes/acp/acp_attachments.php @@ -947,6 +947,7 @@ class acp_attachments AND is_orphan = 1'; $result = $db->sql_query($sql); + $files_added = $space_taken = 0; while ($row = $db->sql_fetchrow($result)) { $post_row = $post_info[$upload_list[$row['attach_id']]]; @@ -986,9 +987,18 @@ class acp_attachments WHERE topic_id = ' . $post_row['topic_id']; $db->sql_query($sql); + $space_taken += $row['filesize']; + $files_added++; + add_log('admin', 'LOG_ATTACH_FILEUPLOAD', $post_row['post_id'], $row['real_filename']); } $db->sql_freeresult($result); + + if ($files_added) + { + set_config('upload_dir_size', $config['upload_dir_size'] + $space_taken, true); + set_config('num_files', $config['num_files'] + $files_added, true); + } } } diff --git a/phpBB/includes/auth/auth_apache.php b/phpBB/includes/auth/auth_apache.php index 50a49ee21e..acdd4e3386 100644 --- a/phpBB/includes/auth/auth_apache.php +++ b/phpBB/includes/auth/auth_apache.php @@ -48,8 +48,18 @@ function login_apache(&$username, &$password) if (!$password) { return array( - 'status' => LOGIN_BREAK, + 'status' => LOGIN_ERROR_PASSWORD, 'error_msg' => 'NO_PASSWORD_SUPPLIED', + 'user_row' => array('user_id' => ANONYMOUS), + ); + } + + if (!$username) + { + return array( + 'status' => LOGIN_ERROR_USERNAME, + 'error_msg' => 'LOGIN_ERROR_USERNAME', + 'user_row' => array('user_id' => ANONYMOUS), ); } diff --git a/phpBB/includes/auth/auth_db.php b/phpBB/includes/auth/auth_db.php index aa09710730..00dd438210 100644 --- a/phpBB/includes/auth/auth_db.php +++ b/phpBB/includes/auth/auth_db.php @@ -32,8 +32,18 @@ function login_db(&$username, &$password) if (!$password) { return array( - 'status' => LOGIN_BREAK, + 'status' => LOGIN_ERROR_PASSWORD, 'error_msg' => 'NO_PASSWORD_SUPPLIED', + 'user_row' => array('user_id' => ANONYMOUS), + ); + } + + if (!$username) + { + return array( + 'status' => LOGIN_ERROR_USERNAME, + 'error_msg' => 'LOGIN_ERROR_USERNAME', + 'user_row' => array('user_id' => ANONYMOUS), ); } diff --git a/phpBB/includes/auth/auth_ldap.php b/phpBB/includes/auth/auth_ldap.php index 9507dc645a..3163153997 100644 --- a/phpBB/includes/auth/auth_ldap.php +++ b/phpBB/includes/auth/auth_ldap.php @@ -104,8 +104,18 @@ function login_ldap(&$username, &$password) if (!$password) { return array( - 'status' => LOGIN_BREAK, + 'status' => LOGIN_ERROR_PASSWORD, 'error_msg' => 'NO_PASSWORD_SUPPLIED', + 'user_row' => array('user_id' => ANONYMOUS), + ); + } + + if (!$username) + { + return array( + 'status' => LOGIN_ERROR_USERNAME, + 'error_msg' => 'LOGIN_ERROR_USERNAME', + 'user_row' => array('user_id' => ANONYMOUS), ); } diff --git a/phpBB/includes/functions.php b/phpBB/includes/functions.php index 7a6e4c656d..5005033166 100644 --- a/phpBB/includes/functions.php +++ b/phpBB/includes/functions.php @@ -2658,7 +2658,7 @@ function get_preg_expression($mode) switch ($mode) { case 'email': - return '[a-z0-9&\'\.\-_\+]+@[a-z0-9\-]+\.(?:[a-z0-9\-]+\.)*[a-z]+'; + return '(?:[a-z0-9\'\.\-_\+\|]|&)+@[a-z0-9\-]+\.(?:[a-z0-9\-]+\.)*[a-z]+'; break; case 'bbcode_htm': diff --git a/phpBB/includes/functions_messenger.php b/phpBB/includes/functions_messenger.php index 8aba4ed255..ef896f2c89 100644 --- a/phpBB/includes/functions_messenger.php +++ b/phpBB/includes/functions_messenger.php @@ -1056,8 +1056,7 @@ class smtp_class global $user; $err_msg = ''; - $local_host = php_uname('n'); - $local_host = (empty($local_host)) ? 'localhost' : $local_host; + $local_host = (function_exists('php_uname')) ? php_uname('n') : $user->host; // If we are authenticating through pop-before-smtp, we // have to login ones before we get authenticated @@ -1332,7 +1331,7 @@ class smtp_class // Realm if (empty($tokens['realm'])) { - $tokens['realm'] = php_uname('n'); + $tokens['realm'] = (function_exists('php_uname')) ? php_uname('n') : $user->host; } // Maxbuf diff --git a/phpBB/includes/functions_posting.php b/phpBB/includes/functions_posting.php index 7eba43c955..a2482c64c4 100644 --- a/phpBB/includes/functions_posting.php +++ b/phpBB/includes/functions_posting.php @@ -1121,16 +1121,15 @@ function user_notification($mode, $subject, $topic_title, $forum_name, $forum_id // Get banned User ID's $sql = 'SELECT ban_userid - FROM ' . BANLIST_TABLE; + FROM ' . BANLIST_TABLE . ' + WHERE ban_userid <> 0 + AND ban_exclude <> 1'; $result = $db->sql_query($sql); $sql_ignore_users = ANONYMOUS . ', ' . $user->data['user_id']; while ($row = $db->sql_fetchrow($result)) { - if (isset($row['ban_userid'])) - { - $sql_ignore_users .= ', ' . $row['ban_userid']; - } + $sql_ignore_users .= ', ' . (int) $row['ban_userid']; } $db->sql_freeresult($result); diff --git a/phpBB/install/install_install.php b/phpBB/install/install_install.php index e1eb249758..194d5ca705 100755 --- a/phpBB/install/install_install.php +++ b/phpBB/install/install_install.php @@ -1715,7 +1715,7 @@ class install_install extends module if (is_dir($path) && file_exists($path . '/iso.txt')) { - $lang_file = file("{$phpbb_root_path}language/$path/iso.txt"); + $lang_file = file("$path/iso.txt"); $lang_pack = array( 'lang_iso' => basename($path), diff --git a/phpBB/memberlist.php b/phpBB/memberlist.php index 968ab322fd..dc74290fad 100644 --- a/phpBB/memberlist.php +++ b/phpBB/memberlist.php @@ -1187,7 +1187,7 @@ switch ($mode) 'sd' => array('sd', 'a'), 'form' => array('form', ''), 'field' => array('field', ''), - 'select_single' => array('select_single', 0), + 'select_single' => array('select_single', $select_single), 'username' => array('username', '', true), 'email' => array('email', ''), 'icq' => array('icq', ''), diff --git a/phpBB/styles/prosilver/template/posting_editor.html b/phpBB/styles/prosilver/template/posting_editor.html index 6ec79dfb8b..459efc72b3 100644 --- a/phpBB/styles/prosilver/template/posting_editor.html +++ b/phpBB/styles/prosilver/template/posting_editor.html @@ -4,7 +4,7 @@
    - +
    @@ -29,15 +29,17 @@
    +
    {L_FIND_USERNAME}
    +
    -

    {L_FIND_USERNAME}
    +

    {L_FIND_USERNAME}
    @@ -48,7 +50,9 @@
    +
    +