mid별 자동 저장, 방명록 스킨에 이상한 문자열 삭제

git-svn-id: http://xe-core.googlecode.com/svn/sandbox@6541 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
misol 2009-06-14 18:34:23 +00:00
parent 4ac4a8cd21
commit 1b749490dd
10 changed files with 475 additions and 433 deletions

View file

@ -1,6 +1,5 @@
<!--@if(!$form_include)--><!--#include("header.html")--><!--@end-->
sadf
<div class="smallBox w400">
<div class="header">

View file

@ -52,6 +52,15 @@
function checkUpdate() {
$oModuleModel = &getModel('module');
$oDB = &DB::getInstance();
// 2009. 06. 15 자동저장시 module_srl 을 저장
if(!$oDB->isColumnExists("editor_autosave","module_srl")) return true;
// 2009. 06. 15 module_srl을 인덱스로
if(!$oDB->isIndexExists("editor_autosave","idx_module_srl")) return true;
// 2007. 10. 17 글의 입력(신규 or 수정)이 일어날때마다 자동 저장된 문서를 삭제하는 trigger 추가
if(!$oModuleModel->getTrigger('document.insertDocument', 'editor', 'controller', 'triggerDeleteSavedDoc', 'after')) return true;
if(!$oModuleModel->getTrigger('document.updateDocument', 'editor', 'controller', 'triggerDeleteSavedDoc', 'after')) return true;
@ -75,6 +84,17 @@
$oModuleModel = &getModel('module');
$oModuleController = &getController('module');
$oDB = &DB::getInstance();
// 자동저장시 module_srl 을 저장 2009.6.15
if(!$oDB->isColumnExists("editor_autosave","module_srl"))
$oDB->addColumn("editor_autosave","module_srl","number",11);
// module_srl을 인덱스로
if(!$oDB->isIndexExists("editor_autosave","idx_module_srl"))
$oDB->addIndex("editor_autosave","idx_module_srl", "module_srl");
// 2007. 10. 17 글의 입력(신규 or 수정)이 일어날때마다 자동 저장된 문서를 삭제하는 trigger 추가
if(!$oModuleModel->getTrigger('document.insertDocument', 'editor', 'controller', 'triggerDeleteSavedDoc', 'after'))
$oModuleController->insertTrigger('document.insertDocument', 'editor', 'controller', 'triggerDeleteSavedDoc', 'after');

View file

@ -229,6 +229,14 @@
} else {
$args->ipaddress = $_SERVER['REMOTE_ADDR'];
}
// module_srl이 없으면 현재 모듈
if(!$args->module_srl) {
$args->module_srl = Context::get('module_srl');
}
if(!$args->module_srl) {
$current_module_info = Context::get('current_module_info');
$args->module_srl = $current_module_info->module_srl;
}
// 저장
return executeQuery('editor.insertSavedDoc', $args);
@ -241,7 +249,8 @@
function triggerSrlSetting(&$obj) {
$oEditorModel = &getModel('editor');
$saved_doc = $oEditorModel->getSavedDoc(null);
if($obj->uploadTargetSrl == $saved_doc->document_srl) Context::set("getIsPermitted",$saved_doc->document_srl); return $output;
if($obj->uploadTargetSrl == $saved_doc->document_srl) Context::set("getIsPermitted",$saved_doc->document_srl);
return $output;
}

View file

@ -333,6 +333,12 @@
} else {
$auto_save_args->ipaddress = $_SERVER['REMOTE_ADDR'];
}
$auto_save_args->module_srl = Context::get('module_srl');
// module_srl이 없으면 현재 모듈
if(!$auto_save_args->module_srl) {
$current_module_info = Context::get('current_module_info');
$auto_save_args->module_srl = $current_module_info->module_srl;
}
// DB에서 자동저장 데이터 추출
$output = executeQuery('editor.getSavedDocument', $auto_save_args);
@ -349,9 +355,9 @@
// 자동저장 데이터에 문서번호가 있고 이 번호에 파일이 있다면 파일을 모두 이동하고
// 해당 문서 번호를 editor_sequence로 세팅함
if($saved_doc->document_srl && $upload_target_srl && !Context::get('document_srl')) {
$module_srl = Context::get('module_srl');
$saved_doc->module_srl = $auto_save_args->module_srl;
$oFileController = &getController('file');
$oFileController->moveFile($saved_doc->document_srl, $module_srl, $upload_target_srl);
$oFileController->moveFile($saved_doc->document_srl, $saved_doc->module_srl, $upload_target_srl);
}
else if($upload_target_srl) $saved_doc->document_srl = $upload_target_srl;

View file

@ -5,5 +5,6 @@
<conditions>
<condition operation="equal" column="member_srl" var="member_srl" />
<condition operation="equal" column="ipaddress" var="ipaddress" />
<condition operation="equal" column="module_srl" var="module_srl" pipe="and" />
</conditions>
</query>

View file

@ -4,6 +4,7 @@
</tables>
<columns />
<conditions>
<condition operation="equal" column="module_srl" var="module_srl" />
<condition operation="equal" column="member_srl" var="member_srl" pipe="and" />
<condition operation="equal" column="ipaddress" var="ipaddress" pipe="and" />
</conditions>

View file

@ -3,6 +3,7 @@
<table name="editor_autosave" />
</tables>
<columns>
<column name="module_srl" var="module_srl" />
<column name="member_srl" var="member_srl" />
<column name="ipaddress" var="ipaddress" />
<column name="document_srl" var="document_srl" />

View file

@ -1,6 +1,7 @@
<table name="editor_autosave">
<column name="member_srl" type="number" size="11" default="0" index="idx_member_srl" />
<column name="ipaddress" type="varchar" size="128" index="idx_ipaddress" />
<column name="module_srl" type="number" size="11" index="idx_module_srl" />
<column name="document_srl" type="number" size="11" default="0" notnull="notnull" />
<column name="title" type="varchar" size="250" />
<column name="content" type="bigtext" notnull="notnull" />

View file

@ -39,8 +39,8 @@ function editorEnableAutoSave(fo_obj, editor_sequence) {
setTimeout(_editorAutoSave, 50000);
}
// ajax를 이용하여 editor.procEditorSaveDoc 호출하여 자동 저장시킴
function _editorAutoSave() {
// ajax를 이용하여 editor.procEditorSaveDoc 호출하여 자동 저장시킴 exe는 강제 코드
function _editorAutoSave(exe) {
var fo_obj = editorAutoSaveObj.fo_obj;
var editor_sequence = editorAutoSaveObj.editor_sequence;
@ -54,12 +54,13 @@ function _editorAutoSave() {
var title = fo_obj.title.value;
var content = editorGetContent(editor_sequence);
// 내용이 이전에 저장하였던 것과 다르면 자동 저장을 함
if(title != editorAutoSaveObj.title || content != editorAutoSaveObj.content ) {
// 내용이 이전에 저장하였던 것과 다르면 자동 저장을 함 또는 강제 저장 설정시 자동 저장
if(title != editorAutoSaveObj.title || content != editorAutoSaveObj.content || exe) {
var params = new Array();
params["title"] = title;
params["content"] = content;
params["mid"] = current_mid;
params["document_srl"] = editorRelKeys[editor_sequence]['primary'].value;
editorAutoSaveObj.title = title;

View file

@ -282,6 +282,9 @@ function completeReloadFileList(ret_obj, response_tags, settings) {
var swfu = SWFUpload.instances[swfUploadObjs[editor_sequence]].setFileSizeLimit(left_size);
// 문서 강제 자동저장
_editorAutoSave(true);
xAddEventListener(listObj,'click',previewFiles);
}