cache_delete($orderId); lock_unlock($orderId); /** * Запускаем меанизм начисление благ исполнителю. Для чего: * 1. Выполняем получение данных заказа указанного заказчика и исполнителя по идентификатору * заказа * 2. Вычисляем зарплату * 3. Сохраняем данные о платеже пользователя на всякий случай * 4. Атомарно инкрементим баланс исполнителя */ $order = order_get($orderId, $ownerId, $_SESSION['profile']['user_id']); if ($order !== false) { $salary = $order['price'] * 0.9; $interest = $order['price'] - $salary; includeModule('payment'); if (payment_add($_SESSION['profile']['user_id'], $order['order_id'], $salary) && payment_add(0, $order['order_id'], $interest)) { includeModule('balance'); balance_increment($interest); includeModule('profile'); if (profile_update($_SESSION['profile']['user_id'], $salary)) { $_SESSION['profile']['money'] += $salary; return ['completed' => true]; } else { return ['error' => 'technical error 1']; } } else { return ['error' => 'technical error 2']; } } else { return ['error' => 'technical error 3']; }
break; case 'edit_payment': admin_check_permissions('manage_payments'); edit_payment(); break; case 'del_payment': admin_check_permissions('manage_payments'); del_payment(); break; case 'payment_save': admin_check_permissions('manage_payments'); payment_save(); break; case 'payment_add': admin_check_permissions('manage_payments'); payment_add(); break; case 'actions': display_actions(); break; case 'move': admin_check_permissions('edit_users'); move_user(); break; case 'email': email_to_user_from_admin(); break; case 'send_signup_email': check_demo(); member_send_signup_email(); break;