Skip to content
Extraits de code Groupes Projets
Valider 61c3e8dc rédigé par Stefan Giehl's avatar Stefan Giehl Validation de Matthieu Aubry
Parcourir les fichiers

Improves plugin list filters (#11448)

* Improves plugin list filters

* match lowercase

* update ui tests
parent 45f3ec35
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -223,6 +223,16 @@ class Controller extends Plugin\ControllerAdmin ...@@ -223,6 +223,16 @@ class Controller extends Plugin\ControllerAdmin
foreach ($plugins as $pluginName => &$plugin) { foreach ($plugins as $pluginName => &$plugin) {
$plugin['isCorePlugin'] = $this->pluginManager->isPluginBundledWithCore($pluginName); $plugin['isCorePlugin'] = $this->pluginManager->isPluginBundledWithCore($pluginName);
$plugin['isOfficialPlugin'] = false;
if (isset($plugin['info']) && isset($plugin['info']['authors'])) {
foreach ($plugin['info']['authors'] as $author) {
if (in_array(strtolower($author['name']), array('piwik', 'innocraft'))) {
$plugin['isOfficialPlugin'] = true;
break;
}
}
}
if (!empty($plugin['info']['description'])) { if (!empty($plugin['info']['description'])) {
$plugin['info']['description'] = $this->translator->translate($plugin['info']['description']); $plugin['info']['description'] = $this->translator->translate($plugin['info']['description']);
......
...@@ -48,7 +48,8 @@ ...@@ -48,7 +48,8 @@
updateNumberOfMatchingPluginsInFilter('[data-filter-origin="all"]', 'all', filterStatus); updateNumberOfMatchingPluginsInFilter('[data-filter-origin="all"]', 'all', filterStatus);
updateNumberOfMatchingPluginsInFilter('[data-filter-origin="core"]', 'core', filterStatus); updateNumberOfMatchingPluginsInFilter('[data-filter-origin="core"]', 'core', filterStatus);
updateNumberOfMatchingPluginsInFilter('[data-filter-origin="noncore"]', 'noncore', filterStatus); updateNumberOfMatchingPluginsInFilter('[data-filter-origin="official"]', 'official', filterStatus);
updateNumberOfMatchingPluginsInFilter('[data-filter-origin="thirdparty"]', 'thirdparty', filterStatus);
} }
function updateNumberOfMatchingPluginsInFilter(selectorFilterToUpdate, filterOrigin, filterStatus) function updateNumberOfMatchingPluginsInFilter(selectorFilterToUpdate, filterOrigin, filterStatus)
......
...@@ -37,6 +37,7 @@ ...@@ -37,6 +37,7 @@
"NoPluginSettings": "No plugin settings that can be configured", "NoPluginSettings": "No plugin settings that can be configured",
"Origin": "Origin", "Origin": "Origin",
"OriginCore": "Core", "OriginCore": "Core",
"OriginOfficial": "Official",
"OriginThirdParty": "Third-party", "OriginThirdParty": "Third-party",
"PluginHomepage": "Plugin Homepage", "PluginHomepage": "Plugin Homepage",
"PluginNotCompatibleWith": "%1$s plugin is not compatible with %2$s.", "PluginNotCompatibleWith": "%1$s plugin is not compatible with %2$s.",
......
...@@ -76,7 +76,8 @@ ...@@ -76,7 +76,8 @@
<strong>{{ 'CorePluginsAdmin_Origin'|translate }}</strong> <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="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="core" href="#">{{ 'CorePluginsAdmin_OriginCore'|translate }}<span class="counter"></span></a> |
<a data-filter-origin="noncore" href="#">{{ 'CorePluginsAdmin_OriginThirdParty'|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>
<span class="status"> <span class="status">
...@@ -114,7 +115,7 @@ ...@@ -114,7 +115,7 @@
{% for name,plugin in pluginsInfo %} {% for name,plugin in pluginsInfo %}
{% set isDefaultTheme = isTheme and name == 'Morpheus' %} {% set isDefaultTheme = isTheme and name == 'Morpheus' %}
{% if (plugin.alwaysActivated is defined and not plugin.alwaysActivated) or isTheme %} {% 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 %}"> <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"> <td class="name">
<a name="{{ name|e('html_attr') }}"></a> <a name="{{ name|e('html_attr') }}"></a>
{% if not plugin.isCorePlugin and name in marketplacePluginNames -%} {% if not plugin.isCorePlugin and name in marketplacePluginNames -%}
......
Le fichier a été supprimé par une entrée .gitattributes, ou son encodage n'est pas pris en charge.
Le fichier a été supprimé par une entrée .gitattributes, ou son encodage n'est pas pris en charge.
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter