diff options
Diffstat (limited to 'plugins/Live/templates/getVisitorProfilePopup.twig')
-rw-r--r-- | plugins/Live/templates/getVisitorProfilePopup.twig | 204 |
1 files changed, 59 insertions, 145 deletions
diff --git a/plugins/Live/templates/getVisitorProfilePopup.twig b/plugins/Live/templates/getVisitorProfilePopup.twig index a5b69e7fbd..f21a2477a3 100644 --- a/plugins/Live/templates/getVisitorProfilePopup.twig +++ b/plugins/Live/templates/getVisitorProfilePopup.twig @@ -1,174 +1,88 @@ {% 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"> - <a href class="visitor-profile-close" title="{{ 'General_Close'|translate }} "></a> - <div class="visitor-profile-info"> - <div> + <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="http://piwik.org/docs/user-profile/" 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-avatar"> - <div> - <div class="visitor-profile-image-frame"> - <img src="{{ visitorData.visitorAvatar|default("plugins/Live/images/unknown_avatar.png") }}" - alt="{{ visitorData.visitorDescription|default('') }}" - title="{{ visitorData.visitorDescription|default('') }}" /> - </div> - <img src="plugins/Live/images/paperclip.png" alt=""/> + <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> - <div class="visitor-profile-header"> - {% if visitorData.previousVisitorId is not empty %}<a class="visitor-profile-prev-visitor" href="#" title="{{ 'Live_PreviousVisitor'|translate }}">←</a>{% endif %} - <h1>{{ 'Live_VisitorProfile'|translate }} - {%- if visitorData.userId is not empty %}: <span title="{{'General_UserId'|translate}}: {{ visitorData.userId|raw }}">{{ visitorData.userId|raw }}</span>{% endif -%} - <img class="loadingPiwik" style="display:none;" src="plugins/Morpheus/images/loading-blue.gif"/> + <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|raw }}">{{ visitorData.userId|raw }}</span> + {% endif -%} </h1> - <a href="http://piwik.org/docs/user-profile/" class="visitorProfileHelp" rel="noreferrer" target="_blank" title="{{ 'General_ViewDocumentationFor'|translate("Live_VisitorProfile"|translate|ucwords) }}"> - <span class="icon-help"></span> - </a> - {% if visitorData.nextVisitorId is not empty %}<a class="visitor-profile-next-visitor" href="#" title="{{ 'Live_NextVisitor'|translate }}">→</a>{% endif %} + {% 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"> - {% include "@Live/getSingleVisitSummary.twig" with {'visitData': visitorData.lastVisits.getFirstRow().getColumns(), 'showLocation': false} %} - </div> - </div> - <p style="clear:both; border:none!important;"></p> - </div> - <div class="visitor-profile-summary"> - <h1>{{ 'General_Summary'|translate }}</h1> - <div> - {% if visitorData.totalPageViews != visitorData.totalActions %} - {% set actionDetails = [] %} - {% if visitorData.totalPageViews > 0 %}{% set actionDetails = actionDetails|merge([visitorData.totalPageViews ~ ' ' ~ 'General_ColumnPageviews'|translate]) %}{% endif %} - {% if visitorData.totalEvents > 0 %}{% set actionDetails = actionDetails|merge([visitorData.totalEvents ~ ' ' ~ 'Events_Events'|translate]) %}{% endif %} - {% if visitorData.totalDownloads > 0 %}{% set actionDetails = actionDetails|merge([visitorData.totalDownloads ~ ' ' ~ 'General_Downloads'|translate]) %}{% endif %} - {% if visitorData.totalOutlinks > 0 %}{% set actionDetails = actionDetails|merge([visitorData.totalOutlinks ~ ' ' ~ 'General_Outlinks'|translate]) %}{% endif %} - {% if visitorData.totalSearches > 0 %}{% set actionDetails = actionDetails|merge([visitorData.totalSearches ~ ' ' ~ 'Actions_ColumnSearches'|translate]) %}{% endif %} - <p>{{ 'Live_VisitSummaryWithActionDetails'|translate('<strong>' ~ visitorData.totalVisitDurationPretty ~ '</strong>', '', '', '<strong>' ~ visitorData.totalActions, '</strong>', actionDetails|join(', ') , '<strong>' ~ visitorData.totalVisits, '</strong>')|raw }}</p> - {% else %} - <p>{{ 'Live_VisitSummary'|translate('<strong>' ~ visitorData.totalVisitDurationPretty ~ '</strong>', '', '', '<strong>' ~ visitorData.totalActions, '</strong>', '<strong>' ~ visitorData.totalVisits, '</strong>')|raw }}</p> - {% endif %} - <p>{% if visitorData.totalGoalConversions %}<strong>{% endif %}{{ 'Live_ConvertedNGoals'|translate(visitorData.totalGoalConversions) }}{% if visitorData.totalGoalConversions %}</strong>{% endif %} - {%- if visitorData.totalGoalConversions %} ( - {%- for idGoal, totalConversions in visitorData.totalConversionsByGoal -%} - {%- set idGoal = idGoal[7:] -%} - {%- if not loop.first %}, {% endif -%}{{- totalConversions }} {{ goals[idGoal]['name'] -}} - {%- endfor -%} - ){% endif %}.</p> - {% if visitorData.totalSearches|default(0) %} - <p> - {{ 'Actions_WidgetSearchKeywords'|translate }}: - {%- for entry in visitorData.searches %} <strong title="{% if entry.searches == 1 %}{{ 'Actions_OneSearch'|translate }}{% else %}{{ 'UserCountryMap_Searches'|translate(entry.searches) }}{% endif %}">{{ entry.keyword }}</strong>{% if not loop.last %},{% endif %}{% endfor %} - </p> - {% endif %} - {% if visitorData.averagePageGenerationTime is defined %} - <p title="{{ 'Live_CalculatedOverNPageViews'|translate(visitorData.totalPageViewsWithTiming) }}"> - {{ 'Live_AveragePageGenerationTime'|translate('<strong>' ~ visitorData.averagePageGenerationTime ~ 's</strong>')|raw }} - </p> - {% endif %} - </div> - </div> - {% if visitorData.totalEcommerceRevenue is defined %} - <div class="visitor-profile-lifetimevalue"> - <h1>{{ 'Goals_Ecommerce'|translate }}</h1> - <div> - <p title="{{ 'Ecommerce_LifeTimeValueDescription'|translate(visitorData.visitorId) }}"> - {{ 'Ecommerce_VisitorProfileLTV'|translate( "<strong>" ~ visitorData.totalEcommerceRevenue|money(idSite) ~ "</strong>")|raw }} - {{ 'Ecommerce_VisitorProfileItemsAndOrders'|translate("<strong>" ~ visitorData.totalEcommerceItems ~ "</strong>", "<strong>" ~ visitorData.totalEcommerceConversions ~ "</strong>")|raw }} - </p> - <p> - {%- if visitorData.totalAbandonedCarts|default(0) > 0 %} - {{ 'Ecommerce_VisitorProfileAbandonedCartSummary'|translate('<strong>' ~ visitorData.totalAbandonedCarts ~ '</strong>', '<strong>' ~ visitorData.totalAbandonedCartsItems ~ '</strong>', '<strong>' ~ visitorData.totalAbandonedCartsRevenue|money(idSite) ~ '</strong>')|raw }} - {%- endif -%} - </p> - </div> - </div> - {% endif %} - <div class="visitor-profile-important-visits"> - {%- set keywordNotDefined = 'General_NotDefined'|translate('General_ColumnKeyword'|translate) -%} - <div> - <h1>{% if visitorData.visitsAggregated == 100 %}{{ 'General_Visit'|translate }}# 100{% else %}{{ 'Live_FirstVisit'|translate }}{% endif %}</h1> - <div> - <p><strong>{{ visitorData.firstVisit.prettyDate }}</strong> - {{ 'UserCountryMap_DaysAgo'|translate(visitorData.firstVisit.daysAgo) }}</p> - <p> - {{ 'General_FromReferrer'|translate }}<strong {% if visitorData.firstVisit.referrerType == 'search' and '(' not in visitorData.firstVisit.referralSummary %}title="{{ keywordNotDefined }}"{% endif %}>{{ visitorData.firstVisit.referralSummary }}</strong></p> + <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> - {% if visitorData.lastVisits.getRowsCount() != 1 %} - <div> - <h1>{{ 'Live_LastVisit'|translate }}</h1> - <div> - <p><strong>{{ visitorData.lastVisit.prettyDate }}</strong> - {{ 'UserCountryMap_DaysAgo'|translate(visitorData.lastVisit.daysAgo) }}</p> - <p> - {{ 'General_FromReferrer'|translate }}<strong {% if visitorData.lastVisit.referrerType == 'search' and '(' not in visitorData.lastVisit.referralSummary %}title="{{ keywordNotDefined }}"{% endif %}>{{ visitorData.lastVisit.referralSummary }}</strong></p> - </div> - </div> - {% endif %} </div> - <div class="visitor-profile-location"> - <h1>{{ 'UserCountry_Location'|translate }}</h1> - <p> - {%- for entry in visitorData.countries -%} - - {% set entryCity -%} - {% if entry.cities is defined and 1 == entry.cities|length and entry.cities|join -%} - {{ entry.cities|join }} - {%- elseif entry.cities is defined and 1 < entry.cities|length -%} - <span title="{{ entry.cities|join(', ') }}">{{ 'UserCountry_FromDifferentCities'|translate }}</span> - {%- endif %} - {%- endset %} - - {% set entryVisits -%} - <strong> - {% if entry.nb_visits == 1 -%} - {{ 'General_OneVisit'|translate }} - {%- else -%} - {{ 'General_NVisits'|translate(entry.nb_visits) }} - {%- endif -%} - </strong> - {%- endset %} - {% set entryCountry -%} - {%- if entryCity -%} - {{ 'UserCountry_CityAndCountry'|translate(entryCity, entry.prettyName)|raw }} - {%- else -%} - {{ entry.prettyName }} - {%- endif -%} - - <img height="16px" src="{{ entry.flag }}" title="{{ entry.prettyName }}"/> - {%- endset %} - - {{- 'General_XFromY'|translate(entryVisits, entryCountry)|raw -}}{% if not loop.last %}, {% endif %} - {%- endfor %} - <a class="visitor-profile-show-map" href="#" {% if userCountryMapUrl|default('') is empty %}style="display:none"{% endif %}>({{ 'Live_ShowMap'|translate|replace({' ': ' '})|raw }})</a> <img class="loadingPiwik" style="display:none;" src="plugins/Morpheus/images/loading-blue.gif"/> - </p> - <div class="visitor-profile-map" style="display:none" data-href="{{ userCountryMapUrl|default('') }}"> - </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': 1} %} + {% 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"/> + <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">{{ 'Live_NoMoreVisits'|translate }}</span> + <span class="visitor-profile-no-visits">{{ 'Live_NoMoreVisits'|translate }}</span> {% endif %} </div> </div> </div> </div> -</div> -<script type="text/javascript"> -$(function() { require('piwik/UI').VisitorProfileControl.initElements(); }); -</script> + <script type="text/javascript"> + $(function () { + require('piwik/UI').VisitorProfileControl.initElements(); + }); + </script> {% endif %}
\ No newline at end of file |