204 lines
7.4 KiB
PHP
204 lines
7.4 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>";
|
|
|
|
$colors = json_decode(variable_get('booking_mailtemplate_colors'), TRUE);
|
|
$header_links = json_decode(variable_get('booking_mailtemplate_header_links'), TRUE);
|
|
$social_links = json_decode(variable_get('booking_mailtemplate_social_links'), TRUE);
|
|
|
|
/*
|
|
//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['colors'] = array(
|
|
'#type' => 'fieldset',
|
|
'#title' => 'Define Colours',
|
|
'#collapsible' => TRUE,
|
|
'#collapsed' => FALSE,
|
|
);
|
|
$form['colors']['booking_mailtemplate_background_color'] = array (
|
|
'#type' => 'textfield',
|
|
'#title' => t('Background Colour'),
|
|
'#description' => t('Specify CSS compatible value'),
|
|
'#size' => 10,
|
|
'#maxlength' => 50,
|
|
'#default_value' => empty($colors['booking_mailtemplate_background_color']) ? '#FFFFFF' : $colors['booking_mailtemplate_background_color'],
|
|
);
|
|
$form['colors']['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' => empty($colors['booking_mailtemplate_content_background_color']) ? '#FFFFFF' : $colors['booking_mailtemplate_content_background_color'],
|
|
);
|
|
$form['colors']['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' => empty($colors['booking_mailtemplate_header_background_color']) ? '#FFFFFF' : $colors['booking_mailtemplate_header_background_color'],
|
|
);
|
|
$form['colors']['booking_mailtemplate_text_color'] = array (
|
|
'#type' => 'textfield',
|
|
'#title' => t('Text Colour'),
|
|
'#description' => t('Specify CSS compatible value'),
|
|
'#size' => 10,
|
|
'#maxlength' => 50,
|
|
'#default_value' => empty($colors['booking_mailtemplate_text_color']) ? '#FFFFFF' : $colors['booking_mailtemplate_text_color'],
|
|
);
|
|
$form['colors']['booking_mailtemplate_link_color'] = array (
|
|
'#type' => 'textfield',
|
|
'#title' => t('Link Colour'),
|
|
'#description' => t('Specify CSS compatible value'),
|
|
'#size' => 10,
|
|
'#maxlength' => 50,
|
|
'#default_value' => empty($colors['booking_mailtemplate_link_color']) ? '#FFFFFF' : $colors['booking_mailtemplate_link_color'],
|
|
);
|
|
|
|
$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, $GLOBALS['base_url']),
|
|
);
|
|
}
|
|
|
|
$form['social-links'] = array(
|
|
'#type' => 'fieldset',
|
|
'#title' => 'Social Media Links',
|
|
'#collapsible' => TRUE,
|
|
'#collapsed' => TRUE,
|
|
);
|
|
|
|
//add form elements for header links
|
|
for ($i = 1; $i <= $social_media_link_max_count; $i++) {
|
|
$social_link_text = 'booking_mailtemplate_sociallink_text' . $i;
|
|
$social_image_url = 'booking_mailtemplate_socialimage_url' . $i;
|
|
$social_link_url = 'booking_mailtemplate_sociallink_url' . $i;
|
|
$form['social-links'][$social_link_text] = array(
|
|
'#type' => 'textfield',
|
|
'#title' => t('Hover text for social link ' . $i),
|
|
'#size' => 150,
|
|
'#maxlength' => 300,
|
|
'#default_value' => variable_get($social_link_text, 'Link Title'),
|
|
);
|
|
$form['social-links'][$social_image_url] = array(
|
|
'#type' => 'textfield',
|
|
'#title' => t('URL to social image ' . $i),
|
|
'#size' => 150,
|
|
'#maxlength' => 500,
|
|
'#default_value' => variable_get($social_image_url, $GLOBALS['base_url'] . '/sites/all/modules/booking/images/logo.png'),
|
|
);
|
|
$form['social-links'][$social_link_url] = array(
|
|
'#type' => 'textfield',
|
|
'#title' => t('URL for social link ' . $i),
|
|
'#size' => 150,
|
|
'#maxlength' => 500,
|
|
'#default_value' => variable_get($social_link_url, $GLOBALS['base_url']),
|
|
);
|
|
}
|
|
|
|
$form['submit'] = array(
|
|
'#type' => 'submit',
|
|
'#value' => t('Submit'),
|
|
);
|
|
|
|
return array (
|
|
'first_para' => array (
|
|
'#type' => 'markup',
|
|
'#markup' => $prefix,
|
|
),
|
|
'form' => $form,
|
|
);
|
|
}
|
|
|
|
function booking_mailtemplate_form_submit($form, &$form_state)
|
|
{
|
|
global $event;
|
|
$values = $form_state['input'];
|
|
$colors_variable_list = array('booking_mailtemplate_background_color', 'booking_mailtemplate_content_background_color',
|
|
'booking_mailtemplate_header_background_color', 'booking_mailtemplate_text_color', 'booking_mailtemplate_link_color',
|
|
);
|
|
$header_links_variable_list = array();
|
|
$social_links_variable_list = array();
|
|
|
|
$color_data = array();
|
|
$header_data = array();
|
|
$social_data = array();
|
|
// 'booking_mailtemplate_header_image_url', 'booking_mailtemplate_header_link_url');
|
|
|
|
//set all the values that are just using the builtin drupal variable definitions
|
|
foreach ($values as $key => $value) {
|
|
if (in_array($key, $colors_variable_list, FALSE)) {
|
|
//variable_set($key, $value);
|
|
$color_data[$key] = $value;
|
|
}
|
|
}
|
|
|
|
variable_set('booking_mailtemplate_colors', json_encode($color_data));
|
|
|
|
//update header links
|
|
|
|
//update social media links
|
|
|
|
} |