/**
  * @param string $class class name of the core object
  * @return KalturaEventCondition
  */
 public static function getInstanceByClass($class)
 {
     if ($class == kEventFieldCondition) {
         return new KalturaEventFieldCondition();
     }
     return KalturaPluginManager::loadObject('KalturaEventCondition', $class);
 }
Example #2
0
 public function doFromObject($dbData, KalturaDetachedResponseProfile $responseProfile = null)
 {
     /* @var $dbData kIndexJobData */
     $filter = $dbData->getFilter();
     $filterType = get_class($filter);
     switch ($filterType) {
         case 'entryFilter':
             $this->filter = new KalturaBaseEntryFilter();
             break;
         case 'categoryFilter':
             $this->filter = new KalturaCategoryFilter();
             break;
         case 'categoryEntryFilter':
             $this->filter = new KalturaCategoryEntryFilter();
             break;
         case 'categoryKuserFilter':
             $this->filter = new KalturaCategoryUserFilter();
             break;
         case 'kuserFilter':
             $this->filter = new KalturaUserFilter();
             break;
         default:
             $this->filter = KalturaPluginManager::loadObject('KalturaFilter', $filterType);
     }
     if ($this->filter) {
         $this->filter->fromObject($filter);
     }
     parent::doFromObject($dbData, $responseProfile);
 }
Example #3
0
 /**
  * @param int $type of enum geoCoderType
  * @return kGeoCoder
  */
 public static function getGeoCoder($type = null)
 {
     if (!$type || $type == geoCoderType::KALTURA) {
         return new myIPGeocoder();
     }
     return KalturaPluginManager::loadObject('kGeoCoder', $type);
 }
 public function fromObject($dbData)
 {
     /* @var $dbData kCopyJobData */
     $filter = $dbData->getFilter();
     $filterType = get_class($filter);
     switch ($filterType) {
         case 'entryFilter':
             $this->filter = new KalturaBaseEntryFilter();
             $this->templateObject = new KalturaBaseEntry();
             break;
         case 'categoryFilter':
             $this->filter = new KalturaCategoryFilter();
             $this->templateObject = new KalturaCategory();
             break;
         case 'categoryEntryFilter':
             $this->filter = new KalturaCategoryEntryFilter();
             $this->templateObject = new KalturaCategoryEntry();
             break;
         case 'categoryKuserFilter':
             $this->filter = new KalturaCategoryUserFilter();
             $this->templateObject = new KalturaCategoryUser();
             break;
         default:
             $this->filter = KalturaPluginManager::loadObject('KalturaFilter', $filterType);
     }
     if ($this->filter) {
         $this->filter->fromObject($filter);
     }
     if ($this->templateObject) {
         $this->templateObject->fromObject($dbData->getTemplateObject());
     }
     return parent::fromObject($dbData);
 }
Example #5
0
 /**
  * @param int $type
  * @param KSchedularTaskConfig $taskConfig
  * @param KalturaConvartableJobData $data
  * @return KOperationEngine
  */
 protected static function createNewEngine($type, KSchedularTaskConfig $taskConfig, KalturaConvartableJobData $data)
 {
     // TODO - remove after old version deprecated
     if (!$data->flavorParamsOutput->engineVersion) {
         return new KOperationEngineOldVersionWrapper($type, $taskConfig, $data);
     }
     switch ($type) {
         case KalturaConversionEngineType::MENCODER:
             return new KOperationEngineMencoder($taskConfig->params->mencderCmd, $data->destFileSyncLocalPath);
         case KalturaConversionEngineType::ON2:
             return new KOperationEngineFlix($taskConfig->params->on2Cmd, $data->destFileSyncLocalPath);
         case KalturaConversionEngineType::FFMPEG:
             return new KOperationEngineFfmpeg($taskConfig->params->ffmpegCmd, $data->destFileSyncLocalPath);
         case KalturaConversionEngineType::FFMPEG_AUX:
             return new KOperationEngineFfmpegAux($taskConfig->params->ffmpegAuxCmd, $data->destFileSyncLocalPath);
         case KalturaConversionEngineType::FFMPEG_VP8:
             return new KOperationEngineFfmpegVp8($taskConfig->params->ffmpegVp8Cmd, $data->destFileSyncLocalPath);
         case KalturaConversionEngineType::ENCODING_COM:
             return new KOperationEngineEncodingCom($taskConfig->params->EncodingComUserId, $taskConfig->params->EncodingComUserKey, $taskConfig->params->EncodingComUrl);
     }
     if ($data instanceof KalturaConvertCollectionJobData) {
         $engine = self::getCollectionEngine($type, $taskConfig, $data);
         if ($engine) {
             return $engine;
         }
     }
     $engine = KalturaPluginManager::loadObject('KOperationEngine', $type, array('params' => $taskConfig->params, 'outFilePath' => $data->destFileSyncLocalPath));
     return $engine;
 }
 public static function fromDbArray($arr, KalturaDetachedResponseProfile $responseProfile = null)
 {
     $newArr = new KalturaEventNotificationParameterArray();
     if ($arr == null) {
         return $newArr;
     }
     foreach ($arr as $obj) {
         $parameterType = get_class($obj);
         switch ($parameterType) {
             case 'kEventNotificationParameter':
                 $nObj = new KalturaEventNotificationParameter();
                 break;
             case 'kEventNotificationArrayParameter':
                 $nObj = new KalturaEventNotificationArrayParameter();
                 break;
             default:
                 $nObj = KalturaPluginManager::loadObject('KalturaEventNotificationParameter', $parameterType);
         }
         if ($nObj) {
             $nObj->fromObject($obj, $responseProfile);
             $newArr[] = $nObj;
         }
     }
     return $newArr;
 }
Example #7
0
 /**
  * @param int $type
  * @param bool $isAdmin
  * @return KalturaBaseEntry
  */
 static function getInstanceByType($type, $isAdmin = false)
 {
     switch ($type) {
         case KalturaEntryType::MEDIA_CLIP:
             $obj = new KalturaMediaEntry();
             break;
         case KalturaEntryType::MIX:
             $obj = new KalturaMixEntry();
             break;
         case KalturaEntryType::PLAYLIST:
             $obj = new KalturaPlaylist();
             break;
         case KalturaEntryType::DATA:
             $obj = new KalturaDataEntry();
             break;
         case KalturaEntryType::LIVE_STREAM:
             if ($isAdmin) {
                 $obj = new KalturaLiveStreamAdminEntry();
             } else {
                 $obj = new KalturaLiveStreamEntry();
             }
             break;
         case KalturaEntryType::LIVE_CHANNEL:
             $obj = new KalturaLiveChannel();
             break;
         default:
             $obj = KalturaPluginManager::loadObject('KalturaBaseEntry', $type);
             if (!$obj) {
                 $obj = new KalturaBaseEntry();
             }
             break;
     }
     return $obj;
 }
Example #8
0
 static function getInstanceByDbObject(kCondition $dbObject)
 {
     switch ($dbObject->getType()) {
         case ConditionType::AUTHENTICATED:
             return new KalturaAuthenticatedCondition();
         case ConditionType::COUNTRY:
             return new KalturaCountryCondition();
         case ConditionType::IP_ADDRESS:
             return new KalturaIpAddressCondition();
         case ConditionType::SITE:
             return new KalturaSiteCondition();
         case ConditionType::USER_AGENT:
             return new KalturaUserAgentCondition();
         case ConditionType::FIELD_COMPARE:
             return new KalturaFieldCompareCondition();
         case ConditionType::FIELD_MATCH:
             return new KalturaFieldMatchCondition();
         case ConditionType::ASSET_PROPERTIES_COMPARE:
             return new KalturaAssetPropertiesCompareCondition();
         case ConditionType::USER_ROLE:
             return new KalturaUserRoleCondition();
         case ConditionType::GEO_DISTANCE:
             return new KalturaGeoDistanceCondition();
         case ConditionType::OR_OPERATOR:
             return new KalturaOrCondition();
         case ConditionType::HASH:
             return new KalturaHashCondition();
         case ConditionType::DELIVERY_PROFILE:
             return new KalturaDeliveryProfileCondition();
         case ConditionType::ACTIVE_EDGE_VALIDATE:
             return new KalturaValidateActiveEdgeCondition();
         default:
             return KalturaPluginManager::loadObject('KalturaCondition', $dbObject->getType());
     }
 }
 /**
  * List all distribution providers
  * 
  * @action list
  * @param KalturaDistributionProviderFilter $filter
  * @param KalturaFilterPager $pager
  * @return KalturaDistributionProviderListResponse
  */
 function listAction(KalturaDistributionProviderFilter $filter = null, KalturaFilterPager $pager = null)
 {
     if (!$filter) {
         $filter = new KalturaDistributionProviderFilter();
     }
     $c = new Criteria();
     if ($filter instanceof KalturaGenericDistributionProviderFilter) {
         $genericDistributionProviderFilter = new GenericDistributionProviderFilter();
         $filter->toObject($genericDistributionProviderFilter);
         $genericDistributionProviderFilter->attachToCriteria($c);
     }
     $count = GenericDistributionProviderPeer::doCount($c);
     if (!$pager) {
         $pager = new KalturaFilterPager();
     }
     $pager->attachToCriteria($c);
     $list = GenericDistributionProviderPeer::doSelect($c);
     $response = new KalturaDistributionProviderListResponse();
     $response->objects = KalturaDistributionProviderArray::fromDbArray($list, $this->getResponseProfile());
     $response->totalCount = $count;
     $syndicationProvider = new KalturaSyndicationDistributionProvider();
     $syndicationProvider->fromObject(SyndicationDistributionProvider::get());
     $response->objects[] = $syndicationProvider;
     $response->totalCount++;
     $pluginInstances = KalturaPluginManager::getPluginInstances('IKalturaContentDistributionProvider');
     foreach ($pluginInstances as $pluginInstance) {
         $provider = $pluginInstance->getKalturaProvider();
         if ($provider) {
             $response->objects[] = $provider;
             $response->totalCount++;
         }
     }
     return $response;
 }
 public function doFromObject($dbObject, KalturaDetachedResponseProfile $responseProfile = null)
 {
     /* @var $dbObject kHttpNotificationDataText */
     parent::doFromObject($dbObject, $responseProfile);
     if ($this->shouldGet('content', $responseProfile)) {
         $contentType = get_class($dbObject->getContent());
         KalturaLog::debug("Loading KalturaStringValue from type [{$contentType}]");
         switch ($contentType) {
             case 'kStringValue':
                 $this->content = new KalturaStringValue();
                 break;
             case 'kEvalStringField':
                 $this->content = new KalturaEvalStringField();
                 break;
             default:
                 $this->content = KalturaPluginManager::loadObject('KalturaStringValue', $contentType);
                 break;
         }
         if ($this->content) {
             $this->content->fromObject($dbObject->getContent());
         }
     }
     if ($this->shouldGet('data', $responseProfile)) {
         $this->data = $dbObject->getData();
     }
 }
 /**
  * Add bulk upload job
  * @param DropFolder $folder
  * @param DropFolderFile $leadDropFolderFile
  * @throws Exception
  */
 private function addXMLBulkUploadJob(DropFolder $folder, DropFolderFile $leadDropFolderFile)
 {
     /* @var $leadDropFolderFile FeedDropFolderFile */
     KalturaLog::info('Adding BulkUpload job');
     try {
         $coreBulkUploadType = BulkUploadXmlPlugin::getBulkUploadTypeCoreValue(BulkUploadXmlType::XML);
         $objectId = $leadDropFolderFile->getId();
         $objectType = DropFolderXmlBulkUploadPlugin::getBatchJobObjectTypeCoreValue(DropFolderBatchJobObjectType::DROP_FOLDER_FILE);
         $partner = PartnerPeer::retrieveByPK($folder->getPartnerId());
         $data = KalturaPluginManager::loadObject('kBulkUploadJobData', $coreBulkUploadType);
         /* @var $data kBulkUploadJobData */
         $data->setUploadedBy(kDropFolderXmlEventsConsumer::UPLOADED_BY);
         KalturaLog::info("Feed XML path: " . $leadDropFolderFile->getFeedXmlPath());
         $data->setFilePath($leadDropFolderFile->getFeedXmlPath());
         $data->setFileName(basename($data->getFilePath()) . '.xml');
         $objectData = new kBulkUploadEntryData();
         KalturaLog::info('Conversion profile id: ' . $folder->getConversionProfileId());
         $objectData->setConversionProfileId($folder->getConversionProfileId());
         $data->setObjectData($objectData);
         $job = kJobsManager::addBulkUploadJob($partner, $data, $coreBulkUploadType, $objectId, $objectType);
         $this->setFileToProcessing($leadDropFolderFile);
         return $job;
     } catch (Exception $e) {
         KalturaLog::err("Error adding BulkUpload job -" . $e->getMessage());
         throw new Exception(DropFolderXmlBulkUploadPlugin::ERROR_ADDING_BULK_UPLOAD_MESSAGE, DropFolderXmlBulkUploadPlugin::getErrorCodeCoreValue(DropFolderXmlBulkUploadErrorCode::ERROR_ADDING_BULK_UPLOAD));
     }
 }
 public function doFromObject($dbObject, KalturaDetachedResponseProfile $responseProfile = null)
 {
     parent::doFromObject($dbObject, $responseProfile);
     /* @var $dbObject kEmailNotificationCategoryRecipientProvider */
     $categoryIdFieldType = get_class($dbObject->getCategoryId());
     KalturaLog::info("Retrieving API object for categoryId fild of type [{$categoryIdFieldType}]");
     switch ($categoryIdFieldType) {
         case 'kObjectIdField':
             $this->categoryId = new KalturaObjectIdField();
             break;
         case 'kEvalStringField':
             $this->categoryId = new KalturaEvalStringField();
             break;
         case 'kStringValue':
             $this->categoryId = new KalturaStringValue();
             break;
         default:
             $this->categoryId = KalturaPluginManager::loadObject('KalturaStringValue', $categoryIdFieldType);
             break;
     }
     if ($this->categoryId) {
         $this->categoryId->fromObject($dbObject->getCategoryId());
     }
     if ($dbObject->getCategoryUserFilter()) {
         $this->categoryUserFilter = new KalturaCategoryUserProviderFilter();
         $this->categoryUserFilter->fromObject($dbObject->getCategoryUserFilter());
     }
 }
 /**
  * @return array<IKalturaMrssContributor>
  */
 public static function getMrssContributors()
 {
     if (self::$mrssContributors) {
         return self::$mrssContributors;
     }
     self::$mrssContributors = KalturaPluginManager::getPluginInstances('IKalturaMrssContributor');
     return self::$mrssContributors;
 }
Example #14
0
 /**
  * @param int $type
  * @return KalturaDrmDevice
  */
 static function getInstanceByType($provider)
 {
     $obj = KalturaPluginManager::loadObject('KalturaDrmDevice', $provider);
     if (!$obj) {
         $obj = new KalturaDrmDevice();
     }
     return $obj;
 }
Example #15
0
 /**
  * Function returns KalturaUserEntry sub-type according to protocol
  * @var string $type
  * @return KalturaUserEntry
  *
  */
 public static function getInstanceByType($type)
 {
     $obj = KalturaPluginManager::loadObject("KalturaUserEntry", $type);
     if (is_null($obj)) {
         KalturaLog::err("The type '{$type}' is unknown");
     }
     return $obj;
 }
 /**
  * Return a new instance of a class extending DropFolderFileHandler, according to give $type
  * @param KalturaDropFolderFileHandlerType $type
  * @return DropFolderFileHandler
  */
 public static function getHandler($type)
 {
     switch ($type) {
         case KalturaDropFolderFileHandlerType::CONTENT:
             return new DropFolderContentFileHandler();
         default:
             return KalturaPluginManager::loadObject('DropFolderFileHandler', $type);
     }
 }
Example #17
0
 /**
  * @return kStorageDeleteJobData
  */
 public static function getInstance($protocol)
 {
     $data = null;
     $data = KalturaPluginManager::loadObject('kStorageDeleteJobData', $protocol);
     if (!$data) {
         $data = new kStorageDeleteJobData();
     }
     return $data;
 }
 /**
  * @param int $objectType of enum KalturaCopyObjectType
  * @return KCopyingEngine
  */
 public static function getInstance($objectType)
 {
     switch ($objectType) {
         case KalturaCopyObjectType::CATEGORY_USER:
             return new KCopyingCategoryUserEngine();
         default:
             return KalturaPluginManager::loadObject('KCopyingEngine', $objectType);
     }
 }
 /**
  * @param int $objectType of enum KalturaRecalculateCacheType
  * @return KRecalculateCacheEngine
  */
 public static function getInstance($objectType)
 {
     switch ($objectType) {
         case KalturaRecalculateCacheType::RESPONSE_PROFILE:
             return new KRecalculateResponseProfileCacheEngine();
         default:
             return KalturaPluginManager::loadObject('KRecalculateCacheEngine', $objectType);
     }
 }
 /**
  * @param $type
  * @param KalturaClient $client
  * @return KObjectFilterEngineBase
  */
 public static function getInstanceByType($type, KalturaClient $client)
 {
     switch ($type) {
         case KalturaObjectFilterEngineType::ENTRY:
             return new KObjectFilterBaseEntryEngine($client);
         default:
             return KalturaPluginManager::loadObject('KObjectFilterEngineBase', $type, array($client));
     }
 }
Example #21
0
 /**
  * @param int $type
  * @return KalturaFlavorAsset
  */
 static function getInstanceByType($type = null)
 {
     if ($type && $type != KalturaAssetType::THUMBNAIL) {
         $pluginObj = KalturaPluginManager::loadObject('KalturaThumbAsset', $type);
         if ($pluginObj) {
             return $pluginObj;
         }
     }
     return new KalturaThumbAsset();
 }
 /**
  * @param KalturaCaptionType $type
  * @return kCaptionsContentManager
  */
 public static function getApiContentManager($type)
 {
     switch ($type) {
         case KalturaCaptionType::SRT:
             return srtCaptionsContentManager::get();
         case KalturaCaptionType::DFXP:
             return dfxpCaptionsContentManager::get();
         default:
             return KalturaPluginManager::loadObject('kCaptionsContentManager', $type);
     }
 }
Example #23
0
 protected function _loadTranslationData($data, $locale, array $options = array())
 {
     $translate = parent::_loadTranslationData($data, $locale, $options);
     $pluginInstances = KalturaPluginManager::getPluginInstances('IKalturaApplicationTranslations');
     foreach ($pluginInstances as $pluginInstance) {
         /* @var $pluginInstance IKalturaApplicationTranslations */
         $translations = $pluginInstance->getTranslations($locale);
         $translate = array_merge_recursive($translate, $translations);
     }
     return $translate;
 }
 /**
  * List thumb params output objects by filter and pager
  * 
  * @action list
  * @param KalturaThumbParamsOutputFilter $filter
  * @param KalturaFilterPager $pager
  * @return KalturaThumbParamsOutputListResponse
  */
 function listAction(KalturaThumbParamsOutputFilter $filter = null, KalturaFilterPager $pager = null)
 {
     if (!$filter) {
         $filter = new KalturaThumbParamsOutputFilter();
     }
     if (!$pager) {
         $pager = new KalturaFilterPager();
     }
     $types = KalturaPluginManager::getExtendedTypes(assetParamsOutputPeer::OM_CLASS, assetType::THUMBNAIL);
     return $filter->getTypeListResponse($pager, $this->getResponseProfile(), $types);
 }
 static function getInstanceByDbObject(kAccessControlAction $dbObject)
 {
     switch ($dbObject->getType()) {
         case accessControlActionType::BLOCK:
             return new KalturaAccessControlBlockAction();
         case accessControlActionType::PREVIEW:
             return new KalturaAccessControlPreviewAction();
         default:
             return KalturaPluginManager::loadObject('KalturaAccessControlAction', $dbObject->getType());
     }
 }
Example #26
0
 /**
  * Creates a new KalturaCriteria for the given object name
  * 
  * @param string $objectType object type to create Criteria for.
  * @return KalturaCriteria derived object
  */
 public static function create($objectType)
 {
     $pluginInstances = KalturaPluginManager::getPluginInstances('IKalturaCriteriaFactory');
     foreach ($pluginInstances as $pluginInstance) {
         $criteria = $pluginInstance->getKalturaCriteria($objectType);
         if ($criteria) {
             return $criteria;
         }
     }
     return new KalturaCriteria();
 }
Example #27
0
 public function getInstance($interface)
 {
     if ($this instanceof $interface) {
         return $this;
     }
     $plugin = KalturaPluginManager::getPluginInstance(MetadataPlugin::getPluginName());
     if ($plugin) {
         return $plugin->getInstance($interface);
     }
     return null;
 }
Example #28
0
 /**
  * @param string $type
  * @param string $filePath
  * @param KSchedularTaskConfig $taskConfig
  * @return KBaseMediaParser
  */
 public static function getParser($type, $filePath, KSchedularTaskConfig $taskConfig, KalturaBatchJob $job)
 {
     switch ($type) {
         case self::MEDIA_PARSER_TYPE_MEDIAINFO:
             return new KMediaInfoMediaParser($filePath, $taskConfig->params->mediaInfoCmd);
         case self::MEDIA_PARSER_TYPE_FFMPEG:
             return new KFFMpegMediaParser($filePath, $taskConfig->params->FFMpegCmd);
         default:
             return KalturaPluginManager::loadObject('KBaseMediaParser', $type, array($job, $taskConfig));
     }
 }
 public function initService($serviceId, $serviceName, $actionName)
 {
     parent::initService($serviceId, $serviceName, $actionName);
     parent::applyPartnerFilterForClass(new conversionProfile2Peer());
     parent::applyPartnerFilterForClass(new assetParamsOutputPeer());
     $fullActionName = "{$serviceName}.{$actionName}";
     if (!in_array($fullActionName, array('flavorAsset.getByEntryId', 'flavorAsset.getWebPlayableByEntryId', 'flavorAsset.list'))) {
         parent::applyPartnerFilterForClass(new assetPeer());
     }
     parent::applyPartnerFilterForClass(new assetParamsPeer());
     $this->mediaTypes = KalturaPluginManager::getExtendedTypes(entryPeer::OM_CLASS, KalturaEntryType::MEDIA_CLIP);
 }
Example #30
0
 /**
  * The returned Class will contain objects of the default type or
  * objects that inherit from the default.
  *
  * @param      array $row PropelPDO result row.
  * @param      int $colnum Column to examine for OM class information (first is 0).
  * @throws     PropelException Any exceptions caught during processing will be
  *		 rethrown wrapped into a PropelException.
  */
 public static function getOMClass($row, $colnum)
 {
     if ($row) {
         $typeField = self::translateFieldName(DrmKeyPeer::PROVIDER, BasePeer::TYPE_COLNAME, BasePeer::TYPE_NUM);
         $drmKeyType = $row[$typeField];
         $extendedCls = KalturaPluginManager::getObjectClass(parent::OM_CLASS, $drmKeyType);
         if ($extendedCls) {
             return $extendedCls;
         }
     }
     return parent::OM_CLASS;
 }