Пример #1
0
 public function exportCsvAction()
 {
     $this->_helper->layout->disableLayout();
     $this->_helper->viewRenderer->setNoRender();
     $request = $this->getRequest();
     $from = $this->_getParam('from_date', $this->getDefaultFromDate());
     $to = $this->_getParam('to_date', $this->getDefaultToDate());
     $client = Infra_ClientHelper::getClient();
     if ($client->getKs() == null) {
         $client->setKs(self::generateKs());
     }
     $form = new Form_PartnerUsageFilter();
     $form->populate($request->getParams());
     // init filters
     $partnerFilter = $this->getPartnerFilterFromForm($form);
     $usageFilter = new Kaltura_Client_Type_ReportInputFilter();
     $usageFilter->fromDate = DateTime::createFromFormat('m/d/Y', $from)->getTimestamp();
     $usageFilter->toDate = DateTime::createFromFormat('m/d/Y', $to)->getTimestamp();
     $usageFilter->timeZoneOffset = Infra_AuthHelper::getAuthInstance()->getIdentity()->getTimezoneOffset();
     if ($form->getElement('interval')->getValue()) {
         $usageFilter->interval = $form->getElement('interval')->getValue() == 'daily' ? Kaltura_Client_Enum_ReportInterval::DAYS : Kaltura_Client_Enum_ReportInterval::MONTHS;
     }
     $pager = new Kaltura_Client_Type_FilterPager();
     $pager->pageIndex = 1;
     $pager->pageSize = 500;
     $varConsolePlugin = Kaltura_Client_VarConsole_Plugin::get($client);
     $items = array();
     while (true) {
         $response = $varConsolePlugin->varConsole->getPartnerUsage($partnerFilter, $usageFilter, $pager);
         if (count($response->objects) <= 0) {
             break;
         }
         foreach ($response->objects as &$object) {
             $items[] = $object;
         }
         $pager->pageIndex++;
     }
     $format = $this->view->translate('csv date');
     $fileName = 'Usage report ' . $from . ' to ' . $to . '.csv';
     header('Content-type: text/csv');
     header('Content-Disposition: attachment; filename="' . $fileName . '"');
     // echo the csv header
     echo $this->view->translate('partner-usage table timeUnit'), ',', $this->view->translate('partner-usage table partnerStatus'), ',', $this->view->translate('partner-usage table partnerName'), ',', $this->view->translate('partner-usage table partnerId'), ',', $this->view->translate('partner-usage table partnerCreatedAt'), ',', $this->view->translate('partner-usage table bandwidth'), ',', $this->view->translate('partner-usage table averageStorage'), ',', $this->view->translate('partner-usage table peakStorage'), ',', $this->view->translate('partner-usage table storage'), ',', $this->view->translate('partner-usage table deletedStorage'), ',', $this->view->translate('partner-usage table combinedBandwidthStorage'), "\r\n";
     // echo the csv data
     foreach ($items as $item) {
         $d = new Zend_Date($item->partnerCreatedAt);
         $dateId = strlen($item->dateId) == 6 ? DateTime::createFromFormat("Ym", $item->dateId) : DateTime::createFromFormat("Ymd", $item->dateId);
         echo strlen($item->dateId) == 6 ? $dateId->format("M Y") : $dateId->format("d M Y"), ',', $this->view->enumTranslate('Kaltura_Client_Enum_PartnerStatus', $item->partnerStatus), ',', $item->partnerName, ',', $item->partnerId, ',', '"', $d->toString(Zend_Date::DATE_LONG), '",', (int) $item->bandwidth, ',', (int) $item->avgStorage, ',', (int) $item->peakStorage, ',', (int) $item->storage, ',', (int) $item->deletedStorage, ',', (int) $item->combinedStorageBandwidth, ',', "\r\n";
     }
 }
Пример #2
0
 public function exportCsvAction()
 {
     $this->_helper->layout->disableLayout();
     $this->_helper->viewRenderer->setNoRender();
     $request = $this->getRequest();
     $from = new Zend_Date($this->_getParam('from_date', $this->getDefaultFromDate()));
     $to = new Zend_Date($this->_getParam('to_date', $this->getDefaultToDate()));
     $client = Infra_ClientHelper::getClient();
     if ($client->getKs() == null) {
         $client->setKs(self::generateKs());
     }
     $form = new Form_PartnerUsageFilter();
     $form->populate($request->getParams());
     // init filters
     $partnerFilter = $this->getPartnerFilterFromForm($form);
     $usageFilter = new Kaltura_Client_SystemPartner_Type_SystemPartnerUsageFilter();
     $usageFilter->fromDate = $from->toString(Zend_Date::TIMESTAMP);
     $usageFilter->toDate = $to->toString(Zend_Date::TIMESTAMP);
     $pager = new Kaltura_Client_Type_FilterPager();
     $pager->pageIndex = 1;
     $pager->pageSize = 500;
     $items = array();
     while (true) {
         $systemPartnerPlugin = Kaltura_Client_SystemPartner_Plugin::get($client);
         $response = $systemPartnerPlugin->systemPartner->getUsage($partnerFilter, $usageFilter, $pager);
         if (count($response->objects) <= 0) {
             break;
         }
         foreach ($response->objects as &$object) {
             $items[] = $object;
         }
         $pager->pageIndex++;
     }
     $format = $this->view->translate('csv date');
     $fileName = 'Usage report ' . $from->toString($format) . ' to ' . $to->toString($format) . '.csv';
     header('Content-type: text/csv');
     header('Content-Disposition: attachment; filename="' . $fileName . '"');
     // echo the csv header
     echo $this->view->translate('partner-usage table partnerStatus'), ',', $this->view->translate('partner-usage table partnerName'), ',', $this->view->translate('partner-usage table partnerId'), ',', $this->view->translate('partner-usage table partnerCreatedAt'), ',', $this->view->translate('partner-usage table partnerPackage'), ',', $this->view->translate('partner-usage table views'), ',', $this->view->translate('partner-usage table plays'), ',', $this->view->translate('partner-usage table entriesCount'), ',', $this->view->translate('partner-usage table totalEntriesCount'), ',', $this->view->translate('partner-usage table videoEntriesCount'), ',', $this->view->translate('partner-usage table imagesEntriesCount'), ',', $this->view->translate('partner-usage table audioEntriesCount'), ',', $this->view->translate('partner-usage table mixEntriesCount'), ',', $this->view->translate('partner-usage table bandwidth'), ',', $this->view->translate('partner-usage table storage'), ',', $this->view->translate('partner-usage table deletedStorage'), ',', $this->view->translate('partner-usage table peakStorage'), ',', $this->view->translate('partner-usage table averageStorage'), ',', $this->view->translate('partner-usage table combinedBandwidthStorage'), ',', $this->view->translate('partner-usage table transcodingUsage'), "\r\n";
     // echo the csv data
     foreach ($items as $item) {
         $d = new Zend_Date($item->partnerCreatedAt);
         echo $this->view->enumTranslate('KalturaPartnerStatus', $item->partnerStatus), ',', $item->partnerName, ',', $item->partnerId, ',', '"', $d->toString(Zend_Date::DATE_LONG), '",', $this->view->translate($this->view->packageNameById($item->partnerPackage)), ',', (int) $item->views, ',', (int) $item->plays, ',', (int) $item->entriesCount, ',', (int) $item->totalEntriesCount, ',', (int) $item->videoEntriesCount, ',', (int) $item->imageEntriesCount, ',', (int) $item->audioEntriesCount, ',', (int) $item->mixEntriesCount, ',', (int) $item->bandwidth, ',', (int) $item->storage, ',', (int) $item->deletedStorage, ',', (int) $item->peakStorage, ',', (int) $item->avgStorage, ',', (int) $item->combinedBandwidthStorage, ',', (int) $item->transcodingUsage, "\r\n";
     }
 }