Инструменты пользователя

Инструменты сайта


myfunc:phpfunc
//------------------------------------------------------------    
 function MyMd5($String) 
    {
    $String.=strlen($String);	
    $String.=md5($String);
    $String.=strlen($String);	
    return md5($String);	
    }
//------------------------------------------------------------




//------------------------------------------------------------
//функция делающая обратное преобразование строки из урл текста в обычный формат 
function mydecodeurl($Text)
   {
   $result='';	
   $Mass=explode('z',$Text);

// т.к. первый элемент в строке и есть разделитель то 
// первый элемент в массиве пустой и начинаем считать с 1
    for ($i=1;$i<count($Mass);$i++)
	{
		$result.=chr(hexdec($Mass[$i]));
	}	
    
     return $result;	
}
//------------------------------------------------------------


function myDecodeurl($Text)
{
	
/*
функция делающая обратное преобразование строки из урл текста в обычный формат 
*/
$result='';	

$Mass=explode('z',$Text);

// т.к. первый элемент в строке и есть разделитель то 
// первый элемент в массиве пустой и начинаем считать с 1
for ($i=1;$i<count($Mass);$i++)
	{
		$result.=chr(hexdec($Mass[$i]));
	}	
	
return $result;	
}

function giveImageLatex($LatexText)
{
$Hash=MyMd5($LatexText);
$CodeUrl= myCodeurl($LatexText);


return  "<dl><dd><img src='http://integraloff.net/latex/index.php?f=$CodeUrl&h=$Hash' ></dd></dl>";	
}

function MyMd5($String)
{
$String.=strlen($String);	
$String.=md5($String);
$String.=strlen($String);	
return md5($String);	

}

function myCodeurl($Text)
{
	
/*
функция делающая преобразование строки для того чтобы ее 
можно было передать в урл строке 
*/
$result='';	
for ($i=0;$i<strlen($Text);$i++)
	{
		$ASC=ord($Text[$i]); // получили ацки код символа в 10
		
		$r1=floor($ASC/16); // старший hex разряд
		$r0=$ASC-16*$r1; // младший hex разряд
		
		$result.="z".dechex($r1).dechex($r0);
	}	
	
return $result;	
}

function GetFromSpecTag2($Text,$Tag)
{
	// вырезаем текс из спец тегов - нужно чтобы теги встречались всего один раз!!!
$TagStart="<$Tag>";
$TagEnd="</$Tag>";

	$s='';
$start=strpos($Text,$TagStart)+strlen($TagStart);
$end=strpos($Text,$TagEnd,$start)-1;
//echo $start.'<br>';
//echo $end.'<br>';

for ($i=$start;$i<=$end;$i++)
{
$s.=$Text[$i]	;
}
return $s;
}


//*******************************************
 
function DataOut($data)
{ 
echo iconv('cp1251','UTF-8', $data); 
}
 
//*******************************************


//*******************************************
// do check /* valid*/ access key
function checkAccessKey ($key) 
{
// curl to AntiSpam Server


$StringRequest='check_access_key='.$key;
$url = "http://127.0.0.1/?$StringRequest";	
//$url = "http://192.168.0.95/?$StringRequest";	


$ch = curl_init();

curl_setopt($ch, CURLOPT_URL,$url); // set url to post to
curl_setopt($ch, CURLOPT_FAILONERROR, 1);
//curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);// allow redirects
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); // return into a variable
curl_setopt($ch, CURLOPT_TIMEOUT, 30); // times out after 4s
curl_setopt($ch,CURLOPT_USERAGENT,'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; MRA 4.6 (build 01425); .NET CLR 1.1.4322)');
curl_setopt($ch, CURLOPT_PORT, 8080);

// 								!!
//curl_setopt($ch, CURLOPT_POSTFIELDS, "Arg1=0&Arg2=$FuncMod&Arg3=$Arg"); // add POST fields
//curl_setopt($ch, CURLOPT_POSTFIELDS, $StringRequest); // add POST fields



$result = curl_exec($ch); // run the whole process

//echo curl_error($ch);
curl_close($ch);
//echo "key result:".$result;
if (GetFromSpecTag2($result,'result')=='true')
	{
				return true;
	}
	else 
	{
				return false;
	}

//return $result;

	
}
//*******************************************


//*******************************************

function DoCommand_mathW ($Command)
{
$url = "http://192.168.0.231/mathW/index.php";	
$StringRequest='comm='.myCodeurl($Command);

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL,$url); // set url to post to
curl_setopt($ch, CURLOPT_FAILONERROR, 1);
//curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);// allow redirects
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); // return into a variable
curl_setopt($ch, CURLOPT_TIMEOUT, 30); // times out after 4s
curl_setopt($ch,CURLOPT_USERAGENT,'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; MRA 4.6 (build 01425); .NET CLR 1.1.4322)');
curl_setopt($ch, CURLOPT_POST, 1); // set POST method
// 								!!
//curl_setopt($ch, CURLOPT_POSTFIELDS, "Arg1=0&Arg2=$FuncMod&Arg3=$Arg"); // add POST fields
curl_setopt($ch, CURLOPT_POSTFIELDS, $StringRequest); // add POST fields

$result = curl_exec($ch); // run the whole process
curl_close($ch);
return $result;

}

//*******************************************


//*******************************************
//*******************************************
/**
 * в $txt встерчаются пары <comm>...</com> <imag>...</img>
 * надо:
 *  из <comm> вытащить текст и сделать обратное z-code
 *  из <img> вытащить текст и latex-img   
 */
function GetMultiTag($str)
{
	global $buff;
	$commRecord=false;
	$imgRecord=false;
	$buff='000000'; // start value
	
	$finalText='';
	
	$len=strlen($str);
	for ($i=0;$i<$len;$i++)
	{
	$chr=$str[$i];
	$localBuff=	BuffIn($chr);
	//echo $localBuff.'<br>';
	//**********************************************
	if ($localBuff=='</com>')
		{
		// comm record stop
		$commRecord=false;
		// сейчас в $commTXT='....</com'
		$commTXT=str_replace('</com','',$commTXT);
		
		//$finalText.="undoComm(".$commTXT.')';
		$finalText.= myDecodeurl($commTXT).chr(13).chr(10);
		}	

	if ($commRecord)
		{
		$commTXT.=$chr;
		}
		
		
	if ($localBuff=='<comm>') // в буффере лежит открывающий тег '<comm>'
		{
		// comm record start
		$commTXT='';
		$commRecord=true;
	 
		}
	//**********************************************
	//**********************************************
	if ($localBuff=='</img>')
		{
		// comm record stop
		$imgRecord=false;
		// сейчас в $imgTXT='....</img'
		$imgTXT=str_replace('</img','',$imgTXT);
		
		$finalText.=  giveImageLatex($imgTXT).chr(13).chr(10);;
		}	

	if ($imgRecord)
		{
		$imgTXT.=$chr;
		}
		
		
	if ($localBuff=='<imag>') // в буффере лежит открывающий тег '<comm>'
		{
		// comm record start
		$imgTXT='';
		$imgRecord=true;
		}
	//**********************************************	
	
	}
return 	$finalText;
	
}
//*******************************************

function BuffIn($chr)
{
	// буффер-данных который анализируем
	global $buff;
	$buff[0]=$buff[1];
	$buff[1]=$buff[2];
	$buff[2]=$buff[3];
	$buff[3]=$buff[4];
	$buff[4]=$buff[5];
	$buff[5]=$chr;
	return $buff;
	
}

//*******************************************
//*******************************************

//-------------------------------------------------------
function MakeBakcLink($func)
{
	
$funcz=myCodeurl($func);
$hash=MyMd5($funcz);	
return "f=$funcz&h=$hash";
}
//-------------------------------------------------------

//-------------------------------------------------------
class DataOut
{
var $result;
var $check_result;
	
var $content;
	
var $text_comment;
	
var $back_link;


 
 	

function OutData()
	{ 
$data=<<<AAAA

<result>$this->result</result>
<check_result>$this->check_result</check_result>
<content>$this->content</content>
<text_comment>$this->text_comment</text_comment>
<back_link>$this->back_link</back_link>

AAAA;

echo iconv('cp1251','UTF-8', $data); 
}


	
}

//-------------------------------------------------------

//******************************************************************************
// делает шифрование текста
function myCodeKey($Text,$key)
{
//----------------------------------	
$len=strlen($Text);  // длина кодированного текста
//----------------------------------
$seq='';
$flag=true;
while ($flag or (strlen($seq)<$len))
 {
 $flag=false;
 $seq.=md5(md5($key).'sequence')	;
 }
//----------------------------------
$result='';	
for ($i=0;$i<$len;$i++)
	{
		$ASC= ( ord($Text[$i]) ^  ord($seq[$i])  ); // делаем скремблирование, побитовый xor
		
		$r1=floor($ASC/16); // старший hex разряд
		$r0=$ASC-16*$r1; // младший hex разряд
		
		$result.=dechex($r1).dechex($r0);
	}	
	
return 'H'.$result;	
}
//******************************************************************************


//******************************************************************************
// делает распаковку закрытого текста
function myDecodeKey($HText,$key)
{
$lenOrigin=(strlen($HText)-1)/2;
 
//----------------------------------
$seq='';

while (strlen($seq)<$lenOrigin)
 {
 $seq.=md5(md5($key).'sequence')	;
 }
//----------------------------------
	$result='';
	
	$len=strlen($HText);
	
	for ($i=1; $i<$len;$i=$i+2)
	{
		$r1= hexdec($HText[$i]);
		$r0= hexdec($HText[$i+1]);
		$ASC=(($r1*16)+$r0) ^  ord($seq[($i-1)/2]);
		$result.=chr($ASC);
	}
	return $result;
}

//----------------------------------
//******************************************************************************



myfunc/phpfunc.txt · Последние изменения: 2018/10/28 14:44 — Dear Admin

Инструменты страницы