Your IP : 3.15.226.174
<?php
if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true)
die();
/* подключаем язковые константы */
IncludeGlobalLangFile();
/** @global CMain $APPLICATION */
/** @global CUser $USER */
/*
Для работы требутеся добавить в массив 'files' файл /ajax/index.php строку вида:
'edit_profile' => 'абсолютный_путь_до_этогофайла/profile.php',
*/
$id = CUser::GetID();
if(!$id){
return array(
'status' => 'error',
'errors' => array('all_form'=> GetMessage("WP_GLOBAL_NO_AUTH") ),
);
}
$result = null;
$update = null;
switch($subaction){
case 'info':
$names = array(
'NAME',
'LAST_NAME',
'SECOND_NAME',
'EMAIL',
'PERSONAL_PHONE'
);
$changingPassword = false;
if($_POST['changepassword'] == 1){
$user = CUser::GetByID($id)->Fetch();
$password = $user['PASSWORD'];
$salt = substr($password, 0, strlen($password) - 32);
$password = substr($password, -32);
$password_ = $_POST['PASSWORD_OLD'];
if(md5($salt.$password_) != $password){
return array(
'status' => 'error',
'errors' => array('PASSWORD_OLD'=> GetMessage("WP_GLOBAL_PREV_PASS_INCORRECT")),
);
}
if( trim($_POST['PASSWORD']) != trim($_POST['PASSWORD_CONFIRM'])){
return array(
'status' => 'error',
'errors' => array('PASSWORD_CONFIRM'=> GetMessage("WP_GLOBAL_PASSWORD_CONFIRM_INCORRECT")),
);
}
$changingPassword = true;
$names[] = 'PASSWORD';
$names[] = 'PASSWORD_CONFIRM';
}
$fields = array();
foreach($names as $name){
$value = @$_POST[$name];
if(!in_array($name, array('PASSWORD','PASSWORD_CONFIRM'))){
$fields[$name] = strip_tags($value);
}else{
$fields[$name] = $value;
}
}
$update = array(
'fields' => $fields,
'message' => GetMessage("WP_GLOBAL_CHANGED_DATA".($changingPassword ? '_AND_PASS' : '')),
);
break;
case 'address':
$update = array(
'fields' => array(
'PERSONAL_STREET' => strip_tags($_POST['PERSONAL_STREET'])
),
'error_names' => array(
'PERSONAL_STREET'
),
'message' => GetMessage("WP_GLOBAL_CHANGED_ADDRESS")
);
break;
case 'jur':
$names = array(
'UF_KPP',
'UF_INN',
'UF_ADDRESS_FULL',
'UF_COMPANY_NAME',
'UF_SALE_PERSON_TYPE'
);
$fields = array();
foreach($names as $name){
if(isset($_POST[$name])){
$fields[$name] = strip_tags($_POST[$name]);
}
}
$update = array(
'fields' => $fields,
'message' => GetMessage("WP_GLOBAL_CHANGED_DATA".($changingPassword ? '_AND_PASS' : '')),
);
break;
default:
return null;
}
if(!empty($update)){
$user = new CUser();
if($user->Update($id, $update['fields'])){
return array(
'status' => 'success',
'message' => $update['message'],
);
}else{
return array(
'status' => 'error',
'errors' => array('all_form' => $user->LAST_ERROR, 'error_names' => ($update['error_names'])? $update['error_names']: ''),
);
}
}
return array(
'status' => 'error',
'errors' => array('all_form'=> GetMessage("WP_GLOBAL_CHANGED_ERROR")),
);