Коллеги, подскажите как красиво сделать....
Есть тариф НОЧНОЙ БЕЗЛИМИТ (c 01:00 до 8:00)
Пользователи в течении дня или вечера заходят на портал, делают смену тарифа, выбирают этот тариф, у них списывается 50 рублей
а в автомате в 01:00 и 7:00 отрабатывает VBS-скрипт, который стопит пользователей и перебрасывает их в "ночную" группу или утром обратно. Тут все красиво и в автомате.
А вот допустим пользователь решил воспользоваться этим тарифом в 01:20 - ему в морду выкидываю эту-же страницу, к корторой привязан скрипт с вот таким содержанием:
----Cute----
IF (Hour(Time()) > 1) AND (Hour(Time()) < 7) Then
' Считываем текущее состояние сессии
OldState = UserState(4)
OldBall = UserState(19)
' Переводим пользователя в СТОП
Serv.APISetUserState UserID, -1, 0, "НОЧНОЙ БЕЗЛИМИТ", "НОЧНОЙ БЕЗЛИМИТ - СТОП"
' Перебрасываем пользователя в групу НОЧНОЙ БЕЗЛИМИТ
Serv.APISetAttr 3, UserID, 7, "{353799C5-99A6-4467-94A6-72E59B4B4037}", True
' Запускаем пользоветеля и списываем 50 рублей
Serv.APISetUserState UserID, OldBall-50, OldState, "1", "Запускаем сессию"
MesTextAgent = "У Вас списалось 50 рублей,- тариф НОЧНОЙ БЕЗЛИМИТ, c 01:00 по 07:00 этой ночи у Вас - безлимит"
ELSE
MesTextAgent = "У Вас списалось 50 рублей,- тариф НОЧНОЙ БЕЗЛИМИТ, c 01:00 по 07:00 ближайшей ночи у Вас безлимит"
END IF
---- END Cute ----
и что получается как только доходит до строки со СТОПом пользоветеля соответсвенно стопорится и VBS-скрипт (по крайней мере ставил "метки-флажки-маркёры" до следующей строки кода дело не доходит.
Но вот обойти это можно либо, другим скриптом, который, допустим,- будет запускаться каждую минуту и обрабатывать из 5000 клиентов тех кто только что, перешел на этот тариф. Что мне кажеться излишне и накладно.
Либо как то красиво это ограничение обойти и отрабатывать это событие из того скрипта, что привязан к странице смены выбора этого тарифа. Ну вот собственно и вопрос....