class.swpm-ajax.php 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. <?php
  2. /**
  3. * Handles various AJAX calls
  4. */
  5. class SwpmAjax {
  6. public static function validate_email_ajax() {
  7. global $wpdb;
  8. $field_value = filter_input(INPUT_GET, 'fieldValue');
  9. $field_id = filter_input(INPUT_GET, 'fieldId');
  10. $member_id = filter_input(INPUT_GET, 'member_id');
  11. if (!check_ajax_referer( 'swpm-rego-form-ajax-nonce', 'nonce', false )) {
  12. echo '[ "' . $field_id . '",false, "'.SwpmUtils::_('Nonce check failed. Please reload page.').'" ]' ;
  13. exit;
  14. }
  15. if (!is_email($field_value)){
  16. echo '[ "' . $field_id . '",false, "'.SwpmUtils::_('Invalid Email Address').'" ]' ;
  17. exit;
  18. }
  19. $table = $wpdb->prefix . "swpm_members_tbl";
  20. $query = $wpdb->prepare("SELECT member_id FROM $table WHERE email = %s AND user_name != ''", $field_value);
  21. $db_id = $wpdb->get_var($query) ;
  22. $exists = ($db_id > 0) && $db_id != $member_id;
  23. echo '[ "' . $field_id . (($exists) ? '",false, "&chi;&nbsp;'.SwpmUtils::_('Already taken').'"]' : '",true, "&radic;&nbsp;'.SwpmUtils::_('Available'). '"]');
  24. exit;
  25. }
  26. public static function validate_user_name_ajax() {
  27. global $wpdb;
  28. $field_value = filter_input(INPUT_GET, 'fieldValue');
  29. $field_id = filter_input(INPUT_GET, 'fieldId');
  30. if (!check_ajax_referer( 'swpm-rego-form-ajax-nonce', 'nonce', false )) {
  31. echo '[ "' . $field_id . '",false, "'.SwpmUtils::_('Nonce check failed. Please reload page.').'" ]' ;
  32. exit;
  33. }
  34. if (!SwpmMemberUtils::is_valid_user_name($field_value)){
  35. echo '[ "' . $field_id . '",false,"&chi;&nbsp;'. SwpmUtils::_('Name contains invalid character'). '"]';
  36. exit;
  37. }
  38. $table = $wpdb->prefix . "swpm_members_tbl";
  39. $query = $wpdb->prepare("SELECT COUNT(*) FROM $table WHERE user_name = %s", $field_value);
  40. $exists = $wpdb->get_var($query) > 0;
  41. echo '[ "' . $field_id . (($exists) ? '",false,"&chi;&nbsp;'. SwpmUtils::_('Already taken'). '"]' :
  42. '",true,"&radic;&nbsp;'.SwpmUtils::_('Available'). '"]');
  43. exit;
  44. }
  45. }