/** * Check if current user is allowed to use given widget * * @param String $widget * * @return Boolean */ protected function _userCanViewWidget($widget) { $um = UserManager::instance(); $user = $um->getCurrentUser(); if ($user) { $service = AdminDelegation_Service::getServiceFromWidget($widget); if ($service) { $usm = new AdminDelegation_UserServiceManager(); return $usm->isUserGrantedForService($user, $service); } } return false; }
/** * Widget content * * @see src/common/widget/Widget#getContent() * @return String */ public function getContent() { $html = ''; $usm = new AdminDelegation_UserServiceManager(); if ($usm->isUserGrantedForService(UserManager::instance()->getCurrentUser(), AdminDelegation_Service::SHOW_PROJECT_ADMINS)) { $html .= $this->_showProjectAdmins(); } return $html; }
* along with Codendi. If not, see <http://www.gnu.org/licenses/>. */ require 'pre.php'; require_once dirname(__FILE__) . '/../include/AdminDelegation_UserServiceManager.class.php'; // First, check plugin availability $pluginManager = PluginManager::instance(); $p = $pluginManager->getPluginByName('admindelegation'); if (!$p || !$pluginManager->isPluginAvailable($p)) { header('Location: ' . get_server_url()); } // Grant access only to site admin $um = UserManager::instance(); if (!$um->getCurrentUser()->isSuperUser()) { $GLOBALS['Response']->redirect($p->getPluginPath() . '/permissions.php'); } $usm = new AdminDelegation_UserServiceManager(); if ($request->isPost()) { $vFunc = new Valid_WhiteList('func', array('grant_user_service', 'revoke_user', 'revoke_user_service')); $vFunc->required(); if ($request->valid($vFunc)) { $func = $request->get('func'); } else { $func = ''; } switch ($func) { case 'grant_user_service': $vUser = new Valid_String('user_to_grant'); $vUser->required(); if ($request->valid($vUser)) { $user = $um->findUser($request->get('user_to_grant')); } else {