From 18b8dc1c2120b7d7ab6e4a7f23c33a6019e1587b Mon Sep 17 00:00:00 2001 From: Tom Needham Date: Mon, 9 Jan 2012 17:03:19 +0000 Subject: [PATCH] fixed saving bug --- apps/files_texteditor/ajax/savefile.php | 13 ++++++++++--- apps/files_texteditor/js/editor.js | 3 +++ 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/apps/files_texteditor/ajax/savefile.php b/apps/files_texteditor/ajax/savefile.php index 1e073f3ba2..3d0771ea98 100644 --- a/apps/files_texteditor/ajax/savefile.php +++ b/apps/files_texteditor/ajax/savefile.php @@ -40,7 +40,8 @@ if($path != '' && $mtime != '') if($mtime != $filemtime) { // Then the file has changed since opening - OC_JSON::error(); + OC_JSON::error(); + OC_Log::write('files_texteditor',"File: ".$path." modified since opening.",OC_Log::ERROR); } else { @@ -49,14 +50,20 @@ if($path != '' && $mtime != '') if(OC_Filesystem::is_writeable($path)) { OC_Filesystem::file_put_contents($path, $filecontents); - OC_JSON::success(); + // Clear statcache + clearstatcache(); + // Get new mtime + $newmtime = OC_Filesystem::filemtime($path); + OC_JSON::success(array('data' => array('mtime' => $newmtime))); } else { // Not writeable! OC_JSON::error(array('data' => array( 'message' => 'Insufficient permissions'))); + OC_Log::write('files_texteditor',"User does not have permission to write to file: ".$path,OC_Log::ERROR); } } } else { - OC_JSON::error(array('data' => array( 'message' => 'File path or mtime not supplied'))); + OC_JSON::error(array('data' => array( 'message' => 'File path or mtime not supplied'))); + OC_Log::write('files_texteditor',"Invalid path supplied:".$path,OC_Log::ERROR); } diff --git a/apps/files_texteditor/js/editor.js b/apps/files_texteditor/js/editor.js index 060c76705a..3c1e154280 100644 --- a/apps/files_texteditor/js/editor.js +++ b/apps/files_texteditor/js/editor.js @@ -102,6 +102,9 @@ function doFileSave(){ }, 2000); } else { // Save OK + // Update mtime + $('#editor').attr('data-mtime',jsondata.data.mtime); + // Show result $('#saving_icon').remove(); $('#editor_save').after('

Saved

') setTimeout(function() {