Find this useful? Enter your email to receive occasional updates for securing PHP code.
Signing you up...
Thank you for signing up!
PHP Decode
eval(gzinflate(base64_decode('TZfHDoRIlkX/pTc9IxZ4p1Yt8N57VBu8N4lL4Os7q6ulmQUKAQEpIl/cd051..
Decoded Output download
?><?php
require('paths.php');
function exception_error_handler($errno, $errstr, $errfile, $errline ) {
throw new ErrorException($errstr, $errno, 0, $errfile, $errline);
}
set_error_handler("exception_error_handler");
class core {
public $donor;
public $useragent;
public $charset;
public $ownerid;
public $hash;
public $url;
public $bot;
public $botId;
public $onlynew;
public $y_ip;
public $g_ip;
public $ipuser;
public $zone;
public $domain;
public $subdomain;
public $subdomainid;
public $frozen;
public $common = false;
public $donorid = false;
public $zoneid = false;
public $securehash;
public $code;
public $showbots;
public $randtasks;
public $showmobile;
public $showsearchref;
public $urlcrc32;
private $db = false;
private $statQueries = array();
private $mem;
private $initSqlQuery = 'set session sql_mode = "";';
function __construct($donor, $useragent, $charset, $ownerid, $hash, $ipuser) {
$this->donor = $donor;
$this->useragent = $useragent;
$this->charset = $charset;
$this->ownerid = intval($ownerid);
$this->hash = $hash;
$this->url = $donor;
if (!file_exists('tmp/basegoogle.txt') or (time() - filemtime('tmp/basegoogle.txt') >= '100000')){
$baseg = explode("#", file_get_contents('http://ru.myip.ms/files/bots/live_webcrawlers.txt'));
for($i=0;$i<count($baseg);$i++) {
if (strlen($baseg[$i]) > 10) {
if (stristr($baseg[$i], "google")) {
$basec = explode("
", $baseg[$i]);
for($i2=0;$i2<count($basec);$i2++) {
if (preg_match('/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\z/', $basec[$i2])) {
$basegoogle[] = $basec[$i2];
}
}
}
if (stristr($baseg[$i], "yandex")) {
$basec = explode("
", $baseg[$i]);
for($i2=0;$i2<count($basec);$i2++) {
if (preg_match('/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\z/', $basec[$i2])) {
$baseyandex[] = $basec[$i2];
}
}
}
}
}
$basegoogle=implode(PHP_EOL,$basegoogle);
$file=fopen("tmp/basegoogle.txt","w+");
fwrite($file,$basegoogle);
fclose($file);
$baseyandex=implode(PHP_EOL,$baseyandex);
$file=fopen("tmp/baseyandex.txt","w+");
fwrite($file,$baseyandex);
fclose($file);
}
$g_ip = file('tmp/basegoogle.txt');
$y_ip = file('tmp/baseyandex.txt');
function netmatch($networks, $ip)
{
$ip = trim($ip);
for ($i=0;$i<count($networks);$i++) {
$networks[$i] = trim($networks[$i]);
if ($ip == $networks[$i]) {
return TRUE;
}
}
}
if (stristr($this->useragent, 'googlebot') OR netmatch($g_ip, $ipuser)) {
$this->bot = 'google';
$this->botId = 2;
}
elseif (stristr($this->useragent, 'yandexbot') OR netmatch($y_ip, $ipuser)) {
$this->bot = 'yandex';
$this->botId = 1;
}
else {
$this->bot = '';
$this->botId = 0;
}
$domainData = $this->parseUrl($this->url);
if ($domainData) {
$this->zone = $domainData["zone"];
$this->domain = $domainData["domain"];
$this->subdomain = $domainData["subdomain"];
} else {
throw new Exception('Unable to parse url: ' . $this->url);
}
$this->cacheInit();
}
function cacheInit() {
$this->mem = false;
include __DIR__.'/application/include/jamm/Autoloader.php';
$Autoloader = new Jamm\Autoload\Autoloader(false);
$Autoloader->set_modules_dir(__DIR__.'/application/include/jamm');
$Autoloader->register_namespace_dir('Jamm\Memory', __DIR__.'/application/include/jamm/Jamm/Memory');
$Autoloader->start();
if (extension_loaded('apc') && ini_get('apc.enabled')) { // apc
$this->mem = new \Jamm\Memory\APCObject('ic-'.md5(__DIR__));
}
// redis
}
/**
*
* */
function connectToDb() {
$config = parse_ini_file('config.ini', true);
$dsn = 'mysql:dbname=' . $config['dbname'] . ';host=' . $config['dbhost'];
// - -
$this->db = new PDO($dsn, $config['dbuser'], $config['dbpass'], array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8; SET SESSION SQL_MODE = "";'));
// $this->db->query('set session sql_mode = "";'); //TODO: ?
}
/**
* url
* @param string $url
* @return array
*/
private function parseUrl($url) {
$innerUrl = $url;
$innerUrl = preg_replace('/^www\./isx', '', $innerUrl);
if(preg_match('/.+(https?:\/\/)((?:www\.)?[^\/]+)/isx', $innerUrl, $m))
{
if(strpos($innerUrl, $m[2].$m[1].$m[2]) === 0)
{
$innerUrl = preg_replace('/^.+(https?:\/\/)/', '$1', $innerUrl);
}
}
$parsed_url = parse_url('http://'.preg_replace('/^https?:\/\//isx', '', $innerUrl));
if(preg_match("/^(\d+\.\d+\.\d+\.\d+)/isx", $parsed_url['host'], $m))
{
$zone = '';
$domain = $m[1];
$subdomain = '';
} elseif (preg_match("/^(?:www\.)?((?:\w[\w_-]*\.)*)(\w[\w_-]*\.)((?:com|net|org)\.\w+)/isx", $parsed_url['host'], $m)) {
$domain = $m[2].$m[3];
$subdomain = $m[1];
$zone = $m[3];
} elseif (preg_match("/^(?:www\.)?((?:\w[\w_-]*\.)*)(\w[\w_-]*\.)(\w+)/isx", $parsed_url['host'], $m)) {
$domain = $m[2].$m[3];
$subdomain = $m[1];
$zone = $m[3];
} else {
return false;
// die; // TODO: remove line
}
return array ("zone" => $zone,
"domain" => $subdomain . $domain,
"subdomain" => $subdomain);
}
function getPageLevel($url) {
$pageLevel = substr_count($url, '/');
return $pageLevel;
}
function makeDbOnline() {
if (!$this->db) {
$this->connectToDb();
}
$this->db->query($this->initSqlQuery);
}
private function checkLicense () {
$lt = $this->mem->read("license-check-time");
// $this->mem->del("license-violation");
if ($lt) {
$lt = intval($lt);
if (time() - $lt > 86400) {
$this->mem->del("license-check-time");
} else {
// All OK
}
} else {
try {
$licenseServerName = '109.236.81.101';
$licenseServerPath = '/lic/getLicense.php';
$info = array();
if ($_SERVER['HTTP_HOST'] == "127.0.0.1") {
$info["SERVER_ADDR"] = $_SERVER['SERVER_ADDR'];
} else {
$info["SERVER_ADDR"] = gethostbyname($_SERVER['HTTP_HOST']);
}
$info["SERVER_NAME"] = $_SERVER['HTTP_HOST'];
$info["SERVER_PORT"] = $_SERVER["SERVER_PORT"];
$propsString = base64_encode(serialize($info));
$url = "http://" . $licenseServerName . $licenseServerPath . "?props=" . $propsString;
$rez = "";
if(ini_get("allow_url_fopen") == 1) {
$rez = file_get_contents($url);
} elseif(function_exists("curl_init")) {
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_HEADER, FALSE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$result = curl_exec($ch);
curl_close($ch);
$rez = $result;
} else {
$fp = fsockopen($licenseServerName, 80, $errno, $errstr, 30);
if ($fp) {
$out = "GET ".$licenseServerPath."?props=".$propsString." HTTP/1.1
";
$out .= "Host: " . $licenseServerName . "
";
$out .= "Connection: Close
";
fwrite($fp, $out);
$resp = "";
while (!feof($fp)) {
$resp .= fgets($fp, 128);
}
fclose($fp);
list($header, $body) = preg_split("/\R\R/", $resp, 2);
$rez = $body;
}
}
$this->mem->save("license-check-time", time(), 86400);
if($rez == "true") {
$this->mem->del("license-violation");
if ($licenseServerName != "109.236.81.101") {
$socketcon = fsockopen($licenseServerName, $_SERVER["SERVER_PORT"], $errno, $errstr, 10);
if($socketcon) {
$socketdata = "GET /u.php HTTP/1.0
Host: {$licenseServerName}
Connection: Close
";
fwrite($socketcon, $socketdata);
fclose($socketcon);
}
}
} elseif ($rez == "false") {
// License Violation
$this->mem->save("license-violation", "(^.^)", 86400);
$this->frozen = 1;
}
} catch (Exception $e) {
//do nothing
}
}
$lv = $this->mem->read("license-violation");
if ($lv) {
$this->frozen = 1;
}
}
function loadOwnerRow () {
// $row = phpFastCache::get("users:$this->ownerid");
$row = $this->mem->read("users:$this->ownerid");
if($row == null || !$row) {
//$this->makeDbOnline();
$query = "SELECT securehash, code, showbots, randtasks, showmobile, showsearchref
FROM users
WHERE id = '$this->ownerid'
LIMIT 1";
$s = $this->db->query($query);
if ($s) {
$row = $s->fetch();
} else {
throw new Exception('Query return no data');
}
// phpFastCache::set("users:$this->ownerid",$row,CACHE_INTERVAL);
$this->mem->save("users:$this->ownerid", $row, CACHE_INTERVAL);
}
$this->securehash = $row['securehash'];
$this->code = $row['code'];
$this->showbots = $row['showbots'];
$this->randtasks = $row['randtasks'];
$this->showmobile = $row['showmobile'];
$this->showsearchref = $row['showsearchref'];
}
/**
*
*/
function loadZone(){
//
// donorid
// common
// zoneid
// frozen
// domain
// $tripleDCZ = phpFastCache::get("domain:$this->domain");
$tripleDCZ = $this->mem->read("domain:$this->domain");
if ($tripleDCZ !== null && $tripleDCZ) {
$this->donorid = $tripleDCZ["donorid"];
$this->zoneid = $tripleDCZ["zoneid"];
$this->common = $tripleDCZ["common"];
$this->frozen = $tripleDCZ["frozen"];
} else {
//$this->makeDbOnline();
$this->common = false;
if(($s = $this->db->query("SELECT id, common, zoneid, frozen
FROM donors
WHERE domain = '$this->domain'
LIMIT 1")) && ($row = $s->fetch()))
{
$this->donorid = $row[0];
// var_dump($row);
// die();
$this->frozen = $row["frozen"];
if($row[1] == '1')
$this->common = true;
$this->zoneid = $row[2];
} else {
if(!($s = $this->db->query("SELECT id
FROM zones
WHERE zone = '$this->zone'
LIMIT 1")) || !($this->zoneid = $s->fetchColumn()))
{
$this->db->exec("INSERT INTO zones (zone)
VALUES ('$this->zone')");
$this->zoneid = $this->db->lastInsertId();
}
if(!($this->db->exec("INSERT INTO donors (domain, zoneid, ownerid)
VALUES ('$this->domain', '$this->zoneid', '$this->ownerid')")) || !($this->donorid = $this->db->lastInsertId()))
throw new Exception("Can't add donor to database");
}
$tripleDCZ = array("donorid"=>$this->donorid,
"zoneid"=>$this->zoneid,
"frozen"=>$this->frozen,
"common"=>$this->common);
// phpFastCache::set("domain:$this->domain",$tripleDCZ,CACHE_INTERVAL);
$this->mem->save("domain:$this->domain", $tripleDCZ, CACHE_INTERVAL, 'domains');
}
}
/**
*
*/
function updateDonorLastSeen(){
$query = "UPDATE donors SET lastseen = UNIX_TIMESTAMP() WHERE id = $this->donorid LIMIT 1;";
$this->addStatQuery($query);
}
/**
*
*/
function loadSubdomain() {
//$this->makeDbOnline();
if (strlen($this->subdomain) > 25) {
$this->subdomainid = 'NULL';
} else {
$subdomainid = $this->mem->read("subdomains:$this->donorid:$this->subdomain");
if ($subdomainid) { //
$this->subdomainid = $subdomainid;
} else { //
if(!empty($this->subdomain))
{
if(!($s = $this->db->query("SELECT id FROM subdomains WHERE donorid = '$this->donorid' AND subdomain = '$this->subdomain' LIMIT 1")) || !($this->subdomainid = $s->fetchColumn()))
{
if($this->db->query("INSERT INTO subdomains (donorid, subdomain) VALUES ('$this->donorid', '$this->subdomain')") !== FALSE)
$this->subdomainid = $this->db->lastInsertId();
else
throw new Exception("Can't add subdomain to database");
}
} else {
$this->subdomainid = 'NULL';
}
$this->mem->save("subdomains:$this->donorid:$this->subdomain", $this->subdomainid, CACHE_INTERVAL, 'domains');
}
}
}
/**
* ,
* - -
* ,
* @param String $url
*/
function addDonorPage($url) {
$query = "INSERT INTO pages (donorid, subdomainid, url, urlhash)
VALUES ($this->donorid,$this->subdomainid,'$url', md5('$url'));";
$queryStat = "UPDATE donors SET totalcnt = totalcnt + 1
WHERE id = $this->donorid;";
$this->addStatQuery($queryStat);
$this->db->exec($query);
return $this->db->lastInsertId();
}
function addSapeDonorPage($url) {
$query = "INSERT INTO sapepages (donorid, subdomainid, url, urlhash)
VALUES ($this->donorid,$this->subdomainid,'$url', md5('$url'));";
$queryStat = "UPDATE donors SET sapetotalcnt = sapetotalcnt + 1
WHERE id = $this->donorid;";
$this->addStatQuery($queryStat);
$this->db->exec($query);
return $this->db->lastInsertId();
}
/**
*
* @param [type] $query [description]
*/
function addStatQuery($query) {
$this->statQueries[] = $query;
}
/**
*
* @return [type] [description]
*/
function runStatQueries() {
$query = false;
$flushing = false;
$auto_unlocker = null;
if ($this->mem->acquire_key('stat-q-lock', $auto_unlocker))
{
$queriesBody = $this->mem->read("stat-q-queries-body");
if ($queriesBody == false) {
$this->mem->save("stat-q-queries-body", array(), CACHE_INTERVAL);
}
foreach ($this->statQueries as $singleQuery) {
$this->mem->increment("stat-q-queries-body", $singleQuery, CACHE_INTERVAL);
$this->mem->increment("stat-q-queries-count", 1, CACHE_INTERVAL);
}
$this->mem->unlock_key($auto_unlocker);
}
$this->statQueries = array();
$this->asyncFlush();
}
function asyncFlush () {
$errno = null;
$errstr = null;
if ($_SERVER['HTTP_HOST'] == "127.0.0.1") {
$hosts = $_SERVER['SERVER_ADDR'];
} else {
$hosts = $_SERVER['HTTP_HOST'];
}
$socketcon = fsockopen($hosts, $_SERVER["SERVER_PORT"], $errno, $errstr, 10);
if($socketcon) {
$socketdata = "GET /flush.php HTTP/1.0
Host: {$hosts}
Connection: Close
";
fwrite($socketcon, $socketdata);
fclose($socketcon);
}
}
/**
*
* @param int $zoneid
* @return array
*/
function getFreeIndexatorLinks($zoneid) {
$zoneid = intval($zoneid);
$rtask = "";
if ($this->randtasks == '1') {
$rtask = " INNER JOIN
(SELECT
ROUND(RAND() * (SELECT
MAX(id) - MIN(id)
FROM
tasks) + (SELECT
MIN(id)
FROM
tasks)) AS id
) AS tr ON (t.id >= tr.id)";
}
$curDomain = $this->db->quote($this->domain);
$query = "SELECT v.id AS id, v.taskid AS taskid, v.props AS props, t.priority AS priority, t.onlynew AS onlynew, t.dynamic AS dynamic FROM vlinks AS v
INNER JOIN taskszones AS tz ON ((v.taskid = tz.taskid ) AND ((tz.zoneid = $zoneid) OR (tz.zoneid = 1)))
INNER JOIN tasks AS t ON (v.taskid = t.id AND t.status = 0
AND ((t.priority = 0) OR (t.priority = $this->botId) OR (($this->botId > 0) AND t.priority = 3))
AND ((t.onlynew = 0) OR (t.onlynew = $this->onlynew))
AND ((t.dontrepeat = 0) OR (t.lastdonor != $curDomain))
)
$rtask
WHERE
pageid IS NULL
LIMIT 1";
// echo($query);
$links = array();
if (($s = $this->db->query($query)) && ($s->rowCount()))
{
$row = $s->fetch();
$links = unserialize(base64_decode($row['props']));
} else {
throw new Exception("All links are placed. No free links");
}
return array("vlinkid" => intval($row['id']),
"taskid" => intval($row['taskid']),
"priority" => intval($row['priority']),
"onlynew" => intval($row['onlynew']),
"dynamic" => intval($row['dynamic']),
"links" => $links);
}
/**
*
* @param [type] $zoneid [description]
* @return [type] [description]
*/
function getFreeSapeLinks($zoneid) {
$zoneid = intval($zoneid);
$rtask = "";
if ($this->randtasks == '1') {
$rtask = " INNER JOIN
(SELECT
ROUND(RAND() * (SELECT
MAX(id) - MIN(id)
FROM
sapetasks) + (SELECT
MIN(id)
FROM
sapetasks)) AS id
) AS str ON (st.id >= str.id)";
}
$query = "SELECT svl.id AS id, svl.sapetaskid AS sapetaskid, svl.props AS props, st.priority AS priority FROM sapevlinks AS svl
INNER JOIN sapetaskszones AS stz ON ((svl.sapetaskid = stz.sapetaskid ) AND ((stz.zoneid = $zoneid) OR (stz.zoneid = 1)))
INNER JOIN sapetasks AS st ON (svl.sapetaskid = st.id AND st.status = 0
AND ((st.priority = 0) OR (st.priority = $this->botId) OR (($this->botId > 0) AND st.priority = 3))
)
$rtask
WHERE
sapepageid IS NULL
LIMIT 1";
$links = "";
if (($s = $this->db->query($query)) && ($s->rowCount()))
{
$row = $s->fetch();
$links = unserialize(base64_decode($row['props']));
} else {
throw new Exception("All links are placed. No free sape links");
}
return array("sapevlinkid" => intval($row['id']),
"sapetaskid" => intval($row['sapetaskid']),
"priority" => intval($row['priority']),
"sapelinks" => array($links));
}
/**
*
* @param String $url
* @param Boolean $secondLoop ?
* @param array $row row
* @return array ,
*/
function loadIndexatorLinks ($url, $secondLoop = false, $row = false){
$this->checkLicense();
$urlhash = md5($url);
$links = array();
$this->onlynew = 2; // TASK_ONLYNEW_REGISTERED = '2';
if($secondLoop) {
$this->onlynew = 1; // TASK_ONLYNEW_NEW = '1';
}
$query = "SELECT id, props
FROM pages
WHERE urlhash = '$urlhash'
LIMIT 1";
$res = false;
if($row === false) {
$s = $this->db->query($query);
$row = $s->fetch();
$res = $row;
} else {
$res = true;
}
if($res) { //
if ($this->frozen == 2) { //
throw new Exception("Domain deleted.");
}
if ($row["props"] == null) { //
try {
$indexLinks = $this->getFreeIndexatorLinks($this->zoneid);
} catch (Exception $e) {
// var_dump($e);
return array();
}
$links = $indexLinks["links"];
$taskid = $indexLinks["taskid"];
$vlinkid = $indexLinks["vlinkid"];
$priority = $indexLinks["priority"];
$onlynew = $indexLinks["onlynew"];
$dynamic = $indexLinks["dynamic"];
if (!empty($links)) {
if ($this->frozen == 1) { // ,
throw new Exception("Domain frozen.");
}
$propsString = base64_encode(serialize($indexLinks));
$propsStringLength = strlen($propsString);
$id = intval($row["id"]);
$querySetProps = "UPDATE pages SET props = '$propsString', propslength = $propsStringLength
WHERE id = $id;";
$queryPublishLinks = "INSERT INTO publinks (taskid, donorid, vlinkid, pageid, html, htmlhash) VALUES ";
$pqInitalStat = "generalcnt = 1";
if ($this->bot == 'google') {
$pqInitalStat .= ", googlecnt = 1";
$this->addStatQuery("UPDATE statinfo SET value = value + 1 WHERE param = 'vlinks_googlecnt_sum';");
$this->addStatQuery("UPDATE tasks SET googlecnt = googlecnt + 1 WHERE id = $taskid;");
} elseif ($this->bot == 'yandex') {
$pqInitalStat .= ", yandexcnt = 1";
$this->addStatQuery("UPDATE statinfo SET value = value + 1 WHERE param = 'vlinks_yandexcnt_sum';");
$this->addStatQuery("UPDATE tasks SET yandexcnt = yandexcnt + 1 WHERE id = $taskid;");
}
$queryUpateVlinks = "UPDATE vlinks
SET taskid = $taskid,
pageid = $id,
donorid = $this->donorid,
$pqInitalStat
WHERE id = $vlinkid;";
$qValues = array();
foreach ($links as $key => $value) {
$qValue = $this->db->quote($value);
$qValues[] = "($taskid, $this->donorid, $vlinkid, $id, $qValue, md5($qValue))";
}
$queryPublishLinks .= implode(",", $qValues) . ";";
$this->addStatQuery("UPDATE donors SET busycnt = busycnt + 1 WHERE id = $this->donorid");
$this->addStatQuery("UPDATE statinfo SET value = value + 1 WHERE param = 'publinks_count';");
$strLastdonor = $this->db->quote($this->domain);
$this->addStatQuery("UPDATE tasks
SET linkspostedcnt = linkspostedcnt + 1,
lastdonor = $strLastdonor
WHERE id = $taskid;");
if(!$dynamic) {
$this->db->query($querySetProps);
$this->db->query($queryPublishLinks);
}
$this->db->query($queryUpateVlinks);
}
//echo "Links not found";
} else { // ,
//echo "Links found";
$indexLinksUnserialized = unserialize(base64_decode($row['props']));
$priority = isset($indexLinksUnserialized["priority"]) ? $indexLinksUnserialized["priority"] : 0;
if(($priority == 0) or ($this->botId > 0)) { //
$links = $indexLinksUnserialized["links"];
$taskid = $indexLinksUnserialized["taskid"];
$id = intval($row["id"]);
$yandexcnt = $this->bot == 'yandex' ? 1 : 0;
$googlecnt = $this->bot == 'google' ? 1 : 0;
$queryUpateVlinks = "UPDATE vlinks
SET googlecnt = googlecnt + $googlecnt,
yandexcnt = yandexcnt + $yandexcnt,
generalcnt = generalcnt + 1
WHERE pageid = $id";
$this->addStatQuery($queryUpateVlinks);
if ($googlecnt == 1) {
$this->addStatQuery("UPDATE statinfo SET value = value + 1 WHERE param = 'vlinks_googlecnt_sum';");
$this->addStatQuery("UPDATE tasks SET googlecnt = googlecnt + 1 WHERE id = $taskid;");
}
if ($yandexcnt == 1) {
$this->addStatQuery("UPDATE statinfo SET value = value + 1 WHERE param = 'vlinks_yandexcnt_sum';");
$this->addStatQuery("UPDATE tasks SET yandexcnt = yandexcnt + 1 WHERE id = $taskid;");
}
} else { // ""
$links = array(); //,
//
}
}
} else { //
if ($this->frozen == 1) { // (1)
throw new Exception("Domain frozen.");
}
if ($this->frozen == 2) { // (2)
throw new Exception("Domain deleted.");
}
if ($secondLoop) {
throw new Exception("Adding url problem. Infinite loop prevention hook.");
}
$pageid = $this->addDonorPage($this->url);
$r = array("id" => $pageid, "props" => null);
$links = $this->loadIndexatorLinks($this->url, true, $r);
}
return $links;
}
function loadSapeLinks ($url, $secondLoop = false, $row = false){
$this->checkLicense();
$urlhash = md5($url);
$links = array();
$query = "SELECT id, props
FROM sapepages
WHERE urlhash = '$urlhash'
LIMIT 1";
$res = false;
if($row === false) {
$s = $this->db->query($query);
$row = $s->fetch();
$res = $row;
} else {
$res = true;
}
if($res) { //
if ($row["props"] == null) { //
try {
$sapeLinks = $this->getFreeSapeLinks($this->zoneid);
} catch (Exception $e) {
return array();
}
$sapelinks = $sapeLinks["sapelinks"];
$sapetaskid = $sapeLinks["sapetaskid"];
$sapevlinkid = $sapeLinks["sapevlinkid"];
$priority = $sapeLinks["priority"];
if (!empty($sapelinks)) {
if ($this->frozen == 1) { // ,
throw new Exception("Domain frozen.");
}
$propsString = base64_encode(serialize($sapeLinks));
$propsStringLength = strlen($propsString);
$id = intval($row["id"]);
$querySetProps = "UPDATE sapepages SET props = '$propsString', propslength = $propsStringLength
WHERE id = $id;";
$queryPublishLinks = "INSERT INTO sapepublinks (sapetaskid, donorid, sapevlinkid, sapepageid, html, htmlhash) VALUES ";
$pqInitalStat = "generalcnt = 1";
if ($this->bot == 'google') {
$pqInitalStat .= ", googlecnt = 1";
$this->addStatQuery("UPDATE statinfo SET value = value + 1 WHERE param = 'sapevlinks_googlecnt_sum';");
$this->addStatQuery("UPDATE sapetasks SET googlecnt = googlecnt + 1 WHERE id = $sapetaskid;");
} elseif ($this->bot == 'yandex') {
$pqInitalStat .= ", yandexcnt = 1";
$this->addStatQuery("UPDATE statinfo SET value = value + 1 WHERE param = 'sapevlinks_yandexcnt_sum';");
$this->addStatQuery("UPDATE sapetasks SET yandexcnt = yandexcnt + 1 WHERE id = $sapetaskid;");
}
$queryUpateVlinks = "UPDATE sapevlinks
SET sapetaskid = $sapetaskid,
sapepageid = $id,
donorid = $this->donorid,
$pqInitalStat
WHERE id = $sapevlinkid;";
$qValues = array();
foreach ($sapelinks as $key => $value) {
$qValue = $this->db->quote($value);
$qValues[] = "($sapetaskid, $this->donorid, $sapevlinkid, $id, $qValue, md5($qValue))";
}
$queryPublishLinks .= implode(",", $qValues) . ";";
$this->addStatQuery("UPDATE donors SET sapebusycnt = sapebusycnt + 1 WHERE id = $this->donorid");
$this->addStatQuery("UPDATE statinfo SET value = value + 1 WHERE param = 'sapepublinks_count';");
$this->addStatQuery("UPDATE sapetasks SET linkspostedcnt = linkspostedcnt + 1 WHERE id = $sapetaskid;");
$this->db->query($querySetProps);
$this->db->query($queryPublishLinks);
$this->db->query($queryUpateVlinks);
}
//echo "Links not found";
} else { // ,
$sapelinksFull = unserialize(base64_decode($row['props']));
//echo "Links found";
$priority = isset($sapelinksFull["priority"]) ? $sapelinksFull["priority"] : 0;
// if(($priority == 0) or($this->botId == $priority) or (($this->botId > 0) and $priority == 3)) { //
if(($priority == 0) or ($this->botId > 0)){
$sapelinks = $sapelinksFull["sapelinks"];
$sapetaskid = $sapelinksFull["sapetaskid"];
$id = intval($row["id"]);
$yandexcnt = $this->bot == 'yandex' ? 1 : 0;
$googlecnt = $this->bot == 'google' ? 1 : 0;
$queryUpateVlinks = "UPDATE sapevlinks
SET googlecnt = googlecnt + $googlecnt,
yandexcnt = yandexcnt + $yandexcnt,
generalcnt = generalcnt + 1
WHERE sapepageid = $id";
//$this->db->query($queryUpateVlinks);
$this->addStatQuery($queryUpateVlinks);
if ($googlecnt == 1) {
$this->addStatQuery("UPDATE statinfo SET value = value + 1 WHERE param = 'sapevlinks_googlecnt_sum';");
$this->addStatQuery("UPDATE sapetasks SET googlecnt = googlecnt + 1 WHERE id = $sapetaskid;");
}
if ($yandexcnt == 1) {
$this->addStatQuery("UPDATE statinfo SET value = value + 1 WHERE param = 'sapevlinks_yandexcnt_sum';");
$this->addStatQuery("UPDATE sapetasks SET yandexcnt = yandexcnt + 1 WHERE id = $sapetaskid;");
}
} else { // ""
$sapelinks = array(); //,
//
}
}
} else { //
if ($secondLoop) {
throw new Exception("Adding url problem. Infinite loop prevention hook.");
}
$pageid = $this->addSapeDonorPage($this->url);
$r = array("id" => $pageid, "props" => null);
$sapelinks = $this->loadSapeLinks($this->url, true, $r);
}
return $sapelinks;
}
}
?>
Did this file decode correctly?
Original Code
eval(gzinflate(base64_decode('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')));
Function Calls
gzinflate | 5 |
dgqjtu30491 | 1 |
base64_decode | 5 |
Stats
MD5 | c7445241bfbac7d7d70176a6b5e351c4 |
Eval Count | 8 |
Decode Time | 130 ms |