if ($object == 'users') { foreach ($data as $user) { if (!empty($user['user_id'])) { if ($_REQUEST['action'] == 'update') { $result = false; $user_data = db_get_row("SELECT * FROM ?:users WHERE user_id = ?i", $user['user_id']); $notify_user = !empty($user['notify_updated_user']) && $user['notify_updated_user'] == 'Y' ? true : false; if (!empty($user['status']) && !$user['is_complete_data']) { $result = db_query("UPDATE ?:users SET status = ?s WHERE user_id = ?i", $user['status'], $user['user_id']); $force_notification = fn_get_notification_rules(array('notify_user' => $noify_user)); if (!empty($force_notification['C']) && $user['status'] == 'A' && $user_data['status'] == 'D') { Mailer::sendMail(array('to' => $user_data['email'], 'from' => 'company_users_department', 'data' => array('user_data' => $user_data), 'tpl' => 'profiles/profile_activated.tpl', 'company_id' => $user_data['company_id']), fn_check_user_type_admin_area($user_data['user_type']) ? 'A' : 'C', $user_data['lang_code']); } } $temp_auth = null; $result = fn_twg_api_update_user($user, $temp_auth, $notify_user); if (!$result) { $msg = str_replace('[object_id]', $user['user_id'], __('twgadmin_wrong_api_object_data')); $response->addError('ERROR_OBJECT_UPDATE', str_replace('[object]', 'users', __('twgadmin_wrong_api_object_data'))); } } elseif ($_REQUEST['action'] == 'delete') { if (!fn_delete_user($user['user_id'])) { $msg = str_replace('[object_id]', $user['user_id'], __('twgadmin_wrong_api_object_data')); $response->addError('ERROR_OBJECT_DELETE', str_replace('[object]', 'users', __('twgadmin_wrong_api_object_data'))); } } } else { $response->addError('ERROR_WRONG_OBJECT_DATA', str_replace('[object]', 'users', __('twgadmin_wrong_api_object_data'))); } } }
function fn_twg_api_process_user_data($user, $response, $lang_code = CART_LANGUAGE) { $user = fn_twg_parse_api_object($user, 'users'); $_auth =& $_SESSION['auth']; if (!empty($user['user_id']) && $user['user_id'] != $_auth['user_id']) { $response->addError('ERROR_ACCESS_DENIED', __('access_denied', $lang_code)); $response->returnResponse(); } if (empty($user['user_id'])) { $user['user_id'] = !empty($_auth['user_id']) ? $_auth['user_id'] : 0; } if (empty($user['user_id']) && !empty($user['password_hash'])) { $user['password1'] = 'tmp'; $user['password2'] = 'tmp'; } $result = fn_twg_api_update_user($user, $_auth); if (!$result) { if (!fn_twg_set_internal_errors($response, 'ERROR_FAIL_CREATE_USER')) { $response->addError('ERROR_FAIL_CREATE_USER', __('fail_create_user', $lang_code)); } $response->returnResponse(); } $_SESSION['cart']['user_data'] = fn_get_user_info($_auth['user_id']); if (!empty($user['password_hash'])) { db_query("UPDATE ?:users SET password = ?s WHERE user_id = ?i", $user['password_hash'], $_auth['user_id']); } }