function webform2pdf_edit_form in Webform2PDF 7.4
Same name and namespace in other branches
- 6.2 includes/webform2pdf.settings.inc \webform2pdf_edit_form()
- 6 webform2pdf.module \webform2pdf_edit_form()
- 7.3 includes/webform2pdf.settings.inc \webform2pdf_edit_form()
Overview form of all components for this webform.
1 string reference to 'webform2pdf_edit_form'
- webform2pdf_menu in ./
webform2pdf.module - Implements hook_menu().
File
- includes/
webform2pdf.settings.inc, line 534 - Webform to PDF settings form.
Code
function webform2pdf_edit_form($form, &$form_state, $node) {
$default = webform2pdf_get_setting($node->nid);
if (!$default) {
$default = variable_get('webform2pdf_default', '');
$default['enabled'] = 0;
}
$form['enabled'] = array(
'#default_value' => $default['enabled'],
'#type' => 'checkbox',
'#title' => t('Generate PDF Document.'),
);
$webform2pdf_default = variable_get('webform2pdf_default', '');
// Needed because of file upload
$form['#attributes'] = array(
'enctype' => 'multipart/form-data',
);
$form['base'] = array(
'#type' => 'fieldset',
'#title' => t('General settings'),
'#collapsible' => TRUE,
'#collapsed' => TRUE,
'#states' => array(
'visible' => array(
'input[name="enabled"]' => array(
'checked' => TRUE,
),
),
),
);
$form['base']['page_format'] = array(
'#type' => 'select',
'#title' => t('Paper size'),
'#default_value' => $default['page_format'],
'#options' => array(
'4A0' => '4A0',
'2A0' => '2A0',
'A0' => 'A0',
'A1' => 'A1',
'A2' => 'A2',
'A3' => 'A3',
'A4' => 'A4',
'A5' => 'A5',
'A6' => 'A6',
'A7' => 'A7',
'A8' => 'A8',
'A9' => 'A9',
'A10' => 'A10',
'A11' => 'A11',
'A12' => 'A12',
'B0' => 'B0',
'B1' => 'B1',
'B2' => 'B2',
'B3' => 'B3',
'B4' => 'B4',
'B5' => 'B5',
'B6' => 'B6',
'B7' => 'B7',
'B8' => 'B8',
'B9' => 'B9',
'B10' => 'B10',
'B11' => 'B11',
'B12' => 'B12',
'C0' => 'C0',
'C1' => 'C1',
'C2' => 'C2',
'C3' => 'C3',
'C4' => 'C4',
'C5' => 'C5',
'C6' => 'C6',
'C7' => 'C7',
'C8' => 'C8',
'C9' => 'C9',
'C10' => 'C10',
'C11' => 'C11',
'C12' => 'C12',
'DL' => 'DL',
'E0' => 'E0',
'E1' => 'E1',
'E2' => 'E2',
'E3' => 'E3',
'E4' => 'E4',
'E5' => 'E5',
'E6' => 'E6',
'E7' => 'E7',
'E8' => 'E8',
'E9' => 'E9',
'E10' => 'E10',
'E11' => 'E11',
'E12' => 'E12',
'G0' => 'G0',
'G1' => 'G1',
'G2' => 'G2',
'G3' => 'G3',
'G4' => 'G4',
'G5' => 'G5',
'G6' => 'G6',
'G7' => 'G7',
'G8' => 'G8',
'G9' => 'G9',
'G10' => 'G10',
'G11' => 'G11',
'G12' => 'G12',
'RA0' => 'RA0',
'RA1' => 'RA1',
'RA2' => 'RA2',
'RA3' => 'RA3',
'RA4' => 'RA4',
'SRA0' => 'SRA0',
'SRA1' => 'SRA1',
'SRA2' => 'SRA2',
'SRA3' => 'SRA3',
'SRA4' => 'SRA4',
'LETTER' => t('Letter'),
'LEGAL' => t('Legal'),
'EXECUTIVE' => t('Executive'),
'FOLIO' => t('Folio'),
),
);
$form['base']['page_orientation'] = array(
'#type' => 'radios',
'#title' => t('Page orientation'),
'#default_value' => $default['page_orientation'],
'#options' => array(
'P' => t('Portrait'),
'L' => t('Landscape'),
),
);
//background image
$form['base']['p_background'] = array(
'#type' => 'value',
'#value' => $default['p_background'],
);
if ($default['p_background']) {
$file = file_load($default['p_background']);
$picture = array(
'path' => $file->uri,
'alt' => 'Page background',
'title' => $file->filename,
);
$form['base']['p_background_img'] = array(
'#type' => 'item',
'#title' => t('Background image for page'),
'#markup' => theme('image', $picture),
);
$form['base']['p_background_del'] = array(
'#type' => 'checkbox',
'#title' => t('Delete this image.'),
);
}
else {
$form['base']['p_background_file'] = array(
'#type' => 'file',
'#title' => t('Background image for page.'),
'#size' => 60,
'#description' => t('Upload background image for page. Image will be scaled by page size.'),
);
}
// E-mail settings
$form['email'] = array(
'#type' => 'fieldset',
'#title' => t('E-mail settings'),
'#collapsible' => TRUE,
'#collapsed' => TRUE,
'#states' => array(
'visible' => array(
'input[name="enabled"]' => array(
'checked' => TRUE,
),
),
),
);
$form['email']['pdf_send_email'] = array(
'#type' => 'checkbox',
'#title' => t('Attach PDF as an attachment to the e-mails sent to the form recipients.'),
'#default_value' => $default['pdf_send_email'],
);
$send_mail = array();
if (!empty($node->webform['email'])) {
$send_mail['email'] = $node->webform['email'];
}
if (is_array($node->webform['emails'])) {
foreach ($node->webform['emails'] as $eid => $email) {
$email_addresses = array_filter(explode(',', check_plain($email['email'])));
foreach ($email_addresses as $key => $email_address) {
$email_addresses[$key] = webform_format_email_address($email_address, NULL, $node, NULL, FALSE);
}
$send_mail[$eid] = implode(', ', $email_addresses);
}
}
if (count($send_mail)) {
if (isset($default['no_send_email_addr'])) {
$def = $default['no_send_email_addr'];
}
if (!isset($def) || !is_array($def)) {
$def = array();
}
$form['email']['no_send_email_addr'] = array(
'#title' => t("Don't attach PDF file"),
'#type' => 'checkboxes',
'#options' => $send_mail,
'#default_value' => $def,
'#description' => t("PDF file won't be attached to the e-mail sent to the following recipients."),
);
}
// Header
$form['header'] = array(
'#type' => 'fieldset',
'#title' => t('PDF header'),
'#collapsible' => TRUE,
'#collapsed' => TRUE,
'#states' => array(
'visible' => array(
'input[name="enabled"]' => array(
'checked' => TRUE,
),
),
),
);
$form['header']['h_left_logo'] = array(
'#type' => 'value',
'#value' => $default['h_left_logo'],
);
if ($default['h_left_logo']) {
$logo_file = file_load($default['h_left_logo']);
$picture = array(
'path' => $logo_file->uri,
'alt' => 'Header left logo.',
'title' => $logo_file->filename,
);
$form['header']['h_left_logo_img'] = array(
'#type' => 'item',
'#title' => t('Logo on the left side'),
'#markup' => theme('image', $picture),
);
$form['header']['h_left_logo_del'] = array(
'#type' => 'checkbox',
'#title' => t('Delete left side logo.'),
);
}
else {
$form['header']['h_left_logo_file'] = array(
'#type' => 'file',
'#title' => t('Upload left side logo'),
'#size' => 60,
'#maxlength' => 250,
'#description' => t("Upload left side logo. If the size of the uploaded image is more than @size, it will be resized to this size.", array(
'@size' => $webform2pdf_default['h_left_logo_size'],
)),
);
}
$form['header']['h_txt'] = array(
'#type' => 'textarea',
'#title' => t('Header text'),
'#rows' => '5',
'#default_value' => $default['h_txt'],
'#resizable' => FALSE,
'#description' => t("PDF header text. 5 rows maximum.") . theme('webform_token_help'),
);
$form['header']['h_txt_align'] = array(
'#type' => 'select',
'#title' => t('Text alignment'),
'#default_value' => $default['h_txt_align'],
'#options' => array(
'L' => t('Align left'),
'C' => t('Align center'),
'R' => t('Align right'),
),
);
$form['header']['h_font_family'] = array(
'#type' => 'select',
'#title' => t('Font Family'),
'#default_value' => $default['h_font_family'],
'#options' => _webform2pdf_get_available_fonts('header'),
'#description' => t('Set the font family to be used.'),
);
$form['header']['h_font_size'] = array(
'#type' => 'textfield',
'#title' => t('Font Size'),
'#default_value' => $default['h_font_size'],
'#size' => 2,
'#maxlength' => 3,
'#description' => t('Set the font size to be used for header text. This is the base value for the scaling applied to other text styles.'),
);
$form['header']['h_right_logo'] = array(
'#type' => 'value',
'#value' => $default['h_right_logo'],
);
if ($default['h_right_logo']) {
$logo_file = file_load($default['h_right_logo']);
$picture = array(
'path' => $logo_file->uri,
'alt' => 'Header right logo.',
'title' => $logo_file->filename,
);
$form['header']['h_right_logo_img'] = array(
'#type' => 'item',
'#title' => t('Logo on the right side'),
'#markup' => theme('image', $picture),
);
$form['header']['h_right_logo_del'] = array(
'#type' => 'checkbox',
'#title' => t('Delete right logo.'),
);
}
else {
$form['header']['h_right_logo_file'] = array(
'#type' => 'file',
'#title' => t('Upload right logo'),
'#size' => 60,
'#maxlength' => 250,
'#description' => t("Upload right side logo. If the size of the uploaded image is more than @size, it will be resized to this size.", array(
'@size' => $webform2pdf_default['h_right_logo_size'],
)),
);
}
// PDF body (page)
$form['page'] = array(
'#type' => 'fieldset',
'#title' => t('Content of the PDF document'),
'#collapsible' => TRUE,
'#collapsed' => TRUE,
'#states' => array(
'visible' => array(
'input[name="enabled"]' => array(
'checked' => TRUE,
),
),
),
);
$form['page']['p_body'] = array(
'#type' => 'text_format',
'#base_type' => 'textarea',
'#title' => t('Page body'),
'#format' => isset($default['p_body']['format']) ? $default['p_body']['format'] : NULL,
'#rows' => '10',
'#default_value' => $default['p_body']['value'],
'#description' => t("The content of the PDF file can be defined here, the text can be formatted with HTML and CSS tags.") . theme('webform_token_help', array(
'groups' => array(
'node',
'submission',
),
)),
);
$form['page']['p_txt_align'] = array(
'#type' => 'select',
'#title' => t('Text alignment'),
'#default_value' => $default['p_txt_align'],
'#options' => array(
'L' => t('Align left'),
'C' => t('Align center'),
'R' => t('Align right'),
),
);
$form['page']['p_font_family'] = array(
'#type' => 'select',
'#title' => t('Font Family'),
'#default_value' => $default['p_font_family'],
'#options' => _webform2pdf_get_available_fonts('page'),
'#description' => t('Set the font family to be used.'),
);
$form['page']['p_font_size'] = array(
'#type' => 'textfield',
'#title' => t('Font Size'),
'#default_value' => $default['p_font_size'],
'#size' => 2,
'#maxlength' => 3,
'#description' => t('Set the font size to be used for header text. This is the base value for the scaling applied to other text styles.'),
);
// Footer
$form['footer'] = array(
'#type' => 'fieldset',
'#title' => t('PDF footer'),
'#collapsible' => TRUE,
'#collapsed' => TRUE,
'#states' => array(
'visible' => array(
'input[name="enabled"]' => array(
'checked' => TRUE,
),
),
),
);
$form['footer']['f_left_logo'] = array(
'#type' => 'value',
'#value' => $default['f_left_logo'],
);
if ($default['f_left_logo']) {
$logo_file = file_load($default['f_left_logo']);
$picture = array(
'path' => $logo_file->uri,
'alt' => 'Footer left logo.',
'title' => $logo_file->filename,
);
$form['footer']['f_left_logo_img'] = array(
'#type' => 'item',
'#title' => t('Logo on the left side'),
'#markup' => theme('image', $picture),
);
$form['footer']['f_left_logo_del'] = array(
'#type' => 'checkbox',
'#title' => t('Delete left side logo.'),
);
}
else {
$form['footer']['f_left_logo_file'] = array(
'#type' => 'file',
'#title' => t('Upload left side logo'),
'#size' => 60,
'#maxlength' => 250,
'#description' => t("Upload left side logo. If the size of the uploaded image is more than @size, it will be resized to this size.", array(
'@size' => $webform2pdf_default['f_left_logo_size'],
)),
);
}
$form['footer']['f_txt'] = array(
'#type' => 'textarea',
'#title' => t('Footer text'),
'#rows' => '2',
'#default_value' => $default['f_txt'],
'#resizable' => FALSE,
'#description' => t("The PDF footer text. 2 rows maximum. The following special element can be used: %pagenumber - number of the page, %totalpage - total page count.") . theme('webform_token_help'),
);
$form['footer']['f_txt_align'] = array(
'#type' => 'select',
'#title' => t('Text alignment'),
'#default_value' => $default['f_txt_align'],
'#options' => array(
'L' => t('Align left'),
'C' => t('Align center'),
'R' => t('Align right'),
),
);
$form['footer']['f_font_family'] = array(
'#type' => 'select',
'#title' => t('Font Family'),
'#default_value' => $default['f_font_family'],
'#options' => _webform2pdf_get_available_fonts('footer'),
'#description' => t('Set the font family to be used.'),
);
$form['footer']['f_font_size'] = array(
'#type' => 'textfield',
'#title' => t('Font Size'),
'#default_value' => $default['f_font_size'],
'#size' => 2,
'#maxlength' => 3,
'#description' => t('Set the font size to be used for header text. This is the base value for the scaling applied to other text styles.'),
);
$form['footer']['f_right_logo'] = array(
'#type' => 'value',
'#value' => $default['f_right_logo'],
);
if ($default['f_right_logo']) {
$logo_file = file_load($default['f_right_logo']);
$picture = array(
'path' => $logo_file->uri,
'alt' => 'Footer right logo.',
'title' => $logo_file->filename,
);
$form['footer']['f_right_logo_img'] = array(
'#type' => 'item',
'#title' => t('Logo on the right side'),
'#markup' => theme('image', $picture),
);
$form['footer']['f_right_logo_del'] = array(
'#type' => 'checkbox',
'#title' => t('Delete right logo.'),
);
}
else {
$form['footer']['f_right_logo_file'] = array(
'#type' => 'file',
'#title' => t('Upload right logo'),
'#size' => 60,
'#maxlength' => 250,
'#description' => t("Upload right side logo. If the size of the uploaded image is more than @size, it will be resized to this size.", array(
'@size' => $webform2pdf_default['f_right_logo_size'],
)),
);
}
$form['nid'] = array(
'#type' => 'value',
'#value' => $node->nid,
);
$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Save'),
);
if (!isset($default['nid'])) {
$form['new'] = array(
'#type' => 'value',
'#value' => 1,
);
}
else {
$form['reset'] = array(
'#type' => 'submit',
'#value' => t('Reset to defaults'),
);
}
return $form;
}