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.

This commit is contained in:
Michael Vogel 2014-11-08 00:07:21 +01:00
parent d81289c58b
commit 70ba1667e1
3 changed files with 26 additions and 9 deletions

View file

@ -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;
}

View file

@ -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),

View file

@ -45,6 +45,7 @@
<input type='hidden' name='form_security_token' value='{{$form_security_token}}'>
{{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}}