Here is what I was sent vbulletin handlers as they call them but....
PHP Code:
<?php
require_once '../../../common/server/php/settings.php';
require_once FLASHCOMS_ROOT.'common/server/php/core/core.php';
$answer = '<invalid_params />';
$action = (isset($_GET["action"])) ? $_GET["action"] : "";
switch($action)
{
case 'auth': $answer = Auth(); break;
case 'check_guest_name': $answer = CheckGuestName(); break;
case 'get_user_photo': $answer = GetUserPhoto(); break;
case 'profile': $answer = GetProfile(); break;
case 'logout': $answer = Logout(); break;
}
header("Content-type: text/xml");
echo $answer;
function Auth()
{
$userName = (isset($_GET["user_name"])) ? urldecode($_GET["user_name"]) : "";
$password = (isset($_GET["password"])) ? urldecode($_GET["password"]) : "";
if($userName != "" && $password != "")
{
// Chat autorization logic goes here
/***************************/
/* return xml data example */
/***************************/
$photo = FLASHCOMS_HTTP_ROOT.'common/images/User1_120.png';
$photoModeImage = FLASHCOMS_HTTP_ROOT.'common/images/User1_40.png';
$answer = '<auth>';
$answer .= '<userName><![CDATA['.$userName.']]></userName>';
$answer .= '<gender>male</gender>';
$answer .= '<level>regular</level>';
$answer .= '<photo><![CDATA['.$photo.']]></photo>';
$answer .= '<photoModeImage><![CDATA['.$photoModeImage.']]></photoModeImage>';
$answer .= '</auth>';
return $answer;
}
else if (0) //$_SESSION['uid']!="")
{
// Autologin logic goes here
return '<auth error="AUTH_ERROR" />';
}
else if ($_GET['uid']!="")
{
// Non session/cookie based autologin authorization
return '<auth error="AUTH_ERROR" />';
}
else
{
return '<auth error="AUTH_ERROR" />';
}
}
function CheckGuestName()
{
$userName = (isset($_GET["user_name"])) ? ($_GET["user_name"]) : "";
$invalidNames = array("SYSTEM", "ADMIN", "ADMINISTRATOR", "MODERATOR", "ROBOT");
$isInvalid = in_array(strtoupper($userName), $invalidNames);
if($userName == "") return '<checkGuestName error="AUTH_ERROR" />';
if($isInvalid) return '<checkGuestName error="ADMIN_NEED_PASSWORD" />';
$photo = FLASHCOMS_HTTP_ROOT.'common/images/no_photo.swf';
$photoModeImage = FLASHCOMS_HTTP_ROOT.'common/images/no_photo.swf';
$answer = '<checkGuestName>';
$answer .= '<photo><![CDATA['.$photo.']]></photo>';
$answer .= '<photoModeImage><![CDATA['.$photoModeImage.']]></photoModeImage>';
$answer .= '</checkGuestName>';
return $answer;
}
function GetUserPhoto()
{
$userName = (isset($_GET["user_name"])) ? ($_GET["user_name"]) : "";
$photo = FLASHCOMS_HTTP_ROOT.'common/images/User1_120.png';
$photoModeImage = FLASHCOMS_HTTP_ROOT.'common/images/User1_40.png';
$answer = '<userPhoto>';
$answer .= '<photo><![CDATA['.$photo.']]></photo>';
$answer .= '<photoModeImage><![CDATA['.$photoModeImage.']]></photoModeImage>';
$answer .= '</userPhoto>';
return $answer;
}
function GetProfile()
{
$userName = (isset($_GET["user_name"])) ? ($_GET["user_name"]) : "";
if($userName == 'RoBot')
{
$answer = '<profile>';
$answer .= '<name><![CDATA['.$userName.']]></name>';
$answer .= '<age>26</age>';
$answer .= '<gender>male</gender>';
$answer .= '<country>Great Britain</country>';
$answer .= '<city>London</city>';
$answer .= "<info><![CDATA[ Hello. I'm Chat RoBot :)]]></info>";
$answer .= '</profile>';
return $answer;
}
/***************************/
/* return xml data example */
/***************************/
$answer = '<profile>';
$answer .= '<name><![CDATA['.$userName.']]></name>';
$answer .= '<age>26</age>';
$answer .= '<gender>male</gender>';
$answer .= '<country>Great Britain</country>';
$answer .= '<city>London</city>';
$answer .= '<info><![CDATA[I like living. I have sometimes been wildly, despairingly, acutely miserable, racked with sorrow, but through it all I still know quite certainty that just to be alive is a grand thing.]]></info>';
$answer .= '</profile>';
return $answer;
}
function Logout()
{
$answer = '<logout />';
return $answer;
}
?>
But I am having great difficulty integrating this - I am not exactly sure how to link all this together so when a user clicks Chat it automatically logs them in with their username and password.
Any help greatly appreciated!