Exemplo n.º 1
0
if (empty($_GET['page'])) {
    $page = 1;
} else {
    $page = Filter::numeric($_GET['page']);
}
$discussionID = Filter::numeric($_GET['d']);
$discussion = Discussion::load($discussionID);
define('REPLIES_PER_PAGE', 10);
// how many replies per page
$totalNumReplies = count($discussion->getReplies());
// total # replies
$numPages = ceil($totalNumReplies / REPLIES_PER_PAGE);
// get # pages
if ($numPages != 0 && $page > $numPages) {
    // invalid page number
    header('Location: ' . Url::error());
    exit;
}
$limit = ($page - 1) * REPLIES_PER_PAGE . ', ' . REPLIES_PER_PAGE;
$replies = $discussion->getReplies("ASC", $limit);
// get replies
$events = Event::getDiscussionEvents($discussionID, 10);
$soup = new Soup();
$soup->set('project', $project);
$soup->set('discussion', $discussion);
$soup->set('replies', $replies);
$soup->set('events', $events);
$soup->set('page', $page);
$soup->set('numPages', $numPages);
$soup->render('project/page/discussion');
Exemplo n.º 2
0
<?php

require_once "../../global.php";
if (!Session::isLoggedIn()) {
    header('Location: ' . Url::error());
    exit;
}
// get message
$messageID = Filter::numeric($_GET['m']);
$message = Message::load($messageID);
if (empty($message)) {
    header('Location: ' . Url::error());
    exit;
}
// if this is a reply, get the parent message
if ($message->getID() != $message->getParentID()) {
    $message = Message::load($message->getParentID());
}
$message->markAllRead();
// we're reading it now
$soup = new Soup();
$soup->set('message', $message);
$soup->render('site/page/message');
Exemplo n.º 3
0
        if (!$project->isInvited(Session::getUserID()) && !$project->isMember(Session::getUserID()) && !$project->isTrusted(Session::getUserID()) || ProjectUser::isBanned(Session::getUserID(), $project->getID())) {
            header('Location: ' . Url::error());
            exit;
        }
    }
}
// // validate username
// $username = Filter::text($_GET['u']);
// $user = User::loadByUsername($username);
// // check if user has accepted task
//$accepted = Accepted::getByUserID(Session::getUserID(), $taskID);
// if($accepted == null) {
// header('Location: '.Url::error());
// exit();
// }
//$updates = Update::getByAcceptedID($accepted->getID());
// get existing updates
$accepted = Accepted::getByUserID(Session::getUserID(), $taskID);
if ($accepted == null) {
    header('Location: ' . Url::error());
    exit;
}
$updates = Update::getByAcceptedID($accepted->getID());
$soup = new Soup();
$soup->set('project', $project);
$soup->set('task', $task);
$soup->set('updates', $updates);
//$soup->set('user', $user);
//$soup->set('accepted', $accepted);
$soup->render('project/page/updateNew');
Exemplo n.º 4
0
<?php

require_once "../../global.php";
if (Session::isLoggedIn()) {
    Session::signOut();
}
// get email, if exists
$email = @Filter::email($_GET['email']);
$soup = new Soup();
if (!empty($email)) {
    $soup->set('email', $email);
}
$soup->render('site/page/consent_adult');
Exemplo n.º 5
0
                }
            }
        }
    }
}
$totalNumUploads = count($uploads);
// page number, if any
if (empty($_GET['page'])) {
    $page = 1;
} else {
    $page = Filter::numeric($_GET['page']);
}
define('UPLOADS_PER_PAGE', 5);
$numPages = ceil($totalNumUploads / UPLOADS_PER_PAGE);
// get # pages
if ($numPages != 0 && $page > $numPages) {
    // invalid page number
    header('Location: ' . Url::error());
    exit;
}
// only show uploads for this page
$offset = ($page - 1) * UPLOADS_PER_PAGE;
$uploads = array_slice($uploads, $offset, UPLOADS_PER_PAGE);
$soup = new Soup();
$soup->set('project', $project);
$soup->set('uploads', $uploads);
$soup->set('page', $page);
$soup->set('numPages', $numPages);
$soup->set('totalNumUploads', $totalNumUploads);
$soup->render('project/page/files');
Exemplo n.º 6
0
<?php

require_once "../../global.php";
$soup = new Soup();
$soup->render('project/page/projectNew');
Exemplo n.º 7
0
<?php

require_once "../../global.php";
if (!Session::isAdmin()) {
    header('Location: ' . Url::error());
    exit;
}
// projects
$projects = Project::getAllProjects();
// users
$users = User::getAllUsers();
// activity
$events = Event::getAllEvents(50);
$soup = new Soup();
$soup->set('projects', $projects);
$soup->set('users', $users);
$soup->set('events', $events);
$soup->set('selected', 'recentActivity');
$soup->render('site/page/admin');
Exemplo n.º 8
0
<?php

require_once "../../global.php";
$slug = Filter::text($_GET['slug']);
$project = Project::getProjectFromSlug($slug);
// kick us out if slug invalid or not organizer/creator
if ($project == null) {
    header('Location: ' . Url::error());
    exit;
} elseif (!Session::isAdmin() && !$project->isTrusted(Session::getUserID()) && !$project->isCreator(Session::getUserID())) {
    header('Location: ' . Url::error());
    exit;
}
//do not allow banned members to access project
$isBanned = ProjectUser::isBanned(Session::getUserID(), $project->getID());
if ($isBanned) {
    header('Location: ' . Url::error());
    exit;
}
$yourTasks = Task::getYourTasks(Session::getUserID(), $project->getID());
$soup = new Soup();
$soup->set('project', $project);
$soup->set('yourTasks', $yourTasks);
$soup->render('project/page/taskNew');
Exemplo n.º 9
0
// 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;
        }
    }
}
//$followers = $project->getFollowers();
$banned = $project->getBanned();
$allMembers = $project->getAllMembers();
$memberInvites = $project->getInvitations();
$discussions = Discussion::getPeopleDiscussionsByProjectID($project->getID(), 3);
$events = Event::getPeopleEventsByProjectID($project->getID(), 5);
$soup = new Soup();
$soup->set('project', $project);
$soup->set('allMembers', $allMembers);
$soup->set('memberInvites', $memberInvites);
$soup->set('banned', $banned);
//$soup->set('followers', $followers);
$soup->set('events', $events);
$soup->set('discussions', $discussions);
$soup->render('project/page/credits');
Exemplo n.º 10
0
<?php

require_once "../../global.php";
$soup = new Soup();
$soup->render('site/page/error');
Exemplo n.º 11
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');
Exemplo n.º 12
0
<?php

require_once "../../global.php";
if (!Session::isAdmin()) {
    header('Location: ' . Url::error());
    exit;
}
// projects
$projects = Project::getAllProjects();
// users
$users = User::getAllUsers();
// activity
$events = Event::getAllEvents(50);
$soup = new Soup();
$soup->set('projects', $projects);
//$soup->set('users', $users);
//$soup->set('events', $events);
$soup->set('selected', 'utilities');
$soup->render('site/page/adminUtilities');
Exemplo n.º 13
0
        }
    }
}
$events = Event::getTasksEventsByProjectID($project->getID(), 5);
$discussions = Discussion::getTasksDiscussionsByProjectID($project->getID(), 5);
$soup = new Soup();
$soup->set('project', $project);
$soup->set('events', $events);
$soup->set('discussions', $discussions);
if (Session::isLoggedIn()) {
    $projectId = $project->getID();
    $yourTasks = Task::getYourTasks(Session::getUserID(), $projectId);
    $soup->set('yourTasks', $yourTasks);
    $unclaimedTasks = Task::getUnclaimedTasks(Session::getUserID(), $projectId, null, true);
    $soup->set('unclaimedTasks', $unclaimedTasks);
    $moreTasks = Task::getMoreTasks(Session::getUserID(), $projectId, null, true);
    $moreTasksFiltered = array();
    foreach ($moreTasks as $task) {
        if ($task->getNumAccepted() > 0) {
            array_push($moreTasksFiltered, $task);
        }
    }
    $soup->set('moreTasks', $moreTasksFiltered);
    $closedTasks = Task::getClosedTasks($projectId);
    $soup->set('closedTasks', $closedTasks);
} else {
    $tasks = Task::getByProjectID($project->getID());
    $soup->set('tasks', $tasks);
}
$soup->render('project/page/tasks');
Exemplo n.º 14
0
<?php

require_once "../../global.php";
if (Session::isLoggedIn()) {
    Session::signOut();
}
$soup = new Soup();
$soup->render('site/page/forgotpassword');
Exemplo n.º 15
0
<?php

require_once "../../global.php";
if (Session::isLoggedIn()) {
    Session::signOut();
}
// get email, if exists
$email = @Filter::email($_GET['email']);
$soup = new Soup();
if (!empty($email)) {
    $soup->set('email', $email);
}
$soup->render('site/page/register');
Exemplo n.º 16
0
require_once "../../global.php";
$soup = new Soup();
if (Session::isLoggedIn()) {
    // dashboard
    $yourProjects = ProjectUser::getProjectsByUserID(Session::getUserID());
    $publicProjects = Project::getPublicProjects(Session::getUserID(), 10);
    // projects to join
    //$user = User::load(Session::getUserID());
    $events = Event::getDashboardEvents(Session::getUserID(), 10);
    // $updates = Update::getByUserID($user->getID());
    // $discussions = Discussion::getByUserID($user->getID());
    $invitations = Invitation::getByUserID(Session::getUserID());
    $unrespondedInvites = Invitation::getByUserID(Session::getUserID(), null, false);
    $yourTasks = Task::getYourTasks(Session::getUserID());
    $soup->set('yourProjects', $yourProjects);
    $soup->set('publicProjects', $publicProjects);
    //$soup->set('user', $user);
    $soup->set('events', $events);
    // $soup->set('updates', $updates);
    // $soup->set('discussions', $discussions);
    $soup->set('invitations', $invitations);
    $soup->set('unrespondedInvites', $unrespondedInvites);
    $soup->set('tasks', $yourTasks);
    $soup->render('site/page/dashboard');
} else {
    // home page
    $events = Event::getHomeEvents(10);
    $soup->set('events', $events);
    $soup->render('site/page/home');
}
Exemplo n.º 17
0
<?php

require_once "../../global.php";
$soup = new Soup();
if (Session::isLoggedIn()) {
    $projects = Project::getPublicProjects(Session::getUserID());
} else {
    $projects = Project::getPublicProjects();
}
$soup->set('projects', $projects);
$soup->render('site/page/find');
Exemplo n.º 18
0
<?php

require_once "../../global.php";
$soup = new Soup();
$referer = $_SERVER['HTTP_REFERER'];
// redirect if already logged in
if (Session::isLoggedIn()) {
    header('Location: ' . Url::base());
} else {
    $soup->set('referer', $referer);
    $soup->render('site/page/login');
}
Exemplo n.º 19
0
}
// 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;
}
$soup = new Soup();
$soup->set('project', $project);
$soup->set('filter', $filter);
$soup->set('events', $events);
//$soup->set('sparklineData', $sparklineData);
$soup->set('page', $page);
$soup->set('numPages', $numPages);
//$soup->set('discussions', $discussions);
$soup->render('project/page/activity');
Exemplo n.º 20
0
<?php

require_once "../../global.php";
if (Session::isLoggedIn()) {
    Session::signOut();
}
$soup = new Soup();
$soup->render('site/page/consent_minor');
Exemplo n.º 21
0
<?php

require_once "../../global.php";
$soup = new Soup();
$soup->render('site/page/help');
Exemplo n.º 22
0
<?php

require_once "../../global.php";
$userName = Filter::text($_GET['un']);
$user = User::loadByUsername($userName);
// make sure user exists
if ($user === null) {
    header('Location: ' . Url::error());
    exit;
}
$events = Event::getUserEvents($user->getID(), 10);
//$tasks = Task::getByUserID($user->getID(), null, false);
$projects = ProjectUser::getProjectsByUserID($user->getID());
$soup = new Soup();
$soup->set('user', $user);
$soup->set('events', $events);
//$soup->set('tasks', $tasks);
$soup->set('projects', $projects);
$soup->render('site/page/user');
Exemplo n.º 23
0
<?php

require_once "../../global.php";
if (!Session::isLoggedIn()) {
    header('Location: ' . Url::error());
    exit;
}
$messages = Message::getReceivedMessagesByUserID(Session::getUserID());
$soup = new Soup();
$soup->set('messages', $messages);
$soup->render('site/page/inbox');
Exemplo n.º 24
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;
}
// make sure we have permission
if (!Session::isAdmin() && !$project->isMember(Session::getUserID()) && !$project->isTrusted(Session::getUserID()) && !$project->isCreator(Session::getUserID())) {
    header('Location: ' . Url::error());
    exit;
}
$soup = new Soup();
$soup->set('project', $project);
$soup->render('project/page/invite');