PluginProbe ʕ •ᴥ•ʔ
Matomo Analytics – Powerful, Privacy-First Insights for WordPress / 1.3.1
Matomo Analytics – Powerful, Privacy-First Insights for WordPress v1.3.1
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 6 years ago Output.php 6 years ago Process.php 6 years ago RequestCommand.php 6 years ago
Output.php
77 lines
1 <?php
2 /**
3 * Piwik - 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\Common;
12 use Piwik\Filesystem;
13
14 class Output
15 {
16
17 private $tmpFile = '';
18 private $outputId = null;
19
20 public function __construct($outputId)
21 {
22 if (!Filesystem::isValidFilename($outputId)) {
23 throw new \Exception('The given output id has an invalid format');
24 }
25
26 $dir = CliMulti::getTmpPath();
27 Filesystem::mkdir($dir);
28
29 $this->tmpFile = $dir . '/' . $outputId . '.output';
30 $this->outputId = $outputId;
31 }
32
33 public function getOutputId()
34 {
35 return $this->outputId;
36 }
37
38 public function write($content)
39 {
40 file_put_contents($this->tmpFile, $content);
41 }
42
43 public function getPathToFile()
44 {
45 return $this->tmpFile;
46 }
47
48 public function isAbnormal()
49 {
50 $size = Filesystem::getFileSize($this->tmpFile, 'MB');
51
52 return $size !== null && $size >= 100;
53 }
54
55 public function exists()
56 {
57 return file_exists($this->tmpFile);
58 }
59
60 public function get()
61 {
62 $content = @file_get_contents($this->tmpFile);
63 $search = '#!/usr/bin/env php';
64 if (!empty($content)
65 && is_string($content)
66 && Common::mb_substr(trim($content), 0, strlen($search)) === $search) {
67 $content = trim(Common::mb_substr(trim($content), strlen($search)));
68 }
69 return $content;
70 }
71
72 public function destroy()
73 {
74 Filesystem::deleteFileIfExists($this->tmpFile);
75 }
76 }
77