/**
  * @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;
 }
Пример #2
0
 /**
  * @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;
 }