// 임시 저장하는 시간을 초단위로 설정한다. var AUTOSAVE_INTERVAL = 60; // 초 // 글의 제목과 내용을 바뀐 부분이 있는지 비교하기 위하여 저장해 놓는 변수 var save_wr_subject = null; var save_wr_content = null; function autosave() { $("form#fwrite").each(function() { if(g5_editor != "") { if (g5_editor.indexOf("ckeditor4") != -1 && typeof(CKEDITOR.instances.wr_content)!="undefined") { this.wr_content.value = CKEDITOR.instances.wr_content.getData(); } else if (g5_editor.indexOf("cheditor5") != -1 && typeof(ed_wr_content)!="undefined") { this.wr_content.value = ed_wr_content.outputBodyHTML(); } else { if(typeof get_editor_wr_content == "function") { this.wr_content.value = get_editor_wr_content(); } } } // 변수에 저장해 놓은 값과 다를 경우에만 임시 저장함 if (save_wr_subject != this.wr_subject.value || save_wr_content != this.wr_content.value) { $.ajax({ url: g5_bbs_url+"/ajax.autosave.php", data: { "uid" : this.uid.value, "subject": this.wr_subject.value, "content": this.wr_content.value }, type: "POST", success: function(data){ if (data) { $("#autosave_count").html(data); } } }); save_wr_subject = this.wr_subject.value; save_wr_content = this.wr_content.value; } }); } $(function(){ if (g5_is_member) { setInterval(autosave, AUTOSAVE_INTERVAL * 1000); } // 임시저장된 글목록을 가져옴 $("#btn_autosave").click(function(){ if ($("#autosave_pop").is(":hidden")) { $.get(g5_bbs_url+"/ajax.autosavelist.php", function(data){ //alert(data); //console.log( "Data: " + data); $("#autosave_pop ul").empty(); if ($(data).find("list").find("item").length > 0) { $(data).find("list").find("item").each(function(i) { var id = $(this).find("id").text(); var uid = $(this).find("uid").text(); var subject = $(this).find("subject").text(); var datetime = $(this).find("datetime").text(); $("#autosave_pop ul") .append('
  • '+subject+''+datetime+'
  • ') .find("li:eq("+i+")") .data({ as_id: id, uid: uid }); }); } }, "xml"); $("#autosave_pop").show(); } else { $("#autosave_pop").hide(); } }); // 임시저장된 글 제목과 내용을 가져와서 제목과 내용 입력박스에 노출해 줌 $(document).on( "click", ".autosave_load", function(){ var $li = $(this).parents("li"); var as_id = $li.data("as_id"); var as_uid = $li.data("uid"); $("#fwrite input[name='uid']").val(as_uid); $.get(g5_bbs_url+"/ajax.autosaveload.php", {"as_id":as_id}, function(data){ var subject = $(data).find("item").find("subject").text(); var content = $(data).find("item").find("content").text(); $("#wr_subject").val(subject); if(g5_editor != "") { if (g5_editor.indexOf("ckeditor4") != -1 && typeof(CKEDITOR.instances.wr_content)!="undefined") { CKEDITOR.instances.wr_content.setData(content); } else if (g5_editor.indexOf("cheditor5") != -1 && typeof(ed_wr_content)!="undefined") { ed_wr_content.putContents(content); } else { if(typeof put_editor_wr_content == "function") { put_editor_wr_content(content); } } } else { $("#fwrite #wr_content").val(content); } }, "xml"); $("#autosave_pop").hide(); }); $(document).on( "click", ".autosave_del", function(){ var $li = $(this).parents("li"); var as_id = $li.data("as_id"); $.get(g5_bbs_url+"/ajax.autosavedel.php", {"as_id":as_id}, function(data){ if (data == -1) { alert("임시 저장된글을 삭제중에 오류가 발생하였습니다."); } else { $("#autosave_count").html(data); $li.remove(); } }); }); $(".autosave_close").click(function(){ $("#autosave_pop").hide(); }); });