tbrehm
2007-10-17 15d78a3e167f3783377ca2c1d8f570a25d137b35
added symlink creation for websites on the server.
3 files modified
40 ■■■■ changed files
interface/web/sites/web_domain_edit.php 8 ●●●● patch | view | raw | blame | history
server/mods-enabled/web_module.inc.php 18 ●●●●● patch | view | raw | blame | history
server/plugins-enabled/apache2_plugin.inc.php 14 ●●●●● patch | view | raw | blame | history
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"]);
        }
        
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
    
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/";