diff --git a/plugins/CorePluginsAdmin/Controller.php b/plugins/CorePluginsAdmin/Controller.php index 51043966ea02a7657cf9f220f277ec88f2481506..ae4d4929addff3db6d06c7ce4d7dade4b98b994c 100644 --- a/plugins/CorePluginsAdmin/Controller.php +++ b/plugins/CorePluginsAdmin/Controller.php @@ -21,6 +21,7 @@ use Piwik\Plugin; use Piwik\Settings\Manager as SettingsManager; use Piwik\Url; use Piwik\View; +use Piwik\Version; use Exception; /** @@ -311,8 +312,16 @@ class Controller extends Plugin\ControllerAdmin return $pluginsFiltered; } - public function safemode($lastError) + public function safemode($lastError = array()) { + if (empty($lastError)) { + $lastError = array( + 'message' => Common::getRequestVar('error_message', null, 'string'), + 'file' => Common::getRequestVar('error_file', null, 'string'), + 'line' => Common::getRequestVar('error_line', null, 'integer') + ); + } + $outputFormat = Common::getRequestVar('format', 'html', 'string'); $outputFormat = strtolower($outputFormat); @@ -338,6 +347,7 @@ class Controller extends Plugin\ControllerAdmin $view->deactivateNonce = Nonce::getNonce(static::DEACTIVATE_NONCE); $view->uninstallNonce = Nonce::getNonce(static::UNINSTALL_NONCE); $view->emailSuperUser = Piwik::getSuperUserEmail(); + $view->piwikVersion = Version::VERSION; $view->pluginCausesIssue = ''; if (!empty($lastError['file'])) { diff --git a/plugins/CorePluginsAdmin/stylesheets/marketplace.less b/plugins/CorePluginsAdmin/stylesheets/marketplace.less index cf236ac1271118ca56087474344f9357172c8132..5df221b79a08c334b71d0e448932e7c1404dc848 100644 --- a/plugins/CorePluginsAdmin/stylesheets/marketplace.less +++ b/plugins/CorePluginsAdmin/stylesheets/marketplace.less @@ -58,10 +58,6 @@ } } -.old-ie .pluginslist .plugin .featuredIcon { - margin-top: -20px; -} - .pluginslist { margin-top: 20px; max-width: 980px; @@ -151,6 +147,9 @@ margin-bottom: 3px; height: 24px; width: 24px; + position: absolute; + right: 1px; + margin-top: -22px; } .footer { diff --git a/plugins/CorePluginsAdmin/templates/safemode.twig b/plugins/CorePluginsAdmin/templates/safemode.twig index d931999e4ac50cf9fffdd2215deef5e32a413986..bbbe2e5eb4b2d70b86c1cc4b9ae392a3a7f1b9ab 100644 --- a/plugins/CorePluginsAdmin/templates/safemode.twig +++ b/plugins/CorePluginsAdmin/templates/safemode.twig @@ -1,6 +1,9 @@ <html> <head> <style type="text/css"> + html, body { + background-color: white; + } td { border: 1px solid #ccc; border-collapse: collapse; @@ -46,27 +49,50 @@ </p> <table> - {% for pluginName, plugin in plugins if plugin.uninstallable %} + {% 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> - {% if plugin.activated %} - <a href="index.php?module=CorePluginsAdmin&action=deactivate&pluginName={{ pluginName }}&nonce={{ deactivateNonce }}" - target="_blank">deactivate</a> - {% else %} - <a href="index.php?module=CorePluginsAdmin&action=uninstall&pluginName={{ pluginName }}&nonce={{ uninstallNonce }}" - target="_blank">uninstall</a> - {% endif %} + <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'|e('url') }}&body={{ lastError.message|e('url') }}%20in%20{{ lastError.file|e('url') }}%20{{ lastError.line|e('url') }}">error report</a> + <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') }}">error report</a> to the Piwik team. </p> @@ -77,7 +103,7 @@ {% else %} <p> If this error continues to happen you may want to send an - <a href="mailto:{{ emailSuperUser }}?subject={{ 'Fatal error in Piwik'|e('url') }}&body={{ lastError.message|e('url') }}%20in%20{{ lastError.file|e('url') }}%20{{ lastError.line|e('url') }}">error report</a> + <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') }}">error report</a> to your system administrator. </p> {% endif %}