Example #1
0
 /**
  * @inheritdoc
  */
 protected function view()
 {
     $view = parent::view();
     $view["format"] = "datetime";
     return $view;
 }
Example #2
0
/**
 * XXX: A mess,remove my in 1.0
 */
function event_description($history)
{
    $return = '';
    global $fs, $baseurl, $details, $page;
    $translate = array('item_summary' => 'summary', 'project_id' => 'attachedtoproject', 'mark_private' => 'visibility');
    // if soemthing gets double escaped, add it here.
    $noescape = array('new_value', 'old_value');
    foreach ($history as $key => $value) {
        if (!in_array($key, $noescape)) {
            $history[$key] = Filters::noXSS($value);
        }
    }
    $new_value = $history['new_value'];
    $old_value = $history['old_value'];
    switch ($history['event_type']) {
        case '3':
            //Field changed
            if (!$new_value && !$old_value) {
                $return .= eL('taskedited');
                break;
            }
            $field = $history['field_changed'];
            switch ($field) {
                case 'project_id':
                    $old_value = $history[$field . '1'];
                    $new_value = $history[$field . '2'];
                case 'item_summary':
                    $field = eL($translate[$field]);
                    $old_value = Filters::noXSS($old_value);
                    $new_value = Filters::noXSS($new_value);
                    break;
                case 'percent_complete':
                    $field = eL('percentcomplete');
                    $old_value .= '%';
                    $new_value .= '%';
                    break;
                case 'mark_private':
                    $field = eL($translate[$field]);
                    $old_value = $old_value ? eL('private') : eL('public');
                    $new_value = $new_value ? eL('private') : eL('public');
                    break;
                case 'detailed_desc':
                    $field = sprintf("<a href=\"javascript:getHistory('%d', '%s', 'history', '%d');\n                                      showTabById('history', true);\">%s</a>", $history['task_id'], $baseurl, $history['history_id'], eL('details'));
                    if (!empty($details)) {
                        $details_previous = $page->text->render($old_value);
                        $details_new = $page->text->render($new_value);
                    }
                    $old_value = '';
                    $new_value = '';
                    break;
            }
            if (is_numeric($field)) {
                $field = $history['field_name'];
                $f = new Field($history);
                if ($f->prefs['field_type'] == FIELD_LIST) {
                    $t = $history['list_type'] == LIST_CATEGORY ? 'c' : 'l';
                    $new = array('field' . $f->id => $history['new_value_' . $t], 'field' . $f->id . '_name' => $history['new_value_' . $t]);
                    $old = array('field' . $f->id => $history['old_value_' . $t], 'field' . $f->id . '_name' => $history['old_value_' . $t]);
                    $new_value = $f->view($new);
                    $old_value = $f->view($old);
                } else {
                    if ($f->prefs['field_type'] == FIELD_USER) {
                        $new_value = tpl_userlink($history['new_value']);
                        $old_value = tpl_userlink($history['old_value']);
                    } else {
                        if ($f->prefs['field_type'] == FIELD_DATE) {
                            $new_value = $f->view(array('field' . $f->id => $history['new_value']));
                            $old_value = $f->view(array('field' . $f->id => $history['old_value']));
                        }
                    }
                }
            }
            $return .= eL('fieldchanged') . ": {$field}";
            if ($old_value || $new_value) {
                $return .= " ({$old_value} &rarr; {$new_value})";
            }
            break;
        case '1':
            //Task opened
            $return .= eL('taskopened');
            break;
        case '2':
            //Task closed
            $return .= eL('taskclosed');
            $return .= " ({$history['resolution_name']}";
            if (!empty($old_value)) {
                $return .= ': ' . $page->text->render($old_value, true);
            }
            $return .= ')';
            break;
        case '4':
            //Comment added
            $return .= sprintf('<a href="%s#comment%d">%s</a>', Filters::noXSS(CreateUrl(array('details', 'task' . $history['task_id']))), $history['new_value'], eL('commentadded'));
            break;
        case '5':
            //Comment edited
            $return .= sprintf("<a href=\"javascript:getHistory('%d', '%s', 'history', '%d');\">%s</a>", $history['task_id'], $baseurl, $history['history_id'], eL('commentedited'));
            if ($history['c_date_added']) {
                $return .= sprintf(' (%s %s  - %s)', eL('commentby'), tpl_userlink($history['c_user_id']), formatDate($history['c_date_added'], true));
            }
            if ($details) {
                $details_previous = $page->text->render($old_value);
                $details_new = $page->text->render($new_value);
            }
            break;
        case '6':
            //Comment deleted
            $return .= sprintf("<a href=\"javascript:getHistory('%d', '%s', 'history','%d');\">%s</a>", $history['task_id'], $baseurl, $history['history_id'], eL('commentdeleted'));
            if (!empty($new_value) && !empty($history['field_changed'])) {
                $return .= sprintf('(%s %s - %s)', eL('commentby'), tpl_userlink($new_value), formatDate($history['field_changed'], true));
            }
            if (!empty($details)) {
                $details_previous = $page->text->render($old_value);
                $details_new = '';
            }
            break;
        case '7':
            //Attachment added
            $return .= eL('attachmentadded');
            if ($history['orig_name']) {
                $return .= sprintf(': <a href="%s?getfile=%d">%s</a>', $baseurl, $new_value, $history['orig_name']);
            } else {
                if ($history['old_value']) {
                    $return .= ': ' . $history['old_value'];
                }
            }
            break;
        case '8':
            //Attachment deleted
            $return .= eL('attachmentdeleted') . ': ' . Filters::noXSS($new_value);
            break;
        case '9':
            //Notification added
            $return .= eL('notificationadded') . ': ' . tpl_userlink($new_value);
            break;
        case '10':
            //Notification deleted
            $return .= eL('notificationdeleted') . ': ' . tpl_userlink($new_value);
            break;
        case '11':
            //Related task added
            $return .= eL('relatedadded') . ': ' . tpl_tasklink($new_value);
            break;
        case '12':
            //Related task deleted
            $return .= eL('relateddeleted') . ': ' . tpl_tasklink($new_value);
            break;
        case '13':
            //Task reopened
            $return .= eL('taskreopened');
            break;
        case '14':
            //Task assigned
            if (empty($old_value)) {
                $users = explode(' ', trim($new_value));
                $users = array_map('tpl_userlink', $users);
                $return .= eL('taskassigned') . ' ';
                $return .= implode(', ', $users);
            } elseif (empty($new_value)) {
                $return .= eL('assignmentremoved');
            } else {
                $users = explode(' ', trim($new_value));
                $users = array_map('tpl_userlink', $users);
                $return .= eL('taskreassigned') . ' ';
                $return .= implode(', ', $users);
            }
            break;
        case '17':
            //Reminder added
            $return .= eL('reminderadded') . ': ' . tpl_userlink($new_value);
            break;
        case '18':
            //Reminder deleted
            $return .= eL('reminderdeleted') . ': ' . tpl_userlink($new_value);
            break;
        case '19':
            //User took ownership
            $return .= eL('ownershiptaken') . ': ' . tpl_userlink($new_value);
            break;
        case '20':
            //User requested task closure
            $return .= eL('closerequestmade') . ' - ' . $new_value;
            break;
        case '21':
            //User requested task
            $return .= eL('reopenrequestmade') . ' - ' . $new_value;
            break;
        case '22':
            // Dependency added
            $return .= eL('depadded') . ' ' . tpl_tasklink($new_value);
            break;
        case '23':
            // Dependency added to other task
            $return .= eL('depaddedother') . ' ' . tpl_tasklink($new_value);
            break;
        case '24':
            // Dependency removed
            $return .= eL('depremoved') . ' ' . tpl_tasklink($new_value);
            break;
        case '25':
            // Dependency removed from other task
            $return .= eL('depremovedother') . ' ' . tpl_tasklink($new_value);
            break;
            // 26 and 27 replaced by 0 (mark_private)
        // 26 and 27 replaced by 0 (mark_private)
        case '28':
            // PM request denied
            $return .= eL('pmreqdenied') . ' - ' . $new_value;
            break;
        case '29':
            // User added to assignees list
            $return .= eL('addedtoassignees');
            break;
        case '30':
            // user created
            $return .= eL('usercreated');
            break;
        case '31':
            // user deleted
            $return .= eL('userdeleted');
            break;
    }
    if (isset($details_previous)) {
        $GLOBALS['details_previous'] = $details_previous;
    }
    if (isset($details_new)) {
        $GLOBALS['details_new'] = $details_new;
    }
    return $return;
}