mcramer
2012-09-13 95e8cecde56b679950d41444e8638b1acdb90a0c
server/plugins-available/apache2_plugin.inc.php
@@ -884,23 +884,23 @@
         switch($data['new']['subdomain']) {
            case 'www':
               $rewrite_rules[] = array(   'rewrite_domain'    => '^'.$data['new']['domain'],
               $rewrite_rules[] = array(   'rewrite_domain'    => '^'.$this->_rewrite_quote($data['new']['domain']),
                  'rewrite_type'       => ($data['new']['redirect_type'] == 'no')?'':'['.$data['new']['redirect_type'].']',
                  'rewrite_target'    => $rewrite_target,
                  'rewrite_target_ssl' => $rewrite_target_ssl);
               $rewrite_rules[] = array(   'rewrite_domain'    => '^www.'.$data['new']['domain'],
               $rewrite_rules[] = array(   'rewrite_domain'    => '^' . $this->_rewrite_quote('www.'.$data['new']['domain']),
                     'rewrite_type'       => ($data['new']['redirect_type'] == 'no')?'':'['.$data['new']['redirect_type'].']',
                     'rewrite_target'    => $rewrite_target,
                     'rewrite_target_ssl' => $rewrite_target_ssl);
               break;
            case '*':
               $rewrite_rules[] = array(   'rewrite_domain'    => '(^|\.)'.$data['new']['domain'],
               $rewrite_rules[] = array(   'rewrite_domain'    => '(^|\.)'.$this->_rewrite_quote($data['new']['domain']),
                  'rewrite_type'       => ($data['new']['redirect_type'] == 'no')?'':'['.$data['new']['redirect_type'].']',
                  'rewrite_target'    => $rewrite_target,
                  'rewrite_target_ssl' => $rewrite_target_ssl);
               break;
            default:
               $rewrite_rules[] = array(   'rewrite_domain'    => '^'.$data['new']['domain'],
               $rewrite_rules[] = array(   'rewrite_domain'    => '^'.$this->_rewrite_quote($data['new']['domain']),
                  'rewrite_type'       => ($data['new']['redirect_type'] == 'no')?'':'['.$data['new']['redirect_type'].']',
                  'rewrite_target'    => $rewrite_target,
                  'rewrite_target_ssl' => $rewrite_target_ssl);
@@ -920,7 +920,7 @@
         unset($client);
         unset($aa_search);
         unset($aa_replace);
         $server_alias[] .= $auto_alias;
         $server_alias[] .= $auto_alias.' ';
      }
      
      // get alias domains (co-domains and subdomains)
@@ -965,23 +965,25 @@
               
               switch($alias['subdomain']) {
                  case 'www':
                     $rewrite_rules[] = array(   'rewrite_domain'    => '^'.$alias['domain'],
                     $rewrite_rules[] = array(   'rewrite_domain'    => '^'.$this->_rewrite_quote($alias['domain']),
                        'rewrite_type'       => ($alias['redirect_type'] == 'no')?'':'['.$alias['redirect_type'].']',
                        'rewrite_target'    => $rewrite_target,
                        'rewrite_target_ssl' => $rewrite_target_ssl);
                     $rewrite_rules[] = array(   'rewrite_domain'    => '^www.'.$alias['domain'],
                     $rewrite_rules[] = array(   'rewrite_domain'    => '^' . $this->_rewrite_quote('www.'.$alias['domain']),
                           'rewrite_type'       => ($alias['redirect_type'] == 'no')?'':'['.$alias['redirect_type'].']',
                           'rewrite_target'    => $rewrite_target,
                           'rewrite_target_ssl' => $rewrite_target_ssl);
                     break;
                  case '*':
                     $rewrite_rules[] = array(   'rewrite_domain'    => '(^|\.)'.$alias['domain'],
                     $rewrite_rules[] = array(   'rewrite_domain'    => '(^|\.)'.$this->_rewrite_quote($alias['domain']),
                        'rewrite_type'       => ($alias['redirect_type'] == 'no')?'':'['.$alias['redirect_type'].']',
                        'rewrite_target'    => $rewrite_target,
                        'rewrite_target_ssl' => $rewrite_target_ssl);
                     break;
                  default:
                     $rewrite_rules[] = array(   'rewrite_domain'    => '^'.$alias['domain'],
                            if(substr($alias['domain'], 0, 2) === '*.') $domain_rule = '(^|\.)'.$this->_rewrite_quote($alias['domain']);
                            else $domain_rule = '^'.$this->_rewrite_quote($alias['domain']);
                     $rewrite_rules[] = array(   'rewrite_domain'    => $domain_rule,
                        'rewrite_type'       => ($alias['redirect_type'] == 'no')?'':'['.$alias['redirect_type'].']',
                        'rewrite_target'    => $rewrite_target,
                        'rewrite_target_ssl' => $rewrite_target_ssl);
@@ -1812,6 +1814,8 @@
            
            if(preg_match('/' . preg_quote($begin_marker, '/') . '(.*?)' . preg_quote($end_marker, '/') . '/s', $ht_file, $matches)) {
                $ht_file = str_replace($matches[0], '', $ht_file);
            } else {
                $ht_file = str_replace("AuthType Basic\nAuthName \"Members Only\"\nAuthUserFile ".$folder_path.".htpasswd\nrequire valid-user", '', $ht_file);
            }
            
            if(trim($ht_file) == '') {
@@ -1890,6 +1894,8 @@
                
                if(preg_match('/' . preg_quote($begin_marker, '/') . '(.*?)' . preg_quote($end_marker, '/') . '/s', $ht_file, $matches)) {
                    $ht_file = str_replace($matches[0], '', $ht_file);
                } else {
                    $ht_file = str_replace("AuthType Basic\nAuthName \"Members Only\"\nAuthUserFile ".$old_folder_path.".htpasswd\nrequire valid-user", '', $ht_file);
                }
                
                if(trim($ht_file) == '') {
@@ -1930,6 +1936,8 @@
            
            if(preg_match('/' . preg_quote($begin_marker, '/') . '(.*?)' . preg_quote($end_marker, '/') . '/s', $ht_file, $matches)) {
                $ht_file = str_replace($matches[0], '', $ht_file);
            } else {
                $ht_file = str_replace("AuthType Basic\nAuthName \"Members Only\"\nAuthUserFile ".$new_folder_path.".htpasswd\nrequire valid-user", '', $ht_file);
            }
            
            if(trim($ht_file) == '') {
@@ -2555,6 +2563,10 @@
      return symlink($cfrom, $to);
   }
    private function _rewrite_quote($string) {
        return str_replace(array('.', '*', '?', '+'), array('\\.', '\\*', '\\?', '\\+'), $string);
    }
} // end class
?>