latham
2011-10-28 9cf2c25a64a23a1be36f9cd0af8aac150b659f14
interface/web/sites/web_domain_edit.php
@@ -50,7 +50,7 @@
class page_action extends tform_actions {
   // Returna a "3/2/1" path hash from a numeric id '123'
   //* Returna a "3/2/1" path hash from a numeric id '123'
   function id_hash($id,$levels) {
      $hash = "" . $id % 10 ;
      $id /= 10 ;
@@ -141,10 +141,10 @@
         $records = $app->db->queryAllRecords($sql);
         $tmp = $app->db->queryOneRecord("SELECT groupid FROM sys_group WHERE client_id = ".$client['client_id']);
         $client_select = '<option value="'.$tmp['groupid'].'">'.$client['contact_name'].'</option>';
         $tmp_data_record = $app->tform->getDataRecord($this->id);
         //$tmp_data_record = $app->tform->getDataRecord($this->id);
         if(is_array($records)) {
            foreach( $records as $rec) {
               $selected = @($rec["groupid"] == $tmp_data_record["sys_groupid"])?'SELECTED':'';
               $selected = @(is_array($this->dataRecord) && ($rec["groupid"] == $this->dataRecord['client_group_id'] || $rec["groupid"] == $this->dataRecord['sys_groupid']))?'SELECTED':'';
               $client_select .= "<option value='$rec[groupid]' $selected>$rec[name]</option>\r\n";
            }
         }
@@ -226,10 +226,11 @@
         $sql = "SELECT groupid, name FROM sys_group WHERE client_id > 0 ORDER BY name";
         $clients = $app->db->queryAllRecords($sql);
         $client_select = "<option value='0'></option>";
         $tmp_data_record = $app->tform->getDataRecord($this->id);
         //$tmp_data_record = $app->tform->getDataRecord($this->id);
         if(is_array($clients)) {
            foreach( $clients as $client) {
               $selected = @($client["groupid"] == $tmp_data_record["sys_groupid"])?'SELECTED':'';
               //$selected = @($client["groupid"] == $tmp_data_record["sys_groupid"])?'SELECTED':'';
               $selected = @(is_array($this->dataRecord) && ($client["groupid"] == $this->dataRecord['client_group_id'] || $client["groupid"] == $this->dataRecord['sys_groupid']))?'SELECTED':'';
               $client_select .= "<option value='$client[groupid]' $selected>$client[name]</option>\r\n";
            }
         }
@@ -397,9 +398,8 @@
            unset($tmp);
            // When the record is inserted
         } else {
            // set the server ID to the default mailserver of the client
            //* set the server ID to the default webserver of the client
            $this->dataRecord["server_id"] = $client["default_webserver"];
            // Check if the user may add another web_domain
            if($client["limit_web_domain"] >= 0) {
@@ -410,7 +410,6 @@
            }
         }
         // 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"]);
@@ -418,7 +417,25 @@
      
      //* make sure that the email domain is lowercase
      if(isset($this->dataRecord["domain"])) $this->dataRecord["domain"] = strtolower($this->dataRecord["domain"]);
      //* get the server config for this server
      $app->uses("getconf");
      $web_config = $app->getconf->get_server_config(intval($this->dataRecord["server_id"]),'web');
      //* Check for duplicate ssl certs per IP if SNI is disabled
      if(isset($this->dataRecord['ssl']) && $this->dataRecord['ssl'] == 'y' && $web_config['enable_sni'] != 'y') {
         $sql = "SELECT count(domain_id) as number FROM web_domain WHERE `ssl` = 'y' AND ip_address = '".$app->db->quote($this->dataRecord['ip_address'])."' and domain_id != ".$this->id;
         $tmp = $app->db->queryOneRecord($sql);
         if($tmp['number'] > 0) $app->tform->errorMessage .= $app->tform->lng("error_no_sni_txt");
      }
      // Check if pm.max_children >= pm.max_spare_servers >= pm.start_servers >= pm.min_spare_servers > 0
      if(isset($this->dataRecord['pm_max_children'])) {
         if(intval($this->dataRecord['pm_max_children']) >= intval($this->dataRecord['pm_max_spare_servers']) && intval($this->dataRecord['pm_max_spare_servers']) >= intval($this->dataRecord['pm_start_servers']) && intval($this->dataRecord['pm_start_servers']) >= intval($this->dataRecord['pm_min_spare_servers']) && intval($this->dataRecord['pm_min_spare_servers']) > 0){
         } else {
            $app->tform->errorMessage .= $app->tform->lng("error_php_fpm_pm_settings_txt").'<br>';
         }
      }
      parent::onSubmit();
   }