aboutsummaryrefslogtreecommitdiffstats
path: root/apps/files_texteditor/ajax
diff options
context:
space:
mode:
authorTom Needham <needham.thomas@gmail.com>2011-10-03 23:28:47 +0100
committerTom Needham <needham.thomas@gmail.com>2011-10-03 23:28:47 +0100
commit32ce0d3c6eb7873b3bdec424f9aefa9ec4ab3d40 (patch)
tree4a284888285579ef2e9e1c7f9cb94ab5c6b347ef /apps/files_texteditor/ajax
parent02d7b1a1fc8f4bf62bfb973acfa0ee19ffa469ff (diff)
downloadnextcloud-server-32ce0d3c6eb7873b3bdec424f9aefa9ec4ab3d40.tar.gz
nextcloud-server-32ce0d3c6eb7873b3bdec424f9aefa9ec4ab3d40.zip
Fixed file saving issue.
Diffstat (limited to 'apps/files_texteditor/ajax')
-rw-r--r--apps/files_texteditor/ajax/loadfile.php40
-rw-r--r--apps/files_texteditor/ajax/savefile.php21
2 files changed, 48 insertions, 13 deletions
diff --git a/apps/files_texteditor/ajax/loadfile.php b/apps/files_texteditor/ajax/loadfile.php
new file mode 100644
index 00000000000..b06b0fa83d2
--- /dev/null
+++ b/apps/files_texteditor/ajax/loadfile.php
@@ -0,0 +1,40 @@
+<?php
+/**
+ * ownCloud - files_texteditor
+ *
+ * @author Tom Needham
+ * @copyright 2011 Tom Needham contact@tomneedham.com
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU AFFERO GENERAL PUBLIC LICENSE for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+// Init owncloud
+require_once('../../../lib/base.php');
+
+
+// Check if we are a user
+OC_JSON::checkLoggedIn();
+
+// Set the session key for the file we are about to edit.
+$path = isset($_GET['path']) ? $_GET['path'] : false;
+
+if($path){
+ $sessionname = md5('oc_file_hash_'.$path);
+ $filecontents = OC_Filesystem::file_get_contents($path);
+ OC_Filesystem::update_session_file_hash($sessionname,sha1(htmlspecialchars($filecontents)));
+ OC_JSON::success();
+} else {
+ OC_JSON::error();
+} \ No newline at end of file
diff --git a/apps/files_texteditor/ajax/savefile.php b/apps/files_texteditor/ajax/savefile.php
index da3599b96c6..f1a2bafc12b 100644
--- a/apps/files_texteditor/ajax/savefile.php
+++ b/apps/files_texteditor/ajax/savefile.php
@@ -1,6 +1,6 @@
<?php
/**
- * ownCloud - Editor
+ * ownCloud - files_texteditor
*
* @author Tom Needham
* @copyright 2011 Tom Needham contact@tomneedham.com
@@ -32,15 +32,15 @@ $filecontents = htmlspecialchars_decode($_POST['filecontents']);
$file = $_POST['file'];
$dir = $_POST['dir'];
$path = $dir.'/'.$file;
-//$force = isset($_POST['force']) ? $_POST['force'] : false;
-//$sessionname = md5('oc_file_hash_'.$path);
+$force = isset($_POST['force']) ? $_POST['force'] : false;
+$sessionname = sha1('oc_file_hash_'.$path);
function do_save($path,$filecontents){
- //$sessionname = md5('oc_file_hash_'.$path);
- //OC_Filesystem::update_session_file_hash($sessionname,md5(htmlspecialchars($filecontents)));
+ $sessionname = md5('oc_file_hash_'.$path);
+ OC_Filesystem::update_session_file_hash($sessionname,sha1(htmlspecialchars($filecontents)));
OC_Filesystem::file_put_contents($path, $filecontents);
}
-/*
+
// Check if file modified whilst editing?
if(isset($_SESSION[$sessionname])){
if(!empty($_SESSION[$sessionname])){
@@ -65,14 +65,9 @@ if(isset($_SESSION[$sessionname])){
do_save($path,$filecontents);
OC_JSON::success();
}
-
-
-}
+ }
} else {
// No session value set for soem reason, just save the file.
do_save($path,$filecontents);
OC_JSON::success();
-}
-*/
-do_save($path,$filecontents);
-OC_JSON::success(); \ No newline at end of file
+} \ No newline at end of file