Example #1
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');
Example #2
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');
Example #3
0
if (Session::isLoggedIn()) {
    $joined = Accepted::getByUserID(Session::getUserID(), $task->getID());
    if (!empty($joined)) {
        $hasJoinedTask = true;
    }
}
// get latest updates for this task
$latestUpdates = array();
if ($accepted != null) {
    foreach ($accepted as $a) {
        $updates = Update::getByAcceptedID($a->getID());
        if (!empty($updates)) {
            $latestUpdate = reset($updates);
            array_push($latestUpdates, $latestUpdate);
        }
    }
}
$events = Event::getTaskEvents($taskID, 5);
$uploads = Upload::getByTaskID($taskID, false);
$comments = Comment::getByTaskID($taskID);
$soup = new Soup();
$soup->set('project', $project);
$soup->set('task', $task);
$soup->set('accepted', $accepted);
$soup->set('hasJoinedTask', $hasJoinedTask);
//$soup->set('contributorInvites', $contributorInvites);
$soup->set('events', $events);
$soup->set('uploads', $uploads);
$soup->set('comments', $comments);
$soup->set('latestUpdates', $latestUpdates);
$soup->render('project/page/task');
Example #4
0
<?php

require_once "../../global.php";
$soup = new Soup();
$soup->render('project/page/projectNew');
Example #5
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');
Example #6
0
    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;
        }
    }
}
// // 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');
Example #7
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');
Example #8
0
<?php

require_once "../../global.php";
$soup = new Soup();
$soup->render('site/page/error');
Example #9
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');
Example #10
0
    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::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);
        }
Example #11
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');
Example #12
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;
        }
    }
}
// get category, if exists
$c = isset($_GET['cat']) ? Filter::text($_GET['cat']) : null;
switch ($c) {
    case 'basics':
        $cat = BASICS_ID;
        break;
    case 'tasks':
        $cat = TASKS_ID;
        break;
    case 'people':
        $cat = PEOPLE_ID;
        break;
    case 'activity':
        $cat = ACTIVITY_ID;
        break;
    default:
        $cat = null;
}
// get your discussions
$yourDiscussions = Discussion::getByUserID(Session::getUserID(), $project->getID());
$soup = new Soup();
$soup->set('project', $project);
$soup->set('cat', $cat);
$soup->set('yourDiscussions', $yourDiscussions);
$soup->render('project/page/discussionNew');
Example #13
0
<?php

require_once "../../global.php";
if (Session::isLoggedIn()) {
    Session::signOut();
}
$soup = new Soup();
$soup->render('site/page/forgotpassword');
Example #14
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');
Example #15
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');
Example #16
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');
Example #17
0
$uploads = Upload::getByUpdateID($updateID, false);
// $username = Filter::text($_GET['u']);
// $user = User::loadByUsername($username);
// check if user has accepted task
$accepted = Accepted::load($update->getAcceptedID());
// if($accepted == null) {
// header('Location: '.Url::error());
// exit();
// }
// get other updates
$updates = $accepted->getUpdates();
$filteredUpdates = array();
foreach ($updates as $u) {
    if ($u->getID() != $updateID) {
        array_push($filteredUpdates, $u);
    }
}
//$updates = Update::getByAcceptedID($accepted->getID());
// $events = Event::getUpdatesEvents($accepted->getID(), 10);
//$updates = Update::getByUserID($user->getID(), $taskID);
$soup = new Soup();
$soup->set('project', $project);
$soup->set('task', $task);
$soup->set('updates', $filteredUpdates);
$soup->set('update', $update);
//$soup->set('user', $user);
$soup->set('uploads', $uploads);
$soup->set('accepted', $accepted);
$soup->set('events', $events);
$soup->set('comments', $comments);
$soup->render('project/page/update');
Example #18
0
$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;
        }
    }
}
//$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');
Example #19
0
// page number, if any
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');
Example #20
0
<?php

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');
Example #21
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');
Example #22
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');
}
Example #23
0
    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;
}
$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');
Example #24
0
<?php

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

require_once "../../global.php";
$soup = new Soup();
$soup->render('site/page/help');
Example #26
0
<?php

require_once "../../global.php";
if (!Session::isLoggedIn()) {
    header('Location: ' . Url::error());
    exit;
}
$soup = new Soup();
if (isset($_GET['un'])) {
    $username = Filter::text($_GET['un']);
    $soup->set('username', $username);
}
$soup->render('site/page/messageNew');
Example #27
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');
Example #28
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');