Страница 1 из 1

Session-Timeout неверно считается

Добавлено: Сб окт 24, 2009 1:51 pm
NiTr0
Собссно столкнулся с сабжем. Тайм-аут считается до конца месяца - независимо от даты окончания пакета :shock:
Версия 0.42, когда оно поломалось - сложно сказать...

Вот собссно исправление (в виде патча не выклаыдваю - т.к. именно в данных кусках кода много исправлений), возможно - немного кривоватое, но все же:

В Auth.pm в dv_auth перед вызовом remaining_time вставить

Код: Выделить всё

 my $timelimit=$self->{ACC_EXPIRE}-$self->{SESSION_START};
 $timelimit=0 if ($timelimit<0);
в вызове remaining_time после

Код: Выделить всё

         POSTPAID            => $self->{PAYMENT_TYPE}
добавить

Код: Выделить всё

         time_limit          => $timelimit
В authenticate добавить в первом же SQL запросе после

Код: Выделить всё

 u.ext_bill_id
строку

Код: Выделить всё

 UNIX_TIMESTAMP(u.expire)
ну и чуть ниже после

Код: Выделить всё

       $self->{EXT_BILL_ID}
добавить

Код: Выделить всё

       $self->{ACC_EXPIRE}

Re: Session-Timeout неверно считается

Добавлено: Вс окт 25, 2009 6:26 pm
~AsmodeuS~
спасибо внёс правки в код

Re: Session-Timeout неверно считается

Добавлено: Вс окт 25, 2009 7:23 pm
NiTr0
Еще ИМХО было бы неплохо в конфиге завести переменную для отключения ежемесячного разрыва соединения... Либо - сделать "умный" анализ необходимости обрыва линка, исходя из наличия/отсутствия периодических платежей для данного юзера и типа пакета (месячный или длительностью N дней).

Re: Session-Timeout неверно считается

Добавлено: Пн окт 26, 2009 9:32 am
~AsmodeuS~
Всегда считается начало периода это 1 число и нужно чтобы всегда был такой отсчёт

Re: Session-Timeout неверно считается

Добавлено: Пн окт 26, 2009 10:18 am
NiTr0
Даже если длительность пакета - 30 дней к примеру, и активирован он скажем 15-го?