Разработчикам: заморозка услуг: відмінності між версіями
Sv (обговорення | внесок) (Створена сторінка: === Параметр "Не уходить в минус" в самой услуге === В услуге в таблице services в поле param вставляется фгагмент: 'wait_pos_balance' => '1'. Когда эта конкретная услуга подключается клиенту, то проверяется: $service_new->{param}{wait_pos_balance} && $user->{balance} < $service_new->{approximate_price} и тогда в это...) |
Sv (обговорення | внесок) м (Захистив «Разработчикам: заморозка услуг» ([Редагування=Дозволено тільки адміністраторам] (безстроково) [Перейменування=Дозволено тільки адміністраторам] (безстроково))) |
Версія за 08:24, 26 грудня 2024
Параметр "Не уходить в минус" в самой услуге
В услуге в таблице services в поле param вставляется фгагмент: 'wait_pos_balance' => '1'. Когда эта конкретная услуга подключается клиенту, то проверяется: $service_new->{param}{wait_pos_balance} && $user->{balance} < $service_new->{approximate_price} и тогда в этой подключаемой услуге устанавливается нулевая стоимость и тег wait_pos_balance. Длительность услуги 1 сек - т.е. как можно скорейшее завершение.
В этом варианте заморозки wait_pos_balance вроде как не проверяется модулем ядра services - он просто постоянно пытается завершить эту услугу. А если денег недостаточно и в услуге уже есть тег wait_pos_balance, то ее завершение блокируется (die в самой услуге). Как только денег становится достаточно - замораживаемая услуга таки завершается и подключается новая на полную стоимость.
ajUserSrvInfo.pl кода в тегах услуги видит wait_pos_balance, пишет: Будет активирована когда будет достаточно финансов ajUserSrvList.pl в поле "стоимость" пишет "Заморожена"