コード例 #1
1
ファイル: subscr_edit.php プロジェクト: DarneoStudio/bitrix
if ($POST_RIGHT == "D") {
    $APPLICATION->AuthForm(GetMessage("ACCESS_DENIED"));
}
$aTabs = array(array("DIV" => "edit1", "TAB" => GetMessage("subscr_tab_subscriber"), "ICON" => "main_user_edit", "TITLE" => GetMessage("subscr_tab_subscriber_title")), array("DIV" => "edit2", "TAB" => GetMessage("subscr_tab_subscription"), "ICON" => "main_user_edit", "TITLE" => GetMessage("subscr_tab_subscription_title")));
$tabControl = new CAdminTabControl("tabControl", $aTabs);
$ID = intval($ID);
// Id of the edited record
$strError = "";
$bVarsFromForm = false;
if ($REQUEST_METHOD == "POST" && ($save != "" || $apply != "") && $POST_RIGHT >= "W" && check_bitrix_sessid()) {
    $subscr = new CSubscription();
    $arFields = array("USER_ID" => $ANONYMOUS == "Y" ? false : $USER_ID, "ACTIVE" => $ACTIVE != "Y" ? "N" : "Y", "FORMAT" => $FORMAT != "html" ? "text" : "html", "EMAIL" => $EMAIL, "CONFIRMED" => $CONFIRMED != "Y" ? "N" : "Y", "SEND_CONFIRM" => $SEND_CONFIRM != "Y" ? "N" : "Y", "RUB_ID" => $RUB_ID, "ALL_SITES" => "Y");
    if ($ID > 0) {
        $res = $subscr->Update($ID, $arFields, $SITE_ID);
    } else {
        $ID = $subscr->Add($arFields, $SITE_ID);
        $res = $ID > 0;
    }
    if ($res) {
        if ($apply != "") {
            LocalRedirect("/bitrix/admin/subscr_edit.php?ID=" . $ID . "&mess=ok&lang=" . LANG . "&" . $tabControl->ActiveTabParam());
        } else {
            LocalRedirect("/bitrix/admin/subscr_admin.php?lang=" . LANG);
        }
    } else {
        if ($e = $APPLICATION->GetException()) {
            $message = new CAdminMessage(GetMessage("subs_save_error"), $e);
        }
        $bVarsFromForm = true;
    }
}
コード例 #2
0
ファイル: component.php プロジェクト: Satariall/izurit
            if (!$rs) {
                $arResult["ERRORS"][] = GetMessage("CC_BSS_DELETE_ERROR");
            } else {
                $_SESSION["subscribe.simple.message"] = GetMessage("CC_BSS_UPDATE_SUCCESS");
            }
        }
    } else {
        if (is_array($arSubscription)) {
            $rs = $obSubscription->Update($arSubscription["ID"], array("FORMAT" => $_POST["FORMAT"] !== "html" ? "text" : "html", "RUB_ID" => $arNewRubrics), false);
            if (!$rs) {
                $arResult["ERRORS"][] = $obSubscription->LAST_ERROR;
            } else {
                $_SESSION["subscribe.simple.message"] = GetMessage("CC_BSS_UPDATE_SUCCESS");
            }
        } else {
            $ID = $obSubscription->Add(array("USER_ID" => $USER_ID, "ACTIVE" => "Y", "EMAIL" => $USER->GetEmail(), "FORMAT" => $_POST["FORMAT"] !== "html" ? "text" : "html", "CONFIRMED" => "Y", "SEND_CONFIRM" => "N", "RUB_ID" => $arNewRubrics));
            if (!$ID) {
                $arResult["ERRORS"][] = $obSubscription->LAST_ERROR;
            } else {
                $_SESSION["subscribe.simple.message"] = GetMessage("CC_BSS_UPDATE_SUCCESS");
            }
        }
    }
    if (count($arResult["ERRORS"]) <= 0) {
        LocalRedirect($APPLICATION->GetCurPageParam());
    } else {
        $bVarsFromForm = true;
    }
}
if (array_key_exists("subscribe.simple.message", $_SESSION)) {
    $arResult["MESSAGE"] = $_SESSION["subscribe.simple.message"];
コード例 #3
0
ファイル: subscr_import.php プロジェクト: DarneoStudio/bitrix
                $user->Update($USER_ID, array("LOGIN" => "user" . $USER_ID));
                //send registration message
                if ($SEND_REG_INFO == "Y") {
                    $user->SendUserInfo($USER_ID, $LID, GetMessage("subscr_send_info"));
                }
            } else {
                $arError[] = array("id" => "", "text" => $email . ": " . $user->LAST_ERROR);
                $nError++;
                continue;
            }
        }
        //$USER_TYPE == "U"
        //add subscription
        $arFields["USER_ID"] = $USER_ID;
        $arFields["EMAIL"] = $email;
        if (!$subscr->Add($arFields, $LID)) {
            $arError[] = array("id" => "", "text" => $email . ": " . $subscr->LAST_ERROR);
            $nError++;
        } else {
            $nSuccess++;
        }
    }
    //foreach
    $bShowRes = true;
} else {
    //default falues
    $CONFIRMED = "Y";
    $USER_TYPE = "A";
    $SEND_REG_INFO = "Y";
    $FORMAT = "text";
    $USER_GROUP_ID = array();
コード例 #4
0
}
$post = $_POST;
if ($post['asd_subscribe'] == 'Y' && strlen(trim($post['asd_email'])) && $post['asd_key'] == md5($arParams['JS_KEY'] . $post['asd_rubrics'] . (isset($post['asd_show_rubrics']) ? $post['asd_show_rubrics'] : '') . (isset($post['asd_not_confirm']) ? $post['asd_not_confirm'] : '')) && check_bitrix_sessid()) {
    $arReturn = array();
    CComponentUtil::__IncludeLang(substr(__FILE__, strpos(__FILE__, '/bitrix/components'), -strlen(basename(__FILE__))), basename(__FILE__));
    if (CModule::IncludeModule('subscribe')) {
        $arRubrics = strlen($post['asd_rubrics']) ? explode('|', $post['asd_rubrics']) : array();
        $arRubricsUser = isset($post['asd_rub']) && is_array($post['asd_rub']) ? $post['asd_rub'] : array();
        $arRubricsUser = array_intersect($arRubrics, $arRubricsUser);
        $arRubricsUser = empty($arRubricsUser) ? $arRubrics : $arRubricsUser;
        $email = trim($post['asd_email']);
        $charset = $post['charset'];
        $bShowRubrics = $post['asd_show_rubrics'] == 'Y';
        $arFields = array('USER_ID' => $USER->GetID(), 'SEND_CONFIRM' => $post['asd_not_confirm'] == 'Y' ? 'N' : 'Y', 'EMAIL' => $email, 'ACTIVE' => 'Y', 'RUB_ID' => $bShowRubrics ? $arRubricsUser : $arRubrics, 'CONFIRMED' => $post['asd_not_confirm'] == 'Y' ? 'Y' : 'N');
        $subscr = new CSubscription();
        if ($newID = $subscr->Add($arFields)) {
            $arReturn = array('message' => GetMessage('ASD_CMP_SUCCESS' . ($post['asd_not_confirm'] == 'Y' ? '_NC' : '')), 'status' => 'ok');
        } elseif ($ex = $APPLICATION->GetException()) {
            $arReturn = array('message' => $ex->GetString(), 'status' => 'error');
        }
    } else {
        $arReturn = array('message' => GetMessage('ASD_CMP_NOT_INSTALLED'), 'status' => 'error');
    }
    if (defined('PUBLIC_AJAX_MODE') && PUBLIC_AJAX_MODE === true) {
        $arReturn['message'] = $APPLICATION->ConvertCharset(strip_tags($arReturn['message']), $charset, 'UTF-8');
        header('Content-type: application/json');
        echo json_encode($arReturn);
    } else {
        return $arReturn;
    }
}
コード例 #5
0
ファイル: component.php プロジェクト: Satariall/izurit
     if ($_REQUEST["CONFIRM_CODE"] != "" && $ID > 0) {
         $arFields["CONFIRM_CODE"] = $_REQUEST["CONFIRM_CODE"];
     }
     $res = false;
     if ($ID > 0) {
         //allow edit only after authorization
         if (CSubscription::IsAuthorized($ID)) {
             $res = $obSubscription->Update($ID, $arFields);
             if ($res) {
                 $iMsg = $obSubscription->LAST_MESSAGE != "" ? $obSubscription->LAST_MESSAGE : "UPD";
             }
         }
     } else {
         //can add without authorization
         $arFields["ACTIVE"] = "Y";
         $ID = $obSubscription->Add($arFields);
         $res = $ID > 0;
         if ($res) {
             $iMsg = "SENT";
             CSubscription::Authorize($ID);
         }
     }
     if ($res) {
         //remember e-mail in cookies
         $bVarsFromForm = false;
         $APPLICATION->set_cookie("SUBSCR_EMAIL", $_REQUEST["EMAIL"], mktime(0, 0, 0, 12, 31, 2030));
         LocalRedirect($APPLICATION->GetCurPage() . "?ID=" . $ID . ($iMsg != "" ? "&mess_code=" . urlencode($iMsg) : ""));
     } else {
         $arWarning[] = $obSubscription->LAST_ERROR;
     }
 }
コード例 #6
0
        $rubSelect = array("SORT" => "ASC", "NAME" => "ASC");
        $rubFilter = array("ACTIVE" => "Y", "VISIBLE" => "Y", 'NAME' => 'Акции');
        $dbRub = CRubric::GetList($rubSelect, $rubFilter);
        while ($arRubric = $dbRub->GetNext()) {
            echo $rbkIDs[] = $arRubric["ID"];
        }
        $RUB_ID = $rbkIDs;
    }
    $email = $_REQUEST["EMAIL"];
    $ID = $USER->IsAuthorized() ? $USER->GetID() : false;
    //echo "DATACHECK ID=$ID, EMAIL=$email<br/>";
    if ($ID || !empty($email)) {
        //echo "DATA_VALID<br/>";
        if (empty($email)) {
            $email = $USER->GetEmail();
        }
        $subscr = new CSubscription();
        //echo "SEARCH SUBSCRIPTION<br/>";
        $arSFields = array("USER_ID" => $ID, "FORMAT" => "html", "ACTIVE" => "Y", "EMAIL" => $email, "SEND_CONFIRM" => "N", "CONFIRMED" => "Y", "DATE_CONFIRM" => ConvertTimeStamp(time(), "SHORT", "ru"), "RUB_ID" => $RUB_ID, "SEND_CONFIRM" => "N");
        $dbSubscr = CSubscription::GetByEmail($email);
        if ($arSubscr = $dbSubscr->GetNext()) {
            //    echo "FOUND.UPDATE<br/>";
            $result = $subscr->Update($arSubscr["ID"], $arSFields, "#SITE_ID#");
        } else {
            //    echo "NOT FOUND.ADD<br/>";
            $result = $subscr->Add($arSFields, "#SITE_ID#");
            //    echo $subscr->LAST_ERROR;
        }
    }
}
//  LocalRedirect($backUrl);
コード例 #7
0
ファイル: subscription.php プロジェクト: ASDAFF/mp
<?php

require $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_before.php";
CModule::IncludeModule('subscribe');
$rsRubric = CRubric::GetList(false, array('ACTIVE' => 'Y'));
while ($rubric = $rsRubric->Fetch()) {
    $rubrics[] = $rubric['ID'];
}
$error = false;
if (isset($_GET['email'])) {
    if (!check_email($_GET['email'])) {
        $error = 'Введен неверый Email адрес.';
    } else {
        $fields = array('FORMAT' => 'html', 'EMAIL' => trim($_GET['email']), 'ACTIVE' => 'Y', 'CONFIRMED' => 'Y', 'RUB_ID' => $rubrics);
    }
} else {
    if ($USER->isAuthorized()) {
        $fields = array('USER_ID' => $USER->GetId(), 'FORMAT' => 'html', 'EMAIL' => $USER->GetEmail(), 'ACTIVE' => 'Y', 'CONFIRMED' => 'Y', 'RUB_ID' => $rubrics);
    }
}
if (false === $error) {
    $subscr = new CSubscription();
    $subscr->Add($fields);
    $error = !$subscr->LAST_ERROR ? 0 : $subscr->LAST_ERROR;
}
echo json_encode($error);
コード例 #8
0
        $rubSelect = array("SORT" => "ASC", "NAME" => "ASC");
        $rubFilter = array("ACTIVE" => "Y", "VISIBLE" => "Y", 'NAME' => 'Акции');
        $dbRub = CRubric::GetList($rubSelect, $rubFilter);
        while ($arRubric = $dbRub->GetNext()) {
            echo $rbkIDs[] = $arRubric["ID"];
        }
        $RUB_ID = $rbkIDs;
    }
    $email = $_REQUEST["EMAIL"];
    $ID = $USER->IsAuthorized() ? $USER->GetID() : false;
    //echo "DATACHECK ID=$ID, EMAIL=$email<br/>";
    if ($ID || !empty($email)) {
        //echo "DATA_VALID<br/>";
        if (empty($email)) {
            $email = $USER->GetEmail();
        }
        $subscr = new CSubscription();
        //echo "SEARCH SUBSCRIPTION<br/>";
        $arSFields = array("USER_ID" => $ID, "FORMAT" => "html", "ACTIVE" => "Y", "EMAIL" => $email, "SEND_CONFIRM" => "N", "CONFIRMED" => "Y", "DATE_CONFIRM" => ConvertTimeStamp(time(), "SHORT", "ru"), "RUB_ID" => $RUB_ID, "SEND_CONFIRM" => "N");
        $dbSubscr = CSubscription::GetByEmail($email);
        if ($arSubscr = $dbSubscr->GetNext()) {
            //    echo "FOUND.UPDATE<br/>";
            $result = $subscr->Update($arSubscr["ID"], $arSFields, "s1");
        } else {
            //    echo "NOT FOUND.ADD<br/>";
            $result = $subscr->Add($arSFields, "s1");
            //    echo $subscr->LAST_ERROR;
        }
    }
}
//  LocalRedirect($backUrl);
コード例 #9
0
ファイル: subscribe.php プロジェクト: quetzal19/RBCC
<?php

if (isset($_REQUEST['SITE_ID'])) {
    define('SITE_ID', !empty($_REQUEST['SITE_ID']) ? $_REQUEST['SITE_ID'] : 's1');
}
define("STOP_STATISTICS", true);
define('NO_AGENT_CHECK', true);
require_once $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_before.php";
use Bitrix\Main\Localization\Loc;
use RBCC\Helpers\Common\JS;
Loc::loadMessages(__FILE__);
$response = array('result' => false, 'title' => GetMessage('SUBSCRIBE_ERROR_TITLE'), 'message' => '');
global $USER;
CModule::IncludeModule('subscribe');
if (!isset($_REQUEST['EMAIL']) || empty($_REQUEST['EMAIL'])) {
    $response['message'] = GetMessage('SUBSCRIBE_EMAIL_IS_EMPTY');
    JS::ajax($response);
}
$subscription = new CSubscription();
$subId = $subscription->Add(array('USER_ID' => $USER->IsAuthorized() ? $USER->GetID() : false, 'EMAIL' => $_REQUEST['EMAIL']));
if ($subId) {
    @CSubscription::Authorize($subId);
    $response['result'] = true;
    $response['title'] = GetMessage('SUBSCRIBE_MESSAGE_TITLE');
    $response['message'] = GetMessage('SUBSCRIBE_MESSAGE_TEXT', array('#EMAIL#' => $_REQUEST['EMAIL']));
    JS::ajax($response);
} else {
    $response['message'] = strip_tags($subscription->LAST_ERROR);
    JS::ajax($response);
}
コード例 #10
0
ファイル: functions.php プロジェクト: akniyev/arteva.ru
/**
 * [subscribeRegUser description]
 * @param  str $email
 * @return bool
 */
function subscribeRegUser($email){
    //require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");
    CModule::IncludeModule("subscribe");
    $EMAIL = $email;
    global $USER;
    /* получим значение пользователя */
    if ($USER->IsAuthorized()):
        $USER = $USER->GetID();
    else:
       $USER = NULL ;
    endif;
    /* определим рубрики активные рубрики подписок */
    $RUB_ID = array();
    $rub = CRubric::GetList(array(), array("ACTIVE"=>"Y"));
    while($rub->ExtractFields("r_")):
        $RUB_ID = array($r_ID) ;
    endwhile;
    $RUB_ID = array('0' => '2');
    /* создадим массив на подписку */
    $subscr = new CSubscription;
    $arFields = Array(
        "USER_ID" => $USER,
        "FORMAT" => "html/text",
        "EMAIL" => $EMAIL,
        "ACTIVE" => "Y",
        "RUB_ID" => $RUB_ID,
        "SEND_CONFIRM" => "Y",
        "CONFIRMED" => "Y"
    );
    if ($subscr->Add($arFields)) return true;
    return false;
}
コード例 #11
0
ファイル: subscribe.php プロジェクト: akniyev/arteva.ru
         $subscr = new CSubscription();
         if ($subscr->Update($ID, array("ACTIVE" => "Y"))) {
             $result = json_encode(array("result" => true, "value" => "Спасибо, вы подписались на рассылку", "action" => "subscribe"));
         }
     } else {
         /* определим рубрики активные рубрики подписок */
         $RUB_ID = array();
         $rub = CRubric::GetList(array(), array("ACTIVE" => "Y"));
         while ($rub->ExtractFields("r_")) {
             $RUB_ID = array($r_ID);
         }
         $RUB_ID = array('0' => '2');
         /* создадим массив на подписку */
         $subscr = new CSubscription();
         $arFields = array("USER_ID" => $USER, "FORMAT" => "html/text", "EMAIL" => $EMAIL, "ACTIVE" => "Y", "RUB_ID" => $RUB_ID, "SEND_CONFIRM" => "Y", "CONFIRMED" => "Y");
         if ($idsubrscr = $subscr->Add($arFields)) {
             $result = json_encode(array("result" => true, "value" => "Спасибо, вы подписались на рассылку", "action" => "subscribe"));
         } else {
             $result = json_encode(array("result" => false, "value" => "Данный адрес уже был подписан на рассылку", "action" => "subscribe"));
         }
     }
 } elseif ($_POST["email"] && $_POST["action"] == "remove") {
     $subscription = CSubscription::GetByEmail($_POST["email"]);
     if ($subscription->ExtractFields("str_")) {
         $ID = (int) $str_ID;
     }
     $subscr = new CSubscription();
     if ($subscr->Update($ID, array("ACTIVE" => "N"))) {
         $result = json_encode(array("result" => true, "value" => "Вы отписались на рассылки", "action" => "unsubscribe"));
     } else {
         $result = json_encode(array("result" => false, "value" => "Произошла ошибка. ПОпробуйте позже", "action" => "unsubscribe"));
コード例 #12
0
 /**
  * Subscribe user by email
  *
  * @global object $APPLICATION
  * @param string $email
  * @return array
  */
 public static function subscribe($email, $subscribeID, $siteID)
 {
     global $APPLICATION;
     $arResult["SUCCESS"] = true;
     $arFields = array("EMAIL" => $email, "FORMAT" => "html", "ACTIVE" => "Y", "RUB" => $subscribeID, "SEND_CONFIRM" => "Y", "CONFIRM_CODE" => self::GenerateConfirmCode(8));
     if (!CModule::IncludeModule("subscribe")) {
         $arResult["SUCCESS"] = false;
         $arResult["MESSAGE"] = "Модуль подписок не установлен на сайте";
     }
     $subscription = new CSubscription();
     $sId = $subscription->Add($arFields, $siteID);
     $sId = intval($sId);
     if ($sId > 0) {
         $arResult["ID"] = $sId;
         $arResult["MESSAGE"] = "На указанный e-mail отправлено письмо для потверждения подписки";
     } else {
         $arResult["SUCCESS"] = false;
         $arResult["MESSAGE"] = strip_tags($subscription->LAST_ERROR);
     }
     return $arResult;
 }
コード例 #13
0
 }
 if ($strWarning == "") {
     $arFields = array("USER_ID" => $USER->IsAuthorized() ? $USER->GetID() : false, "FORMAT" => $_REQUEST["FORMAT"] != "html" ? "text" : "html", "EMAIL" => $_REQUEST["EMAIL"], "RUB_ID" => $_REQUEST["RUB_ID"]);
     $res = false;
     if ($ID > 0) {
         //allow edit only after authorization
         if (CSubscription::IsAuthorized($ID)) {
             $res = $subscr->Update($ID, $arFields);
             if ($res) {
                 $iMsg = $subscr->LAST_MESSAGE != "" ? $subscr->LAST_MESSAGE : "UPD";
             }
         }
     } else {
         //can add without authorization
         $arFields["ACTIVE"] = "Y";
         $ID = $subscr->Add($arFields);
         $res = $ID > 0;
         if ($res) {
             $iMsg = "SENT";
             CSubscription::Authorize($ID);
         }
     }
     if ($res) {
         //remember e-mail in cookies
         $bVarsFromForm = false;
         $APPLICATION->set_cookie("SUBSCR_EMAIL", $_REQUEST["EMAIL"], mktime(0, 0, 0, 12, 31, 2030));
         LocalRedirect($APPLICATION->GetCurPage() . "?ID=" . $ID . ($iMsg != "" ? "&mess_code=" . $iMsg : ""));
     } else {
         $strWarning .= $subscr->LAST_ERROR;
     }
 }
コード例 #14
0
ファイル: basket-podpiska.php プロジェクト: pixelplus/gittest
<?php

define("STOP_STATISTICS", true);
define("PUBLIC_AJAX_MODE", true);
require_once $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_before.php";
/*
 * Подписка на рассылки
 */
if (CModule::IncludeModule("subscribe")) {
    if (isset($_POST['rassylka']) && $_POST['rassylka'] == "Y") {
        $arFields = array("USER_ID" => $USER->IsAuthorized() ? $USER->GetID() : false, "FORMAT" => $FORMAT != "html" ? "text" : "html", "EMAIL" => $_POST['email'], "ACTIVE" => "Y", "CONFIRMED" => "Y", 'SEND_CONFIRM' => "N");
        $subscr = new CSubscription();
        //can add without authorization
        $IDrassylka = $subscr->Add($arFields);
        if ($ID > 0) {
            CSubscription::Authorize($IDrassylka);
        }
        /*else
        		$strWarning .= "Error adding subscription: ".$subscr->LAST_ERROR."<br>";*/
    }
}
/*
 * END Подписка на рассылки
 */
require_once $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/epilog_after.php";