Witajcie, mam problem(znowu wstydnis.gif ).
Zrobiłem skrypt interpretacji stylów jak w phpbb.
To znaczy, że zastępuje on wszystkie {ZNACZNIKI} odpowiednimi DANYMI.
Wszystko szło gładziuchno, do póki nie zaistniała potrzeba interpretacji dwóch plików w jednym biggrin.gif.
Serwer zapętla się wtedy i wyświetla błąd pamięci, ehh.
Nawet nie muszę wywoływać funkcji, by wywalił błąd.

Ok, teraz troche kodu:
  1. /*
  2. OPIS ZBIORU:
  3. Funkcje tutaj odpowiedzialne są za odpowiednie przekształcenie
  4. plików stylu. Używają przy tym zmiennych globalnych i funkcji
  5. z innych plików w katalogu wyglad.
  6. */
  7. /*Zamienia znaczniki {example} na odpowiedzialne im zmienne */
  8. function read_styles($text)
  9. {
  10. global $user, $config;
  11. $znacznik = array();
  12. // 0-2 panel użytkownika
  13. $znacznik[0] = "/{LOGGED_NICK}/";
  14. $znacznik[1] = "/{LOGGED_AVATAR}/";
  15. // 2 - xx scieżki dostępu
  16. $znacznik[2] = "/{PORTAL_PATH}/";
  17. $znacznik[3] = "/{FORUM_PATH}/";
  18. $znacznik[4] = "/{USER_LOGGOUT_LINK}/";
  19. //5 - xx formularz logowania
  20. $znacznik[5] = "/{LOGIN_ERROR}/";
  21. // 6-9 meta
  22. $znacznik[6] = "/{META_TITLE}/";
  23. $znacznik[7] = "/{META_KEYWORDS}/";
  24. $znacznik[8] = "/{META_DESCRIBE}/";
  25. $znacznik[9] = "/{META_CODING}/";
  26. $znacznik[10] = "/{INDEX}/";
  27.  
  28.  
  29. $zmienna = array();
  30. // 0-2
  31. $zmienna[0] = $user->data['username'];
  32. $zmienna[1] = show_logged_avatar();
  33. // 2- xx
  34. $zmienna[2] = $config['portal_path'];
  35. $zmienna[3] = $config['forum_path'];
  36. $zmienna[4] = append_sid($config['forum_path']."/ucp.php", 'mode=logout', true, $user->session_id);
  37. // 5 - xx
  38. $zmienna[5] = show_login_errors();
  39. // 6-9
  40. $zmienna[6] = $config['title'];
  41. $zmienna[7] = $config['keywords'];
  42. $zmienna[8] = $config['describe'];
  43. $zmienna[9] = $config['coding'];
  44. $zmienna[10] = my_include('style/podstawowy/pu_panel.html'); << TA TUTAJ WYWOŁUJE BŁĄD!
  45.  
  46. return preg_replace($znacznik, $zmienna, $text);
  47. }
  48. /* Przygotowuje stronę stylu do wyświetlenia */
  49. function my_include($file)
  50. {
  51. $input = file_get_contents($file);
  52. $output = read_styles($input);
  53. return $output;
  54. }

Generalnie, wydawało mi się zawsze, że funkcja może się odwołać do samej siebie.
Problem dość nie typowy. Proszę o pomoc w rozwiązaniu sprawy.
Miłej nocki, Mapcio. Lkingsmiley.png

Problem rozwiązany. Zrobiłem oddzielną funkcję dla includowania plików.