Advertisement
Guest User

Untitled

a guest
Jan 18th, 2017
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.86 KB | None | 0 0
  1. <?php
  2. //Is AJAX
  3. if(!isset($_SERVER['HTTP_X_REQUESTED_WITH']) && empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) !== 'xmlhttprequest') {exit;}
  4.  
  5. //Validation email
  6. $email = $modx->stripTags(filter_input(INPUT_POST,'email',FILTER_SANITIZE_FULL_SPECIAL_CHARS));
  7. $errorEmail = 0;
  8. $complete = 0;
  9.  
  10. if(empty($email)){
  11. $text = 'Не указан email. <br>';
  12. $errorEmail = 1;
  13. }elseif(!filter_var($email, FILTER_VALIDATE_EMAIL)) {
  14. $text = 'Email указан не верно. <br>';
  15. $errorEmail = 1;
  16. }
  17.  
  18. //Subscribe type
  19. $subscribe_type = $_POST['subscribe-type'];
  20.  
  21. if(empty($subscribe_type) || !is_array($subscribe_type)){
  22. $text .= 'Выберите хотя бы один тип подписки.';
  23. $errorSubsType = 1;
  24. }
  25.  
  26. //Error
  27. if(!empty($errorEmail) || !empty($errorSubsType)){
  28. die("{ \"text\": \"$text\", \"errorEmail\": $errorEmail, \"complete\": $complete }");
  29. exit;
  30. }
  31.  
  32. //Search object user
  33. if(!$user = $modx->getObject('UsersSubscribe', array('email'=>$email))){
  34. $user = $modx->newObject('UsersSubscribe');
  35. $user->set('email',$email);
  36. }else{
  37. $reSubText = "Вы успешно обновили настройки рассылки!";
  38. }
  39.  
  40. //Set object user
  41. $type = array('news' => 0,'public' => 0,'event' => 0,'action' => 0);
  42. foreach($subscribe_type as $value){
  43. $type[$modx->stripTags($value)] = 1;
  44. }
  45. foreach($type as $key => $val){
  46. $user->set($key,$val);
  47. }
  48.  
  49. //Save object user
  50. if($user->save()){
  51. $text = !empty($reSubText) ? $reSubText : "Вы успешно подписались на рассылку!";
  52. $complete = 1;
  53. }else{
  54. $text = "Произошла ошибка при сохранении. Попробуйте еще раз.";
  55. }
  56.  
  57. //Response
  58. die("{ \"text\": \"$text\", \"errorEmail\": $errorEmail, \"complete\": $complete }");
  59. exit;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement