default: $totalNumEvents = count(Event::getByProjectID($projectID)); break; } $numPages = ceil($totalNumEvents / EVENTS_PER_PAGE); // get # pages if ($numPages != 0 && $page > $numPages) { // invalid page number header('Location: ' . Url::error()); exit; } // figure out which events to get $limit = ($page - 1) * EVENTS_PER_PAGE . ', ' . EVENTS_PER_PAGE; switch ($filter) { case "basics": $events = Event::getBasicsEventsByProjectID($projectID, $limit); break; case "tasks": $events = Event::getTasksEventsByProjectID($projectID, $limit); break; case "discussions": $events = Event::getDiscussionsEventsByProjectID($projectID, $limit); break; case "people": $events = Event::getPeopleEventsByProjectID($projectID, $limit); break; case "all": default: $events = Event::getByProjectID($projectID, null, $limit); break; }
<?php require_once "../../global.php"; $slug = Filter::text($_GET['slug']); $project = Project::getProjectFromSlug($slug); // kick us out if slug invalid if ($project == null) { header('Location: ' . Url::error()); exit; } // if private project, limit access to invited users, members, and admins // and exclude banned members if ($project->getPrivate()) { if (!Session::isAdmin() && !$project->isCreator(Session::getUserID())) { if (!$project->isInvited(Session::getUserID()) && !$project->isMember(Session::getUserID()) && !$project->isTrusted(Session::getUserID()) || ProjectUser::isBanned(Session::getUserID(), $project->getID())) { header('Location: ' . Url::error()); exit; } } } $events = Event::getBasicsEventsByProjectID($project->getID(), 5); $discussions = Discussion::getBasicsDiscussionsByProjectID($project->getID(), 5); $soup = new Soup(); $soup->set('project', $project); $soup->set('events', $events); $soup->set('discussions', $discussions); $soup->render('project/page/details');