• Main Page
  • Modules
  • Classes
  • Files
  • File List

classes/security/authorization/internal/PluginRequiredPolicy.inc.php

00001 <?php
00015 import('lib.pkp.classes.security.authorization.AuthorizationPolicy');
00016 
00017 class PluginRequiredPolicy extends AuthorizationPolicy {
00018 
00020    var $_request;
00021 
00026    function PluginRequiredPolicy(&$request) {
00027       parent::AuthorizationPolicy();
00028       $this->_request =& $request;
00029    }
00030 
00031    //
00032    // Implement template methods from AuthorizationPolicy
00033    //
00037    function effect() {
00038       // Get the plugin request data.
00039       $category = $this->_request->getUserVar('category');
00040       $pluginName = $this->_request->getUserVar('plugin');
00041 
00042       // Load the plugin.
00043       $plugins =& PluginRegistry::loadCategory($category);
00044       $foundPlugin = null;
00045       foreach ($plugins as $plugin) { /* @var $plugin Plugin */
00046          if ($plugin->getName() == $pluginName) {
00047             $foundPlugin = $plugin;
00048             break;
00049          }
00050       }
00051       if (!is_a($foundPlugin, 'Plugin')) return AUTHORIZATION_DENY;
00052 
00053       // Add the plugin to the authorized context.
00054       $this->addAuthorizedContextObject(ASSOC_TYPE_PLUGIN, $foundPlugin);
00055       return AUTHORIZATION_PERMIT;
00056    }
00057 }
00058 
00059 ?>

Generated on Mon Sep 17 2012 13:58:55 for Open Monograph Press by  doxygen 1.7.1