function theme_casetracker_comment_changes in Case Tracker 6
Same name and namespace in other branches
- 7 casetracker.module \theme_casetracker_comment_changes()
Displays the changes a comment has made to the case fields.
Parameters
$case_data: An array of both 'old' and 'new' objects that contains the before and after values this comment has changed.
1 theme call to theme_casetracker_comment_changes()
- casetracker_comment in ./casetracker.module 
- Implementation of hook_comment().
File
- ./casetracker.module, line 764 
- Enables the handling of projects and their cases.
Code
function theme_casetracker_comment_changes($old, $new) {
  $rows = array();
  $fields = array(
    'pid' => t('Project'),
    'title' => t('Title'),
    'case_status_id' => t('Status'),
    'assign_to' => t('Assigned'),
    'case_priority_id' => t('Priority'),
    'case_type_id' => t('Type'),
  );
  foreach ($fields as $field => $label) {
    if ($new->{$field} != $old->{$field}) {
      switch ($field) {
        case 'pid':
          $old_title = db_result(db_query("SELECT title FROM {node} WHERE nid = %d", $old->pid));
          $new_title = db_result(db_query("SELECT title FROM {node} WHERE nid = %d", $new->pid));
          $old->{$field} = l($old_title, "node/{$old->pid}");
          $new->{$field} = l($new_title, "node/{$new->pid}");
          break;
        case 'case_status_id':
          $old->{$field} = check_plain(casetracker_case_state_load($old->{$field}, 'status'));
          $new->{$field} = check_plain(casetracker_case_state_load($new->{$field}, 'status'));
          break;
        case 'assign_to':
          $old->{$field} = check_plain(casetracker_get_name($old->{$field}));
          $new->{$field} = check_plain(casetracker_get_name($new->{$field}));
          break;
        case 'case_priority_id':
          $old->{$field} = check_plain(casetracker_case_state_load($old->{$field}, 'priority'));
          $new->{$field} = check_plain(casetracker_case_state_load($new->{$field}, 'priority'));
          break;
        case 'case_type_id':
          $old->{$field} = check_plain(casetracker_case_state_load($old->{$field}, 'type'));
          $new->{$field} = check_plain(casetracker_case_state_load($new->{$field}, 'type'));
          break;
      }
      $rows[] = array(
        t('@label: !old » !new', array(
          '@label' => $label,
          '!old' => $old->{$field},
          '!new' => $new->{$field},
        )),
      );
    }
  }
  if (!empty($rows)) {
    return theme('table', NULL, $rows, array(
      'class' => 'case_changes',
    ));
  }
}