Pierwszy
<?php $phpbb_root_path = '../forum/'; include($phpbb_root_path . 'extension.inc'); include($phpbb_root_path . 'common.'.$phpEx); $userdata = session_pagestart($user_ip, PAGE_INDEX); init_userprefs($userdata); include('admin_urls.php'); include('head.php'); if( $userdata['session_logged_in'] ){ if($userdata['user_level'] == ADMIN){ include('admin_index.php'); } else{ include($_GET['module'].'php'); //W tym momencie załącza jakiś moduł z $_GET['module'] } else{ //Moduł nie istnieje } } } else{ } } else{ } ?>
2 Plik, np. odpowiedzialny za kategorie artykułów ładowany do index.php
<?php $phpbb_root_path = '../forum/'; include($phpbb_root_path . 'extension.inc'); include($phpbb_root_path . 'common.'.$phpEx); $userdata = session_pagestart($user_ip, PAGE_INDEX); init_userprefs($userdata); if( $userdata['session_logged_in'] ){ if($userdata['user_level'] == ADMIN){ //Jakis fragment kodu odpowiadajacy za kategorie } else{ } } else{ } ?>
Jak widzicie mam jeden skrypt główny (index.php) w panelu admina. Jeśli nie ma żadnego modułu do załadowania domyślnie ładuje admin_index.php (indeks administracji). Jeśli jednak jest coś w $_GET['module'] to ładuje ten plik. Plik modułu oczywiście ma być dostępny tylko dla administratora, dlatego też umieszczam w nim fragment kodu odpowiedzialny za integrację phpbb z moim skryptem czyli:
<?php $phpbb_root_path = '../forum/'; include($phpbb_root_path . 'extension.inc'); include($phpbb_root_path . 'common.'.$phpEx); $userdata = session_pagestart($user_ip, PAGE_INDEX); init_userprefs($userdata); ?>
Teraz mam dylemat, czy ten fragment kodu musi być również dołączony do ładowanego skryptu? Próbowałem już tak to wyświetlała się tylko biała strona (żadnych błędów, ale i żadnej treści). Jeśli tego fragmentu nie umieszczę to istnieje obawa, że ktoś bezpośrednio uzyska dostęp do tego pliku przez przeglądarkę np. http://jakasstrona/admin/jakis_modul.php . Czy może się mylę? Jak to rozwiązać? Z góry dziękuję za pomoc.
Pozdrawiam
Grzesiek
Problem rozwiązałem w inny sposób (tj. taki sam jak to jest w phpbb) tj. użyłem ramek dla panelu administracyjnego.