You are here

function google_adwords_form_alter in Google AdWords Conversion Tracking 6

Implementation of hook_form_alter().

File

./google_adwords.module, line 30

Code

function google_adwords_form_alter(&$form, $form_state, $form_id) {
  if ($form_id == 'node_type_form' && isset($form['identity']['type'])) {
    $form['google_adwords'] = array(
      '#type' => 'fieldset',
      '#access' => user_access(GOOGLE_ADWORDS_ADMIN_PERM),
      '#title' => t('Google AdWords'),
      '#collapsible' => TRUE,
      '#collapsed' => TRUE,
      '#tree' => FALSE,
    );

    // Enable/disable Google AdWords for this content type.
    $form['google_adwords']['google_adwords_activation'] = array(
      '#type' => 'radios',
      '#title' => t('Google AdWords parameters'),
      '#description' => t('Provide Google AdWords for nodes of this content type.'),
      '#default_value' => variable_get('google_adwords_activation_' . $form['#node_type']->type, 0),
      // default to 'Disabled'
      '#options' => array(
        t('Disabled'),
        t('Enabled'),
      ),
    );
  }

  // Extend node creation and edit form with Google AdWords parameters.
  if (isset($form['type']) && isset($form['#node'])) {
    $node = $form['#node'];
    if ($form['type']['#value'] . '_node_form' == $form_id && variable_get('google_adwords_activation_' . $node->type, FALSE)) {

      // Google AdWords fieldset
      $form['google_adwords'] = array(
        '#type' => 'fieldset',
        '#access' => user_access(GOOGLE_ADWORDS_EDIT_PERM),
        '#title' => t('Google AdWords'),
        '#collapsible' => TRUE,
        '#collapsed' => empty($node->google_adwords),
        '#prefix' => '<div class="google-adwords-params">',
        '#suffix' => '</div>',
        '#weight' => 30,
        '#tree' => TRUE,
      );

      // Parameters
      $form['google_adwords']['enabled'] = array(
        '#type' => 'radios',
        '#title' => t('Enable Google AdWords on this node'),
        '#default_value' => isset($node->google_adwords['enabled']) ? $node->google_adwords['enabled'] : 0,
        '#options' => array(
          0 => t('No'),
          1 => t('Yes'),
        ),
      );
      $form['google_adwords']['label'] = array(
        '#title' => t('Conversion Label'),
        '#type' => 'textfield',
        '#default_value' => isset($node->google_adwords['label']) ? $node->google_adwords['label'] : '',
      );
      $form['google_adwords']['format'] = array(
        '#title' => t('Conversion Format'),
        '#type' => 'select',
        '#options' => _google_adwords_conversion_formats(),
        '#default_value' => !empty($node->google_adwords['format']) ? $node->google_adwords['format'] : variable_get('google_adwords_conversion_format', '2'),
        '#maxlength' => 10,
      );
      $form['google_adwords']['color'] = array(
        '#type' => 'textfield',
        '#title' => t('Conversion Color'),
        '#default_value' => !empty($node->google_adwords['color']) ? $node->google_adwords['color'] : variable_get('google_adwords_conversion_color', 'FFFFFF'),
        '#size' => 10,
        '#maxlength' => 10,
      );
    }
  }
}