microcom
12-02-2006, 19:01
Chcemy zrezygnować z z aktywacji konta
Z powodu, że na serwerze nie działa funkcja mail() i nie są wysyłane maile aktywacyjne lub chcemy ułatwić zycie userom
Modyfikacja:
1. W pliku login.inc.php:
Zamiast:
dać
2. Następnie w zapytaniu (ten sam plik) :
'-' zamienić na 'ok'
3. W pliku login.php tekst;
Zmienić na bardziej stosowny, np:
----------------------------------------------------------------------
Czasem zachodzi potrzeba kontroli nad rejestracją i chcemy aby to admin zdecydował czy pozwolić userowi na założenie konta. Zróbmy więc:
-----------------------------------------------------------------------
Zatwierdzanie usera przez admina.
Modyfikacja:
Należy zablokowac wysyłanie maila aktywującego więc wykonajmy punkt 1 z modyfikacji powyżej. Nie wykonujemy punktu 2.
W punkcie 3 zmieniamy komunikat na następujący
4. Stwórzmy możliwość aktywacji adminowi:
Plik user.adm.php:
Funkcja module_start() ma wygladać tak:
Niżej w funkcji for_edit() linie:
zastąp następujacymi:
Na samym końcu pliku, tuż przed końcowym ?> dopisz funkcję:
W Administacja > Użytkownicy, w tabeli 'Zarządzaj zgłoszonymi userami' w kolumnie "Akcje" powinna pojawić się dodatkowa opcja a - aktywuj:
-----------------------------------------------------------------------
Oczywiście mozemy dodać dodatkowe opcje (pod warunkiem, ze na serwerze działa funkcja mail() :
-----------------------------------------------------------------------
Admin zostaje powiadomiony mailem o rejestracji usera
Modyfikacja:
W login.inc.php
Do global funkcji add_jp_user() dopisać
a po:
dopisz:
Jeżeli posiadasz forum_pack to:
Do global funkcji add_jp_user() dopisać
i kod ma postać:
-----------------------------------------------------------------------
User zostaje powiadomiony mailem o aktywacji przez admina
Funkcja activate(), dopisana dwie modyfikacje powyżej, ma wyglądać tak:
Jeżeli posiadasz forum_pack to funkcja ma postać:
Modyfikacja jest autorstwa bloksiego z forum zsypu, zamieszczam ją dla ludzi którym niechce się szukać a chciały by mieć u siebie coś takiego.
systematycznie będe zamieszczał tu inne modyfikacje lub usprawnienia moje bądz nie.
Jeżeli masz jakiś problem z Jportalem pisz do mnie mam wieloletnie doświadczenie z tym CMS-em.
Pozdrawiam.
Z powodu, że na serwerze nie działa funkcja mail() i nie są wysyłane maile aktywacyjne lub chcemy ułatwić zycie userom
Modyfikacja:
1. W pliku login.inc.php:
Zamiast:
Kod PHP:
$cmd2 = send_info($key);
Kod PHP:
$cmd2 = 'ok';
Kod PHP:
$query = "INSERT INTO $guest_tbl VALUES(NULL, '$name', '$pass_', '$mail', '$pod', '$www', '$gg', '$icq', '$kraj', '$miej', '$wiek', '', now(), '$key', '-', 'no', '')";
mysql_query($query);
3. W pliku login.php tekst;
Kod PHP:
echo 'Rejestracja zakończona pomyslnie! Na adres, który podała(e)s; podczas wypełniania formularza rejestracji została wysłana wiadomosć z adresem aktywujscym twoje konto. Odbierz pocztę i kliknij w link podany w liscie.';
Kod PHP:
echo 'Rejestracja zakończona pomyslnie! Możesz zalogować się na stronie głównej';
Czasem zachodzi potrzeba kontroli nad rejestracją i chcemy aby to admin zdecydował czy pozwolić userowi na założenie konta. Zróbmy więc:
-----------------------------------------------------------------------
Zatwierdzanie usera przez admina.
Modyfikacja:
Należy zablokowac wysyłanie maila aktywującego więc wykonajmy punkt 1 z modyfikacji powyżej. Nie wykonujemy punktu 2.
W punkcie 3 zmieniamy komunikat na następujący
Kod PHP:
echo 'Rejestracja zakończona pomyslnie! Teraz czekaj aż admin zatwierdzi Twoje członkowstwo';
Plik user.adm.php:
Funkcja module_start() ma wygladać tak:
Kod PHP:
function module_start($cmd) {
if($cmd=='add') {
add_admin();
}
if($cmd=='del_now') {
del_admin();
}
if($cmd=='update') {
update_admin();
}
if($cmd=='acc') {
activate();
}
}
Kod PHP:
Kod PHP:
$akcje = '[ .$PHP_SELF.'?cmd=edit&op='.$op.'&id='.$id.'" title="edytuj">e
| .$PHP_SELF.'?cmd=del&op='.$op.'&id='.$id.'" title="usuń">u';
if ($opt=='-'){ $akcje = $akcje. ' | .$PHP_SELF.'?cmd=acc&op='.$op.'&id='.$id.'" title="zatwierdĄ">a';}
$akcje = $akcje. ' ]';
Kod PHP:
function activate(){
global $PHP_SELF, $id, $guest_tbl, $op, $goto;
$query = "UPDATE $guest_tbl SET stat='ok' WHERE id='$id'";
mysql_query($query);
@header("Location: admin.php?op=user");
exit;
}
Kod PHP:
[ e | u | a ]
Oczywiście mozemy dodać dodatkowe opcje (pod warunkiem, ze na serwerze działa funkcja mail() :
-----------------------------------------------------------------------
Admin zostaje powiadomiony mailem o rejestracji usera
Modyfikacja:
W login.inc.php
Do global funkcji add_jp_user() dopisać
Kod PHP:
$mailer, $site_name
Kod PHP:
$cmd = 'ok';
Kod PHP:
$from = '"'.$site_name.'" <'.$mailer['admin'].'>';
$subject = 'Rejestracja';
$body = "Zarejestrował się ktoś pod nickiem $name o godzinie ".date("Y-m-d H:i:s")."";
@mail("{$mailer['admin']}", "$subject", "$body", "From: $fromrnReply-to: $from");
Do global funkcji add_jp_user() dopisać
Kod PHP:
$config, $mailer, $site_name
Kod PHP:
$from = '"'.$site_name.'" <'.$mailer['admin'].'>';
$subject = 'Rejestracja';
$body = "Zarejestrował się ktoś pod nickiem $name o godzinie ".date("Y-m-d H:i:s")."";
if($config['smtp']=='ok') @smtp_mail("{$mailer['admin']}", "$subject", "$body", "From: $fromrnReply-to: $from");
else @mail("{$mailer['admin']}", "$subject", "$body", "From: $fromrnReply-to: $from");
User zostaje powiadomiony mailem o aktywacji przez admina
Funkcja activate(), dopisana dwie modyfikacje powyżej, ma wyglądać tak:
Kod PHP:
function activate(){
global $id, $guest_tbl, $op, $mailer, $site_name;
$query = "UPDATE $guest_tbl SET stat='ok' WHERE id='$id'";
mysql_query($query);
$rr = mysql_fetch_object(mysql_query("SELECT * FROM $guest_tbl WHERE id='$id'"));
$to = $rr->mail;
$temat = 'Rejestracja na '.$site_name;
$od = '"'.$site_name.'" <'.$mailer['admin'].'>';
$tresc = "Dostajesz tą wiadomość ponieważ administrator serwisu ".$site_name." zatwierdził Cię, czyli {$rr->nick} o godzinie ".date("Y-m-d H:i:s")."";
@mail("$to", "$temat", "$tresc", "From: $odrnReply-to: $od");
@header("Location: admin.php?op=user");
exit;
}
Kod PHP:
function activate(){
global $id, $guest_tbl, $op, $mailer, $site_name, $config;
$query = "UPDATE $guest_tbl SET stat='ok' WHERE id='$id'";
mysql_query($query);
$rr = mysql_fetch_object(mysql_query("SELECT * FROM $guest_tbl WHERE id='$id'"));
$to = $rr->mail;
$temat = 'Rejestracja na '.$site_name;
$od = '"'.$site_name.'" <'.$mailer['admin'].'>';
$tresc = "Dostajesz tą wiadomość ponieważ administrator serwisu ".$site_name." zatwierdził Cię, czyli {$rr->nick} o godzinie ".date("Y-m-d H:i:s")."";
if($config['smtp']=='ok') @smtp_mail("$to", "$temat", "$tresc", "From: $odrnReply-to: $od");
else @mail("$to", "$temat", "$tresc", "From: $odrnReply-to: $od");
@header("Location: admin.php?op=user");
exit;
}
systematycznie będe zamieszczał tu inne modyfikacje lub usprawnienia moje bądz nie.
Jeżeli masz jakiś problem z Jportalem pisz do mnie mam wieloletnie doświadczenie z tym CMS-em.
Pozdrawiam.