You are here

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

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

Implementation of hook_admin_settings_form_submit().

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

File

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

Code

function google_admanager_admin_settings_form_submit($form, &$form_state) {
  unset($form_state['storage']);
  $ad_slots = _google_admanager_get_ad_slots();
  $result = db_query("SELECT bid, delta FROM {blocks} WHERE module = 'google_admanager'");
  while ($block = db_fetch_object($result)) {

    //remove the block when it is not in the list anymore
    if (!isset($ad_slots[$block->delta]) && substr($block->delta, 0, 10) !== 'superslot:') {
      db_query("DELETE FROM {blocks} WHERE bid = %d", $block->bid);
    }
  }

  // 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);
}