$numAccepted = $t->getNumAccepted(); if (empty($numNeeded)) { $stillNeeded = '∞'; } elseif ($numNeeded > $numAccepted) { $stillNeeded = $numNeeded - $numAccepted; } else { $stillNeeded = 0; } echo '<td class="needed">' . $stillNeeded . '</td>'; // role if (!is_null($user)) { // relationship to task if ($user->getID() == $t->getLeaderID()) { echo '<td class="role">leader</td>'; } else { $accepted = Accepted::getByUserID($user->getID(), $t->getID()); if (!empty($accepted)) { $role = Accepted::getStatusName($accepted->getStatus()); echo '<td class="role">' . $role . '</td>'; } } } echo '</tr>'; } echo '</table>'; } } else { echo "<p>(none)</p>"; } $fork->endBlockSet(); $fork->render('site/partial/panel');
// get update content $title = Filter::text($_POST['txtTitle']); $message = Filter::formattedText($_POST['txtMessage']); $status = Filter::numeric($_POST['selStatus']); // title can't be empty if ($title == '') { $json = array('error' => 'Your update title cannot be empty.'); exit(json_encode($json)); } // update can't be empty if ($message == '') { $json = array('error' => 'Your update message cannot be empty.'); exit(json_encode($json)); } // get acceptedID $accepted = Accepted::getByUserID(Session::getUserID(), $task->getID()); // update status $accepted->setStatus($status); $accepted->save(); // create the update $update = new Update(array('creator_id' => Session::getUserID(), 'accepted_id' => $accepted->getID(), 'project_id' => $project->getID(), 'title' => $title, 'message' => $message)); $update->save(); // save uploaded files to database foreach ($_POST['file'] as $stored => $orig) { $stored = Filter::text($stored); $orig = Filter::text($orig); Upload::saveToDatabase($orig, $stored, Upload::TYPE_UPDATE, $update->getID(), $project->getID()); } // log it $logEvent = new Event(array('event_type_id' => 'create_update', 'user_1_id' => Session::getUserID(), 'project_id' => $project->getID(), 'item_1_id' => $update->getID(), 'item_2_id' => $accepted->getID(), 'item_3_id' => $task->getID(), 'data_1' => $update->getTitle(), 'data_2' => $update->getMessage())); $logEvent->save();
// log it $logEvent = new Event(array('event_type_id' => 'join_project', 'project_id' => $project->getID(), 'user_1_id' => Session::getUserID())); $logEvent->save(); } // accept the task $accepted = new Accepted(array('creator_id' => Session::getUserID(), 'project_id' => $project->getID(), 'task_id' => $taskID, 'status' => Accepted::STATUS_PROGRESS)); $accepted->save(); // log it $logEvent = new Event(array('event_type_id' => 'accept_task', 'project_id' => $project->getID(), 'user_1_id' => Session::getUserID(), 'item_1_id' => $accepted->getID(), 'item_2_id' => $taskID)); $logEvent->save(); // send us back Session::setMessage('You joined the task. Good luck!'); $json = array('success' => '1', 'successUrl' => Url::task($taskID)); echo json_encode($json); } elseif ($action == 'release') { $accepted = Accepted::getByUserID(Session::getUserID(), $taskID); if (!empty($accepted)) { $accepted->setStatus(Accepted::STATUS_RELEASED); $accepted->save(); // log it $logEvent = new Event(array('event_type_id' => 'release_task', 'project_id' => $project->getID(), 'user_1_id' => Session::getUserID(), 'item_1_id' => $accepted->getID(), 'item_2_id' => $taskID)); $logEvent->save(); // send us back Session::setMessage('You left the task.'); $json = array('success' => '1', 'successUrl' => Url::tasks($project->getID())); echo json_encode($json); } else { $json = array('error' => 'You never joined that task.'); exit(json_encode($json)); } } elseif ($action == 'comment') {