Ejemplo n.º 1
0
 function fetch_domains()
 {
     log_write("debug", "api_namedmanager", "Executing fetch_domains()");
     if ($this->auth_online) {
         $obj_domain = new domain();
         $obj_domain->load_data_all();
         if ($obj_domain->data) {
             foreach ($obj_domain->data as $data) {
                 // If the domain does not belong to the same group as the name server, skip it.
                 if ($this->auth_group) {
                     if (!in_array($this->auth_group, $data["groups"])) {
                         continue;
                     }
                 }
                 // add domain to values to be returned
                 $return_tmp = array();
                 $return_tmp["id"] = $data["id"];
                 $return_tmp["domain_name"] = $data["domain_name"];
                 $return_tmp["domain_description"] = $data["domain_description"];
                 $return_tmp["soa_hostmaster"] = $data["soa_hostmaster"];
                 $return_tmp["soa_serial"] = $data["soa_serial"];
                 $return_tmp["soa_refresh"] = $data["soa_refresh"];
                 $return_tmp["soa_retry"] = $data["soa_retry"];
                 $return_tmp["soa_expire"] = $data["soa_expire"];
                 $return_tmp["soa_default_ttl"] = $data["soa_default_ttl"];
                 $return_tmp["soa_ns_primary"] = sql_get_singlevalue("SELECT server_name as value FROM name_servers WHERE server_primary='1' LIMIT 1");
                 $return[] = $return_tmp;
             }
             return $return;
         }
         return 0;
     } else {
         throw new SoapFault("Sender", "ACCESS_DENIED");
     }
 }
Ejemplo n.º 2
0
 function action_delete()
 {
     log_debug("name_server", "Executing action_delete()");
     /*
     	Start Transaction
     */
     $sql_obj = new sql_query();
     $sql_obj->trans_begin();
     /*
     	Delete Name Server
     */
     $sql_obj->string = "DELETE FROM name_servers WHERE id='" . $this->id . "' LIMIT 1";
     $sql_obj->execute();
     $sql_obj->string = "DELETE FROM cloud_zone_map WHERE id='" . $this->id . "'";
     $sql_obj->execute();
     /*
     	Un-associated any matched log entries
     */
     $sql_obj->string = "UPDATE logs SET id_server='0' WHERE id_server='" . $this->id . "'";
     $sql_obj->execute();
     /*
     	Update NS records
     
     	We need to run through all the domains and update the records - if the nameserver was an automated entry for all the domains,
     	after deleting the name server we should remove it from all the domains.
     */
     $obj_domain = new domain();
     $obj_domain->load_data_all();
     foreach ($obj_domain->data as $data_domain) {
         $obj_domain_sub = new domain();
         $obj_domain_sub->id = $data_domain["id"];
         $obj_domain_sub->load_data();
         $obj_domain_sub->action_update_ns();
         $obj_domain_sub->action_update_serial();
     }
     /*
     	Commit
     */
     if (error_check()) {
         $sql_obj->trans_rollback();
         log_write("error", "name_server", "An error occured whilst trying to delete the name server.");
         return 0;
     } else {
         $sql_obj->trans_commit();
         log_write("notification", "name_server", "Name server has been successfully deleted.");
         return 1;
     }
 }