/** * Delete live channel segment by id * * @action delete * @param int $id * * @throws KalturaErrors::LIVE_CHANNEL_SEGMENT_ID_NOT_FOUND */ function deleteAction($id) { $dbLiveChannelSegment = LiveChannelSegmentPeer::retrieveByPK($id); if (!$dbLiveChannelSegment) { throw new KalturaAPIException(KalturaErrors::LIVE_CHANNEL_SEGMENT_ID_NOT_FOUND, $id); } $dbLiveChannelSegment->setStatus(LiveChannelSegmentStatus::DELETED); $dbLiveChannelSegment->save(); }
public function updateStatus() { if ($this->getStatus() == entryStatus::READY) { return; } if ($this->getPlaylistId() || LiveChannelSegmentPeer::countByChannelId($this->getId())) { $this->setStatus(entryStatus::READY); } else { $this->setStatus(entryStatus::NO_CONTENT); } }
public function getListResponse(KalturaFilterPager $pager, KalturaDetachedResponseProfile $responseProfile = null) { $liveChannelSegmentFilter = $this->toObject(); $c = new Criteria(); $liveChannelSegmentFilter->attachToCriteria($c); $totalCount = LiveChannelSegmentPeer::doCount($c); $pager->attachToCriteria($c); $dbList = LiveChannelSegmentPeer::doSelect($c); $list = KalturaLiveChannelSegmentArray::fromDbArray($dbList, $responseProfile); $response = new KalturaLiveChannelSegmentListResponse(); $response->objects = $list; $response->totalCount = $totalCount; return $response; }
/** * If this collection has already been initialized with * an identical criteria, it returns the collection. * Otherwise if this LiveChannelSegment is new, it will return * an empty collection; or if this LiveChannelSegment has previously * been saved, it will retrieve related LiveChannelSegmentsRelatedByTriggerSegmentId from storage. * * This method is protected by default in order to keep the public * api reasonable. You can provide public methods for those you * actually need in LiveChannelSegment. */ public function getLiveChannelSegmentsRelatedByTriggerSegmentIdJoinentryRelatedByEntryId($criteria = null, $con = null, $join_behavior = Criteria::LEFT_JOIN) { if ($criteria === null) { $criteria = new Criteria(LiveChannelSegmentPeer::DATABASE_NAME); } elseif ($criteria instanceof Criteria) { $criteria = clone $criteria; } if ($this->collLiveChannelSegmentsRelatedByTriggerSegmentId === null) { if ($this->isNew()) { $this->collLiveChannelSegmentsRelatedByTriggerSegmentId = array(); } else { $criteria->add(LiveChannelSegmentPeer::TRIGGER_SEGMENT_ID, $this->id); $this->collLiveChannelSegmentsRelatedByTriggerSegmentId = LiveChannelSegmentPeer::doSelectJoinentryRelatedByEntryId($criteria, $con, $join_behavior); } } else { // the following code is to determine if a new query is // called for. If the criteria is the same as the last // one, just return the collection. $criteria->add(LiveChannelSegmentPeer::TRIGGER_SEGMENT_ID, $this->id); if (!isset($this->lastLiveChannelSegmentRelatedByTriggerSegmentIdCriteria) || !$this->lastLiveChannelSegmentRelatedByTriggerSegmentIdCriteria->equals($criteria)) { $this->collLiveChannelSegmentsRelatedByTriggerSegmentId = LiveChannelSegmentPeer::doSelectJoinentryRelatedByEntryId($criteria, $con, $join_behavior); } } $this->lastLiveChannelSegmentRelatedByTriggerSegmentIdCriteria = $criteria; return $this->collLiveChannelSegmentsRelatedByTriggerSegmentId; }
/** * Retrieve multiple objects by pkey. * * @param array $pks List of primary keys * @param PropelPDO $con the connection to use * @throws PropelException Any exceptions caught during processing will be * rethrown wrapped into a PropelException. */ public static function retrieveByPKs($pks, PropelPDO $con = null) { $objs = null; if (empty($pks)) { $objs = array(); } else { $criteria = new Criteria(LiveChannelSegmentPeer::DATABASE_NAME); $criteria->add(LiveChannelSegmentPeer::ID, $pks, Criteria::IN); $objs = LiveChannelSegmentPeer::doSelect($criteria, $con); } return $objs; }
/** * Counts segements by channel id * * @param string $channelId * @return int */ public static function countByChannelId($channelId) { $criteria = new Criteria(); $criteria->add(LiveChannelSegmentPeer::CHANNEL_ID, $channelId); return LiveChannelSegmentPeer::doCount($criteria); }