PDF rausgenommen
This commit is contained in:
220
msd2/tracking/piwik/plugins/Events/API.php
Normal file
220
msd2/tracking/piwik/plugins/Events/API.php
Normal file
@ -0,0 +1,220 @@
|
||||
<?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\Plugins\Events;
|
||||
|
||||
use Piwik\Archive;
|
||||
use Piwik\DataTable\Row;
|
||||
use Piwik\DataTable;
|
||||
use Piwik\Metrics;
|
||||
use Piwik\Piwik;
|
||||
|
||||
/**
|
||||
* The Events API lets you request reports about your users' Custom Events.
|
||||
*
|
||||
* Events are tracked using the Javascript Tracker trackEvent() function, or using the [Tracking HTTP API](http://developer.matomo.org/api-reference/tracking-api).
|
||||
*
|
||||
* <br/>An event is defined by an event category (Videos, Music, Games...),
|
||||
* an event action (Play, Pause, Duration, Add Playlist, Downloaded, Clicked...),
|
||||
* and an optional event name (a movie name, a song title, etc.) and an optional numeric value.
|
||||
*
|
||||
* <br/>This API exposes the following Custom Events reports: `getCategory` lists the top Event Categories,
|
||||
* `getAction` lists the top Event Actions, `getName` lists the top Event Names.
|
||||
*
|
||||
* <br/>These Events report define the following metrics: nb_uniq_visitors, nb_visits, nb_events.
|
||||
* If you define values for your events, you can expect to see the following metrics: nb_events_with_value,
|
||||
* sum_event_value, min_event_value, max_event_value, avg_event_value
|
||||
*
|
||||
* <br/>The Events.get* reports can be used with an optional `&secondaryDimension` parameter.
|
||||
* Secondary dimension is the dimension used in the sub-table of the Event report you are requesting.
|
||||
*
|
||||
* <br/>Here are the possible values of `secondaryDimension`: <ul>
|
||||
* <li>For `Events.getCategory` you can set `secondaryDimension` to `eventAction` or `eventName`.</li>
|
||||
* <li>For `Events.getAction` you can set `secondaryDimension` to `eventName` or `eventCategory`.</li>
|
||||
* <li>For `Events.getName` you can set `secondaryDimension` to `eventAction` or `eventCategory`.</li>
|
||||
* </ul>
|
||||
*
|
||||
* <br/>For example, to request all Custom Events Categories, and for each, the top Event actions,
|
||||
* you would request: `method=Events.getCategory&secondaryDimension=eventAction&flat=1`.
|
||||
* You may also omit `&flat=1` in which case, to get top Event actions for one Event category,
|
||||
* use `method=Events.getActionFromCategoryId` passing it the `&idSubtable=` of this Event category.
|
||||
*
|
||||
* @package Events
|
||||
* @method static \Piwik\Plugins\Events\API getInstance()
|
||||
*/
|
||||
class API extends \Piwik\Plugin\API
|
||||
{
|
||||
protected $defaultMappingApiToSecondaryDimension = array(
|
||||
'getCategory' => 'eventAction',
|
||||
'getAction' => 'eventName',
|
||||
'getName' => 'eventAction',
|
||||
);
|
||||
|
||||
protected $mappingApiToRecord = array(
|
||||
'getCategory' =>
|
||||
array(
|
||||
'eventAction' => Archiver::EVENTS_CATEGORY_ACTION_RECORD_NAME,
|
||||
'eventName' => Archiver::EVENTS_CATEGORY_NAME_RECORD_NAME,
|
||||
),
|
||||
'getAction' =>
|
||||
array(
|
||||
'eventName' => Archiver::EVENTS_ACTION_NAME_RECORD_NAME,
|
||||
'eventCategory' => Archiver::EVENTS_ACTION_CATEGORY_RECORD_NAME,
|
||||
),
|
||||
'getName' =>
|
||||
array(
|
||||
'eventAction' => Archiver::EVENTS_NAME_ACTION_RECORD_NAME,
|
||||
'eventCategory' => Archiver::EVENTS_NAME_CATEGORY_RECORD_NAME,
|
||||
),
|
||||
'getActionFromCategoryId' => Archiver::EVENTS_CATEGORY_ACTION_RECORD_NAME,
|
||||
'getNameFromCategoryId' => Archiver::EVENTS_CATEGORY_NAME_RECORD_NAME,
|
||||
'getCategoryFromActionId' => Archiver::EVENTS_ACTION_CATEGORY_RECORD_NAME,
|
||||
'getNameFromActionId' => Archiver::EVENTS_ACTION_NAME_RECORD_NAME,
|
||||
'getActionFromNameId' => Archiver::EVENTS_NAME_ACTION_RECORD_NAME,
|
||||
'getCategoryFromNameId' => Archiver::EVENTS_NAME_CATEGORY_RECORD_NAME,
|
||||
);
|
||||
|
||||
/**
|
||||
* @ignore
|
||||
*/
|
||||
public function getActionToLoadSubtables($apiMethod, $secondaryDimension = false)
|
||||
{
|
||||
$recordName = $this->getRecordNameForAction($apiMethod, $secondaryDimension);
|
||||
$apiMethod = array_search( $recordName, $this->mappingApiToRecord );
|
||||
return $apiMethod;
|
||||
}
|
||||
|
||||
/**
|
||||
* @ignore
|
||||
*/
|
||||
public function getDefaultSecondaryDimension($apiMethod)
|
||||
{
|
||||
if (isset($this->defaultMappingApiToSecondaryDimension[$apiMethod])) {
|
||||
return $this->defaultMappingApiToSecondaryDimension[$apiMethod];
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
protected function getRecordNameForAction($apiMethod, $secondaryDimension = false)
|
||||
{
|
||||
if (empty($secondaryDimension)) {
|
||||
$secondaryDimension = $this->getDefaultSecondaryDimension($apiMethod);
|
||||
}
|
||||
$record = $this->mappingApiToRecord[$apiMethod];
|
||||
if (!is_array($record)) {
|
||||
return $record;
|
||||
}
|
||||
// when secondaryDimension is incorrectly set
|
||||
if (empty($record[$secondaryDimension])) {
|
||||
return key($record);
|
||||
}
|
||||
return $record[$secondaryDimension];
|
||||
}
|
||||
|
||||
/**
|
||||
* @ignore
|
||||
* @param $apiMethod
|
||||
* @return array
|
||||
*/
|
||||
public function getSecondaryDimensions($apiMethod)
|
||||
{
|
||||
$records = $this->mappingApiToRecord[$apiMethod];
|
||||
if (!is_array($records)) {
|
||||
return false;
|
||||
}
|
||||
return array_keys($records);
|
||||
}
|
||||
|
||||
protected function checkSecondaryDimension($apiMethod, $secondaryDimension)
|
||||
{
|
||||
if (empty($secondaryDimension)) {
|
||||
return;
|
||||
}
|
||||
|
||||
$isSecondaryDimensionValid =
|
||||
isset($this->mappingApiToRecord[$apiMethod])
|
||||
&& isset($this->mappingApiToRecord[$apiMethod][$secondaryDimension]);
|
||||
|
||||
if (!$isSecondaryDimensionValid) {
|
||||
throw new \Exception(
|
||||
"Secondary dimension '$secondaryDimension' is not valid for the API $apiMethod. ".
|
||||
"Use one of: " . implode(", ", $this->getSecondaryDimensions($apiMethod))
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
protected function getDataTable($name, $idSite, $period, $date, $segment, $expanded = false, $idSubtable = null, $secondaryDimension = false, $flat = false)
|
||||
{
|
||||
Piwik::checkUserHasViewAccess($idSite);
|
||||
$this->checkSecondaryDimension($name, $secondaryDimension);
|
||||
$recordName = $this->getRecordNameForAction($name, $secondaryDimension);
|
||||
|
||||
$dataTable = Archive::createDataTableFromArchive($recordName, $idSite, $period, $date, $segment, $expanded, $flat, $idSubtable);
|
||||
|
||||
if ($flat) {
|
||||
$dataTable->filterSubtables('Piwik\Plugins\Events\DataTable\Filter\ReplaceEventNameNotSet');
|
||||
} else {
|
||||
$dataTable->filter('AddSegmentValue', array(function ($label) {
|
||||
if ($label === Archiver::EVENT_NAME_NOT_SET) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return $label;
|
||||
}));
|
||||
}
|
||||
|
||||
$dataTable->filter('Piwik\Plugins\Events\DataTable\Filter\ReplaceEventNameNotSet');
|
||||
|
||||
return $dataTable;
|
||||
}
|
||||
|
||||
public function getCategory($idSite, $period, $date, $segment = false, $expanded = false, $secondaryDimension = false, $flat = false)
|
||||
{
|
||||
return $this->getDataTable(__FUNCTION__, $idSite, $period, $date, $segment, $expanded, $idSubtable = false, $secondaryDimension, $flat);
|
||||
}
|
||||
|
||||
public function getAction($idSite, $period, $date, $segment = false, $expanded = false, $secondaryDimension = false, $flat = false)
|
||||
{
|
||||
return $this->getDataTable(__FUNCTION__, $idSite, $period, $date, $segment, $expanded, $idSubtable = false, $secondaryDimension, $flat);
|
||||
}
|
||||
|
||||
public function getName($idSite, $period, $date, $segment = false, $expanded = false, $secondaryDimension = false, $flat = false)
|
||||
{
|
||||
return $this->getDataTable(__FUNCTION__, $idSite, $period, $date, $segment, $expanded, $idSubtable = false, $secondaryDimension, $flat);
|
||||
}
|
||||
|
||||
public function getActionFromCategoryId($idSite, $period, $date, $idSubtable, $segment = false)
|
||||
{
|
||||
return $this->getDataTable(__FUNCTION__, $idSite, $period, $date, $segment, $expanded = false, $idSubtable);
|
||||
}
|
||||
|
||||
public function getNameFromCategoryId($idSite, $period, $date, $idSubtable, $segment = false)
|
||||
{
|
||||
return $this->getDataTable(__FUNCTION__, $idSite, $period, $date, $segment, $expanded = false, $idSubtable);
|
||||
}
|
||||
|
||||
public function getCategoryFromActionId($idSite, $period, $date, $idSubtable, $segment = false)
|
||||
{
|
||||
return $this->getDataTable(__FUNCTION__, $idSite, $period, $date, $segment, $expanded = false, $idSubtable);
|
||||
}
|
||||
|
||||
public function getNameFromActionId($idSite, $period, $date, $idSubtable, $segment = false)
|
||||
{
|
||||
return $this->getDataTable(__FUNCTION__, $idSite, $period, $date, $segment, $expanded = false, $idSubtable);
|
||||
}
|
||||
|
||||
public function getActionFromNameId($idSite, $period, $date, $idSubtable, $segment = false)
|
||||
{
|
||||
return $this->getDataTable(__FUNCTION__, $idSite, $period, $date, $segment, $expanded = false, $idSubtable);
|
||||
}
|
||||
|
||||
public function getCategoryFromNameId($idSite, $period, $date, $idSubtable, $segment = false)
|
||||
{
|
||||
return $this->getDataTable(__FUNCTION__, $idSite, $period, $date, $segment, $expanded = false, $idSubtable);
|
||||
}
|
||||
}
|
89
msd2/tracking/piwik/plugins/Events/Actions/ActionEvent.php
Normal file
89
msd2/tracking/piwik/plugins/Events/Actions/ActionEvent.php
Normal file
@ -0,0 +1,89 @@
|
||||
<?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\Plugins\Events\Actions;
|
||||
|
||||
use Piwik\Common;
|
||||
use Piwik\Tracker\Action;
|
||||
use Piwik\Tracker\Request;
|
||||
use Piwik\Tracker;
|
||||
|
||||
/**
|
||||
* An Event is composed of a URL, a Category name, an Action name, and optionally a Name and Value.
|
||||
*
|
||||
*/
|
||||
class ActionEvent extends Action
|
||||
{
|
||||
public function __construct(Request $request)
|
||||
{
|
||||
parent::__construct(Action::TYPE_EVENT, $request);
|
||||
|
||||
$url = $request->getParam('url');
|
||||
|
||||
$this->setActionUrl($url);
|
||||
$this->eventValue = self::getEventValue($request);
|
||||
}
|
||||
|
||||
public static function shouldHandle(Request $request)
|
||||
{
|
||||
$eventCategory = $request->getParam('e_c');
|
||||
$eventAction = $request->getParam('e_a');
|
||||
|
||||
return (strlen($eventCategory) > 0 && strlen($eventAction) > 0);
|
||||
}
|
||||
|
||||
public static function getEventValue(Request $request)
|
||||
{
|
||||
return trim($request->getParam('e_v'));
|
||||
}
|
||||
|
||||
public function getEventAction()
|
||||
{
|
||||
return $this->request->getParam('e_a');
|
||||
}
|
||||
|
||||
public function getEventCategory()
|
||||
{
|
||||
return $this->request->getParam('e_c');
|
||||
}
|
||||
|
||||
public function getEventName()
|
||||
{
|
||||
return $this->request->getParam('e_n');
|
||||
}
|
||||
|
||||
public function getCustomFloatValue()
|
||||
{
|
||||
return $this->eventValue;
|
||||
}
|
||||
|
||||
protected function getActionsToLookup()
|
||||
{
|
||||
$actionUrl = false;
|
||||
|
||||
$url = $this->getActionUrl();
|
||||
|
||||
if (!empty($url)) {
|
||||
// normalize urls by stripping protocol and www
|
||||
$url = Tracker\PageUrl::normalizeUrl($url);
|
||||
$actionUrl = array($url['url'], $this->getActionType(), $url['prefixId']);
|
||||
}
|
||||
|
||||
return array('idaction_url' => $actionUrl);
|
||||
}
|
||||
|
||||
public function writeDebugInfo()
|
||||
{
|
||||
$write = parent::writeDebugInfo();
|
||||
if ($write) {
|
||||
Common::printDebug("Event Value = " . $this->getCustomFloatValue());
|
||||
}
|
||||
return $write;
|
||||
}
|
||||
}
|
268
msd2/tracking/piwik/plugins/Events/Archiver.php
Normal file
268
msd2/tracking/piwik/plugins/Events/Archiver.php
Normal file
@ -0,0 +1,268 @@
|
||||
<?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\Plugins\Events;
|
||||
|
||||
use Piwik\Config;
|
||||
use Piwik\DataArray;
|
||||
use Piwik\DataTable;
|
||||
use Piwik\Metrics;
|
||||
use Piwik\Plugins\Actions\ArchivingHelper;
|
||||
use Piwik\RankingQuery;
|
||||
use Piwik\Tracker\Action;
|
||||
|
||||
/**
|
||||
* Processing reports for Events
|
||||
|
||||
EVENT
|
||||
- Category
|
||||
- Action
|
||||
- Name
|
||||
- Value
|
||||
|
||||
METRICS (Events Overview report)
|
||||
- Total number of events
|
||||
- Unique events
|
||||
- Visits with events
|
||||
- Events/visit
|
||||
- Event value
|
||||
- Average event value AVG(custom_float)
|
||||
|
||||
MAIN REPORTS:
|
||||
- Top Event Category (total events, unique events, event value, avg+min+max value)
|
||||
- Top Event Action (total events, unique events, event value, avg+min+max value)
|
||||
- Top Event Name (total events, unique events, event value, avg+min+max value)
|
||||
|
||||
COMPOSED REPORTS
|
||||
- Top Category > Actions X
|
||||
- Top Category > Names X
|
||||
- Top Actions > Categories X
|
||||
- Top Actions > Names X
|
||||
- Top Names > Actions X
|
||||
- Top Names > Categories X
|
||||
|
||||
UI
|
||||
- Overview at the top (graph + Sparklines)
|
||||
- Below show the left menu, defaults to Top Event Category
|
||||
|
||||
Not MVP:
|
||||
- On hover on any row: Show % of total events
|
||||
- Add min value metric, max value metric in tooltip
|
||||
- List event scope Custom Variables Names > Custom variables values > Event Names > Event Actions
|
||||
- List event scope Custom Variables Value > Event Category > Event Names > Event Actions
|
||||
|
||||
NOTES:
|
||||
- For a given Name, Category is often constant
|
||||
|
||||
*/
|
||||
class Archiver extends \Piwik\Plugin\Archiver
|
||||
{
|
||||
const EVENTS_CATEGORY_ACTION_RECORD_NAME = 'Events_category_action';
|
||||
const EVENTS_CATEGORY_NAME_RECORD_NAME = 'Events_category_name';
|
||||
const EVENTS_ACTION_CATEGORY_RECORD_NAME = 'Events_action_category';
|
||||
const EVENTS_ACTION_NAME_RECORD_NAME = 'Events_action_name';
|
||||
const EVENTS_NAME_ACTION_RECORD_NAME = 'Events_name_action';
|
||||
const EVENTS_NAME_CATEGORY_RECORD_NAME = 'Events_name_category';
|
||||
const EVENT_NAME_NOT_SET = 'Piwik_EventNameNotSet';
|
||||
|
||||
/**
|
||||
* @var DataArray[]
|
||||
*/
|
||||
protected $arrays = array();
|
||||
|
||||
function __construct($processor)
|
||||
{
|
||||
parent::__construct($processor);
|
||||
$this->columnToSortByBeforeTruncation = Metrics::INDEX_NB_VISITS;
|
||||
$this->maximumRowsInDataTable = Config::getInstance()->General['datatable_archiving_maximum_rows_events'];
|
||||
$this->maximumRowsInSubDataTable = Config::getInstance()->General['datatable_archiving_maximum_rows_subtable_events'];
|
||||
}
|
||||
|
||||
protected function getRecordToDimensions()
|
||||
{
|
||||
return array(
|
||||
self::EVENTS_CATEGORY_ACTION_RECORD_NAME => array("eventCategory", "eventAction"),
|
||||
self::EVENTS_CATEGORY_NAME_RECORD_NAME => array("eventCategory", "eventName"),
|
||||
self::EVENTS_ACTION_NAME_RECORD_NAME => array("eventAction", "eventName"),
|
||||
self::EVENTS_ACTION_CATEGORY_RECORD_NAME => array("eventAction", "eventCategory"),
|
||||
self::EVENTS_NAME_ACTION_RECORD_NAME => array("eventName", "eventAction"),
|
||||
self::EVENTS_NAME_CATEGORY_RECORD_NAME => array("eventName", "eventCategory"),
|
||||
);
|
||||
}
|
||||
|
||||
public function aggregateMultipleReports()
|
||||
{
|
||||
$dataTableToSum = $this->getRecordNames();
|
||||
$columnsAggregationOperation = array(
|
||||
Metrics::INDEX_EVENT_MIN_EVENT_VALUE => 'min',
|
||||
Metrics::INDEX_EVENT_MAX_EVENT_VALUE => 'max',
|
||||
);
|
||||
|
||||
$this->getProcessor()->aggregateDataTableRecords(
|
||||
$dataTableToSum,
|
||||
$this->maximumRowsInDataTable,
|
||||
$this->maximumRowsInSubDataTable,
|
||||
$this->columnToSortByBeforeTruncation,
|
||||
$columnsAggregationOperation,
|
||||
$columnsToRenameAfterAggregation = null,
|
||||
$countRowsRecursive = array());
|
||||
}
|
||||
|
||||
protected function getRecordNames()
|
||||
{
|
||||
$mapping = $this->getRecordToDimensions();
|
||||
return array_keys($mapping);
|
||||
}
|
||||
|
||||
public function aggregateDayReport()
|
||||
{
|
||||
$this->aggregateDayEvents();
|
||||
$this->insertDayReports();
|
||||
}
|
||||
|
||||
protected function aggregateDayEvents()
|
||||
{
|
||||
$select = "
|
||||
log_action_event_category.name as eventCategory,
|
||||
log_action_event_action.name as eventAction,
|
||||
log_action_event_name.name as eventName,
|
||||
|
||||
count(distinct log_link_visit_action.idvisit) as `" . Metrics::INDEX_NB_VISITS . "`,
|
||||
count(distinct log_link_visit_action.idvisitor) as `" . Metrics::INDEX_NB_UNIQ_VISITORS . "`,
|
||||
count(*) as `" . Metrics::INDEX_EVENT_NB_HITS . "`,
|
||||
|
||||
sum(
|
||||
case when " . Action::DB_COLUMN_CUSTOM_FLOAT . " is null
|
||||
then 0
|
||||
else " . Action::DB_COLUMN_CUSTOM_FLOAT . "
|
||||
end
|
||||
) as `" . Metrics::INDEX_EVENT_SUM_EVENT_VALUE . "`,
|
||||
sum( case when " . Action::DB_COLUMN_CUSTOM_FLOAT . " is null then 0 else 1 end )
|
||||
as `" . Metrics::INDEX_EVENT_NB_HITS_WITH_VALUE . "`,
|
||||
min(" . Action::DB_COLUMN_CUSTOM_FLOAT . ") as `" . Metrics::INDEX_EVENT_MIN_EVENT_VALUE . "`,
|
||||
max(" . Action::DB_COLUMN_CUSTOM_FLOAT . ") as `" . Metrics::INDEX_EVENT_MAX_EVENT_VALUE . "`
|
||||
";
|
||||
|
||||
$from = array(
|
||||
"log_link_visit_action",
|
||||
array(
|
||||
"table" => "log_action",
|
||||
"tableAlias" => "log_action_event_category",
|
||||
"joinOn" => "log_link_visit_action.idaction_event_category = log_action_event_category.idaction"
|
||||
),
|
||||
array(
|
||||
"table" => "log_action",
|
||||
"tableAlias" => "log_action_event_action",
|
||||
"joinOn" => "log_link_visit_action.idaction_event_action = log_action_event_action.idaction"
|
||||
),
|
||||
array(
|
||||
"table" => "log_action",
|
||||
"tableAlias" => "log_action_event_name",
|
||||
"joinOn" => "log_link_visit_action.idaction_name = log_action_event_name.idaction"
|
||||
)
|
||||
);
|
||||
|
||||
$where = $this->getLogAggregator()->getWhereStatement('log_link_visit_action', 'server_time');
|
||||
$where .= " AND log_link_visit_action.idaction_event_category IS NOT NULL";
|
||||
|
||||
$groupBy = "log_link_visit_action.idaction_event_category,
|
||||
log_link_visit_action.idaction_event_action,
|
||||
log_link_visit_action.idaction_name";
|
||||
|
||||
$orderBy = "`" . Metrics::INDEX_NB_VISITS . "` DESC";
|
||||
|
||||
$rankingQueryLimit = ArchivingHelper::getRankingQueryLimit();
|
||||
$rankingQuery = null;
|
||||
if ($rankingQueryLimit > 0) {
|
||||
$rankingQuery = new RankingQuery($rankingQueryLimit);
|
||||
$rankingQuery->setOthersLabel(DataTable::LABEL_SUMMARY_ROW);
|
||||
$rankingQuery->addLabelColumn(array('eventCategory', 'eventAction', 'eventName'));
|
||||
$rankingQuery->addColumn(array(Metrics::INDEX_NB_UNIQ_VISITORS));
|
||||
$rankingQuery->addColumn(array(Metrics::INDEX_EVENT_NB_HITS, Metrics::INDEX_NB_VISITS, Metrics::INDEX_EVENT_NB_HITS_WITH_VALUE), 'sum');
|
||||
$rankingQuery->addColumn(Metrics::INDEX_EVENT_SUM_EVENT_VALUE, 'sum');
|
||||
$rankingQuery->addColumn(Metrics::INDEX_EVENT_MIN_EVENT_VALUE, 'min');
|
||||
$rankingQuery->addColumn(Metrics::INDEX_EVENT_MAX_EVENT_VALUE, 'max');
|
||||
}
|
||||
|
||||
$this->archiveDayQueryProcess($select, $from, $where, $groupBy, $orderBy, $rankingQuery);
|
||||
}
|
||||
|
||||
protected function archiveDayQueryProcess($select, $from, $where, $groupBy, $orderBy, RankingQuery $rankingQuery)
|
||||
{
|
||||
// get query with segmentation
|
||||
$query = $this->getLogAggregator()->generateQuery($select, $from, $where, $groupBy, $orderBy);
|
||||
|
||||
// apply ranking query
|
||||
if ($rankingQuery) {
|
||||
$query['sql'] = $rankingQuery->generateRankingQuery($query['sql']);
|
||||
}
|
||||
|
||||
// get result
|
||||
$resultSet = $this->getLogAggregator()->getDb()->query($query['sql'], $query['bind']);
|
||||
|
||||
if ($resultSet === false) {
|
||||
return;
|
||||
}
|
||||
|
||||
while ($row = $resultSet->fetch()) {
|
||||
$this->aggregateEventRow($row);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Records the daily datatables
|
||||
*/
|
||||
protected function insertDayReports()
|
||||
{
|
||||
foreach ($this->arrays as $recordName => $dataArray) {
|
||||
$dataTable = $dataArray->asDataTable();
|
||||
$blob = $dataTable->getSerialized(
|
||||
$this->maximumRowsInDataTable,
|
||||
$this->maximumRowsInSubDataTable,
|
||||
$this->columnToSortByBeforeTruncation);
|
||||
$this->getProcessor()->insertBlobRecord($recordName, $blob);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $name
|
||||
* @return DataArray
|
||||
*/
|
||||
protected function getDataArray($name)
|
||||
{
|
||||
if (empty($this->arrays[$name])) {
|
||||
$this->arrays[$name] = new DataArray();
|
||||
}
|
||||
return $this->arrays[$name];
|
||||
}
|
||||
|
||||
protected function aggregateEventRow($row)
|
||||
{
|
||||
foreach ($this->getRecordToDimensions() as $record => $dimensions) {
|
||||
$dataArray = $this->getDataArray($record);
|
||||
|
||||
$mainDimension = $dimensions[0];
|
||||
$mainLabel = $row[$mainDimension];
|
||||
|
||||
// Event name is optional
|
||||
if ($mainDimension == 'eventName'
|
||||
&& empty($mainLabel)) {
|
||||
$mainLabel = self::EVENT_NAME_NOT_SET;
|
||||
}
|
||||
$dataArray->sumMetricsEvents($mainLabel, $row);
|
||||
|
||||
$subDimension = $dimensions[1];
|
||||
$subLabel = $row[$subDimension];
|
||||
if (empty($subLabel)) {
|
||||
continue;
|
||||
}
|
||||
$dataArray->sumMetricsEventsPivot($mainLabel, $subLabel, $row);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,19 @@
|
||||
<?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\Plugins\Events\Categories;
|
||||
|
||||
use Piwik\Category\Category;
|
||||
|
||||
// Needed for dimensions and metrics
|
||||
class EventsCategory extends Category
|
||||
{
|
||||
protected $id = 'Events_Events';
|
||||
protected $order = 12;
|
||||
|
||||
}
|
@ -0,0 +1,19 @@
|
||||
<?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\Plugins\Events\Categories;
|
||||
|
||||
use Piwik\Category\Subcategory;
|
||||
|
||||
class EventsSubcategory extends Subcategory
|
||||
{
|
||||
protected $categoryId = 'General_Actions';
|
||||
protected $id = 'Events_Events';
|
||||
protected $order = 40;
|
||||
|
||||
}
|
60
msd2/tracking/piwik/plugins/Events/Columns/EventAction.php
Normal file
60
msd2/tracking/piwik/plugins/Events/Columns/EventAction.php
Normal file
@ -0,0 +1,60 @@
|
||||
<?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\Plugins\Events\Columns;
|
||||
|
||||
use Piwik\Columns\Discriminator;
|
||||
use Piwik\Columns\Join\ActionNameJoin;
|
||||
use Piwik\Exception\InvalidRequestParameterException;
|
||||
use Piwik\Plugin\Dimension\ActionDimension;
|
||||
use Piwik\Plugins\Events\Actions\ActionEvent;
|
||||
use Piwik\Tracker\Action;
|
||||
use Piwik\Tracker\Request;
|
||||
|
||||
class EventAction extends ActionDimension
|
||||
{
|
||||
protected $columnName = 'idaction_event_action';
|
||||
protected $columnType = 'INTEGER(10) UNSIGNED DEFAULT NULL';
|
||||
protected $type = self::TYPE_TEXT;
|
||||
protected $segmentName = 'eventAction';
|
||||
protected $nameSingular = 'Events_EventAction';
|
||||
protected $namePlural = 'Events_EventActions';
|
||||
protected $category = 'Events_Events';
|
||||
protected $sqlFilter = '\Piwik\Tracker\TableLogAction::getIdActionFromSegment';
|
||||
|
||||
public function getDbColumnJoin()
|
||||
{
|
||||
return new ActionNameJoin();
|
||||
}
|
||||
|
||||
public function getDbDiscriminator()
|
||||
{
|
||||
return new Discriminator('log_action', 'type', $this->getActionId());
|
||||
}
|
||||
|
||||
public function getActionId()
|
||||
{
|
||||
return Action::TYPE_EVENT_ACTION;
|
||||
}
|
||||
|
||||
public function onLookupAction(Request $request, Action $action)
|
||||
{
|
||||
if (!($action instanceof ActionEvent)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$eventAction = $action->getEventAction();
|
||||
$eventAction = trim($eventAction);
|
||||
|
||||
if (strlen($eventAction) > 0) {
|
||||
return $eventAction;
|
||||
}
|
||||
|
||||
throw new InvalidRequestParameterException('Param `e_a` must not be empty or filled with whitespaces');
|
||||
}
|
||||
}
|
60
msd2/tracking/piwik/plugins/Events/Columns/EventCategory.php
Normal file
60
msd2/tracking/piwik/plugins/Events/Columns/EventCategory.php
Normal file
@ -0,0 +1,60 @@
|
||||
<?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\Plugins\Events\Columns;
|
||||
|
||||
use Piwik\Columns\Discriminator;
|
||||
use Piwik\Columns\Join\ActionNameJoin;
|
||||
use Piwik\Exception\InvalidRequestParameterException;
|
||||
use Piwik\Plugin\Dimension\ActionDimension;
|
||||
use Piwik\Plugins\Events\Actions\ActionEvent;
|
||||
use Piwik\Tracker\Action;
|
||||
use Piwik\Tracker\Request;
|
||||
|
||||
class EventCategory extends ActionDimension
|
||||
{
|
||||
protected $columnName = 'idaction_event_category';
|
||||
protected $columnType = 'INTEGER(10) UNSIGNED DEFAULT NULL';
|
||||
protected $type = self::TYPE_TEXT;
|
||||
protected $category = 'Events_Events';
|
||||
protected $sqlFilter = '\Piwik\Tracker\TableLogAction::getIdActionFromSegment';
|
||||
protected $segmentName = 'eventCategory';
|
||||
protected $nameSingular = 'Events_EventCategory';
|
||||
protected $namePlural = 'Events_EventCategories';
|
||||
|
||||
public function getDbColumnJoin()
|
||||
{
|
||||
return new ActionNameJoin();
|
||||
}
|
||||
|
||||
public function getDbDiscriminator()
|
||||
{
|
||||
return new Discriminator('log_action', 'type', $this->getActionId());
|
||||
}
|
||||
|
||||
public function getActionId()
|
||||
{
|
||||
return Action::TYPE_EVENT_CATEGORY;
|
||||
}
|
||||
|
||||
public function onLookupAction(Request $request, Action $action)
|
||||
{
|
||||
if (!($action instanceof ActionEvent)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$eventCategory = $action->getEventCategory();
|
||||
$eventCategory = trim($eventCategory);
|
||||
|
||||
if (strlen($eventCategory) > 0) {
|
||||
return $eventCategory;
|
||||
}
|
||||
|
||||
throw new InvalidRequestParameterException('Param `e_c` must not be empty or filled with whitespaces');
|
||||
}
|
||||
}
|
58
msd2/tracking/piwik/plugins/Events/Columns/EventName.php
Normal file
58
msd2/tracking/piwik/plugins/Events/Columns/EventName.php
Normal file
@ -0,0 +1,58 @@
|
||||
<?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\Plugins\Events\Columns;
|
||||
|
||||
use Piwik\Columns\Discriminator;
|
||||
use Piwik\Columns\Join\ActionNameJoin;
|
||||
use Piwik\Plugin\Dimension\ActionDimension;
|
||||
use Piwik\Plugins\Events\Actions\ActionEvent;
|
||||
use Piwik\Tracker\Action;
|
||||
use Piwik\Tracker\Request;
|
||||
|
||||
class EventName extends ActionDimension
|
||||
{
|
||||
protected $columnName = 'idaction_name';
|
||||
protected $type = self::TYPE_TEXT;
|
||||
protected $category = 'Events_Events';
|
||||
protected $sqlFilter = '\Piwik\Tracker\TableLogAction::getIdActionFromSegment';
|
||||
protected $segmentName = 'eventName';
|
||||
protected $nameSingular = 'Events_EventName';
|
||||
protected $namePlural = 'Events_EventNames';
|
||||
|
||||
public function getDbColumnJoin()
|
||||
{
|
||||
return new ActionNameJoin();
|
||||
}
|
||||
|
||||
public function getDbDiscriminator()
|
||||
{
|
||||
return new Discriminator('log_action', 'type', $this->getActionId());
|
||||
}
|
||||
|
||||
public function getActionId()
|
||||
{
|
||||
return Action::TYPE_EVENT_NAME;
|
||||
}
|
||||
|
||||
public function onLookupAction(Request $request, Action $action)
|
||||
{
|
||||
if (!($action instanceof ActionEvent)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$eventName = $action->getEventName();
|
||||
$eventName = trim($eventName);
|
||||
|
||||
if (strlen($eventName) > 0) {
|
||||
return $eventName;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
38
msd2/tracking/piwik/plugins/Events/Columns/EventUrl.php
Normal file
38
msd2/tracking/piwik/plugins/Events/Columns/EventUrl.php
Normal file
@ -0,0 +1,38 @@
|
||||
<?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\Plugins\Events\Columns;
|
||||
|
||||
use Piwik\Columns\Discriminator;
|
||||
use Piwik\Columns\Join\ActionNameJoin;
|
||||
use Piwik\Plugin\Dimension\ActionDimension;
|
||||
use Piwik\Tracker\Action;
|
||||
|
||||
class EventUrl extends ActionDimension
|
||||
{
|
||||
protected $columnName = 'idaction_url';
|
||||
protected $segmentName = 'eventUrl';
|
||||
protected $nameSingular = 'Events_EventUrl';
|
||||
protected $namePlural = 'Events_EventUrls';
|
||||
protected $type = self::TYPE_URL;
|
||||
protected $acceptValues = 'The URL must be URL encoded, for example: http%3A%2F%2Fexample.com%2Fpath%2Fpage%3Fquery';
|
||||
protected $category = 'Events_Events';
|
||||
protected $sqlFilter = '\\Piwik\\Tracker\\TableLogAction::getIdActionFromSegment';
|
||||
|
||||
public function getDbColumnJoin()
|
||||
{
|
||||
return new ActionNameJoin();
|
||||
}
|
||||
|
||||
public function getDbDiscriminator()
|
||||
{
|
||||
return new Discriminator('log_action', 'type', Action::TYPE_EVENT);
|
||||
}
|
||||
|
||||
}
|
||||
|
57
msd2/tracking/piwik/plugins/Events/Columns/EventValue.php
Normal file
57
msd2/tracking/piwik/plugins/Events/Columns/EventValue.php
Normal file
@ -0,0 +1,57 @@
|
||||
<?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\Plugins\Events\Columns;
|
||||
|
||||
use Piwik\Columns\DimensionMetricFactory;
|
||||
use Piwik\Columns\Discriminator;
|
||||
use Piwik\Columns\MetricsList;
|
||||
use Piwik\Piwik;
|
||||
use Piwik\Plugin\ArchivedMetric;
|
||||
use Piwik\Plugin\ComputedMetric;
|
||||
use Piwik\Plugin\Dimension\ActionDimension;
|
||||
use Piwik\Tracker\Action;
|
||||
|
||||
class EventValue extends ActionDimension
|
||||
{
|
||||
protected $nameSingular = 'Events_EventValue';
|
||||
protected $columnName = 'custom_float';
|
||||
protected $category = 'Events_Events';
|
||||
protected $type = self::TYPE_FLOAT;
|
||||
protected $segmentName = 'eventValue';
|
||||
|
||||
public function getDbDiscriminator()
|
||||
{
|
||||
return new Discriminator('log_action', 'type', Action::TYPE_EVENT);
|
||||
}
|
||||
|
||||
public function configureMetrics(MetricsList $metricsList, DimensionMetricFactory $dimensionMetricFactory)
|
||||
{
|
||||
$metric1 = $dimensionMetricFactory->createMetric(ArchivedMetric::AGGREGATION_SUM);
|
||||
$metricsList->addMetric($metric1);
|
||||
|
||||
$metric2 = $dimensionMetricFactory->createMetric(ArchivedMetric::AGGREGATION_MAX);
|
||||
$metric2->setDocumentation(Piwik::translate('Events_MaxValueDocumentation'));
|
||||
$metricsList->addMetric($metric2);
|
||||
|
||||
$metric4 = $dimensionMetricFactory->createMetric(ArchivedMetric::AGGREGATION_MIN);
|
||||
$metric4->setDocumentation(Piwik::translate('Events_MinValueDocumentation'));
|
||||
$metricsList->addMetric($metric4);
|
||||
|
||||
$metric3 = $dimensionMetricFactory->createMetric(ArchivedMetric::AGGREGATION_COUNT_WITH_NUMERIC_VALUE);
|
||||
$metric3->setName('events_with_event_value');
|
||||
$metric3->setTranslatedName(Piwik::translate('Events_EventsWithValue'));
|
||||
$metric3->setDocumentation(Piwik::translate('Events_EventsWithValueDocumentation'));
|
||||
$metricsList->addMetric($metric3);
|
||||
|
||||
$metric = $dimensionMetricFactory->createComputedMetric($metric1->getName(), $metric3->getName(), ComputedMetric::AGGREGATION_AVG);
|
||||
$metric->setName('avg_event_value');
|
||||
$metric->setTranslatedName(Piwik::translate('Events_AvgValue'));
|
||||
$metricsList->addMetric($metric);
|
||||
}
|
||||
}
|
@ -0,0 +1,45 @@
|
||||
<?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\Plugins\Events\Columns\Metrics;
|
||||
|
||||
use Piwik\DataTable\Row;
|
||||
use Piwik\Piwik;
|
||||
use Piwik\Plugin\ProcessedMetric;
|
||||
|
||||
/**
|
||||
* The average value for a triggered event. Calculated as:
|
||||
*
|
||||
* sum_event_value / nb_events_with_value
|
||||
*
|
||||
* sum_event_value and nb_events_with_value are calculated by the Event archiver.
|
||||
*/
|
||||
class AverageEventValue extends ProcessedMetric
|
||||
{
|
||||
public function getName()
|
||||
{
|
||||
return 'avg_event_value';
|
||||
}
|
||||
|
||||
public function getTranslatedName()
|
||||
{
|
||||
return Piwik::translate('Events_AvgValueDocumentation');
|
||||
}
|
||||
|
||||
public function compute(Row $row)
|
||||
{
|
||||
$sumEventValue = $this->getMetric($row, 'sum_event_value');
|
||||
$eventsWithValue = $this->getMetric($row, 'nb_events_with_value');
|
||||
|
||||
return Piwik::getQuotientSafe($sumEventValue, $eventsWithValue, $precision = 2);
|
||||
}
|
||||
|
||||
public function getDependentMetrics()
|
||||
{
|
||||
return array('sum_event_value', 'nb_events_with_value');
|
||||
}
|
||||
}
|
64
msd2/tracking/piwik/plugins/Events/Columns/TotalEvents.php
Normal file
64
msd2/tracking/piwik/plugins/Events/Columns/TotalEvents.php
Normal file
@ -0,0 +1,64 @@
|
||||
<?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\Plugins\Events\Columns;
|
||||
|
||||
use Piwik\Plugin\Dimension\VisitDimension;
|
||||
use Piwik\Tracker\Action;
|
||||
use Piwik\Tracker\Request;
|
||||
use Piwik\Tracker\Visitor;
|
||||
|
||||
class TotalEvents extends VisitDimension
|
||||
{
|
||||
protected $columnName = 'visit_total_events';
|
||||
protected $columnType = 'INT(11) UNSIGNED NULL';
|
||||
protected $segmentName = 'events';
|
||||
protected $nameSingular = 'Events_Events';
|
||||
protected $acceptValues = 'To select all visits who triggered an Event, use: &segment=events>0';
|
||||
|
||||
protected $type = self::TYPE_NUMBER;
|
||||
|
||||
/**
|
||||
* @param Request $request
|
||||
* @param Visitor $visitor
|
||||
* @param Action|null $action
|
||||
* @return mixed
|
||||
*/
|
||||
public function onNewVisit(Request $request, Visitor $visitor, $action)
|
||||
{
|
||||
if ($this->isEventAction($action)) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param Request $request
|
||||
* @param Visitor $visitor
|
||||
* @param Action|null $action
|
||||
* @return int
|
||||
*/
|
||||
public function onExistingVisit(Request $request, Visitor $visitor, $action)
|
||||
{
|
||||
if ($this->isEventAction($action)) {
|
||||
return 'visit_total_events + 1';
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param Action|null $action
|
||||
* @return bool
|
||||
*/
|
||||
private function isEventAction($action)
|
||||
{
|
||||
return ($action && $action->getActionType() == Action::TYPE_EVENT);
|
||||
}
|
||||
}
|
@ -0,0 +1,39 @@
|
||||
<?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\Plugins\Events\DataTable\Filter;
|
||||
|
||||
use Piwik\DataTable\BaseFilter;
|
||||
use Piwik\DataTable\Row;
|
||||
use Piwik\DataTable;
|
||||
use Piwik\Piwik;
|
||||
use Piwik\Plugins\Events\Archiver;
|
||||
|
||||
class ReplaceEventNameNotSet extends BaseFilter
|
||||
{
|
||||
/**
|
||||
* Constructor.
|
||||
*
|
||||
* @param DataTable $table The table to eventually filter.
|
||||
*/
|
||||
public function __construct($table)
|
||||
{
|
||||
parent::__construct($table);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param DataTable $table
|
||||
*/
|
||||
public function filter($table)
|
||||
{
|
||||
$row = $table->getRowFromLabel(Archiver::EVENT_NAME_NOT_SET);
|
||||
if ($row) {
|
||||
$row->setColumn('label', Piwik::translate('General_NotDefined', Piwik::translate('Events_EventName')));
|
||||
}
|
||||
}
|
||||
}
|
274
msd2/tracking/piwik/plugins/Events/Events.php
Normal file
274
msd2/tracking/piwik/plugins/Events/Events.php
Normal file
@ -0,0 +1,274 @@
|
||||
<?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\Plugins\Events;
|
||||
|
||||
use Piwik\Common;
|
||||
use Piwik\DataTable;
|
||||
use Piwik\Piwik;
|
||||
use Piwik\Plugin\Report;
|
||||
use Piwik\Plugin\ViewDataTable;
|
||||
use Piwik\Plugin\ReportsProvider;
|
||||
use Piwik\Plugins\CoreVisualizations\Visualizations\HtmlTable\AllColumns;
|
||||
|
||||
class Events extends \Piwik\Plugin
|
||||
{
|
||||
/**
|
||||
* @see Piwik\Plugin::registerEvents
|
||||
*/
|
||||
public function registerEvents()
|
||||
{
|
||||
return array(
|
||||
'Metrics.getDefaultMetricDocumentationTranslations' => 'addMetricDocumentationTranslations',
|
||||
'Metrics.getDefaultMetricTranslations' => 'addMetricTranslations',
|
||||
'ViewDataTable.configure' => 'configureViewDataTable',
|
||||
'AssetManager.getStylesheetFiles' => 'getStylesheetFiles',
|
||||
'Actions.getCustomActionDimensionFieldsAndJoins' => 'provideActionDimensionFields'
|
||||
);
|
||||
}
|
||||
|
||||
public function addMetricTranslations(&$translations)
|
||||
{
|
||||
$translations = array_merge($translations, $this->getMetricTranslations());
|
||||
}
|
||||
|
||||
public function addMetricDocumentationTranslations(&$translations)
|
||||
{
|
||||
$translations = array_merge($translations, $this->getMetricDocumentation());
|
||||
}
|
||||
|
||||
public function getMetricDocumentation()
|
||||
{
|
||||
$documentation = array(
|
||||
'nb_events' => 'Events_TotalEventsDocumentation',
|
||||
'sum_event_value' => 'Events_TotalValueDocumentation',
|
||||
'min_event_value' => 'Events_MinValueDocumentation',
|
||||
'max_event_value' => 'Events_MaxValueDocumentation',
|
||||
'avg_event_value' => 'Events_AvgValueDocumentation',
|
||||
'nb_events_with_value' => 'Events_EventsWithValueDocumentation',
|
||||
);
|
||||
$documentation = array_map(array('\\Piwik\\Piwik', 'translate'), $documentation);
|
||||
return $documentation;
|
||||
}
|
||||
|
||||
public function getMetricTranslations()
|
||||
{
|
||||
$metrics = array(
|
||||
'nb_events' => 'Events_Events',
|
||||
'sum_event_value' => 'Events_EventValue',
|
||||
'min_event_value' => 'Events_MinValue',
|
||||
'max_event_value' => 'Events_MaxValue',
|
||||
'avg_event_value' => 'Events_AvgValue',
|
||||
'nb_events_with_value' => 'Events_EventsWithValue',
|
||||
);
|
||||
$metrics = array_map(array('\\Piwik\\Piwik', 'translate'), $metrics);
|
||||
return $metrics;
|
||||
}
|
||||
|
||||
public $metadataDimensions = array(
|
||||
'eventCategory' => array('Events_EventCategory', 'log_link_visit_action.idaction_event_category'),
|
||||
'eventAction' => array('Events_EventAction', 'log_link_visit_action.idaction_event_action'),
|
||||
'eventName' => array('Events_EventName', 'log_link_visit_action.idaction_name'),
|
||||
);
|
||||
|
||||
public function getDimensionLabel($dimension)
|
||||
{
|
||||
return Piwik::translate($this->metadataDimensions[$dimension][0]);
|
||||
}
|
||||
/**
|
||||
* @return array
|
||||
*/
|
||||
public static function getLabelTranslations()
|
||||
{
|
||||
return array(
|
||||
'getCategory' => array('Events_EventCategories', 'Events_EventCategory'),
|
||||
'getAction' => array('Events_EventActions', 'Events_EventAction'),
|
||||
'getName' => array('Events_EventNames', 'Events_EventName'),
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Given getCategory, returns "Event Categories"
|
||||
*
|
||||
* @param $apiMethod
|
||||
* @return string
|
||||
*/
|
||||
public function getReportTitleTranslation($apiMethod)
|
||||
{
|
||||
return $this->getTranslation($apiMethod, $index = 0);
|
||||
}
|
||||
|
||||
/**
|
||||
* Given getCategory, returns "Event Category"
|
||||
*
|
||||
* @param $apiMethod
|
||||
* @return string
|
||||
*/
|
||||
public function getColumnTranslation($apiMethod)
|
||||
{
|
||||
return $this->getTranslation($apiMethod, $index = 1);
|
||||
}
|
||||
|
||||
protected function getTranslation($apiMethod, $index)
|
||||
{
|
||||
$labels = $this->getLabelTranslations();
|
||||
foreach ($labels as $action => $translations) {
|
||||
// Events.getActionFromCategoryId returns translation for Events.getAction
|
||||
if (strpos($apiMethod, $action) === 0) {
|
||||
$columnLabel = $translations[$index];
|
||||
return Piwik::translate($columnLabel);
|
||||
}
|
||||
}
|
||||
throw new \Exception("Translation not found for report $apiMethod");
|
||||
}
|
||||
|
||||
public function configureViewDataTable(ViewDataTable $view)
|
||||
{
|
||||
if ($view->requestConfig->getApiModuleToRequest() != 'Events') {
|
||||
return;
|
||||
}
|
||||
|
||||
// eg. 'Events.getCategory'
|
||||
$apiMethod = $view->requestConfig->getApiMethodToRequest();
|
||||
|
||||
$secondaryDimension = $this->getSecondaryDimensionFromRequest();
|
||||
$view->config->subtable_controller_action = API::getInstance()->getActionToLoadSubtables($apiMethod, $secondaryDimension);
|
||||
|
||||
$pivotBy = Common::getRequestVar('pivotBy', false);
|
||||
if (empty($pivotBy)) {
|
||||
$view->config->columns_to_display = array('label', 'nb_events', 'sum_event_value');
|
||||
}
|
||||
|
||||
$view->config->show_flatten_table = true;
|
||||
$view->requestConfig->filter_sort_column = 'nb_events';
|
||||
|
||||
if ($view->isViewDataTableId(AllColumns::ID)) {
|
||||
$view->config->filters[] = function (DataTable $table) use ($view) {
|
||||
$columsToDisplay = array('label');
|
||||
|
||||
$columns = $table->getColumns();
|
||||
if (in_array('nb_visits', $columns)) {
|
||||
$columsToDisplay[] = 'nb_visits';
|
||||
}
|
||||
|
||||
if (in_array('nb_uniq_visitors', $columns)) {
|
||||
$columsToDisplay[] = 'nb_uniq_visitors';
|
||||
}
|
||||
|
||||
$view->config->columns_to_display = array_merge($columsToDisplay, array('nb_events', 'sum_event_value', 'avg_event_value', 'min_event_value', 'max_event_value'));
|
||||
|
||||
if (!in_array($view->requestConfig->filter_sort_column, $view->config->columns_to_display)) {
|
||||
$view->requestConfig->filter_sort_column = 'nb_events';
|
||||
}
|
||||
};
|
||||
$view->config->show_pivot_by_subtable = false;
|
||||
}
|
||||
|
||||
$labelTranslation = $this->getColumnTranslation($apiMethod);
|
||||
$view->config->addTranslation('label', $labelTranslation);
|
||||
$view->config->addTranslations($this->getMetricTranslations());
|
||||
$this->addRelatedReports($view, $secondaryDimension);
|
||||
$this->addTooltipEventValue($view);
|
||||
|
||||
$subtableReport = ReportsProvider::factory('Events', $view->config->subtable_controller_action);
|
||||
$view->config->pivot_by_dimension = $subtableReport->getDimension()->getId();
|
||||
$view->config->pivot_by_column = 'nb_events';
|
||||
}
|
||||
|
||||
private function addRelatedReports($view, $secondaryDimension)
|
||||
{
|
||||
if (empty($secondaryDimension)) {
|
||||
// eg. Row Evolution
|
||||
return;
|
||||
}
|
||||
|
||||
$view->config->show_related_reports = true;
|
||||
|
||||
$apiMethod = $view->requestConfig->getApiMethodToRequest();
|
||||
$secondaryDimensions = API::getInstance()->getSecondaryDimensions($apiMethod);
|
||||
|
||||
if (empty($secondaryDimensions)) {
|
||||
return;
|
||||
}
|
||||
|
||||
$secondaryDimensionTranslation = $this->getDimensionLabel($secondaryDimension);
|
||||
$view->config->related_reports_title =
|
||||
Piwik::translate('Events_SecondaryDimension', $secondaryDimensionTranslation)
|
||||
. "<br/>"
|
||||
. Piwik::translate('Events_SwitchToSecondaryDimension', '');
|
||||
|
||||
foreach($secondaryDimensions as $dimension) {
|
||||
if ($dimension == $secondaryDimension) {
|
||||
// don't show as related report the currently selected dimension
|
||||
continue;
|
||||
}
|
||||
|
||||
$dimensionTranslation = $this->getDimensionLabel($dimension);
|
||||
$view->config->addRelatedReport(
|
||||
$view->requestConfig->apiMethodToRequestDataTable,
|
||||
$dimensionTranslation,
|
||||
array('secondaryDimension' => $dimension)
|
||||
);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private function addTooltipEventValue(ViewDataTable $view)
|
||||
{
|
||||
// Creates the tooltip message for Event Value column
|
||||
$tooltipCallback = function ($hits, $min, $max, $avg) {
|
||||
if (!$hits) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$avg = $avg ?: 0;
|
||||
|
||||
$msgEventMinMax = Piwik::translate("Events_EventValueTooltip", array($hits, "<br />", $min, $max));
|
||||
$msgEventAvg = Piwik::translate("Events_AvgEventValue", $avg);
|
||||
return $msgEventMinMax . "<br/>" . $msgEventAvg;
|
||||
};
|
||||
|
||||
// Add tooltip metadata column to the DataTable
|
||||
$view->config->filters[] = array('ColumnCallbackAddMetadata',
|
||||
array(
|
||||
array(
|
||||
'nb_events',
|
||||
'min_event_value',
|
||||
'max_event_value',
|
||||
'avg_event_value'
|
||||
),
|
||||
'sum_event_value_tooltip',
|
||||
$tooltipCallback
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return mixed
|
||||
*/
|
||||
public function getSecondaryDimensionFromRequest()
|
||||
{
|
||||
return Common::getRequestVar('secondaryDimension', false, 'string');
|
||||
}
|
||||
|
||||
public function getStylesheetFiles(&$stylesheets)
|
||||
{
|
||||
$stylesheets[] = "plugins/Events/stylesheets/datatable.less";
|
||||
}
|
||||
|
||||
public function provideActionDimensionFields(&$fields, &$joins)
|
||||
{
|
||||
$fields[] = 'log_action_event_category.type AS eventType';
|
||||
$fields[] = 'log_action_event_category.name AS eventCategory';
|
||||
$fields[] = 'log_action_event_action.name as eventAction';
|
||||
$joins[] = 'LEFT JOIN ' . Common::prefixTable('log_action') . ' AS log_action_event_action
|
||||
ON log_link_visit_action.idaction_event_action = log_action_event_action.idaction';
|
||||
$joins[] = 'LEFT JOIN ' . Common::prefixTable('log_action') . ' AS log_action_event_category
|
||||
ON log_link_visit_action.idaction_event_category = log_action_event_category.idaction';
|
||||
}
|
||||
}
|
59
msd2/tracking/piwik/plugins/Events/Reports/Base.php
Normal file
59
msd2/tracking/piwik/plugins/Events/Reports/Base.php
Normal file
@ -0,0 +1,59 @@
|
||||
<?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\Plugins\Events\Reports;
|
||||
|
||||
use Piwik\EventDispatcher;
|
||||
use Piwik\Plugin\ViewDataTable;
|
||||
use Piwik\Plugins\Events\API;
|
||||
use Piwik\Plugins\Events\Columns\Metrics\AverageEventValue;
|
||||
use Piwik\Report\ReportWidgetFactory;
|
||||
use Piwik\Widget\WidgetsList;
|
||||
|
||||
abstract class Base extends \Piwik\Plugin\Report
|
||||
{
|
||||
protected function init()
|
||||
{
|
||||
$this->categoryId = 'General_Actions';
|
||||
$this->subcategoryId = 'Events_Events';
|
||||
|
||||
$this->processedMetrics = array(
|
||||
new AverageEventValue()
|
||||
);
|
||||
}
|
||||
|
||||
public function configureWidgets(WidgetsList $widgetsList, ReportWidgetFactory $factory)
|
||||
{
|
||||
if (!$this->isSubtableReport) {
|
||||
$widget = $factory->createWidget()->setParameters(array(
|
||||
'secondaryDimension' => API::getInstance()->getDefaultSecondaryDimension($this->action)
|
||||
));
|
||||
|
||||
$widgetsList->addToContainerWidget('Events', $widget);
|
||||
}
|
||||
}
|
||||
|
||||
public function configureView(ViewDataTable $view)
|
||||
{
|
||||
$this->configureFooterMessage($view);
|
||||
}
|
||||
|
||||
protected function configureFooterMessage(ViewDataTable $view)
|
||||
{
|
||||
if ($this->isSubtableReport) {
|
||||
// no footer message for subtables
|
||||
return;
|
||||
}
|
||||
|
||||
$out = '';
|
||||
EventDispatcher::getInstance()->postEvent('Template.afterEventsReport', array(&$out));
|
||||
$view->config->show_footer_message = $out;
|
||||
}
|
||||
|
||||
|
||||
}
|
31
msd2/tracking/piwik/plugins/Events/Reports/GetAction.php
Normal file
31
msd2/tracking/piwik/plugins/Events/Reports/GetAction.php
Normal file
@ -0,0 +1,31 @@
|
||||
<?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\Plugins\Events\Reports;
|
||||
|
||||
use Piwik\Common;
|
||||
use Piwik\Piwik;
|
||||
use Piwik\Plugins\Events\Columns\EventAction;
|
||||
|
||||
class GetAction extends Base
|
||||
{
|
||||
protected function init()
|
||||
{
|
||||
parent::init();
|
||||
$this->dimension = new EventAction();
|
||||
$this->name = Piwik::translate('Events_EventActions');
|
||||
$this->documentation = ''; // TODO
|
||||
$this->metrics = array('nb_events', 'sum_event_value', 'min_event_value', 'max_event_value', 'nb_events_with_value');
|
||||
if (Common::getRequestVar('secondaryDimension', false) == 'eventCategory') {
|
||||
$this->actionToLoadSubTables = 'getCategoryFromNameId';
|
||||
} else {
|
||||
$this->actionToLoadSubTables = 'getNameFromActionId';
|
||||
}
|
||||
$this->order = 1;
|
||||
}
|
||||
}
|
@ -0,0 +1,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\Plugins\Events\Reports;
|
||||
|
||||
use Piwik\Piwik;
|
||||
use Piwik\Plugins\Events\Columns\EventAction;
|
||||
|
||||
/**
|
||||
* Report metadata class for the Events.getActionFromCategoryId class.
|
||||
*/
|
||||
class GetActionFromCategoryId extends Base
|
||||
{
|
||||
protected function init()
|
||||
{
|
||||
parent::init();
|
||||
|
||||
$this->dimension = new EventAction();
|
||||
$this->name = Piwik::translate('Events_EventActions');
|
||||
$this->isSubtableReport = true;
|
||||
}
|
||||
}
|
@ -0,0 +1,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\Plugins\Events\Reports;
|
||||
|
||||
use Piwik\Piwik;
|
||||
use Piwik\Plugins\Events\Columns\EventAction;
|
||||
|
||||
/**
|
||||
* Report metadata class for the Events.getActionFromNameId class.
|
||||
*/
|
||||
class GetActionFromNameId extends Base
|
||||
{
|
||||
protected function init()
|
||||
{
|
||||
parent::init();
|
||||
|
||||
$this->dimension = new EventAction();
|
||||
$this->name = Piwik::translate('Events_EventActions');
|
||||
$this->isSubtableReport = true;
|
||||
}
|
||||
}
|
31
msd2/tracking/piwik/plugins/Events/Reports/GetCategory.php
Normal file
31
msd2/tracking/piwik/plugins/Events/Reports/GetCategory.php
Normal file
@ -0,0 +1,31 @@
|
||||
<?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\Plugins\Events\Reports;
|
||||
|
||||
use Piwik\Common;
|
||||
use Piwik\Piwik;
|
||||
use Piwik\Plugins\Events\Columns\EventCategory;
|
||||
|
||||
class GetCategory extends Base
|
||||
{
|
||||
protected function init()
|
||||
{
|
||||
parent::init();
|
||||
$this->dimension = new EventCategory();
|
||||
$this->name = Piwik::translate('Events_EventCategories');
|
||||
$this->documentation = ''; // TODO
|
||||
$this->metrics = array('nb_events', 'sum_event_value', 'min_event_value', 'max_event_value', 'nb_events_with_value');
|
||||
if (Common::getRequestVar('secondaryDimension', false) == 'eventName') {
|
||||
$this->actionToLoadSubTables = 'getNameFromCategoryId';
|
||||
} else {
|
||||
$this->actionToLoadSubTables = 'getActionFromCategoryId';
|
||||
}
|
||||
$this->order = 0;
|
||||
}
|
||||
}
|
@ -0,0 +1,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\Plugins\Events\Reports;
|
||||
|
||||
use Piwik\Piwik;
|
||||
use Piwik\Plugins\Events\Columns\EventCategory;
|
||||
|
||||
/**
|
||||
* Report metadata class for the Events.getCategoryFromActionId class.
|
||||
*/
|
||||
class GetCategoryFromActionId extends Base
|
||||
{
|
||||
protected function init()
|
||||
{
|
||||
parent::init();
|
||||
|
||||
$this->dimension = new EventCategory();
|
||||
$this->name = Piwik::translate('Events_EventCategories');
|
||||
$this->isSubtableReport = true;
|
||||
}
|
||||
}
|
@ -0,0 +1,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\Plugins\Events\Reports;
|
||||
|
||||
use Piwik\Piwik;
|
||||
use Piwik\Plugins\Events\Columns\EventCategory;
|
||||
|
||||
/**
|
||||
* Report metadata class for the Events.getCategoryFromNameId class.
|
||||
*/
|
||||
class GetCategoryFromNameId extends Base
|
||||
{
|
||||
protected function init()
|
||||
{
|
||||
parent::init();
|
||||
|
||||
$this->dimension = new EventCategory();
|
||||
$this->name = Piwik::translate('Events_EventCategories');
|
||||
$this->isSubtableReport = true;
|
||||
}
|
||||
}
|
31
msd2/tracking/piwik/plugins/Events/Reports/GetName.php
Normal file
31
msd2/tracking/piwik/plugins/Events/Reports/GetName.php
Normal file
@ -0,0 +1,31 @@
|
||||
<?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\Plugins\Events\Reports;
|
||||
|
||||
use Piwik\Common;
|
||||
use Piwik\Piwik;
|
||||
use Piwik\Plugins\Events\Columns\EventName;
|
||||
|
||||
class GetName extends Base
|
||||
{
|
||||
protected function init()
|
||||
{
|
||||
parent::init();
|
||||
$this->dimension = new EventName();
|
||||
$this->name = Piwik::translate('Events_EventNames');
|
||||
$this->documentation = ''; // TODO
|
||||
$this->metrics = array('nb_events', 'sum_event_value', 'min_event_value', 'max_event_value', 'nb_events_with_value');
|
||||
if (Common::getRequestVar('secondaryDimension', false) == 'eventCategory') {
|
||||
$this->actionToLoadSubTables = 'getCategoryFromNameId';
|
||||
} else {
|
||||
$this->actionToLoadSubTables = 'getActionFromNameId';
|
||||
}
|
||||
$this->order = 2;
|
||||
}
|
||||
}
|
@ -0,0 +1,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\Plugins\Events\Reports;
|
||||
|
||||
use Piwik\Piwik;
|
||||
use Piwik\Plugins\Events\Columns\EventName;
|
||||
|
||||
/**
|
||||
* Report metadata class for the Events.getNameFromActionId class.
|
||||
*/
|
||||
class GetNameFromActionId extends Base
|
||||
{
|
||||
protected function init()
|
||||
{
|
||||
parent::init();
|
||||
|
||||
$this->dimension = new EventName();
|
||||
$this->name = Piwik::translate('Events_Names');
|
||||
$this->isSubtableReport = true;
|
||||
}
|
||||
}
|
@ -0,0 +1,28 @@
|
||||
<?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\Plugins\Events\Reports;
|
||||
|
||||
use Piwik\Piwik;
|
||||
use Piwik\Plugins\Events\Columns\EventName;
|
||||
|
||||
/**
|
||||
* Report metadata class for the Events.getNameFromCategoryId class.
|
||||
*/
|
||||
class GetNameFromCategoryId extends Base
|
||||
{
|
||||
protected function init()
|
||||
{
|
||||
$this->categoryId = 'Events_Events';
|
||||
$this->processedMetrics = false;
|
||||
|
||||
$this->dimension = new EventName();
|
||||
$this->name = Piwik::translate('Events_EventNames');
|
||||
$this->isSubtableReport = true;
|
||||
}
|
||||
}
|
87
msd2/tracking/piwik/plugins/Events/VisitorDetails.php
Normal file
87
msd2/tracking/piwik/plugins/Events/VisitorDetails.php
Normal file
@ -0,0 +1,87 @@
|
||||
<?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\Plugins\Events;
|
||||
|
||||
use Piwik\Piwik;
|
||||
use Piwik\Plugins\Live\VisitorDetailsAbstract;
|
||||
use Piwik\View;
|
||||
|
||||
class VisitorDetails extends VisitorDetailsAbstract
|
||||
{
|
||||
const EVENT_VALUE_PRECISION = 3;
|
||||
|
||||
public function extendActionDetails(&$action, $nextAction, $visitorDetails)
|
||||
{
|
||||
if (!empty($action['eventType'])) {
|
||||
$action['type'] = 'event';
|
||||
$action['icon'] = 'plugins/Morpheus/images/event.png';
|
||||
$action['iconSVG'] = 'plugins/Morpheus/images/event.svg';
|
||||
$action['title'] = Piwik::translate('Events_Event');
|
||||
$action['subtitle'] = Piwik::translate('Event_Category') . ': "' . $action['eventCategory'] . "'";
|
||||
|
||||
if (!empty($action['eventName'])) {
|
||||
$action['subtitle'] .= ', ' . Piwik::translate('General_Name') . ': "' . $action['eventName'] . '"';
|
||||
}
|
||||
if (!empty($action['eventAction'])) {
|
||||
$action['subtitle'] .= ', ' . Piwik::translate('General_Action') . ': "' . $action['eventAction'] . '"';
|
||||
}
|
||||
if (!empty($action['eventValue'])) {
|
||||
$action['subtitle'] .= ', ' . Piwik::translate('General_Value') . ': "' . $action['eventValue'] . '"';
|
||||
}
|
||||
|
||||
if (strlen($action['pageTitle']) > 0) {
|
||||
$action['eventName'] = $action['pageTitle'];
|
||||
}
|
||||
|
||||
if (isset($action['custom_float']) && strlen($action['custom_float']) > 0) {
|
||||
$action['eventValue'] = round($action['custom_float'], self::EVENT_VALUE_PRECISION);
|
||||
}
|
||||
|
||||
unset($action['pageTitle']);
|
||||
unset($action['custom_float']);
|
||||
} else {
|
||||
unset($action['eventCategory']);
|
||||
unset($action['eventAction']);
|
||||
}
|
||||
unset($action['eventType']);
|
||||
}
|
||||
|
||||
public function extendVisitorDetails(&$visitor)
|
||||
{
|
||||
$visitor['events'] = $this->details['visit_total_events'];
|
||||
}
|
||||
|
||||
public function renderAction($action, $previousAction, $visitorDetails)
|
||||
{
|
||||
if ($action['type'] != 'event') {
|
||||
return;
|
||||
}
|
||||
|
||||
$view = new View('@Events/_actionEvent.twig');
|
||||
$view->action = $action;
|
||||
$view->previousAction = $previousAction;
|
||||
$view->visitInfo = $visitorDetails;
|
||||
return $view->render();
|
||||
}
|
||||
|
||||
|
||||
public function initProfile($visits, &$profile)
|
||||
{
|
||||
$profile['totalEvents'] = 0;
|
||||
}
|
||||
|
||||
public function handleProfileAction($action, &$profile)
|
||||
{
|
||||
if ($action['type'] != 'event') {
|
||||
return;
|
||||
}
|
||||
$profile['totalEvents']++;
|
||||
}
|
||||
}
|
@ -0,0 +1,22 @@
|
||||
<?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\Plugins\Events\Widgets;
|
||||
|
||||
use Piwik\Plugins\CoreHome\CoreHome;
|
||||
use Piwik\Translation\Translator;
|
||||
use Piwik\Widget\WidgetContainerConfig;
|
||||
|
||||
class EventsByDimension extends WidgetContainerConfig
|
||||
{
|
||||
protected $layout = CoreHome::WIDGET_CONTAINER_LAYOUT_BY_DIMENSION;
|
||||
protected $id = 'Events';
|
||||
protected $categoryId = 'General_Actions';
|
||||
protected $subcategoryId = 'Events_Events';
|
||||
|
||||
}
|
8
msd2/tracking/piwik/plugins/Events/lang/ar.json
Normal file
8
msd2/tracking/piwik/plugins/Events/lang/ar.json
Normal file
@ -0,0 +1,8 @@
|
||||
{
|
||||
"Events": {
|
||||
"Event": "حَدَث",
|
||||
"TotalEventsDocumentation": "عدد الأحداث الإجمالي",
|
||||
"TotalValueDocumentation": "مجموع قيم الأحداث",
|
||||
"ViewEvents": "عرض الأحداث"
|
||||
}
|
||||
}
|
19
msd2/tracking/piwik/plugins/Events/lang/bg.json
Normal file
19
msd2/tracking/piwik/plugins/Events/lang/bg.json
Normal file
@ -0,0 +1,19 @@
|
||||
{
|
||||
"Events": {
|
||||
"AvgValue": "Средна стойност",
|
||||
"Event": "Събитие",
|
||||
"EventAction": "Действие на събитието",
|
||||
"EventCategory": "Категория на събитие",
|
||||
"EventName": "Име на събитие",
|
||||
"Events": "Събития",
|
||||
"MaxValueDocumentation": "Максималната стойност за това събитие",
|
||||
"MinValueDocumentation": "Минималната стойност за това събитие",
|
||||
"SecondaryDimension": "Второстепенното измерение е %s.",
|
||||
"SwitchToSecondaryDimension": "Превключване към %s",
|
||||
"TopEvents": "Най-важните събития",
|
||||
"TotalEvents": "Общо събития",
|
||||
"TotalEventsDocumentation": "Общ брой събития",
|
||||
"TotalValueDocumentation": "Сумата от стойностите за събитие",
|
||||
"ViewEvents": "Преглед на събития"
|
||||
}
|
||||
}
|
13
msd2/tracking/piwik/plugins/Events/lang/ca.json
Normal file
13
msd2/tracking/piwik/plugins/Events/lang/ca.json
Normal file
@ -0,0 +1,13 @@
|
||||
{
|
||||
"Events": {
|
||||
"Event": "Esdeveniment",
|
||||
"EventCategory": "Categoria d'esdeveniment",
|
||||
"EventName": "Nom de l'esdeveniment",
|
||||
"EventNames": "Noms dels esdeveniments",
|
||||
"Events": "Esdeveniments",
|
||||
"EventsWithValue": "Esdeveniments amb valor",
|
||||
"EventsWithValueDocumentation": "Nombre d'esdeveniments que tenen un valor",
|
||||
"MaxValueDocumentation": "El valor màxim per aquest esdeveniment",
|
||||
"MinValueDocumentation": "El valor mínim per aquest esdeveniment"
|
||||
}
|
||||
}
|
30
msd2/tracking/piwik/plugins/Events/lang/cs.json
Normal file
30
msd2/tracking/piwik/plugins/Events/lang/cs.json
Normal file
@ -0,0 +1,30 @@
|
||||
{
|
||||
"Events": {
|
||||
"PluginDescription": "Sledujte události a získejte hlášení o aktivitě vašich návštěvníků",
|
||||
"AvgEventValue": "Průměrná hodnota události je %s",
|
||||
"AvgValue": "Průměrná hodnota",
|
||||
"AvgValueDocumentation": "Průměr všech hodnot pro tuto událost",
|
||||
"Event": "Událost",
|
||||
"EventAction": "Akce události",
|
||||
"EventActions": "Akce události",
|
||||
"EventCategories": "Kategorie událostí",
|
||||
"EventCategory": "Kategorie události",
|
||||
"EventName": "Jméno události",
|
||||
"EventNames": "Jména událostí",
|
||||
"EventUrl": "URL události",
|
||||
"EventUrls": "URL událostí",
|
||||
"Events": "Události",
|
||||
"EventsWithValue": "Události s hodnotou",
|
||||
"EventsWithValueDocumentation": "Počet událostí s nastavenou hodnotou",
|
||||
"EventValueTooltip": "Celková hodnota události je součet %1$s hodnot událostí %2$s mezi minimem %3$s a maximem %4$s.",
|
||||
"MaxValueDocumentation": "Maximální hodnota pro tuto událost",
|
||||
"MinValueDocumentation": "Minimální hodnota pro tuto událost",
|
||||
"SecondaryDimension": "Sekundární dimenze je %s.",
|
||||
"SwitchToSecondaryDimension": "Přepnout na %s",
|
||||
"TopEvents": "Nejčastější události",
|
||||
"TotalEvents": "Celkem událostí",
|
||||
"TotalEventsDocumentation": "Celkový počet událostí",
|
||||
"TotalValueDocumentation": "Součet hodnot událostí",
|
||||
"ViewEvents": "Zobrazit události"
|
||||
}
|
||||
}
|
34
msd2/tracking/piwik/plugins/Events/lang/da.json
Normal file
34
msd2/tracking/piwik/plugins/Events/lang/da.json
Normal file
@ -0,0 +1,34 @@
|
||||
{
|
||||
"Events": {
|
||||
"PluginDescription": "Spor hændelser og få rapporter om dine besøgendes aktivitet.",
|
||||
"AvgEventValue": "Gennemsnitlig værdi for hændelsen er: %s",
|
||||
"AvgValue": "Gennemsnitsværdi",
|
||||
"AvgValueDocumentation": "Gennemsnittet af alle værdier for denne hændelse",
|
||||
"Event": "Hændelse",
|
||||
"EventAction": "Hændelsesaktion",
|
||||
"EventActions": "Hændelsesforløb",
|
||||
"EventCategories": "Hændelseskategorier",
|
||||
"EventCategory": "Hændelseskategori",
|
||||
"EventName": "Hændelsesnavn",
|
||||
"EventNames": "Hændelsesnavn",
|
||||
"EventUrl": "Hændelses-URL",
|
||||
"EventUrls": "Hændelses-URL’er",
|
||||
"Events": "Hændelser",
|
||||
"EventsWithValue": "Hændelser med en værdi",
|
||||
"EventsWithValueDocumentation": "Antal hændelser, hvor en hændelseværdi blev fastsat",
|
||||
"EventValue": "Hændelsesværdi",
|
||||
"EventValueTooltip": "Samlet hændelsesværdi er summen af %1$s hændelsesværdier %2$s mellem mindst %3$s og maksimalt %4$s.",
|
||||
"MaxValue": "Maks. hændelsesværdi",
|
||||
"MaxValueDocumentation": "Den maksimale værdi for hændelsen",
|
||||
"MinValue": "Min. hændelsesværdi",
|
||||
"MinValueDocumentation": "Den mindste værdi for hændelsen",
|
||||
"SecondaryDimension": "Sekundær dimension er %s.",
|
||||
"SwitchToSecondaryDimension": "Skift til %s",
|
||||
"TopEvents": "Tophændelser",
|
||||
"TotalEvents": "Totale hændelser",
|
||||
"TotalEventsDocumentation": "Total antal hændelser",
|
||||
"TotalValue": "Hændelsesværdi",
|
||||
"TotalValueDocumentation": "Summen af hændelserværdier",
|
||||
"ViewEvents": "Vis hændelser"
|
||||
}
|
||||
}
|
35
msd2/tracking/piwik/plugins/Events/lang/de.json
Normal file
35
msd2/tracking/piwik/plugins/Events/lang/de.json
Normal file
@ -0,0 +1,35 @@
|
||||
{
|
||||
"Events": {
|
||||
"PluginDescription": "Speichert Ereignisse und stellt Berichte über die Aktivität der Besucher bereit",
|
||||
"AvgEventValue": "Durchschnittlicher Ereigniswert ist: %s",
|
||||
"AvgValue": "Durchschnittswert",
|
||||
"AvgValueDocumentation": "Der Durchschnitt aller Werte für dieses Event.",
|
||||
"Category": "Kategorie",
|
||||
"Event": "Ereignis",
|
||||
"EventAction": "Ereignisaktion",
|
||||
"EventActions": "Ereignisaktionen",
|
||||
"EventCategories": "Ereigniskategorien",
|
||||
"EventCategory": "Ereigniskategorie",
|
||||
"EventName": "Ereignisname",
|
||||
"EventNames": "Ereignisnamen",
|
||||
"EventUrl": "Ereignis URL",
|
||||
"EventUrls": "Ereignis URLs",
|
||||
"Events": "Ereignisse",
|
||||
"EventsWithValue": "Ereignisse mit einem Wert",
|
||||
"EventsWithValueDocumentation": "Anzahl der Ereignisse, bei denen ein Ereigniswert gesetzt war",
|
||||
"EventValue": "Ereigniswert",
|
||||
"EventValueTooltip": "Der Gesamtereigniswert ist die Summe von %1$s Ereigniswerten %2$s zwischen dem Minimum von %3$s und dem Maximum von %4$s.",
|
||||
"MaxValue": "Maximaler Ereigniswert",
|
||||
"MaxValueDocumentation": "Maximaler Wert für dieses Ereignis",
|
||||
"MinValue": "Minimaler Ereigniswert",
|
||||
"MinValueDocumentation": "Minimaler Wert für dieses Ereignis",
|
||||
"SecondaryDimension": "Die sekundäre Dimension ist %s.",
|
||||
"SwitchToSecondaryDimension": "Wechseln zu %s",
|
||||
"TopEvents": "Häufigste Ereignisse",
|
||||
"TotalEvents": "Gesamtzahl an Ereignissen",
|
||||
"TotalEventsDocumentation": "Gesamtanzahl der Ereignisse",
|
||||
"TotalValue": "Ereigniswert",
|
||||
"TotalValueDocumentation": "Summe der Ereigniswerte",
|
||||
"ViewEvents": "Ereignisse ansehen"
|
||||
}
|
||||
}
|
35
msd2/tracking/piwik/plugins/Events/lang/el.json
Normal file
35
msd2/tracking/piwik/plugins/Events/lang/el.json
Normal file
@ -0,0 +1,35 @@
|
||||
{
|
||||
"Events": {
|
||||
"PluginDescription": "Παρακολούθηση Συμβάντων και λήψη αναφορών για την δραστηριότητα των επισκεπτών σας.",
|
||||
"AvgEventValue": "Η μέση τιμή του γεγονότος είναι: %s",
|
||||
"AvgValue": "Μέση τιμή",
|
||||
"AvgValueDocumentation": "Ο μέσος όρος τιμών για το γεγονός",
|
||||
"Category": "Κατηγορία",
|
||||
"Event": "Γεγονός",
|
||||
"EventAction": "Ενέργεια Συμβάντος",
|
||||
"EventActions": "Ενέργειες Συμβάντος",
|
||||
"EventCategories": "Κατηγορίες Συμβάντος",
|
||||
"EventCategory": "Κατηγορία Συμβάντος",
|
||||
"EventName": "Όνομα Συμβάντος",
|
||||
"EventNames": "Ονόματα Συμβάντος",
|
||||
"EventUrl": "URL συμβάντος",
|
||||
"EventUrls": "URL συμβάντων",
|
||||
"Events": "Συμβάντα",
|
||||
"EventsWithValue": "Γεγονότα με τιμή",
|
||||
"EventsWithValueDocumentation": "Αριθμός γεγονότων στα οποία έχει οριστεί μια τιμή",
|
||||
"EventValue": "Τιμή συμβάντος",
|
||||
"EventValueTooltip": "Η συνολική τιμή Συμβάντος είναι το άθροισμα από %1$s τιμές γεγονότων %2$s μεταξύ μιας ελάχιστης τιμής %3$s και μιας μέγιστης %4$s.",
|
||||
"MaxValue": "Μέγιστη Τιμή Συμβάντος",
|
||||
"MaxValueDocumentation": "Μέγιστη τιμή για το συμβάν",
|
||||
"MinValue": "Ελάχιστη Τιμή Συμβάντος",
|
||||
"MinValueDocumentation": "Ελάχιστη τιμή για το συμβάν",
|
||||
"SecondaryDimension": "Η δευτερεύουσα διάσταση είναι %s.",
|
||||
"SwitchToSecondaryDimension": "Αλλαγή σε %s",
|
||||
"TopEvents": "Κορυφαία Γεγονότα",
|
||||
"TotalEvents": "Σύνολο συμβάντων",
|
||||
"TotalEventsDocumentation": "Συνολικός αριθμός συμβάντων",
|
||||
"TotalValue": "Τιμή συμβάντος",
|
||||
"TotalValueDocumentation": "άθροισμα των τιμών συμβάντων",
|
||||
"ViewEvents": "Εμφάνιση Γεγονότων"
|
||||
}
|
||||
}
|
35
msd2/tracking/piwik/plugins/Events/lang/en.json
Normal file
35
msd2/tracking/piwik/plugins/Events/lang/en.json
Normal file
@ -0,0 +1,35 @@
|
||||
{
|
||||
"Events": {
|
||||
"PluginDescription": "Track Events and get reports on your visitors activity.",
|
||||
"AvgEventValue": "Average Event value is: %s",
|
||||
"AvgValue": "Average value",
|
||||
"AvgValueDocumentation": "The average of all values for this event",
|
||||
"Category": "Category",
|
||||
"Event": "Event",
|
||||
"EventAction": "Event Action",
|
||||
"EventActions": "Event Actions",
|
||||
"EventCategories": "Event Categories",
|
||||
"EventCategory": "Event Category",
|
||||
"EventName": "Event Name",
|
||||
"EventNames": "Event Names",
|
||||
"EventUrl": "Event URL",
|
||||
"EventUrls": "Event URLs",
|
||||
"Events": "Events",
|
||||
"EventsWithValue": "Events with a value",
|
||||
"EventsWithValueDocumentation": "Number of events where an Event value was set",
|
||||
"EventValue": "Event value",
|
||||
"EventValueTooltip": "Total Event value is the sum of %1$s events values %2$s between minimum of %3$s and maximum of %4$s.",
|
||||
"MaxValue": "Maximum Event value",
|
||||
"MaxValueDocumentation": "The maximum value for this event",
|
||||
"MinValue": "Minimum Event value",
|
||||
"MinValueDocumentation": "The minimum value for this event",
|
||||
"SecondaryDimension": "Secondary dimension is %s.",
|
||||
"SwitchToSecondaryDimension": "Switch to %s",
|
||||
"TopEvents": "Top Events",
|
||||
"TotalEvents": "Total events",
|
||||
"TotalEventsDocumentation": "Total number of events",
|
||||
"TotalValue": "Event value",
|
||||
"TotalValueDocumentation": "The sum of event values",
|
||||
"ViewEvents": "View Events"
|
||||
}
|
||||
}
|
9
msd2/tracking/piwik/plugins/Events/lang/es-ar.json
Normal file
9
msd2/tracking/piwik/plugins/Events/lang/es-ar.json
Normal file
@ -0,0 +1,9 @@
|
||||
{
|
||||
"Events": {
|
||||
"Event": "Event",
|
||||
"EventAction": "Event Action",
|
||||
"EventCategory": "Event Category",
|
||||
"EventName": "Event Name",
|
||||
"Events": "Events"
|
||||
}
|
||||
}
|
35
msd2/tracking/piwik/plugins/Events/lang/es.json
Normal file
35
msd2/tracking/piwik/plugins/Events/lang/es.json
Normal file
@ -0,0 +1,35 @@
|
||||
{
|
||||
"Events": {
|
||||
"PluginDescription": "Monitorea eventos y genera informes acerca de la actividad de sus visitantes.",
|
||||
"AvgEventValue": "El valor promedio de los eventos es: %s",
|
||||
"AvgValue": "Valor promedio",
|
||||
"AvgValueDocumentation": "El promedio de todos los valores de este evento",
|
||||
"Category": "Categoría",
|
||||
"Event": "Evento",
|
||||
"EventAction": "Acción de evento",
|
||||
"EventActions": "Acciones de evento",
|
||||
"EventCategories": "Categorias del evento",
|
||||
"EventCategory": "Categoría del evento",
|
||||
"EventName": "Nombre del evento",
|
||||
"EventNames": "Nombres de los eventos",
|
||||
"EventUrl": "URL del evento",
|
||||
"EventUrls": "URLs del evento",
|
||||
"Events": "Eventos",
|
||||
"EventsWithValue": "Eventos con un valor",
|
||||
"EventsWithValueDocumentation": "Numero de eventos en los que se estableció un valor",
|
||||
"EventValue": "Valor del evento",
|
||||
"EventValueTooltip": "El valor total del evento se compone de la suma de los %1$s valores de los eventos %2$s entre un mínimo de %3$s y un máximo de %4$s.",
|
||||
"MaxValue": "Valor máximo del evento",
|
||||
"MaxValueDocumentation": "El valor máximo de este evento",
|
||||
"MinValue": "Valor mínimo del evento",
|
||||
"MinValueDocumentation": "El valor mínimo de este evento",
|
||||
"SecondaryDimension": "La dimensión secundaria es %s.",
|
||||
"SwitchToSecondaryDimension": "Cambiar a %s",
|
||||
"TopEvents": "Eventos principales",
|
||||
"TotalEvents": "El total de eventos",
|
||||
"TotalEventsDocumentation": "El número total de eventos",
|
||||
"TotalValue": "Valor del evento",
|
||||
"TotalValueDocumentation": "La suma del valor de los eventos",
|
||||
"ViewEvents": "Ver eventos"
|
||||
}
|
||||
}
|
11
msd2/tracking/piwik/plugins/Events/lang/et.json
Normal file
11
msd2/tracking/piwik/plugins/Events/lang/et.json
Normal file
@ -0,0 +1,11 @@
|
||||
{
|
||||
"Events": {
|
||||
"AvgValue": "Keskmine väärtus",
|
||||
"Event": "Sündmus",
|
||||
"EventAction": "Sündmuse tegevus",
|
||||
"EventCategories": "Ürituse kategooriad",
|
||||
"EventCategory": "Sündmuse kategooria",
|
||||
"EventName": "Sündmuse nimi",
|
||||
"Events": "Sündmused"
|
||||
}
|
||||
}
|
10
msd2/tracking/piwik/plugins/Events/lang/fa.json
Normal file
10
msd2/tracking/piwik/plugins/Events/lang/fa.json
Normal file
@ -0,0 +1,10 @@
|
||||
{
|
||||
"Events": {
|
||||
"AvgValue": "میانگین",
|
||||
"Event": "رویداد",
|
||||
"EventAction": "اقدامات رویداد",
|
||||
"EventCategory": "دسته رویداد",
|
||||
"EventName": "نام رویداد",
|
||||
"Events": "رویداد ها"
|
||||
}
|
||||
}
|
28
msd2/tracking/piwik/plugins/Events/lang/fi.json
Normal file
28
msd2/tracking/piwik/plugins/Events/lang/fi.json
Normal file
@ -0,0 +1,28 @@
|
||||
{
|
||||
"Events": {
|
||||
"PluginDescription": "Seuraa tapahtumia ja saa raportteja kävijöidesi toimista.",
|
||||
"AvgEventValue": "Keskimääräinen tapahtuman arvo on %s",
|
||||
"AvgValue": "Keskiarvo",
|
||||
"AvgValueDocumentation": "Kaikkien arvojen keskiarvo tälle tapahtumalle",
|
||||
"Event": "Tapahtuma",
|
||||
"EventAction": "Tapahtuman toiminto",
|
||||
"EventActions": "Tapahtuman toiminnot",
|
||||
"EventCategories": "Tapahtuman kategoriat",
|
||||
"EventCategory": "Tapahtuman kategoria",
|
||||
"EventName": "Tapahtuman nimi",
|
||||
"EventNames": "Tapahtuman nimet",
|
||||
"EventUrl": "Tapahtuman osoite",
|
||||
"EventUrls": "Tapahtuman osoitteet",
|
||||
"Events": "Tapahtumat",
|
||||
"EventsWithValue": "Tapahtumat joilla on arvo",
|
||||
"MaxValueDocumentation": "Suurin arvo tälle tapahtumalle",
|
||||
"MinValueDocumentation": "Pienin arvo tälle tapahtumalle",
|
||||
"SecondaryDimension": "Toisarvoinen koko on %s.",
|
||||
"SwitchToSecondaryDimension": "Vaihda %s:ään",
|
||||
"TopEvents": "Tärkeimmät tapahtumat",
|
||||
"TotalEvents": "Tapahtumia yhteensä",
|
||||
"TotalEventsDocumentation": "Tapahtumia yhteensä",
|
||||
"TotalValueDocumentation": "Arvojen summa",
|
||||
"ViewEvents": "Näytä tapahtumat"
|
||||
}
|
||||
}
|
35
msd2/tracking/piwik/plugins/Events/lang/fr.json
Normal file
35
msd2/tracking/piwik/plugins/Events/lang/fr.json
Normal file
@ -0,0 +1,35 @@
|
||||
{
|
||||
"Events": {
|
||||
"PluginDescription": "Suivez les évènements et obtenez des rapports sur l'activité de vos visiteurs.",
|
||||
"AvgEventValue": "La valeur moyenne de l'évènement est : %s",
|
||||
"AvgValue": "Valeur moyenne",
|
||||
"AvgValueDocumentation": "Moyenne de toutes les valeurs pour cet évènement",
|
||||
"Category": "Catégorie",
|
||||
"Event": "Evènement",
|
||||
"EventAction": "Action de l'évènement",
|
||||
"EventActions": "Actions de l'évènement",
|
||||
"EventCategories": "Catégories d'évènement",
|
||||
"EventCategory": "Catégorie d'évènement",
|
||||
"EventName": "Nom d'évènement",
|
||||
"EventNames": "Noms d'évènement",
|
||||
"EventUrl": "URL d'évènement",
|
||||
"EventUrls": "URLs d'évènements",
|
||||
"Events": "Evènements",
|
||||
"EventsWithValue": "Evènements avec une valeur",
|
||||
"EventsWithValueDocumentation": "Nombre d'évènements qui ont une valeur de définie",
|
||||
"EventValue": "Valeur d'évènement",
|
||||
"EventValueTooltip": "La valeur totale de l'évènement est la somme des %1$s valeurs d'évènements %2$s entre un minimum de %3$s et un maximum de %4$s.",
|
||||
"MaxValue": "Value maximale d'évènement",
|
||||
"MaxValueDocumentation": "Valeur maximale pour cet évènement",
|
||||
"MinValue": "Valeur minimale d'évènement",
|
||||
"MinValueDocumentation": "Valeur minimale pour cet évènement",
|
||||
"SecondaryDimension": "La seconde dimension est %s.",
|
||||
"SwitchToSecondaryDimension": "Passer à %s",
|
||||
"TopEvents": "Principaux évènements",
|
||||
"TotalEvents": "Nombre total d'évènements",
|
||||
"TotalEventsDocumentation": "Nombre total des évènements",
|
||||
"TotalValue": "Valeur d'évènement",
|
||||
"TotalValueDocumentation": "Somme des valeurs d'évènement",
|
||||
"ViewEvents": "Afficher les évènements"
|
||||
}
|
||||
}
|
20
msd2/tracking/piwik/plugins/Events/lang/hi.json
Normal file
20
msd2/tracking/piwik/plugins/Events/lang/hi.json
Normal file
@ -0,0 +1,20 @@
|
||||
{
|
||||
"Events": {
|
||||
"PluginDescription": "घटनाक्रम पर नज़र रखें और अपने दर्शकों के गतिविधि पर रिपोर्ट मिलता है।",
|
||||
"AvgEventValue": "औसत इवेंट मूल्य है: %s",
|
||||
"AvgValue": "औसत मूल्य",
|
||||
"AvgValueDocumentation": "इस घटना के लिए सभी मूल्यों का औसत",
|
||||
"Event": "घटना",
|
||||
"EventAction": "घटना लड़ाई",
|
||||
"EventActions": "इवेंट प्रक्रिया",
|
||||
"EventCategories": "घटना श्रेणियाँ",
|
||||
"EventCategory": "इवेंट श्रेणी",
|
||||
"EventName": "घटना नाम",
|
||||
"EventNames": "घटना नाम",
|
||||
"Events": "घटनाक्रम",
|
||||
"EventsWithValue": "एक मूल्य के साथ घटनाक्रम",
|
||||
"EventsWithValueDocumentation": "एक घटना मूल्य निर्धारित किया गया था, जहां घटनाओं की संख्या",
|
||||
"MaxValueDocumentation": "इस घटना के लिए अधिकतम मूल्य",
|
||||
"MinValueDocumentation": "इस घटना के लिए न्यूनतम मूल्य"
|
||||
}
|
||||
}
|
5
msd2/tracking/piwik/plugins/Events/lang/id.json
Normal file
5
msd2/tracking/piwik/plugins/Events/lang/id.json
Normal file
@ -0,0 +1,5 @@
|
||||
{
|
||||
"Events": {
|
||||
"AvgValue": "Nilai rata-rata"
|
||||
}
|
||||
}
|
35
msd2/tracking/piwik/plugins/Events/lang/it.json
Normal file
35
msd2/tracking/piwik/plugins/Events/lang/it.json
Normal file
@ -0,0 +1,35 @@
|
||||
{
|
||||
"Events": {
|
||||
"PluginDescription": "Traccia gli eventi e ottieni dei report sull'attività dei visitatori.",
|
||||
"AvgEventValue": "Il Valore Medio Evento è: %s",
|
||||
"AvgValue": "Valore medio",
|
||||
"AvgValueDocumentation": "Media di tutti i valori per questo evento",
|
||||
"Category": "Categoria",
|
||||
"Event": "Evento",
|
||||
"EventAction": "Azione Evento",
|
||||
"EventActions": "Azioni Evento",
|
||||
"EventCategories": "Categorie Evento",
|
||||
"EventCategory": "Categoria Evento",
|
||||
"EventName": "Nome Evento",
|
||||
"EventNames": "Nomi Evento",
|
||||
"EventUrl": "URL Evento",
|
||||
"EventUrls": "URL Evento",
|
||||
"Events": "Eventi",
|
||||
"EventsWithValue": "Eventi con un valore",
|
||||
"EventsWithValueDocumentation": "Numero di eventi dove è stato impostato un valore Evento",
|
||||
"EventValue": "Valore Evento",
|
||||
"EventValueTooltip": "Il valore totale Evento è la somma dei %1$s valori degli eventi %2$s tra un minimo di %3$s e un massimo di %4$s.",
|
||||
"MaxValue": "Valore Massimo Evento",
|
||||
"MaxValueDocumentation": "Valore massimo per questo evento",
|
||||
"MinValue": "Valore Minimo Evento",
|
||||
"MinValueDocumentation": "Valore minimo per questo evento",
|
||||
"SecondaryDimension": "La dimensione secondaria è %s.",
|
||||
"SwitchToSecondaryDimension": "Passa a %s",
|
||||
"TopEvents": "Eventi Top",
|
||||
"TotalEvents": "Totale eventi",
|
||||
"TotalEventsDocumentation": "Numero totale degli eventi",
|
||||
"TotalValue": "Valore Evento",
|
||||
"TotalValueDocumentation": "Somma dei valori degli eventi",
|
||||
"ViewEvents": "Vedi Eventi"
|
||||
}
|
||||
}
|
35
msd2/tracking/piwik/plugins/Events/lang/ja.json
Normal file
35
msd2/tracking/piwik/plugins/Events/lang/ja.json
Normal file
@ -0,0 +1,35 @@
|
||||
{
|
||||
"Events": {
|
||||
"PluginDescription": "イベントを追跡し、ビジターアクティビティのレポートを取得します。",
|
||||
"AvgEventValue": "イベントの平均値: %s",
|
||||
"AvgValue": "平均値",
|
||||
"AvgValueDocumentation": "このイベントのすべての値の平均値",
|
||||
"Category": "カテゴリ",
|
||||
"Event": "イベント",
|
||||
"EventAction": "イベントのアクション",
|
||||
"EventActions": "イベントのアクション",
|
||||
"EventCategories": "イベントのカテゴリ",
|
||||
"EventCategory": "イベントのカテゴリー",
|
||||
"EventName": "イベントの名称",
|
||||
"EventNames": "イベント名",
|
||||
"EventUrl": "イベント URL",
|
||||
"EventUrls": "イベント URL",
|
||||
"Events": "イベント",
|
||||
"EventsWithValue": "値を持つイベント",
|
||||
"EventsWithValueDocumentation": "イベントの値が設定されたイベント数",
|
||||
"EventValue": "イベント値",
|
||||
"EventValueTooltip": "総イベント値は %1$s 件のイベント値の合計です。 %2$s 最小値は %3$s 、最大値は %4$s です 。",
|
||||
"MaxValue": "最大イベント値",
|
||||
"MaxValueDocumentation": "このイベントの最大値",
|
||||
"MinValue": "最小イベント値",
|
||||
"MinValueDocumentation": "このイベントの最小値",
|
||||
"SecondaryDimension": "セカンダリディメンションは %s です。",
|
||||
"SwitchToSecondaryDimension": "%s へ切替",
|
||||
"TopEvents": "トップイベント",
|
||||
"TotalEvents": "イベントの合計",
|
||||
"TotalEventsDocumentation": "イベントの総数",
|
||||
"TotalValue": "イベント値",
|
||||
"TotalValueDocumentation": "イベント値の合計",
|
||||
"ViewEvents": "イベントをみる"
|
||||
}
|
||||
}
|
9
msd2/tracking/piwik/plugins/Events/lang/lt.json
Normal file
9
msd2/tracking/piwik/plugins/Events/lang/lt.json
Normal file
@ -0,0 +1,9 @@
|
||||
{
|
||||
"Events": {
|
||||
"PluginDescription": "Sekite įvykius ir gaukite savo lankytojų veiklos ataskaitas.",
|
||||
"EventActions": "Įvykių veiksmai",
|
||||
"EventCategories": "Įvykių kategorijos",
|
||||
"EventNames": "Įvykių pavadinimai",
|
||||
"Events": "Įvykiai"
|
||||
}
|
||||
}
|
28
msd2/tracking/piwik/plugins/Events/lang/nb.json
Normal file
28
msd2/tracking/piwik/plugins/Events/lang/nb.json
Normal file
@ -0,0 +1,28 @@
|
||||
{
|
||||
"Events": {
|
||||
"PluginDescription": "Spor hendelser og få rapporter om dine brukeres aktiviteter.",
|
||||
"AvgEventValue": "Gjennomsnittlig hendelseverdi er: %s",
|
||||
"AvgValue": "Gjennomsnittlig verdi",
|
||||
"AvgValueDocumentation": "Gjennomsnittet av alle verdier for denne hendelsen",
|
||||
"Event": "Hendelse",
|
||||
"EventAction": "Hendelseshandling",
|
||||
"EventActions": "Hendelseshandlinger",
|
||||
"EventCategories": "Hendelseskategorier",
|
||||
"EventCategory": "Hendelsekategori",
|
||||
"EventName": "Hendelsesnavn",
|
||||
"EventNames": "Hendelsesnavn",
|
||||
"Events": "Hendelser",
|
||||
"EventsWithValue": "Hendelser med en verdi",
|
||||
"EventsWithValueDocumentation": "Antall hendelser der en hendelsesverdi er satt",
|
||||
"EventValueTooltip": "Total hendelsesverdi er summen av alle %1$s hendelsesverdier %2$s mellom minimumsverdi %3$s og maksimumsverdi %4$s.",
|
||||
"MaxValueDocumentation": "Maksimumsverdien for denne hendelsen",
|
||||
"MinValueDocumentation": "Minimumsverdien for denne hendelsen",
|
||||
"SecondaryDimension": "Sekundær dimensjon er %s.",
|
||||
"SwitchToSecondaryDimension": "Bytt til %s",
|
||||
"TopEvents": "Topphendelser",
|
||||
"TotalEvents": "Totalt antall hendelser",
|
||||
"TotalEventsDocumentation": "Totalt antall hendelser",
|
||||
"TotalValueDocumentation": "Summen av alle hendelsesverdier",
|
||||
"ViewEvents": "Vis hendelser"
|
||||
}
|
||||
}
|
28
msd2/tracking/piwik/plugins/Events/lang/nl.json
Normal file
28
msd2/tracking/piwik/plugins/Events/lang/nl.json
Normal file
@ -0,0 +1,28 @@
|
||||
{
|
||||
"Events": {
|
||||
"PluginDescription": "Houd gebeurtenissen bij en ontvang rapporten over gebruikersactiviteiten.",
|
||||
"AvgEventValue": "Gemiddelde gebeurtenis waarde is: %s",
|
||||
"AvgValue": "Gemiddelde waarde",
|
||||
"AvgValueDocumentation": "Het gemiddelde voor alle waardes van deze gebeurtenis",
|
||||
"Event": "Gebeurtenis",
|
||||
"EventAction": "Gebeurtenis Actie",
|
||||
"EventActions": "Gebeurtenis acties",
|
||||
"EventCategories": "Gebeurtenis Categorieën",
|
||||
"EventCategory": "Gebeurtenis Categorie",
|
||||
"EventName": "Gebeurtenis Naam",
|
||||
"EventNames": "Gebeurtenis Namen",
|
||||
"Events": "Gebeurtenissen",
|
||||
"EventsWithValue": "Gebeurtenissen met een waarde",
|
||||
"EventsWithValueDocumentation": "Aantal events waar een Event waarde is bepaald",
|
||||
"EventValueTooltip": "Totale gebeurtenis waarde is de som van %1$s gebeurtenis waarden %2$s tussen minima van %3$s en maxima van %4$s.",
|
||||
"MaxValueDocumentation": "De maximale waarde voor deze gebeurtenis",
|
||||
"MinValueDocumentation": "De minimale waarde voor deze gebeurtenis",
|
||||
"SecondaryDimension": "Tweede dimensie is %s.",
|
||||
"SwitchToSecondaryDimension": "Omschakelen naar %s",
|
||||
"TopEvents": "Top Gebeurtenissen",
|
||||
"TotalEvents": "Totaal gebeurtenissen",
|
||||
"TotalEventsDocumentation": "Totaal aantal gebeurtenissen",
|
||||
"TotalValueDocumentation": "De som van gebeurtenis waardes",
|
||||
"ViewEvents": "Bekijk gebeurtenissen"
|
||||
}
|
||||
}
|
35
msd2/tracking/piwik/plugins/Events/lang/pl.json
Normal file
35
msd2/tracking/piwik/plugins/Events/lang/pl.json
Normal file
@ -0,0 +1,35 @@
|
||||
{
|
||||
"Events": {
|
||||
"PluginDescription": "Śledź zdarzenia i pobierz raporty aktywności Twoich odwiedzających,",
|
||||
"AvgEventValue": "Średnia wartość zdarzenia: %s",
|
||||
"AvgValue": "Średnia wartość",
|
||||
"AvgValueDocumentation": "Średnia wszystkich wartości w tym przypadku",
|
||||
"Category": "Kategoria",
|
||||
"Event": "Zdarzenie",
|
||||
"EventAction": "Akcja zdarzenia",
|
||||
"EventActions": "Akcje zdarzeń",
|
||||
"EventCategories": "Kategorie zdarzeń",
|
||||
"EventCategory": "Kategoria zdarzenia",
|
||||
"EventName": "Nazwa wydarzenia",
|
||||
"EventNames": "Nazwy zdarzeń",
|
||||
"EventUrl": "Adres wydarzenia",
|
||||
"EventUrls": "Adresy wydarzenia",
|
||||
"Events": "Zdarzenia",
|
||||
"EventsWithValue": "Zdarzenia z wartością",
|
||||
"EventsWithValueDocumentation": "Liczba zdarzeń z ustaloną wartością zdarzenia",
|
||||
"EventValue": "Wartość Zdarzenia",
|
||||
"EventValueTooltip": "Łączna wartość Zdarzeń jest sumą %1$s wartości zdarzeń %2$s pomiędzy minimum %3$s i maksimum %4$s.",
|
||||
"MaxValue": "Maksymalna wartość Zdarzenia",
|
||||
"MaxValueDocumentation": "Maksymalna wartość dla tego zdarzenia",
|
||||
"MinValue": "Minimalna wartość Zdarzenia",
|
||||
"MinValueDocumentation": "Minimalna wartość tego wydarzenia",
|
||||
"SecondaryDimension": "Drugi wymiar to %s.",
|
||||
"SwitchToSecondaryDimension": "Przełącz na %s",
|
||||
"TopEvents": "Najważniejsze wydarzenia",
|
||||
"TotalEvents": "Liczba zdarzeń",
|
||||
"TotalEventsDocumentation": "Łączna liczba zdarzeń",
|
||||
"TotalValue": "Wartość Zdarzenia",
|
||||
"TotalValueDocumentation": "Suma wartości zdarzeń",
|
||||
"ViewEvents": "Pokaż zdarzenia"
|
||||
}
|
||||
}
|
34
msd2/tracking/piwik/plugins/Events/lang/pt-br.json
Normal file
34
msd2/tracking/piwik/plugins/Events/lang/pt-br.json
Normal file
@ -0,0 +1,34 @@
|
||||
{
|
||||
"Events": {
|
||||
"PluginDescription": "Acompanhe Eventos e obtenha relatórios das atividades dos seus visitantes.",
|
||||
"AvgEventValue": "O valor médio do Evento é: %s",
|
||||
"AvgValue": "Valor médio",
|
||||
"AvgValueDocumentation": "A média de todos os valores para este evento",
|
||||
"Event": "Evento",
|
||||
"EventAction": "Ação do Evento",
|
||||
"EventActions": "Ações do Evento",
|
||||
"EventCategories": "Categorias do Evento",
|
||||
"EventCategory": "Categoria do Evento",
|
||||
"EventName": "Nome do Evento",
|
||||
"EventNames": "Nomes dos Eventos",
|
||||
"EventUrl": "Evento de URL",
|
||||
"EventUrls": "Evento de URLs",
|
||||
"Events": "Eventos",
|
||||
"EventsWithValue": "Eventos com um valor",
|
||||
"EventsWithValueDocumentation": "Número de eventos onde foi configurado um valor Event",
|
||||
"EventValue": "Valor do evento",
|
||||
"EventValueTooltip": "O valor total de Evento é a soma de %1$s valores de eventos %2$s entre o mínimo de %3$s e o máximo de %4$s.",
|
||||
"MaxValue": "Valor máximo do evento",
|
||||
"MaxValueDocumentation": "O valor máximo para este evento",
|
||||
"MinValue": "Valor mínimo do evento",
|
||||
"MinValueDocumentation": "O valor mínimo para este evento",
|
||||
"SecondaryDimension": "Dimensão secundária é %s.",
|
||||
"SwitchToSecondaryDimension": "Mudar para %s",
|
||||
"TopEvents": "Eventos Top",
|
||||
"TotalEvents": "Total de Eventos",
|
||||
"TotalEventsDocumentation": "Número total de eventos",
|
||||
"TotalValue": "Valor do evento",
|
||||
"TotalValueDocumentation": "A soma dos valores de evento",
|
||||
"ViewEvents": "Ver Eventos"
|
||||
}
|
||||
}
|
35
msd2/tracking/piwik/plugins/Events/lang/pt.json
Normal file
35
msd2/tracking/piwik/plugins/Events/lang/pt.json
Normal file
@ -0,0 +1,35 @@
|
||||
{
|
||||
"Events": {
|
||||
"PluginDescription": "Acompanhar eventos e obter relatórios de atividade dos seus visitantes.",
|
||||
"AvgEventValue": "O valor médio do evento é: %s",
|
||||
"AvgValue": "Valor médio",
|
||||
"AvgValueDocumentation": "A média de todos os valores para este evento",
|
||||
"Category": "Categoria",
|
||||
"Event": "Evento",
|
||||
"EventAction": "Ação do evento",
|
||||
"EventActions": "Ações do evento",
|
||||
"EventCategories": "Categorias do evento",
|
||||
"EventCategory": "Categoria do evento",
|
||||
"EventName": "Nome do evento",
|
||||
"EventNames": "Nomes do evento",
|
||||
"EventUrl": "Endereço do evento",
|
||||
"EventUrls": "Endereços do evento",
|
||||
"Events": "Eventos",
|
||||
"EventsWithValue": "Eventos com um valor",
|
||||
"EventsWithValueDocumentation": "Número de eventos onde um valor de Evento foi definido",
|
||||
"EventValue": "Valor do evento",
|
||||
"EventValueTooltip": "O total do valor do evento é o somatório dos valores de %1$s eventos %2$s entre um mínimo de %3$s e um máximo de %4$s.",
|
||||
"MaxValue": "Valor máximo do evento",
|
||||
"MaxValueDocumentation": "O valor máximo para este evento",
|
||||
"MinValue": "Valor mínimo do evento",
|
||||
"MinValueDocumentation": "O valor mínimo para este evento",
|
||||
"SecondaryDimension": "A dimensão secundária é %s.",
|
||||
"SwitchToSecondaryDimension": "Mudar para %s",
|
||||
"TopEvents": "Eventos principais",
|
||||
"TotalEvents": "Eventos totais",
|
||||
"TotalEventsDocumentation": "Número total de eventos",
|
||||
"TotalValue": "Valor do evento",
|
||||
"TotalValueDocumentation": "O somatório dos valores do evento",
|
||||
"ViewEvents": "Ver eventos"
|
||||
}
|
||||
}
|
27
msd2/tracking/piwik/plugins/Events/lang/ro.json
Normal file
27
msd2/tracking/piwik/plugins/Events/lang/ro.json
Normal file
@ -0,0 +1,27 @@
|
||||
{
|
||||
"Events": {
|
||||
"AvgEventValue": "Media valorii Evenimentului este: %s",
|
||||
"AvgValue": "Valoarea medie",
|
||||
"AvgValueDocumentation": "Media tuturor valorilor pentru acest eveniment",
|
||||
"Event": "Eveniment",
|
||||
"EventAction": "Actiunea Evenimentului",
|
||||
"EventActions": "Actiunile Evenimentului",
|
||||
"EventCategories": "Categoriile Evenimentului",
|
||||
"EventCategory": "Categoria Evenimentului",
|
||||
"EventName": "Numele Evenimentului",
|
||||
"EventNames": "Numele Evenimentelor",
|
||||
"Events": "Evenimente",
|
||||
"EventsWithValue": "Evenimente cu valoare",
|
||||
"EventsWithValueDocumentation": "Numărul de evenimente în care a fost stabilit o valoare Eveniment",
|
||||
"EventValueTooltip": "Valoarea totală Eveniment este suma de %1$s valoare evenimente %2$s între minim %3$s și maxim de %4$s.",
|
||||
"MaxValueDocumentation": "Valoarea maxima pentru acest eveniment",
|
||||
"MinValueDocumentation": "Valoarea minima pentru acest eveniment",
|
||||
"SecondaryDimension": "Dimensiunea secundara este %s.",
|
||||
"SwitchToSecondaryDimension": "Trece la %s",
|
||||
"TopEvents": "Top Evenimente",
|
||||
"TotalEvents": "Totalul evenimentelor",
|
||||
"TotalEventsDocumentation": "Numarul total al evenimentelor",
|
||||
"TotalValueDocumentation": "suma valorilor evenimentelor",
|
||||
"ViewEvents": "Vezi Evenimente"
|
||||
}
|
||||
}
|
35
msd2/tracking/piwik/plugins/Events/lang/ru.json
Normal file
35
msd2/tracking/piwik/plugins/Events/lang/ru.json
Normal file
@ -0,0 +1,35 @@
|
||||
{
|
||||
"Events": {
|
||||
"PluginDescription": "Отслеживайте события и получайте отчеты об активности своих посетителей.",
|
||||
"AvgEventValue": "Среднее значение события: %s",
|
||||
"AvgValue": "Среднее значение",
|
||||
"AvgValueDocumentation": "Среднее всех значений для этого события",
|
||||
"Category": "Категория",
|
||||
"Event": "Событие",
|
||||
"EventAction": "Действие события",
|
||||
"EventActions": "Действия событий",
|
||||
"EventCategories": "Категории событий",
|
||||
"EventCategory": "Категория события",
|
||||
"EventName": "Название события",
|
||||
"EventNames": "Названия событий",
|
||||
"EventUrl": "URL события",
|
||||
"EventUrls": "URLы событий",
|
||||
"Events": "События",
|
||||
"EventsWithValue": "События со значением",
|
||||
"EventsWithValueDocumentation": "Количество событий, где было установлено значение для События",
|
||||
"EventValue": "Значение события",
|
||||
"EventValueTooltip": "Общие значения событий равны сумме %1$s значениям (событий) %2$s между минимумом %3$s и максимум %4$s.",
|
||||
"MaxValue": "Максимальное значение события",
|
||||
"MaxValueDocumentation": "Максимальное значения для этого события",
|
||||
"MinValue": "Минимальное значение события",
|
||||
"MinValueDocumentation": "Минимальное значения для этого события",
|
||||
"SecondaryDimension": "Втроричное измерение %s.",
|
||||
"SwitchToSecondaryDimension": "Переключиться на %s",
|
||||
"TopEvents": "Топ событий",
|
||||
"TotalEvents": "Всего событий",
|
||||
"TotalEventsDocumentation": "Общее количество событий",
|
||||
"TotalValue": "Значение события",
|
||||
"TotalValueDocumentation": "Сумма значений событий",
|
||||
"ViewEvents": "Просмотреть события"
|
||||
}
|
||||
}
|
14
msd2/tracking/piwik/plugins/Events/lang/sk.json
Normal file
14
msd2/tracking/piwik/plugins/Events/lang/sk.json
Normal file
@ -0,0 +1,14 @@
|
||||
{
|
||||
"Events": {
|
||||
"PluginDescription": "Sledovanie Udalostí a získanie reportu ohľadom aktivity vašich návštevníkov.",
|
||||
"AvgValue": "Priemerná hodnota",
|
||||
"Events": "Udalosti",
|
||||
"EventsWithValue": "Udalosti s hodnotou",
|
||||
"EventsWithValueDocumentation": "Počet udalostí, kde bola nastavená hodnota Udalosti",
|
||||
"EventValueTooltip": "Hodnota Udalostí celom je suma %1$s hodnôt udalostí %2$s medzi minimom %3$s a maximom %4$s.",
|
||||
"TopEvents": "Top Udalosti",
|
||||
"TotalEvents": "Udalosti celkom",
|
||||
"TotalEventsDocumentation": "Celkový počet udalostí",
|
||||
"ViewEvents": "Zobraziť udalosti"
|
||||
}
|
||||
}
|
6
msd2/tracking/piwik/plugins/Events/lang/sl.json
Normal file
6
msd2/tracking/piwik/plugins/Events/lang/sl.json
Normal file
@ -0,0 +1,6 @@
|
||||
{
|
||||
"Events": {
|
||||
"Events": "Dogodki",
|
||||
"EventsWithValue": "Dogodki z vrednostjo"
|
||||
}
|
||||
}
|
35
msd2/tracking/piwik/plugins/Events/lang/sq.json
Normal file
35
msd2/tracking/piwik/plugins/Events/lang/sq.json
Normal file
@ -0,0 +1,35 @@
|
||||
{
|
||||
"Events": {
|
||||
"PluginDescription": "Ndiqni Akte dhe merrni raporte mbi veprimtarinë e vizitorëve tuaj.",
|
||||
"AvgEventValue": "Vlera mesatare e Akteve është: %s",
|
||||
"AvgValue": "Vlerë mesatare",
|
||||
"AvgValueDocumentation": "Mesatarja e krejt vlerave për këtë akt",
|
||||
"Category": "Kategori",
|
||||
"Event": "Akt",
|
||||
"EventAction": "Veprim Akti",
|
||||
"EventActions": "Veprime Akti",
|
||||
"EventCategories": "Kategori Aktesh",
|
||||
"EventCategory": "Kategori Akti",
|
||||
"EventName": "Emër Akti",
|
||||
"EventNames": "Emra Aktesh",
|
||||
"EventUrl": "URLAkti",
|
||||
"EventUrls": "ULR-ra Aktesh",
|
||||
"Events": "Akte",
|
||||
"EventsWithValue": "Akte me një vlerë",
|
||||
"EventsWithValueDocumentation": "Numër aktesh për të cilat është caktuar një vlerë Akti",
|
||||
"EventValue": "Vlerë akti",
|
||||
"EventValueTooltip": "Vlera Tërësore e Aktit është shuma e %1$s vlerave të akteve %2$s mes minimumit prej %3$s dhe maksimumit prej %4$s.",
|
||||
"MaxValue": "Maksimum vlere Akti",
|
||||
"MaxValueDocumentation": "Vlera maksimum për këtë akt",
|
||||
"MinValue": "Minimum vlere Akti",
|
||||
"MinValueDocumentation": "Vlera minimum për këtë akt",
|
||||
"SecondaryDimension": "Përmasa dytësore është %s.",
|
||||
"SwitchToSecondaryDimension": "Kalo te %s",
|
||||
"TopEvents": "Aktet Kryesuese",
|
||||
"TotalEvents": "Akte gjithsej",
|
||||
"TotalEventsDocumentation": "Numri gjithsej i akteve",
|
||||
"TotalValue": "Vlerë akti",
|
||||
"TotalValueDocumentation": "Shuma e vlerave të akteve",
|
||||
"ViewEvents": "Shihni Akte"
|
||||
}
|
||||
}
|
28
msd2/tracking/piwik/plugins/Events/lang/sr.json
Normal file
28
msd2/tracking/piwik/plugins/Events/lang/sr.json
Normal file
@ -0,0 +1,28 @@
|
||||
{
|
||||
"Events": {
|
||||
"PluginDescription": "Pratite događaje i dobijajte izveštaje o aktivnostima vaših posetilaca.",
|
||||
"AvgEventValue": "Prosečna vrednost događaja je: %s",
|
||||
"AvgValue": "Prosečna vrednost",
|
||||
"AvgValueDocumentation": "Prosek svih vrednosti ovog događaja",
|
||||
"Event": "Događaj",
|
||||
"EventAction": "Akcija događaja",
|
||||
"EventActions": "Akcije događaja",
|
||||
"EventCategories": "Kategorije događaja",
|
||||
"EventCategory": "Kategorije događaja",
|
||||
"EventName": "Naziv događaja",
|
||||
"EventNames": "Nazivi događaja",
|
||||
"Events": "Događaji",
|
||||
"EventsWithValue": "Događaji sa vrednošću",
|
||||
"EventsWithValueDocumentation": "Broj događaja u kojima je vrednost postavljena",
|
||||
"EventValueTooltip": "Ukupna vrednost događaja je suma %1$s događaja sa vrednošću %2$s između minimum od %3$s i maksimum od %4$s",
|
||||
"MaxValueDocumentation": "Maksimalna vrednost za ovaj događaj",
|
||||
"MinValueDocumentation": "Minimalna vrednost za ovaj događaj",
|
||||
"SecondaryDimension": "Sekundarna dimenzija je %s.",
|
||||
"SwitchToSecondaryDimension": "Prebaci na %s",
|
||||
"TopEvents": "Vodeći događaji",
|
||||
"TotalEvents": "Ukupno događaja",
|
||||
"TotalEventsDocumentation": "Ukupan broj događaja",
|
||||
"TotalValueDocumentation": "suma vrednosti događaja",
|
||||
"ViewEvents": "Prikaži događaje"
|
||||
}
|
||||
}
|
34
msd2/tracking/piwik/plugins/Events/lang/sv.json
Normal file
34
msd2/tracking/piwik/plugins/Events/lang/sv.json
Normal file
@ -0,0 +1,34 @@
|
||||
{
|
||||
"Events": {
|
||||
"PluginDescription": "Spåra händelser och få rapporter om besökarnas aktiviteter.",
|
||||
"AvgEventValue": "Genomsnittligt värde för händelse är: %s",
|
||||
"AvgValue": "Genomsnittligt värde",
|
||||
"AvgValueDocumentation": "Medelvärdet för alla värden för denna händelse",
|
||||
"Event": "Händelse",
|
||||
"EventAction": "Händelse Åtgärd",
|
||||
"EventActions": "Händelseförlopp",
|
||||
"EventCategories": "Händelse kategorier",
|
||||
"EventCategory": "Händelsekategori",
|
||||
"EventName": "Händelse Namn",
|
||||
"EventNames": "Händelsenamn",
|
||||
"EventUrl": "Händelseadress",
|
||||
"EventUrls": "Händelseadresser",
|
||||
"Events": "Händelser",
|
||||
"EventsWithValue": "Händelser med ett värde",
|
||||
"EventsWithValueDocumentation": "Antal händelser där en händelses värde fastställdes",
|
||||
"EventValue": "Händelse värde",
|
||||
"EventValueTooltip": "Totalt händelsevärde är summan av %1$shändelsevärden%2$s mellan minst %3$s och högst %4$s.",
|
||||
"MaxValue": "Högsta händelse värde",
|
||||
"MaxValueDocumentation": "Det maximala värdet för denna händelse",
|
||||
"MinValue": "Minsta händelse värde",
|
||||
"MinValueDocumentation": "Det lägsta värdet för denna händelse",
|
||||
"SecondaryDimension": "Sekundär dimension är %s.",
|
||||
"SwitchToSecondaryDimension": "Växla till %s",
|
||||
"TopEvents": "Topphändelser",
|
||||
"TotalEvents": "Totala händelser",
|
||||
"TotalEventsDocumentation": "Totala antalet händelser",
|
||||
"TotalValue": "Händelse värde",
|
||||
"TotalValueDocumentation": "Summan av händelse värdena",
|
||||
"ViewEvents": "Visa händelser"
|
||||
}
|
||||
}
|
8
msd2/tracking/piwik/plugins/Events/lang/ta.json
Normal file
8
msd2/tracking/piwik/plugins/Events/lang/ta.json
Normal file
@ -0,0 +1,8 @@
|
||||
{
|
||||
"Events": {
|
||||
"EventAction": "நிகழ்ச்சி செயல்",
|
||||
"EventCategory": "நிகழ்ச்சி வகை",
|
||||
"EventName": "நிகழ்ச்சி பெயர்",
|
||||
"Events": "நிகழ்சிகள்"
|
||||
}
|
||||
}
|
27
msd2/tracking/piwik/plugins/Events/lang/tl.json
Normal file
27
msd2/tracking/piwik/plugins/Events/lang/tl.json
Normal file
@ -0,0 +1,27 @@
|
||||
{
|
||||
"Events": {
|
||||
"AvgEventValue": "Average na value ng event ay: %s",
|
||||
"AvgValue": "Average value",
|
||||
"AvgValueDocumentation": "Ang average ng lahat ng mga values para sa event na ito.",
|
||||
"Event": "Resulta",
|
||||
"EventAction": "Event Action",
|
||||
"EventActions": "Event Actions",
|
||||
"EventCategories": "Mga kategorya ng Event",
|
||||
"EventCategory": "Kategorya ng event",
|
||||
"EventName": "Pangalan ng Event",
|
||||
"EventNames": "Event Names",
|
||||
"Events": "Mga Resulta",
|
||||
"EventsWithValue": "Mga event na may value",
|
||||
"EventsWithValueDocumentation": "Bilang ng pangyayari kung saan ang halaga ng Event ay itinakda",
|
||||
"EventValueTooltip": "Ang total event value ay resulta ng %1$s events values %2$s sa pagitan ng minimum %3$s at maximum ng %4$s.",
|
||||
"MaxValueDocumentation": "Ang maximum na halaga para sa kaganapang ito.",
|
||||
"MinValueDocumentation": "Ang minimum na halaga para sa kaganapang ito.",
|
||||
"SecondaryDimension": "Pangalawang dimensyon ay %s.",
|
||||
"SwitchToSecondaryDimension": "Lumipat sa %s",
|
||||
"TopEvents": "Mga nangungunang events",
|
||||
"TotalEvents": "Total events",
|
||||
"TotalEventsDocumentation": "Kabuuang bilang ng mga event",
|
||||
"TotalValueDocumentation": "Ang kabuuan ng mga value ng event",
|
||||
"ViewEvents": "View Events"
|
||||
}
|
||||
}
|
35
msd2/tracking/piwik/plugins/Events/lang/tr.json
Normal file
35
msd2/tracking/piwik/plugins/Events/lang/tr.json
Normal file
@ -0,0 +1,35 @@
|
||||
{
|
||||
"Events": {
|
||||
"PluginDescription": "Etkinlikleri izler ve ziyaretçilerin yaptığı etkinlikler hakkında raporlar oluşturur.",
|
||||
"AvgEventValue": "Ortalama etkinlik değeri: %s",
|
||||
"AvgValue": "Ortalama değer",
|
||||
"AvgValueDocumentation": "Bu etkinlik için tüm değerlerin ortalaması",
|
||||
"Category": "Kategori",
|
||||
"Event": "Etkinlik",
|
||||
"EventAction": "Etkinlik İşlemi",
|
||||
"EventActions": "Etkinlik İşlemi",
|
||||
"EventCategories": "Etkinlik Kategorisi",
|
||||
"EventCategory": "Etkinlik Kategorisi",
|
||||
"EventName": "Etkinlik Adı",
|
||||
"EventNames": "Etkinlik Adı",
|
||||
"EventUrl": "Etkinlik Adresi",
|
||||
"EventUrls": "Etkinlik Adresi",
|
||||
"Events": "Etkinlikler",
|
||||
"EventsWithValue": "Değeri olan etkinlikler",
|
||||
"EventsWithValueDocumentation": "Etkinlik değeri ayarlanmış olan etkinlik sayısı",
|
||||
"EventValue": "Etkinlik değeri",
|
||||
"EventValueTooltip": "Toplam etkinlik %1$s etkinliğin %2$s değerinden %3$s ile %4$s arasında.",
|
||||
"MaxValue": "En Büyük Etkinlik Değeri",
|
||||
"MaxValueDocumentation": "Bu etkinliğin en büyük değeri",
|
||||
"MinValue": "En Küçük Etkinlik Değeri",
|
||||
"MinValueDocumentation": "Bu etkinliğin en küçük değeri",
|
||||
"SecondaryDimension": "İkincil boyut %s.",
|
||||
"SwitchToSecondaryDimension": "%s Geç",
|
||||
"TopEvents": "En Yoğun Etkinlikler",
|
||||
"TotalEvents": "Toplam etkinlik",
|
||||
"TotalEventsDocumentation": "Toplam etkinlik sayısı",
|
||||
"TotalValue": "Etkinlik değeri",
|
||||
"TotalValueDocumentation": "Etkinlik değerleri toplamı",
|
||||
"ViewEvents": "Etkinlikleri Görüntüle"
|
||||
}
|
||||
}
|
28
msd2/tracking/piwik/plugins/Events/lang/uk.json
Normal file
28
msd2/tracking/piwik/plugins/Events/lang/uk.json
Normal file
@ -0,0 +1,28 @@
|
||||
{
|
||||
"Events": {
|
||||
"PluginDescription": "Відстежуйте події і отримуйте звіти про активність своїх відвідувачів.",
|
||||
"AvgEventValue": "Середнє значення події: %s",
|
||||
"AvgValue": "Середнє значення",
|
||||
"AvgValueDocumentation": "Середнє всіх значень для цієї події",
|
||||
"Event": "Подія",
|
||||
"EventAction": "Дія події",
|
||||
"EventActions": "Дії подій",
|
||||
"EventCategories": "Категорії подій",
|
||||
"EventCategory": "Категорія події",
|
||||
"EventName": "Назва події",
|
||||
"EventNames": "Назви подій",
|
||||
"Events": "Події",
|
||||
"EventsWithValue": "Події зі значенням",
|
||||
"EventsWithValueDocumentation": "Кількість подій, де було встановлено значення для Події",
|
||||
"EventValueTooltip": "Загальні значення подій дорівнюють сумі %1$s значенням (подій) %2$s між мінімумом %3$s і максимумом %4$s.",
|
||||
"MaxValueDocumentation": "Максимальна значення для цієї події",
|
||||
"MinValueDocumentation": "Мінімальне значення для цієї події",
|
||||
"SecondaryDimension": "Вторичний вимір %s.",
|
||||
"SwitchToSecondaryDimension": "Переключитися на %s",
|
||||
"TopEvents": "Топ подій",
|
||||
"TotalEvents": "Усього подій",
|
||||
"TotalEventsDocumentation": "Загальна кількість подій",
|
||||
"TotalValueDocumentation": "Сума значень подій",
|
||||
"ViewEvents": "Перегляд подій"
|
||||
}
|
||||
}
|
9
msd2/tracking/piwik/plugins/Events/lang/vi.json
Normal file
9
msd2/tracking/piwik/plugins/Events/lang/vi.json
Normal file
@ -0,0 +1,9 @@
|
||||
{
|
||||
"Events": {
|
||||
"PluginDescription": "Theo dõi sự kiện và nhận các báo cáo về hoạt động truy cập của bạn.",
|
||||
"EventAction": "Hành động sự kiện",
|
||||
"EventCategory": "Danh mục sự kiện",
|
||||
"EventName": "Tên sự kiện",
|
||||
"Events": "Các sự kiện"
|
||||
}
|
||||
}
|
11
msd2/tracking/piwik/plugins/Events/lang/zh-cn.json
Normal file
11
msd2/tracking/piwik/plugins/Events/lang/zh-cn.json
Normal file
@ -0,0 +1,11 @@
|
||||
{
|
||||
"Events": {
|
||||
"AvgValue": "平均值",
|
||||
"Event": "事件",
|
||||
"EventAction": "事件行为",
|
||||
"EventCategory": "事件分类",
|
||||
"EventName": "事件名字",
|
||||
"EventNames": "事件名称",
|
||||
"Events": "事件"
|
||||
}
|
||||
}
|
35
msd2/tracking/piwik/plugins/Events/lang/zh-tw.json
Normal file
35
msd2/tracking/piwik/plugins/Events/lang/zh-tw.json
Normal file
@ -0,0 +1,35 @@
|
||||
{
|
||||
"Events": {
|
||||
"PluginDescription": "透過追蹤事件來取得訪客活動紀錄報表。",
|
||||
"AvgEventValue": "事件平均值為:%s",
|
||||
"AvgValue": "平均值",
|
||||
"AvgValueDocumentation": "此事件所有值的加總平均",
|
||||
"Category": "分類",
|
||||
"Event": "事件",
|
||||
"EventAction": "事件動作",
|
||||
"EventActions": "事件動作",
|
||||
"EventCategories": "事件類別",
|
||||
"EventCategory": "事件類別",
|
||||
"EventName": "事件標籤",
|
||||
"EventNames": "事件標籤",
|
||||
"EventUrl": "事件網址",
|
||||
"EventUrls": "事件網址",
|
||||
"Events": "事件",
|
||||
"EventsWithValue": "含有值的事件",
|
||||
"EventsWithValueDocumentation": "有設定值的事件數量",
|
||||
"EventValue": "事件值",
|
||||
"EventValueTooltip": "事件值總計是由 %1$s 的事件值 %2$s 從最小值 %3$s 到最大值 %4$s 之間的值加總。",
|
||||
"MaxValue": "最大事件值",
|
||||
"MaxValueDocumentation": "此事件的的大值",
|
||||
"MinValue": "最小事件值",
|
||||
"MinValueDocumentation": "此事件的最小值",
|
||||
"SecondaryDimension": "次要維度為 %s。",
|
||||
"SwitchToSecondaryDimension": "切換至 %s",
|
||||
"TopEvents": "熱門事件",
|
||||
"TotalEvents": "所有事件",
|
||||
"TotalEventsDocumentation": "所有事件的數量",
|
||||
"TotalValue": "事件值",
|
||||
"TotalValueDocumentation": "事件值的加總",
|
||||
"ViewEvents": "查看事件"
|
||||
}
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
div[data-report="Events.getAaction"].dataTableVizAllColumns,
|
||||
div[data-report="Events.getName"].dataTableVizAllColumns,
|
||||
div[data-report="Events.getCategory"].dataTableVizAllColumns {
|
||||
.dataTableWrapper {
|
||||
width:1000px;
|
||||
}
|
||||
}
|
@ -0,0 +1,25 @@
|
||||
<li class="action" title="{{ postEvent('Live.renderActionTooltip', action, visitInfo) }}">
|
||||
<div>
|
||||
{% if action.pageTitle|default(false) is not empty %}
|
||||
<span class="truncated-text-line">{{ action.pageTitle|rawSafeDecoded }}</span>
|
||||
{% endif %}
|
||||
<img src='plugins/Morpheus/images/event.svg' title='{{ 'Events_Event'|translate }}' class="action-list-action-icon event">
|
||||
<span class="truncated-text-line event">{{ action.eventCategory|rawSafeDecoded }}
|
||||
- {{ action.eventAction|rawSafeDecoded }} {% if action.eventName is defined %}- {{ action.eventName|rawSafeDecoded }}{% endif %} {% if action.eventValue is defined %}[{{ action.eventValue }}]{% endif %}</span>
|
||||
{% if action.url is not empty %}
|
||||
{% if previousAction.url|default(false) == action.url %}
|
||||
{# For events, do not show (url) if the Event URL is the same as the URL last displayed #}
|
||||
{% else %}
|
||||
{% if action.url|trim|lower starts with 'javascript:' or
|
||||
action.url|trim|lower starts with 'vbscript:' or
|
||||
action.url|trim|lower starts with 'data:' %}
|
||||
{{ action.url }}
|
||||
{% else %}
|
||||
<a href="{{ action.url|safelink|e('html_attr') }}" rel="noreferrer noopener" target="_blank" class="truncated-text-line">
|
||||
{{ action.url|replace({'http://': '', 'https://': ''}) }}
|
||||
</a>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
</div>
|
||||
</li>
|
Reference in New Issue
Block a user