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 - Mod Invitation v. 1.0.1 [Rejestracja na zaproszenie]

kAzek29 - 03-10-2007, 19:03
Temat postu: Mod Invitation v. 1.0.1 [Rejestracja na zaproszenie]
Mod Invitation v. 1.0.1

Chciałem się podzielić moim modem służącym do rejestracji nowych użytkowników tylko na zaproszenia.
Mój mod nie ma wielkich możliwości posiada:
- możliwość włączenia i wyłączenia rejestracji na zaproszenie w PA
- możliwość dodawania zaproszeń (robi to administrator poprzez odpowiedni formularz w PA) dowolnym użytkownikom (wymieniasz loginy użytkowników którym chcesz dać zaproszenia oddzielając je przecinakami), grupie użytkowników lub wszystkim użytkownikom forum.
- możliwość wpisania liczby zaproszeń po ile chcesz dodać użytkownikom
- możliwość wpisania po ilu dniach zaproszenie traci ważność (nie będzie można już sie zarejestrować)
- na 1 zaproszenie oczywiście może zarejestrować się tylko 1 osoba
- każdy użytkownik ma możliwość wysłania zaproszenia dowolnej osobie (wystarczy poddać adres e-mail) z poziomu edycji profilu.

Braki które planuje uzupełnić w przyszłych wersjach:
- niestety nie zrobiłem w profilu możliwości aby zobaczyć kto sie zarejestrował na czyje zaproszenie i kto kogo zaprosił mimo że te dane są zapisywane w bazie i można je odczytać za pomocą zapytania SQL (taką opcje zawsze można dorobić)
- nie ma możliwości usuwania/unieważniania zaproszeń które daliśmy użytkownikom (oczywiście można to robić za pomocą SQL)

Kilka screenów:




Demo:
Demo możesz zobaczyć logując się na stronie:
LOGIN: user
HASŁO: demo
http://4um.ugu.pl/invdemo/index.php
Niestety można zobaczyć tylko jak wygląda wysyłanie (z profilu użytkownika) zaproszenia i proces rejestracji ponieważ formularz dodawania zaproszeń znajduje sie w PA

Change Log:
1.0.1
Naprawa błędu nie można było się zarejestrować gdy była włączona opcja "Pokazuj regulamin przed rejestracją". Podziękowania za poprawkę dla m1chu

marczak1234 - 03-10-2007, 20:42

Dzieki wielki. Na to czekalem.

[ Dodano: 03-10-2007, 21:05 ]
Proponował bym orpocz tamtych brakow jeszcze dodac inne opcje typu:

- gdy wyslemy zaproszenie na danego meila, to wtedy tylko user moze sie zarejestrowac podajac meila na ktorego dostal zaproszenie.

- w ustawieniach moda dodac opcje np ze automatycznie beda rozsylane zaproszenia jezeli jakis user napisze 100 postow(co 100 postow beda wysylane kolejne zaproszenia)


No to ja mam narazie tyle propozycji.

P.S
jeszcze raz dzieki za tego moda.

Pozdrawiam

kAzek29 - 03-10-2007, 21:24

Ok pomyślę nad tymi propozycjami ale nie obiecuje kiedy zrobię.
Morpheuss - 03-10-2007, 21:34

Świetny mod wielkie dzięki.
Pozdrawiam

marczak1234 - 09-10-2007, 17:45

Czekam na dalszy rozwój moda
noc123 - 12-10-2007, 19:18

A ja mam drobny problem. Zainstalowałem tego moda, ustawiłem rejestracje tylko przez zaproszenie i wysłałem do siebie zaproszenie. Kiedy klikne na odnośnik w mailu, pojawia mi się Regulamin forum (ten standardowy) a jak wezmę akceptuj to mam: Aby się zarejestrować na tym forum musisz posiadać zaproszenie.
m1chu - 12-10-2007, 23:42

noc123 w pliku usercp_register.php znajdź:
Kod:
$s_hidden_fields = '<input type="hidden" name="mode" value="' . $mode . '" /><input type="hidden" name="agreed" value="true" /><input type="hidden" name="coppa" value="' . $coppa . '" />';

I zamień na:
Kod:
$s_hidden_fields = '<input type="hidden" name="mode" value="' . $mode . '" /><input type="hidden" name="agreed" value="true" /><input type="hidden" name="regid" value="' . $HTTP_POST_VARS['regid'] . '" /><input type="hidden" name="invid" value="' . $HTTP_POST_VARS['invid'] . '" /><input type="hidden" name="regexp" value="' . $HTTP_POST_VARS['regexp'] . '" /><input type="hidden" name="coppa" value="' . $coppa . '" />';

Taka szybka porada, niezbędne zmienne będą przesyłane po akceptacji regulaminu za pomocą metody POST.
Dane standardowo nie są filtrowane, domniemam jednak, że po akceptacji regulaminu standardowo autor dorzucił implementacje filtrowania. Nie przeglądałem, ale powinno tak być.

noc123 - 13-10-2007, 10:15

m1chu, niestety nie zadzialalo. Aha. Nie wiem czy tyko ja tam mam, ale po edycji wszystkich plikow i wrzuceniu mods_info w pliku includes/usercp_register.php w check_files mam (-49) a powinno byc chyba 0. Nie wiem, czy to blad w mods_info czy ja zrobilem cos nie tam, ale instrukcje do usercp_register robiłem 2 razy i za kazdym razem to samo (przed edycja mialem 0).
kAzek29 - 13-10-2007, 11:48

Faktycznie jest taki błąd, gdy sie ma włączoną opcję "Pokazuj regulamin przed rejestracją" (Konfiguracja->Dodatkowe) nie można sie zarejestrować nawet na zaproszenie.
Wieczorem jak znajdę trochę czasu postaram się to poprawić.

To że źle ci pokazuje w CheckFiles możesz skorygować w pliku includes/mods_info/mod_invitation.php prawdopodonie gdy ja robiłem dodało jakieś spacje i z tąd inna liczba znaków.

noc123 - 13-10-2007, 11:51

kAzek29 napisał/a:
To że źle ci pokazuje w CheckFiles możesz skorygować w pliku includes/mods_info/mod_invitation.php prawdopodonie gdy ja robiłem dodało jakieś spacje i z tąd inna liczba znaków.


Poprawic wiem jak, po prostu mnie to zaniepokoilo. W takim razie czekam na fix.

m1chu - 13-10-2007, 17:36

Faktycznie, zapędziłem się ciut. Wybacz.
Proszę tutaj rozwiązanie problemu z rejestracją. Testowane na czystym forum. Działa.
Kod:
----- [ OTWÓRZ: usercp_register.php ] -----

----- [ ZNAJDŹ ] ------
function show_coppa()

----- [ ZAMIEŃ NA ] -----
function show_coppa($regid = '', $regexp = '', $invid = 0, $inv = 0)

----- [ ZNAJDŹ ] -----
        "U_AGREE_OVER13" => append_sid("profile.$phpEx?mode=register&amp;agreed=true"),
        "U_AGREE_UNDER13" => append_sid("profile.$phpEx?mode=register&amp;agreed=true&amp;coppa=true")

----- [ ZAMIEŃ NA ] -----
        "U_AGREE_OVER13" => append_sid("profile.$phpEx?mode=register&amp;agreed=true" . ( !empty($regid) ? "&amp;regid=$regid" : "" ) . ( !empty($regexp) ? "&amp;regexp=$regexp" : "" ) . ( !empty($invid) ? "&amp;invid=$invid" : "" ) . ( !empty($inv) ? "&amp;inv=$inv" : "" )),
        "U_AGREE_UNDER13" => append_sid("profile.$phpEx?mode=register&amp;agreed=true&amp;coppa=true" . ( !empty($regid) ? "&amp;regid=$regid" : "" ) . ( !empty($regexp) ? "&amp;regexp=$regexp" : "" ) . ( !empty($invid) ? "&amp;invid=$invid" : "" ) . ( !empty($inv) ? "&amp;inv=$inv" : "" ))

----- [ ZNAJDŹ ] -----
    show_coppa();

----- [ ZAMIEŃ NA ] -----
    show_coppa(strip_tags($HTTP_GET_VARS['regid']), strip_tags($HTTP_GET_VARS['regexp']), intval($HTTP_GET_VARS['invid']), intval($HTTP_GET_VARS['inv']));

----- [ ZAMKNIJ / ZAPISZ / ZAUPLOADUJ PLIK ] -----

kAzek29 - 13-10-2007, 18:11

m1chu, dziękuje za poprawkę.
noc123 - 13-10-2007, 19:08

Ech :( Znow ja. m1chu, zrobilem tak jak tu pisales, ale mam wtedy przy rejestracji i w edycji profilu biala strone. Jak zostawiam to:

Cytat:
"U_AGREE_OVER13" => append_sid("profile.$phpEx?mode=register&amp;agreed=true"),
"U_AGREE_UNDER13" => append_sid("profile.$phpEx?mode=register&amp;agreed=true&amp;coppa=true")


To wtedy biała strona znika, ale zaproszenie wtedy dalej nie dziala.

Zaznaczam ze nie mam "czystego" forum. Mam na nim zainstalowane kilka modów.

kAzek29 - 13-10-2007, 19:22

O jeden nawias za mało powinno być:
Kod:
 "U_AGREE_UNDER13" => append_sid("profile.$phpEx?mode=register&amp;agreed=true&amp;coppa=true" . ( !empty($regid) ? "&amp;regid=$regid" : "" ) . ( !empty($regexp) ? "&amp;regexp=$regexp" : "" ) . ( !empty($invid) ? "&amp;invid=$invid" : "" ) . ( !empty($inv) ? "&amp;inv=$inv" : "" )))


[ Dodano: 13-10-2007, 19:38 ]
noc123, jak dalej nie działa to znaczy że albo coś źle zrobiłeś albo zainstalowałeś jakąś modyfikację która się "gryzie". Sprawdź czy instalowałeś jakieś mody które ingerują w plik usercp_register.php
PS: Dodałem poprawkę m1chu do moda, sprawdziłem i działa.

noc123 - 13-10-2007, 19:40

kAzek29, teraz wszystko dziala git. Przydalyby sie jeszcze te opcje ktore sa wypisane wyzej konfigurowalne w PA tj:

- opcja co x post user dostaje x zaproszen
- widocznosc w profilu usera ile rozdal zaproszen i komu.
- usuwanie przyznanych zaproszen

Tak poza tym wszystko hula super teraz.

Edit
Aha, przydalaby sie opcja automatycznego dawania x zaproszen userowi przystepujacemu do x grupy. To bedzie przydatne dla for w ktorych sa grupy gdzie sa userzy przyjmowani od x postow (jak u mnie). Nie trzeba bedzie recznie kazdemu dawac po przydzieleniu go do grupy.



Powered by phpBB modified by Przemo © 2003 phpBB Group