You are here

function dfp_context_reaction_adunit::options_form in Doubleclick for Publishers (DFP) 7

Same name and namespace in other branches
  1. 7.2 plugins/contexts/dfp_context_reaction_adunit.inc \dfp_context_reaction_adunit::options_form()

Allow admins to choose what DFP adunit to override.

Overrides context_reaction::options_form

File

plugins/contexts/dfp_context_reaction_adunit.inc, line 15
Context reaction plugin for DFP ads.

Class

dfp_context_reaction_adunit
Expose DFP tags as context reactions.

Code

function options_form($context) {
  $form = array();

  // Get existing values for this form.
  $values = $this
    ->fetch_from_context($context);

  // Get a list of all DART tags.
  $options = array();
  $tags = dfp_tag_load_all();
  foreach ($tags as $tag) {
    $options[$tag->machinename] = $tag->slot;
  }
  $used_tags = implode(', ', $options);
  $form['adunit_override_tags'] = array(
    '#type' => 'checkboxes',
    '#title' => t('Tags to override'),
    '#description' => t("When this context is active, the tags selected here will have their ad unit overridden."),
    '#options' => $options,
    '#default_value' => isset($values['adunit_override_tags']) ? $values['adunit_override_tags'] : array(),
  );
  $form['adunit_override'] = array(
    '#title' => t('Override these DFP tags with a custom ad unit'),
    '#description' => t('Use the tokens below to define how the ad unit should display. The network id will be included automatically. Example: [dfp_tag:url_parts:4]/[dfp_tag:slot]'),
    '#type' => 'textfield',
    '#size' => 60,
    '#default_value' => isset($values['adunit_override']) ? $values['adunit_override'] : '',
  );
  $form['tokens'] = array(
    '#theme' => 'token_tree',
    '#token_types' => array(
      'dfp_tag',
      'node',
      'term',
      'user',
    ),
    '#global_types' => TRUE,
    '#click_insert' => TRUE,
    '#dialog' => TRUE,
  );
  return $form;
}