---------------------------------------------------------
PHP-FUSION 7 - INFUSION DEVELOPMENT KIT
---------------------------------------------------------
PHP-Fusion 7 system dodatkw zwanych Infusions (Infusionami). Infusion dostarcza instalacj przy pomocy jednego kliknicia, ktra cakowicie nie wymaga umiejtnoci programistycznych od kocowego uytkownika. 
Nim zaczniesz prace nad Twoim infusionem, po pierwsze, pomyl o tym, co chcesz zrobi. Twj Infusion bdzie panelem czy oddzieln stron? Bdzie potrzebowa wasnego panelu administracyjnego? Bdzie wymaga dodatkowych tabel w bazie danych? System infusionw moe dostosowa si do wczeniej wymienionych opcji.
Kluczow czci jest nazwa katalogu, ktry bdzie zawiera Twojego infusiona. S dwie opcje, jeli Twj infusion bdzie panelem, to nazwa katalogu musi na kocu zawiera fraz '_panel' (bez cudzysoww)'. Nie potrzebujesz tego robi, jeli Twj Infusion nie wykorzystuje paneli.
Plikiem, ktry musi si znajdowa w dowolnym infusionie, to plik instalacyjno- informacyjny o nazwie 'infusion.php'. Jest on automatycznie wykrywany przez Zarzdzanie Infusionami w Panelu administracyjnym PHP-Fusion. Przykadow kopi infusion.php znajdziesz w niniejszej paczce SDK.
Spokojnie moesz szuka pomocy na forum w naszym repozytorium moduw phpfusion-mods.com albo w naszym centrum testowym beta.phpfusion-mods.com. Polscy uytkownicy mog szuka wsparcia na forum Oficjalnego Polskiego Supportu PHP- Fusion - php-fusion.pl. 
---------------------------------------------------------
ZAWARTO INFUSION DEVELOPMENT KIT
---------------------------------------------------------

new_infusion.php - szablon strony
new_infusion_panel.php - szablon panelu
new_infusion_admin.php - szablon panelu admina
infusion.php - plik instalacyjny
infusion_db.php - definicja tabeli w bazie danych

---------------------------------------------------------
RӯNICE POMIDZY V6 I V7
---------------------------------------------------------

PHP Fusion Core 7 Edition przeszo rozlege zmiany, dlatego te infusiony dla
v6 nie s kompatybilne z v7, tylko wymagaj wielu zmian. Oto lista najbardziej wymaganych zmian:

---------------------------------------------------------
1. Zmiany w infusion.php
---------------------------------------------------------

Infusiony w v7 mog posiada przerne panele administracyjne oraz odnoniki w
nawigacji. Kady panel administracyjny i linki s definiowane przy pomocy 
tabeli.

Dla panelu admina wykorzystujemy $inf_adminpanel[] np:

$inf_adminpanel[1] = array(
"title" => $locale['xxx_admin1'],
"image" => "image.gif",
"panel" => "filename.php",
"rights" => "EG"
);

Jako mona zobaczy, dostpne s 4 elementy:

title - nazwa, pod ktr infusion bdzie widziany w Panelu administracyjnym.
image - grafika wywietlana w Panelu administracyjnym.
link - nazwa pliku Panelu administracyjnego Infusiona.
rights - infusiony do v7 musz mie unikaln warto praw dostpu, moe ona 
zawiera do 4 liter (wycznie duych)

Odnoniki w menu definiuje si podobnie, przy uyciu tablicy 
$inf_sitelink[] np.:

$inf_sitelink[1] = array(
"title" => $locale['xxx_link1'],
"url" => "filename.php",
"visibility" => "0"
);

Ponownie mamy 3 dostpne elementy:

title - nazwa odnonika widocznego w menu nawigacyjnym.
url - adres do pliku infusiona
visibility - definicj dostpnoci (0, 101, 102 or 103).

---------------------------------------------------------
2. Kod nagwka i stopki
---------------------------------------------------------

V7 zawiera nowy silnik skrek, ktry wymaga dodania mniejszej iloci kodu.

Nagwek strony w v6 skada si z nastpujcego kodu:

Zwyka strona:

require_once "../../maincore.php";
require_once BASEDIR."subheader.php";
require_once BASEDIR."side_left.php";

Strona w Panelu Administracyjnym:

require_once "../../maincore.php";
require_once BASEDIR."subheader.php";
require_once ADMIN."navigation.php";

---------------------------------------------------------

Dla v7 kod wyglda tak:

Zwyka strona:

require_once "../../maincore.php";
require_once THEMES."templates/header.php";

Strona w Panelu Administracyjnym:

require_once "../../maincore.php";
require_once THEMES."templates/admin_header.php";

---------------------------------------------------------

Kod odpowiedzialne za stopk rwnie zostay zmienione w v7.

Stopka w v6 zawieraa nastpujcy kod:

Zwyka strona:

require_once BASEDIR."side_right.php";
require_once BASEDIR."footer.php";

Strona w Panelu Administracyjnym:

echo "</td>\n";
require_once BASEDIR."footer.php";

---------------------------------------------------------

Dla v7 te zostao to zmienione na:

Zwyka strona:

require_once THEMES."templates/footer.php";

Strona w Panelu Administracyjnym:

require_once THEMES."templates/admin_footer.php";

---------------------------------------------------------
3. Zmiany w kontroli IN_FUSION
---------------------------------------------------------

Include'y lub pliki paneli sprawdzaj czy IN-FUSION zostao zdefiniowane dla
zabezpieczenia przed uruchomieniem ich spoza PHP-Fusion, to bardzo wane
ze wzgldw bezpieczestwa. W v6 korzystalimy z przekierowania w nagwku, ale
potrafio to istotnie zwikszy obcienie serwera. Zatem, w v7, przekierowanie w
nagwku zostao zastpione przez polecenie die();

Przykadowa funkcja dla v6:

if (!defined("IN_FUSION")) { header("Location: ../../index.php"); exit; }

Obecnie metoda ta wyglda nastpujco:

if (!defined("IN_FUSION")) { die("Access Denied"); }

---------------------------------------------------------
4. Funkcje usunite z v7
---------------------------------------------------------

Kilka funkcji zostao usunitych z v7:

fallback(); teraz poczona z redirect();

tablebreak(); obecnie automatyczna, cakowicie usunita z v7.

---------------------------------------------------------
5. Uycie zmiennych Super Globalnych
---------------------------------------------------------

Wraz ze zwikszeniem nacisku na popraw bezpieczestwa, v7 zaprojektowano do
dziaania z wyczonym register globals. Oznacza to, e musisz korzysta ze
zmiennych super globalnych $_GET, $_POST, $_COOKIE itd. W praktyce powiniene
korzysta z nich w nastpujcy sposb:

$_GET jest uywane dla zmiennych przekazywanych w URL czy URI
$_POST jest uywane dla ukrycia zmiennych przesyanych z formularzy

Jest jeszcze wiele innych zmiennych super globalnych, ktrych moesz uy,
powysze s najczciej wykorzystywanymi.
Zajrzyj do podrcznika PHP (http://php.net) w celu uzyskania wikszej iloci
informacji.

Nie zapomnij o weryfikacji WSZYSTKICH pl, do ktrych uytkownik moe wprowadzi 
dane, pominicie ktrego z nich moe skutkowa wamaniem, w ktrego wyniku 
moesz utraci dane.

---------------------------------------------------------
6. Multisite
---------------------------------------------------------
Now funkcjonalnoci w V7 jest tzw. multisite. Pozwala on na uruchomienie
wielu instalacji PHP-Fusion na jednej bazie danych (cakowicie lub czciowo).
Gwne tabele w bazie danych s zdefiniowane w pliku /includes/multisite.php.
Kady infusion posiadajcy tabel w bazie danych, musi je mie zadeklarowane w pliku infusion_db.php (szablon znajduje si w paczce).

Przykadowe zapytania do tabeli users w v6:

$result = dbquery("SELECT * FROM ".$db_prefix."users");

$rows = dbcount("(*)", "users");

Tak zostao to zrobione w V7:

$result = dbquery("SELECT * FROM ".DB_USERS);

$rows = dbcount("(*)", DB_USERS);