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; }
/** * 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.")); } }
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; }