You are here

function _linkit_build_attribute_form_fields in Linkit 7.2

Append attributes form element to the setttings form.

1 call to _linkit_build_attribute_form_fields()
linkit_profiles_export_ui_form in plugins/export_ui/linkit_profiles.inc
Generate a profile form.

File

plugins/export_ui/linkit_profiles.inc, line 235

Code

function _linkit_build_attribute_form_fields(&$form, $profile) {
  $form['data']['attributes_fieldset'] = array(
    '#type' => 'fieldset',
    '#title' => t('HTML Attributes'),
    '#collapsible' => TRUE,
    '#collapsed' => TRUE,
    '#tree' => FALSE,
  );
  $form['data']['attributes_fieldset']['attributes'] = array(
    '#markup' => '',
    '#tree' => TRUE,
    '#parents' => array(
      'data',
      'attributes',
    ),
  );
  $attrs = linkit_get_attributes($profile);

  // Sort by #weight.
  uasort($attrs, '_linkit_sort_attributes_by_weight');
  foreach ($attrs as $name => $attr) {
    $form['data']['attributes_fieldset']['attributes'][$name]['name'] = array(
      '#markup' => check_plain($attr['#title']),
    );
    $form['data']['attributes_fieldset']['attributes'][$name]['weight'] = array(
      '#type' => 'weight',
      '#title' => t('Weight for @title', array(
        '@title' => $attr['#title'],
      )),
      '#title_display' => 'invisible',
      '#default_value' => isset($profile->data['attributes'][$name]['weight']) ? $profile->data['attributes'][$name]['weight'] : LINKIT_DEFAULT_WEIGHT,
    );
    $form['data']['attributes_fieldset']['attributes'][$name]['enabled'] = array(
      '#type' => 'checkbox',
      '#title' => t('Enable @title', array(
        '@title' => $attr['#title'],
      )),
      '#title_display' => 'invisible',
      '#default_value' => isset($profile->data['attributes'][$name]['enabled']) ? $profile->data['attributes'][$name]['enabled'] : FALSE,
    );
  }
}