コード例 #1
0
ファイル: Users.php プロジェクト: ASDAFF/bitrix_tehnomir
 public function DeleteByLogin($login)
 {
     if (!$login) {
         throw new \Exception("Unexpected login", 1);
     } else {
         $user = \CUser::GetByLogin($login)->Fetch();
         $subscriber = \CSubscription::GetByEmail($user["EMAIL"])->Fetch();
         \CSubscription::Delete($subscriber["ID"]);
         return True;
     }
 }
コード例 #2
0
ファイル: subscription.php プロジェクト: DarneoStudio/bitrix
 function GetUserSubscription()
 {
     global $USER;
     $email_cookie = COption::GetOptionString("main", "cookie_name", "BITRIX_SM") . "_SUBSCR_EMAIL";
     $subscr_EMAIL = strlen($_COOKIE[$email_cookie]) > 0 ? $_COOKIE[$email_cookie] : $USER->GetParam("EMAIL");
     if ($subscr_EMAIL != "") {
         $subscr = CSubscription::GetByEmail($subscr_EMAIL, intval($USER->GetID()));
         if ($subscr_arr = $subscr->Fetch()) {
             return $subscr_arr;
         }
     }
     return array("ID" => 0, "EMAIL" => "");
 }
コード例 #3
0
ファイル: component.php プロジェクト: Satariall/izurit
            $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;
        }
    }
    //$arWarning
}
//POST
//new or existing subscription?
//ID==0 indicates new subscription
if (strlen($_REQUEST["sf_EMAIL"]) > 0 || $ID > 0 || $USER->IsAuthorized()) {
    if ($ID > 0) {
        $rsSubscription = CSubscription::GetByID($ID);
    } elseif (strlen($_REQUEST["sf_EMAIL"]) > 0) {
        $rsSubscription = CSubscription::GetByEmail($_REQUEST["sf_EMAIL"], intval($USER->GetID()));
    } else {
        $rsSubscription = CSubscription::GetList(array(), array("USER_ID" => $USER->GetID()));
    }
    if ($arSubscription = $rsSubscription->GetNext()) {
        $ID = intval($arSubscription["ID"]);
    } else {
        $ID = 0;
    }
} else {
    $ID = 0;
}
//try to authorize subscription by CONFIRM_CODE or user password AUTH_PASS
if ($ID > 0 && !CSubscription::IsAuthorized($ID)) {
    if ($arSubscription["USER_ID"] > 0 && !empty($_REQUEST["AUTH_PASS"])) {
        //trying to login user
コード例 #4
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);
コード例 #5
0
ファイル: subscribe.php プロジェクト: akniyev/arteva.ru
        } 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"));
        }
    }
    echo $result;
}
コード例 #6
0
 /**
  * Get subscription id by user's email
  *
  * @param string $email
  * @return array|boolean
  */
 public static function getSubscriptionByEmail($email)
 {
     if (!CModule::IncludeModule("subscribe")) {
         return false;
     }
     $rsSubscription = CSubscription::GetByEmail($email);
     $arSubscription = $rsSubscription->Fetch();
     return $arSubscription["ID"] ? $arSubscription : false;
 }
コード例 #7
0
             $strWarning .= $subscr->LAST_ERROR;
         }
     }
     //$strWarning
 }
 //POST
 //default values
 $str_FORMAT = "text";
 $str_EMAIL = htmlspecialchars($_REQUEST["sf_EMAIL"]);
 //new or existing subscription?
 //ID==0 indicates new subscription
 if (strlen($_REQUEST["sf_EMAIL"]) > 0 || $ID > 0) {
     if ($ID > 0) {
         $subscription = CSubscription::GetByID($ID);
     } else {
         $subscription = CSubscription::GetByEmail($_REQUEST["sf_EMAIL"]);
     }
     if ($subscr_arr = $subscription->Fetch()) {
         foreach ($subscr_arr as $key => $value) {
             ${"str_" . $key} = htmlspecialchars($value);
         }
         $ID = (int) $str_ID;
     } else {
         $ID = 0;
     }
 } else {
     $ID = 0;
 }
 //try to authorize subscription by CONFIRM_CODE or user password AUTH_PASS
 if ($ID > 0 && !CSubscription::IsAuthorized($ID)) {
     if ($str_USER_ID > 0 && !empty($_REQUEST["AUTH_PASS"])) {