コード例 #1
0
ファイル: BaseDomain.php プロジェクト: royalterra/pdns-gui
 public function getRecords($criteria = null, $con = null)
 {
     include_once 'lib/model/om/BaseRecordPeer.php';
     if ($criteria === null) {
         $criteria = new Criteria();
     } elseif ($criteria instanceof Criteria) {
         $criteria = clone $criteria;
     }
     if ($this->collRecords === null) {
         if ($this->isNew()) {
             $this->collRecords = array();
         } else {
             $criteria->add(RecordPeer::DOMAIN_ID, $this->getId());
             RecordPeer::addSelectColumns($criteria);
             $this->collRecords = RecordPeer::doSelect($criteria, $con);
         }
     } else {
         if (!$this->isNew()) {
             $criteria->add(RecordPeer::DOMAIN_ID, $this->getId());
             RecordPeer::addSelectColumns($criteria);
             if (!isset($this->lastRecordCriteria) || !$this->lastRecordCriteria->equals($criteria)) {
                 $this->collRecords = RecordPeer::doSelect($criteria, $con);
             }
         }
     }
     $this->lastRecordCriteria = $criteria;
     return $this->collRecords;
 }
コード例 #2
0
ファイル: actions.class.php プロジェクト: royalterra/pdns-gui
 /**
  * Edit
  */
 public function executeEdit()
 {
     if ($this->isGET()) {
         return $this->renderJson(array("success" => false, "info" => "POST only."));
     } else {
         $ids = array();
         foreach ($this->getRequestParameter('record') as $data) {
             if (!($record = RecordPeer::retrieveByPK($data['id']))) {
                 $record = new Record();
                 $record->setDomainId($this->domain->getId());
             }
             $record->setName($data['name']);
             $record->setType($data['type']);
             $record->setContent($data['content']);
             $record->setTtl($data['ttl']);
             if ($data['type'] == 'MX' || $data['type'] == 'SRV') {
                 $record->setPrio($data['prio']);
             }
             $record->save();
             $ids[] = $record->getId();
         }
         $c = new Criteria();
         $c->add(RecordPeer::DOMAIN_ID, $this->domain->getId());
         $c->add(RecordPeer::ID, $ids, Criteria::NOT_IN);
         foreach (RecordPeer::doSelect($c) as $record) {
             $record->delete();
         }
         return $this->renderJson(array("success" => true, "info" => "Domain updated."));
     }
 }
コード例 #3
0
 public static function retrieveByPKs($pks, $con = null)
 {
     if ($con === null) {
         $con = Propel::getConnection(self::DATABASE_NAME);
     }
     $objs = null;
     if (empty($pks)) {
         $objs = array();
     } else {
         $criteria = new Criteria();
         $criteria->add(RecordPeer::ID, $pks, Criteria::IN);
         $objs = RecordPeer::doSelect($criteria, $con);
     }
     return $objs;
 }