add register component
This commit is contained in:
parent
6f0f3723e3
commit
9fe54d2e52
22 changed files with 1084 additions and 0 deletions
|
@ -0,0 +1,16 @@
|
|||
<?
|
||||
if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true) die();
|
||||
|
||||
$arComponentDescription = array(
|
||||
"NAME" => GetMessage("COMP_MAIN_USER_REGISTER_TITLE"),
|
||||
"DESCRIPTION" => GetMessage("COMP_MAIN_USER_REGISTER_DESCR"),
|
||||
"ICON" => "/images/user_register.gif",
|
||||
"PATH" => array(
|
||||
"ID" => "utility",
|
||||
"CHILD" => array(
|
||||
"ID" => "user",
|
||||
"NAME" => GetMessage("MAIN_USER_GROUP_NAME")
|
||||
),
|
||||
),
|
||||
);
|
||||
?>
|
|
@ -0,0 +1,123 @@
|
|||
<?if(!defined("B_PROLOG_INCLUDED")||B_PROLOG_INCLUDED!==true)die();
|
||||
|
||||
$arFormFields = array(
|
||||
"EMAIL"=>1,
|
||||
);
|
||||
if(COption::GetOptionString("main", "new_user_phone_auth", "N") == "Y")
|
||||
{
|
||||
$arFormFields["PHONE_NUMBER"] = 1;
|
||||
}
|
||||
$arFormFields = array_merge($arFormFields, array(
|
||||
"TITLE"=>1,
|
||||
"NAME"=>1,
|
||||
"SECOND_NAME"=>1,
|
||||
"LAST_NAME"=>1,
|
||||
"AUTO_TIME_ZONE"=>1,
|
||||
"PERSONAL_PROFESSION"=>1,
|
||||
"PERSONAL_WWW"=>1,
|
||||
"PERSONAL_ICQ"=>1,
|
||||
"PERSONAL_GENDER"=>1,
|
||||
"PERSONAL_BIRTHDAY"=>1,
|
||||
"PERSONAL_PHOTO"=>1,
|
||||
"PERSONAL_PHONE"=>1,
|
||||
"PERSONAL_FAX"=>1,
|
||||
"PERSONAL_MOBILE"=>1,
|
||||
"PERSONAL_PAGER"=>1,
|
||||
"PERSONAL_STREET"=>1,
|
||||
"PERSONAL_MAILBOX"=>1,
|
||||
"PERSONAL_CITY"=>1,
|
||||
"PERSONAL_STATE"=>1,
|
||||
"PERSONAL_ZIP"=>1,
|
||||
"PERSONAL_COUNTRY"=>1,
|
||||
"PERSONAL_NOTES"=>1,
|
||||
"WORK_COMPANY"=>1,
|
||||
"WORK_DEPARTMENT"=>1,
|
||||
"WORK_POSITION"=>1,
|
||||
"WORK_WWW"=>1,
|
||||
"WORK_PHONE"=>1,
|
||||
"WORK_FAX"=>1,
|
||||
"WORK_PAGER"=>1,
|
||||
"WORK_STREET"=>1,
|
||||
"WORK_MAILBOX"=>1,
|
||||
"WORK_CITY"=>1,
|
||||
"WORK_STATE"=>1,
|
||||
"WORK_ZIP"=>1,
|
||||
"WORK_COUNTRY"=>1,
|
||||
"WORK_PROFILE"=>1,
|
||||
"WORK_LOGO"=>1,
|
||||
"WORK_NOTES"=>1,
|
||||
));
|
||||
|
||||
if(!CTimeZone::Enabled())
|
||||
unset($arFormFields["AUTO_TIME_ZONE"]);
|
||||
|
||||
$arUserFields = array();
|
||||
foreach ($arFormFields as $value=>$dummy)
|
||||
{
|
||||
$arUserFields[$value] = "[".$value."] ".GetMessage("REGISTER_FIELD_".$value);
|
||||
}
|
||||
$arRes = $GLOBALS["USER_FIELD_MANAGER"]->GetUserFields("USER", 0, LANGUAGE_ID);
|
||||
$userProp = array();
|
||||
if (!empty($arRes))
|
||||
{
|
||||
foreach ($arRes as $key => $val)
|
||||
$userProp[$val["FIELD_NAME"]] = (strLen($val["EDIT_FORM_LABEL"]) > 0 ? $val["EDIT_FORM_LABEL"] : $val["FIELD_NAME"]);
|
||||
}
|
||||
|
||||
$arComponentParameters = array(
|
||||
"PARAMETERS" => array(
|
||||
|
||||
"SHOW_FIELDS" => array(
|
||||
"NAME" => GetMessage("REGISTER_SHOW_FIELDS"),
|
||||
"TYPE" => "LIST",
|
||||
"MULTIPLE" => "Y",
|
||||
"ADDITIONAL_VALUES" => "N",
|
||||
"VALUES" => $arUserFields,
|
||||
"PARENT" => "BASE",
|
||||
),
|
||||
|
||||
"REQUIRED_FIELDS" => array(
|
||||
"NAME" => GetMessage("REGISTER_REQUIRED_FIELDS"),
|
||||
"TYPE" => "LIST",
|
||||
"MULTIPLE" => "Y",
|
||||
"ADDITIONAL_VALUES" => "N",
|
||||
"VALUES" => $arUserFields,
|
||||
"PARENT" => "BASE",
|
||||
),
|
||||
|
||||
"AUTH" => array(
|
||||
"NAME" => GetMessage("REGISTER_AUTOMATED_AUTH"),
|
||||
"TYPE" => "CHECKBOX",
|
||||
"DEFAULT" => "Y",
|
||||
"PARENT" => "ADDITIONAL_SETTINGS",
|
||||
),
|
||||
|
||||
"USE_BACKURL" => array(
|
||||
"NAME" => GetMessage("REGISTER_USE_BACKURL"),
|
||||
"TYPE" => "CHECKBOX",
|
||||
"DEFAULT" => "Y",
|
||||
"PARENT" => "ADDITIONAL_SETTINGS",
|
||||
),
|
||||
|
||||
"SUCCESS_PAGE" => array(
|
||||
"NAME" => GetMessage("REGISTER_SUCCESS_PAGE"),
|
||||
"TYPE" => "STRING",
|
||||
"DEFAULT" => "",
|
||||
"PARENT" => "ADDITIONAL_SETTINGS",
|
||||
),
|
||||
|
||||
"SET_TITLE" => array(),
|
||||
|
||||
|
||||
"USER_PROPERTY"=>array(
|
||||
"PARENT" => "ADDITIONAL_SETTINGS",
|
||||
"NAME" => GetMessage("USER_PROPERTY"),
|
||||
"TYPE" => "LIST",
|
||||
"VALUES" => $userProp,
|
||||
"MULTIPLE" => "Y",
|
||||
"DEFAULT" => array(),
|
||||
),
|
||||
),
|
||||
|
||||
);
|
||||
?>
|
|
@ -0,0 +1,383 @@
|
|||
<?
|
||||
/**
|
||||
* Bitrix Framework
|
||||
* @package bitrix
|
||||
* @subpackage main
|
||||
* @copyright 2001-2014 Bitrix
|
||||
*/
|
||||
|
||||
/**
|
||||
* Bitrix vars
|
||||
* @global CMain $APPLICATION
|
||||
* @global CUser $USER
|
||||
* @global CDatabase $DB
|
||||
* @global CUserTypeManager $USER_FIELD_MANAGER
|
||||
* @param array $arParams
|
||||
* @param array $arResult
|
||||
* @param CBitrixComponent $this
|
||||
*/
|
||||
|
||||
if(!defined("B_PROLOG_INCLUDED")||B_PROLOG_INCLUDED!==true)
|
||||
die();
|
||||
|
||||
global $USER_FIELD_MANAGER;
|
||||
|
||||
// apply default param values
|
||||
$arDefaultValues = array(
|
||||
"SHOW_FIELDS" => array(),
|
||||
"REQUIRED_FIELDS" => array(),
|
||||
"AUTH" => "Y",
|
||||
"USE_BACKURL" => "Y",
|
||||
"SUCCESS_PAGE" => "",
|
||||
);
|
||||
|
||||
foreach ($arDefaultValues as $key => $value)
|
||||
{
|
||||
if (!is_set($arParams, $key))
|
||||
$arParams[$key] = $value;
|
||||
}
|
||||
if(!is_array($arParams["SHOW_FIELDS"]))
|
||||
$arParams["SHOW_FIELDS"] = array();
|
||||
if(!is_array($arParams["REQUIRED_FIELDS"]))
|
||||
$arParams["REQUIRED_FIELDS"] = array();
|
||||
|
||||
// if user registration blocked - return auth form
|
||||
if (COption::GetOptionString("main", "new_user_registration", "N") == "N")
|
||||
$APPLICATION->AuthForm(array());
|
||||
|
||||
$arResult["PHONE_REGISTRATION"] = (COption::GetOptionString("main", "new_user_phone_auth", "N") == "Y");
|
||||
$arResult["PHONE_REQUIRED"] = ($arResult["PHONE_REGISTRATION"] && COption::GetOptionString("main", "new_user_phone_required", "N") == "Y");
|
||||
$arResult["EMAIL_REGISTRATION"] = (COption::GetOptionString("main", "new_user_email_auth", "Y") <> "N");
|
||||
$arResult["EMAIL_REQUIRED"] = ($arResult["EMAIL_REGISTRATION"] && COption::GetOptionString("main", "new_user_email_required", "Y") <> "N");
|
||||
$arResult["USE_EMAIL_CONFIRMATION"] = (COption::GetOptionString("main", "new_user_registration_email_confirmation", "N") == "Y" && $arResult["EMAIL_REQUIRED"]? "Y" : "N");
|
||||
$arResult["PHONE_CODE_RESEND_INTERVAL"] = CUser::PHONE_CODE_RESEND_INTERVAL;
|
||||
|
||||
// apply core fields to user defined
|
||||
$arDefaultFields = array(
|
||||
"LOGIN",
|
||||
);
|
||||
if($arResult["EMAIL_REQUIRED"])
|
||||
{
|
||||
$arDefaultFields[] = "EMAIL";
|
||||
}
|
||||
if($arResult["PHONE_REQUIRED"])
|
||||
{
|
||||
$arDefaultFields[] = "PHONE_NUMBER";
|
||||
}
|
||||
$arDefaultFields[] = "PASSWORD";
|
||||
$arDefaultFields[] = "CONFIRM_PASSWORD";
|
||||
|
||||
$def_group = COption::GetOptionString("main", "new_user_registration_def_group", "");
|
||||
if($def_group <> "")
|
||||
$arResult["GROUP_POLICY"] = CUser::GetGroupPolicy(explode(",", $def_group));
|
||||
else
|
||||
$arResult["GROUP_POLICY"] = CUser::GetGroupPolicy(array());
|
||||
|
||||
$arResult["SHOW_FIELDS"] = array_unique(array_merge($arDefaultFields, $arParams["SHOW_FIELDS"]));
|
||||
$arResult["REQUIRED_FIELDS"] = array_unique(array_merge($arDefaultFields, $arParams["REQUIRED_FIELDS"]));
|
||||
|
||||
// use captcha?
|
||||
$arResult["USE_CAPTCHA"] = COption::GetOptionString("main", "captcha_registration", "N") == "Y" ? "Y" : "N";
|
||||
|
||||
// start values
|
||||
$arResult["VALUES"] = array();
|
||||
$arResult["ERRORS"] = array();
|
||||
$arResult["SHOW_SMS_FIELD"] = false;
|
||||
$register_done = false;
|
||||
|
||||
// register user
|
||||
if ($_SERVER["REQUEST_METHOD"] == "POST" && $_REQUEST["register_submit_button"] <> '' && !$USER->IsAuthorized())
|
||||
{
|
||||
if(COption::GetOptionString('main', 'use_encrypted_auth', 'N') == 'Y')
|
||||
{
|
||||
//possible encrypted user password
|
||||
$sec = new CRsaSecurity();
|
||||
if(($arKeys = $sec->LoadKeys()))
|
||||
{
|
||||
$sec->SetKeys($arKeys);
|
||||
$errno = $sec->AcceptFromForm(array('REGISTER'));
|
||||
if($errno == CRsaSecurity::ERROR_SESS_CHECK)
|
||||
$arResult["ERRORS"][] = GetMessage("main_register_sess_expired");
|
||||
elseif($errno < 0)
|
||||
$arResult["ERRORS"][] = GetMessage("main_register_decode_err", array("#ERRCODE#"=>$errno));
|
||||
}
|
||||
}
|
||||
|
||||
// check emptiness of required fields
|
||||
foreach ($arResult["SHOW_FIELDS"] as $key)
|
||||
{
|
||||
if ($key != "PERSONAL_PHOTO" && $key != "WORK_LOGO")
|
||||
{
|
||||
$arResult["VALUES"][$key] = $_REQUEST["REGISTER"][$key];
|
||||
if (in_array($key, $arResult["REQUIRED_FIELDS"]) && trim($arResult["VALUES"][$key]) == '')
|
||||
$arResult["ERRORS"][$key] = GetMessage("REGISTER_FIELD_REQUIRED");
|
||||
}
|
||||
else
|
||||
{
|
||||
$_FILES["REGISTER_FILES_".$key]["MODULE_ID"] = "main";
|
||||
$arResult["VALUES"][$key] = $_FILES["REGISTER_FILES_".$key];
|
||||
if (in_array($key, $arResult["REQUIRED_FIELDS"]) && !is_uploaded_file($_FILES["REGISTER_FILES_".$key]["tmp_name"]))
|
||||
$arResult["ERRORS"][$key] = GetMessage("REGISTER_FIELD_REQUIRED");
|
||||
}
|
||||
}
|
||||
|
||||
if(isset($_REQUEST["REGISTER"]["TIME_ZONE"]))
|
||||
$arResult["VALUES"]["TIME_ZONE"] = $_REQUEST["REGISTER"]["TIME_ZONE"];
|
||||
|
||||
$USER_FIELD_MANAGER->EditFormAddFields("USER", $arResult["VALUES"]);
|
||||
|
||||
//this is a part of CheckFields() to show errors about user defined fields
|
||||
if (!$USER_FIELD_MANAGER->CheckFields("USER", 0, $arResult["VALUES"]))
|
||||
{
|
||||
$e = $APPLICATION->GetException();
|
||||
$arResult["ERRORS"][] = substr($e->GetString(), 0, -4); //cutting "<br>"
|
||||
$APPLICATION->ResetException();
|
||||
}
|
||||
|
||||
// check captcha
|
||||
if ($arResult["USE_CAPTCHA"] == "Y")
|
||||
{
|
||||
if (!$APPLICATION->CaptchaCheckCode($_REQUEST["captcha_word"], $_REQUEST["captcha_sid"]))
|
||||
$arResult["ERRORS"][] = GetMessage("REGISTER_WRONG_CAPTCHA");
|
||||
}
|
||||
|
||||
if(count($arResult["ERRORS"]) > 0)
|
||||
{
|
||||
if(COption::GetOptionString("main", "event_log_register_fail", "N") === "Y")
|
||||
{
|
||||
$arError = $arResult["ERRORS"];
|
||||
foreach($arError as $key => $error)
|
||||
if(intval($key) == 0 && $key !== 0)
|
||||
$arError[$key] = str_replace("#FIELD_NAME#", '"'.$key.'"', $error);
|
||||
CEventLog::Log("SECURITY", "USER_REGISTER_FAIL", "main", false, implode("<br>", $arError));
|
||||
}
|
||||
}
|
||||
else // if there's no any errors - create user
|
||||
{
|
||||
$arResult['VALUES']["GROUP_ID"] = array();
|
||||
$def_group = COption::GetOptionString("main", "new_user_registration_def_group", "");
|
||||
if($def_group != "")
|
||||
$arResult['VALUES']["GROUP_ID"] = explode(",", $def_group);
|
||||
|
||||
$bConfirmReq = ($arResult["USE_EMAIL_CONFIRMATION"] === "Y");
|
||||
$active = ($bConfirmReq || $arResult["PHONE_REQUIRED"]? "N": "Y");
|
||||
|
||||
$arResult['VALUES']["CHECKWORD"] = md5(CMain::GetServerUniqID().uniqid());
|
||||
$arResult['VALUES']["~CHECKWORD_TIME"] = $DB->CurrentTimeFunction();
|
||||
$arResult['VALUES']["ACTIVE"] = $active;
|
||||
$arResult['VALUES']["CONFIRM_CODE"] = ($bConfirmReq? randString(8): "");
|
||||
$arResult['VALUES']["LID"] = SITE_ID;
|
||||
$arResult['VALUES']["LANGUAGE_ID"] = LANGUAGE_ID;
|
||||
|
||||
$arResult['VALUES']["USER_IP"] = $_SERVER["REMOTE_ADDR"];
|
||||
$arResult['VALUES']["USER_HOST"] = @gethostbyaddr($_SERVER["REMOTE_ADDR"]);
|
||||
|
||||
if($arResult["VALUES"]["AUTO_TIME_ZONE"] <> "Y" && $arResult["VALUES"]["AUTO_TIME_ZONE"] <> "N")
|
||||
$arResult["VALUES"]["AUTO_TIME_ZONE"] = "";
|
||||
|
||||
$bOk = true;
|
||||
|
||||
$events = GetModuleEvents("main", "OnBeforeUserRegister", true);
|
||||
foreach($events as $arEvent)
|
||||
{
|
||||
if(ExecuteModuleEventEx($arEvent, array(&$arResult['VALUES'])) === false)
|
||||
{
|
||||
if($err = $APPLICATION->GetException())
|
||||
$arResult['ERRORS'][] = $err->GetString();
|
||||
|
||||
$bOk = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
$ID = 0;
|
||||
$user = new CUser();
|
||||
if ($bOk)
|
||||
{
|
||||
$ID = $user->Add($arResult["VALUES"]);
|
||||
}
|
||||
|
||||
if (intval($ID) > 0)
|
||||
{
|
||||
if($arResult["PHONE_REGISTRATION"] == true && $arResult['VALUES']["PHONE_NUMBER"] <> '')
|
||||
{
|
||||
//added the phone number for the user, now sending a confirmation SMS
|
||||
list($code, $phoneNumber) = CUser::GeneratePhoneCode($ID);
|
||||
|
||||
$sms = new \Bitrix\Main\Sms\Event(
|
||||
"SMS_USER_CONFIRM_NUMBER",
|
||||
[
|
||||
"USER_PHONE" => $phoneNumber,
|
||||
"CODE" => $code,
|
||||
]
|
||||
);
|
||||
$smsResult = $sms->send(true);
|
||||
|
||||
if(!$smsResult->isSuccess())
|
||||
{
|
||||
$arResult["ERRORS"] = array_merge($arResult["ERRORS"], $smsResult->getErrorMessages());
|
||||
}
|
||||
|
||||
$arResult["SHOW_SMS_FIELD"] = true;
|
||||
$arResult["SIGNED_DATA"] = \Bitrix\Main\Controller\PhoneAuth::signData(['phoneNumber' => $phoneNumber]);
|
||||
}
|
||||
else
|
||||
{
|
||||
$register_done = true;
|
||||
|
||||
// authorize user
|
||||
if ($arParams["AUTH"] == "Y" && $arResult["VALUES"]["ACTIVE"] == "Y")
|
||||
{
|
||||
if (!$arAuthResult = $USER->Login($arResult["VALUES"]["LOGIN"], $arResult["VALUES"]["PASSWORD"]))
|
||||
$arResult["ERRORS"][] = $arAuthResult;
|
||||
}
|
||||
}
|
||||
|
||||
$arResult['VALUES']["USER_ID"] = $ID;
|
||||
|
||||
$arEventFields = $arResult['VALUES'];
|
||||
unset($arEventFields["PASSWORD"]);
|
||||
unset($arEventFields["CONFIRM_PASSWORD"]);
|
||||
|
||||
$event = new CEvent;
|
||||
$event->SendImmediate("NEW_USER", SITE_ID, $arEventFields);
|
||||
if($bConfirmReq)
|
||||
$event->SendImmediate("NEW_USER_CONFIRM", SITE_ID, $arEventFields);
|
||||
}
|
||||
else
|
||||
{
|
||||
$arResult["ERRORS"][] = $user->LAST_ERROR;
|
||||
}
|
||||
|
||||
if(count($arResult["ERRORS"]) <= 0)
|
||||
{
|
||||
if(COption::GetOptionString("main", "event_log_register", "N") === "Y")
|
||||
CEventLog::Log("SECURITY", "USER_REGISTER", "main", $ID);
|
||||
}
|
||||
else
|
||||
{
|
||||
if(COption::GetOptionString("main", "event_log_register_fail", "N") === "Y")
|
||||
CEventLog::Log("SECURITY", "USER_REGISTER_FAIL", "main", $ID, implode("<br>", $arResult["ERRORS"]));
|
||||
}
|
||||
|
||||
$events = GetModuleEvents("main", "OnAfterUserRegister", true);
|
||||
foreach ($events as $arEvent)
|
||||
ExecuteModuleEventEx($arEvent, array(&$arResult['VALUES']));
|
||||
}
|
||||
}
|
||||
|
||||
// verify phone code
|
||||
if ($_SERVER["REQUEST_METHOD"] == "POST" && $_REQUEST["code_submit_button"] <> '' && !$USER->IsAuthorized())
|
||||
{
|
||||
if($_REQUEST["SIGNED_DATA"] <> '')
|
||||
{
|
||||
if(($params = \Bitrix\Main\Controller\PhoneAuth::extractData($_REQUEST["SIGNED_DATA"])) !== false)
|
||||
{
|
||||
if(($userId = CUser::VerifyPhoneCode($params['phoneNumber'], $_REQUEST["SMS_CODE"])))
|
||||
{
|
||||
$register_done = true;
|
||||
|
||||
if($arResult["PHONE_REQUIRED"])
|
||||
{
|
||||
//the user was added as inactive, now phone number is confirmed, activate them
|
||||
$user = new CUser();
|
||||
$user->Update($userId, ["ACTIVE" => "Y"]);
|
||||
}
|
||||
|
||||
// authorize user
|
||||
if ($arParams["AUTH"] == "Y")
|
||||
{
|
||||
//here should be login
|
||||
$USER->Authorize($userId);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$arResult["ERRORS"][] = GetMessage("main_register_error_sms");
|
||||
$arResult["SHOW_SMS_FIELD"] = true;
|
||||
$arResult["SMS_CODE"] = $_REQUEST["SMS_CODE"];
|
||||
$arResult["SIGNED_DATA"] = $_REQUEST["SIGNED_DATA"];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// if user is registered - redirect him to backurl or to success_page; currently added users too
|
||||
if($register_done)
|
||||
{
|
||||
if($arParams["USE_BACKURL"] == "Y" && $_REQUEST["backurl"] <> '')
|
||||
LocalRedirect($_REQUEST["backurl"]);
|
||||
elseif($arParams["SUCCESS_PAGE"] <> '')
|
||||
LocalRedirect($arParams["SUCCESS_PAGE"]);
|
||||
}
|
||||
|
||||
$arResult["VALUES"] = htmlspecialcharsEx($arResult["VALUES"]);
|
||||
|
||||
// redefine required list - for better use in template
|
||||
$arResult["REQUIRED_FIELDS_FLAGS"] = array();
|
||||
foreach ($arResult["REQUIRED_FIELDS"] as $field)
|
||||
$arResult["REQUIRED_FIELDS_FLAGS"][$field] = "Y";
|
||||
|
||||
// check backurl existance
|
||||
$arResult["BACKURL"] = htmlspecialcharsbx($_REQUEST["backurl"]);
|
||||
|
||||
// get countries list
|
||||
if (in_array("PERSONAL_COUNTRY", $arResult["SHOW_FIELDS"]) || in_array("WORK_COUNTRY", $arResult["SHOW_FIELDS"]))
|
||||
$arResult["COUNTRIES"] = GetCountryArray();
|
||||
|
||||
// get date format
|
||||
if (in_array("PERSONAL_BIRTHDAY", $arResult["SHOW_FIELDS"]))
|
||||
$arResult["DATE_FORMAT"] = CLang::GetDateFormat("SHORT");
|
||||
|
||||
// ********************* User properties ***************************************************
|
||||
$arResult["USER_PROPERTIES"] = array("SHOW" => "N");
|
||||
$arUserFields = $USER_FIELD_MANAGER->GetUserFields("USER", 0, LANGUAGE_ID);
|
||||
if (is_array($arUserFields) && count($arUserFields) > 0)
|
||||
{
|
||||
if (!is_array($arParams["USER_PROPERTY"]))
|
||||
$arParams["USER_PROPERTY"] = array($arParams["USER_PROPERTY"]);
|
||||
|
||||
foreach ($arUserFields as $FIELD_NAME => $arUserField)
|
||||
{
|
||||
if (!in_array($FIELD_NAME, $arParams["USER_PROPERTY"]) && $arUserField["MANDATORY"] != "Y")
|
||||
continue;
|
||||
|
||||
$arUserField["EDIT_FORM_LABEL"] = strLen($arUserField["EDIT_FORM_LABEL"]) > 0 ? $arUserField["EDIT_FORM_LABEL"] : $arUserField["FIELD_NAME"];
|
||||
$arUserField["EDIT_FORM_LABEL"] = htmlspecialcharsEx($arUserField["EDIT_FORM_LABEL"]);
|
||||
$arUserField["~EDIT_FORM_LABEL"] = $arUserField["EDIT_FORM_LABEL"];
|
||||
$arResult["USER_PROPERTIES"]["DATA"][$FIELD_NAME] = $arUserField;
|
||||
}
|
||||
}
|
||||
if (!empty($arResult["USER_PROPERTIES"]["DATA"]))
|
||||
{
|
||||
$arResult["USER_PROPERTIES"]["SHOW"] = "Y";
|
||||
$arResult["bVarsFromForm"] = (count($arResult['ERRORS']) <= 0) ? false : true;
|
||||
}
|
||||
// ******************** /User properties ***************************************************
|
||||
|
||||
// initialize captcha
|
||||
if ($arResult["USE_CAPTCHA"] == "Y")
|
||||
$arResult["CAPTCHA_CODE"] = htmlspecialcharsbx($APPLICATION->CaptchaGetCode());
|
||||
|
||||
// set title
|
||||
if ($arParams["SET_TITLE"] == "Y")
|
||||
$APPLICATION->SetTitle(GetMessage("REGISTER_DEFAULT_TITLE"));
|
||||
|
||||
//time zones
|
||||
$arResult["TIME_ZONE_ENABLED"] = CTimeZone::Enabled();
|
||||
if($arResult["TIME_ZONE_ENABLED"])
|
||||
$arResult["TIME_ZONE_LIST"] = CTimeZone::GetZones();
|
||||
|
||||
$arResult["SECURE_AUTH"] = false;
|
||||
if(!CMain::IsHTTPS() && COption::GetOptionString('main', 'use_encrypted_auth', 'N') == 'Y')
|
||||
{
|
||||
$sec = new CRsaSecurity();
|
||||
if(($arKeys = $sec->LoadKeys()))
|
||||
{
|
||||
$sec->SetKeys($arKeys);
|
||||
$sec->AddToForm('regform', array('REGISTER[PASSWORD]', 'REGISTER[CONFIRM_PASSWORD]'));
|
||||
$arResult["SECURE_AUTH"] = true;
|
||||
}
|
||||
}
|
||||
|
||||
// all done
|
||||
$this->IncludeComponentTemplate();
|
Binary file not shown.
After Width: | Height: | Size: 507 B |
|
@ -0,0 +1,5 @@
|
|||
<?
|
||||
$MESS ['COMP_MAIN_USER_REGISTER_TITLE'] = "Customizable registration form";
|
||||
$MESS ['COMP_MAIN_USER_REGISTER_DESCR'] = "Customizable registration form for a new user.";
|
||||
$MESS ['MAIN_USER_GROUP_NAME'] = "User";
|
||||
?>
|
|
@ -0,0 +1,48 @@
|
|||
<?
|
||||
$MESS["REGISTER_AUTOMATED_AUTH"] = "Automatically authorize users";
|
||||
$MESS["REGISTER_FIELD_AUTO_TIME_ZONE"] = "Time Zone";
|
||||
$MESS["REGISTER_FIELD_EMAIL"] = "E-mail";
|
||||
$MESS["REGISTER_FIELD_LAST_NAME"] = "Last Name";
|
||||
$MESS["REGISTER_FIELD_NAME"] = "Name";
|
||||
$MESS["REGISTER_FIELD_PERSONAL_BIRTHDAY"] = "Birthday";
|
||||
$MESS["REGISTER_FIELD_PERSONAL_CITY"] = "City";
|
||||
$MESS["REGISTER_FIELD_PERSONAL_COUNTRY"] = "Country";
|
||||
$MESS["REGISTER_FIELD_PERSONAL_FAX"] = "Fax";
|
||||
$MESS["REGISTER_FIELD_PERSONAL_GENDER"] = "Gender";
|
||||
$MESS["REGISTER_FIELD_PERSONAL_ICQ"] = "ICQ";
|
||||
$MESS["REGISTER_FIELD_PERSONAL_MAILBOX"] = "Mailbox";
|
||||
$MESS["REGISTER_FIELD_PERSONAL_MOBILE"] = "Mobile";
|
||||
$MESS["REGISTER_FIELD_PERSONAL_NOTES"] = "Notes";
|
||||
$MESS["REGISTER_FIELD_PERSONAL_PAGER"] = "Pager";
|
||||
$MESS["REGISTER_FIELD_PERSONAL_PHONE"] = "Phone";
|
||||
$MESS["REGISTER_FIELD_PERSONAL_PHOTO"] = "Photo";
|
||||
$MESS["REGISTER_FIELD_PERSONAL_PROFESSION"] = "Job Title";
|
||||
$MESS["REGISTER_FIELD_PERSONAL_STATE"] = "State";
|
||||
$MESS["REGISTER_FIELD_PERSONAL_STREET"] = "Address";
|
||||
$MESS["REGISTER_FIELD_PERSONAL_WWW"] = "Web page";
|
||||
$MESS["REGISTER_FIELD_PERSONAL_ZIP"] = "Zip code";
|
||||
$MESS["REGISTER_FIELD_PHONE_NUMBER"] = "Registration phone number";
|
||||
$MESS["REGISTER_FIELD_SECOND_NAME"] = "Middle Name";
|
||||
$MESS["REGISTER_FIELD_TITLE"] = "Salutation";
|
||||
$MESS["REGISTER_FIELD_WORK_CITY"] = "City";
|
||||
$MESS["REGISTER_FIELD_WORK_COMPANY"] = "Company";
|
||||
$MESS["REGISTER_FIELD_WORK_COUNTRY"] = "Country";
|
||||
$MESS["REGISTER_FIELD_WORK_DEPARTMENT"] = "Department";
|
||||
$MESS["REGISTER_FIELD_WORK_FAX"] = "Fax";
|
||||
$MESS["REGISTER_FIELD_WORK_LOGO"] = "Company logo";
|
||||
$MESS["REGISTER_FIELD_WORK_MAILBOX"] = "Mailbox";
|
||||
$MESS["REGISTER_FIELD_WORK_NOTES"] = "Notes";
|
||||
$MESS["REGISTER_FIELD_WORK_PAGER"] = "Pager";
|
||||
$MESS["REGISTER_FIELD_WORK_PHONE"] = "Phone";
|
||||
$MESS["REGISTER_FIELD_WORK_POSITION"] = "Position";
|
||||
$MESS["REGISTER_FIELD_WORK_PROFILE"] = "Profile";
|
||||
$MESS["REGISTER_FIELD_WORK_STATE"] = "State";
|
||||
$MESS["REGISTER_FIELD_WORK_STREET"] = "Address";
|
||||
$MESS["REGISTER_FIELD_WORK_WWW"] = "Web page";
|
||||
$MESS["REGISTER_FIELD_WORK_ZIP"] = "Zip code";
|
||||
$MESS["REGISTER_REQUIRED_FIELDS"] = "Required fields";
|
||||
$MESS["REGISTER_SHOW_FIELDS"] = "Fields to be displayed in a form";
|
||||
$MESS["REGISTER_SUCCESS_PAGE"] = "Final registration page";
|
||||
$MESS["REGISTER_USE_BACKURL"] = "Send the user back to a return link (if it exists)";
|
||||
$MESS["USER_PROPERTY"] = "Show additional properties";
|
||||
?>
|
|
@ -0,0 +1,9 @@
|
|||
<?
|
||||
$MESS['REGISTER_DEFAULT_TITLE'] = "New user registration";
|
||||
$MESS['REGISTER_FIELD_REQUIRED'] = "Field #FIELD_NAME# is required";
|
||||
$MESS['REGISTER_USER_WITH_EMAIL_EXIST'] = "A user with this e-mail address (#EMAIL#) already exists.";
|
||||
$MESS['REGISTER_WRONG_CAPTCHA'] = "Wrong CAPTCHA code";
|
||||
$MESS['main_register_decode_err'] = "Password decryption error (#ERRCODE#).";
|
||||
$MESS['main_register_error_sms'] = "Incorrect SMS confirmation code.";
|
||||
$MESS['main_register_sess_expired'] = "Your session has expired. Please try to register again.";
|
||||
?>
|
|
@ -0,0 +1,11 @@
|
|||
<?
|
||||
$MESS ['SEF_MODE_TIP'] = "Enables the SEF mode.";
|
||||
$MESS ['SHOW_FIELDS_TIP'] = "Select here the additional fields that you want to display in the registration form.";
|
||||
$MESS ['REQUIRED_FIELDS_TIP'] = "Specify the mandatory fileds here.";
|
||||
$MESS ['AUTH_TIP'] = "Specifies that a user will be authorised automatically upon successful registration. Otherwise, the authorisation form will be displayed.";
|
||||
$MESS ['USE_BACKURL_TIP'] = "If a page URL contains the <b>backurl</b> parameter, a user will be redirected to this page upon registration.";
|
||||
$MESS ['SUCCESS_PAGE_TIP'] = "Specifies a final page to which a user will be redirected upon successful registration.";
|
||||
$MESS ['SET_TITLE_TIP'] = "Checking this option will set the page title to <b>New User Registration</b>.";
|
||||
$MESS ['SEF_FOLDER_TIP'] = "Specify here the folder name that will be shown in the address bar when the page is active.";
|
||||
$MESS ['USER_PROPERTY_TIP'] = "Select additional properties to be displayed in user profile";
|
||||
?>
|
|
@ -0,0 +1,4 @@
|
|||
<?php
|
||||
$MESS ['COMP_MAIN_USER_REGISTER_TITLE'] = "Настраиваемая регистрация retailCRM";
|
||||
$MESS ['COMP_MAIN_USER_REGISTER_DESCR'] = "Управляемая форма регистрации нового пользователя с функциями Программы лояльности";
|
||||
$MESS ['MAIN_USER_GROUP_NAME'] = "Пользователь";
|
|
@ -0,0 +1,48 @@
|
|||
<?
|
||||
$MESS ['REGISTER_SHOW_FIELDS'] = "Поля, которые показывать в форме";
|
||||
$MESS ['REGISTER_REQUIRED_FIELDS'] = "Поля, обязательные для заполнения";
|
||||
$MESS ['REGISTER_AUTOMATED_AUTH'] = "Автоматически авторизовать пользователей";
|
||||
$MESS ['REGISTER_USE_BACKURL'] = "Отправлять пользователя по обратной ссылке, если она есть";
|
||||
$MESS ['REGISTER_SUCCESS_PAGE'] = "Страница окончания регистрации";
|
||||
$MESS ['REGISTER_FIELD_EMAIL'] = "Email";
|
||||
$MESS ['REGISTER_FIELD_PHONE_NUMBER'] = "Номер телефона для регистрации";
|
||||
$MESS ['REGISTER_FIELD_TITLE'] = "Обращение";
|
||||
$MESS ['REGISTER_FIELD_NAME'] = "Имя";
|
||||
$MESS ['REGISTER_FIELD_SECOND_NAME'] = "Отчество";
|
||||
$MESS ['REGISTER_FIELD_LAST_NAME'] = "Фамилия";
|
||||
$MESS ['REGISTER_FIELD_AUTO_TIME_ZONE'] = "Часовой пояс";
|
||||
$MESS ['REGISTER_FIELD_PERSONAL_PROFESSION'] = "Профессия";
|
||||
$MESS ['REGISTER_FIELD_PERSONAL_WWW'] = "WWW-страница";
|
||||
$MESS ['REGISTER_FIELD_PERSONAL_ICQ'] = "ICQ";
|
||||
$MESS ['REGISTER_FIELD_PERSONAL_GENDER'] = "Пол";
|
||||
$MESS ['REGISTER_FIELD_PERSONAL_BIRTHDAY'] = "Дата рождения";
|
||||
$MESS ['REGISTER_FIELD_PERSONAL_PHOTO'] = "Фотография";
|
||||
$MESS ['REGISTER_FIELD_PERSONAL_PHONE'] = "Телефон";
|
||||
$MESS ['REGISTER_FIELD_PERSONAL_FAX'] = "Факс";
|
||||
$MESS ['REGISTER_FIELD_PERSONAL_MOBILE'] = "Мобильный";
|
||||
$MESS ['REGISTER_FIELD_PERSONAL_PAGER'] = "Пейджер";
|
||||
$MESS ['REGISTER_FIELD_PERSONAL_STREET'] = "Улица, дом";
|
||||
$MESS ['REGISTER_FIELD_PERSONAL_MAILBOX'] = "Почтовый ящик";
|
||||
$MESS ['REGISTER_FIELD_PERSONAL_CITY'] = "Город";
|
||||
$MESS ['REGISTER_FIELD_PERSONAL_STATE'] = "Область / край";
|
||||
$MESS ['REGISTER_FIELD_PERSONAL_ZIP'] = "Почтовый индекс";
|
||||
$MESS ['REGISTER_FIELD_PERSONAL_COUNTRY'] = "Страна";
|
||||
$MESS ['REGISTER_FIELD_PERSONAL_NOTES'] = "Дополнительные заметки";
|
||||
$MESS ['REGISTER_FIELD_WORK_COMPANY'] = "Наименование компании";
|
||||
$MESS ['REGISTER_FIELD_WORK_DEPARTMENT'] = "Департамент / Отдел";
|
||||
$MESS ['REGISTER_FIELD_WORK_POSITION'] = "Должность";
|
||||
$MESS ['REGISTER_FIELD_WORK_WWW'] = "WWW-страница";
|
||||
$MESS ['REGISTER_FIELD_WORK_PHONE'] = "Телефон";
|
||||
$MESS ['REGISTER_FIELD_WORK_FAX'] = "Факс";
|
||||
$MESS ['REGISTER_FIELD_WORK_PAGER'] = "Пейджер";
|
||||
$MESS ['REGISTER_FIELD_WORK_STREET'] = "Улица, дом";
|
||||
$MESS ['REGISTER_FIELD_WORK_MAILBOX'] = "Почтовый ящик";
|
||||
$MESS ['REGISTER_FIELD_WORK_CITY'] = "Город";
|
||||
$MESS ['REGISTER_FIELD_WORK_STATE'] = "Область / край";
|
||||
$MESS ['REGISTER_FIELD_WORK_ZIP'] = "Почтовый индекс";
|
||||
$MESS ['REGISTER_FIELD_WORK_COUNTRY'] = "Страна";
|
||||
$MESS ['REGISTER_FIELD_WORK_PROFILE'] = "Направления деятельности";
|
||||
$MESS ['REGISTER_FIELD_WORK_LOGO'] = "Логотип компании";
|
||||
$MESS ['REGISTER_FIELD_WORK_NOTES'] = "Дополнительные заметки";
|
||||
$MESS ['USER_PROPERTY'] = "Показывать доп. свойства";
|
||||
?>
|
|
@ -0,0 +1,9 @@
|
|||
<?
|
||||
$MESS ['REGISTER_WRONG_CAPTCHA'] = "Неверно введено слово с картинки";
|
||||
$MESS ['REGISTER_FIELD_REQUIRED'] = "Поле #FIELD_NAME# обязательно для заполнения";
|
||||
$MESS ['REGISTER_DEFAULT_TITLE'] = "Регистрация нового пользователя";
|
||||
$MESS ['REGISTER_USER_WITH_EMAIL_EXIST'] = "Пользователь с таким e-mail (#EMAIL#) уже существует.";
|
||||
$MESS["main_register_sess_expired"]="Ваша сессия истекла, повторите попытку регистрации.";
|
||||
$MESS["main_register_decode_err"]="Ошибка при дешифровании пароля (#ERRCODE#).";
|
||||
$MESS["main_register_error_sms"] = "Неверный код подтверждения из СМС.";
|
||||
?>
|
|
@ -0,0 +1,11 @@
|
|||
<?
|
||||
$MESS ['SEF_MODE_TIP'] = "Опция включает поддержку ЧПУ.";
|
||||
$MESS ['SHOW_FIELDS_TIP'] = "Настройка служит для выбора полей, которые будут выведены в форме регистрации в дополнение к стандартному набору(логину, паролю, e-mail). ";
|
||||
$MESS ['REQUIRED_FIELDS_TIP'] = "Поля, выбранные в предыдущем пункте и отмеченные здесь, будут обязательными для заполнения в форме.";
|
||||
$MESS ['AUTH_TIP'] = "При наличии установленной опции после регистрации пользователя он автоматически будет авторизован на сайте. В противном случае после регистрации пользователю будет предоставлена к заполнению форма авторизации.";
|
||||
$MESS ['USE_BACKURL_TIP'] = "При наличии в адресной строке параметра <i>backurl</i> пользователь будет перенаправлен по указанной в этом параметре ссылке после заполнения формы регистрации. ";
|
||||
$MESS ['SUCCESS_PAGE_TIP'] = "Можно указать ссылку на любую страницу на сайте, которая будет финальной страницей процедуры регистрации, и пользователь будет перенаправлен на нее в случае успешной регистрации. ";
|
||||
$MESS ['SET_TITLE_TIP'] = "При отмеченной опции в качестве заголовка страницы будет установлено \"Регистрация нового пользователя\".";
|
||||
$MESS ['SEF_FOLDER_TIP'] = "Указывается каталог, который будет отображаться в URL при переходе на создаваемую страницу.";
|
||||
$MESS ['USER_PROPERTY_TIP'] = "Отметьте дополнительные свойства, которые необходимо отобразить в профиле пользователя.";
|
||||
?>
|
|
@ -0,0 +1,10 @@
|
|||
<?
|
||||
if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();
|
||||
$arTemplateParameters = array(
|
||||
"USER_PROPERTY_NAME"=>array(
|
||||
"NAME" => GetMessage("USER_PROPERTY_NAME"),
|
||||
"TYPE" => "STRING",
|
||||
"DEFAULT" => "",
|
||||
),
|
||||
);
|
||||
?>
|
Binary file not shown.
After Width: | Height: | Size: 574 B |
Binary file not shown.
After Width: | Height: | Size: 566 B |
|
@ -0,0 +1,3 @@
|
|||
<?
|
||||
$MESS ['USER_PROPERTY_NAME'] = "User properties section title";
|
||||
?>
|
|
@ -0,0 +1,63 @@
|
|||
<?
|
||||
$MESS['AUTH_NONSECURE_NOTE'] = "The password will be sent in open form. Enable JavaScript in your web browser to enable password encryption.";
|
||||
$MESS['AUTH_REGISTER'] = "Registration";
|
||||
$MESS['AUTH_REQ'] = "Required fields.";
|
||||
$MESS['AUTH_SECURE_NOTE'] = "The password will be encrypted before it is sent. This will prevent the password from appearing in open form over data transmission channels.";
|
||||
$MESS['MAIN_REGISTER_AUTH'] = "You have been registered and authorized successfully.";
|
||||
$MESS['REGISTER_CAPTCHA_PROMT'] = "CAPTCHA image characters";
|
||||
$MESS['REGISTER_CAPTCHA_TITLE'] = "Spam bot protection (CAPTCHA)";
|
||||
$MESS['REGISTER_EMAIL_WILL_BE_SENT'] = "A registration confirmation request will be sent to the specified e-mail address.";
|
||||
$MESS['REGISTER_FIELD_AUTO_TIME_ZONE'] = "Time Zone";
|
||||
$MESS['REGISTER_FIELD_CONFIRM_PASSWORD'] = "Password confirmation";
|
||||
$MESS['REGISTER_FIELD_EMAIL'] = "E-mail";
|
||||
$MESS['REGISTER_FIELD_LAST_NAME'] = "Last Name";
|
||||
$MESS['REGISTER_FIELD_LOGIN'] = "Login (min. 3 characters)";
|
||||
$MESS['REGISTER_FIELD_NAME'] = "Name";
|
||||
$MESS['REGISTER_FIELD_PASSWORD'] = "Password";
|
||||
$MESS['REGISTER_FIELD_PERSONAL_BIRTHDAY'] = "Birthday";
|
||||
$MESS['REGISTER_FIELD_PERSONAL_CITY'] = "City";
|
||||
$MESS['REGISTER_FIELD_PERSONAL_COUNTRY'] = "Country";
|
||||
$MESS['REGISTER_FIELD_PERSONAL_FAX'] = "Fax";
|
||||
$MESS['REGISTER_FIELD_PERSONAL_GENDER'] = "Gender";
|
||||
$MESS['REGISTER_FIELD_PERSONAL_ICQ'] = "ICQ";
|
||||
$MESS['REGISTER_FIELD_PERSONAL_MAILBOX'] = "Mailbox";
|
||||
$MESS['REGISTER_FIELD_PERSONAL_MOBILE'] = "Mobile";
|
||||
$MESS['REGISTER_FIELD_PERSONAL_NOTES'] = "Notes";
|
||||
$MESS['REGISTER_FIELD_PERSONAL_PAGER'] = "Pager";
|
||||
$MESS['REGISTER_FIELD_PERSONAL_PHONE'] = "Phone";
|
||||
$MESS['REGISTER_FIELD_PERSONAL_PHOTO'] = "Photo";
|
||||
$MESS['REGISTER_FIELD_PERSONAL_PROFESSION'] = "Job Title";
|
||||
$MESS['REGISTER_FIELD_PERSONAL_STATE'] = "State";
|
||||
$MESS['REGISTER_FIELD_PERSONAL_STREET'] = "Address";
|
||||
$MESS['REGISTER_FIELD_PERSONAL_WWW'] = "Web page";
|
||||
$MESS['REGISTER_FIELD_PERSONAL_ZIP'] = "Zip code";
|
||||
$MESS['REGISTER_FIELD_PHONE_NUMBER'] = "Phone number";
|
||||
$MESS['REGISTER_FIELD_SECOND_NAME'] = "Middle Name";
|
||||
$MESS['REGISTER_FIELD_TITLE'] = "Salutation";
|
||||
$MESS['REGISTER_FIELD_WORK_CITY'] = "City";
|
||||
$MESS['REGISTER_FIELD_WORK_COMPANY'] = "Company";
|
||||
$MESS['REGISTER_FIELD_WORK_COUNTRY'] = "Country";
|
||||
$MESS['REGISTER_FIELD_WORK_DEPARTMENT'] = "Department";
|
||||
$MESS['REGISTER_FIELD_WORK_FAX'] = "Fax";
|
||||
$MESS['REGISTER_FIELD_WORK_LOGO'] = "Company logo";
|
||||
$MESS['REGISTER_FIELD_WORK_MAILBOX'] = "Mailbox";
|
||||
$MESS['REGISTER_FIELD_WORK_NOTES'] = "Notes";
|
||||
$MESS['REGISTER_FIELD_WORK_PAGER'] = "Pager";
|
||||
$MESS['REGISTER_FIELD_WORK_PHONE'] = "Phone";
|
||||
$MESS['REGISTER_FIELD_WORK_POSITION'] = "Position";
|
||||
$MESS['REGISTER_FIELD_WORK_PROFILE'] = "Profile";
|
||||
$MESS['REGISTER_FIELD_WORK_STATE'] = "State";
|
||||
$MESS['REGISTER_FIELD_WORK_STREET'] = "Address";
|
||||
$MESS['REGISTER_FIELD_WORK_WWW'] = "Web page";
|
||||
$MESS['REGISTER_FIELD_WORK_ZIP'] = "Zip code";
|
||||
$MESS['USER_DONT_KNOW'] = "(unknown)";
|
||||
$MESS['USER_FEMALE'] = "Female";
|
||||
$MESS['USER_MALE'] = "Male";
|
||||
$MESS['main_profile_time_zones_auto'] = "Auto Time Zone:";
|
||||
$MESS['main_profile_time_zones_auto_def'] = "(default)";
|
||||
$MESS['main_profile_time_zones_auto_no'] = "No, select from list";
|
||||
$MESS['main_profile_time_zones_auto_yes'] = "Yes, use browser settings";
|
||||
$MESS['main_profile_time_zones_zones'] = "Time Zone:";
|
||||
$MESS['main_register_sms'] = "SMS confirmation code:";
|
||||
$MESS['main_register_sms_send'] = "Submit";
|
||||
?>
|
|
@ -0,0 +1,3 @@
|
|||
<?
|
||||
$MESS ['USER_PROPERTY_NAME'] = "Название блока пользовательских свойств";
|
||||
?>
|
|
@ -0,0 +1,63 @@
|
|||
<?
|
||||
$MESS["AUTH_REGISTER"] = "Регистрация";
|
||||
$MESS["REGISTER_CAPTCHA_TITLE"] = "Защита от автоматической регистрации";
|
||||
$MESS["REGISTER_CAPTCHA_PROMT"] = "Введите слово на картинке";
|
||||
$MESS["AUTH_REQ"] = "Поля, обязательные для заполнения.";
|
||||
$MESS["USER_DONT_KNOW"] = "(неизвестно)";
|
||||
$MESS["USER_MALE"] = "Мужской";
|
||||
$MESS["USER_FEMALE"] = "Женский";
|
||||
$MESS["REGISTER_FIELD_LOGIN"] = "Логин (мин. 3 символа)";
|
||||
$MESS["REGISTER_FIELD_EMAIL"] = "Email";
|
||||
$MESS["REGISTER_FIELD_PASSWORD"] = "Пароль";
|
||||
$MESS["REGISTER_FIELD_CONFIRM_PASSWORD"] = "Подтверждение пароля";
|
||||
$MESS["REGISTER_FIELD_TITLE"] = "Обращение";
|
||||
$MESS["REGISTER_FIELD_NAME"] = "Имя";
|
||||
$MESS["REGISTER_FIELD_SECOND_NAME"] = "Отчество";
|
||||
$MESS["REGISTER_FIELD_LAST_NAME"] = "Фамилия";
|
||||
$MESS["REGISTER_FIELD_AUTO_TIME_ZONE"] = "Часовой пояс";
|
||||
$MESS["REGISTER_FIELD_PERSONAL_PROFESSION"] = "Профессия";
|
||||
$MESS["REGISTER_FIELD_PERSONAL_WWW"] = "WWW-страница";
|
||||
$MESS["REGISTER_FIELD_PERSONAL_ICQ"] = "ICQ";
|
||||
$MESS["REGISTER_FIELD_PERSONAL_GENDER"] = "Пол";
|
||||
$MESS["REGISTER_FIELD_PERSONAL_BIRTHDAY"] = "Дата рождения";
|
||||
$MESS["REGISTER_FIELD_PERSONAL_PHOTO"] = "Фотография";
|
||||
$MESS["REGISTER_FIELD_PERSONAL_PHONE"] = "Телефон";
|
||||
$MESS["REGISTER_FIELD_PERSONAL_FAX"] = "Факс";
|
||||
$MESS["REGISTER_FIELD_PERSONAL_MOBILE"] = "Мобильный";
|
||||
$MESS["REGISTER_FIELD_PERSONAL_PAGER"] = "Пейджер";
|
||||
$MESS["REGISTER_FIELD_PERSONAL_STREET"] = "Улица, дом";
|
||||
$MESS["REGISTER_FIELD_PERSONAL_MAILBOX"] = "Почтовый ящик";
|
||||
$MESS["REGISTER_FIELD_PERSONAL_CITY"] = "Город";
|
||||
$MESS["REGISTER_FIELD_PERSONAL_STATE"] = "Область / край";
|
||||
$MESS["REGISTER_FIELD_PERSONAL_ZIP"] = "Почтовый индекс";
|
||||
$MESS["REGISTER_FIELD_PERSONAL_COUNTRY"] = "Страна";
|
||||
$MESS["REGISTER_FIELD_PERSONAL_NOTES"] = "Дополнительные заметки";
|
||||
$MESS["REGISTER_FIELD_WORK_COMPANY"] = "Наименование компании";
|
||||
$MESS["REGISTER_FIELD_WORK_DEPARTMENT"] = "Департамент / Отдел";
|
||||
$MESS["REGISTER_FIELD_WORK_POSITION"] = "Должность";
|
||||
$MESS["REGISTER_FIELD_WORK_WWW"] = "WWW-страница (работа)";
|
||||
$MESS["REGISTER_FIELD_WORK_PHONE"] = "Телефон (работа)";
|
||||
$MESS["REGISTER_FIELD_WORK_FAX"] = "Факс (работа)";
|
||||
$MESS["REGISTER_FIELD_WORK_PAGER"] = "Пейджер (работа)";
|
||||
$MESS["REGISTER_FIELD_WORK_STREET"] = "Улица, дом (работа)";
|
||||
$MESS["REGISTER_FIELD_WORK_MAILBOX"] = "Почтовый ящик (работа)";
|
||||
$MESS["REGISTER_FIELD_WORK_CITY"] = "Город (работа)";
|
||||
$MESS["REGISTER_FIELD_WORK_STATE"] = "Область / край (работа)";
|
||||
$MESS["REGISTER_FIELD_WORK_ZIP"] = "Почтовый индекс (работа)";
|
||||
$MESS["REGISTER_FIELD_WORK_COUNTRY"] = "Страна (работа)";
|
||||
$MESS["REGISTER_FIELD_WORK_PROFILE"] = "Направления деятельности";
|
||||
$MESS["REGISTER_FIELD_WORK_LOGO"] = "Логотип компании";
|
||||
$MESS["REGISTER_FIELD_WORK_NOTES"] = "Дополнительные заметки (работа)";
|
||||
$MESS["REGISTER_FIELD_PHONE_NUMBER"] = "Номер телефона";
|
||||
$MESS["REGISTER_EMAIL_WILL_BE_SENT"] = "На указанный в форме email придет запрос на подтверждение регистрации.";
|
||||
$MESS["MAIN_REGISTER_AUTH"] = "Вы зарегистрированы на сервере и успешно авторизованы.";
|
||||
$MESS["main_profile_time_zones_auto"] = "Автоматически определять часовой пояс:";
|
||||
$MESS["main_profile_time_zones_auto_def"] = "(по умолчанию)";
|
||||
$MESS["main_profile_time_zones_auto_yes"] = "Да, определить по браузеру";
|
||||
$MESS["main_profile_time_zones_auto_no"] = "Нет, выбрать из списка";
|
||||
$MESS["main_profile_time_zones_zones"] = "Часовой пояс:";
|
||||
$MESS["AUTH_SECURE_NOTE"] = "Перед отправкой формы пароль будет зашифрован в браузере. Это позволит избежать передачи пароля в открытом виде.";
|
||||
$MESS["AUTH_NONSECURE_NOTE"] = "Пароль будет отправлен в открытом виде. Включите JavaScript в браузере, чтобы зашифровать пароль перед отправкой.";
|
||||
$MESS["main_register_sms"] = "Код подтверждения из СМС:";
|
||||
$MESS["main_register_sms_send"] = "Отправить";
|
||||
?>
|
|
@ -0,0 +1,5 @@
|
|||
div.bx-auth-reg input.bx-auth-input {vertical-align:middle;}
|
||||
div.bx-auth-reg span.bx-auth-secure {background-color:#FFFAE3; border:1px solid #DEDBC8; padding:2px; display:inline-block; vertical-align:middle;}
|
||||
div.bx-auth-reg div.bx-auth-secure-icon {background-image:url(images/sec.png); background-repeat:no-repeat; background-position:center; width:19px; height:18px;}
|
||||
div.bx-auth-reg div.bx-auth-secure-unlock {background-image:url(images/sec-unlocked.png);}
|
||||
|
|
@ -0,0 +1 @@
|
|||
div.bx-auth-reg input.bx-auth-input{vertical-align:middle}div.bx-auth-reg span.bx-auth-secure{background-color:#fffae3;border:1px solid #dedbc8;padding:2px;display:inline-block;vertical-align:middle}div.bx-auth-reg div.bx-auth-secure-icon{background-image:url(images/sec.png);background-repeat:no-repeat;background-position:center;width:19px;height:18px}div.bx-auth-reg div.bx-auth-secure-unlock{background-image:url(images/sec-unlocked.png)}
|
|
@ -0,0 +1,269 @@
|
|||
<?
|
||||
/**
|
||||
* Bitrix Framework
|
||||
* @package bitrix
|
||||
* @subpackage main
|
||||
* @copyright 2001-2014 Bitrix
|
||||
*/
|
||||
|
||||
/**
|
||||
* Bitrix vars
|
||||
* @global CMain $APPLICATION
|
||||
* @global CUser $USER
|
||||
* @param array $arParams
|
||||
* @param array $arResult
|
||||
* @param CBitrixComponentTemplate $this
|
||||
*/
|
||||
|
||||
if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)
|
||||
die();
|
||||
|
||||
if($arResult["SHOW_SMS_FIELD"] == true)
|
||||
{
|
||||
CJSCore::Init('phone_auth');
|
||||
}
|
||||
?>
|
||||
<div class="bx-auth-reg">
|
||||
|
||||
<?if($USER->IsAuthorized()):?>
|
||||
|
||||
<p><?echo GetMessage("MAIN_REGISTER_AUTH")?></p>
|
||||
|
||||
<?else:?>
|
||||
<?
|
||||
if (count($arResult["ERRORS"]) > 0):
|
||||
foreach ($arResult["ERRORS"] as $key => $error)
|
||||
if (intval($key) == 0 && $key !== 0)
|
||||
$arResult["ERRORS"][$key] = str_replace("#FIELD_NAME#", """.GetMessage("REGISTER_FIELD_".$key).""", $error);
|
||||
|
||||
ShowError(implode("<br />", $arResult["ERRORS"]));
|
||||
|
||||
elseif($arResult["USE_EMAIL_CONFIRMATION"] === "Y"):
|
||||
?>
|
||||
<p><?echo GetMessage("REGISTER_EMAIL_WILL_BE_SENT")?></p>
|
||||
<?endif?>
|
||||
|
||||
<?if($arResult["SHOW_SMS_FIELD"] == true):?>
|
||||
|
||||
<form method="post" action="<?=POST_FORM_ACTION_URI?>" name="regform">
|
||||
<?
|
||||
if($arResult["BACKURL"] <> ''):
|
||||
?>
|
||||
<input type="hidden" name="backurl" value="<?=$arResult["BACKURL"]?>" />
|
||||
<?
|
||||
endif;
|
||||
?>
|
||||
<input type="hidden" name="SIGNED_DATA" value="<?=htmlspecialcharsbx($arResult["SIGNED_DATA"])?>" />
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><?echo GetMessage("main_register_sms")?><span class="starrequired">*</span></td>
|
||||
<td><input size="30" type="text" name="SMS_CODE" value="<?=htmlspecialcharsbx($arResult["SMS_CODE"])?>" autocomplete="off" /></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td><input type="submit" name="code_submit_button" value="<?echo GetMessage("main_register_sms_send")?>" /></td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
</form>
|
||||
|
||||
<script>
|
||||
new BX.PhoneAuth({
|
||||
containerId: 'bx_register_resend',
|
||||
errorContainerId: 'bx_register_error',
|
||||
interval: <?=$arResult["PHONE_CODE_RESEND_INTERVAL"]?>,
|
||||
data:
|
||||
<?=CUtil::PhpToJSObject([
|
||||
'signedData' => $arResult["SIGNED_DATA"],
|
||||
])?>,
|
||||
onError:
|
||||
function(response)
|
||||
{
|
||||
var errorDiv = BX('bx_register_error');
|
||||
var errorNode = BX.findChildByClassName(errorDiv, 'errortext');
|
||||
errorNode.innerHTML = '';
|
||||
for(var i = 0; i < response.errors.length; i++)
|
||||
{
|
||||
errorNode.innerHTML = errorNode.innerHTML + BX.util.htmlspecialchars(response.errors[i].message) + '<br>';
|
||||
}
|
||||
errorDiv.style.display = '';
|
||||
}
|
||||
});
|
||||
</script>
|
||||
|
||||
<div id="bx_register_error" style="display:none"><?ShowError("error")?></div>
|
||||
|
||||
<div id="bx_register_resend"></div>
|
||||
|
||||
<?else:?>
|
||||
|
||||
<form method="post" action="<?=POST_FORM_ACTION_URI?>" name="regform" enctype="multipart/form-data">
|
||||
<?
|
||||
if($arResult["BACKURL"] <> ''):
|
||||
?>
|
||||
<input type="hidden" name="backurl" value="<?=$arResult["BACKURL"]?>" />
|
||||
<?
|
||||
endif;
|
||||
?>
|
||||
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<td colspan="2"><b><?=GetMessage("AUTH_REGISTER")?></b></td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?foreach ($arResult["SHOW_FIELDS"] as $FIELD):?>
|
||||
<?if($FIELD == "AUTO_TIME_ZONE" && $arResult["TIME_ZONE_ENABLED"] == true):?>
|
||||
<tr>
|
||||
<td><?echo GetMessage("main_profile_time_zones_auto")?><?if ($arResult["REQUIRED_FIELDS_FLAGS"][$FIELD] == "Y"):?><span class="starrequired">*</span><?endif?></td>
|
||||
<td>
|
||||
<select name="REGISTER[AUTO_TIME_ZONE]" onchange="this.form.elements['REGISTER[TIME_ZONE]'].disabled=(this.value != 'N')">
|
||||
<option value=""><?echo GetMessage("main_profile_time_zones_auto_def")?></option>
|
||||
<option value="Y"<?=$arResult["VALUES"][$FIELD] == "Y" ? " selected=\"selected\"" : ""?>><?echo GetMessage("main_profile_time_zones_auto_yes")?></option>
|
||||
<option value="N"<?=$arResult["VALUES"][$FIELD] == "N" ? " selected=\"selected\"" : ""?>><?echo GetMessage("main_profile_time_zones_auto_no")?></option>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><?echo GetMessage("main_profile_time_zones_zones")?></td>
|
||||
<td>
|
||||
<select name="REGISTER[TIME_ZONE]"<?if(!isset($_REQUEST["REGISTER"]["TIME_ZONE"])) echo 'disabled="disabled"'?>>
|
||||
<?foreach($arResult["TIME_ZONE_LIST"] as $tz=>$tz_name):?>
|
||||
<option value="<?=htmlspecialcharsbx($tz)?>"<?=$arResult["VALUES"]["TIME_ZONE"] == $tz ? " selected=\"selected\"" : ""?>><?=htmlspecialcharsbx($tz_name)?></option>
|
||||
<?endforeach?>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<?else:?>
|
||||
<tr>
|
||||
<td><?=GetMessage("REGISTER_FIELD_".$FIELD)?>:<?if ($arResult["REQUIRED_FIELDS_FLAGS"][$FIELD] == "Y"):?><span class="starrequired">*</span><?endif?></td>
|
||||
<td><?
|
||||
switch ($FIELD)
|
||||
{
|
||||
case "PASSWORD":
|
||||
?><input size="30" type="password" name="REGISTER[<?=$FIELD?>]" value="<?=$arResult["VALUES"][$FIELD]?>" autocomplete="off" class="bx-auth-input" />
|
||||
<?if($arResult["SECURE_AUTH"]):?>
|
||||
<span class="bx-auth-secure" id="bx_auth_secure" title="<?echo GetMessage("AUTH_SECURE_NOTE")?>" style="display:none">
|
||||
<div class="bx-auth-secure-icon"></div>
|
||||
</span>
|
||||
<noscript>
|
||||
<span class="bx-auth-secure" title="<?echo GetMessage("AUTH_NONSECURE_NOTE")?>">
|
||||
<div class="bx-auth-secure-icon bx-auth-secure-unlock"></div>
|
||||
</span>
|
||||
</noscript>
|
||||
<script type="text/javascript">
|
||||
document.getElementById('bx_auth_secure').style.display = 'inline-block';
|
||||
</script>
|
||||
<?endif?>
|
||||
<?
|
||||
break;
|
||||
case "CONFIRM_PASSWORD":
|
||||
?><input size="30" type="password" name="REGISTER[<?=$FIELD?>]" value="<?=$arResult["VALUES"][$FIELD]?>" autocomplete="off" /><?
|
||||
break;
|
||||
|
||||
case "PERSONAL_GENDER":
|
||||
?><select name="REGISTER[<?=$FIELD?>]">
|
||||
<option value=""><?=GetMessage("USER_DONT_KNOW")?></option>
|
||||
<option value="M"<?=$arResult["VALUES"][$FIELD] == "M" ? " selected=\"selected\"" : ""?>><?=GetMessage("USER_MALE")?></option>
|
||||
<option value="F"<?=$arResult["VALUES"][$FIELD] == "F" ? " selected=\"selected\"" : ""?>><?=GetMessage("USER_FEMALE")?></option>
|
||||
</select><?
|
||||
break;
|
||||
|
||||
case "PERSONAL_COUNTRY":
|
||||
case "WORK_COUNTRY":
|
||||
?><select name="REGISTER[<?=$FIELD?>]"><?
|
||||
foreach ($arResult["COUNTRIES"]["reference_id"] as $key => $value)
|
||||
{
|
||||
?><option value="<?=$value?>"<?if ($value == $arResult["VALUES"][$FIELD]):?> selected="selected"<?endif?>><?=$arResult["COUNTRIES"]["reference"][$key]?></option>
|
||||
<?
|
||||
}
|
||||
?></select><?
|
||||
break;
|
||||
|
||||
case "PERSONAL_PHOTO":
|
||||
case "WORK_LOGO":
|
||||
?><input size="30" type="file" name="REGISTER_FILES_<?=$FIELD?>" /><?
|
||||
break;
|
||||
|
||||
case "PERSONAL_NOTES":
|
||||
case "WORK_NOTES":
|
||||
?><textarea cols="30" rows="5" name="REGISTER[<?=$FIELD?>]"><?=$arResult["VALUES"][$FIELD]?></textarea><?
|
||||
break;
|
||||
default:
|
||||
if ($FIELD == "PERSONAL_BIRTHDAY"):?><small><?=$arResult["DATE_FORMAT"]?></small><br /><?endif;
|
||||
?><input size="30" type="text" name="REGISTER[<?=$FIELD?>]" value="<?=$arResult["VALUES"][$FIELD]?>" /><?
|
||||
if ($FIELD == "PERSONAL_BIRTHDAY")
|
||||
$APPLICATION->IncludeComponent(
|
||||
'bitrix:main.calendar',
|
||||
'',
|
||||
array(
|
||||
'SHOW_INPUT' => 'N',
|
||||
'FORM_NAME' => 'regform',
|
||||
'INPUT_NAME' => 'REGISTER[PERSONAL_BIRTHDAY]',
|
||||
'SHOW_TIME' => 'N'
|
||||
),
|
||||
null,
|
||||
array("HIDE_ICONS"=>"Y")
|
||||
);
|
||||
?><?
|
||||
}?></td>
|
||||
</tr>
|
||||
<?endif?>
|
||||
<?endforeach?>
|
||||
<?// ********************* User properties ***************************************************?>
|
||||
<?if($arResult["USER_PROPERTIES"]["SHOW"] == "Y"):?>
|
||||
<tr><td colspan="2"><?=strlen(trim($arParams["USER_PROPERTY_NAME"])) > 0 ? $arParams["USER_PROPERTY_NAME"] : GetMessage("USER_TYPE_EDIT_TAB")?></td></tr>
|
||||
<?foreach ($arResult["USER_PROPERTIES"]["DATA"] as $FIELD_NAME => $arUserField):?>
|
||||
<tr><td><?=$arUserField["EDIT_FORM_LABEL"]?>:<?if ($arUserField["MANDATORY"]=="Y"):?><span class="starrequired">*</span><?endif;?></td><td>
|
||||
<?$APPLICATION->IncludeComponent(
|
||||
"bitrix:system.field.edit",
|
||||
$arUserField["USER_TYPE"]["USER_TYPE_ID"],
|
||||
array("bVarsFromForm" => $arResult["bVarsFromForm"], "arUserField" => $arUserField, "form_name" => "regform"), null, array("HIDE_ICONS"=>"Y"));?></td></tr>
|
||||
<?endforeach;?>
|
||||
<?endif;?>
|
||||
<?// ******************** /User properties ***************************************************?>
|
||||
<?
|
||||
/* CAPTCHA */
|
||||
if ($arResult["USE_CAPTCHA"] == "Y")
|
||||
{
|
||||
?>
|
||||
<tr>
|
||||
<td colspan="2"><b><?=GetMessage("REGISTER_CAPTCHA_TITLE")?></b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>
|
||||
<input type="hidden" name="captcha_sid" value="<?=$arResult["CAPTCHA_CODE"]?>" />
|
||||
<img src="/bitrix/tools/captcha.php?captcha_sid=<?=$arResult["CAPTCHA_CODE"]?>" width="180" height="40" alt="CAPTCHA" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><?=GetMessage("REGISTER_CAPTCHA_PROMT")?>:<span class="starrequired">*</span></td>
|
||||
<td><input type="text" name="captcha_word" maxlength="50" value="" autocomplete="off" /></td>
|
||||
</tr>
|
||||
<?
|
||||
}
|
||||
/* !CAPTCHA */
|
||||
?>
|
||||
</tbody>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td><input type="submit" name="register_submit_button" value="<?=GetMessage("AUTH_REGISTER")?>" /></td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
</form>
|
||||
|
||||
<p><?echo $arResult["GROUP_POLICY"]["PASSWORD_REQUIREMENTS"];?></p>
|
||||
|
||||
<?endif //$arResult["SHOW_SMS_FIELD"] == true ?>
|
||||
|
||||
<p><span class="starrequired">*</span><?=GetMessage("AUTH_REQ")?></p>
|
||||
|
||||
<?endif?>
|
||||
</div>
|
Loading…
Add table
Reference in a new issue