ftimme
2011-09-20 ec77608f619cf27d4fbcf6f10c683e19928966c9
server/plugins-available/nginx_plugin.inc.php
@@ -639,9 +639,21 @@
      $vhost_data['web_document_root_www'] = $web_config['website_basedir'].'/'.$data['new']['domain'].'/web';
      $vhost_data['web_basedir'] = $web_config['website_basedir'];
      $vhost_data['ssl_domain'] = $data['new']['ssl_domain'];
      //$vhost_data['has_custom_php_ini'] = $has_custom_php_ini;
      //$vhost_data['custom_php_ini_dir'] = escapeshellcmd($custom_php_ini_dir);
      $vhost_data['fpm_port'] = $web_config['php_fpm_start_port'] + $data['new']['domain_id'] + 1;
      // Custom nginx directives
      $final_nginx_directives = array();
      $nginx_directives = $data['new']['nginx_directives'];
      // Make sure we only have Unix linebreaks
      $nginx_directives = str_replace("\r\n", "\n", $nginx_directives);
      $nginx_directives = str_replace("\r", "\n", $nginx_directives);
      $nginx_directive_lines = explode("\n", $nginx_directives);
      if(is_array($nginx_directive_lines) && !empty($nginx_directive_lines)){
         foreach($nginx_directive_lines as $nginx_directive_line){
            $final_nginx_directives[] = array('nginx_directive' => $nginx_directive_line);
         }
      }
      $tpl->setLoop('nginx_directives', $final_nginx_directives);
      // Check if a SSL cert exists
      $ssl_dir = $data['new']['document_root'].'/ssl';
@@ -781,11 +793,8 @@
      }
      if(count($rewrite_rules) > 0) {
         $tpl->setVar('rewrite_enabled',1);
      } else {
         $tpl->setVar('rewrite_enabled',0);
         $tpl->setLoop('redirects',$rewrite_rules);
      }
      $tpl->setLoop('redirects',$rewrite_rules);
      
      //* Create basic http auth for website statistics
      $tpl->setVar('stats_auth_passwd_file', $data['new']['document_root']."/.htpasswd_stats");
@@ -1068,15 +1077,12 @@
      global $app, $conf;
      
      $pool_dir = $web_config['php_fpm_pool_dir'];
      $pool_name = 'web'.$data['new']['domain_id'];
      //$reload = false;
      
      if($data['new']['php'] == 'no'){
         if(@is_file($pool_dir.'/'.$data['old']['domain'].'.conf')){
            unlink($pool_dir.'/'.$data['old']['domain'].'.conf');
            //$reload = true;
         }
         if(@is_file($pool_dir.'/'.$data['new']['domain'].'.conf')){
            unlink($pool_dir.'/'.$data['new']['domain'].'.conf');
         if(@is_file($pool_dir.'/'.$pool_name.'.conf')){
            unlink($pool_dir.'/'.$pool_name.'.conf');
            //$reload = true;
         }
         //if($reload == true) $app->services->restartService('php-fpm','reload');
@@ -1084,9 +1090,9 @@
      }
      
      //if(!@is_file($pool_dir.'/'.$data['new']['domain'].'.conf') || ($data['old']['domain'] != '' && $data['new']['domain'] != $data['old']['domain'])) {
         if ( @is_file($pool_dir.'/'.$data['old']['domain'].'.conf') ) {
            unlink($pool_dir.'/'.$data['old']['domain'].'.conf');
         }
         //if ( @is_file($pool_dir.'/'.$pool_name.'.conf') ) {
         //   unlink($pool_dir.'/'.$pool_name.'.conf');
         //}
         
         $app->uses("getconf");
         $web_config = $app->getconf->get_server_config($conf["server_id"], 'web');
@@ -1095,7 +1101,7 @@
         $tpl = new tpl();
         $tpl->newTemplate('php_fpm_pool.conf.master');
         $tpl->setVar('fpm_pool', $data['new']['domain']);
         $tpl->setVar('fpm_pool', $pool_name);
         $tpl->setVar('fpm_port', $web_config['php_fpm_start_port'] + $data['new']['domain_id'] + 1);
         $tpl->setVar('fpm_user', $data['new']['system_user']);
         $tpl->setVar('fpm_group', $data['new']['system_group']);
@@ -1145,8 +1151,8 @@
         
         $tpl->setLoop('custom_php_ini_settings', $final_php_ini_settings);
         
         file_put_contents($pool_dir.'/'.$data['new']['domain'].'.conf',$tpl->grab());
         $app->log('Writing the PHP-FPM config file: '.$pool_dir.'/'.$data['new']['domain'].'.conf',LOGLEVEL_DEBUG);
         file_put_contents($pool_dir.'/'.$pool_name.'.conf',$tpl->grab());
         $app->log('Writing the PHP-FPM config file: '.$pool_dir.'/'.$pool_name.'.conf',LOGLEVEL_DEBUG);
         unset($tpl);
         //$reload = true;
      //}
@@ -1158,11 +1164,12 @@
      global $app;
      
      $pool_dir = $web_config['php_fpm_pool_dir'];
      $pool_name = 'web'.$data['old']['domain_id'];
      
      if ( @is_file($pool_dir.'/'.$data['old']['domain'].'.conf') ) {
         unlink($pool_dir.'/'.$data['old']['domain'].'.conf');
         $app->log('Removed PHP-FPM config file: '.$pool_dir.'/'.$data['old']['domain'].'.conf',LOGLEVEL_DEBUG);
         $app->services->restartService('php-fpm','reload');
      if ( @is_file($pool_dir.'/'.$pool_name.'.conf') ) {
         unlink($pool_dir.'/'.$pool_name.'.conf');
         $app->log('Removed PHP-FPM config file: '.$pool_dir.'/'.$pool_name.'.conf',LOGLEVEL_DEBUG);
         //$app->services->restartService('php-fpm','reload');
      }
   }