Your IP : 18.224.44.131


Current Path : /home/bitrix/ext_www/ballu.in.ua/bitrix/components/bitrix/learning.student.profile/
Upload File :
Current File : /home/bitrix/ext_www/ballu.in.ua/bitrix/components/bitrix/learning.student.profile/component.php

<?
if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();

//Authorized?
if (!$USER->IsAuthorized())
	$APPLICATION->AuthForm(GetMessage("LEARNING_NO_AUTHORIZE"));

//Module
if (!CModule::IncludeModule("learning"))
{
	ShowError(GetMessage("LEARNING_MODULE_NOT_FOUND"));
	return;
}

//Params
$arParams["TRANSCRIPT_DETAIL_TEMPLATE"] = (
	strlen($arParams["TRANSCRIPT_DETAIL_TEMPLATE"]) > 0 ? 
	htmlspecialchars($arParams["TRANSCRIPT_DETAIL_TEMPLATE"]) : 
	"certification/?TRANSCRIPT_ID=#TRANSCRIPT_ID#"
);

//User
$USER_ID = intval($USER->GetID());
$rsUser = CUser::GetByID($USER_ID);
if (!$arUser = $rsUser->GetNext())
{
	ShowError(GetMessage("LEARNING_NO_AUTHORIZE"));
	return;
}

//Post form
$strError = "";
if ($_SERVER["REQUEST_METHOD"]=="POST" && $_POST["ACTION"]=="EDIT" && $USER_ID > 0 && check_bitrix_sessid())
{
	if (strlen($_POST["EMAIL"])<=0)
		$strError .= GetMessage("LEARNING_NO_MAIL")."<br />";
	elseif (!check_email($_POST["EMAIL"]))
		$strError .= GetMessage("LEARNING_BAD_MAIL")."<br />";

	if (strlen($strError)<=0)
	{
		$rsPhoto = $DB->Query("SELECT PERSONAL_PHOTO FROM b_user WHERE ID='$USER_ID'");
		$arPhoto = $rsPhoto->Fetch();
		$arPersonPhoto = $_FILES["PERSONAL_PHOTO"];
		$arPersonPhoto["old_file"] = $arPhoto["PERSONAL_PHOTO"];
		$arPersonPhoto["del"] = $_POST["PERSONAL_PHOTO_del"];

		$arFields = Array(
			"NAME"					=> $_POST["NAME"],
			"LAST_NAME"				=> $_POST["LAST_NAME"],
			"EMAIL"					=> $_POST["EMAIL"],
			"PERSONAL_WWW"			=> $_POST["PERSONAL_WWW"],
			"PERSONAL_ICQ"			=> $_POST["PERSONAL_ICQ"],
			"PERSONAL_STREET"			=> $_POST["PERSONAL_STREET"],
			"PERSONAL_CITY"		=> $_POST["PERSONAL_CITY"],
			"PERSONAL_ZIP"		=> $_POST["PERSONAL_ZIP"],
			"PERSONAL_STATE"		=> $_POST["PERSONAL_STATE"],
			"PERSONAL_COUNTRY"	=> $_POST["PERSONAL_COUNTRY"],
			"PERSONAL_PHOTO"		=> $arPersonPhoto,
		);

		$success = $USER->Update($USER_ID, $arFields);
		if (!$success)
			$strError .= $USER->LAST_ERROR."<br />";
	}

	if (strlen($strError)<=0)
	{
		$arStudentFields = Array(
			"RESUME" => $_POST["RESUME"],
			"PUBLIC_PROFILE" => ($_POST["PUBLIC_PROFILE"]=="Y" ? "Y" : "N")
		);

		$rsStudent = CStudent::GetList(Array(), Array("USER_ID" => $USER_ID));
		if ($arStudent = $rsStudent->Fetch())
			$success = CStudent::Update($USER_ID, $arStudentFields);
		else
		{
			$arStudentFields["USER_ID"] = $USER_ID;
			$STUDENT_USER_ID = CStudent::Add($arStudentFields);
			$success = (intval($STUDENT_USER_ID)>0);
		}

		if($success)
			LocalRedirect($APPLICATION->GetCurPage());
		else
		{
			if ($e = $APPLICATION->GetException())
				$strError = $e->GetString();
		}

	}
}

//Images
$arUser["PERSONAL_PHOTO_ARRAY"] = CFile::GetFileArray($arUser["PERSONAL_PHOTO"]);
$arUser["WORK_LOGO_ARRAY"] = CFile::GetFileArray($arUser["WORK_LOGO"]);

//Countries
$arUser["PERSONAL_COUNTRY_ARRAY"] = GetCountryArray();

//arResult
$arResult = Array(
	"USER" => $arUser,
	"STUDENT" => Array(),
	"TRANSCRIPT_DETAIL_URL" => "",
	"CURRENT_PAGE" => $APPLICATION->GetCurPage(),
	"ERROR_MESSAGE" => $strError
);

//Student
$rsStudent = CStudent::GetList(array(), array("USER_ID" => $USER_ID));
if ($arStudent = $rsStudent->Fetch())
{
	$arResult["STUDENT"] = $arStudent;
	$arResult["TRANSCRIPT_DETAIL_URL"] = CComponentEngine::MakePathFromTemplate(
		$arParams["TRANSCRIPT_DETAIL_TEMPLATE"], 
		Array("TRANSCRIPT_ID" => $arStudent["TRANSCRIPT"]."-".$arStudent["USER_ID"])
	);
}


//If post and error occured
if ($_SERVER["REQUEST_METHOD"]=="POST" && strlen($arResult["ERROR_MESSAGE"]) > 0)
{
	$arUserFields = $DB->GetTableFieldsList("b_user");
	foreach ($arUserFields as $field)
		if (array_key_exists($field, $_REQUEST))
			$arResult["USER"][$field] = htmlspecialchars($_REQUEST[$field]);

	$arUserFields = $DB->GetTableFieldsList("b_learn_student");
	foreach ($arUserFields as $field)
		if (array_key_exists($field, $_REQUEST))
			$arResult["STUDENT"][$field] = htmlspecialchars($_REQUEST[$field]);
}

//Set Title
$arParams["SET_TITLE"] = ($arParams["SET_TITLE"] == "N" ? "N" : "Y" );
if ($arParams["SET_TITLE"] == "Y")
	$APPLICATION->SetTitle(GetMessage("LEARNING_PROFILE_TITLE"));

$this->IncludeComponentTemplate();
?>