Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Reklamy
#1
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 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 .
           

Kod PHP:
$this->LoginMeForm();
}
      

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 . 

Kod PHP:
            $this->ShowEditForm();


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>';
}
}
?>
Odpowiedz


Skocz do:


Użytkownicy przeglądający ten wątek: 1 gości