From 181529089411d6f55333b22d169e87d3f5137eb5 Mon Sep 17 00:00:00 2001
From: latham <latham@ispconfig3>
Date: Thu, 30 Jun 2011 12:03:31 -0400
Subject: [PATCH] Remove Microsoft Line endings. Some files have mixed line endings that make Subverison unhappy

---
 server/plugins-available/nginx_plugin.inc.php |  736 ++++++++++++++++++++++++++++----------------------------
 1 files changed, 368 insertions(+), 368 deletions(-)

diff --git a/server/plugins-available/nginx_plugin.inc.php b/server/plugins-available/nginx_plugin.inc.php
index a200daf..7016ad1 100644
--- a/server/plugins-available/nginx_plugin.inc.php
+++ b/server/plugins-available/nginx_plugin.inc.php
@@ -1,368 +1,368 @@
-<?php
-
-class nginx_plugin {
-
-	var $plugin_name = 'nginx_plugin';
-	var $class_name = 'nginx_plugin';
-
-	// private variables
-	var $action = '';
-
-	//* This function is called during ispconfig installation to determine
-	//  if a symlink shall be created for this plugin.
-	function onInstall() {
-		global $conf;
-
-		if($conf['services']['proxy'] == true && $conf['nginx']['installed'] == true) {
-			return true;
-		} else {
-			return false;
-		}
-
-	}
-
-
-	/*
-	 	This function is called when the plugin is loaded
-	*/
-
-	function onLoad() {
-		global $app;
-
-		/*
-		Register for the events
-		*/
-		
-		$app->plugins->registerEvent('web_domain_insert',$this->plugin_name,'ssl');
-		$app->plugins->registerEvent('web_domain_update',$this->plugin_name,'ssl');
-		$app->plugins->registerEvent('web_domain_delete',$this->plugin_name,'ssl');
-
-		$app->plugins->registerEvent('web_domain_insert',$this->plugin_name,'insert');
-		$app->plugins->registerEvent('web_domain_update',$this->plugin_name,'update');
-		$app->plugins->registerEvent('web_domain_delete',$this->plugin_name,'delete');
-		
-	//	$app->plugins->registerEvent('proxy_reverse_insert',$this->plugin_name,'rewrite_insert');
-	//	$app->plugins->registerEvent('proxy_reverse_update',$this->plugin_name,'rewrite_update');
-	//	$app->plugins->registerEvent('proxy_reverse_delete',$this->plugin_name,'rewrite_delete');
-	
-
-
-	}
-	
-	
-	function insert($event_name,$data) {
-		global $app, $conf;
-	
-		// just run the update function
-		$this->update($event_name,$data);
-	}
-	
-	
-	function update($event_name,$data) {
-		global $app, $conf;
-
-		if($this->action != 'insert') $this->action = 'update';
-
-		if($data['new']['type'] != 'vhost' && $data['new']['parent_domain_id'] > 0) {
-
-			$old_parent_domain_id = intval($data['old']['parent_domain_id']);
-			$new_parent_domain_id = intval($data['new']['parent_domain_id']);
-
-			// If the parent_domain_id has been chenged, we will have to update the old site as well.
-			if($this->action == 'update' && $data['new']['parent_domain_id'] != $data['old']['parent_domain_id']) {
-				$tmp = $app->dbmaster->queryOneRecord('SELECT * FROM web_domain WHERE domain_id = '.$old_parent_domain_id." AND active = 'y'");
-				$data['new'] = $tmp;
-				$data['old'] = $tmp;
-				$this->action = 'update';
-				$this->update($event_name,$data);
-			}
-
-			// This is not a vhost, so we need to update the parent record instead.
-			$tmp = $app->dbmaster->queryOneRecord('SELECT * FROM web_domain WHERE domain_id = '.$new_parent_domain_id." AND active = 'y'");
-			$data['new'] = $tmp;
-			$data['old'] = $tmp;
-			$this->action = 'update';
-		}
-		
-		
-		
-		
-		// load the server configuration options
-		$app->uses('getconf');
-		$nginx_config = $app->getconf->get_server_config($conf['server_id'], 'nginx');
-
-		// Create group and user, if not exist
-		$app->uses('system');
-
-		//* Create the vhost config file
-		$app->load('tpl');
-
-		$tpl = new tpl();
-		$tpl->newTemplate('nginx_vhost.conf.master');
-
-		$vhost_data = $data['new'];
-		$vhost_data['config_dir'] = $config['nginx']['config_dir'];
-	
-		$vhost_data['ssl_domain'] = $data['new']['ssl_domain'];
-		// Check if a SSL cert exists
-		$ssl_dir = $config['nginx']['config_dir'].'/ssl';
-		$domain = $data['new']['ssl_domain'];
-		$key_file = $ssl_dir.'/'.$domain.'.key';
-		$crt_file = $ssl_dir.'/'.$domain.'.crt';
-		$bundle_file = $ssl_dir.'/'.$domain.'.bundle';
-
-        $vhost_data['nginx_directives'] = preg_replace("/\[IP\]/", $vhost_data['ip_address'], $vhost_data['nginx_directives']);
-
-
-		if($data['new']['ssl'] == 'y' && @is_file($crt_file) && @is_file($key_file)) {
-			$vhost_data['ssl_enabled'] = 1;
-			$app->log('Enable SSL for: '.$domain,LOGLEVEL_DEBUG);
-		} else {
-			$vhost_data['ssl_enabled'] = 0;
-			$app->log('Disable SSL for: '.$domain,LOGLEVEL_DEBUG);
-		}
-
-		if(@is_file($bundle_file)) $vhost_data['has_bundle_cert'] = 1;
-
-
-		$tpl->setVar($vhost_data);
-
-		
-
-		// get alias domains (co-domains and subdomains)
-		$aliases = $app->dbmaster->queryAllRecords('SELECT * FROM web_domain WHERE parent_domain_id = '.$data['new']['domain_id']." AND active = 'y'");
-		$server_alias = array();
-		switch($data['new']['subdomain']) {
-			case 'www':
-				$server_alias[] .= 'www.'.$data['new']['domain'].' ';
-				break;
-			case '*':
-				$server_alias[] .= '*.'.$data['new']['domain'].' ';
-				break;
-		}
-		if(is_array($aliases)) {
-			foreach($aliases as $alias) {
-				switch($alias['subdomain']) {
-					case 'www':
-						$server_alias[] .= 'www.'.$alias['domain'].' '.$alias['domain'].' ';
-						break;
-					case '*':
-						$server_alias[] .= '*.'.$alias['domain'].' '.$alias['domain'].' ';
-						break;
-					default:
-						$server_alias[] .= $alias['domain'].' ';
-						break;
-				}
-				$app->log('Add server alias: '.$alias['domain'],LOGLEVEL_DEBUG);
-				
-			}
-		}
-
-		//* If we have some alias records
-		if(count($server_alias) > 0) {
-			$server_alias_str = '';
-			$n = 0;
-
-			// begin a new ServerAlias line after 30 alias domains
-			foreach($server_alias as $tmp_alias) {
-				if($n % 30 == 0) $server_alias_str .= " ";
-				$server_alias_str .= $tmp_alias;
-			}
-			unset($tmp_alias);
-
-			$tpl->setVar('alias',trim($server_alias_str));
-		} else {
-			$tpl->setVar('alias','');
-		}
-		
-
-		$vhost_file = escapeshellcmd($nginx_config['vhost_conf_dir'].'/'.$data['new']['domain'].'.vhost');
-		//* Make a backup copy of vhost file
-		copy($vhost_file,$vhost_file.'~');
-		
-		//* Write vhost file
-		file_put_contents($vhost_file,$tpl->grab());
-		$app->log('Writing the vhost file: '.$vhost_file,LOGLEVEL_DEBUG);
-		unset($tpl);
-
-
-		// Set the symlink to enable the vhost
-		$vhost_symlink = escapeshellcmd($nginx_config['vhost_conf_enabled_dir'].'/'.$data['new']['domain'].'.vhost');
-		if($data['new']['active'] == 'y' && !is_link($vhost_symlink)) {
-			symlink($vhost_file,$vhost_symlink);
-			$app->log('Creating symlink: '.$vhost_symlink.'->'.$vhost_file,LOGLEVEL_DEBUG);
-		}
-
-		// Remove the symlink, if site is inactive
-		if($data['new']['active'] == 'n' && is_link($vhost_symlink)) {
-			unlink($vhost_symlink);
-			$app->log('Removing symlink: '.$vhost_symlink.'->'.$vhost_file,LOGLEVEL_DEBUG);
-		}
-		
-		if(!is_dir('/var/log/ispconfig/nginx/'.$data['new']['domain'])) exec('mkdir -p /var/log/ispconfig/nginx/'.$data['new']['domain']);
-
-		// remove old symlink and vhost file, if domain name of the site has changed
-		if($this->action == 'update' && $data['old']['domain'] != '' && $data['new']['domain'] != $data['old']['domain']) {
-			$vhost_symlink = escapeshellcmd($nginx_config['vhost_conf_enabled_dir'].'/'.$data['old']['domain'].'.vhost');
-			unlink($vhost_symlink);
-			$app->log('Removing symlink: '.$vhost_symlink.'->'.$vhost_file,LOGLEVEL_DEBUG);
-			$vhost_file = escapeshellcmd($nginx_config['vhost_conf_dir'].'/'.$data['old']['domain'].'.vhost');
-			unlink($vhost_file);
-			$app->log('Removing file: '.$vhost_file,LOGLEVEL_DEBUG);
-			
-			if(is_dir('/var/log/ispconfig/nginx/'.$data['old']['domain'])) exec('rm -rf /var/log/ispconfig/nginx/'.$data['old']['domain']);
-		}
-		
-		// request a httpd reload when all records have been processed
-		$app->services->restartServiceDelayed('nginx','restart');
-			
-		// Remove the backup copy of the config file.
-		if(@is_file($vhost_file.'~')) unlink($vhost_file.'~');
-		
-
-		//* Unset action to clean it for next processed vhost.
-		$this->action = '';
-
-	}
-	
-	
-	
-
-	// Handle the creation of SSL certificates
-	function ssl($event_name,$data) {
-		global $app, $conf;
-
-		if(!is_dir($conf['nginx']['config_dir'].'/ssl')) exec('mkdir -p '.$conf['nginx']['config_dir'].'/ssl');
-		$ssl_dir = $conf['nginx']['config_dir'].'/ssl';
-		$domain = $data['new']['ssl_domain'];
-		$key_file = $ssl_dir.'/'.$domain.'.key.org';
-		$key_file2 = $ssl_dir.'/'.$domain.'.key';
-		$csr_file = $ssl_dir.'/'.$domain.'.csr';
-		$crt_file = $ssl_dir.'/'.$domain.'.crt';
-
-		
-		//* Save a SSL certificate to disk
-		if($data["new"]["ssl_action"] == 'save') {
-			$web = $app->masterdb->queryOneRecord("select wd.document_root, sp.ip_address from web_domain wd INNER JOIN server_ip sp USING(server_id) WHERE domain = '".$data['new']['domain']."'");
-			
-			$src_ssl_dir = $web["document_root"]."/ssl";
-			//$domain = $data["new"]["ssl_domain"];
-			//$csr_file = $ssl_dir.'/'.$domain.".csr";
-			//$crt_file = $ssl_dir.'/'.$domain.".crt";
-			//$bundle_file = $ssl_dir.'/'.$domain.".bundle";
-			$this->_exec('rsync -v -e ssh root@'.$web['ip_address'].':~/$src_ssl_dir '.$ssl_dir);
-			
-			$app->log('Syncing SSL Cert for: '.$domain,LOGLEVEL_DEBUG);
-		}
-
-		//* Delete a SSL certificate
-		if($data['new']['ssl_action'] == 'del') {
-			//$ssl_dir = $data['new']['document_root'].'/ssl';
-			$domain = $data['new']['ssl_domain'];
-			$csr_file = $ssl_dir.'/'.$domain.'.csr';
-			$crt_file = $ssl_dir.'/'.$domain.'.crt';
-			$bundle_file = $ssl_dir.'/'.$domain.'.bundle';
-			unlink($csr_file);
-			unlink($crt_file);
-			unlink($bundle_file);
-			$app->log('Deleting SSL Cert for: '.$domain,LOGLEVEL_DEBUG);
-		}
-
-
-	}
-
-
-	function delete($event_name,$data) {
-		global $app, $conf;
-
-		// load the server configuration options
-		$app->uses('getconf');
-		$nginx_config = $app->getconf->get_server_config($conf['server_id'], 'nginx');
-
-
-		if($data['old']['type'] == 'vhost') {
-
-			//* This is a website
-			// Deleting the vhost file, symlink and the data directory
-			$vhost_symlink = escapeshellcmd($nginx_config['vhost_conf_enabled_dir'].'/'.$data['old']['domain'].'.vhost');
-			unlink($vhost_symlink);
-			$app->log('Removing symlink: '.$vhost_symlink.'->'.$vhost_file,LOGLEVEL_DEBUG);
-
-			$vhost_file = escapeshellcmd($nginx_config['vhost_conf_dir'].'/'.$data['old']['domain'].'.vhost');
-			unlink($vhost_file);
-			$app->log('Removing vhost file: '.$vhost_file,LOGLEVEL_DEBUG);
-			
-			
-
-			// Delete the log file directory
-			$vhost_logfile_dir = escapeshellcmd('/var/log/ispconfig/nginx/'.$data['old']['domain']);
-			if($data['old']['domain'] != '' && !stristr($vhost_logfile_dir,'..')) exec('rm -rf '.$vhost_logfile_dir);
-			$app->log('Removing website logfile directory: '.$vhost_logfile_dir,LOGLEVEL_DEBUG);
-
-		}
-	}
-	
-	//* Wrapper for exec function for easier debugging
-	private function _exec($command) {
-		global $app;
-		$app->log('exec: '.$command,LOGLEVEL_DEBUG);
-		exec($command);
-	}
-	
-	function rewrite_insert($event_name,$data) {
-		global $app, $conf;
-
-		// just run the update function
-		$this->update($event_name,$data);
-	}
-	
-	function rewrite_update($event_name,$data) {
-		global $app, $conf;
-		
-		$rules = $this->_getRewriteRules($app);
-		
-		$app->uses('getconf');
-		$nginx_config = $app->getconf->get_server_config($conf['server_id'], 'nginx');
-		
-		$app->load('tpl');
-		$tpl = new tpl();
-		$tpl->newTemplate("nginx-rewrites.conf.master");
-		if (!empty($rules))$tpl->setLoop('nginx_rewrite_rules',$rules);
-		
-		$rewrites_file = escapeshellcmd($nginx_config['vhost_conf_dir'].'/default.rewrites.conf');
-		//* Make a backup copy of vhost file
-		copy($rewrites_file,$rewrites_file.'~');
-		
-		//* Write vhost file
-		file_put_contents($rewrites_file,$tpl->grab());
-		$app->log('Writing the nginx rewrites file: '.$rewrites_file,LOGLEVEL_DEBUG);
-		unset($tpl);
-
-
-		// Set the symlink to enable the vhost
-		$rewrite_symlink = escapeshellcmd($nginx_config['vhost_conf_enabled_dir'].'/default.rewrites.conf');
-		
-		if(!is_link($rewrite_symlink)) {
-			symlink($rewrites_file,$rewrite_symlink);
-			$app->log('Creating symlink for nginx rewrites: '.$rewrite_symlink.'->'.$rewrites_file,LOGLEVEL_DEBUG);
-		}	
-	}
-	
-	function rewrite_delete($event_name,$data) {
-		global $app, $conf;
-		
-		// just run the update function
-		$this->rewrite_update($event_name,$data);	
-	}
-	
-
-	function _getRewriteRules($app)
-	{
-		$rules = array();
-		$rules = $app->db->queryAllRecords("SELECT rewrite_url_src, rewrite_url_dst FROM proxy_reverse ORDER BY rewrite_id ASC");		
-		return $rules;
-	}
-
-} // end class
-
-?>
+<?php
+
+class nginx_plugin {
+
+	var $plugin_name = 'nginx_plugin';
+	var $class_name = 'nginx_plugin';
+
+	// private variables
+	var $action = '';
+
+	//* This function is called during ispconfig installation to determine
+	//  if a symlink shall be created for this plugin.
+	function onInstall() {
+		global $conf;
+
+		if($conf['services']['proxy'] == true && $conf['nginx']['installed'] == true) {
+			return true;
+		} else {
+			return false;
+		}
+
+	}
+
+
+	/*
+	 	This function is called when the plugin is loaded
+	*/
+
+	function onLoad() {
+		global $app;
+
+		/*
+		Register for the events
+		*/
+		
+		$app->plugins->registerEvent('web_domain_insert',$this->plugin_name,'ssl');
+		$app->plugins->registerEvent('web_domain_update',$this->plugin_name,'ssl');
+		$app->plugins->registerEvent('web_domain_delete',$this->plugin_name,'ssl');
+
+		$app->plugins->registerEvent('web_domain_insert',$this->plugin_name,'insert');
+		$app->plugins->registerEvent('web_domain_update',$this->plugin_name,'update');
+		$app->plugins->registerEvent('web_domain_delete',$this->plugin_name,'delete');
+		
+	//	$app->plugins->registerEvent('proxy_reverse_insert',$this->plugin_name,'rewrite_insert');
+	//	$app->plugins->registerEvent('proxy_reverse_update',$this->plugin_name,'rewrite_update');
+	//	$app->plugins->registerEvent('proxy_reverse_delete',$this->plugin_name,'rewrite_delete');
+	
+
+
+	}
+	
+	
+	function insert($event_name,$data) {
+		global $app, $conf;
+	
+		// just run the update function
+		$this->update($event_name,$data);
+	}
+	
+	
+	function update($event_name,$data) {
+		global $app, $conf;
+
+		if($this->action != 'insert') $this->action = 'update';
+
+		if($data['new']['type'] != 'vhost' && $data['new']['parent_domain_id'] > 0) {
+
+			$old_parent_domain_id = intval($data['old']['parent_domain_id']);
+			$new_parent_domain_id = intval($data['new']['parent_domain_id']);
+
+			// If the parent_domain_id has been chenged, we will have to update the old site as well.
+			if($this->action == 'update' && $data['new']['parent_domain_id'] != $data['old']['parent_domain_id']) {
+				$tmp = $app->dbmaster->queryOneRecord('SELECT * FROM web_domain WHERE domain_id = '.$old_parent_domain_id." AND active = 'y'");
+				$data['new'] = $tmp;
+				$data['old'] = $tmp;
+				$this->action = 'update';
+				$this->update($event_name,$data);
+			}
+
+			// This is not a vhost, so we need to update the parent record instead.
+			$tmp = $app->dbmaster->queryOneRecord('SELECT * FROM web_domain WHERE domain_id = '.$new_parent_domain_id." AND active = 'y'");
+			$data['new'] = $tmp;
+			$data['old'] = $tmp;
+			$this->action = 'update';
+		}
+		
+		
+		
+		
+		// load the server configuration options
+		$app->uses('getconf');
+		$nginx_config = $app->getconf->get_server_config($conf['server_id'], 'nginx');
+
+		// Create group and user, if not exist
+		$app->uses('system');
+
+		//* Create the vhost config file
+		$app->load('tpl');
+
+		$tpl = new tpl();
+		$tpl->newTemplate('nginx_vhost.conf.master');
+
+		$vhost_data = $data['new'];
+		$vhost_data['config_dir'] = $config['nginx']['config_dir'];
+	
+		$vhost_data['ssl_domain'] = $data['new']['ssl_domain'];
+		// Check if a SSL cert exists
+		$ssl_dir = $config['nginx']['config_dir'].'/ssl';
+		$domain = $data['new']['ssl_domain'];
+		$key_file = $ssl_dir.'/'.$domain.'.key';
+		$crt_file = $ssl_dir.'/'.$domain.'.crt';
+		$bundle_file = $ssl_dir.'/'.$domain.'.bundle';
+
+        $vhost_data['nginx_directives'] = preg_replace("/\[IP\]/", $vhost_data['ip_address'], $vhost_data['nginx_directives']);
+
+
+		if($data['new']['ssl'] == 'y' && @is_file($crt_file) && @is_file($key_file)) {
+			$vhost_data['ssl_enabled'] = 1;
+			$app->log('Enable SSL for: '.$domain,LOGLEVEL_DEBUG);
+		} else {
+			$vhost_data['ssl_enabled'] = 0;
+			$app->log('Disable SSL for: '.$domain,LOGLEVEL_DEBUG);
+		}
+
+		if(@is_file($bundle_file)) $vhost_data['has_bundle_cert'] = 1;
+
+
+		$tpl->setVar($vhost_data);
+
+		
+
+		// get alias domains (co-domains and subdomains)
+		$aliases = $app->dbmaster->queryAllRecords('SELECT * FROM web_domain WHERE parent_domain_id = '.$data['new']['domain_id']." AND active = 'y'");
+		$server_alias = array();
+		switch($data['new']['subdomain']) {
+			case 'www':
+				$server_alias[] .= 'www.'.$data['new']['domain'].' ';
+				break;
+			case '*':
+				$server_alias[] .= '*.'.$data['new']['domain'].' ';
+				break;
+		}
+		if(is_array($aliases)) {
+			foreach($aliases as $alias) {
+				switch($alias['subdomain']) {
+					case 'www':
+						$server_alias[] .= 'www.'.$alias['domain'].' '.$alias['domain'].' ';
+						break;
+					case '*':
+						$server_alias[] .= '*.'.$alias['domain'].' '.$alias['domain'].' ';
+						break;
+					default:
+						$server_alias[] .= $alias['domain'].' ';
+						break;
+				}
+				$app->log('Add server alias: '.$alias['domain'],LOGLEVEL_DEBUG);
+				
+			}
+		}
+
+		//* If we have some alias records
+		if(count($server_alias) > 0) {
+			$server_alias_str = '';
+			$n = 0;
+
+			// begin a new ServerAlias line after 30 alias domains
+			foreach($server_alias as $tmp_alias) {
+				if($n % 30 == 0) $server_alias_str .= " ";
+				$server_alias_str .= $tmp_alias;
+			}
+			unset($tmp_alias);
+
+			$tpl->setVar('alias',trim($server_alias_str));
+		} else {
+			$tpl->setVar('alias','');
+		}
+		
+
+		$vhost_file = escapeshellcmd($nginx_config['vhost_conf_dir'].'/'.$data['new']['domain'].'.vhost');
+		//* Make a backup copy of vhost file
+		copy($vhost_file,$vhost_file.'~');
+		
+		//* Write vhost file
+		file_put_contents($vhost_file,$tpl->grab());
+		$app->log('Writing the vhost file: '.$vhost_file,LOGLEVEL_DEBUG);
+		unset($tpl);
+
+
+		// Set the symlink to enable the vhost
+		$vhost_symlink = escapeshellcmd($nginx_config['vhost_conf_enabled_dir'].'/'.$data['new']['domain'].'.vhost');
+		if($data['new']['active'] == 'y' && !is_link($vhost_symlink)) {
+			symlink($vhost_file,$vhost_symlink);
+			$app->log('Creating symlink: '.$vhost_symlink.'->'.$vhost_file,LOGLEVEL_DEBUG);
+		}
+
+		// Remove the symlink, if site is inactive
+		if($data['new']['active'] == 'n' && is_link($vhost_symlink)) {
+			unlink($vhost_symlink);
+			$app->log('Removing symlink: '.$vhost_symlink.'->'.$vhost_file,LOGLEVEL_DEBUG);
+		}
+		
+		if(!is_dir('/var/log/ispconfig/nginx/'.$data['new']['domain'])) exec('mkdir -p /var/log/ispconfig/nginx/'.$data['new']['domain']);
+
+		// remove old symlink and vhost file, if domain name of the site has changed
+		if($this->action == 'update' && $data['old']['domain'] != '' && $data['new']['domain'] != $data['old']['domain']) {
+			$vhost_symlink = escapeshellcmd($nginx_config['vhost_conf_enabled_dir'].'/'.$data['old']['domain'].'.vhost');
+			unlink($vhost_symlink);
+			$app->log('Removing symlink: '.$vhost_symlink.'->'.$vhost_file,LOGLEVEL_DEBUG);
+			$vhost_file = escapeshellcmd($nginx_config['vhost_conf_dir'].'/'.$data['old']['domain'].'.vhost');
+			unlink($vhost_file);
+			$app->log('Removing file: '.$vhost_file,LOGLEVEL_DEBUG);
+			
+			if(is_dir('/var/log/ispconfig/nginx/'.$data['old']['domain'])) exec('rm -rf /var/log/ispconfig/nginx/'.$data['old']['domain']);
+		}
+		
+		// request a httpd reload when all records have been processed
+		$app->services->restartServiceDelayed('nginx','restart');
+			
+		// Remove the backup copy of the config file.
+		if(@is_file($vhost_file.'~')) unlink($vhost_file.'~');
+		
+
+		//* Unset action to clean it for next processed vhost.
+		$this->action = '';
+
+	}
+	
+	
+	
+
+	// Handle the creation of SSL certificates
+	function ssl($event_name,$data) {
+		global $app, $conf;
+
+		if(!is_dir($conf['nginx']['config_dir'].'/ssl')) exec('mkdir -p '.$conf['nginx']['config_dir'].'/ssl');
+		$ssl_dir = $conf['nginx']['config_dir'].'/ssl';
+		$domain = $data['new']['ssl_domain'];
+		$key_file = $ssl_dir.'/'.$domain.'.key.org';
+		$key_file2 = $ssl_dir.'/'.$domain.'.key';
+		$csr_file = $ssl_dir.'/'.$domain.'.csr';
+		$crt_file = $ssl_dir.'/'.$domain.'.crt';
+
+		
+		//* Save a SSL certificate to disk
+		if($data["new"]["ssl_action"] == 'save') {
+			$web = $app->masterdb->queryOneRecord("select wd.document_root, sp.ip_address from web_domain wd INNER JOIN server_ip sp USING(server_id) WHERE domain = '".$data['new']['domain']."'");
+			
+			$src_ssl_dir = $web["document_root"]."/ssl";
+			//$domain = $data["new"]["ssl_domain"];
+			//$csr_file = $ssl_dir.'/'.$domain.".csr";
+			//$crt_file = $ssl_dir.'/'.$domain.".crt";
+			//$bundle_file = $ssl_dir.'/'.$domain.".bundle";
+			$this->_exec('rsync -v -e ssh root@'.$web['ip_address'].':~/$src_ssl_dir '.$ssl_dir);
+			
+			$app->log('Syncing SSL Cert for: '.$domain,LOGLEVEL_DEBUG);
+		}
+
+		//* Delete a SSL certificate
+		if($data['new']['ssl_action'] == 'del') {
+			//$ssl_dir = $data['new']['document_root'].'/ssl';
+			$domain = $data['new']['ssl_domain'];
+			$csr_file = $ssl_dir.'/'.$domain.'.csr';
+			$crt_file = $ssl_dir.'/'.$domain.'.crt';
+			$bundle_file = $ssl_dir.'/'.$domain.'.bundle';
+			unlink($csr_file);
+			unlink($crt_file);
+			unlink($bundle_file);
+			$app->log('Deleting SSL Cert for: '.$domain,LOGLEVEL_DEBUG);
+		}
+
+
+	}
+
+
+	function delete($event_name,$data) {
+		global $app, $conf;
+
+		// load the server configuration options
+		$app->uses('getconf');
+		$nginx_config = $app->getconf->get_server_config($conf['server_id'], 'nginx');
+
+
+		if($data['old']['type'] == 'vhost') {
+
+			//* This is a website
+			// Deleting the vhost file, symlink and the data directory
+			$vhost_symlink = escapeshellcmd($nginx_config['vhost_conf_enabled_dir'].'/'.$data['old']['domain'].'.vhost');
+			unlink($vhost_symlink);
+			$app->log('Removing symlink: '.$vhost_symlink.'->'.$vhost_file,LOGLEVEL_DEBUG);
+
+			$vhost_file = escapeshellcmd($nginx_config['vhost_conf_dir'].'/'.$data['old']['domain'].'.vhost');
+			unlink($vhost_file);
+			$app->log('Removing vhost file: '.$vhost_file,LOGLEVEL_DEBUG);
+			
+			
+
+			// Delete the log file directory
+			$vhost_logfile_dir = escapeshellcmd('/var/log/ispconfig/nginx/'.$data['old']['domain']);
+			if($data['old']['domain'] != '' && !stristr($vhost_logfile_dir,'..')) exec('rm -rf '.$vhost_logfile_dir);
+			$app->log('Removing website logfile directory: '.$vhost_logfile_dir,LOGLEVEL_DEBUG);
+
+		}
+	}
+	
+	//* Wrapper for exec function for easier debugging
+	private function _exec($command) {
+		global $app;
+		$app->log('exec: '.$command,LOGLEVEL_DEBUG);
+		exec($command);
+	}
+	
+	function rewrite_insert($event_name,$data) {
+		global $app, $conf;
+
+		// just run the update function
+		$this->update($event_name,$data);
+	}
+	
+	function rewrite_update($event_name,$data) {
+		global $app, $conf;
+		
+		$rules = $this->_getRewriteRules($app);
+		
+		$app->uses('getconf');
+		$nginx_config = $app->getconf->get_server_config($conf['server_id'], 'nginx');
+		
+		$app->load('tpl');
+		$tpl = new tpl();
+		$tpl->newTemplate("nginx-rewrites.conf.master");
+		if (!empty($rules))$tpl->setLoop('nginx_rewrite_rules',$rules);
+		
+		$rewrites_file = escapeshellcmd($nginx_config['vhost_conf_dir'].'/default.rewrites.conf');
+		//* Make a backup copy of vhost file
+		copy($rewrites_file,$rewrites_file.'~');
+		
+		//* Write vhost file
+		file_put_contents($rewrites_file,$tpl->grab());
+		$app->log('Writing the nginx rewrites file: '.$rewrites_file,LOGLEVEL_DEBUG);
+		unset($tpl);
+
+
+		// Set the symlink to enable the vhost
+		$rewrite_symlink = escapeshellcmd($nginx_config['vhost_conf_enabled_dir'].'/default.rewrites.conf');
+		
+		if(!is_link($rewrite_symlink)) {
+			symlink($rewrites_file,$rewrite_symlink);
+			$app->log('Creating symlink for nginx rewrites: '.$rewrite_symlink.'->'.$rewrites_file,LOGLEVEL_DEBUG);
+		}	
+	}
+	
+	function rewrite_delete($event_name,$data) {
+		global $app, $conf;
+		
+		// just run the update function
+		$this->rewrite_update($event_name,$data);	
+	}
+	
+
+	function _getRewriteRules($app)
+	{
+		$rules = array();
+		$rules = $app->db->queryAllRecords("SELECT rewrite_url_src, rewrite_url_dst FROM proxy_reverse ORDER BY rewrite_id ASC");		
+		return $rules;
+	}
+
+} // end class
+
+?>

--
Gitblit v1.9.1