Your IP : 3.15.226.174


Current Path : /home/bitrix/ext_www/dev.easy-comfort.com.ua/local/php_interface/ajax/
Upload File :
Current File : /home/bitrix/ext_www/dev.easy-comfort.com.ua/local/php_interface/ajax/profile.php

<?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")),
	);