1
0
قرینه از https://github.com/matomo-org/matomo.git synced 2025-08-21 22:47:43 +00:00
Files
matomo/plugins/DevicePlugins/VisitorDetails.php
Michal Kleiner 9a3ef94df6 [Coding Style] Enable rule PSR12.Files.FileHeader + unify file headers (#22132)
* [Coding Style] Enable rule PSR12.Files.FileHeader

* Apply CS

* Replace Piwik with Matomo in file headers

* Unify file headers (position, no. of lines, https links)

* Rebuild dist files

* Apply CS

* Fix system test that relies on line numbers in a file that had the file header updated

---------

Co-authored-by: Stefan Giehl <stefan@matomo.org>
2024-04-20 20:50:47 +02:00

64 خطوط
1.7 KiB
PHP

<?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 PIWIK_INCLUDE_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;
}
}