You are here

function availability_calendars_update_node_states in Availability Calendars 6.2

Same name and namespace in other branches
  1. 7.2 availability_calendars.inc \availability_calendars_update_node_states()

Update the states for the calendar for the given node in the given month.

Parameters

int $nid:

int $year:

int $month: $param array $states array with 28 to 31 day states (string) keyed by the day of the month number (int).

1 call to availability_calendars_update_node_states()
availability_calendars_node_edit_calendar_month_form_submit in ./availability_calendars.node.inc
Callback function for submitting a node edit form.

File

./availability_calendars.inc, line 209
General helper methods for Availability Calendars, like database access and settings.

Code

function availability_calendars_update_node_states($nid, $year, $month, $states) {
  $start_date = date(AC_ISODATE, mktime(0, 0, 0, $month, 1, $year));
  $end_date = date(AC_ISODATE, mktime(0, 0, 0, $month + 1, 0, $year));
  db_query("DELETE FROM {availability_calendars_day} WHERE nid = %d AND date BETWEEN '%s' AND '%s'", $nid, $start_date, $end_date);
  foreach ($states as $day => $status) {
    db_query("INSERT INTO {availability_calendars_day} (nid, date, status) VALUES (%d, '%s', '%s')", $nid, "{$year}-{$month}-{$day}", $status);
  }
}