tbrehm
2009-11-18 80e7b0d7d17b0e9581fa56be484b8772d82261de
server/plugins-available/apache2_plugin.inc.php
@@ -538,6 +538,10 @@
         $this->_exec("chmod 777 ".escapeshellcmd($data["new"]["document_root"]."/tmp"));
      }
      
      // Change the owner of the error log to the owner of the website
      if(!@is_file($data["new"]["document_root"]."/log/error.log")) exec('touch '.escapeshellcmd($data["new"]["document_root"])."/log/error.log");
      $this->_exec("chown $username:$groupname ".escapeshellcmd($data["new"]["document_root"])."/log/error.log");
      
      // Create the vhost config file
      $app->load('tpl');
@@ -574,7 +578,17 @@
      // Rewrite rules
      $rewrite_rules = array();
      if($data["new"]["redirect_type"] != '') {
         $data["new"]["redirect_path"] = str_replace('../','',$data["new"]["redirect_path"]);
         if(substr($data["new"]["redirect_path"],-1) != '/') $data["new"]["redirect_path"] .= '/';
         if($data["new"]["redirect_type"] != 'R' && substr($data["new"]["redirect_path"],0,4) != 'http') {
            if($data["new"]["redirect_path"] == '/') {
               $data["new"]["redirect_path"] = $data["new"]["document_root"]."/web/";
            } else {
               if(substr($data["new"]["redirect_path"],0,1) != '/') $data["new"]["redirect_path"] = '/'.$data["new"]["redirect_path"];
               $data["new"]["redirect_path"] = $data["new"]["document_root"]."/web".$data["new"]["redirect_path"];
            }
         }
         $rewrite_rules[] = array(   'rewrite_domain'    => $data["new"]["domain"],
                              'rewrite_type'       => ($data["new"]["redirect_type"] == 'no')?'':'['.$data["new"]["redirect_type"].']',
                              'rewrite_target'    => $data["new"]["redirect_path"]);
@@ -621,7 +635,16 @@
            $app->log("Add server alias: $alias[domain]",LOGLEVEL_DEBUG);
            // Rewriting
            if($alias["redirect_type"] != '') {
               if(substr($data["new"]["redirect_path"],-1) != '/') $data["new"]["redirect_path"] .= '/';
               $alias["redirect_path"] = str_replace('../','',$alias["redirect_path"]);
               if(substr($alias["redirect_path"],-1) != '/') $alias["redirect_path"] .= '/';
               if($alias["redirect_type"] != 'R' && substr($alias["redirect_path"],0,4) != 'http') {
                  if($alias["redirect_path"] == '/') {
                     $alias["redirect_path"] = $data["new"]["document_root"]."/web/";
                  } else {
                     if(substr($alias["redirect_path"],0,1) != '/') $alias["redirect_path"] = '/'.$alias["redirect_path"];
                     $alias["redirect_path"] = $data["new"]["document_root"]."/web".$alias["redirect_path"];
                  }
               }
               $rewrite_rules[] = array(   'rewrite_domain'    => $alias["domain"],
                                    'rewrite_type'       => ($alias["redirect_type"] == 'no')?'':'['.$alias["redirect_type"].']',
                                    'rewrite_target'    => $alias["redirect_path"]);
@@ -799,7 +822,7 @@
      //* Create .htaccess and .htpasswd file for website statistics
      if(!is_file($data["new"]["document_root"].'/web/stats/.htaccess') or $data["old"]["document_root"] != $data["new"]["document_root"]) {
         if(!is_dir($data["new"]["document_root"].'/web/stats')) mkdir($data["new"]["document_root"].'/web/stats');
         $ht_file = "AuthType Basic\nAuthName \"Members Only\"\nAuthUserFile ".$data["new"]["document_root"]."/.htpasswd_stats\n<limit GET PUT POST>\nrequire valid-user\n</limit>";
         $ht_file = "AuthType Basic\nAuthName \"Members Only\"\nAuthUserFile ".$data["new"]["document_root"]."/.htpasswd_stats\nrequire valid-user";
         file_put_contents($data["new"]["document_root"].'/web/stats/.htaccess',$ht_file);
         chmod($data["new"]["document_root"].'/web/stats/.htaccess',0664);
         unset($ht_file);