From d4598d47358f7badd2609b82629a3f2f542d0602 Mon Sep 17 00:00:00 2001 From: Alex ORLUC <alex.orluc@maarch.org> Date: Wed, 11 Dec 2019 16:14:00 +0100 Subject: [PATCH] FEAT #0000 TIME 4 onlyoffice some tests --- rest/index.php | 2 +- .../controllers/JnlpController.php | 10 +++- .../onlyoffice-viewer.component.ts | 56 +++++++++---------- 3 files changed, 36 insertions(+), 32 deletions(-) diff --git a/rest/index.php b/rest/index.php index cfd934219a3..e86b2859977 100755 --- a/rest/index.php +++ b/rest/index.php @@ -33,7 +33,7 @@ $app->add(function (\Slim\Http\Request $request, \Slim\Http\Response $response, $route = $request->getAttribute('route'); $currentMethod = empty($route) ? '' : $route->getMethods()[0]; $currentRoute = empty($route) ? '' : $route->getPattern(); - if (!in_array($currentMethod.$currentRoute, $routesWithoutAuthentication) && preg_match('/POST\/test*/', $currentMethod.$currentRoute) == 0) { + if (!in_array($currentMethod.$currentRoute, $routesWithoutAuthentication)) { $login = \SrcCore\controllers\AuthenticationController::authentication(); if (!empty($login)) { \SrcCore\controllers\CoreController::setGlobals(['login' => $login]); diff --git a/src/app/contentManagement/controllers/JnlpController.php b/src/app/contentManagement/controllers/JnlpController.php index 3e414e33d27..82378356200 100755 --- a/src/app/contentManagement/controllers/JnlpController.php +++ b/src/app/contentManagement/controllers/JnlpController.php @@ -383,22 +383,26 @@ class JnlpController public static function test(Request $request, Response $response) { + if (($body_stream = file_get_contents("php://input"))===false) { echo "Bad Request"; } $data = json_decode($body_stream, true); - - if ($data["status"] == 2) { + if ($data["status"] == 2 || $data["status"] == 6) { $downloadUri = $data["url"]; if (($new_data = file_get_contents($downloadUri))===false) { echo "Bad Response"; } else { - echo $new_data; + $tmpPath = CoreConfigModel::getTmpPath(); + $fileOnTmp = "tmp_file_onlyoffice_{$data["key"]}.odt"; + file_put_contents($tmpPath.$fileOnTmp, $new_data, LOCK_EX); + // echo $new_data; //file_put_contents($path_for_save, $new_data, LOCK_EX); } } + return $response->withJson(['error' => 0]); } } diff --git a/src/frontend/plugins/onlyoffice-api-js/onlyoffice-viewer.component.ts b/src/frontend/plugins/onlyoffice-api-js/onlyoffice-viewer.component.ts index 27b0b12ce7b..1117570a9a7 100644 --- a/src/frontend/plugins/onlyoffice-api-js/onlyoffice-viewer.component.ts +++ b/src/frontend/plugins/onlyoffice-api-js/onlyoffice-viewer.component.ts @@ -33,59 +33,59 @@ export class EcplOnlyofficeViewerComponent implements OnInit, AfterViewInit { docEditor: any; showModalWindow: boolean = false; - @HostListener('window:message',['$event']) + @HostListener('window:message', ['$event']) onMessage(e: any) { console.log(e); const response = JSON.parse(e.data); - + if (response.event === 'onDownloadAs') { - this.onDownloadAs(response.data); + this.saveDocument(); } } - constructor(private zone: NgZone, public http: HttpClient) { } + constructor(private zone: NgZone, public http: HttpClient) { } quit() { this.docEditor.downloadAs(); - //this.docEditor.destroyEditor(); } - onDocumentStateChange(event: any) { - if (event.data) { - console.log('The document changed'); - console.log(event); - } else { - console.log('Changes are collected on document editing service'); + saveDocument() { + const content = { + "c": "forcesave", + "key": "azerty4", + "userdata": "Bernard BLIER" } - } - onDownloadAs(url: any) { const optionRequete = { headers: new HttpHeaders({ 'Access-Control-Allow-Origin':'*', - }) - }; - this.http.get(url, optionRequete).pipe( - tap((data: any) => { - console.log(data); }), - catchError((err: any) => { - console.log(err) - return of(false); - }) - ).subscribe(); + params: content + }; + + this.http.post('http://10.2.95.76:8765/coauthoring/CommandService.ashx', {}, optionRequete).pipe().subscribe(); } - + ngOnInit() { } + generateUniqueId(length: number = 5) { + var result = ''; + var characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; + var charactersLength = characters.length; + for (var i = 0; i < length; i++) { + result += characters.charAt(Math.floor(Math.random() * charactersLength)); + } + return result; + } + ngAfterViewInit() { this.editorConfig = { documentType: 'text', document: { fileType: 'odt', - key: 'toto', + key: 'azerty4', title: this.onlyofficeName, - url: `http://10.2.95.76/rep_standard.odt`, + url: `http://cchaplin:maarch@10.2.95.76/maarch_courrier_develop/rest/resources/1660/originalContent`, permissions: { comment: false, download: true, @@ -95,7 +95,7 @@ export class EcplOnlyofficeViewerComponent implements OnInit, AfterViewInit { } }, editorConfig: { - callbackUrl: 'http://10.2.95.76/maarch_courrier_develop/rest/test', + callbackUrl: 'http://cchaplin:maarch@10.2.95.76/maarch_courrier_develop/rest/test', lang: 'fr-FR', mode: 'edit', customization: { @@ -103,7 +103,7 @@ export class EcplOnlyofficeViewerComponent implements OnInit, AfterViewInit { comments: false, compactToolbar: false, feedback: false, - forcesave: false, + forcesave: true, goback: false, hideRightMenu: true, showReviewChanges: false, -- GitLab