View source
<?php
function google_admanager_uninstall() {
variable_del('google_admanager_account');
variable_del('google_admanager_ad_slots');
}
function google_admanager_update_6100() {
$ret = array();
$ret[] = update_sql("UPDATE {blocks} SET cache = -1 WHERE module = 'google_admanager'");
return $ret;
}
function google_admanager_update_6101() {
return google_admanager_update_6100();
}
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])) {
$ret[] = update_sql("UPDATE {blocks} SET delta = '" . $block_deltas[$block->delta] . "' WHERE bid = " . $block->bid);
}
else {
$ret[] = update_sql("DELETE FROM {blocks} WHERE bid = " . $block->bid);
}
}
}
return $ret;
}
function google_admanager_update_6102() {
return array();
}
function google_admanager_update_6103() {
$ret = array();
$delta = db_result(db_query("SELECT delta FROM {blocks} WHERE module = 'google_admanager'"));
if (empty($delta)) {
return $ret;
}
$ad_slots = variable_get('google_admanager_ad_slots', '');
$ad_slots = explode("\n", str_replace(array(
"\r",
"\t",
"\0",
"\v",
" ",
), '', trim($ad_slots)));
if (strlen($delta) > 3) {
foreach ($ad_slots as $i => $ad_slot) {
db_query("UPDATE {blocks} SET delta = '%d' WHERE module = 'google_admanager' AND (delta = '%s' OR delta = '%s') LIMIT 1", $i, truncate_utf8(drupal_strtolower($ad_slot), 64), truncate_utf8(drupal_strtolower($ad_slot), 32));
if (module_exists('panels')) {
db_query("UPDATE {panels_pane} SET subtype = 'google_admanager-%d' WHERE type = 'block' AND (subtype = 'google_admanager-%s' OR subtype = 'google_admanager-%s') LIMIT 1", $i, truncate_utf8(drupal_strtolower($ad_slot), 64), truncate_utf8(drupal_strtolower($ad_slot), 32));
}
}
}
foreach ($ad_slots as $i => $ad_slot) {
$ret[] = update_sql("UPDATE {blocks} SET delta = '" . md5(trim($ad_slot)) . "' WHERE module = 'google_admanager' AND delta = '" . $i . "'");
if (module_exists('panels')) {
$ret[] = update_sql("UPDATE {panels_pane} SET subtype = 'google_admanager-" . md5(trim($ad_slot)) . "' WHERE type = 'block' AND subtype = 'google_admanager-" . $i . "'");
}
}
return $ret;
}
function google_admanager_update_6200() {
return google_admanager_update_6103();
}