query($sql); // Save the current default timezone so that we can restore it at the end $old_tz = mrbs_default_timezone_get(); $mods = array(); while (false !== ($row = $res->next_row_keyed())) { // We need to make sure that we have the correct timezone set when we work out // the day of the month that this series repeats on if (!empty($row['timezone'])) { mrbs_default_timezone_set($row['timezone']); } $mods[$row['id']] = date('j', $row['start_time']); } foreach ($mods as $id => $month_absolute) { $sql = "UPDATE " . _tbl('repeat') . " SET month_absolute=$month_absolute WHERE id=$id"; $upgrade_handle->command($sql); } // Restore the original timezone mrbs_default_timezone_set($old_tz);