%PDF- %PDF-
| Direktori : /proc/self/root/home/bitrix/www/local/php_interface/include/ |
| Current File : //proc/self/root/home/bitrix/www/local/php_interface/include/user_register_helper.php |
<?php
class P4UserRegisterHelper
{
public function OnBeforeUserRegisterHandler(&$arFields)
{
if (strlen($arFields['CONFIRM_CODE']) > 0) {
$arFields['CONFIRM_CODE'] = generate_confirm_code(5);
}
}
public static function createProfile($arUser, &$el, $section = 'models')
{
$fullName = trim($arUser['NAME']).' '.trim($arUser['LAST_NAME']);
$trans = CUtil::translit($fullName, 'ru');
$code = $trans;
$idx = 0;
while (true) { // Проверяет уникальность ссылки и генерирует циферки
$res = CIBlockElement::GetList(array(), array('IBLOCK_ID' => IBLOCK_PROFILE_ID, 'CODE' => $trans));
if (!$res->GetNext()) {
break;
}
++$idx;
$trans = $code.$idx;
}
$arFields = array(
'NAME' => $fullName,
'IBLOCK_ID' => IBLOCK_PROFILE_ID,
'IBLOCK_SECTION_ID' => 7,
'CODE' => $trans,
'PROPERTY_VALUES' => array(
'ACCOUNT' => $arUser['ID'],
'TYPE_P4' => ProfileTypeHelper::DEFAULT_ID_P4,
'MODELTYPE' => 259,
'LANGUAGES' => array(0 => array('VALUE' => 21579, 'DESCRIPTION' => 1)),
),
);
if ('models' != $section) {
unset($arFields['PROPERTY_VALUES']['MODELTYPE']);
$dbSection = CIBlockSection::GetList(array(), array('IBLOCK_ID' => 2, 'CODE' => 'photographers'));
if ($arSection = $dbSection->Fetch()) {
$arFields['IBLOCK_SECTION_ID'] = $arSection['ID'];
} else {
$arFields['IBLOCK_SECTION_ID'] = 486;
}
}
$el = new CIBlockElement();
$profileID = $el->Add($arFields);
if (false !== $profileID) {
ProfileTypeHelper::getPortfolioPolaroid($arUser['ID']);
CModule::IncludeModule('bizproc');
$bpID = 28; // БП снятия с публикации
$arErrorsTmp = array();
CBPDocument::StartWorkflow($bpID, array('iblock', 'CIBlockDocument', $profileID), array(), $arErrorsTmp);
if (count($arErrorsTmp) > 0) {
AddMessage2Log("Ошибка запуска БП #{$bpID}\n".print_r($arErrorsTmp, true));
}
}
return $profileID;
}
}