Пример #1
0
         case 'resolution':
         case 'severity':
         case 'status':
         case 'view_state':
             $t_element_data = get_enum_element($t_element, $t_value);
             $writer->startElement($t_element);
             $writer->writeAttribute('id', $t_value);
             $writer->text($t_element_data);
             $writer->endElement();
             break;
         default:
             $writer->writeElement($t_element, $t_value);
     }
 }
 # fetch and export custom fields
 $t_custom_fields = custom_field_get_all_linked_fields($t_row->id);
 if (is_array($t_custom_fields) && count($t_custom_fields) > 0) {
     $writer->startElement('custom_fields');
     foreach ($t_custom_fields as $custom_field_name => $t_custom_field) {
         $writer->startElement('custom_field');
         # id
         $writer->writeElement('id', custom_field_get_id_from_name($custom_field_name));
         # title
         $writer->writeElement('name', $custom_field_name);
         # filename
         $writer->writeElement('type', $t_custom_field['type']);
         # filesize
         $writer->writeElement('value', $t_custom_field['value']);
         # file_type
         $writer->writeElement('access_level_r', $t_custom_field['access_level_r']);
         $writer->endElement();
Пример #2
0
/**
 * Gets the custom fields array for the given bug readable by specified level.
 * Array keys are custom field names. Array is sorted by custom field sequence number;
 * Array items are arrays with the next keys:
 * 'type', 'value', 'access_level_r'
 * @param integer $p_bug_id            A bug identifier.
 * @param integer $p_user_access_level Access level.
 * @return array
 * @access public
 */
function custom_field_get_linked_fields($p_bug_id, $p_user_access_level)
{
    $t_custom_fields = custom_field_get_all_linked_fields($p_bug_id);
    # removing restricted fields
    foreach ($t_custom_fields as $t_custom_field_name => $t_custom_field_data) {
        if ($p_user_access_level < $t_custom_field_data['access_level_r']) {
            unset($t_custom_fields[$t_custom_field_name]);
        }
    }
    return $t_custom_fields;
}