konratnox
6/28/2016 - 1:44 PM

Подписка на рассылки аякс

Подписка на рассылки аякс

<?
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");
CModule::IncludeModule("subscribe");
// если есть post запрос с почтой то исполняем код
if($_POST["email"]) {
    $EMAIL = strtolower(htmlspecialcharsbx($_POST['email']));
    if (filter_var($email, FILTER_VALIDATE_EMAIL)) { 
      /* получим значение пользователя */
      if ($USER->IsAuthorized()){
          global $USER;
         $USER = $USER->GetID() ;
      }
      else {
         $USER = NULL ;
      }
        /* определим рубрики активные рубрики подписок */
        $RUB_ID = array();
        $rub = CRubric::GetList(array(), array("ACTIVE"=>"Y"));
        while($rub->ExtractFields("r_")):
         $RUB_ID = array($r_ID) ;
        endwhile;

        /* создадим массив на подписку */
        $subscr = new CSubscription;
        $arFields = Array(
            "USER_ID" => $USER,
            "FORMAT" => "html/text",
            "EMAIL" => $EMAIL,
            "ACTIVE" => "Y",
            "RUB_ID" => $RUB_ID,
            "SEND_CONFIRM" => "N"
        );
        $idsubrscr = $subscr->Add($arFields);
        if($idsubrscr) {
          $return['status'] = 1;
          $return['message'] = "Вы подписаны на рассылку";
        }
        else {
          $return['status'] = 0;
          $return['message'] = 'Вы уже подписаны на рассылку';
        }
        
    }  else {
      $return['status'] = 0;
      $return['message'] = "Email указан неверно";
    }
} else {
  $return['status'] = 0;
  $return['message'] = "Email не указан";
}
 $return['message'] = iconv('windows-1251','utf-8',  $return['message']);
echo json_encode($return);
<form id="subscriptionForm" class="mailFeed">
  <input type="text" name="email">
  <button tyle="submit">Подписаться</button>
  <div class="clearfix"></div>
  <div class="result"></div>
</form>
$('#subscriptionForm').submit(function(event) {
	    $.ajax({
	      url: '/new_site/ajax/subscribe.php',
	      type: 'POST',
	      dataType: 'json',
	      data: $('#subscriptionForm').serialize(),
	    })
	    .done(function(answer) {
	    	console.log(answer);
	      if (answer.status == 1) {
	        $('#subscriptionForm .result').html('<div class="success">'+answer.message+'</div>');
	        $('#subscriptionForm .result').fadeIn('400', function() {
	          setTimeout(function(){
	            $('#subscriptionForm .result').fadeOut('400');
	          }, 1000);
	        });
	      } else if (answer.status == 0) {
	        $('#subscriptionForm .result').html('<div class="error">'+answer.message+'</div>');
	        $('#subscriptionForm .result').fadeIn('400', function() {
	          setTimeout(function(){
	            $('#subscriptionForm .result').fadeOut('400');
	          }, 1000);
	        });
	      }
	    })
	    .fail(function() {
	      console.log("error");
	    });
	    
	    return false;
	  });