public static function uploadFile($access_token, $uploadFile, $fileName, $config) { if (!isset($access_token)) { return array('status' => 'error', 'msg' => 'refreshToken', 'url' => self::auth(\HttpReceiver\HttpReceiver::get('userId', 'int'), $config)); } if (!file_exists($uploadFile)) { return array('status' => 'error', 'fileNotExist'); } $dbxClient = new dbx\Client($access_token, "PHP-Example/1.0"); $f = fopen($uploadFile, "rb"); try { if (!isset($fileName) || strlen($fileName) == 0 || $fileName == '0') { $tmp = explode('/', $uploadFile); $fileName = $tmp[sizeof($tmp) - 1]; } else { $fileName .= '.pdf'; } $result = $dbxClient->uploadFile("/" . $config['SAVE_FOLDER'] . "/" . $fileName, dbx\WriteMode::add(), $f); } catch (Exception $e) { return array('status' => 'error', 'msg' => 'refreshToken', 'url' => self::auth(\HttpReceiver\HttpReceiver::get('userId', 'int'), $config)); } fclose($f); if (!isset($result) || !isset($result['size'])) { return array('status' => 'error', 'msg' => 'refreshToken'); } else { return array('status' => 'ok'); } }
public static function auth($type, $code, $config) { if ($code == 'code') { switch ($type) { case 0: $data = \HttpReceiver\HttpReceiver::get('userId', 'int'); return \UploadModels\DropBoxModel::auth($data, $config); break; case 1: $data = \HttpReceiver\HttpReceiver::get('userId', 'int'); return \UploadModels\GoogleDriveModel::auth($data, $config); break; case 2: $data = \HttpReceiver\HttpReceiver::get('userId', 'int'); return \UploadModels\BoxModel::auth($data, $config); break; case 3: $data = \HttpReceiver\HttpReceiver::get('userId', 'int'); return \UploadModels\OneDriveModel::auth($data, $config); break; } } elseif ($code == 'access_token') { $result = self::getToken($type, $config); $data = array('service' => $type, 'token_data' => $result); return $data; } }
private static function getGoogleClient($config) { $client = new \Google_Client(); $config = self::getGoogleConfig($config); $client->setAuthConfigFile($config); $userId = \HttpReceiver\HttpReceiver::get('userId', 'int'); if (!isset($userId)) { $userId = \HttpReceiver\HttpReceiver::get('state', 'int'); } $client->setRedirectUri($config['GOOGLEDRIVE_REDIRECT2']); $client->addScope(\Google_Service_Drive::DRIVE); return $client; }
public static function getToken($config) { $array = array(); $driveData = new \stdClass(); $driveData->redirect_uri = $config['ONEDRIVE_CALLBACK_URI']; $driveData->token = ''; $array['onedrive.client.state'] = $driveData; $client = self::getOneDriveClient($config, $array); $code = \HttpReceiver\HttpReceiver::get('code', 'string'); $client->obtainAccessToken($config['ONEDRIVE_CLIENT_SECRET'], $code); $info = $client->getState(); $access_token = json_encode($info->token, JSON_UNESCAPED_SLASHES); return $access_token; }
public static function getToken($config) { $box = self::getBox($config); $url = $box->token_url; if (!empty($box->refresh_token)) { $params = array('grant_type' => 'refresh_token', 'refresh_token' => $box->refresh_token, 'client_id' => $box->client_id, 'client_secret' => $box->client_secret); } else { $params = array('grant_type' => 'authorization_code', 'code' => \HttpReceiver\HttpReceiver::get('code', 'string'), 'client_id' => $box->client_id, 'client_secret' => $box->client_secret); } $data = json_decode($box->post($url, $params), true); if (isset($data['error'])) { return ''; } return $data['access_token']; }