Current Path : /var/www/html/clients/amz.e-nk.ru/bitrix/components/bitrix/main.profile/ |
Current File : /var/www/html/clients/amz.e-nk.ru/bitrix/components/bitrix/main.profile/component.php |
<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();?><? /*************************************************************************** Êîìïîíåíò ðåäàêòèðîâàíèÿ ïðîôàéëà ïîëüçîâàòåëÿ ****************************************************************************/ //extract($_POST, EXTR_SKIP); //global $REQUEST_METHOD; $arResult["ID"]=intval($USER->GetID()); $arResult["GROUP_POLICY"] = CUser::GetGroupPolicy($arResult["ID"]); $arParams['SEND_INFO'] = $arParams['SEND_INFO'] == 'Y' ? 'Y' : 'N'; $arParams['CHECK_RIGHTS'] = $arParams['CHECK_RIGHTS'] == 'Y' ? 'Y' : 'N'; if(!($arParams['CHECK_RIGHTS'] == 'N' || $USER->CanDoOperation('edit_own_profile')) || $arResult["ID"]<=0) { $APPLICATION->ShowAuthForm(GetMessage("ACCESS_DENIED")); return; } /*************************************************************************** Îáðàáîòêà GET | POST ****************************************************************************/ $strError = ""; $arResult["ID"] = IntVal($arResult["ID"]); if($_SERVER["REQUEST_METHOD"]=="POST" && (strlen($_REQUEST["save"])>0 || strlen($_REQUEST["apply"])>0) && check_bitrix_sessid()) { // echo "<pre>"; print_r($_REQUEST); echo "</pre>"; // exit(); $bOk = false; $obUser = new CUser; $arPERSONAL_PHOTO = $_FILES["PERSONAL_PHOTO"]; $arWORK_LOGO = $_FILES["WORK_LOGO"]; $rsUser = CUser::GetByID($arResult["ID"]); $arUser = $rsUser->Fetch(); if($arUser) { $arPERSONAL_PHOTO["old_file"] = $arUser["PERSONAL_PHOTO"]; $arPERSONAL_PHOTO["del"] = $_REQUEST["PERSONAL_PHOTO_del"]; $arWORK_LOGO["old_file"] = $arUser["WORK_LOGO"]; $arWORK_LOGO["del"] = $_REQUEST["WORK_LOGO_del"]; } $arFields = Array( "NAME" => $_REQUEST["NAME"], "LAST_NAME" => $_REQUEST["LAST_NAME"], "SECOND_NAME" => $_REQUEST["SECOND_NAME"], "EMAIL" => $_REQUEST["EMAIL"], "LOGIN" => $_REQUEST["LOGIN"], "PERSONAL_PROFESSION" => $_REQUEST["PERSONAL_PROFESSION"], "PERSONAL_WWW" => $_REQUEST["PERSONAL_WWW"], "PERSONAL_ICQ" => $_REQUEST["PERSONAL_ICQ"], "PERSONAL_GENDER" => $_REQUEST["PERSONAL_GENDER"], "PERSONAL_BIRTHDAY" => $_REQUEST["PERSONAL_BIRTHDAY"], "PERSONAL_PHOTO" => $arPERSONAL_PHOTO, "PERSONAL_PHONE" => $_REQUEST["PERSONAL_PHONE"], "PERSONAL_FAX" => $_REQUEST["PERSONAL_FAX"], "PERSONAL_MOBILE" => $_REQUEST["PERSONAL_MOBILE"], "PERSONAL_PAGER" => $_REQUEST["PERSONAL_PAGER"], "PERSONAL_STREET" => $_REQUEST["PERSONAL_STREET"], "PERSONAL_MAILBOX" => $_REQUEST["PERSONAL_MAILBOX"], "PERSONAL_CITY" => $_REQUEST["PERSONAL_CITY"], "PERSONAL_STATE" => $_REQUEST["PERSONAL_STATE"], "PERSONAL_ZIP" => $_REQUEST["PERSONAL_ZIP"], "PERSONAL_COUNTRY" => $_REQUEST["PERSONAL_COUNTRY"], "PERSONAL_NOTES" => $_REQUEST["PERSONAL_NOTES"], "WORK_COMPANY" => $_REQUEST["WORK_COMPANY"], "WORK_DEPARTMENT" => $_REQUEST["WORK_DEPARTMENT"], "WORK_POSITION" => $_REQUEST["WORK_POSITION"], "WORK_WWW" => $_REQUEST["WORK_WWW"], "WORK_PHONE" => $_REQUEST["WORK_PHONE"], "WORK_FAX" => $_REQUEST["WORK_FAX"], "WORK_PAGER" => $_REQUEST["WORK_PAGER"], "WORK_STREET" => $_REQUEST["WORK_STREET"], "WORK_MAILBOX" => $_REQUEST["WORK_MAILBOX"], "WORK_CITY" => $_REQUEST["WORK_CITY"], "WORK_STATE" => $_REQUEST["WORK_STATE"], "WORK_ZIP" => $_REQUEST["WORK_ZIP"], "WORK_COUNTRY" => $_REQUEST["WORK_COUNTRY"], "WORK_PROFILE" => $_REQUEST["WORK_PROFILE"], "WORK_LOGO" => $arWORK_LOGO, "WORK_NOTES" => $_REQUEST["WORK_NOTES"] ); if($arUser) { if(strlen($arUser['EXTERNAL_AUTH_ID']) > 0) { $arFields['EXTERNAL_AUTH_ID'] = $arUser['EXTERNAL_AUTH_ID']; } } //if($arResult["MAIN_RIGHT"]=="W" && is_set($_POST, 'EXTERNAL_AUTH_ID')) $arFields['EXTERNAL_AUTH_ID'] = $_POST["EXTERNAL_AUTH_ID"]; if($USER->IsAdmin()) { $arFields["ADMIN_NOTES"]=$_REQUEST["ADMIN_NOTES"]; } if(strlen($_REQUEST["NEW_PASSWORD"])>0) { $arFields["PASSWORD"]=$_REQUEST["NEW_PASSWORD"]; $arFields["CONFIRM_PASSWORD"]=$_REQUEST["NEW_PASSWORD_CONFIRM"]; } $GLOBALS["USER_FIELD_MANAGER"]->EditFormAddFields("USER", $arFields); if($arResult["ID"] > 0) $res = $obUser->Update($arResult["ID"], $arFields, true); /*else { $arResult["ID"] = $obUser->Add($arFields); $res = ($arResult["ID"]>0); $new = "Y"; }*/ $strError .= $obUser->LAST_ERROR; if (strlen($strError) <= 0) { if (CModule::IncludeModule("forum")) { $APPLICATION->ResetException(); $arforumFields = Array( "SHOW_NAME" => ($_REQUEST["forum_SHOW_NAME"]=="Y") ? "Y" : "N", "DESCRIPTION" => $_REQUEST["forum_DESCRIPTION"], "INTERESTS" => $_REQUEST["forum_INTERESTS"], "SIGNATURE" => $_REQUEST["forum_SIGNATURE"], "AVATAR" => $_FILES["forum_AVATAR"] ); $arforumFields["AVATAR"]["del"] = $_REQUEST["forum_AVATAR_del"]; //if ($USER->IsAdmin()) $arforumFields["ALLOW_POST"] = (($_REQUEST["forum_ALLOW_POST"]=="Y") ? "Y" : "N"); $ar_res = CForumUser::GetByUSER_ID($arResult["ID"]); if ($ar_res) { $arforumFields["AVATAR"]["old_file"] = $ar_res["AVATAR"]; $FORUM_USER_ID = IntVal($ar_res["ID"]); $FORUM_USER_ID1 = CForumUser::Update($FORUM_USER_ID, $arforumFields); $forum_res = (IntVal($FORUM_USER_ID1)>0); } else { $arforumFields["USER_ID"] = $arResult["ID"]; $FORUM_USER_ID = CForumUser::Add($arforumFields); $forum_res = (IntVal($FORUM_USER_ID)>0); } if($ex = $APPLICATION->GetException()) $strError = $ex->GetString(); } } if (strlen($strError)<=0) { if (CModule::IncludeModule("blog")) { $APPLICATION->ResetException(); $arblogFields = Array( "ALIAS" => $_REQUEST["blog_ALIAS"], "DESCRIPTION" => $_REQUEST["blog_DESCRIPTION"], "INTERESTS" => $_REQUEST["blog_INTERESTS"], "DATE_REG" => ConvertTimeStamp(false, "FULL", false), "AVATAR" => $_FILES["blog_AVATAR"] ); $arblogFields["AVATAR"]["del"] = $_REQUEST["blog_AVATAR_del"]; //if ($USER->IsAdmin()) $arblogFields["ALLOW_POST"] = (($_REQUEST["blog_ALLOW_POST"]=="Y") ? "Y" : "N"); $ar_res = CBlogUser::GetByID($arResult["ID"], BLOG_BY_USER_ID); if ($ar_res) { $arblogFields["AVATAR"]["old_file"] = $ar_res["AVATAR"]; $BLOG_USER_ID = IntVal($ar_res["ID"]); $BLOG_USER_ID1 = CBlogUser::Update($BLOG_USER_ID, $arblogFields); $blog_res = (IntVal($BLOG_USER_ID1)>0); } else { $arblogFields["USER_ID"] = $arResult["ID"]; $BLOG_USER_ID = CBlogUser::Add($arblogFields); $blog_res = (IntVal($BLOG_USER_ID)>0); } if($ex = $APPLICATION->GetException()) $strError = $ex->GetString(); } } if(CModule::IncludeModule("learning") && strlen($strError)<=0) { //$APPLICATION->ResetException(); $arStudentFields = Array( "RESUME" => $_REQUEST["student_RESUME"], "PUBLIC_PROFILE" => ($_REQUEST["student_PUBLIC_PROFILE"]=="Y" ? "Y" : "N") ); $ar_res = CStudent::GetList(Array(), Array("USER_ID" => $arResult["ID"])); if ($arStudent = $ar_res->Fetch()) { $learning_res = CStudent::Update($arResult["ID"], $arStudentFields); } else { $arStudentFields["USER_ID"] = $arResult["ID"]; $STUDENT_USER_ID = CStudent::Add($arStudentFields); $learning_res = (intval($STUDENT_USER_ID)>0); } //if($ex = $APPLICATION->GetException()) // $strError = $ex->GetString(); } if (strlen($strError)<=0) { if($arParams['SEND_INFO'] == 'Y') { $obUser->SendUserInfo($arResult["ID"], SITE_ID, GetMessage("ACCOUNT_UPDATE"), true); } $bOk = true; } } $rsUser = CUser::GetByID($arResult["ID"]); if(!$arResult["arUser"] = $rsUser->GetNext(false)) { $arResult["ID"]=0; //$arResult["arUser"]["ACTIVE"]="Y"; } else { //$arResult["arUser"]["GROUP_ID"] = CUser::GetUserGroup($arResult["ID"]); } if (CModule::IncludeModule("blog")) { $arResult["INCLUDE_BLOG"] = "Y"; $arResult["arBlogUser"] = CBlogUser::GetByID($arResult["ID"], BLOG_BY_USER_ID); if (!isset($arResult["arBlogUser"]["ALLOW_POST"]) || ($arResult["arBlogUser"]["ALLOW_POST"]!="Y" && $arResult["arBlogUser"]["ALLOW_POST"]!="N")) $arResult["arBlogUser"]["ALLOW_POST"] = "Y"; } if (CModule::IncludeModule("forum")) { $arResult["INCLUDE_FORUM"] = "Y"; $rsForumUser = CForumUser::GetList(array(), array("USER_ID" => $arResult["ID"])); $arResult["arForumUser"] = $rsForumUser->GetNext(false); if (!isset($arResult["arForumUser"]["ALLOW_POST"]) || ($arResult["arForumUser"]["ALLOW_POST"]!="Y" && $arResult["arForumUser"]["ALLOW_POST"]!="N")) $arResult["arForumUser"]["ALLOW_POST"] = "Y"; } if (CModule::IncludeModule("learning")) { $arResult["INCLUDE_LEARNING"] = "Y"; $dbStudent = CStudent::GetList(array(), array("USER_ID" => $arResult["ID"])); $arResult["arStudent"] = $dbStudent->GetNext(); if (!isset($arResult["arStudent"]["PUBLIC_PROFILE"]) || ($arResult["arStudent"]["PUBLIC_PROFILE"]!="Y" && $arResult["arStudent"]["PUBLIC_PROFILE"]!="N")) $arResult["arStudent"]["PUBLIC_PROFILE"] = "N"; } if(strlen($strError)>0) { foreach($_POST as $k=>$val) { if(!is_array($val)) { $arResult["arUser"][$k] = htmlspecialcharsex($val); $arResult["arForumUser"][$k] = htmlspecialcharsex($val); } else { $arResult["arUser"][$k] = $val; $arResult["arForumUser"][$k] = $val; } } $arResult["arUser"]["GROUP_ID"] = $GROUP_ID; } //if(!is_array($arResult["arUser"]["GROUP_ID"])) $arResult["arUser"]["GROUP_ID"]=Array(); $arResult["FORM_TARGET"] = $APPLICATION->GetCurPage(); /* if($arResult["MAIN_RIGHT"]=="R" || $arResult["MAIN_RIGHT"]=="W") { $arResult["GROUPS"] = array(); $rsGroups = CGroup::GetList(($by="c_sort"), ($order="asc"), Array("ANONYMOUS"=>"N")); while($arGroup = $rsGroups->Fetch()) { if ($arGroup["ID"] != 2) $arResult["GROUPS"][] = $arGroup; } } */ $arResult["arUser"]["PERSONAL_PHOTO_INPUT"] = CFile::InputFile("PERSONAL_PHOTO", 20, $arResult["arUser"]["PERSONAL_PHOTO"], false, 0, "IMAGE"); if (strlen($arResult["arUser"]["PERSONAL_PHOTO"])>0) { $arResult["arUser"]["PERSONAL_PHOTO_HTML"] = CFile::ShowImage($arResult["arUser"]["PERSONAL_PHOTO"], 150, 150, "border=0", "", true); } $arResult["arUser"]["WORK_LOGO_INPUT"] = CFile::InputFile("WORK_LOGO", 20, $arResult["arUser"]["WORK_LOGO"], false, 0, "IMAGE"); if (strlen($arResult["arUser"]["WORK_LOGO"])>0) { $arResult["arUser"]["WORK_LOGO_HTML"] = CFile::ShowImage($arResult["arUser"]["WORK_LOGO"], 150, 150, "border=0", "", true); } $arResult["arUser"]["WORK_LOGO_INPUT"] = CFile::InputFile("WORK_LOGO", 20, $arResult["arUser"]["WORK_LOGO"], false, 0, "IMAGE"); if (strlen($arResult["arUser"]["WORK_LOGO"])>0) { $arResult["arUser"]["WORK_LOGO_HTML"] = CFile::ShowImage($arResult["arUser"]["WORK_LOGO"], 150, 150, "border=0", "", true); } $arResult["arForumUser"]["AVATAR_INPUT"] = CFile::InputFile("forum_AVATAR", 20, $arResult["arForumUser"]["AVATAR"], false, 0, "IMAGE"); if (strlen($arResult["arForumUser"]["AVATAR"])>0) { $arResult["arForumUser"]["AVATAR_HTML"] = CFile::ShowImage($arResult["arForumUser"]["AVATAR"], 150, 150, "border=0", "", true); } $arResult["arBlogUser"]["AVATAR_INPUT"] = CFile::InputFile("blog_AVATAR", 20, $arResult["arBlogUser"]["AVATAR"], false, 0, "IMAGE"); if (strlen($arResult["arBlogUser"]["AVATAR"])>0) { $arResult["arBlogUser"]["AVATAR_HTML"] = CFile::ShowImage($arResult["arBlogUser"]["AVATAR"], 150, 150, "border=0", "", true); } $arResult["IS_ADMIN"] = $USER->IsAdmin(); $arCountries = GetCountryArray(); $arResult["COUNTRY_SELECT"] = SelectBoxFromArray("PERSONAL_COUNTRY", $arCountries, $arResult["arUser"]["PERSONAL_COUNTRY"], GetMessage("USER_DONT_KNOW")); $arResult["COUNTRY_SELECT_WORK"] = SelectBoxFromArray("WORK_COUNTRY", $arCountries, $arResult["arUser"]["WORK_COUNTRY"], GetMessage("USER_DONT_KNOW")); $arResult["strProfileError"] = $strError; $arResult["BX_SESSION_CHECK"] = bitrix_sessid_post(); $arResult["DATE_FORMAT"] = CLang::GetDateFormat("SHORT"); $arResult["COOKIE_PREFIX"] = COption::GetOptionString("main", "cookie_name", "BITRIX_SM"); if (strlen($arResult["COOKIE_PREFIX"]) <= 0) $arResult["COOKIE_PREFIX"] = "BX"; // ********************* User properties *************************************************** $arResult["USER_PROPERTIES"] = array("SHOW" => "N"); if (!empty($arParams["USER_PROPERTY"])) { $arUserFields = $GLOBALS["USER_FIELD_MANAGER"]->GetUserFields("USER", $arResult["ID"], LANGUAGE_ID); if (count($arParams["USER_PROPERTY"]) > 0) { foreach ($arUserFields as $FIELD_NAME => $arUserField) { if (!in_array($FIELD_NAME, $arParams["USER_PROPERTY"])) 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"] = (strlen($strError) <= 0) ? false : true; } // ******************** /User properties *************************************************** if ($arParams["SET_TITLE"] == "Y") $APPLICATION->SetTitle(GetMessage("PROFILE_DEFAULT_TITLE")); if ($bOk) $arResult['DATA_SAVED'] = 'Y'; $this->IncludeComponentTemplate(); ?>