Advertisement
Guest User

Untitled

a guest
Oct 22nd, 2019
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 13.15 KB | None | 0 0
  1. <?php
  2. //child theme template
  3. /*
  4. * BP Profile Search - form template 'bps-form-legacy'
  5. *
  6. * See http://dontdream.it/bp-profile-search/form-templates/ if you wish to modify this template or develop a new one.
  7. *
  8. * Move new or modified templates to the 'buddypress/members' directory in your theme's root,
  9. * otherwise they will be overwritten during the next BP Profile Search update.
  10. *
  11. */
  12.  
  13. // 1st section: set the default value of the template options
  14.  
  15. if ( ! isset ( $options['collapsible'] ) ) {
  16. $options['collapsible'] = 'Yes';
  17. }
  18.  
  19. // 2nd section: display the form to select the template options
  20.  
  21. if ( is_admin() ) {
  22. ?>
  23. <p><strong><?php _e( 'Collapsible Form', 'bp-profile-search' ); ?></strong></p>
  24. <select name="options[collapsible]">
  25. <option
  26. value='Yes' <?php selected( $options['collapsible'], 'Yes' ); ?>><?php _e( 'Yes', 'bp-profile-search' ); ?></option>
  27. <option
  28. value='No' <?php selected( $options['collapsible'], 'No' ); ?>><?php _e( 'No', 'bp-profile-search' ); ?></option>
  29. </select>
  30. <?php
  31. return 'end_of_options 4.9';
  32. }
  33.  
  34. // 3rd section: display the search form
  35.  
  36. $F = bps_escaped_form_data( '4.9' );
  37.  
  38. $toggle_id = 'bps_toggle' . $F->unique_id;
  39. $form_id = $F->unique_id;
  40.  
  41. if ( $F->location != 'directory' ) {
  42. echo "<div id='buddypress'>";
  43. } elseif ( $options['collapsible'] == 'Yes' ) {
  44.  
  45. ?>
  46. <div class="item-list-tabs bps_header">
  47. <ul>
  48. <li><?php echo esc_html( $F->title ); ?></li>
  49. <li class="last">
  50. <input id="<?php echo esc_attr( $toggle_id ); ?>" type="submit"
  51. value="<?php esc_html_e( 'Toggle filters', 'kleo' ); ?>">
  52. </li>
  53. </ul>
  54.  
  55. <script type="text/javascript">
  56. jQuery(document).ready(function ($) {
  57. $('#<?php echo esc_attr( $form_id ); ?>').hide();
  58. $('#<?php echo esc_attr( $toggle_id ); ?>').click(function () {
  59. $('#<?php echo esc_attr( $form_id ); ?>').toggle('slow');
  60. });
  61. });
  62. </script>
  63. <div class="clear clearfix"></div>
  64. </div>
  65. <?php
  66. }
  67.  
  68. echo "<form action='$F->action' method='$F->method' id='$form_id' class='bps-form bps-form-legacy clear clearfix'>\n";
  69.  
  70. $j = 0;
  71. foreach ( $F->fields as $f ) {
  72. $id = $f->unique_id;
  73. $name = $f->html_name;
  74. $value = $f->value;
  75. $display = $f->display;
  76.  
  77. if ( $display == 'none' ) {
  78. continue;
  79. }
  80.  
  81. if ( $display == 'hidden' ) {
  82. ?>
  83. <input type="hidden" name="<?php echo $name; ?>" value="<?php echo $value; ?>">
  84. <?php
  85. continue;
  86. }
  87.  
  88. $alt = ( $j ++ % 2 ) ? 'alt' : '';
  89. $class = "editfield bps-$display field_$id field_$name $alt";
  90.  
  91. if ( in_array( $display, [ 'range', 'integer-range', 'date-range' ] ) ) {
  92. $class .= ' form-group form-inline';
  93. } else {
  94. $class .= ' form-group';
  95. }
  96.  
  97. echo "<div id='" . $id . "_wrap' class='$class'>\n";
  98.  
  99. if ( ! empty ( $f->error_message ) ) {
  100. ?>
  101. <span class="bps-error"><?php echo $f->error_message; ?></span><br>
  102. <?php
  103. }
  104.  
  105. switch ( $display ) {
  106. case 'range':
  107. echo "<label class='sr-only' for='$id'>$f->label</label>\n";
  108. echo '<div class="input-group">';
  109. echo "<input placeholder='{$f->label} " . esc_html__( 'From', 'kleo' ) . "' type='text' name='{$name}[min]' id='$id' value='" . $value['min'] . "' class='form-control'>";
  110. echo '<span class="input-group-btn" style="width:0;"></span>';
  111. echo "<input placeholder='{$f->label} " . esc_html__( 'To', 'kleo' ) . "' type='text' name='{$name}[max]' value='" . $value['max'] . "' class='form-control' style='margin-left:-1px'>\n";
  112. echo '</div>';
  113. break;
  114.  
  115. case 'integer-range':
  116. echo "<label class='sr-only' for='$id'>$f->label</label>\n";
  117. echo '<div class="input-group">';
  118. echo "<input placeholder='{$f->label} " . esc_html__( 'From', 'kleo' ) . "' type='number' name='{$name}[min]' id='$id' value='" . $value['min'] . "' class='form-control'>";
  119. echo '<span class="input-group-btn" style="width:0;"></span>';
  120. echo "<input placeholder='{$f->label} " . esc_html__( 'To', 'kleo' ) . "' type='number' name='{$name}[max]' value='" . $value['max'] . "' class='form-control' style='margin-left:-1px'>\n";
  121. echo '</div>';
  122. break;
  123.  
  124. case 'date-range':
  125. echo "<label class='sr-only' for='$id'>$f->label</label>\n";
  126. echo '<div class="input-group">';
  127. echo "<input placeholder='{$f->label} " . esc_html__( 'From', 'kleo' ) . "' type='date' name='{$name}[min]' id='$id' value='" . $value['min'] . "' class='form-control'>";
  128. echo '<span class="input-group-btn" style="width:0;"></span>';
  129. echo "<input placeholder='{$f->label} " . esc_html__( 'To', 'kleo' ) . "' type='date' name='{$name}[max]' value='" . $value['max'] . "' class='form-control' style='margin-left:-1px'>\n";
  130. echo '</div>';
  131. break;
  132.  
  133. case 'range-select':
  134. echo "<label class='sr-only' for='$id'>$f->label</label>\n";
  135. ?>
  136. <select id="<?php echo $id; ?>" name="<?php echo $name . '[min]'; ?>" class="form-control">
  137. <?php foreach ( $f->options as $key => $label ) { ?>
  138. <option <?php if ( $key == $value['min'] ) {
  139. echo 'selected="selected"';
  140. } ?> value="<?php echo $key; ?>"><?php echo $label; ?> </option>
  141. <?php } ?>
  142. </select>
  143. <span> - </span>
  144. <select name="<?php echo $name . '[max]'; ?>" class="form-control">
  145. <?php foreach ( $f->options as $key => $label ) { ?>
  146. <option <?php if ( $key == $value['max'] ) {
  147. echo 'selected="selected"';
  148. } ?> value="<?php echo $key; ?>"><?php echo $label; ?> </option>
  149. <?php } ?>
  150. </select><br>
  151. <?php
  152. break;
  153.  
  154. case 'textbox':
  155. case 'textarea':
  156. echo "<label class='sr-only' for='$id'>$f->label</label>\n";
  157. echo "<input type='search' name='$name' placeholder='$f->label' id='$id' value='$value' class='form-control'>\n";
  158. break;
  159.  
  160. case 'number':
  161. case 'integer':
  162. echo "<label class='sr-only' for='$id'>$f->label</label>\n";
  163. echo "<input type='number' name='$name' placeholder='$f->label' id='$id' value='$value' class='form-control'>\n";
  164. break;
  165.  
  166. case 'url':
  167. echo "<label class='sr-only' for='$id'>$f->label</label>\n";
  168. echo "<input type='text' inputmode='url' name='$name' placeholder='$f->label' id='$id' value='$value' class='form-control'>\n";
  169. break;
  170.  
  171. case 'distance':
  172. $within = __( 'Within', 'bp-profile-search' );
  173. $of = __( 'of', 'bp-profile-search' );
  174. $km = __( 'km', 'bp-profile-search' );
  175. $miles = __( 'miles', 'bp-profile-search' );
  176. ?>
  177. <label class="sr-only"><?php echo wp_kses_post( $f->label ); ?></label>
  178. <div class="row">
  179. <div class="col-md-6 form-group">
  180. <div class="input-group">
  181. <span class="input-group-addon"
  182. id=""><?php echo wp_kses_post( $f->label ); ?><?php echo esc_html( $within ); ?></span>
  183. <input class="form-control bps-distance-input" type="number" min="1"
  184. name="<?php echo esc_attr( $name ) . '[distance]'; ?>"
  185. value="<?php echo esc_attr( $value['distance'] ); ?>">
  186.  
  187. <span class="input-group-btn" style="width: 0;"></span>
  188.  
  189. <select class="form-control bps-distance-units"
  190. name="<?php echo esc_attr( $name ) . '[units]'; ?>">
  191. <option
  192. value="km" <?php selected( $value['units'], "km" ); ?>><?php echo esc_html( $km ); ?></option>
  193. <option
  194. value="miles" <?php selected( $value['units'], "miles" ); ?>><?php echo esc_html( $miles ); ?></option>
  195. </select>
  196. </div>
  197. </div>
  198.  
  199. <div class="col-md-6 form-group">
  200.  
  201. <div class="input-group">
  202. <span class="input-group-addon"><?php echo esc_html( $of ); ?></span>
  203. <input type="text"
  204. id="<?php echo esc_attr( $f->unique_id ); ?>"
  205. class="form-control"
  206. name="<?php echo esc_attr( $name ) . '[location]'; ?>"
  207. value="<?php echo esc_attr( $value['location'] ); ?>"
  208. placeholder="<?php esc_html_e( 'Start typing, then select a location', 'bp-profile-search' ); ?>">
  209. <div class="input-group-addon" style="width:45px;">
  210. <img class="bps-location-selector" id="Btn_<?php echo esc_attr( $f->unique_id ); ?>"
  211. style="cursor: pointer;"
  212. src="<?php echo plugins_url( 'bp-profile-search/templates/members/locator.png' ); ?>"
  213. title="<?php esc_html_e( 'get current location', 'bp-profile-search' ); ?>">
  214. </div>
  215.  
  216. </div>
  217.  
  218. </div>
  219. </div>
  220.  
  221.  
  222. <?php
  223. bps_autocomplete_script( $f );
  224. break;
  225.  
  226. case 'selectbox':
  227. case 'radio':
  228. echo "<label class='sr-only' for='$id'>$f->label</label>\n";
  229. echo "<select name='$name' id='$id' class='form-control'>\n";
  230.  
  231. $no_selection = apply_filters( 'bps_field_selectbox_no_selection', $f->label, $f );
  232. if ( is_string( $no_selection ) ) {
  233. echo "<option value=''>$no_selection</option>\n";
  234. }
  235.  
  236. foreach ( $f->options as $key => $label ) {
  237. $selected = in_array( $key, (array) $value ) ? "selected='selected'" : "";
  238. echo "<option $selected value='$key'>$label</option>\n";
  239. }
  240. echo "</select>\n";
  241. break;
  242.  
  243. case 'multiselectbox':
  244. case 'checkbox':
  245. echo "<label class='sr-only' for='$id'>$f->label</label>\n";
  246. echo "<select name='{$name}[]' id='$id' multiple='multiple' class='form-control multi-js'>\n";
  247.  
  248. foreach ( $f->options as $key => $label ) {
  249. $selected = in_array( $key, (array) $value ) ? "selected='selected'" : "";
  250. echo "<option $selected value='$key'>$label</option>\n";
  251. }
  252. echo "</select>\n";
  253. break;
  254.  
  255. /*case 'radio':
  256. echo "<div class='radio'>\n";
  257. echo "<label>$f->label</label>\n";
  258. echo "<div id='$id'>\n";
  259.  
  260. foreach ($f->options as $option => $checked)
  261. {
  262. $checked = $checked? "checked='checked'": "";
  263. echo "<label><input $checked type='radio' name='$id' value='$option'>$option</label>\n";
  264. }
  265. echo "</div>\n";
  266. echo "<a class='clear-value' href='javascript:clear(\"$id\");'>". __('Clear', 'buddypress'). "</a>\n";
  267. echo "</div>\n";
  268. break;*/
  269.  
  270. /*case 'checkbox':
  271. echo "<div class='checkbox'>\n";
  272. echo "<label>$f->label</label>\n";
  273.  
  274. foreach ($f->options as $option => $checked)
  275. {
  276. $checked = $checked? "checked='checked'": "";
  277. echo "<label><input $checked type='checkbox' name='{$id}[]' value='$option'>$option</label>\n";
  278. }
  279. echo "</div>\n";
  280. break;*/
  281.  
  282. default:
  283. $field_template = 'members/bps-' . $display . '-form-field.php';
  284. $located = bp_locate_template( $field_template );
  285. if ( $located ) {
  286. include $located;
  287. } else {
  288. ?>
  289. <p class="bps-error">
  290. <?php echo "BP Profile Search: unknown display <em>$display</em> for field <em>$f->name</em>."; ?>
  291. </p>
  292. <?php
  293. }
  294. break;
  295. }
  296.  
  297. if ( ! empty ( $f->description ) && $f->description != '-' ) {
  298. echo "<p class='description'>$f->description</p>\n";
  299. }
  300.  
  301. echo "</div>\n";
  302. }
  303.  
  304. echo "<input type='hidden' name='bp_profile_search' value='$F->id'>\n";
  305. echo '<a href="#" class="btn btn-highlight form-submit">' . esc_html__( 'Search', 'default' ) . '</a>';
  306. echo "</form>\n";
  307.  
  308. // echo '<script type="text/javascript">
  309. // jQuery(document).ready(function() {
  310. // if (jQuery("html").hasClass("no-touch")) {
  311. // jQuery(".bps-form-legacy select.multi-js[multiple]").multiselect({buttonClass: "btn btn-default", buttonText: function(options, select) {
  312. // return jQuery(select).siblings("label").html();
  313. // }});
  314. // } else {
  315. // jQuery(".bps-form-legacy select.multi-js").show();
  316. // }
  317.  
  318. // jQuery(".bps-form").keyup(function(event){
  319. // if(event.keyCode == 13){
  320. // jQuery(".form-submit").click();
  321. // }
  322. // });
  323.  
  324.  
  325. // });
  326.  
  327. // </script>';
  328.  
  329. echo '<script type="text/javascript">
  330.  
  331.  
  332. jQuery(document).ready(function() {
  333.  
  334. jQuery(".bps-form-legacy select.multi-js[multiple]").multiselect({buttonClass: "btn btn-default", buttonText: function(options, select) {
  335. return jQuery(select).siblings("label").html();
  336. }});
  337.  
  338.  
  339. jQuery(".bps-form").keyup(function(event){
  340. if(event.keyCode == 13){
  341. jQuery(".form-submit").click();
  342. }
  343. });
  344.  
  345.  
  346. });
  347.  
  348. </script>';
  349.  
  350. wp_enqueue_script( 'bootstrap-multiselect' );
  351.  
  352. if ( $F->location != 'directory' ) {
  353. echo "</div>\n";
  354. }
  355.  
  356. return 'end_of_template 4.9';
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement