示例#1
0
 /**
  * Получат новый ключ доступа по ключу восстановления
  * @return boolean
  */
 function refresh()
 {
     $res = false;
     $result = TAuthCommand::getAccessTokenByRefreshToken($this->refresh_token);
     if ($result) {
         foreach ($this as $key => &$value) {
             $val = $result[$key];
             if (isset($val)) {
                 $value = $val;
             }
         }
         $this->putToSession();
         $res = true;
     }
     return $res;
 }
示例#2
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;
 }