function GetPortStatus() { $request_data = $this->RawXMWSToArray($this->wsdata); $contenttags = $this->XMLDataToArray($this->wsdata); if (sys_monitoring::LocalPortStatus($contenttags['xmws']['content']['port'])) { $port_response = 1; } else { $port_response = 0; } $response_xml = ws_xmws::NewXMLContentSection('portstatus', array('port' => $contenttags['xmws']['content']['port'], 'status' => $port_response)); $dataobject = new runtime_dataobject(); $dataobject->addItemValue('response', ''); $dataobject->addItemValue('content', $response_xml); return $dataobject->getDataObject(); }
/** * 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). * @global type $zdbh * @return type */ public function GetDomainsForUser() { global $zdbh; $request_data = $this->RawXMWSToArray($this->wsdata); $response_xml = "\n"; $alldomains = module_controller::ListDomains($request_data['content']); if (!fs_director::CheckForEmptyValue($alldomains)) { foreach ($alldomains as $domain) { $response_xml = $response_xml . ws_xmws::NewXMLContentSection('domain', array('id' => $domain['id'], 'uid' => $domain['uid'], 'domain' => $domain['name'], 'homedirectory' => $domain['directory'], 'active' => $domain['active'])); } } $dataobject = new runtime_dataobject(); $dataobject->addItemValue('response', ''); $dataobject->addItemValue('content', $response_xml); return $dataobject->getDataObject(); }
/** * Enables an authenticated user to create a sub-domain. * @return type */ public function CreateSubDomain() { global $zdbh; $request_data = $this->RawXMWSToArray($this->wsdata); $response_xml = "\n"; $subname = ws_generic::GetTagValue('subname', $request_data['content']); $subdirectory = ws_generic::GetTagValue('subdirectory', $request_data['content']); $uid = ws_generic::GetTagValue('uid', $request_data['content']); $autohome = ws_generic::GetTagValue('autohome', $request_data['content']); $retval = module_controller::ExecuteAddSubDomain($uid, $subname, $subdirectory, $autohome); $response_xml = $response_xml . ws_xmws::NewXMLContentSection('subdomain', array('subname' => $subname, 'subdirectory' => $subdirectory, 'uid' => $uid, 'autohome' => $autohome)); $dataobject = new runtime_dataobject(); $dataobject->addItemValue('response', ''); $dataobject->addItemValue('content', $response_xml); return $dataobject->getDataObject(); }
public function CreateDNSRecord() { $request_data = $this->RawXMWSToArray($this->wsdata); $response_xml = "\n"; $uid = ws_generic::GetTagValue('uid', $request_data['content']); $domainName = ws_generic::GetTagValue('domainName', $request_data['content']); $domainID = ws_generic::GetTagValue('domainID', $request_data['content']); $hostName = ws_generic::GetTagValue('hostName', $request_data['content']); $type = ws_generic::GetTagValue('type', $request_data['content']); $target = ws_generic::GetTagValue('target', $request_data['content']); $ttl = ws_generic::GetTagValue('ttl', $request_data['content']); module_controller::createDNSRecord(array("uid" => $uid, "domainName" => $domainName, "domainID" => $domainID, "type" => $type, "hostName" => $hostName, "ttl" => $ttl, "target" => $target)); $response_xml = $response_xml . ws_xmws::NewXMLContentSection('dns_record', array('domainName' => $domainName, 'hostName' => $hostName, 'type' => $type, 'target' => $target, 'created' => 'true')); $dataobject = new runtime_dataobject(); $dataobject->addItemValue('response', ''); $dataobject->addItemValue('content', $response_xml); return $dataobject->getDataObject(); }
/** * Get and return package details for a specific package. * @return array */ public function GetPackageId() { $request_data = $this->RawXMWSToArray($this->wsdata); $contenttags = $this->XMLDataToArray($request_data['content']); $packageId = 0; $response_xml = "\n"; $allpackages = module_controller::ListPackages(1); foreach ($allpackages as $package) { if ($package['packagename'] === $contenttags['pakagename']) { $packageId = $package['packageid']; } } $response_xml = $response_xml . ws_xmws::NewXMLContentSection('pakageid', $packageId); $dataobject = new runtime_dataobject(); $dataobject->addItemValue('response', ''); $dataobject->addItemValue('content', $response_xml); return $dataobject->getDataObject(); }
/** * Get the full list of currently active domains on the server. * @global type $zdbh * @return type */ function GetAllSystemOptions() { global $zdbh; $response_xml = "\n"; $sql = $zdbh->prepare("SELECT * FROM x_settings ORDER BY so_id_pk ASC"); $sql->execute(); while ($rowoptions = $sql->fetch()) { if ($rowoptions['so_value_tx'] == "") { $value = "NULL"; } else { $value = $rowoptions['so_value_tx']; } $response_xml = $response_xml . ws_xmws::NewXMLContentSection('setting', array('id' => $rowoptions['so_id_pk'], 'name' => $rowoptions['so_name_vc'], 'value' => $value, 'description' => $rowoptions['so_desc_tx'], 'usereditable' => $rowoptions['so_usereditable_en'])); } $dataobject = new runtime_dataobject(); $dataobject->addItemValue('response', ''); $dataobject->addItemValue('content', $response_xml); return $dataobject->getDataObject(); }
public function GetAllClients() { $request_data = $this->RawXMWSToArray($this->wsdata); $contenttags = $this->XMLDataToArray($request_data['content']); $response_xml = "\n"; if (module_controller::ListClients($contenttags['uid'])) { $allactiveclients = module_controller::ListClients($contenttags['uid']); $currentclient = 0; $newsections = ""; foreach ($allactiveclients as $client) { $newsections = $newsections . ws_xmws::NewXMLContentSection('client', $client); $currentclient++; } $response_xml = $response_xml . $newsections; } $dataobject = new runtime_dataobject(); $dataobject->addItemValue('response', ''); $dataobject->addItemValue('content', $response_xml); return $dataobject->getDataObject(); }
/** * Get usage stats for the entire server. * @global type $zdbh * @return type */ function GetServerUsageStats() { global $zdbh; $response_xml = "\n"; // Total Sentora user accounts $sql = $zdbh->query("SELECT COUNT(*) AS total FROM x_accounts")->Fetch(); $total_accounts = $sql['total']; // Total Active Sentora user accounts $sql = $zdbh->query("SELECT COUNT(*) AS total FROM x_accounts WHERE ac_enabled_in = 1")->Fetch(); $total_activeaccounts = $sql['total']; // Total Disabled Sentora user accounts $sql = $zdbh->query("SELECT COUNT(*) AS total FROM x_accounts WHERE ac_enabled_in = 0")->Fetch(); $total_disabledaccounts = $sql['total']; // Total Disk space in use. $total_disk = "TODO"; // Total Bandwidth used this month $total_band = "TODO"; // Total CRON Jobs $sql = $zdbh->query("SELECT COUNT(*) AS total FROM x_cronjobs WHERE ct_deleted_ts IS NULL")->Fetch(); $total_crons = $sql['total']; // Total FTP accounts $sql = $zdbh->query("SELECT COUNT(*) AS total FROM x_ftpaccounts WHERE ft_deleted_ts IS NULL")->Fetch(); $total_ftpaccounts = $sql['total']; // Total FTP accounts $sql = $zdbh->query("SELECT COUNT(*) AS total FROM x_mysql_databases WHERE my_deleted_ts IS NULL")->Fetch(); $total_mysql = $sql['total']; // Total hosting packages $sql = $zdbh->query("SELECT COUNT(*) AS total FROM x_packages WHERE pk_deleted_ts IS NULL")->Fetch(); $total_packages = $sql['total']; // Total VHOSTS $sql = $zdbh->query("SELECT COUNT(*) AS total FROM x_vhosts WHERE vh_deleted_ts IS NULL")->Fetch(); $total_vhosts = $sql['total']; $response_xml = ws_xmws::NewXMLContentSection('stats', array('zpanelusers' => $total_accounts, 'activezpanelusers' => $total_activeaccounts, 'disabledzpanelusers' => $total_disabledaccounts, 'diskspaceused' => $total_disk, 'bandwidthused' => $total_band, 'cronjobs' => $total_crons, 'ftpaccounts' => $total_ftpaccounts, 'mysqldatabases' => $total_mysql, 'hostingpackages' => $total_packages, 'vhosts' => $total_vhosts)); $dataobject = new runtime_dataobject(); $dataobject->addItemValue('response', ''); $dataobject->addItemValue('content', $response_xml); return $dataobject->getDataObject(); }
/** * Delete one or multiple DNS records * Mandatory parameters: uid and domainName * Optional parameters: hostName, record type, target * The meaning of parameters is same as in CreateDNSRecord() */ public function DeleteDNSRecords() { global $zdbh; $request_data = $this->RawXMWSToArray($this->wsdata); $response_xml = "\n"; $tags = array('hostName' => 'dn_host_vc', 'type' => 'dn_type_vc', 'target' => 'dn_target_vc'); // these are mandatory parameters $uid = ws_generic::GetTagValue('uid', $request_data['content']); $domainName = ws_generic::GetTagValue('domainName', $request_data['content']); $domainID = self::GetDomainID($uid, $domainName); $sqlstr = "SELECT * FROM x_dns WHERE dn_acc_fk=:userid AND vh_deleted_ts IS NULL AND dn_vhost_fk=:domainID "; // iterate through optional parameters foreach ($tags as $tag => $sql_param) { if (!is_null(ws_generic::GetTagValue($tag, $request_data['content']))) { $sqlstr .= " AND " . $sql_param . '=:' . $tag; } } $sql = $zdbh->prepare($sqlstr); $sql->bindParam(':userid', $uid); $sql->bindParam(':domainID', $domainID); $params = array(); foreach ($tags as $tag => $sql_param) { if (!is_null($params[$tag] = ws_generic::GetTagValue($tag, $request_data['content']))) { $sql->bindParam(":" . $tag, $params[$tag]); } } $sql->execute(); while ($rowdns = $sql->fetch()) { $response_xml = $response_xml . ws_xmws::NewXMLContentSection('dns_record', array('hostName' => $rowdns['dn_host_vc'], 'type' => $rowdns['dn_type_vc'], 'target' => $rowdns['dn_target_vc'], 'ttl' => $rowdns['dn_ttl_in'], 'deleted' => 'true')); $sql2 = $zdbh->prepare("UPDATE x_dns SET dn_deleted_ts=:time WHERE dn_id_pk =:id AND dn_deleted_ts IS NULL"); $sql2->bindParam(':id', $rowdns['dn_id_pk']); $time = time(); $sql2->bindParam(':time', $time); $sql2->execute(); } module_controller::TriggerDNSUpdate($domainID); $dataobject = new runtime_dataobject(); $dataobject->addItemValue('response', ''); $dataobject->addItemValue('content', $response_xml); return $dataobject->getDataObject(); }