Attempt to make auto set up of NAME SERVER work with configure_tool.php, a=chris
Attempt to make auto set up of NAME SERVER work with configure_tool.php, a=chris
diff --git a/configs/config.php b/configs/config.php
index 150852d38..c060656c4 100644
--- a/configs/config.php
+++ b/configs/config.php
@@ -115,6 +115,9 @@ if(file_exists(WORK_DIRECTORY.PROFILE_FILE_NAME)) {
if(defined('QUEUE_SERVER') && !defined('NAME_SERVER')) {
define('NAME_SERVER', QUEUE_SERVER); //for backward compatibility
}
+ if(NAME_SERVER == 'http://' || NAME_SERVER == 'https://') {
+ define("FIX_NAME_SERVER", true);
+ }
} else {
if((!isset( $_SERVER['SERVER_NAME'])||$_SERVER['SERVER_NAME']!=='localhost')
&& !defined("NO_LOCAL_CHECK") && php_sapi_name() != 'cli' ) {
diff --git a/controllers/admin_controller.php b/controllers/admin_controller.php
index ffa03d474..98edd17d9 100755
--- a/controllers/admin_controller.php
+++ b/controllers/admin_controller.php
@@ -200,7 +200,7 @@ class AdminController extends Controller implements CrawlConstants
*/
function processSession()
{
- if(!PROFILE) {
+ if(!PROFILE || (defined("FIX_NAME_SERVER") && FIX_NAME_SERVER)) {
$activity = "configure";
} else if(isset($_REQUEST['a']) &&
in_array($_REQUEST['a'], $this->activities)) {
@@ -2580,7 +2580,18 @@ class AdminController extends Controller implements CrawlConstants
$data['PROFILE'] = false;
$data['MESSAGE'] = "";
- if(isset($_REQUEST['WORK_DIRECTORY'])) {
+ if((defined('WORK_DIRECTORY') &&
+ defined('FIX_NAME_SERVER') && FIX_NAME_SERVER) &&
+ !isset($_REQUEST['WORK_DIRECTORY'])) {
+ $_REQUEST['arg'] = "profile";
+ $uri = UrlParser::getPath($_SERVER['REQUEST_URI']);
+ $http = (isset($_SERVER['HTTPS'])) ? "https://" :
+ "http://";
+ $_REQUEST['NAME_SERVER'] =
+ $http . $_SERVER['SERVER_NAME'] . $uri;
+ $data['NAME_SERVER'] = $_REQUEST['NAME_SERVER'];
+ }
+ if(isset($_REQUEST['WORK_DIRECTORY']) ) {
$dir =
$this->clean($_REQUEST['WORK_DIRECTORY'], "string");
$data['PROFILE'] = true;
@@ -2780,7 +2791,7 @@ class AdminController extends Controller implements CrawlConstants
}
if($this->profileModel->updateProfile(
- $data['WORK_DIRECTORY'], $profile, $old_profile)) {
+ $data['WORK_DIRECTORY'], $profile, $old_profile)) {
$data['MESSAGE'] =
tl('admin_controller_configure_profile_change');
$data['SCRIPT'] =
diff --git a/index.php b/index.php
index 45445efc7..269fc785d 100755
--- a/index.php
+++ b/index.php
@@ -148,7 +148,7 @@ if(!checkAllowedController($controller_name))
}
// if no profile exists we force the page to be the configuration page
-if(!PROFILE ) {
+if(!PROFILE || (defined("FIX_NAME_SERVER") && FIX_NAME_SERVER)) {
$controller_name = "admin";
}