_request = $request; } // // Implement template methods from AuthorizationPolicy // /** * @see AuthorizationPolicy::effect() */ public function effect() { // Get the plugin request data. $category = $this->_request->getUserVar('category'); $pluginName = $this->_request->getUserVar('plugin'); // Load the plugin. $plugins = PluginRegistry::loadCategory($category); $foundPlugin = null; foreach ($plugins as $plugin) { /** @var Plugin $plugin */ if ($plugin->getName() == $pluginName) { $foundPlugin = $plugin; break; } } if (!$foundPlugin instanceof Plugin) { return AuthorizationPolicy::AUTHORIZATION_DENY; } // Add the plugin to the authorized context. $this->addAuthorizedContextObject(Application::ASSOC_TYPE_PLUGIN, $foundPlugin); return AuthorizationPolicy::AUTHORIZATION_PERMIT; } } if (!PKP_STRICT_MODE) { class_alias('\PKP\security\authorization\internal\PluginRequiredPolicy', '\PluginRequiredPolicy'); }