RkBlog

Hardware, programming and astronomy tutorials and reviews.

IPB SDK - integrowanie IPB

Opis IPB SDK - klasy umożliwiającej obsługę forum IPB, a tym samym integrowanie forum z innymi skryptami, czy też pisanie własnych ściśle zintegrowanych ze skryptem forum.

IPB SDK możemy pobrać ze strony projektu. Klasy te umożliwiają stworzyć silnie zintegrowany z IPB skrypt lub zintegrować już istniejący. W prosty sposób otrzymamy dostęp do systemu logowania i samych userów forum, właściwości forum takich jak BBcode, ankiety, szukanie, posty, fora i wiele więcej. Po ściągnięciu zalecam zapoznanie się ze świetną dokumentację (docs/index.html). Tutaj omówię tylko podstawy oraz kilka zastosowań klas SDK. Znajomość PHP jest wymagana.

instalacja klas

Na początek stwórz katalog np. "test" a w nim "forum". W katalogu forum zainstaluj IPB :) Następnie do katalogu test rozpakuj paczkę klas SDK. Otwórz ipbsdk_conf.inc.php i edytuj jeżeli trzeba ścieżki do forum:
$root_path = '/path/to/your/invision/board';
$board_url = 'http://localhost';
W naszum przypadku $root_path będzie po prostu /forum. Następnie zrób w katalogu test plik php, np. index.php. Teraz pokażę jak "inicjalizuje" się klasy SDK i jak wykorzystywać proste metody tych klas. Wpisz do index.php
<?php

require_once 'ipbsdk_class.inc.php';
$SDK =& new IPBSDK();
Wciągnięcie pliku klasy za pomocą require wykonuje się tylko raz (w przypadku skryptów wrzucamy tą komentą do pliku konfiguracyjnego, który jest załączony w całym skrypcie). Klasę inicjuje się za pomocą komendy podanej w drugiej linii. Odpalenie pliku index.php da nam obecnie czystą stonę... Rozbudujemy nasz kod. W readme klas SDK zajżyj do "Function Reference" -> "BBcode" -> "bbcode2html".
<?php

require_once 'ipbsdk_class.inc.php';
$SDK =& new IPBSDK();

$text = 'to jest tekst, zwykły, z mordą :) hm... lubię kursywę... zrobię ją tak [i]hehehehe[/i] no to<br />koniec';
echo $text;
echo '<hr>';

$text2 = $SDK->bbcode2html($text);
echo $text2;
Zastosowaliśmy tutaj metodę parsującą bbcode w łańcuchu (tekście). W readme metodę bbcode2html wykorzystali bezpośrednio w echo, tutaj poprzez zmienną, co częściej będziemy stosować w skryptach. echo $text wyświetli nam tekst będący w tej zmiennej, natomiast echo $text2 też wyświetli nam tekst z tej zmiennej ale ":)" zostanie zastąpione na mordę a tekst między [i] i [/i] będzie napisany kursywą... zobacz sam otwierając index.php w przeglądarce.... Teraz sprawdź czy jesteś zalogowany, jeżeli nie zaloguj się :) I do naszego index.php dorzuć taki kod:
<?php

echo '<hr><hr>';

if ($SDK->is_loggedin()) {
echo 'jesteś zalogowany';
} else {
echo 'jesteś niezalogowany';
}
RkBlog

11 July 2008;

Comment article