Configure HTML email template"; $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); watchdog('booking_debug', "
Mail template navigation links\n@info
", array('@info' => print_r($header_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_navigation_background_color'] = array ( '#type' => 'textfield', '#title' => t('Navigation links area Background Colour'), '#description' => t('Specify CSS compatible value'), '#size' => 10, '#maxlength' => 50, '#default_value' => empty($colors['booking_mailtemplate_navigation_background_color']) ? '#FFFFFF' : $colors['booking_mailtemplate_navigation_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' => 'Navigation 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 navigation 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 navigation 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_navigation_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; } elseif (strpos($key, "booking_mailtemplate_headerlink") === 0) { //get the ID for this header navigation link preg_match("/.*(\d+)$/", $key, $matches); $id = $matches[1]; $header_data[$id] = array( 'text' => $values['booking_mailtemplate_headerlink_text' . $id], 'link' => $values['booking_mailtemplate_headerlink_url' . $id], ); } } watchdog('booking_debug', "
Mail template navigation links\n@info
", array('@info' => print_r($header_data, true))); variable_set('booking_mailtemplate_colors', json_encode($color_data)); //variable_set('booking_mailtemplate_header_links', json_encode($header_data)); //update header links //update social media links }