Example #1
0
    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;
}
Example #2
0
<?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');