Esempio n. 1
0
 /**
  * 
  */
 protected static function getClient(\GO\Base\Model\User $user = null)
 {
     if (!isset($user)) {
         $user = \GO::user();
     }
     if (!isset(self::$client[$user->id])) {
         $dbxUser = User::model()->findByPk($user->id);
         if (!$dbxUser) {
             throw new \Exception("User isn't connected");
         }
         if (empty($dbxUser->access_token)) {
             throw new \Exception("Access token was cleared. Please reconnect.");
         }
         $client = new DropboxClient();
         $client->SetAccessToken(@unserialize($dbxUser->access_token));
         self::$client[$user->id] = $client;
     }
     return self::$client[$user->id];
 }
Esempio n. 2
0
 protected function actionCallback()
 {
     $dropbox = new DropboxClient();
     $requestToken = @unserialize(GO::session()->values['dropbox_request_token']);
     unset(GO::session()->values['dropbox_request_token']);
     $accessToken = $dropbox->GetAccessToken($requestToken);
     $user = User::model()->findByPk(GO::user()->id);
     if (!$user) {
         $user = new User();
         $user->user_id = GO::user()->id;
     }
     $user->dropbox_user_id = $dropbox->uid;
     $user->access_token = serialize($accessToken);
     $user->save();
     if ($dropbox->IsAuthorized()) {
         $this->render("externalHeader");
         echo "<h1>" . GO::t('connected', 'dropbox') . "</h1>";
         echo "<p>" . GO::t('done', 'dropbox') . "</p>";
         //echo '<a href="'.\GO::url('dropbox/auth/sync').'">'.\GO::t('syncNow','dropbox').'</p>';
         echo '<button onclick="window.close();">' . GO::t('cmdClose') . '</button>';
         $this->render("externalFooter");
     }
 }