From c3dbec89bf877a9dc32f950e6d29a538a0a0cdea Mon Sep 17 00:00:00 2001
From: Jared Hancock <jared@osticket.com>
Date: Wed, 3 Sep 2014 13:06:13 -0500
Subject: [PATCH] i18n: Fixup several install related issues

---
 bootstrap.php                     | 2 +-
 include/class.i18n.php            | 5 ++++-
 include/class.topic.php           | 2 +-
 include/upgrader/streams/core.sig | 2 +-
 4 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/bootstrap.php b/bootstrap.php
index d6f75d0f7..fa13a4c1d 100644
--- a/bootstrap.php
+++ b/bootstrap.php
@@ -180,7 +180,7 @@ class Bootstrap {
     function loadCode() {
         #include required files
         require_once INCLUDE_DIR.'class.util.php';
-        require INCLUDE_DIR.'class.translation.php';
+        require_once INCLUDE_DIR.'class.translation.php';
         require(INCLUDE_DIR.'class.signal.php');
         require(INCLUDE_DIR.'class.user.php');
         require(INCLUDE_DIR.'class.auth.php');
diff --git a/include/class.i18n.php b/include/class.i18n.php
index bcaf6a4ec..bfdfdfbc3 100644
--- a/include/class.i18n.php
+++ b/include/class.i18n.php
@@ -253,6 +253,9 @@ class Internationalization {
     static function getConfiguredSystemLanguages() {
         global $cfg;
 
+        if (!$cfg)
+            return self::availableLanguages();
+
         $langs = array();
         // Honor sorting preference of ::availableLanguages()
         foreach (self::availableLanguages() as $k=>$l) {
@@ -272,7 +275,7 @@ class Internationalization {
         global $cfg;
 
         if (empty($_SERVER["HTTP_ACCEPT_LANGUAGE"]))
-            return $cfg->getPrimaryLanguage();
+            return $cfg ? $cfg->getPrimaryLanguage() : 'en_US';
 
         $languages = self::getConfiguredSystemLanguages();
 
diff --git a/include/class.topic.php b/include/class.topic.php
index e628919c0..6cac47112 100644
--- a/include/class.topic.php
+++ b/include/class.topic.php
@@ -442,7 +442,7 @@ class Topic {
         if (!($names = static::getHelpTopics(false, true, false)))
             return;
 
-        if (function_exists('collator_create')) {
+        if ($cfg && function_exists('collator_create')) {
             $coll = Collator::create($cfg->getPrimaryLanguage());
             // UASORT is necessary to preserve the keys
             uasort($names, function($a, $b) use ($coll) {
diff --git a/include/upgrader/streams/core.sig b/include/upgrader/streams/core.sig
index 3c6664346..597c10b77 100644
--- a/include/upgrader/streams/core.sig
+++ b/include/upgrader/streams/core.sig
@@ -1 +1 @@
-b26f29a6bb5dbb3510b057632182d138
+6f664a3de1435defbdcbaa64ecb2b1ea
-- 
GitLab