Exemplo n.º 1
0
function return_error($errno_, $errstr_)
{
    header('Content-Type: text/xml; charset=utf-8');
    $dom = new DomDocument('1.0', 'utf-8');
    $node = $dom->createElement('error');
    $node->setAttribute('id', $errno_);
    $node->setAttribute('message', $errstr_);
    $dom->appendChild($node);
    Logger::error('main', "(client/remote_apps) return_error({$errno_}, {$errstr_})");
    return $dom->saveXML();
}
if (!array_key_exists('token', $_REQUEST)) {
    echo return_error(1, 'Usage: missing "token" $_REQUEST parameter');
    die;
}
$token = Abstract_Token::load($_REQUEST['token']);
if (!$token) {
    echo return_error(2, 'No such token: ' . $_REQUEST['token']);
    die;
}
if ($token->type != 'external_apps') {
    echo return_error(3, 'Token "' . $_REQUEST['token'] . '" is invalid');
    die;
}
$session = Abstract_Session::load($token->link_to);
if (!$session) {
    echo return_error(4, 'No such session: ' . $token->link_to);
    die;
}
$userDB = UserDB::getInstance();
$user = $userDB->import($session->user_login);