From 70ba1667e10cc9b8350d32c0c788e780eb2f50cc Mon Sep 17 00:00:00 2001 From: Michael Vogel Date: Sat, 8 Nov 2014 00:07:21 +0100 Subject: [PATCH] It is now possible to define the hostname from the admin page. This should definetely end the problem that the hostname couldn't be detected unter certain conditions. --- boot.php | 28 +++++++++++++++++++--------- mod/admin.php | 6 ++++++ view/templates/admin_site.tpl | 1 + 3 files changed, 26 insertions(+), 9 deletions(-) diff --git a/boot.php b/boot.php index eb0eb3e662..7a6f4bd4e1 100644 --- a/boot.php +++ b/boot.php @@ -522,28 +522,28 @@ if(! class_exists('App')) { if (substr($this->query_string, 0, 1) == "/") $this->query_string = substr($this->query_string, 1); } - + if (x($_GET,'pagename')) $this->cmd = trim($_GET['pagename'],'/\\'); elseif (x($_GET,'q')) $this->cmd = trim($_GET['q'],'/\\'); - - + + // fix query_string $this->query_string = str_replace($this->cmd."&",$this->cmd."?", $this->query_string); - - + + // unix style "homedir" - + if(substr($this->cmd,0,1) === '~') $this->cmd = 'profile/' . substr($this->cmd,1); - + // Diaspora style profile url if(substr($this->cmd,0,2) === 'u/') $this->cmd = 'profile/' . substr($this->cmd,2); - + /** * * Break the URL path into C style argc/argv style arguments for our @@ -639,6 +639,9 @@ if(! class_exists('App')) { } } + if (get_config('config','hostname') != "") + $this->hostname = get_config('config','hostname'); + $this->baseurl = $scheme . "://" . $this->hostname . ((isset($this->path) && strlen($this->path)) ? '/' . $this->path : '' ); return $this->baseurl; } @@ -660,12 +663,19 @@ if(! class_exists('App')) { if (file_exists(".htpreconfig.php")) @include(".htpreconfig.php"); - $this->hostname = $hostname; + if (get_config('config','hostname') != "") + $this->hostname = get_config('config','hostname'); + + if (!isset($this->hostname) OR ($this->hostname == "")) + $this->hostname = $hostname; } } function get_hostname() { + if (get_config('config','hostname') != "") + $this->hostname = get_config('config','hostname'); + return $this->hostname; } diff --git a/mod/admin.php b/mod/admin.php index 224a1f8c6c..8bddd8ce88 100644 --- a/mod/admin.php +++ b/mod/admin.php @@ -308,6 +308,7 @@ function admin_page_site_post(&$a){ // end relocate $sitename = ((x($_POST,'sitename')) ? notags(trim($_POST['sitename'])) : ''); + $hostname = ((x($_POST,'hostname')) ? notags(trim($_POST['hostname'])) : ''); $banner = ((x($_POST,'banner')) ? trim($_POST['banner']) : false); $info = ((x($_POST,'info')) ? trim($_POST['info']) : false); $language = ((x($_POST,'language')) ? notags(trim($_POST['language'])) : ''); @@ -413,6 +414,7 @@ function admin_page_site_post(&$a){ set_config('system','poll_interval',$poll_interval); set_config('system','maxloadavg',$maxloadavg); set_config('config','sitename',$sitename); + set_config('config','hostname',$hostname); set_config('system','suppress_language',$suppress_language); if ($banner==""){ // don't know why, but del_config doesn't work... @@ -585,6 +587,9 @@ function admin_page_site(&$a) { SSL_POLICY_SELFSIGN => t("Self-signed certificate, use SSL for local links only (discouraged)") ); + if ($a->config['hostname'] == "") + $a->config['hostname'] = $a->get_hostname(); + $t = get_markup_template("admin_site.tpl"); return replace_macros($t, array( '$title' => t('Administration'), @@ -599,6 +604,7 @@ function admin_page_site(&$a) { '$baseurl' => $a->get_baseurl(true), // name, label, value, help string, extra data... '$sitename' => array('sitename', t("Site name"), htmlentities($a->config['sitename'], ENT_QUOTES), 'UTF-8'), + '$hostname' => array('hostname', t("Host name"), $a->config['hostname'], ""), '$banner' => array('banner', t("Banner/Logo"), $banner, ""), '$info' => array('info',t('Additional Info'), $info, t('For public servers: you can add additional information here that will be listed at dir.friendica.com/siteinfo.')), '$language' => array('language', t("System language"), get_config('system','language'), "", $lang_choices), diff --git a/view/templates/admin_site.tpl b/view/templates/admin_site.tpl index 7237a2f27a..166b35e7d4 100644 --- a/view/templates/admin_site.tpl +++ b/view/templates/admin_site.tpl @@ -45,6 +45,7 @@ {{include file="field_input.tpl" field=$sitename}} + {{include file="field_input.tpl" field=$hostname}} {{include file="field_textarea.tpl" field=$banner}} {{include file="field_textarea.tpl" field=$info}} {{include file="field_select.tpl" field=$language}}