PluginProbe
Matomo Analytics – Powerful, Privacy-First Insights for WordPress / 4.15.0
Matomo Analytics – Powerful, Privacy-First Insights for WordPress v4.15.0
5.13.0 5.12.1 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 All 83 releases
matomo / app / core / Tracker / Visit / Factory.php
Factory.php
49 lines 1.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
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 */
9 namespace Piwik\Tracker\Visit;
10
11 use Piwik\Piwik;
12 use Piwik\Tracker\Visit;
13 use Piwik\Tracker\VisitInterface;
14 use Exception;
15
16 class Factory
17 {
18 /**
19 * Returns the Tracker_Visit object.
20 * This method can be overwritten to use a different Tracker_Visit object
21 *
22 * @throws Exception
23 * @return \Piwik\Tracker\Visit
24 */
25 public static function make()
26 {
27 $visit = null;
28
29 /**
30 * Triggered before a new **visit tracking object** is created. Subscribers to this
31 * event can force the use of a custom visit tracking object that extends from
32 * {@link Piwik\Tracker\VisitInterface}.
33 *
34 * @param \Piwik\Tracker\VisitInterface &$visit Initialized to null, but can be set to
35 * a new visit object. If it isn't modified
36 * Piwik uses the default class.
37 */
38 Piwik::postEvent('Tracker.makeNewVisitObject', array(&$visit));
39
40 if (!isset($visit)) {
41 $visit = new Visit();
42 } elseif (!($visit instanceof VisitInterface)) {
43 throw new Exception("The Visit object set in the plugin must implement VisitInterface");
44 }
45
46 return $visit;
47 }
48 }
49