tbrehm
2008-11-17 d4d985e00f1f70dd390bd5aaf40062416d73f4e7
commit | author | age
18341e 1 <?php
T 2 /*
3 Copyright (c) 2007, Till Brehm, projektfarm Gmbh
4 All rights reserved.
5
6 Redistribution and use in source and binary forms, with or without modification,
7 are permitted provided that the following conditions are met:
8
9     * Redistributions of source code must retain the above copyright notice,
10       this list of conditions and the following disclaimer.
11     * Redistributions in binary form must reproduce the above copyright notice,
12       this list of conditions and the following disclaimer in the documentation
13       and/or other materials provided with the distribution.
14     * Neither the name of ISPConfig nor the names of its contributors
15       may be used to endorse or promote products derived from this software without
16       specific prior written permission.
17
18 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
19 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
20 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
21 IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
22 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
23 BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
24 DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
25 OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
26 NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
27 EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28 */
29
30
31 /******************************************
32 * Begin Form configuration
33 ******************************************/
34
35 $tform_def_file = "form/web_subdomain.tform.php";
36
37 /******************************************
38 * End Form configuration
39 ******************************************/
40
41 require_once('../../lib/config.inc.php');
42 require_once('../../lib/app.inc.php');
43
910093 44 //* Check permissions for module
T 45 $app->auth->check_module_permissions('sites');
18341e 46
T 47 // Loading classes
48 $app->uses('tpl,tform,tform_actions');
49 $app->load('tform_actions');
50
51 class page_action extends tform_actions {
52     
d4d985 53     var $parent_domain_record;
T 54     
4fae7e 55     function onShowNew() {
T 56         global $app, $conf;
57         
58         // we will check only users, not admins
59         if($_SESSION["s"]["user"]["typ"] == 'user') {
60             
61             // Get the limits of the client
62             $client_group_id = $_SESSION["s"]["user"]["default_group"];
63             $client = $app->db->queryOneRecord("SELECT limit_web_subdomain FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
64             
65             // Check if the user may add another maildomain.
66             if($client["limit_web_subdomain"] >= 0) {
67                 $tmp = $app->db->queryOneRecord("SELECT count(domain_id) as number FROM web_domain WHERE sys_groupid = $client_group_id and type = 'subdomain'");
68                 if($tmp["number"] >= $client["limit_web_subdomain"]) {
69                     $app->error($app->tform->wordbook["limit_web_subdomain_txt"]);
70                 }
71             }
72         }
73         
74         parent::onShowNew();
75     }
76     
18341e 77     function onShowEnd() {
T 78         global $app, $conf;
79         
80         // Get the record of the parent domain
df52d4 81         $parent_domain = $app->db->queryOneRecord("select * FROM web_domain WHERE domain_id = ".intval(@$this->dataRecord["parent_domain_id"]));
18341e 82         
4fae7e 83         // remove the parent domain part of the domain name before we show it in the text field.
18341e 84         $this->dataRecord["domain"] = str_replace('.'.$parent_domain["domain"],'',$this->dataRecord["domain"]);
T 85         $app->tpl->setVar("domain",$this->dataRecord["domain"]);
86         
87         parent::onShowEnd();
88         
89     }
90
91     function onSubmit() {
92         global $app, $conf;
93         
94         // Get the record of the parent domain
df52d4 95         $parent_domain = $app->db->queryOneRecord("select * FROM web_domain WHERE domain_id = ".intval(@$this->dataRecord["parent_domain_id"]));
18341e 96         
T 97         // Set a few fixed values
98         $this->dataRecord["type"] = 'subdomain';
99         $this->dataRecord["server_id"] = $parent_domain["server_id"];
100         $this->dataRecord["domain"] = $this->dataRecord["domain"].'.'.$parent_domain["domain"];
101         
d4d985 102         $this->parent_domain_record = $parent_domain;
18341e 103         
T 104         parent::onSubmit();
105     }
106     
d4d985 107     function onAfterInsert() {
T 108         global $app, $conf;
109         
110         $app->db->query('UPDATE web_domain SET sys_groupid = '.intval($this->parent_domain_record['sys_groupid']).' WHERE domain_id = '.$this->id);
111         
112     }
113     
114     
18341e 115 }
T 116
117 $page = new page_action;
118 $page->onLoad();
119
120 ?>