Биллинг abills,freenibs — как перенаправить на страничку если нет денег

Допустим Вы сделали так, что бы у пользователя когда на счету нет денег не выскакивала ошибка 691, а отображалась — «У Вас нет денег, нужно пополниться!!!».

Биллинг abills,freenibs — скрипт как перенаправить на страничку если нет денег в Linux.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#!/bin/sh
export CDATE=$(date "+%Y-%m-%d_%H:%M:%S")
FILTERS=`/usr/bin/awk  '/Filter-Id/ {print $2}'  /var/run/radattr.$1`
IP=`/usr/bin/awk '/Framed-IP-Address/ {print $2}' /var/run/radattr.$1`
UNAME=`/usr/bin/radwho|grep $IP|awk '{print $2}'|head -n 1`
USERBALANCE=$( /usr/bin/mysql -h 10.1.1.1 -uroot -p'' -B abills -e \
            "SELECT SUM(users.credit + bills.deposit) FROM users \
            INNER JOIN bills ON (users.uid=bills.uid) \
            INNER JOIN dv_main ON (dv_main.uid=users.uid) \
            WHERE users.id='$UNAME' AND dv_main.tp_id!=1" | /usr/bin/tail -n 1 )
 
/sbin/iptables -D FORWARD -s $IP ! -d 10.10.10.0/24 -j DROP
/sbin/iptables -t nat -D PREROUTING -s $IP ! -d 10.10.10.0/24 -p tcp -m multiport --dport 80,81,82,8080,3128,443 \
-j DNAT --to-destination 10.10.10.39:80
/sbin/iptables -t nat -D PREROUTING -s $IP ! -d 10.10.10.0/24 -p tcp -m multiport --dport 80,81,82,8080,3128,443 \
-j DNAT --to-destination 10.10.10.38:3082
 
if [ "$FILTERS" = "no_money" ]; then
    echo "$CDATE User [$1] $FILTERS / $UNAME ($IP) add rules (no_money filter)" >> /var/log/no_money.log
    /sbin/iptables -A FORWARD -s $IP ! -d 10.10.10.0/24 -j DROP
    /sbin/iptables -t nat -A PREROUTING -s $IP ! -d 10.10.10.0/24 -p tcp -m multiport --dport 80,81,82,8080,3128,443 \
    -j DNAT --to-destination 10.10.10.38:3082
elif [ "x$USERBALANCE" != "x" ] && [ "x$USERBALANCE" != "xNULL" ]; then
#    echo "$CDATE $UNAME $USERBALANCE negative" >> /var/log/no_money.log
    if [ "x$( /usr/bin/awk 'BEGIN { if('$USERBALANCE'<=0) print("NEGATIVE") }' )" = "xNEGATIVE" ]; then
        echo "$CDATE User [$1] $FILTERS / $UNAME [$IP] add rules (negative deposit $USERBALANCE)" >> /var/log/no_money.log
        /sbin/iptables -A FORWARD -s $IP ! -d 10.10.10.0/24 -j DROP
        /sbin/iptables -t nat -A PREROUTING -s $IP ! -d 10.10.10.0/24 -p tcp -m multiport --dport 80,81,82,8080,3128,443 \
        -j DNAT --to-destination 10.10.10.38:3082
    else
        echo "$CDATE User [$1] $FILTERS / $UNAME [$IP] logged in (deposit: $USERBALANCE)" >> /var/log/no_money.log
    fi
fi

Comments to Биллинг abills,freenibs — как перенаправить на страничку если нет денег

  • Здравствуйте!
    А где в базе прописать Filter-ID подозреваю что в other_params и на какой версии это работает?

    Как в Freenibs реализовать вход пользователей с отрицательным депозитом достаточно передать Filter-ID как у abills или нужно что то ковырять?

    Sergey 01.11.2011 09:42 Ответить
  • Спасибо вы так добры (

    Sergey 01.11.2011 19:36 Ответить
  • Я проще делал — есть поле кредит и депозит, так вот в поле кредит ставил большое значение!

    wel 04.11.2011 01:36 Ответить

Leave a Comment

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Загрузка...
Menu Title