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 53 54 55 56 57 58 59 60 61 62 63
|
<?php
/**
* 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\DevicePlugins;
use Piwik\Plugins\Live\VisitorDetailsAbstract;
require_once MATOMO_PLUGINS_PATH . '/plugins/DevicePlugins/functions.php';
class VisitorDetails extends VisitorDetailsAbstract
{
public const DELIMITER_PLUGIN_NAME = ", ";
public function extendVisitorDetails(&$visitor)
{
$visitor['plugins'] = $this->getPlugins();
$visitor['pluginsIcons'] = $this->getPluginIcons();
}
protected function getPlugins()
{
$plugins = array();
$columns = DevicePlugins::getAllPluginColumns();
foreach ($columns as $column) {
$plugins[] = $column->getColumnName();
}
$pluginShortNames = array();
foreach ($plugins as $plugin) {
if (array_key_exists($plugin, $this->details) && $this->details[$plugin] == 1) {
$pluginShortName = substr($plugin, 7);
$pluginShortNames[] = $pluginShortName;
}
}
return implode(self::DELIMITER_PLUGIN_NAME, $pluginShortNames);
}
protected function getPluginIcons()
{
$pluginNames = $this->getPlugins();
if (!empty($pluginNames)) {
$pluginNames = explode(self::DELIMITER_PLUGIN_NAME, $pluginNames);
$pluginIcons = array();
foreach ($pluginNames as $plugin) {
$pluginIcons[] = array("pluginIcon" => getPluginsLogo($plugin), "pluginName" => $plugin);
}
return $pluginIcons;
}
return null;
}
}
|