aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB
diff options
context:
space:
mode:
authorMarc Alexander <admin@m-a-styles.de>2016-09-24 10:28:37 +0200
committerMarc Alexander <admin@m-a-styles.de>2016-09-24 10:28:37 +0200
commit18f9c9f6e2a382eedc9c8e566b939e6515e1c44f (patch)
treeb07f48115475685d548a47868bf5e99308e8168d /phpBB
parent931582aad9c041ebc9ae51d9a2664b4944a31be8 (diff)
parenteccb3d66025b4d10c40135b29ad36cc763a08571 (diff)
downloadforums-18f9c9f6e2a382eedc9c8e566b939e6515e1c44f.tar
forums-18f9c9f6e2a382eedc9c8e566b939e6515e1c44f.tar.gz
forums-18f9c9f6e2a382eedc9c8e566b939e6515e1c44f.tar.bz2
forums-18f9c9f6e2a382eedc9c8e566b939e6515e1c44f.tar.xz
forums-18f9c9f6e2a382eedc9c8e566b939e6515e1c44f.zip
Merge pull request #3527 from Elsensee/ticket/13709
[ticket/13709] Add fallback for email templates used by extensions
Diffstat (limited to 'phpBB')
-rw-r--r--phpBB/includes/functions_messenger.php38
1 files changed, 30 insertions, 8 deletions
diff --git a/phpBB/includes/functions_messenger.php b/phpBB/includes/functions_messenger.php
index 0525cfc29e..9b3ca14101 100644
--- a/phpBB/includes/functions_messenger.php
+++ b/phpBB/includes/functions_messenger.php
@@ -231,6 +231,13 @@ class messenger
$template_lang = basename($config['default_lang']);
}
+ $ext_template_paths = array(
+ array(
+ 'name' => $template_lang . '_email',
+ 'ext_path' => 'language/' . $template_lang . '/email' . $template_dir_prefix,
+ ),
+ );
+
if ($template_path)
{
$template_paths = array(
@@ -246,23 +253,38 @@ class messenger
$template_path . $template_dir_prefix,
);
+ $board_language = basename($config['default_lang']);
+
// we can only specify default language fallback when the path is not a custom one for which we
// do not know the default language alternative
- if ($template_lang !== basename($config['default_lang']))
+ if ($template_lang !== $board_language)
{
$fallback_template_path = (!empty($user->lang_path)) ? $user->lang_path : $phpbb_root_path . 'language/';
- $fallback_template_path .= basename($config['default_lang']) . '/email';
+ $fallback_template_path .= $board_language . '/email';
$template_paths[] = $fallback_template_path . $template_dir_prefix;
+
+ $ext_template_paths[] = array(
+ 'name' => $board_language . '_email',
+ 'ext_path' => 'language/' . $board_language . '/email' . $template_dir_prefix,
+ );
+ }
+ // If everything fails just fall back to en template
+ if ($template_lang !== 'en' && $board_language !== 'en')
+ {
+ $fallback_template_path = (!empty($user->lang_path)) ? $user->lang_path : $phpbb_root_path . 'language/';
+ $fallback_template_path .= 'en/email';
+
+ $template_paths[] = $fallback_template_path . $template_dir_prefix;
+
+ $ext_template_paths[] = array(
+ 'name' => 'en_email',
+ 'ext_path' => 'language/en/email' . $template_dir_prefix,
+ );
}
}
- $this->set_template_paths(array(
- array(
- 'name' => $template_lang . '_email',
- 'ext_path' => 'language/' . $template_lang . '/email' . $template_dir_prefix,
- ),
- ), $template_paths);
+ $this->set_template_paths($ext_template_paths, $template_paths);
$this->template->set_filenames(array(
'body' => $template_file . '.txt',