Quote:
Originally Posted by Disasterpiece
modify your bls1.php so it's a function which returns the string you want, rather than messing with output buffers. vB uses its own output buffers or other plugins that are running on your server, so you might not want to mess with that.
|
Thanks for the tip
but unfortunately
I can not change the file.
I know nothing about PHP
This PHP file is from a company.
It is to swap links and integrate advertising.
PHP Code:
<?php
//
//BACKLINKSELLER WEBSITE-CODE (ECHO) VERSION 1.7
//
//Ihre Domain-ID. (Diese ist standardmaessig richtig eingestellt)
$BACKLINK_SELLER['DOMAIN_ID'] = '991823185';
//Ihre Account-ID. (Diese ist standardmaessig richtig eingestellt)
$BACKLINK_SELLER['ACCOUNT_ID'] = '27359956';
//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.alpha-board.eu/', '', $requestUri); //make sure that request uri is without domain
$BACKLINK_SELLER['PAGE_URL'] = 'http://www.alpha-board.eu/' . $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-991823185-' . 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(48))
{
//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($this->config['HYPERLINK_CLASS']);
if($this->config['TEST_FLAG']) {$request .= '&test=1';}
@$socket = fsockopen('channel5.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.1\r\nHost: channel5.backlinkseller.de\r\n\r\n");
$response = fread($socket, 1000000);
fclose($socket);
if(strpos($response, "\r\n\r\n") !== false)
{$response = trim(substr($response, strpos($response, "\r\n\r\n")));}
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());
?>
Quote:
Originally Posted by Simon Lloyd
|
Thank you I've tried.
It does not unfortunately