Download core/ReportRenderer/Csv.php from Leon4gr45/matomo: direct link, hf CLI and curl.
- Browser
- Download file 4.42 kB
-
https://huggingface.co/spaces/Leon4gr45/matomo/resolve/main/core/ReportRenderer/Csv.php
- Command line
-
hf download hf://spaces/Leon4gr45/matomo/core/ReportRenderer/Csv.php
-
curl -L -o Csv.php https://huggingface.co/spaces/Leon4gr45/matomo/resolve/main/core/ReportRenderer/Csv.php
4.42 kB
| /** | |
| * Matomo - free/libre analytics platform | |
| * | |
| * @link https://matomo.org | |
| * @license https://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later | |
| */ | |
| namespace Piwik\ReportRenderer; | |
| use Piwik\DataTable\DataTableInterface; | |
| use Piwik\DataTable\Renderer\Csv as CsvDataTableRenderer; | |
| use Piwik\Piwik; | |
| use Piwik\ReportRenderer; | |
| /** | |
| * CSV report renderer | |
| */ | |
| class Csv extends ReportRenderer | |
| { | |
| /** | |
| * @var string | |
| */ | |
| protected $rendered; | |
| /** | |
| * Initialize locale settings. | |
| * If not called, locale settings defaults to 'en' | |
| * | |
| * @param string $locale | |
| */ | |
| public function setLocale($locale) | |
| { | |
| return; | |
| } | |
| /** | |
| * Save rendering to disk | |
| * | |
| * @param string $filename without path & without format extension | |
| * @return string path of file | |
| */ | |
| public function sendToDisk($filename) | |
| { | |
| return ReportRenderer::writeFile( | |
| $filename, | |
| ReportRenderer::CSV_FORMAT, | |
| $this->getRenderedReport() | |
| ); | |
| } | |
| /** | |
| * Send rendering to browser with a 'download file' prompt | |
| * | |
| * @param string $filename without path & without format extension | |
| */ | |
| public function sendToBrowserDownload($filename) | |
| { | |
| ReportRenderer::sendToBrowser( | |
| $filename, | |
| ReportRenderer::CSV_FORMAT, | |
| "text/" . ReportRenderer::CSV_FORMAT, | |
| $this->getRenderedReport() | |
| ); | |
| } | |
| /** | |
| * Output rendering to browser | |
| * | |
| * @param string $filename without path & without format extension | |
| */ | |
| public function sendToBrowserInline($filename) | |
| { | |
| ReportRenderer::sendToBrowser( | |
| $filename, | |
| ReportRenderer::CSV_FORMAT, | |
| "application/" . ReportRenderer::CSV_FORMAT, | |
| $this->getRenderedReport() | |
| ); | |
| } | |
| /** | |
| * Get rendered report | |
| */ | |
| public function getRenderedReport() | |
| { | |
| return $this->rendered; | |
| } | |
| /** | |
| * Generate the first page. | |
| * | |
| * @param string $reportTitle | |
| * @param string $prettyDate formatted date | |
| * @param string $description | |
| * @param array $reportMetadata metadata for all reports | |
| * @param array $segment segment applied to all reports | |
| */ | |
| public function renderFrontPage($reportTitle, $prettyDate, $description, $reportMetadata, $segment) | |
| { | |
| return; | |
| } | |
| /** | |
| * Render the provided report. | |
| * Multiple calls to this method before calling getRenderedReport appends each report content. | |
| * | |
| * @param array $processedReport @see API::getProcessedReport() | |
| */ | |
| public function renderReport($processedReport) | |
| { | |
| $csvRenderer = $this->getRenderer( | |
| $processedReport['reportData'], | |
| $processedReport['metadata']['uniqueId'] | |
| ); | |
| $reportData = $csvRenderer->render($processedReport); | |
| if (empty($reportData)) { | |
| $reportData = $csvRenderer->formatValue(Piwik::translate('CoreHome_ThereIsNoDataForThisReport')); | |
| } | |
| $reportName = $csvRenderer->formatValue($processedReport['metadata']['name']); | |
| $this->rendered .= implode( | |
| '', | |
| array( | |
| $reportName, | |
| $csvRenderer->lineEnd, | |
| $reportData, | |
| $csvRenderer->lineEnd, | |
| $csvRenderer->lineEnd, | |
| ) | |
| ); | |
| } | |
| /** | |
| * @param string $uniqueId | |
| * @return \Piwik\DataTable\Renderer\Csv | |
| */ | |
| protected function getRenderer(DataTableInterface $table, $uniqueId) | |
| { | |
| $csvRenderer = new CsvDataTableRenderer(); | |
| $csvRenderer->setIdSite($this->idSite); | |
| $csvRenderer->setTable($table); | |
| $csvRenderer->setConvertToUnicode(false); | |
| $csvRenderer->setApiMethod( | |
| $this->getApiMethodNameFromUniqueId($uniqueId) | |
| ); | |
| return $csvRenderer; | |
| } | |
| /** | |
| * @param $uniqueId | |
| * @return string | |
| */ | |
| protected function getApiMethodNameFromUniqueId($uniqueId) | |
| { | |
| return str_replace("_", ".", $uniqueId); | |
| } | |
| /** | |
| * Get report attachments, ex. graph images | |
| * | |
| * @param $report | |
| * @param $processedReports | |
| * @param $prettyDate | |
| * @return array | |
| */ | |
| public function getAttachments($report, $processedReports, $prettyDate) | |
| { | |
| return array(); | |
| } | |
| } | |