-
Notifications
You must be signed in to change notification settings - Fork 1
/
updateUserInfo.php
70 lines (57 loc) · 2.96 KB
/
updateUserInfo.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST'){
// Call to Update User Info API
require "authHeader.php";
$userUrl = "https://api.connectyard.com/v1/users/" . $_COOKIE["userId"];
$oauthTimestamp = generate_timestamp();
$nonce = generate_nonce();
// Updated Account Information
$email = trim($_POST['email']); // New email
$name = preg_replace('/\s+/', '', $_POST['fname']) . " " . preg_replace('/\s+/', '', $_POST['lname']); // New Name
// Sign Request
$sigBase = "POST&" . rawurlencode($userUrl) . "&"
. rawurlencode("email=" . rawurlEncode($email)
. "&name=" . rawurlEncode($name)
. "&oauth_consumer_key=" . rawurlencode($key)
. "&oauth_nonce=" . rawurlencode($nonce)
. "&oauth_signature_method=" . rawurlencode($oauthSignatureMethod)
. "&oauth_timestamp=" . rawurlencode($oauthTimestamp)
. "&oauth_token=" . rawurlencode($_COOKIE["accessToken"])
. "&oauth_version=" . rawurlencode($oauthVersion)
. "&user_id=" . rawurlencode($_COOKIE["userId"]));
$sigKey = rawurlEncode($secret). "&" . rawurlEncode($_COOKIE["accessTokenSecret"]);
$oauthSig = base64_encode(hash_hmac("sha1", $sigBase, $sigKey, true));
// Build signed request URL
$requestUrl = $userUrl . "?"
. "oauth_consumer_key=" . rawurlencode($key)
. "&oauth_nonce=" . rawurlencode($nonce)
. "&oauth_signature_method=" . rawurlencode($oauthSignatureMethod)
. "&oauth_timestamp=" . rawurlencode($oauthTimestamp)
. "&oauth_token=" . rawurlencode($_COOKIE["accessToken"])
. "&oauth_version=". rawurlencode($oauthVersion)
. "&oauth_signature=" . rawurlencode($oauthSig);
// Create request body
$data = "email=" . rawurlEncode($email)
. "&name=" . rawurlEncode($name)
. "&oauth_consumer_key=" . rawurlencode($key)
. "&oauth_nonce=" . rawurlencode($nonce)
. "&oauth_signature=" . rawurlencode($oauthSig)
. "&oauth_signature_method=" . rawurlencode($oauthSignatureMethod)
. "&oauth_timestamp=" . rawurlencode($oauthTimestamp)
. "&oauth_token=" . rawurlencode($_COOKIE["accessToken"])
. "&oauth_version=". rawurlencode($oauthVersion)
. "&user_id=" . rawurlencode($_COOKIE["userId"]);
// Create request context for POST
$context = stream_context_create(array("http" => array(
"method" => "POST",
"header" => "Content-type: application/x-www-form-urlencoded; charset=UTF-8\r\n",
"content" => $data)));
// Send request
$result = file_get_contents($requestUrl, false, $context);
// If the user is an icon, redirect to icon index, otherwise if they are not redirect to member index.
if($_COOKIE["icon"])
header("Location: icon-profile.php");
else if(!$_COOKIE["icon"])
header("Location: member-profile.php");
}
?>