Marius Cramer
2015-08-06 37b29231e47a0c4458dc1c15d98588f16f07e1e2
commit | author | age
be7d7f 1 <?php
T 2
3 /*
4 Copyright (c) 2005 - 2009, Till Brehm, projektfarm Gmbh
5 All rights reserved.
6
7 Redistribution and use in source and binary forms, with or without modification,
8 are permitted provided that the following conditions are met:
9
10     * Redistributions of source code must retain the above copyright notice,
11       this list of conditions and the following disclaimer.
12     * Redistributions in binary form must reproduce the above copyright notice,
13       this list of conditions and the following disclaimer in the documentation
14       and/or other materials provided with the distribution.
15     * Neither the name of ISPConfig nor the names of its contributors
16       may be used to endorse or promote products derived from this software without
17       specific prior written permission.
18
19 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
20 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
21 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
22 IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
23 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
24 BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
26 OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
27 NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
28 EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 */
30
31 /******************************************
32 * Begin Form configuration
33 ******************************************/
34
35 $list_def_file = "list/reseller.list.php";
36 $tform_def_file = "form/reseller.tform.php";
37
38 /******************************************
39 * End Form configuration
40 ******************************************/
41
b1a6a5 42 require_once '../../lib/config.inc.php';
MC 43 require_once '../../lib/app.inc.php';
be7d7f 44
T 45 //* Check permissions for module
46 $app->auth->check_module_permissions('client');
47
48 if($_SESSION["s"]["user"]["typ"] != 'admin') die('Access only for administrators.');
49
50 $app->uses('tpl,tform');
51 $app->load('tform_actions');
52
53 class page_action extends tform_actions {
b1a6a5 54
f780d7 55     function onBeforeDelete() {
T 56         global $app, $conf;
b1a6a5 57
91624b 58         if($conf['demo_mode'] == true) $app->error('This function is disabled in demo mode.');
b1a6a5 59
65ea2e 60         $client_id = $app->functions->intval($this->dataRecord['client_id']);
b1a6a5 61
cc7a82 62         $tmp = $app->db->queryOneRecord("SELECT count(client_id) as number FROM client WHERE parent_client_id = ?", $client_id);
f780d7 63         if($tmp["number"] > 0) $app->error($app->lng('error_has_clients'));
b1a6a5 64
f780d7 65     }
b1a6a5 66
be7d7f 67     function onAfterDelete() {
T 68         global $app, $conf;
b1a6a5 69
65ea2e 70         $client_id = $app->functions->intval($this->dataRecord['client_id']);
b1a6a5 71
be7d7f 72         if($client_id > 0) {
T 73             // TODO: Delete all records (sub-clients, mail, web, etc....)  of this client.
b1a6a5 74
be7d7f 75             // remove the group of the client from the resellers group
65ea2e 76             $parent_client_id = $app->functions->intval($this->dataRecord['parent_client_id']);
cc7a82 77             $parent_user = $app->db->queryOneRecord("SELECT userid FROM sys_user WHERE client_id = ?", $parent_client_id);
MC 78             $client_group = $app->db->queryOneRecord("SELECT groupid FROM sys_group WHERE client_id = ?", $client_id);
b1a6a5 79             $app->auth->remove_group_from_user($parent_user['userid'], $client_group['groupid']);
MC 80
be7d7f 81             // delete the group of the client
cc7a82 82             $app->db->query("DELETE FROM sys_group WHERE client_id = ?", $client_id);
b1a6a5 83
be7d7f 84             // delete the sys user(s) of the client
cc7a82 85             $app->db->query("DELETE FROM sys_user WHERE client_id = ?", $client_id);
be7d7f 86         }
b1a6a5 87
be7d7f 88     }
b1a6a5 89
be7d7f 90 }
T 91
92 $page = new page_action;
93 $page->onDelete()
94
b1a6a5 95 ?>