コード例 #1
0
ファイル: functions.php プロジェクト: akniyev/arteva.ru
/**
 * [unsubscribeUser description]
 * @param  array $arParams
 * @return bool
 */
function unsubscribeUser($arParams){
    CModule::IncludeModule("subscribe");
    $subscr = CSubscription::GetList(
        array("ID"=>"ASC"),
        array("CONFIRMED"=>"Y", "ACTIVE"=>"Y", "ID" => $arParams["ID"])
    );
    if ($arSubUser = $subscr->Fetch()):
        if ($arParams["CONFIRM_CODE"] == $arSubUser["CONFIRM_CODE"]):
            if (CSubscription::Delete($arSubUser["ID"])):
                return true;
            endif;
        endif;
    endif;
    return false;
}
コード例 #2
0
ファイル: CRUD.php プロジェクト: ASDAFF/bitrix_tehnomir
 public function Add()
 {
     \ChromePhp::log("Subscr CRUD Add");
     if ($subscriber = $this->getSubscriber()) {
         $this->user = \CUser::GetByID($subscriber)->Fetch();
         \CUser::Authorize($this->user["ID"]);
         if ($subscribe = \CSubscription::GetList(False, array("ACTIVE" => "Y", "USER_ID" => $this->user["ID"]))->Fetch()) {
             return $subscribe["ID"];
         } else {
             try {
                 return $this->addSubscribe();
             } catch (SubscribeException $e) {
                 prentExpection($e->getMessage());
             }
         }
     } else {
         throw new SubscribeUserException("No user for add to subscribers" . ". Line: " . __LINE__);
     }
 }
コード例 #3
0
ファイル: component.php プロジェクト: Satariall/izurit
    ShowError(GetMessage("CC_BSS_NOT_AUTHORIZED"));
    return;
}
if ($USER_ID && $_SERVER["REQUEST_METHOD"] == "POST" && array_key_exists("Update", $_POST) && check_bitrix_sessid()) {
    //Find out what rubrics was chosen by the user
    $arNewRubrics = array();
    if (is_array($_POST["RUB_ID"])) {
        foreach ($_POST["RUB_ID"] as $rub_id) {
            $rub_id = intval($rub_id);
            if ($rub_id > 0) {
                $arNewRubrics[$rub_id] = $rub_id;
            }
        }
    }
    //Get his subscription
    $rsSubscription = $obSubscription->GetList(array(), array("USER_ID" => $USER_ID));
    $arSubscription = $rsSubscription->Fetch();
    //And when hidden rubrics and rubrics from another site
    //not displayed we'll save their subscription (if exists)
    if (is_array($arSubscription)) {
        $rsRubrics = CSubscription::GetRubricList($arSubscription["ID"]);
        while ($arRubric = $rsRubrics->Fetch()) {
            if ($arRubric["LID"] != SITE_ID) {
                $arNewRubrics[$arRubric["ID"]] = $arRubric["ID"];
            } else {
                if ($arParams["SHOW_HIDDEN"] == "N" && $arRubric["VISIBLE"] == "N") {
                    $arNewRubrics[$arRubric["ID"]] = $arRubric["ID"];
                }
            }
        }
    }
コード例 #4
0
ファイル: subscr_admin.php プロジェクト: DarneoStudio/bitrix
                if (!$ob->Update($ID, $arFields)) {
                    $lAdmin->AddGroupError(GetMessage("subscr_save_error") . $ob->LAST_ERROR, $ID);
                }
                break;
            case "confirm":
                $ob = new CSubscription();
                $arFields = array("CONFIRMED" => "Y");
                if (!$ob->Update($ID, $arFields)) {
                    $lAdmin->AddGroupError(GetMessage("subscr_save_error") . $ob->LAST_ERROR, $ID);
                }
                break;
        }
    }
}
$cData = new CSubscription();
$rsData = $cData->GetList(array($by => $order), $arFilter, array("nPageSize" => CAdminResult::GetNavSize($sTableID)));
$rsData = new CAdminResult($rsData, $sTableID);
$rsData->NavStart();
$lAdmin->NavText($rsData->GetNavPrint(GetMessage("subscr_nav")));
$lAdmin->AddHeaders(array(array("id" => "ID", "content" => "ID", "sort" => "id", "align" => "right", "default" => true), array("id" => "DATE_INSERT", "content" => GetMessage("POST_DATE_INSERT"), "sort" => "date_insert", "default" => true), array("id" => "EMAIL", "content" => GetMessage("subscr_addr"), "sort" => "email", "default" => true), array("id" => "USER_ID", "content" => GetMessage("subscr_user"), "sort" => "user", "default" => true), array("id" => "CONFIRMED", "content" => GetMessage("subscr_conf"), "sort" => "conf", "default" => true), array("id" => "ACTIVE", "content" => GetMessage("subscr_act"), "sort" => "act", "default" => true), array("id" => "FORMAT", "content" => GetMessage("subscr_fmt"), "sort" => "fmt", "default" => true), array("id" => "DATE_UPDATE", "content" => GetMessage("subscr_updated"), "sort" => "date_update", "default" => false), array("id" => "DATE_CONFIRM", "content" => GetMessage("subscr_conf_time"), "sort" => "date_confirm", "default" => false), array("id" => "CONFIRM_CODE", "content" => GetMessage("subscr_conf_code"), "sort" => "confirm_code", "default" => false)));
while ($arRes = $rsData->NavNext(true, "f_")) {
    $row =& $lAdmin->AddRow($f_ID, $arRes);
    if ($f_USER_ID > 0) {
        $strUser = "******"/bitrix/admin/user_edit.php?ID=" . $f_USER_ID . "&amp;lang=" . LANG . "\" title=\"" . GetMessage("subscr_user_edit_title") . "\">" . $f_USER_ID . "</a>] (" . $f_USER_LOGIN . ") " . $f_USER_NAME . " " . $f_USER_LAST_NAME;
    } else {
        $strUser = GetMessage("subscr_adm_anon");
    }
    $row->AddViewField("USER_ID", $strUser);
    $row->AddCheckField("ACTIVE");
    $row->AddInputField("EMAIL", array("size" => 20));
    $row->AddViewField("EMAIL", '<a href="subscr_edit.php?ID=' . $f_ID . '&amp;lang=' . LANG . '" title="' . GetMessage("subscr_upd") . '">' . $f_EMAIL . '</a>');
コード例 #5
0
ファイル: subscr_import.php プロジェクト: DarneoStudio/bitrix
         $arError[] = array("id" => "ADDR_FILE", "text" => GetMessage("subscr_imp_err1") . " (" . GetMessage("subscr_imp_err2") . " " . $_FILES["ADDR_FILE"]["error"] . ")");
     } else {
         $sAddr .= file_get_contents($_FILES["ADDR_FILE"]["tmp_name"]);
     }
 }
 //explode to emails array
 $aEmail = array();
 $addr = strtok($sAddr, ", \r\n\t");
 while ($addr !== false) {
     if (strlen($addr) > 0) {
         $aEmail[$addr] = true;
     }
     $addr = strtok(", \r\n\t");
 }
 //check for duplicate emails
 $addr = CSubscription::GetList();
 while ($addr_arr = $addr->Fetch()) {
     if (isset($aEmail[$addr_arr["EMAIL"]])) {
         unset($aEmail[$addr_arr["EMAIL"]]);
     }
 }
 //*************************************
 //add users and subscribers
 //*************************************
 //constant part of the subscriber
 $subscr = new CSubscription();
 $arFields = array("ACTIVE" => "Y", "FORMAT" => $FORMAT != "html" ? "text" : "html", "CONFIRMED" => $CONFIRMED != "Y" ? "N" : "Y", "SEND_CONFIRM" => $SEND_CONFIRM != "Y" ? "N" : "Y", "ALL_SITES" => "Y", "RUB_ID" => $RUB_ID);
 //constant part of the user
 if ($USER_TYPE == "U") {
     $user = new CUser();
 }
コード例 #6
0
ファイル: component.php プロジェクト: Satariall/izurit
        } 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
        $rsUser = CUser::GetByID($arSubscription["USER_ID"]);
        if ($arUser = $rsUser->Fetch()) {
コード例 #7
0
ファイル: posting.php プロジェクト: k-kalashnikov/geekcon_new
 function GetEmails($post_arr)
 {
     $aEmail = array();
     //send to categories
     $aPostRub = array();
     $post_rub = CPostingGeneral::GetRubricList($post_arr["ID"]);
     while ($post_rub_arr = $post_rub->Fetch()) {
         $aPostRub[] = $post_rub_arr["ID"];
     }
     $subscr = CSubscription::GetList(array("ID" => "ASC"), array("RUBRIC_MULTI" => $aPostRub, "CONFIRMED" => "Y", "ACTIVE" => "Y", "FORMAT" => $post_arr["SUBSCR_FORMAT"], "EMAIL" => $post_arr["EMAIL_FILTER"]));
     while ($subscr_arr = $subscr->Fetch()) {
         $aEmail[] = $subscr_arr["EMAIL"];
     }
     //send to user groups
     $aPostGrp = array();
     $post_grp = CPostingGeneral::GetGroupList($post_arr["ID"]);
     while ($post_grp_arr = $post_grp->Fetch()) {
         $aPostGrp[] = $post_grp_arr["ID"];
     }
     if (count($aPostGrp) > 0) {
         $user = CUser::GetList($b = "id", $o = "asc", array("GROUP_MULTI" => $aPostGrp, "ACTIVE" => "Y", "EMAIL" => $post_arr["EMAIL_FILTER"]));
         while ($user_arr = $user->Fetch()) {
             $aEmail[] = $user_arr["EMAIL"];
         }
     }
     //from additional emails
     $BCC = $post_arr["BCC_FIELD"];
     if ($post_arr["DIRECT_SEND"] == "Y") {
         $BCC .= ($BCC != "" ? "," : "") . $post_arr["TO_FIELD"];
     }
     if ($BCC != "") {
         $BCC = str_replace("\r\n", "\n", $BCC);
         $BCC = str_replace("\n", ",", Trim($BCC));
         $aBcc = explode(",", $BCC);
         for ($i = 0; $i < count($aBcc); $i++) {
             if (Trim($aBcc[$i]) != "") {
                 $aEmail[] = Trim($aBcc[$i]);
             }
         }
     }
     $aEmail = array_unique($aEmail);
     return $aEmail;
 }
コード例 #8
0
?>
">
<input type="reset" name="Reset" value="<?php 
echo GetMessage("post_reset");
?>
">
<input type="hidden" name="search" value="search">
<input type="hidden" name="lang" value="<?php 
echo LANG;
?>
">
<?php 
$tabControl->End();
$aEmail = array();
/*subscribers*/
$subscr = CSubscription::GetList(array("ID" => "ASC"), array("RUBRIC_MULTI" => $RUB_ID, "CONFIRMED" => "Y", "ACTIVE" => "Y", "FORMAT" => $SUBSCR_FORMAT, "EMAIL" => $EMAIL_FILTER));
while ($subscr_arr = $subscr->Fetch()) {
    $aEmail[$subscr_arr["EMAIL"]] = 1;
}
/*users by groups*/
if (is_array($GROUP_ID) && count($GROUP_ID) > 0) {
    $arFilter = array("ACTIVE" => "Y", "EMAIL" => $EMAIL_FILTER);
    if (!in_array(2, $GROUP_ID)) {
        $arFilter["GROUP_MULTI"] = $GROUP_ID;
    }
    $user = CUser::GetList($b = "id", $o = "asc", $arFilter);
    while ($user_arr = $user->Fetch()) {
        if (strlen($user_arr["EMAIL"]) > 0) {
            $aEmail[$user_arr["EMAIL"]] = 1;
        }
    }
コード例 #9
-7
 /**
  * Returns subscribers depended on side filter fields.
  *
  * @return \CDBResult
  */
 public function getData()
 {
     $filter = array();
     $rubric = $this->getFieldValue('RUBRIC', null);
     if ($rubric) {
         $filter['RUBRIC'] = $rubric;
     }
     $active = $this->getFieldValue('ACTIVE', null);
     if ($active) {
         $filter['ACTIVE'] = $active;
     }
     $confirmed = $this->getFieldValue('CONFIRMED', null);
     if ($confirmed) {
         $filter['CONFIRMED'] = $confirmed;
     }
     $dateInsertFrom = $this->getFieldValue('DATE_INSERT_FROM', null);
     if ($dateInsertFrom) {
         $filter['INSERT_1'] = $dateInsertFrom;
     }
     $dateInsertTo = $this->getFieldValue('DATE_INSERT_TO', null);
     if ($dateInsertTo) {
         $filter['INSERT_2'] = $dateInsertTo;
     }
     $subscriberList = \CSubscription::GetList(array('ID' => 'ASC'), $filter);
     return $subscriberList;
 }