Биллинговая система Nodeny
22 Ноября 2024, 16:57:30 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Прекращена поддержка версии Nodeny 49
 
   Начало   Помощь Поиск Войти Регистрация  
Страниц: [1]
  Печать  
Автор Тема: При смене пакета в текущем месяце не меняется у альясов  (Прочитано 7829 раз)
smallcms
NoDeny
Старожил
*

Карма: 64
Offline Offline

Сообщений: 279



Просмотр профиля WWW
« : 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
Хочется официального багфикса... Грустный
Записан

0xbad0c0d3
гуру nodeny )
NoDeny
Спец
*

Карма: 116
Offline Offline

Сообщений: 1059



Просмотр профиля
« Ответ #1 : 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");
Записан
smallcms
NoDeny
Старожил
*

Карма: 64
Offline Offline

Сообщений: 279



Просмотр профиля WWW
« Ответ #2 : 13 Ноября 2010, 13:06:58 »

пардон, вернее 190-я:
Код:
  $rows=&sql_do($dbh,"UPDATE users SET balance=balance-($got_money),paket=$Fpaket WHERE id=$Mid LIMIT 1");
как пофиксить я знаю. просто не хотелось бы расходиться с мнением автора. Улыбающийся
и да, это таки-баг, т.к. после заказа клиент сидит со своими старыми скоростями на альясных записях...
Записан

0xbad0c0d3
гуру nodeny )
NoDeny
Спец
*

Карма: 116
Offline Offline

Сообщений: 1059



Просмотр профиля
« Ответ #3 : 13 Ноября 2010, 13:09:07 »

Тогда это похоже просто на опечатку.
Записан
smallcms
NoDeny
Старожил
*

Карма: 64
Offline Offline

Сообщений: 279



Просмотр профиля WWW
« Ответ #4 : 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 ни разу не нужен, т.к. альясных записей у нас - ууууу....
Записан

versus
Администратор
Спец
*****

Карма: 21
Offline Offline

Сообщений: 845


44306843
Просмотр профиля WWW Email
« Ответ #5 : 14 Ноября 2010, 13:18:45 »

Спасибо поглядим что да как.
Записан
Александр (AleksHr)
NoDeny
Старожил
*

Карма: 2
Offline Offline

Сообщений: 323


Просмотр профиля
« Ответ #6 : 10 Мая 2012, 09:15:35 »

Извиняюсь что плутаюсь, но можете подсказать какие именно строки поменять? Так как по номер строках ничего не совпадает (свои правки).
Записан
smallcms
NoDeny
Старожил
*

Карма: 64
Offline Offline

Сообщений: 279



Просмотр профиля WWW
« Ответ #7 : 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;
 }
Записан

Александр (AleksHr)
NoDeny
Старожил
*

Карма: 2
Offline Offline

Сообщений: 323


Просмотр профиля
« Ответ #8 : 17 Мая 2012, 10:48:29 »

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

Ничего заменять не нужно, правильно?
Записан
smallcms
NoDeny
Старожил
*

Карма: 64
Offline Offline

Сообщений: 279



Просмотр профиля WWW
« Ответ #9 : 17 Мая 2012, 13:39:59 »

Верно.
Записан

Страниц: [1]
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.20 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!