redray
2008-12-16 88a927c0b0d6de9dc73b4fbe737a915d1b2a1354
added auto-wildcard and auto-www support for domains and aliasdomains
7 files modified
48 ■■■■ changed files
install/sql/ispconfig3.sql 1 ●●●● patch | view | raw | blame | history
interface/web/sites/form/web_aliasdomain.tform.php 6 ●●●●● patch | view | raw | blame | history
interface/web/sites/form/web_domain.tform.php 12 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/en_web_domain.lng 2 ●●● patch | view | raw | blame | history
interface/web/sites/templates/web_aliasdomain_edit.htm 4 ●●●● patch | view | raw | blame | history
interface/web/sites/templates/web_domain_edit.htm 4 ●●●● patch | view | raw | blame | history
server/plugins-available/apache2_plugin.inc.php 19 ●●●● patch | view | raw | blame | history
install/sql/ispconfig3.sql
@@ -1135,6 +1135,7 @@
  `suexec` char(1) NOT NULL default 'y',
  `errordocs` tinyint(1) NOT NULL default '1',
  `is_subdomainwww` tinyint(1) NOT NULL default '1',
  `subdomain` enum('none','www','*') NOT NULL default 'www',
  `php` varchar(255) NOT NULL default 'y',
  `redirect_type` varchar(255) default NULL,
  `redirect_path` varchar(255) default NULL,
interface/web/sites/form/web_aliasdomain.tform.php
@@ -116,6 +116,12 @@
            'width'        => '30',
            'maxlength'    => '255'
        ),
        'subdomain' => array (
            'datatype'    => 'VARCHAR',
            'formtype'    => 'SELECT',
            'default'    => 'y',
            'value'        => array('none' => 'none', 'www' => 'www.', '*' => '*.')
        ),
        'active' => array (
            'datatype'    => 'VARCHAR',
            'formtype'    => 'CHECKBOX',
interface/web/sites/form/web_domain.tform.php
@@ -174,11 +174,11 @@
            'default'    => '1',
            'value'        => array(0 => '0',1 => '1')
        ),
        'is_subdomainwww' => array (
            'datatype'    => 'INTEGER',
            'formtype'    => 'CHECKBOX',
            'default'    => '1',
            'value'        => array(0 => '0',1 => '1')
        'subdomain' => array (
            'datatype'    => 'VARCHAR',
            'formtype'    => 'SELECT',
            'default'    => 'y',
            'value'        => array('none' => 'none', 'www' => 'www.', '*' => '*.')
        ),
        'ssl' => array (
            'datatype'    => 'VARCHAR',
@@ -189,7 +189,7 @@
        'php' => array (
            'datatype'    => 'VARCHAR',
            'formtype'    => 'SELECT',
            'default'    => 'y',
            'default'    => 'fast-cgi',
            'value'        => array('' => 'Disabled', 'fast-cgi' => 'Fast-CGI', 'cgi' => 'CGI', 'mod' => 'Mod-PHP', 'suphp' => 'SuPHP')
        ),
        'active' => array (
interface/web/sites/lib/lang/en_web_domain.lng
@@ -27,7 +27,7 @@
$wb["cgi_txt"] = 'CGI';
$wb["ssi_txt"] = 'SSI';
$wb["errordocs_txt"] = 'Own Error-Documents';
$wb["is_subdomainwww_txt"] = 'www. Subdomain';
$wb["subdomain_txt"] = 'Auto-Subdomain';
$wb["ssl_txt"] = 'SSL';
$wb["suexec_txt"] = 'SuEXEC';
$wb["php_txt"] = 'PHP';
interface/web/sites/templates/web_aliasdomain_edit.htm
@@ -21,6 +21,10 @@
        <input type="text" id="redirect_path" name="redirect_path" value="{tmpl_var name='redirect_path'}" size="30" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="subdomain" class="wf_preField">{tmpl_var name='subdomain_txt'}</label>
        <select id="subdomain" name="subdomain">{tmpl_var name='subdomain'}</select>
      </span>
      <span class="wf_oneField">
        <label for="active" class="wf_preField">{tmpl_var name='active_txt'}</label>                    
        <span class="">{tmpl_var name='active'}</span>
      </span>
interface/web/sites/templates/web_domain_edit.htm
@@ -71,6 +71,10 @@
        <span class="">{tmpl_var name='is_subdomainwww'}</span>
      </span>
      <span class="wf_oneField">
        <label for="subdomain" class="wf_preField">{tmpl_var name='subdomain_txt'}</label>
        <select id="subdomain" name="subdomain">{tmpl_var name='subdomain'}</select>
      </span>
      <span class="wf_oneField">
        <label for="ssl" class="wf_preField">{tmpl_var name='ssl_txt'}</label>                    
        <span class="">{tmpl_var name='ssl'}</span>
      </span>
server/plugins-available/apache2_plugin.inc.php
@@ -420,14 +420,27 @@
        
        // get alias domains (co-domains and subdomains)
        $aliases = $app->db->queryAllRecords("SELECT * FROM web_domain WHERE parent_domain_id = ".$data["new"]["domain_id"]." AND active = 'y'");
    if($data["new"]["is_subdomainwww"]){
        switch($data["new"]["subdomain"]) {
        case 'www':
        $server_alias .= 'www.'.$data["new"]["domain"].' ';
    } else {
          $server_alias = '';
            break;
        case '*':
            $server_alias .= '*.'.$data["new"]["domain"].' ';
            break;
    }
        if(is_array($aliases)) {
            foreach($aliases as $alias) {
                switch($alias["subdomain"]) {
                case 'www':
                    $server_alias .= 'www.'.$alias["domain"].' '.$alias["domain"].' ';
                    break;
                case '*':
                    $server_alias .= '*.'.$alias["domain"].' '.$alias["domain"].' ';
                    break;
                default:
              $server_alias .= $alias["domain"].' ';
                    break;
                }
                $app->log("Add server alias: $alias[domain]",LOGLEVEL_DEBUG);
                // Rewriting
                if($alias["redirect_type"] != '') {