Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/SegmentEditor/UnprocessedSegmentException.php')
-rw-r--r--plugins/SegmentEditor/UnprocessedSegmentException.php98
1 files changed, 98 insertions, 0 deletions
diff --git a/plugins/SegmentEditor/UnprocessedSegmentException.php b/plugins/SegmentEditor/UnprocessedSegmentException.php
new file mode 100644
index 0000000000..c0ddc338e2
--- /dev/null
+++ b/plugins/SegmentEditor/UnprocessedSegmentException.php
@@ -0,0 +1,98 @@
+<?php
+/**
+ * Piwik - free/libre analytics platform
+ *
+ * @link http://piwik.org
+ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
+ *
+ */
+
+namespace Piwik\Plugins\SegmentEditor;
+
+
+use Piwik\Piwik;
+use Piwik\Segment;
+
+class UnprocessedSegmentException extends \Exception
+{
+ /**
+ * @var Segment
+ */
+ private $segment;
+
+ /**
+ * @var array|null
+ */
+ private $storedSegment;
+
+ /**
+ * @var bool
+ */
+ private $isSegmentToPreprocess;
+
+ /**
+ * @param $segment
+ */
+ public function __construct(Segment $segment, $isSegmentToPreprocess, array $storedSegment = null)
+ {
+ parent::__construct(self::getErrorMessage($segment, $isSegmentToPreprocess, $storedSegment));
+
+ $this->segment = $segment;
+ $this->storedSegment = $storedSegment;
+ $this->isSegmentToPreprocess = $isSegmentToPreprocess;
+ }
+
+ /**
+ * @return Segment
+ */
+ public function getSegment()
+ {
+ return $this->segment;
+ }
+
+ /**
+ * @return array|null
+ */
+ public function getStoredSegment()
+ {
+ return $this->storedSegment;
+ }
+
+ private static function getErrorMessage(Segment $segment, $isSegmentToPreprocess, array $storedSegment = null)
+ {
+ if (empty($storedSegment)) {
+ // the segment was not created through the segment editor
+ return Piwik::translate('SegmentEditor_CustomUnprocessedSegmentApiError1')
+ . ' ' . Piwik::translate('SegmentEditor_CustomUnprocessedSegmentApiError2')
+ . ' ' . Piwik::translate('SegmentEditor_CustomUnprocessedSegmentApiError3')
+ . ' ' . Piwik::translate('SegmentEditor_CustomUnprocessedSegmentApiError4')
+ . ' ' . Piwik::translate('SegmentEditor_CustomUnprocessedSegmentApiError5')
+ . ' ' . Piwik::translate('SegmentEditor_CustomUnprocessedSegmentApiError6')
+ . ' ' . Piwik::translate('SegmentEditor_UnprocessedSegmentInVisitorLog3');
+ }
+
+ $segmentName = !empty($storedSegment['name']) ? $storedSegment['name'] : $segment->getString();
+
+ if (!$isSegmentToPreprocess) {
+ // the segment was created in the segment editor, but set to be processed in real time
+ return Piwik::translate('SegmentEditor_UnprocessedSegmentApiError1', [$segmentName, Piwik::translate('SegmentEditor_AutoArchiveRealTime')])
+ . ' ' . Piwik::translate('SegmentEditor_UnprocessedSegmentApiError2', [Piwik::translate('SegmentEditor_AutoArchivePreProcessed')])
+ . ' ' . Piwik::translate('SegmentEditor_UnprocessedSegmentApiError3');
+ }
+
+ // the segment is set to be processed during cron archiving, but has not been processed yet
+ return Piwik::translate('SegmentEditor_UnprocessedSegmentNoData1', ['(' . $segmentName . ')'])
+ . ' ' . Piwik::translate('SegmentEditor_UnprocessedSegmentNoData2')
+ . ' ' . Piwik::translate('SegmentEditor_CustomUnprocessedSegmentApiError5')
+ . ' ' . Piwik::translate('SegmentEditor_CustomUnprocessedSegmentApiError6')
+ . ' ' . Piwik::translate('SegmentEditor_UnprocessedSegmentInVisitorLog3');
+ }
+
+ /**
+ * @return bool
+ */
+ public function isSegmentToPreprocess()
+ {
+ return $this->isSegmentToPreprocess;
+ }
+} \ No newline at end of file