function availability_calendars_update_node_notes in Availability Calendars 7.2
Same name and namespace in other branches
- 6.2 availability_calendars.inc \availability_calendars_update_node_notes()
Updates the calendar notes for the given node in the given month.
Parameters
int $calendar_nid:
int $year:
int $month:
array $notes: The (possibly empty) notes keyed by week number.
1 call to availability_calendars_update_node_notes()
- 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 298 - General helper methods for Availability Calendars, like database access and settings.
Code
function availability_calendars_update_node_notes($calendar_nid, $year, $month, $notes) {
// Delete all current notes.
db_delete('availability_calendars_week')
->condition('nid', $calendar_nid)
->condition('year', $year)
->condition('month', $month)
->execute();
// Insert new notes.
$query = db_insert('availability_calendars_week');
$values = array(
'nid' => $calendar_nid,
'year' => $year,
'month' => $month,
);
$has_records = FALSE;
foreach ($notes as $values['week'] => $values['note']) {
if (!empty($values['note'])) {
if (!$has_records) {
$query
->fields($values);
$has_records = TRUE;
}
else {
$query
->values($values);
}
}
}
if ($has_records) {
$query
->execute();
}
}