コード例 #1
0
 public function __construct($dns_zone_id = false, $user_id = false, $offset = false, $limit = false, $sort_by = false, $order = false)
 {
     $result = array();
     if ($offset !== false) {
         $this->setOffset((int) $offset);
     }
     if ($limit !== false) {
         $this->setLimit((int) $limit);
     }
     if ($sort_by !== false) {
         $this->setSortBy($sort_by);
     }
     if ($order !== false) {
         $this->SetOrder($order);
     }
     // initialize $total_count with the total number of objects in the list (over all pages)
     try {
         $stmt = DB::getInstance()->prepare("SELECT COUNT(*) as total_count\n\t\t\t\t\t\t\t\t\t\t\t\t\tFROM dns_ressource_records\n\t\t\t\t\t\t\t\t\t\t\t\t\tWHERE\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t(dns_zone_id = :dns_zone_id OR :dns_zone_id=0) AND\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t(user_id = :user_id OR :user_id=0)");
         $stmt->bindParam(':dns_zone_id', $dns_zone_id, PDO::PARAM_INT);
         $stmt->bindParam(':user_id', $user_id, PDO::PARAM_INT);
         $stmt->execute();
         $total_count = $stmt->fetch(PDO::FETCH_ASSOC);
     } catch (PDOException $e) {
         echo $e->getMessage();
         echo $e->getTraceAsString();
     }
     $this->setTotalCount((int) $total_count['total_count']);
     //if limit -1 then get all ressource records
     if ($this->getLimit() == -1) {
         $this->setLimit($this->getTotalCount());
     }
     try {
         $stmt = DB::getInstance()->prepare("SELECT id as dns_ressource_record_id\n\t\t\t\t\t\t\t\t\t\t\t\t\tFROM dns_ressource_records\n\t\t\t\t\t\t\t\t\t\t\t\t\tWHERE\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t(dns_zone_id = :dns_zone_id OR :dns_zone_id=0) AND\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t(user_id = :user_id OR :user_id=0)\n\t\t\t\t\t\t\t\t\t\t\t\t\tORDER BY\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcase :sort_by\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\twhen 'dns_ressource_record_id' then dns_ressource_records.id\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\twhen 'dns_zone_id' then dns_ressource_records.dns_zone_id\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\twhen 'user_id' then dns_ressource_records.user_id\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\telse NULL\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tend\n\t\t\t\t\t\t\t\t\t\t\t\t\t" . $this->getOrder() . "\n\t\t\t\t\t\t\t\t\t\t\t\t\tLIMIT :offset, :limit");
         $stmt->bindParam(':dns_zone_id', $dns_zone_id, PDO::PARAM_INT);
         $stmt->bindParam(':user_id', $user_id, PDO::PARAM_INT);
         $stmt->bindParam(':offset', $this->getOffset(), PDO::PARAM_INT);
         $stmt->bindParam(':limit', $this->getLimit(), PDO::PARAM_INT);
         $stmt->bindParam(':sort_by', $this->getSortBy(), PDO::PARAM_STR);
         $stmt->execute();
         $result = $stmt->fetchAll(PDO::FETCH_ASSOC);
     } catch (PDOException $e) {
         echo $e->getMessage();
         echo $e->getTraceAsString();
     }
     foreach ($result as $dns_ressource_record) {
         $dns_ressource_record = new DnsRessourceRecord((int) $dns_ressource_record['dns_ressource_record_id']);
         $dns_ressource_record->fetch();
         $this->dns_ressource_record_list[] = $dns_ressource_record;
     }
 }
コード例 #2
0
ファイル: Service.class.php プロジェクト: wAmpIre/netmon
 public function setDnsRessourceRecordList($itemlist = false)
 {
     if ($itemlist instanceof DnsRessourceRecordList) {
         $this->dns_ressource_record_list = $itemlist;
         return true;
     } elseif (is_array($itemlist)) {
         $dns_ressource_record_list = new DnsRessourceRecordList(false, false, 0, 0);
         foreach ($itemlist as $dns_ressource_record_id) {
             $dns_ressource_record = new DnsRessourceRecord((int) $dns_ressource_record_id);
             if ($dns_ressource_record->fetch()) {
                 $dns_ressource_record_list->add($dns_ressource_record);
             }
         }
         $this->setDnsRessourceRecordList($dns_ressource_record_list);
         return true;
     } elseif ($itemlist == false and $this->getServiceId() != 0) {
         $result = array();
         try {
             $stmt = DB::getInstance()->prepare("SELECT dns_ressource_record_id\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tFROM service_dns_ressource_records\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tWHERE service_id = ?");
             $stmt->execute(array($this->getServiceId()));
             $result = $stmt->fetchAll(PDO::FETCH_ASSOC);
         } catch (PDOException $e) {
             echo $e->getMessage();
             echo $e->getTraceAsString();
         }
         $dns_ressource_record_list = new DnsRessourceRecordList(false, false, 0, 0);
         foreach ($result as $dns_ressource_record_id) {
             $dns_ressource_record = new DnsRessourceRecord((int) $dns_ressource_record_id['dns_ressource_record_id']);
             if ($dns_ressource_record->fetch()) {
                 $dns_ressource_record_list->add($dns_ressource_record);
             }
         }
         $this->setDnsRessourceRecordList($dns_ressource_record_list);
         return true;
     }
     return false;
 }
コード例 #3
0
    } else {
        Permission::denyAccess(PERM_USER);
    }
} elseif ($_GET['section'] == 'insert_add') {
    if (Permission::checkPermission(PERM_USER)) {
        $dns_ressource_record = new DnsRessourceRecord(false, (int) $_POST['dns_zone_id'], (int) $_SESSION['user_id'], $_POST['host'], $_POST['type'], $_POST['pri'], (int) $_POST['destination']);
        if ($dns_ressource_record->store()) {
            $message[] = array('Der Ressource Record ' . $dns_ressource_record->getHost() . ' wurde gespeichert.', 1);
        } else {
            $message[] = array('Der Ressource Record konnte nicht gespeichert werden.', 2);
        }
        Message::setMessage($message);
        header('Location: ./dns_zone.php?dns_zone_id=' . $_POST['dns_zone_id']);
    } else {
        Permission::denyAccess(PERM_USER);
    }
} elseif ($_GET['section'] == 'delete') {
    $dns_ressource_record = new DnsRessourceRecord((int) $_GET['dns_ressource_record_id']);
    $dns_ressource_record->fetch();
    if (permission::checkIfUserIsOwnerOrPermitted(PERM_ROOT, $dns_ressource_record->getUserId())) {
        if ($dns_ressource_record->delete()) {
            $message[] = array('Der Ressource Record ' . $dns_ressource_record->getHost() . ' wurde gelöscht.', 1);
        } else {
            $message[] = array('Der Ressource Record ' . $dns_ressource_record->getHost() . ' konnte nicht gelöscht werden.', 2);
        }
        Message::setMessage($message);
        header('Location: ./dns_zone.php?dns_zone_id=' . $dns_ressource_record->getDnsZoneId());
    } else {
        Permission::denyAccess(PERM_ROOT, $dns_ressource_record->getUserId());
    }
}
コード例 #4
0
ファイル: api.php プロジェクト: wAmpIre/netmon
 private function dns_ressource_record()
 {
     if ($this->get_request_method() == "GET" && isset($this->_request['id'])) {
         $dns_ressource_record = new DnsRessourceRecord((int) $this->_request['id']);
         if ($dns_ressource_record->fetch()) {
             $domxmldata = $dns_ressource_record->getDomXMLElement($this->domxml);
             $this->response($this->finishxml($domxmldata), 200);
         } else {
             $this->error_code = 1;
             $this->error_message = "DNS Ressource Record not found";
             $this->response($this->finishxml(), 404);
         }
     }
 }