User:World Sar
From OpenSimulator
(Removing all content from page) |
|||
Line 1: | Line 1: | ||
+ | World Star (Windows 7 64 bit) | ||
+ | Open Profile Projects | ||
+ | |||
+ | - php | ||
+ | |||
+ | - sql | ||
+ | |||
+ | |||
+ | |||
+ | <?PHP | ||
+ | |||
+ | |||
+ | |||
+ | $DB_HOST = "localhost";<br>$DB_USER = "root";<br>$DB_PASSWORD = "";<br>$DB_NAME = "profile"; | ||
+ | |||
+ | |||
+ | |||
+ | <br>mysql_connect ($DB_HOST, $DB_USER, $DB_PASSWORD);<br>mysql_select_db ($DB_NAME);<br>$zeroUUID = "00000000-0000-0000-0000-000000000000";<br>$xmlrpc_server = xmlrpc_server_create();<br>xmlrpc_server_register_method($xmlrpc_server, "avatarclassifiedsrequest",<br> "avatarclassifiedsrequest"); | ||
+ | |||
+ | function avatarclassifiedsrequest($method_name, $params, $app_data)<br>{<br> $req = $params[0]; | ||
+ | |||
+ | $uuid = $req['uuid']; | ||
+ | |||
+ | <br> $result = mysql_query("SELECT * FROM profile_classifieds WHERE ".<br> "creatoruuid = '". mysql_escape_string($uuid) ."'"); | ||
+ | |||
+ | $data = array(); | ||
+ | |||
+ | while (($row = mysql_fetch_assoc($result)))<br> {<br> $data[] = array(<br> "classifiedid" => $row["classifieduuid"],<br> "name" => $row["name"]);<br> } | ||
+ | |||
+ | $response_xml = xmlrpc_encode(array(<br> 'success' => True,<br> 'data' => $data<br> )); | ||
+ | |||
+ | print $response_xml;<br>} | ||
+ | |||
+ | # Classifieds Update | ||
+ | |||
+ | xmlrpc_server_register_method($xmlrpc_server, "classified_update",<br> "classified_update"); | ||
+ | |||
+ | function classified_update($method_name, $params, $app_data)<br>{<br> global $zeroUUID; | ||
+ | |||
+ | $req = $params[0]; | ||
+ | |||
+ | $classifieduuid = $req['classifiedUUID'];<br> $creator = $req['creatorUUID'];<br> $category = $req['category'];<br> $name = $req['name'];<br> $description = $req['description'];<br> $parceluuid = $req['parcelUUID'];<br> $parentestate = $req['parentestate'];<br> $snapshotuuid = $req['snapshotUUID'];<br> $simname = $req['sim_name'];<br> $globalpos = $req['globalpos'];<br> $parcelname = $req['parcelname'];<br> $classifiedflag = $req['classifiedFlags'];<br> $priceforlist = $req['classifiedPrice']; | ||
+ | |||
+ | // Check if we already have this one in the database<br> $check = mysql_query("SELECT COUNT(*) FROM profile_classifieds WHERE ".<br> "classifieduuid = '". mysql_escape_string($classifieduuid) ."'"); | ||
+ | |||
+ | while ($row = mysql_fetch_row($check))<br> {<br> $ready = $row[0];<br> } | ||
+ | |||
+ | if ($ready == 0)<br> {<br> // Doing some late checking<br> // Should be done by the module but let's see what happens when<br> // I do it here | ||
+ | |||
+ | if($parcelname == "")<br> $parcelname = "Unknown"; | ||
+ | |||
+ | if($parceluuid == "")<br> $parceluuid = $zeroUUID; | ||
+ | |||
+ | if($description == "")<br> $description = "No Description"; | ||
+ | |||
+ | if($classifiedflag == 2)<br> {<br> $creationdate = time();<br> $expirationdate = time() + (7 * 24 * 60 * 60);<br> }<br> else<br> {<br> $creationdate = time();<br> $expirationdate = time() + (365 * 24 * 60 * 60);<br> } | ||
+ | |||
+ | $insertquery = "INSERT INTO profile_classifieds VALUES ".<br> "('". mysql_escape_string($classifieduuid) ."',".<br> "'". mysql_escape_string($creator) ."',".<br> "". mysql_escape_string($creationdate) .",".<br> "". mysql_escape_string($expirationdate) .",".<br> "'". mysql_escape_string($category) ."',".<br> "'". mysql_escape_string($name) ."',".<br> "'". mysql_escape_string($description) ."',".<br> "'". mysql_escape_string($parceluuid) ."',".<br> "". mysql_escape_string($parentestate) .",".<br> "'". mysql_escape_string($snapshotuuid) ."',".<br> "'". mysql_escape_string($simname) ."',".<br> "'". mysql_escape_string($globalpos) ."',".<br> "'". mysql_escape_string($parcelname) ."',".<br> "". mysql_escape_string($classifiedflag) .",".<br> "". mysql_escape_string($priceforlist) .")"; | ||
+ | |||
+ | // Create a new record for this classified<br> $result = mysql_query($insertquery);<br> }<br> else<br> { | ||
+ | |||
+ | } | ||
+ | |||
+ | $response_xml = xmlrpc_encode(array(<br> 'success' => True,<br> 'data' => $data<br> )); | ||
+ | |||
+ | print $response_xml;<br>} | ||
+ | |||
+ | # Classifieds Delete | ||
+ | |||
+ | xmlrpc_server_register_method($xmlrpc_server, "classified_delete",<br> "classified_delete"); | ||
+ | |||
+ | function classified_delete($method_name, $params, $app_data)<br>{<br> $req = $params[0]; | ||
+ | |||
+ | $classifieduuid = $req['classifiedID']; | ||
+ | |||
+ | $result = mysql_query("DELETE FROM profile_classifieds WHERE ".<br> "classifieduuid = '".mysql_escape_string($classifieduuid) ."'"); | ||
+ | |||
+ | $response_xml = xmlrpc_encode(array(<br> 'success' => True,<br> 'data' => $data<br> )); | ||
+ | |||
+ | print $response_xml;<br>} | ||
+ | |||
+ | #<br># Picks<br># | ||
+ | |||
+ | # Avatar Picks Request | ||
+ | |||
+ | xmlrpc_server_register_method($xmlrpc_server, "avatarpicksrequest",<br> "avatarpicksrequest"); | ||
+ | |||
+ | function avatarpicksrequest($method_name, $params, $app_data)<br>{<br> $req = $params[0]; | ||
+ | |||
+ | $uuid = $req['uuid']; | ||
+ | |||
+ | $data = array(); | ||
+ | |||
+ | $result = mysql_query("SELECT `pickuuid`,`name` FROM profile_picks WHERE ".<br> "creatoruuid = '". mysql_escape_string($uuid) ."'"); | ||
+ | |||
+ | while (($row = mysql_fetch_assoc($result)))<br> {<br> $data[] = array(<br> "pickid" => $row["pickuuid"],<br> "name" => $row["name"]);<br> } | ||
+ | |||
+ | $response_xml = xmlrpc_encode(array(<br> 'success' => True,<br> 'data' => $data<br> )); | ||
+ | |||
+ | print $response_xml;<br>} | ||
+ | |||
+ | # Request Picks for User | ||
+ | |||
+ | xmlrpc_server_register_method($xmlrpc_server, "pickinforequest",<br> "pickinforequest"); | ||
+ | |||
+ | function pickinforequest($method_name, $params, $app_data)<br>{<br> $req = $params[0]; | ||
+ | |||
+ | $uuid = $req['avatar_id'];<br> $pick = $req['pick_id']; | ||
+ | |||
+ | $data = array(); | ||
+ | |||
+ | $result = mysql_query("SELECT * FROM profile_picks WHERE ".<br> "creatoruuid = '". mysql_escape_string($uuid) ."' AND ".<br> "pickuuid = '". mysql_escape_string($pick) ."'"); | ||
+ | |||
+ | $row = mysql_fetch_assoc($result);<br> if ($row != False)<br> {<br> if ($row["description"] == null || $row["description"] == "")<br> $row["description"] = "No description given"; | ||
+ | |||
+ | $data[] = array(<br> "pickuuid" => $row["pickuuid"],<br> "creatoruuid" => $row["creatoruuid"],<br> "toppick" => $row["toppick"],<br> "parceluuid" => $row["parceluuid"],<br> "name" => $row["name"],<br> "description" => $row["description"],<br> "snapshotuuid" => $row["snapshotuuid"],<br> "user" => $row["user"],<br> "originalname" => $row["originalname"],<br> "simname" => $row["simname"],<br> "posglobal" => $row["posglobal"],<br> "sortorder"=> $row["sortorder"],<br> "enabled" => $row["enabled"]);<br> } | ||
+ | |||
+ | $response_xml = xmlrpc_encode(array(<br> 'success' => True,<br> 'data' => $data<br> )); | ||
+ | |||
+ | print $response_xml;<br>} | ||
+ | |||
+ | # Picks Update | ||
+ | |||
+ | xmlrpc_server_register_method($xmlrpc_server, "picks_update",<br> "picks_update"); | ||
+ | |||
+ | function picks_update($method_name, $params, $app_data)<br>{<br> global $zeroUUID; | ||
+ | |||
+ | $req = $params[0]; | ||
+ | |||
+ | $pickuuid = $req['pick_id'];<br> $creator = $req['creator_id'];<br> $toppick = $req['top_pick'];<br> $name = $req['name'];<br> $description = $req['desc'];<br> $parceluuid = $req['parcel_uuid'];<br> $snapshotuuid = $req['snapshot_id'];<br> $user = $req['user'];<br> $simname = $req['sim_name'];<br> $posglobal = $req['pos_global'];<br> $sortorder = $req['sort_order'];<br> $enabled = $req['enabled']; | ||
+ | |||
+ | if($parceluuid == "")<br> $parceluuid = $zeroUUID; | ||
+ | |||
+ | if($description == "")<br> $description = "No Description"; | ||
+ | |||
+ | // Check if we already have this one in the database<br> $check = mysql_query("SELECT COUNT(*) FROM profile_picks WHERE ".<br> "pickuuid = '". mysql_escape_string($pickuuid) ."'"); | ||
+ | |||
+ | $row = mysql_fetch_row($check); | ||
+ | |||
+ | if ($row[0] == 0)<br> {<br> if($user == null || $user == "")<br> $user = "Unknown"; | ||
+ | |||
+ | //The original parcel name is the same as the name of the<br> //profile pick when a new profile pick is being created.<br> $original = $name; | ||
+ | |||
+ | $query = "INSERT INTO profile_picks VALUES ".<br> "('". mysql_escape_string($pickuuid) ."',".<br> "'". mysql_escape_string($creator) ."',".<br> "'". mysql_escape_string($toppick) ."',".<br> "'". mysql_escape_string($parceluuid) ."',".<br> "'". mysql_escape_string($name) ."',".<br> "'". mysql_escape_string($description) ."',".<br> "'". mysql_escape_string($snapshotuuid) ."',".<br> "'". mysql_escape_string($user) ."',".<br> "'". mysql_escape_string($original) ."',".<br> "'". mysql_escape_string($simname) ."',".<br> "'". mysql_escape_string($posglobal) ."',".<br> "'". mysql_escape_string($sortorder) ."',".<br> "'". mysql_escape_string($enabled) ."')";<br> }<br> else<br> {<br> $query = "UPDATE profile_picks SET " .<br> "parceluuid = '". mysql_escape_string($parceluuid) . "', " .<br> "name = '". mysql_escape_string($name) . "', " .<br> "description = '". mysql_escape_string($description) . "', " .<br> "snapshotuuid = '". mysql_escape_string($snapshotuuid) . "' WHERE ".<br> "pickuuid = '". mysql_escape_string($pickuuid) ."'";<br> } | ||
+ | |||
+ | $result = mysql_query($query);<br> if ($result != False)<br> $result = True; | ||
+ | |||
+ | $response_xml = xmlrpc_encode(array(<br> 'success' => $result,<br> 'errorMessage' => mysql_error()<br> )); | ||
+ | |||
+ | print $response_xml;<br>} | ||
+ | |||
+ | # Picks Delete | ||
+ | |||
+ | xmlrpc_server_register_method($xmlrpc_server, "picks_delete",<br> "picks_delete"); | ||
+ | |||
+ | function picks_delete($method_name, $params, $app_data)<br>{<br> $req = $params[0]; | ||
+ | |||
+ | $pickuuid = $req['pick_id']; | ||
+ | |||
+ | $result = mysql_query("DELETE FROM profile_picks WHERE ".<br> "pickuuid = '".mysql_escape_string($pickuuid) ."'"); | ||
+ | |||
+ | if ($result != False)<br> $result = True; | ||
+ | |||
+ | $response_xml = xmlrpc_encode(array(<br> 'success' => $result,<br> 'errorMessage' => mysql_error()<br> )); | ||
+ | |||
+ | print $response_xml;<br>} | ||
+ | |||
+ | #<br># Notes<br># | ||
+ | |||
+ | # Avatar Notes Request | ||
+ | |||
+ | <br>xmlrpc_server_register_method($xmlrpc_server, "avatarnotesrequest",<br> "avatarnotesrequest"); | ||
+ | |||
+ | function avatarnotesrequest($method_name, $params, $app_data)<br>{<br> $req = $params[0]; | ||
+ | |||
+ | $uuid = $req['avatar_id'];<br> $targetuuid = $req['uuid']; | ||
+ | |||
+ | $result = mysql_query("SELECT notes FROM profile_notes WHERE ".<br> "useruuid = '". mysql_escape_string($uuid) ."' AND ".<br> "targetuuid = '". mysql_escape_string($targetuuid) ."'"); | ||
+ | |||
+ | $row = mysql_fetch_row($result);<br> if ($row == False)<br> $notes = "";<br> else<br> $notes = $row[0]; | ||
+ | |||
+ | $data[] = array(<br> "targetid" => $targetuuid,<br> "notes" => $notes); | ||
+ | |||
+ | $response_xml = xmlrpc_encode(array(<br> 'success' => True,<br> 'data' => $data<br> )); | ||
+ | |||
+ | print $response_xml;<br>} | ||
+ | |||
+ | # Avatar Notes Update | ||
+ | |||
+ | xmlrpc_server_register_method($xmlrpc_server, "avatar_notes_update",<br> "avatar_notes_update"); | ||
+ | |||
+ | function avatar_notes_update($method_name, $params, $app_data)<br>{<br> $req = $params[0]; | ||
+ | |||
+ | $uuid = $req['avatar_id'];<br> $targetuuid = $req['target_id'];<br> $notes = $req['notes']; | ||
+ | |||
+ | // Check if we already have this one in the database | ||
+ | |||
+ | $check = mysql_query("SELECT COUNT(*) FROM profile_notes WHERE ".<br> "useruuid = '". mysql_escape_string($uuid) ."' AND ".<br> "targetuuid = '". mysql_escape_string($targetuuid) ."'"); | ||
+ | |||
+ | $row = mysql_fetch_row($check); | ||
+ | |||
+ | if ($row[0] == 0)<br> {<br> // Create a new record for this avatar note<br> $result = mysql_query("INSERT INTO profile_notes VALUES ".<br> "('". mysql_escape_string($uuid) ."',".<br> "'". mysql_escape_string($targetuuid) ."',".<br> "'". mysql_escape_string($notes) ."')");<br> }<br> else if ($notes == "")<br> {<br> // Delete the record for this avatar note<br> $result = mysql_query("DELETE FROM profile_notes WHERE ".<br> "useruuid = '". mysql_escape_string($uuid) ."' AND ".<br> "targetuuid = '". mysql_escape_string($targetuuid) ."'");<br> }<br> else<br> {<br> // Update the existing record<br> $result = mysql_query("UPDATE profile_notes SET ".<br> "notes = '". mysql_escape_string($notes) ."' WHERE ".<br> "useruuid = '". mysql_escape_string($uuid) ."' AND ".<br> "targetuuid = '". mysql_escape_string($targetuuid) ."'");<br> } | ||
+ | |||
+ | $response_xml = xmlrpc_encode(array(<br> 'success' => $result,<br> 'errorMessage' => mysql_error()<br> )); | ||
+ | |||
+ | print $response_xml;<br>} | ||
+ | |||
+ | # Profile bits | ||
+ | |||
+ | xmlrpc_server_register_method($xmlrpc_server, "avatar_properties_request",<br> "avatar_properties_request"); | ||
+ | |||
+ | function avatar_properties_request($method_name, $params, $app_data)<br>{<br> global $zeroUUID; | ||
+ | |||
+ | $req = $params[0]; | ||
+ | |||
+ | $uuid = $req['avatar_id']; | ||
+ | |||
+ | $result = mysql_query("SELECT * FROM profile WHERE ".<br> "useruuid = '". mysql_escape_string($uuid) ."'");<br> $row = mysql_fetch_assoc($result); | ||
+ | |||
+ | if ($row != False)<br> {<br> $data[] = array(<br> "ProfileUrl" => $row["profileURL"],<br> "Image" => $row["profileImage"],<br> "AboutText" => $row["profileAboutText"],<br> "FirstLifeImage" => $row["profileFirstImage"],<br> "FirstLifeAboutText" => $row["profileFirstText"],<br> "Partner" => $row["profilePartner"], | ||
+ | |||
+ | //Return interest data along with avatar properties<br> "wantmask" => $row["profileWantToMask"],<br> "wanttext" => $row["profileWantToText"],<br> "skillsmask" => $row["profileSkillsMask"],<br> "skillstext" => $row["profileSkillsText"],<br> "languages" => $row["profileLanguages"]);<br> }<br> else<br> {<br> //Insert empty record for avatar.<br> //FIXME: Should this only be done when asking for ones own profile?<br> $sql = "INSERT INTO profile VALUES ( ".<br> "'". mysql_escape_string($uuid) ."', ".<br> "'$zeroUUID', 0, 0, '', 0, '', 0, '', '', ".<br> "'$zeroUUID', '', '$zeroUUID', '')";<br> $result = mysql_query($sql); | ||
+ | |||
+ | $data[] = array(<br> "ProfileUrl" => "",<br> "Image" => $zeroUUID,<br> "AboutText" => "",<br> "FirstLifeImage" => $zeroUUID,<br> "FirstLifeAboutText" => "",<br> "Partner" => $zeroUUID, | ||
+ | |||
+ | "wantmask" => 0,<br> "wanttext" => "",<br> "skillsmask" => 0,<br> "skillstext" => "",<br> "languages" => "");<br> } | ||
+ | |||
+ | $response_xml = xmlrpc_encode(array(<br> 'success' => True,<br> 'data' => $data<br> )); | ||
+ | |||
+ | print $response_xml;<br>} | ||
+ | |||
+ | xmlrpc_server_register_method($xmlrpc_server, "avatar_properties_update",<br> "avatar_properties_update"); | ||
+ | |||
+ | function avatar_properties_update($method_name, $params, $app_data)<br>{<br> $req = $params[0]; | ||
+ | |||
+ | $uuid = $req['avatar_id'];<br> $profileURL = $req['ProfileUrl'];<br> $image = $req['Image'];<br> $abouttext = $req['AboutText'];<br> $firstlifeimage = $req['FirstLifeImage'];<br> $firstlifetext = $req['FirstLifeAboutText']; | ||
+ | |||
+ | $result=mysql_query("UPDATE profile SET ".<br> "profileURL='". mysql_escape_string($profileURL) ."', ".<br> "profileImage='". mysql_escape_string($image) ."', ".<br> "profileAboutText='". mysql_escape_string($abouttext) ."', ".<br> "profileFirstImage='". mysql_escape_string($firstlifeimage) ."', ".<br> "profileFirstText='". mysql_escape_string($firstlifetext) ."' ".<br> "WHERE useruuid='". mysql_escape_string($uuid) ."'"<br> ); | ||
+ | |||
+ | $response_xml = xmlrpc_encode(array(<br> 'success' => $result,<br> 'errorMessage' => mysql_error()<br> )); | ||
+ | |||
+ | print $response_xml;<br>} | ||
+ | |||
+ | <br>// Profile Interests | ||
+ | |||
+ | xmlrpc_server_register_method($xmlrpc_server, "avatar_interests_update",<br> "avatar_interests_update"); | ||
+ | |||
+ | function avatar_interests_update($method_name, $params, $app_data)<br>{<br> $req = $params[0]; | ||
+ | |||
+ | $uuid = $req['avatar_id'];<br> $wanttext = $req['wanttext'];<br> $wantmask = $req['wantmask'];<br> $skillstext = $req['skillstext'];<br> $skillsmask = $req['skillsmask'];<br> $languages = $req['languages']; | ||
+ | |||
+ | $result = mysql_query("UPDATE profile SET ".<br> "profileWantToMask = ". mysql_escape_string($wantmask) .",".<br> "profileWantToText = '". mysql_escape_string($wanttext) ."',".<br> "profileSkillsMask = ". mysql_escape_string($skillsmask) .",".<br> "profileSkillsText = '". mysql_escape_string($skillstext) ."',".<br> "profileLanguages = '". mysql_escape_string($languages) ."' ".<br> "WHERE useruuid = '". mysql_escape_string($uuid) ."'"<br> ); | ||
+ | |||
+ | $response_xml = xmlrpc_encode(array(<br> 'success' => True<br> )); | ||
+ | |||
+ | print $response_xml;<br>} | ||
+ | |||
+ | // User Preferences | ||
+ | |||
+ | xmlrpc_server_register_method($xmlrpc_server, "user_preferences_request",<br> "user_preferences_request"); | ||
+ | |||
+ | function user_preferences_request($method_name, $params, $app_data)<br>{<br> $req = $params[0]; | ||
+ | |||
+ | $uuid = $req['avatar_id']; | ||
+ | |||
+ | $result = mysql_query("SELECT imviaemail,visible,email FROM profile_settings WHERE ".<br> "useruuid = '". mysql_escape_string($uuid) ."'"); | ||
+ | |||
+ | $row = mysql_fetch_assoc($result); | ||
+ | |||
+ | if ($row != False)<br> {<br> $data[] = array(<br> "imviaemail" => $row["imviaemail"],<br> "visible" => $row["visible"],<br> "email" => $row["email"]);<br> }<br> else<br> {<br> //Insert empty record for avatar.<br> //NOTE: The 'false' values here are enums defined in database<br> $sql = "INSERT INTO profile_settings VALUES ".<br> "('". mysql_escape_string($uuid) ."', ".<br> "'false', 'false', '')";<br> $result = mysql_query($sql); | ||
+ | |||
+ | $data[] = array(<br> "imviaemail" => False,<br> "visible" => False,<br> "email" => "");<br> } | ||
+ | |||
+ | $response_xml = xmlrpc_encode(array(<br> 'success' => True,<br> 'data' => $data<br> )); | ||
+ | |||
+ | print $response_xml;<br>} | ||
+ | |||
+ | xmlrpc_server_register_method($xmlrpc_server, "user_preferences_update",<br> "user_preferences_update"); | ||
+ | |||
+ | function user_preferences_update($method_name, $params, $app_data)<br>{ | ||
+ | |||
+ | $req = $params[0]; | ||
+ | |||
+ | $uuid = $req['avatar_id'];<br> $wantim = $req['imViaEmail'];<br> $directory = $req['visible']; | ||
+ | |||
+ | $result = mysql_query("UPDATE profile_settings SET ".<br> "imviaemail = '".mysql_escape_string($wantim) ."', ".<br> "visible = '".mysql_escape_string($directory) ."' WHERE ".<br> "useruuid = '". mysql_escape_string($uuid) ."'"); | ||
+ | |||
+ | $response_xml = xmlrpc_encode(array(<br> 'success' => True,<br> 'data' => $data<br> )); | ||
+ | |||
+ | print $response_xml;<br>} | ||
+ | |||
+ | #<br># Process the request<br># | ||
+ | |||
+ | $request_xml = $HTTP_RAW_POST_DATA;<br>xmlrpc_server_call_method($xmlrpc_server, $request_xml, '');<br>xmlrpc_server_destroy($xmlrpc_server);<br>?> |
Revision as of 00:11, 20 October 2011
World Star (Windows 7 64 bit)
Open Profile Projects
- php
- sql
<?PHP
$DB_HOST = "localhost";
$DB_USER = "root";
$DB_PASSWORD = "";
$DB_NAME = "profile";
mysql_connect ($DB_HOST, $DB_USER, $DB_PASSWORD);
mysql_select_db ($DB_NAME);
$zeroUUID = "00000000-0000-0000-0000-000000000000";
$xmlrpc_server = xmlrpc_server_create();
xmlrpc_server_register_method($xmlrpc_server, "avatarclassifiedsrequest",
"avatarclassifiedsrequest");
function avatarclassifiedsrequest($method_name, $params, $app_data)
{
$req = $params[0];
$uuid = $req['uuid'];
$result = mysql_query("SELECT * FROM profile_classifieds WHERE ".
"creatoruuid = '". mysql_escape_string($uuid) ."'");
$data = array();
while (($row = mysql_fetch_assoc($result)))
{
$data[] = array(
"classifiedid" => $row["classifieduuid"],
"name" => $row["name"]);
}
$response_xml = xmlrpc_encode(array(
'success' => True,
'data' => $data
));
print $response_xml;
}
- Classifieds Update
xmlrpc_server_register_method($xmlrpc_server, "classified_update",
"classified_update");
function classified_update($method_name, $params, $app_data)
{
global $zeroUUID;
$req = $params[0];
$classifieduuid = $req['classifiedUUID'];
$creator = $req['creatorUUID'];
$category = $req['category'];
$name = $req['name'];
$description = $req['description'];
$parceluuid = $req['parcelUUID'];
$parentestate = $req['parentestate'];
$snapshotuuid = $req['snapshotUUID'];
$simname = $req['sim_name'];
$globalpos = $req['globalpos'];
$parcelname = $req['parcelname'];
$classifiedflag = $req['classifiedFlags'];
$priceforlist = $req['classifiedPrice'];
// Check if we already have this one in the database
$check = mysql_query("SELECT COUNT(*) FROM profile_classifieds WHERE ".
"classifieduuid = '". mysql_escape_string($classifieduuid) ."'");
while ($row = mysql_fetch_row($check))
{
$ready = $row[0];
}
if ($ready == 0)
{
// Doing some late checking
// Should be done by the module but let's see what happens when
// I do it here
if($parcelname == "")
$parcelname = "Unknown";
if($parceluuid == "")
$parceluuid = $zeroUUID;
if($description == "")
$description = "No Description";
if($classifiedflag == 2)
{
$creationdate = time();
$expirationdate = time() + (7 * 24 * 60 * 60);
}
else
{
$creationdate = time();
$expirationdate = time() + (365 * 24 * 60 * 60);
}
$insertquery = "INSERT INTO profile_classifieds VALUES ".
"('". mysql_escape_string($classifieduuid) ."',".
"'". mysql_escape_string($creator) ."',".
"". mysql_escape_string($creationdate) .",".
"". mysql_escape_string($expirationdate) .",".
"'". mysql_escape_string($category) ."',".
"'". mysql_escape_string($name) ."',".
"'". mysql_escape_string($description) ."',".
"'". mysql_escape_string($parceluuid) ."',".
"". mysql_escape_string($parentestate) .",".
"'". mysql_escape_string($snapshotuuid) ."',".
"'". mysql_escape_string($simname) ."',".
"'". mysql_escape_string($globalpos) ."',".
"'". mysql_escape_string($parcelname) ."',".
"". mysql_escape_string($classifiedflag) .",".
"". mysql_escape_string($priceforlist) .")";
// Create a new record for this classified
$result = mysql_query($insertquery);
}
else
{
}
$response_xml = xmlrpc_encode(array(
'success' => True,
'data' => $data
));
print $response_xml;
}
- Classifieds Delete
xmlrpc_server_register_method($xmlrpc_server, "classified_delete",
"classified_delete");
function classified_delete($method_name, $params, $app_data)
{
$req = $params[0];
$classifieduuid = $req['classifiedID'];
$result = mysql_query("DELETE FROM profile_classifieds WHERE ".
"classifieduuid = '".mysql_escape_string($classifieduuid) ."'");
$response_xml = xmlrpc_encode(array(
'success' => True,
'data' => $data
));
print $response_xml;
}
# Picks
#
- Avatar Picks Request
xmlrpc_server_register_method($xmlrpc_server, "avatarpicksrequest",
"avatarpicksrequest");
function avatarpicksrequest($method_name, $params, $app_data)
{
$req = $params[0];
$uuid = $req['uuid'];
$data = array();
$result = mysql_query("SELECT `pickuuid`,`name` FROM profile_picks WHERE ".
"creatoruuid = '". mysql_escape_string($uuid) ."'");
while (($row = mysql_fetch_assoc($result)))
{
$data[] = array(
"pickid" => $row["pickuuid"],
"name" => $row["name"]);
}
$response_xml = xmlrpc_encode(array(
'success' => True,
'data' => $data
));
print $response_xml;
}
- Request Picks for User
xmlrpc_server_register_method($xmlrpc_server, "pickinforequest",
"pickinforequest");
function pickinforequest($method_name, $params, $app_data)
{
$req = $params[0];
$uuid = $req['avatar_id'];
$pick = $req['pick_id'];
$data = array();
$result = mysql_query("SELECT * FROM profile_picks WHERE ".
"creatoruuid = '". mysql_escape_string($uuid) ."' AND ".
"pickuuid = '". mysql_escape_string($pick) ."'");
$row = mysql_fetch_assoc($result);
if ($row != False)
{
if ($row["description"] == null || $row["description"] == "")
$row["description"] = "No description given";
$data[] = array(
"pickuuid" => $row["pickuuid"],
"creatoruuid" => $row["creatoruuid"],
"toppick" => $row["toppick"],
"parceluuid" => $row["parceluuid"],
"name" => $row["name"],
"description" => $row["description"],
"snapshotuuid" => $row["snapshotuuid"],
"user" => $row["user"],
"originalname" => $row["originalname"],
"simname" => $row["simname"],
"posglobal" => $row["posglobal"],
"sortorder"=> $row["sortorder"],
"enabled" => $row["enabled"]);
}
$response_xml = xmlrpc_encode(array(
'success' => True,
'data' => $data
));
print $response_xml;
}
- Picks Update
xmlrpc_server_register_method($xmlrpc_server, "picks_update",
"picks_update");
function picks_update($method_name, $params, $app_data)
{
global $zeroUUID;
$req = $params[0];
$pickuuid = $req['pick_id'];
$creator = $req['creator_id'];
$toppick = $req['top_pick'];
$name = $req['name'];
$description = $req['desc'];
$parceluuid = $req['parcel_uuid'];
$snapshotuuid = $req['snapshot_id'];
$user = $req['user'];
$simname = $req['sim_name'];
$posglobal = $req['pos_global'];
$sortorder = $req['sort_order'];
$enabled = $req['enabled'];
if($parceluuid == "")
$parceluuid = $zeroUUID;
if($description == "")
$description = "No Description";
// Check if we already have this one in the database
$check = mysql_query("SELECT COUNT(*) FROM profile_picks WHERE ".
"pickuuid = '". mysql_escape_string($pickuuid) ."'");
$row = mysql_fetch_row($check);
if ($row[0] == 0)
{
if($user == null || $user == "")
$user = "Unknown";
//The original parcel name is the same as the name of the
//profile pick when a new profile pick is being created.
$original = $name;
$query = "INSERT INTO profile_picks VALUES ".
"('". mysql_escape_string($pickuuid) ."',".
"'". mysql_escape_string($creator) ."',".
"'". mysql_escape_string($toppick) ."',".
"'". mysql_escape_string($parceluuid) ."',".
"'". mysql_escape_string($name) ."',".
"'". mysql_escape_string($description) ."',".
"'". mysql_escape_string($snapshotuuid) ."',".
"'". mysql_escape_string($user) ."',".
"'". mysql_escape_string($original) ."',".
"'". mysql_escape_string($simname) ."',".
"'". mysql_escape_string($posglobal) ."',".
"'". mysql_escape_string($sortorder) ."',".
"'". mysql_escape_string($enabled) ."')";
}
else
{
$query = "UPDATE profile_picks SET " .
"parceluuid = '". mysql_escape_string($parceluuid) . "', " .
"name = '". mysql_escape_string($name) . "', " .
"description = '". mysql_escape_string($description) . "', " .
"snapshotuuid = '". mysql_escape_string($snapshotuuid) . "' WHERE ".
"pickuuid = '". mysql_escape_string($pickuuid) ."'";
}
$result = mysql_query($query);
if ($result != False)
$result = True;
$response_xml = xmlrpc_encode(array(
'success' => $result,
'errorMessage' => mysql_error()
));
print $response_xml;
}
- Picks Delete
xmlrpc_server_register_method($xmlrpc_server, "picks_delete",
"picks_delete");
function picks_delete($method_name, $params, $app_data)
{
$req = $params[0];
$pickuuid = $req['pick_id'];
$result = mysql_query("DELETE FROM profile_picks WHERE ".
"pickuuid = '".mysql_escape_string($pickuuid) ."'");
if ($result != False)
$result = True;
$response_xml = xmlrpc_encode(array(
'success' => $result,
'errorMessage' => mysql_error()
));
print $response_xml;
}
# Notes
#
- Avatar Notes Request
xmlrpc_server_register_method($xmlrpc_server, "avatarnotesrequest",
"avatarnotesrequest");
function avatarnotesrequest($method_name, $params, $app_data)
{
$req = $params[0];
$uuid = $req['avatar_id'];
$targetuuid = $req['uuid'];
$result = mysql_query("SELECT notes FROM profile_notes WHERE ".
"useruuid = '". mysql_escape_string($uuid) ."' AND ".
"targetuuid = '". mysql_escape_string($targetuuid) ."'");
$row = mysql_fetch_row($result);
if ($row == False)
$notes = "";
else
$notes = $row[0];
$data[] = array(
"targetid" => $targetuuid,
"notes" => $notes);
$response_xml = xmlrpc_encode(array(
'success' => True,
'data' => $data
));
print $response_xml;
}
- Avatar Notes Update
xmlrpc_server_register_method($xmlrpc_server, "avatar_notes_update",
"avatar_notes_update");
function avatar_notes_update($method_name, $params, $app_data)
{
$req = $params[0];
$uuid = $req['avatar_id'];
$targetuuid = $req['target_id'];
$notes = $req['notes'];
// Check if we already have this one in the database
$check = mysql_query("SELECT COUNT(*) FROM profile_notes WHERE ".
"useruuid = '". mysql_escape_string($uuid) ."' AND ".
"targetuuid = '". mysql_escape_string($targetuuid) ."'");
$row = mysql_fetch_row($check);
if ($row[0] == 0)
{
// Create a new record for this avatar note
$result = mysql_query("INSERT INTO profile_notes VALUES ".
"('". mysql_escape_string($uuid) ."',".
"'". mysql_escape_string($targetuuid) ."',".
"'". mysql_escape_string($notes) ."')");
}
else if ($notes == "")
{
// Delete the record for this avatar note
$result = mysql_query("DELETE FROM profile_notes WHERE ".
"useruuid = '". mysql_escape_string($uuid) ."' AND ".
"targetuuid = '". mysql_escape_string($targetuuid) ."'");
}
else
{
// Update the existing record
$result = mysql_query("UPDATE profile_notes SET ".
"notes = '". mysql_escape_string($notes) ."' WHERE ".
"useruuid = '". mysql_escape_string($uuid) ."' AND ".
"targetuuid = '". mysql_escape_string($targetuuid) ."'");
}
$response_xml = xmlrpc_encode(array(
'success' => $result,
'errorMessage' => mysql_error()
));
print $response_xml;
}
- Profile bits
xmlrpc_server_register_method($xmlrpc_server, "avatar_properties_request",
"avatar_properties_request");
function avatar_properties_request($method_name, $params, $app_data)
{
global $zeroUUID;
$req = $params[0];
$uuid = $req['avatar_id'];
$result = mysql_query("SELECT * FROM profile WHERE ".
"useruuid = '". mysql_escape_string($uuid) ."'");
$row = mysql_fetch_assoc($result);
if ($row != False)
{
$data[] = array(
"ProfileUrl" => $row["profileURL"],
"Image" => $row["profileImage"],
"AboutText" => $row["profileAboutText"],
"FirstLifeImage" => $row["profileFirstImage"],
"FirstLifeAboutText" => $row["profileFirstText"],
"Partner" => $row["profilePartner"],
//Return interest data along with avatar properties
"wantmask" => $row["profileWantToMask"],
"wanttext" => $row["profileWantToText"],
"skillsmask" => $row["profileSkillsMask"],
"skillstext" => $row["profileSkillsText"],
"languages" => $row["profileLanguages"]);
}
else
{
//Insert empty record for avatar.
//FIXME: Should this only be done when asking for ones own profile?
$sql = "INSERT INTO profile VALUES ( ".
"'". mysql_escape_string($uuid) ."', ".
"'$zeroUUID', 0, 0, , 0, , 0, , , ".
"'$zeroUUID', , '$zeroUUID', )";
$result = mysql_query($sql);
$data[] = array(
"ProfileUrl" => "",
"Image" => $zeroUUID,
"AboutText" => "",
"FirstLifeImage" => $zeroUUID,
"FirstLifeAboutText" => "",
"Partner" => $zeroUUID,
"wantmask" => 0,
"wanttext" => "",
"skillsmask" => 0,
"skillstext" => "",
"languages" => "");
}
$response_xml = xmlrpc_encode(array(
'success' => True,
'data' => $data
));
print $response_xml;
}
xmlrpc_server_register_method($xmlrpc_server, "avatar_properties_update",
"avatar_properties_update");
function avatar_properties_update($method_name, $params, $app_data)
{
$req = $params[0];
$uuid = $req['avatar_id'];
$profileURL = $req['ProfileUrl'];
$image = $req['Image'];
$abouttext = $req['AboutText'];
$firstlifeimage = $req['FirstLifeImage'];
$firstlifetext = $req['FirstLifeAboutText'];
$result=mysql_query("UPDATE profile SET ".
"profileURL='". mysql_escape_string($profileURL) ."', ".
"profileImage='". mysql_escape_string($image) ."', ".
"profileAboutText='". mysql_escape_string($abouttext) ."', ".
"profileFirstImage='". mysql_escape_string($firstlifeimage) ."', ".
"profileFirstText='". mysql_escape_string($firstlifetext) ."' ".
"WHERE useruuid='". mysql_escape_string($uuid) ."'"
);
$response_xml = xmlrpc_encode(array(
'success' => $result,
'errorMessage' => mysql_error()
));
print $response_xml;
}
// Profile Interests
xmlrpc_server_register_method($xmlrpc_server, "avatar_interests_update",
"avatar_interests_update");
function avatar_interests_update($method_name, $params, $app_data)
{
$req = $params[0];
$uuid = $req['avatar_id'];
$wanttext = $req['wanttext'];
$wantmask = $req['wantmask'];
$skillstext = $req['skillstext'];
$skillsmask = $req['skillsmask'];
$languages = $req['languages'];
$result = mysql_query("UPDATE profile SET ".
"profileWantToMask = ". mysql_escape_string($wantmask) .",".
"profileWantToText = '". mysql_escape_string($wanttext) ."',".
"profileSkillsMask = ". mysql_escape_string($skillsmask) .",".
"profileSkillsText = '". mysql_escape_string($skillstext) ."',".
"profileLanguages = '". mysql_escape_string($languages) ."' ".
"WHERE useruuid = '". mysql_escape_string($uuid) ."'"
);
$response_xml = xmlrpc_encode(array(
'success' => True
));
print $response_xml;
}
// User Preferences
xmlrpc_server_register_method($xmlrpc_server, "user_preferences_request",
"user_preferences_request");
function user_preferences_request($method_name, $params, $app_data)
{
$req = $params[0];
$uuid = $req['avatar_id'];
$result = mysql_query("SELECT imviaemail,visible,email FROM profile_settings WHERE ".
"useruuid = '". mysql_escape_string($uuid) ."'");
$row = mysql_fetch_assoc($result);
if ($row != False)
{
$data[] = array(
"imviaemail" => $row["imviaemail"],
"visible" => $row["visible"],
"email" => $row["email"]);
}
else
{
//Insert empty record for avatar.
//NOTE: The 'false' values here are enums defined in database
$sql = "INSERT INTO profile_settings VALUES ".
"('". mysql_escape_string($uuid) ."', ".
"'false', 'false', )";
$result = mysql_query($sql);
$data[] = array(
"imviaemail" => False,
"visible" => False,
"email" => "");
}
$response_xml = xmlrpc_encode(array(
'success' => True,
'data' => $data
));
print $response_xml;
}
xmlrpc_server_register_method($xmlrpc_server, "user_preferences_update",
"user_preferences_update");
function user_preferences_update($method_name, $params, $app_data)
{
$req = $params[0];
$uuid = $req['avatar_id'];
$wantim = $req['imViaEmail'];
$directory = $req['visible'];
$result = mysql_query("UPDATE profile_settings SET ".
"imviaemail = '".mysql_escape_string($wantim) ."', ".
"visible = '".mysql_escape_string($directory) ."' WHERE ".
"useruuid = '". mysql_escape_string($uuid) ."'");
$response_xml = xmlrpc_encode(array(
'success' => True,
'data' => $data
));
print $response_xml;
}
# Process the request
#
$request_xml = $HTTP_RAW_POST_DATA;
xmlrpc_server_call_method($xmlrpc_server, $request_xml, );
xmlrpc_server_destroy($xmlrpc_server);
?>