1
0
قرینه از https://github.com/matomo-org/matomo.git synced 2025-08-22 06:57:53 +00:00
Files
matomo/plugins/Tour/templates/engagement.twig
Ben Burgess 693643c337 Add campaign tracking parameters for all links within Matomo that link to matomo.org (#21375)
* 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>
2023-10-24 11:49:38 +13:00

61 خطوط
3.4 KiB
Twig

<div class="widgetBody tourEngagement">
<p aria-hidden="true">
{% for i in 1..level.numLevelsTotal %}
<span class="icon-star {% if level.currentLevel >= i %}successStar{% else %}upgradeStar{% endif %}"></span>
{% endfor %}
</p>
{% if isCompleted %}
<p><strong class="completed">{{ 'Tour_CompletionTitle'|translate }}</strong>
{{ 'Tour_CompletionMessage'|translate }}
<br />
<br />
{{ 'Tour_YouCanCallYourselfExpert'|translate('<strong class="successStar">', '</strong>')|raw }}<br /><br />
{{ 'Tour_ShareYourAchievementOn'|translate('<a target="_blank" rel="noreferrer noopener" href="http://twitter.com/share?text='~ "Tour_ShareAllChallengesCompleted"|translate(level.currentLevelName)|e('url') ~ '&url=' ~ "https://matomo.org"|e('url') ~ '">Twitter</a>')|raw }}
</p>
{% else %}
{% if level.description %}<p>{{ level.description }}</p>{% endif %}
<p>
{{ 'Tour_StatusLevel'|translate('<strong>'~ level.currentLevelName ~'</strong>', level.challengesNeededForNextLevel, '<strong>'~ level.nextLevelName ~'</strong>')|raw }}
</p>
<ul>
{% for challenge in challenges %}
<li class="tourChallenge {{ challenge.id|e('html_attr') }}" title="{{ challenge.description|e('html_attr') }}">
{%- if challenge.isCompleted or challenge.isSkipped %}
<span class="icon-ok" title="{{ 'Tour_ChallengeCompleted'|translate|e('html_attr') }}"></span>
{% else %}
<a href="javascript:void 0;" class="skip-challenge" onclick="tourEngagement.skipChallenge('{{ challenge.id|e('js') }}')" title="{{ 'Tour_SkipThisChallenge'|translate|e('html_attr') }}"><span class="icon-hide"></span></a>
{% endif %}
{% if challenge.url is not empty %}
<a href="{{ challenge.url|safelink|e('html_attr') }}" target="_blank" rel="noreferrer noopener">{{ challenge.name }}</a>
{% else %}
{{ challenge.name }}
{% endif %}
</li>
{% endfor %}
</ul>
<hr />
<p style="text-align: center;padding-bottom: 0;">
{% if previousPage is not null %}
<a class="previousChallenges" onclick="tourEngagement.goToPage({{ previousPage|e('js') }})">&lsaquo; {% if nextPage %}{{ 'General_Previous'|translate }}{% else %}{{ 'Tour_PreviousChallenges'|translate }}{% endif %}</a>
{% endif %}
{% if nextPage %}
{% if previousPage is not null %} | {% endif %}
<a class="nextChallenges" onclick="tourEngagement.goToPage({{ nextPage|e('js') }})">{% if previousPage is not null %}{{ 'General_Next'|translate }}{% else %}{{ 'Tour_NextChallenges'|translate }}{% endif %} &rsaquo;</a>
{% endif %}
</p>
<hr />
<p class="tourSuperUserNote">{{ 'Tour_OnlyVisibleToSuperUser'|translate(externallink('https://matomo.org/faq/general/faq_35/'), '</a>')|raw }}</p>
<script>
jQuery(window).off('focus.tourEngagement').on('focus.tourEngagement', function () {
if (jQuery('#widgetTourgetEngagement').length) {
tourEngagement.goToPage({{ currentPage|e('js') }});
}
});
</script>
{% endif %}
</div>