Download plugins/Goals/Archiver.php from Leon4gr45/matomo: direct link, hf CLI and curl.
- Browser
- Download file 3.63 kB
-
https://huggingface.co/spaces/Leon4gr45/matomo/resolve/main/plugins/Goals/Archiver.php
- Command line
-
hf download hf://spaces/Leon4gr45/matomo/plugins/Goals/Archiver.php
-
curl -L -o Archiver.php https://huggingface.co/spaces/Leon4gr45/matomo/resolve/main/plugins/Goals/Archiver.php
3.63 kB
| /** | |
| * Matomo - free/libre analytics platform | |
| * | |
| * @link https://matomo.org | |
| * @license https://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later | |
| */ | |
| namespace Piwik\Plugins\Goals; | |
| use Piwik\Plugins\VisitFrequency\API as VisitFrequencyAPI; | |
| class Archiver extends \Piwik\Plugin\Archiver | |
| { | |
| public const VISITS_UNTIL_RECORD_NAME = 'visits_until_conv'; | |
| public const DAYS_UNTIL_CONV_RECORD_NAME = 'days_until_conv'; | |
| public const ITEMS_SKU_RECORD_NAME = 'Goals_ItemsSku'; | |
| public const ITEMS_NAME_RECORD_NAME = 'Goals_ItemsName'; | |
| public const ITEMS_CATEGORY_RECORD_NAME = 'Goals_ItemsCategory'; | |
| public const SKU_FIELD = 'idaction_sku'; | |
| public const NAME_FIELD = 'idaction_name'; | |
| public const CATEGORY_FIELD = 'idaction_category'; | |
| public const CATEGORY2_FIELD = 'idaction_category2'; | |
| public const CATEGORY3_FIELD = 'idaction_category3'; | |
| public const CATEGORY4_FIELD = 'idaction_category4'; | |
| public const CATEGORY5_FIELD = 'idaction_category5'; | |
| public const NO_LABEL = ':'; | |
| public const LOG_CONVERSION_TABLE = 'log_conversion'; | |
| public const VISITS_COUNT_FIELD = 'visitor_count_visits'; | |
| public const SECONDS_SINCE_FIRST_VISIT_FIELD = 'visitor_seconds_since_first'; | |
| public function getDependentSegmentsToArchive(): array | |
| { | |
| $hasConversions = $this->getProcessor()->getNumberOfVisitsConverted() > 0; | |
| if (!$hasConversions) { | |
| return []; | |
| } | |
| return [ | |
| VisitFrequencyAPI::NEW_VISITOR_SEGMENT, | |
| VisitFrequencyAPI::RETURNING_VISITOR_SEGMENT, | |
| ]; | |
| } | |
| /** | |
| * This array stores the ranges to use when displaying the 'visits to conversion' report | |
| */ | |
| public static $visitCountRanges = [ | |
| [1, 1], | |
| [2, 2], | |
| [3, 3], | |
| [4, 4], | |
| [5, 5], | |
| [6, 6], | |
| [7, 7], | |
| [8, 8], | |
| [9, 14], | |
| [15, 25], | |
| [26, 50], | |
| [51, 100], | |
| [100], | |
| ]; | |
| /** | |
| * This array stores the ranges to use when displaying the 'days to conversion' report | |
| */ | |
| public static $daysToConvRanges = [ | |
| [0, 0], | |
| [1, 1], | |
| [2, 2], | |
| [3, 3], | |
| [4, 4], | |
| [5, 5], | |
| [6, 6], | |
| [7, 7], | |
| [8, 14], | |
| [15, 30], | |
| [31, 60], | |
| [61, 120], | |
| [121, 364], | |
| [364], | |
| ]; | |
| protected $dimensionRecord = [ | |
| self::SKU_FIELD => self::ITEMS_SKU_RECORD_NAME, | |
| self::NAME_FIELD => self::ITEMS_NAME_RECORD_NAME, | |
| self::CATEGORY_FIELD => self::ITEMS_CATEGORY_RECORD_NAME, | |
| ]; | |
| protected $actionMapping = [ | |
| self::SKU_FIELD => 'idaction_product_sku', | |
| self::NAME_FIELD => 'idaction_product_name', | |
| self::CATEGORY_FIELD => 'idaction_product_cat', | |
| self::CATEGORY2_FIELD => 'idaction_product_cat2', | |
| self::CATEGORY3_FIELD => 'idaction_product_cat3', | |
| self::CATEGORY4_FIELD => 'idaction_product_cat4', | |
| self::CATEGORY5_FIELD => 'idaction_product_cat5', | |
| ]; | |
| /** | |
| * @param string $recordName 'nb_conversions' | |
| * @param int|string|null|false $idGoal idGoal to return the metrics for, or false/null to return overall | |
| * @return string Archive record name | |
| */ | |
| public static function getRecordName($recordName, $idGoal = false) | |
| { | |
| $idGoalStr = ''; | |
| if ($idGoal !== false && $idGoal !== null) { | |
| $idGoalStr = $idGoal . "_"; | |
| } | |
| return 'Goal_' . $idGoalStr . $recordName; | |
| } | |
| public static function getItemRecordNameAbandonedCart($recordName) | |
| { | |
| return $recordName . '_Cart'; | |
| } | |
| } | |