coyote_forum

Tabela coyote_forum przechowuje informacje dotyczące działów na forum. Należy w tym wypadku rozjaśnić pojęcie: dział forum oraz kategoria. Całe forum może być podzielone na kategorie (np. Programowanie, czy Inne), a te z kolei mogą zawierać działy (Delphi/Pascal, Off-Topic). Tabela coyote_forum przechowuje informacje zarówno o działach jak i kategoriach.

Tabela 6.4. Struktura tabeli coyote_forum

Nazwa kolumny Typ kolumny Opis
forum_idSMALLINT(2)ID rekordu, działu lub kategorii. Kolumna auto_increment
forum_parentSMALLINT(2)Kolumna przechowuje ID działu - rodzica
left_idSMALLINT(2)Wartość służąca do wyświetlania listy kategorii i działów (opis poniżej)
right_idSMALLINT(2)Wartość służąca do wyświetlania listy kategorii i działów (opis poniżej)
forum_subjectVARCHAR(30)Nazwa działu/kategorii
forum_descriptionVARCHAR(255)Krótki opis działu, wartość brana pod uwagę tylko w przypadku działu forum
forum_urlVARCHAR(100)Ponieważ dział na forum może służyć jako odnośnik do strony WWW, w tej komórce może znaleźć się adres URL
forum_topicsSMALLINT(6)Ilość tematów znajdujących się w danym dziale
forum_postsMEDIUMINT(6)Ilość postów znajdujących się w dziale
forum_last_post_idMEDIUMINT(8)ID ostatnio napisanego posta, który został umieszczony w tym dziale
forum_lockTINYINT(1)Wartość 1 oznacza, iż dział jest zablokowany (nie można w nim umieszczać postów)
forum_orderTINYINT(2)Według tej kolumny odbywa się sortowanie działów i kategorii na stronie
forum_rulesTEXTW tej komórce można umieścić krótką notkę, np. z regulaminem danego forum. Zostanie ona wyświetlona na stronie w spisie wątków danego działu (plik root/forum/forum.php)
forum_typeTINYINT(1)Typ rekordu (0 - dział na forum, 1 - kategoria forum, 2 - forum stanowi link, odnośnik)

Konstrukcja forum umożliwia tworzenie subdziałów oraz subkategorii. Tym samym zachodzi konieczność wyświetlania drzewa prezentującego zależność kategorii i działów. Stąd w tabeli znajdują się pola forum_parent, left_id oraz right_id. Oczywiście można by wyświetlać drzewko posługując się algorytmem rekurencji, jednak zwiększy to ilość zapytań do bazy. Stąd pola left_id oraz right_id, które umożliwiają wyświetlenie drzewka przy pomocy jednego zapytania. Tymi polami nie musisz się przejmować, ich zawartość zostanie wygenerowana automatycznie po użyciu skryptu root/install/devel/generate_tree.php. Warunkiem jest odpowiednie ustawienie zawartości komórki forum_parent.

Project Coyote umożliwia utworzenie specjalnego działu forum, który będzie odnośnikiem do wybranej strony WWW. W takim wypadku w kolumnie forum_url należy podać adres strony na którą system będzie przekierowywał w wyniku wejścia do danego działu. W takim wypadku, kolumna forum_type musi być ustawiona na 2. Kolumna forum_topics będzie wówczas zliczała ilość przekierowań.

Notatka

W pliku root/include/const.php znajdują się stałe FORUM_POST, FORUM_CAT oraz FORUM_LINK, które odpowiadają typom rekordów (dział na forum, kategoria, odnośnik).