diff --git a/appinfo/routes.php b/appinfo/routes.php index 79a42065..8b23332a 100644 --- a/appinfo/routes.php +++ b/appinfo/routes.php @@ -35,6 +35,7 @@ $application->registerRoutes($this, [ //documents - for CloudSuite access ['name' => 'document#localLoad', 'url' => 'load/{fileId}', 'verb' => 'POST'], ['name' => 'document#localSave', 'url' => 'save/{fileId}', 'verb' => 'POST'], + ['name' => 'document#localClose', 'url' => 'close/{fileId}', 'verb' => 'POST'], //settings ['name' => 'settings#savePersonal', 'url' => 'ajax/personal.php', 'verb' => 'POST'], ['name' => 'settings#setUnstable', 'url' => 'ajax/config/unstable', 'verb' => 'POST'], diff --git a/controller/documentcontroller.php b/controller/documentcontroller.php index 81c57721..7b07b98a 100644 --- a/controller/documentcontroller.php +++ b/controller/documentcontroller.php @@ -186,6 +186,24 @@ class DocumentController extends Controller{ ); } + /** + * @NoAdminRequired + * @PublicPage + * Remove the temporary local copy of the document. + */ + public function localClose($fileId){ + // get really just the basename for the case somebody tries to trick us + $basename = basename($this->request->post['basename']); + + $filename = dirname(__DIR__) . self::CLOUDSUITE_TMP_PATH . $basename; + + unlink($filename); + + return array( + 'status' => 'success' + ); + } + /** * @NoAdminRequired * @PublicPage diff --git a/js/documents.js b/js/documents.js index afda01a4..75c4f0cc 100644 --- a/js/documents.js +++ b/js/documents.js @@ -527,6 +527,14 @@ var documentsMain = { ); }, + closeDocument: function() { + var url = OC.generateUrl('apps/documents/close/{file_id}', {file_id: documentsMain.fileId}); + $.post( + url, + { basename : documentsMain.baseName } + ); + }, + renameDocument: function(name) { var url = OC.generateUrl('apps/documents/ajax/documents/rename/{file_id}', {file_id: documentsMain.fileId}); $.post( @@ -576,6 +584,7 @@ var documentsMain = { $('footer,nav').show(); documentsMain.UI.hideEditor(); + documentsMain.closeDocument(); $('#ocToolbar').remove(); documentsMain.show(); },