rdusnr

sweetdate search and horizontal searh register shortcode

May 12th, 2017
155
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 23.83 KB | None | 0 0
  1.  
  2. add_action ('kleo_bp_search_form', 'kleo_bp_search_form');
  3. add_shortcode('kleo_search_register_form', 'kleo_bp_search_form');
  4. /* Render search form */
  5. if (!function_exists('kleo_bp_search_form')):
  6.  
  7. /**
  8. * Renders a members profile search form
  9. * @global array $bp_search_fields Options form Theme options
  10. * @param bool $show_profiles Display members carouses under the form
  11. * @param string $before_form Text to display before the form fields
  12. * @return string
  13. */
  14. function kleo_bp_search_form ($show_profiles = false, $before_form = false)
  15. {
  16. global $bp_search_fields;
  17. if (function_exists('bp_is_active') && bp_is_active( 'xprofile' )) {}
  18. else
  19. {
  20. echo __("Please enable Buddypress and Extended profiles component for the search form!","kleo_framework");
  21. return;
  22. }
  23.  
  24. if (!isset($bp_search_fields['fields']) || count ((array)$bp_search_fields['fields']) == 0)
  25. {
  26. echo "<p>".__("Please configure your form fields under Sweetdate - Buddypress", 'kleo_framework')."</p>";
  27. return;
  28. }
  29.  
  30. ?>
  31. <!--Form wrapper-->
  32. <div class="form-wrapper">
  33. <div class="form-header">
  34. <?php if ($before_form || (isset($bp_search_fields['before_form']) && !empty($bp_search_fields['before_form']) ) ) : ?>
  35. <p class="lead"><?php if($before_form) echo __($before_form, 'kleo_framework'); else echo __($bp_search_fields['before_form'],'kleo_framework');?></p>
  36. <?php endif; ?>
  37. </div>
  38. <!--Search form-->
  39. <form action="<?php echo bp_get_root_domain (). '/'. bp_get_members_root_slug (). '/' ?>" method="get" class="<?php echo apply_filters('bp_search_extra_class','custom');?> form-search">
  40. <?php
  41.  
  42. foreach ($bp_search_fields['fields'] as $sf)
  43. {
  44. $fname = 'field_'. $sf;
  45. $posted = isset($_GET[$fname])?$_GET[$fname]:'';
  46. $posted_to = isset($_GET[$fname. '_to'])?$_GET[$fname. '_to']:'';
  47.  
  48. $field = new BP_XProfile_Field ($sf);
  49. $options = $field->get_children();
  50. if ( isset( $bp_search_fields['agerange'] ) && $sf == $bp_search_fields['agerange'] )
  51. {
  52. $from = ($posted == '')? sq_option('buddypress_age_start'): (int)$posted;
  53. $to = ($posted_to == '')? sq_option('buddypress_age_end'): (int)$posted_to;
  54. if ($to < $from) $to = $from;
  55.  
  56. echo'<div class="row">
  57. <div class="five mobile-one columns">';
  58. echo "<label class='right inline'>".__( (isset($bp_search_fields['agelabel'])?$bp_search_fields['agelabel']:$field->name), 'kleo_framework')."</label>";
  59. echo '</div>';
  60. echo '<div class="three mobile-one columns">
  61. <select name="'.$fname.'" class="expand customDropdown">';
  62. echo apply_filters('kleo_bp_searchform_before_all_li','<option value=""> </option>');
  63. for($i=sq_option('buddypress_age_start');$i <= sq_option('buddypress_age_end');$i++)
  64. {
  65. echo '<option value="'.$i.'" '.get_selected($fname, $i, $from).' >'.$i.'</option>';
  66. }
  67. echo '</select>
  68. </div>
  69. <div class="one mobile-one columns text-center">
  70. <label class="inline"> - </label>
  71. </div>';
  72. echo '<div class="three mobile-one columns">
  73. <select name="'.$fname.'_to" class="expand customDropdown">';
  74. echo apply_filters('kleo_bp_searchform_before_all_li','<option value=""> </option>');
  75. for($i=sq_option('buddypress_age_start');$i <= sq_option('buddypress_age_end');$i++)
  76. {
  77. echo '<option value="'.$i.'" '.get_selected($fname.'_to', $i, $to).' >'.$i.'</option>';
  78. }
  79. echo ' </select>
  80. </div>
  81. </div><!--end row-->';
  82. continue;
  83. }
  84.  
  85. if ($sf == $bp_search_fields['numrange'])
  86. {
  87. $from = ($posted == '' && $posted_to == '')? '': (float)$posted;
  88. $to = ($posted_to == '')? $from: (float)$posted_to;
  89. if ($to < $from) $to = $from;
  90.  
  91. echo'<div class="row">
  92. <div class="five mobile-one columns">';
  93. echo "<label class='right inline'>".__( $field->name, 'kleo_framework')."</label>";
  94. echo '</div>';
  95. echo '<div class="three mobile-one columns">
  96. <input type="text" name="'.$fname.'" value="'.$from.'" >
  97. </div>
  98. <div class="one mobile-one columns text-center">
  99. <label class="inline"> - </label>
  100. </div>';
  101. echo '<div class="three mobile-one columns">
  102. <input type="text" name="'.$fname.'_to" value="'.$to.'" >
  103. </div>
  104. </div><!--end row-->';
  105.  
  106. continue;
  107. }
  108.  
  109. echo '<div class="row">';
  110.  
  111.  
  112. switch ($field->type):
  113.  
  114. case 'textarea':
  115. $value = esc_attr (stripslashes ($posted));
  116. echo "<div class='five mobile-four columns'><label class='right inline' for='$fname'>".__($field->name,'kleo_framework')."</label></div>";
  117. echo "<div class='seven mobile-four columns kleo-textarea'><input type='text' name='$fname' id='$fname' value='$value' /></div>";
  118. break;
  119.  
  120. case 'selectbox':
  121. echo "<div class='five mobile-four columns'><label class='right inline' for='$fname'>".__($field->name,'kleo_framework')."</label></div>";
  122. echo "<div class='seven mobile-four columns kleo-selectbox'><select class='expand' name='$fname' id='$fname'>";
  123. echo "<option value=''> </option>";
  124. foreach ($options as $option)
  125. {
  126. $option->name = trim ($option->name);
  127. $value = esc_attr (stripslashes ($option->name));
  128. $selected = ($option->name == $posted || $option->is_default_option == 1)? "selected='selected'": "";
  129. echo "<option $selected value='$value'>".__($value,'kleo_framework')."</option>";
  130. }
  131. echo "</select></div>";
  132. break;
  133.  
  134. case 'multiselectbox':
  135. echo "<div class='five mobile-four columns'><label class='right inline' for='$fname'>".__($field->name,'kleo_framework')."</label></div>";
  136. echo "<div class='seven mobile-four columns kleo-multiselectbox'><select ".apply_filters('kleo_bp_search_multiselect_attributes',"multiple='multiple' data-customforms='disabled'")." class='expand' name='{$fname}[]' id='$fname'>";
  137. foreach ($options as $option)
  138. {
  139. $option->name = trim ($option->name);
  140. $value = esc_attr (stripslashes ($option->name));
  141. $selected = (in_array ($option->name, (array)$posted) || $option->is_default_option == 1)? "selected='selected'": "";
  142. echo "<option $selected value='$value'>".__($value,'kleo_framework')."</option>";
  143. }
  144. echo "</select></div>";
  145. break;
  146.  
  147. case 'radio':
  148. echo "<div class='five mobile-four columns'><label class='right'>".__($field->name,'kleo_framework')."<br>";
  149. echo "<a class='clear-value-".$fname."' href='#'><small class='kleo-clear-radio'><i class='icon icon-remove'></i> ". __('Clear', 'kleo_framework'). "</small></a>";
  150. ?>
  151. <script type="text/javascript">jQuery('.clear-value-<?php echo $fname;?>').click(function() {jQuery('input[name=<?php echo $fname;?>]').attr('checked', false); jQuery('.field_<?php echo $fname;?> .custom.radio').removeClass('checked');return false; });</script>
  152. <?php
  153. echo "</label></div>";
  154. echo "<div class='seven mobile-four columns kleo-radio field_".$fname."'>";
  155.  
  156. foreach ($options as $option)
  157. {
  158. $option->name = trim ($option->name);
  159. $value = esc_attr (stripslashes ($option->name));
  160. $selected = ($option->name == $posted || $option->is_default_option == 1)? "checked='checked'": "";
  161. echo "<label><input $selected type='radio' name='$fname' value='$value'> ".__($value,'kleo_framework')."</label>";
  162. }
  163. echo '</div>';
  164. break;
  165.  
  166. case 'checkbox':
  167. echo "<div class='five mobile-four columns'><label class='right'>".__($field->name,'kleo_framework')."</label></div>";
  168. echo "<div class='seven mobile-four columns kleo-checkbox'>";
  169.  
  170. foreach ($options as $option)
  171. {
  172. $option->name = trim ($option->name);
  173. $value = esc_attr (stripslashes ($option->name));
  174. $selected = (in_array ($option->name, (array)$posted) || $option->is_default_option == 1)? "checked='checked'": "";
  175. echo "<label><input $selected type='checkbox' name='{$fname}[]' value='$value'> ".__($value,'kleo_framework')."</label>";
  176. }
  177. echo '</div>';
  178. break;
  179.  
  180. case 'textbox':
  181. default:
  182. $value = esc_attr (stripslashes ($posted));
  183. echo "<div class='five mobile-four columns'><label class='right inline' for='$fname'>".__($field->name,'kleo_framework')."</label></div>";
  184. echo "<div class='seven mobile-four columns kleo-text'><input type='text' name='$fname' id='$fname' value='$value' /></div>";
  185. break;
  186.  
  187. endswitch;
  188. echo '</div><!--end row-->';
  189. }
  190.  
  191. echo "<input type='hidden' name='bs' value=' ' />";
  192. do_action('kleo_bp_search_add_data');
  193. ?>
  194. <div class="row">
  195. <div class="seven offset-by-five columns"><button class="button radius"><i class="icon-search"></i> &nbsp;<?php _e("SEARCH", 'kleo_framework'); ?></button></div>
  196. </div>
  197. <span class="notch"></span>
  198. </form>
  199. <!--end search form-->
  200.  
  201. <?php if ($show_profiles): ?>
  202. <!--Form footer-->
  203. <div class="form-footer">
  204.  
  205. <?php do_action('kleo_bps_before_carousel');?>
  206.  
  207. <?php echo do_shortcode('[kleo_members_carousel]');?>
  208.  
  209. </div><!--end form-footer-->
  210. <?php else: ?>
  211. <?php $main_color_rgb = hexToRGB(sq_option('button_bg_color_hover')); ?>
  212. <div class="form-footer" style="border-left:none;border-right: none;padding:0;background: <?php echo sq_option('button_bg_color'); ?>; <?php echo 'border-bottom: 10px solid rgba('.$main_color_rgb['r'].', '.$main_color_rgb['g'].', '.$main_color_rgb['b'].', 0.3)'; ?>"></div>
  213.  
  214. <?php endif; ?>
  215.  
  216. </div><!--end form-wrapper-->
  217.  
  218. <?php
  219. }
  220. endif;
  221.  
  222. /* Render search form horizontal */
  223. add_action ('kleo_search_form_horizontal', 'kleo_bp_search_form_horizontal', 10, 2);
  224. add_shortcode('kleo_search_form_horizontal', 'kleo_bp_search_form_horizontal');
  225.  
  226. if (!function_exists('kleo_bp_search_form_horizontal')):
  227. function kleo_bp_search_form_horizontal ($show_button = true, $before_form=false)
  228. {
  229. global $bp_search_fields;
  230. if (function_exists('bp_is_active') && bp_is_active( 'xprofile' )) {}
  231. else
  232. {
  233. echo apply_filters('kleo_search_horizontal_no_buddypress','');
  234. return;
  235. }
  236.  
  237. if (!isset($bp_search_fields['fields_horizontal']) || count ((array)$bp_search_fields['fields_horizontal']) == 0)
  238. {
  239. echo apply_filters('kleo_search_horizontal_no_fields','');
  240. return;
  241. }
  242.  
  243. ?>
  244. <div id="search-bar">
  245. <div class="row">
  246. <!--Search form-->
  247. <form id="horizontal_search" action="<?php echo bp_get_root_domain (). '/'. bp_get_members_root_slug (). '/' ?>" method="get" class="<?php echo apply_filters('bp_search_horiz_extra_class','custom');?> dir-form twelve columns custom">
  248. <div class="row">
  249.  
  250. <?php if ($before_form || (isset($bp_search_fields['before_form_horizontal']) && !empty($bp_search_fields['before_form_horizontal']) ) ) : ?>
  251. <div class="two columns">
  252. <label class="bp_search_form_filter"><?php if($before_form) echo __($before_form, 'kleo_framework'); else echo __($bp_search_fields['before_form_horizontal'],'kleo_framework');?></label>
  253. </div>
  254. <?php endif; ?>
  255.  
  256. <?php
  257. $count = 0;
  258. foreach ($bp_search_fields['fields_horizontal'] as $sf)
  259. {
  260. $count++;
  261.  
  262.  
  263. $fname = 'field_'. $sf;
  264. $posted = isset($_GET[$fname])?$_GET[$fname]:'';
  265. $posted_to = isset($_GET[$fname. '_to'])?$_GET[$fname. '_to']:'';
  266.  
  267. $field = new BP_XProfile_Field ($sf);
  268. $options = $field->get_children ();
  269.  
  270. if ( isset( $bp_search_fields['agerange'] ) && $sf == $bp_search_fields['agerange'] )
  271. {
  272. $from = ($posted == '')? '': (int)$posted;
  273. $to = ($posted_to == '')?'': (int)$posted_to;
  274. if ($to != '' && $to < $from) $to = $from;
  275.  
  276. echo '<div class="two columns hz-agerange hz-from">
  277. <select name="'.$fname.'" class="expand customDropdown">';
  278. echo '<option value="">'.__( (isset($bp_search_fields['agelabel'])?$bp_search_fields['agelabel']:$field->name), 'kleo_framework').' '.__('from', 'kleo_framework').'</option>';
  279. for($i=sq_option('buddypress_age_start');$i <= sq_option('buddypress_age_end');$i++)
  280. {
  281. echo '<option value="'.$i.'" '.get_selected($fname, $i, $from).' >'.$i.'</option>';
  282. }
  283. echo '</select>
  284. </div>';
  285.  
  286. echo '<div class="two columns hz-agerange hz-to">
  287. <select name="'.$fname.'_to" class="expand customDropdown">';
  288. echo '<option value="">'.__( (isset($bp_search_fields['agelabel'])?$bp_search_fields['agelabel']:$field->name), 'kleo_framework').' '.__('to', 'kleo_framework').'</option>';
  289. for($i=sq_option('buddypress_age_start');$i <= sq_option('buddypress_age_end');$i++)
  290. {
  291. echo '<option value="'.$i.'" '.get_selected($fname.'_to', $i, $to).' >'.$i.'</option>';
  292. }
  293. echo ' </select>
  294. </div>';
  295. continue;
  296. }
  297.  
  298. if ($sf == $bp_search_fields['numrange'])
  299. {
  300. $from = ($posted == '' && $posted_to == '')? '': (float)$posted;
  301. $to = ($posted_to == '')? $from: (float)$posted_to;
  302. if ($to < $from) $to = $from;
  303.  
  304.  
  305. echo '<div class="two columns hz-numrange hz-from">
  306. <input type="text" name="'.$fname.'" value="'.$from.'" placeholder="'.__( $field->name, 'kleo_framework').' '.__('from', 'kleo_framework').'" >
  307. </div>';
  308. echo '<div class="two columns hz-numrange hz-to">
  309. <input type="text" name="'.$fname.'_to" value="'.$to.'" placeholder="'.__( $field->name, 'kleo_framework').' '.__('to', 'kleo_framework').'" >
  310. </div>';
  311.  
  312. continue;
  313. }
  314.  
  315. switch ($field->type):
  316.  
  317. case 'textarea':
  318. $value = esc_attr (stripslashes ($posted));
  319. echo "<div class='two columns hz-textarea'><input type='text' name='$fname' id='$fname' value='$value' placeholder='".__( $field->name, 'kleo_framework')."' /></div>";
  320. break;
  321.  
  322. case 'selectbox':
  323. echo "<div class='two columns hz-select'><select class='expand' name='$fname' id='$fname'>";
  324. echo "<option value=''>".__( $field->name, 'kleo_framework')."</option>";
  325. foreach ($options as $option)
  326. {
  327. $option->name = trim ($option->name);
  328. $value = esc_attr (stripslashes ($option->name));
  329. $selected = ($option->name == $posted)? "selected='selected'": "";
  330. echo "<option $selected value='$value'>".__($value,'kleo_framework')."</option>";
  331. }
  332. echo "</select></div>";
  333. break;
  334.  
  335. case 'multiselectbox':
  336. echo "<div class='two columns hz-multiselect'><select ".apply_filters('kleo_bp_search_multiselect_attributes',"multiple='multiple' data-customforms='disabled'")." class='expand' name='{$fname}[]' id='$fname'>";
  337. echo "<option value=''>".__( $field->name, 'kleo_framework')."</option>";
  338. foreach ($options as $option)
  339. {
  340. $option->name = trim ($option->name);
  341. $value = esc_attr (stripslashes ($option->name));
  342. $selected = (in_array ($option->name, (array)$posted))? "selected='selected'": "";
  343. echo "<option $selected value='$value'>".__($value,'kleo_framework')."</option>";
  344. }
  345. echo "</select></div>";
  346. break;
  347.  
  348. case 'radio':
  349. echo "<div class='two columns hz-radio'>";
  350. echo "<label>".__( $field->name, 'kleo_framework')."</label>";
  351. echo '</div>';
  352.  
  353. foreach ($options as $option)
  354. {
  355. $option->name = trim ($option->name);
  356. $value = esc_attr (stripslashes ($option->name));
  357. $selected = ($option->name == $posted)? "checked='checked'": "";
  358. echo "<div class='two columns bglabel'>";
  359. echo "<label><input $selected type='radio' name='$fname' value='$value'> ".__($value,'kleo_framework')."</label>";
  360. echo '</div>';
  361. }
  362. break;
  363.  
  364. case 'checkbox':
  365. echo "<div class='two columns hz-checkbox-name'>";
  366. echo "<label>".__( $field->name, 'kleo_framework')."</label>";
  367. echo '</div>';
  368.  
  369. foreach ($options as $option)
  370. {
  371. $option->name = trim ($option->name);
  372. $value = esc_attr (stripslashes ($option->name));
  373. $selected = (in_array ($option->name, (array)$posted))? "checked='checked'": "";
  374. echo "<div class='two columns bglabel hz-checkbox'>";
  375. echo "<label><input $selected type='checkbox' name='{$fname}[]' value='$value'> ".__($value,'kleo_framework')."</label>";
  376. echo '</div>';
  377. }
  378. break;
  379.  
  380. case 'textbox':
  381. default:
  382. $value = esc_attr (stripslashes ($posted));
  383.  
  384. echo "<div class='two columns hz-textbox'><input type='text' name='$fname' id='$fname' value='$value' placeholder='".__( $field->name, 'kleo_framework')."' /></div>";
  385. break;
  386.  
  387. endswitch;
  388.  
  389. }
  390.  
  391. echo "<input type='hidden' name='bs' value=' ' />";
  392. do_action('kleo_bp_search_add_data');
  393. ?>
  394. <?php if ($show_button): ?>
  395. <div class="two columns hz-submit">
  396. <button class="small button radius"><i class="icon-search"></i></button>
  397. </div>
  398. <?php else: ?>
  399. <script type="text/javascript">
  400. jQuery(document).ready(function($) {
  401. $("input,select,radio,checkbox","#horizontal_search").change(function() {
  402. $("#horizontal_search").submit();
  403. });
  404. });
  405. </script>
  406. <?php endif;?>
  407.  
  408. </div>
  409. </form>
  410. <!--end search form-->
  411. </div><!--end row-->
  412. </div><!--end Search bar-->
  413. <?php
  414. }
  415. endif;
Advertisement
Add Comment
Please, Sign In to add comment