Exemplo n.º 1
0
     echo substr($description, 0, 70);
     if (strlen($description) > 70) {
         echo '…';
     }
     echo '</p>';
 }
 echo '</td>';
 // status
 if ($t->getStatus() == Task::STATUS_OPEN) {
     echo '<td class="status good">open</td>';
 } else {
     echo '<td class="status bad">closed</td>';
 }
 // deadline
 $deadline = $t->getDeadline();
 $deadline = empty($deadline) ? '--' : formatTimeTag($deadline);
 echo '<td class="deadline">' . $deadline . '</td>';
 // num needed
 $numNeeded = $t->getNumNeeded();
 $numAccepted = $t->getNumAccepted();
 if (empty($numNeeded)) {
     $stillNeeded = '&#8734;';
 } elseif ($numNeeded > $numAccepted) {
     $stillNeeded = $numNeeded - $numAccepted;
 } else {
     $stillNeeded = 0;
 }
 echo '<td class="needed">' . $stillNeeded . '</td>';
 // role
 if (!is_null($user)) {
     // relationship to task
Exemplo n.º 2
0
 echo '<li class="invited">';
 // View Invitation button
 echo '<input id="invitation-' . $mi->getID() . '" type="button" class="viewInvite" value="View Invitation" />';
 // invite box
 echo '<div id="invite-box-' . $mi->getID() . '" class="invite-box hidden">';
 if ($mi->getTrusted()) {
     echo '<p>' . $inviterLink . ' invited ' . $inviteeLink . ' to join this project as a <a href="' . Url::help() . '">trusted member</a>. (' . formatTimeTag($mi->getDateCreated()) . ')</p>';
 } else {
     echo '<p>' . $inviterLink . ' invited ' . $inviteeLink . ' to join this project. (' . formatTimeTag($mi->getDateCreated()) . ')</p>';
 }
 if ($mi->getInvitationMessage() != null) {
     echo '<blockquote>' . formatInvitationMessage($mi->getInvitationMessage()) . '</blockquote>';
 }
 echo '<div class="line"></div>';
 if ($mi->getResponse() == Invitation::DECLINED) {
     echo '<p>' . $inviteeLink . ' declined the invitation. (' . formatTimeTag($mi->getDateResponded()) . ')</p>';
     if ($mi->getResponseMessage() != null) {
         echo '<blockquote>' . formatInvitationMessage($mi->getResponseMessage()) . '</blockquote>';
     }
 } else {
     echo '<p>(no response yet)</p>';
 }
 echo '</div>';
 // invitee picture and username
 if ($mi->getInviteeID() != null) {
     echo formatUserPicture($mi->getInviteeID(), 'small');
 } else {
     echo formatBlankUserPicture('mailto:' . $mi->getInviteeEmail(), 'small');
 }
 echo '<h6 class="primary">' . $inviteeLink . '</h6>';
 // response
Exemplo n.º 3
0
    echo '<div class="line"></div>';
    echo '<ul class="segmented-list users">';
}
// contributors
if ($joined != null) {
    foreach ($joined as $j) {
        echo '<li>';
        echo formatUserPicture($j->getCreatorID(), 'small');
        echo '<h6 class="primary">' . formatUserLink($j->getCreatorID(), $project->getID()) . '</h6>';
        $numUpdates = count($j->getUpdates());
        $latestUpdate = $j->getLatestUpdate();
        if (!empty($latestUpdate)) {
            echo '<p class="secondary contribution"><a href="' . Url::update($latestUpdate->getID()) . '">last contributed ' . formatTimeTag($latestUpdate->getDateCreated()) . '</a> <span class="slash">/</span> ' . $numUpdates . ' total</p>';
            //	echo '<h6 class="primary"><a href="'.Url::update($latestUpdate->getID()).'">'.$latestUpdate->getTitle().'</a></h6>';
            //	echo '<p class="secondary">posted '.formatTimeTag($latestUpdate->getDateCreated()).' by '.formatUserLink($latestUpdate->getCreatorID(), $latestUpdate->getProjectID()).'</p>';
        } else {
            echo '<p class="secondary">no contributions <span class="slash">/</span> joined ' . formatTimeTag($j->getDateCreated()) . '</p>';
        }
        echo '</li>';
    }
}
if (!empty($joined)) {
    echo '</ul>';
}
?>

</div>

<?php 
$fork->endBlockSet();
$fork->render('site/partial/panel');
Exemplo n.º 4
0
function formatEventDetails($event)
{
    $details = '';
    switch ($event->getEventTypeID()) {
        case 'edit_update_uploads':
        case 'edit_task_uploads':
            $addedIDs = explode(',', $event->getData2());
            $added = '';
            foreach ($addedIDs as $a) {
                if ($a == '') {
                    continue;
                }
                // skip blanks
                $upload = Upload::load($a);
                $added .= $upload->getOriginalName() . ' (' . formatFileSize($upload->getSize()) . ')<br /><br />';
            }
            if (!empty($added)) {
                $details .= '<ins>' . $added . '</ins>';
            }
            $deletedIDs = explode(',', $event->getData1());
            $deleted = '';
            foreach ($deletedIDs as $d) {
                if ($d == '') {
                    continue;
                }
                // skip blanks
                $upload = Upload::load($d);
                $deleted .= $upload->getOriginalName() . ' (' . formatFileSize($upload->getSize()) . ')<br /><br />';
            }
            if (!empty($deleted)) {
                $details .= '<del>' . $deleted . '</del>';
            }
            break;
        case 'edit_pitch':
        case 'edit_specs':
        case 'edit_rules':
        case 'edit_task_description':
        case 'edit_update_message':
            $from = $event->getData1();
            $to = $event->getData2();
            $from = str_replace('&#10;', '<br />', $from);
            $to = str_replace('&#10;', '<br />', $to);
            $diff = new FineDiff($from, $to);
            $htmlDiff = $diff->renderDiffToHTML();
            $htmlDiff = html_entity_decode($htmlDiff, ENT_QUOTES, 'UTF-8');
            $htmlDiff = html_entity_decode($htmlDiff, ENT_QUOTES, 'UTF-8');
            $details .= $htmlDiff;
            break;
        case 'edit_task_title':
        case 'edit_update_title':
            $from = $event->getData1();
            $to = $event->getData2();
            $diff = new FineDiff($from, $to);
            $htmlDiff = $diff->renderDiffToHTML();
            $htmlDiff = html_entity_decode($htmlDiff, ENT_QUOTES, 'UTF-8');
            $htmlDiff = html_entity_decode($htmlDiff, ENT_QUOTES, 'UTF-8');
            $details .= $htmlDiff;
            break;
        case 'edit_task_leader':
            $details .= 'Old Leader: <del>' . formatUserLink($event->getUser1ID(), $event->getProjectID()) . '</del><br /><br />';
            $details .= 'New Leader: <ins>' . formatUserLink($event->getUser2ID(), $event->getProjectID()) . '</ins>';
            break;
        case 'edit_task_num_needed':
            $old = $event->getData1() != null ? $event->getData1() : '&#8734;';
            $new = $event->getData2() != null ? $event->getData2() : '&#8734;';
            $details .= 'Old: <del>' . $old . '</del> people needed<br /><br />';
            $details .= 'New: <ins>' . $new . '</ins> people needed';
            break;
        case 'edit_task_deadline':
        case 'edit_project_deadline':
            $old = $event->getData1() != null ? formatTimeTag($event->getData1()) : '(none)';
            $new = $event->getData2() != null ? formatTimeTag($event->getData2()) : '(none)';
            $details .= 'Old Deadline: <del>' . $old . '</del><br /><br />';
            $details .= 'New Deadline: <ins>' . $new . '</ins>';
            break;
        case 'edit_project_status':
            $old = formatProjectStatus($event->getData1());
            $new = formatProjectStatus($event->getData2());
            $details .= 'Old Project Status: <del>' . $old . '</del><br /><br />';
            $details .= 'New Project Status: <ins>' . $new . '</ins>';
            break;
        case 'edit_accepted_status':
            $old = formatAcceptedStatus($event->getData1());
            $new = formatAcceptedStatus($event->getData2());
            $details .= 'Old Status: <del>' . $old . '</del><br /><br />';
            $details .= 'New Status: <ins>' . $new . '</ins>';
            break;
        case 'create_task_comment':
        case 'create_task_comment_reply':
        case 'create_update_comment':
        case 'create_update_comment_reply':
            $details .= formatComment($event->getData1());
            break;
        case 'create_discussion':
            $details .= '<strong>' . $event->getData1() . '</strong><br /><br />';
            $details .= formatDiscussionReply($event->getData2());
            break;
        case 'create_discussion_reply':
            $details .= formatDiscussionReply($event->getData1());
            break;
        case 'create_update':
            if ($event->getData1() != '') {
                $details .= '<strong>' . $event->getData1() . '</strong><br /><br />';
            }
            if ($event->getData2() != '') {
                $details .= formatUpdate($event->getData2());
            }
            break;
        case 'create_task':
            if ($event->getData1() != '') {
                $details .= '<strong>' . $event->getData1() . '</strong><br /><br />';
            }
            if ($event->getData2() != '') {
                $details .= formatTaskDescription($event->getData2());
            }
            break;
    }
    return $details;
}
Exemplo n.º 5
0
</script>
<?php 
if (!empty($contribs)) {
    ?>

<table class="contribs">
	<tr>
		<th style="padding-left: 22px;">Contribution</th>
		<th>Member</th>
		<th>Status</th>
		<th>Date</th>
	</tr>
<?php 
    foreach ($contribs as $c) {
        echo '<tr>';
        // title
        echo '<td class="name">';
        echo '<h6><a href="' . Url::update($c->getID()) . '">' . $c->getTitle() . '</a></h6>';
        echo '</td>';
        // creator
        echo '<td class="member">' . formatUserLink($c->getCreatorID(), $c->getProjectID()) . '</td>';
        // status
        if ($c->isLatestUpdate()) {
            $accepted = Accepted::load($c->getAcceptedID());
            $status = Accepted::getStatusName($accepted->getStatus());
        } else {
            $status = 'old';
        }
        echo '<td class="status">' . $status . '</td>';
        // date
Exemplo n.º 6
0
<?php 
if ($updates != null) {
    echo '<ul class="segmented-list updates">';
    foreach ($updates as $u) {
        echo '<li>';
        echo '<h6 class="primary"><a href="' . Url::update($u->getID()) . '">' . $u->getTitle() . '</a>';
        if ($u->isLatestUpdate()) {
            $accept = Accepted::load($u->getAcceptedID());
            $statusName = Accepted::getStatusName($accept->getStatus());
            echo ' <span class="status">' . $statusName . '</span>';
        }
        echo '</h6>';
        // .primary
        echo '<p class="secondary">';
        echo 'posted ' . formatTimeTag($u->getDateCreated());
        $comments = $u->getComments();
        echo ' <span class="slash">/</span> ' . formatCount(count($comments), 'comment', 'comments', 'no');
        echo '</p>';
        // .secondary
        echo '</li>';
    }
    echo '</ul>';
} else {
    echo "<p>(none)</p>";
}
?>


<?php 
$fork->endBlockSet();
Exemplo n.º 7
0
			<th>Last Reply</th>
			<th>Category</th>
		</tr>
<?php 
    foreach ($discussions as $d) {
        echo '<tr>';
        echo '<td class="title">';
        $cssLock = $d->getLocked() ? ' class="locked"' : '';
        echo '<h6' . $cssLock . '><a href="' . Url::discussion($d->getID()) . '">' . $d->getTitle() . '</a></h6>';
        echo '<p>by ' . formatUserLink($d->getCreatorID(), $d->getProjectID()) . '</p>';
        echo '</td>';
        $numReplies = count($d->getReplies());
        echo '<td class="replies">' . $numReplies . '</td>';
        $lastReply = $d->getLastReply();
        if (!empty($lastReply)) {
            $lrDate = formatTimeTag($lastReply->getDateCreated());
            $lrCreator = formatUserLink($lastReply->getCreatorID(), $lastReply->getProjectID());
            echo '<td class="last-reply">' . $lrDate . '<br />by ' . $lrCreator . '</td>';
        } else {
            echo '<td class="last-reply">--</td>';
        }
        $category = $d->getCategory() != null ? '<span>' . formatSectionLink($d->getCategory(), $d->getProjectID()) . '</span>' : '--';
        echo '<td class="category">' . $category . '</td>';
        echo '</tr>';
    }
    ?>
	</table>
<?php 
}
$fork->endBlockSet();
$fork->render('site/partial/panel');
Exemplo n.º 8
0
    foreach ($comments as $comment) {
        echo '<li id="comment-' . $comment->getID() . '">';
        echo formatUserPicture($comment->getCreatorID(), 'small');
        if ($hasPermission) {
            echo '<input class="replyButton" type="button" value="Reply" />';
        }
        echo '<p class="headline">' . formatUserLink($comment->getCreatorID(), $project->getID()) . ' <span class="slash">/</span> <span class="when">' . formatTimeTag($comment->getDateCreated()) . '</span></p>';
        echo '<p class="message">' . formatComment($comment->getMessage()) . '</p>';
        //echo '<p class="when">'.formatTimeTag($comment->getDateCreated()).'</p>';
        echo '</li>';
        $replies = $comment->getReplies();
        if ($replies != null) {
            foreach ($replies as $reply) {
                echo '<li class="comment-reply">';
                echo formatUserPicture($reply->getCreatorID(), 'small');
                echo '<p class="headline">' . formatUserLink($reply->getCreatorID(), $project->getID()) . ' <span class="slash">/</span> <span class="when">' . formatTimeTag($reply->getDateCreated()) . '</span></p>';
                echo '<p class="message">' . formatComment($reply->getMessage()) . '</p>';
                //echo '<p class="when">'.formatTimeTag($reply->getDateCreated()).'</p>';
                echo '</li>';
            }
        }
    }
} else {
    echo '<li>(none)</li>';
}
?>

<?php 
if ($hasPermission) {
    ?>
Exemplo n.º 9
0
    }
    // only show response buttons if user hasn't responded yet
    if ($i->getResponse() === null) {
        echo '<div class="buttons">';
        // don't allow accept invitation if already affiliated
        if (!$project->isAffiliated($i->getInviteeID())) {
            echo '<input class="accept" type="button" value="Accept" /> ';
        }
        echo '<input class="decline" type="button" value="Decline" /></div>';
    } else {
        //echo '<div class="line"></div>';
        // show the response
        if ($i->getResponse() == Invitation::ACCEPTED) {
            echo '<p>You accepted this invitation. (' . formatTimeTag($i->getDateResponded()) . ')</p>';
        } else {
            echo '<p>You declined this invitation. (' . formatTimeTag($i->getDateResponded()) . ')</p>';
        }
        // show the response message, if it exists
        if ($i->getResponseMessage() != null) {
            echo '<blockquote>' . formatInvitationMessage($i->getResponseMessage()) . '</blockquote>';
        }
    }
    echo '</li>';
}
?>

</ul>

<?php 
$fork->endBlockSet();
$fork->render('site/partial/panel');
Exemplo n.º 10
0
if (!empty($sex) || !empty($loc)) {
    echo $slash;
}
if (!empty($sex)) {
    echo $sex;
}
if (!empty($sex) && !empty($loc)) {
    echo $slash;
}
if (!empty($loc)) {
    echo 'from ' . $loc;
}
echo '</p>';
?>
<p>last login <?php 
echo formatTimeTag($user->getSecondLastLogin());
?>
</p>
<?php 
// biography
if (!empty($bio)) {
    echo '<div class="line" style="margin: 1em 0 0 55px;"></div>';
    echo '<p class="biography">' . formatParagraphs($bio) . '</p>';
}
?>
<div class="clear"></div>
</div><!-- .view -->


<?php 
$fork->endBlockSet();
Exemplo n.º 11
0
    $status = '<span class="status bad">closed</span>';
}
$closed = $task->getStatus() == Task::STATUS_CLOSED ? ' class="closed"' : '';
// CSS class for strikethrough
?>

<h5><?php 
echo $task->getTitle();
?>
</h5>

<p><?php 
echo $status;
?>
 <span class="slash">/</span> <?php 
echo $task->getDeadline() != '' ? 'due ' . formatTimeTag($task->getDeadline()) : 'no deadline';
?>
</p>

<div class="line"></div>

<p><?php 
echo formatTaskDescription($task->getDescription());
?>
</p>

<?php 
$SOUP->render('site/partial/newUploads', array());
?>

</div><!-- end .view -->
Exemplo n.º 12
0
<?php 
$SOUP->render('site/partial/massEmail', array());
?>

</td>

<td class="right">


<?php 
$data = array();
foreach ($projects as $p) {
    $data[] = array(formatProjectLink($p->getID()), formatUserLink($p->getCreatorID()), formatTimeTag($p->getDateCreated()), '<a href="' . Url::activity($p->getID()) . '">' . count(Event::getByProjectID($p->getID())) . '</a>');
}
$SOUP->render('site/partial/itemTable', array('title' => 'All Projects (' . count($projects) . ')', 'ths' => array('Title', 'Creator', 'Created', '#&nbsp;Events'), 'data' => $data));
?>

<?php 
$data = array();
foreach ($users as $u) {
    $data[] = array(formatUserLink($u->getID()), formatTimeTag($u->getDateCreated()), count(Event::getUserEvents($u->getID())));
}
$SOUP->render('site/partial/itemTable', array('title' => 'All Users (' . count($users) . ')', 'ths' => array('Username', 'Registered', '#&nbsp;Events'), 'data' => $data));
?>

</td>

<?php 
$fork->endBlockSet();
$fork->render('site/partial/admin');
Exemplo n.º 13
0
				<option value="basics">Basics only</option>
				<option value="tasks">Tasks only</option>
				<option value="discussions">Discussions only</option>
				<option value="people">People only</option>
			</select>
		</div>
	</div>
	<div class="panel-body">

<?php 
if (!empty($events)) {
    echo '<ul class="segmented-list activity">';
    foreach ($events as $event) {
        echo '<li class="' . $event->getCssClass() . '">';
        echo '<h6 class="primary">' . formatEvent($event) . '</h6>';
        echo '<p class="secondary">' . formatTimeTag($event->getDateCreated()) . '</p>';
        $details = formatEventDetails($event);
        if (!empty($details)) {
            echo '<blockquote class="details">' . $details . '</blockquote>';
        }
        echo '</li>';
    }
    echo '</ul>';
} else {
    echo "<p>(none)</p>";
}
?>
	</div>
<?php 
if ($numPages > 1) {
    ?>
Exemplo n.º 14
0
$fork->set('title', $title);
$fork->startBlockSet('body');
?>

<script type="text/javascript">
$(document).ready(function(){
	$('#activity div.diff-box').dialog({
		autoOpen: false,
		title: 'Activity Details',
		modal: true,
		width: 500
	});
	$('#activity a.diff').click(function(){
		var id = $(this).attr('id').substring(5);
		$('#diff-box-'+id).dialog('open');
		return false;
	});
	
});
</script>
<?php 
if ($events != null) {
    echo '<ul class="segmented-list activity">';
    foreach ($events as $event) {
        echo '<li class="' . $event->getCssClass() . '">';
        echo '<h6 class="primary">' . formatEvent($event, $showProject) . '</h6>';
        echo '<p class="secondary">' . formatTimeTag($event->getDateCreated());
        $details = formatEventDetails($event);
        if (!empty($details)) {
            echo ' <span class="slash">/</span> <a id="diff-' . $event->getID() . '" class="diff" href="#">Details</a></p>';
            // diff box
Exemplo n.º 15
0
				'buttonID':'#btnReply'
			});
		});
	});
</script>

<ul class="segmented-list replies">
	<li><h5><?php 
echo $message->getSubject();
?>
</h5></li>
<?php 
foreach ($replies as $reply) {
    echo '<li>';
    echo formatUserPicture($reply->getSenderID(), 'small');
    echo '<p class="headline">' . formatUserLink($reply->getSenderID()) . ' <span class="slash">/</span> <span class="when">' . formatTimeTag($reply->getDateSent()) . '</span></p>';
    echo '<p class="message">' . formatInboxMessage($reply->getBody()) . '</p>';
    echo '</li>';
}
?>
	<li class="reply">
		<textarea id="txtReplyMessage"></textarea>	
		<div class="buttons">
			<input type="button" class="right" id="btnReply" value="Send Reply" />
			<p class="right"><a class="help-link" href="<?php 
echo Url::help();
?>
#help-html-allowed">Some HTML allowed</a></p>
		</div>
	</li>
</ul>
Exemplo n.º 16
0
<div id="flashviewer"></div>
<?php 
function getUploadCssClass($ext)
{
    $className = '';
    switch ($ext) {
        case 'jpg':
        case 'jpeg':
        case 'png':
        case 'gif':
            $className = 'image';
            break;
        case 'mp3':
            $className = 'audio';
            break;
        case 'fla':
        case 'swf':
        case 'flv':
            $className = 'flash';
            break;
        case 'mpeg':
        case 'mp4':
        case '3gp':
        case 'mpg':
        case 'mov':
        case 'avi':
            $className = 'video';
            break;
        case 'psd':
            $className = 'photoshop';
            break;
Exemplo n.º 17
0
        echo '<tr>';
        echo '<td class="subject ' . $read . '">';
        // show "Re:" if this is a reply to a previous message
        $subject = $m->getSubject();
        if ($m->getParentID() != $m->getID()) {
            $subject = 'Re: ' . $subject;
        }
        echo '<h6><a href="' . Url::message($m->getID()) . '">' . $subject . '</a></h6>';
        echo '<p>';
        $body = strip_tags(formatInboxMessage($m->getBody()));
        echo substr($body, 0, 35);
        if (strlen($body) > 35) {
            echo '&hellip;';
        }
        echo '</p>';
        echo '</td>';
        echo '<td class="sender">' . formatUserLink($m->getSenderID()) . '</td>';
        echo '<td class="sent">' . formatTimeTag($m->getDateSent()) . '</td>';
        echo '</tr>';
    }
    ?>

</table>

<?php 
}
?>

<?php 
$fork->endBlockSet();
$fork->render('site/partial/panel');
Exemplo n.º 18
0
	</div>
</div>
<div class="clear">
	<label for="txtMessage">Message<span class="required">*</span></label>
	<div class="input">
		<textarea id="txtMessage" name="txtMessage"><?php 
    echo $update->getMessage();
    ?>
</textarea>
		<p>Write your contribution here, <a class="help-link" href="<?php 
    echo Url::help();
    ?>
#help-html-allowed">some HTML allowed</a></p>
	</div>
</div>
<?php 
    if ($update->isLatestUpdate()) {
        ?>

<div class="clear">
	<label for="selStatus">Status<span class="required">*</span></label>
	<div class="input">
		<select id="selStatus" name="selStatus">
			<option value="<?php 
        echo Accepted::STATUS_PROGRESS;
        ?>
"><?php 
        echo Accepted::getStatusName(Accepted::STATUS_PROGRESS);
        ?>
</option>
			<option value="<?php 
Exemplo n.º 19
0
<?php 
}
?>

<div class="view">

<ul class="segmented-list">
        <li><strong>Status</strong>: <span class="status"><?php 
echo formatProjectStatus($project->getStatus());
?>
</span></li>
	<li><strong>Deadline</strong>: <?php 
echo $deadline;
?>
</li>
	<li><strong>Started</strong>: <?php 
echo formatTimeTag($project->getDateCreated());
?>
</li>
        <li><strong></strong><?php 
echo formatIsPrivate($project->getPrivate());
?>
</li>
</ul>

</div><!-- .view -->

<?php 
$fork->endBlockSet();
$fork->render('site/partial/panel');