Advertisement
Guest User

Untitled

a guest
Jun 28th, 2016
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.01 KB | None | 0 0
  1. <?php
  2.  
  3. /**
  4. * Gravity Forms Shuffle fields on current page.
  5. * To impliment add this to your functions.php file
  6. * adding the form id will isolate the filter e.g. add_filter( 'gform_pre_render_5', 'randomize_field_order');
  7. */
  8.  
  9.  
  10. add_filter( 'gform_pre_render', 'randomize_field_order');
  11.  
  12. function randomize_field_order ( $form ) {
  13.  
  14. $current_page = GFFormDisplay::get_current_page( $form['id'] );
  15. $fields = $form[fields];
  16.  
  17. function filter_by_key($array, $member, $value, $member2, $value2) {
  18. $filtered = array();
  19. foreach($array as $k => $v) {
  20. if($v->$member == $value && $v->$member2 != $value2)
  21. array_push($filtered, $k);
  22. }
  23. return $filtered;
  24. }
  25.  
  26. $pageFields = filter_by_key($form['fields'],'pageNumber',$current_page,'type','page');
  27.  
  28. function swap(&$a, &$b) { list($a, $b) = array($b, $a); }
  29. for($i = 0; $i < count($pageFields); $i++) {
  30. $j = rand(1, count($pageFields)) - 1;
  31. swap($fields[$pageFields[$i]], $fields[$pageFields[$j]]);
  32. }
  33.  
  34. $form[fields] = $fields;
  35.  
  36. return $form;
  37. }
  38.  
  39. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement