jb-data.de/lib/function.php
2025-08-11 22:23:30 +02:00

462 lines
No EOL
9.8 KiB
PHP

<?php
function checkmail($mail) //Funktion zum überprüfen einer E-Mail
{ //Regex zum Filtern von falschen E-Mail Adressen
$mail=strtolower($mail);
if(preg_match("/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/", $mail))
{
return true;
} else {
return false;
}
}
function conv_traffic($bytes)
{
if ($bytes<1024)
{
$ret=$bytes." Bytes";
}
elseif($bytes<1048576)
{
$ret=round(($bytes/1024), 2)." KB";
}
elseif($bytes<1073741824)
{
$ret=round(($bytes/1048576), 2)."MB";
}
elseif($bytes<1099511627776)
{
$ret=round(($bytes/1073741824), 2)."GB";
}
return $ret;
}
function checkDomain($domain, $tld, $whoisserver)
{
$fp = @fsockopen($whoisserver, 43, $errno, $errstr, 5);
if(!$fp)
return "<strong>Fehler</strong><br />".$errstr." (".$errno.")\n";
else
{
if($tld != "de" && !preg_match("/^[a-zA-Z0-9-]*$/", $domain))
{
try
{
require_once("lib/domaincheck/idna2.php");
$idn = Net_IDNA2::getInstance();
$domain = $idn->encode($domain);
}
catch(Exception $e)
{
return "<strong>Fehler</strong><br />".$e->getMessage()."\n";
}
}
$flag = "";
if($tld == "de")
$flag = "-T dn ";
fwrite($fp, $flag.$domain.".".$tld."\r\n");
$string = "";
while(!feof($fp))
$string .= fread($fp, 128);
fclose($fp);
return $string;
}
}
function printDomain($domain, $tld, $whoisservers)
{
global $limitExceeded;
$statusFree = "not found|no match|nothing found|not have an entry|status: available|is free|status: free";
$statusInvalid = "status: invalid|invalid pattern|not a valid domain|invalid request|not understand the query|error for|invalid domain|invalid characters|idn unsupported|unassignable|currently restricted";
$statusLimit = "limit exceeded";
$string = checkDomain($domain, $tld, $whoisservers[$tld]);
preg_match_all("/Whois Server: (.*?)\n/i", $string, $matches);
if(isset($matches[1][0]))
$string = checkDomain($domain, $tld, $matches[1][0]);
if(preg_match("/Fehler/", $string))
{
return $meldung=2;
}
else
{
if(preg_match("/".$statusFree."/i", preg_replace("/\s\s+|\t/", " ", $string)))
return $sucress= 0;
elseif(preg_match("/".$statusInvalid."/i", $string))
return $meldung=2;
elseif(preg_match("/".$statusLimit."/i", $string))
{
return $meldung=3;
$limitExceeded = true;
}
else
{
return $meldung=1;
}
}
}
// 3= Abfragelimit ist erreicht
// 2= Fehler bei der Abfrage
// 1= Domain ist vergebn
// 0= domain ist frei
function decodewort($wort)
{
$schuessel1['1']='*';
$schuessel2['*']='1';
$schuessel1['.']='b';
$schuessel2['b']='.';
$schuessel1['H']='&';
$schuessel2['&']='H';
$schuessel1['f']='i';
$schuessel2['i']='f';
$schuessel1['?']='Q';
$schuessel2['Q']='?';
$schuessel1['2']='m';
$schuessel2['m']='2';
$schuessel1['U']='1';
$schuessel2['1']='U';
$schuessel1['c']='E';
$schuessel2['E']='c';
$schuessel1['j']='R';
$schuessel2['R']='j';
$schuessel1['v']='K';
$schuessel2['K']='v';
$schuessel1['k']='v';
$schuessel2['v']='k';
$schuessel1['*']='u';
$schuessel2['u']='*';
$schuessel1['=']='l';
$schuessel2['l']='=';
$schuessel1['w']='(';
$schuessel2['(']='w';
$schuessel1['n']='t';
$schuessel2['t']='n';
$schuessel1['q']='n';
$schuessel2['n']='q';
$schuessel1['N']='z';
$schuessel2['z']='N';
$schuessel1['e']='6';
$schuessel2['6']='e';
$schuessel1['<']='-';
$schuessel2['-']='<';
$schuessel1['4']='D';
$schuessel2['D']='4';
$schuessel1[']']='L';
$schuessel2['L']=']';
$schuessel1['F']='+';
$schuessel2['+']='F';
$schuessel1['!']='O';
$schuessel2['O']='!';
$schuessel1['K']='a';
$schuessel2['a']='K';
$schuessel1['d']='o';
$schuessel2['o']='d';
$schuessel1['C']='p';
$schuessel2['p']='C';
$schuessel1['P']='3';
$schuessel2['3']='P';
$schuessel1['-']='S';
$schuessel2['S']='-';
$schuessel1['B']='x';
$schuessel2['x']='B';
$schuessel1['8']='Z';
$schuessel2['Z']='8';
$schuessel1['9']='7';
$schuessel2['7']='9';
$schuessel1['l']='e';
$schuessel2['e']='l';
$schuessel1['x']='U';
$schuessel2['U']='x';
$schuessel1['b']=':';
$schuessel2[':']='b';
$schuessel1[':']='y';
$schuessel2['y']=':';
$schuessel1['_']='A';
$schuessel2['A']='_';
$schuessel1['&']='8';
$schuessel2['8']='&';
$schuessel1['S']='G';
$schuessel2['G']='S';
$schuessel1['7']='r';
$schuessel2['r']='7';
$schuessel1['3']='?';
$schuessel2['?']='3';
$schuessel1['D']='>';
$schuessel2['>']='D';
$schuessel1['T']='V';
$schuessel2['V']='T';
$schuessel1['>']='J';
$schuessel2['J']='>';
$schuessel1['W']='2';
$schuessel2['2']='W';
$schuessel1['g']='H';
$schuessel2['H']='g';
$schuessel1['E']='W';
$schuessel2['W']='E';
$schuessel1['0']='F';
$schuessel2['F']='0';
$schuessel1[')']='k';
$schuessel2['k']=')';
$schuessel1['y']='9';
$schuessel2['9']='y';
$schuessel1['Y']='s';
$schuessel2['s']='Y';
$schuessel1['M']='_';
$schuessel2['_']='M';
$schuessel1['5']='q';
$schuessel2['q']='5';
$schuessel1['(']='h';
$schuessel2['h']='(';
$schuessel1['h']='<';
$schuessel2['<']='h';
$schuessel1['m']='0';
$schuessel2['0']='m';
$schuessel1['6']='j';
$schuessel2['j']='6';
$schuessel1['r']='f';
$schuessel2['f']='r';
$schuessel1['L']=')';
$schuessel2[')']='L';
$schuessel1['Z']='N';
$schuessel2['N']='Z';
$schuessel1['a']='T';
$schuessel2['T']='a';
$schuessel1['p']='M';
$schuessel2['M']='p';
$schuessel1['t']='Y';
$schuessel2['Y']='t';
$schuessel1['G']=']';
$schuessel2[']']='G';
$schuessel1['I']='/';
$schuessel2['/']='I';
$schuessel1['Q']='d';
$schuessel2['d']='Q';
$schuessel1['/']='w';
$schuessel2['w']='/';
$schuessel1['i']='!';
$schuessel2['!']='i';
$schuessel1['A']='|';
$schuessel2['|']='A';
$schuessel1['|']='[';
$schuessel2['[']='|';
$schuessel1['X']='g';
$schuessel2['g']='X';
$schuessel1['o']='B';
$schuessel2['B']='o';
$schuessel1['u']='C';
$schuessel2['C']='u';
$schuessel1['[']='5';
$schuessel2['5']='[';
$schuessel1['J']='I';
$schuessel2['I']='J';
$schuessel1['z']='=';
$schuessel2['=']='z';
$schuessel1['V']='4';
$schuessel2['4']='V';
$schuessel1['s']='c';
$schuessel2['c']='s';
$schuessel1['R']='.';
$schuessel2['.']='R';
$schuessel1['+']='X';
$schuessel2['X']='+';
$schuessel1['O']='P';
$schuessel2['P']='O';
$schuessel1['@']='@';
$schuessel2['@']='@';
$laenge=strlen($wort);
$laenge=$laenge-1;
$newwort='';
for ($i = 0; $i <= $laenge; $i++) {
$newwort=$newwort.$schuessel1[$wort[$i]];
}
return $newwort;
}
function encodewort($wort)
{
$schuessel1['1']='*';
$schuessel2['*']='1';
$schuessel1['.']='b';
$schuessel2['b']='.';
$schuessel1['H']='&';
$schuessel2['&']='H';
$schuessel1['f']='i';
$schuessel2['i']='f';
$schuessel1['?']='Q';
$schuessel2['Q']='?';
$schuessel1['2']='m';
$schuessel2['m']='2';
$schuessel1['U']='1';
$schuessel2['1']='U';
$schuessel1['c']='E';
$schuessel2['E']='c';
$schuessel1['j']='R';
$schuessel2['R']='j';
$schuessel1['v']='K';
$schuessel2['K']='v';
$schuessel1['k']='v';
$schuessel2['v']='k';
$schuessel1['*']='u';
$schuessel2['u']='*';
$schuessel1['=']='l';
$schuessel2['l']='=';
$schuessel1['w']='(';
$schuessel2['(']='w';
$schuessel1['n']='t';
$schuessel2['t']='n';
$schuessel1['q']='n';
$schuessel2['n']='q';
$schuessel1['N']='z';
$schuessel2['z']='N';
$schuessel1['e']='6';
$schuessel2['6']='e';
$schuessel1['<']='-';
$schuessel2['-']='<';
$schuessel1['4']='D';
$schuessel2['D']='4';
$schuessel1[']']='L';
$schuessel2['L']=']';
$schuessel1['F']='+';
$schuessel2['+']='F';
$schuessel1['!']='O';
$schuessel2['O']='!';
$schuessel1['K']='a';
$schuessel2['a']='K';
$schuessel1['d']='o';
$schuessel2['o']='d';
$schuessel1['C']='p';
$schuessel2['p']='C';
$schuessel1['P']='3';
$schuessel2['3']='P';
$schuessel1['-']='S';
$schuessel2['S']='-';
$schuessel1['B']='x';
$schuessel2['x']='B';
$schuessel1['8']='Z';
$schuessel2['Z']='8';
$schuessel1['9']='7';
$schuessel2['7']='9';
$schuessel1['l']='e';
$schuessel2['e']='l';
$schuessel1['x']='U';
$schuessel2['U']='x';
$schuessel1['b']=':';
$schuessel2[':']='b';
$schuessel1[':']='y';
$schuessel2['y']=':';
$schuessel1['_']='A';
$schuessel2['A']='_';
$schuessel1['&']='8';
$schuessel2['8']='&';
$schuessel1['S']='G';
$schuessel2['G']='S';
$schuessel1['7']='r';
$schuessel2['r']='7';
$schuessel1['3']='?';
$schuessel2['?']='3';
$schuessel1['D']='>';
$schuessel2['>']='D';
$schuessel1['T']='V';
$schuessel2['V']='T';
$schuessel1['>']='J';
$schuessel2['J']='>';
$schuessel1['W']='2';
$schuessel2['2']='W';
$schuessel1['g']='H';
$schuessel2['H']='g';
$schuessel1['E']='W';
$schuessel2['W']='E';
$schuessel1['0']='F';
$schuessel2['F']='0';
$schuessel1[')']='k';
$schuessel2['k']=')';
$schuessel1['y']='9';
$schuessel2['9']='y';
$schuessel1['Y']='s';
$schuessel2['s']='Y';
$schuessel1['M']='_';
$schuessel2['_']='M';
$schuessel1['5']='q';
$schuessel2['q']='5';
$schuessel1['(']='h';
$schuessel2['h']='(';
$schuessel1['h']='<';
$schuessel2['<']='h';
$schuessel1['m']='0';
$schuessel2['0']='m';
$schuessel1['6']='j';
$schuessel2['j']='6';
$schuessel1['r']='f';
$schuessel2['f']='r';
$schuessel1['L']=')';
$schuessel2[')']='L';
$schuessel1['Z']='N';
$schuessel2['N']='Z';
$schuessel1['a']='T';
$schuessel2['T']='a';
$schuessel1['p']='M';
$schuessel2['M']='p';
$schuessel1['t']='Y';
$schuessel2['Y']='t';
$schuessel1['G']=']';
$schuessel2[']']='G';
$schuessel1['I']='/';
$schuessel2['/']='I';
$schuessel1['Q']='d';
$schuessel2['d']='Q';
$schuessel1['/']='w';
$schuessel2['w']='/';
$schuessel1['i']='!';
$schuessel2['!']='i';
$schuessel1['A']='|';
$schuessel2['|']='A';
$schuessel1['|']='[';
$schuessel2['[']='|';
$schuessel1['X']='g';
$schuessel2['g']='X';
$schuessel1['o']='B';
$schuessel2['B']='o';
$schuessel1['u']='C';
$schuessel2['C']='u';
$schuessel1['[']='5';
$schuessel2['5']='[';
$schuessel1['J']='I';
$schuessel2['I']='J';
$schuessel1['z']='=';
$schuessel2['=']='z';
$schuessel1['V']='4';
$schuessel2['4']='V';
$schuessel1['s']='c';
$schuessel2['c']='s';
$schuessel1['R']='.';
$schuessel2['.']='R';
$schuessel1['+']='X';
$schuessel2['X']='+';
$schuessel1['O']='P';
$schuessel2['P']='O';
$schuessel1['@']='@';
$schuessel2['@']='@';
$laenge=strlen($wort);
$laenge=$laenge-1;
$newwort='';
for ($i = 0; $i <= $laenge; $i++) {
$newwort=$newwort.$schuessel2[$wort[$i]];
}
return $newwort;
}
?>