public static function oAuthRefreshToken($user = array(), $updateSession = false, $force = false) { $expires = time() + 1000; if (isset($user['credentials']['expires_at'])) { $expires = strtotime($user['credentials']['expires_at']); } if ($expires < time() || $force) { $payload = array('client_id' => OAUTH_CLIENT_ID, 'client_secret' => OAUTH_CLIENT_SECRET, 'grant_type' => 'refresh_token', 'refresh_token' => $user['credentials']['refresh_token']); $refreshedToken = Rest::post('https://accounts.google.com/o/oauth2/token', $payload); if ($refreshedToken) { // Credentials $credentials = UsersCredentialsModel::first(array('user_id' => $user['username']['id'])); $credentials->access_token = $refreshedToken['access_token']; $credentials->token_type = $refreshedToken['token_type']; $credentials->expires_at = date(DATE_TIME, time() + $refreshedToken['expires_in']); $credentials->save(); // Refresh session data if ($updateSession) { $_SESSION['usernames'][$user['username']['id']]['credentials']['access_token'] = $credentials->access_token; $_SESSION['usernames'][$user['username']['id']]['credentials']['expires_at'] = $credentials->expires_at; if ($_SESSION['current']['username']['id'] == $user['username']['id']) { $_SESSION['current'] = $_SESSION['usernames'][$user['username']['id']]; } } $user['credentials']['access_token'] = $credentials->access_token; $user['credentials']['expires_at'] = $credentials->expires_at; } return $refreshedToken; } return $user; }
public function post() { $req_field = array('user_id' => "", 'calendar_id' => ""); $post = $_POST; $data = array(); foreach ($req_field as $key => $value) { if (!empty($post[$key])) { $data[$key] = $post[$key]; } } if (count($data) == count($req_field)) { $this->_data = $data; $return = parent::post(); } else { $return = array(); } return json_encode($return); }
<?php namespace AngularFilemanager\LocalBridge; /** * PHP Local filesystem bridge for angular-filemanager * * @author Jakub Ďuraš <*****@*****.**> * @version 0.1.0 */ include 'LocalBridge/Response.php'; include 'LocalBridge/Rest.php'; include 'LocalBridge/Translate.php'; include 'LocalBridge/FileManagerApi.php'; //Takes two arguments - base path without last slash (default: '$currentDirectory/../files'); language (default: 'en'); mute_errors (default: true, will call ini_set('display_errors', 0)) $fileManagerApi = new FileManagerApi(); $rest = new Rest(); $rest->post([$fileManagerApi, 'postHandler'])->get([$fileManagerApi, 'getHandler'])->handle();