diff options
Diffstat (limited to 'plugins/CorePluginsAdmin/Controller.php')
-rw-r--r-- | plugins/CorePluginsAdmin/Controller.php | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/plugins/CorePluginsAdmin/Controller.php b/plugins/CorePluginsAdmin/Controller.php index 13872a3793..d2b0b305e4 100644 --- a/plugins/CorePluginsAdmin/Controller.php +++ b/plugins/CorePluginsAdmin/Controller.php @@ -88,6 +88,10 @@ class Controller extends Plugin\ControllerAdmin static::dieIfPluginsAdminIsDisabled(); Piwik::checkUserHasSuperUserAccess(); + if (!CorePluginsAdmin::isPluginUploadEnabled()) { + throw new \Exception('Plugin upload disabled by config'); + } + $nonce = Common::getRequestVar('nonce', null, 'string'); if (!Nonce::verifyNonce(MarketplaceController::INSTALL_NONCE, $nonce)) { @@ -219,6 +223,16 @@ class Controller extends Plugin\ControllerAdmin foreach ($plugins as $pluginName => &$plugin) { $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'])) { $plugin['info']['description'] = $this->translator->translate($plugin['info']['description']); |