Posts Tagged ‘funktion’

$Var in einem String suchen.

7. October 2008

Eine, im ersten Augenblick banale, dennoch bei mir gern gesehene, Funktion, die uns einen eindeutigen Wert liefert.

Beschreibung:

bool find ( string $haystack , string $needle [, bool $insensitive ] )

Funktion:

#01
#02
#03
#04
#05
#06
#07
#08
#09
#10
#11
#12
#13
#14
#15
#16
#17
#18
#19
#20
function find($p_string, $p_pattern, $p_insensitive = false)
{
if($p_insensitive)
{
$function = 'stripos';
}
else
{
$function = 'strpos';
}

if($function($p_string, $p_pattern) === false)
{
return false;
}
else
{
return true;
}
}

Ergänzungen, Feedback und Meinungen sind herzlich willkommen.

Steam- und Community-IDs

17. September 2008

Aus meinem letzten Projekt möchte ich eine Funktion vorstellen, die vorallem für Webmaster mit HLStats interessant sein könnten. Und zwar geht es darum, eine STEAM_ID eines Spielers in seine Community-ID umzuwandeln, um so wiederum an sein Steam-Community-Profil zugelangen.

So bekommt der Spieler schnell ein “Geschicht” und es ermöglicht einemen Kontakt mit ihm aufzunehme und ggf. Freundschaften zu schließen.
Wer mit dem Begriff Steam im Zusammenhang mit Cumputerspielen nichts anfangen kann, für den dürfte das folgende Funktion auch vollkommen uninteressant sein.
Gefunden habe ich diese im Alliedmods Forum und noch ein wenig angepasst:

#01
#02
#03
#04
#05
#06
#07
#08
#09
#10
#11
#12
#13
#14
#15
#16
#17
#18
#19
#20
#21
#22
#23
#24
#25
#26
#27
function GetCommunityID($szAuthID)
{
$iServer = '0';
$iAuthID = '0';
$szTmp = strtok($szAuthID, ':');

while(($szTmp = strtok(':')) !== false)
{
$szTmp2 = strtok(':');

if($szTmp2 !== false)
{
$iServer = $szTmp;
$iAuthID = $szTmp2;
}
}

if($iAuthID == '0')
{
return '0';
}

$i64friendID = bcmul($iAuthID, '2');
$i64friendID = bcadd($i64friendID, bcadd('76561197960265728', $iServer));

return $i64friendID;
}

In die andere Richtung funktoiniert auch:

#01
#02
#03
#04
#05
#06
#07
#08
#09
#10
#11
#12
#13
#14
#15
#16
#17
#18
#19
#20
function GetSteamID($i64friendID)
{
$iServer = '1';

if(bcmod($i64friendID, 2) == '0')
{
$iServer = '0';
}

$i64friendID = bcsub($i64friendID, $iServer);

if(bccomp('76561197960265728', $i64friendID) == -1)
{
$i64friendID = bcsub($i64friendID, '76561197960265728');
}

$i64friendID = bcdiv($i64friendID, '2');

return ('STEAM_0:'.$iServer.':'.$i64friendID);
}