function availability_calendars_install in Availability Calendars 6.2
Same name and namespace in other branches
- 5 availability_calendars.install \availability_calendars_install()
- 6 availability_calendars.install \availability_calendars_install()
- 7.2 availability_calendars.install \availability_calendars_install()
Implements hook_install().
File
- ./
availability_calendars.install, line 122 - Install, update and uninstall functions for the Availability Calendars module.
Code
function availability_calendars_install() {
// Install schema
drupal_install_schema('availability_calendars');
// Fill schema: add a default (starter, example) set of states to the database
$states = array(
array(
'class' => 'calav',
'label' => 'Available',
'weight' => 1,
'is_available' => 1,
),
array(
'class' => 'calna',
'label' => 'Fully booked',
'weight' => 2,
'is_available' => 0,
),
array(
'class' => 'calopt',
'label' => 'Provisionally booked',
'weight' => 3,
'is_available' => 0,
),
);
$insert_query = "INSERT INTO {availability_calendars_states} (class,label,weight) VALUES ('%s','%s',%d)";
$success = TRUE;
foreach ($states as $state) {
$success = db_query($insert_query, $state['class'], $state['label'], $state['weight']) !== FALSE && $success;
}
variable_set('availability_calendars_settings_system_generate', 1);
$styles = array(
'table' => array(
'font-size' => 'smaller',
'color' => '#000000',
'background-color' => '',
'border-width' => '1px',
'border-color' => '#000000',
),
'caption' => array(
'font-weight' => 'bold',
'font-style' => 'inherit',
'font-size' => 'smaller',
),
'header' => array(
'height' => '',
'font-weight' => 'bold',
'font-style' => 'inherit',
'font-size' => 'inherit',
'text-align' => 'center',
),
'week_notes' => array(
'width' => '90px',
),
'days' => array(
'width' => '28px',
'height' => '28px',
'text-align' => 'center',
'vertical-align' => 'middle',
),
'states' => array(
'split-day' => '/',
),
);
// Fill default states
$styles['states']['calav'] = '#90ee90';
$styles['states']['calna'] = '#ffb6c1';
$styles['states']['calopt'] = '#ffffe0';
variable_set('availability_calendars_styles', $styles);
$link = l(st('Availability Calendars') . ' ' . st('Styling'), 'admin/settings/availability-calendars/styling');
drupal_set_message(st("Please visit the '!link' page to generate a CSS file.", array(
'!link' => $link,
)), 'warning');
if (!$success) {
drupal_set_message(st('Availability Calendars module not installed successfully.'), 'error');
}
else {
drupal_set_message(st('Availability Calendars module installed successfully.'), 'warning');
}
}