Ich habe einen PHP-Code in eine PHP-Box eingefügt der diverse Textlinks ausgeben soll. Leider erscheint bei der ausgabe eine Fehlermedlung:
----------------------
WARNING [8] Undefined variable: config
FOUND IN [system/phpbox/plugin/middlebox/phpbox/main.php(26) : eval()'d code]
FOUND AT 106
----------------------
Der Code:
---------------------
<?php
//
//BACKLINKSELLER WEBSITE-CODE (ECHO) VERSION 1.7
//
//Ihre Domain-ID. (Diese ist standardmaessig richtig eingestellt)
$BACKLINK_SELLER['DOMAIN_ID'] = '987739737';
//Ihre Account-ID. (Diese ist standardmaessig richtig eingestellt)
$BACKLINK_SELLER['ACCOUNT_ID'] = '791384412';
//Wenn Sie folgenden Parameter auf TRUE setzen, dann
//werden alle Fehlermeldungen ausgegeben und Sie
//können somit leichter die Fehlerursache feststellen
$BACKLINK_SELLER['DEBUG_FLAG'] = false; //true (aktiviert) oder false (deaktiviert)
//Wenn Sie diesen Parameter aktivieren, dann wird von unserem Server
//ein HTML-Code mit einem Beispiel-Textlink zurückgeben
//Somit können Sie die Verbindung mit unserem Server testen,
//auch wenn auf Ihrer Webseite noch keine Textlinks gebucht sind.
//ACHTUNG: BITTE VERGESSEN SIE NICHT, DIESE OPTION
//NACH DEM TEST WIEDER ZU DEAKTIVIEREN
$BACKLINK_SELLER['TEST_FLAG'] = false; //true (aktiviert) oder false (deaktiviert)
//Benutzerdefinierte HTML-Code, der vor jedem Textlink hinzugefügt wird
//(Diese Einstellung ist optional)
$BACKLINK_SELLER['HTML_BEFORE_BACKLINK'] = '';
//Benutzerdefinierte HTML-Code, der nach jedem Textlink hinzugefügt wird
//(Diese Einstellung ist optional)
$BACKLINK_SELLER['HTML_AFTER_BACKLINK'] = '<br />';
//Hier kann die CSS-Class Bezeichnung definiert werden, welche
//bei jedem Hyperlink hinzugefügt wird. Zum Beispiel
//<a href='...' class='my_class_name'>...</a>
//(Diese Einstellung ist optional)
$BACKLINK_SELLER['HYPERLINK_CLASS'] = '';
//URL, die zu der Seite Ihrer Webpräsenz führt (z.B.
http://www.example.com/my_page/)
//(Die Defaulteinstellung muss in den meisten Fällen nicht geändert werden)
$requestUri = $_SERVER['REQUEST_URI'];
if(substr($requestUri, 0, 1) == '/') {$requestUri = substr($requestUri, 1);} //remove leading slash
$requestUri = str_replace('http://www.darksweetys.com/', '', $requestUri); //make sure that request uri is without domain
$BACKLINK_SELLER['PAGE_URL'] = 'http://www.darksweetys.com/' . $requestUri;
//Mit einem aktivierten Caching wird der zurückgegebene HTML-Code
//in einer Datei für mindestens eine Stunde gespeichert.
//Bitte definieren Sie auch einen gültigen Dateipfad (siehe weiter unten)
//ACHTUNG: WIR EMPFEHLEN DAS CACHING ZU AKTIVIEREN, DA DIES DIE
//ZUGRIFFSZEITEN IHRER WEBSEITE ERHÖHT. AUSSERDEM BESEITIGT DAS AKTIVIERTE
//CACHING EINIGE TIMEOUT-PROBLEME, FALLS UNSER SERVER VORÜBERGEHEND NICHT ZUR VERFÜGUNG STEHT.
$BACKLINK_SELLER['CACHING_ENABLED_FLAG'] = false; //true (aktiviert) oder false (deaktiviert)
//Dateipfad zu der Caching-Datei.
//Für jede URL wird eine solche Datei angelegt
//ACHTUNG: DIESE DATEI MUSS SCHREIB- UND LESE-RECHTE BESITZEN.
//SIE KÖNNEN DIESE RECHTE ÜBER DIE CHMOD-EINSTELLUNG SETZEN.
//BITTE KONFIGURIEREN SIE AUCH EINEN UNTERVERZEICHNIS, IN DEM DIESE
//CACHE-DATEIEN ERSTELLT WERDEN - ANSONSTEN WERDEN DIESE DIREKT IM
//ROOT-VERZEICHNISS IHRER WEBPRESENZ ERSTELLT.
$BACKLINK_SELLER['CACHED_FILE_PATH'] = $_SERVER['DOCUMENT_ROOT'] . '/bs-987739737-' . md5($BACKLINK_SELLER['PAGE_URL']) . '.txt';
if(!defined("BACKLINK_SELLER")) {define("BACKLINK_SELLER", serialize($BACKLINK_SELLER));}
if(!in_array('BacklinkSeller', get_declared_classes())) //if not already declared
{
class BacklinkSeller
{
var $config = null;
function retrieveHTML()
{
$this->config = unserialize(BACKLINK_SELLER);
$cachingDirectory = substr($this->config['CACHED_FILE_PATH'], 0, strrpos($this->config['CACHED_FILE_PATH'], '/') + 1);
if($this->config['CACHING_ENABLED_FLAG'] && is_writable($cachingDirectory)) {return $this->retrieveHTMLWithCaching();}
return $this->retrieveHTMLFromServer();
}
function retrieveHTMLWithCaching()
{
if($this->isCachedFileExpired())
{
$response = $this->retrieveHTMLFromServer();
//if server is down then cache HTML response for max 48 hours
if($response == 'UNABLE_TO_CONNECT' && $this->isCachedFileExpired(4
)
{
//backlinkseller server is still not available
//in this case we empty cached file
$this->writeHTMLToCachedFile('');
}
else
{
//update cached file
$this->writeHTMLToCachedFile($response);
}
}
return $this->loadHTMLFromCachedFile();
}
function retrieveHTMLFromServer()
{
$request = '/channel.php?domain_id=' . $this->config['DOMAIN_ID'] .
'&account_id=' . $this->config['ACCOUNT_ID'] .
'&html_before=' . urlencode($this->config['HTML_BEFORE_BACKLINK']) .
'&html_after=' . urlencode($this->config['HTML_AFTER_BACKLINK']) .
'&page=' . urlencode($this->config['PAGE_URL']) . '&xhtml=1' .
'&user_ip=' . $_SERVER['REMOTE_ADDR'] .
'&class=' . urlencode($config['HYPERLINK_CLASS']);
if($this->config['TEST_FLAG']) {$request .= '&test=1';}
@$socket = fsockopen('channel2.backlinkseller.de', 80, $errorNumber, $errorMessage, 5);
if(!$socket) {return 'UNABLE_TO_CONNECT';}
$response = null;
stream_set_timeout($socket, 5);
fwrite($socket, 'GET ' . $request . " HTTP/1.1rnHost: channel2.backlinkseller.dernrn");
$response = fread($socket, 1000000);
fclose($socket);
if(strpos($response, "rnrn") !== false)
{$response = trim(substr($response, strpos($response, "rnrn")));}
if(!$this->config['DEBUG_FLAG']) //if debug is disabled
{
//if response contains any message and not HTML code as expected
if(substr($response, 0, 7) == 'ERROR: ' || substr($response, 0, 4) == 'OK: ')
{return '';} //do not display this message
}
$response = str_replace(array('"', "'"), array('"', "'"), $response); //remove quotes
return $response;
}
function writeHTMLToCachedFile($html)
{
$handle = fopen($this->config['CACHED_FILE_PATH'], 'w');
flock($handle, LOCK_EX);
fwrite($handle, $html);
flock($handle, LOCK_UN);
fclose($handle);
}
function loadHTMLFromCachedFile()
{
if(file_exists($this->config['CACHED_FILE_PATH']))
{return file_get_contents($this->config['CACHED_FILE_PATH']);}
return '';
}
function isCachedFileExpired($hoursToLive = 1)
{
if(!file_exists($this->config['CACHED_FILE_PATH'])) {return true;}
if(filemtime($this->config['CACHED_FILE_PATH']) < time() - (60 * 60 * $hoursToLive)){return true;}
return false;
}
}
}
//output backlinkseller html with backlinks
$backlinkseller = new BacklinkSeller();
echo($backlinkseller->retrieveHTML());
?>
------------------------
Ist warscheinlich keine große Sache nur kann ich die Ursache nicht aus der Fehlermeldung erkennen.
Bin für nen Tipp dankbar