قرینه از
https://github.com/matomo-org/matomo.git
synced 2025-08-21 22:47:43 +00:00

* Add matomo.org link campaign tracking functionality and tests * Added optional override parameters for trackmatomolink, added new config option to disable matomo.org link campaign tracking, updated tests * Added twig functions to format external urls, added missing matomo.org subdomains to allow list * Revert unnecessary extra parameters for externallink twig function in favour of using twig string concatenation * Update all matomo.org links in twig templates * Add an externalLink() function for vue.js to easily add campaign parameters to matomo.org urls in the front end * Update vue.js externalLink() function to support the disable_tracking_matomo_app_links config option * Attempt to keep linter happy * More linter tweaks * Bump stalled tests * built vue files * Remove unnecessary domains from externalLink list, add missing type definition, update and fix privacy setting link * Improve externalLink TypeScript method to use URL object for domain manipulation instead of custom regex * Make externalLink and externalRawLink TypeScript functions variadic * built vue files * Update matomo.org links in vue components with campaign parameters * Move externalRawLink function to piwik helper to make it available for vanilla JS, update matomo.org links in JS * Update matomo.org links in PHP classes to add campaign parameters * Increment version * Update submodule references * Fix for infinite loop when processing URLs in config settings * Update mtm_medium to include 'App.' prefix, linter pacification changes for externalLink * Fix link formatting in GeoIp2 vue component, update system tests * built vue files * Update advertising test, fix missing import in Tour * UI test fixes for tracking code twig templates and license key formatting * built vue files * Bump stalled tests * Fix missing use statements, remove incorrect custom params from link * built vue files * Change update version back to 5.0.0-rc5 * Update plugins/MultiSites/vue/src/Dashboard/Dashboard.vue Co-authored-by: Michal Kleiner <michal@innocraft.com> * Update plugins/MultiSites/vue/src/Dashboard/Dashboard.vue Co-authored-by: Michal Kleiner <michal@innocraft.com> * Update plugins/MultiSites/vue/src/Dashboard/Dashboard.vue Co-authored-by: Michal Kleiner <michal@innocraft.com> * Update plugins/Morpheus/javascripts/piwikHelper.js Co-authored-by: Michal Kleiner <michal@innocraft.com> * built vue files * Add check for _pk_externalRawLink before calling, Fix inconsistent source string * Fix linter complaint * built vue files * Bump stalled tests * Update submodule references to 5.x-dev branches * Update visitorgenerator submodule reference to 5.x-dev branche --------- Co-authored-by: bx80 <bx80@users.noreply.github.com> Co-authored-by: Michal Kleiner <michal@innocraft.com>
94 خطوط
5.9 KiB
Twig
94 خطوط
5.9 KiB
Twig
{% if not visitorData %}
|
|
<div class="pk-emptyDataTable">{{ 'CoreHome_ThereIsNoDataForThisReport'|translate }}</div>
|
|
{% else %}
|
|
<div class="visitor-profile"
|
|
data-visitor-id="{{ visitorData.lastVisits.getFirstRow().getColumn('visitorId') }}"
|
|
data-next-visitor="{{ visitorData.nextVisitorId }}"
|
|
data-prev-visitor="{{ visitorData.previousVisitorId }}"
|
|
tabindex="0">
|
|
<div class="visitor-profile-options">
|
|
<a href class="visitor-profile-close" title="{{ 'General_Close'|translate }} "></a>
|
|
<a href="{{ 'https://matomo.org/docs/user-profile/'|trackmatomolink }}" class="visitor-profile-help" rel="noreferrer"
|
|
target="_blank"
|
|
title="{{ 'General_ViewDocumentationFor'|translate("Live_VisitorProfile"|translate|ucwords) }}">
|
|
</a>
|
|
<a href class="visitor-profile-toggle-actions" title="{{ 'Live_ToggleActions'|translate }} "></a>
|
|
</div>
|
|
<div class="visitor-profile-info">
|
|
<div class="visitor-profile-overview">
|
|
<div class="visitor-profile-header">
|
|
<div class="visitor-profile-avatar">
|
|
<img src="{{ visitorData.visitorAvatar|default("plugins/Live/images/unknown_avatar.png") }}"
|
|
alt="{{ visitorData.visitorDescription|default('') }}"
|
|
title="{{ visitorData.visitorDescription|default('') }}"/>
|
|
</div>
|
|
<div class="visitor-profile-header-details">
|
|
<div class="visitor-profile-headline">
|
|
{% if visitorData.previousVisitorId is not empty %}<a class="visitor-profile-prev-visitor"
|
|
href="#"
|
|
title="{{ 'Live_PreviousVisitor'|translate }}">
|
|
←</a>{% endif %}
|
|
<h1>
|
|
{%- if visitorData.userId is empty %}
|
|
{{ 'Live_VisitorProfile'|translate }}
|
|
{%- else %}
|
|
<span title="{{ 'General_UserId'|translate }}: {{ visitorData.userId|rawSafeDecoded }}">{{ visitorData.userId|rawSafeDecoded }}</span>
|
|
{% endif -%}
|
|
</h1>
|
|
{% if visitorData.nextVisitorId is not empty %}<a class="visitor-profile-next-visitor"
|
|
href="#"
|
|
title="{{ 'Live_NextVisitor'|translate }}">
|
|
→</a>{% endif %}
|
|
</div>
|
|
<div class="visitor-profile-latest-visit">
|
|
<div class="visitor-profile-id">
|
|
<span>{{ 'General_Id'|translate|upper }}</span>
|
|
{% if widgetizedLink is defined %}<a class="visitor-profile-widget-link"
|
|
href="{{ widgetizedLink }}" target="_blank"
|
|
title="{{ 'Widgetize_OpenInNewWindow'|translate }} - {{ 'Live_VisitorProfile'|translate }} {{ 'General_Id'|translate|upper }} {{ visitorData.visitorId }}">{% endif %}
|
|
<span>{{ visitorData.visitorId }}</span>
|
|
{%- if widgetizedLink is defined %}</a>{% endif %}
|
|
<a class="visitor-profile-export" href="{{ exportLink }}" target="_blank"
|
|
title="{{ 'General_ExportThisReport'|translate }}">
|
|
<span class="icon-export"></span>
|
|
</a>
|
|
</div>
|
|
{{ postEvent('Live.renderVisitorIcons', visitorData.lastVisits|first) }}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
{{ profileSummary|raw }}
|
|
|
|
{{ postEvent('Template.afterVisitorProfileOverview') }}
|
|
</div>
|
|
<div class="visitor-profile-visits-info">
|
|
<div class="visitor-profile-visits-container">
|
|
<ol class="visitor-profile-visits">
|
|
{% include "@Live/getVisitList.twig" with {'visits': visitorData.lastVisits, 'startCounter': visitorData.totalVisits} %}
|
|
</ol>
|
|
</div>
|
|
<div class="visitor-profile-more-info">
|
|
{% if visitorData.lastVisits.getRowsCount() >= constant("Piwik\\Plugins\\Live\\VisitorProfile::VISITOR_PROFILE_MAX_VISITS_TO_SHOW") %}
|
|
<a href="#">{{ 'Live_LoadMoreVisits'|translate }}</a> <img class="loadingPiwik"
|
|
style="display:none;"
|
|
src="plugins/Morpheus/images/loading-blue.gif"/>
|
|
{% else %}
|
|
<span class="visitor-profile-no-visits">
|
|
{% if visitorData.hasMoreVisits %}
|
|
{{ 'Live_LimitedVisitsShown'|translate('<strong>' ~ visitorData.totalVisits ~ '</strong>')|raw }}
|
|
{% else %}
|
|
{{ 'Live_NoMoreVisits'|translate }}
|
|
{% endif %}
|
|
</span>
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<script type="text/javascript">
|
|
$(function () {
|
|
require('piwik/UI').VisitorProfileControl.initElements();
|
|
});
|
|
</script>
|
|
{% endif %} |