summaryrefslogtreecommitdiff
path: root/lib/exe
diff options
context:
space:
mode:
Diffstat (limited to 'lib/exe')
-rw-r--r--lib/exe/ajax.php38
-rw-r--r--lib/exe/js.php4
2 files changed, 38 insertions, 4 deletions
diff --git a/lib/exe/ajax.php b/lib/exe/ajax.php
index e52d5d378..886e9829d 100644
--- a/lib/exe/ajax.php
+++ b/lib/exe/ajax.php
@@ -61,18 +61,52 @@ function ajax_qsearch(){
}
/**
- * Refresh a page lock
+ * Refresh a page lock and save draft
*
* Andreas Gohr <andi@splitbrain.org>
*/
function ajax_lock(){
+ global $conf;
+ global $lang;
$id = cleanID($_POST['id']);
if(empty($id)) return;
if(!checklock($id)){
lock($id);
- print 1;
+ echo 1;
}
+
+ if($conf['usedraft'] && $_POST['wikitext']){
+ $client = $_SERVER['REMOTE_USER'];
+ if(!$client) $client = clientIP(true);
+
+ $draft = array('id' => $ID,
+ 'prefix' => $_POST['prefix'],
+ 'text' => $_POST['wikitext'],
+ 'suffix' => $_POST['suffix'],
+ 'date' => $_POST['date'],
+ 'client' => $client,
+ );
+ $cname = getCacheName($draft['client'].$id,'.draft');
+ if(io_saveFile($cname,serialize($draft))){
+ echo $lang['draftdate'].' '.date($conf['dformat']);
+ }
+ }
+
+}
+
+/**
+ * Delete a draft
+ */
+function ajax_draftdel(){
+ $id = cleanID($_POST['id']);
+ if(empty($id)) return;
+
+ $client = $_SERVER['REMOTE_USER'];
+ if(!$client) $client = clientIP(true);
+
+ $cname = getCacheName($client.$id,'.draft');
+ @unlink($cname);
}
//Setup VIM: ex: et ts=2 enc=utf-8 :
diff --git a/lib/exe/js.php b/lib/exe/js.php
index 5147f1be3..9cc4a863c 100644
--- a/lib/exe/js.php
+++ b/lib/exe/js.php
@@ -93,7 +93,7 @@ function js_out(){
js_runonstart("initChangeCheck('".js_escape($lang['notsavedyet'])."')");
// add lock timer
- js_runonstart("locktimer.init(".($conf['locktime'] - 60).",'".js_escape($lang['willexpire'])."')");
+ js_runonstart("locktimer.init(".($conf['locktime'] - 60).",'".js_escape($lang['willexpire'])."',".$conf['usedraft'].")");
// load spell checker
if($conf['spellchecker']){
@@ -195,7 +195,7 @@ function js_escape($string){
* @author Andreas Gohr <andi@splitbrain.org>
*/
function js_runonstart($func){
- echo "addInitEvent(function(){ $func; });";
+ echo "addInitEvent(function(){ $func; });\n";
}
/**