<?php # Copyright (c)Melanie Thielker and Teravus Ovares (http://opensimulator.org/) # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are met: # * Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # * Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the distribution. # * Neither the name of the OpenSim Project nor the # names of its contributors may be used to endorse or promote products # derived from this software without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY # EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY # DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES # (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND # ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # # updated for Robust installations: BlueWall 2011 # further minor changes by justincc (http://justincc.org) # Tables $presence = "Presence"; # XMLRPC $xmlrpc_server = xmlrpc_server_create(); xmlrpc_server_register_method($xmlrpc_server, "preflightBuyLandPrep", "buy_land_prep"); function validate_user($agent_id, $s_session_id) { $stmt = $RUNTIME['PDO']->prepare("SELECT UserID FROM Presence WHERE UserID=? AND SecureSessionID = ?"); $stmt->execute(array($agent_id, $s_session_id)); if($stmt->rowCount() == 0) { return false; } $res = $stmt->fetch(); return $res['UserID']; } function buy_land_prep($method_name, $params, $app_data) { $confirmvalue = ""; $req = $params[0]; $agentid = $req['agentId']; $sessionid = $req['secureSessionId']; $amount = $req['currencyBuy']; $billableArea = $req['billableArea']; $ID = validate_user($agentid, $sessionid); if($ID) { $membership_levels = array( 'levels' => array( 'id' => "00000000-0000-0000-0000-000000000000", 'description' => "some level")); $landUse = array( 'upgrade' => False, 'action' => "".SYSURL.""); $currency = array( 'estimatedCost' => "200.00"); // convert_to_real($amount)); $membership = array( 'upgrade' => False, 'action' => "".SYSURL."", 'levels' => $membership_levels); $response_xml = xmlrpc_encode(array( 'success' => True, 'currency' => $currency, 'membership' => $membership, 'landUse' => $landUse, 'currency' => $currency, 'confirm' => $confirmvalue)); header("Content-type: text/xml"); print $response_xml; } else { header("Content-type: text/xml"); $response_xml = xmlrpc_encode(array( 'success' => False, 'errorMessage' => "\n\nUnable to Authenticate\n\nClick URL for more info.", 'errorURI' => "".SYSURL."")); print $response_xml; } return ""; } $request_xml = file_get_contents('php://input'); xmlrpc_server_call_method($xmlrpc_server, $request_xml, ''); xmlrpc_server_destroy($xmlrpc_server); ?>