| | |
| | | |
| | | class page_action extends tform_actions { |
| | | |
| | | // Returna a "3/2/1" path hash from a numeric id '123' |
| | | function id_hash($id,$levels) { |
| | | $hash = "" . $id % 10 ; |
| | | $id /= 10 ; |
| | | $levels -- ; |
| | | while ( $levels > 0 ) { |
| | | $hash .= "/" . $id % 10 ; |
| | | $id /= 10 ; |
| | | $levels-- ; |
| | | } |
| | | return $hash; |
| | | } |
| | | |
| | | function onShowNew() { |
| | | global $app, $conf; |
| | | |
| | |
| | | } |
| | | |
| | | $ssl_domain_select = ''; |
| | | $ssl_domains = array($this->dataRecord["domain"],'www.'.$this->dataRecord["domain"]); |
| | | $tmp = $app->db->queryOneRecord("SELECT domain FROM web_domain WHERE domain_id = ".$this->id); |
| | | $ssl_domains = array($tmp["domain"],'www.'.$tmp["domain"]); |
| | | if(is_array($ssl_domains)) { |
| | | foreach( $ssl_domains as $ssl_domain) { |
| | | $selected = ($ssl_domain == $this->dataRecord['ssl_domain'])?'SELECTED':''; |
| | |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | // Clients may not set the client_group_id, so we unset them if user is not a admin and the client is not a reseller |
| | | if(!$app->auth->has_clients($_SESSION['s']['user']['userid'])) unset($this->dataRecord["client_group_id"]); |
| | | } |
| | | |
| | | //* make sure that the email domain is lowercase |
| | | if(isset($this->dataRecord["domain"])) $this->dataRecord["domain"] = strtolower($this->dataRecord["domain"]); |
| | | |
| | | |
| | | parent::onSubmit(); |
| | |
| | | function onAfterInsert() { |
| | | global $app, $conf; |
| | | |
| | | // make sure that the record belongs to the clinet group and not the admin group when a dmin inserts it |
| | | // make sure that the record belongs to the clinet group and not the admin group when admin inserts it |
| | | // also make sure that the user can not delete domain created by a admin |
| | | if($_SESSION["s"]["user"]["typ"] == 'admin' && isset($this->dataRecord["client_group_id"])) { |
| | | $client_group_id = intval($this->dataRecord["client_group_id"]); |
| | |
| | | $web_rec = $app->tform->getDataRecord($this->id); |
| | | $web_config = $app->getconf->get_server_config(intval($web_rec["server_id"]),'web'); |
| | | $document_root = str_replace("[website_id]",$this->id,$web_config["website_path"]); |
| | | $document_root = str_replace("[website_idhash_1]",$this->id_hash($page_form->id,1),$document_root); |
| | | $document_root = str_replace("[website_idhash_2]",$this->id_hash($page_form->id,1),$document_root); |
| | | $document_root = str_replace("[website_idhash_3]",$this->id_hash($page_form->id,1),$document_root); |
| | | $document_root = str_replace("[website_idhash_4]",$this->id_hash($page_form->id,1),$document_root); |
| | | |
| | | // get the ID of the client |
| | | if($_SESSION["s"]["user"]["typ"] != 'admin' && !$app->auth->has_clients($_SESSION['s']['user']['userid'])) { |
| | |
| | | // Set the values for document_root, system_user and system_group |
| | | $system_user = $app->db->quote('web'.$this->id); |
| | | $system_group = $app->db->quote('client'.$client_id); |
| | | $document_root = $app->db->quote(str_replace("[client_id]",$client_id,$document_root)); |
| | | $document_root = str_replace("[client_id]",$client_id,$document_root); |
| | | $document_root = str_replace("[client_idhash_1]",$this->id_hash($client_id,1),$document_root); |
| | | $document_root = str_replace("[client_idhash_2]",$this->id_hash($client_id,2),$document_root); |
| | | $document_root = str_replace("[client_idhash_3]",$this->id_hash($client_id,3),$document_root); |
| | | $document_root = str_replace("[client_idhash_4]",$this->id_hash($client_id,4),$document_root); |
| | | $document_root = $app->db->quote($document_root); |
| | | $php_open_basedir = str_replace("[website_path]",$document_root,$web_config["php_open_basedir"]); |
| | | $php_open_basedir = $app->db->quote(str_replace("[website_domain]",$web_rec['domain'],$php_open_basedir)); |
| | | $htaccess_allow_override = $app->db->quote($web_config["htaccess_allow_override"]); |
| | |
| | | if($this->dataRecord['ssl_organisation_unit'] == '') $app->tform->errorMessage .= $app->tform->lng('error_ssl_organisation_unit_empty').'<br />'; |
| | | if($this->dataRecord['ssl_country'] == '') $app->tform->errorMessage .= $app->tform->lng('error_ssl_country_empty').'<br />'; |
| | | } |
| | | |
| | | if(isset($this->dataRecord['ssl_action']) && $this->dataRecord['ssl_action'] == 'save') { |
| | | if(trim($this->dataRecord['ssl_cert']) == '') $app->tform->errorMessage .= $app->tform->lng('error_ssl_cert_empty').'<br />'; |
| | | } |
| | | |
| | | } |
| | | |
| | |
| | | $web_rec = $app->tform->getDataRecord($this->id); |
| | | $web_config = $app->getconf->get_server_config(intval($web_rec["server_id"]),'web'); |
| | | $document_root = str_replace("[website_id]",$this->id,$web_config["website_path"]); |
| | | $document_root = str_replace("[website_idhash_1]",$this->id_hash($page_form->id,1),$document_root); |
| | | $document_root = str_replace("[website_idhash_2]",$this->id_hash($page_form->id,1),$document_root); |
| | | $document_root = str_replace("[website_idhash_3]",$this->id_hash($page_form->id,1),$document_root); |
| | | $document_root = str_replace("[website_idhash_4]",$this->id_hash($page_form->id,1),$document_root); |
| | | |
| | | // get the ID of the client |
| | | if($_SESSION["s"]["user"]["typ"] != 'admin' && !$app->auth->has_clients($_SESSION['s']['user']['userid'])) { |
| | |
| | | // Set the values for document_root, system_user and system_group |
| | | $system_user = $app->db->quote('web'.$this->id); |
| | | $system_group = $app->db->quote('client'.$client_id); |
| | | $document_root = $app->db->quote(str_replace("[client_id]",$client_id,$document_root)); |
| | | $document_root = str_replace("[client_id]",$client_id,$document_root); |
| | | $document_root = str_replace("[client_idhash_1]",$this->id_hash($client_id,1),$document_root); |
| | | $document_root = str_replace("[client_idhash_2]",$this->id_hash($client_id,2),$document_root); |
| | | $document_root = str_replace("[client_idhash_3]",$this->id_hash($client_id,3),$document_root); |
| | | $document_root = str_replace("[client_idhash_4]",$this->id_hash($client_id,4),$document_root); |
| | | $document_root = $app->db->quote($document_root); |
| | | |
| | | $sql = "UPDATE web_domain SET system_user = '$system_user', system_group = '$system_group', document_root = '$document_root' WHERE domain_id = ".$this->id; |
| | | //$sql = "UPDATE web_domain SET system_user = '$system_user', system_group = '$system_group' WHERE domain_id = ".$this->id; |