Commit be38365f authored by Dominik's avatar Dominik
Browse files

Posibility to change main-domain of aps-instance over remote (in interface...

Posibility to change main-domain of aps-instance over remote (in interface maindomain is always the websites domain but over remote it's now possible to set an alias oder subdomain, that will be used in instance-settings. Important if e.g. wordpress-installation should run unter an aliasdomain instead of the websites domain)
parent 982cb630
......@@ -43,7 +43,17 @@ class ApsGUIController extends ApsBase
parent::__construct($app);
}
/**
* Removes www from Domains name
*
* @param $filename the file to read
* @return $sxe a SimpleXMLElement handle
*/
public function getMainDomain($domain) {
if (substr($domain, 0, 4) == 'www.') $domain = substr($domain, 4);
return $domain;
}
/**
* Reads in a package metadata file and registers it's namespaces
......@@ -344,9 +354,9 @@ class ApsGUIController extends ApsBase
$app->uses('tools_sites');
$webserver_id = 0;
$websrv = $app->db->queryOneRecord("SELECT * FROM web_domain WHERE domain = ?", $settings['main_domain']);
$websrv = $app->db->queryOneRecord("SELECT * FROM web_domain WHERE domain = ?", $this->getMainDomain($settings['main_domain']));
if(!empty($websrv)) $webserver_id = $websrv['server_id'];
$customerid = $this->getCustomerIDFromDomain($settings['main_domain']);
$customerid = $this->getCustomerIDFromDomain($this->getMainDomain($settings['main_domain']));
if(empty($settings) || empty($webserver_id)) return false;
......@@ -565,13 +575,13 @@ class ApsGUIController extends ApsBase
if(in_array($postinput['main_domain'], $domains))
{
$docroot = $app->db->queryOneRecord("SELECT document_root FROM web_domain
WHERE domain = ?", $postinput['main_domain']);
WHERE domain = ?", $this->getMainDomain($postinput['main_domain']));
$new_path = $docroot['document_root'];
if(substr($new_path, -1) != '/') $new_path .= '/';
$new_path .= $main_location;
// Get the $customerid which belongs to the selected domain
$customerid = $this->getCustomerIDFromDomain($postinput['main_domain']);
$customerid = $this->getCustomerIDFromDomain($this->getMainDomain($postinput['main_domain']));
// First get all domains used for an install, then their loop them
// and get the corresponding document roots as well as the defined
......
......@@ -273,8 +273,15 @@ class remoting_aps extends remoting {
return false;
}
$sql = "SELECT * FROM web_domain WHERE domain = ?";
$domain = $app->db->queryOneRecord($sql, $params['main_domain']);
if (substr($params['main_domain'], 0, 4) == 'www.') {
$domain = substr($params['main_domain'], 4);
$sql = "SELECT * FROM web_domain WHERE domain = ? AND subdomain=?";
$domain = $app->db->queryOneRecord($sql, $domain, 'www');
}
else {
$sql = "SELECT * FROM web_domain WHERE domain = ?";
$domain = $app->db->queryOneRecord($sql, $params['main_domain']);
}
if (!$domain) {
$this->server->fault('invalid parameters', 'No valid domain given.');
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment