static function upload($params, $cb = uploadSignature) { $res = array("success" => false, "message" => "Unknown error in Ajax.upload"); //Получить дкумент по переданому id $doc = TDataBaseDocument::getDocumentById($params['id']); $accessToken = null; try { $accessToken = TAuthCommand::getAccessTokenByRefreshToken($params['token']); $accessToken = $accessToken["access_token"]; } catch (OAuth2Exception $ex) { $res["message"] = $ex->message; AjaxSign::sendSetStatus($params["operationId"], SIGN_STATUS_CANCELED); return $res; } if (beforeUploadSignature($doc, $accessToken) !== false) { if ($doc) { $newDoc = $doc->copy(); $signers = urldecode($params["signers"]); $newDoc->setSigners($signers); $newDoc->setType(DOCUMENT_TYPE_SIGNATURE); $newDoc->setParent($doc); $signature = $_FILES["signature"]; if ($cb) { $cb($newDoc, $signature, $params['extra']); } $newDoc->save(); $doc->getStatus()->setValue(DOCUMENT_STATUS_DONE); $doc->getStatus()->save(); AjaxSign::sendSetStatus($params["operationId"]); $res["success"] = true; $res["message"] = "File uploaded"; } else { $res["message"] = "Document is not found"; } } else { $res["message"] = "Canceled in beforeUploadSignature function"; } return $res; }
static function getAccessTokenByRefreshToken($refresh_token) { $params = array("grant_type" => "refresh_token", "refresh_token" => $refresh_token, "format" => json); $url = TRUSTED_COMMAND_URI_TOKEN; $curl = curl_init(); curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC); curl_setopt($curl, CURLOPT_USERPWD, TRUSTED_LOGIN_CLIENT_ID . ':' . TRUSTED_LOGIN_CLIENT_SECRET); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_POST, 1); curl_setopt($curl, CURLOPT_POSTFIELDS, urldecode(http_build_query($params))); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_SSLVERSION, TRUSTED_SSL_VERSION); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); $response = curl_exec($curl); $res = TAuthCommand::getToken($curl, $response); return $res; }
function __param($array, $name, $default) { $res = $default; if (isset($array[$name])) { $res = $array[$name]; } return $res; } try { if ($code = getParam("code")) { if (getParam("final", false)) { $res = TAuthCommand::getAccessTokenByCode($code); debug("OAuth token from service:", $res); $token = OAuth2::fromArray($res); debug($token); $user_array = TAuthCommand::getUserProfileByToken($token->getAccessToken()); debug($user_array); if (TRUSTED_DB) { $user = TDataBaseUser::getUserById($user_array['id']); debug("TDataBaseUser::getUserById:", $user); if ($user) { //Пользователь уже зарегистрирован debug('Old user'); if (onRegUserFound) { debug('Event onRegUserFound'); onRegUserFound($user); } } else { //Пользователь не найден debug('New user'); $user = TUser::fromArray($user_array);