Unofficial modifications
nieoficjalne modyfikacje for?w phpBB by Przemo

Dla pocz?tkuj?cych - Kilka phpBB na jednej bazie o wsp?lnych u?ytkownikach

paszczak000 - Pon 01 Maj, 2006
Temat postu: Kilka phpBB na jednej bazie o wsp?lnych u?ytkownikach
Cel: chcemy kilka for phpBB korzystaj?cych ze wsp?lnej tabeli u?ytkownik?w, na 1 bazie danych.
1. Zainstaluj w oddzielnych katalogach odpowiedni? ilo?? for phpbb. Dla uproszczenia forum "g??wne", czyli to kt?re b?dzie "dawa?o" dane o userach innym forom zainstaluj bez prefixu a je?eli musisz to daj np. "main".
2. W podleg?ych forach otw?rz includes/constants.php i znajd? list? tabel i usu? $table_prefix z poni?szych definicji nazw tabel:

Kod
define('GROUPS_TABLE', 'groups');
define('USER_GROUP_TABLE', 'user_group');
define('USERS_TABLE', 'users');
define('SESSIONS_TABLE', 'sessions');


Je?eli forum g??wne ma prefix to dodaj go do ka?dej nazwy, np przy prefixie "main" b?dziemy mie? "main_groups". Zrobione, powinno wszystko dzia?a?. Teraz zr?b kopi? zapasow? ca?ej bazy (je?eli wszystko dzia?a). Nast?pnie w celach porz?dkowych wywal z podleg?ych for tabele:

Kod
podleg?y_users;
podleg?y_user_group;
podleg?y_groups;
podleg?y_sessions;


Kopia by?a po to ?e tutorial na oficjalnej stronie phpbb ostrzega ?e nowe wersje mog? si? domaga? tych tabel (mimo i? s? nieu?ywane). Je?eli dzia?a nadal to fajnie, je?eli co? si? rzuca to usu? wszystkie tabele i wrzu? zrobion? wcze?niej kopi? bazy danych. W przypadku phpbb by przemo powinno r?wnie? dzia?a?.

Mo?na te? zrobi? to na 1 kopii phpBB ale musimy dysponowa? domenami/subdomenami (nie aliasami). W to samo miejsce (gdzie jest forum) kierujemy kilka domen/subdomen, tak by ka?da otwiera?a zainstalowane phpbb. Nast?pnie wykonaj kopi? bazy danych tego forum, otw?rz w wordpadzie i zmie? prefix ("zamie? wszystko") na inny. Zapisz i wrzu? kopi?, zmie? prefix i wrzu?.. a? osi?gniesz liczb? kopii r?wn? ilo?ci rz?danych for. Nast?pnie edytuj includes/constants.php jak podano. Nast?pnie znajd? (chyba config.php) miejsce gdzie zdefiniowany jest $table_prefix.

Kod
$table_prefix = 'prefixglowny';


Zamie? na:

Kod
IF ($_SERVER[SERVER_NAME]=='domena glowna.pl') {
$table_prefix = 'prefixglowny';
}
ElseIF($_SERVER[SERVER_NAME]=='subdomena1.pl')
{
$table_prefix = 'prefixglowny';
}
... powtarzanie elseif z podaniem kolejnych sub/domen i prefix?w
else
{
die('bl?d phpbb multisites - brak prefixu dla tej domeny');
}


Zanim to zrobisz zr?b now? stron? w php o kodzie:

Kod
echo "$_SERVER[SERVER_NAME]";


Wrzu? do katalogu z phpbb i odpal w przegl?darce poprzez wszystkie sub/domeny. Je?eli zwraca nazw? domeny to dobrze, skopiuj go do powy?eszgo kodu z IFem. Je?eli jest czysto to zmie? $_SERVER[SERVER_NAME] na $SERVER_NAME i sprawd?.... gdy wszystko dzia?a wchodz?c przez dan? sub/domen? na nasze forum odczytane zostan? tabele o okre?lonym prefixie, mimo i? wszystkie sub/domeny kieruj? w to samo miejsce, na ten sam zestaw plik?w phpbb :)

Artyku? pochodzi ze strony http://www.cms.rk.edu.pl/ a autorem jest Riklaunim


Powered by phpBB modified by Przemo © 2003 phpBB Group