/** * @action execute * @param int $id * @param KalturaKeyValueArray $params * @return KalturaReportResponse */ public function executeAction($id, KalturaKeyValueArray $params = null) { $dbReport = ReportPeer::retrieveByPK($id); if (is_null($dbReport)) { throw new KalturaAPIException(KalturaErrors::REPORT_NOT_FOUND, $id); } $query = $dbReport->getQuery(); $this->addPartnerIdToParams($params); $execParams = KalturaReportHelper::getValidateExecutionParameters($dbReport, $params); $kReportsManager = new kReportManager($dbReport); list($columns, $rows) = $kReportsManager->execute($execParams); $reportResponse = KalturaReportResponse::fromColumnsAndRows($columns, $rows); return $reportResponse; }
/** * @action executeDebug * @param int $id * @param KalturaKeyValueArray $params * @return KalturaReportResponse */ function executeDebugAction($id, KalturaKeyValueArray $params = null) { $dbReport = ReportPeer::retrieveByPK($id); if (is_null($dbReport)) { throw new KalturaAPIException(KalturaErrors::REPORT_NOT_FOUND, $id); } $query = $dbReport->getQuery(); $matches = null; $execParams = KalturaReportHelper::getValidateExecutionParameters($dbReport, $params); try { $kReportsManager = new kReportManager($dbReport); list($columns, $rows) = $kReportsManager->execute($execParams); } catch (Exception $ex) { KalturaLog::err($ex); KalturaLog::info('Rethrowing KalturaAPIException with the exception details'); throw new KalturaAPIException(KalturaErrors::INTERNAL_SERVERL_ERROR_DEBUG, $ex->getMessage()); } $reportResponse = KalturaReportResponse::fromColumnsAndRows($columns, $rows); return $reportResponse; }