summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--index.php8
-rw-r--r--lib/common.php6
-rw-r--r--lib/util.php6
3 files changed, 19 insertions, 1 deletions
diff --git a/index.php b/index.php
index 914ba5bde..7f580b836 100644
--- a/index.php
+++ b/index.php
@@ -61,6 +61,14 @@ function main()
{
global $user, $action;
+ if (!_have_config()) {
+ $msg = sprintf(_("No configuration file found. Try running ".
+ "the installation program first."));
+ $sac = new ServerErrorAction($msg);
+ $sac->showPage();
+ return;
+ }
+
// For database errors
PEAR::setErrorHandling(PEAR_ERROR_CALLBACK, 'handleError');
diff --git a/lib/common.php b/lib/common.php
index 0fff3af2e..ca8dedeef 100644
--- a/lib/common.php
+++ b/lib/common.php
@@ -187,6 +187,12 @@ foreach ($_config_files as $_config_file) {
}
}
+function _have_config()
+{
+ global $_have_a_config;
+ return $_have_a_config;
+}
+
// XXX: Throw a conniption if database not installed
// Fixup for laconica.ini
diff --git a/lib/util.php b/lib/util.php
index 18e4f310c..f9a787d47 100644
--- a/lib/util.php
+++ b/lib/util.php
@@ -81,7 +81,7 @@ function common_language()
// If there is a user logged in and they've set a language preference
// then return that one...
- if (common_logged_in()) {
+ if (_have_config() && common_logged_in()) {
$user = common_current_user();
$user_language = $user->language;
if ($user_language)
@@ -315,6 +315,10 @@ function common_current_user()
{
global $_cur;
+ if (!_have_config()) {
+ return null;
+ }
+
if ($_cur === false) {
if (isset($_REQUEST[session_name()]) || (isset($_SESSION['userid']) && $_SESSION['userid'])) {