05-12-2025, 10:22 AM
Kod PHP:
<?php
Tworzymy klasę rozszerzającą dla klasy głównej.
Kod PHP:
class AppClass extends Core
{
Metoda , która zostanie uruchomiona jako pierwsza po zainicjalizowaniu obiektu.
Kod PHP:
public function AppStart()
{
global $Lang;
W pasku tytułu należy zamieścić informację o sekcji , w której obecnie się znajdujemy.
Kod PHP:
$this->AppTitle = $Lang['l1_a1_activate'];
Drukujemy nagłówek.
Kod PHP:
$this->AppBody .= '<h1>'.$Lang['l1_a1_activate_account'].'</h1>';
if($_POST['option'] == 'password')
{
W przypadku prośby o przesłanie nowego hasła należy sprawdzić , czy pole z adresem e-mail zostało wypełnione , a jeżeli nie , wyświetlamy błąd.
Kod PHP:
if($_POST['user_email'] == "")
{
$this->AppBody .= $this->AppPrintWarning($Lang['null_fields']);
}
else
{
Wybieramy użytkownika po adresie przesłanym za pomocą formularza.
Kod PHP:
$SqlConfig = 'SELECT user_id,user_email,user_code FROM '.$this->DBPrefix.'user
WHERE
user_email = "'.$this->AppDBSecure($_POST['user_email']).'"
AND
user_active = ""
';
if(!$this->AppDBQuery($SqlConfig))
{
$this->AppBody .= $this->AppShowError('Query error'__FILE__,__LINE__,$SqlConfig);
}
$Result = $this->AppDBResult();
$Rows = $this->AppDBHowMany();
Kiedy liczba rekordów jest równa jeden , oznacza to , iż sprawdzanie przebiegło pozytywnie.
Kod PHP:
if($Rows == 1)
{
Tworzymy list e-mail z łączem pozwalającym na reset hasła.
Kod PHP:
$ContentOfLetter = $Lang['reg_email_send'].$this->AppUrl.'index.php?app=account&user_email='.$this->AppDBUnsecure($Result[0]['user_email']).'&code='.$this->AppDBUnsecure($Result[0]['user_code']).''.$Lang['reg_email_second_send'];
$this->AppSendTo = $this->AppDBUnsecure($Result[0]['user_email']);
$this->AppSendFrom = $this->DBConfigTable['admin_email'];
$this->AppSendTopic = $Lang['reg_activation'];
$this->AppSendContent = $ContentOfLetter;
$this->AppSendHeaders = 'txt';
Wysyłamy email.
Kod PHP:
$this->AppSendEmail();
Drukujemy użytkownikowi odpowiedni komunikat.
Kod PHP:
$this->AppBody .= $this->AppPrintSuccess($Lang['rem_mail_topic']);
Do zmiennej przypisujemy wartość TRUE , aby formularz się nie wyświetlił.
Kod PHP:
$AppShowForm = TRUE;
}
else
{
W przypadku gdyby liczba rkordów była większa bądź mniejsza od jednego , informujemy użytkownika , iż nie ma takiego konta lub nie zostało ono aktywowane.
Kod PHP:
$this->AppBody .= $this->AppPrintWarning($Lang['l1_a1_no_user_or_active']);
}
}
}
if(!$AppShowForm)
{
Kiedy w zmiennej jest ustawiona wartość FALSE , możemy wyświetlić formularz za pomocą metody.
Kod PHP:
$this->ActivateForm();
}
}
protected function ActivateForm()
{
global $Lang;
Metoda zawierająca wydrukowanie formularza.
Kod PHP:
$this->AppBody .= $Lang['req_filds'].'<form action="'.$this->AppUrl.'index.php" method="post"><table cellpadding="0" cellspacing="0" border="0"><tr><td class="cell_1">'.$Lang['user_login'].'</td><td class="cell_1"><input type="text" name="user_email" /></td></tr><tr><td class="cell_2"><input type="hidden" name="app" value="aagain" /><input type="hidden" name="option" value="password" /></td><td class="cell_2"><input type="submit" value="'.$Lang['l1_a1_send_email_button'].'" /></td></tr></table></form>';
}
}
?>