Files
booking/booking.mailtemplate_admin.inc

127 lines
4.3 KiB
PHP

<?php
/**
* Function to allow admin user to define parameters for HTML emails that can be sent by Bookings module
*
* @param
* @return form render array
*/
function booking_mailtemplate_form($node, &$form_state) {
global $event;
$form = array();
$header_link_max_count = 3;
$social_media_link_max_count = 5;
$prefix = "<h2>Configure HTML email template</h2>";
//query for existing header links
$query = db_select('booking_mailtemplate_fields', 'm');
$query->condition('m.booking_mailtemplate_media_type', 'header', '=');
$query->fields('m');
$header_links = $query->execute()->fetchAllAssoc('mid');
//query for existing social media links
$query = db_select('booking_mailtemplate_fields', 'm');
$query->condition('m.booking_mailtemplate_media_type', 'socialmedia', '=');
$query->fields('m');
$social_media_links = $query->execute()->fetchAllAssoc('mid');
$form['booking_mailtemplate_background_color'] = array (
'#type' => 'textfield',
'#title' => t('Background Colour'),
'#description' => t('Specify CSS compatible value'),
'#size' => 10,
'#maxlength' => 50,
'#default_value' => variable_get('booking_mailtemplate_background_color','#FFFFFF'),
);
$form['booking_mailtemplate_content_background_color'] = array (
'#type' => 'textfield',
'#title' => t('Content area Background Colour'),
'#description' => t('Specify CSS compatible value'),
'#size' => 10,
'#maxlength' => 50,
'#default_value' => variable_get('booking_mailtemplate_content_background_color','#FFFFFF'),
);
$form['booking_mailtemplate_header_background_color'] = array (
'#type' => 'textfield',
'#title' => t('Header area Background Colour'),
'#description' => t('Specify CSS compatible value'),
'#size' => 10,
'#maxlength' => 50,
'#default_value' => variable_get('booking_mailtemplate_header_background_color','#FFFFFF'),
);
$form['booking_mailtemplate_text_color'] = array (
'#type' => 'textfield',
'#title' => t('Text Colour'),
'#description' => t('Specify CSS compatible value'),
'#size' => 10,
'#maxlength' => 50,
'#default_value' => variable_get('booking_mailtemplate_text_color','#FFFFFF'),
);
$form['booking_mailtemplate_link_color'] = array (
'#type' => 'textfield',
'#title' => t('Link Colour'),
'#description' => t('Specify CSS compatible value'),
'#size' => 10,
'#maxlength' => 50,
'#default_value' => variable_get('booking_mailtemplate_link_color','#FFFFFF'),
);
$form['booking_mailtemplate_header_image_url'] = array (
'#type' => 'textfield',
'#title' => t('URL of header image'),
'#description' => t('Specify full URL to image used in header'),
'#size' => 150,
'#maxlength' => 500,
'#default_value' => variable_get('booking_mailtemplate_header_image_url', $GLOBALS['base_url'] . '/sites/all/modules/booking/images/logo.png'),
);
$form['booking_mailtemplate_header_link_url'] = array (
'#type' => 'textfield',
'#title' => t('Destination URL for header'),
'#description' => t('Specify full URL to direct user if they click on header image'),
'#size' => 150,
'#maxlength' => 500,
'#default_value' => variable_get('booking_mailtemplate_header_link_url', $GLOBALS['base_url']),
);
$form['header-links'] = array(
'#type' => 'fieldset',
'#title' => 'Header Links',
'#collapsible' => TRUE,
'#collapsed' => TRUE,
);
//add form elements for header links
for ($i = 1; $i <= $header_link_max_count; $i++) {
$header_link_text = 'booking_mailtemplate_headerlink_text' . $i;
$header_link_url = 'booking_mailtemplate_headerlink_url' . $i;
$form['header-links'][$header_link_text] = array(
'#type' => 'textfield',
'#title' => t('Display text for header link ' . $i),
'#size' => 150,
'#maxlength' => 300,
'#default_value' => variable_get($header_link_text,'Link Title'),
);
$form['header-links'][$header_link_url] = array(
'#type' => 'textfield',
'#title' => t('URL for header link ' . $i),
'#size' => 150,
'#maxlength' => 500,
'#default_value' => variable_get($header_link_url,'Link URL'),
);
}
$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Submit'),
);
return array (
'first_para' => array (
'#type' => 'markup',
'#markup' => $prefix,
),
'form' => $form,
);
}