Example #1
0
 public function setAccess(Project $project, $access_level)
 {
     $project_id = $project->getID();
     $old_access = $project->getAccess();
     switch ($access_level) {
         case Project::ACCESS_PRIVATE:
             $this->_getDao()->setIsPrivate($project_id);
             $is_private = true;
             break;
         case Project::ACCESS_PUBLIC:
             $this->_getDao()->setIsPublic($project_id);
             $is_private = false;
             break;
         case Project::ACCESS_PUBLIC_UNRESTRICTED:
             $this->_getDao()->setUnrestricted($project_id);
             $is_private = false;
             break;
         default:
             $GLOBALS['Response']->addFeedback('error', 'bad value ' . $access_level);
             return;
     }
     group_add_history('access', $access_level, $project_id);
     $this->getEventManager()->processEvent('project_is_private', array('group_id' => $project_id, 'project_is_private' => $is_private));
     $this->getEventManager()->processEvent(Event::PROJECT_ACCESS_CHANGE, array('project_id' => $project_id, 'access' => $access_level, 'old_access' => $old_access));
 }