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

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

Карма: 24
Offline Offline

Сообщений: 352


Просмотр профиля Email
« : 25 Ноября 2010, 12:07:28 »

Поменял немного в скриптах, проверил - вроде работает.
Покритикуйте.

Код:
ALTER TABLE `plans2` ADD `price_change_nm` FLOAT NOT NULL AFTER `price_change` 

Код:
diff -uN /home/admin/50.32.3/cgi-bin/tarif.pl /usr/local/nodeny/web/tarif.pl
Код:
--- /home/admin/50.32.3/cgi-bin/tarif.pl	2010-01-28 17:24:00.000000000 +0200
+++ /usr/local/nodeny/web/tarif.pl 2010-11-24 16:37:42.000000000 +0200
@@ -133,6 +133,7 @@
 
  $price=$F{price}+0;
  $price_change=$F{price_change}+0;
+ $price_change_nm=$F{price_change_nm}+0;
  $m2_to_m1=$F{m2_to_m1}+0;
  $k=$F{k}+0;
 
@@ -186,7 +187,7 @@
  $pays_opt.=',' if $pays_opt;
 
  $sql="UPDATE plans2 SET ".
-   "name='$name',price=$price,price_change=$price_change, ".
+   "name='$name',price=$price,price_change=$price_change, price_change_nm=$price_change_nm, ".
    "mb1=$m[1],mb2=$m[2],mb3=$m[3],mb4=$m[4], ".
    "priceover1=$o[1],priceover2=$o[2],priceover3=$o[3],priceover4=$o[4], ".
    "in_or_out1=$InOrOut[1],in_or_out2=$InOrOut[2],in_or_out3=$InOrOut[3],in_or_out4=$InOrOut[4], ".
@@ -235,7 +236,7 @@
  $name=&Filtr($p->{name});
  $sort_prefix=$name=~s|^\[(\d+)\]||? $1-1000 : '';
  $sort_prefix=0 if $sort_prefix<0;
- ($m1,$m2,$m3,$m4,$price,$price_change,$over1,$over2,$over3,$over4)=&Get_fields('mb1','mb2','mb3','mb4','price','price_change','priceover1','priceover2','priceover3','priceover4');
+ ($m1,$m2,$m3,$m4,$price,$price_change,$price_change_nm,$over1,$over2,$over3,$over4)=&Get_fields('mb1','mb2','mb3','mb4','price','price_change','price_change_nm','priceover1','priceover2','priceover3','priceover4');
  ($m2_to_m1,$start_hour,$end_hour,$k,$flags,$speed,$speed_out,$speed2,$preset)=&Get_fields('m2_to_m1','start_hour','end_hour','k','flags','speed','speed_out','speed2','preset');
  ($InOrOut1,$InOrOut2,$InOrOut3,$InOrOut4,$offices,$usr_grp,$pays_opt,$newuser_opt)=&Get_fields('in_or_out1','in_or_out2','in_or_out3','in_or_out4','offices','usr_grp','pays_opt','newuser_opt');
  ($plan_script,$descr)=&Get_fields('script','descr');
@@ -310,6 +311,7 @@
      "Данная сумма будет сниматься со счета клиента в независимости от количества потребленных предоплаченных мегабайт. По сути абонплата. ".
      "Установите в 0, если вы предусматриваете оплату только пропорционально потребленному трафику").
   &RRow('*','ll',&input_t('price_change',$price_change,10,14)." стоимость перехода","Стоимость перехода на данный пакет в середине месяца").
+  &RRow('*','ll',&input_t('price_change_nm',$price_change_nm,10,14)." стоимость заказа","Стоимость перехода на данный пакет при заказе на следующий месяц").
   &RRow('*','ll',&input_t('speed',$speed||'',10,14)." скорость трафика",
     "Скорость, на которой будет предоставляться доступ в интернет. 0 либо пустое значение не ограничивает скорость.").
   &RRow('*','ll',&input_t('speed_out',$speed_out||'',10,14)." скорость трафика на исход",

Код:
diff -uN /home/admin/50.32.3/cgi-bin/Ssetpacket.pl /usr/local/nodeny/web/Ssetpacket.pl
Код:
--- /home/admin/50.32.3/cgi-bin/Ssetpacket.pl	2009-11-14 10:56:00.000000000 +0200
+++ /usr/local/nodeny/web/Ssetpacket.pl 2010-11-24 17:13:50.000000000 +0200
@@ -259,6 +259,7 @@
           &RRow('*','lr',"Цена, $gr",&bold($Plan_price[$i]));
     $out.=&RRow('*','L',&Show_all($Plan_descr[$i])) if $Plan_descr[$i];
     $out.=&RRow('* error','lr',"Стоимость перехода на данный тарифный план, $gr",&bold($Plan_price_change[$i])) if $only_now_change_pkt;
+    $out.=&RRow('* error','lr',"Стоимость заказа тарифного плана на следующий месяц, $gr",&bold($Plan_price_change_nm[$i])) if $Plan_price_change_nm[$i];
     for $j (1..4)
     {
        $price_over_mb=${"Plan_over$j"}[$i];

Код:
diff -uN /home/admin/50.32.3/nodeny/nomoney.pl /usr/local/nodeny/nomoney.pl 
Код:
--- /home/admin/50.32.3/nodeny/nomoney.pl	2009-11-14 10:57:00.000000000 +0200
+++ /usr/local/nodeny/nomoney.pl 2010-11-25 12:08:04.000000000 +0200
@@ -59,6 +59,7 @@
     $Plan_mb4[$i]=$p->{mb4};
     $Plan_price[$i]=$p->{price};
     $Plan_price_change[$i]=$p->{price_change};
+    $Plan_price_change_nm[$i]=$p->{price_change_nm};
     $Plan_over1[$i]=$p->{priceover1};
     $Plan_over2[$i]=$p->{priceover2};
     $Plan_over3[$i]=$p->{priceover3};

Код:
diff -uN /home/admin/50.32.3/nodeny/new_month.pl /usr/local/nodeny/new_month.pl 
Код:
--- /home/admin/50.32.3/nodeny/new_month.pl	2009-11-14 10:57:00.000000000 +0200
+++ /usr/local/nodeny/new_month.pl 2010-11-25 11:44:22.000000000 +0200
@@ -340,7 +340,7 @@
    mode_report=>0
  };
  $h=&Money($money_param);
- $got_money=sprintf("%.2f",$h->{money});
+ $got_money=sprintf("%.2f",$h->{money}+$Plan_price_change_nm[$paket]);
  $money_over=$h->{money_over};
  $service_list=$h->{service_list};
  chomp $service_list;
@@ -412,6 +412,7 @@
 
  $coment="За услуги доступа в интернет";
  $coment.=", включая услуги:\n$service_list" if $service_list;
+ $coment.="\nСнято $Plan_price_change_nm[$paket] $gr за переход на тариф $Plan_name_short[$paket]." if $Plan_price_change_nm[$paket];
  $coment.="\nПакет: ".(&Filtr_mysql($Plan_name_short[$paket])||'-');
 
  $reason="Трафик по направлениям. Вход-выход:\n";

Вроде так.
Записан
blackjack
NoDeny
Старожил
*

Карма: 24
Offline Offline

Сообщений: 352


Просмотр профиля Email
« Ответ #1 : 25 Ноября 2010, 13:25:01 »

ошибочку нашол
Код:
diff -uN /home/admin/50.32.3/nodeny/new_month.pl /usr/local/nodeny/new_month.pl 
Код:
--- /home/admin/50.32.3/nodeny/new_month.pl	2009-11-14 10:57:00.000000000 +0200
+++ /usr/local/nodeny/new_month.pl 2010-11-25 13:27:01.000000000 +0200
@@ -340,7 +340,14 @@
    mode_report=>0
  };
  $h=&Money($money_param);
- $got_money=sprintf("%.2f",$h->{money});
+ if ($next_paket)
+ {
+   $got_money=sprintf("%.2f",$h->{money}+$Plan_price_change_nm[$paket]);
+ }
+ else
+ {
+   $got_money=sprintf("%.2f",$h->{money});
+ }
  $money_over=$h->{money_over};
  $service_list=$h->{service_list};
  chomp $service_list;
@@ -412,6 +419,7 @@
 
  $coment="За услуги доступа в интернет";
  $coment.=", включая услуги:\n$service_list" if $service_list;
+ $coment.="\nСнято $Plan_price_change_nm[$paket] $gr за переход на тариф $Plan_name_short[$paket]." if $Plan_price_change_nm[$paket];
  $coment.="\nПакет: ".(&Filtr_mysql($Plan_name_short[$paket])||'-');
 
  $reason="Трафик по направлениям. Вход-выход:\n";
Записан
Александр (AleksHr)
NoDeny
Старожил
*

Карма: 2
Offline Offline

Сообщений: 323


Просмотр профиля
« Ответ #2 : 25 Ноября 2010, 14:30:54 »

А можна детально що дає модуль? Тобто наприклад чи можна зробити зміну платну лише якщо тариф менший від обраного?
Записан
blackjack
NoDeny
Старожил
*

Карма: 24
Offline Offline

Сообщений: 352


Просмотр профиля Email
« Ответ #3 : 25 Ноября 2010, 14:35:05 »

в настройках тарифа (не важливо, дорожчий він за поточний чи дешевши) є поле де вказується скільки за перехід на цей тариф треба платити, якщо 0, то нічого не знімається.
Записан
Страниц: [1]
  Печать  
 
Перейти в:  

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