Hi!
Bei Dir gibt es ja zwei Fälle:
1. Deine Seite ruft das Blog auf; deine index.php ruft also die wrapper.php auf.
2. Das Blog zeigt eine Unterseite mit einem blog-internen Link. Dazu ruft es die wrapper.php selbständig auf. Sprich, deine eigene index.php wird dabei übergangen.
Daher musst Du sicherstellen, dass wenn die wrapper.php direkt aufgerufen wird, dass deine index.php aufgerufen wird. In beide DAteien musst Du also eine Abfrage einbauen.
In deiner index.php:
Code: Select all
<?php
if (!defined('IS_BLOG')) {
define('IS_BLOG', true);
include 'serendipity/wrapper.php';
}
// Dein KRam
echo $blog;
und in deiner wrapper.php:
Code: Select all
<?php
ob_start();
chdir("/pfad/zu/serendipity");
require("index.php");
chdir($a);
$blog = ob_get_contents();
ob_end_clean();
if (!defined('IS_BLOG')) {
define('IS_BLOG', true);
include '../index.php';
}
?>
Durch die Konstante werden dann beide Fälle abdeckt: index.php ruft wrapper.php auf, oder wrapper.php ruft index.php auf. Und mittels der Konstante wird keine zirkuläre Referenz (aka Endlosschleife) erstellt.
Weiterhin musst Du dein getcwd()-Kommando anpassen. Denn wenn die wrapper.php direkt aufgerufen wird, bist Du ja schon im Serendipity-Verzeichnis.
Grüße,
Garvin