/
util.php
130 lines (98 loc) · 3.57 KB
/
util.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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
<?php
/*
* Copyright (C) 2013 Google Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// Author: Jenny Murphy - http://google.com/+JennyMurphy
require_once 'config.php';
require_once 'mirror-client.php';
require_once 'google-api-php-client/src/Google_Client.php';
require_once 'google-api-php-client/src/contrib/Google_MirrorService.php';
function store_credentials($user_id, $credentials) {
$db = init_db();
$user_id = $db->real_escape_string(strip_tags($user_id));
$credentials = $db->real_escape_string(strip_tags($credentials));
$insert = "REPLACE INTO credentials VALUES ('$user_id', '$credentials')";
$db->query($insert);
$db->close();
}
function get_credentials($user_id) {
$db = init_db();
$user_id = $db->real_escape_string(strip_tags($user_id));
$query_statement = "SELECT * FROM credentials WHERE userid = '$user_id'";
$result = $db->query($query_statement);
$row = $result->fetch_array(MYSQLI_ASSOC);
$db->close();
return $row['credentials'];
}
function list_credentials() {
$db = init_db();
$query_statement = "SELECT userid, credentials FROM credentials";
$result = $db->query($query_statement);
$resultArray = array();
while ($singleResult = $result->fetch_array(MYSQLI_ASSOC)){
array_push($resultArray, $singleResult);
}
$db->close();
return $resultArray;
}
// Create the credential storage if it does not exist
function init_db() {
global $db_username;
global $db_pwd;
global $db_name;
global $db_path;
$mysqli = new mysqli(null, $db_username, $db_pwd, $db_name, null, $db_path);
if ($mysqli->connect_errno) {
throw new Exception($mysqli->connect_error);
$mysqli->close();
exit();
} else {
// Create table if not exist
$statement="CREATE TABLE IF NOT EXISTS credentials (userid VARCHAR(255) NOT NULL UNIQUE, credentials TEXT NOT NULL)";
// Execute query
if ($mysqli->query($statement))
{
// do nothing
} else {
throw new Exception(mysqli_error($mysqli));
}
}
return $mysqli;
}
function bootstrap_new_user() {
global $base_url;
global $contact_id;
global $contact_name;
$client = get_google_api_client();
$client->setAccessToken(get_credentials($_SESSION['userid']));
// A glass service for interacting with the Mirror API
$mirror_service = new Google_MirrorService($client);
//--------------------------------------------
// insert a welcome timeline item
//--------------------------------------------
$timeline_item = new Google_TimelineItem();
$timeline_item->setText("Welcome to the The WildLab for Glass");
insert_timeline_item($mirror_service, $timeline_item, null, null);
//--------------------------------------------
// insert a default contact
//--------------------------------------------
insert_contact($mirror_service, $contact_id, $contact_name,
$base_url . "/static/images/wildlab-640x360.jpg");
//--------------------------------------------
// subscribe to timeline notification
//--------------------------------------------
subscribe_to_notifications($mirror_service, "timeline",
$_SESSION['userid'], $base_url . "/notify.php");
}