render('list/header'); ?>
tabs; ?>
browser; ?>
tasks->hasTasks()): ?>
render('list/task_headers'); ?>
tasks->each()):
$due = $task->due ? $task->getNextDue() : null;
if (!empty($task->completed)) {
$style = 'linedRow closed';
} elseif ($due && $due->before($_SERVER['REQUEST_TIME'])) {
$style = 'linedRow overdue';
} else {
$style = '';
}
if ($task->tasklist == '**EXTERNAL**') {
$share = $GLOBALS['nag_shares']->newShare($GLOBALS['registry']->getAuth(), '**EXTERNAL**', $task->tasklist_name);
$owner = $task->tasklist_name;
} else {
try {
$share = $GLOBALS['nag_shares']->getShare($task->tasklist);
$owner = Nag::getLabel($share);
} catch (Horde_Share_Exception $e) {
$owner = $task->tasklist;
}
}
$locals = array(
'style' => $style,
'have_read' => $share->hasPermission($GLOBALS['registry']->getAuth(), Horde_Perms::READ),
'have_edit' => $share->hasPermission($GLOBALS['registry']->getAuth(), Horde_Perms::EDIT),
'owner' => $owner,
'task' => $task,
'due' => $due,
'columns' => $this->columns,
'dynamic_sort' => $this->dynamic_sort &= !$task->hasSubTasks(),
'dateFormat' => $GLOBALS['prefs']->getValue('date_format')); ?>
renderPartial('list/task', array('locals' => $locals)) ?>
dynamic_sort) $GLOBALS['page_output']->addScriptFile('tables.js', 'horde') ?>