function wot_tx_queue_information($tx_id) { global $wot_session; /* Return Status List (Reference | Update as needed) 0 = Nothing Executed; 1= Success */ //Declare default variables (Sanatize after Declaration) $output = array(); $output["return_status"] = 0; $output["return_status_message"] = ''; $output["db_data"] = array(); //Query for transaction $transaction_info_q = wot_doQuery("SELECT `id`, `timestamp_initiated`, `address_a_id`, `address_a`, `address_a_signature`, `address_a_status`, `address_b_id`, `address_b`, `address_b_status`, `address_b_signature`, `message_to_sign` FROM `feedback_queue_index` WHERE `id` = ? AND (`address_a` = ? OR `address_b` = ?) LIMIT 0,1", $tx_id, $wot_session["address"], $wot_session["address"]); $transaction_info = $transaction_info_q->fetch(); if ($transaction_info["id"] == $tx_id) { $output["db_data"] = $transaction_info; $output["return_status"] = 1; } else { $output["return_status"] = 100; $output["return_status_message"] = "Unable to find that transaction within your permission levels."; } return $output; }
$tx_id = (int) $_GET["id"]; //Get tx information $tx_information = wot_tx_queue_information($tx_id); //Quickly organize who is me and who is not me $distinct_identities = wot_distinct_me_and_swim($tx_information["db_data"]["address_a"], $tx_information["db_data"]["address_a_status"], $tx_information["db_data"]["address_b"], $tx_information["db_data"]["address_b_status"]); //Who are we awaiting on? Me or SWIM? $status = wot_awaitingOnMeOrSwim($distinct_identities["db_data"]["me_status"], $distinct_identities["db_data"]["swim_status"]); if ($act == "signmessage") { //Check if this user is required to sign message? if ($distinct_identities["me_status"] == 0) { //Check if the message is valid $Bitcoin_connection = OpenBitcoinClient(); $validate_signed_message = $Bitcoin_connection["connection_tunnel"]->query("verifymessage", $wot_session["address"], $_POST["signed_message"], $tx_information["db_data"]["message"]); if ($validate_signed_message == true) { //The signature validates update it to transaction information, and change status wot_doQuery("UPDATE `feedback_queue_index` SET `address_b_signature` = ?, `address_b_status` = 1 WHERE `id` = ? AND `address_b` = ? LIMIT 1", $_POST["signed_message"], $tx_id, $wot_session["address"]); //Reset information now that we have updated everything //Get tx information $tx_information = wot_tx_queue_information($tx_id); //Quickly organize who is me and who is not me $distinct_identities = wot_distinct_me_and_swim($tx_information["db_data"]["address_a"], $tx_information["db_data"]["address_a_status"], $tx_information["db_data"]["address_b"], $tx_information["db_data"]["address_b_status"]); //Who are we awaiting on? Me or SWIM? $status = wot_awaitingOnMeOrSwim($distinct_identities["db_data"]["me_status"], $distinct_identities["db_data"]["swim_status"]); } else { } } } //Include header of page $wot_header_config["title"] = "Home Safe Home."; wot_header(); ?>