update Piwik to version 2.16 (fixes #91)

This commit is contained in:
oliver 2016-04-10 18:55:57 +02:00
commit d885a4baa9
5833 changed files with 418860 additions and 226988 deletions

View file

@ -1,6 +1,6 @@
<?php
/**
* Piwik - Open source web analytics
* Piwik - free/libre analytics platform
*
* @link http://piwik.org
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
@ -10,6 +10,7 @@ namespace Piwik\ReportRenderer;
use Piwik\Common;
use Piwik\Filesystem;
use Piwik\NumberFormatter;
use Piwik\Piwik;
use Piwik\Plugins\API\API;
use Piwik\ReportRenderer;
@ -19,11 +20,9 @@ use Piwik\TCPDF;
* @see libs/tcpdf
*/
require_once PIWIK_INCLUDE_PATH . '/plugins/ScheduledReports/config/tcpdf_config.php';
require_once PIWIK_INCLUDE_PATH . '/libs/tcpdf/config/lang/eng.php';
require_once PIWIK_INCLUDE_PATH . '/core/TCPDF.php';
/**
*
* PDF report renderer
*/
class Pdf extends ReportRenderer
{
@ -75,7 +74,7 @@ class Pdf extends ReportRenderer
private $reportColumns;
private $reportRowsMetadata;
private $currentPage = 0;
private $reportFont = ReportRenderer::DEFAULT_REPORT_FONT;
private $reportFont = ReportRenderer::DEFAULT_REPORT_FONT_FAMILY;
private $TCPDF;
private $orientation = self::PORTRAIT;
@ -92,7 +91,16 @@ class Pdf extends ReportRenderer
public function setLocale($locale)
{
// WARNING
// To make Piwik release smaller, we're deleting some fonts from the Piwik build package.
// If you change this code below, make sure that the fonts are NOT deleted from the Piwik package:
// https://github.com/piwik/piwik-package/blob/master/scripts/build-package.sh
switch ($locale) {
case 'bn':
case 'hi':
$reportFont = 'freesans';
break;
case 'zh-tw':
$reportFont = 'msungstdlight';
break;
@ -110,20 +118,30 @@ class Pdf extends ReportRenderer
break;
case 'ar':
$reportFont = 'almohanad';
$reportFont = 'aealarabiya';
break;
case 'am':
case 'ta':
case 'th':
$reportFont = 'freeserif';
break;
case 'te':
// not working with bundled fonts
case 'en':
default:
$reportFont = ReportRenderer::DEFAULT_REPORT_FONT;
$reportFont = ReportRenderer::DEFAULT_REPORT_FONT_FAMILY;
break;
}
// WARNING: Did you read the warning above?
$this->reportFont = $reportFont;
}
public function sendToDisk($filename)
{
$filename = ReportRenderer::appendExtension($filename, self::PDF_CONTENT_TYPE);
$filename = ReportRenderer::makeFilenameWithExtension($filename, self::PDF_CONTENT_TYPE);
$outputFilename = ReportRenderer::getOutputPath($filename);
$this->TCPDF->Output($outputFilename, 'F');
@ -133,13 +151,13 @@ class Pdf extends ReportRenderer
public function sendToBrowserDownload($filename)
{
$filename = ReportRenderer::appendExtension($filename, self::PDF_CONTENT_TYPE);
$filename = ReportRenderer::makeFilenameWithExtension($filename, self::PDF_CONTENT_TYPE);
$this->TCPDF->Output($filename, 'D');
}
public function sendToBrowserInline($filename)
{
$filename = ReportRenderer::appendExtension($filename, self::PDF_CONTENT_TYPE);
$filename = ReportRenderer::makeFilenameWithExtension($filename, self::PDF_CONTENT_TYPE);
$this->TCPDF->Output($filename, 'I');
}
@ -185,7 +203,6 @@ class Pdf extends ReportRenderer
// segment
if ($segment != null) {
$this->TCPDF->Ln();
$this->TCPDF->Ln();
$this->TCPDF->SetFont($this->reportFont, '', $this->reportHeaderFontSize - 2);
@ -328,7 +345,7 @@ class Pdf extends ReportRenderer
$this->TCPDF->SetTextColor($this->reportTextColor[0], $this->reportTextColor[1], $this->reportTextColor[2]);
$this->TCPDF->SetFont('');
$fill = false;
$fill = true;
$url = false;
$leftSpacesBeforeLogo = str_repeat(' ', $this->leftSpacesBeforeLogo);
@ -389,7 +406,7 @@ class Pdf extends ReportRenderer
if (empty($rowMetrics[$columnId])) {
$rowMetrics[$columnId] = 0;
}
$this->TCPDF->Cell($this->cellWidth, $this->cellHeight, $rowMetrics[$columnId], 'LR', 0, 'L', $fill);
$this->TCPDF->Cell($this->cellWidth, $this->cellHeight, NumberFormatter::getInstance()->format($rowMetrics[$columnId]), 'LR', 0, 'L', $fill);
}
}
@ -461,7 +478,7 @@ class Pdf extends ReportRenderer
&& $columnsCount <= 3
) {
$totalWidth = $this->reportWidthPortrait * 2 / 3;
} else if ($this->orientation == self::LANDSCAPE) {
} elseif ($this->orientation == self::LANDSCAPE) {
$totalWidth = $this->reportWidthLandscape;
} else {
$totalWidth = $this->reportWidthPortrait;
@ -494,12 +511,13 @@ class Pdf extends ReportRenderer
$posX = $initPosX;
foreach ($this->reportColumns as $columnName) {
$columnName = $this->formatText($columnName);
//Label column
if ($countColumns == 0) {
$this->TCPDF->MultiCell($this->labelCellWidth, $maxCellHeight, $columnName, 1, 'C', true);
$this->TCPDF->MultiCell($this->labelCellWidth, $maxCellHeight, $columnName, $border = 0, $align = 'L', true);
$this->TCPDF->SetXY($posX + $this->labelCellWidth, $posY);
} else {
$this->TCPDF->MultiCell($this->cellWidth, $maxCellHeight, $columnName, 1, 'C', true);
$this->TCPDF->MultiCell($this->cellWidth, $maxCellHeight, $columnName, $border = 0, $align = 'L', true);
$this->TCPDF->SetXY($posX + $this->cellWidth, $posY);
}
$countColumns++;
@ -523,4 +541,17 @@ class Pdf extends ReportRenderer
$this->TCPDF->Write("1em", $message);
$this->TCPDF->Ln();
}
/**
* Get report attachments, ex. graph images
*
* @param $report
* @param $processedReports
* @param $prettyDate
* @return array
*/
public function getAttachments($report, $processedReports, $prettyDate)
{
return array();
}
}