/Classes/Kaltura/KalturaPlugins/KalturaDocumentClientPlugin.php

https://bitbucket.org/pixelant/kaltura · PHP · 467 lines · 315 code · 82 blank · 70 comment · 16 complexity · 6544d20ad5f0172f4de843a105ad893e MD5 · raw file

  1. <?php
  2. require_once(dirname(__FILE__) . "/../KalturaClientBase.php");
  3. require_once(dirname(__FILE__) . "/../KalturaEnums.php");
  4. require_once(dirname(__FILE__) . "/../KalturaTypes.php");
  5. class KalturaDocumentEntryOrderBy
  6. {
  7. const NAME_ASC = "+name";
  8. const NAME_DESC = "-name";
  9. const MODERATION_COUNT_ASC = "+moderationCount";
  10. const MODERATION_COUNT_DESC = "-moderationCount";
  11. const CREATED_AT_ASC = "+createdAt";
  12. const CREATED_AT_DESC = "-createdAt";
  13. const UPDATED_AT_ASC = "+updatedAt";
  14. const UPDATED_AT_DESC = "-updatedAt";
  15. const RANK_ASC = "+rank";
  16. const RANK_DESC = "-rank";
  17. const START_DATE_ASC = "+startDate";
  18. const START_DATE_DESC = "-startDate";
  19. const END_DATE_ASC = "+endDate";
  20. const END_DATE_DESC = "-endDate";
  21. const PARTNER_SORT_VALUE_ASC = "+partnerSortValue";
  22. const PARTNER_SORT_VALUE_DESC = "-partnerSortValue";
  23. }
  24. class KalturaDocumentFlavorParamsOrderBy
  25. {
  26. }
  27. class KalturaDocumentFlavorParamsOutputOrderBy
  28. {
  29. }
  30. class KalturaDocumentType
  31. {
  32. const DOCUMENT = 11;
  33. const SWF = 12;
  34. const PDF = 13;
  35. }
  36. class KalturaPdfFlavorParamsOrderBy
  37. {
  38. }
  39. class KalturaPdfFlavorParamsOutputOrderBy
  40. {
  41. }
  42. class KalturaSwfFlavorParamsOrderBy
  43. {
  44. }
  45. class KalturaSwfFlavorParamsOutputOrderBy
  46. {
  47. }
  48. class KalturaDocumentEntry extends KalturaBaseEntry
  49. {
  50. /**
  51. * The type of the document
  52. *
  53. * @var KalturaDocumentType
  54. * @insertonly
  55. */
  56. public $documentType = null;
  57. /**
  58. * Comma separated asset params ids that exists for this media entry
  59. *
  60. *
  61. * @var string
  62. * @readonly
  63. */
  64. public $assetParamsIds = null;
  65. }
  66. abstract class KalturaDocumentEntryBaseFilter extends KalturaBaseEntryFilter
  67. {
  68. /**
  69. *
  70. *
  71. * @var KalturaDocumentType
  72. */
  73. public $documentTypeEqual = null;
  74. /**
  75. *
  76. *
  77. * @var string
  78. */
  79. public $documentTypeIn = null;
  80. /**
  81. *
  82. *
  83. * @var string
  84. */
  85. public $assetParamsIdsMatchOr = null;
  86. /**
  87. *
  88. *
  89. * @var string
  90. */
  91. public $assetParamsIdsMatchAnd = null;
  92. }
  93. class KalturaDocumentEntryFilter extends KalturaDocumentEntryBaseFilter
  94. {
  95. }
  96. class KalturaDocumentListResponse extends KalturaObjectBase
  97. {
  98. /**
  99. *
  100. *
  101. * @var array of KalturaDocumentEntry
  102. * @readonly
  103. */
  104. public $objects;
  105. /**
  106. *
  107. *
  108. * @var int
  109. * @readonly
  110. */
  111. public $totalCount = null;
  112. }
  113. abstract class KalturaDocumentFlavorParamsBaseFilter extends KalturaFlavorParamsFilter
  114. {
  115. }
  116. abstract class KalturaDocumentFlavorParamsOutputBaseFilter extends KalturaFlavorParamsOutputFilter
  117. {
  118. }
  119. abstract class KalturaPdfFlavorParamsBaseFilter extends KalturaFlavorParamsFilter
  120. {
  121. }
  122. abstract class KalturaPdfFlavorParamsOutputBaseFilter extends KalturaFlavorParamsOutputFilter
  123. {
  124. }
  125. abstract class KalturaSwfFlavorParamsBaseFilter extends KalturaFlavorParamsFilter
  126. {
  127. }
  128. abstract class KalturaSwfFlavorParamsOutputBaseFilter extends KalturaFlavorParamsOutputFilter
  129. {
  130. }
  131. class KalturaDocumentFlavorParamsFilter extends KalturaDocumentFlavorParamsBaseFilter
  132. {
  133. }
  134. class KalturaDocumentFlavorParamsOutputFilter extends KalturaDocumentFlavorParamsOutputBaseFilter
  135. {
  136. }
  137. class KalturaPdfFlavorParamsFilter extends KalturaPdfFlavorParamsBaseFilter
  138. {
  139. }
  140. class KalturaPdfFlavorParamsOutputFilter extends KalturaPdfFlavorParamsOutputBaseFilter
  141. {
  142. }
  143. class KalturaSwfFlavorParamsFilter extends KalturaSwfFlavorParamsBaseFilter
  144. {
  145. }
  146. class KalturaSwfFlavorParamsOutputFilter extends KalturaSwfFlavorParamsOutputBaseFilter
  147. {
  148. }
  149. class KalturaDocumentFlavorParamsOutput extends KalturaFlavorParamsOutput
  150. {
  151. }
  152. class KalturaDocumentFlavorParams extends KalturaFlavorParams
  153. {
  154. }
  155. class KalturaPdfFlavorParamsOutput extends KalturaFlavorParamsOutput
  156. {
  157. /**
  158. *
  159. *
  160. * @var bool
  161. */
  162. public $readonly = null;
  163. }
  164. class KalturaPdfFlavorParams extends KalturaFlavorParams
  165. {
  166. /**
  167. *
  168. *
  169. * @var bool
  170. */
  171. public $readonly = null;
  172. }
  173. class KalturaSwfFlavorParamsOutput extends KalturaFlavorParamsOutput
  174. {
  175. }
  176. class KalturaSwfFlavorParams extends KalturaFlavorParams
  177. {
  178. }
  179. class KalturaDocumentsService extends KalturaServiceBase
  180. {
  181. function __construct(KalturaClient $client = null)
  182. {
  183. parent::__construct($client);
  184. }
  185. function addFromUploadedFile(KalturaDocumentEntry $documentEntry, $uploadTokenId)
  186. {
  187. $kparams = array();
  188. $this->client->addParam($kparams, "documentEntry", $documentEntry->toParams());
  189. $this->client->addParam($kparams, "uploadTokenId", $uploadTokenId);
  190. $this->client->queueServiceActionCall("document_documents", "addFromUploadedFile", $kparams);
  191. if ($this->client->isMultiRequest())
  192. return $this->client->getMultiRequestResult();
  193. $resultObject = $this->client->doQueue();
  194. $this->client->throwExceptionIfError($resultObject);
  195. $this->client->validateObjectType($resultObject, "KalturaDocumentEntry");
  196. return $resultObject;
  197. }
  198. function addFromEntry($sourceEntryId, KalturaDocumentEntry $documentEntry = null, $sourceFlavorParamsId = null)
  199. {
  200. $kparams = array();
  201. $this->client->addParam($kparams, "sourceEntryId", $sourceEntryId);
  202. if ($documentEntry !== null)
  203. $this->client->addParam($kparams, "documentEntry", $documentEntry->toParams());
  204. $this->client->addParam($kparams, "sourceFlavorParamsId", $sourceFlavorParamsId);
  205. $this->client->queueServiceActionCall("document_documents", "addFromEntry", $kparams);
  206. if ($this->client->isMultiRequest())
  207. return $this->client->getMultiRequestResult();
  208. $resultObject = $this->client->doQueue();
  209. $this->client->throwExceptionIfError($resultObject);
  210. $this->client->validateObjectType($resultObject, "KalturaDocumentEntry");
  211. return $resultObject;
  212. }
  213. function addFromFlavorAsset($sourceFlavorAssetId, KalturaDocumentEntry $documentEntry = null)
  214. {
  215. $kparams = array();
  216. $this->client->addParam($kparams, "sourceFlavorAssetId", $sourceFlavorAssetId);
  217. if ($documentEntry !== null)
  218. $this->client->addParam($kparams, "documentEntry", $documentEntry->toParams());
  219. $this->client->queueServiceActionCall("document_documents", "addFromFlavorAsset", $kparams);
  220. if ($this->client->isMultiRequest())
  221. return $this->client->getMultiRequestResult();
  222. $resultObject = $this->client->doQueue();
  223. $this->client->throwExceptionIfError($resultObject);
  224. $this->client->validateObjectType($resultObject, "KalturaDocumentEntry");
  225. return $resultObject;
  226. }
  227. function convert($entryId, $conversionProfileId = null, array $dynamicConversionAttributes = null)
  228. {
  229. $kparams = array();
  230. $this->client->addParam($kparams, "entryId", $entryId);
  231. $this->client->addParam($kparams, "conversionProfileId", $conversionProfileId);
  232. if ($dynamicConversionAttributes !== null)
  233. foreach($dynamicConversionAttributes as $index => $obj)
  234. {
  235. $this->client->addParam($kparams, "dynamicConversionAttributes:$index", $obj->toParams());
  236. }
  237. $this->client->queueServiceActionCall("document_documents", "convert", $kparams);
  238. if ($this->client->isMultiRequest())
  239. return $this->client->getMultiRequestResult();
  240. $resultObject = $this->client->doQueue();
  241. $this->client->throwExceptionIfError($resultObject);
  242. $this->client->validateObjectType($resultObject, "integer");
  243. return $resultObject;
  244. }
  245. function get($entryId, $version = -1)
  246. {
  247. $kparams = array();
  248. $this->client->addParam($kparams, "entryId", $entryId);
  249. $this->client->addParam($kparams, "version", $version);
  250. $this->client->queueServiceActionCall("document_documents", "get", $kparams);
  251. if ($this->client->isMultiRequest())
  252. return $this->client->getMultiRequestResult();
  253. $resultObject = $this->client->doQueue();
  254. $this->client->throwExceptionIfError($resultObject);
  255. $this->client->validateObjectType($resultObject, "KalturaDocumentEntry");
  256. return $resultObject;
  257. }
  258. function update($entryId, KalturaDocumentEntry $documentEntry)
  259. {
  260. $kparams = array();
  261. $this->client->addParam($kparams, "entryId", $entryId);
  262. $this->client->addParam($kparams, "documentEntry", $documentEntry->toParams());
  263. $this->client->queueServiceActionCall("document_documents", "update", $kparams);
  264. if ($this->client->isMultiRequest())
  265. return $this->client->getMultiRequestResult();
  266. $resultObject = $this->client->doQueue();
  267. $this->client->throwExceptionIfError($resultObject);
  268. $this->client->validateObjectType($resultObject, "KalturaDocumentEntry");
  269. return $resultObject;
  270. }
  271. function delete($entryId)
  272. {
  273. $kparams = array();
  274. $this->client->addParam($kparams, "entryId", $entryId);
  275. $this->client->queueServiceActionCall("document_documents", "delete", $kparams);
  276. if ($this->client->isMultiRequest())
  277. return $this->client->getMultiRequestResult();
  278. $resultObject = $this->client->doQueue();
  279. $this->client->throwExceptionIfError($resultObject);
  280. $this->client->validateObjectType($resultObject, "null");
  281. return $resultObject;
  282. }
  283. function listAction(KalturaDocumentEntryFilter $filter = null, KalturaFilterPager $pager = null)
  284. {
  285. $kparams = array();
  286. if ($filter !== null)
  287. $this->client->addParam($kparams, "filter", $filter->toParams());
  288. if ($pager !== null)
  289. $this->client->addParam($kparams, "pager", $pager->toParams());
  290. $this->client->queueServiceActionCall("document_documents", "list", $kparams);
  291. if ($this->client->isMultiRequest())
  292. return $this->client->getMultiRequestResult();
  293. $resultObject = $this->client->doQueue();
  294. $this->client->throwExceptionIfError($resultObject);
  295. $this->client->validateObjectType($resultObject, "KalturaDocumentListResponse");
  296. return $resultObject;
  297. }
  298. function upload($fileData)
  299. {
  300. $kparams = array();
  301. $kfiles = array();
  302. $this->client->addParam($kfiles, "fileData", $fileData);
  303. $this->client->queueServiceActionCall("document_documents", "upload", $kparams, $kfiles);
  304. if ($this->client->isMultiRequest())
  305. return $this->client->getMultiRequestResult();
  306. $resultObject = $this->client->doQueue();
  307. $this->client->throwExceptionIfError($resultObject);
  308. $this->client->validateObjectType($resultObject, "string");
  309. return $resultObject;
  310. }
  311. function convertPptToSwf($entryId)
  312. {
  313. $kparams = array();
  314. $this->client->addParam($kparams, "entryId", $entryId);
  315. $this->client->queueServiceActionCall("document_documents", "convertPptToSwf", $kparams);
  316. if ($this->client->isMultiRequest())
  317. return $this->client->getMultiRequestResult();
  318. $resultObject = $this->client->doQueue();
  319. $this->client->throwExceptionIfError($resultObject);
  320. $this->client->validateObjectType($resultObject, "string");
  321. return $resultObject;
  322. }
  323. function serve($entryId, $flavorAssetId = null, $forceProxy = false)
  324. {
  325. $kparams = array();
  326. $this->client->addParam($kparams, "entryId", $entryId);
  327. $this->client->addParam($kparams, "flavorAssetId", $flavorAssetId);
  328. $this->client->addParam($kparams, "forceProxy", $forceProxy);
  329. $this->client->queueServiceActionCall('document_documents', 'serve', $kparams);
  330. $resultObject = $this->client->getServeUrl();
  331. return $resultObject;
  332. }
  333. function serveByFlavorParamsId($entryId, $flavorParamsId = null, $forceProxy = false)
  334. {
  335. $kparams = array();
  336. $this->client->addParam($kparams, "entryId", $entryId);
  337. $this->client->addParam($kparams, "flavorParamsId", $flavorParamsId);
  338. $this->client->addParam($kparams, "forceProxy", $forceProxy);
  339. $this->client->queueServiceActionCall('document_documents', 'serveByFlavorParamsId', $kparams);
  340. $resultObject = $this->client->getServeUrl();
  341. return $resultObject;
  342. }
  343. }
  344. class KalturaDocumentClientPlugin extends KalturaClientPlugin
  345. {
  346. /**
  347. * @var KalturaDocumentClientPlugin
  348. */
  349. protected static $instance;
  350. /**
  351. * @var KalturaDocumentsService
  352. */
  353. public $documents = null;
  354. protected function __construct(KalturaClient $client)
  355. {
  356. parent::__construct($client);
  357. $this->documents = new KalturaDocumentsService($client);
  358. }
  359. /**
  360. * @return KalturaDocumentClientPlugin
  361. */
  362. public static function get(KalturaClient $client)
  363. {
  364. if(!self::$instance)
  365. self::$instance = new KalturaDocumentClientPlugin($client);
  366. return self::$instance;
  367. }
  368. /**
  369. * @return array<KalturaServiceBase>
  370. */
  371. public function getServices()
  372. {
  373. $services = array(
  374. 'documents' => $this->documents,
  375. );
  376. return $services;
  377. }
  378. /**
  379. * @return string
  380. */
  381. public function getName()
  382. {
  383. return 'document';
  384. }
  385. }