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

Archiwum - Rejestracja, jak to zrobić ?

laszud - 18-11-2005, 20:46
Temat postu: Rejestracja, jak to zrobić ?
Witam
Mam zrobione coś takiego przy rejestracji że tylko użytkownicy z jednej domeny mogą sie zarejestrować na forum, ale nie chciałbym wykluczać możliwości rejestracji rownież ludzi z innych domen. I teraz chciałbym zrobić coś takiego że użytkownicy z jednej domeny będą automatycznie dodawani do grupy np user a ini z pozostałych domen będą dodawani automatycznie do grupy np user1. Czy jest mozliwość zrobienia czegoś takiego ??
Prosze o pomoc.

chelloPL - 19-11-2005, 18:57

Podany sposób jest ustawiony na "sztywno" w plikach.

1. skasuj sprawdzanie adresu email przy rejestracji
2. załóż 2 grupy, jeśli ich jeszcze nie masz i zapisz ich ID
3. otwórz do edycji plik includes/usercp_register.php
znajdź
Kod:
                $email_template = 'user_welcome';
            }

za tym, dodaj:
Kod:

            if (eregi('@domena.pl', $email))
            {
                $group_id_special = XX; // tutaj podaj ID grupy, do której mają być dopisywani userzy z @domena.pl
            }
            else
            {
                $group_id_special = YY; // tutaj podaj ID grupy, do której beda dolaczani userzy, ktorzy NIE sa z @domena.pl
            }
            $already_added_special = 0;


Znajdź:
Kod:
                //user join a autogroup
                $sql = "INSERT INTO " . USER_GROUP_TABLE . " (group_id, user_id, user_pending)
                    VALUES (" . $group_data['g_id'] . ", $user_id, 0)";
                if ( !($db->sql_query($sql)) )
                {
                    message_die(GENERAL_ERROR, 'Error inserting user group, group count', '', __LINE__, __FILE__, $sql);
                }
            }

zamień na:
Kod:
                //user join a autogroup
                $sql = "INSERT INTO " . USER_GROUP_TABLE . " (group_id, user_id, user_pending)
                    VALUES (" . $group_data['g_id'] . ", $user_id, 0)";
                if ( !($db->sql_query($sql)) )
                {
                    message_die(GENERAL_ERROR, 'Error inserting user group, group count', '', __LINE__, __FILE__, $sql);
                }
                if ($group_data['g_id'] == $group_id_special)
                {
                    $already_added_special = 1;
                }
            }

            if (!$already_added_special)
            {
                //user join a autogroup
                $sql = "INSERT INTO " . USER_GROUP_TABLE . " (group_id, user_id, user_pending)
                    VALUES (" . $group_id_special . ", $user_id, 0)";
                if ( !($db->sql_query($sql)) )
                {
                    message_die(GENERAL_ERROR, 'Error inserting user group, group count', '', __LINE__, __FILE__, $sql);
                }
            }


UWAGA: w miejsce XX i YY w kodzie musisz podstawić odpowiednie ID grup, do których userzy mają być dopisywani automatycznie! W miejsce '@domena.pl' podstaw swoją domenę...

PS: kod pisany tutaj na forum i nie był testowany. A przekompilowałem go tylko w głowie i większych błędów nie dostrzegam.

Oczywiście wcześniej obowiązkowo backup bazy SQL oraz backup plików na forum.

laszud - 21-11-2005, 14:46

Wielkie Dzięki za pomoc!!! :arrow: chelloPL


Powered by phpBB modified by Przemo © 2003 phpBB Group