قرینه از
https://github.com/matomo-org/matomo.git
synced 2025-08-22 06:57:53 +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>
61 خطوط
3.4 KiB
Twig
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') }})">‹ {% 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 %} ›</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>
|