To jest tylko wersja do druku, aby zobaczyć pełną wersję tematu, kliknij TUTAJ
phpBB2 by Przemo
Support forów phpBB2 modified by Przemo

1.12.7 i starsze - Usuwanie z grupy po okre?lonym czasie

kevin_ - 11-05-2010, 16:34
Temat postu: Usuwanie z grupy po określonym czasie
Usuwanie z grupy po określonym czasie


Opis napisał/a:

Po przez panel admina możemy wymusić usunięcie użytkownika, który należy do grupy dłużej niż określony czas.
Do wyboru mamy 1-7 dni, 2 tygodnie, 1 miesiąc, 3 miesiące.

Gdy dodamy użytkownika do grupy, zostaje wysłane PW z informacją do jakiej grupy go przyjeli oraz kiedy zostanie automatycznie usunięty. Oczywiście takie powiadomienie działa tylko , jeśli grupa ma ustawiony czas pobytu użytkownika w grupie.


Główny widok grup: screen,
Opcja w panelu admina (podczas dodawania/edycji grup): screen

Informacja o PW od "Obsługi forum" screen #1 & screen #2.


U mnie na localhoscie nie miałem żadnych problemów z automatycznym usuwaniem, ale w razie czego proponuje wykonać kopie zapasową dla tabeli phpbb_user_groups.

bobek97 - 11-05-2010, 16:38

Kod:
$lang['Groups_AdminDesc']    = 'Wybierz czas ile potrzeba, aby usun±ć użytkownika z grupy.';

Ja bym to napsiał tak:
Wybierz, ile czasu potrzeba, aby użytkownik został usunięty z grupy.

[ Dodano: 11-05-2010, 16:38 ]
Kod:
## Files To Edit:       groupcp.php

A w instrukcji więcej plik do edycji

kevin_ - 11-05-2010, 16:41

Langi zostawiam dla Was, możecie luzem zmieniać na własne potrzeby - ja podałem tylko proponowaną wartość.
JustDoIt! - 31-05-2010, 16:05

kevin_, bardzo mi sie ten mod podoba jest w nim taka obja ze nikturzy mogą bez limitowo w grupie być a inni zaś na okres 30 dni ?
cezarylee - 01-06-2010, 21:49

A ja bym chciał opcję podczas dodawania użytkownika do grupy, aby było do wyboru na jaki okres jest on dodawany do tej grupy. Reszta bez zmian.

Da się :D ??

hehe - 15-06-2010, 18:22

kevin_, mam pytanie co do moda - chciałbym wyciągnąć zmienną która pokazuje czas kiedy dany użytkownik wylatuje z grupy VIP. I tutaj mam pytanie - czy ta zmienna:
Kod:
$group_expire_date
za to odpowiada? I drugie pytanko - czy dałoby radę użyć tej zmiennej w TPLce? (wiem że nie i od razu zapytam jak by to zmienić żeby tak się dało?) :-P

Pozdrawiam!

kerov - 04-09-2010, 18:28

Mam pytanie,
Chciałbym zrobić grupę świeżak do której dodawało by NOWYCH świeżo zarejestrowanych userów i nikogo więcej, więc jeśli zrobie tą grupę od 0 posta i ustawie okres usunięcia po 1 miesiącu to nie doda do grupy starych użytkowników którzy są już więcej nież miesiąc na forum??

Jesli nie to jak to zrobić??

strzelba - 08-09-2010, 12:15

a dało by się przerobić tego moda tak aby zamiast liczyć czas kiedy wygaśnie członkostwo w grupie zliczał by napisane posty na forum i po osiągnięciu N postów wywalał by usera z grupy
kevin_ - 08-09-2010, 14:08

strzelba, spróbuj zmienić wpis z index.php; to on odpowiada za cały proces usuwania użytkowników po określonym czasie.

spróbuj, nie sprawdzałem
Kod:

$sql_groups       = "SELECT g.group_id, g.group_moderator, g.group_user_expire, ug.user_id, ug.user_jointime FROM ".GROUPS_TABLE." AS g LEFT JOIN ".USER_GROUP_TABLE." AS ug ON(g.group_id=ug.group_id)
                  WHERE g.group_user_expire > 0";

==>
Kod:

$sql_groups       = "SELECT g.group_id, g.group_moderator, ug.user_id, udb.user_posts FROM ".GROUPS_TABLE." AS g
LEFT JOIN ".USER_GROUP_TABLE." AS ug ON(g.group_id=ug.group_id)
LEFT JOIN ".USERS_TABLE." AS udb ON(ug.user_id=udb.user_id)
                  WHERE udb.user_posts > 45";


oraz usuń
Kod:

&& ($row_groups['user_jointime'] <= (CR_TIME - $row_groups['group_user_expire']))


[ Dodano: 08-09-2010, 14:08 ]
edit: w pierwszym CODE liczba 45 postów oznacza, że po tylu postach robi się OUT z grupy :>

strzelba - 09-09-2010, 12:46

kevin_, nie dziala
ma ktos inne pomysly

Żelazko - 11-09-2010, 01:18

Udało mi się wreszcie zainstalować poprawnie tą modyfikację. :)
Mam pytanie, grupa ustawiona na automatyczne usuwanie członków - ten system usuwa tylko członków grupy - moderatorów grupy już nie?

[ Dodano: 11-09-2010, 02:17 ]
P.S.
http://ifotos.pl/img/lol_exanne.png

W tym zdjęciu podane jest do kiedy jest się w grupie. Zaś w modzie oryginalnie, podane jest od kiedy jest się w grupie. Co zrobić żeby mieć wygląd jak na tym screenie? :)

MaTeK_ - 15-09-2010, 15:33

w tym modzie jest tak, że usuwa z grupy, ale jeśli grupa ma kolor to go nie zmienia (zostaje taki jak był w grupie) i dopiero po wyczyszczeniu folderu cache to sie zmienia. Rozwiązaniem tego problemu jest wstawienie warunku usuwania cache i bedzie po kłopocie. Po
Kod:

while ( $row_groups = $db->sql_fetchrow($result_groups) )
    {           
        if ( $row_groups['group_moderator'] != $row_groups['user_id'] && ($row_groups['user_jointime'] <= (CR_TIME - $row_groups['group_user_expire'])) )
        {
            $db->sql_query("DELETE FROM ".USER_GROUP_TABLE." WHERE group_id = {$row_groups['group_id']} AND user_id = {$row_groups['user_id']}");
        }
    }

dodajemy
Kod:

sql_cache('clear', 'groups_desc');
sql_cache('clear', 'user_groups');
sql_cache('clear', 'groups_data');

wtedy od razu po usunięciu z grupy zmieni kolor

Żelazko - 16-09-2010, 04:28

Jest jeszcze jeden problem...
Mianowicie jak grupa jest ustawiona na ukrytą to nie pokazuje ile dni trwa członkostwo w grupie... :o
Przykład w screenach.

Anonymous - 15-11-2010, 21:30

Czy dałoby się to jakoś odpiąć pod ten mod http://www.przemo.org/php...p=597748#597748 ?
Żeby po kupnie danego przedmiotu członek został automatycznie dodany do danej grupy i zgodnie z tą modyfikacją po jakimś czasie z niej usunięty.

emiloski94 - 27-12-2010, 23:45

Mam problem bo u mnie ten mod nie działa

screen



Powered by phpBB modified by Przemo © 2003 phpBB Group