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

Главная категория => Общий раздел => Тема начата: Belos от 02 Ноября 2012, 18:24:20



Название: Авторизированные сейчас
Отправлено: Belos от 02 Ноября 2012, 18:24:20
Есть фильтр - "Авторизированные сейчас", но он отображает всех авторизированных, даже тех, кому запрещен доступ, но авторизатор запущен. Как посмотреть только тех, кому доступ разрешен и он авторизирован?


Название: Re: Авторизированные сейчас
Отправлено: 0xbad0c0d3 от 02 Ноября 2012, 18:39:33
Добавить фильтр ))


Название: Re: Авторизированные сейчас
Отправлено: Belos от 02 Ноября 2012, 18:41:58
Help!  :)


Название: Re: Авторизированные сейчас
Отправлено: 0xbad0c0d3 от 02 Ноября 2012, 19:15:30
Help, говоришь, ну держи мой хелп))
web/listuser.pl
находим:
Код:
$out1=&div('nav3',$out_grps);

$out2='';
$out2.=&ahref("$scrpt&f=2",'Авторизованные сейчас');
добавляем:
Код:
$out2.=&ahref("$scrpt&f=2a",'Авторизованные сейчас + доступ разрешен');
находим:
Код:
'2' => ["$sel_from_users auth<>'no'",                 'Авторизованные в данный момент'],
добавляем:
Код:
'2a' => ["$sel_from_users auth<>'no' AND state<>'off'",'Авторизованные в данный моментш + доступ разрешен'],


Название: Re: Авторизированные сейчас
Отправлено: Belos от 02 Ноября 2012, 19:24:31
Спасибо огромное!

П.С. как карму менять?


Название: Re: Авторизированные сейчас
Отправлено: 0xbad0c0d3 от 02 Ноября 2012, 20:22:23
на приват24 можно )))))


Название: Re: Авторизированные сейчас
Отправлено: stix от 02 Ноября 2012, 20:58:51
на приват24 можно )))))
даже нужно )

я еще добавил

$out2.=&ahref("$scrpt&f=2b",'Авторизованные сейчас + доступ запрещен');

'2b' => ["$sel_from_users auth<>'no' AND state='off'",'Авторизованные в данный момент + доступ запрещен'],

дабы видеть кто подключен к сети, но доступ закрыт


Название: Re: Авторизированные сейчас
Отправлено: 0xbad0c0d3 от 02 Ноября 2012, 21:11:58
Вся инфа в подписи )))


Название: Re: Авторизированные сейчас
Отправлено: Belos от 02 Ноября 2012, 21:16:26
lavi и Вам спасибо! Добавил!


Название: Re: Авторизированные сейчас
Отправлено: Belos от 02 Ноября 2012, 22:39:22
Возник такой вопрос. Можно ли посмотреть(сделать фильтры) по тарифам - имеется ввиду авторизованные на определённом тарифе.


Название: Re: Авторизированные сейчас
Отправлено: stix от 02 Ноября 2012, 22:56:14
Цитировать
'2a' => ["$sel_from_users auth<>'no' AND state<>'off' AND paket='8'",'Авторизованные в данный момент + доступ разрешен'],
добавь AND paket='8'
где 8 это ID пакета


Название: Re: Авторизированные сейчас
Отправлено: 0xbad0c0d3 от 02 Ноября 2012, 23:34:42
А я бы вот так:
после:
Код:
$out2.=&ahref("$scrpt&f=2a",'Авторизованные сейчас + доступ разрешен');
добавляем:
Код:
$pkts='';
foreach my $pkt (grep {$Plan_allow_show[$_] && $Plan_name_short[$_]} (0 .. $#Plan_name_short)){
        $pkts.=&ahref("$scrpt&f=2_$pkt","$Plan_name_short[$pkt]");
}
$out2.=&ahref("javascript:show_x(&quot;auth_pkts&quot;)",
        "Авторизованные сейчас + доступ разрешен + тариф"
)."<div id=my_x_auth_pkts class='rght'>$pkts</div><script>show_x('auth_pkts');</script>" if $pkts;
потом перед:
Код:
if( $filtrs{$f}[0] )
{
   $msql=$filtrs{$f}[0];
   $filtr=$filtrs{$f}[1];
}
добавляем:
Код:
foreach my $pkt (grep {$Plan_allow_show[$_] && $Plan_name_short[$_]} (0 .. $#Plan_name_short)){
        $filtrs{"2_$pkt"}=[
                "$sel_from_users auth<>'no' AND state<>'off' AND paket=$pkt",
                "Авторизованные в данный момент + доступ разрешен ($Plan_name_short[$pkt])"
        ];
}
получится вот так:
Код:
foreach my $pkt (grep {$Plan_allow_show[$_] && $Plan_name_short[$_]} (0 .. $#Plan_name_short)){
        $filtrs{"2_$pkt"}=[
                "$sel_from_users auth<>'no' AND state<>'off' AND paket=$pkt",
                "Авторизованные в данный момент + доступ разрешен ($Plan_name_short[$pkt])"
        ];
}
if( $filtrs{$f}[0] )
{
   $msql=$filtrs{$f}[0];
   $filtr=$filtrs{$f}[1];
}
Так же и для доступ запрещен, за исключением: state<>'off' заменить на state='off'


Название: Re: Авторизированные сейчас
Отправлено: stix от 02 Ноября 2012, 23:45:23
да ты маньяк )
тяжелить, так тяжелить базу )

Общее время выполнения sql-запросов: 0.372808 сек
это обычное на 50 морд при отключенных всех выборках фильтров и 98 тарифами

я кстати вообще планирую убрать вывод клиентом, только поиск


Название: Re: Авторизированные сейчас
Отправлено: 0xbad0c0d3 от 02 Ноября 2012, 23:52:45
Что-то я слегка не понял... а в чем разница-то? в том, что вставить статикой ИД тирифа, а что динамичеки все? причем не используя запросов, а из готового массива оО
P.S. Первую правку сделать такой и будет красота )):
Код:
$pkts="<select onChange='document.location=this.value'>";
foreach my $pkt (grep {$Plan_allow_show[$_] && $Plan_name_short[$_]} (0 .. $#Plan_name_short)){
        $pkts.="<option value='$scrpt&f=2_$pkt'".($F{f} eq "2_$pkt" && " selected").">$Plan_name_short[$pkt]</option>";
}
$pkts.="</select>";
$out2.=&ahref("javascript:void(0)","Авторизованные сейчас + доступ разрешен + $pkts") if $pkts;


Название: Re: Авторизированные сейчас
Отправлено: stix от 03 Ноября 2012, 00:19:15
с jquery будет? )


Название: Re: Авторизированные сейчас
Отправлено: 0xbad0c0d3 от 03 Ноября 2012, 00:48:28
на флеше! :D Да не хотелось форму юзать )) а т.к. нодени требует JS по дефолту - почему бы не сделать document.location?


Название: Re: Авторизированные сейчас
Отправлено: Belos от 03 Ноября 2012, 09:04:30
0xbad0c0d3 +1!!!  :D


Название: Re: Авторизированные сейчас
Отправлено: Redmen от 08 Ноября 2012, 21:33:16
не по теме, но филтр!
подскажите пожалуста как можно добавить фильтр
"у кого временный платеж"?
 


Название: Re: Авторизированные сейчас
Отправлено: 0xbad0c0d3 от 08 Ноября 2012, 21:49:34
ну так же как и пред. фильтры, только запрос:
Код:
'tmp' => ["$sel_from_users mid=0 and id IN (SELECT DISTINCT mid FROM pays WHERE type=20 and category=1000)",                      'У кго временный платеж'],


Название: Re: Авторизированные сейчас
Отправлено: Redmen от 08 Ноября 2012, 21:54:56
пасиб
+ в карму


Название: Re: Авторизированные сейчас
Отправлено: Андрій от 12 Ноября 2012, 09:52:14
ну так же как и пред. фильтры, только запрос:
Код:
'tmp' => ["$sel_from_users mid=0 and id IN (SELECT DISTINCT mid FROM pays WHERE type=20 and category=1000)",                      'У кго временный платеж'],

+1


Название: Re: Авторизированные сейчас
Отправлено: Belos от 21 Ноября 2012, 10:08:16
Можно ли сделать фильтр "Заблокированные + N дней?" и если да, то подскажите пожалуйста!


Название: Re: Авторизированные сейчас
Отправлено: 0xbad0c0d3 от 22 Ноября 2012, 02:31:03
Смотря что считать блокировкой, если по денежной задолженности, когда ядро блочит  можно, а так... ну так тоже можно но это подзапросы и парсинг - не есть гуд


Название: Re: Авторизированные сейчас
Отправлено: Belos от 22 Ноября 2012, 09:02:52
Именно по денежной задолженности


Название: Re: Авторизированные сейчас
Отправлено: stix от 22 Ноября 2012, 10:32:41
Belos, попробуй на достуге сам отпарсить reason в таблице pays
а дальше по аналогии с вышенаписанным

хотя надо еще добавить selectbox и перевести дни в unixtime, ну и добавить в условие выборки reason where time


Название: Re: Авторизированные сейчас
Отправлено: Андрій от 22 Ноября 2012, 20:47:04
Можливо краще робити вибірку по користувачах в яких наприклад більше 2-х місяців не було ніякого трафіку (чи трафік становив менше 20мб). Бо стандорно по трафіку можна відсортувати користувачів тільки з 1-го числа.


Название: Re: Авторизированные сейчас
Отправлено: Belos от 22 Ноября 2012, 21:29:35
Прошу прощение! Я имел ввиду "Кому запрещен доступ +N дней", а не заблокированніе ::)