render($form), '#attached' => array( 'css' => array( 'dfp-admin' => drupal_get_path('module', 'dfp') . '/dfp.admin.css', ), ), ); $tags = dfp_tag_load_all(); foreach ($tags as $tag) { $tag_slot = array( 'tag slot name' => array( '#markup' => '

' . check_plain($tag->slot) . '

', ), ); $tag_tag = dfp_tag($tag->machinename); $tag_devel = array(); if (module_exists('devel')) { $tag_devel['object'] = array( '#markup' => kpr($tag, TRUE), ); } $output[] = array($tag_slot, $tag_tag, $tag_devel); } return $output; } /** * Build a form for display at the top of the adtest page allowing users to set * the adunit pattern for all dfp tags on that page. */ function dfp_adtest_form($form, &$form_state) { form_load_include($form_state, 'inc', 'dfp', 'dfp.adtest'); $form['#method'] = 'get'; $form['adunit_override'] = array( '#type' => 'textfield', '#title' => t('Ad Unit Override'), '#default_value' => isset($_GET['adunit_override']) ? $_GET['adunit_override'] : '', '#description' => t('Override the Ad Unit value for all the ad tags below. Use the tokens below to define how the ad unit should display. Example: [dfp_tag:network_id]/test/[dfp_tag:slot]'), ); $form['tokens'] = array( '#theme' => 'token_tree', '#token_types' => array('dfp_tag', 'node', 'term', 'user'), '#global_types' => TRUE, '#click_insert' => TRUE, '#dialog' => TRUE, '#weight' => 100, ); $form['submit'] = array( '#type' => 'submit', '#value' => t('Override'), ); return $form; } /** * Alter tags for various adtest scenaroios. */ function dfp_adtest_alter_tag(&$tag) { // Check for a submit on adtest form. if (isset($_GET['adunit_override'])) { // For security reasons, ensure that adunit_override contains only letters, // numbers, hyphens, dashes, periods, hard brackets and colons. Typically // only a site builder or an ad ops person will be using the adtest page so // if there is a problem with the adunit override value we can safely // display a somewhat technical message. if (!preg_match('@[^a-zA-Z0-9\-_\.\[\]\:]+@', $_GET['adunit_override'])) { $tag->adunit = $_GET['adunit_override']; } else { drupal_set_message(t('The adunit_override query string can only contain letters, numbers, hyphens, dashes, periods, hard brackets and colons. Please doublecheck the override string you were provided.'), 'error'); } } // Check for an "adtest" query string variable. if (isset($_GET['adtest'])) { $tag->adunit = variable_get('dfp_adtest_adunit', ''); } }