Pomysł i wykonanie:
Gustave Dahl 2003Integracja użytkowników:
Ken Arnold 2004Modyfikacja dla PHP-Nuke:
Coldcut (P.A)CyberTipps.com 2004-2006 PHP-Nuke 6.5 - 7.9 Chatserv's 3.2 Patch dodany
Oryginalna galeria 4images z
www.4homepages.de (C) 2002-2006 4homepages.de
WstępW związku z zapytaniem, o integrację 4images z popularnym również w Polsce, CMS'em PHP-Nuke, pragnę przedstawić instalację i integrację tych dwóch skrptów, autorswa
Gustave Dahl i
Ken Arnold.
DemoPełna instalacja składa się z czterech części:
1 część - Instalacja 4images w PHP-Nuke jako moduł2 część - Integracja użytkowników 4images w PHP-Nuke3 część - Dalsze ustawienia galerii 4images 4 część - 4images Design (wygląd graficzny)Uwaga!Aby integracja funkcjonowała prawidłowo należy wygospodarować sobie, odpowiednią ilość czasu. Nie jest to zadanie na 2-4 godziny, pod warunkiem że pójdzie wszystko bez większych problemów, średnio zaawansowani koderzy muszą liczyć na około 10 godzin, lub więcej.
Natomias jeżeli chcemy rozłożyż to na dwa, lub trzy dni, należy dokończyć daną część instalacji, a nową rozpocząć w następnym terminie.
Odradzam wszystkim tym, którzy są niecierpliwi. Przed rozpoczęciem integracji należy wykonać backup (kopię zapasową) bazy danych, oraz wszystkich plików, aby w razie problemów powrócić do stanu wyjściowego.
Wymagania systemowe:- Webserwer lub Webhosting konto (zalecane Linux/Apache)
- PHP wersja 4.0.5 lub nowsza (zalecane jest użycie, obecnej stabilnej wersji).
- Aby galeria 4images funkcjonowała prawidłowo, safe_mode powinno być deaktywowane (safe_mode = off w php.ini) - [funkcjonuje również z save_mode =on.]
- MySQL wersja 3.23 lub nowsza (zalecana jest MySQL wersja 3.23.33)
- PHP-Nuke System 6.5 - 7.9 (testowano przez autorów)
Skrypty PHP-Nuke można pobrać z ... (tutaj mam problem bo są trzy polskie portale wspierające PHP-Nuke, w związku z tym że nie specjalizuę się w PHP-Nuke i nie chcę propagować tylko jednego, podam wszystkie)
Natomias z galerią 4image, nie mam takiego problemu.
Oryginalny plik można pobrać z:
lub wraz z polonizacją
4images i PHP-Nuke - moduł i integracja1 część - Instalacja 4images w PHP-Nuke jako modułKrok 1.W uprzednio zainstalowanym skrypcie PHP-Nuke, stworzymy nowy folder "
Gallery", w katalogu
modules,
ścieżka
/php_nuke/modules/Gallery.
Do nowo stworzonego folderu załadujemy, rozpakowane pliki 4images, nadając nowe prawa dostępu (chmod) odpowiednim katalogom i plikom.
Wpisując w przeglądarce internetowej
http://twoja_domene.pl/modules/Gallery, przystąpimy do procesu instalacyjnego galerii 4images.
Patrz instalacja 4images.WskazówkaPrefix_ wskazany przez 4images pozostawiamy bez zmian. (do tematu prefix_ powrócimy )
Krok 2.4images jest skryptem samodzielnym i możemy podciągnąć go nawet do kategorii CMS'ów, ale z pewnością nie określimy go jako moduł. Aby móc go zintegrować z PHP-Nuke, musimy nadać galerii 4images, nazwijmy to właściwości modułu.
W tym celu musimy zmienić następujące pliki:
- /php_nuke/modules/Gallery/includes/page_header.php
- /php_nuke/modules/Gallery/includes/page_footer.php
- /php_nuke/modules/Gallery/index.php
- /php_nuke/modules/Gallery/captcha.php
- /php_nuke/modules/Gallery/categories.php
- /php_nuke/modules/Gallery/details.php
- /php_nuke/modules/Gallery/download.php
- /php_nuke/modules/Gallery/lightbox.php
- /php_nuke/modules/Gallery/login.php
- /php_nuke/modules/Gallery/logout.php
- /php_nuke/modules/Gallery/member.php
- /php_nuke/modules/Gallery/postcards.php
- /php_nuke/modules/Gallery/register.php
- /php_nuke/modules/Gallery/rss.php
- /php_nuke/modules/Gallery/search.php
- /php_nuke/modules/Gallery/top.php
1.Edytuj plik
page_header.php,
ścieżka
/php_nuke/modules/Gallery/includes/page_header.php i odszukaj (mniej więcej wiersz 33)
$site_template->cache_templates($template_list);
i zmień go na:
Dla PHP-Nuke 6.5 – 6.9 ( Patch-Level do 2.8 )if (!stristr($_SERVER['SCRIPT_NAME'], "modules.php")) {
die ("You can't access this file directly...");
}
if (!isset($mainfile)) {include("mainfile.php");}
$index = 0;
include("header.php");
OpenTable();
Dla PHP-Nuke 7.0 – 7.9 ( od Patch-Level 2.9 ) if ( !defined('MODULE_FILE') )
{
die("You can't access this file directly...");
}
define('INDEX_FILE', false);
include("header.php");
OpenTable();
2.Edytuj plik
page_footer.php, ścieżka
/php_nuke/modules/Gallery/includes/page_footer.php i odszukaj (mniej więcej wiersz 75)
echo pack("V", $gzip_size);
}
i dodaj za nim
CloseTable();
include 'footer.php';
ob_end_flush();
3.Następną sprawą jest zmiana definicji otwierania plików 4images, z poziomu PHP_Nuke.
W tym celu Edytuj plik
index.php,
ścieżka
/php_nuke/modules/Gallery/index.phpna samym początku odszukaj
define('ROOT_PATH', './');
i zmiań go na
define('ROOT_PATH', 'modules/Gallery/');
Tą czynność powtarzamy w następujących plikach,
/php_nuke/modules/Gallery/... :
- captcha.php
- categories.php
- details.php
- download.php
- lightbox.php
- login.php
- logout.php
- member.php
- postcards.php
- register.php
- rss.php
- search.php
- top.php
Po zakończeniu tej operacji, możemy już, podziwiać 4images jako wbudowany moduł w PHP-Nuke,
wywołując
modules.php?name=Gallerynp.
http://www.twoja_domena/modules.php?name=GalleryJednakże odnośniki w galerii 4images nie funkcjonują tak ja powinny.
Zmaina ścieżek w odnośnikach będzie następnym punktem naszej integracji.
W tym celu przygotujcie sobie duży termos kawy (nie palić bo szkodzi) i dużą tabliczkę czekolady, dla poprawienia humoru. Wyłączcie "komórki" i zamknijcie się w pokoju.
4.Aby móc sterować galerią 4images z poziomu PHP-Nuke, musimy dokonać zmiany ścażek do plików.
I tak, przyjmijmy za standard "
NUKE_PATH"
Edytuj w tym celu
global.php,
ścieżka
/php_nuke/modules/Gallery/global.php,
odszukaj (na początku)
if (!defined('ROOT_PATH')) {
die("Security violation");
}
i dodaj za tym kodem
define('NUKE_PATH','modules.php?name=Gallery&file=');
W tym miejscu zaczyna się najgorsza praca, "złodziej czasu".
Bardzo uważnie proszę podejść do tej części.
Bardzo szybko możemy popełnić błąd. (Ja podchodziłem trzy razy)
Zaczniemy z plikiem
functions.php,
ścieżka
/php_nuke/modules/Gallery/includes/functions.php,
odszukaj (mniej więcej wiersz 319)
(ROOT_PATH."search.php?search_keywords=".urlencode($val)
i zmień go na
(NUKE_PATH."search&search_keywords=".urlencode($val)
to znaczy, że wszystkie ścieżki w odsyłaczach PHP, które można kliknąć,
musz być zmienione:
z "
ROOT_PATH" na "
NUKE_PATH" i z "
.php?" na "
&"
Pod żednym pozorem nie mogą być zmienione następujące definicje:include(ROOT_PATH.'global.php');require(ROOT_PATH.'includes/sessions.php');$user_access = get_permission();include(ROOT_PATH.'includes/page_header.php');oraz
ścieżki do katalogu admina, np.
$site_sess->url(ROT_PATH."admin/index.php?goto="W następujących plikach odnajdziesz definicje ścieżek, podlegające powyższym zmianą:
- /php_nuke/modules/Gallery/includes/functions.php
- /php_nuke/modules/Gallery/includes/page_header.php
- /php_nuke/modules/Gallery/includes/sessions.php
- /php_nuke/modules/Gallery/categories.php
- /php_nuke/modules/Gallery/details.php
- /php_nuke/modules/Gallery/global.php
- /php_nuke/modules/Gallery/index.php
- /php_nuke/modules/Gallery/login.php
- /php_nuke/modules/Gallery/lightbox.php
- /php_nuke/modules/Gallery/logout.php
- /php_nuke/modules/Gallery/member.php
- /php_nuke/modules/Gallery/postcards.php
- /php_nuke/modules/Gallery/register.php
- /php_nuke/modules/Gallery/rss.php
- /php_nuke/modules/Gallery/search.php
- /php_nuke/modules/Gallery/top.php
Dalej, w tych samych plikach dokonasz zminy prostych ścieżek PHP:
np.
$site_sess->url(ROOT_PATH."lightbox.php".$page_url)
zmień na
$site_sess->url(NUKE_PATH."lightbox".$page_url)
tak, aby odsyłacze mogły być widoczne w PHP-Nuke.
Jeżeli jakaś ścieżka, zostanie niezauważywszy pominięta, będziesz poinformowany poprzez wyświetlony błąd.
Część pierwsza jest zakończona, jeżeli coś nie wyszło, "nie zwieszajcie zaraz głowy", spróbujcie ponownie.

[PS. Jeżeli do tego punktu jest wszystko poprawnie wykonane, proponuję wykonać backup plików

]