Blame view

social/gplus_login.php 2.78 KB
42868d70   andryeyev   Создал GIT
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
  <?php
  /*
   * Copyright 2011 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.
   */
  
  if(trim(@$_REQUEST['error']) == "access_denied") @header("Location: /");
  
  
  require_once 'src/apiClient.php';
  require_once 'src/contrib/apiPlusService.php';
  @require_once 'config/functions.php';
  echo "1";
  
  session_start();
  
  $client = new apiClient();
  $client->setApplicationName("9lessons Google+ Login Application");
  $client->setScopes(array('https://www.googleapis.com/auth/plus.me'));
  $plus = new apiPlusService($client);
  
  
  
  
  
  
  if (isset($_REQUEST['logout'])) {
    unset($_SESSION['access_token']);
  }
  echo "2";
  if (isset($_GET['code'])) {
  	echo "21";
    $client->authenticate();
    echo "23";
  
    $_SESSION['access_token'] = $client->getAccessToken();
    header('Location: http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF']);
    echo "24";
  }
  //echo $_SESSION['access_token'];
  echo "3";
  if (isset($_SESSION['access_token'])) {
    $client->setAccessToken($_SESSION['access_token']);
  }
  echo "4";
  if ($client->getAccessToken()) {
  	echo "5";
    $me = $plus->people->get('me');
  echo "6";
    $optParams = array('maxResults' => 100);
    $activities = $plus->activities->listActivities('me', 'public',$optParams);
  
    // The access token may have been updated lazily.
    $_SESSION['access_token'] = $client->getAccessToken();
  } else {
    $authUrl = $client->createAuthUrl();
  }
  ?>
  <div>
   <?php if(isset($me))
   { 
   
   $_SESSION['gplusdata'] = $me;
   //print_r($me);
  
  
  
  
  unset($_SESSION['gplusdata']);
    unset($_SESSION['access_token']);
  
  
  if(trim($me['id'])!="")
  $id_a = @$db->super_query("SELECT * FROM `zlo_users` WHERE `UID`='".trim($me['id'])."' LIMIT 1;");
  
  if(!@$id_a['id'] && trim($me['id'])!=''){
  $name = iconv("UTF-8","cp1251",$me['displayName']);
  $db->query("INSERT INTO `zlo_users` (`username`,`group`,`registered`,`mailing`,`UID`) VALUES ('".$name."',2,'".date("Y-m-d H:i:s")."',1,'".trim(trim($me['id']))."');");
  $_SESSION['user'] = array('id'=>$db->insert_id(),'login'=>$name);
  @header("Location: /account/info/");
  }else{
  $_SESSION['user'] = array('id'=>@$id_a['id'],'login'=>@$id_a['username']);
  @header("Location: /account/info/");
  }
  
  
  
  
  
  
  
  
  
   
   
   } ?>
  
  <?php
    if(isset($authUrl)) {
      print "<a class='login' href='$authUrl'>Google Plus Login </a>";
    } else {
     print "<a class='logout' href='index.php?logout'>Logout</a>";
    }
  ?><br/>
  </div>