Example #1
0
 /**
  * Resets a user's ZPanel account password. Requires <uid> and <newpassword> tags.
  * @return type 
  */
 function ResetUserPassword()
 {
     $contenttags = $this->XMLDataToArray($this->wsdata);
     $dataobject = new runtime_dataobject();
     $dataobject->addItemValue('response', '');
     if (module_controller::UpdatePassword($contenttags['xmws']['content']['uid'], $contenttags['xmws']['content']['newpassword'])) {
         $dataobject->addItemValue('content', ws_xmws::NewXMLTag('uid', $contenttags['xmws']['content']['uid']) . ws_xmws::NewXMLTag('reset', 'true'));
     } else {
         $dataobject->addItemValue('content', ws_xmws::NewXMLTag('uid', $contenttags['xmws']['content']['uid']) . ws_xmws::NewXMLTag('reset', 'false'));
     }
     return $dataobject->getDataObject();
 }
 /**
  * Delete a specified domain using the content <domainid> tag to pass the domain DB ID through.
  * @return type 
  */
 public function DeleteDomain()
 {
     $request_data = $this->RawXMWSToArray($this->wsdata);
     $contenttags = $this->XMLDataToArray($request_data['content']);
     $dataobject = new runtime_dataobject();
     $dataobject->addItemValue('response', '');
     if (module_controller::ExecuteDeleteDomain($contenttags['domainid'])) {
         $dataobject->addItemValue('content', ws_xmws::NewXMLTag('domainid', $contenttags['domainid']) . ws_xmws::NewXMLTag('deleted', 'true'));
     } else {
         $dataobject->addItemValue('content', ws_xmws::NewXMLTag('domainid', $contenttags['domainid']) . ws_xmws::NewXMLTag('deleted', 'false'));
     }
     return $dataobject->getDataObject();
 }
Example #3
0
 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();
 }
 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();
 }
Example #5
0
 /**
  * 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();
 }
Example #6
0
 /**
  * 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();
 }
Example #7
0
 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();
 }
Example #9
0
 function getCSRFToken()
 {
     $dataobject = new runtime_dataobject();
     $dataobject->addItemValue('response', '');
     $request_data = $this->XMLDataToArray($this->wsdata);
     $ctags = $request_data['xmws']['content'];
     if ($ctags["auto-login-enabled"]) {
         $dataobject->addItemValue('content', ws_xmws::NewXMLTag('csrf_token', htmlentities(module_controller::getCSFR_Tag())));
     } else {
         $dataobject->addItemValue('content', ws_xmws::NewXMLTag('csrf_token', "false"));
     }
     return $dataobject->getDataObject();
 }
Example #10
0
 /**
  *   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();
 }