wrapper_raw.inc 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. <?php
  2. /**
  3. * @file
  4. * 'Wrapper: Raw' style.
  5. */
  6. // Plugin definition.
  7. $plugin = array(
  8. 'title' => t('Wrapper: Raw'),
  9. 'description' => t('Wrap regions and panes with raw HTML.'),
  10. 'render region' => 'panels_extra_styles_wrapper_render_region',
  11. 'render pane' => 'panels_extra_styles_wrapper_render_pane',
  12. 'settings form' => 'panels_extra_styles_wrapper_raw_region_settings_form',
  13. 'pane settings form' => 'panels_extra_styles_wrapper_raw_pane_settings_form',
  14. );
  15. /**
  16. * Region settings form callback.
  17. */
  18. function panels_extra_styles_wrapper_raw_region_settings_form($style_settings) {
  19. $settings_default_value = isset($style_settings['content']) ? $style_settings['content'] : array();
  20. $form['content'] = array(
  21. '#type' => 'fieldset',
  22. '#title' => t('Content'),
  23. ) + _panels_extra_styles_wrapper_raw_prefix_suffix_options($settings_default_value);
  24. // Theming.
  25. $theme_default_value = !empty($style_settings['theme']) ? $style_settings['theme'] : FALSE;
  26. $form += _panels_extra_styles_wrapper_raw_theme_options($theme_default_value);
  27. return $form;
  28. }
  29. /**
  30. * Pane settings form callback.
  31. */
  32. function panels_extra_styles_wrapper_raw_pane_settings_form($style_settings) {
  33. $settings_default_value = isset($style_settings['title']) ? $style_settings['title'] : array();
  34. $form['title'] = array(
  35. '#type' => 'fieldset',
  36. '#title' => t('Title'),
  37. ) + _panels_extra_styles_wrapper_raw_prefix_suffix_options($settings_default_value);
  38. // Content form items, grabbed from region settings.
  39. $form += panels_extra_styles_wrapper_raw_region_settings_form($style_settings);
  40. // Theming.
  41. $theme_default_value = !empty($style_settings['theme']) ? $style_settings['theme'] : FALSE;
  42. $form += _panels_extra_styles_wrapper_raw_theme_options($theme_default_value);
  43. return $form;
  44. }
  45. /**
  46. * Prefix & suffix options for settings form.
  47. */
  48. function _panels_extra_styles_wrapper_raw_prefix_suffix_options($default_value = array()) {
  49. $options['prefix'] = array(
  50. '#type' => 'textarea',
  51. '#title' => t('Prefix'),
  52. '#description' => t('HTML code to go <em>before</em> the content.'),
  53. '#default_value' => isset($default_value['prefix']) ? $default_value['prefix'] : '',
  54. );
  55. $options['suffix'] = array(
  56. '#type' => 'textarea',
  57. '#title' => t('Suffix'),
  58. '#description' => t('HTML code to go <em>after</em> the content.'),
  59. '#default_value' => isset($default_value['suffix']) ? $default_value['suffix'] : '',
  60. );
  61. return $options;
  62. }
  63. /**
  64. * Theme options for settings forms.
  65. */
  66. function _panels_extra_styles_wrapper_raw_theme_options($default_value = FALSE) {
  67. $options['theme'] = array(
  68. '#type' => 'checkbox',
  69. '#title' => t('Additionally, wrap the content with Panels theming layer.'),
  70. '#default_value' => $default_value,
  71. );
  72. return $options;
  73. }