Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- //Is AJAX
- if(!isset($_SERVER['HTTP_X_REQUESTED_WITH']) && empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) !== 'xmlhttprequest') {exit;}
- //Validation email
- $email = $modx->stripTags(filter_input(INPUT_POST,'email',FILTER_SANITIZE_FULL_SPECIAL_CHARS));
- $errorEmail = 0;
- $complete = 0;
- if(empty($email)){
- $text = 'Не указан email. <br>';
- $errorEmail = 1;
- }elseif(!filter_var($email, FILTER_VALIDATE_EMAIL)) {
- $text = 'Email указан не верно. <br>';
- $errorEmail = 1;
- }
- //Subscribe type
- $subscribe_type = $_POST['subscribe-type'];
- if(empty($subscribe_type) || !is_array($subscribe_type)){
- $text .= 'Выберите хотя бы один тип подписки.';
- $errorSubsType = 1;
- }
- //Error
- if(!empty($errorEmail) || !empty($errorSubsType)){
- die("{ \"text\": \"$text\", \"errorEmail\": $errorEmail, \"complete\": $complete }");
- exit;
- }
- //Search object user
- if(!$user = $modx->getObject('UsersSubscribe', array('email'=>$email))){
- $user = $modx->newObject('UsersSubscribe');
- $user->set('email',$email);
- }else{
- $reSubText = "Вы успешно обновили настройки рассылки!";
- }
- //Set object user
- $type = array('news' => 0,'public' => 0,'event' => 0,'action' => 0);
- foreach($subscribe_type as $value){
- $type[$modx->stripTags($value)] = 1;
- }
- foreach($type as $key => $val){
- $user->set($key,$val);
- }
- //Save object user
- if($user->save()){
- $text = !empty($reSubText) ? $reSubText : "Вы успешно подписались на рассылку!";
- $complete = 1;
- }else{
- $text = "Произошла ошибка при сохранении. Попробуйте еще раз.";
- }
- //Response
- die("{ \"text\": \"$text\", \"errorEmail\": $errorEmail, \"complete\": $complete }");
- exit;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement