Example #1
0
 /**
  * Compose a URL query parameter array to append to table sorting requests.
  *
  * @return
  *   A URL query parameter array that consists of all components of the current
  *   page request except for those pertaining to table sorting.
  *
  * @see tablesort_get_query_parameters()
  */
 protected function getQueryParameters()
 {
     return tablesort_get_query_parameters();
 }
Example #2
0
/**
 * Implements template_preprocess_views_view_table().
 */
function favrskovtheme_preprocess_views_view_table(&$vars)
{
    $view = $vars['view'];
    // We need the raw data for this grouping, which is passed in as $vars['rows'].
    // However, the template also needs to use for the rendered fields.  We
    // therefore swap the raw data out to a new variable and reset $vars['rows']
    // so that it can get rebuilt.
    // Store rows so that they may be used by further preprocess functions.
    $result = $vars['result'] = $vars['rows'];
    $vars['rows'] = array();
    $vars['field_classes'] = array();
    $vars['header'] = array();
    $options = $view->style_plugin->options;
    $handler = $view->style_plugin;
    $default_row_class = isset($options['default_row_class']) ? $options['default_row_class'] : TRUE;
    $row_class_special = isset($options['row_class_special']) ? $options['row_class_special'] : TRUE;
    $fields =& $view->field;
    $columns = $handler->sanitize_columns($options['columns'], $fields);
    $active = !empty($handler->active) ? $handler->active : '';
    $order = !empty($handler->order) ? $handler->order : 'asc';
    $query = tablesort_get_query_parameters();
    if (isset($view->exposed_raw_input)) {
        $query += $view->exposed_raw_input;
    }
    // Fields must be rendered in order as of Views 2.3, so we will pre-render
    // everything.
    $renders = $handler->render_fields($result);
    foreach ($columns as $field => $column) {
        // Create a second variable so we can easily find what fields we have and what the
        // CSS classes should be.
        $vars['fields'][$field] = drupal_clean_css_identifier($field);
        if ($active == $field) {
            $vars['fields'][$field] .= ' active';
        }
        // render the header labels
        if ($field == $column && empty($fields[$field]->options['exclude'])) {
            $label = check_plain(!empty($fields[$field]) ? $fields[$field]->label() : '');
            if (empty($options['info'][$field]['sortable']) || !$fields[$field]->click_sortable()) {
                $vars['header'][$field] = $label;
            } else {
                $initial = !empty($options['info'][$field]['default_sort_order']) ? $options['info'][$field]['default_sort_order'] : 'asc';
                if ($active == $field) {
                    $initial = $order == 'asc' ? 'desc' : 'asc';
                }
                $title = t('sort by @s', array('@s' => $label));
                if ($active == $field) {
                    $label .= theme('tablesort_indicator', array('style' => $initial));
                }
                $query['order'] = $field;
                $query['sort'] = $initial;
                $link_options = array('html' => TRUE, 'attributes' => array('title' => $title), 'query' => $query);
                $vars['header'][$field] = l($label, $_GET['q'], $link_options);
            }
            $vars['header_classes'][$field] = '';
            // Set up the header label class.
            if ($fields[$field]->options['element_default_classes']) {
                $vars['header_classes'][$field] .= "views-field views-field-" . $vars['fields'][$field];
            }
            $class = $fields[$field]->element_label_classes(0);
            if ($class) {
                if ($vars['header_classes'][$field]) {
                    $vars['header_classes'][$field] .= ' ';
                }
                $vars['header_classes'][$field] .= $class;
            }
            // Add a CSS align class to each field if one was set
            if (!empty($options['info'][$field]['align'])) {
                $vars['header_classes'][$field] .= ' ' . drupal_clean_css_identifier($options['info'][$field]['align']);
            }
            // Add a header label wrapper if one was selected.
            if ($vars['header'][$field]) {
                $element_label_type = $fields[$field]->element_label_type(TRUE, TRUE);
                if ($element_label_type) {
                    $vars['header'][$field] = '<' . $element_label_type . '>' . $vars['header'][$field] . '</' . $element_label_type . '>';
                }
            }
        }
        // Add a CSS align class to each field if one was set
        if (!empty($options['info'][$field]['align'])) {
            $vars['fields'][$field] .= ' ' . drupal_clean_css_identifier($options['info'][$field]['align']);
        }
        // Render each field into its appropriate column.
        foreach ($result as $num => $row) {
            // Add field classes
            $vars['field_classes'][$field][$num] = '';
            if ($fields[$field]->options['element_default_classes']) {
                $vars['field_classes'][$field][$num] = "views-field views-field-" . $vars['fields'][$field];
            }
            if ($classes = $fields[$field]->element_classes($num)) {
                if ($vars['field_classes'][$field][$num]) {
                    $vars['field_classes'][$field][$num] .= ' ';
                }
                $vars['field_classes'][$field][$num] .= $classes;
            }
            $vars['field_attributes'][$field][$num] = array();
            if (!empty($fields[$field]) && empty($fields[$field]->options['exclude'])) {
                $field_output = $renders[$num][$field];
                $element_type = $fields[$field]->element_type(TRUE, TRUE);
                // Custom render settings for newsletter tables
                $field_prefix = '';
                $field_suffix = '';
                $element_style = '';
                if ($view->name == 'view_newsletter' && $view->current_display == 'related_news_list') {
                    switch ($field) {
                        case 'title':
                            $element_type = 'h3';
                            $element_style = 'style="width:255px; margin:0; font-size:22px; font-weight:bold; font-family:Trebuchet MS, Arial, Helvetica, sans-serif; line-height:120%;"';
                            $field_output = substr_replace($field_output, 'style="color:#586464; text-decoration:none;" ', 3, 0);
                            break;
                        case 'field_teaser':
                            $element_type = 'p';
                            $element_style = 'style="color:#666; font-size:16px; line-height:145%;"';
                            break;
                    }
                } elseif ($view->name == 'view_newsletter' && $view->current_display == 'related_events_list') {
                    switch ($field) {
                        case 'field_kultunaut_event_start_date':
                            $element_type = 'h3';
                            $element_style = 'style="float:left; display: block; width:50px; padding:8px 0 12px; background:#a00a14; margin:0; color:#fff; text-align:center; text-transform:uppercase; font-size:16px; font-weight:bold; font-family:Trebuchet MS, Arial, Helvetica, sans-serif; line-height:18px;"';
                            $field_output = substr_replace($field_output, 'style="display: block;" ', 49, 0);
                            $field_output = substr_replace($field_output, 'style="display: block;" ', 76, 0);
                            break;
                        case 'field_kultunaut_event_category':
                            $element_type = 'h3';
                            $element_style = 'style="border-top:8px solid #ccc; margin:24px 0 0 62px; text-align:right; font-size:14px; font-weight:normal; color:#999; padding-top:5px;"';
                            $field_suffix = '</h3>';
                            break;
                        case 'title':
                            $element_type = 'h4';
                            $element_style = 'style="margin:0 0 13px; padding:20px 25px 0; font-size:24px; font-weight:bold; font-family:Trebuchet MS, Arial, Helvetica, sans-serif; color:#666;"';
                            $field_output = substr_replace($field_output, 'style="text-decoration:none; color:#666;" ', 3, 0);
                            break;
                        case 'body':
                            $field_prefix = '<p style="margin:0; padding:0 25px; line-height:140%; font-size:16px; color:#666;">';
                            $element_type = '';
                            $element_style = '';
                            $field_suffix = '<br/><br/>';
                            break;
                        case 'field_kultunaut_event_date':
                            $field_prefix = '<strong>';
                            $element_type = '';
                            $element_style = '';
                            $field_suffix = ', ';
                            break;
                        case 'field_kultunaut_event_time':
                            $element_type = '';
                            $element_style = '';
                            $field_suffix = '<br/>';
                            break;
                        case 'field_kultunaut_event_location':
                            $element_type = '';
                            $element_style = '';
                            $field_suffix = '</strong></p>';
                            break;
                    }
                } elseif ($view->name == 'view_newsletter' && $view->current_display == 'related_links_list') {
                    if (!empty($renders[$num]['field_related_links_content'])) {
                        $renders[$num]['field_related_links_link'] = '';
                    }
                    if (!empty($field_output)) {
                        $element_type = 'li';
                        $element_style = 'style="font-size:16px; line-height:210%;"';
                        $field_output = substr_replace($field_output, 'style="color:#a00a14; font-weight:bold; text-decoration:none;"" ', 3, 0);
                        $field_output = '<img src="https://gallery.mailchimp.com/a1a119610f0500f5d6b47c1ec/images/arrow.1.png" width="9" height="14" style="vertical-align:middle; padding-right:8px;" alt="Arrow">' . $field_output;
                    }
                }
                if ($element_type) {
                    if ($element_style) {
                        $field_output = '<' . $element_type . ' ' . $element_style . '>' . $field_output . '</' . $element_type . '>';
                    } else {
                        $field_output = '<' . $element_type . '>' . $field_output . '</' . $element_type . '>';
                    }
                }
                if ($field_prefix) {
                    $field_output = $field_prefix . $field_output;
                }
                if ($field_suffix) {
                    $field_output = $field_output . $field_suffix;
                }
                // Don't bother with separators and stuff if the field does not show up.
                if (empty($field_output) && !empty($vars['rows'][$num][$column])) {
                    continue;
                }
                // Place the field into the column, along with an optional separator.
                if (!empty($vars['rows'][$num][$column])) {
                    if (!empty($options['info'][$column]['separator'])) {
                        $vars['rows'][$num][$column] .= filter_xss_admin($options['info'][$column]['separator']);
                    }
                } else {
                    $vars['rows'][$num][$column] = '';
                }
                $vars['rows'][$num][$column] .= $field_output;
            }
        }
        // Remove columns if the option is hide empty column is checked and the field is not empty.
        if (!empty($options['info'][$field]['empty_column'])) {
            $empty = TRUE;
            foreach ($vars['rows'] as $num => $columns) {
                $empty &= empty($columns[$column]);
            }
            if ($empty) {
                foreach ($vars['rows'] as $num => &$column_items) {
                    unset($column_items[$column]);
                    unset($vars['header'][$column]);
                }
            }
        }
    }
    // Hide table header if all labels are empty.
    if (!array_filter($vars['header'])) {
        $vars['header'] = array();
    }
    $count = 0;
    foreach ($vars['rows'] as $num => $row) {
        $vars['row_classes'][$num] = array();
        if ($row_class_special) {
            $vars['row_classes'][$num][] = $count++ % 2 == 0 ? 'odd' : 'even';
        }
        if ($row_class = $handler->get_row_class($num)) {
            $vars['row_classes'][$num][] = $row_class;
        }
    }
    if ($row_class_special) {
        $vars['row_classes'][0][] = 'views-row-first';
        $vars['row_classes'][count($vars['row_classes']) - 1][] = 'views-row-last';
    }
    $vars['classes_array'] = array('views-table');
    if (empty($vars['rows']) && !empty($options['empty_table'])) {
        $vars['rows'][0][0] = $view->display_handler->render_area('empty');
        // Calculate the amounts of rows with output.
        $vars['field_attributes'][0][0]['colspan'] = count($vars['header']);
        $vars['field_classes'][0][0] = 'views-empty';
    }
    if (!empty($options['sticky'])) {
        drupal_add_js('misc/tableheader.js');
        $vars['classes_array'][] = "sticky-enabled";
    }
    $vars['classes_array'][] = 'cols-' . count($vars['header']);
    // Add the summary to the list if set.
    if (!empty($handler->options['summary'])) {
        $vars['attributes_array'] = array('summary' => filter_xss_admin($handler->options['summary']));
    }
    // Add the caption to the list if set.
    if (!empty($handler->options['caption'])) {
        $vars['caption'] = filter_xss_admin($handler->options['caption']);
    } else {
        $vars['caption'] = '';
    }
}
Example #3
0
 function list_render(&$form_state)
 {
     views_include('admin');
     views_ui_add_admin_css();
     if (empty($_REQUEST['js'])) {
         views_ui_check_advanced_help();
     }
     drupal_add_library('system', 'jquery.bbq');
     views_add_js('views-list');
     $this->active = $form_state['values']['order'];
     $this->order = $form_state['values']['sort'];
     $query = tablesort_get_query_parameters();
     $header = array($this->tablesort_link(t('View name'), 'name', 'views-ui-name'), array('data' => t('Description'), 'class' => array('views-ui-description')), $this->tablesort_link(t('Tag'), 'tag', 'views-ui-tag'), $this->tablesort_link(t('Path'), 'path', 'views-ui-path'), array('data' => t('Operations'), 'class' => array('views-ui-operations')));
     $table = array('header' => $header, 'rows' => $this->rows, 'empty' => t('No views match the search criteria.'), 'attributes' => array('id' => 'ctools-export-ui-list-items'));
     return theme('table', $table);
 }
/**
 * Implements template_preprocess_views_view_table().
 */
function ringstedtheme_preprocess_views_view_table(&$vars)
{
    $view = $vars['view'];
    // We need the raw data for this grouping, which is passed in as $vars['rows'].
    // However, the template also needs to use for the rendered fields.  We
    // therefore swap the raw data out to a new variable and reset $vars['rows']
    // so that it can get rebuilt.
    // Store rows so that they may be used by further preprocess functions.
    $result = $vars['result'] = $vars['rows'];
    $vars['rows'] = array();
    $vars['field_classes'] = array();
    $vars['header'] = array();
    $options = $view->style_plugin->options;
    $handler = $view->style_plugin;
    $default_row_class = isset($options['default_row_class']) ? $options['default_row_class'] : TRUE;
    $row_class_special = isset($options['row_class_special']) ? $options['row_class_special'] : TRUE;
    $fields =& $view->field;
    $columns = $handler->sanitize_columns($options['columns'], $fields);
    $active = !empty($handler->active) ? $handler->active : '';
    $order = !empty($handler->order) ? $handler->order : 'asc';
    $query = tablesort_get_query_parameters();
    if (isset($view->exposed_raw_input)) {
        $query += $view->exposed_raw_input;
    }
    // Fields must be rendered in order as of Views 2.3, so we will pre-render
    // everything.
    $renders = $handler->render_fields($result);
    // Save start date values of Events
    $start_date_strings = array();
    foreach ($columns as $field => $column) {
        // Create a second variable so we can easily find what fields we have and what the
        // CSS classes should be.
        $vars['fields'][$field] = drupal_clean_css_identifier($field);
        if ($active == $field) {
            $vars['fields'][$field] .= ' active';
        }
        // render the header labels
        if ($field == $column && empty($fields[$field]->options['exclude'])) {
            $label = check_plain(!empty($fields[$field]) ? $fields[$field]->label() : '');
            if (empty($options['info'][$field]['sortable']) || !$fields[$field]->click_sortable()) {
                $vars['header'][$field] = $label;
            } else {
                $initial = !empty($options['info'][$field]['default_sort_order']) ? $options['info'][$field]['default_sort_order'] : 'asc';
                if ($active == $field) {
                    $initial = $order == 'asc' ? 'desc' : 'asc';
                }
                $title = t('sort by @s', array('@s' => $label));
                if ($active == $field) {
                    $label .= theme('tablesort_indicator', array('style' => $initial));
                }
                $query['order'] = $field;
                $query['sort'] = $initial;
                $link_options = array('html' => TRUE, 'attributes' => array('title' => $title), 'query' => $query);
                $vars['header'][$field] = l($label, $_GET['q'], $link_options);
            }
            $vars['header_classes'][$field] = '';
            // Set up the header label class.
            if ($fields[$field]->options['element_default_classes']) {
                $vars['header_classes'][$field] .= "views-field views-field-" . $vars['fields'][$field];
            }
            $class = $fields[$field]->element_label_classes(0);
            if ($class) {
                if ($vars['header_classes'][$field]) {
                    $vars['header_classes'][$field] .= ' ';
                }
                $vars['header_classes'][$field] .= $class;
            }
            // Add a CSS align class to each field if one was set
            if (!empty($options['info'][$field]['align'])) {
                $vars['header_classes'][$field] .= ' ' . drupal_clean_css_identifier($options['info'][$field]['align']);
            }
            // Add a header label wrapper if one was selected.
            if ($vars['header'][$field]) {
                $element_label_type = $fields[$field]->element_label_type(TRUE, TRUE);
                if ($element_label_type) {
                    $vars['header'][$field] = '<' . $element_label_type . '>' . $vars['header'][$field] . '</' . $element_label_type . '>';
                }
            }
        }
        // Add a CSS align class to each field if one was set
        if (!empty($options['info'][$field]['align'])) {
            $vars['fields'][$field] .= ' ' . drupal_clean_css_identifier($options['info'][$field]['align']);
        }
        // Render each field into its appropriate column.
        foreach ($result as $num => $row) {
            // Add field classes
            $vars['field_classes'][$field][$num] = '';
            if ($fields[$field]->options['element_default_classes']) {
                $vars['field_classes'][$field][$num] = "views-field views-field-" . $vars['fields'][$field];
            }
            if ($classes = $fields[$field]->element_classes($num)) {
                if ($vars['field_classes'][$field][$num]) {
                    $vars['field_classes'][$field][$num] .= ' ';
                }
                $vars['field_classes'][$field][$num] .= $classes;
            }
            $vars['field_attributes'][$field][$num] = array();
            if (!empty($fields[$field]) && empty($fields[$field]->options['exclude'])) {
                $field_output = $renders[$num][$field];
                $element_type = $fields[$field]->element_type(TRUE, TRUE);
                // Custom render settings for newsletter tables
                $field_prefix = '';
                $field_suffix = '';
                $element_style = '';
                if ($view->name == 'view_newsletter' && $view->current_display == 'related_news_list') {
                    switch ($field) {
                        case 'title':
                            $element_type = 'h3';
                            $element_style = 'style="width:255px; margin:0; font-size:22px; font-weight:bold; font-family: Arial, sans-serif; line-height:120%;"';
                            $field_output = preg_replace('/(^<a href="\\S*")(>.*<\\/a>)/', '$1 style="color:#333; text-decoration:none;"$2', $field_output);
                            break;
                        case 'field_date':
                            $element_type = 'p';
                            $element_style = 'style="color:#6c6c6c; text-transform:lowercase; font-size:16px; line-height:145%;"';
                            break;
                        case 'field_teaser':
                            $element_type = 'p';
                            $element_style = 'style="color:#333; font-size:16px; line-height:145%; font-family: Arial, sans-serif;"';
                            break;
                    }
                } elseif ($view->name == 'view_newsletter' && $view->current_display == 'related_events_list') {
                    switch ($field) {
                        case 'field_kultunaut_event_start_date':
                            $start_date_strings[$num] = $field_output;
                            $field_output = '';
                            break;
                        case 'field_kultunaut_event_end_date':
                            if (isset($start_date_strings[$num])) {
                                $event_start_timestamp = strtotime($start_date_strings[$num]);
                                $event_end_timestamp = strtotime($field_output);
                                $event_start_month = format_date($event_start_timestamp, 'custom', 'M');
                                $event_end_month = format_date($event_end_timestamp, 'custom', 'M');
                                $event_start_day = date('d', $event_start_timestamp);
                                $event_end_day = date('d', $event_end_timestamp);
                                if ($event_start_month === $event_end_month) {
                                    if ($event_start_day === $event_end_day) {
                                        $date = "<span class='day'>{$event_start_day}</span> " . "<span class='month'>{$event_start_month}</span>";
                                    } else {
                                        $date = "<span class='day'>{$event_start_day}-{$event_end_day}</span> " . "<span class='month'>{$event_start_month}</span>";
                                    }
                                } else {
                                    $date = "<span class='day-month'>{$event_start_day} {$event_start_month}</span>-" . "<span class='day-month'>{$event_end_day} {$event_end_month}</span>";
                                }
                                $field_output = $date;
                            }
                            $field_prefix = '<!-- this table fix bug in Outlook.  -->
          <table style="width: 100%; border:0; border-collapse:collapse;">
            <tr>
              <td
                style="font-size: 0;line-height: 0;vertical-align: top;width:50px;">
                <!-- fix padding in Outlook-->
                <p
                  style="margin: 0;padding: 0;font-size: 8px;line-height: 8px;background:#d2000f;">
                  &nbsp;</p>';
                            $element_type = 'h3';
                            $element_style = 'style="width:50px; padding:0; background:#d2000f; margin:0; color:#fff; text-align:center; font-size:15px; font-weight:bold; font-family: Arial, sans-serif; line-height:18px;"';
                            $field_suffix = '<!-- fix padding in Outlook-->
                <p
                  style="margin: 0;padding: 0;font-size: 12px;line-height: 12px;background:#d2000f;">
                  &nbsp;</p>
              </td>';
                            break;
                        case 'title':
                            $field_prefix = '<td
                style="font-size: 0;line-height: 0;vertical-align: top;width:10px;">
                &nbsp;</td>
              <td style="font-size: 0;line-height: 0;vertical-align: middle;">';
                            $element_type = 'h4';
                            $element_style = 'style="margin: 0; padding: 0;font-size:24px;line-height: 24px;font-weight:bold;font-family: Arial, sans-serif; color:#333;"';
                            $field_output = preg_replace('/(^<a href="\\S*")(>.*<\\/a>)/', '$1 style="color:#333; text-decoration:none;"$2', $field_output);
                            $field_suffix = '</td>
            </tr>
          </table>';
                            break;
                        case 'body':
                            $field_prefix = '<!-- fix padding in Outlook-->
          <p style="margin: 0;padding: 0;font-size: 25px;line-height: 25px;">
            &nbsp;</p>';
                            $element_type = 'p';
                            $element_style = 'style="margin:0; padding: 0 25px 0 0; line-height:140%; font-size:16px; color:#333; font-family: Arial, sans-serif;"';
                            break;
                    }
                } elseif ($view->name == 'view_newsletter' && $view->current_display == 'related_links_list') {
                    if (!empty($renders[$num]['field_related_links_content'])) {
                        $renders[$num]['field_related_links_link'] = '';
                    }
                    if (!empty($field_output)) {
                        $element_type = 'li';
                        $element_style = 'style="font-size:16px; line-height:210%;"';
                        $field_output = preg_replace('/(^<a href="\\S*")(>.*<\\/a>)/', '$1 style="color:#333; text-decoration:none;"$2', $field_output);
                        $field_output = '<img src="https://gallery.mailchimp.com/9d2a465548ae81441a4c760fd/images/arrow.png" width="9" height="14" style="vertical-align:middle; padding-right:8px;" alt="Arrow">' . $field_output;
                    }
                } elseif ($view->name == 'page_subscription' && $view->current_display == 'jobs_pane') {
                    switch ($field) {
                        case 'title':
                            $element_type = 'h3';
                            $element_style = 'style="width:255px; margin:0; font-size:22px; font-weight:bold; font-family: Arial, sans-serif; line-height:120%;"';
                            $field_output = preg_replace('/(^<a href="\\S*")(>.*<\\/a>)/', '$1 style="color:#333; text-decoration:none;"$2', $field_output);
                            break;
                        case 'body':
                            $element_type = 'p';
                            $element_style = 'style="color:#333; font-size:16px; line-height:145%; font-family: Arial, sans-serif;"';
                            break;
                    }
                } elseif ($view->name == 'page_subscription' && $view->current_display == 'meetings_pane') {
                    switch ($field) {
                        case 'title':
                            $element_type = 'h3';
                            $element_style = 'style="width:255px; margin:0; font-size:22px; font-weight:bold; font-family: Arial, sans-serif; line-height:120%;"';
                            $field_output = preg_replace('/(^<a href="\\S*")(>.*<\\/a>)/', '$1 style="color:#333; text-decoration:none;"$2', $field_output);
                            break;
                        case 'field_os2web_meetings_type':
                            $field_prefix = '<span style="color:#333; font-size:16px; line-height:145%; font-family: Arial, sans-serif;">' . t('Type') . ': </span>';
                            $element_type = 'span';
                            $element_style = 'style="color:#333; font-size:16px; line-height:145%; font-family: Arial, sans-serif;"';
                            break;
                    }
                } elseif ($view->name == 'page_subscription' && $view->current_display == 'articles_pane') {
                    switch ($field) {
                        case 'title':
                            $element_type = 'h3';
                            $element_style = 'style="width:255px; margin:0; font-size:22px; font-weight:bold; font-family: Arial, sans-serif; line-height:120%;"';
                            $field_output = preg_replace('/(^<a href="\\S*")(>.*<\\/a>)/', '$1 style="color:#333; text-decoration:none;"$2', $field_output);
                            break;
                        case 'views_ifempty':
                            $element_type = 'p';
                            $element_style = 'style="color:#333; font-size:16px; line-height:145%; font-family: Arial, sans-serif;"';
                            break;
                    }
                } elseif ($view->name == 'page_subscription' && $view->current_display == 'hearings_pane') {
                    switch ($field) {
                        case 'title':
                            $element_type = 'h3';
                            $element_style = 'style="width:255px; margin:0; font-size:22px; font-weight:bold; font-family: Arial, sans-serif; line-height:120%;"';
                            $field_output = preg_replace('/(^<a href="\\S*")(>.*<\\/a>)/', '$1 style="color:#333; text-decoration:none;"$2', $field_output);
                            break;
                        case 'field_teaser':
                            $element_type = 'p';
                            $element_style = 'style="color:#333; font-size:16px; line-height:145%; font-family: Arial, sans-serif;"';
                            break;
                    }
                }
                if ($element_type) {
                    if ($element_style) {
                        $field_output = '<' . $element_type . ' ' . $element_style . '>' . $field_output . '</' . $element_type . '>';
                    } else {
                        $field_output = '<' . $element_type . '>' . $field_output . '</' . $element_type . '>';
                    }
                }
                if ($field_prefix) {
                    $field_output = $field_prefix . $field_output;
                }
                if ($field_suffix) {
                    $field_output = $field_output . $field_suffix;
                }
                // Don't bother with separators and stuff if the field does not show up.
                if (empty($field_output) && !empty($vars['rows'][$num][$column])) {
                    continue;
                }
                // Place the field into the column, along with an optional separator.
                if (!empty($vars['rows'][$num][$column])) {
                    if (!empty($options['info'][$column]['separator'])) {
                        $vars['rows'][$num][$column] .= filter_xss_admin($options['info'][$column]['separator']);
                    }
                } else {
                    $vars['rows'][$num][$column] = '';
                }
                $vars['rows'][$num][$column] .= $field_output;
            }
        }
        // Remove columns if the option is hide empty column is checked and the field is not empty.
        if (!empty($options['info'][$field]['empty_column'])) {
            $empty = TRUE;
            foreach ($vars['rows'] as $num => $columns) {
                $empty &= empty($columns[$column]);
            }
            if ($empty) {
                foreach ($vars['rows'] as $num => &$column_items) {
                    unset($column_items[$column]);
                    unset($vars['header'][$column]);
                }
            }
        }
    }
    // Hide table header if all labels are empty.
    if (!array_filter($vars['header'])) {
        $vars['header'] = array();
    }
    $count = 0;
    foreach ($vars['rows'] as $num => $row) {
        $vars['row_classes'][$num] = array();
        if ($row_class_special) {
            $vars['row_classes'][$num][] = $count++ % 2 == 0 ? 'odd' : 'even';
        }
        if ($row_class = $handler->get_row_class($num)) {
            $vars['row_classes'][$num][] = $row_class;
        }
    }
    if ($row_class_special) {
        $vars['row_classes'][0][] = 'views-row-first';
        $vars['row_classes'][count($vars['row_classes']) - 1][] = 'views-row-last';
    }
    $vars['classes_array'] = array('views-table');
    if (empty($vars['rows']) && !empty($options['empty_table'])) {
        $vars['rows'][0][0] = $view->display_handler->render_area('empty');
        // Calculate the amounts of rows with output.
        $vars['field_attributes'][0][0]['colspan'] = count($vars['header']);
        $vars['field_classes'][0][0] = 'views-empty';
    }
    if (!empty($options['sticky'])) {
        drupal_add_js('misc/tableheader.js');
        $vars['classes_array'][] = "sticky-enabled";
    }
    $vars['classes_array'][] = 'cols-' . count($vars['header']);
    // Add the summary to the list if set.
    if (!empty($handler->options['summary'])) {
        $vars['attributes_array'] = array('summary' => filter_xss_admin($handler->options['summary']));
    }
    // Add the caption to the list if set.
    if (!empty($handler->options['caption'])) {
        $vars['caption'] = filter_xss_admin($handler->options['caption']);
    } else {
        $vars['caption'] = '';
    }
    // Check whether this table view has draggableview field.
    if (!isset($vars['view']->field['draggableviews'])) {
        return;
    }
    // Check permissions.
    if (!user_access('access draggableviews')) {
        return;
    }
    // Add table class.
    $vars['classes_array'][] = 'draggable';
    // Add row class.
    foreach ($vars['row_classes'] as &$row_classes) {
        $row_classes[] = 'draggable';
    }
    $vars['attributes_array']['id'] = 'draggableviews-table-' . $vars['view']->name . '-' . $vars['view']->current_display;
    // Add javascript.
    drupal_add_tabledrag($vars['attributes_array']['id'], 'order', 'sibling', 'draggableviews-weight');
}