diff options
author | mattab <matthieu.aubry@gmail.com> | 2013-10-01 00:54:53 +0400 |
---|---|---|
committer | mattab <matthieu.aubry@gmail.com> | 2013-10-01 00:54:53 +0400 |
commit | 354f9103651993b38fe51b6a0c56c63f4a92b136 (patch) | |
tree | 6afcf0ca3f2df0c2d983c07e7fd29bd3f7e24bfd | |
parent | 2e9c51a47ec853a0e05eaa0457cb82bb0f2bff9a (diff) | |
parent | b16d8cf8d7a35625f6e5fd3fc54d701d7b6bc6d4 (diff) |
Merge remote-tracking branch 'origin/master'
-rw-r--r-- | core/PluginsManager.php | 5 | ||||
-rw-r--r-- | lang/en.json | 3 | ||||
-rw-r--r-- | plugins/CorePluginsAdmin/CorePluginsAdmin.php | 1 | ||||
-rw-r--r-- | plugins/CorePluginsAdmin/javascripts/pluginOverview.js | 26 | ||||
-rw-r--r-- | plugins/CorePluginsAdmin/templates/macros.twig | 10 | ||||
m--------- | plugins/SecurityInfo | 0 |
6 files changed, 43 insertions, 2 deletions
diff --git a/core/PluginsManager.php b/core/PluginsManager.php index 2f8caad887..7f1772235c 100644 --- a/core/PluginsManager.php +++ b/core/PluginsManager.php @@ -201,6 +201,11 @@ class PluginsManager if(!$this->isPluginInFilesystem($pluginName)) { throw new \Exception("You are trying to uninstall the plugin $pluginName but it was not found in the directory piwik/plugins/"); } + + $this->returnLoadedPluginsInfo(); + $plugin = $this->getLoadedPlugin($pluginName); + $plugin->uninstall(); + self::deletePluginFromFilesystem($pluginName); $this->removePluginFromPluginsConfig($pluginName); diff --git a/lang/en.json b/lang/en.json index e38b5048e2..e0bdeed492 100644 --- a/lang/en.json +++ b/lang/en.json @@ -717,7 +717,8 @@ "MenuPlatform": "Platform", "MenuExtend": "Extend", "PluginNotCompatibleWith": "%1$s plugin is not compatible with %2$s.", - "PluginAskDevToUpdate": "If you enjoyed this plugin, maybe you can ask the developers to update it to work on the latest Piwik. " + "PluginAskDevToUpdate": "If you enjoyed this plugin, maybe you can ask the developers to update it to work on the latest Piwik. ", + "UninstallConfirm": "You are about to uninstall a plugin. The plugin will be completely removed from your platform and it won't be recoverable. Are you sure you want to do this?" }, "CoreUpdater": { "PluginDescription": "Piwik updating mechanism", diff --git a/plugins/CorePluginsAdmin/CorePluginsAdmin.php b/plugins/CorePluginsAdmin/CorePluginsAdmin.php index 4b3e012400..53bbdf0a76 100644 --- a/plugins/CorePluginsAdmin/CorePluginsAdmin.php +++ b/plugins/CorePluginsAdmin/CorePluginsAdmin.php @@ -89,6 +89,7 @@ class CorePluginsAdmin extends \Piwik\Plugin { $jsFiles[] = "plugins/CoreHome/javascripts/popover.js"; $jsFiles[] = "plugins/CorePluginsAdmin/javascripts/pluginDetail.js"; + $jsFiles[] = "plugins/CorePluginsAdmin/javascripts/pluginOverview.js"; } } diff --git a/plugins/CorePluginsAdmin/javascripts/pluginOverview.js b/plugins/CorePluginsAdmin/javascripts/pluginOverview.js new file mode 100644 index 0000000000..28b4915dd7 --- /dev/null +++ b/plugins/CorePluginsAdmin/javascripts/pluginOverview.js @@ -0,0 +1,26 @@ +/*! + * Piwik - Web Analytics + * + * @link http://piwik.org + * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later + */ + +$(document).ready(function () { + + $('#plugins .uninstall').click(function (event) { + event.preventDefault(); + + var link = $(this).attr('href'); + + if (!link) { + return; + } + + piwikHelper.modalConfirm('#confirmUninstallPlugin', { + yes: function () { + window.location = link; + } + }); + }); + +});
\ No newline at end of file diff --git a/plugins/CorePluginsAdmin/templates/macros.twig b/plugins/CorePluginsAdmin/templates/macros.twig index b8f2711309..be90e4e20c 100644 --- a/plugins/CorePluginsAdmin/templates/macros.twig +++ b/plugins/CorePluginsAdmin/templates/macros.twig @@ -43,6 +43,14 @@ {% macro tablePlugins(pluginsInfo, activateNonce, deactivateNonce, uninstallNonce, isTheme) %} +<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> @@ -84,7 +92,7 @@ {{ 'CorePluginsAdmin_Active'|translate }} {% else %} {{ 'CorePluginsAdmin_Inactive'|translate }} <br/> - - {% if plugin.uninstallable %}<a href='index.php?module=CorePluginsAdmin&action=uninstall&pluginName={{ name }}&nonce={{ + - {% if plugin.uninstallable %}<a class="uninstall" href='index.php?module=CorePluginsAdmin&action=uninstall&pluginName={{ name }}&nonce={{ uninstallNonce }}'>uninstall</a>{% endif %} {% endif %} </td> diff --git a/plugins/SecurityInfo b/plugins/SecurityInfo -Subproject 7d4f2ea0d63886eda79087ef5884be12bf63b31 +Subproject 22333f8dbc9b7ce3a3f003e8d0b657705d188cc |