diff options
author | Sam <8619576+samjf@users.noreply.github.com> | 2022-04-13 10:42:10 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-04-13 10:42:10 +0300 |
commit | fb27f95d1885e97ea16335b73a49c913f14acad9 (patch) | |
tree | 160c5255e29b44a83f0c847491f128366164b75d | |
parent | 95b9d8efc15d62c1a048a13f4e94e34e26de4cb5 (diff) |
Create assets folder if it is missing when writing Report (#19088)
* create assets folder if it is missing when writing Report
* apply PSR12 code formatting
Co-authored-by: sgiehl <stefan@matomo.org>
-rw-r--r-- | core/ReportRenderer.php | 27 |
1 files changed, 17 insertions, 10 deletions
diff --git a/core/ReportRenderer.php b/core/ReportRenderer.php index ce95e7e324..ee1cd62726 100644 --- a/core/ReportRenderer.php +++ b/core/ReportRenderer.php @@ -1,4 +1,5 @@ <?php + /** * Matomo - free/libre analytics platform * @@ -6,6 +7,7 @@ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later * */ + namespace Piwik; use Exception; @@ -40,12 +42,12 @@ abstract class ReportRenderer extends BaseFactory protected $report; - private static $availableReportRenderers = array( + private static $availableReportRenderers = [ self::PDF_FORMAT, self::HTML_FORMAT, self::CSV_FORMAT, self::TSV_FORMAT, - ); + ]; /** * Sets the site id @@ -71,7 +73,7 @@ abstract class ReportRenderer extends BaseFactory { return Piwik::translate( 'General_ExceptionInvalidReportRendererFormat', - array(self::normalizeRendererType($rendererType), implode(', ', self::$availableReportRenderers)) + [self::normalizeRendererType($rendererType), implode(', ', self::$availableReportRenderers)] ); } @@ -155,7 +157,7 @@ abstract class ReportRenderer extends BaseFactory protected static function makeFilenameWithExtension($filename, $extension) { // the filename can be used in HTTP headers, remove new lines to prevent HTTP header injection - $filename = str_replace(array("\n", "\t"), " ", $filename); + $filename = str_replace(["\n", "\t"], " ", $filename); return $filename . "." . $extension; } @@ -169,11 +171,16 @@ abstract class ReportRenderer extends BaseFactory */ protected static function getOutputPath($filename) { - $outputFilename = StaticContainer::get('path.tmp') . '/assets/' . $filename; + $baseAssetsDir = StaticContainer::get('path.tmp') . '/assets/'; + $outputFilename = $baseAssetsDir . $filename; + + if (!is_dir($baseAssetsDir)) { + Filesystem::mkdir($baseAssetsDir); + } @chmod($outputFilename, 0600); - if(file_exists($outputFilename)){ + if (file_exists($outputFilename)) { @unlink($outputFilename); } @@ -236,16 +243,16 @@ abstract class ReportRenderer extends BaseFactory } } - $reportColumns = array( + $reportColumns = [ 'label' => Piwik::translate('General_Name'), 'value' => Piwik::translate('General_Value'), - ); + ]; } - return array( + return [ $finalReport, $reportColumns, - ); + ]; } public static function getStaticGraph($reportMetadata, $width, $height, $evolution, $segment) |