GetGroupRight("subscribe"); if($POST_RIGHT=="D") $APPLICATION->AuthForm(GetMessage("ACCESS_DENIED")); $MAIN_RIGHT = $APPLICATION->GetGroupRight("main"); $aTabs = array( array("DIV" => "edit1", "TAB" => GetMessage("imp_import_tab"), "ICON"=>"main_user_edit", "TITLE"=>GetMessage("imp_import_tab_title")), ); $tabControl = new CAdminTabControl("tabControl", $aTabs, true, true); $arError = array(); $bShowRes = false; if(!is_array($USER_GROUP_ID)) $USER_GROUP_ID=array(); if($REQUEST_METHOD=="POST" && !empty($Import) && $POST_RIGHT>="W" && check_bitrix_sessid()) { //************************************* //Prepare emails //************************************* //This is from the form $sAddr = $ADDR_LIST.","; //And this is from the file if(!empty($_FILES["ADDR_FILE"]["tmp_name"])) { if((integer)$_FILES["ADDR_FILE"]["error"] <> 0) $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($addr <> '') $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; $nError = 0; $nSuccess = 0; foreach($aEmail as $email=>$temp) { $USER_ID = false; if($USER_TYPE == "U") { //add user $sPassw = randString(6); $arUserFields = Array( "LOGIN" => randString(50), "CHECKWORD" => randString(8), "PASSWORD" => $sPassw, "CONFIRM_PASSWORD" => $sPassw, "EMAIL" => $email, "ACTIVE" => "Y", "GROUP_ID" => ($MAIN_RIGHT >= "W"?$USER_GROUP_ID:array(COption::GetOptionString("main", "new_user_registration_def_group"))) ); if($USER_ID = $user->Add($arUserFields)) { $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; }//$REQUEST_METHOD=="POST" else { //default falues $CONFIRMED = "Y"; $USER_TYPE = "A"; $SEND_REG_INFO = "Y"; $FORMAT = "text"; $USER_GROUP_ID = array(); $RUB_ID = array(); } $APPLICATION->SetTitle(GetMessage("imp_title")); require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_after.php"); if(count($arError)>0) { $e = new CAdminException($arError); $message = new CAdminMessage(GetMessage("imp_error"), $e); echo $message->Show(); } ?> GetMessage("imp_results"), "DETAILS"=>GetMessage("imp_results_total").' '.count($aEmail).'
' .GetMessage("imp_results_added").' '.$nSuccess.'
' .GetMessage("imp_results_err").' '.$nError.'', "HTML"=>true, "TYPE"=>"PROGRESS", )); } ?>
Begin(); $tabControl->BeginNextTab(); ?> > >
onClick="DisableControls(true);">
onClick="DisableControls(false);"> > = "W"):?>
"ASC", "SORT"=>"ASC", "NAME"=>"ASC"), array("ACTIVE"=>"Y")); $n=1; while(($rub=$rubrics->Fetch())): ?>
">
> /> Buttons(); ?> type="submit" name="Import" value="" class="adm-btn-save"> End(); ?> ShowWarnings("impform", $message); ?>