PluginProbe ʕ •ᴥ•ʔ
Matomo Analytics – Powerful, Privacy-First Insights for WordPress / 4.13.5
Matomo Analytics – Powerful, Privacy-First Insights for WordPress v4.13.5
5.12.0 5.11.1 5.11.0 5.10.2 5.10.1 trunk 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.1.0 1.1.1 1.1.2 1.1.3 1.2.0 1.3.0 1.3.1 1.3.2 4.0.0 4.0.1 4.0.2 4.0.3 4.0.4 4.1.0 4.1.1 4.1.2 4.1.3 4.10.0 4.11.0 4.12.0 4.13.0 4.13.2 4.13.3 4.13.4 4.13.5 4.14.0 4.14.1 4.14.2 4.15.0 4.15.1 4.15.2 4.15.3 4.2.0 4.3.0 4.3.1 4.4.1 4.4.2 4.5.0 4.6.0 5.0.1 5.0.2 5.0.3 5.0.4 5.0.5 5.0.6 5.0.7 5.0.8 5.1.0 5.1.1 5.1.2 5.1.3 5.1.4 5.1.5 5.1.6 5.1.7 5.10.0 5.2.0 5.2.1 5.2.2 5.3.0 5.3.1 5.3.2 5.3.3 5.6.0 5.6.1 5.7.0 5.7.1 5.8.0 5.8.1 5.8.2
matomo / app / core / CliMulti / Output.php
matomo / app / core / CliMulti Last commit date
CliPhp.php 5 years ago Output.php 4 years ago OutputInterface.php 4 years ago Process.php 4 years ago RequestCommand.php 5 years ago RequestParser.php 5 years ago StaticOutput.php 4 years ago
Output.php
76 lines
1 <?php
2 /**
3 * Matomo - free/libre analytics platform
4 *
5 * @link https://matomo.org
6 * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
7 */
8 namespace Piwik\CliMulti;
9
10 use Piwik\CliMulti;
11 use Piwik\Filesystem;
12
13 class Output implements OutputInterface
14 {
15
16 private $tmpFile = '';
17 private $outputId = null;
18
19 public function __construct($outputId)
20 {
21 if (!Filesystem::isValidFilename($outputId)) {
22 throw new \Exception('The given output id has an invalid format');
23 }
24
25 $dir = CliMulti::getTmpPath();
26 Filesystem::mkdir($dir);
27
28 $this->tmpFile = $dir . '/' . $outputId . '.output';
29 $this->outputId = $outputId;
30 }
31
32 public function getOutputId()
33 {
34 return $this->outputId;
35 }
36
37 public function write($content)
38 {
39 file_put_contents($this->tmpFile, $content);
40 }
41
42 public function getPathToFile()
43 {
44 return $this->tmpFile;
45 }
46
47 public function isAbnormal(): bool
48 {
49 $size = Filesystem::getFileSize($this->tmpFile, 'MB');
50
51 return $size !== null && $size >= 100;
52 }
53
54 public function exists(): bool
55 {
56 return file_exists($this->tmpFile);
57 }
58
59 public function get()
60 {
61 $content = @file_get_contents($this->tmpFile);
62 $search = '#!/usr/bin/env php';
63 if (!empty($content)
64 && is_string($content)
65 && mb_substr(trim($content), 0, strlen($search)) === $search) {
66 $content = trim(mb_substr(trim($content), strlen($search)));
67 }
68 return $content;
69 }
70
71 public function destroy()
72 {
73 Filesystem::deleteFileIfExists($this->tmpFile);
74 }
75 }
76