GrzesiekP
24-02-2011, 20:52
Do napisania pluginu natchnął mnie ten wątek:
blokada-konta-po-czasie (http://forum.joomla.pl/showthread.php?48768-blokada-konta-po-czasie)
Mam w bazie ponad 19k użytkowników, i wielu z nich to martwe duszyczki. Troszkę materiałów zebrałem, trochę problemów miałem, niemniej jednak starałem się profesjonalnie podejść do tematu i przedstawiam swoje pierwsze, oficjalne dzieło dla społeczności J!
gp Prune Inactive Users
Funkcje:
1. Określenie częstotliwości sprawdzania i usuwania użytkowników.
Oznacza to, że skrypt sprawdza użytkowników nie za każdym wywołaniem, ale np.:
- codziennie (raz dziennie)
- co 3 dni;
- raz w tygodniu;
- raz na dwa tygodnie;
- raz w miesiącu.
2. Tryb usuwania - mamy dwa tryby - podstawowy i rozszerzony.
Tryb podstawowy pobiera listę użytkowników, którzy nie należą do grup od #ID=23,24 lub 25.
Tryb rozszerzony - pobiera listę wszystkich użytkowników, a następnie każdego sprawdza czy należy do grupy 'super administrator', 'administrator', 'manager' (operator). Jeśli należy, to użytkownik jest pomijany. Tryb ten wykonuje więcej zapytań do bazy!
3. Usuń nieaktywowanych - usuwa użytkowników, którzy zarejestrowali się w serwisie, ale nie aktywowali swojego konta.
Okres czasu dla powyższej opcji oznacza liczbę dni od daty rejestracji, po której nieaktywowane konto użytkownika zostanie usunięte.
4. Usuń martwe dusze - usuwa użytkowników, którzy zarejestrowali się i bywali w serwisie, ale od jakiegoś czasu już nie logują się.
Okres czasu dla powyższej opcji oznacza liczbę dni od daty ostatniej wizyty, po której konto użytkownika zostanie usunięte.
5. Usuń nigdy zalogowanych - usuwa użytkowników, którzy zarejestrowali się w serwisie, aktywowali konto, ale nigdy się nie zalogowali.
Okres czasu dla powyższej opcji oznacza liczbę dni od daty rejestracji, po której konto użytkownika zostanie usunięte.
6. Usuwaj zablokowanych - opcja, która pozwala również na usuwanie zablokowanych użytkowników.
7. Pomiń użytkowników - lista #ID użytkowników, które należy pominąć przy sprawdzaniu.
Skrypt ponadto zapisuje log w bazie po każdym wykonaniu sprawdzenia z liczbą skasowanych użytkowników oraz datą usunięcia.
Przyszłe plany, które chciałbym zrealizować w niedługim czasie:
1. Wyeliminować błędy - liczę na to, że pomożecie.
2. Usprawnić działanie pluginu.
3. Wprowadzić opcję powiadamiania użytkownika e-mailem o tym, iż jego konto zostanie usunięte, jeśli nie aktywuje/zaloguje się w najbliższym czasie.
...
Chciałbym jeszcze dodać, że skrypt testowałem u siebie - zalecam przetestować na jakiejś roboczej witrynie zanim zainstalujecie go na oficjalnej stronie.
Plugin usuwa użytkowników w "joomla'owski" sposób, czyli zwykłe $user->delete także żadne niepotrzebne śmieci wpisy po nim nie zostają :)
Pozdrawiam i czekam na uwagi/sugestie/propozycje :)
GP
Zmiany:
25.02.2011 - wersja 1.0.1
#1 Poprawiono bug z usuwaniem użytkowników zablokowanych (podziękowania dla alex51).
blokada-konta-po-czasie (http://forum.joomla.pl/showthread.php?48768-blokada-konta-po-czasie)
Mam w bazie ponad 19k użytkowników, i wielu z nich to martwe duszyczki. Troszkę materiałów zebrałem, trochę problemów miałem, niemniej jednak starałem się profesjonalnie podejść do tematu i przedstawiam swoje pierwsze, oficjalne dzieło dla społeczności J!
gp Prune Inactive Users
Funkcje:
1. Określenie częstotliwości sprawdzania i usuwania użytkowników.
Oznacza to, że skrypt sprawdza użytkowników nie za każdym wywołaniem, ale np.:
- codziennie (raz dziennie)
- co 3 dni;
- raz w tygodniu;
- raz na dwa tygodnie;
- raz w miesiącu.
2. Tryb usuwania - mamy dwa tryby - podstawowy i rozszerzony.
Tryb podstawowy pobiera listę użytkowników, którzy nie należą do grup od #ID=23,24 lub 25.
Tryb rozszerzony - pobiera listę wszystkich użytkowników, a następnie każdego sprawdza czy należy do grupy 'super administrator', 'administrator', 'manager' (operator). Jeśli należy, to użytkownik jest pomijany. Tryb ten wykonuje więcej zapytań do bazy!
3. Usuń nieaktywowanych - usuwa użytkowników, którzy zarejestrowali się w serwisie, ale nie aktywowali swojego konta.
Okres czasu dla powyższej opcji oznacza liczbę dni od daty rejestracji, po której nieaktywowane konto użytkownika zostanie usunięte.
4. Usuń martwe dusze - usuwa użytkowników, którzy zarejestrowali się i bywali w serwisie, ale od jakiegoś czasu już nie logują się.
Okres czasu dla powyższej opcji oznacza liczbę dni od daty ostatniej wizyty, po której konto użytkownika zostanie usunięte.
5. Usuń nigdy zalogowanych - usuwa użytkowników, którzy zarejestrowali się w serwisie, aktywowali konto, ale nigdy się nie zalogowali.
Okres czasu dla powyższej opcji oznacza liczbę dni od daty rejestracji, po której konto użytkownika zostanie usunięte.
6. Usuwaj zablokowanych - opcja, która pozwala również na usuwanie zablokowanych użytkowników.
7. Pomiń użytkowników - lista #ID użytkowników, które należy pominąć przy sprawdzaniu.
Skrypt ponadto zapisuje log w bazie po każdym wykonaniu sprawdzenia z liczbą skasowanych użytkowników oraz datą usunięcia.
Przyszłe plany, które chciałbym zrealizować w niedługim czasie:
1. Wyeliminować błędy - liczę na to, że pomożecie.
2. Usprawnić działanie pluginu.
3. Wprowadzić opcję powiadamiania użytkownika e-mailem o tym, iż jego konto zostanie usunięte, jeśli nie aktywuje/zaloguje się w najbliższym czasie.
...
Chciałbym jeszcze dodać, że skrypt testowałem u siebie - zalecam przetestować na jakiejś roboczej witrynie zanim zainstalujecie go na oficjalnej stronie.
Plugin usuwa użytkowników w "joomla'owski" sposób, czyli zwykłe $user->delete także żadne niepotrzebne śmieci wpisy po nim nie zostają :)
Pozdrawiam i czekam na uwagi/sugestie/propozycje :)
GP
Zmiany:
25.02.2011 - wersja 1.0.1
#1 Poprawiono bug z usuwaniem użytkowników zablokowanych (podziękowania dla alex51).