/** * @param int $streamChannelId * @param CM_File $archiveSource */ public function importVideoArchive($streamChannelId, CM_File $archiveSource) { $streamChannelArchive = new CM_Model_StreamChannelArchive_Video($streamChannelId); $archiveDestination = $streamChannelArchive->getVideo(); $archiveDestination->ensureParentDirectory(); $archiveSource->copyToFile($archiveDestination); }
public function testOnUnpublish() { $streamChannel = CMTest_TH::createStreamChannel(); $streamPublish = CMTest_TH::createStreamPublish(null, $streamChannel); $this->assertNull(CM_Model_StreamChannelArchive_Video::findById($streamChannel->getId())); $streamChannel->onUnpublish($streamPublish); $this->assertInstanceOf('CM_Model_StreamChannelArchive_Video', CM_Model_StreamChannelArchive_Video::findById($streamChannel->getId())); $streamChannel->onUnpublish($streamPublish); }
/** * @param CM_Model_StreamChannel_Video|null $streamChannel * @param CM_Model_User|null $user * @return CM_Model_StreamChannelArchive_Video */ public static function createStreamChannelVideoArchive(CM_Model_StreamChannel_Video $streamChannel = null, CM_Model_User $user = null) { if (is_null($streamChannel)) { $streamChannel = self::createStreamChannel(); self::createStreamPublish($user, $streamChannel); } if (!$streamChannel->hasStreamPublish()) { self::createStreamPublish($user, $streamChannel); } return CM_Model_StreamChannelArchive_Video::createStatic(array('streamChannel' => $streamChannel)); }
public function onUnpublish(CM_Model_Stream_Publish $streamPublish) { if (!CM_Model_StreamChannelArchive_Video::findById($this->getId())) { CM_Model_StreamChannelArchive_Video::createStatic(array('streamChannel' => $this)); } }
protected function _processItem($item) { return $this->_streamChannelArchive->getThumbnail($item); }
/** * @param CM_Model_StreamChannelArchive_Video $archive * @return CM_File[] */ private function _createArchiveFiles(CM_Model_StreamChannelArchive_Video $archive) { $files = array(); if ($archive->getThumbnailCount() > 0) { /** @var CM_File_UserContent $thumbnailFirst */ $thumbnailFirst = $archive->getThumbnails()->getItem(0); $thumbnailFirst->ensureParentDirectory(); $files[] = $thumbnailFirst->getParentDirectory(); } for ($i = 0; $i < $archive->getThumbnailCount(); $i++) { /** @var CM_File_UserContent $file */ $file = $archive->getThumbnails()->getItem($i); $file->write(''); $files[] = $file; } $video = $archive->getVideo(); $video->ensureParentDirectory(); $video->write(''); $files[] = $video; return $files; }