Guest User

Untitled

a guest
Jul 17th, 2018
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.92 KB | None | 0 0
  1. function myforms_company_add_form($form, &$form_state, $node) {
  2.  
  3. $form['#prefix'] = '<div id="wrapper">';
  4. $form['#suffix'] = '</div>';
  5.  
  6. if(!isset($form_state['values']['region']) && !isset($form_state['values']['country'])) {
  7. $selectedRegion = array_shift(taxonomy_get_parents($node->field_company_region['und'][0]['tid']))->tid;
  8. $selectedCountry = $node->field_company_region['und'][0]['tid'];
  9. }
  10. else {
  11. $selectedRegion = $form_state['values']['region'];
  12. $selectedCountry = $form_state['values']['country'];
  13. }
  14.  
  15. $form['region'] = array(
  16. '#title' => t('Region'),
  17. '#type' => 'select',
  18. '#required' => TRUE,
  19. '#options' => _get_region_list('region'),
  20. '#prefix' => '<div id="contact-selector"><div id="region-wrapper">',
  21. '#suffix' => '</div>',
  22. '#default_value' => $selectedRegion,
  23. '#ajax' => array(
  24. 'callback' => 'region_ajax_callback',
  25. 'wrapper' => 'wrapper',
  26. ),
  27. );
  28.  
  29. $form['country']['wrapper'] = array(
  30. '#type' => 'markup',
  31. '#prefix' => '<div id="country-wrapper">',
  32. '#suffix' => '</div></div>',
  33. );
  34.  
  35. if (isset($selectedRegion)) {
  36. $form['country'] = array(
  37. '#title' => t('Country'),
  38. '#type' => 'select',
  39. '#required' => TRUE,
  40. '#options' => _get_country_list($selectedRegion),
  41. '#default_value' => $selectedCountry,
  42. '#ajax' => array(
  43. 'callback' => 'region_ajax_callback',
  44. 'wrapper' => 'wrapper',
  45. ),
  46. );
  47. }
  48.  
  49. $form['company_logo'] = array(
  50. '#title' => t('Logo'),
  51. '#type' => 'managed_file',
  52. '#upload_location' => 'public://my-files/',
  53. '#required' => FALSE,
  54. '#default_value' => $node->field_company_logo['und'][0]['fid'],
  55. );
  56.  
  57. $form['submit'] = array(
  58. '#type' => 'submit',
  59. '#value' => 'Submit',
  60. '#prefix' => '<hr>',
  61. );
  62.  
  63. return $form;
  64.  
  65. }
  66.  
  67. function region_ajax_callback($form, &$form_state) {
  68. return $form;
  69. }
  70.  
  71. $managed_file_processing_fn = array_merge(
  72. element_info_property('managed_file', '#process', array()),
  73. array('ccw_managed_file_process')
  74. );
  75.  
  76. $form['customization']['main']['request_design']['upload_design'] = array(
  77. '#type' => 'managed_file',
  78. '#progress_indicator' => 'bar',
  79. '#upload_location' => 'public://',
  80. '#upload_validators' => array(
  81. 'file_validate_extensions' => array('jpg jpeg gif png zip rar tar'),
  82. ),
  83. '#states' => array(
  84. 'visible' => array(
  85. ':input[name="type_of_upload"]' => array(
  86. array('value' => strval(CCW_GET_HELP)),
  87. ),
  88. ),
  89. ),
  90. '#process' => $managed_file_processing_fn,
  91. '#default_value' => $upload_design,
  92. );
  93.  
  94. /**
  95. * Process managed_file.
  96. */
  97. function ccw_managed_file_process($element, &$form_state, $form) {
  98. // When AJAX is execute we ignore form validation.
  99. $element['upload_button']['#limit_validation_errors'] = FALSE;
  100. $element['remove_button']['#limit_validation_errors'] = FALSE;
  101.  
  102. return $element;
  103. }
Add Comment
Please, Sign In to add comment