Пример #1
0
            $tmp = $app->db->queryOneRecord("SELECT groupid FROM sys_group WHERE client_id = " . intval($this->id));
            $groupid = $tmp['groupid'];
            unset($tmp);
            //* Remove sys_user of old reseller from client group
            if ($this->oldDataRecord['parent_client_id'] > 0) {
                //* get userid of the old reseller remove it from the group of the client
                $tmp = $app->db->queryOneRecord("SELECT sys_user.userid FROM sys_user,sys_group WHERE sys_user.default_group = sys_group.groupid AND sys_group.client_id = " . $app->functions->intval($this->oldDataRecord['parent_client_id']));
                $app->auth->remove_group_from_user($tmp['userid'], $groupid);
                unset($tmp);
            }
            //* Add sys_user of new reseller to client group
            if ($this->dataRecord['parent_client_id'] > 0) {
                //* get userid of the reseller and add it to the group of the client
                $tmp = $app->db->queryOneRecord("SELECT sys_user.userid, sys_user.default_group FROM sys_user,sys_group WHERE sys_user.default_group = sys_group.groupid AND sys_group.client_id = " . $app->functions->intval($this->dataRecord['parent_client_id']));
                $app->auth->add_group_to_user($tmp['userid'], $groupid);
                $app->db->query("UPDATE client SET sys_userid = " . $app->functions->intval($tmp['userid']) . ", sys_groupid = " . $app->functions->intval($tmp['default_group']) . ", parent_client_id = " . $app->functions->intval($this->dataRecord['parent_client_id']) . " WHERE client_id = " . $this->id);
                unset($tmp);
            } else {
                //* Client is not assigned to a reseller anymore, so we assign it to the admin
                $app->db->query("UPDATE client SET sys_userid = 1, sys_groupid = 1, parent_client_id = 0 WHERE client_id = " . $this->id);
            }
        }
        if (isset($this->dataRecord['template_master'])) {
            $app->uses('client_templates');
            $app->client_templates->update_client_templates($this->id, $this->_template_additional);
        }
        parent::onAfterUpdate();
    }
}
$page = new page_action();
$page->onLoad();
Пример #2
0
        // Before we delete the email domain,
        // we will delete all depending records.
        // Delete all forwardings where the osurce or destination belongs to this domain
        $records = $app->db->queryAllRecords("SELECT forwarding_id as id FROM mail_forwarding WHERE source like '%@" . $app->db->quote($domain) . "' OR destination like '%@" . $app->db->quote($domain) . "'");
        foreach ($records as $rec) {
            $app->db->datalogDelete('mail_forwarding', 'forwarding_id', $rec['id']);
        }
        // Delete all fetchmail accounts where destination belongs to this domain
        $records = $app->db->queryAllRecords("SELECT mailget_id as id FROM mail_get WHERE destination like '%@" . $app->db->quote($domain) . "'");
        foreach ($records as $rec) {
            $app->db->datalogDelete('mail_get', 'mailget_id', $rec['id']);
        }
        // Delete all mailboxes where destination belongs to this domain
        $records = $app->db->queryAllRecords("SELECT mailuser_id as id FROM mail_user WHERE email like '%@" . $app->db->quote($domain) . "'");
        foreach ($records as $rec) {
            $app->db->datalogDelete('mail_user', 'mailuser_id', $rec['id']);
        }
        // Delete all spamfilters that belong to this domain
        $records = $app->db->queryAllRecords("SELECT id FROM spamfilter_users WHERE email = '@" . $app->db->quote($domain) . "'");
        foreach ($records as $rec) {
            $app->db->datalogDelete('spamfilter_users', 'id', $rec['id']);
        }
        // Delete all mailinglists that belong to this domain
        $records = $app->db->queryAllRecords("SELECT mailinglist_id FROM mail_mailinglist WHERE domain = '" . $app->db->quote($domain) . "'");
        foreach ($records as $rec) {
            $app->db->datalogDelete('mail_mailinglist', 'mailinglist_id', $rec['id']);
        }
    }
}
$page = new page_action();
$page->onDelete();