PDF rausgenommen
This commit is contained in:
@ -0,0 +1,4 @@
|
||||
|
||||
<h1>License for {{ pluginName|raw }}</h1>
|
||||
|
||||
{{ license|raw }}
|
@ -0,0 +1,304 @@
|
||||
|
||||
{% macro tablePluginUpdates(pluginsHavingUpdate, updateNonce, isMultiServerEnvironment) %}
|
||||
{% import '@Marketplace/macros.twig' as marketplaceMacro %}
|
||||
|
||||
<div>
|
||||
<a id="update-selected-plugins" href="javascript:" class="btn">{{ 'CorePluginsAdmin_UpdateSelected'|translate }}</a>
|
||||
</div>
|
||||
<table piwik-content-table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>
|
||||
<span class="checkbox-container">
|
||||
<input type="checkbox" id="select-plugin-all" />
|
||||
<label for="select-plugin-all"></label>
|
||||
</span>
|
||||
</th>
|
||||
<th>{{ 'General_Plugin'|translate }}</th>
|
||||
<th class="num">{{ 'CorePluginsAdmin_Version'|translate }}</th>
|
||||
<th>{{ 'General_Description'|translate }}</th>
|
||||
<th class="status">{{ 'CorePluginsAdmin_Status'|translate }}</th>
|
||||
<th class="action-links">{{ 'General_Action'|translate }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="plugins">
|
||||
{% for name,plugin in pluginsHavingUpdate %}
|
||||
<tr {% if plugin.isActivated|default(false) %}class="active-plugin"{% else %}class="inactive-plugin"{% endif %}>
|
||||
<td class="select-cell">
|
||||
<span class="checkbox-container">
|
||||
<input type="checkbox" id="select-plugin-{{ plugin.name|e('html_attr') }}" {% if plugin.isDownloadable is defined and not plugin.isDownloadable %}disabled="disabled"{% endif %} />
|
||||
<label for="select-plugin-{{ plugin.name|e('html_attr') }}"></label>
|
||||
</span>
|
||||
</td>
|
||||
<td class="name">
|
||||
<a href="javascript:void(0);" piwik-plugin-name="{{ plugin.name|e('html_attr') }}" class="plugin-details">
|
||||
{{ plugin.name }}
|
||||
</a>
|
||||
</td>
|
||||
<td class="vers">
|
||||
{% if plugin.changelog is defined and plugin.changelog and plugin.changelog.url is defined and plugin.changelog.url %}
|
||||
<a href="{{ plugin.changelog.url|e('html_attr') }}" title="{{ 'CorePluginsAdmin_Changelog'|translate }}"
|
||||
target="_blank" rel="noreferrer noopener"
|
||||
>{{ plugin.currentVersion }} => {{ plugin.latestVersion }}</a>
|
||||
{% else %}
|
||||
{{ plugin.currentVersion }} => {{ plugin.latestVersion }}
|
||||
{% endif %}
|
||||
</td>
|
||||
<td class="desc">
|
||||
{{ plugin.description }}
|
||||
{{ marketplaceMacro.missingRequirementsPleaseUpdateNotice(plugin) }}
|
||||
</td>
|
||||
<td class="status">
|
||||
{% if plugin.isActivated %}
|
||||
{{ 'CorePluginsAdmin_Active'|translate }}
|
||||
{% else %}
|
||||
{{ 'CorePluginsAdmin_Inactive'|translate }}
|
||||
{% endif %}
|
||||
</td>
|
||||
<td class="togl action-links">
|
||||
{% if plugin.isDownloadable is defined and not plugin.isDownloadable %}
|
||||
<span title="{{ 'CorePluginsAdmin_PluginNotDownloadable'|translate|e('html_attr') }} {% if plugin.isPaid %}{{ 'CorePluginsAdmin_PluginNotDownloadablePaidReason'|translate|e('html_attr') }}{% endif %}"
|
||||
>{{ 'CorePluginsAdmin_NotDownloadable'|translate|e('html_attr') }}</span>
|
||||
{% elseif isMultiServerEnvironment %}
|
||||
<a onclick="$(this).css('display', 'none')" href="{{ linkTo({'action':'download', 'module': 'Marketplace', 'pluginName': plugin.name, 'nonce': (plugin.name|nonce)}) }}">{{ 'General_Download'|translate }}</a>
|
||||
{% elseif 0 == plugin.missingRequirements|length %}
|
||||
<a href="{{ linkTo({'action':'updatePlugin', 'module': 'Marketplace', 'pluginName': plugin.name, 'nonce': updateNonce}) }}">{{ 'CoreUpdater_UpdateTitle'|translate }}</a>
|
||||
{% else %}
|
||||
-
|
||||
{% endif %}
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<script>
|
||||
$(function () {
|
||||
$('#update-selected-plugins').on('click', function () {
|
||||
var pluginsToUpdate = [];
|
||||
$('tbody#plugins td.select-cell input').each(function () {
|
||||
if (!this.checked) {
|
||||
return;
|
||||
}
|
||||
|
||||
var pluginName = $(this).closest('tr').find('.name .plugin-details').attr('piwik-plugin-name');
|
||||
pluginsToUpdate.push(pluginName);
|
||||
});
|
||||
|
||||
var url = '{{ linkTo({'module':'Marketplace','action':'updatePlugin','nonce':updateNonce})|raw }}&pluginName=' + encodeURIComponent(pluginsToUpdate.join(','));
|
||||
window.location.href = url;
|
||||
|
||||
$(this).prop('disabled', true);
|
||||
});
|
||||
|
||||
$('#select-plugin-all').on('change', function () {
|
||||
var self = this;
|
||||
$('tbody#plugins td.select-cell input[type=checkbox]').each(function () {
|
||||
if ($(this).prop('disabled')) {
|
||||
return;
|
||||
}
|
||||
$(this).prop('checked', self.checked);
|
||||
});
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
{% endmacro %}
|
||||
|
||||
{% macro pluginActivateDeactivateAction(name, isActivated, missingRequirements, deactivateNonce, activateNonce) -%}
|
||||
{%- if isActivated -%}
|
||||
<a href='index.php?module=CorePluginsAdmin&action=deactivate&pluginName={{ name }}&nonce={{ deactivateNonce }}&redirectTo=referrer'>{{ 'CorePluginsAdmin_Deactivate'|translate }}</a>
|
||||
{%- elseif missingRequirements %}
|
||||
-
|
||||
{% else -%}
|
||||
<a href='index.php?module=CorePluginsAdmin&action=activate&pluginName={{ name }}&nonce={{ activateNonce }}&redirectTo=referrer'>{{ 'CorePluginsAdmin_Activate'|translate }}</a>
|
||||
{%- endif -%}
|
||||
{%- endmacro %}
|
||||
|
||||
{% macro pluginsFilter() %}
|
||||
|
||||
<p class="row pluginsFilter" piwik-plugin-filter>
|
||||
<span class="origin">
|
||||
<strong>{{ 'CorePluginsAdmin_Origin'|translate }}</strong>
|
||||
<a data-filter-origin="all" href="#" class="active">{{ 'General_All'|translate }}<span class="counter"></span></a> |
|
||||
<a data-filter-origin="core" href="#">{{ 'CorePluginsAdmin_OriginCore'|translate }}<span class="counter"></span></a> |
|
||||
<a data-filter-origin="official" href="#">{{ 'CorePluginsAdmin_OriginOfficial'|translate }}<span class="counter"></span></a> |
|
||||
<a data-filter-origin="thirdparty" href="#">{{ 'CorePluginsAdmin_OriginThirdParty'|translate }}<span class="counter"></span></a>
|
||||
</span>
|
||||
|
||||
<span class="status">
|
||||
<strong>{{ 'CorePluginsAdmin_Status'|translate }}</strong>
|
||||
<a data-filter-status="all" href="#" class="active">{{ 'General_All'|translate }}<span class="counter"></span></a> |
|
||||
<a data-filter-status="active" href="#">{{ 'CorePluginsAdmin_Active'|translate }}<span class="counter"></span></a> |
|
||||
<a data-filter-status="inactive" href="#">{{ 'CorePluginsAdmin_Inactive'|translate }}<span class="counter"></span></a>
|
||||
</span>
|
||||
</p>
|
||||
|
||||
{% endmacro %}
|
||||
|
||||
{% macro tablePlugins(pluginsInfo, pluginNamesHavingSettings, activateNonce, deactivateNonce, uninstallNonce, isTheme, marketplacePluginNames, displayAdminLinks) %}
|
||||
|
||||
<div id="confirmUninstallPlugin" class="ui-confirm">
|
||||
|
||||
<h2 id="uninstallPluginConfirm">{{ 'CorePluginsAdmin_UninstallConfirm'|translate }}</h2>
|
||||
<input role="yes" type="button" value="{{ 'General_Yes'|translate }}"/>
|
||||
<input role="no" type="button" value="{{ 'General_No'|translate }}"/>
|
||||
|
||||
</div>
|
||||
|
||||
<table piwik-content-table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{% if isTheme %}{{ 'CorePluginsAdmin_Theme'|translate }}{% else %}{{ 'General_Plugin'|translate }}{% endif %}</th>
|
||||
<th>{{ 'General_Description'|translate }}</th>
|
||||
<th class="status">{{ 'CorePluginsAdmin_Status'|translate }}</th>
|
||||
{% if (displayAdminLinks) %}
|
||||
<th class="action-links">{{ 'General_Action'|translate }}</th>
|
||||
{% endif %}
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="plugins">
|
||||
{% for name,plugin in pluginsInfo %}
|
||||
{% set isDefaultTheme = isTheme and name == 'Morpheus' %}
|
||||
{% if (plugin.alwaysActivated is defined and not plugin.alwaysActivated) or isTheme %}
|
||||
<tr {% if plugin.activated %}class="active-plugin"{% else %}class="inactive-plugin"{% endif %} data-filter-status="{% if plugin.activated %}active{% else %}inactive{% endif %}" data-filter-origin="{% if plugin.isCorePlugin %}core{% elseif plugin.isOfficialPlugin %}official{% else %}thirdparty{% endif %}">
|
||||
<td class="name">
|
||||
<a name="{{ name|e('html_attr') }}"></a>
|
||||
{% if not plugin.isCorePlugin and name in marketplacePluginNames -%}
|
||||
<a href="javascript:void(0);"
|
||||
piwik-plugin-name="{{ name|e('html_attr') }}"
|
||||
>{{ name }}</a>
|
||||
{%- else %}
|
||||
{{ name }}
|
||||
{% endif %}
|
||||
<span class="plugin-version" {% if plugin.isCorePlugin %}title="{{ 'CorePluginsAdmin_CorePluginTooltip'|translate }}"{% endif %}>({% if plugin.isCorePlugin %}{{ 'CorePluginsAdmin_OriginCore'|translate }}{% else %}v{{ plugin.info.version }}{% endif %})</span>
|
||||
|
||||
{% if name in pluginNamesHavingSettings %}
|
||||
<br /><br />
|
||||
<a href="{{ linkTo({'module':'CoreAdminHome', 'action': 'generalSettings'}) }}#{{ name|e('html_attr') }}" class="settingsLink">{{ 'General_Settings'|translate }}</a>
|
||||
{% endif %}
|
||||
</td>
|
||||
<td class="desc">
|
||||
<div class="plugin-desc-missingrequirements">
|
||||
{% if plugin.missingRequirements is defined and plugin.missingRequirements %}
|
||||
{{ plugin.missingRequirements }}
|
||||
<br />
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="plugin-desc-text">
|
||||
|
||||
{{ plugin.info.description|nl2br }}
|
||||
|
||||
{% if plugin.info.homepage|default is not empty and plugin.info.homepage not in [
|
||||
'http://piwik.org', 'http://www.piwik.org', 'http://piwik.org/', 'http://www.piwik.org/',
|
||||
'https://piwik.org', 'https://www.piwik.org', 'https://piwik.org/', 'https://www.piwik.org/',
|
||||
'http://matomo.org', 'http://www.matomo.org', 'http://matomo.org/', 'http://www.matomo.org/',
|
||||
'https://matomo.org', 'https://www.matomo.org', 'https://matomo.org/', 'https://www.matomo.org/'
|
||||
] %}
|
||||
<span class="plugin-homepage">
|
||||
<a target="_blank" rel="noreferrer noopener" href="{{ plugin.info.homepage|e('html_attr') }}">({{ 'CorePluginsAdmin_PluginHomepage'|translate|replace({' ': ' '})|raw }})</a>
|
||||
</span>
|
||||
{% endif %}
|
||||
|
||||
{% if plugin.info.donate is defined and plugin.info.donate|length %}
|
||||
<div class="plugin-donation">
|
||||
{{ 'CorePluginsAdmin_LikeThisPlugin'|translate }} <a href="javascript:;" class="plugin-donation-link" data-overlay-id="overlay-{{ name|escape('html_attr') }}">{{ 'CorePluginsAdmin_ConsiderDonating'|translate }}</a>
|
||||
<div id="overlay-{{ name|escape('html_attr') }}" class="donation-overlay ui-confirm" title="{{ 'CorePluginsAdmin_LikeThisPlugin'|translate }}">
|
||||
<p>{{ 'CorePluginsAdmin_CommunityContributedPlugin'|translate }}</p>
|
||||
<p>{{ 'CorePluginsAdmin_ConsiderDonatingCreatorOf'|translate("<b>" ~ name ~ "</b>")|raw }}</p>
|
||||
<div class="donation-links">
|
||||
{% if plugin.info.donate.paypal is defined and plugin.info.donate.paypal %}
|
||||
<a class="donation-link paypal" target="_blank" rel="noreferrer noopener" href="https://www.paypal.com/cgi-bin/webscr?cmd=_donations&item_name=Matomo%20Plugin%20{{ name|escape('url') }}&bn=PP%2dDonationsBF%3abtn_donateCC_LG%2egif%3aNonHosted&business={{ plugin.info.donate.paypal|escape('url') }}"><img src="plugins/CorePluginsAdmin/images/paypal_donate.png" height="30"/></a>
|
||||
{% endif %}
|
||||
{% if plugin.info.donate.flattr is defined and plugin.info.donate.flattr %}
|
||||
<a class="donation-link flattr" target="_blank" rel="noreferrer noopener" href="{{ plugin.info.donate.flattr }}"><img class="alignnone" title="Flattr" alt="" src="plugins/CorePluginsAdmin/images/flattr.png" height="29" /></a>
|
||||
{% endif %}
|
||||
{% if plugin.info.donate.bitcoin is defined and plugin.info.donate.bitcoin %}
|
||||
<div class="donation-link bitcoin">
|
||||
<span>Donate Bitcoins to:</span>
|
||||
<a href="bitcoin:{{ plugin.info.donate.bitcoin|escape('url') }}">{{ plugin.info.donate.bitcoin }}</a>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
<input role="no" type="button" value="{{ 'General_Close'|translate }}"/>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% if plugin.info.license is defined %}
|
||||
<div class="plugin-license">
|
||||
{% if plugin.info.license_file is defined %}<a title="{{ 'CorePluginsAdmin_LicenseHomepage'|translate }}" rel="noreferrer noopener" target="_blank" href="index.php?module=CorePluginsAdmin&action=showLicense&pluginName={{ name }}">{% endif %}{{ plugin.info.license }}{% if plugin.info.license_file is defined %}</a>{% endif %}
|
||||
</div>
|
||||
{% endif %}
|
||||
{% if plugin.info.authors is defined %}
|
||||
<div class="plugin-author">
|
||||
By
|
||||
{% if plugin.info.authors is defined -%}
|
||||
{% spaceless %}
|
||||
{% for author in plugin.info.authors if author.name %}
|
||||
{% if author.homepage is defined %}
|
||||
<a title="{{ 'CorePluginsAdmin_AuthorHomepage'|translate }}" href="{{ author.homepage }}" rel="noreferrer noopener" target="_blank">{{ author.name }}</a>
|
||||
{% else %}
|
||||
{{ author.name }}
|
||||
{% endif %}
|
||||
{% if loop.index < plugin.info.authors|length %}
|
||||
,
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% endspaceless %}
|
||||
{%- endif %}.
|
||||
</div>
|
||||
{% endif %}
|
||||
</td>
|
||||
<td class="status" {% if isDefaultTheme %}style="border-left-width:0px;"{% endif %}>
|
||||
{% if not isDefaultTheme -%}
|
||||
|
||||
{% if plugin.activated %}
|
||||
{{ 'CorePluginsAdmin_Active'|translate }}
|
||||
{% else %}
|
||||
{{ 'CorePluginsAdmin_Inactive'|translate }}
|
||||
{% if plugin.uninstallable and displayAdminLinks %} <br/> - <a data-plugin-name="{{ name|escape('html_attr') }}" class="uninstall" href='index.php?module=CorePluginsAdmin&action=uninstall&pluginName={{ name }}&nonce={{ uninstallNonce }}'>{{ 'CorePluginsAdmin_ActionUninstall'|translate }}</a>{% endif %}
|
||||
{% endif %}
|
||||
|
||||
{%- endif %}
|
||||
</td>
|
||||
|
||||
{% if displayAdminLinks %}
|
||||
<td class="togl action-links" {% if isDefaultTheme %}style="border-left-width:0px;"{% endif %}>
|
||||
{% if not isDefaultTheme -%}
|
||||
|
||||
{% if plugin.invalid is defined or plugin.alwaysActivated %}
|
||||
-
|
||||
{% else %}
|
||||
{{ _self.pluginActivateDeactivateAction(name, plugin.activated, plugin.missingRequirements, deactivateNonce, activateNonce) }}
|
||||
{% endif %}
|
||||
|
||||
{%- endif %}
|
||||
</td>
|
||||
{% endif %}
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<div class="tableActionBar">
|
||||
{% if isTheme %}
|
||||
<a href="{{ linkTo({'action':'browseThemes', 'sort': ''}) }}"><span class="icon-add"></span> {{ 'CorePluginsAdmin_InstallNewThemes'|translate }}</a>
|
||||
{% else %}
|
||||
<a href="{{ linkTo({'action':'browsePlugins', 'sort': ''}) }}"><span class="icon-add"></span> {{ 'CorePluginsAdmin_InstallNewPlugins'|translate }}</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
<div class="footer-message">
|
||||
{% set pluginsAlwaysActivated %}
|
||||
{% for name,plugin in pluginsInfo %}
|
||||
{% if plugin.alwaysActivated is defined and plugin.alwaysActivated %}
|
||||
{{ name }}{% if not loop.last %}, {% endif %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% endset %}
|
||||
{{ 'CorePluginsAdmin_AlwaysActivatedPluginsList'|translate(pluginsAlwaysActivated) }}
|
||||
</div>
|
||||
|
||||
{% endmacro %}
|
@ -0,0 +1,56 @@
|
||||
|
||||
{% extends 'admin.twig' %}
|
||||
|
||||
{% import '@CorePluginsAdmin/macros.twig' as plugins %}
|
||||
|
||||
{% set title %}{{ 'CorePluginsAdmin_PluginsManagement'|translate }}{% endset %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
{% include '@Marketplace/uploadPluginDialog.twig' %}
|
||||
|
||||
<div piwik-content-intro>
|
||||
<h2 piwik-enriched-headline>
|
||||
{{ title|e('html_attr') }}
|
||||
</h2>
|
||||
|
||||
<p>{{ 'CorePluginsAdmin_PluginsExtendPiwik'|translate }}
|
||||
{{ 'CorePluginsAdmin_OncePluginIsInstalledYouMayActivateHere'|translate }}
|
||||
|
||||
{% if isMarketplaceEnabled %}
|
||||
{{ 'CorePluginsAdmin_TeaserExtendPiwikByPlugin'|translate(
|
||||
'<a href="' ~ linkTo({'action':'browsePlugins', 'sort': null, 'activated': null})|e('html_attr') ~ '">',
|
||||
'</a>',
|
||||
'<a href="#" class="uploadPlugin">',
|
||||
'</a>'
|
||||
)|raw }}
|
||||
{% endif %}
|
||||
|
||||
{% if not isPluginsAdminEnabled %}
|
||||
<br/>{{ 'CorePluginsAdmin_DoMoreContactPiwikAdmins'|translate }}
|
||||
{% endif %}
|
||||
|
||||
{{ 'CorePluginsAdmin_ChangeLookByManageThemes'|translate('<a href="' ~ linkTo({'action': 'themes', 'activated': null})|e('html_attr') ~'">', '</a>')|raw }}
|
||||
</p>
|
||||
</div>
|
||||
|
||||
{% if pluginsHavingUpdate|length %}
|
||||
<div piwik-content-block content-title="{{ pluginsHavingUpdate|length }} Update(s) available">
|
||||
|
||||
<p>{{ 'CorePluginsAdmin_InfoPluginUpdateIsRecommended'|translate }}</p>
|
||||
|
||||
{{ plugins.tablePluginUpdates(pluginsHavingUpdate, updateNonce, isMultiServerEnvironment) }}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<div piwik-content-block content-title="{{ 'CorePluginsAdmin_InstalledPlugins'|translate|e('html_attr') }}"
|
||||
class="pluginsManagement"
|
||||
piwik-plugin-management>
|
||||
|
||||
{{ plugins.pluginsFilter() }}
|
||||
|
||||
{{ plugins.tablePlugins(pluginsInfo, pluginNamesHavingSettings, activateNonce, deactivateNonce, uninstallNonce, false, marketplacePluginNames, isPluginsAdminEnabled) }}
|
||||
|
||||
</div>
|
||||
|
||||
{% endblock %}
|
@ -0,0 +1,149 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="robots" content="noindex,nofollow">
|
||||
<meta name="google" content="notranslate">
|
||||
<style type="text/css">
|
||||
html, body {
|
||||
background-color: white;
|
||||
}
|
||||
td {
|
||||
border: 1px solid #ccc;
|
||||
border-collapse: collapse;
|
||||
padding: 5px;
|
||||
}
|
||||
table {
|
||||
border-collapse: collapse;
|
||||
border: 0px;
|
||||
}
|
||||
a {
|
||||
text-decoration: none;
|
||||
}
|
||||
a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
</style>
|
||||
<title>A fatal error occurred</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<h1>A fatal error occurred</h1>
|
||||
|
||||
<div style="width: 640px">
|
||||
|
||||
{% if isAllowedToTroubleshootAsSuperUser or not isAnonymousUser %}
|
||||
<p>
|
||||
The following error just broke Matomo{% if showVersion %} (v{{ piwikVersion }}){% endif %}:
|
||||
</p>
|
||||
<pre>{{ lastError.message }}
|
||||
{% if lastError.backtrace is defined %}{{ lastError.backtrace }}{% else %}in {{ lastError.file }} line {{ lastError.line }}{% endif %}
|
||||
</pre>
|
||||
|
||||
<hr>
|
||||
<h3>Troubleshooting</h3>
|
||||
|
||||
Follow these steps to solve the issue or report it to the team:
|
||||
<ul>
|
||||
<li>
|
||||
If you have just updated Matomo to the latest version, please try to restart your web server.
|
||||
This will clear the PHP opcache which may solve the problem.
|
||||
</li>
|
||||
<li>
|
||||
If this is the first time you see this error, please try refresh the page.
|
||||
</li>
|
||||
<li>
|
||||
<strong>If this error continues to happen</strong>, we appreciate if you send the
|
||||
<a href="mailto:hello@matomo.org?subject={{ 'Fatal error in Matomo ' ~ piwikVersion|e('url') }}&body={{ lastError.message|e('url') }}%20in%20{{ lastError.file|e('url') }}%20{{ lastError.line|e('url') }}%20using%20PHP%20{{ constant('PHP_VERSION') }}">error report</a>
|
||||
to the Matomo team.
|
||||
</li>
|
||||
</ul>
|
||||
<hr/>
|
||||
|
||||
{% endif %}
|
||||
|
||||
{% if isAllowedToTroubleshootAsSuperUser or isSuperUser %}
|
||||
|
||||
<h3>Further troubleshooting</h3>
|
||||
<p>
|
||||
If this error continues to happen, you may be able to fix this issue by disabling one or more of
|
||||
the Third-Party plugins. If you don't know which plugin is causing this error, we recommend to first disable any plugin not created by "Matomo" and not created by "InnoCraft".
|
||||
You can enable plugin again afterwards in the
|
||||
<a rel="noreferrer noopener" target="_blank" href="index.php?module=CorePluginsAdmin&action=plugins">Plugins</a>
|
||||
or <a target="_blank" href="index.php?module=CorePluginsAdmin&action=themes">Themes</a> page under
|
||||
settings at any time.
|
||||
|
||||
{% if pluginCausesIssue %}
|
||||
Based on the error message, the issue is probably caused by the plugin <strong>{{ pluginCausesIssue }}</strong>.
|
||||
{% endif %}
|
||||
</p>
|
||||
<table>
|
||||
{% for pluginName, plugin in plugins if plugin.uninstallable and plugin.activated %}
|
||||
<tr {% if loop.index is divisibleby(2) %}style="background-color: #eeeeee"{% endif %}>
|
||||
<td style="min-width:200px;">
|
||||
{{ pluginName }}
|
||||
</td>
|
||||
<td>
|
||||
{{ plugin.info.version|default('') }}
|
||||
</td>
|
||||
<td>
|
||||
<a href="index.php?module=CorePluginsAdmin&action=deactivate&pluginName={{ pluginName }}&nonce={{ deactivateNonce }}{% if deactivateIAmSuperUserSalt is not empty %}&i_am_super_user={{ deactivateIAmSuperUserSalt }}{% endif %}"
|
||||
target="_blank">deactivate</a>
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</table>
|
||||
|
||||
{% set uninstalledPluginsFound = false %}
|
||||
{% for pluginName, plugin in plugins if plugin.uninstallable and not plugin.activated %}
|
||||
{% set uninstalledPluginsFound = true %}
|
||||
{% endfor %}
|
||||
|
||||
{% if uninstalledPluginsFound %}
|
||||
|
||||
<p>
|
||||
If this error still occurs after disabling all plugins, you might want to consider uninstalling some
|
||||
plugins. Keep in mind: The plugin will be completely removed from your platform.
|
||||
</p>
|
||||
|
||||
<table>
|
||||
{% for pluginName, plugin in plugins if plugin.uninstallable and not plugin.activated %}
|
||||
<tr {% if loop.index is divisibleby(2) %}style="background-color: #eeeeee"{% endif %}>
|
||||
<td style="min-width:200px;">
|
||||
{{ pluginName }}
|
||||
</td>
|
||||
<td>
|
||||
<a href="index.php?module=CorePluginsAdmin&action=uninstall&pluginName={{ pluginName }}&nonce={{ uninstallNonce }}"
|
||||
target="_blank" onclick="return confirm('{{ 'CorePluginsAdmin_UninstallConfirm'|translate(pluginName)|e('js') }}')">uninstall</a>
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</table>
|
||||
{% endif %}
|
||||
|
||||
{% elseif isAnonymousUser %}
|
||||
|
||||
<p>Please contact the system administrator, or <a href="?module={{ loginModule }}">login to Matomo</a> to learn more.</p>
|
||||
|
||||
{% else %}
|
||||
<p>
|
||||
If this error continues to happen you may want to send an
|
||||
<a href="mailto:{{ emailSuperUser }}?subject={{ 'Fatal error in Matomo ' ~ piwikVersion|e('url') }}&body={{ lastError.message|e('url') }}%20in%20{{ lastError.file|e('url') }}%20{{ lastError.line|e('url') }}%20using%20PHP%20{{ constant('PHP_VERSION') }}">error report</a>
|
||||
to your system administrator.
|
||||
</p>
|
||||
{% endif %}
|
||||
|
||||
|
||||
{% if not isAllowedToTroubleshootAsSuperUser and not isSuperUser %}
|
||||
<p>If you are Super User, but cannot login because of this error, you can still troubleshoot further. Follow these steps:
|
||||
<br/>1) open the config/config.ini.php file and look for the <code>salt</code> value under <code>[General]</code>.
|
||||
<br/>2) edit this current URL you are viewing and add the following text (replacing <code>salt_value_from_config</code> by the <code>salt</code> value from the config file):
|
||||
<br/><br/><code>index.php?i_am_super_user=salt_value_from_config&....</code>
|
||||
</p>
|
||||
{% endif %}
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,73 @@
|
||||
{% extends 'dashboard.twig' %}
|
||||
|
||||
{% block topcontrols %}
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<div class="activateTagManager">
|
||||
<div class="row">
|
||||
<div class="col s12" style="text-align: center;">
|
||||
<h2>{{ 'CorePluginsAdmin_TagManagerNowAvailableTitle'|translate }}</h2>
|
||||
<p>{{ 'CorePluginsAdmin_TagManagerNowAvailableSubtitle'|translate }}</p>
|
||||
</div>
|
||||
</div>
|
||||
{% set actionBlock %}
|
||||
<div class="row">
|
||||
<div class="col s12">
|
||||
<div style="text-align: center;">
|
||||
{% if isSuperUser %}
|
||||
<a href="{{ linkTo({'module': 'CorePluginsAdmin', 'action': 'activate', 'nonce': nonce, 'pluginName': 'TagManager', 'redirectTo': 'tagmanager'}) }}"
|
||||
class="btn activateTagManagerPlugin"><span class="icon-rocket"></span> {{ 'CorePluginsAdmin_ActivateTagManagerNow'|translate }} <span class="icon-rocket"></span></a>
|
||||
{% else %}
|
||||
<a href="mailto:{{ superUserEmails|e('url') }}?subject={{ 'CorePluginsAdmin_TagManagerNowAvailableTitle'|translate|e('url') }}&body={{ 'CorePluginsAdmin_TagManagerTeaserEmailSuperUserBody'|translate("\n\n", "\n\n", piwikUrl, "\n\n")|e('url') }}"
|
||||
class="btn activateTagManagerPlugin"><span class="icon-rocket"></span> {{ 'CorePluginsAdmin_TagManagerEmailSuperUserToActivate'|translate }} <span class="icon-rocket"></span></a>
|
||||
{% endif %}
|
||||
|
||||
<a href="{{ linkTo({'module': 'CorePluginsAdmin', 'action': 'disableActivateTagManagerPage'}) }}"
|
||||
class="btn dontShowAgainBtn"><span class="icon-hide"></span>
|
||||
{% if isSuperUser %}{{ 'CorePluginsAdmin_TagManagerTeaserHideSuperUser'|translate }}{% else %}{{ 'CorePluginsAdmin_TagManagerTeaserHideNonSuperUser'|translate }}{% endif %}
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endset %}
|
||||
{{ actionBlock|raw }}
|
||||
<div class="row">
|
||||
<div class="col {% if isSuperUser %}l4{% else %}l6{% endif %} m12 s12">
|
||||
<div piwik-content-block content-title="{{ 'CorePluginsAdmin_WhatIsTagManager'|translate }}">
|
||||
<p>
|
||||
{{ 'CorePluginsAdmin_WhatIsTagManagerDetails1'|translate }}<br /><br />
|
||||
{{ 'CorePluginsAdmin_WhatIsTagManagerDetails2'|translate }}<br /><br />
|
||||
<a href="https://matomo.org/docs/tag-manager" rel="noreferrer noopener">{{ 'CorePluginsAdmin_TagManagerLearnMoreInUserGuide'|translate }}</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col {% if isSuperUser %}l4{% else %}l6{% endif %} m12 s12">
|
||||
<div piwik-content-block content-title="{{ 'CorePluginsAdmin_WhyUsingATagManager'|translate }}">
|
||||
<p>
|
||||
{{ 'CorePluginsAdmin_WhyUsingATagManagerDetails1'|translate }}
|
||||
<br /><br />
|
||||
{{ 'CorePluginsAdmin_WhyUsingATagManagerDetails2'|translate }}
|
||||
<br /><br />
|
||||
{{ 'CorePluginsAdmin_WhyUsingATagManagerDetails3'|translate }}
|
||||
<br /><br /><br />
|
||||
<a href="https://matomo.org/docs/tag-manager" rel="noreferrer noopener">{{ 'CorePluginsAdmin_TagManagerLearnMoreInUserGuide'|translate }}</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
{% if isSuperUser %}
|
||||
<div class="col l4 m12 s12">
|
||||
<div piwik-content-block content-title="{{ 'CorePluginsAdmin_AreThereAnyRisks'|translate }}">
|
||||
|
||||
{{ 'CorePluginsAdmin_AreThereAnyRisksDetails1'|translate('<a rel="noreferrer noopener" href="https://en.wikipedia.org/wiki/Cross-site_scripting">', '</a>')|raw }}
|
||||
<br /><br />
|
||||
{{ 'CorePluginsAdmin_AreThereAnyRisksDetails2'|translate }}
|
||||
<br /><br /><br />
|
||||
<a href="https://matomo.org/docs/tag-manager/#website-security" rel="noreferrer noopener">{{ 'CorePluginsAdmin_TagManagerLearnMoreInUserGuide'|translate }}</a>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
{{ actionBlock|raw }}
|
||||
</div>
|
||||
{% endblock %}
|
@ -0,0 +1,41 @@
|
||||
{% extends 'admin.twig' %}
|
||||
|
||||
{% import '@CorePluginsAdmin/macros.twig' as plugins %}
|
||||
|
||||
{% set title %}{{ 'CorePluginsAdmin_ThemesManagement'|translate }}{% endset %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<div piwik-content-intro>
|
||||
<h2 piwik-enriched-headline>
|
||||
{{ title|e('html_attr') }}
|
||||
</h2>
|
||||
|
||||
<p>
|
||||
{{ 'CorePluginsAdmin_ThemesDescription'|translate }}
|
||||
|
||||
{% if isMarketplaceEnabled %}
|
||||
{{ 'CorePluginsAdmin_TeaserExtendPiwikByTheme'|translate('<a href="' ~ linkTo({'action':'browseThemes', 'sort': ''}) ~ '">', '</a>')|raw }}
|
||||
{% endif %}
|
||||
|
||||
{% if otherUsersCount > 0 %}
|
||||
<br/> {{ 'CorePluginsAdmin_InfoThemeIsUsedByOtherUsersAsWell'|translate(otherUsersCount, themeEnabled) }}
|
||||
{% endif %}
|
||||
{% if not isPluginsAdminEnabled %}
|
||||
<br/>{{ 'CorePluginsAdmin_DoMoreContactPiwikAdmins'|translate }}
|
||||
{% endif %}
|
||||
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div piwik-content-block content-title="{{ 'CorePluginsAdmin_InstalledThemes'|translate|e('html_attr') }}"
|
||||
piwik-plugin-management>
|
||||
|
||||
<p>
|
||||
</p>
|
||||
|
||||
{{ plugins.pluginsFilter() }}
|
||||
|
||||
{{ plugins.tablePlugins(pluginsInfo, pluginNamesHavingSettings, activateNonce, deactivateNonce, uninstallNonce, true, marketplacePluginNames, isPluginsAdminEnabled ) }}
|
||||
</div>
|
||||
{% endblock %}
|
@ -0,0 +1,44 @@
|
||||
{% extends 'admin.twig' %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<div style="max-width:980px;">
|
||||
|
||||
<div>
|
||||
<h2>{{ 'Marketplace_InstallingPlugin'|translate(plugin.name) }}</h2>
|
||||
|
||||
{% if plugin.isTheme %}
|
||||
|
||||
<p>{{ 'Marketplace_StepUnzippingTheme'|translate }}</p>
|
||||
|
||||
<p>{{ 'Marketplace_StepThemeSuccessfullyInstalled'|translate(plugin.name, plugin.version) }}</p>
|
||||
|
||||
<p>
|
||||
{% if not plugin.isActivated %}
|
||||
<strong><a class="btn" href="{{ linkTo({'action': 'activate', 'module': 'CorePluginsAdmin', 'pluginName': plugin.name, 'nonce': nonce}) }}">{{ 'Marketplace_ActionActivateTheme'|translate }}</a></strong>
|
||||
|
||||
|
|
||||
{% endif %}
|
||||
<a href="{{ linkTo({'module': 'Marketplace', 'action': 'overview'}) }}">{{ 'Marketplace_BackToMarketplace'|translate }}</a>
|
||||
</p>
|
||||
|
||||
{% else %}
|
||||
|
||||
<p>{{ 'Marketplace_StepUnzippingPlugin'|translate }}</p>
|
||||
|
||||
<p>{{ 'Marketplace_StepPluginSuccessfullyInstalled'|translate(plugin.name, plugin.version) }}</p>
|
||||
|
||||
<p>
|
||||
{% if not plugin.isActivated %}
|
||||
<strong><a class="btn" href="{{ linkTo({'action': 'activate', 'module': 'CorePluginsAdmin', 'pluginName': plugin.name, 'nonce': nonce}) }}">{{ 'Marketplace_ActionActivatePlugin'|translate }}</a></strong>
|
||||
|
||||
|
|
||||
{% endif %}
|
||||
<a href="{{ linkTo({'module': 'Marketplace', 'action': 'overview'}) }}">{{ 'Marketplace_BackToMarketplace'|translate }}</a>
|
||||
</p>
|
||||
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% endblock %}
|
Reference in New Issue
Block a user