Example #1
0
 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;
 }
Example #2
0
 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;
 }
Example #3
0
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);