/**
* AutomaticBackLinks.com - PHP linking code
* Copy and paste this code in your php document where you want your links to display
* Make sure that this code is inside PHP tags
*/
error_reporting(1);
//Settings
$abCacheFolderName = "automaticbacklinks_cache";
$abAccountCode = "3f253797e0e0906091c0b8d4aa05099a";
$abCacheHours = "24";
/**
* Do not change anything below
* Do not change anything below
* Do not change anything below
* Do not change anything below
* Do not change anything below
*/
$v = "2.4";
$s = "php";
$abMsg = array();
if (trim($_GET['ab_debug']) == '3f253797e0e0906091c0b8d4aa05099a') {
$debug = true;
echo "
Version: ".$v;
echo "
System: ".$s;
unset($_GET['ab_debug']);
}
//Create cache folder if it does not exist
$cacheFolder = abGetCacheFolder($abCacheFolderName, $debug);
if ($cacheFolder) {
//Current URL
$page = abGetPageUrl($debug);
if (abIsValidUrl($page, $debug)) {
$cacheFileName = $cacheFolder."/".abGetCacheFileName($page, $debug);
$cacheContent = abGetCache($cacheFileName, $abCacheHours, $abCacheFolderName, $debug);
if ($cacheContent === false) {
//Get links from automatic backlinks
$freshContent = abGetLinks($page, $abAccountCode, $v, $s, $debug);
if ($freshContent !== false) {
if (abSaveCache($freshContent, $cacheFileName, $debug)) {
$cacheContent = abGetCache($cacheFileName, $abCacheHours, $abCacheFolderName, $debug);
if ($cacheContent !== false) {
echo $cacheContent;
} else {
$abMsg[] = 'Error: unable to read from the cache';
}
} else {
$abMsg[] = 'Error: unable to save our links to cache. Please make sure that the folder '.$abCacheFolderName.' located in the folder '.$_SERVER['DOCUMENT_ROOT'].' and has CHMOD 0777';
}
} else {
$abMsg[] = 'Error: unable to get links from server. Please make sure that your site supports either file_get_contents() or the cURL library.';
}
} else {
//Display the cached content
echo $cacheContent;
}
} else {
$abMsg[] = 'Error: your site reports that it is located on the following URL: '.$page.' - This is not a valid URL and we can not display links on this page. This is probably due to an incorrect setting of the $_SERVER variable.';
}
} else {
$abMsg[] = 'Error: Unable to create or read from your link cache folder. Please try to create a folder by the name "'.$abCacheFolderName.'" directly in the root of your site and CHMOD the folder to 0777';
}
foreach ($abMsg as $error) {
echo $error."
";
}
/**
* Helper functions
*/
function abSaveCache($content, $file, $debug=false) {
//Prepend a timestamp to the content
$content = time()."|".$content;
echo ($debug) ? "
Saving Cache: ".$content : "";
$fh = fopen($file, 'w');
if ($fh !== false) {
if (!fwrite($fh, $content)) {
echo ($debug) ? "
Error Saving Cache!" : "";
return false;
}
} else {
echo ($debug) ? "
Error opening cache file for writing!" : "";
return false;
}
if (!fclose($fh)) {
echo ($debug) ? "
Error closing file handle!" : "";
return false;
}
if (!file_exists($file)) {
echo ($debug) ? "
Error could not create cache file!" : "";
return false;
} else {
echo ($debug) ? "
Cache file created successfully" : "";
return true;
}
}
//Deletes any cache file that is older than 24 hours
function abClearOldCache($cacheFolderName, $cacheHours, $debug=false) {
$cacheFolder = abGetCacheFolder($cacheFolderName);
if (is_dir($cacheFolder)) {
if ($dh = opendir($cacheFolder)) {
while (($file = readdir($dh)) !== false) {
if (strpos($file, ".cache")) {
$modified = filemtime($cacheFolder."/".$file);
$timeCutOff = time()-(60*60*$cacheHours);
if ($modified < $timeCutOff) {
@unlink($cacheFolder."/".$file);
}
}
}
closedir($dh);
}
}
}
//Returns the full path to the cache folder and also creates it if it does not work
function abGetCacheFolder($cacheFolderName, $debug=false) {
if (isset($_SERVER['DOCUMENT_ROOT'])) {
$docRoot = rtrim($_SERVER['DOCUMENT_ROOT'],"/"); //Remove any trailing slashes
} else if (isset($_SERVER['PATH_TRANSLATED'])) {
$docRoot = rtrim(substr($_SERVER['PATH_TRANSLATED'], 0, 0 - strlen($_SERVER['PHP_SELF'])), '\\');
$docRoot = str_replace('\\\\', '/', $docRoot);
} else {
echo ($debug) ? "
Error: Could not construct cache path" : "";
}
$cacheFolder = $docRoot."/".$cacheFolderName;
echo ($debug) ? "
Cache folder is: ".$cacheFolder : "";
if (!file_exists($cacheFolder)) {
echo ($debug) ? "
Cache folder does not exist: ".$cacheFolder : "";
if (!@mkdir($cacheFolder,0777)) {
echo ($debug) ? "
Error - could not create cache folder: ".$cacheFolder : "";
return false;
} else {
echo ($debug) ? "
Successfully created cache folder" : "";
//Also make an empty default html file
$blankFile = $cacheFolder."/index.html";
if (!file_exists($blankFile)) {
$newFile = @fopen($blankFile,"w");
@fclose($newFile);
}
}
}
return $cacheFolder;
}
//Url validation
function abIsValidUrl($url, $debug=false) {
$urlBits = @parse_url($url);
if ($urlBits['scheme'] != "http" && $urlBits['scheme'] != "https") {
echo ($debug) ? "
Error! URL does not start with http: ".$url : "";
return false;
} else if (strlen($urlBits['host']) < 4 || strpos($urlBits['host'], ".") === false) {
echo ($debug) ? "
Error! URL is incorrect: ".$url : "";
return false;
}
return true;
}
//Get the name of the cache file name
function abGetCacheFileName($url, $debug=false) {
$cacheFileName = md5($url).".cache";
echo ($debug) ? "
Cache file name for URL: ".$url." is ".$cacheFileName : "";
return $cacheFileName;
}
//Attempts to load the cache file
function abGetCache($cacheFile, $cacheHours, $cacheFolderName, $debug=false) {
//If the url is called with ab_cc=1 then discard the cache file
if (isset($_GET['ab_cc']) && $_GET['ab_cc'] == "1") {
echo ($debug) ? "
Clear cache invoked!" : "";
abRemoveCacheFile($cacheFile);
unset($_GET['ab_cc']);
return false;
}
if (!file_exists($cacheFile)) {
echo ($debug) ? "
Error! Cache file does not exist! ".$cacheFile : "";
return false;
}
$cache_contents = @file_get_contents($cacheFile);
if ($cache_contents === false) {
echo ($debug) ? "
Error: Cache file is completely empty!" : "";
return false;
} else {
echo ($debug) ? "
Cache file contents".$cache_contents : "";
//Separate the time out
$arr
NOVAN AJI IMRON
06.28.00
Tidak ada komentar:
Posting Komentar