ftimme
2011-09-19 4986189f63d2f6178ac973f5ac12555e52c0a226
server/plugins-available/nginx_plugin.inc.php
@@ -640,7 +640,6 @@
      $vhost_data['web_basedir'] = $web_config['website_basedir'];
      $vhost_data['security_level'] = $web_config['security_level'];
      $vhost_data['allow_override'] = ($data['new']['allow_override'] == '')?'All':$data['new']['allow_override'];
      //$vhost_data['php_open_basedir'] = ($data['new']['php_open_basedir'] == '')?$data['new']['document_root']:$data['new']['php_open_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);
@@ -1066,7 +1065,7 @@
         return;
      }
      
      if(!@is_file($pool_dir.'/'.$data['new']['domain'].'.conf') || ($data['old']['domain'] != '' && $data['new']['domain'] != $data['old']['domain'])) {
      //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');
         }
@@ -1082,12 +1081,54 @@
         $tpl->setVar('fpm_port', $web_config['php_fpm_start_port'] + $data['new']['domain_id']);
         $tpl->setVar('fpm_user', $data['new']['system_user']);
         $tpl->setVar('fpm_group', $data['new']['system_group']);
         $php_open_basedir = ($data['new']['php_open_basedir'] == '')?$data['new']['document_root']:$data['new']['php_open_basedir'];
         $tpl->setVar('php_open_basedir', $php_open_basedir);
         if($php_open_basedir != ''){
            $tpl->setVar('enable_php_open_basedir', '');
         } else {
            $tpl->setVar('enable_php_open_basedir', ';');
         }
         // Custom php.ini settings
         $final_php_ini_settings = array();
         $custom_php_ini_settings = trim($data['new']['custom_php_ini']);
         if($custom_php_ini_settings != ''){
            // Make sure we only have Unix linebreaks
            $custom_php_ini_settings = str_replace("\r\n", "\n", $custom_php_ini_settings);
            $custom_php_ini_settings = str_replace("\r", "\n", $custom_php_ini_settings);
            $ini_settings = explode("\n", $custom_php_ini_settings);
            if(is_array($ini_settings) && !empty($ini_settings)){
               foreach($ini_settings as $ini_setting){
                     list($key, $value) = explode('=', $ini_setting);
                     if($value){
                        $value = trim($value);
                        $key = trim($key);
                        switch (strtolower($value)) {
                           case 'on':
                           case 'off':
                           case '1':
                           case '0':
                           case 'true':
                           case 'false':
                           case 'yes':
                           case 'no':
                              $final_php_ini_settings[] = array('ini_setting' => 'php_admin_flag['.$key.'] = '.$value);
                              break;
                           default:
                              $final_php_ini_settings[] = array('ini_setting' => 'php_admin_value['.$key.'] = '.$value);
                        }
                     }
               }
            }
         }
         $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);
         unset($tpl);
         //$reload = true;
      }
      //}
      //if($reload == true) $app->services->restartService('php-fpm','reload');
   }