Autor darksweetys
Datum 29.05.2010 09:18
Beiträge: 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 

      



DarkSweetys


Diese Seite drucken
Diese Seite schließen

Dieser Artikel kommt von: OpenPHPNuke - das Open Source CMS

http://www.openphpnuke.info/