Advertisement
Guest User

Untitled

a guest
Jul 19th, 2019
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.07 KB | None | 0 0
  1. <?php
  2.  
  3. function usspd_search_main_form($form, &$form_state) {
  4. //how should I pass $location_li2 to add_state_select()?
  5. //include_once(drupal_get_path('module', 'location_search') . '/theme/search_options.php');
  6. $location_li2 = array(array(""), array("Albania"), array("Austria"), array("Belarus"), array("Belgium"), array("Bhutan"), array("Bulgaria"), array("Cambodia"), array("Canada", array("Alberta", "Atlantic", "British Columbia|BC", "Manitoba|MB", "Ontario|ON", "Quebec|QC|PQ", "Saskatchewan|SK")), array("Chile", array("Maipo")), array("China", array("Anhui", "Beijing", "Boxing", "Chongqing", "Dezhou", "Foshan", "Fujian", "Guangdong|GuangDong", "Guangxi", "Guizhou", "Guodian", "Hainan", "Hebei|Heibei", "Heilongjiang", "Henan|Henau|Hennan|Hnan", "HuangHe", "Hunan|HuNan", "Jiangsu", "Jiangxi", "Jilin", "Jinan", "Liaocheng", "Nanjing", "Nantong", "Shaanxi", "Shandong|Shangdong|SD", "Shanghai", "Shanxi", "Shenxian", "Sichuan", "Siyang", "Tianjin", "Wenzu", "Wuzhou", "Xinjiang", "Yunnan|Yun Nan", "Zhangqiu")), array("Colombia", array("Antioquia", "Atlantico", "Caldas", "Cundinamarca", "Quindio")), array("Croatia"), array("Czech Republic"), array("Denmark"), array("France"), array("Germany"), array("Hong Kong"), array("Hungary"), array("India", array("Mizoram")), array("Italy"), array("Japan", array("Aichi", "Aomori", "Chiba", "Ehime", "Fukushima", "Gunma", "Hokkaido", "Ibaraki", "Ishikawa", "Iwate", "Kagoshima", "Kyoto", "Nagasaki", "Niigata", "Osaka", "Saga", "Saitama", "Shiga", "Shizuoka", "Tochigi", "Yamagata", "Yamaguchi", "Yamanashi")), array("Laos"), array("Latvia"), array("Lithuania"), array("Malaysia", array("Sarawak", "Selangor")), array("Mexico", array("Morelos")), array("Myanmar"), array("Netherlands"), array("Philippines"), array("Poland"), array("Portugal"), array("Romania"), array("Russia"), array("Serbia"), array("Singapore"), array("Slovakia"), array("Slovenia"), array("South Korea"), array("Spain", array("Madrid")), array("Switzerland"), array("Taiwan"), array("Thailand"), array("Turkey"), array("USA", array("Alabama|AL", "Arizona|AZ", "Arkansas|AR", "California|CA", "Colorado|CO", "Georgia|GA", "Hawaii|HI", "Illinois|IL", "Indiana|IN", "Iowa|IA", "Kansas|KS", "Kentucky|KY", "Michigan|MI", "Minnesota|MN", "Mississippi|MS", "Missouri|MO", "Nebraska|NE", "Nevada|NV", "North Carolina|NC", "North Dakota|ND", "Ohio|OH", "Oklahoma|OK", "Pennsylvania|PA", "South Carolina|SC", "South Dakota|SD", "Tennessee|TN", "Texas|TX", "Utah|UT", "Virginia|VA", "Wisconsin|WI", "Wyoming|WY")), array("Ukraine"), array("United Kingdom"), array("Uruguay"), array("Viet Nam", array("An Giang", "Bac Lieu", "Bac Ninh", "Binh Duong", "Can Tho", "Dien Bien", "Dong Nai|DongNai", "Dong Thap", "Hai Duong", "Hai Phong", "Hanoi", "Hau Giang", "Ho Chi Minh", "Hung Yen", "Lao Cai", "Long An", "Nam Dinh", "Nghe An", "Quang Ninh", "Son La", "Tay Ninh", "Thai Binh", "Tien Giang", "Yen Bai")));
  7.  
  8. $form['form_wrapper'] = array(
  9. '#prefix' => '<div id="form_wrapper">',
  10. '#suffix' => '</div>',
  11. );
  12.  
  13. $form['form_wrapper']['properties'] = array(
  14. '#prefix' => '<h2>Filter by sequence properties</h2>
  15. <div><table width="50%">',
  16. '#suffix' => '</table></div>', //<br>',
  17. );
  18.  
  19.  
  20. //Sample Collection Location
  21. $country_li = array();
  22. foreach($location_li2 as $location_li) {
  23. $country_li[$location_li[0]] = $location_li[0];
  24. }
  25. $form['form_wrapper']['properties']['collection_location']['title_wrapper'] = array(
  26. '#prefix' => '<tr><td class="search_input_td" width="50%"><b>Sample Collection Location</b></td><td class="search_input_td">',
  27. '#suffix' => '</td></tr>',
  28. );
  29. $form['form_wrapper']['properties']['collection_location']['title_wrapper']['ddl1b'] = array(
  30. '#prefix' => '<div style="display:inline-block; width:50%">',
  31. '#suffix' => '</div>',
  32. '#type' => 'select',
  33. '#multiple' => TRUE,
  34. '#options' => $country_li,
  35. '#id' => 'ddl1b',
  36. '#attributes' => array(
  37. 'autocomplete' => 'off',
  38. //'onchange' => '',
  39. ),
  40. '#ajax' => array(
  41. 'callback' => 'add_state_select',
  42. 'wrapper' => 'ddl2b_wrapper',
  43. 'progress' => array('type' => 'none'),
  44. ),
  45. );
  46.  
  47. //function works for AJAX, fails when called inline
  48. add_state_select($form, $form_state);
  49.  
  50. $form['form_wrapper']['properties']['collection_location']['title_wrapper']['ddl2b_wrapper'] = array(
  51. '#prefix' => '<div id="ddl2b_wrapper" style="display:inline-block; width:50%">',
  52. '#suffix' => '</div>',
  53. );
  54.  
  55.  
  56. $form['form_wrapper']['table_button'] = array(
  57. '#type' => 'submit',
  58. '#value' => 'Submit',
  59. '#name' => 'USSPD_Accession-up',
  60. '#submit' => array('activate_table'),
  61. '#ajax' => array(
  62. 'callback' => 'rebuild_form',
  63. 'wrapper' => 'form_wrapper',
  64. ),
  65. );
  66.  
  67. if (!empty($form_state['table'])) {
  68. $form['form_wrapper']['raw_html'] = array(
  69. '#type' => 'markup',
  70. '#markup' => '<br><br>TEST!',
  71. );
  72. }
  73.  
  74. return $form;
  75. }
  76.  
  77.  
  78. function rebuild_form($form, $form_state) {
  79. return $form['form_wrapper'];
  80. }
  81.  
  82. function activate_table($form, &$form_state) {
  83. $form_state['table'] = TRUE;
  84. $form_state['rebuild'] = TRUE;
  85. }
  86.  
  87. function add_state_select($form, &$form_state) {
  88. //include(drupal_get_path('module', 'location_search') . '/theme/search_options.php'); //redundant
  89. $location_li2 = array(array(""), array("Albania"), array("Austria"), array("Belarus"), array("Belgium"), array("Bhutan"), array("Bulgaria"), array("Cambodia"), array("Canada", array("Alberta", "Atlantic", "British Columbia|BC", "Manitoba|MB", "Ontario|ON", "Quebec|QC|PQ", "Saskatchewan|SK")), array("Chile", array("Maipo")), array("China", array("Anhui", "Beijing", "Boxing", "Chongqing", "Dezhou", "Foshan", "Fujian", "Guangdong|GuangDong", "Guangxi", "Guizhou", "Guodian", "Hainan", "Hebei|Heibei", "Heilongjiang", "Henan|Henau|Hennan|Hnan", "HuangHe", "Hunan|HuNan", "Jiangsu", "Jiangxi", "Jilin", "Jinan", "Liaocheng", "Nanjing", "Nantong", "Shaanxi", "Shandong|Shangdong|SD", "Shanghai", "Shanxi", "Shenxian", "Sichuan", "Siyang", "Tianjin", "Wenzu", "Wuzhou", "Xinjiang", "Yunnan|Yun Nan", "Zhangqiu")), array("Colombia", array("Antioquia", "Atlantico", "Caldas", "Cundinamarca", "Quindio")), array("Croatia"), array("Czech Republic"), array("Denmark"), array("France"), array("Germany"), array("Hong Kong"), array("Hungary"), array("India", array("Mizoram")), array("Italy"), array("Japan", array("Aichi", "Aomori", "Chiba", "Ehime", "Fukushima", "Gunma", "Hokkaido", "Ibaraki", "Ishikawa", "Iwate", "Kagoshima", "Kyoto", "Nagasaki", "Niigata", "Osaka", "Saga", "Saitama", "Shiga", "Shizuoka", "Tochigi", "Yamagata", "Yamaguchi", "Yamanashi")), array("Laos"), array("Latvia"), array("Lithuania"), array("Malaysia", array("Sarawak", "Selangor")), array("Mexico", array("Morelos")), array("Myanmar"), array("Netherlands"), array("Philippines"), array("Poland"), array("Portugal"), array("Romania"), array("Russia"), array("Serbia"), array("Singapore"), array("Slovakia"), array("Slovenia"), array("South Korea"), array("Spain", array("Madrid")), array("Switzerland"), array("Taiwan"), array("Thailand"), array("Turkey"), array("USA", array("Alabama|AL", "Arizona|AZ", "Arkansas|AR", "California|CA", "Colorado|CO", "Georgia|GA", "Hawaii|HI", "Illinois|IL", "Indiana|IN", "Iowa|IA", "Kansas|KS", "Kentucky|KY", "Michigan|MI", "Minnesota|MN", "Mississippi|MS", "Missouri|MO", "Nebraska|NE", "Nevada|NV", "North Carolina|NC", "North Dakota|ND", "Ohio|OH", "Oklahoma|OK", "Pennsylvania|PA", "South Carolina|SC", "South Dakota|SD", "Tennessee|TN", "Texas|TX", "Utah|UT", "Virginia|VA", "Wisconsin|WI", "Wyoming|WY")), array("Ukraine"), array("United Kingdom"), array("Uruguay"), array("Viet Nam", array("An Giang", "Bac Lieu", "Bac Ninh", "Binh Duong", "Can Tho", "Dien Bien", "Dong Nai|DongNai", "Dong Thap", "Hai Duong", "Hai Phong", "Hanoi", "Hau Giang", "Ho Chi Minh", "Hung Yen", "Lao Cai", "Long An", "Nam Dinh", "Nghe An", "Quang Ninh", "Son La", "Tay Ninh", "Thai Binh", "Tien Giang", "Yen Bai")));
  90. //drupal_set_message(print_r($location_li2), true); //$location_li2 is not being read correctly
  91. drupal_set_message('triggered add_state_select()');
  92. $state_li = array("" => "");
  93. foreach($location_li2 as $location_li) {
  94. if (isset($_POST['ddl1b']) && in_array($location_li[0], $_POST['ddl1b']) && sizeof($location_li) > 1) {
  95. foreach($location_li[1] as $state) {
  96. $state_li[$state] = explode('|', $state)[0];
  97. }
  98. }
  99. }
  100. //drupal_set_message(print_r($state_li));
  101. $form['form_wrapper']['properties']['collection_location']['title_wrapper']['ddl2b_wrapper'] = array(
  102. '#prefix' => '<div id="ddl2b_wrapper" style="display:inline-block; width:50%">', //width:49%">',
  103. '#suffix' => '</div>',
  104. );
  105. if (sizeof($state_li) > 1) {
  106. drupal_set_message('triggered build conditional');
  107. $form['form_wrapper']['properties']['collection_location']['title_wrapper']['ddl2b_wrapper']['ddl2b'] = array(
  108. '#type' => 'select',
  109. '#multiple' => TRUE,
  110. '#options' => $state_li,
  111. '#id' => 'ddl2b',
  112. '#attributes' => array(
  113. 'autocomplete' => 'off',
  114. 'multiple' => 'true',
  115. ),
  116. );
  117. }
  118. return $form['form_wrapper']['properties']['collection_location']['title_wrapper']['ddl2b_wrapper'];
  119. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement