Esempio n. 1
0
    if ($title == '') {
        $json = array('error' => 'You must provide a name for this task.');
        exit(json_encode($json));
    } elseif ($leaderName == '') {
        $json = array('error' => 'This task must have a leader.');
        exit(json_encode($json));
    } elseif ($description == '') {
        $json = array('error' => 'You must provide some instructions for this task.');
        exit(json_encode($json));
    }
    // leader must be real, and a creator or organizer
    $leader = User::loadByUsername($leaderName);
    if ($leader === null) {
        $json = array('error' => 'The user you specified to lead this task does not exist.');
        exit(json_encode($json));
    } elseif (!ProjectUser::isCreator($leader->getID(), $project->getID()) && !ProjectUser::isTrusted($leader->getID(), $project->getID())) {
        $json = array('error' => 'Only the project creator or a trusted member may lead tasks.');
        exit(json_encode($json));
    }
    // num needed must be numeric or empty
    if ($numNeeded != '' && !is_numeric($numNeeded)) {
        $json = array('error' => 'Number of people needed must be a valid number or empty (for unlimited).');
        exit(json_encode($json));
    }
    // check for valid date
    $formattedDeadline = strtotime($deadline);
    if ($formattedDeadline === false && $deadline != '') {
        $json = array('error' => 'Deadline must be a valid date or empty.');
        exit(json_encode($json));
    }
}
Esempio n. 2
0
function formatUserLink($userID = null, $projectID = null)
{
    if ($userID == null) {
        return null;
    }
    $user = User::load($userID);
    $formatted = '<a href="' . Url::user($userID) . '">' . $user->getUsername() . '</a>';
    // add star to trusted users
    if ($projectID != null) {
        if (ProjectUser::isTrusted($userID, $projectID) || ProjectUser::isCreator($userID, $projectID)) {
            $formatted .= '<a href="' . Url::help() . '#help-roles" title="trusted member">*</a>';
        }
    }
    return $formatted;
}
Esempio n. 3
0
        echo '</p>';
        echo '</td>';
        // status
        $status = formatProjectStatus($p->getStatus());
        echo '<td class="status">' . $status . '</td>';
        // deadline
        $deadline = $p->getDeadline();
        $deadline = empty($deadline) ? '--' : formatTimeTag($deadline);
        echo '<td class="deadline">' . $deadline . '</td>';
        // members
        $members = count($p->getAllMembers()) + 1;
        echo '<td class="members"><a href="' . Url::people($p->getID()) . '">' . $members . '</a></td>';
        // role
        if (!is_null($user)) {
            $relationship = '';
            if (ProjectUser::isCreator($user->getID(), $p->getID())) {
                $relationship = 'creator';
            } elseif (ProjectUser::isTrusted($user->getID(), $p->getID())) {
                $relationship = 'trusted member';
            } elseif (ProjectUser::isMember($user->getID(), $p->getID())) {
                $relationship = 'member';
            } elseif (ProjectUser::isFollower($user->getID(), $p->getID())) {
                $relationship = 'follower';
            }
            echo '<td class="role">' . $relationship . '</td>';
        }
        echo '</tr>';
    }
    ?>
</table>
<?php 
Esempio n. 4
0
 public function isCreator($userID = null)
 {
     return ProjectUser::isCreator($userID, $this->id);
 }