diff --git a/src/templates/settings/plugins/index.twig b/src/templates/settings/plugins/index.twig index 53c7c419811..7f6d4e24ada 100644 --- a/src/templates/settings/plugins/index.twig +++ b/src/templates/settings/plugins/index.twig @@ -5,184 +5,184 @@ {% do view.registerAssetBundle("craft\\web\\assets\\plugins\\PluginsAsset") %} {% set crumbs = [ - { label: "Settings"|t('app'), url: url('settings') } + { label: "Settings"|t('app'), url: url('settings') } ] %} {% set info = craft.app.plugins.getAllPluginInfo()|multisort( - ['isEnabled', 'isInstalled', 'name'], - [SORT_DESC, SORT_DESC, SORT_ASC], - [SORT_NUMERIC, SORT_NUMERIC, SORT_NATURAL] + ['isEnabled', 'isInstalled', 'name'], + [SORT_DESC, SORT_DESC, SORT_ASC], + [SORT_NUMERIC, SORT_NUMERIC, SORT_NATURAL] ) %} {% set disabledPlugins = craft.app.config.general.disabledPlugins %} {% block content %} - {% if info|length %} -
- - - {% for handle, config in info %} - {% set pluginStoreUrl = url('plugin-store/' ~ handle) %} - {% set forceDisabled = disabledPlugins == '*' or handle in disabledPlugins %} - - - - - - {% endfor %} - -
-
- - {{ svg(craft.app.plugins.getPluginIconSvg(handle), sanitize=true, namespace=true) }} - {% if config.licenseKeyStatus == 'valid' or config.licenseIssues is not empty %} - - {% endif %} - -
-
-

{{ config.name }}

- {% if config.hasMultipleEditions or config.isTrial %} - {% tag (config.upgradeAvailable ? 'a' : 'div') with { - class: 'edition', - href: config.upgradeAvailable ? pluginStoreUrl : false, - } %} - {% if config.hasMultipleEditions %}
{{ config.edition }}
{% endif %} - {% if config.isTrial %}
{{ 'Trial'|t('app') }}
{% endif %} - {% endtag %} - {% endif %} - {{ config.version }} -
- {% if config.description %} -

{{ config.description }}

- {% endif %} - {% if config.developer or config.documentationUrl or config.hasCpSettings %} - - {% endif %} - {% set showLicenseKey = config.licenseKey or config.licenseKeyStatus != 'unknown' %} -
-
- -
- {{ tag('a', { - text: 'Buy now'|t('app'), - class: [ - 'btn', - config.licenseIssues is not empty ? 'submit', - config.licenseKeyStatus != 'trial' ? 'hidden', - ]|filter, - href: url('plugin-store/buy/'~handle~'/'~config.edition), - }) }} - -
- {% for issue in config.licenseIssues %} -

- {% switch issue %} - {% case 'wrong_edition' %} - {{ 'This license is for the {name} edition.'|t('app', { - name: config.licensedEdition|ucfirst - }) }} - {% case 'no_trials' %} - {{ 'Plugin trials are not allowed on this domain.'|t('app') }} - {% case 'mismatched' %} - {{ 'This license is tied to another Craft install. Visit {accountLink} to detach it, or buy a new license.'|t('app', { - accountLink: 'console.craftcms.com', - buyUrl: url('plugin-store/buy/'~handle~'/'~config.edition), - })|raw }} - {% case 'astray' %} - {{ 'This license isn’t allowed to run version {version}.'|t('app', { - version: config.version - }) }} - {% case 'required' %} - {{ 'A license key is required.'|t('app') }} - {% default %} - {{ 'Your license key is invalid.'|t('app') }} - {% endswitch %} -

- {% endfor %} -
-
-
- {% if config.isEnabled %} - {{ "Installed"|t('app') }} - {% elseif config.isInstalled %} - {{ "Disabled"|t('app') }} - {% else %} - {{ "Not installed"|t('app') }} - {% endif %} - -
- {{ hiddenInput('pluginHandle', handle) }} - {{ csrfInput() }} -
- - -
-
-
-
- {% else %} -

{{ "There are no available plugins."|t('app') }} - {% endif %} + {% if info|length %} +

+ + + {% for handle, config in info %} + {% set pluginStoreUrl = url('plugin-store/' ~ handle) %} + {% set forceDisabled = disabledPlugins == '*' or handle in disabledPlugins %} + + + + + + {% endfor %} + +
+
+ + {{ svg(craft.app.plugins.getPluginIconSvg(handle), sanitize=true, namespace=true) }} + {% if config.licenseKeyStatus == 'valid' or config.licenseIssues is not empty %} + + {% endif %} + +
+
+

{{ config.name }}

+ {% if config.hasMultipleEditions or config.isTrial %} + {% tag (config.upgradeAvailable ? 'a' : 'div') with { + class: 'edition', + href: config.upgradeAvailable ? pluginStoreUrl : false, + } %} + {% if config.hasMultipleEditions %}
{{ config.edition }}
{% endif %} + {% if config.isTrial %}
{{ 'Trial'|t('app') }}
{% endif %} + {% endtag %} + {% endif %} + {{ config.version }} +
+ {% if config.description %} +

{{ config.description }}

+ {% endif %} + {% if config.developer or config.documentationUrl or config.hasCpSettings %} + + {% endif %} + {% set showLicenseKey = config.licenseKey or config.licenseKeyStatus != 'unknown' %} +
+
+ +
+ {{ tag('a', { + text: 'Buy now'|t('app'), + class: [ + 'btn', + config.licenseIssues is not empty ? 'submit', + config.licenseKeyStatus != 'trial' ? 'hidden', + ]|filter, + href: url('plugin-store/buy/'~handle~'/'~config.edition), + }) }} + +
+ {% for issue in config.licenseIssues %} +

+ {% switch issue %} + {% case 'wrong_edition' %} + {{ 'This license is for the {name} edition.'|t('app', { + name: config.licensedEdition|ucfirst + }) }} + {% case 'no_trials' %} + {{ 'Plugin trials are not allowed on this domain.'|t('app') }} + {% case 'mismatched' %} + {{ 'This license is tied to another Craft install. Visit {accountLink} to detach it, or buy a new license.'|t('app', { + accountLink: 'console.craftcms.com', + buyUrl: url('plugin-store/buy/'~handle~'/'~config.edition), + })|raw }} + {% case 'astray' %} + {{ 'This license isn’t allowed to run version {version}.'|t('app', { + version: config.version + }) }} + {% case 'required' %} + {{ 'A license key is required.'|t('app') }} + {% default %} + {{ 'Your license key is invalid.'|t('app') }} + {% endswitch %} +

+ {% endfor %} +
+
+
+ {% if config.isEnabled %} + {{ "Installed"|t('app') }} + {% elseif config.isInstalled %} + {{ "Disabled"|t('app') }} + {% else %} + {{ "Not installed"|t('app') }} + {% endif %} + +
+ {{ hiddenInput('pluginHandle', handle) }} + {{ csrfInput() }} +
+ + +
+
+
+
+ {% else %} +

{{ "There are no available plugins."|t('app') }}

+ {% endif %} {% endblock %} {% js %} -new Craft.PluginManager(); + new Craft.PluginManager(); {% endjs %}