Witaj, Gość
Musisz się zarejestrować przed napisaniem posta.

Użytkownik
  

Hasło
  





Szukaj na forum

(Zaawansowane szukanie)

Statystyki
» Użytkownicy: 1
» Najnowszy użytkownik: Admin
» Wątków na forum: 32
» Postów na forum: 32

Pełne statystyki

Użytkownicy online
Aktualnie jest 1 użytkownik online.
» 0 Użytkownik(ów) | 1 Gość(i)

Ostatnie wątki
Wysyłanie nowych wiadomoś...
Forum: Wysyłanie nowych wiadomości
Ostatni post: Admin
Wczoraj, 09:16 PM
» Odpowiedzi: 0
» Wyświetleń: 2
Główny arkusz stylów
Forum: Główny arkusz stylów
Ostatni post: Admin
Wczoraj, 08:56 PM
» Odpowiedzi: 0
» Wyświetleń: 3
Szablon dla administrator...
Forum: Szablon dla administratora
Ostatni post: Admin
Wczoraj, 08:23 PM
» Odpowiedzi: 0
» Wyświetleń: 2
Szablon dla użytkownika
Forum: Szablon dla użytkownika
Ostatni post: Admin
Wczoraj, 07:57 PM
» Odpowiedzi: 0
» Wyświetleń: 3
Katalogi upload i upload_...
Forum: Katalogi upload i upload_tmp
Ostatni post: Admin
Wczoraj, 07:25 PM
» Odpowiedzi: 0
» Wyświetleń: 1
Obrazy powiązane z aplika...
Forum: Obrazy powiązane z aplikacją
Ostatni post: Admin
Wczoraj, 07:22 PM
» Odpowiedzi: 0
» Wyświetleń: 2
Przekształcanie obrazów
Forum: Przekształcanie obrazów
Ostatni post: Admin
Wczoraj, 07:21 PM
» Odpowiedzi: 0
» Wyświetleń: 2
Jquery i Prototype
Forum: Jquery i Prototype
Ostatni post: Admin
Wczoraj, 07:19 PM
» Odpowiedzi: 0
» Wyświetleń: 1
Pokazywanie obrazów z uży...
Forum: Pokazywanie obrazów z użyciem LightBox
Ostatni post: Admin
Wczoraj, 07:18 PM
» Odpowiedzi: 0
» Wyświetleń: 1
Pliki języków
Forum: Pliki języków
Ostatni post: Admin
Wczoraj, 07:10 PM
» Odpowiedzi: 0
» Wyświetleń: 1

 
  Wysyłanie nowych wiadomości
Napisane przez: Admin - Wczoraj, 09:16 PM - Forum: Wysyłanie nowych wiadomości - Brak odpowiedzi

Kod PHP:
<?php 


Rozpoczynamy sesję i rejestrujemy w niej zmienne.

Kod PHP:
session_start();
session_register('user_id''user_email''user_firm''user_lang'); 


Dołączamy pliki konfiguracyjne .

Kod PHP:
include('./config/config_database.php');
include(
'./config/config_framework.php'); 


Ustawiamy język użytkownika .

Kod PHP:
if($_SESSION['user_lang'] == "")
  {
$_SESSION['user_lang'] = $config['default_lang'];
}
if(
$_GET['fb_action_lang'] == 'change')
  {
$LangSet '';
  if($_GET['select_language_set'] == 'pl')
  {
  $LangSet 'pl';
}
elseif(
$_GET['select_language_set'] == 'en')
  {
  $LangSet 'en';
}
if(
$LangSet != "")
  {
  $_SESSION['user_lang'] = $LangSet;
}
}

$LangSet $_SESSION['user_lang']; 


Włączamy odpowiedni język oraz silnik systemu .

Kod PHP:
include('./lang/'.$LangSet.'/lang.php');
include(
'./core/core.php'); 


Funkcja do pobierania danych ze zmiennej niezależnie od tego , jaką metodą zostanie przesłana .

Kod PHP:
function GetVarchar($VarcharName)
  {
  if($_POST[$VarcharName] == "")
  {
  $VarcharIs $_GET[$VarcharName];
}
else
  {
  $VarcharIs $_POST[$VarcharName];
}
return 
$VarcharIs;



Ustawiamy wartość głównej zmiennej .

Kod PHP:
$app GetVarchar('app'); 


Jeżeli wartość jest pusta , wówczas ustawiamy ją na domyślną z pliku konfiguracyjnego .

Kod PHP:
if($app == "")
  {
  $app $config['default'];



Tworzymy klasę , rozszerzającą możliwości klasy głównej .

Kod PHP:
class AppClass extends Core
  
{
  public function AppComment()
    


Sprawdzamy , czy użytkownik jest zalogowany .

 
Kod PHP:
if($this->AppSessionGetValue('user_id') != "")
  


Testujemy zmienną , czy treść nie pozostała pusta .

 
Kod PHP:
if($_POST['comm_text_'.$_POST['publication_second_id']] != "")
  


Umieszczamy treść komentarza w tabeli .


Kod PHP:
  $SqlConfig 'INSERT INTO '.$this->DBPrefix.'comment
(
comm_const_id,
comm_user_id,
comm_comment,
comm_date,
comm_what
)
VALUES
(
"'
.$this->AppDBSecure($_POST['publication_second_id']).'",
"'
.$this->AppDBSecure($this->AppSessionGetValue('user_id')).'",
"'
.$this->AppDBSecure($_POST['comm_text_'.$_POST['publication_second_id']]).'",
"'
.$this->AppDBSecure(time()).'",
"t"
)
'
;
if(!
$this->AppDBQuery($SqlConfig))
  {
  $this->AppBody .= $this->AppShowError('Query error',__FILE__,__LINE__,$SqlConfig);
}
}
}
}
public function 
AppOwnComment()
  


Sprawdzamy za pomocą zmiennej z sesji , czy użytkownik się zalogował .

 
Kod PHP:
if($this->AppSessionGetValue('user_id') != "")
  


Zmienna z treścią nie powinna być pusta .


Kod PHP:
  if($_POST['comm_text_'.$_POST['publication_second_id']] != "")
  


Umieszczamy komentarz w tabeli .


Kod PHP:
  $SqlConfig 'INSERT INTO '.$this->DBPrefix.'comment
(
comm_const_id,
comm_user_id,
comm_comment,
comm_date,
comm_what
)
VALUES
(
"'
.$this->AppDBSecure($_POST['publication_second_id']).'",
"'
.$this->AppDBSecure($this->AppSessionGetValue('user_id')).'",
"'
.$this->AppDBSecure($_POST['comm_text_'.$_POST['publication_second_id']]).'",
"'
.$this->AppDBSecure(time()).'",
"t"
)
'
;
if(!
$this->AppDBQuery($SqlConfig))
  {
  $this->AppBody .= $this->AppShowError('Query error',__FILE__,__LINE__,$SqlConfig);
}
}
}
}
public function 
AppIComment()
  


Sprawdzamy , czy użytkownik jest zalogowany .

 
Kod PHP:
if($this->AppSessionGetValue('user_id') != "")
  


Sprawdzamy treść komentarza , czy nie pozostała pusta .


Kod PHP:
  if($_POST['comm_text_'.$_POST['publication_second_id']] != "")
  


Umieszczamy komentarz w specjalnej tabeli .


Kod PHP:
  $SqlConfig 'INSERT INTO '.$this->DBPrefix.'comment
(
comm_const_id,
comm_user_id,
comm_comment,
comm_date,
comm_what
)
VALUES
(
"'
.$this->AppDBSecure($_POST['publication_second_id']).'",
"'
.$this->AppDBSecure($this->AppSessionGetValue('user_id')).'",
"'
.$this->AppDBSecure($_POST['comm_text_'.$_POST['publication_second_id']]).'",
"'
.$this->AppDBSecure(time()).'",
"i"
)
'
;
if(!
$this->AppDBQuery($SqlConfig))
  {
  $this->AppBody .= $this->AppShowError('Query error',__FILE__,__LINE__,$SqlConfig);
}
}
}
}
public function 
AppStatus()
  


Sprawdzamy , czy użytkownik jest zalogowany na własne konto za pomocą zmiennej z sesji .


Kod PHP:
  if($this->AppSessionGetValue('user_id') != "")
  


Musimy się dowiedzieć , czy status publikacji nie jest pusty .


Kod PHP:
  if($_POST['publication_status']] != "")
  


Umieszczamy wpis w tabeli przeznaczonej na publikacje .


Kod PHP:
  $SqlConfig 'INSERT INTO '.$this->DBPrefix.'publication
(
publication_kind,
publication_status,
publication_time,
publication_user_id
)
VALUES
(
"1",
"'
.$this->AppDBSecure($_POST['publication_status']).'",
"'
.$this->AppDBSecure(time()).'",
"'
.$this->AppDBSecure($this->AppSessionGetValue('user_id')).'",
"'
.$this->AppDBSecure(time()).'",
)
'
;
if(!
$this->AppDBQuery($SqlConfig))
  {
  $this->AppBody .= $this->AppShowError('Query error',__FILE__,__LINE__,$SqlConfig);
}
}
}
}



Tworzymy obiekt i uruchamiamy metodę konfiguracji systemu .

Kod PHP:
$Application = New AppClass;
$Application->AppConfig(); 


W zależności od wysłanej treści wykonujemy odpowiednią metodę .

Kod PHP:
  if($_POST['post_what'] == 'comment')
  {
  $Application->AppComment();
echo 
$Application->ShowPostTable();
}
elseif(
$_POST['post_what'] == 'i_comment')
  {
  $Application->AppIComment();
echo 
$Application->ShowCommentInserts($_POST['publication_second_id']);
}
elseif(
$_POST['post_what'] == 'comments_table')
  {
  $Application->AppOwnComment();
echo 
$Application->ShowPostOwnTable($_POST['option']);
}
  elseif($_POST['post_what'] == 'status')
  {
  $Application->AppStatus();
echo 
$Application->ShowPostTable();
}
?>

Wydrukuj tę wiadomość

  Główny arkusz stylów
Napisane przez: Admin - Wczoraj, 08:56 PM - Forum: Główny arkusz stylów - Brak odpowiedzi

Ciało całej strony bez marginesów i wcięć oraz ustawienie czcionki .

Kod PHP:
body {
background-color#ffffff;
padding0px;
margin0px;
font-size12px;
font-family'Trebuchet MS';
color#1d2a5b;



Wszystkie tabelki będą wyrównane do lewej strony .

Kod PHP:
table {
text-alignleft;



Każda komórka będzie posiadała tekst wyrównany do góry .

Kod PHP:
td {
vertical-aligntop;



Nagłówki stopnia pierwszego i drugiego .

Kod PHP:
h1 {
font-size16px;
color#1c2a47;
padding0px;
margin0px;
padding-top5px;
padding-left5px;
}

h2 {
font-size14px;
background-color#2C3852;
color#ffffff;
padding5px;



Formatowanie hiperłączy , które znajdują się w nagłówkach .

Kod PHP:
h2 a {
font-size14px;
background-color#2C3852;
color#ffffff;
padding5px;
text-decorationnone;
}

h2 a:hover {
font-size14px;
background-color#2C3852;
color#ffffff;
padding5px;
text-decorationnone;
}

h2.special_header_ogloszenie {
font-size14px;
background-color#ffffff;
color#2C3852;
padding5px;
padding-bottom0px;
border-bottomsolid 1px #2C3852;
}

h2.special_header_ogloszenie a {
font-size14px;
background-color#ffffff;
color#2C3852;
padding5px;
padding-bottom0px;



Komórka tabelki będąca jej nagłówkiem .

Kod PHP:
td.header {
background-color#336699;
color#ffffff;
padding5px;
font-size12px;
white-spacenowrap;



Cztery komórki z różnymi kolorami tła , aby lepiej wyróżnić poszczególne rekordy .

Kod PHP:
td.cell_1 {
background-color#C9D0D6;
padding5px;
font-size12px;
vertical-alignmiddle;
}

td.cell_2 {
background-color#F7F8FA;
padding5px;
font-size12px;
vertical-alignmiddle;
}

td.td_row1 {
background-color#C9D0D6;
padding5px;
font-size12px;
vertical-alignmiddle;
}

td.td_row2 {
background-color#F7F8FA;
padding5px;
font-size12px;
vertical-alignmiddle;



Nagłówki zawarte w specjalnych komórkach .

Kod PHP:
td.td_row1_head {
background-color#efefef;
}

td.td_row1_head h3 {
padding2px;
margin0px;
}

td.td_row1_body {
border-bottomsolid 1px #EB5126;
padding-top2px;
padding-bottom2px;



Komórka z pogrubionym tekstem .

Kod PHP:
td.bold_row {
font-weightbold;
color#EB5126;



Warstwy przedstawiające informacje otrzymane przez użytkownikaod systemu .

Kod PHP:
div.success {
padding2px;
text-aligncenter;
background-color#C8CFD5;
font-size12px;
color#3b5998;
padding5px;
margin5px;
}

div.warning {
padding2px;
text-aligncenter;
bordersolid 1px #EB5126;
background-color#ffffff;
font-size12px;
color#EB5126;
padding5px;
margin5px;
}

div.important {
padding2px;
text-aligncenter;
background-color#C8CFD5;
font-size12px;
color#3b5998;
padding5px;
margin5px;
}

div.city_box {
padding2px;
margin-left15px;
margin-right15px;
margin-bottom30px;



Domyślne formatowanie wszystkich hiperłączy na stronie .

Kod PHP:
{
font-size12px;
color#3b5998;
text-decorationnone;
}

a:hover {
font-size12px;
color#3b5998;
text-decorationunderline;



Linki znajdujące się w górnej części strony (menu) .

Kod PHP:
a.up_menu {
font-size12px;
color#92AABC;
text-decorationnone;
}

a.up_menu:hover {
font-size12px;
color#3b5998;
text-decorationunderline;



Domyślne formatowanie dla obrazu .

Kod PHP:
img {
border0px;



Informacje o logowaniu i jego rezultacie .

Kod PHP:
div.list_pages {
bordersolid 1px #EB5126;
padding-bottom2px;
padding-top2px;
margin-left20px;
margin-right20px;
}

span.promo_bar {
padding5px;
bordersolid 1px #600000;
}

span.span_bad_login {
background-color#ffffff;
color#000000;
padding2px;



Formatowanie pól formularza .

Kod PHP:
input {
border-width1px;
border-stylesolid;
border-color#1d2a5b;
padding2px;
}

input.file_upload {
border-width1px;
border-stylesolid;
border-color#1d2a5b;
padding2px;



Przycisk Zatwierdź .

Kod PHP:
input.submit_button {
border-width1px;
border-stylesolid;
border-top-color#29447e;
border-bottom-color#29447e;
border-left-color#29447e;
border-right-color#29447e;
padding-left5px;
padding-right5px;
background-color#637bad;
font-weightbold;
color#ffffff;
font-size12px;
padding-top1px;
padding-bottom3px;
}

table.table_body inputtextareaselect {
border-width1px;
border-stylesolid;
border-color#96a6c5;
padding2px;



Przycisk służący do rejestracji na naszej stronie .

Kod PHP:
input.input_register {
border-width1px;
border-stylesolid;
border-color#96a6c5;
padding5px;



Domyślny przycisk służący do wykonywania akcji .

Kod PHP:
input.input_button_submit {
border-width1px;
border-stylesolid;
border-color#3b6e22;
padding-left5px;
padding-right5px;
background-color#74ad5a;
font-weightbold;
color#ffffff;
font-size12px;



Przycisk służący przechodzeniu do określonej części aplikacji .

Kod PHP:
input.button_goto {
border-width1px;
border-stylesolid;
border-color#3b6e22;
padding-left5px;
padding-right5px;
background-color#74ad5a;
font-weightbold;
color#ffffff;
font-size12px;
padding-top5px;
padding-bottom5px;



Zatwierdzanie wysyłania wiadomości do serwera .

Kod PHP:
button.button_goto_send {
border-width1px;
border-stylesolid;
border-color#3b6e22;
padding-left5px;
padding-right5px;
background-color#74ad5a;
font-weightbold;
color#ffffff;
font-size12px;



Nagłówek oraz komórki tabeli znajdujące się w menu .

Kod PHP:
div.heading_row {
width100%;
height23px;
background-imageurl('fb_images/row.png');
}

td.fb_header {
background-color#3b5998;
padding5px;
color#ffffff;
font-weightbold;
}

td.fb_row_1 {
padding5px;
background-color#ffffff;
}

td.fb_row_2 {
padding5px;
background-color#eceef4;
}

td.fb_row_underline {
padding5px;
background-color#ffffff;
border-bottomsolid 1px #eceef4;



Nagłówki będące w komórkach tabel .

Kod PHP:
td.fb_header_info {
background-color#3b5998;
padding5px;
color#ffffff;
font-weightbold;
}

td.fb_header_info h2 {
color#ffffff;
padding0px;
margin0px;
background-color#3b5998;



Informacje formatujące pozycję menu bocznego .

Kod PHP:
div.menu_option {
background-color#eceef4;
padding5px;
margin-top2px;
margin-bottom2px;
border-leftsolid 3px #B5B5B5;
}

div.menu_option_selected {
background-color#2F4F4F;
padding5px;
margin-top2px;
margin-bottom2px;
border-leftsolid 3px #919191;
}

div.menu_option_selected a {
color#ffffff;
}

div.menu_option_br {
height10px;



Komórki tabel do formatowania opcji publikacji treści .

Kod PHP:
td.publish_item {
background-color#3B5998;
color#ffffff;
text-aligncenter;
}

a.publish_item_link {
background-color#ffffff;
padding-left15px;
padding-right15px;
}

a.publish_item_link_select {
background-color#3B5998;
color#ffffff;
padding-left15px;
padding-right15px;
padding-top2px;
padding-bottom2px;



Informacje o publikacji informacji na stronie głównej .

Kod PHP:
span.status_is_published {
padding2px;
margin3px;
bordersolid 1px #FBC834;
}

span.published_date {
color#404040;



Sformatowanie komentarzy wystawianych przez użytkowników .

Kod PHP:
td.comm_title {
background-color#B5B5B5;
color#335599;
padding2px;
font-size10px;
}

td.comm_title a {
color#335599;
font-size10px;
}

td.comm_body {
padding2px;
}

td.comm_foot {
font-size10px;
color#336699;
text-alignright;
background-color#C9C9C9;
padding2px;
}

td.comm_post {
background-color#EBEBEB;
padding3px;



Menu wraz z linkami znajdującymi się w komórkach tabel .

Kod PHP:
td.top_menu_td a {
color#ffffff;
font-weightbold;
text-decorationnone;
}

td.top_menu_link {
color#ffffff;
font-weightbold;
text-decorationnone;
}

td.top_menu_link:hover {
color#ffffff;
font-weightbold;
text-decorationunderline;

Wydrukuj tę wiadomość

  Szablon dla administratora
Napisane przez: Admin - Wczoraj, 08:23 PM - Forum: Szablon dla administratora - Brak odpowiedzi

Kod PHP:
<?php 


Temat jest wczytywany wewnątrz metody , więc należy zdeklarowaćprzed zmiennymi słowo GLOBAL , aby były widoczne wewnątrz obiektu . Dwie zmienne pokażą informacje odnośnie logowania do panelu . Pierwsza odpowiada za pozostawienie pustych pól , natomiast druga za wpisanie niepoprawnych danych .

Kod PHP:
global $LoginAppNullFields;
global 
$LoginAppBadData;
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head> 


Tworzymy tytuł strony . W przypadku gdyby był zdefiniowany w obiekcie , mówiący o naszej obecnej pozycji , wypisujemy jego zawartość . W innym przypadku wypisujemy jedynie tytuł pochodzący z tablicy konfiguracyjnej całego systemu .

Kod PHP:
<title><?php
  
if($this->AppTitle != "")
  {
  echo $this->AppTitle.' - '.$this->DBConfigTable['title'];
}
else
  {
  echo $this->DBConfigTable['title'];
}
?></title> 


Ustawiamy kodowanie strony wraz z jej opisem i słowami kluczowymi .

Kod PHP:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<
meta name="description" content="<?php echo $this->AppDesc; ?>" />
<
meta name="keywords" content="<?php echo $this->AppKey; ?>" /> 


Dołączamy główne arkusze stylów dla naszej aplikacji .

Kod PHP:
<link rel="stylesheet" type="text/css" href="<?php echo $this->AppUrl; ?>view/beans/css/default.css">
<
link rel="stylesheet" type="text/css" href="<?php echo $this->AppUrl; ?>view/beans/css/system.css"


Włączamy LightBox , aby można było w prosty sposób wyświetlać powiększone obrazy .

Kod PHP:
<script type="text/javascript" src="<?php echo $this->AppUrl; ?>library/lightbox/js/prototype.js"></script>
<
script type="text/javascript" src="<?php echo $this->AppUrl; ?>library/lightbox/js/scriptaculous.js?load=effects,builder"></script>
<
script type="text/javascript" src="<?php echo $this->AppUrl; ?>library/lightbox/js/lightbox.js"></script>

<
link rel="stylesheet" href="<?php echo $this->AppUrl; ?>library/lightbox/css/lightbox.css" type="text/css" media="screen" /> 


Ikona wyświetlana w pasku adresu przy URL naszej obecnej strony .

Kod PHP:
<link rel="Shortcut icon" href="<?php echo $this->AppUrl; ?>fb_images/facebook.ico" /> 


Tworzymy funkcję , która będzie wyświetlała potwierdzenie przy próbie usunięcia treści z naszego portalu . Przyjmuje ona dwie zmienne : adres , pod którym jest realizowane usuwanie treści , oraz komunikat wyświetlany użytkownikowi .

Kod PHP:
<script language="JavaScript">
function 
DeleteInfo(URL,Comunicate){if(Confirm(Comunicate)){window.location URL;}}
</
script>

</
head>
<
body>
<?
php 


Za pomocą zmiennej z sesji sprawdzamy , czy użytkownik jest już zalogowany .

Kod PHP:
if($this->AppSessionGetValue('user_id') == "")
  


Kiedy administrator nie ma ustawionej zmiennej pochodzącej z sesji , wówczas drukujemy standardowy początek strony .


Kod PHP:
  ?>
<div style="width: 100%; background-color: #3b5998; padding-top: 5px; padding-bottom: 5px; color: #ffffff; text-align: center; font-family: 'Trebuchet MS'; height: 20px;">
<center>
<table cellpadding="0" cellspacing="0" border="0" width="1000">
<tr>
<td>
<a href="<?php echo $this->AppUrl?>"><img src="<?php echo $this->AppUrl?>fb_images/logo_mini.png" width="200" height="20" /></a>
</td>
<td width="500" style="text-align: right;">
</td>
</tr>
</table>
</center>
</div>
<?php
}
else
  


Administrator zalogował się na swoje konto , więc możemy pokazać treść .

 
Kod PHP:
?>
<style>
td.top_menu_td a {
color: #ffffff;
font-weight: bolt;
text-decoration: none;
}
a.top_menu_link {
color: #ffffff;
font-weight: bold;
text-decoration: none;
}
a.top_menu_link:hover {
color: #ffffff;
text-decoration: underline;
}
</style>
<div style="width: 100%; background-color: #3b5998; padding-top: 5px; padding-bottom: 5px; color: #ffffff; text-align: center; font-family: 'Trebuchet MS'; height: 20px;">
<center>
<table cellpadding="0" cellspacing="0" border="0" width="1000">
<tr>
<td>
<a href="<?php echo $this->AppUrl?>admin.php"><img src="<?php echo $this->AppUrl?>fb_images/logo_mini.png" width="200" height="20" /></a>
</td>
<td width="250">&nbsp;</td>
<td width="650" class="top_menu_td">
</td>
</tr>
</table>
</center>
</div>
<?php
}
?>
<center>
<div style="padding: 5px; text-align: center; width: 1000px;">
<?php 


Wyświetlamy komunikaty pozostawienia pustych pól w formularzu przeznaczonym do logowania oraz komunikat informujący użytkownika , że wpisane przez niego dane zostały podane błędnie .

Kod PHP:
if($LoginAppNullFields != "")
  {
  echo '<span class="span_bad_login">'.$Lang['l1_login_data_null_fields'].'</span>';
}
if(
$LoginAppBadData != "")
  {
  echo '<span class="span_bad_login">'.$Lang['l1_login_data_bad'].'</span>';
}
?>
</div>
<table cellpadding="0" cellspacing="0" border="0" width="1000" style="table_body">
<tr>
<?php 


Sprawdzamy , czy zmienna z sesji odpowiedzialna za identyfikację administratora jest pusta , a jeśli tak , to wyświetlamy użytkownikowi jedynie treść generowaną przez sam system .

Kod PHP:
if($this->AppSessionGetValue('admin_id') == "")
  {
  echo '<td width="1000" style="border: solid 1px #cccccc; padding-left: 20px; padding-right: 20px; padding-bottom: 20px; background-color: #ffffff;">';
echo 
$this->AppBody;
echo 
'</td>';
}
else



Zmienna sesyjna została ustawiona , więc można oprócz treści pokazać także menu służące do moderacji wszystkich treści wprowadzonych przez użytkownika , zarządzanie reklamami oraz zmianą hasła .

Kod PHP:
  echo '<td width="200" style="border: solid 1px #3b5998; border-width: 0px; border-right-width: 1px; padding-left: 20px; padding-right: 20px; padding-bottom: 20px; background-color: #ffffff;">';
$this->AdminLeftMenu();
echo 
'</td';
echo 
'<td width="800" style="border-width: 0px; padding-left: 5px; padding-right: 5px; padding-bottom: 20px; background-color: #ffffff;">';
echo 
$this->AppBody;
echo 
'</td';
}
?>
</tr>
</table>
</center>
<br /> 


Na koniec drukujemy stopkę systemu wraz z możliwością wybierania dowolnego języka z spośród dodanych do systemu .

Kod PHP:
<center>
<
table width="1000" cellpadding="0" cellspacing="0">
<
tr>
<
td style="border-top: solid 1px #b3b3b3; font-size: 11px;">&copy; <?php echo $Lang['l1_copyright']; ?>
<?php
echo $Lang['up_a1_language_select'];
if(
$this->AppSessionGetValue('user_lang') == 'pl')
  {
  $LangPLIsChecker ' style="font-weight: bold;" ';
}
if(
$this->AppSessionGetValue('user_lang') == 'en')
  {
  $LangENIsChecker ' style="font-weight: bold;" ';
}
echo 
'<a href="'.$this->AppUrl.'admin.php?fb_action_lang=change&select_language_set=pl" '.$Lang['u_p_a1_pl'].'</a>';
echo 
'<a href="'.$this->AppUrl.'admin.php?fb_action_lang=change&select_language_set=en" '.$Lang['u_p_a1_en'].'</a>';
?>
</td>
<td style="border-top: solid 1px #b3b3b3; text-align: right; font-size: 11px;"
<?php echo $Lang['l1_copyright']; ?>
</td>
</tr>
</table> 


Ważnym elementem jest zamieszczenie informacji , iż strona powstała jedynie w celach testowych , aby uniknąć ewentualnych kłopotów .

Kod PHP:
<div style="width: 1000px; text-align: center; padding: 5px; color: #ffffff; background-color: #600000;">
<?
php echo $Lang['copyright_trademark']; ?>
</div>
</body>
</html> 

Wydrukuj tę wiadomość

  Szablon dla użytkownika
Napisane przez: Admin - Wczoraj, 07:57 PM - Forum: Szablon dla użytkownika - Brak odpowiedzi

Kod PHP:
<?php 


Ponieważ plik jest wczytywany w metodzie , musimy zadeklarować niektóre zmienne jako globalne . Dwie zmienne odpowiedzialne za pozostawienie pustych pól podczas logowania oraz za błędne dane , którymi zostały wypełnione pola .

Kod PHP:
global $LoginAppNullFields;
global 
$LoginAppBadData;
?>


Dokument powinien rozpoczynać się od zadeklarowania jego nagłówka z informacją o wersji używanego języka do kodowania . Istnieją bowiem różne odmiany języka HTML wraz z XHTML , z którego rozwijania zrezygnowano .

Kod PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1-transitional.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<
head


Nazwa strony pokazywana w pasku tytułu przeglądarki jest drukowana pomiędzy znacznikami TITLE . W przypadku gdyby zmienna z wartością nie była pusta , wówczas ustawiamy wartość z tej zmiennej , a następnie końcówkę wraz z nazwą strony dostępną w odpowiedniej do tego tablicy z konfiguracją . Kiedy ta zmienna jest pusta , ustawiamy jedynie wartość z tablicy .

Kod PHP:
<title><?php
  
if($this->AppTitle != ""){echo $this->AppTitle.' - '.$this->DBConfigTable['title'];}
  else{echo $this->DBConfigTable['title'];}
?></title> 


Kodowanie strony ustawiamy na UTF-8 , dzięki czemu można utworzyć witryny pisane w wielu językach . Dodajemy opis strony i jej słowa kluczowe .

Kod PHP:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<
meta name="description" content="<?php echo $this->AppDesc; ?>" />
<
meta name="keywords" content="<?php echo $this->AppKey; ?>" /> 


Teraz należy załadować arkusz stylów : domyślny oraz nasz własny .

Kod PHP:
<link rel="stylesheet" type="text/css" href="<?php echo $this->AppUrl; ?>view/beans/css/default.css">
<
link rel="stylesheet" type="text/css" href="<?php echo $this->AppUrl; ?>view/beans/css/system.css"


Ładujemy także bibliotekę LightBox wraz z określeniem jej efektów wizualnych , które będą pojawiały się podczas powiększania obrazu .

Kod PHP:
<script type="text/javascript" src="<?php echo $this->AppUrl; ?>library/lightbox/js/prototype.js"></script>
<
script type="text/javascript" src="<?php echo $this->AppUrl; ?>library/lightbox/js/scriptaculous.js?load=effects,builder"></script>
<
script type="text/javascript" src="<?php echo $this->AppUrl; ?>library/lightbox/js/lightbox.js"></script>

<
link rel="stylesheet" href="<?php echo $this->AppUrl; ?>library/lightbox/css/lightbox.css" type="text/css" media="screen" /> 


Ikona pojawiająca się w pasku adresu obok naszego URL strony .

Kod PHP:
<link rel="Shortcut icon" href="<?php echo $this->AppUrl; ?>fb_images/facebook.ico" /> 


Tworzymy własne skrypty JavaScript . Pierwsza funkcja będzie służyła potwierdzaniu zamiaru usunięcia danego elementu i będzie przyjmowała URL , pod jaki użytkownik ma zostać przekierowany , oraz treść komunikatu , który należy użytkownikowi wyświetlić . Natomiast druga funkcja będzie używana do pokazywania warstw . Jedynym parametrem jest nazwa elementu . Gdy będzie widoczny , po użyciu funkcji zniknie on z ekranu . Natomiast kiedy będzie niewidoczny , pojawi się w określonym miejscu.

Kod PHP:
<script language="JavaScript">
function 
DeleteInfo(URL,Comunicate){if(Confirm(Comunicate)){window.location URL;}}
function 
PublishCommForm(DivFormName){if(document.getElementById(DivFormName).style.display == 'block'){document.getElementById(DivFormName).style.display='none';}else{document.getElementById(DivFormName).style.display='block';}}
</
script

Załadujemy jeszcze bibliotekę Prototype do operacji związanych z AJAX-em .

Kod PHP:
<script src="<?php echo $this->AppUrl; ?>library/prototype.js"></script>

</
head>
<
body


Rozpoczynamy pierwszą tabelę widoczną na samej górze strony zawierającą logo oraz pola do logowania bądź menu użytkownika .

Kod PHP:
<table width="100%" cellpadding="0" cellspacing="0"><tr><td style="background-color: #f3f4f9;"><?php 


Sprawdzamy za pomocą metody , czy nasz użytkownik jest zalogowany . Gdy zmienna sesyjna nie będzie posiadała żadnej wartości , oznacza to , iż należy użytkownikowi pokazać okno , wktórym będzie mógł się zalogować oraz wystąpić z prośbą o przypomnienie hasła.

 
Kod PHP:
if($this->AppSessionGetValue('user_id') == "")
  {
?>
<div style="width: 100%; background-color: #3b5998; padding-top: 5px; padding-bottom: 5px; color: #ffffff; text-align: center; font-family: 'Trebuchet MS'; height: 80px;">
<center>
<table cellpadding="0" cellspacing="0" border="0" width="1000">
<tr>
<td>
<a href="<?php echo $this->AppUrl?>"><img src="<?php echo $this->AppUrl?>fb_images/logo.png" width="200" height="70" /></a>
</td>
<td width="500" style="text-align: right;">
<form action="<?php echo $this->AppUrl?>index.php" method="post">
<table>
<tr>
<td style="text-align: left;">
<?php echo $Lang['l1_login_email']; ?>
</td>
<td style="text-align: left;">
<?php echo $Lang['l1_login_pswd']; ?>
</td>
<td>
</td>
</tr>
<tr>
<td style="text-align: left;">
<input type="text" name="login_user_email" style="width: 170px;" />
</td>
<td style="text-align: left;">
<input type="password" name="login_user_pswd" style="width: 170px;" />
</td>
<td style="text-align: left;">
<input type="hidden" name="fb_action_login" value="login" />
<input type="submit" value="<?php echo $Lang['l1_login_button']; ?>" class="submit_buttom" />
</td>
</tr>
<tr>
<td style="text-align: left;">
<?php echo '<a href="'.$this->AppMakeLink('password').'" class="up_menu">'.$Lang['l1_m_remind_password'].'</a>'?>
</td>
<td>
</td>
<td>
</td>
</tr>
</table>
</form>
</td>
</tr>
</table>
</center>
</div>
<?php
  
}
else
  


Sprawdzamy sesję , w której powinien znajdować się identyfikator użytkownika pobrany z tabeli z ich danymi .


Kod PHP:
  if($this->AppSessionGetValue('user_id') != "")
  


Na samej górze strony , w przypadku zalogowania się na swoje konto , jest widoczna lista przyjaciół . Musimy więc wybrać z tabeli 14 osób , ponieważ tyle znajdzie miejsce u góry strony bez jej rozsuwania , gdzie użytkownik jest do nich przypisany , a wszystkie znajomości zostały zaakceptowane .

  
Kod PHP:
$SqlConfig 'SELECT * FROM '.$this->DBPrefix.'friends
WHERE
friend_user_id = "'
.$this->AppDBSecure($this->AppSessionGetValue('user_id')).'"
AND
friend_accept = "y"
LIMIT 0,14
'



Wykonujemy zapytanie i pobieramy wyniki .


Kod PHP:
if(!$this->AppDBQuery($SqlConfig))
  {
  $this->AppBody .= $this->AppShowError('Query error',__FILE__,__LINE__,$SqlConfig);
}
$Result $this->AppDBResult();
$Rows $this->AppDBHowMany();
echo 
'<center><table cellpadding="0" cellspacing="0" border="0" width="1000"><tr><td>'


Kiedy liczba przyjaciół , a tak zawsze będzie od razu po rejestracji , jest równa zero , wyświetlamy łącze do formularza , które pozwala na zaproszenie nowych osób do strony , na której mamy konto .


Kod PHP:
if($Rows == 0)
  {
  echo $Lang['nv1_no_friend'].' <a href="'.$this->AppUrl.'index.php?app=emailinvite">'.$Lang['nv1_invite_friend'].'</a>';
}
else
  {
  echo '<table';
echo 
'<td class="fb_row_underline">'.$Lang['nv1_your_friends'].'</td>'


Istniejących znajomych należy wybrać z tabeli z użytkownikami , ponieważ w poprzednim rapytaniu jako rezultat otrzymaliśmy tylko ich identyfikatory . Dane każdej z osób pobieramy w osobnym odpytaniu bazy danych w pętli określającą liczbę przyjaciół .



Kod PHP:
for($f=0;$f<$Rows;$f++)
  {
  $SqlConfig 'SELECT user_id, user_firstname, user_lastname, user_picture, user_gender, user_active FROM '.$this->DBPrefix.'user
WHERE
user_id = "'
.$this->AppDBSecure($Result[$f]['friend_friend_id']).'"
'
;
  if(!$this->AppDBQuery($SqlConfig))
  {
  $this->AppBody .= $this->AppShowError('Query error',__FILE__,__LINE__,$SqlConfig);
    }
$ResultFriend $this->AppDBResult(); 


Sprawdzamy , czy użytkownik ma aktywne konto w serwisie .



Kod PHP:
if($ResultFriend[0]['user_active'] == 'y')
  {
  if($ResultFriend[0]['user_picture'] == 'y')
  


Avatar użytkownika istnieje i możemy śmiało załadować plik o średniej wielkości .

 
Kod PHP:
$FileImage $this->AppUrl.'upload/'.$ResultFriend[0]['user_id'].'/prifile_medium.jpg';
}
else
  


W przypadku gdyby nie posiadał własnego obrazu , ładujemy domyślny z folderu zawierającego domyślne pliki zarównodla kobiet , jak i mężczyzn , uwzględniając przy wyborze płeć podaną podczas zakładania własnego profilu .


Kod PHP:
  if($ResultFriend[0]['user_gender'] == 'm')
  {
  $FileImage $this->AppUrl.'fb_images/profile_small_men.jpg';
}
else
  {
  $FileImage $this->AppUrl.'fb_images/profile_small_women.jpg';
}



Poniżej tworzymy linki do profilu danej osoby za pomocą specjalnej funkcji , która pozwala zapomnieć o tworzeniu odpowiednich adresów dla strony .


Kod PHP:
echo '<td class="fb_row_underline"><a href="'.$this->AppMakeLink('showprofile'$ResultFriend[0]['user_id']).'" title="'.$this->AppDBUnsecure($ResultFriend[0]['user_firstname']).''.$this->AppDBUnsecure($ResultFriend[0]['user_lastname']).'"><img src="'.$FileImage.'" height="25" /></a></td>';
}
}
echo 
'</table>';
}
echo 
'</td></tr></table></center>';
}
?>


Drukujemy tabelkę zawierającą logo .

Kod PHP:
<div style="width: 100%; background-color: #3b5998; padding-top: 5px; padding-bottom: 5px; color: #ffffff; text-align: center; font-family: 'Trebuchet MS'; height: 20px;">
<
center>
<
table cellpadding="0" cellspacing="0" border="0" width="1000">
<
tr>
<
td>
<
a href="<?php echo $this->AppUrl; ?>"><img src="<? echo $this->AppUrl; ?>fb_images/logo_mini.png" width="200" height="20" /></a>
</
td>
<
td width="250">&nbsp;</td>
<
td width="650" class="top_menu_td" style="text-align: right; background-color: #627aad; border: solid 1px #1D4088; border-bottom-width: 0px; vartical-align: bottom; padding-right: 20px;"


Tworzenie rozwijanego menu zrobimy za pomocą skryptu , który także jest dostępny w Internecie . W zależności od opcji , która zostanie wybrana , odpowiednia pozycja się otworzy .

Kod PHP:
<!-- dd menu -->
<
script type="text/javascript">
<!--
var 
timeout 500;
var 
closetimer 0;
var 
ddmenuitem 0;
// open hidden layer
function mopen(id)
  {
  // cancel close timer
mcancelclosetime();
// close old layer
  if(ddmenuitemddmenuitem.style.visibility 'hidden';
// get new layer and show it
ddmenuitem document.getElementById(id);
ddmenuitem.style.visibility 'visible';
}
// close showed layer
function mclose()
  {
  if(ddmenuitemddmenuitem.style.visibility 'hidden';
}
// go close timer
function mclosetime()
  {
  closetimer window.setTimeOut(mclosetimeout);
}
// cancel close timer
function mcancelclosetime()
  {
  if(closetimer)
  {
  window.clearTimeout(closetimer);
closetimer null;
}
}
// close layer when click-out
document.onclick mclose;
// -->
</script


Należy jeszcze umieścić arkusz stylów dla górnego menu .

Kod PHP:
<style>
#sddm{margin: 0;padding: 0;z-index: 30;text-align: right;}
#sddm li{margin: 0;padding: 0;list-style: none;float: left;font: bold 11px arial;}
#sddm li a{display: block;margin: 0 0px 0 0;padding 4px 4px;width: 100px;background: #627aad;color: #FFF;text-align center;text-decoration: none;}
#sddm li a:hover{background: #6d86b7;}
#sddm div{position: absolute;visibility: hidden;margin: 0;padding: 0;background: #EAEBD8;border: 1px solid #5970B2;}
#sddm div a{position: relative;display: block;margin: 0;padding: 5px 10px;width: auto;white-space: nowrap;text-align: left;text-decoration: none;background: #ffffff;color: #3a579a;font: 11px arial;}
#sddm div a:hover{background: #6d86b7;color: #FFF;}
</style


Możemy już stworzyć menu za pomocą listy UL , gdzie poszczególne elementy będą zdefiniowane jako jej pozycje za pomocą znacznika LI .

Kod PHP:
<ul id="sddm"

Menu Strona Domowa

Kod PHP:
<li><a href="<?php echo $this->AppUrl; ?>index.php"><?php echo $Lang['l1_m_homepage']; ?></a></li> 

 Menu Profilu

Kod PHP:
<li><a href="#" onmouseover="mopen('m2')" onmouseout="mclosetime()"><?php echo $Lang['l1_m_profile_menu']; ?></a>
    <div id="m2" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
<?php echo '<a href="'.$this->AppMakeLink('showprofile'$this->AppSessionGetValue('user_id')).'">'.$Lang['l1_m_see_your_profile'].'</a>';
      echo '<a href="'.$this->AppMakeLink('change_pswd').'">'.$Lang['a_d10_m_change_password'].'</a>';
  if($this->AppSessionGetValue('user_firm') != 'y'){echo '<a href="'.$this->AppMakeLink('privacy').'">'.$Lang['l1_m_set_priwacy'].'</a>';}
echo 
'<a href="'.$this->AppMakeLink('picture').'">'.$Lang['l1_m_profilepicture'].'</a>';
  if($this->AppSessionGetValue('user_firm') != 'y'){echo '<a href="'.$this->AppMakeLink('school').'">'.$Lang['l1_m_edit_school'].'</a>';
          echo '<a href="'.$this->AppMakeLink('work').'">'.$Lang['l1_m_edit_work'].'</a>';}
echo 
'<a href="'.$this->AppMakeLink('about').'">'.$Lang['l1_m_about'].'</a>';
            if($this->AppSessionGetValue('user_firm') != 'y'){echo '<a href="'.$this->AppMakeLink('language').'">'.$Lang['up4_d1_m_languages'].'</a>';
echo 
'<a href="'.$this->AppMakeLink('entertainment').'">'.$Lang['l1_m_enternaiment'].'</a>';
echo 
'<a href="'.$this->AppMakeLink('maritalstatus').'">'.$Lang['l1_m_marialstatus'].'</a>';
echo 
'<a href="'.$this->AppMakeLink('philosophy').'">'.$Lang['l1_m_philosophy'].'</a>';
echo 
'<a href="'.$this->AppMakeLink('sport').'">'.$Lang['l1_m_sport'].'</a>';}
echo 
'<a href="'.$this->AppMakeLink('contactinformation').'">'.$Lang['l1_m_contactinfo'].'</a>';
  if($this->AppSessionGetValue('user_firm') != 'y'){echo '<a href="'.$this->AppMakeLink('interests').'">'.$Lang['l1_m_interests'].'</a>';}
?>
</div>
</li> 

Menu Przyjaciół

Kod PHP:
<li><a href="#" onmouseover="mopen('m3')" onmouseout="mclosetime()"><?php echo $Lang['l1_m_friends']; ?></a>
    <div id="m3" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
<?php if($this->AppSessionGetValue('user_firm') != 'y')
  {
  echo '<a href="'.$this->AppMakeLink('friends').'">'.$Lang['l1_m_edit_firends'].'</a>';
echo 
'<a href="'.$this->AppMakeLink('emailinvite').'">'.$Lang['l1_m_emailinvite'].'</a>';
echo 
'<a href="'.$this->AppMakeLink('searchfriends').'">'.$Lang['l1_m_search_firends'].'</a>';
echo 
'<a href="'.$this->AppMakeLink('inviteyou').'">'.$Lang['l3_a1_invite_you'].'</a>';
echo 
'<a href="'.$this->AppMakeLink('likeit').'">'.$Lang['l1_m_likeit'].'</a>';
}
?>
</div>
</li> 

Menu wiadomosci

Kod PHP:
<li><a href="#" onmouseover="mopen('m4')" onmouseout="mclosetime()"><?php echo $Lang['l1_m_messages']; ?></a>
    <div id="m4" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
  <a href="<?php echo $this->AppMakeLink('pm_get'); ?>"><?php echo $Lang['l1_m_inbox']; ?></a>
  <a href="<?php echo $this->AppMakeLink('pm_send'); ?>"><?php echo $Lang['l1_m_send']; ?></a>
  <a href="<?php echo $this->AppMakeLink('pm_new'); ?>"><?php echo $Lang['l1_m_write_new']; ?></a>
</div>
</li> 

Menu Wyloguj

Kod PHP:
<li><a href="<?php echo $this->AppUrl; ?>index.php?app=logout"><?php echo $Lang['l1_m_logout']; ?></a></li>
</ul>
</td>
</tr>
</table>
</center>
</div>
<?php
}
?>


Teraz możemy zacząć tworzyć główną część strony przeznaczoną do wyświetlania treści generowanych przez system .

Kod PHP:
<center>
<
div style="padding: 5px;text-align: center;width: 1000px;background-color: #f3f4f9;">
  <?php 


Najpierw trzeba się jednak zatroszczyć o błędneinformacje podane podczas logowania . Pierwszą jest brak wypełnienia wszystkich pól , a drugim wypełnienie ich , lecz błędnymi danymi .


Kod PHP:
  if($LoginAppNullFields != "")
{
  echo '<span class="span_bad_login">'.$Lang['l1_login_data_null_fields'].'</span>';
}
if(
$LoginAppBadData != "")
  {
  echo '<span class="span_bad_login">'.$Lang['l1_login_data_bad'].'</span>';
}
/*
Sprawdzamy , czy formularz do rejestracji strony firmowej bądź opisującej jakiś temat został wysłany .
*/
if($_POST['fb_action'] == 'register_firm')
  


Sprawdzamy , czy wszystkie pola zostały wypełnione , gdyż tylko w takim przypadku możliwa jest rejestracja . Gdy któreś w pól pozostało puste , wówczas wyświetlamy odpowiedni komunikat z prośbą o wypełnienie .

 
Kod PHP:
if($_POST['reg_firm_user_firstname'] == "" OR $_POST['reg_firm_user_lastname'] == "" OR $_POST['reg_firm_user_email'] == "" OR $_POST['reg_firm_user_email_rec'] == "" OR $_POST['reg_firm_user_pswd'] == "" OR $_POST['reg_firm_user_pswd_rec'] == "" OR $_POST['reg_firm_user_firm_name'] == "" OR $_POST['reg_firm_user_www'] == "" OR $_POST['reg_firm_user_firstlastname'] == "" )
  {
  echo $this->AppPrintWarning($Lang['l1_not_fill_all_fields']);
}
  else
  


Musimy sprawdzić , czy adresy e-mailowe wpisane w formularzu są identyczne .


Kod PHP:
  if($_POST['reg_firm_user_email'] == $_POST['reg_firm_user_email_rec'])
  


Za pomocą metody spawdzamy , czy adres e-mailowy jest prawidłowo skonstruowany .


Kod PHP:
  if($this->AppValidateEmail($_POST['reg_firm_user_email']))
  


Hasło i jego potwierdzenie także powinny być identyczne .

 
Kod PHP:
if($_POST['reg_firm_user_pswd'] == $_POST['reg_firm_user_pswd_rec'])
  


Pozostało nam jeszcze jedno do zrobienia . Musimy sprawdzić , czy użytkownik o takim adresie e-mailowym już nie zarejestrował swojego konta .

 
Kod PHP:
if(!$this->CheckIsEmail($_POST['reg_firm_user_email']))
  


Tworzymy tablicę z literami oraz cyframi , spośród których będzie losowany kod przeznaczony do aktywacji konta .


Kod PHP:
  $ArrayToRand = array(
=> 'a'=> 'b'=> 'c'=> 'd'=> 'e'=> 'f'=> 'g'=> 'h'=> 'i'10 => 'j'11 => 'k'12 => 'l'13 => 'm'14 => 'n'15 => 'o'16 => 'p'17 => 'q'18 => 'r'19 => 's'20 => 't'21 => 'u'22 => 'w'23 => 'x'24 => 'y'25 => 'z'26 => '1'27 => '2'28 => '3'29 => '4'30 => '5'31 => '6'32 => '7'33 => '8'34 => '9'35 => '0'
);
$SpecialCode '';
for(
$i=0;$i<24;$i++)
  {
  $SpecialCode .= $ArrayToRand[array_rand('$ArrayToRand')];



Możemy już umieścić daną stronę firmową lub fanów w bazie danych wraz z danymi podanymi podczas jej zakładania .


Kod PHP:
$SqlConfig 'INSERT INTO '.$this->DBPrefix.'user
(
user_lang,
user_firstname,
user_lastname,
user_gender,
user_birth_day,
user_birth_month,
user_birth_year,
user_email,
user_pswd,
user_code,
user_reg,
user_firm_name,
user_www,
user_firstlastname,
user_is_firm,
)
                    VALUES
(
"'
.$this->AppDBSecure($this->AppSessionGetValue('user_lang')).'",
"'
.$this->AppDBSecure($_POST('reg_firm_user_firstname')).'",
"'
.$this->AppDBSecure($_POST('reg_firm_user_lastname')).'",
"'
.$this->AppDBSecure($_POST('reg_firm_user_gender')).'",
"'
.$this->AppDBSecure($_POST('reg_firm_user_birth_day')).'",
"'
.$this->AppDBSecure($_POST('reg_firm_user_birth_month')).'",
"'
.$this->AppDBSecure($_POST('reg_firm_user_birth_year')).'",
"'
.$this->AppDBSecure($_POST('reg_firm_user_email')).'",
"'
.$this->AppDBSecure(md5($_POST['reg_firm_user_pswd'])).'",
"'
.$this->AppDBSecure($SpecialCode).'",
"'
.$this->AppDBSecure(time()).'",
"'
.$this->AppDBSecure($_POST('reg_firm_user_firm_name')).'",
"'
.$this->AppDBSecure($_POST('reg_firm_user_www')).'",
"'
.$this->AppDBSecure($_POST('reg_firm_user_firstlastname')).'",
"y"
)
                    '
;
if(!
$this->AppDBQuery($SqlConfig))
  {
  $this->AppBody .= $this->AppShowError('Query error',__FILE__,__LINE__,$SqlConfig);
                        


Wybieramy nowo założone konto użytkownika w celu pozyskania jego numeru ID , według którego utworzymy odpowiedni katalog na pliki wgrywane na serwer .


Kod PHP:
$SqlConfig ' SELECT user_id FROM '.$this->DBPrefix.'user
WHERE
user_birth_day = "'
.$this->AppDBSecure($_POST['reg_firm_user_birth_day']).'"
AND
user_birth_month = "'
.$this->AppDBSecure($_POST['reg_firm_user_birth_month']).'"
AND
user_birth_year = "'
.$this->AppDBSecure($_POST['reg_firm_user_birth_year']).'"
AND
user_email = "'
.$this->AppDBSecure($_POST['reg_firm_user_email']).'"
'
;
if(!
$this->AppDBQuery($SqlConfig))
  {
  $this->AppBody .= $this->AppShowError('Query error',__FILE__,__LINE__,$SqlConfig);
                        }
$Result $this->AppDBResult();
$Rows $this->AppDBHowMany();
/*
Tworzymy katalog .
*/
mkdir('./upload/'.$Result[0]['user_id']);
/*
Teraz przygotujemy list e-mailowy zawierający w treści adres przeznaczony do aktywacji konta .
*/
$ContentOfLetter $Lang['reg_email_send'].$this->AppUrl.'index.php?app=account&user_email='.$_POST['reg_firm_user_email'].'&code='.$SpecialCode.' '.$Lang['reg_email_second_send']; 


Definiujemy kolejno adres , na który zostanie e-mail wysłany , e-mail , z którego przyjdzie on na konto , temat wiadomości , treść utworzoną w poprzedniej zmiennej oraz nagłówek , w jakim ma zostać wysłana wiadomość .


Kod PHP:
$this->AppSendTo $_POST['reg_firm_user_email'];
$this->AppSendFrom $this->DBConfigTable['admin_email'];
$this->AppSendTopic $Lang['reg_activation'];
$this->AppSendContent $ContentOfLetter;
$this->AppSendHeaders 'text'


Wysyłamy e-mail i drukujemy informację o poprawnej rejestracji .


Kod PHP:
$this->AppSendEmail();
echo 
$this->AppPrintSuccess($Lang['reg_account_created']); 


Na samym końcu można wyczyścić pola wypełnione przez użytkownika w formularzu .


Kod PHP:
$_POST['reg_firm_user_firstname'] = '';
$_POST['reg_firm_user_lastname'] = '';
$_POST['reg_firm_user_email'] = '';
$_POST['reg_firm_user_email_rec'] = '';
$_POST['reg_firm_user_pswd'] = '';
$_POST['reg_firm_user_pswd_rec'] = '';
$_POST['reg_firm_user_gender'] = '';
$_POST['reg_firm_user_birth_day'] = '';
$_POST['reg_firm_user_birth_month'] = '';
$_POST['reg_firm_user_birth_year'] = '';
$ClearDataRegistrationForm true;
}
else
  


Drukujemy komunikat informujący , iż taki e-mail znajduje się już w naszej bazie .


Kod PHP:
  echo $this->AppPrintWarning($Lang['l1_user_this_email_exists']);
}
}
else



Informacja wyświetlająca komunikat , iż hasło i jego potwierdzenie nie pasują do siebie .


Kod PHP:
echo $this->AppPrintWarning($Lang['l1_pswd_dont_match']);
}
}
else



Poinformowanie użytkownika , iż adres e-mailowy został podany niepoprawnie .


Kod PHP:
echo $this->AppPrintWarning($Lang['l1_email_bad']);
}
}
else
  


Wyświetlamy informację o niepasujących do siebie podanych adresach e-mailowych .


Kod PHP:
  echo $this->AppPrintWarning($Lang['l1_email_rec_dont_match']);
}
}



kiedy akcją po wysłaniu formularza było zarejestrowanie użytkownika , musimy przeprowadzić dokładne sprawdzenie pól formularza , a następnie jeżeli wszystkie pola będą posiadały odpowiednią wartość , można takiego użytkownika dodać .


Kod PHP:
  elseif($_POST['fb_action'] == 'register')
  


Pierwszą rzeczą jest sprawdzenie , czy któreś z wymaganych pól nie pozostało puste . Wówczas wyświetlamy użytkownikowi informację o konieczności jego wypełnienia .


Kod PHP:
  if($_POST['user_firstname'] == "" OR $_POST['user_lastname'] == "" OR $_POST['user_email'] == "" OR $_POST['user_email_rec'] == "" OR $_POST['user_pswd'] == "" OR $_POST['user_pswd_rec'] == "" OR $_POST['gender'] == "" OR $_POST['user_birth_day'] == "" OR $_POST['user_birth_month'] == "" OR $_POST['user_birth_year'] == "")
      {
      echo $this->AppPrintWarning($Lang['l1_not_fill_all_fields']);
    }
else



Sprawdzamy także , czy e-mail podany w formularzu pasuje do jego potwierdzenia .

 
Kod PHP:
if($_POST['user_email'] == $_POST['user_email_rec'])
  


Adres e-mailowy może zostać podany niepoprawnie i należy sprawdzić , czy odpowiada on założeniom składni .

 
Kod PHP:
if($this->AppValidateEmail($_POST['user_email']))
  


Teraz sprawdzamy , czy hasło podane w formularzu jest identyczne z jego potwierdzeniem .

 
Kod PHP:
if($_POST['user_pswd'] == $_POST['user_pswd_rec'])
  


Na samym końcu należy zadać zapytanie do bazy danych , czy użytkownik z takim adresem e-mailowym już się nie zarejestrował .

 
Kod PHP:
if(!$this->CheckIsEmail($_POST['user_email']))
  


Wszystkie warunki zostały pozytywnie zakończone . Teraz możemy przejść do generowania kodu aktywacyjnego do konta , które zostanie wysłane na e-mail podany podczas zakładania profilu .


Kod PHP:
  $ArrayToRand = array(
=> 'a'=> 'b'=> 'c'=> 'd'=> 'e'=> 'f'=> 'g'=> 'h'=> 'i'10 => 'j'11 => 'k'12 => 'l'13 => 'm'14 => 'n'15 => 'o'16 => 'p'17 => 'q'18 => 'r'19 => 's'20 => 't'21 => 'u'22 => 'w'23 => 'x'24 => 'y'25 => 'z'26 => '1'27 => '2'28 => '3'29 => '4'30 => '5'31 => '6'32 => '7'33 => '8'34 => '9'35 => '0'
);
$SpecialCode '';
for(
$i=0;$i<24;$i++)
  {
  $SpecialCode .= $ArrayToRand[array_rand('$ArrayToRand')];



Wpisujemy dane do bazy danych .


Kod PHP:
$SqlConfig 'INSERT INTO '.$this->DBPrefix.'user
(
user_lang,
user_firstname,
user_lastname,
user_gender,
user_birth_day,
user_birth_month,
user_birth_year,
user_email,
user_pswd,
user_code,
user_reg,
)
                    VALUES
(
"'
.$this->AppDBSecure($this->AppSessionGetValue('user_lang')).'",
"'
.$this->AppDBSecure($_POST('user_firstname')).'",
"'
.$this->AppDBSecure($_POST('user_lastname')).'",
"'
.$this->AppDBSecure($_POST('user_gender')).'",
"'
.$this->AppDBSecure($_POST('user_birth_day')).'",
"'
.$this->AppDBSecure($_POST('user_birth_month')).'",
"'
.$this->AppDBSecure($_POST('user_birth_year')).'",
"'
.$this->AppDBSecure($_POST('user_email')).'",
"'
.$this->AppDBSecure(md5($_POST['user_pswd'])).'",
"'
.$this->AppDBSecure($SpecialCode).'",
"'
.$this->AppDBSecure(time()).'",
)
                    '
;
if(!
$this->AppDBQuery($SqlConfig))
  {
  $this->AppBody .= $this->AppShowError('Query error',__FILE__,__LINE__,$SqlConfig);
                        


Wybieramy użytkownika na podstawie danych zapisanych do bazy . Potzrebny będzie nam jego unikalny numer identyfikacyjny .


Kod PHP:
$SqlConfig ' SELECT user_id FROM '.$this->DBPrefix.'user
WHERE
user_birth_day = "'
.$this->AppDBSecure($_POST['user_birth_day']).'"
AND
user_birth_month = "'
.$this->AppDBSecure($_POST['user_birth_month']).'"
AND
user_birth_year = "'
.$this->AppDBSecure($_POST['user_birth_year']).'"
AND
user_email = "'
.$this->AppDBSecure($_POST['user_email']).'"
'
;
if(!
$this->AppDBQuery($SqlConfig))
  {
  $this->AppBody .= $this->AppShowError('Query error',__FILE__,__LINE__,$SqlConfig);
                        }
$Result $this->AppDBResult();
$Rows $this->AppDBHowMany(); 


Tworzymy katalog na pliki graficzne , które użytkownik będzie wgrywał na własne konto .

Kod PHP:
mkdir('./upload/'.$Result[0]['user_id']); 


Tworzymy treść listu e-mail zawierającego link do aktywacji konta na naszej stronie .

Kod PHP:
$ContentOfLetter $Lang['reg_email_send'].$this->AppUrl.'index.php?app=account&user_email='.$_POST['user_email'].'&code='.$SpecialCode.' '.$Lang['reg_email_second_send']; 


Definiujemy kolejno : adres e-mailowy , na który mamy zamiar wysłać list , adres nadawcy z tablicy konfiguracyjnej , temat , treść oraz format listu .


Kod PHP:
$this->AppSendTo $_POST['user_email'];
$this->AppSendFrom $this->DBConfigTable['admin_email'];
$this->AppSendTopic $Lang['reg_activation'];
$this->AppSendContent $ContentOfLetter;
$this->AppSendHeaders 'text'


Wysyłamy list i wyświetlamy komunikat z informacją , że takie konto zostało poprawnie założone .


Kod PHP:
$this->AppSendEmail();
echo 
$this->AppPrintSuccess($Lang['reg_account_created']); 


Musimy jeszcze wyczyścić dane pochodzące z formularza przeznaczonego do rejestracji .


Kod PHP:
$_POST['reg_firm_user_firstname'] = '';
$_POST['reg_firm_user_lastname'] = '';
$_POST['reg_firm_user_email'] = '';
$_POST['reg_firm_user_email_rec'] = '';
$_POST['reg_firm_user_pswd'] = '';
$_POST['reg_firm_user_pswd_rec'] = '';
$_POST['reg_firm_user_gender'] = '';
$_POST['reg_firm_user_birth_day'] = '';
$_POST['reg_firm_user_birth_month'] = '';
$_POST['reg_firm_user_birth_year'] = '';
$ClearDataRegistrationForm true;
}
else
  


Informacja dla użytkowników  , którego adres e-mailowy jest już zapisany w bazie danych .


Kod PHP:
  echo $this->AppPrintWarning($Lang['l1_user_this_email_exists']);
}
}
else



W przypadku kiedy hasło i jego potwierdzenie nie pasują do siebie , także należy wyświetlić odpowiedni komunikat .


Kod PHP:
  echo $this->AppPrintWarning($Lang['l1_pswd_dont_match']);
}
}
else



Informacja o błędnie wpisanym adresie e-mailowym .


Kod PHP:
  echo $this->AppPrintWarning($Lang['l1_email_bad']);
}
}
else
  


Przekazujemy użytkownikowi komunikat o błędzie we wpisanych adresach e-mailowych , które nie pasują do siebie .

 
Kod PHP:
echo $this->AppPrintWarning($Lang['l1_email_rec_dont_match']);
}
}
}
?>
</div> 


Należy stworzyć tabelę , w której będzie wyświetlana treść całego systemu .

Kod PHP:
<table cellpadding="0" cellspacing="0" border="0" width="1000" width="1000" style="table_body">
<
tr>
<?
php 


Gdy użytkownik nie jest zalogowany , wyświetlamy tylko i wyłącznie wartość zmiennej zawierającej treść wygenerowaną przez system .

Kod PHP:
  if($this->AppSessionGetValue('user_id') == "")
  {
  echo '<td width="1000" style="border: solid 1px #cccccc;padding-left: 20px;padding-right: 20px;padding-bottom: 20px;background-color: #ffffff;">';
echo 
$this->AppBody;
echo 
'</td>';
}
else
  


Dana osoba została już zidentyfikowana . W przypadku gdyby wybrała pozycję gry z głównego menu , wystarczy pokazać jej treść z systemu , a dodatkowo po prawej stronie menu .


Kod PHP:
  if($app == 'playgame')
  {
  echo '<td width="800" style="border-width: 0px;padding-left: 5px;padding-right: 5px;padding-bottom: 20px;background-color: #ffffff;">';
echo 
$this->AppBody;
echo 
'</td>';
echo 
'<td width="200" style="border-width: 0px;padding-left: 5px;padding-right: 5px;padding-bottom: 20px;background-color: #ffffff;">';
$this->RightMenu();
echo 
'</td>';
}
else
  


Każdy inny przypadek , czyli aktywność użytkownika na dowolnej stronie oprócz gier , spowoduje wygenerowanie wyglądu z lewym menu , treścią oraz prawym menu .


Kod PHP:
  echo'<td width="200" style="border: solid 1px #3b5998;border-width: 0px;border-right-width: 1px;padding-left: 20px;padding-bottom: 20px;background-color: #ffffff;">';
$this->LeftMenu();
echo 
'</td>';
echo 
'td width="600" style="border-width: 0px;padding-left: 5px;padding-right: 5px;padding-bottom: 20px;background-color: #ffffff;">';
echo 
$this->AppBody;
echo 
'</td>';
echo 
'td width="200" style="border-width: 0px;padding-left: 20px;padding-right: 20px;padding-bottom: 20px;background-color: #ffffff;">';
$this->RightMenu();
echo 
'</td>';
}
}
?>
</tr>
</table>
</center>
<br />
</td>
</tr>
</table>
<br /> 


Drukujemy tabelę zawierającą informacje o stopce i zmianie języka .

Kod PHP:
<center>
<
table width="100%" cellpadding="0" cellspacing="0">
<
tr>
<
td style="background-color: #ffffff;">
<
center>
<
table width="1000" cellpadding="0" cellspacing="0">
<
tr>
<
td style="border-top: solid 1px #b3b3b3;font-size: 11px;">&copy; <?php echo $Lang['l1_copyright']; ?>
<?php
  
echo $Lang['up_a1_language_select']; 


Sprawdzamy , który język został ustawiony w sesji użytkownika , a następnie dla wybranego określamy odpowiedni styl pozwalający na jego wyróżnienie .


Kod PHP:
if($this->AppSessionGetValue('user_lang') == 'pl')
  {
  $LangPLIsChecker ' style="font-weight: bold;" ';
}
  if($this->AppSessionGetValue('user_lang') == 'en')
  {
  $LangENIsChecker ' style="font-weight: bold;" ';
}
echo 
'<a href="'.$this->AppUrl.'index.php?fb_action_lang=change&select_language_set=pl" '.$LangPLIsChecker.'>'.$Lang['u_p_a1_pl'].'</a>';
echo 
'<a href="'.$this->AppUrl.'index.php?fb_action_lang=change&select_language_set=en" '.$LangENIsChecker.'>'.$Lang['u_p_a1_en'].'</a>';
?>
</td>
<td style="border-top: solid 1px #b3b3b3;text-align: right;font-size: 11px;">
<?php echo $Lang['l1_copyright_by']; ?>
</td>
</tr>
</table>
</center>
</td>
</tr>
</table> 


Na końcu pliku umieszczamy krótką informację o prawach autorskich i aplikacji , która została skonstruowana w celach testowych .

Kod PHP:
<div style="width: 1000px;text-align: center;padding: 5px;color: #ffffff;background-color: #600000;">
<?
php echo $Lang['copyright_trademark']; ?>
</div>
</center>
</body> 

Wydrukuj tę wiadomość

  Katalogi upload i upload_tmp
Napisane przez: Admin - Wczoraj, 07:25 PM - Forum: Katalogi upload i upload_tmp - Brak odpowiedzi

Pierwszy folder upload_tmp będzie zawierał wszyskie pliki wgrane kiedykolwiek przez użytkowników . Zostaną one zamieszczone w tym folderze , aby później można było je przeskalować i skopiować do katalogów , które posiadają odrębni użytkownicy . Ponieważ folder będzie zawierał treści tymczasowe , można go co kilka dni czyścić .
Przyszła pora na stworzenie katalogu upload . Katalog będzie zawierał podkatalogi powiązane z numerem identyfikacyjnym użytkownika w systemie . Numer jest przechowywany w polu AUTO_INCREMENT w tabeli z danymi członków , którzy dołączyli do wspólnoty społecznościowej . Wszystkie foldery są tworzone automatycznie przez system , więc nie musimy sobie zaprzątać nimi głowy . Przechowywane są tutaj wszystkie grafiki , które zostały wgrane do systemu , a później przetworzone przez system , aby posiadały odpowiednie rozmiary .
Bardzo ważne jest , jeżeli będziemy umieszczali naszą aplikację w systemie Unix / Linux , nadanie odpowiednich praw dla katalogów . Prawa te musimy ustawić na wartość 0777 , czyli umożliwiającą zapis / odczyt / wykonanie dla każdego użytkownika . Kiedy będziemy wgrywać oprogramowanie na serwer , należy o tym fakcie pamiętać . W innym przypadku większość funkcji powiązanej z grafiką nie będzie działać , a system będzie zgłaszał błędy z informacją , iż nie może zapisać pliku do odpowiedniego katalogu z powodu braku uprawnień .
Zmiany praw możemy dokonać za pomocą specjalnego narzędzia w programie służącym do wysyłania plików poprzez protokół FTP bądź wpisując w jego linię poleceń odpowiednie komendy .

Kod PHP:
chmod 777 upload_tmp
chmod 777 upload
chmod 777 upload
/* 

Wydrukuj tę wiadomość

  Obrazy powiązane z aplikacją
Napisane przez: Admin - Wczoraj, 07:22 PM - Forum: Obrazy powiązane z aplikacją - Brak odpowiedzi

Specjalny katalog fb_images zawiera domyślne obrazy , takie jak obrazki profilu użytkownika (małe / średnie / duże ) przeznaczone do wyświetlania przy ich profilu , domyślny obraz dla galerii zdjęć , logo oraz grafiki umieszczone na przyciskach w menu po lewej stronie , które będziemy widzieć po zalogowaniu na swoje konto .

Wydrukuj tę wiadomość

  Przekształcanie obrazów
Napisane przez: Admin - Wczoraj, 07:21 PM - Forum: Przekształcanie obrazów - Brak odpowiedzi

Opublikowana na zasadach GNU General Public License biblioteka SimpleImage dostosowana już do wymagań PHP 5 . Pozwala na tworzenie miniatur z obrazów przy użyciu zaledwie jednej metody po załadowaniu klasy do pliku .

Wydrukuj tę wiadomość

  Jquery i Prototype
Napisane przez: Admin - Wczoraj, 07:19 PM - Forum: Jquery i Prototype - Brak odpowiedzi

Pozwalają na stworzenie aplikacji wykorzystującej technologię AJAX w bardzo prosty sposób . Wystarczy bowiem jedynie przeczytać dokumentacje obu bibliotek , a następnie stosować ich funkcje w określony sposób.

Wydrukuj tę wiadomość

  Pokazywanie obrazów z użyciem LightBox
Napisane przez: Admin - Wczoraj, 07:18 PM - Forum: Pokazywanie obrazów z użyciem LightBox - Brak odpowiedzi

Dzięki opracowaniu biblioteki LightBox tworzenie galerii wraz z powiększaniem obrazu do pełnego rozmiaru jest o wiele prostsze niż tworzenie tego osobnych okien czy własnego mechanizmu .

Wydrukuj tę wiadomość

  Pliki języków
Napisane przez: Admin - Wczoraj, 07:10 PM - Forum: Pliki języków - Brak odpowiedzi

Kod PHP:
<?php 

Kod PHP:
$Lang['null_fields'] = 'Treść z formularza nie została dodana - pozostały <strong>puste</strong> pola';
$Lang['error404_title'] = 'Błąd 404 - brak żądanej strony';
$Lang['error404_body'] = 'Błąd 404. Nie można wyświetlić strony, której żądasz ponieważ podana strona nie istnieje.';
$Lang['null_fields'] = 'Treść z formularza nie została dodana - pozostały <strong>puste</strong> pola';
$Lang['bad_data'] = 'Podane informacje są niepoprawne';
$Lang['req_fields'] = 'Pola oznaczone * są wymagane'


Postanowiono nie zamieszczać reszty wersji językowej , ponieważ nie ma w tym pliku niczego ciekawego , czego nie można byłoby przejrzeć samemu . Należy jeszcze utworzyć plik z tłumaczeniem na wersję angielską i strona będzie funkcjonować w dwóch językach , które stworzyliśmy .

Kod PHP:
?>

Wydrukuj tę wiadomość