Биллинговая система Nodeny

Главная категория => Nodeny 49 => Тема начата: smallcms от 13 Ноября 2010, 12:42:41



Название: При смене пакета в текущем месяце не меняется у альясов
Отправлено: smallcms от 13 Ноября 2010, 12:42:41
Собственно сабж.
Ssetpacket.pl 363-я:
Код:
$rows=&sql_do($dbh,"UPDATE users SET balance=balance-($got_money),paket3=$Fpaket WHERE id=$Mid LIMIT 1");
Обождал пару суток, ядро тоже не видит этого.
Проверкой пофиксил, конечно:
Код:
    * tin_2 - алиаснная запись, пакет не совпадает с номером пакета основной записи. Был 5, устанавливаю в 4
    * tin_pc2_2 - алиаснная запись, пакет не совпадает с номером пакета основной записи. Был 5, устанавливаю в 4
    * tin_pc2 - алиаснная запись, пакет не совпадает с номером пакета основной записи. Был 5, устанавливаю в 4
Хочется официального багфикса... :(


Название: Re: При смене пакета в текущем месяце не меняется у альясов
Отправлено: 0xbad0c0d3 от 13 Ноября 2010, 13:02:22
Скорее всего это не баг, а фича.
в 50.32
Код:
365   $rows=&sql_do($dbh,"UPDATE users SET balance=balance-($got_money),paket3=$Fpaket WHERE id=$Mid 
....
367   &sql_do($dbh,"UPDATE users SET paket3=$Fpaket WHERE mid=$Mid LIMIT 1");


Название: Re: При смене пакета в текущем месяце не меняется у альясов
Отправлено: smallcms от 13 Ноября 2010, 13:06:58
пардон, вернее 190-я:
Код:
  $rows=&sql_do($dbh,"UPDATE users SET balance=balance-($got_money),paket=$Fpaket WHERE id=$Mid LIMIT 1");
как пофиксить я знаю. просто не хотелось бы расходиться с мнением автора. :)
и да, это таки-баг, т.к. после заказа клиент сидит со своими старыми скоростями на альясных записях...


Название: Re: При смене пакета в текущем месяце не меняется у альясов
Отправлено: 0xbad0c0d3 от 13 Ноября 2010, 13:09:07
Тогда это похоже просто на опечатку.


Название: Re: При смене пакета в текущем месяце не меняется у альясов
Отправлено: smallcms от 13 Ноября 2010, 13:14:37
Пока для себя пофиксил так:
Код:
[root@gateway /usr/local/nodeny/web]# diff Ssetpacket.pl /root/inst/nodeny/49.32.7/nodeny49/cgi-bin/Ssetpacket.pl 
192a193,195
>   $rows=&sql_do($dbh,"UPDATE users SET paket=$Fpaket WHERE mid=$Mid");
>   $rows<1 && &ToLog("!! После платной смены тарифного плана произошла ошибка изменения тарифа клиента mid=$Mid.");

Кстати LIMIT 1 ни разу не нужен, т.к. альясных записей у нас - ууууу....


Название: Re: При смене пакета в текущем месяце не меняется у альясов
Отправлено: versus от 14 Ноября 2010, 13:18:45
Спасибо поглядим что да как.


Название: Re: При смене пакета в текущем месяце не меняется у альясов
Отправлено: Александр (AleksHr) от 10 Мая 2012, 09:15:35
Извиняюсь что плутаюсь, но можете подсказать какие именно строки поменять? Так как по номер строках ничего не совпадает (свои правки).


Название: Re: При смене пакета в текущем месяце не меняется у альясов
Отправлено: smallcms от 10 Мая 2012, 10:24:02
Извиняюсь что плутаюсь, но можете подсказать какие именно строки поменять? Так как по номер строках ничего не совпадает (свои правки).
Попробуйте тогда искать и добавить самостоятельно
Код:
# --- Смена пакета текущего месяца ---

sub SP_SetPaket
{
 {

#немного поскипано

  $coment="Смена тарифного плана $coment";
  $rows=&sql_do($dbh,"INSERT INTO pays SET mid=$Mid,cash=-($got_money),type=10,bonus='y',admin_id=$Adm{id},admin_ip=INET_ATON('$RealIp'),coment='$coment',category=105,time=$ut");
  $rows<1 && &Error($V? "$V Ошибка создания платежа-снятия за смену тарифного плана" : "Временная ошибка. Повторите запрос позже.$go_back",$EOUT);

  $rows=&sql_do($dbh,"UPDATE users SET balance=balance-($got_money),paket=$Fpaket WHERE id=$Mid LIMIT 1");
  $rows<1 && &ToLog("!! После платной смены тарифного плана произошла ошибка изменения баланса клиента id=$Mid. Уменьшите баланс на $got_money $gr");



# /*фикс, который я делал для применения пакета для алиасов
  $rows=&sql_do($dbh,"UPDATE users SET paket=$Fpaket WHERE mid=$Mid");
  $rows<1 && &ToLog("!! После платной смены тарифного плана произошла ошибка изменения тарифа клиента mid=$Mid.");
# фикс, который я делал для применения пакета для алиасов */

  &OkMess(&div('big',"Смена тарифного плана выполнена. С вашего счета снято $got_money $gr").$go_main,$EOUT);
  return;
 }


Название: Re: При смене пакета в текущем месяце не меняется у альясов
Отправлено: Александр (AleksHr) от 17 Мая 2012, 10:48:29
Тоесть просто добавляю в нужное место:
Цитировать
# /*фикс, который я делал для применения пакета для алиасов
  $rows=&sql_do($dbh,"UPDATE users SET paket=$Fpaket WHERE mid=$Mid");
  $rows<1 && &ToLog("!! После платной смены тарифного плана произошла ошибка изменения тарифа клиента mid=$Mid.");
# фикс, который я делал для применения пакета для алиасов */

Ничего заменять не нужно, правильно?


Название: Re: При смене пакета в текущем месяце не меняется у альясов
Отправлено: smallcms от 17 Мая 2012, 13:39:59
Верно.