🐘 API.php (Php) 2.7 KB 2016-05-21
PHP module for API
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52 | <?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\Plugin;
use Piwik\Container\StaticContainer;
use Psr\Log\LoggerInterface;
/**
* The base class of all API singletons.
*
* Plugins that want to expose functionality through the Reporting API should create a class
* that extends this one. Every public method in that class that is not annotated with **@ignore**
* will be callable through Piwik's Web API.
*
* _Note: If your plugin calculates and stores reports, they should be made available through the API._
*
* ### Examples
*
* **Defining an API for a plugin**
*
* class API extends \Piwik\Plugin\API
* {
* public function myMethod($idSite, $period, $date, $segment = false)
* {
* $dataTable = // ... get some data ...
* return $dataTable;
* }
* }
*
* **Linking to an API method**
*
* <a href="?module=API&method=MyPlugin.myMethod&idSite=1&period=day&date=2013-10-23">Link</a>
*
* @api
*/
abstract class API
{
private static $instances;
/**
* Returns the singleton instance for the derived class. If the singleton instance
* has not been created, this method will create it.
*
... [truncated, 49 more lines] ...
|
{
"@context": "https://schema.org",
"@type": "SoftwareSourceCode",
"name": "API.php",
"description": "PHP module for API",
"dateModified": "2016-05-21",
"dateCreated": "2025-03-23",
"contentSize": "2.7 KB",
"contentUrl": "https://www.artikelschreiber.com/opensource/buzzerstar/static/core/Plugin/API.php",
"programmingLanguage": {
"@type": "ComputerLanguage",
"name": "Php"
},
"codeRepository": "https://www.artikelschreiber.com/opensource/buzzerstar/static/core/Plugin/"
}
🐘 AggregatedMetric.php (Php) 609 bytes 2016-05-21
PHP module for AggregatedMetric
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 | <?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\Plugin;
/**
* Base type for metric metadata classes that describe aggregated metrics. These metrics are
* computed in the backend data store and are aggregated in PHP when Piwik archives period reports.
*
* Note: This class is a placeholder. It will be filled out at a later date. Right now, only
* processed metrics can be defined this way.
*/
abstract class AggregatedMetric extends Metric
{
// stub, to be filled out later
}
|
{
"@context": "https://schema.org",
"@type": "SoftwareSourceCode",
"name": "AggregatedMetric.php",
"description": "PHP module for AggregatedMetric",
"dateModified": "2016-05-21",
"dateCreated": "2025-03-23",
"contentSize": "609 bytes",
"contentUrl": "https://www.artikelschreiber.com/opensource/buzzerstar/static/core/Plugin/AggregatedMetric.php",
"programmingLanguage": {
"@type": "ComputerLanguage",
"name": "Php"
},
"codeRepository": "https://www.artikelschreiber.com/opensource/buzzerstar/static/core/Plugin/"
}
🐘 Archiver.php (Php) 4.2 KB 2016-05-21
PHP module for Archiver
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52 | <?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\Plugin;
use Piwik\ArchiveProcessor;
use Piwik\Config as PiwikConfig;
/**
* The base class that should be extended by plugins that compute their own
* analytics data.
*
* Descendants should implement the {@link aggregateDayReport()} and {@link aggregateMultipleReports()}
* methods.
*
* Both of these methods should persist analytics data using the {@link \Piwik\ArchiveProcessor}
* instance returned by {@link getProcessor()}. The {@link aggregateDayReport()} method should
* compute analytics data using the {@link \Piwik\DataAccess\LogAggregator} instance
* returned by {@link getLogAggregator()}.
*
* ### Examples
*
* **Extending Archiver**
*
* class MyArchiver extends Archiver
* {
* public function aggregateDayReport()
* {
* $logAggregator = $this->getLogAggregator();
*
* $data = $logAggregator->queryVisitsByDimension(...);
*
* $dataTable = new DataTable();
* $dataTable->addRowsFromSimpleArray($data);
*
* $archiveProcessor = $this->getProcessor();
* $archiveProcessor->insertBlobRecords('MyPlugin_myReport', $dataTable->getSerialized(500));
* }
*
* public function aggregateMultipleReports()
* {
* $archiveProcessor = $this->getProcessor();
* $archiveProcessor->aggregateDataTableRecords('MyPlugin_myReport', 500);
* }
... [truncated, 84 more lines] ...
|
{
"@context": "https://schema.org",
"@type": "SoftwareSourceCode",
"name": "Archiver.php",
"description": "PHP module for Archiver",
"dateModified": "2016-05-21",
"dateCreated": "2025-03-23",
"contentSize": "4.2 KB",
"contentUrl": "https://www.artikelschreiber.com/opensource/buzzerstar/static/core/Plugin/Archiver.php",
"programmingLanguage": {
"@type": "ComputerLanguage",
"name": "Php"
},
"codeRepository": "https://www.artikelschreiber.com/opensource/buzzerstar/static/core/Plugin/"
}
🐘 ComponentFactory.php (Php) 4.9 KB 2016-05-21
PHP module for ComponentFactory
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52 | <?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\Plugin;
use Piwik\Log;
use Piwik\Plugin\Manager as PluginManager;
use Exception;
/**
* Factory class with methods to find and instantiate Plugin components.
*/
class ComponentFactory
{
/**
* Create a component instance that exists within a specific plugin. Uses the component's
* unqualified class name and expected base type.
*
* This method will only create a class if it is located within the component type's
* associated subdirectory.
*
* @param string $pluginName The name of the plugin the component is expected to belong to,
* eg, `'DevicesDetection'`.
* @param string $componentClassSimpleName The component's class name w/o namespace, eg,
* `"GetKeywords"`.
* @param string $componentTypeClass The fully qualified class name of the component type, eg,
* `"Piwik\Plugin\Report"`.
* @return mixed|null A new instance of the desired component or null if not found. If the
* plugin is not loaded or activated or the component is not located in
* in the sub-namespace specified by `$componentTypeClass::COMPONENT_SUBNAMESPACE`,
* this method will return null.
*/
public static function factory($pluginName, $componentClassSimpleName, $componentTypeClass)
{
if (empty($pluginName) || empty($componentClassSimpleName)) {
Log::debug("ComponentFactory::%s: empty plugin name or component simple name requested (%s, %s)",
__FUNCTION__, $pluginName, $componentClassSimpleName);
return null;
}
$plugin = self::getActivatedPlugin(__FUNCTION__, $pluginName);
if (empty($plugin)) {
return null;
}
... [truncated, 82 more lines] ...
|
{
"@context": "https://schema.org",
"@type": "SoftwareSourceCode",
"name": "ComponentFactory.php",
"description": "PHP module for ComponentFactory",
"dateModified": "2016-05-21",
"dateCreated": "2025-03-23",
"contentSize": "4.9 KB",
"contentUrl": "https://www.artikelschreiber.com/opensource/buzzerstar/static/core/Plugin/ComponentFactory.php",
"programmingLanguage": {
"@type": "ComputerLanguage",
"name": "Php"
},
"codeRepository": "https://www.artikelschreiber.com/opensource/buzzerstar/static/core/Plugin/"
}
🐘 ConsoleCommand.php (Php) 1.2 KB 2016-05-21
PHP module for ConsoleCommand
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46 | <?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\Plugin;
use Symfony\Component\Console\Command\Command as SymfonyCommand;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;
/**
* The base class for console commands.
*
* @api
*/
class ConsoleCommand extends SymfonyCommand
{
public function writeSuccessMessage(OutputInterface $output, $messages)
{
$output->writeln('');
foreach ($messages as $message) {
$output->writeln('<info>' . $message . '</info>');
}
$output->writeln('');
}
protected function checkAllRequiredOptionsAreNotEmpty(InputInterface $input)
{
$options = $this->getDefinition()->getOptions();
foreach ($options as $option) {
$name = $option->getName();
$value = $input->getOption($name);
if ($option->isValueRequired() && empty($value)) {
throw new \InvalidArgumentException(sprintf('The required option %s is not set', $name));
}
}
}
}
|
{
"@context": "https://schema.org",
"@type": "SoftwareSourceCode",
"name": "ConsoleCommand.php",
"description": "PHP module for ConsoleCommand",
"dateModified": "2016-05-21",
"dateCreated": "2025-03-23",
"contentSize": "1.2 KB",
"contentUrl": "https://www.artikelschreiber.com/opensource/buzzerstar/static/core/Plugin/ConsoleCommand.php",
"programmingLanguage": {
"@type": "ComputerLanguage",
"name": "Php"
},
"codeRepository": "https://www.artikelschreiber.com/opensource/buzzerstar/static/core/Plugin/"
}
🐘 Controller.php (Php) 40.7 KB 2016-05-21
PHP module for Controller
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52 | <?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\Plugin;
use Exception;
use Piwik\Access;
use Piwik\API\Proxy;
use Piwik\API\Request;
use Piwik\Common;
use Piwik\Config as PiwikConfig;
use Piwik\Config;
use Piwik\DataTable\Filter\CalculateEvolutionFilter;
use Piwik\Date;
use Piwik\Exception\NoPrivilegesException;
use Piwik\Exception\NoWebsiteFoundException;
use Piwik\FrontController;
use Piwik\Menu\MenuTop;
use Piwik\Menu\MenuUser;
use Piwik\NoAccessException;
use Piwik\Notification\Manager as NotificationManager;
use Piwik\NumberFormatter;
use Piwik\Period\Month;
use Piwik\Period;
use Piwik\Period\PeriodValidator;
use Piwik\Period\Range;
use Piwik\Piwik;
use Piwik\Plugins\CoreAdminHome\CustomLogo;
use Piwik\Plugins\CoreVisualizations\Visualizations\JqplotGraph\Evolution;
use Piwik\Plugins\LanguagesManager\LanguagesManager;
use Piwik\SettingsPiwik;
use Piwik\Site;
use Piwik\Url;
use Piwik\View;
use Piwik\View\ViewInterface;
use Piwik\ViewDataTable\Factory as ViewDataTableFactory;
/**
* Base class of all plugin Controllers.
*
* Plugins that wish to add display HTML should create a Controller that either
* extends from this class or from {@link ControllerAdmin}. Every public method in
* the controller will be exposed as a controller method and can be invoked via
* an HTTP request.
*
... [truncated, 995 more lines] ...
|
{
"@context": "https://schema.org",
"@type": "SoftwareSourceCode",
"name": "Controller.php",
"description": "PHP module for Controller",
"dateModified": "2016-05-21",
"dateCreated": "2025-03-23",
"contentSize": "40.7 KB",
"contentUrl": "https://www.artikelschreiber.com/opensource/buzzerstar/static/core/Plugin/Controller.php",
"programmingLanguage": {
"@type": "ComputerLanguage",
"name": "Php"
},
"codeRepository": "https://www.artikelschreiber.com/opensource/buzzerstar/static/core/Plugin/"
}
🐘 ControllerAdmin.php (Php) 10.5 KB 2016-05-21
PHP module for ControllerAdmin
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52 | <?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\Plugin;
use Piwik\Config as PiwikConfig;
use Piwik\Config;
use Piwik\Development;
use Piwik\Menu\MenuAdmin;
use Piwik\Menu\MenuTop;
use Piwik\Menu\MenuUser;
use Piwik\Notification;
use Piwik\Notification\Manager as NotificationManager;
use Piwik\Piwik;
use Piwik\Tracker\TrackerConfig;
use Piwik\Url;
use Piwik\Version;
use Piwik\View;
use Piwik\ProxyHttp;
/**
* Base class of plugin controllers that provide administrative functionality.
*
* See {@link Controller} to learn more about Piwik controllers.
*
*/
abstract class ControllerAdmin extends Controller
{
private static function notifyWhenTrackingStatisticsDisabled()
{
$statsEnabled = PiwikConfig::getInstance()->Tracker['record_statistics'];
if ($statsEnabled == "0") {
$notification = new Notification(Piwik::translate('General_StatisticsAreNotRecorded'));
$notification->context = Notification::CONTEXT_INFO;
Notification\Manager::notify('ControllerAdmin_StatsAreNotRecorded', $notification);
}
}
private static function notifyAnyInvalidPlugin()
{
$missingPlugins = \Piwik\Plugin\Manager::getInstance()->getMissingPlugins();
if (empty($missingPlugins)) {
return;
}
... [truncated, 244 more lines] ...
|
{
"@context": "https://schema.org",
"@type": "SoftwareSourceCode",
"name": "ControllerAdmin.php",
"description": "PHP module for ControllerAdmin",
"dateModified": "2016-05-21",
"dateCreated": "2025-03-23",
"contentSize": "10.5 KB",
"contentUrl": "https://www.artikelschreiber.com/opensource/buzzerstar/static/core/Plugin/ControllerAdmin.php",
"programmingLanguage": {
"@type": "ComputerLanguage",
"name": "Php"
},
"codeRepository": "https://www.artikelschreiber.com/opensource/buzzerstar/static/core/Plugin/"
}
🐘 Dependency.php (Php) 2.8 KB 2016-05-21
PHP module for Dependency
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52 | <?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\Plugin;
use Piwik\Plugin\Manager as PluginManager;
use Piwik\Version;
/**
*
*/
class Dependency
{
private $piwikVersion;
public function __construct()
{
$this->setPiwikVersion(Version::VERSION);
}
public function getMissingDependencies($requires)
{
$missingRequirements = array();
if (empty($requires)) {
return $missingRequirements;
}
foreach ($requires as $name => $requiredVersion) {
$currentVersion = $this->getCurrentVersion($name);
$missingVersions = $this->getMissingVersions($currentVersion, $requiredVersion);
if (!empty($missingVersions)) {
$missingRequirements[] = array(
'requirement' => $name,
'actualVersion' => $currentVersion,
'requiredVersion' => $requiredVersion,
'causedBy' => implode(', ', $missingVersions)
);
}
}
return $missingRequirements;
}
... [truncated, 57 more lines] ...
|
{
"@context": "https://schema.org",
"@type": "SoftwareSourceCode",
"name": "Dependency.php",
"description": "PHP module for Dependency",
"dateModified": "2016-05-21",
"dateCreated": "2025-03-23",
"contentSize": "2.8 KB",
"contentUrl": "https://www.artikelschreiber.com/opensource/buzzerstar/static/core/Plugin/Dependency.php",
"programmingLanguage": {
"@type": "ComputerLanguage",
"name": "Php"
},
"codeRepository": "https://www.artikelschreiber.com/opensource/buzzerstar/static/core/Plugin/"
}
🐘 Manager.php (Php) 40.2 KB 2016-05-21
PHP module for Manager
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52 | <?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\Plugin;
use Piwik\Application\Kernel\PluginList;
use Piwik\Cache;
use Piwik\Columns\Dimension;
use Piwik\Config as PiwikConfig;
use Piwik\Config;
use Piwik\Container\StaticContainer;
use Piwik\EventDispatcher;
use Piwik\Filesystem;
use Piwik\Log;
use Piwik\Notification;
use Piwik\Piwik;
use Piwik\Plugin;
use Piwik\PluginDeactivatedException;
use Piwik\Session;
use Piwik\Theme;
use Piwik\Tracker;
use Piwik\Translation\Translator;
use Piwik\Updater;
use Piwik\Plugin\Dimension\ActionDimension;
use Piwik\Plugin\Dimension\ConversionDimension;
use Piwik\Plugin\Dimension\VisitDimension;
require_once PIWIK_INCLUDE_PATH . '/core/EventDispatcher.php';
/**
* The singleton that manages plugin loading/unloading and installation/uninstallation.
*/
class Manager
{
/**
* @return self
*/
public static function getInstance()
{
return StaticContainer::get('Piwik\Plugin\Manager');
}
protected $pluginsToLoad = array();
... [truncated, 1324 more lines] ...
|
{
"@context": "https://schema.org",
"@type": "SoftwareSourceCode",
"name": "Manager.php",
"description": "PHP module for Manager",
"dateModified": "2016-05-21",
"dateCreated": "2025-03-23",
"contentSize": "40.2 KB",
"contentUrl": "https://www.artikelschreiber.com/opensource/buzzerstar/static/core/Plugin/Manager.php",
"programmingLanguage": {
"@type": "ComputerLanguage",
"name": "Php"
},
"codeRepository": "https://www.artikelschreiber.com/opensource/buzzerstar/static/core/Plugin/"
}
🐘 Menu.php (Php) 10.3 KB 2016-05-21
PHP module for Menu
{
"@context": "https://schema.org",
"@type": "SoftwareSourceCode",
"name": "Menu.php",
"description": "PHP module for Menu",
"dateModified": "2016-05-21",
"dateCreated": "2025-03-23",
"contentSize": "10.3 KB",
"contentUrl": "https://www.artikelschreiber.com/opensource/buzzerstar/static/core/Plugin/Menu.php",
"programmingLanguage": {
"@type": "ComputerLanguage",
"name": "Php"
},
"codeRepository": "https://www.artikelschreiber.com/opensource/buzzerstar/static/core/Plugin/"
}
🐘 MetadataLoader.php (Php) 2.7 KB 2016-05-21
PHP module for MetadataLoader
{
"@context": "https://schema.org",
"@type": "SoftwareSourceCode",
"name": "MetadataLoader.php",
"description": "PHP module for MetadataLoader",
"dateModified": "2016-05-21",
"dateCreated": "2025-03-23",
"contentSize": "2.7 KB",
"contentUrl": "https://www.artikelschreiber.com/opensource/buzzerstar/static/core/Plugin/MetadataLoader.php",
"programmingLanguage": {
"@type": "ComputerLanguage",
"name": "Php"
},
"codeRepository": "https://www.artikelschreiber.com/opensource/buzzerstar/static/core/Plugin/"
}
🐘 Metric.php (Php) 6.1 KB 2016-05-21
PHP module for Metric
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52 | <?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\Plugin;
use Piwik\DataTable;
use Piwik\DataTable\Row;
use Piwik\Metrics;
use Piwik\Metrics\Formatter;
/**
* Base type of metric metadata classes.
*
* A metric metadata class is a class that describes how a metric is described, computed and
* formatted.
*
* There are two types of metrics: aggregated and processed. An aggregated metric is computed
* in the backend datastore and aggregated in PHP when archiving period reports.
*
* Currently, only processed metrics can be defined as metric metadata classes. Support for
* aggregated metrics will be added at a later date.
*
* See {@link Piwik\Plugin\ProcessedMetric} and {@link Piwik\Plugin|AggregatedMetric}.
*
* @api
*/
abstract class Metric
{
/**
* The sub-namespace name in a plugin where Metric components are stored.
*/
const COMPONENT_SUBNAMESPACE = 'Metrics';
/**
* Returns the column name of this metric, eg, `"nb_visits"` or `"avg_time_on_site"`.
*
* This string is what appears in API output.
*
* @return string
*/
abstract public function getName();
/**
* Returns the human readable translated name of this metric, eg, `"Visits"` or `"Avg. time on site"`.
*
* This string is what appears in the UI.
... [truncated, 140 more lines] ...
|
{
"@context": "https://schema.org",
"@type": "SoftwareSourceCode",
"name": "Metric.php",
"description": "PHP module for Metric",
"dateModified": "2016-05-21",
"dateCreated": "2025-03-23",
"contentSize": "6.1 KB",
"contentUrl": "https://www.artikelschreiber.com/opensource/buzzerstar/static/core/Plugin/Metric.php",
"programmingLanguage": {
"@type": "ComputerLanguage",
"name": "Php"
},
"codeRepository": "https://www.artikelschreiber.com/opensource/buzzerstar/static/core/Plugin/"
}
🐘 PluginException.php (Php) 1.1 KB 2016-05-21
PHP module for PluginException
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 | <?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\Plugin;
use Piwik\Common;
class PluginException extends \Exception
{
public function __construct($pluginName, $message)
{
$pluginName = Common::sanitizeInputValue($pluginName);
$message = Common::sanitizeInputValue($message);
parent::__construct("There was a problem installing the plugin $pluginName: <br /><br />
$message
<br /><br />
If you want to hide this message you must remove the following line under the [Plugins] entry in your
'config/config.ini.php' file to disable this plugin.<br />
Plugins[] = $pluginName
<br /><br />If this plugin has already been installed, you must add the following line under the
[PluginsInstalled] entry in your 'config/config.ini.php' file:<br />
PluginsInstalled[] = $pluginName");
}
public function isHtmlMessage()
{
return true;
}
}
|
{
"@context": "https://schema.org",
"@type": "SoftwareSourceCode",
"name": "PluginException.php",
"description": "PHP module for PluginException",
"dateModified": "2016-05-21",
"dateCreated": "2025-03-23",
"contentSize": "1.1 KB",
"contentUrl": "https://www.artikelschreiber.com/opensource/buzzerstar/static/core/Plugin/PluginException.php",
"programmingLanguage": {
"@type": "ComputerLanguage",
"name": "Php"
},
"codeRepository": "https://www.artikelschreiber.com/opensource/buzzerstar/static/core/Plugin/"
}
🐘 ProcessedMetric.php (Php) 2.0 KB 2016-05-21
PHP module for ProcessedMetric
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52 | <?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\Plugin;
use Piwik\DataTable;
use Piwik\DataTable\Row;
/**
* Base type for processed metrics. A processed metric is a metric that is computed using
* one or more other metrics.
*
* @api
*/
abstract class ProcessedMetric extends Metric
{
/**
* The sub-namespace name in a plugin where ProcessedMetrics are stored.
*/
const COMPONENT_SUBNAMESPACE = 'Columns\\Metrics';
/**
* Computes the metric using the values in a {@link Piwik\DataTable\Row}.
*
* The computed value should be numerical and not formatted in any way. For example, for
* a percent value, `0.14` should be returned instead of `"14%"`.
*
* @return mixed
*/
abstract public function compute(Row $row);
/**
* Returns the array of metrics that are necessary for computing this metric. The elements
* of the array are metric names.
*
* @return string[]
*/
abstract public function getDependentMetrics();
/**
* Returns the array of metrics that are necessary for computing this metric, but should not
* be displayed to the user unless explicitly requested. These metrics are intermediate
* metrics that are not really valuable to the user. On a request, if showColumns or hideColumns
* is not used, they will be removed automatically.
*
* @return string[]
... [truncated, 21 more lines] ...
|
{
"@context": "https://schema.org",
"@type": "SoftwareSourceCode",
"name": "ProcessedMetric.php",
"description": "PHP module for ProcessedMetric",
"dateModified": "2016-05-21",
"dateCreated": "2025-03-23",
"contentSize": "2.0 KB",
"contentUrl": "https://www.artikelschreiber.com/opensource/buzzerstar/static/core/Plugin/ProcessedMetric.php",
"programmingLanguage": {
"@type": "ComputerLanguage",
"name": "Php"
},
"codeRepository": "https://www.artikelschreiber.com/opensource/buzzerstar/static/core/Plugin/"
}
🐘 ReleaseChannels.php (Php) 2.5 KB 2016-05-21
PHP module for ReleaseChannels
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52 | <?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\Plugin;
use Piwik\Config;
use Piwik\Container\StaticContainer;
use Piwik\UpdateCheck\ReleaseChannel;
/**
* Get release channels that are defined by plugins.
*/
class ReleaseChannels
{
/**
* @var Manager
*/
private $pluginManager;
public function __construct(Manager $pluginManager)
{
$this->pluginManager = $pluginManager;
}
/**
* @return ReleaseChannel[]
*/
public function getAllReleaseChannels()
{
$classNames = $this->pluginManager->findMultipleComponents('ReleaseChannel', 'Piwik\\UpdateCheck\\ReleaseChannel');
$channels = array();
foreach ($classNames as $className) {
$channels[] = StaticContainer::get($className);
}
usort($channels, function (ReleaseChannel $a, ReleaseChannel $b) {
if ($a->getOrder() === $b->getOrder()) {
return 0;
}
return ($a->getOrder() < $b->getOrder()) ? -1 : 1;
});
return $channels;
... [truncated, 53 more lines] ...
|
{
"@context": "https://schema.org",
"@type": "SoftwareSourceCode",
"name": "ReleaseChannels.php",
"description": "PHP module for ReleaseChannels",
"dateModified": "2016-05-21",
"dateCreated": "2025-03-23",
"contentSize": "2.5 KB",
"contentUrl": "https://www.artikelschreiber.com/opensource/buzzerstar/static/core/Plugin/ReleaseChannels.php",
"programmingLanguage": {
"@type": "ComputerLanguage",
"name": "Php"
},
"codeRepository": "https://www.artikelschreiber.com/opensource/buzzerstar/static/core/Plugin/"
}
🐘 Report.php (Php) 31.2 KB 2016-05-21
PHP module for Report
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52 | <?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\Plugin;
use Piwik\API\Proxy;
use Piwik\API\Request;
use Piwik\Cache;
use Piwik\CacheId;
use Piwik\Columns\Dimension;
use Piwik\DataTable;
use Piwik\DataTable\Filter\Sort;
use Piwik\Menu\MenuReporting;
use Piwik\Metrics;
use Piwik\Cache as PiwikCache;
use Piwik\Piwik;
use Piwik\Plugin\Manager as PluginManager;
use Piwik\Plugins\CoreVisualizations\Visualizations\HtmlTable;
use Piwik\WidgetsList;
use Piwik\ViewDataTable\Factory as ViewDataTableFactory;
use Exception;
/**
* Defines a new report. This class contains all information a report defines except the corresponding API method which
* needs to be defined in the 'API.php'. You can define the name of the report, a documentation, the supported metrics,
* how the report should be displayed, which features the report has (eg search) and much more.
*
* You can create a new report using the console command `./console generate:report`. The generated report will guide
* you through the creation of a report.
*
* @since 2.5.0
* @api
*/
class Report
{
/**
* The sub-namespace name in a plugin where Report components are stored.
*/
const COMPONENT_SUBNAMESPACE = 'Reports';
/**
* When added to the menu, a given report eg 'getCampaigns'
* will be routed as &action=menuGetCampaigns
*/
const PREFIX_ACTION_IN_MENU = 'menu';
... [truncated, 952 more lines] ...
|
{
"@context": "https://schema.org",
"@type": "SoftwareSourceCode",
"name": "Report.php",
"description": "PHP module for Report",
"dateModified": "2016-05-21",
"dateCreated": "2025-03-23",
"contentSize": "31.2 KB",
"contentUrl": "https://www.artikelschreiber.com/opensource/buzzerstar/static/core/Plugin/Report.php",
"programmingLanguage": {
"@type": "ComputerLanguage",
"name": "Php"
},
"codeRepository": "https://www.artikelschreiber.com/opensource/buzzerstar/static/core/Plugin/"
}
🐘 RequestProcessors.php (Php) 627 bytes 2016-05-21
PHP module for RequestProcessors
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 | <?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\Plugin;
use Piwik\Container\StaticContainer;
class RequestProcessors
{
public function getRequestProcessors()
{
$manager = Manager::getInstance();
$processors = $manager->findMultipleComponents('Tracker', 'Piwik\\Tracker\\RequestProcessor');
$instances = array();
foreach ($processors as $processor) {
$instances[] = StaticContainer::get($processor);
}
return $instances;
}
}
|
{
"@context": "https://schema.org",
"@type": "SoftwareSourceCode",
"name": "RequestProcessors.php",
"description": "PHP module for RequestProcessors",
"dateModified": "2016-05-21",
"dateCreated": "2025-03-23",
"contentSize": "627 bytes",
"contentUrl": "https://www.artikelschreiber.com/opensource/buzzerstar/static/core/Plugin/RequestProcessors.php",
"programmingLanguage": {
"@type": "ComputerLanguage",
"name": "Php"
},
"codeRepository": "https://www.artikelschreiber.com/opensource/buzzerstar/static/core/Plugin/"
}
🐘 Segment.php (Php) 10.1 KB 2016-05-21
PHP module for Segment
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52 | <?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\Plugin;
use Exception;
/**
* Creates a new segment that can be used for instance within the {@link \Piwik\Columns\Dimension::configureSegment()}
* method. Make sure to set at least the following values: {@link setName()}, {@link setSegment()},
* {@link setSqlSegment()}, {@link setType()} and {@link setCategory()}. If you are using a segment in the context of a
* dimension the type and the SQL segment is usually set for you automatically.
*
* Example:
* ```
$segment = new \Piwik\Plugin\Segment();
$segment->setType(\Piwik\Plugin\Segment::TYPE_DIMENSION);
$segment->setName('General_EntryKeyword');
$segment->setCategory('General_Visit');
$segment->setSegment('entryKeyword');
$segment->setSqlSegment('log_visit.entry_keyword');
$segment->setAcceptedValues('Any keywords people search for on your website such as "help" or "imprint"');
```
* @api
* @since 2.5.0
*/
class Segment
{
/**
* Segment type 'dimension'. Can be used along with {@link setType()}.
* @api
*/
const TYPE_DIMENSION = 'dimension';
/**
* Segment type 'metric'. Can be used along with {@link setType()}.
* @api
*/
const TYPE_METRIC = 'metric';
private $type;
private $category;
private $name;
private $segment;
private $sqlSegment;
private $sqlFilter;
... [truncated, 292 more lines] ...
|
{
"@context": "https://schema.org",
"@type": "SoftwareSourceCode",
"name": "Segment.php",
"description": "PHP module for Segment",
"dateModified": "2016-05-21",
"dateCreated": "2025-03-23",
"contentSize": "10.1 KB",
"contentUrl": "https://www.artikelschreiber.com/opensource/buzzerstar/static/core/Plugin/Segment.php",
"programmingLanguage": {
"@type": "ComputerLanguage",
"name": "Php"
},
"codeRepository": "https://www.artikelschreiber.com/opensource/buzzerstar/static/core/Plugin/"
}
🐘 Settings.php (Php) 9.1 KB 2016-05-21
Configuration settings for the application
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52 | <?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\Plugin;
use Piwik\Piwik;
use Piwik\Settings\Setting;
use Piwik\Settings\Storage;
use Piwik\Settings\StorageInterface;
use Piwik\Tracker\SettingsStorage;
/**
* Base class of all plugin settings providers. Plugins that define their own configuration settings
* can extend this class to easily make their settings available to Piwik users.
*
* Descendants of this class should implement the {@link init()} method and call the
* {@link addSetting()} method for each of the plugin's settings.
*
* For an example, see the {@link Piwik\Plugins\ExampleSettingsPlugin\ExampleSettingsPlugin} plugin.
*
* @api
*/
abstract class Settings
{
const TYPE_INT = 'integer';
const TYPE_FLOAT = 'float';
const TYPE_STRING = 'string';
const TYPE_BOOL = 'boolean';
const TYPE_ARRAY = 'array';
const CONTROL_RADIO = 'radio';
const CONTROL_TEXT = 'text';
const CONTROL_TEXTAREA = 'textarea';
const CONTROL_CHECKBOX = 'checkbox';
const CONTROL_PASSWORD = 'password';
const CONTROL_MULTI_SELECT = 'multiselect';
const CONTROL_SINGLE_SELECT = 'select';
/**
* An array containing all available settings: Array ( [setting-name] => [setting] )
*
* @var Settings[]
*/
private $settings = array();
... [truncated, 259 more lines] ...
|
{
"@context": "https://schema.org",
"@type": "SoftwareSourceCode",
"name": "Settings.php",
"description": "Configuration settings for the application",
"dateModified": "2016-05-21",
"dateCreated": "2025-03-23",
"contentSize": "9.1 KB",
"contentUrl": "https://www.artikelschreiber.com/opensource/buzzerstar/static/core/Plugin/Settings.php",
"programmingLanguage": {
"@type": "ComputerLanguage",
"name": "Php"
},
"codeRepository": "https://www.artikelschreiber.com/opensource/buzzerstar/static/core/Plugin/"
}
🐘 Tasks.php (Php) 5.4 KB 2016-05-21
PHP module for Tasks
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52 | <?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\Plugin;
use Piwik\Development;
use Piwik\Scheduler\Schedule\Schedule;
use Piwik\Scheduler\Task;
/**
* Base class for all Tasks declarations.
* Tasks are usually meant as scheduled tasks that are executed regularily by Piwik in the background. For instance
* once every hour or every day. This could be for instance checking for updates, sending email reports, etc.
* Please don't mix up tasks with console commands which can be executed on the CLI.
*/
class Tasks
{
/**
* @var Task[]
*/
private $tasks = array();
const LOWEST_PRIORITY = Task::LOWEST_PRIORITY;
const LOW_PRIORITY = Task::LOW_PRIORITY;
const NORMAL_PRIORITY = Task::NORMAL_PRIORITY;
const HIGH_PRIORITY = Task::HIGH_PRIORITY;
const HIGHEST_PRIORITY = Task::HIGHEST_PRIORITY;
/**
* This method is called to collect all schedule tasks. Register all your tasks here that should be executed
* regularily such as daily or monthly.
*/
public function schedule()
{
// eg $this->daily('myMethodName')
}
/**
* @return Task[] $tasks
*/
public function getScheduledTasks()
{
return $this->tasks;
}
... [truncated, 105 more lines] ...
|
{
"@context": "https://schema.org",
"@type": "SoftwareSourceCode",
"name": "Tasks.php",
"description": "PHP module for Tasks",
"dateModified": "2016-05-21",
"dateCreated": "2025-03-23",
"contentSize": "5.4 KB",
"contentUrl": "https://www.artikelschreiber.com/opensource/buzzerstar/static/core/Plugin/Tasks.php",
"programmingLanguage": {
"@type": "ComputerLanguage",
"name": "Php"
},
"codeRepository": "https://www.artikelschreiber.com/opensource/buzzerstar/static/core/Plugin/"
}
🐘 ViewDataTable.php (Php) 18.9 KB 2016-05-21
PHP module for ViewDataTable
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52 | <?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\Plugin;
use Piwik\API\Request;
use Piwik\Common;
use Piwik\DataTable;
use Piwik\Period;
use Piwik\Piwik;
use Piwik\View;
use Piwik\View\ViewInterface;
use Piwik\ViewDataTable\Config as VizConfig;
use Piwik\ViewDataTable\Manager as ViewDataTableManager;
use Piwik\ViewDataTable\Request as ViewDataTableRequest;
use Piwik\ViewDataTable\RequestConfig as VizRequest;
/**
* The base class of all report visualizations.
*
* ViewDataTable instances load analytics data via Piwik's Reporting API and then output some
* type of visualization of that data.
*
* Visualizations can be in any format. HTML-based visualizations should extend
* {@link Visualization}. Visualizations that use other formats, such as visualizations
* that output an image, should extend ViewDataTable directly.
*
* ### Creating ViewDataTables
*
* ViewDataTable instances are not created via the new operator, instead the {@link Piwik\ViewDataTable\Factory}
* class is used.
*
* The specific subclass to create is determined, first, by the **viewDataTable** query paramater.
* If this parameter is not set, then the default visualization type for the report being
* displayed is used.
*
* ### Configuring ViewDataTables
*
* **Display properties**
*
* ViewDataTable output can be customized by setting one of many available display
* properties. Display properties are stored as fields in {@link Piwik\ViewDataTable\Config} objects.
* ViewDataTables store a {@link Piwik\ViewDataTable\Config} object in the {@link $config} field.
*
* Display properties can be set at any time before rendering.
... [truncated, 510 more lines] ...
|
{
"@context": "https://schema.org",
"@type": "SoftwareSourceCode",
"name": "ViewDataTable.php",
"description": "PHP module for ViewDataTable",
"dateModified": "2016-05-21",
"dateCreated": "2025-03-23",
"contentSize": "18.9 KB",
"contentUrl": "https://www.artikelschreiber.com/opensource/buzzerstar/static/core/Plugin/ViewDataTable.php",
"programmingLanguage": {
"@type": "ComputerLanguage",
"name": "Php"
},
"codeRepository": "https://www.artikelschreiber.com/opensource/buzzerstar/static/core/Plugin/"
}
🐘 Visualization.php (Php) 27.5 KB 2016-05-21
PHP module for Visualization
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52 | <?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\Plugin;
use Piwik\API\DataTablePostProcessor;
use Piwik\API\Proxy;
use Piwik\API\ResponseBuilder;
use Piwik\Common;
use Piwik\DataTable;
use Piwik\Date;
use Piwik\Log;
use Piwik\Metrics\Formatter\Html as HtmlFormatter;
use Piwik\NoAccessException;
use Piwik\Option;
use Piwik\Period;
use Piwik\Piwik;
use Piwik\Plugins\API\API as ApiApi;
use Piwik\Plugins\PrivacyManager\PrivacyManager;
use Piwik\View;
use Piwik\ViewDataTable\Manager as ViewDataTableManager;
use Piwik\Plugin\Manager as PluginManager;
use Piwik\API\Request as ApiRequest;
/**
* The base class for report visualizations that output HTML and use JavaScript.
*
* Report visualizations that extend from this class will be displayed like all others in
* the Piwik UI. The following extra UI controls will be displayed around the visualization
* itself:
*
* - report documentation,
* - a footer message (if {@link Piwik\ViewDataTable\Config::$show_footer_message} is set),
* - a list of links to related reports (if {@link Piwik\ViewDataTable\Config::$related_reports} is set),
* - a button that allows users to switch visualizations,
* - a control that allows users to export report data in different formats,
* - a limit control that allows users to change the amount of rows displayed (if
* {@link Piwik\ViewDataTable\Config::$show_limit_control} is true),
* - and more depending on the visualization.
*
* ### Rendering Process
*
* The following process is used to render reports:
*
... [truncated, 708 more lines] ...
|
{
"@context": "https://schema.org",
"@type": "SoftwareSourceCode",
"name": "Visualization.php",
"description": "PHP module for Visualization",
"dateModified": "2016-05-21",
"dateCreated": "2025-03-23",
"contentSize": "27.5 KB",
"contentUrl": "https://www.artikelschreiber.com/opensource/buzzerstar/static/core/Plugin/Visualization.php",
"programmingLanguage": {
"@type": "ComputerLanguage",
"name": "Php"
},
"codeRepository": "https://www.artikelschreiber.com/opensource/buzzerstar/static/core/Plugin/"
}
🐘 Widgets.php (Php) 5.9 KB 2016-05-21
PHP module for Widgets
{
"@context": "https://schema.org",
"@type": "SoftwareSourceCode",
"name": "Widgets.php",
"description": "PHP module for Widgets",
"dateModified": "2016-05-21",
"dateCreated": "2025-03-23",
"contentSize": "5.9 KB",
"contentUrl": "https://www.artikelschreiber.com/opensource/buzzerstar/static/core/Plugin/Widgets.php",
"programmingLanguage": {
"@type": "ComputerLanguage",
"name": "Php"
},
"codeRepository": "https://www.artikelschreiber.com/opensource/buzzerstar/static/core/Plugin/"
}
Dimension/
(4 files) 🐘 ActionDimension.php (Php) 9.1 KB 2016-05-21
PHP module for ActionDimension
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52 | <?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\Plugin\Dimension;
use Piwik\CacheId;
use Piwik\Cache as PiwikCache;
use Piwik\Columns\Dimension;
use Piwik\Plugin\Manager as PluginManager;
use Piwik\Plugin\Segment;
use Piwik\Common;
use Piwik\Plugin;
use Piwik\Db;
use Piwik\Tracker\Action;
use Piwik\Tracker\Request;
use Piwik\Tracker\Visitor;
use Exception;
/**
* Defines a new action dimension that records any information during tracking for each action.
*
* You can record any action information by implementing one of the following events: {@link onLookupAction()} and
* {@link getActionId()} or {@link onNewAction()}. By defining a {@link $columnName} and {@link $columnType} a new
* column will be created in the database (table `log_link_visit_action`) automatically and the values you return in
* the previous mentioned events will be saved in this column.
*
* You can create a new dimension using the console command `./console generate:dimension`.
*
* @api
* @since 2.5.0
*/
abstract class ActionDimension extends Dimension
{
const INSTALLER_PREFIX = 'log_link_visit_action.';
private $tableName = 'log_link_visit_action';
/**
* Installs the action dimension in case it is not installed yet. The installation is already implemented based on
* the {@link $columnName} and {@link $columnType}. If you want to perform additional actions beside adding the
* column to the database - for instance adding an index - you can overwrite this method. We recommend to call
* this parent method to get the minimum required actions and then add further custom actions since this makes sure
* the column will be installed correctly. We also recommend to change the default install behavior only if really
* needed. FYI: We do not directly execute those alter table statements here as we group them together with several
* other alter table statements do execute those changes in one step which results in a faster installation. The
... [truncated, 205 more lines] ...
|
{
"@context": "https://schema.org",
"@type": "SoftwareSourceCode",
"name": "ActionDimension.php",
"description": "PHP module for ActionDimension",
"dateModified": "2016-05-21",
"dateCreated": "2025-03-23",
"contentSize": "9.1 KB",
"contentUrl": "https://www.artikelschreiber.com/opensource/buzzerstar/static/core/Plugin/Dimension/ActionDimension.php",
"programmingLanguage": {
"@type": "ComputerLanguage",
"name": "Php"
},
"codeRepository": "https://www.artikelschreiber.com/opensource/buzzerstar/static/core/Plugin/"
}
🐘 ConversionDimension.php (Php) 7.8 KB 2016-05-21
PHP module for ConversionDimension
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52 | <?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\Plugin\Dimension;
use Piwik\CacheId;
use Piwik\Cache as PiwikCache;
use Piwik\Columns\Dimension;
use Piwik\Plugin\Manager as PluginManager;
use Piwik\Common;
use Piwik\Db;
use Piwik\Tracker\Action;
use Piwik\Tracker\GoalManager;
use Piwik\Tracker\Request;
use Piwik\Tracker\Visitor;
use Piwik\Plugin\Segment;
use Piwik\Plugin;
use Exception;
/**
* Defines a new conversion dimension that records any visit related information during tracking.
*
* You can record any visit information by implementing one of the following events:
* {@link onEcommerceOrderConversion()}, {@link onEcommerceCartUpdateConversion()} or {@link onGoalConversion()}.
* By defining a {@link $columnName} and {@link $columnType} a new column will be created in the database
* (table `log_conversion`) automatically and the values you return in the previous mentioned events will be saved in
* this column.
*
* You can create a new dimension using the console command `./console generate:dimension`.
*
* @api
* @since 2.5.0
*/
abstract class ConversionDimension extends Dimension
{
const INSTALLER_PREFIX = 'log_conversion.';
private $tableName = 'log_conversion';
/**
* Installs the conversion dimension in case it is not installed yet. The installation is already implemented based
* on the {@link $columnName} and {@link $columnType}. If you want to perform additional actions beside adding the
* column to the database - for instance adding an index - you can overwrite this method. We recommend to call
* this parent method to get the minimum required actions and then add further custom actions since this makes sure
* the column will be installed correctly. We also recommend to change the default install behavior only if really
... [truncated, 198 more lines] ...
|
{
"@context": "https://schema.org",
"@type": "SoftwareSourceCode",
"name": "ConversionDimension.php",
"description": "PHP module for ConversionDimension",
"dateModified": "2016-05-21",
"dateCreated": "2025-03-23",
"contentSize": "7.8 KB",
"contentUrl": "https://www.artikelschreiber.com/opensource/buzzerstar/static/core/Plugin/Dimension/ConversionDimension.php",
"programmingLanguage": {
"@type": "ComputerLanguage",
"name": "Php"
},
"codeRepository": "https://www.artikelschreiber.com/opensource/buzzerstar/static/core/Plugin/"
}
🐘 DimensionMetadataProvider.php (Php) 3.3 KB 2016-05-21
PHP module for DimensionMetadataProvider
{
"@context": "https://schema.org",
"@type": "SoftwareSourceCode",
"name": "DimensionMetadataProvider.php",
"description": "PHP module for DimensionMetadataProvider",
"dateModified": "2016-05-21",
"dateCreated": "2025-03-23",
"contentSize": "3.3 KB",
"contentUrl": "https://www.artikelschreiber.com/opensource/buzzerstar/static/core/Plugin/Dimension/DimensionMetadataProvider.php",
"programmingLanguage": {
"@type": "ComputerLanguage",
"name": "Php"
},
"codeRepository": "https://www.artikelschreiber.com/opensource/buzzerstar/static/core/Plugin/"
}
🐘 VisitDimension.php (Php) 13.8 KB 2016-05-21
PHP module for VisitDimension
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52 | <?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\Plugin\Dimension;
use Piwik\CacheId;
use Piwik\Cache as PiwikCache;
use Piwik\Columns\Dimension;
use Piwik\Common;
use Piwik\Db;
use Piwik\Plugin\Manager as PluginManager;
use Piwik\Plugin\Segment;
use Piwik\Tracker\Request;
use Piwik\Tracker\Visitor;
use Piwik\Tracker\Action;
use Piwik\Tracker;
use Piwik\Plugin;
use Exception;
/**
* Defines a new visit dimension that records any visit related information during tracking.
*
* You can record any visit information by implementing one of the following events: {@link onNewVisit()},
* {@link onExistingVisit()}, {@link onConvertedVisit()} or {@link onAnyGoalConversion()}. By defining a
* {@link $columnName} and {@link $columnType} a new column will be created in the database (table `log_visit`)
* automatically and the values you return in the previous mentioned events will be saved in this column.
*
* You can create a new dimension using the console command `./console generate:dimension`.
*
* @api
* @since 2.5.0
*/
abstract class VisitDimension extends Dimension
{
const INSTALLER_PREFIX = 'log_visit.';
private $tableName = 'log_visit';
/**
* Installs the visit dimension in case it is not installed yet. The installation is already implemented based on
* the {@link $columnName} and {@link $columnType}. If you want to perform additional actions beside adding the
* column to the database - for instance adding an index - you can overwrite this method. We recommend to call
* this parent method to get the minimum required actions and then add further custom actions since this makes sure
* the column will be installed correctly. We also recommend to change the default install behavior only if really
* needed. FYI: We do not directly execute those alter table statements here as we group them together with several
... [truncated, 347 more lines] ...
|
{
"@context": "https://schema.org",
"@type": "SoftwareSourceCode",
"name": "VisitDimension.php",
"description": "PHP module for VisitDimension",
"dateModified": "2016-05-21",
"dateCreated": "2025-03-23",
"contentSize": "13.8 KB",
"contentUrl": "https://www.artikelschreiber.com/opensource/buzzerstar/static/core/Plugin/Dimension/VisitDimension.php",
"programmingLanguage": {
"@type": "ComputerLanguage",
"name": "Php"
},
"codeRepository": "https://www.artikelschreiber.com/opensource/buzzerstar/static/core/Plugin/"
}