Difference between revisions of "User:Jor3l Boa/PHP/n2k.php"
Line 12: | Line 12: | ||
------------------------- | ------------------------- | ||
Updates (DD/MM/YYYY) | Updates (DD/MM/YYYY) | ||
25/09/2010 - Jor3l Boa: Removed some bites | 25/09/2010 - Jor3l Boa: Removed some bites // Om nom nom nom | ||
12/08/2010 - Qwerty Venom: Updated version of n2k.php that will work with the new design | 12/08/2010 - Qwerty Venom: Updated version of n2k.php that will work with the new design | ||
*/ | */ |
Revision as of 17:20, 14 November 2010
PHP Based name2Key service.
n2k.php:
<php> <?php /*
PHP name2Key by Jor3l Boa ------------------------- Released under Creative Commons 3.0 - devi@foravatars.com ------------------------- Updates (DD/MM/YYYY) 25/09/2010 - Jor3l Boa: Removed some bites // Om nom nom nom 12/08/2010 - Qwerty Venom: Updated version of n2k.php that will work with the new design
- /
function getPage($web)
{ $html = ""; $ch = curl_init($web); curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_AUTOREFERER, 1); curl_setopt($ch, CURLOPT_TIMEOUT, 5); $html = curl_exec($ch); if(curl_errno($ch)) { $html = ""; } curl_close ($ch); return $html; }
function getBetween($content,$start,$end)
{ //by Jor3l :) $a1 = strrpos($content,$start); $content = substr($content,$a1 + strlen($start)); while($a2 = strrpos($content,$end)) { $content = substr($content,0,$a2); } return $content; }
function name2Key($name) {
$NULL = '00000000-0000-0000-0000-000000000000';
$SL_SEARCH = "http://search.secondlife.com/client_search.php?session=$NULL&q="; $sName = explode(' ',$name); //Qwerty changed split to explode $data = getPage($SL_SEARCH.$sName[0].'+'.$sName[1]); $uuid = getBetween($data,'http://world.secondlife.com/resident/','"');
if(!preg_match("/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/",$uuid)) $uuid = $NULL;
return $uuid; } ?> </php>
example: <php> <? require_once('n2k.php'); $uuid = name2key('FirstName LastName'); echo $uuid; ?> </php>
NOTE ON HOSTING PROVIDERS:
Some hosting providers, notably GoDaddy, do not allow outbound traffic from their servers. If you find that this script returns nothing, no matter what you try, that may be your issue. The only fix is to switch providers to one that does allow outbound traffic.
For an LSL version, see also: Name2Key_in_LSL