function google_admanager_wrong_update_6102 in DFP Small Business (Google Ad Manager) 6.3
Same name and namespace in other branches
- 6 google_admanager.install \google_admanager_wrong_update_6102()
- 6.2 google_admanager.install \google_admanager_wrong_update_6102()
- 7.2 google_admanager.install \google_admanager_wrong_update_6102()
Implementation of hook_update_N().
Convert block deltas from integers to strings based on the Google Ad Manager slot name. See http://drupal.org/node/624284
File
- ./
google_admanager.install, line 43 - Install, update and uninstall functions for the google_admanager module.
Code
function google_admanager_wrong_update_6102() {
$ret = array();
$ad_slots = variable_get('google_admanager_ad_slots', '');
$ad_slots = explode("\n", str_replace(array(
"\r",
"\t",
"\0",
"\v",
" ",
), '', trim($ad_slots)));
$block_deltas = array();
foreach ($ad_slots as $i => $ad_slot) {
$block_deltas[$i] = truncate_utf8(drupal_strtolower($ad_slot), 32);
}
if (is_array($ad_slots)) {
$result = db_query("SELECT bid, delta FROM {blocks} WHERE module = 'google_admanager'");
while ($block = db_fetch_object($result)) {
if (isset($ad_slots[$block->delta])) {
//updating block with new delta based on the block name
$ret[] = update_sql("UPDATE {blocks} SET delta = '" . $block_deltas[$block->delta] . "' WHERE bid = " . $block->bid);
}
else {
//removing the block which does not exist anymore
$ret[] = update_sql("DELETE FROM {blocks} WHERE bid = " . $block->bid);
}
}
}
return $ret;
}