%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /home/bitrix/www/local/php_interface/
Upload File :
Create Path :
Current File : /home/bitrix/www/local/php_interface/init.php

<?
include(GetLangFileName(dirname(__FILE__)."/", "/init.php"));

require __DIR__.'/lib/vendor/autoload.php';

define("CAT_PROFILE_MODEL", 7);
define("IBLOCK_PROFILE_ID", 2);
define("IBLOCK_PORTFOLIO_ID", 4);
define("IBLOCK_FEEDBACK_ID", 14);
define("IBLOCK_MULTILANG_ID", 32);
define("IBLOCK_PORTFOLIO_SETTING_ID", 11);
define("MAX_PHOTOS_PER_ALBUM", 50); // Максимально количество фотографий в альбоме
define("USER_RATING_ID", 1);
define("USR_CUSTOMER", 30); // Заказчики
define("MODERATOR_GROUP", 1);
define("GROUP_MORE_ID", 8);
define("IMAGE_UPLOAD_TMPDIR", str_replace("WWW", "tmp", $_SERVER["DOCUMENT_ROOT"]));

CModule::IncludeModule("iblock");
CModule::IncludeModule("im");

CModule::AddAutoloadClasses('',
	array(
		'ProfilePDFCreator' => '/local/php_interface/include/pdf/pdf.php',
		'PhoneUserLoginExternal' => '/local/php_interface/include/phoneauth.php',
		'ProfileTypeHelper' => '/local/php_interface/include/profile_type_helper.php',
		'MoneySubscribeHelper' => '/local/php_interface/include/money_subscribe_helper.php',
        'AdminAlbumButton' => '/local/php_interface/include/admin_album_button.php',
        'P4UserRegisterHelper' => '/local/php_interface/include/user_register_helper.php'
	)
);

ProfilePDFCreator::init();
PhoneUserLoginExternal::init();
ProfileTypeHelper::init();
AdminAlbumButton::init();

class CurrencySymbols {

	private static $value = array(
		'fa-rub' => '<i class="fa fa-rub"></i>', //'₽',
		'fa-usd' => '<i class="fa fa-usd"></i>', //'$',
		'fa-eur' => '<i class="fa fa-eur"></i>', //'€',
		'fa-grn' => '₴',
		'fa-gbp' => '<i class="fa fa-gbp"></i>', //'£',
		'fa-jpy' => '<i class="fa fa-jpy"></i>', //'¥',
	);

	public static function get($v) {
		return self::$value[$v];
	}

}

/**
 * Возвращает возраст по дате рождения
 */	
 
function getAgeByBirthDate($bdate) {
	if (strlen($bdate)>0) {
		$pos = strpos($bdate, " ");
		$dbate = (SITE_ID == "s1" || SITE_ID == "ru") ? DateTime::createFromFormat("d.m.Y",$pos !== false ? substr($bdate, 0, $pos):$bdate) : DateTime::createFromFormat("m/d/Y",$pos !== false ? substr($bdate, 0, $pos):$bdate);
		$age = (time() - $dbate->getTimestamp()) / 60 / 60 / 24 / 365 ;
		return floor($age);
	}
	else {
		return "";
	}
}
function agGetAgeByBirthDate($bdate) {
	if (strlen($bdate)>0) {
		$pos = strpos($bdate, " ");
		$dot = strpos($bdate, ".");
		$dbate = ($dot !== false) ? DateTime::createFromFormat("d.m.Y",$pos !== false ? substr($bdate, 0, $pos):$bdate) : DateTime::createFromFormat("m/d/Y",$pos !== false ? substr($bdate, 0, $pos):$bdate);
		$age = (time() - $dbate->getTimestamp()) / 60 / 60 / 24 / 365 ;
		return floor($age);
	}
	else {
		return "";
	}
}

function setAgeByBirthDate()
{
	$arFilter = array(
		'IBLOCK_ID'=>IBLOCK_PROFILE_ID,
		'ACTIVE'=>'Y',
		'!PROPERTY_BDATE'=>false
	);
	$arSelect = array('ID', 'IBLOCK_ID', 'PROPERTY_BDATE', 'PROPERTY_AGE');
	$rs = CIBlockElement::GetList(array(), $arFilter, false, false, $arSelect);
	while ($arRes = $rs->GetNext())
	{
		$newage = agGetAgeByBirthDate($arRes['PROPERTY_BDATE_VALUE']);
		CIBlockElement::SetPropertyValueCode($arRes['ID'], "AGE", $newage);
	};
	return "setAgeByBirthDate();";
}
/**
 * Обновляет свойство RATING профиля из текущего рейтинга связанного аккаунта
 * рекомендуется запускать периодически (раз в 1-3 часа)
 */
function updateProfileRatings() {
	$rsProfiles = CIBlockElement::GetList(array('id'=>'asc'),array('IBLOCK_ID'=> IBLOCK_PROFILE_ID,'ACTIVE'=>'Y'),false,false,
		array('ID','IBLOCK_ID','NAME','PROPERTY_ACCOUNT', 'PROPERTY_RATING'));
	$count = 0;
	while ($arProfile = $rsProfiles->GetNext()) {
		if (intval($arProfile['PROPERTY_ACCOUNT_VALUE'])>0)
			$rating = CRatings::GetRatingResult(1,$arProfile['PROPERTY_ACCOUNT_VALUE']);
		else
			$rating['CURRENT_VALUE'] = 0;
		if ($rating['CURRENT_VALUE']!=$arProfile['PROPERTY_RATING_VALUE']) {
			// Обновляем свойство рейтинга
			CIBlockElement::SetPropertyValuesEx($arProfile['ID'], IBLOCK_PROFILE_ID, array('rating' => $rating['CURRENT_VALUE']));
			/* ?><li><?=$arProfile['NAME']?> - <?=$rating['CURRENT_VALUE']?> : <?=$arProfile['PROPERTY_RATING_VALUE']?></li><? */
			$count++;
		}
	}
	//AddMessage2Log('Обновлено профилей - '.$count,'updateProfileRatings');
	return "updateProfileRatings();";
}

/**
 * Формирует представление региона: Город,[Штат/Область,]Страна
 */
function getRegionName($city) {
	$region='';
	$res = CIBlockElement::GetByID($city);
	if($ar_res = $res->GetNext()) {$region = $ar_res["NAME"]; $s_id=$ar_res["IBLOCK_SECTION_ID"];}
	$res = CIBlockSection::GetByID($s_id);
	if($ar_res = $res->GetNext()) {$region = $region.", ".$ar_res["NAME"]; $s_id=$ar_res["IBLOCK_SECTION_ID"];}
	$res = CIBlockSection::GetByID($s_id);
	if($ar_res = $res->GetNext()) {$region = $region.", ".$ar_res["NAME"]; $s_id=$ar_res["IBLOCK_SECTION_ID"];}
	return $region;
}

/**
 * Устанавливает значение рейтинга профиля из рейтинга аккаунта
 */
function updateProfileRating() {
	$res = CIBlockElement::GetList(array(),array("IBLOCK_ID"=>IBLOCK_PROFILE_ID, ">=PROPERTY_ACCOUNT"=>0),false,false,array('ID','PROPERTY_ACCOUNT'));
	while ($ar=$res->GetNext()) {
		$arRatingResult = CRatings::GetRatingResult(USER_RATING_ID, $ar['PROPERTY_ACCOUNT_VALUE']);
		if(!empty($arRatingResult ) && intval($arRatingResult['ROUND_CURRENT_VALUE'])>0)
			$rating = $arRatingResult['ROUND_CURRENT_VALUE'];
		else 
			$rating = '-';

		echo "#".$ar['ID']." : ".$rating."\n";
		CIBlockElement::SetPropertyValuesEx($ar['ID'], false, array('rating' => $rating));
	}
}

/**
 * Возвращает текущий объем и ограничения на фотогалерею профиля
 */
function getPortfolioLimit($usrid, $sectionID = 0) {
	$arResult = array();
	$res = CIBlockElement::GetList(array(), array("IBLOCK_ID"=>IBLOCK_PROFILE_ID, "PROPERTY_ACCOUNT"=>$usrid), false, false, array('ID','PROPERTY_TYPE'));
	if($ar_fields = $res->GetNext()) {
		$elid = $ar_fields["ID"];
		// Читаем ограничения для профиля
		$rs = CIBlockElement::GetList(array(), array('IBLOCK_ID'=>IBLOCK_PORTFOLIO_SETTING_ID,'ID'=>$ar_fields['PROPERTY_TYPE_VALUE']),
			false, false, array('ID','NAME','IBLOCK_ID','PROPERTY_GALLERY_MAX_ALBUM','PROPERTY_GALLERY_MAX_PHOTOS'));
		if ($ar_limit = $rs->Fetch()) {
			$arResult['TYPE'] = $ar_limit['NAME'];
			$arResult['MAX_ALBUM'] = $ar_limit['PROPERTY_GALLERY_MAX_ALBUM_VALUE'];
			$arResult['MAX_PHOTOS'] = $ar_limit['PROPERTY_GALLERY_MAX_PHOTOS_VALUE'];
		}	
	}
	$db_list = CIBlockSection::GetList(Array(), Array("IBLOCK_ID"=>IBLOCK_PORTFOLIO_ID, "DEPTH_LEVEL"=>1, "UF_PORTF_USR"=>$elid), true, array("ID"));
	if ($ar_result = $db_list->GetNext()) {
		$arResult["SECTION_ID"] = $ar_result['ID'];
		$arResult["ALBUM_CNT"] = CIBlockSection::GetCount(array('IBLOCK_ID'=>IBLOCK_PORTFOLIO_ID, 'SECTION_ID'=>$arResult["SECTION_ID"]));
		$arResult["ELEMENT_CNT"] = $ar_result['ELEMENT_CNT'];
		
		$arResult["ALERT"] = 
		 ((($arResult["ALBUM_CNT"]/$arResult["MAX_ALBUM"]*100)>80) ||
		 (($arResult["ELEMENT_CNT"]/$arResult["MAX_PHOTOS"]*100)>80)) ? 'Y':'N';

		$arResult["STOP_ALBUM"] = $arResult["ALBUM_CNT"] >= $arResult["MAX_ALBUM"] ? 'Y' : 'N';
		$arResult["STOP_PHOTOS"] = $arResult["ELEMENT_CNT"] >= $arResult["MAX_PHOTOS"] ? 'Y' : 'N';		
	}

	// Определяем лимит для альбома
	if ($sectionID>0) {
		$count = CIBlockSection::GetSectionElementsCount($sectionID);
		$count1 = MAX_PHOTOS_PER_ALBUM - $count;
		$count2 = $arResult['MAX_PHOTOS'] - $arResult['ELEMENT_CNT'];
		$arResult['ALBUM_AVAIL'] = $count2 < $count1 ? $count2 : $count1;
	}
	
	return $arResult;
}

function isCustomer() {
	global $USER;
	if ($USER->IsAuthorized()) {
		$arUser = CUser::GetByID($USER->GetID())->Fetch();
		if ($arUser['UF_USR']==USR_CUSTOMER) return true;		
	}
	return false;
}

$companyIDs = array(9,10,11);

function isCompany2($usr) {
	global $companyIDs;
	return in_array(intval($usr), $companyIDs);
}

function isCompany() {
	global $USER;
	global $companyIDs;
	if ($USER->IsAuthorized()) {
		$arUser = CUser::GetByID($USER->GetID())->Fetch();
		return in_array(intval($arUser['UF_USR']), $companyIDs);
	}
	return false;
}

function isJobUser($userID) {
	
	$arUser = CUser::GetByID($userID)->Fetch();
	if ($arUser['UF_USR']==USR_CUSTOMER) return true;

	$r = CIBlockElement::GetList(Array(), Array("IBLOCK_ID"=>IBLOCK_PROFILE_ID, "PROPERTY_ACCOUNT"=>$userID, 'ACTIVE'=>'Y'), false, false,
		array("IBLOCK_ID", "ID", "NAME", "CODE", "IBLOCK_SECTION_ID"));  

	if($ar_fields = $r->GetNext())
		return true;
	
	return false;
	
}


/**
 * Проверяет начилие профиля пользователя
 */
function isUserProfile($userID) {
	
	$r = CIBlockElement::GetList(Array(), Array("IBLOCK_ID"=>IBLOCK_PROFILE_ID, "PROPERTY_ACCOUNT"=>$userID, 'ACTIVE'=>'Y'), false, false,
		array("IBLOCK_ID", "ID", "NAME", "CODE", "IBLOCK_SECTION_ID"));  

	if($ar_fields = $r->GetNext()) {
		// @todo: Добавить проверку на корректность и полноту заполнения профиля
		return true;
	}
	
	return false;
	
}

function isProfilePresent() {
	global $USER;
	if ($USER->IsAuthorized()) {
		$r = CIBlockElement::GetList(Array(), Array("IBLOCK_ID"=>IBLOCK_PROFILE_ID, "PROPERTY_ACCOUNT"=>$USER->GetID(), 'ACTIVE'=>'Y'), false, false,
			array("IBLOCK_ID", "ID", "NAME", "CODE", "IBLOCK_SECTION_ID"));  
		if($ar_fields = $r->GetNext()) {
			// @todo: Добавить проверку на корректность и полноту заполнения профиля
			return true;
		}
	}
	return false;
}


/**
 * Возвращает основные данные профиля пользователя: псевдоним, ссылка
 */
function getUserProfile($userID) {

	$profile = array('NAME'=>'');
	$code = ""; $scode = ""; 

	// @todo заменить на оптимизированный getUserMeta

	$r = CIBlockElement::GetList(Array(), Array("IBLOCK_ID"=>IBLOCK_PROFILE_ID, "PROPERTY_ACCOUNT"=>$userID, "ACTIVE"=>'Y'), false, false,
		array("IBLOCK_ID", "ID", "NAME", "CODE", "IBLOCK_SECTION_ID"));

	if($ar_fields = $r->GetNext()) {
    $profile['NAME'] = $ar_fields["NAME"];
    $profile['ID'] = $ar_fields['ID'];
	  $code = $ar_fields["CODE"];
	  $s_id = $ar_fields["IBLOCK_SECTION_ID"];
	  
		$s = CIBlockSection::GetByID($s_id);
		if($ar_res = $s->GetNext()) {
		  $scode = $ar_res["CODE"];
		}	
		$profile['LINK'] = "/".$scode."/".$code."/";	  
		$profile['CUSTOMER'] = false;
	}
	else {
		$arUser = CUser::GetByID($userID)->Fetch();
		$isAdmin = in_array(MODERATOR_GROUP, CUser::GetUserGroup($userID));
		if ($arUser['UF_USR']==USR_CUSTOMER) {
			$profile['LINK'] = ($isAdmin?"/administration/":"/customer/").(strlen($arUser['WORK_COMPANY'])>0?$arUser['WORK_COMPANY']:$arUser['ID'])."/";
			$profile['NAME'] = $arUser["SECOND_NAME"];
			$profile['CUSTOMER'] = true;
		}
	}

	return $profile;
}

function getUserCategory($catID) {
	if ($catID>0) {
		$rsEnum = CUserFieldEnum::GetList(array(), array("ID" =>$catID));
		if ($arEnum = $rsEnum->GetNext())
			return $arEnum['~VALUE'];
	}
	return "";
}

/**
 * Возвращает аватар пользователя и его категорию
 */
function getUserMeta($userID) {

	$arUserMeta = array();

	$rsUser = CUser::GetByID($userID);
	if ($arUser = $rsUser->GetNext()) {

		// Тип профиля
		if (in_array(MODERATOR_GROUP, CUser::GetUserGroup($userID)))
			$arUserMeta['TYPE'] = 'Администрация';
			
		else {
			$rsEnum = CUserFieldEnum::GetList(array(), array("ID" =>$arUser['UF_USR']));
			if ($arEnum = $rsEnum->GetNext())
				$arUserMeta['TYPE'] = $arEnum['~VALUE'];			
		}

		// Online
		$arUserMeta['ONLINE'] = CUser::IsOnLine($userID);

		// Аватара
		if ($arUser['PERSONAL_PHOTO']>0)
			$arUserMeta['AVATAR'] = CFile::GetPath($arUser['PERSONAL_PHOTO']);
		else 
			$arUserMeta['AVATAR'] = updateUserAvatar($userID);
			
		// LAST_ACTIVITY_DATE
		$arUserMeta['LAST_ACTIVITY_DATE'] = $arUser['LAST_ACTIVITY_DATE'];

		$arUserMeta['NAME'] = $arUser['SECOND_NAME'];
		
	}
		
	return $arUserMeta;
	
}

/**
 * Возвращает аватар пользователя, если нет - создает из профиля, если нет - показывает по умолчанию
 */
function getUserAvatar($userID) {
	$rsUser = CUser::GetByID($userID);
	if ($arUser = $rsUser->GetNext()) {
		if ($arUser['PERSONAL_PHOTO']>0)
			return CFile::GetPath($arUser['PERSONAL_PHOTO']);
		else 
			return updateUserAvatar($userID);
	}
}

/**
 * Устанавливет аватар пользователя из профиля
 */

function updateUserAvatar($userID) {
	
	$res = CIBlockElement::GetList(Array(), Array("IBLOCK_ID"=>IBLOCK_PROFILE_ID, "PROPERTY_ACCOUNT"=>$userID),
		false, false, array("ID", "IBLOCK_ID", "DETAIL_PICTURE"));

	if($ar_fields = $res->GetNext()) {	
		$fields = array('PERSONAL_PHOTO' => CFile::MakeFileArray($ar_fields['DETAIL_PICTURE']));
		$user = new CUser;
		$user->Update($userID, $fields);
		
		return CFile::GetPath($ar_fields['DETAIL_PICTURE']);
	}
	
	return false;
	
}
/*
Постинг отклика
*/
function sendMailResponse($userID, $feedback_casting_id, $feedback_text) { 

			$arResult = array();
			$profile = getUserProfile($userID);			

			$rsCasting = CIBlockElement::GetList(Array(), Array("IBLOCK_ID"=>12, "ID"=>$feedback_casting_id), false, false,
						array("IBLOCK_ID", "ID", "NAME", "IBLOCK_SECTION_ID", "PROPERTY_CONTACT_NAME", "PROPERTY_CONTACT_EMAIL"));
			if ($arCasting = $rsCasting->GetNext()) {
	
				$feebackText = strip_tags($feedback_text);
	
				$arFeedbackFields = array(
					'IBLOCK_ID' => 14,
					'NAME' => $profile['NAME'].' -> #'.$arCasting['ID'],
					'DETAIL_TEXT' => $feebackText,
					'PROPERTY_VALUES' => array('VACANCY' => $arCasting['ID'], 'USER_ID' => $userID)
				);				
				
				$el = new CIBlockElement;
				if($feebackID = $el->Add($arFeedbackFields,false,false,false)) {
					$arResult['OK'] = $arFeedbackFields;

					$rsUser = CUser::GetById($userID);
					if($arUser = $rsUser->GetNext())
					{
						$r = CIBlockElement::GetList(Array(), Array("IBLOCK_ID"=>IBLOCK_PROFILE_ID, "PROPERTY_ACCOUNT"=>$userID, "ACTIVE"=>'Y'), false, false,
						array("IBLOCK_ID", "ID", "NAME", "CODE", "DETAIL_PICTURE", "DETAIL_TEXT", "IBLOCK_SECTION_ID", "PROPERTY_*"));
						if ($ob = $r->GetNextElement()){
							$ar_fields = $ob->GetFields();
							$pr_avatar = CFile::GetPath($ar_fields["DETAIL_PICTURE"]);
							$pr_code = SITE_DIR.$ar_fields['CODE']."/";
							$db_list = CIBlockSection::GetList(Array(),
								Array("IBLOCK_ID"=>IBLOCK_PORTFOLIO_ID, "DEPTH_LEVEL"=>1, "UF_PORTF_USR"=>$ar_fields['ID']), false,
								array("IBLOCK_ID", "ID", "UF_PORTF_USR")
							);
							if ($ar_result = $db_list->GetNext()) $sid = $ar_result["ID"];
							$r_port = CIBlockElement::GetList(Array("RAND"=>"ASC"), Array("IBLOCK_ID"=>IBLOCK_PORTFOLIO_ID, "SECTION_ID"=>$sid, "INCLUDE_SUBSECTIONS"=>"Y"), false, array("nTopCount"=>9),
							array("IBLOCK_ID", "ID", "NAME", "CODE", "DETAIL_PICTURE", "DETAIL_TEXT", "IBLOCK_SECTION_ID", "PROPERTY_*"));
							while ($ar_res_port = $r_port->GetNext()) {
								$ar_port_path[] = CFile::GetPath($ar_res_port['DETAIL_PICTURE']);							
							};
							$ar_props = $ob->GetProperties();
							$pr_age = $ar_props["AGE"]["VALUE"];
							$pr_height = $ar_props["HEIGHT"]["VALUE"];
							$pr_weight = $ar_props["WEIGHT"]["VALUE"];
							$pr_breast = $ar_props["BREAST"]["VALUE"];
							$pr_waist = $ar_props["WAIST"]["VALUE"];
							$pr_hip = $ar_props["HIP"]["VALUE"];
							$arFilter = Array("ID"=>$ar_props["REGION"]["VALUE"]);
							$arSelect = Array("ID", "NAME", "IBLOCK_SECTION_ID", "PROPERTY_NAME_RU");
							$res = CIBlockElement::GetList(Array(), $arFilter, false, false, $arSelect);					
							if($ar_res = $res->GetNext()) {$nam_reg = (isset($ar_res["PROPERTY_NAME_RU_VALUE"]) && SITE_ID == "ru") ?
							$ar_res["PROPERTY_NAME_RU_VALUE"] : $ar_res["NAME"];  $region = $nam_reg; $s_ida=$ar_res["IBLOCK_SECTION_ID"];}
							if (isset($s_ida)){
								$arFilter = Array("ID"=>$s_ida, "IBLOCK_ID"=>6);
								$arSelect = Array("ID", "NAME",  "IBLOCK_SECTION_ID", "UF_NAME_RU");
								$res = CIBlockSection::GetList(Array(), $arFilter, false, $arSelect, false);
								if($ar_res = $res->GetNext()) {$s_idb=$ar_res["IBLOCK_SECTION_ID"]; if (IntVal($s_idb) == 31){$nam_reg = 
								(isset($ar_res["UF_NAME_RU"]) && SITE_ID == "ru") ? $ar_res["UF_NAME_RU"] : $ar_res["NAME"];  $region = $region.", ".$nam_reg;};}
							};
							if (isset($s_idb)){
								$arFilter = Array("ID"=>$s_idb, "IBLOCK_ID"=>6);
								$arSelect = Array("ID", "NAME", "IBLOCK_SECTION_ID", "UF_NAME_RU");
								$res = CIBlockSection::GetList(Array(), $arFilter, false, $arSelect, false);
								if($ar_res = $res->GetNext()) {$nam_reg = (isset($ar_res["UF_NAME_RU"]) && SITE_ID == "ru") ?
								$ar_res["UF_NAME_RU"] : $ar_res["NAME"];  $region = $region.", ".$nam_reg; $s_idc=$ar_res["IBLOCK_SECTION_ID"];}
							};
						}
						
						$arFields = array(
							"CASTING_CONTACT_EMAIL" => $arCasting['PROPERTY_CONTACT_EMAIL_VALUE'],
							"CASTING_CONTACT_NAME" => $arCasting['PROPERTY_CONTACT_NAME_VALUE'],
							"CASTING_NAME" => $arCasting['NAME'],
							"CASTING_ID" => $arCasting['ID'],
							"FEEDBACK_TEXT" => $feebackText,
							"PROFILE_NAME" => $arUser["NAME"],
							"PROFILE_AVATAR" => $pr_avatar,
							"PROFILE_AGE" => $pr_age,
							"PROFILE_LAST_NAME" => $arUser["LAST_NAME"],
							"PROFILE_REGION" => $region,
							"PROFILE_PHONE" => $arUser["PERSONAL_MOBILE"],
							"PROFILE_EMAIL" => $arUser["PERSONAL_MAILBOX"],
							"PROFILE_HEIGHT" => $pr_height,
							"PROFILE_WEIGHT" => $pr_weight,
							"PROFILE_BREAST" => $pr_breast,
							"PROFILE_WAIST" => $pr_waist,
							"PROFILE_HIP" => $pr_hip,
							"FEEDBACK_URL" => $pr_code,
							"PROFILE_PORTFOLIO_1" => (isset($ar_port_path[0]) && strlen($ar_port_path[0])>0) ? $ar_port_path[0] : "",
							"PROFILE_PORTFOLIO_2" => (isset($ar_port_path[1]) && strlen($ar_port_path[1])>0) ? $ar_port_path[1] : "", 	
							"PROFILE_PORTFOLIO_3" => (isset($ar_port_path[2]) && strlen($ar_port_path[2])>0) ? $ar_port_path[2] : "",
							"PROFILE_PORTFOLIO_4" => (isset($ar_port_path[3]) && strlen($ar_port_path[3])>0) ? $ar_port_path[3] : "",
							"PROFILE_PORTFOLIO_5" => (isset($ar_port_path[4]) && strlen($ar_port_path[4])>0) ? $ar_port_path[4] : "",
							"PROFILE_PORTFOLIO_6" => (isset($ar_port_path[5]) && strlen($ar_port_path[5])>0) ? $ar_port_path[5] : "",
							"PROFILE_PORTFOLIO_7" => (isset($ar_port_path[6]) && strlen($ar_port_path[6])>0) ? $ar_port_path[6] : "",
							"PROFILE_PORTFOLIO_8" => (isset($ar_port_path[7]) && strlen($ar_port_path[7])>0) ? $ar_port_path[7] : "",
							"PROFILE_PORTFOLIO_9" => (isset($ar_port_path[8]) && strlen($ar_port_path[8])>0) ? $ar_port_path[8] : "",
							"ROW_3"	=> count($ar_port_path)<=6 ? " display: none;" : "",
						);
				  
						  $event = new CEvent;
						  $event->SendImmediate("CASTING_FEEDBACK", SITE_ID, $arFields);
						
						
					};
				}
				else {
				  $arResult['ERRORS'] = GetMessage("ERROR_AT_SAVING").'(14): '.$el->LAST_ERROR;
				};
				// Обновляем счетчик
				$cnt = CIBlockElement::GetList(array(),array('IBLOCK_ID' => 14, 'PROPERTY_VACANCY' => $arCasting['ID']),array());
				CIBlockElement::SetPropertyValuesEx($arCasting['ID'], $arCasting['IBLOCK_ID'], array('FEEDBACK_COUNT'=>$cnt)); 
				
				// Шлем уведомление				
		    $arMessageFields = array(
		       "TO_USER_ID" => $arCasting['CREATED_BY'],
		       "FROM_USER_ID" => 0, 
		       "NOTIFY_TYPE" => IM_NOTIFY_SYSTEM, 
		       "NOTIFY_MODULE" => "im", 
		       "NOTIFY_MESSAGE" => GetMessage("NEW_RESPONSE_FROM").$profile['NAME'].GetMessage("ON_YOUR_VACANCY").'"'.$arCasting['NAME'].'": '.$feebackText
		    );
		    CIMNotify::Add($arMessageFields);

			}
			else {$arResult['ERRORS'] = GetMessage("AD").'#'.$feedback_casting_id.GetMessage("FOR_RESPONSE_IS_NOT_FOUND");};
			return $arResult;
}
/*
 * Отправляем уведомление о новом отзыве профиля или комментарии к фотографйии
 */ 
AddEventHandler("forum", "onAfterMessageAdd", "onAfterMessageAddHandler");
function onAfterMessageAddHandler($id, $message, $topic, $forum, $params) {

	//AddMessage2Log(print_r($message,true).print_r($params,true),'rating.vote');

	$msg = strlen($message['POST_MESSAGE'])>50? substr($message['POST_MESSAGE'],0,49).'...':$params['POST_MESSAGE'];
		
	if ($message['FORUM_ID']==3) { // Комментарий к фотографии
		$res = CIBlockElement::GetByID($message['PARAM2']);
		if($ar_res = $res->GetNext()) {
			$ownerProf = getUserProfile($ar_res['CREATED_BY']);
	    $arMessageFields = array(
	       "TO_USER_ID" => $ar_res['CREATED_BY'],
	       "FROM_USER_ID" => 0, 
	       "NOTIFY_TYPE" => IM_NOTIFY_SYSTEM, 
	       "NOTIFY_MODULE" => "im", 
	       "NOTIFY_MESSAGE" => 'Новый отзыв к <a href="'.
	       	$ownerProf['LINK'].'?ShowPhoto='.$message['PARAM2'].
	       	'#portfolio">фотографии в вашем портфолио</a> от '.$message['SECOND_NAME'].": ".$msg
	    );
	    CIMNotify::Add($arMessageFields);
			//AddMessage2Log(print_r($arMessageFields,true),'rating.vote -> element');
		}
	}
	elseif ($message['FORUM_ID']==2) { // Комментарий к профилю
		$res = CIBlockElement::GetByID($message['PARAM2']);
		if($ar_res = $res->GetNext()) {
			$ownerProf = getUserProfile($ar_res['CREATED_BY']);
	    $arMessageFields = array(
	       "TO_USER_ID" => $ar_res['CREATED_BY'],
	       "FROM_USER_ID" => 0, 
	       "NOTIFY_TYPE" => IM_NOTIFY_SYSTEM, 
	       "NOTIFY_MODULE" => "im", 
	       "NOTIFY_MESSAGE" => 'Новый отзыв к <a href="'.$ownerProf['LINK'].'#portfolio">вашему профилю</a> от '.$message['SECOND_NAME'].": ".$msg
	    );
	    CIMNotify::Add($arMessageFields);
			//AddMessage2Log(print_r($arMessageFields,true),'rating.vote -> element');
		}
	}
	
}


/*
 * Отправляем уведомление о новом лайке фотографии
 */ 
AddEventHandler("main", "OnAddRatingVote", "OnAddRatingVoteHandler");
function OnAddRatingVoteHandler($id, $arParam) {
	
	//AddMessage2Log(print_r($arParam,true),'rating.vote');
	
	if ($arParam['ENTITY_TYPE_ID']=='IBLOCK_ELEMENT') {
		$res = CIBlockElement::GetByID($arParam['ENTITY_ID']);
		if($ar_res = $res->GetNext()) {
			// AddMessage2Log(print_r($ar_res['USER_ID'],true),'rating.vote -> element');
			$userProf = getUserProfile($arParam['USER_ID']);
			$ownerProf = getUserProfile($ar_res['CREATED_BY']);
	    $arMessageFields = array(
	       "TO_USER_ID" => $ar_res['CREATED_BY'],
	       "FROM_USER_ID" => 0, 
	       "NOTIFY_TYPE" => IM_NOTIFY_SYSTEM, 
	       "NOTIFY_MODULE" => "im", 
	       "NOTIFY_MESSAGE" => 'Новый лайк <a href="'.
	       	$ownerProf['LINK'].'?ShowPhoto='.$arParam['ENTITY_ID'].
	       	'#portfolio">фотографии в вашем портфолио</a> от '.$userProf['NAME'].'.'
	    );
	    CIMNotify::Add($arMessageFields);
			//AddMessage2Log(print_r($arMessageFields,true),'rating.vote -> element');
		}
	}

}

/*
 * Устанавливает логин равны емайлу
 */ 
AddEventHandler("main", "OnBeforeUserRegister", "OnBeforeUserUpdateHandler");
AddEventHandler("main", "OnBeforeUserUpdate", "OnBeforeUserUpdateHandler");
function OnBeforeUserUpdateHandler(&$arFields) {
	$arFields["LOGIN"] = $arFields["EMAIL"];
	return $arFields;
}
AddEventHandler("main", "OnAfterUserUpdate", "OnAfterUserUpdateHandler"); 
function OnAfterUserUpdateHandler(&$arFields) 
{ 
	global $USER;
	if($arFields["ID"] > 0)
	{
		if (isCustomer())
		{
			$arGroups = CUser::GetUserGroup($arFields["ID"]);
			if (!in_array(GROUP_MORE_ID, $arGroups))
			{
				$arGroups[] = GROUP_MORE_ID;
				CUser::SetUserGroup($arFields["ID"], $arGroups);
			};			
		}
		else 
		{
			$arSelect = Array("ID", "NAME", "DETAIL_PICTURE", "PROPERTY_ACCOUNT", "PROPERTY_FNAME", "PROPERTY_LNAME",
			"PROPERTY_COUNTRY", "PROPERTY_REGION", "PROPERTY_BDATE");
			$arFilter = Array("IBLOCK_ID"=>IBLOCK_PROFILE_ID, "ACTIVE"=>"Y", "PROPERTY_ACCOUNT" => intval($arFields["ID"]));
			$res = CIBlockElement::GetList(Array(), $arFilter, false, Array("nTopCount"=>1), $arSelect);
			if($ob = $res->GetNext())
			{
				$ar_res[] = $ob;
				$arGroups = CUser::GetUserGroup($arFields["ID"]);
				if (in_array(GROUP_MORE_ID, $arGroups)) {
					if (
						!isset($ar_res[0]["PROPERTY_FNAME_VALUE"]) || strlen($ar_res[0]["PROPERTY_FNAME_VALUE"]) <= 0 ||
						!isset($ar_res[0]["PROPERTY_LNAME_VALUE"]) || strlen($ar_res[0]["PROPERTY_LNAME_VALUE"]) <= 0 ||
						!isset($ar_res[0]["PROPERTY_COUNTRY_VALUE"]) || strlen($ar_res[0]["PROPERTY_COUNTRY_VALUE"]) <= 0 ||
						!isset($ar_res[0]["PROPERTY_REGION_VALUE"]) || strlen($ar_res[0]["PROPERTY_REGION_VALUE"]) <= 0 ||
						!isset($ar_res[0]["DETAIL_PICTURE"]) || strlen($ar_res[0]["DETAIL_PICTURE"]) <= 0 /*|| 
						!isset($ar_res[0]["PROPERTY_BDATE_VALUE"]) || strlen($ar_res[0]["PROPERTY_BDATE_VALUE"]) <= 0*/
					)
					{
						foreach ($arGroups as $key => $val)
						{
							if (intval($val) == GROUP_MORE_ID) 
							unset($arGroups[$key]);	
						};
						CUser::SetUserGroup($arFields["ID"], $arGroups);
						$USER->Authorize($USER->GetID());
					};
				}
				elseif 
				(
					isset($ar_res[0]["PROPERTY_FNAME_VALUE"]) && strlen($ar_res[0]["PROPERTY_FNAME_VALUE"]) > 0 &&
					isset($ar_res[0]["PROPERTY_LNAME_VALUE"]) && strlen($ar_res[0]["PROPERTY_LNAME_VALUE"]) > 0 &&
					isset($ar_res[0]["PROPERTY_COUNTRY_VALUE"]) && strlen($ar_res[0]["PROPERTY_COUNTRY_VALUE"]) > 0 &&
					isset($ar_res[0]["PROPERTY_REGION_VALUE"]) && strlen($ar_res[0]["PROPERTY_REGION_VALUE"]) > 0 &&
					isset($ar_res[0]["DETAIL_PICTURE"]) && strlen($ar_res[0]["DETAIL_PICTURE"]) > 0 /*&& 
					isset($ar_res[0]["PROPERTY_BDATE_VALUE"]) && strlen($ar_res[0]["PROPERTY_BDATE_VALUE"]) > 0*/
				)
				{
					$arGroups[] = GROUP_MORE_ID;
					CUser::SetUserGroup($arFields["ID"], $arGroups);
					$USER->Authorize($USER->GetID());				
				}
				else {};
			}
				//AddMessage2Log(print_r($arGroups,true));
				unset($ar_res);
		};			
	};	 
};
AddEventHandler("main", "OnBeforeUserLogin", Array("MyClass", "OnBeforeUserLoginHandler"));

class MyClass
{
    // создаем обработчик события "OnBeforeUserLogin"
    function OnBeforeUserLoginHandler(&$arFields)
    {
		global $APPLICATION;
		$rsUser = CUser::GetByLogin(trim($arFields["LOGIN"]));
		if($arUser = $rsUser->GetNext())
		{
			$r = CIBlockElement::GetList(Array(), Array("IBLOCK_ID"=>IBLOCK_PROFILE_ID, "PROPERTY_ACCOUNT"=>$arUser['ID'], "ACTIVE"=>'Y'), false, false,
				array("IBLOCK_ID", "ID", "NAME", "CODE", "IBLOCK_SECTION_ID", "PROPERTY_TYPE", "PROPERTY_TYPE_P4"));
			if ($ar_res = $r->GetNext())
			{
				if ((SITE_ID == "p4" || SITE_ID == "ru") && (!isset($ar_res["PROPERTY_TYPE_P4_VALUE"]) || intval($ar_res["PROPERTY_TYPE_P4_VALUE"])<=0)) {				
					$APPLICATION->throwException(GetMessage("YOU_CAN_NOT_LOG_IN_UB"));
					return false;
				} elseif ((SITE_ID == "s1" || SITE_ID == "dv") && (!isset($ar_res["PROPERTY_TYPE_VALUE"]) || intval($ar_res["PROPERTY_TYPE_VALUE"])<=0))
				{
					$APPLICATION->throwException(GetMessage("YOU_CAN_NOT_LOG_IN_P4"));
					return false;
				};
			};
		}

    }
}
// получить имя свойства по ID и языку
function get_property_name($id, $lang)
{
	CModule::IncludeModule('iblock');
	$arRes = array();
	$arFilter = Array("IBLOCK_ID"=>IBLOCK_MULTILANG_ID, "UF_ID"=>intval($id));
	$arSelect = Array("ID", "NAME", "IBLOCK_SECTION_ID", "UF_RU", "UF_EN",
		"UF_DE", "UF_FR", "UF_ES");
	$res = CIBlockSection::GetList(Array(), $arFilter, false, $arSelect, false);
	if ($ar_res = $res->GetNext()) {
		if (isset($ar_res["UF_".strtoupper($lang)])){
			$arRes['OK'] = true;
			$arRes['NAME'] = $ar_res["UF_".strtoupper($lang)];
		} else {
			$arRes['OK'] = false;
			$arRes['ERROR_MESSAGE'] = "Invalid language. Please use 'ru', 'en', 'de', 'fr', 'es'.";
		};
	} else {
		$arRes['OK'] = false;
		$arRes['ERROR_MESSAGE'] = "Invalid property id";
	};
	return $arRes;
}
// получить список значений свойства по его коду и ID ИБ
function get_property_enum_list($iblock_id, $code)
{
	CModule::IncludeModule('iblock');
	$arRes = array();
	$arFilter = Array("CODE"=>$code, "IBLOCK_ID"=>intval($iblock_id));
	$prop_res = CIBlockProperty::GetList(Array(), $arFilter);
	if ($ar_res = $prop_res->GetNext()) {
		$prop_id = $ar_res['ID'];
	} else {
		$arRes['OK'] = false;
		$arRes['ERROR_MESSAGE'] = "Invalid property code";
	};
	if (isset($prop_id)) {
		$arFilter = Array("IBLOCK_ID" => IBLOCK_MULTILANG_ID, "UF_ID" => $prop_id);
		$arSelect = Array("ID", "NAME", "IBLOCK_SECTION_ID");
		$sect_res = CIBlockSection::GetList(Array(), $arFilter, false, $arSelect, false);
		if ($ar_res = $sect_res->GetNext()) {
			$sect_id = $ar_res['ID'];
		} else {
			$arRes['OK'] = false;
			$arRes['ERROR_MESSAGE'] = "Invalid property code";
		};
		if (isset($sect_id)) {
			$arFilter = Array("IBLOCK_ID" => IBLOCK_MULTILANG_ID, "SECTION_ID" => $sect_id);
			$arSelect = Array("ID", "NAME", "IBLOCK_ID", "PROPERTY_DE", "PROPERTY_EN",
				"PROPERTY_ES", "PROPERTY_FR", "PROPERTY_RU", "PROPERTY_VALUE_ID");
			$el_res = CIBlockElement::GetList(Array(), $arFilter, false, false, $arSelect);
			while ($ar_res = $el_res->GetNext()) {
				$arRes["VALUES"][] = array(
					"ID"=> $ar_res["PROPERTY_VALUE_ID_VALUE"],
					"NAME_EN"=> $ar_res["PROPERTY_EN_VALUE"],
					"NAME_RU"=> $ar_res["PROPERTY_RU_VALUE"],
					"NAME_DE"=> $ar_res["PROPERTY_DE_VALUE"],
					"NAME_FR"=> $ar_res["PROPERTY_FR_VALUE"],
					"NAME_ES"=> $ar_res["PROPERTY_ES_VALUE"]
				);
			}
			if (sizeof($arRes["VALUES"]) > 0) {
				$arRes['OK'] = true;
			};
		}
	};
	return $arRes;
}
// получить значение свойства по ID и языку
function get_property_value($id, $lang)
{
	CModule::IncludeModule('iblock');
	$arRes = array();
	$arFilter = Array("IBLOCK_ID"=>IBLOCK_MULTILANG_ID, "PROPERTY_VALUE_ID"=>intval($id));
	$arSelect = Array("ID", "NAME",  "IBLOCK_ID", "PROPERTY_DE", "PROPERTY_EN",
		"PROPERTY_ES", "PROPERTY_FR", "PROPERTY_RU");
	$res = CIBlockElement::GetList(Array(), $arFilter, false, false, $arSelect);
	if ($ar_res = $res->GetNext()) {
		if (isset($ar_res["PROPERTY_".strtoupper($lang)."_VALUE"])){
			$arRes['OK'] = true;
			$arRes['VALUE'] = $ar_res["PROPERTY_".strtoupper($lang)."_VALUE"];
		} else {
			$arRes['OK'] = false;
			$arRes['ERROR_MESSAGE'] = "Invalid language. Please use 'ru', 'en', 'de', 'fr', 'es'.";
		};
	} else {
		$arRes['OK'] = false;
		$arRes['ERROR_MESSAGE'] = "Invalid value id";
	};
	return $arRes;
}
// получить телефонный код страны по id
function get_country_code($idc){
	CModule::IncludeModule('iblock');
	$arRes = array();
	$country_code = 0;
	$arFilter = Array("ID"=>intval($idc));
	$arSelect = Array("ID", "NAME", "IBLOCK_SECTION_ID", "PROPERTY_NAME_RU");
	$res = CIBlockElement::GetList(Array(), $arFilter, false, false, $arSelect);

	if($ar_res = $res->GetNext()) {
		$s_ida=$ar_res["IBLOCK_SECTION_ID"];
	}
	if (isset($s_ida)){
		$arFilter = Array("ID"=>$s_ida, "IBLOCK_ID"=>6);
		$arSelect = Array("ID", "NAME",  "IBLOCK_SECTION_ID", "UF_PHONE_CODE");
		$res = CIBlockSection::GetList(Array(), $arFilter, false, $arSelect, false);
		if($ar_res = $res->GetNext()) {
			$s_idb = $ar_res["IBLOCK_SECTION_ID"];
			if (intval($ar_res["UF_PHONE_CODE"]) > 0)
				$country_code = $ar_res["UF_PHONE_CODE"];
		}
	};
	if (isset($s_idb)){
		$arFilter = Array("ID"=>$s_idb, "IBLOCK_ID"=>6);
		$arSelect = Array("ID", "NAME", "IBLOCK_SECTION_ID", "UF_PHONE_CODE");
		$res = CIBlockSection::GetList(Array(), $arFilter, false, $arSelect, false);
		if($ar_res = $res->GetNext()) {
			if (intval($ar_res["UF_PHONE_CODE"])>0)
				$country_code = $ar_res["UF_PHONE_CODE"];
		}
	};

	if($country_code > 0){
		$arRes['OK'] = true;
		$arRes['PHONE_CODE'] = intval($country_code);
	}
	else{
		$arRes['OK'] = false;
		$arRes['ERROR_MESSAGE'] = "Invalid CITY_ID";
	};
	return $arRes;
};
// добавить оценку приложения в ИБ
function add_app_mark($theme, $text, $mark, $email){
	global $USER;
	CModule::IncludeModule('iblock');
	$el = new CIBlockElement;
	$PROP = array();
	$PROP[261] = intval($mark);
	$PROP[262] = trim($email);
	$arLoadProductArray = Array(
		"MODIFIED_BY"    => $USER->GetID(), // элемент изменен текущим пользователем
		"IBLOCK_SECTION_ID" => false,          // элемент лежит в корне раздела
		"IBLOCK_ID"      => 31,
		"PROPERTY_VALUES"=> $PROP,
		"NAME"           => $theme,
		"ACTIVE"         => "Y",            // активен
		"PREVIEW_TEXT"   => $text,
	);
	$arRes = array();
	if($PRODUCT_ID = $el->Add($arLoadProductArray)){
		$arRes['OK'] = true;
	}
	else{
		$arRes['OK'] = false;
		$arRes['ERROR_MESSAGE'] = $el->LAST_ERROR;
	};
	return $arRes;
};
function generate_password($number, $onlyDigits = true) {
	
	if ($onlyDigits)
		$arr = array(
			'1','2','3','4','5','6',
			'7','8','9','0'
		);
	else
	  $arr = array(
			'a','b','c','d','e','f',
			'g','h','i','j','k','l',
			'm','n','o','p','r','s',
			't','u','v','x','y','z',
		  /*
			'A','B','C','D','E','F',
			'G','H','I','J','K','L',
			'M','N','O','P','R','S',
			'T','U','V','X','Y','Z',
			*/
			'1','2','3','4','5','6',
			'7','8','9','0'
			/*
			,'.',',',
			'(',')','[',']','!','?',
			'&','^','%','@','*','$',
			'<','>','/','|','+','-',
			'{','}','`','~'
			*/
		);

  $pass = "";
  for($i = 0; $i < $number; $i++) {
    $index = rand(0, count($arr) - 1);
    $pass .= $arr[$index];
  }
  return $pass;
}
// генерация кода подтверждения
function generate_confirm_code($number) {
	$arr = array('1','2','3','4','5','6','7','8','9','0');
	$pass = "";
	for($i = 0; $i < $number; $i++) {
		$index = rand(0, count($arr) - 1);
		$pass .= $arr[$index];
	}
	return $pass;
}
	AddEventHandler("main", "OnBeforeUserSendPassword", "MyOnBeforeUserSendPasswordHandler"); 
function MyOnBeforeUserSendPasswordHandler(&$arFields) 
{ 
		global $APPLICATION;
		$rsUser = CUser::GetByLogin(trim($_REQUEST['USER_LOGIN']));
		if($arUser = $rsUser->GetNext())
		{
			$r = CIBlockElement::GetList(Array(), Array("IBLOCK_ID"=>IBLOCK_PROFILE_ID, "PROPERTY_ACCOUNT"=>$arUser['ID'], "ACTIVE"=>'Y'), false, false,
				array("IBLOCK_ID", "ID", "NAME", "CODE", "IBLOCK_SECTION_ID", "PROPERTY_TYPE", "PROPERTY_TYPE_P4"));
			if ($ar_res = $r->GetNext())
			{
				if ((SITE_ID == "p4" || SITE_ID == "ru") && (!isset($ar_res["PROPERTY_TYPE_P4_VALUE"]) || intval($ar_res["PROPERTY_TYPE_P4_VALUE"])<=0)) {				
					$APPLICATION->throwException(GetMessage("YOU_CAN_NOT_LOG_IN_UB"));
					return false;
				} elseif ((SITE_ID == "s1" || SITE_ID == "dv") && (!isset($ar_res["PROPERTY_TYPE_VALUE"]) || intval($ar_res["PROPERTY_TYPE_VALUE"])<=0))
				{
					$APPLICATION->throwException(GetMessage("YOU_CAN_NOT_LOG_IN_P4"));
					return false;
				};
			};
			if(SITE_ID == "p4" || SITE_ID == "ru"){
				if($arUser["ACTIVE"] === "Y"){
					$newPass = generate_password(6);
					$obUser = new CUser;
					$obUser->Update($arUser['ID'], array("PASSWORD" => $newPass, "CONFIRM_PASSWORD" => $newPass));
					$arFields = array(
						"USER_ID" => $arUser["ID"],
						"LOGIN" => $arUser["LOGIN"],
						"EMAIL" => $arUser["EMAIL"],
						"NAME" => $arUser["NAME"],
						"LAST_NAME" => $arUser["LAST_NAME"],
						"CHECKWORD" => $newPass,
					);
					$event = new CEvent;
					$event->SendImmediate("USER_PASS_REQUEST", SITE_ID, $arFields);
				} else {
					$APPLICATION->throwException("Email не подтвержден");
					return false;
				};
			}
		} else {
				$APPLICATION->throwException("Неверный email");
				return false;
		};
}
AddEventHandler("main", "OnAfterUserRegister", "MyOnAfterUserRegisterHandler");
function MyOnAfterUserRegisterHandler(&$arFields)
{
	if ($arFields["USER_ID"]>0) {
		if (SITE_ID == "p4" || SITE_ID == "ru") {
			if (strpos($_SERVER['REQUEST_URI'], "app") > 0) {
				$us_login = trim($_REQUEST['EMAIL']);
				$type_post_templ = "NEW_USER_APP_CONFIRM";
			} else {
				$us_login = trim($_REQUEST['REGISTER']['EMAIL']);
				$type_post_templ = "NEW_USER_PUBLIC_CONFIRM";
			};
			$rsUser = CUser::GetByLogin($us_login);
			if ($arUser = $rsUser->GetNext()) {
				$confirmCode = generate_confirm_code(5);
				$obUser = new CUser;
				$obUser->Update($arUser["ID"], array("CONFIRM_CODE" => $confirmCode));

				$arEventFields = array(
					"USER_ID" => $arUser["ID"],
					"LOGIN" => $arUser["LOGIN"],
					"EMAIL" => $arUser["EMAIL"],
					"NAME" => $arUser["NAME"],
					"LAST_NAME" => $arUser["LAST_NAME"],
					"CONFIRM_CODE" => $confirmCode,
				);

				$event = new CEvent;
				$event->SendImmediate($type_post_templ, SITE_ID, $arEventFields);
			};
		};
	};
}

Zerion Mini Shell 1.0