public function AvailabilityCalendarsNodeEditCalendarFormHandler::build in Availability Calendars 7.2
Builds the node/%node/availability-calendars page form.
Parameters
array $form:
Return value
array The modified form.
File
- ./
availability_calendars.node.inc, line 366
Class
Code
public function build($form) {
// Add js or the edit functionality.
availability_calendars_add_js($this->node, NULL, 'edit');
// Add form fields.
$year = (int) date('Y');
$month = (int) date('m');
$form['availability_calendar'] = array(
'#type' => 'markup',
'#theme' => 'availability_calendars_node',
'#markup' => '',
'#prefix' => '<div class="description">' . t('To update the calendar: select a state (below the calendar) and click on a begin and end date. Repeat if needed. When finished, click on <em>@button</em>.', array(
'@button' => t('Update'),
)) . '</div>',
'#node' => $this->node,
'#year' => $year,
'#month' => $month,
'#settings' => $this->settings,
);
$options = array();
foreach ($this->settings->states as $class => $state) {
$options[$class] = t($state['label']);
}
$form['availability_states'] = array(
'#type' => 'radios',
'#title' => t('States'),
'#default_value' => $this->settings->defaultstatus,
'#options' => $options,
);
$form['availability_changes'] = array(
'#type' => 'hidden',
'#title' => t('Changes in availability'),
'#default_value' => '',
'#attributes' => array(
'id' => 'edit-availability-changes',
),
);
// Add form button.
$form['actions'] = array(
'#type' => 'actions',
);
$form['actions']['submit'] = array(
'#type' => 'submit',
'#value' => t('Update'),
);
return $form;
}