Uploaded image for project: 'phpBB'
  1. phpBB
  2. PHPBB-14035

Messenger fails if correct language pack is not installed

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Resolved
    • Icon: Minor Minor
    • None
    • 3.1.5
    • Notification System
    • None

      This can happen after upgrading from 3.0 to 3.1. If there is any value in the user_lang column in the phpbb_users table that does not exist as an installed language pack in 3.1, any attempt by this user to post or submit a private message will fail. An unhelpful white screen is returned.

      The problem is in function template in the messenger class (/includes/functions_messenger.php). If $template_lang reflects a language that is not installed (say this is en_us and only en is installed), the untrapped error occurs. It probably happens in lines 303-304 in functions_messenger.php:

      {{ // Parse message through template
      $this->msg = trim($this->template->assign_display('body'));}}

      I think function template should include logic to check if the template file actually exists and if it does not return an error to the calling program. That would have prevented my issue.

      The 3.0 to 3.1 conversion documentation can possibly be improved. It does tell you to install any language packs that existed on your old board. It doesn't tell you how to find out which language packs are installed (Customize tab, Language Management) and which language packs MUST be installed (those used by more than 0 users).

            Marc Marc
            MarkDHamill MarkDHamill
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: