/** * Populate $portal_objects with objects which aren't private * * @param Milestone $milestone * @param array $portal_objects * @param Portal $portal * @return null */ function discussions_handle_on_portal_milestone_objects(&$milestone, &$portal_objects, &$portal) { if ($portal->getProjectPermissionValue('discussion') >= PROJECT_PERMISSION_ACCESS) { $portal_objects[lang('Discussions')] = Discussions::findByMilestone($milestone, STATE_VISIBLE, VISIBILITY_NORMAL); // used existing find method } // if }
/** * Return all milestones for a given portal project * * @param Portal $portal * @param Project $project * @return array */ function findByPortalProject($portal, $project) { if ($portal->getProjectPermissionValue('milestone') >= PROJECT_PERMISSION_ACCESS) { return ProjectObjects::find(array('conditions' => array('project_id = ? AND type = ? AND state >= ? AND visibility >= ?', $project->getId(), 'Milestone', STATE_VISIBLE, VISIBILITY_NORMAL), 'order' => 'name')); } // if return null; }
/** * Returns true if objects of this class can be created through portal * * @param Portal $portal * @param string $add_permission_name * @return boolean */ function canAddViaPortal($portal, $add_permission_name = null) { return $portal->getProjectPermissionValue($add_permission_name) >= PROJECT_PERMISSION_CREATE; }