05-12-2025, 02:52 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;
Sprawdzamy czy użytkownik jest zalogowany na konto administratora.
Kod PHP:
if($this->AppSessionGetValue('admin_id') != "")
{
Tworzymy nagłówek strony .
Kod PHP:
$this->AppBody .= '<h1>'.$Lang['ap_a4_change_pswd_header'].'</h1>';
$this->AppBody .= '<div class="heading_row"></div>';
W pasku tytułu wpisujemy informację , która będzie określała nasze obecne położenie .
Kod PHP:
$this->AppTitle = $Lang['ap_a4_change_pswd_header'];
if($_POST['change'] == 'yes')
{
Kiedy formularz do zmiany hasła został wysłany , sprawdzamy , czy wszystkie pola zostały wypełnione . Jeżeli nie , wówczas musimy wyświetlić odpowiedni komunikat .
Kod PHP:
if($_POST['admin_pswd'] == "" OR $_POST['admin_pswd_old'] == "" OR $_POST['admin_pswd_old_rec'] == "")
{
$this->AppBody .= $this->AppPrintWarning($Lang['l1_a18_null_fields']);
}
else
{
Teraz należy sprawdzić , czy nowe hasło pasuje do jego potwierdzenia .
Kod PHP:
if($_POST['admin_pswd_old'] == $_POST['admin_pswd_old_rec'])
{
Z tabeli , gdzie zapisane są dane administratora , wybieramy dane użytkownika , który obecnie jest zalogowany do panelu .
Kod PHP:
$SqlConfig = 'SELECT * FROM '.$this->DBPrefix.'admin WHERE admin_id = "'.$this->AppDBSecure($this->AppSessionGetValue('admin_id')).'"';
if(!$this->AppDBQuery($SqlConfig))
{
$this->AppBody .= $this->AppShowError('Query error',__FILE__,__LINE__,$SqlConfig);
}
$Result = $this->AppDBResult();
Obecne hasło trzeba zakodować przy użyciu algorytmu MD5 i sprawdzić , czy pasuje ono do hasła zapisanego w bazie danych .
Kod PHP:
if(md5($_POST['admin_pswd']) == $this->AppDBUnsecure($Result[0]['admin_pswd']))
{
Jeżeli wszystko się zgadza , możemy zaktualizować hasło użytkownika w bazie danych .
Kod PHP:
$SqlConfig = 'UPDATE '.$this->DBPrefix.'admin SET admin_pswd = "'.$this->AppDBSecure(md5($_POST['admin_pswd_old'])).'" WHERE admin_id = "'.$this->AppDBSecure($this->AppSessionGetValue('admin_id')).'"';
if(!$this->AppDBQuery($SqlConfig))
{
$this->AppBody .= $this->AppShowError('Query error',__FILE__,__LINE__,$SqlConfig);
}
Wyświetlamy komunikat informujący o poprawnej operacji zmiany .
Kod PHP:
$this->AppBody .= $this->AppPrintSuccess($Lang['ap_a5_new_pass_submited']);
}
else
{
Informacja dla użytkownika , że jego hasło nie zgadza się z tym podanym w bazie danych .
Kod PHP:
$this->AppBody .= $this->AppPrintWarning($Lang['ap_a5_old_dont_match_db']);
}
}
else
{
Wyświetlamy informację , że nowe hasło nie pasuje do jego potwierdzenia .
Kod PHP:
$this->AppBody .= $this->AppPrintWarning($Lang['ap_a5_new_pass_dont_pass']);
}
}
}
Drukujemy tabelę zawierającą formularz .
Kod PHP:
$this->AppBody .= '<center>';
$this->AppBody .= '<form action="'.$this->AppUrl.'admin.php" method="post">';
$this->AppBody .= '<table cellpadding="0" cellspacing="0" border="0">';
$this->AppBody .= '<tr><td class="fb_row_2">'.$Lang['ap_a5_old'].'</td><td class="fb_row_2"><input type="password" name="admin_pswd" style="width: 450px;" /></td></tr>';
$this->AppBody .= '<tr><td class="fb_row_2">'.$Lang['ap_a5_new'].'</td><td class="fb_row_2"><input type="password" name="admin_pswd_old" style="width: 450px;" /></td></tr>';
$this->AppBody .= '<tr><td class="fb_row_2">'.$Lang['ap_a5_new_rec'].'</td><td class="fb_row_2"><input type="password" name="admin_pswd_old_rec" style="width: 450px;" /></td></tr>';
$this->AppBody .= '<tr><td class="fb_row_1"></td><td class="fb_row_1" style="text-align: right;"><input type="hidden" name="app" value="change_pswd" /><input type="hidden" name="change" value="yes" /><input type="submit" value="'.$Lang['ap_a5_change_button'].'" class="button_goto" /></td></tr>';
$this->AppBody .= '</table>';
$this->AppBody .= '</form>';
$this->AppBody .= '</center>';
}
else
{
Jeżeli użytkownik nie posiada odpowiednich uprawnień , przekierowujemy go do strony głównej panelu , aby się zalogował .
Kod PHP:
header('location: '.$this->AppUrl.'admin.php');
}
}
}
?>