From c3a96d6ab68d6cdc6b20a8e244bff037af2b1f90 Mon Sep 17 00:00:00 2001 From: Skylar Ittner Date: Sat, 27 Aug 2016 14:51:16 -0600 Subject: [PATCH] Add Munzee integration --- .gitignore | 3 +- capturemunzee.php | 94 ++++++++++++++++++++++++++++++++++++++++++ code2item.php | 16 +++++++ database.mwb | Bin 11776 -> 12275 bytes database.mwb.bak | Bin 11781 -> 11776 bytes munzee.php | 57 +++++++++++++++++++++++++ settings.php | 18 -------- settings.template.php | 20 +++++++++ 8 files changed, 189 insertions(+), 19 deletions(-) create mode 100644 capturemunzee.php create mode 100644 munzee.php delete mode 100644 settings.php create mode 100644 settings.template.php diff --git a/.gitignore b/.gitignore index 27390aa..40b48aa 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ error* stats* -vendor* \ No newline at end of file +vendor* +settings.php diff --git a/capturemunzee.php b/capturemunzee.php new file mode 100644 index 0000000..1cfb107 --- /dev/null +++ b/capturemunzee.php @@ -0,0 +1,94 @@ +has('munzee', ['player_uuid' => $_SESSION['uuid']])) { + + + /* Check if we need to refresh the bearer token first */ + if ($database->has('munzee', ['player_uuid' => $_SESSION['uuid'], 'expires[<=]' => (time() + 30)])) { + $url = 'https://api.munzee.com/oauth/login'; + $fields = array( + 'client_id' => urlencode(MUNZEE_KEY), + 'client_secret' => urlencode(MUNZEE_SECRET), + 'grant_type' => 'refresh_token', + 'refresh_token' => urlencode($database->select('munzee', 'refreshtoken', ['player_uuid' => $_SESSION['uuid']])) + ); + + foreach ($fields as $key => $value) { + $fields_string .= $key . '=' . $value . '&'; + } + rtrim($fields_string, '&'); + + $ch = curl_init(); + + $options = array( + CURLOPT_URL => $url, + CURLOPT_POST => 1, + CURLOPT_POSTFIELDS => $fields_string, + CURLOPT_RETURNTRANSFER => true, // return web page + CURLOPT_HEADER => false, // don't return headers + CURLOPT_FOLLOWLOCATION => true, // follow redirects + CURLOPT_MAXREDIRS => 10, // stop after 10 redirects + CURLOPT_ENCODING => "", // handle compressed + CURLOPT_USERAGENT => "TerranQuest Game Server (terranquest.net)", // name of client + CURLOPT_AUTOREFERER => true, // set referrer on redirect + CURLOPT_CONNECTTIMEOUT => 120, // time-out on connect + CURLOPT_TIMEOUT => 120, // time-out on response + ); + curl_setopt_array($ch, $options); + + $result = curl_exec($ch); + + curl_close($ch); + + $data = json_decode($result, TRUE); + + if ($data['status_code'] == 200) { + $database->update('munzee', ['bearertoken' => $data['token']['access_token'], 'refreshtoken' => $data['token']['refresh_token'], 'expires' => $data['token']['expires']], ['player_uuid' => $_SESSION['uuid']]); + } + } + + + /* Check again now */ + if ($database->has('munzee', ['player_uuid' => $_SESSION['uuid'], 'expires[>]' => (time() + 30)])) { + $url = 'https://api.munzee.com/capture/light/'; + $header = array( + 'Content-type: application/json', + 'Authorization: ' . $database->select('munzee', ['bearertoken'], ['player_uuid' => $_SESSION['uuid']])[0] + ); + + + $fields_string = 'data={"language":"EN","latitude":' . $latitude . ',"longitude":' . $longitude . ',"code":"' . $origcode . '","time":' . time() . ',"accuracy":' . $accuracy . '}'; +//open connection + $ch = curl_init(); + + $options = array( + CURLOPT_URL => $url, + CURLOPT_POST => 1, + CURLOPT_POSTFIELDS => $fields_string, + CURLOPT_RETURNTRANSFER => true, // return web page + CURLOPT_HEADER => false, // don't return headers + CURLOPT_FOLLOWLOCATION => true, // follow redirects + CURLOPT_MAXREDIRS => 10, // stop after 10 redirects + CURLOPT_ENCODING => "", // handle compressed + CURLOPT_USERAGENT => "TerranQuest Game Server (terranquest.net)", // name of client + CURLOPT_AUTOREFERER => true, // set referrer on redirect + CURLOPT_CONNECTTIMEOUT => 120, // time-out on connect + CURLOPT_TIMEOUT => 120, // time-out on response + ); + curl_setopt_array($ch, $options); + + $result = curl_exec($ch); +//close connection + curl_close($ch); + + $data = json_decode($result, TRUE); + + // Add munzee capture info to response + $returndata["messages"][] = ["title" => "Captured a Munzee!", "text" => $data["data"]["result"]]; + } +} \ No newline at end of file diff --git a/code2item.php b/code2item.php index 6015c19..2b309de 100644 --- a/code2item.php +++ b/code2item.php @@ -29,6 +29,9 @@ class Random { } $origcode = $VARS['code']; +$latitude = $VARS['latitude']; +$longitude = $VARS['longitude']; +$accuracy = $VARS['accuracy']; if (is_empty($origcode)) { sendError("Bad code!", true); @@ -40,6 +43,7 @@ if ($database->has('claimedcodes', ["AND" => ['code' => $origcode, 'playeruuid' $codearray = str_split($origcode); + $codeint = 0; foreach ($codearray as $chr) { $codeint += ord($chr); @@ -51,4 +55,16 @@ $itemcode = Random::num(1, 6); $database->insert('inventory', ['playeruuid' => $_SESSION['uuid'], 'itemid' => $itemcode]); $database->insert('claimedcodes', ['code' => $origcode, 'playeruuid' => $_SESSION['uuid']]); $itemname = $database->select('items', ['itemname'], ['itemid' => $itemcode])[0]['itemname']; + +$returndata = [ + "status" => "OK", + "messages" => [ + ] +]; + +$returndata["messages"][] = ["title" => "Found an item!", "text" => "Found one $itemname"]; + +if (strpos($origcode, "munzee") > 1) { + include 'capturemunzee.php'; +} sendOK($itemname); diff --git a/database.mwb b/database.mwb index c794fbe41e9ec819b9e1b18420b817c36fe88335..6c429342612a6761f631ffe140dcaf9e6ad3cbb5 100644 GIT binary patch delta 10374 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 delta 9893 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 MK|`^o)U!+c7k*OM2mk;8 diff --git a/database.mwb.bak b/database.mwb.bak index 5136645fce3e6e3ce8dc74e4687f387eda18c00e..c794fbe41e9ec819b9e1b18420b817c36fe88335 100644 GIT binary patch delta 957 zcmV;u148_TT!37VGY%sX2ubP-1&zcd007}pu|aMkfB7JEa`$BHl9YYgJ~h~rVQhNL zkF9pQ>8_Vbcl{MbquJ`-x*OjgRKMZm`Zd-vjTx?^luVgR>o~ghG%>r4x`wA z6IK>S`Af3$u%1sR3_~$XZ>R9Eo@&f6j?2xgK1~uoWJz*#GYQ!G!B%8aZ(F0*#7KCI zu5_l0YWQK6lEEDrzV>Cg5w#BP=p>H$gXR}2f8pM`_rz=Gv~-fB(de9{q{!%PToCs>X-L#YNenqtNs2V z9gRPXqQCqgAot1ROF&}ufufYfF$w>iup}MiK|pzZ!|48rJ!c$!ls!a&oB4@qZyt^O zblw|(PDtQ;el~_H$;#EaUn~Gs>ehr0f5-dT7SuiedDZvIUVIfc4j`GJU199gtbpkwO9&?B3zuTzT7ra)m_itp#Zdsb< z9`)7UZL>Uew&haGvMp=g8_SZ{HsLZuBZ-H8_$f-$>C98tS0>X48>(q2DpqYpRaB&^ z8qy6-&%Pl(t6s;9zx`2HvrR-Ue`EQNsq2=CO-)r4+vYz)7UGvQ3!CQalTfKA-Avcy z_VK8@3}ScipcPxsCTHP%`aX{0G$wvp*5Ie6$4AQ@|DA=w%)c*9p`V>Wem#>lAo`nN zauc&AC3)u7pwx@4kKh^~y4!VJeEj7DcfI8FZ~q@qO9KQH000080E?~%vn?hU2M!|= f2ubP-1&zcd007}plTs~C0UMK{Egk^@lfW%S08rx0 delta 957 zcmV;u148_OT!mbaGY*Wd2T5i8xSz=-002W$u|aMke-UW(%D_|{VZOHSWbBfZecC?x z*pumPdd!clBV*HDFO}~4D~d+5^}}^HzPt4P!bW?XMkUu#N~RXD2>(8~%p;Q^-6U(} zoO{BmTjXzXdYeWubGZ`pSSjQmSNxR7GR9~)N(VQtGfL(`X8!qTkvMxy_@_`5?=`tiIE_N4o2#56MeNzr~T~2dq#6wQ6<6if2g4@Qe?{ zVHEps0@vbs#FDIh;=m^?hM}0HH*EOCfojY!j?2y6K1~uoWJz*#GYQ!G!B%8aZ(F0* z)Ju4bu5_l0YIu5Cg5w#9b=_HQ%e}m>1DYzJ$LH&(Ig#D()-L&u5DQ%wT6th ze`O|dCfLsuEKsjdmK*0gQ?+FHVZ!3Hu9Sp(*AbDTQ1TEx-#?Q$A%0S#XOq~D^naA8=`tPxkr7qciSva&TYBWvTVzm_r|j1wN1Fp0ZHPaAAX9`bUO3Y^_9sq!iH)Zii%ZR zQ56-bs)lq!)3a}g&#KpP?{9z9f7NW8lFL~BW9qu4VpCHU#kTp6kcIdq&BCVn`Xp59 zNjK9~zkNLFE`!(|JZQz%v&mUFpT3WyIE{&)mNodP>G9EW$A4#GF!S$AQ|M=BkYCSa z4T%0GnB2tONlBg?HYoLC>m#_vhwgSA7axE5z+Epn{oDTsP)h>@6aWAKvm+)P2M&y` f2T5i8xSz=-002W$lT9s70U(o{Egk^|le;ZN9_{nI diff --git a/munzee.php b/munzee.php new file mode 100644 index 0000000..1e02645 --- /dev/null +++ b/munzee.php @@ -0,0 +1,57 @@ + urlencode(MUNZEE_KEY), + 'client_secret' => urlencode(MUNZEE_SECRET), + 'grant_type' => 'authorization_code', + 'code' => urlencode($code), + 'redirect_uri' => urlencode("http://gs.terranquest.net/munzee.php") + ); +//url-ify the data for the POST + foreach ($fields as $key => $value) { + $fields_string .= $key . '=' . $value . '&'; + } + rtrim($fields_string, '&'); +//open connection + $ch = curl_init(); + + $options = array( + CURLOPT_URL => $url, + CURLOPT_POST => 1, + CURLOPT_POSTFIELDS => $fields_string, + CURLOPT_RETURNTRANSFER => true, // return web page + CURLOPT_HEADER => false, // don't return headers + CURLOPT_FOLLOWLOCATION => true, // follow redirects + CURLOPT_MAXREDIRS => 10, // stop after 10 redirects + CURLOPT_ENCODING => "", // handle compressed + CURLOPT_USERAGENT => "TerranQuest Game Server (terranquest.net)", // name of client + CURLOPT_AUTOREFERER => true, // set referrer on redirect + CURLOPT_CONNECTTIMEOUT => 120, // time-out on connect + CURLOPT_TIMEOUT => 120, // time-out on response + ); + curl_setopt_array($ch, $options); +//execute post + $result = curl_exec($ch); +//close connection + curl_close($ch); + + $jsonresult = json_decode($result, TRUE); + $data = $jsonresult['data']; + if ($jsonresult['status_code'] == 200) { + $database->insert('munzee', ['bearertoken' => $data['token']['access_token'], 'refreshtoken' => $data['token']['refresh_token'], 'expires' => $data['token']['expires'], 'player_uuid' => $_SESSION['uuid']]); + echo "Your Munzee account has been linked to TerranQuest!
Back to game"; + die(); + } else { + echo "Munzee is having problems right now. Try again later.
Back to game"; + die(); + } +} \ No newline at end of file diff --git a/settings.php b/settings.php deleted file mode 100644 index 607bc87..0000000 --- a/settings.php +++ /dev/null @@ -1,18 +0,0 @@ -