MTurk Rejection Reverser

'; if($_POST['go']=="unReject!") { $response=array(); $AWS_ACCESS_KEY_ID = $_POST['access']; $AWS_SECRET_ACCESS_KEY = $_POST['secret']; $SERVICE_NAME = "AWSMechanicalTurkRequester"; $SERVICE_VERSION = "2007-06-21"; function generate_timestamp($time) { return gmdate("Y-m-d\TH:i:s\\Z", $time); } function hmac_sha1($key, $s) { return pack("H*", sha1((str_pad($key, 64, chr(0x00)) ^ (str_repeat(chr(0x5c), 64))) . pack("H*", sha1((str_pad($key, 64, chr(0x00)) ^ (str_repeat(chr(0x36), 64))) . $s)))); } function generate_signature($service, $operation, $timestamp, $secret_access_key) { $string_to_encode = $service . $operation . $timestamp; $hmac = hmac_sha1($secret_access_key, $string_to_encode); $signature = base64_encode($hmac); return $signature; } $operation = "ApproveRejectedAssignment"; $timestamp = generate_timestamp(time()); $signature = generate_signature($SERVICE_NAME, $operation, $timestamp, $AWS_SECRET_ACCESS_KEY); if(preg_match_all('/([A-Z0-9]{30,32})/',$_POST['assignments'],$matches)) { echo '
' . PHP_EOL;
		
		$assignmentids = array_unique($matches[1]);
		
		foreach($assignmentids as $assignmentid)
		{
	
			$url = "https://mechanicalturk.amazonaws.com/onca/xml"
			  . "?Service=" . urlencode($SERVICE_NAME)
			  . "&Operation=" . urlencode($operation)
			  . "&Verion=" . urlencode($SERVICE_VERSION)
			  . "&Timestamp=" . urlencode($timestamp)
			  . "&AWSAccessKeyId=" . urlencode($AWS_ACCESS_KEY_ID)
			  . "&Signature=" . urlencode($signature)
			  . "&AssignmentId=" . $assignmentid;
			
			$curl = curl_init();
			curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
			curl_setopt($curl, CURLOPT_TIMEOUT, 16);
			curl_setopt($curl, CURLOPT_URL, $url); 
		
			if($return = curl_exec($curl))
			{
				$xml = simplexml_load_string($return);
				$json = json_encode($xml);
				$array = json_decode($json,TRUE);
				#$response[$assignmentid]=$array;
#				echo $assignmentid . PHP_EOL;
#				if(isset($array['Error'])) echo "Hey - " . $array['Error']['Message'] . PHP_EOL;
#				echo "hey - " . $array['ApproveRejectedAssignmentResult']['Request']['Errors']['Message'] . PHP_EOL;

				if($array['ApproveRejectedAssignmentResult']['Request']['IsValid']=="True")
				{
					echo "[" . $assignmentid . "] SUCCESS - Assignment is now approved." . PHP_EOL;
				}
				elseif(isset($array['OperationRequest']['Errors']))
				{
					echo "[" . $assignmentid . "] ERROR - " . $array['OperationRequest']['Errors']['Error']['Message'] . "" . PHP_EOL;
					break;
				}
				elseif(isset($array['ApproveRejectedAssignmentResult']['Request']['Errors']))
				{
					echo "[" . $assignmentid . "] ERROR - " . $array['ApproveRejectedAssignmentResult']['Request']['Errors']['Error']['Message'] . "" . PHP_EOL;
				}

			}	
			else
			{
				echo "Trouble communicating with Amazon. Perhaps try again?" . PHP_EOL;
				break;
			}
			curl_close ($curl);

		}
		echo '
' . PHP_EOL; } } ?>


AssignmentId(s) to Reverse
Your Access Key [?]
Your Secret Access Key [?]