pagebreak.inc 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. <?php
  2. /**
  3. * @file
  4. * Webform module page break component.
  5. */
  6. /**
  7. * Implements _webform_defaults_component().
  8. */
  9. function _webform_defaults_pagebreak() {
  10. return array(
  11. 'name' => '',
  12. 'form_key' => NULL,
  13. 'pid' => 0,
  14. 'weight' => 0,
  15. 'extra' => array(
  16. 'private' => FALSE,
  17. ),
  18. );
  19. }
  20. /**
  21. * Implements _webform_theme_component().
  22. */
  23. function _webform_theme_pagebreak() {
  24. return array(
  25. 'webform_display_pagebreak' => array(
  26. 'render element' => 'element',
  27. 'file' => 'components/pagebreak.inc',
  28. ),
  29. );
  30. }
  31. /**
  32. * Implements _webform_edit_component().
  33. */
  34. function _webform_edit_pagebreak($component) {
  35. $form = array();
  36. // Force the parent to always be root.
  37. $form['position']['pid'] = array(
  38. '#type' => 'hidden',
  39. '#value' => '0',
  40. );
  41. $form['display'] = array('#type' => 'markup'); // Hide the display options.
  42. return $form;
  43. }
  44. /**
  45. * Implements _webform_render_component().
  46. */
  47. function _webform_render_pagebreak($component, $value = NULL, $filter = TRUE) {
  48. $element = array(
  49. '#type' => 'hidden',
  50. '#value' => $component['name'],
  51. '#weight' => $component['weight'],
  52. );
  53. return $element;
  54. }
  55. /**
  56. * Implements _webform_render_component().
  57. */
  58. function _webform_display_pagebreak($component, $value = NULL, $format = 'html') {
  59. $element = array(
  60. '#theme' => 'webform_display_pagebreak',
  61. '#title' => $component['name'],
  62. '#weight' => $component['weight'],
  63. '#format' => $format,
  64. '#translatable' => array('title'),
  65. );
  66. return $element;
  67. }
  68. /**
  69. * Format the text output data for this component.
  70. */
  71. function theme_webform_display_pagebreak($variables) {
  72. $element = $variables['element'];
  73. return $element['#format'] == 'html' ? '<h2 class="webform-page">' . check_plain($element['#title']) . '</h2>' : "--" . $element['#title'] . "--\n";
  74. }