merge
This commit is contained in:
commit
046a724272
4209 changed files with 1186656 additions and 0 deletions
|
|
@ -0,0 +1,50 @@
|
|||
{% extends 'admin.twig' %}
|
||||
{% import '@CorePluginsAdmin/macros.twig' as pluginsMacro %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<div class="pluginslistActionBar">
|
||||
|
||||
<h2 piwik-enriched-headline
|
||||
feature-name="{{ 'CorePluginsAdmin_Marketplace'|translate }}"
|
||||
>{{ 'CorePluginsAdmin_TeaserExtendPiwikByPlugin'|translate }}</h2>
|
||||
|
||||
<div class="infoBox">
|
||||
{{ 'CorePluginsAdmin_BeCarefulUsingPlugins'|translate }}
|
||||
</div>
|
||||
|
||||
{% include "@CorePluginsAdmin/browsePluginsActions.twig" %}
|
||||
</div>
|
||||
|
||||
{% if not isSuperUser %}
|
||||
<div class="pluginslistNonSuperUserHint">
|
||||
{{ 'CorePluginsAdmin_NotAllowedToBrowseMarketplacePlugins'|translate }}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<div class="pluginslist">
|
||||
|
||||
{% if plugins|length %}
|
||||
|
||||
{% for plugin in plugins %}
|
||||
|
||||
<div class="plugin">
|
||||
<div class="content" data-pluginName="{{ plugin.name }}">
|
||||
{% include "@CorePluginsAdmin/pluginOverview.twig" %}
|
||||
</div>
|
||||
|
||||
<div class="footer" data-pluginName="{{ plugin.name }}">
|
||||
{% if plugin.featured %}
|
||||
{{ pluginsMacro.featuredIcon('right') }}
|
||||
{% endif %}
|
||||
{% include "@CorePluginsAdmin/pluginMetadata.twig" %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% endfor %}
|
||||
|
||||
{% else %}
|
||||
{{ 'CorePluginsAdmin_NoPluginsFound'|translate }}
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
<div class="sort">
|
||||
<a href="{{ linkTo({'sort': 'popular', 'query': ''}) }}" {% if 'popular' == sort %}class="active"{% endif %}>{{ 'CorePluginsAdmin_SortByPopular'|translate }}</a>
|
||||
|
|
||||
<a href="{{ linkTo({'sort': 'newest', 'query': ''}) }}" {% if 'newest' == sort %}class="active"{% endif %}>{{ 'CorePluginsAdmin_SortByNewest'|translate }}</a>
|
||||
|
|
||||
<a href="{{ linkTo({'sort': 'alpha', 'query': ''}) }}" {% if 'alpha' == sort %}class="active"{% endif %}>{{ 'CorePluginsAdmin_SortByAlpha'|translate }}</a>
|
||||
|
|
||||
<form action="{{ linkTo({'sort': ''}) }}" method="POST">
|
||||
<input value="{{ query }}" placeholder="{{ 'General_Search'|translate }}" type="text" name="query"/>
|
||||
<button type="submit">{{ 'General_Search'|translate }}</button>
|
||||
</form>
|
||||
</div>
|
||||
|
|
@ -0,0 +1,45 @@
|
|||
{% extends 'admin.twig' %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<div class="pluginslistActionBar">
|
||||
|
||||
<h2 piwik-enriched-headline
|
||||
feature-name="{{ 'CorePluginsAdmin_Marketplace'|translate }}"
|
||||
>{{ 'CorePluginsAdmin_TeaserExtendPiwikByTheme'|translate }}</h2>
|
||||
|
||||
<div class="infoBox">
|
||||
{{ 'CorePluginsAdmin_BeCarefulUsingThemes'|translate }}
|
||||
</div>
|
||||
|
||||
{% include "@CorePluginsAdmin/browsePluginsActions.twig" %}
|
||||
</div>
|
||||
|
||||
{% if not isSuperUser %}
|
||||
<div class="pluginslistNonSuperUserHint">
|
||||
{{ 'CorePluginsAdmin_NotAllowedToBrowseMarketplaceThemes'|translate }}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<div class="pluginslist themes">
|
||||
|
||||
{% if plugins|length %}
|
||||
{% for plugin in plugins %}
|
||||
|
||||
<div class="plugin">
|
||||
<div class="content" data-pluginName="{{ plugin.name }}">
|
||||
{% include "@CorePluginsAdmin/themeOverview.twig" %}
|
||||
</div>
|
||||
|
||||
<div class="footer" data-pluginName="{{ plugin.name }}">
|
||||
{% include "@CorePluginsAdmin/pluginMetadata.twig" %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% endfor %}
|
||||
{% else %}
|
||||
{{ 'CorePluginsAdmin_NoThemesFound'|translate }}
|
||||
{% endif %}
|
||||
|
||||
</div>
|
||||
{% endblock %}
|
||||
70
www/analytics/plugins/CorePluginsAdmin/templates/extend.twig
Normal file
70
www/analytics/plugins/CorePluginsAdmin/templates/extend.twig
Normal file
|
|
@ -0,0 +1,70 @@
|
|||
{% extends 'admin.twig' %}
|
||||
|
||||
{% import '@CorePluginsAdmin/macros.twig' as plugins %}
|
||||
|
||||
{% block content %}
|
||||
<div class="extendPlatform">
|
||||
|
||||
<div class="ui-confirm" id="installPluginByUpload">
|
||||
<h2>{{ 'CorePluginsAdmin_TeaserExtendPiwikByUpload'|translate }}</h2>
|
||||
|
||||
<p class="description"> {{ 'CorePluginsAdmin_AllowedUploadFormats'|translate }} </p>
|
||||
|
||||
<form enctype="multipart/form-data"
|
||||
method="post"
|
||||
id="uploadPluginForm"
|
||||
action="{{ linkTo({'action':'uploadPlugin', 'nonce': installNonce}) }}">
|
||||
<input type="file" name="pluginZip">
|
||||
<br />
|
||||
<input class="startUpload" type="submit" value="{{ 'CorePluginsAdmin_UploadZipFile'|translate }}">
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<div class="introduction">
|
||||
|
||||
<h2 piwik-enriched-headline
|
||||
feature-name="{{ 'CorePluginsAdmin_Marketplace'|translate }}"
|
||||
>{{ 'CorePluginsAdmin_TeaserExtendPiwik'|translate }}</h2>
|
||||
|
||||
<p>{{ 'CorePluginsAdmin_DownloadAndInstallPluginsFromMarketplace'|translate("<a href='?module=Proxy&action=redirect&url=http://plugins.piwik.org/' target='_blank'>", "</a>")|raw }}</p>
|
||||
|
||||
{% set marketplaceSellPluginSubject = 'CorePluginsAdmin_MarketplaceSellPluginSubject'|translate %}
|
||||
<em>{{ 'CorePluginsAdmin_GetEarlyAccessForPaidPlugins'|translate("<a href='mailto:hello@piwik.org?subject=" ~ marketplaceSellPluginSubject ~ "'>", "</a>")|raw }}</em>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<div class="byPlugins">
|
||||
<h3 class="header">{{ 'CorePluginsAdmin_GetNewFunctionality'|translate }}</h3>
|
||||
<span class="callToAction">{{ 'CorePluginsAdmin_ByInstallingNewPluginFromMarketplace'|translate("<a href=" ~ linkTo({'action':'browsePlugins', 'sort': ''}) ~ ">", "</a>")|raw }}</span>
|
||||
|
||||
<p>
|
||||
<a href="{{ linkTo({'action':'browsePlugins', 'sort': ''}) }}"><img class="teaserImage" title="{{ 'CorePluginsAdmin_InstallNewPlugins'|translate }}" alt="{{ 'CorePluginsAdmin_InstallNewPlugins'|translate }}" src="plugins/CorePluginsAdmin/images/plugins.png"/></a>
|
||||
</p>
|
||||
|
||||
<span class="callToAction">
|
||||
{{ 'CorePluginsAdmin_ByWritingOwnPlugin'|translate('<a href="http://developer.piwik.org/guides/getting-started-part-1" target="_blank">', '</a>')|raw }}
|
||||
{% if isSuperUser %}
|
||||
<br/>{{ 'CorePluginsAdmin_OrByUploadingAPlugin'|translate('<a href="#" class="uploadPlugin">', '</a>')|raw }}
|
||||
{% endif %}
|
||||
</span>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="byThemes">
|
||||
<h3 class="header">{{ 'CorePluginsAdmin_EnjoyAnotherLookAndFeelOfThemes'|translate }}</h3>
|
||||
<span class="callToAction">{{ 'CorePluginsAdmin_ByInstallingNewThemeFromMarketplace'|translate("<a href=" ~ linkTo({'action':'browseThemes', 'sort': ''}) ~ ">", "</a>")|raw }}</span>
|
||||
|
||||
<p>
|
||||
<a href="{{ linkTo({'action':'browseThemes', 'sort': ''}) }}"><img class="teaserImage" alt="{{ 'CorePluginsAdmin_InstallNewThemes'|translate }}" title="{{ 'CorePluginsAdmin_InstallNewThemes'|translate }}" src="plugins/CorePluginsAdmin/images/themes.png"/></a>
|
||||
</p>
|
||||
|
||||
<span class="callToAction">
|
||||
{{ 'CorePluginsAdmin_ByDesigningOwnTheme'|translate('<a href="http://developer.piwik.org/guides/theming" target="_blank">', '</a>')|raw }}
|
||||
{% if isSuperUser %}
|
||||
<br />{{ 'CorePluginsAdmin_OrByUploadingATheme'|translate('<a href="#" class="uploadPlugin">', '</a>')|raw }}
|
||||
{% endif %}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
|
@ -0,0 +1,41 @@
|
|||
{% extends 'admin.twig' %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<div style="max-width:980px;">
|
||||
|
||||
<h2>{{ 'CorePluginsAdmin_InstallingPlugin'|translate(plugin.name) }}</h2>
|
||||
|
||||
<div>
|
||||
|
||||
{% if plugin.isTheme %}
|
||||
|
||||
<p>{{ 'CorePluginsAdmin_StepDownloadingThemeFromMarketplace'|translate }}</p>
|
||||
|
||||
<p>{{ 'CorePluginsAdmin_StepUnzippingTheme'|translate }}</p>
|
||||
|
||||
<p>{{ 'CorePluginsAdmin_StepThemeSuccessfullyInstalled'|translate(plugin.name, plugin.latestVersion) }}</p>
|
||||
|
||||
<p><strong><a href="{{ linkTo({'action': 'activate', 'pluginName': plugin.name, 'nonce': nonce}) }}">{{ 'CorePluginsAdmin_ActionActivateTheme'|translate }}</a></strong>
|
||||
|
||||
|
|
||||
<a href="{{ linkTo({'action': 'browseThemes'}) }}">{{ 'CorePluginsAdmin_BackToExtendPiwik'|translate }}</a></p>
|
||||
|
||||
{% else %}
|
||||
|
||||
<p>{{ 'CorePluginsAdmin_StepDownloadingPluginFromMarketplace'|translate }}</p>
|
||||
|
||||
<p>{{ 'CorePluginsAdmin_StepUnzippingPlugin'|translate }}</p>
|
||||
|
||||
<p>{{ 'CorePluginsAdmin_StepPluginSuccessfullyInstalled'|translate(plugin.name, plugin.latestVersion) }}</p>
|
||||
|
||||
<p><strong><a href="{{ linkTo({'action': 'activate', 'pluginName': plugin.name, 'nonce': nonce}) }}">{{ 'CorePluginsAdmin_ActionActivatePlugin'|translate }}</a></strong>
|
||||
|
||||
|
|
||||
<a href="{{ linkTo({'action': 'browsePlugins'}) }}">{{ 'CorePluginsAdmin_BackToExtendPiwik'|translate }}</a></p>
|
||||
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% endblock %}
|
||||
256
www/analytics/plugins/CorePluginsAdmin/templates/macros.twig
Normal file
256
www/analytics/plugins/CorePluginsAdmin/templates/macros.twig
Normal file
|
|
@ -0,0 +1,256 @@
|
|||
{% macro tablePluginUpdates(pluginsHavingUpdate, nonce, isTheme) %}
|
||||
|
||||
<div class='entityContainer'>
|
||||
<table class="dataTable entityTable">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{% if isTheme %}{{ 'CorePluginsAdmin_Theme'|translate }}{% else %}{{ 'General_Plugin'|translate }}{% endif %}</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 %}class="active-plugin"{% else %}class="inactive-plugin"{% endif %}>
|
||||
<td class="name">
|
||||
<a href="javascript:void(0);" data-pluginName="{{ plugin.name|e('html_attr') }}">
|
||||
{{ plugin.name }}
|
||||
</a>
|
||||
</td>
|
||||
<td class="vers">
|
||||
{% if plugin.repositoryChangelogUrl %}
|
||||
<a href="javascript:void(0);" title="{{ 'CorePluginsAdmin_Changelog'|translate }}" data-activePluginTab="changelog" data-pluginName="{{ plugin.name|e('html_attr') }}">{{ plugin.currentVersion }} => {{ plugin.latestVersion }}</a>
|
||||
{% else %}
|
||||
{{ plugin.currentVersion }} => {{ plugin.latestVersion }}
|
||||
{% endif %}
|
||||
</td>
|
||||
<td class="desc">
|
||||
{{ plugin.description }}
|
||||
{{ _self.missingRequirementsPleaseUpdateNotice(plugin) }}
|
||||
</td>
|
||||
<td class="status">
|
||||
{% if plugin.isActivated %}
|
||||
{{ 'CorePluginsAdmin_Active'|translate }}
|
||||
{% else %}
|
||||
{{ 'CorePluginsAdmin_Inactive'|translate }}
|
||||
{% endif %}
|
||||
</td>
|
||||
<td class="togl action-links">
|
||||
{% if 0 == plugin.missingRequirements|length %}
|
||||
<a href="{{ linkTo({'action':'updatePlugin', 'pluginName': plugin.name, 'nonce': nonce}) }}">Update</a>
|
||||
{% else %}
|
||||
-
|
||||
{% endif %}
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
{% endmacro %}
|
||||
|
||||
{% macro pluginDeveloper(owner) %}
|
||||
{% if 'piwik' == owner %}<img title="Piwik" alt="Piwik" style="padding-bottom:2px;height:11px;" src="plugins/Zeitgeist/images/logo-marketplace.png"/>{% else %}{{ owner }}{% endif %}
|
||||
{% endmacro %}
|
||||
|
||||
{% macro featuredIcon(align='') %}
|
||||
<img class="featuredIcon"
|
||||
title="{{ 'CorePluginsAdmin_FeaturedPlugin'|translate }}"
|
||||
src="plugins/CorePluginsAdmin/images/rating_important.png"
|
||||
align="{{ align }}" />
|
||||
{% endmacro %}
|
||||
|
||||
{% macro pluginsFilter(isTheme, isMarketplaceEnabled) %}
|
||||
|
||||
<p class="pluginsFilter entityContainer">
|
||||
<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="noncore" 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>
|
||||
|
||||
{% if isMarketplaceEnabled %}
|
||||
<span class="getNewPlugins">
|
||||
{% if isTheme %}
|
||||
<a href="{{ linkTo({'action':'browseThemes', 'sort': ''}) }}">{{ 'CorePluginsAdmin_InstallNewThemes'|translate }}</a>
|
||||
{% else %}
|
||||
<a href="{{ linkTo({'action':'browsePlugins', 'sort': ''}) }}">{{ 'CorePluginsAdmin_InstallNewPlugins'|translate }}</a>
|
||||
{% endif %}
|
||||
</span>
|
||||
{% endif %}
|
||||
</p>
|
||||
|
||||
{% endmacro %}
|
||||
|
||||
{% macro missingRequirementsPleaseUpdateNotice(plugin) %}
|
||||
{% if plugin.missingRequirements and 0 < plugin.missingRequirements|length %}
|
||||
{% for req in plugin.missingRequirements -%}
|
||||
<p class="missingRequirementsNotice">
|
||||
{% set requirement = req.requirement|capitalize %}
|
||||
{% if 'Php' == requirement %}
|
||||
{% set requirement = 'PHP' %}
|
||||
{% endif %}
|
||||
{{ 'CorePluginsAdmin_MissingRequirementsNotice'|translate(requirement, req.actualVersion, req.requiredVersion) }}
|
||||
</p>
|
||||
{%- endfor %}
|
||||
{% endif %}
|
||||
{% endmacro %}
|
||||
|
||||
{% macro missingRequirementsInfo(pluginName, metadata, missingRequirements, marketplacePluginNames) %}
|
||||
{% set causedBy = '' %}
|
||||
{% for dependency in missingRequirements %}
|
||||
{% set causedBy = causedBy ~ dependency.requirement|capitalize ~ ' ' ~ dependency.causedBy %}
|
||||
{% if not loop.last %}
|
||||
{% set causedBy = causedBy ~ ', ' %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
|
||||
{{ 'CorePluginsAdmin_PluginRequirement'|translate(pluginName, causedBy) }}
|
||||
|
||||
{% if metadata is defined
|
||||
and metadata.support is defined
|
||||
and metadata.support.email
|
||||
and pluginName not in marketplacePluginNames %}
|
||||
{{ 'CorePluginsAdmin_EmailToEnquireUpdatedVersion'|translate('<a href="mailto:' ~ metadata.support.email|e('html_attr') ~'">' ~ metadata.support.email ~ '</a>', pluginName)|raw }}
|
||||
{% endif %}
|
||||
{% 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>
|
||||
|
||||
<div class='entityContainer'>
|
||||
<table class="dataTable entityTable">
|
||||
<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 isZeitgeist = isTheme and name == 'Zeitgeist' %}
|
||||
{% 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{% else %}noncore{% endif %}">
|
||||
<td class="name" style="white-space:nowrap;">
|
||||
<a name="{{ name|e('html_attr') }}"></a>
|
||||
{% if not plugin.isCorePlugin and name in marketplacePluginNames -%}
|
||||
<a href="javascript:void(0);"
|
||||
data-pluginName="{{ 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': 'pluginSettings'}) }}#{{ 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 %}
|
||||
{{ _self.missingRequirementsInfo(name, plugin.info, plugin.missingRequirements, marketplacePluginNames) }}
|
||||
<br />
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="plugin-desc-text">
|
||||
|
||||
{{ plugin.info.description|raw|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/'
|
||||
] %}
|
||||
<span class="plugin-homepage">
|
||||
<a href="{{ plugin.info.homepage }}">({{ 'CorePluginsAdmin_PluginHomepage'|translate|replace({' ': ' '})|raw }})</a>
|
||||
</span>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% if plugin.info.license is defined %}
|
||||
<div class="plugin-license">
|
||||
{% if plugin.info.license_homepage is defined %}<a title="{{ 'CorePluginsAdmin_LicenseHomepage'|translate }}" target="_blank" href="{{ plugin.info.license_homepage }}">{% endif %}{{ plugin.info.license }}{% if plugin.info.license_homepage is defined %}</a>{% endif %}
|
||||
</div>
|
||||
{% endif %}
|
||||
{% if plugin.info.authors is defined %}
|
||||
<div class="plugin-author">
|
||||
<cite>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 }}" target="_blank">{{ author.name }}</a>
|
||||
{% else %}
|
||||
{{ author.name }}
|
||||
{% endif %}
|
||||
{% if loop.index < plugin.info.authors|length %}
|
||||
,
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% endspaceless %}
|
||||
{%- endif %}.</cite>
|
||||
</div>
|
||||
{% endif %}
|
||||
</td>
|
||||
<td class="status" {% if isZeitgeist %}style="border-left-width:0px;"{% endif %}>
|
||||
{% if not isZeitgeist -%}
|
||||
|
||||
{% if plugin.activated %}
|
||||
{{ 'CorePluginsAdmin_Active'|translate }}
|
||||
{% else %}
|
||||
{{ 'CorePluginsAdmin_Inactive'|translate }}
|
||||
{% if plugin.uninstallable and displayAdminLinks %} <br/> - <a data-pluginName="{{ 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 isZeitgeist %}style="border-left-width:0px;"{% endif %}>
|
||||
{% if not isZeitgeist -%}
|
||||
|
||||
{% if plugin.invalid is defined or plugin.alwaysActivated %}
|
||||
-
|
||||
{% else %}
|
||||
{% if plugin.activated %}
|
||||
<a href='index.php?module=CorePluginsAdmin&action=deactivate&pluginName={{ name }}&nonce={{ deactivateNonce }}'>{{ 'CorePluginsAdmin_Deactivate'|translate }}</a>
|
||||
{% elseif plugin.missingRequirements %}
|
||||
-
|
||||
{% else %}
|
||||
<a href='index.php?module=CorePluginsAdmin&action=activate&pluginName={{ name }}&nonce={{ activateNonce }}'>{{ 'CorePluginsAdmin_Activate'|translate }}</a>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
{%- endif %}
|
||||
</td>
|
||||
{% endif %}
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
{% endmacro %}
|
||||
|
|
@ -0,0 +1,204 @@
|
|||
{% import '@CorePluginsAdmin/macros.twig' as pluginsMacro %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<div class="pluginDetails">
|
||||
{% if errorMessage %}
|
||||
{{ errorMessage }}
|
||||
{% elseif plugin %}
|
||||
|
||||
{% set latestVersion = plugin.versions[plugin.versions|length - 1] %}
|
||||
|
||||
<div class="header">
|
||||
<div class="intro" style="width:75%;float:left;">
|
||||
<h2>{{ plugin.name }}</h2>
|
||||
<p class="description">
|
||||
{% if plugin.featured %}
|
||||
{{ pluginsMacro.featuredIcon('left') }}
|
||||
{% endif %}
|
||||
{{ plugin.description }}
|
||||
</p>
|
||||
</div>
|
||||
<div class="width:25%;float:left;">
|
||||
|
||||
{% if isSuperUser %}
|
||||
{% if plugin.canBeUpdated and 0 == plugin.missingRequirements|length %}
|
||||
<a class="install update"
|
||||
href="{{ linkTo({'action':'updatePlugin', 'pluginName': plugin.name, 'nonce': updateNonce}) }}"
|
||||
>{{ 'CoreUpdater_UpdateTitle'|translate }}</a>
|
||||
{% elseif plugin.isInstalled %}
|
||||
{% elseif 0 < plugin.missingRequirements|length %}
|
||||
{% else %}
|
||||
<a href="{{ linkTo({'action': 'installPlugin', 'pluginName': plugin.name, 'nonce': installNonce}) }}"
|
||||
class="install">{{ 'CorePluginsAdmin_ActionInstall'|translate }}</a>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="content">
|
||||
<div style="width:75%;float:left;">
|
||||
|
||||
<div id="pluginDetailsTabs">
|
||||
<ul>
|
||||
<li><a href="#tabs-description">{{ 'General_Description'|translate }}</a></li>
|
||||
{% if latestVersion.readmeHtml.faq %}
|
||||
<li><a href="#tabs-faq">{{ 'General_Faq'|translate }}</a></li>
|
||||
{% endif %}
|
||||
<li><a href="#tabs-changelog">{{ 'CorePluginsAdmin_Changelog'|translate }}</a></li>
|
||||
{% if plugin.screenshots|length %}
|
||||
<li><a href="#tabs-screenshots">{{ 'CorePluginsAdmin_Screenshots'|translate }}</a></li>
|
||||
{% endif %}
|
||||
{% if latestVersion.readmeHtml.support %}
|
||||
<li><a href="#tabs-support">{{ 'CorePluginsAdmin_Support'|translate }}</a></li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
|
||||
<div id="tabs-description">
|
||||
{{ pluginsMacro.missingRequirementsPleaseUpdateNotice(plugin) }}
|
||||
{{ latestVersion.readmeHtml.description|raw }}
|
||||
</div>
|
||||
|
||||
{% if latestVersion.readmeHtml.faq %}
|
||||
<div id="tabs-faq">
|
||||
{{ latestVersion.readmeHtml.faq|raw }}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<div id="tabs-changelog">
|
||||
{{ pluginsMacro.missingRequirementsPleaseUpdateNotice(plugin) }}
|
||||
{% if plugin.canBeUpdated %}
|
||||
<p class="updateAvailableNotice">{{ 'CorePluginsAdmin_PluginUpdateAvailable'|translate(plugin.currentVersion, plugin.latestVersion) }}
|
||||
{% if plugin.repositoryChangelogUrl %}<a target="_blank" href="{{ plugin.repositoryChangelogUrl }}">{{ 'CorePluginsAdmin_ViewRepositoryChangelog'|translate }}</a>{% endif %}
|
||||
</p>
|
||||
{% endif %}
|
||||
|
||||
{% if latestVersion.readmeHtml.changelog %}
|
||||
{{ latestVersion.readmeHtml.changelog|raw }}
|
||||
{% endif %}
|
||||
|
||||
<h3>{{ 'CorePluginsAdmin_History'|translate }}</h3>
|
||||
|
||||
<ul>
|
||||
{% for version in plugin.versions|reverse %}
|
||||
<li>
|
||||
{% set versionName %}
|
||||
<strong>
|
||||
{% if version.repositoryChangelogUrl %}
|
||||
<a target="_blank" title="{{ 'CorePluginsAdmin_Changelog'|translate }}" href="{{ version.repositoryChangelogUrl }}">{{ version.name }}</a>
|
||||
{% else %}
|
||||
{{ version.name }}
|
||||
{% endif %}
|
||||
</strong>
|
||||
{% endset %}
|
||||
{{ 'CorePluginsAdmin_PluginVersionInfo'|translate(versionName, version.release)|raw }}
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
{% if plugin.screenshots|length %}
|
||||
<div id="tabs-screenshots">
|
||||
<div class="thumbnails">
|
||||
{% for screenshot in plugin.screenshots %}
|
||||
<div class="thumbnail">
|
||||
<a href="{{ screenshot }}" target="_blank"><img src="{{ screenshot }}?w=400" width="400" alt=""></a>
|
||||
<p>
|
||||
{{ screenshot|split('/')|last|replace({'_': ' ', '.png': '', '.jpg': '', '.jpeg': ''}) }}
|
||||
</p>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% if latestVersion.readmeHtml.support %}
|
||||
<div id="tabs-support">
|
||||
|
||||
{{ latestVersion.readmeHtml.support|raw }}
|
||||
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="metadata" style="width:25%;float:left;">
|
||||
<p><br /></p>
|
||||
<dl>
|
||||
<dt>{{ 'CorePluginsAdmin_Version'|translate }}</dt>
|
||||
<dd>{{ plugin.latestVersion }}</dd>
|
||||
<dt>{{ 'CorePluginsAdmin_PluginKeywords'|translate }}</dt>
|
||||
<dd>{{ plugin.keywords|join(', ') }}</dd>
|
||||
<dt>{{ 'CorePluginsAdmin_LastUpdated'|translate }}</dt>
|
||||
<dd>{{ plugin.lastUpdated }}</dd>
|
||||
<dt>{{ 'General_Downloads'|translate }}</dt>
|
||||
<dd title="{{ 'CorePluginsAdmin_NumDownloadsLatestVersion'|translate(latestVersion.numDownloads|number_format) }}">{{ plugin.numDownloads }}</dd>
|
||||
<dt>{{ 'CorePluginsAdmin_Developer'|translate }}</dt>
|
||||
<dd>{{ pluginsMacro.pluginDeveloper(plugin.owner) }}</dd>
|
||||
<dt>{{ 'CorePluginsAdmin_Authors'|translate }}</dt>
|
||||
<dd>{% for author in plugin.authors if author.name %}
|
||||
|
||||
{% spaceless %}
|
||||
{% if author.homepage %}
|
||||
<a target="_blank" href="{{ author.homepage }}">{{ author.name }}</a>
|
||||
{% elseif author.email %}
|
||||
<a href="mailto:{{ author.email|escape('url') }}">{{ author.name }}</a>
|
||||
{% else %}
|
||||
{{ author.name }}
|
||||
{% endif %}
|
||||
|
||||
{% if loop.index < plugin.authors|length %}
|
||||
,
|
||||
{% endif %}
|
||||
{% endspaceless %}
|
||||
|
||||
{% endfor %}
|
||||
</dd>
|
||||
<dt>{{ 'CorePluginsAdmin_Websites'|translate }}</dt>
|
||||
<dd>
|
||||
{% if plugin.homepage %}
|
||||
<a target="_blank" href="{{ plugin.homepage }}">{{ 'CorePluginsAdmin_PluginWebsite'|translate }}</a>,
|
||||
{% endif %}
|
||||
<a target="_blank" href="{{ plugin.repositoryUrl }}">GitHub</a></dd>
|
||||
{% if plugin.activity %}
|
||||
<dt>{{ 'CorePluginsAdmin_Activity'|translate }}</dt>
|
||||
<dd>
|
||||
{{ plugin.activity.numCommits }} commits
|
||||
|
||||
{% if plugin.activity.numContributors > 1 %}
|
||||
{{ 'CorePluginsAdmin_ByXDevelopers'|translate(plugin.activity.numContributors) }}
|
||||
{% endif %}
|
||||
{% if plugin.activity.lastCommitDate %}
|
||||
{{ 'CorePluginsAdmin_LastCommitTime'|translate(plugin.activity.lastCommitDate) }}
|
||||
{% endif %}</dd>
|
||||
{% endif %}
|
||||
</dl>
|
||||
<br />
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
$(function() {
|
||||
|
||||
var active = 0;
|
||||
{% if activeTab %}
|
||||
var $activeTab = $('#tabs-{{ activeTab|e('js') }}');
|
||||
if ($activeTab) {
|
||||
active = $activeTab.index() - 1;
|
||||
}
|
||||
{% endif %}
|
||||
|
||||
$( "#pluginDetailsTabs" ).tabs({active: active >= 0 ? active : 0});
|
||||
|
||||
$('.pluginDetails a').each(function (index, a) {
|
||||
var link = $(a).attr('href');
|
||||
|
||||
if (link && 0 === link.indexOf('http')) {
|
||||
$(a).attr('target', '_blank');
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
{% endblock %}
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
{% import '@CorePluginsAdmin/macros.twig' as plugins %}
|
||||
|
||||
<hr class="metadataSeparator"/>
|
||||
<ul class="metadata">
|
||||
<li class="odd">{{ 'CorePluginsAdmin_Version'|translate }}: <strong>{{ plugin.latestVersion }}</strong></li>
|
||||
<li class="even">{{ 'CorePluginsAdmin_Updated'|translate }}: <strong>{{ plugin.lastUpdated }}</strong></li>
|
||||
<li class="odd">{{ 'General_Downloads'|translate }}: <strong>{{ plugin.numDownloads }}</strong></li>
|
||||
<li class="even">{{ 'CorePluginsAdmin_Developer'|translate }}: <strong>{{ plugins.pluginDeveloper(plugin.owner) }}</strong></li>
|
||||
</ul>
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
{% import '@CorePluginsAdmin/macros.twig' as plugins %}
|
||||
|
||||
{% if isSuperUser %}
|
||||
{% if plugin.canBeUpdated and 0 == plugin.missingRequirements|length %}
|
||||
<a class="update"
|
||||
href="{{ linkTo({'action':'updatePlugin', 'pluginName': plugin.name, 'nonce': updateNonce}) }}"
|
||||
>{{ 'CoreUpdater_UpdateTitle'|translate }}</a>
|
||||
{% elseif plugin.isInstalled %}
|
||||
<span class="install">{{ 'General_Installed'|translate }}</span>
|
||||
{% elseif 0 < plugin.missingRequirements|length %}
|
||||
{% else %}
|
||||
<a href="{{ linkTo({'action': 'installPlugin', 'pluginName': plugin.name, 'nonce': installNonce}) }}"
|
||||
class="install">{{ 'CorePluginsAdmin_ActionInstall'|translate }}</a>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
|
||||
<h3 class="header" title="{{ 'General_MoreDetails'|translate }}">
|
||||
<a href="javascript:void(0);" class="more">{{ plugin.name }}</a>
|
||||
</h3>
|
||||
<p class="description">{{ plugin.description }}
|
||||
<br />
|
||||
<a href="javascript:void(0);" title="{{ 'General_MoreDetails'|translate }}" class="more">>> {{ 'General_MoreLowerCase'|translate }}</a>
|
||||
</p>
|
||||
|
||||
{% if plugin.canBeUpdated %}
|
||||
<p class="updateAvailableNotice" data-activePluginTab="changelog">{{ 'CorePluginsAdmin_PluginUpdateAvailable'|translate(plugin.currentVersion, plugin.latestVersion) }}</p>
|
||||
{% endif %}
|
||||
|
||||
{{ plugins.missingRequirementsPleaseUpdateNotice(plugin) }}
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
{% extends 'admin.twig' %}
|
||||
|
||||
{% import '@CorePluginsAdmin/macros.twig' as plugins %}
|
||||
|
||||
{% block content %}
|
||||
<div style="max-width:980px;">
|
||||
|
||||
{% if pluginsHavingUpdate|length %}
|
||||
<h2>{{ pluginsHavingUpdate|length }} Update(s) available</h2>
|
||||
|
||||
<p>{{ 'CorePluginsAdmin_InfoPluginUpdateIsRecommended'|translate }}</p>
|
||||
|
||||
{{ plugins.tablePluginUpdates(pluginsHavingUpdate, updateNonce, activateNonce, 0) }}
|
||||
{% endif %}
|
||||
|
||||
<h2 piwik-enriched-headline>{{ 'CorePluginsAdmin_PluginsManagement'|translate }}</h2>
|
||||
|
||||
<p>{{ 'CorePluginsAdmin_MainDescription'|translate }}
|
||||
|
||||
{% if not isPluginsAdminEnabled %}
|
||||
<br/>{{ 'CorePluginsAdmin_DoMoreContactPiwikAdmins'|translate }}
|
||||
{% endif %}
|
||||
|
||||
</p>
|
||||
|
||||
{{ plugins.pluginsFilter(false, isMarketplaceEnabled) }}
|
||||
|
||||
{{ plugins.tablePlugins(pluginsInfo, pluginNamesHavingSettings, activateNonce, deactivateNonce, uninstallNonce, false, marketplacePluginNames, isPluginsAdminEnabled) }}
|
||||
|
||||
</div>
|
||||
{% endblock %}
|
||||
114
www/analytics/plugins/CorePluginsAdmin/templates/safemode.twig
Normal file
114
www/analytics/plugins/CorePluginsAdmin/templates/safemode.twig
Normal file
|
|
@ -0,0 +1,114 @@
|
|||
<html>
|
||||
<head>
|
||||
<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>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<h1>A fatal error occurred</h1>
|
||||
|
||||
<div style="width: 640px">
|
||||
|
||||
{% if not isAnonymousUser %}
|
||||
<p>
|
||||
The following error just broke Piwik{% if showVersion %} (v{{ piwikVersion }}){% endif %}:
|
||||
<pre>{{ lastError.message }}</pre>
|
||||
in
|
||||
<pre>{{ lastError.file }} line {{ lastError.line }}</pre>
|
||||
</p>
|
||||
{% endif %}
|
||||
|
||||
{% if isSuperUser %}
|
||||
<p>
|
||||
If this error continues to happen, there is a good chance to fix this issue by disabling one or more of
|
||||
the Third-Party plugins. You can enable them again in the
|
||||
<a 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>
|
||||
<a href="index.php?module=CorePluginsAdmin&action=deactivate&pluginName={{ pluginName }}&nonce={{ deactivateNonce }}"
|
||||
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 %}
|
||||
|
||||
<p>
|
||||
<br />
|
||||
We appreciate if you send the
|
||||
<a href="mailto:hello@piwik.org?subject={{ 'Fatal error in Piwik ' ~ 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 Piwik team.
|
||||
</p>
|
||||
|
||||
{% elseif isAnonymousUser %}
|
||||
|
||||
<p>Please contact the system administrator.</p>
|
||||
|
||||
{% else %}
|
||||
<p>
|
||||
If this error continues to happen you may want to send an
|
||||
<a href="mailto:{{ emailSuperUser }}?subject={{ 'Fatal error in Piwik ' ~ 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 %}
|
||||
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
{% import '@CorePluginsAdmin/macros.twig' as plugins %}
|
||||
|
||||
{% if isSuperUser %}
|
||||
{% if plugin.canBeUpdated and 0 == plugin.missingRequirements|length %}
|
||||
<a href="{{ linkTo({'action':'updatePlugin', 'pluginName': plugin.name, 'nonce': updateNonce}) }}"
|
||||
class="update"
|
||||
>{{ 'CoreUpdater_UpdateTitle'|translate }}</a>
|
||||
{% elseif plugin.isInstalled %}
|
||||
<span class="install">{{ 'General_Installed'|translate }}</span>
|
||||
{% elseif 0 < plugin.missingRequirements|length %}
|
||||
{% else %}
|
||||
<a href="{{ linkTo({'action': 'installPlugin', 'pluginName': plugin.name, 'nonce': installNonce}) }}"
|
||||
class="install">{{ 'CorePluginsAdmin_ActionInstall'|translate }}</a>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
<h3 class="header" title="{{ 'General_MoreDetails'|translate }}">
|
||||
<a href="javascript:void(0);" class="more">{{ plugin.name }}</a>
|
||||
</h3>
|
||||
|
||||
<p class="description">{% if plugin.featured %}{{ plugins.featuredIcon('right') }}{% endif %}{{ plugin.description }}</p>
|
||||
|
||||
{% if plugin.canBeUpdated %}
|
||||
<p class="updateAvailableNotice">{{ 'CorePluginsAdmin_PluginUpdateAvailable'|translate(plugin.currentVersion, plugin.latestVersion) }}</p>
|
||||
{% endif %}
|
||||
|
||||
{{ plugins.missingRequirementsPleaseUpdateNotice(plugin) }}
|
||||
|
||||
<a href="javascript:void(0);" class="more"><img title="{{ 'General_MoreDetails'|translate }}"
|
||||
class="preview" src="{{ plugin.screenshots|first }}?w=250&h=250"/></a>
|
||||
33
www/analytics/plugins/CorePluginsAdmin/templates/themes.twig
Normal file
33
www/analytics/plugins/CorePluginsAdmin/templates/themes.twig
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
{% extends 'admin.twig' %}
|
||||
|
||||
{% import '@CorePluginsAdmin/macros.twig' as plugins %}
|
||||
|
||||
{% block content %}
|
||||
<div style="max-width:980px;">
|
||||
|
||||
{% if pluginsHavingUpdate|length %}
|
||||
<h2>{{ 'CorePluginsAdmin_NumUpdatesAvailable'|translate(pluginsHavingUpdate|length) }}</h2>
|
||||
|
||||
<p>{{ 'CorePluginsAdmin_InfoThemeUpdateIsRecommended'|translate }}</p>
|
||||
|
||||
{{ plugins.tablePluginUpdates(pluginsHavingUpdate, updateNonce, true) }}
|
||||
{% endif %}
|
||||
|
||||
<h2 piwik-enriched-headline>{{ 'CorePluginsAdmin_ThemesManagement'|translate }}</h2>
|
||||
|
||||
<p>{{ 'CorePluginsAdmin_ThemesDescription'|translate }}
|
||||
{% if otherUsersCount > 0 %}
|
||||
<br/> {{ 'CorePluginsAdmin_InfoThemeIsUsedByOtherUsersAsWell'|translate(otherUsersCount, themeEnabled) }}
|
||||
{% endif %}
|
||||
{% if not isPluginsAdminEnabled %}
|
||||
<br/>{{ 'CorePluginsAdmin_DoMoreContactPiwikAdmins'|translate }}
|
||||
{% endif %}
|
||||
|
||||
</p>
|
||||
|
||||
{{ plugins.pluginsFilter(true, isMarketplaceEnabled) }}
|
||||
|
||||
{{ plugins.tablePlugins(pluginsInfo, pluginNamesHavingSettings, activateNonce, deactivateNonce, uninstallNonce, true, marketplacePluginNames, isPluginsAdminEnabled ) }}
|
||||
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
|
@ -0,0 +1,41 @@
|
|||
{% extends 'admin.twig' %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<div style="max-width:980px;">
|
||||
|
||||
<h2>{{ 'CorePluginsAdmin_UpdatingPlugin'|translate(plugin.name) }}</h2>
|
||||
|
||||
<div>
|
||||
|
||||
{% if plugin.isTheme %}
|
||||
|
||||
<p>{{ 'CorePluginsAdmin_StepDownloadingThemeFromMarketplace'|translate }}</p>
|
||||
|
||||
<p>{{ 'CorePluginsAdmin_StepUnzippingTheme'|translate }}</p>
|
||||
|
||||
<p>{{ 'CorePluginsAdmin_StepReplaceExistingTheme'|translate }}</p>
|
||||
|
||||
<p>{{ 'CorePluginsAdmin_StepThemeSuccessfullyUpdated'|translate(plugin.name, plugin.latestVersion) }}</p>
|
||||
|
||||
{% else %}
|
||||
|
||||
<p>{{ 'CorePluginsAdmin_StepDownloadingPluginFromMarketplace'|translate }}</p>
|
||||
|
||||
<p>{{ 'CorePluginsAdmin_StepUnzippingPlugin'|translate }}</p>
|
||||
|
||||
<p>{{ 'CorePluginsAdmin_StepReplaceExistingPlugin'|translate }}</p>
|
||||
|
||||
<p>{{ 'CorePluginsAdmin_StepPluginSuccessfullyUpdated'|translate(plugin.name, plugin.latestVersion) }}</p>
|
||||
|
||||
{% endif %}
|
||||
|
||||
<p><a href="{{ linkTo({'action': 'plugins'}) }}">{{ 'General_Plugins'|translate }}</a>
|
||||
|
|
||||
<a href="{{ linkTo({'action': 'themes'}) }}">{{ 'CorePluginsAdmin_Themes'|translate }}</a>
|
||||
|
|
||||
<a href="{{ linkTo({'action': 'extend'}) }}">{{ 'CorePluginsAdmin_Marketplace'|translate }}</a></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% endblock %}
|
||||
|
|
@ -0,0 +1,44 @@
|
|||
{% extends 'admin.twig' %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<div style="max-width:980px;">
|
||||
|
||||
<div>
|
||||
<h2>{{ 'CorePluginsAdmin_InstallingPlugin'|translate(plugin.name) }}</h2>
|
||||
|
||||
{% if plugin.isTheme %}
|
||||
|
||||
<p>{{ 'CorePluginsAdmin_StepUnzippingTheme'|translate }}</p>
|
||||
|
||||
<p>{{ 'CorePluginsAdmin_StepThemeSuccessfullyInstalled'|translate(plugin.name, plugin.version) }}</p>
|
||||
|
||||
<p>
|
||||
{% if not plugin.isActivated %}
|
||||
<strong><a href="{{ linkTo({'action': 'activate', 'pluginName': plugin.name, 'nonce': nonce}) }}">{{ 'CorePluginsAdmin_ActionActivateTheme'|translate }}</a></strong>
|
||||
|
||||
|
|
||||
{% endif %}
|
||||
<a href="{{ linkTo({'action': 'extend'}) }}">{{ 'CorePluginsAdmin_BackToExtendPiwik'|translate }}</a>
|
||||
</p>
|
||||
|
||||
{% else %}
|
||||
|
||||
<p>{{ 'CorePluginsAdmin_StepUnzippingPlugin'|translate }}</p>
|
||||
|
||||
<p>{{ 'CorePluginsAdmin_StepPluginSuccessfullyInstalled'|translate(plugin.name, plugin.version) }}</p>
|
||||
|
||||
<p>
|
||||
{% if not plugin.isActivated %}
|
||||
<strong><a href="{{ linkTo({'action': 'activate', 'pluginName': plugin.name, 'nonce': nonce}) }}">{{ 'CorePluginsAdmin_ActionActivatePlugin'|translate }}</a></strong>
|
||||
|
||||
|
|
||||
{% endif %}
|
||||
<a href="{{ linkTo({'action': 'extend'}) }}">{{ 'CorePluginsAdmin_BackToExtendPiwik'|translate }}</a>
|
||||
</p>
|
||||
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% endblock %}
|
||||
Loading…
Add table
Add a link
Reference in a new issue