~josephjamesmills/zpanelcp/zpanelcp

« back to all changes in this revision

Viewing changes to var/www/zpanel/modules/domains/code/webservice.ext.php

  • Committer: Joseph Mills
  • Date: 2012-05-09 02:52:32 UTC
  • Revision ID: josephjamesmills@gmail.com-20120509025232-ob5xni0ggrse28c0
setup framwork for www

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<?php
 
2
 
 
3
/**
 
4
 * @package zpanelx
 
5
 * @subpackage modules
 
6
 * @author Bobby Allen (ballen@zpanelcp.com)
 
7
 * @copyright ZPanel Project (http://www.zpanelcp.com/)
 
8
 * @link http://www.zpanelcp.com/
 
9
 * @license GPL (http://www.gnu.org/licenses/gpl.html)
 
10
 */
 
11
class webservice extends ws_xmws {
 
12
 
 
13
    /**
 
14
     * Get the full list of currently active domains on the server.
 
15
     * @global type $zdbh
 
16
     * @return type 
 
17
     */
 
18
    public function GetAllDomains() {
 
19
        global $zdbh;
 
20
        $response_xml = "\n";
 
21
        $alldomains = module_controller::ListDomains();
 
22
        foreach ($alldomains as $domain) {
 
23
            $response_xml = $response_xml . ws_xmws::NewXMLContentSection('domain', array(
 
24
                        'id' => $domain['id'],
 
25
                        'uid' => $domain['uid'],
 
26
                        'domain' => $domain['name'],
 
27
                        'homedirectory' => $domain['directory'],
 
28
                        'active' => $domain['active'],
 
29
                    ));
 
30
        }
 
31
        $dataobject = new runtime_dataobject();
 
32
        $dataobject->addItemValue('response', '');
 
33
        $dataobject->addItemValue('content', $response_xml);
 
34
        return $dataobject->getDataObject();
 
35
    }
 
36
 
 
37
    /**
 
38
     * Gets a list of all the domains that a user has configured on their hosting account (the user id needs to be sent in the <content> tag).
 
39
     * @global type $zdbh
 
40
     * @return type 
 
41
     */
 
42
    public function GetDomainsForUser() {
 
43
        global $zdbh;
 
44
        $request_data = $this->RawXMWSToArray($this->wsdata);
 
45
        $response_xml = "\n";
 
46
        $alldomains = module_controller::ListDomains($request_data['content']);
 
47
        if (!fs_director::CheckForEmptyValue($alldomains)) {
 
48
            foreach ($alldomains as $domain) {
 
49
                $response_xml = $response_xml . ws_xmws::NewXMLContentSection('domain', array(
 
50
                            'id' => $domain['id'],
 
51
                            'uid' => $domain['uid'],
 
52
                            'domain' => $domain['name'],
 
53
                            'homedirectory' => $domain['directory'],
 
54
                            'active' => $domain['active'],
 
55
                        ));
 
56
            }
 
57
        }
 
58
 
 
59
        $dataobject = new runtime_dataobject();
 
60
        $dataobject->addItemValue('response', '');
 
61
        $dataobject->addItemValue('content', $response_xml);
 
62
 
 
63
        return $dataobject->getDataObject();
 
64
    }
 
65
 
 
66
    /**
 
67
     * Enables an authenticated user to create a domain on their hosting account.
 
68
     * @return type 
 
69
     */
 
70
    public function CreateDomain() {
 
71
        $request_data = $this->RawXMWSToArray($this->wsdata);
 
72
        $dataobject = new runtime_dataobject();
 
73
        $dataobject->addItemValue('response', '');
 
74
        if (module_controller::ExecuteAddDomain(ws_generic::GetTagValue('uid', $request_data['content']), ws_generic::GetTagValue('domain', $request_data['content']), ws_generic::GetTagValue('destination', $request_data['content']), ws_generic::GetTagValue('autohome', $request_data['content']))) {
 
75
            $dataobject->addItemValue('content', ws_xmws::NewXMLTag('domain', ws_generic::GetTagValue('domain', $request_data['content'])) . ws_xmws::NewXMLTag('created', 'true'));
 
76
        } else {
 
77
            $dataobject->addItemValue('content', ws_xmws::NewXMLTag('domain', ws_generic::GetTagValue('domain', $request_data['content'])) . ws_xmws::NewXMLTag('created', 'false'));
 
78
        }
 
79
        return $dataobject->getDataObject();
 
80
    }
 
81
 
 
82
    /**
 
83
     * Delete a specified domain using the content <domainid> tag to pass the domain DB ID through.
 
84
     * @return type 
 
85
     */
 
86
    public function DeleteDomain() {
 
87
        $request_data = $this->RawXMWSToArray($this->wsdata);
 
88
        $contenttags = $this->XMLDataToArray($request_data['content']);
 
89
        $dataobject = new runtime_dataobject();
 
90
        $dataobject->addItemValue('response', '');
 
91
 
 
92
        if (module_controller::ExecuteDeleteDomain($contenttags['domainid'])) {
 
93
            $dataobject->addItemValue('content', ws_xmws::NewXMLTag('domainid', $contenttags['domainid']) . ws_xmws::NewXMLTag('deleted', 'true'));
 
94
        } else {
 
95
            $dataobject->addItemValue('content', ws_xmws::NewXMLTag('domainid', $contenttags['domainid']) . ws_xmws::NewXMLTag('deleted', 'false'));
 
96
        }
 
97
        return $dataobject->getDataObject();
 
98
    }
 
99
 
 
100
}
 
101
 
 
102
?>