PDF rausgenommen
This commit is contained in:
@ -0,0 +1,40 @@
|
||||
<div class="visitor-profile-summary 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>
|
@ -0,0 +1,70 @@
|
||||
<div ng-show="locationUpdater.geoipDatabaseInstalled" id="geoipdb-update-info">
|
||||
<p>
|
||||
{{ 'UserCountry_GeoIPUpdaterInstructions'|translate('<a href="http://www.maxmind.com/en/download_files?rId=piwik" _target="blank">','</a>',
|
||||
'<a href="http://www.maxmind.com/?rId=piwik">','</a>')|raw }}
|
||||
<br/><br/>
|
||||
{{ 'UserCountry_GeoLiteCityLink'|translate("<a href='"~geoLiteUrl~"'>",geoLiteUrl,'</a>')|raw }}
|
||||
|
||||
<span ng-show="locationUpdater.geoipDatabaseInstalled">
|
||||
<br/><br/>{{ 'UserCountry_GeoIPUpdaterIntro'|translate }}:
|
||||
</span>
|
||||
</p>
|
||||
|
||||
<div piwik-field uicontrol="text" name="geoip-location-db"
|
||||
ng-model="locationUpdater.locationDbUrl"
|
||||
introduction="{{ 'UserCountry_LocationDatabase'|translate|e('html_attr') }}"
|
||||
title="{{ 'Actions_ColumnDownloadURL'|translate|e('html_attr') }}"
|
||||
value="{{ geoIPLocUrl }}"
|
||||
inline-help="{{ 'UserCountry_LocationDatabaseHint'|translate|e('html_attr') }}">
|
||||
</div>
|
||||
|
||||
<div piwik-field uicontrol="text" name="geoip-isp-db"
|
||||
ng-model="locationUpdater.ispDbUrl"
|
||||
introduction="{{ 'UserCountry_ISPDatabase'|translate|e('html_attr') }}"
|
||||
title="{{ 'Actions_ColumnDownloadURL'|translate|e('html_attr') }}"
|
||||
value="{{ geoIPIspUrl }}">
|
||||
</div>
|
||||
|
||||
{% if geoIPOrgUrl is defined %}
|
||||
<div piwik-field uicontrol="text" name="geoip-org-db"
|
||||
ng-model="locationUpdater.orgDbUrl"
|
||||
introduction="{{ 'UserCountry_OrgDatabase'|translate|e('html_attr') }}"
|
||||
title="{{ 'Actions_ColumnDownloadURL'|translate|e('html_attr') }}"
|
||||
value="{{ geoIPOrgUrl }}">
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<div id="locationProviderUpdatePeriodInlineHelp" class="inline-help-node">
|
||||
{% if lastTimeUpdaterRun is defined and lastTimeUpdaterRun is not empty %}
|
||||
{{ 'UserCountry_UpdaterWasLastRun'|translate(lastTimeUpdaterRun)|raw }}
|
||||
{% else %}
|
||||
{{ 'UserCountry_UpdaterHasNotBeenRun'|translate }}
|
||||
{% endif %}
|
||||
<br/><br/>
|
||||
<div id="geoip-updater-next-run-time">
|
||||
{% include "@UserCountry/_updaterNextRunTime.twig" %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div piwik-field uicontrol="radio" name="geoip-update-period"
|
||||
ng-model="locationUpdater.updatePeriod"
|
||||
introduction="{{ 'UserCountry_DownloadNewDatabasesEvery'|translate|e('html_attr') }}"
|
||||
value="{{ geoIPUpdatePeriod }}"
|
||||
options="{{ updatePeriodOptions|json_encode }}"
|
||||
inline-help="#locationProviderUpdatePeriodInlineHelp">
|
||||
</div>
|
||||
|
||||
<input type="button"
|
||||
class="btn"
|
||||
ng-click="locationUpdater.saveGeoIpLinks()"
|
||||
ng-value="locationUpdater.buttonUpdateSaveText"/>
|
||||
|
||||
<div>
|
||||
<div id="done-updating-updater"></div>
|
||||
<div id="geoipdb-update-info-error"></div>
|
||||
<div piwik-progressbar
|
||||
progress="locationUpdater.progressUpdateDownload"
|
||||
label="locationUpdater.progressUpdateLabel"
|
||||
ng-show="locationUpdater.isUpdatingGeoIpDatabase"></div>
|
||||
</div>
|
||||
</div>
|
@ -0,0 +1,9 @@
|
||||
{% if nextRunTime|default is not empty %}
|
||||
{% if date(nextRunTime.getTimestamp()) <= date() %}
|
||||
{{ 'UserCountry_UpdaterScheduledForNextRun'|translate }}
|
||||
{% else %}
|
||||
{{ 'UserCountry_UpdaterWillRunNext'|translate('<strong>' ~ nextRunTime.toString() ~ '</strong>')|raw }}
|
||||
{% endif %}
|
||||
{% else %}
|
||||
{{ 'UserCountry_UpdaterIsNotScheduledToRun'|translate }}
|
||||
{% endif %}
|
@ -0,0 +1,182 @@
|
||||
{% extends 'admin.twig' %}
|
||||
|
||||
{% set title %}{{ 'UserCountry_Geolocation'|translate }}{% endset %}
|
||||
|
||||
{% block content %}
|
||||
{% import 'macros.twig' as piwik %}
|
||||
|
||||
<div piwik-content-intro>
|
||||
<h2 piwik-enriched-headline
|
||||
help-url="https://matomo.org/docs/geo-locate/"
|
||||
id="location-providers">{{ title }}</h2>
|
||||
<p>{{ 'UserCountry_GeolocationPageDesc'|translate }}</p>
|
||||
</div>
|
||||
<div piwik-content-block content-title="{{ 'UserCountry_LocationProvider'|translate|e('html_attr') }}">
|
||||
<div piwik-location-provider-selection="{{ currentProviderId|e('html_attr') }}">
|
||||
|
||||
{% if not isThereWorkingProvider %}
|
||||
<h3 style="margin-top:0;">{{ 'UserCountry_HowToSetupGeoIP'|translate }}</h3>
|
||||
<p>{{ 'UserCountry_HowToSetupGeoIPIntro'|translate }}</p>
|
||||
<ul style="list-style:disc !important;margin-left:2em;">
|
||||
<li style="list-style-type: disc !important;">{{ 'UserCountry_HowToSetupGeoIP_Step1'|translate('<a rel="noreferrer noopener" href="'~geoLiteUrl~'">','</a>','<a rel="noreferrer noopener" target="_blank" href="http://www.maxmind.com/?rId=piwik">','</a>')|raw }}</li>
|
||||
<li style="list-style-type: disc !important;">{{ 'UserCountry_HowToSetupGeoIP_Step2'|translate("'"~geoLiteFilename~"'",'<strong>','</strong>')|raw }}</li>
|
||||
<li style="list-style-type: disc !important;">{{ 'UserCountry_HowToSetupGeoIP_Step3'|translate('<strong>','</strong>','<span style="color:green"><strong>','</strong></span>')|raw }}</li>
|
||||
<li style="list-style-type: disc !important;">{{ 'UserCountry_HowToSetupGeoIP_Step4'|translate }}</li>
|
||||
</ul>
|
||||
<p> </p>
|
||||
{% endif %}
|
||||
|
||||
<div class="row">
|
||||
<div class="col s12 push-m9 m3">{{ 'General_InfoFor'|translate(thisIP) }}</div>
|
||||
</div>
|
||||
|
||||
{% for id,provider in locationProviders if provider.isVisible %}
|
||||
<div class="row form-group provider{{ id|e('html_attr') }}">
|
||||
<div class="col s12 m4 l2">
|
||||
<p>
|
||||
<input class="location-provider"
|
||||
name="location-provider"
|
||||
value="{{ id }}"
|
||||
type="radio"
|
||||
ng-model="locationSelector.selectedProvider"
|
||||
id="provider_input_{{ id }}" {% if provider.status != 1 %}disabled="disabled"{% endif %}/>
|
||||
<label for="provider_input_{{ id }}">{{ provider.title|translate }}</label>
|
||||
</p>
|
||||
<p class="loc-provider-status">
|
||||
{% if provider.status == 0 %}
|
||||
<span class="is-not-installed">{{ 'General_NotInstalled'|translate}}</span>
|
||||
{% elseif provider.status == 1 %}
|
||||
<span class="is-installed">{{ 'General_Installed'|translate }}</span>
|
||||
{% elseif provider.status == 2 %}
|
||||
<span class="is-broken">{{ 'General_Broken'|translate }}</span>
|
||||
{% endif %}
|
||||
</p>
|
||||
</div>
|
||||
<div class="col s12 m4 l6">
|
||||
<p>{{ provider.description|translate|raw }}</p>
|
||||
{% if provider.status != 1 and provider.install_docs is defined %}
|
||||
<p>{{ provider.install_docs|raw }}</p>
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="col s12 m4 l4">
|
||||
{% if provider.status == 1 %}
|
||||
<div class="form-help">
|
||||
{% if thisIP != '127.0.0.1' %}
|
||||
{{ 'UserCountry_CurrentLocationIntro'|translate }}:
|
||||
<div>
|
||||
<br/>
|
||||
<div style="position: absolute;"
|
||||
piwik-activity-indicator
|
||||
loading='locationSelector.updateLoading[{{ id|json_encode }}]'></div>
|
||||
<span class="location"><strong>{{ provider.location|raw }}</strong></span>
|
||||
</div>
|
||||
<div class="text-right">
|
||||
<a href="javascript:;"
|
||||
ng-click='locationSelector.refreshProviderInfo({{ id|json_encode }})'>{{ 'General_Refresh'|translate }}</a>
|
||||
</div>
|
||||
{% else %}
|
||||
{{ 'UserCountry_CannotLocalizeLocalIP'|translate(thisIP) }}
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endif %}
|
||||
{% if provider.statusMessage is defined and provider.statusMessage %}
|
||||
<div class="form-help">
|
||||
{% if provider.status == 2 %}<strong>{{ 'General_Error'|translate }}:</strong> {% endif %}{{ provider.statusMessage|raw }}
|
||||
</div>
|
||||
{% endif %}
|
||||
{% if provider.extra_message is defined and provider.extra_message %}
|
||||
<div class="form-help">
|
||||
{{ provider.extra_message|raw }}
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
|
||||
<div piwik-save-button onconfirm="locationSelector.save()" saving="locationSelector.isLoading"></div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% if geoIPLegacyLocUrl is defined and geoIPLegacyLocUrl and isInternetEnabled %}
|
||||
{# The text in this part is not translatable on purpose, as it will be removed again soon #}
|
||||
<div piwik-content-block content-title="Automatic Updates for GeoIP Legacy">
|
||||
|
||||
<p>Setting up automatic updates for GeoIP Legacy is no longer supported.</p>
|
||||
|
||||
<div class="notification system notification-warning">
|
||||
{% if 'GeoLite' in geoIPLegacyLocUrl %}
|
||||
<div>Maxmind announced to discontinue updates to the GeoLite Legacy databases as of April 1, 2018.</div>
|
||||
{% endif %}
|
||||
<strong>Please consider switching to GeoIP 2 soon! GeoIP Legacy Support is deprecated and will be removed in one of the next major releases.</strong>
|
||||
</div>
|
||||
|
||||
{% if geoIPLegacyLocUrl or geoIPLegacyIspUrl or geoIPLegacyOrgUrl %}
|
||||
<h3>GeoIP Legacy Auto Update</h3>
|
||||
|
||||
<p>Your previous configuration for automatic updates for GeoIP legacy databases is still up and running. It will be automatically disabled and removed after switching to GeoIP2.</p>
|
||||
|
||||
<p>Below you can find the current configuration:</p>
|
||||
|
||||
{% if geoIPLegacyLocUrl %}<p>{{ 'UserCountry_LocationDatabase'|translate|e('html_attr') }}: {{ geoIPLegacyLocUrl }}</p>{% endif %}
|
||||
{% if geoIPLegacyIspUrl %}<p>{{ 'UserCountry_ISPDatabase'|translate|e('html_attr') }}: {{ geoIPLegacyIspUrl }}</p>{% endif %}
|
||||
{% if geoIPLegacyOrgUrl %}<p>{{ 'UserCountry_OrgDatabase'|translate|e('html_attr') }}: {{ geoIPLegacyOrgUrl }}</p>{% endif %}
|
||||
{% if geoIPLegacyUpdatePeriod %}<p>{{ 'UserCountry_DownloadNewDatabasesEvery'|translate|e('html_attr') }}: {{ geoIPLegacyUpdatePeriod }}</p>{% endif %}
|
||||
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% if isInternetEnabled %}
|
||||
<div piwik-content-block
|
||||
content-title="{% if not geoIPDatabasesInstalled %}{{ 'UserCountry_GeoIPDatabases'|translate|e('html_attr') }}{% else %}{{ 'UserCountry_SetupAutomaticUpdatesOfGeoIP'|translate|e('html_attr') }}{% endif %}"
|
||||
id="geoip-db-mangement">
|
||||
|
||||
<div piwik-location-provider-updater
|
||||
geoip-database-installed="{% if geoIPDatabasesInstalled %}1{% else %}0{% endif %}">
|
||||
|
||||
{% if showGeoIPUpdateSection %}
|
||||
{% if not geoIPDatabasesInstalled %}
|
||||
<div ng-show="!locationUpdater.geoipDatabaseInstalled">
|
||||
<div ng-show="locationUpdater.showPiwikNotManagingInfo">
|
||||
<h3>{{ 'UserCountry_PiwikNotManagingGeoIPDBs'|translate|e('html_attr') }}</h3>
|
||||
<div id="manage-geoip-dbs">
|
||||
<div class="row" id="geoipdb-screen1">
|
||||
<div class="geoipdb-column-1 col s6">
|
||||
<p>{{ 'UserCountry_IWantToDownloadFreeGeoIP'|translate|raw }}</p>
|
||||
</div>
|
||||
<div class="geoipdb-column-2 col s6">
|
||||
<p>{{ 'UserCountry_IPurchasedGeoIPDBs'|translate('<a href="http://www.maxmind.com/en/geolocation_landing?rId=piwik">','</a>')|raw }}</p>
|
||||
</div>
|
||||
<div class="geoipdb-column-1 col s6">
|
||||
<input type="button" class="btn"
|
||||
ng-click="locationUpdater.startDownloadFreeGeoIp()"
|
||||
value="{{ 'General_GetStarted'|translate }}..."/>
|
||||
</div>
|
||||
<div class="geoipdb-column-2 col s6">
|
||||
<input type="button" class="btn"
|
||||
ng-click="locationUpdater.startAutomaticUpdateGeoIp()"
|
||||
value="{{ 'General_GetStarted'|translate }}..." id="start-automatic-update-geoip"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="geoipdb-screen2-download" ng-show="locationUpdater.showFreeDownload">
|
||||
<div piwik-progressbar
|
||||
label="{{ ('UserCountry_DownloadingDb'|translate('<a href="'~geoLiteUrl~'">'~geoLiteFilename~'</a>') ~ '...')|json_encode }}"
|
||||
progress="locationUpdater.progressFreeDownload">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% include "@UserCountry/_updaterManage.twig" %}
|
||||
{% else %}
|
||||
<p class="form-description">{{ 'UserCountry_CannotSetupGeoIPAutoUpdating'|translate }}</p>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% endblock %}
|
||||
|
@ -0,0 +1,9 @@
|
||||
<div piwik-content-block>
|
||||
<div class="sparkline">
|
||||
{{ sparkline(urlSparklineCountries) }}
|
||||
<div>
|
||||
{{ 'UserCountry_DistinctCountries'|translate("<strong>"~numberDistinctCountries|number~"</strong>")|raw }}
|
||||
</div>
|
||||
</div>
|
||||
<br style="clear:left"/>
|
||||
</div>
|
Reference in New Issue
Block a user