/** * @param HTTPRequest $request * @return bool */ public function userIsAdmin(HTTPRequest $request) { $user = $request->getCurrentUser(); $forge_user_manager = new User_ForgeUserGroupPermissionsManager(new User_ForgeUserGroupPermissionsDao()); $has_special_permission = $forge_user_manager->doesUserHavePermission($user, new User_ForgeUserGroupPermission_MediawikiAdminAllProjects()); return $has_special_permission || $user->isMember($request->getProject()->getID(), 'A'); }
private function deletePermissions() { $id = $this->request->get('id'); $permission_ids = $this->request->get('permissions'); if ($id) { try { $user_group = $this->user_group_factory->getForgeUserGroupById($id); foreach ($permission_ids as $permission_id) { $permission = $this->user_group_permissions_factory->getForgePermissionById($permission_id); $this->user_group_permissions_manager->deletePermission($user_group, $permission); } } catch (User_UserGroupNotFoundException $e) { $GLOBALS['Response']->addFeedback('error', $GLOBALS['Language']->getText('admin_permission_delegation', 'ugroup_not_found')); } catch (User_ForgeUserGroupPermission_NotFoundException $e) { $GLOBALS['Response']->addFeedback('error', $GLOBALS['Language']->getText('admin_permission_delegation', 'permission_not_found')); } } $this->redirect($id); }
public function delegatePermissionsToManageUser() { $user = $this->user_manager->getUserById(self::TEST_USER_3_ID); // Create group $user_group_dao = new UserGroupDao(); $user_group_factory = new User_ForgeUserGroupFactory($user_group_dao); $user_group = $user_group_factory->createForgeUGroup('site remote admins', ''); // Grant Retrieve Membership permissions $permission = new User_ForgeUserGroupPermission_UserManagement(); $permissions_dao = new User_ForgeUserGroupPermissionsDao(); $user_group_permissions_manager = new User_ForgeUserGroupPermissionsManager($permissions_dao); $user_group_permissions_manager->addPermission($user_group, $permission); // Add user to group $user_group_users_dao = new User_ForgeUserGroupUsersDao(); $user_group_users_manager = new User_ForgeUserGroupUsersManager($user_group_users_dao); $user_group_users_manager->addUserToForgeUserGroup($user, $user_group); return $this; }
// // SourceForge: Breaking Down the Barriers to Open Source Development // Copyright 1999-2000 (c) The SourceForge Crew // http://sourceforge.net // // require_once 'pre.php'; require_once 'vars.php'; require_once 'account.php'; require_once 'proj_email.php'; require_once 'www/admin/admin_utils.php'; require_once 'www/project/admin/project_admin_utils.php'; require_once 'common/event/EventManager.class.php'; $user = UserManager::instance()->getCurrentUser(); $forge_ugroup_permissions_manager = new User_ForgeUserGroupPermissionsManager(new User_ForgeUserGroupPermissionsDao()); $special_access = $forge_ugroup_permissions_manager->doesUserHavePermission($user, new User_ForgeUserGroupPermission_ProjectApproval()); if (!$special_access) { session_require(array('group' => '1', 'admin_flags' => 'A')); } $action = $request->getValidated('action', 'string', ''); $em = EventManager::instance(); $pm = ProjectManager::instance(); // group public choice if ($action == 'activate') { $groups = array(); if ($request->exist('list_of_groups')) { $groups = array_filter(array_map('intval', explode(",", $request->get('list_of_groups')))); } foreach ($groups as $group_id) { $project = $pm->getProject($group_id);
public function userCanAdminAllProjectTrackers($user = null) { if (!$user instanceof PFUser) { $um = UserManager::instance(); $user = $um->getCurrentUser(); } $permission = new User_ForgeUserGroupPermission_TrackerAdminAllProjects(); $forge_ugroup_permissions_manager = new User_ForgeUserGroupPermissionsManager(new User_ForgeUserGroupPermissionsDao()); return $forge_ugroup_permissions_manager->doesUserHavePermission($user, $permission); }
public function has_user_been_delegated_access($params) { if (isset($_SERVER['REQUEST_URI']) && strpos($_SERVER['REQUEST_URI'], $this->getPluginPath()) === 0) { $forge_user_manager = new User_ForgeUserGroupPermissionsManager(new User_ForgeUserGroupPermissionsDao()); $can_access = $forge_user_manager->doesUserHavePermission($params['user'], new User_ForgeUserGroupPermission_MediawikiAdminAllProjects()); /** * Only change the access rights to the affirmative. * Otherwise, we could overwrite a "true" value set by another plugin. */ if ($can_access) { $params['can_access'] = true; } } }
private function IsUserAdmin() { $pfuser = UserManager::instance()->getCurrentUser(); $forge_user_manager = new User_ForgeUserGroupPermissionsManager(new User_ForgeUserGroupPermissionsDao()); $has_special_permission = $forge_user_manager->doesUserHavePermission($pfuser, new User_ForgeUserGroupPermission_MediawikiAdminAllProjects()); return $pfuser->isMember($GLOBALS['group']->getId(), 'A') || $has_special_permission; }
/** * @return bool */ private function doesUserHavePermission(PFUser $user, User_ForgeUserGroupPermission $permission) { return $this->forge_ugroup_permissions_manager->doesUserHavePermission($user, $permission); }
/** * @return Widget */ public static function getInstance($widget_name) { $o = null; switch ($widget_name) { case 'mysurveys': $o = new Widget_MySurveys(); break; case 'myprojects': $o = new Widget_MyProjects(); break; case 'mybookmarks': $o = new Widget_MyBookmarks(); break; case 'mymonitoredforums': $o = new Widget_MyMonitoredForums(); break; case 'mymonitoredfp': $o = new Widget_MyMonitoredFp(); break; case 'mylatestsvncommits': $o = new Widget_MyLatestSvnCommits(); break; case 'myartifacts': $o = new Widget_MyArtifacts(); break; case 'myrss': $o = new Widget_MyRss(); break; //case 'mywikipage': //not yet // $o = new Widget_MyWikiPage(); // break; //case 'mywikipage': //not yet // $o = new Widget_MyWikiPage(); // break; case 'myimageviewer': $o = new Widget_MyImageViewer(); break; case 'myadmin': $user_is_super_user = user_is_super_user(); if (!$user_is_super_user) { $user = UserManager::instance()->getCurrentUser(); $forge_ugroup_permissions_manager = new User_ForgeUserGroupPermissionsManager(new User_ForgeUserGroupPermissionsDao()); $can_access = $forge_ugroup_permissions_manager->doesUserHavePermission($user, new User_ForgeUserGroupPermission_ProjectApproval()); } if ($user_is_super_user || $can_access) { //This widget is mainly for super admin $o = new Widget_MyAdmin($user_is_super_user); } break; case 'mysystemevent': if (user_is_super_user()) { //This widget is only for super admin $o = new Widget_MySystemEvent(); } break; case 'projectdescription': $o = new Widget_ProjectDescription(); break; case 'projectclassification': $o = new Widget_ProjectClassification(); break; case 'projectmembers': $o = new Widget_ProjectMembers(); break; case 'projectlatestfilereleases': $o = new Widget_ProjectLatestFileReleases(); break; case 'projectlatestnews': $o = new Widget_ProjectLatestNews(); break; case 'projectpublicareas': $o = new Widget_ProjectPublicAreas(); break; case 'projectrss': $o = new Widget_ProjectRss(); break; case 'projectsvnstats': $o = new Widget_ProjectSvnStats(); break; //case 'projectwikipage': //not yet // $o = new Widget_ProjectWikiPage(); // break; //case 'projectwikipage': //not yet // $o = new Widget_ProjectWikiPage(); // break; case 'projectlatestsvncommits': $o = new Widget_ProjectLatestSvnCommits(); break; case 'projectlatestcvscommits': $o = new Widget_ProjectLatestCvsCommits(); break; case 'projectimageviewer': $o = new Widget_ProjectImageViewer(); break; case 'projectcontacts': $o = new Widget_Contacts(); break; default: $em = EventManager::instance(); $em->processEvent('widget_instance', array('widget' => $widget_name, 'instance' => &$o)); break; } if (!$o || !is_a($o, 'Widget')) { $o = null; } return $o; }
/** * @param HTTPRequest $request * @return bool */ public function userIsAdmin(PFUser $user) { $forge_user_manager = new User_ForgeUserGroupPermissionsManager(new User_ForgeUserGroupPermissionsDao()); $has_special_permission = $forge_user_manager->doesUserHavePermission($user, new User_ForgeUserGroupPermission_MediawikiAdminAllProjects()); return $has_special_permission || $user->isMember($this->project->getID(), 'A'); }