This repository has been archived by the owner on May 11, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 77
/
util.php
92 lines (71 loc) · 2.83 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
<?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 = SQLite3::escapeString(strip_tags($user_id));
$credentials = SQLite3::escapeString(strip_tags($credentials));
$insert = "insert or replace into credentials values ('$user_id', '$credentials')";
$db->exec($insert);
}
function get_credentials($user_id) {
$db = init_db();
$user_id = SQLite3::escapeString(strip_tags($user_id));
$query = $db->query("select * from credentials where userid = '$user_id'");
$row = $query->fetchArray(SQLITE3_ASSOC);
return $row['credentials'];
}
function list_credentials() {
$db = init_db();
// Must use explicit select instead of * to get the rowid
$query = $db->query('select userid, credentials from credentials');
$result = array();
while ($singleResult = $query->fetchArray(SQLITE3_ASSOC)){
array_push($result,$singleResult);
}
return $result;
}
// Create the credential storage if it does not exist
function init_db() {
global $sqlite_database;
$db = new SQLite3($sqlite_database);
$test_query = "select count(*) from sqlite_master where name = 'credentials'";
if ($db->querySingle($test_query) == 0) {
$create_table = "create table credentials (userid text not null unique, " .
"credentials text not null);";
$db->exec($create_table);
}
return $db;
}
function bootstrap_new_user() {
global $base_url;
$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);
$timeline_item = new Google_TimelineItem();
$timeline_item->setText("Welcome to the Mirror API PHP Quick Start");
insert_timeline_item($mirror_service, $timeline_item, null, null);
insert_contact($mirror_service, "php-quick-start", "PHP Quick Start",
$base_url . "/static/images/chipotle-tube-640x360.jpg");
subscribe_to_notifications($mirror_service, "timeline",
$_SESSION['userid'], $base_url . "/notify.php");
}