Вход Регистрация
Файл: sys/fnc/license.php
Строк: 157
<?

function lic_dcms_loc() // получение локальной лицензии
{
$return=false;
$od_lic=opendir(H.'sys/license/');
while (
$rd_lic=readdir($od_lic))
{
if (
preg_match('#'.preg_quote($rd_lic).'$#i',$_SERVER['HTTP_HOST']))
{
if (
$license=@unserialize(@file_get_contents(H.'sys/license/'.$rd_lic)))
{
if (isset(
$license['url']) && preg_match('#'.preg_quote($license['url']).'$#i',$_SERVER['HTTP_HOST']))
{
if (
$license['last_time']<time()-604800 || $license['last_time']<$license['last_update']-604800)
{
@
unlink(H.'sys/license/'.$rd_lic);
}
else
{
$return=$license;
}
break;
}
else
{
@
unlink(H.'sys/license/'.$rd_lic);
}
}
}
}
return 
$return;
closedir($od_lic);
}

function 
copyright2($copyright){
return 
preg_replace("#</div>(n|r)*</body>#i""<div style='font-size:small;'> <a title='Бесплатный WAP-движок для вашего сайта' href="http://dcms.su">&copy; DCMS Special</a><br />n</div>n</div>n</body>", $copyright);
}



function 
lic_dcms($send=null)
{
global 
$set,$license;
if (
$sock=@fsockopen($set['http_license'], 80$err_no$err_str7))
{
$data_out['host']=$_SERVER['HTTP_HOST']; // адрес сайта
$data_out['ver']=$set['dcms_version']; // версия движка
$data_out['data']=$send// отправляемые данные



// ключег
if ($license)
{
$data_out['key']=$license['key'];
$data_out['last_time']=$license['last_time'];
}
else
{
$data_out['tmp_key']=md5(passgen());
@
file_put_contents(H.'sys/tmp/tmp_key.dat'$data_out['tmp_key']);
@
chmod(H.'sys/tmp/tmp_key.dat'0777);
}

$post_value='data='.serialize($data_out);
$s_head="POST /dcms/license.dcms HTTP/1.0rn";
$s_head.="Host: $set[http_license]rn";
$s_head.="User-Agent: DCMS/$set[dcms_version]rn";
//$s_head.="Keep-Alive: 300rn";
$s_head.="Connection: closern";
$s_head .= "Content-Type: application/x-www-form-urlencodedrn";
$s_head .= "Content-Length: ".strlen($post_value)."rnrn"
$s_head .= $post_value;

fwrite($sock$s_head); // отправка данных

$buffer=null;while (!feof($sock)){$buffer .= fgets($sock);} // прием данных
fclose($sock);


list(
$header,$content)=explode("rnrn"$buffer); // разборка данных

$data_in=@unserialize($content);

// информация о лицензии
if (isset($data_in['lic_info']))
{
$data_in['lic_info']['last_update']=time();
@
unlink(H.'sys/license/'.$data_in['lic_info']['url']);
@
file_put_contents(H.'sys/license/'.$data_in['lic_info']['url'], serialize($data_in['lic_info']));
@
chmod(H.'sys/license/'.$data_in['lic_info']['url'], 0777);
$license=$data_in['lic_info'];
}
else 
$license=false;


// список новых версий
if (isset($data_in['new_ver']))
{
mysql_query('TRUNCATE TABLE `license_list_ver`');
mysql_query('TRUNCATE TABLE `license_list_changelog`');
$new_ver=$data_in['new_ver'];
for (
$i=0;$i<count($new_ver);$i++)
{
mysql_query("INSERT INTO `license_list_ver` (`id`, `ver_1`, `ver_2`, `ver_3`, `delete`, `sql`)
VALUES ('"
.$new_ver[$i]['id']."', '".$new_ver[$i]['ver_1']."', '".$new_ver[$i]['ver_2']."', '".$new_ver[$i]['ver_3']."','".my_esc($new_ver[$i]['delete'])."','".my_esc($new_ver[$i]['sql'])."')");
for (
$z=0;(isset($new_ver[$i]['changelog']) && $z<count($new_ver[$i]['changelog']) );$z++)
{
mysql_query("INSERT INTO `license_list_changelog` (`text`, `ver_1`, `ver_2`, `ver_3`) VALUES ('".my_esc($new_ver[$i]['changelog'][$z])."', '".$new_ver[$i]['ver_1']."','".$new_ver[$i]['ver_2']."','".$new_ver[$i]['ver_3']."')");
}
}
}

// запрашиваемые занные
if (isset($data_in['data']))return $data_in['data'];else return false;
}
elseif(
$license!==false)
{
$license['last_update']=time();
@
unlink(H.'sys/license/'.$data_in['lic_info']['url']);
@
file_put_contents(H.'sys/license/'.$data_in['lic_info']['url'], serialize($license));
}
else return 
false;
}


$license=lic_dcms_loc(); // получение локальной лицензии

if (!isset($nolicupdate)){
if (isset(
$license['last_update']) && $license['last_update']<time()-60*60*6)
lic_dcms(); // обновление сведений раз в 6 часов
}
if (isset(
$compress) && $license==false)ob_start ("copyright2");
?>
Онлайн: 3
Реклама