Witam. Swoje pytanie zadawałem już jakiś czas temu na supporcie przema, ale niestety nie dostałem odpowiedzi. Być może Wam uda się rozwikłać mój (zapewne banalny) problem. Otóż mam przykładowe 2 skrypty.

Pierwszy
  1. <?php
  2. define('IN_PHPBB', true);
  3. $phpbb_root_path = '../forum/';
  4. include($phpbb_root_path . 'extension.inc');
  5. include($phpbb_root_path . 'common.'.$phpEx);
  6. $userdata = session_pagestart($user_ip, PAGE_INDEX);
  7. init_userprefs($userdata);
  8. include('admin_urls.php');
  9. include('head.php');
  10.  
  11.  
  12. if( $userdata['session_logged_in'] ){
  13. if($userdata['user_level'] == ADMIN){
  14. if(!isset($_GET['module'])){
  15. include('admin_index.php');
  16. }
  17. else{
  18. if(file_exists('../admin/modules/'.$_GET['module'].'php')){
  19. include($_GET['module'].'php'); //W tym momencie załącza jakiś moduł z $_GET['module']
  20. }
  21. else{
  22. //Moduł nie istnieje
  23. }
  24. }
  25. }
  26. else{
  27. echo "Brak uprawnien";
  28. }
  29. }
  30. else{
  31. echo "Brak uprawnien";
  32. }
  33. ?>


2 Plik, np. odpowiedzialny za kategorie artykułów ładowany do index.php
  1. <?php
  2. define('IN_PHPBB', true);
  3. $phpbb_root_path = '../forum/';
  4. include($phpbb_root_path . 'extension.inc');
  5. include($phpbb_root_path . 'common.'.$phpEx);
  6. $userdata = session_pagestart($user_ip, PAGE_INDEX);
  7. init_userprefs($userdata);
  8.  
  9. if( $userdata['session_logged_in'] ){
  10. if($userdata['user_level'] == ADMIN){
  11. //Jakis fragment kodu odpowiadajacy za kategorie
  12. }
  13. else{
  14. echo "Brak uprawnien";
  15. }
  16. }
  17. else{
  18. echo "Brak uprawnien";
  19. }
  20. ?>


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:
  1. <?php
  2. define('IN_PHPBB', true);
  3. $phpbb_root_path = '../forum/';
  4. include($phpbb_root_path . 'extension.inc');
  5. include($phpbb_root_path . 'common.'.$phpEx);
  6. $userdata = session_pagestart($user_ip, PAGE_INDEX);
  7. init_userprefs($userdata);
  8. ?>

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.