You are here

function theme_views_bulk_operations_fields_action_form in Views Bulk Operations (VBO) 6.3

Same name and namespace in other branches
  1. 6 actions/fields.action.inc \theme_views_bulk_operations_fields_action_form()

File

./fields.action.inc, line 149
Drupal action to set individual field values.

Code

function theme_views_bulk_operations_fields_action_form(&$form) {
  $output = '';
  if (user_access('Use PHP input for field settings (dangerous - grant with care)') && $form['#settings']['php_code']) {
    $output = t('<h3>Using the Code widget</h4>
                  <ul>
                  <li>Will override the value specified in the Field widget.</li>
                  <li>Should include &lt;?php ?&gt; delimiters.</li>
                  <li>If in doubt, refer to <a target="_blank" href="@link_devel">devel.module</a> \'Dev load\' tab on a content page to figure out the expected format.</li>
                  </ul>', array(
      '@link_devel' => 'http://www.drupal.org/project/devel',
    ));
  }
  if (count($form['#field_info']) == 1) {

    // Special case for just one field: make the table more usable
    $field_name = key($form['#field_info']);
    $header = array();
    if ($form[$field_name . '_add']['#type'] == 'checkbox') {
      $row[] = drupal_render($form[$field_name . '_add']);
      $header[] = t('Add?');
    }
    $row[] = drupal_render($form[$field_name]);
    $header[] = t('Field');
    if (user_access('Use PHP input for field settings (dangerous - grant with care)') && $form['#settings']['php_code']) {
      $row[] = drupal_render($form[$field_name . '_code']);
      $header[] = t('Code');
    }
    if (count($header) == 1) {
      $header = NULL;
    }
    $output .= theme('table', $header, array(
      array(
        'class' => 'fields-action-row',
        'id' => 'fields-action-row' . str_replace('_', '-', $field_name),
        'data' => $row,
      ),
    ));
  }
  else {

    // Many fields
    drupal_add_js(drupal_get_path('module', 'views_bulk_operations') . '/fields.action.js');
    $header = array(
      theme('table_select_header_cell'),
      t('Add?'),
      t('Field'),
    );
    if (user_access('Use PHP input for field settings (dangerous - grant with care)') && $form['#settings']['php_code']) {
      $header[] = t('Code');
    }
    foreach ($form['#field_info'] as $field_name => $field) {
      $row = array(
        'class' => 'fields-action-row',
        'id' => 'fields-action-row-' . str_replace('_', '-', $field_name),
        'data' => array(
          drupal_render($form[$field_name . '_check']),
          drupal_render($form[$field_name . '_add']),
          drupal_render($form[$field_name]),
        ),
      );
      if (user_access('Use PHP input for field settings (dangerous - grant with care)') && $form['#settings']['php_code']) {
        $row['data'][] = drupal_render($form[$field_name . '_code']);
      }
      $rows[] = $row;
    }
    $output .= theme('table', $header, $rows);
  }
  $output .= drupal_render($form);
  return $output;
}