public function getData(kHttpNotificationDispatchJobData $jobData = null) { $coreObject = unserialize($this->coreObject); $apiObject = new $this->apiObjectType(); /* @var $apiObject KalturaObject */ $apiObject->fromObject($coreObject); $httpNotificationTemplate = EventNotificationTemplatePeer::retrieveByPK($jobData->getTemplateId()); $notification = new KalturaHttpNotification(); $notification->object = $apiObject; $notification->eventObjectType = kPluginableEnumsManager::coreToApi('EventNotificationEventObjectType', $httpNotificationTemplate->getObjectType()); $notification->eventNotificationJobId = $jobData->getJobId(); $notification->templateId = $httpNotificationTemplate->getId(); $notification->templateName = $httpNotificationTemplate->getName(); $notification->templateSystemName = $httpNotificationTemplate->getSystemName(); $notification->eventType = $httpNotificationTemplate->getEventType(); $data = ''; switch ($this->format) { case KalturaResponseType::RESPONSE_TYPE_XML: $serializer = new KalturaXmlSerializer($this->ignoreNull); $data = '<notification>' . $serializer->serialize($notification) . '</notification>'; break; case KalturaResponseType::RESPONSE_TYPE_PHP: $serializer = new KalturaPhpSerializer($this->ignoreNull); $data = $serializer->serialize($notification); break; case KalturaResponseType::RESPONSE_TYPE_JSON: $serializer = new KalturaJsonSerializer($this->ignoreNull); $data = $serializer->serialize($notification); break; } return "data={$data}"; }
public function serializeResponse($object, $ignoreNull = false) { $start = microtime(true); KalturaLog::debug("Serialize start"); $format = isset($this->params["format"]) ? $this->params["format"] : KalturaResponseType::RESPONSE_TYPE_XML; switch ($format) { case KalturaResponseType::RESPONSE_TYPE_XML: header("Content-Type: text/xml"); $serializer = new KalturaXmlSerializer($ignoreNull); $serializer->serialize($object); echo '<?xml version="1.0" encoding="utf-8"?>'; echo "<xml>"; echo "<result>"; echo $serializer->getSerializedData(); echo "</result>"; echo "<executionTime>" . ($this->end - $this->start) . "</executionTime>"; echo "</xml>"; break; case KalturaResponseType::RESPONSE_TYPE_PHP: $serializer = new KalturaPhpSerializer($ignoreNull); $serializer->serialize($object); echo $serializer->getSerializedData(); break; case KalturaResponseType::RESPONSE_TYPE_JSON: header("Content-Type: application/json"); $serializer = new KalturaJsonSerializer($ignoreNull); $serializer->serialize($object); echo $serializer->getSerializedData(); break; case KalturaResponseType::RESPONSE_TYPE_JSONP: $callback = isset($_GET["callback"]) ? $_GET["callback"] : null; if (is_null($callback)) { die("Expecting \"callback\" parameter for jsonp format"); } header("Content-Type: application/javascript"); $serializer = new KalturaJsonSerializer($ignoreNull); $serializer->serialize($object); $response = array(); echo $callback, "(", $serializer->getSerializedData(), ");"; break; } KalturaLog::debug("Serialize took - " . (microtime(true) - $start)); }