From 15d78a3e167f3783377ca2c1d8f570a25d137b35 Mon Sep 17 00:00:00 2001
From: tbrehm <t.brehm@ispconfig.org>
Date: Wed, 17 Oct 2007 14:55:24 -0400
Subject: [PATCH] added symlink creation for websites on the server.
---
server/plugins-enabled/apache2_plugin.inc.php | 14 +++++++++++++-
interface/web/sites/web_domain_edit.php | 8 ++++----
server/mods-enabled/web_module.inc.php | 18 +++++++++++++++++-
3 files changed, 34 insertions(+), 6 deletions(-)
diff --git a/interface/web/sites/web_domain_edit.php b/interface/web/sites/web_domain_edit.php
index 7b1bc6d..6790f3c 100644
--- a/interface/web/sites/web_domain_edit.php
+++ b/interface/web/sites/web_domain_edit.php
@@ -199,8 +199,8 @@
$client = $app->db->queryOneRecord("SELECT client_id FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
$client_id = intval($client["client_id"]);
} else {
- $client_id = intval($this->dataRecord["client_group_id"]);
- $client = $app->db->queryOneRecord("SELECT client_id FROM sys_group WHERE sys_group.groupid = ".intval($this->dataRecord["client_group_id"]));
+ //$client_id = intval($this->dataRecord["client_group_id"]);
+ $client = $app->db->queryOneRecord("SELECT client_id FROM sys_group WHERE sys_group.groupid = ".intval($this->dataRecord["sys_groupid"]));
$client_id = intval($client["client_id"]);
}
@@ -235,8 +235,8 @@
$client = $app->db->queryOneRecord("SELECT client_id FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
$client_id = intval($client["client_id"]);
} else {
- $client_id = intval(@$web_rec["client_group_id"]);
- $client = $app->db->queryOneRecord("SELECT client_id FROM sys_group WHERE sys_group.groupid = ".intval(@$this->dataRecord["client_group_id"]));
+ //$client_id = intval(@$web_rec["client_group_id"]);
+ $client = $app->db->queryOneRecord("SELECT client_id FROM sys_group WHERE sys_group.groupid = ".intval(@$this->dataRecord["sys_groupid"]));
$client_id = intval($client["client_id"]);
}
diff --git a/server/mods-enabled/web_module.inc.php b/server/mods-enabled/web_module.inc.php
index 5377911..1b4c8b8 100644
--- a/server/mods-enabled/web_module.inc.php
+++ b/server/mods-enabled/web_module.inc.php
@@ -34,7 +34,13 @@
var $class_name = 'web_module';
var $actions_available = array( 'web_domain_insert',
'web_domain_update',
- 'web_domain_delete');
+ 'web_domain_delete',
+ 'ftp_user_insert',
+ 'ftp_user_update',
+ 'ftp_user_delete',
+ 'shell_user_insert',
+ 'shell_user_update',
+ 'shell_user_delete');
/*
This function is called when the module is loaded
@@ -81,6 +87,16 @@
if($action == 'u') $app->plugins->raiseEvent('web_domain_update',$data);
if($action == 'd') $app->plugins->raiseEvent('web_domain_delete',$data);
break;
+ case 'ftp_user':
+ if($action == 'i') $app->plugins->raiseEvent('ftp_user_insert',$data);
+ if($action == 'u') $app->plugins->raiseEvent('ftp_user_update',$data);
+ if($action == 'd') $app->plugins->raiseEvent('ftp_user_delete',$data);
+ break;
+ case 'shell_user':
+ if($action == 'i') $app->plugins->raiseEvent('shell_user_insert',$data);
+ if($action == 'u') $app->plugins->raiseEvent('shell_user_update',$data);
+ if($action == 'd') $app->plugins->raiseEvent('shell_user_delete',$data);
+ break;
} // end switch
} // end function
diff --git a/server/plugins-enabled/apache2_plugin.inc.php b/server/plugins-enabled/apache2_plugin.inc.php
index dc8dc38..520bcb7 100644
--- a/server/plugins-enabled/apache2_plugin.inc.php
+++ b/server/plugins-enabled/apache2_plugin.inc.php
@@ -104,7 +104,19 @@
if(!is_dir('/var/log/ispconfig/httpd/'.$data["new"]["domain"])) exec('mkdir -p /var/log/ispconfig/httpd/'.$data["new"]["domain"]);
if(!is_link($data["new"]["document_root"]."/log")) exec("ln -s /var/log/ispconfig/httpd/".$data["new"]["domain"]." ".$data["new"]["document_root"]."/log");
- // TODO: Create the symlinks
+ // Create the symlinks for the sites
+ $client = $app->db->queryOneRecord("SELECT client_id FROM sys_group WHERE sys_group.groupid = ".intval($data["new"]["sys_groupid"]));
+ $client_id = intval($client["client_id"]);
+ unset($client);
+ $tmp_symlinks_array = explode(':',$web_config["website_symlinks"]);
+ foreach($tmp_symlinks_array as $tmp_symlink) {
+ $tmp_symlink = str_replace("[client_id]",$client_id,$tmp_symlink);
+ $tmp_symlink = str_replace("[website_domain]",$data["new"]["domain"],$tmp_symlink);
+ if(!is_link($tmp_symlink)) {
+ exec("ln -s ".escapeshellcmd($data["new"]["document_root"])."/ ".escapeshellcmd($tmp_symlink));
+ $app->log("Creating Symlink: ln -s ".$data["new"]["document_root"]."/ ".$tmp_symlink,LOGLEVEL_DEBUG);
+ }
+ }
// Copy the error pages
$error_page_path = escapeshellcmd($data["new"]["web_document_root"])."/web/error/";
--
Gitblit v1.9.1