Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Steur <thomas.steur@gmail.com>2013-09-19 02:16:23 +0400
committerThomas Steur <thomas.steur@gmail.com>2013-09-19 02:16:23 +0400
commite667cf5f6d964a42d1076ace14cf7d36b0bcf25c (patch)
tree80941f2e7847de82140dd39b4d1c01f7298ef105 /plugins/CorePluginsAdmin
parentea2ae320e98a04ba94ae91cd5efd80abfdb12d96 (diff)
display error message during update plugin
Diffstat (limited to 'plugins/CorePluginsAdmin')
-rw-r--r--plugins/CorePluginsAdmin/Controller.php36
-rw-r--r--plugins/CorePluginsAdmin/templates/updatePlugin.twig18
2 files changed, 36 insertions, 18 deletions
diff --git a/plugins/CorePluginsAdmin/Controller.php b/plugins/CorePluginsAdmin/Controller.php
index 95f9b73706..53a62c2bf3 100644
--- a/plugins/CorePluginsAdmin/Controller.php
+++ b/plugins/CorePluginsAdmin/Controller.php
@@ -38,12 +38,11 @@ class Controller extends \Piwik\Controller\Admin
$nonce = Common::getRequestVar('nonce', '', 'string');
if (empty($pluginName)) {
- return;
+ throw new \Exception('Plugin parameter is missing');
}
if (!Nonce::verifyNonce('CorePluginsAdmin.activatePlugin', $nonce)) {
- // todo display error
- return;
+ throw new \Exception(Piwik_Translate('ExceptionNonceMismatch'));
}
Nonce::discardNonce('CorePluginsAdmin.activatePlugin');
@@ -55,25 +54,37 @@ class Controller extends \Piwik\Controller\Admin
public function updatePlugin()
{
+ $view = $this->configureView('@CorePluginsAdmin/updatePlugin');
+ $view->errorMessage = '';
+
$pluginName = Common::getRequestVar('pluginName', '', 'string');
$nonce = Common::getRequestVar('nonce', '', 'string');
if (empty($pluginName)) {
- return;
+ throw new \Exception('Plugin parameter is missing');
}
+ $view->plugin = array('name' => $pluginName);
+
if (!Nonce::verifyNonce('CorePluginsAdmin.updatePlugin', $nonce)) {
- // todo display error
+ $view->errorMessage = Piwik_Translate('ExceptionNonceMismatch');
+ echo $view->render();
return;
}
Nonce::discardNonce('CorePluginsAdmin.updatePlugin');
- $pluginInstaller = new PluginInstaller($pluginName);
- $pluginInstaller->installOrUpdatePluginFromMarketplace();
- $marketplace = new MarketplaceApiClient();
+ try {
+ $pluginInstaller = new PluginInstaller($pluginName);
+ $pluginInstaller->installOrUpdatePluginFromMarketplace();
+
+ } catch (PluginInstallerException $e) {
+ $view->errorMessage = $e->getMessage();
+ echo $view->render();
+ return;
+ }
- $view = $this->configureView('@CorePluginsAdmin/updatePlugin');
+ $marketplace = new MarketplaceApiClient();
$view->plugin = $marketplace->getPluginInfo($pluginName);
echo $view->render();
@@ -81,7 +92,8 @@ class Controller extends \Piwik\Controller\Admin
public function installPlugin()
{
- $view = $this->configureView('@CorePluginsAdmin/installPlugin');
+ $view = $this->configureView('@CorePluginsAdmin/installPlugin');
+ $view->errorMessage = '';
$pluginName = Common::getRequestVar('pluginName', '', 'string');
$nonce = Common::getRequestVar('nonce', '', 'string');
@@ -173,7 +185,7 @@ class Controller extends \Piwik\Controller\Admin
$sort = $this->defaultSortMethod;
}
- $marketplace = new MarketplaceApiClient();
+ $marketplace = new MarketplaceApiClient();
$view = $this->configureView('@CorePluginsAdmin/browseThemes');
$plugins = $marketplace->searchForThemes('', $query, $sort);
@@ -183,7 +195,7 @@ class Controller extends \Piwik\Controller\Admin
$plugin->isInstalled = !empty($loadedPlugins[$plugin->name]);
$plugin->createdDateTime = Date::factory($plugin->createdDateTime)->getLocalized(Piwik_Translate('CoreHome_ShortDateFormatWithYear'));
}
-
+
$view->plugins = $plugins;
$view->query = $query;
diff --git a/plugins/CorePluginsAdmin/templates/updatePlugin.twig b/plugins/CorePluginsAdmin/templates/updatePlugin.twig
index 67ea8b7951..700fa75d0b 100644
--- a/plugins/CorePluginsAdmin/templates/updatePlugin.twig
+++ b/plugins/CorePluginsAdmin/templates/updatePlugin.twig
@@ -6,16 +6,22 @@
<h2>Updating plugin {{ plugin.name}}</h2>
- <div>
- <p>Downloading plugin from Marketplace</p>
+ {% if errorMessage %}
+ <div class="ajaxError" style="">{{ errorMessage }}</div>
+ {% else %}
- <p>Unzipping plugin</p>
+ <div>
+ <p>Downloading plugin from Marketplace</p>
- <p>Replacing existing plugin</p>
+ <p>Unzipping plugin</p>
- <p>You have successfully updated the Plugin {{ plugin.name }} {{ plugin.latestVersion }}.</p>
+ <p>Replacing existing plugin</p>
- </div>
+ <p>You have successfully updated the Plugin {{ plugin.name }} {{ plugin.latestVersion }}.</p>
+
+ </div>
+
+ {% endif %}
</div>
{% endblock %}