PDA

Zobacz pełną wersję : rejestracja pod kontrolą



wielkipytajnik
05-01-2007, 22:52
witam. jestem nowy, proszę o wyrozumiałość. Mam joomle poinstalowaną i chciałbym zrobić stronę z pewnymi artykułami tylko dla zarejestrowanych, tak też zrobiłem, ale co to za preszkoda, jeśli na stronie (rozmawiamy o standartowym module logowanie) jest przycisk zarejestruje i koleś dostaje kod aktywacyjny i ma dostęp do sekcji dla zarejestrowanych. Potrzebuje stworzyć kilka kont żeby ci ludzie mogli sobie to oglądać a żadnej rejestracji z poziomu strony nir potrzebuje. najlpeiej jakby nie było tychl inków albo tworzenie nowych użytkowników TYLKO przez panel administrartora joomli.

Dylek
05-01-2007, 23:20
No to sobie zaloz konta z pozziomu PA, wyslij ludziom namiary i z glowy

jabluk
06-01-2007, 01:37
a czy można zrobić taki myk że jak użytkownik się samemu zarejestruje i aktywuje konto - konto będzie wyłączone i dopiero z konta administratora będzie można włączyć konto?????

wielkipytajnik
06-01-2007, 12:26
jabluk myśli dobrze. o to mi chodzi. nie wiem jak to zrobić.

wielkipytajnik
06-01-2007, 13:25
załatwione, można zamknąć temat

jabluk
06-01-2007, 16:09
a jak to dokonałes???

wielkipytajnik
06-01-2007, 23:22
dokładnie nie ja, aczkolwiek musisz zienić pewne rzeczy w plik registration.php i mod_login.php i wszystko śmiga.

jabluk
07-01-2007, 00:23
a możesz dokładnie napisać co trzeba zmienić????

ksiadz
19-01-2007, 10:12
Dołączam sie do pytania,
ewentualnie prosze o zmodyfikowane pliki.

Generalnie potrzebowal bym,
abm to ja jako admnistrator zatwierdzal rejestracje kont tzn.

1. Ludek wchodzi na strone.
2. Zaklada konto.
3. Do mnie przychodzi mail ze taki i taki pan chce sie zarejestrowac.
4. Klikam na link rejestruj
5. Ludek otrzymuje maila ze jego konto zostalo zaaprobowane i moze sie juz logowac.

Coś jak moderacja forum lub komentarzy.
Czy macie jakies pomysly ??

jabluk
19-01-2007, 10:35
Ja to rozwiązałem tak
Wchodzi ludzik na strone i zakłada sobie nowe konto
następnie system wysyła mu maila z prośbą o potwierdzenie rejestracji
Gdy koleś zatwierdzi system zaznacza że konto jest potwierdzone ale nie uaktywnia go tak jak to jest w standardzie. Nadal nie może się zalogować na to konto mimo że potwierdził. Dopiero jak administrator wejdzie i włączy konto użytkownik ma w pełni aktywne konto

A zmieniłem to w pliku registration.php który znajduje się w components/com_registration

na samym dole tego ppliku jest taka funkcja


function activate( $option ) {
global $database, $my;
global $mosConfig_useractivation, $mosConfig_allowUserRegistration;

if($my->id) {
// They're already logged in, so redirect them to the home page
mosRedirect( 'index.php' );
}


if ($mosConfig_allowUserRegistration == '0' || $mosConfig_useractivation == '0') {
mosNotAuth();
return;
}

$activation = mosGetParam( $_REQUEST, 'activation', '' );
$activation = $database->getEscaped( $activation );

if (empty( $activation )) {
echo _REG_ACTIVATE_NOT_FOUND;
return;
}

$query = "SELECT id"
. "\n FROM #__users"
. "\n WHERE activation = '$activation'"
. "\n AND block = 1"
;
$database->setQuery( $query );
$result = $database->loadResult();

if ($result) {
$query = "UPDATE #__users"
. "\n SET block = 1, activation = ''" #zmienione z 0 na 1
. "\n WHERE activation = '$activation'"
. "\n AND block = 1"
;
$database->setQuery( $query );
if (!$database->query()) {
echo "SQL error" . $database->stderr(true);
}
echo _REG_ACTIVATE_COMPLETE;
} else {
echo _REG_ACTIVATE_NOT_FOUND;
}
}
wystarczy że zmienisz block z 0 na 1 (w tym miejscu gdzie jest komentarz #zmienione z 0 na 1) i masz ten efekt który opisałem na górze

Jeszcze tylko pozmieniać trzeba opisy w language/polish.php i zrobione


pozdrawiam