Reklamy - Admin - 05-12-2025
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 administrator jest zalogowany do systemu.
Kod PHP: if($this->AppSessionGetValue('admin_id') != "") {
Drukujemy nagłówek.
Kod PHP: $this->AppBody .= '<h1>'.$Lang['ap_a1_adv'].'</h1>'; $this->AppBody .= '<div class="heading_row"></div>';
Ustalamy tytuł strony.
Kod PHP: $this->AppTitle = $Lang['ap_a1_adv'];
Używamy metody przeznaczonej do wyświetlania wszystkich opcji reklamy na naszej stronie .
Kod PHP: $this->ShowAdvertisement(); } else {
Kiedy użytkownik nie jest administratorem , wyświetlamy informację , że aby uzyskać dostęp , trzeba się najpierw zalogować .
Kod PHP: $this->AppBody .= '<h1>'.$Lang['ap_a1_login_to_panel'].'</h1>'; $this->AppBody .= '<div class="heading_row"></div>'; $this->AppTitle = $Lang['ap_a1_login_to_panel'];
Odwołujemy się do metody z formularzem do logowania .
Deklarujemy zarządzanie reklamami .
Kod PHP: protected function ShowAdvertisement() { global $Lang;
W przypadku wywołania akcji usunięcia danej reklamy definiujemy jej skasowanie za pomocą ciągu SQL .
Kod PHP: if($_GET['delete'] == 'yes') { $SqlConfig = 'DELETE FROM '.$this->DBPrefix.'adv WHERE adv_id = "'.$this->AppDBSecure($_GET['adv_id']).'"'; if(!$this->AppDBQuery($SqlConfig)) { $this->AppBody .= $this->AppShowError('Query error',__FILE__,__LINE__,$SqlConfig); }
Informujemy użytkownika , że dana reklama została usunięta .
Kod PHP: $this->AppBody .= $this->AppPrintSuccess($Lang['ap_a1_was_deleted_success']); } if($_POST['add'] == 'yes') {
Kiedy dodajemy reklamę , należy sprawdzić , czy wszystkie pola zostały wypełnione , i w przypadku pozostawienia któregokolwiek pustego pola , wyświetlamy użytkownikowi odpowiednią informację .
Kod PHP: if($_POST['adv_name'] == "" OR $_POST['adv_content'] == "") { $this->AppBody .= $this->AppPrintWarning($Lang['l1_a18_null_fields']); } else {
Tworzymy zapytanie dodające reklamę do bazy danych .
Kod PHP: $SqlConfig = 'INSERT INTO '.$this->DBPrefix.'adv(adv_name,adv_content,adv_active) VALUES ("'.$this->AppDBSecure($_POST['adv_name']).'","'.$this->AppDBSecureXML($_POST['adv_content']).'","'.$this->AppDBSecure($_POST['adv_active']).'")'; if(!$this->AppDBQuery($SqlConfig)) { $this->AppBody .= $this->AppShowError('Query error',__FILE__,__LINE__,$SqlConfig); }
Wyświetlamy komunikat o poprawnym dodaniu nowej reklamy .
Kod PHP: $this->AppBody .= $this->AppPrintSuccess($Lang['ap_a1_add_was_added']);
Czyścimy pola z formularza .
Kod PHP: $_POST['adv_name'] = ''; $_POST['adv_content'] = ''; $_POST['adv_active'] = ''; } } if($_POST['edit_ready'] == 'yes') {
Kiedy reklama została zmieniona , należy sprawdzić , czy wszystkie pola zostały wypełnione .
Kod PHP: if($_POST['adv_name'] == "" OR $_POST['adv_content'] == "") { $this->AppBody .= $this->AppPrintWarning($Lang['l1_a18_null_fields']); } else {
Tworzymy zapytanie do bazy danych aktualizujące reklamę .
Kod PHP: $SqlConfig = 'UPDATE '.$this->DBPrefix.'adv SET adv_name = "'.$this->AppDBSecure($_POST['adv_name']).'", adv_content = "'.$this->AppDBSecureXML($_POST['adv_content']).'", adv_active = "'.$this->AppDBSecure($_POST['adv_active']).'" WHERE adv_id = "'.$this->AppDBSecure($_POST['adv_id']).'"'; if(!$this->AppDBQuery($SqlConfig)) { $this->AppBody .= $this->AppShowError('Query error',__FILE__,__LINE__,$SqlConfig); }
Wyświetlamy użytkownikowi informację o tym , że reklama została zaakceptowana .
Kod PHP: $this->AppBody .= $this->AppPrintSuccess($Lang['ap_a1_add_was_updated_ready']);
Czyścimy pola z formularza .
Kod PHP: $_POST['adv_name'] = ''; $_POST['adv_content'] = ''; $_POST['adv_active'] = ''; } } if($_GET['edit'] != 'yes') {
Kiedy wybierzemy opcję dodania nowej reklamy , odwołujemy się do specjalnej metody .
Kod PHP: $this->ShowAddForm(); } if($_GET['edit'] == 'yes') {
W przypadku edycji tworzymy odwołanie do metody .
Liczymy liczbę reklam w systemie w celu podziału na strony .
Kod PHP: $SqlConfig = 'SELECT count(adv_id) FROM '.$this->DBPrefix.'adv'; if(!$this->AppDBQuery($SqlConfig)) { $this->AppBody .= $this->AppShowError('Query error',__FILE__,__LINE__,$SqlConfig); } $Result = $this->AppDBResult(); $Rows = $this->AppDBHowMany();
Przetwarzamy liczbę reklam , dzieląc ją przez trzydzieści , które znajdują się na jednej stronie w systemie .
Kod PHP: $HowManyPagesTemp = $Result[0]['count(adv_id)'] / 30; $HowManyPagesTemp = explode('.',$HowManyPagesTemp); $HowManyPages = $HowManyPagesTemp[0]; if($HowManyPagesTemp[1] > 0) { $HowManyPages++; }
Pobieramy z adresu URL stronę , na której obecnie się znajdujemy .
Kod PHP: $PageSelect = $_GET['page'];
Tworzymy liczbę , od której należy zacząć wybieranie reklam .
Kod PHP: if($_GET['page'] == "") { $StartFrom = 0; } else { if(empty($_GET['page']) OR $_GET['page'] == 1) { $StartFrom = 0; } else { $_GET['page'] = $_GET['page'] - 1; $StartFrom = 30 * $_GET['page']; } }
Identyfikator strony , na której się znajdujemy .
Kod PHP: if($PageSelect == "" OR $PageSelect == 1) { $CurrentPage = 1; } else { $CurrentPage = $PageSelect; }
Teraz należy stworzyć lącza ze stronami , na których są zawarte reklamy , tak aby można było na odpowiednią kliknąć i zobaczyć jej trść .
Kod PHP: if($HowManyPages > 1) { $this->AppBody .= '<div style="padding-left: 5px; padding-right: 5px; padding-top: 5px; padding-bottom: 5px; text-align: right;">'; $this->AppBody .= $Lang['l2_a3_page']; for($i=1;$i<($HowManyPages+1);$i++) { if($CurrentPage == $i) { $this->AppBody .= $i; } else { $this->AppBody .= '<a href="'.$this->AppUrl.'admin.php?app=admin&page='.$i.'">'.$i.'</a>'; } if($i<$HowManyPages) { $this->AppBody .= ' , '; } } $this->AppBody .= '</div'; }
Zapytanie pobierające reklamy z uwzględnieniem strony , na której obecnie jesteśmy .
Kod PHP: $SqlConfig = 'SELECT adv_id,adv_name,adv_active,adv_view FROM '.$this->DBPrefix.'adv LIMIT '.$this->AppDBSecure($StartFrom).',30'; if(!$this->AppDBQuery($SqlConfig)) { $this->AppBody .= $this->AppShowError('Query error',__FILE__,__LINE__,$SqlConfig); } $Result = $this->AppDBResult(); $Rows = $this->AppDBHowMany();
Drukujemy tabelę , w której znajdą się reklamy wraz z odpowiednimi dla nich przyciskami powodującymi wywołanie odpowiedniej akcji .
Kod PHP: $this->AppBody .= '<table cellpadding="0" cellspacing="0" border="0" width="100%">'; $this->AppBody .= '<tr>'; $this->AppBody .= '<td class="fb_header_info">'.$Lang['ap_a1_id'].'</td>'; $this->AppBody .= '<td class="fb_header_info">'.$Lang['ap_a1_name'].'</td>'; $this->AppBody .= '<td class="fb_header_info">'.$Lang['ap_a1_active'].'</td>'; $this->AppBody .= '<td class="fb_header_info">'.$Lang['ap_a2_many_show'].'</td>'; $this->AppBody .= '<td class="fb_header_info">'.$Lang['ap_a1_edit'].'</td>'; $this->AppBody .= '<td class="fb_header_info">'.$Lang['ap_a1_delete'].'</td>'; $this->AppBody .= '</tr>'; for($f=0;$f<$Rows;$f++) {
Klasy arkuszy CSS , służące nadaniu odpowiedniego koloru dla każdego z rzędów .
Kod PHP: if($RowColor == 1) { $TdClass = 'fb_row_1'; $RowColor = 0; } else { $TdClass = 'fb_row_2'; $RowColor = 1; }
Wyświetlamy zawartość reklam oraz dodajemy do nich dwa przyciski . Jeden służy do edycji reklamy , natomiast drugi do jej usunięcia .
Kod PHP: $this->AppBody .= '<tr>'; $this->AppBody .= '<td class="'.$TdClass.'">'.$this->AppDBUnsecure($Result[$f]['adv_id']).'</td>'; $this->AppBody .= '<td class="'.$TdClass.'">'.$this->AppDBUnsecure($Result[$f]['adv_name']).'</td>'; $this->AppBody .= '<td class="'.$TdClass.'">'; if($this->AppDBUnsecure($Result[$f]['adv_active']) == 'y') { $this->AppBody .= $Lang['ap_a1_yes']; } else { $this->AppBody .= $Lang['ap_a1_no']; } $this->AppBody .= '</td>'; $this->AppBody .= '<td class="'.$TdClass.'">'.$this->AppDBUnsecure($Result[$f]['adv_view']).'</td>'; $this->AppBody .= '<td class="'.$TdClass.'"><a href="'.$this->AppUrl.'admin.php?app=admin&edit=yes&adv_id='.$Result[$f]['adv_id'].'">'.$Lang['ap_a1_edit'].'</a></td>'; $this->AppBody .= '<td class="'.$TdClass.'"><a href="JavaScript:DeleteInfo(\''.$this->AppUrl.'admin.php?app=admin&delete=yes&adv_id='.$Result[$f]['adv_id'].'\',\''.$Lang['l2_a1_accept_deleting'].'\');">'.$Lang['ap_a1_delete'].'</a></td>'; $this->AppBody .= '</tr>'; } $this->AppBody .= '</table>'; } protected function ShowEditForm() { global $Lang;
Metoda pozwalająca na edycję reklamy . Wybiera ona wskazaną reklamę poprzez pobranie jej numeru identyfikacyjnego z adresu URL .
Kod PHP: $SqlConfig = 'SELECT * FROM '.$this->DBPrefix.'adv WHERE adv_id = "'.$this->AppDBSecure($_GET['adv_id']).'"'; if(!$this->AppDBQuery($SqlConfig)) { $this->AppBody .= $this->AppShowError('Query error',__FILE__,__LINE__,$SqlConfig); } $Result = $this->AppDBResult();
Tworzymy formularz wraz z polami , które odpowiadają danym z bazy .
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_header_info" colspan="2"><h2>'.$Lang['ap_a2_edit_ads'].'</h2></td></tr>'; $this->AppBody .= '<tr><td class="fb_row_2">'.$Lang['ap_a1_fname'].'</td><td class="fb_row_2"><input type="text" name="adv_name" value="'.$this->AppDBUnsecure($Result[0]['adv_name']).'" style="width: 450px;" /></td></tr><tr><td class="fb_row_1">'.$Lang['ap_a1_fcontent'].'</td><td class="fb_row_1"><textarea name="adv_content" style="width: 450px; height: 300px;">'.$this->AppDBUnsecure($Result[0]['adv_content']).'</textarea></td></tr><tr><td class="fb_row_1">'.$Lang['ap_a1_factive'].'</td><td class="fb_row_1"><select name="adv_active" style="width: 450px;">'; if($this->AppDBUnsecure($Result[0]['adv_active']) == 'y') { $Field1 = 'selected="selected"'; } $this->AppBody .= '<option value="y" '.$Field1.'>'.$Lang['ap_a1_fyes'].'</option>'; if($this->AppDBUnsecure($Result[0]['adv_active']) == 'n') { $Field2 = 'selected="selected"'; } $this->AppBody .= '<option value="y" '.$Field2.'>'.$Lang['ap_a1_fno'].'</option>'; $this->AppBody .= '</select></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="admin" /><input type="hidden" name="edit_ready" value="yes" /><input type="hidden" name="adv_id" value="'.$Result[0]['adv_id'].'" /><input type="submit" value="'.$Lang['ap_a1_update_submit_button'].'" class="button_goto" /></td></tr>'; $this->AppBody .= '</table>'; $this->AppBody .= '</form>'; $this->AppBody .= '</center>'; } protected function ShowAddForm() { global $Lang;
Metoda przeznaczona do dodawania nowej reklamy zawiera formularz opisujący wszystkie opcje , które można danej reklamie przypisać .
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_header_info" colspan="2"><h2>'.$Lang['ap_a2_add_new_adv'].'</h2></td></tr>'; $this->AppBody .= '<tr><td class="fb_row_2">'.$Lang['ap_a1_fname'].'</td><td class="fb_row_2"><input type="text" name="adv_name" value="'.$_POST['adv_name'].'" style="width: 450px;" /></td></tr><tr><td class="fb_row_1">'.$Lang['ap_a1_fcontent'].'</td><td class="fb_row_1"><textarea name="adv_content" style="width: 450px; height: 300px;">'.$_POST['adv_content'].'</textarea></td></tr><tr><td class="fb_row_1">'.$Lang['ap_a1_factive'].'</td><td class="fb_row_1"><select name="adv_active" style="width: 450px;">'; if($_POST['adv_active'] == 'y') { $Field1 = 'selected="selected"'; } $this->AppBody .= '<option value="y" '.$Field1.'>'.$Lang['ap_a1_fyes'].'</option>'; if($_POST['adv_active'] == 'n') { $Field2 = 'selected="selected"'; } $this->AppBody .= '<option value="y" '.$Field2.'>'.$Lang['ap_a1_fno'].'</option>'; $this->AppBody .= '</select></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="admin" /><input type="hidden" name="add" value="yes" /><input type="submit" value="'.$Lang['ap_a1_add_submit_button'].'" class="button_goto" /></td></tr>'; $this->AppBody .= '</table>'; $this->AppBody .= '</form>'; $this->AppBody .= '</center>'; } protected function LoginMeForm() {
Metoda do logowania zawiera pola , które należy wypełnić w celu wejścia do panelu administracyjnego użytkownikowi posiadającego odpowiednie dane .
Kod PHP: $this->AppBody .= '<form action="'.$this->AppUrl.'admin.php" method="post">'; $this->AppBody .= '<table>'; $this->AppBody .= '<tr>'; $this->AppBody .= '<td style="text-align: left;">'; $this->AppBody .= $Lang['l1_login_email']; $this->AppBody .= '</td>'; $this->AppBody .= '<td style="text-align: left;">'; $this->AppBody .= $Lang['l1_login_pswd']; $this->AppBody .= '</td>'; $this->AppBody .= '<td>'; $this->AppBody .= '</td>'; $this->AppBody .= '</tr>'; $this->AppBody .= '<tr>'; $this->AppBody .= '<td style="text-align: left;">'; $this->AppBody .= '<input type="text" name="user_email" style="width: 170px;" />'; $this->AppBody .= '</td>'; $this->AppBody .= '<td style="text-align: left;">'; $this->AppBody .= '<input type="password" name="user_pswd" style="width: 170px;" />'; $this->AppBody .= '</td>'; $this->AppBody .= '<td style="text-align: left;">'; $this->AppBody .= '<input type="hidden" name="fb_action_login" value="login" />'; $this->AppBody .= '<input type="submit" value="'.$Lang['l1_login_button'].'" class="submit_button" />'; $this->AppBody .= '</td>'; $this->AppBody .= '</tr>'; $this->AppBody .= '</table>'; $this->AppBody .= '</form>'; } } ?>
|