You are here

function google_admanager_admin_settings_form_submit in DFP Small Business (Google Ad Manager) 7.2

Same name and namespace in other branches
  1. 6.3 google_admanager.admin.inc \google_admanager_admin_settings_form_submit()
  2. 6 google_admanager.module \google_admanager_admin_settings_form_submit()
  3. 6.2 google_admanager.admin.inc \google_admanager_admin_settings_form_submit()

Implements hook_admin_settings_form_submit().

1 string reference to 'google_admanager_admin_settings_form_submit'
google_admanager_form_alter in ./google_admanager.module
Implements hook_form_alter().

File

./google_admanager.admin.inc, line 138
Admin functionality

Code

function google_admanager_admin_settings_form_submit($form, &$form_state) {
  $ad_slots = _google_admanager_get_ad_slots();
  $result = db_query("SELECT bid, delta FROM {block} WHERE module = :module", array(
    ':module' => 'google_admanager',
  ));
  foreach ($result as $block) {

    //remove the block when it is not in the list anymore
    if (!isset($ad_slots[$block->delta]) && substr($block->delta, 0, 10) !== 'superslot:') {
      db_delete('block')
        ->condition('bid', $block->bid)
        ->execute();
    }
  }

  // Remove orphan ad slots in superslots
  $superslots = variable_get('google_admanager_superslots', array());
  $ad_slot_names = array_values($ad_slots);
  foreach ($superslots as $name => $slots) {
    foreach ($slots as $ad_slot => $php) {
      if (!in_array($ad_slot, $ad_slot_names)) {
        unset($superslots[$name][$ad_slot]);
      }
    }
  }
  variable_set('google_admanager_superslots', $superslots);
}