doekia
2014-03-17 2c09b2d5984a9ab70d0062bd08a0390edaca57b4
server/plugins-available/apache2_plugin.inc.php
@@ -564,7 +564,9 @@
         //* Change the log mount
         $fstab_line = '/var/log/ispconfig/httpd/'.$data['old']['domain'].' '.$data['old']['document_root'].'/'.$log_folder.'    none    bind';
         $app->system->removeLine('/etc/fstab', $fstab_line);
         $fstab_line = '/var/log/ispconfig/httpd/'.$data['new']['domain'].' '.$data['new']['document_root'].'/'.$log_folder.'    none    bind,nobootwait    0 0';
         $fstab_line = '/var/log/ispconfig/httpd/'.$data['old']['domain'].' '.$data['old']['document_root'].'/'.$log_folder.'    none    bind,nobootwait';
         $app->system->removeLine('/etc/fstab', $fstab_line);
         $fstab_line = '/var/log/ispconfig/httpd/'.$data['new']['domain'].' '.$data['new']['document_root'].'/'.$log_folder.'    none    bind,nobootwait,_netdev    0 0';
         $app->system->replaceLine('/etc/fstab', $fstab_line, $fstab_line, 1, 1);
      }
@@ -614,7 +616,7 @@
         $app->system->chmod($data['new']['document_root'].'/'.$log_folder, 0755);
         exec('mount --bind '.escapeshellarg('/var/log/ispconfig/httpd/'.$data['new']['domain']).' '.escapeshellarg($data['new']['document_root'].'/'.$log_folder));
         //* add mountpoint to fstab
         $fstab_line = '/var/log/ispconfig/httpd/'.$data['new']['domain'].' '.$data['new']['document_root'].'/'.$log_folder.'    none    bind,nobootwait    0 0';
         $fstab_line = '/var/log/ispconfig/httpd/'.$data['new']['domain'].' '.$data['new']['document_root'].'/'.$log_folder.'    none    bind,nobootwait,_netdev    0 0';
         $app->system->replaceLine('/etc/fstab', $fstab_line, $fstab_line, 1, 1);
      }
@@ -983,6 +985,8 @@
      // Make sure we only have Unix linebreaks
      $vhost_data['apache_directives'] = str_replace("\r\n", "\n", $vhost_data['apache_directives']);
      $vhost_data['apache_directives'] = str_replace("\r", "\n", $vhost_data['apache_directives']);
      $trans = array('{DOCROOT}' => $vhost_data['web_document_root_www']);
      $vhost_data['apache_directives'] = strtr($vhost_data['apache_directives'], $trans);
      // Check if a SSL cert exists
      $ssl_dir = $data['new']['document_root'].'/ssl';
@@ -1256,6 +1260,7 @@
            $fcgi_tpl->setVar('php_fcgi_bin', escapeshellcmd($custom_fastcgi_php_executable));
         }
         $fcgi_tpl->setVar('security_level', intval($web_config['security_level']));
         $fcgi_tpl->setVar('domain', escapeshellcmd($data['new']['domain']));
         $php_open_basedir = ($data['new']['php_open_basedir'] == '')?$data['new']['document_root']:$data['new']['php_open_basedir'];
         $fcgi_tpl->setVar('open_basedir', escapeshellcmd($php_open_basedir));
@@ -2105,9 +2110,7 @@
      //* Create the folder path, if it does not exist
      if(!is_dir($folder_path)) {
         $app->system->mkdirpath($folder_path);
         $app->system->chown($folder_path, $website['system_user']);
         $app->system->chgrp($folder_path, $website['system_group']);
         $app->system->mkdirpath($folder_path, 0755, $website['system_user'], $website['system_group']);
      }
      //* Create empty .htpasswd file, if it does not exist
@@ -2333,6 +2336,15 @@
         $app->system->chown($new_folder_path.'.htaccess', $website['system_user']);
         $app->system->chgrp($new_folder_path.'.htaccess', $website['system_group']);
         $app->log('Created/modified file '.$new_folder_path.'.htaccess', LOGLEVEL_DEBUG);
         //* Create empty .htpasswd file, if it does not exist
         if(!is_file($folder_path.'.htpasswd')) {
            $app->system->touch($new_folder_path.'.htpasswd');
            $app->system->chmod($new_folder_path.'.htpasswd', 0750);
            $app->system->chown($new_folder_path.'.htpasswd', $website['system_user']);
            $app->system->chgrp($new_folder_path.'.htpasswd', $website['system_group']);
            $app->log('Created file '.$new_folder_path.'.htpasswd', LOGLEVEL_DEBUG);
         }
      }
      //* Remove .htaccess file
@@ -2773,6 +2785,7 @@
      $tpl->setVar('pm_max_requests', $data['new']['pm_max_requests']);
      $tpl->setVar('document_root', $data['new']['document_root']);
      $tpl->setVar('security_level', $web_config['security_level']);
      $tpl->setVar('domain', $data['new']['domain']);
      $php_open_basedir = ($data['new']['php_open_basedir'] == '')?escapeshellcmd($data['new']['document_root']):escapeshellcmd($data['new']['php_open_basedir']);
      $tpl->setVar('php_open_basedir', $php_open_basedir);
      if($php_open_basedir != ''){
@@ -2795,9 +2808,9 @@
               if(substr($ini_setting, 0, 1) == ';') continue;
               if(substr($ini_setting, 0, 1) == '#') continue;
               if(substr($ini_setting, 0, 2) == '//') continue;
               list($key, $value) = explode('=', $ini_setting);
               if($value){
                  $value = trim($value);
               list($key, $value) = explode('=', $ini_setting, 2);
               $value = trim($value);
               if($value != ''){
                  $key = trim($key);
                  switch (strtolower($value)) {
                  case '0':