tbrehm
2011-01-12 03bca94981b46d3b7e1251d11a91f7aeaef2143e
interface/web/sites/web_domain_edit.php
@@ -50,6 +50,19 @@
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;
@@ -183,7 +196,8 @@
      }
      $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':'';
@@ -317,10 +331,14 @@
            }
         }
         // 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();
@@ -345,6 +363,10 @@
      $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'])) {
@@ -360,7 +382,12 @@
      // 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"]);
@@ -404,6 +431,10 @@
         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 />';
      }
   }
@@ -426,6 +457,10 @@
      $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'])) {
@@ -442,7 +477,12 @@
         // 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;