mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-30 08:39:58 +09:00
git-svn-id: http://xe-core.googlecode.com/svn/trunk@1062 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
parent
8833885ea0
commit
bf19a8cf2a
15 changed files with 187 additions and 32 deletions
12
.htaccess
12
.htaccess
|
|
@ -1,6 +1,6 @@
|
||||||
#RewriteEngine On
|
RewriteEngine On
|
||||||
#RewriteRule ^rss/([[:alnum:]]+)$ ./?mid=$1&act=dispBoardRss [L]
|
RewriteRule ^rss/([[:alnum:]]+)$ ./?mid=$1&act=dispBoardRss [L]
|
||||||
#RewriteRule ^trackback/([[:digit:]]+)$ ./?module=trackback&act=procTrackbackReceive&document_srl=$1 [L]
|
RewriteRule ^trackback/([[:digit:]]+)$ ./?module=trackback&act=procTrackbackReceive&document_srl=$1 [L]
|
||||||
#RewriteRule ^admin ./?module=admin [L]
|
RewriteRule ^admin ./?module=admin [L]
|
||||||
#RewriteRule ^([[:digit:]]+)$ ./?document_srl=$1 [L]
|
RewriteRule ^([[:digit:]]+)$ ./?document_srl=$1 [L]
|
||||||
#RewriteRule ^([[:alnum:]]+)$ ./?mid=$1 [L]
|
RewriteRule ^([[:alnum:]]+)$ ./?mid=$1 [L]
|
||||||
|
|
|
||||||
|
|
@ -32,6 +32,20 @@
|
||||||
fclose($fp);
|
fclose($fp);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief 특정 디렉토리를 이동
|
||||||
|
**/
|
||||||
|
function moveDir($source_dir, $target_dir) {
|
||||||
|
if(!is_dir($source_dir)) return;
|
||||||
|
|
||||||
|
if(!is_dir($target_dir)) {
|
||||||
|
FileHandler::makeDir($target_dir);
|
||||||
|
@unlink($target_dir);
|
||||||
|
}
|
||||||
|
|
||||||
|
@rename($source_dir, $target_dir);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief $path내의 파일들을 return ('.', '..', '.로 시작하는' 파일들은 제외)
|
* @brief $path내의 파일들을 return ('.', '..', '.로 시작하는' 파일들은 제외)
|
||||||
**/
|
**/
|
||||||
|
|
|
||||||
|
|
@ -160,6 +160,9 @@
|
||||||
$lang->success_moved = '이동되었습니다';
|
$lang->success_moved = '이동되었습니다';
|
||||||
$lang->success_sended = '발송되었습니다';
|
$lang->success_sended = '발송되었습니다';
|
||||||
|
|
||||||
|
$lang->fail_to_delete = '삭제되었습니다';
|
||||||
|
$lang->fail_to_move = '이동되었습니다';
|
||||||
|
|
||||||
$lang->failed_voted = '추천하실 수 없습니다';
|
$lang->failed_voted = '추천하실 수 없습니다';
|
||||||
$lang->fail_to_delete_have_children = '답글이 있어서 삭제할 수 없습니다';
|
$lang->fail_to_delete_have_children = '답글이 있어서 삭제할 수 없습니다';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -234,17 +234,41 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief 세션에 담긴 선택글의 이동
|
* @brief 세션에 담긴 선택글의 이동/ 삭제
|
||||||
**/
|
**/
|
||||||
function procBoardAdminMoveCheckedDocument() {
|
function procBoardAdminManageCheckedDocument() {
|
||||||
$this->setMessage('success_moved');
|
$type = Context::get('type');
|
||||||
}
|
$module_srl = Context::get('target_board');
|
||||||
|
$flag_list = $_SESSION['document_management'][$this->module_srl];
|
||||||
|
|
||||||
/**
|
$document_srl_list = array_keys($flag_list);
|
||||||
* @brief 세션에 담긴 선택글의 삭제
|
|
||||||
**/
|
$oDocumentController = &getController('document');
|
||||||
function procBoardAdminDeleteCheckedDocument() {
|
$document_srl_count = count($document_srl_list);
|
||||||
$this->setMessage('success_deleted');
|
|
||||||
|
if($type == 'move') {
|
||||||
|
if(!$module_srl) return new Object(-1, 'fail_to_move');
|
||||||
|
else {
|
||||||
|
$output = $oDocumentController->moveDocumentModule($document_srl_list, $module_srl, $this->module_srl);
|
||||||
|
if(!$output->toBool()) return new Object(-1, 'fail_to_move');
|
||||||
|
$msg_code = 'success_moved';
|
||||||
|
$_SESSION['document_management'][$this->module_srl] = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
} elseif($type =='delete') {
|
||||||
|
$oDB = &DB::getInstance();
|
||||||
|
$oDB->begin();
|
||||||
|
for($i=0;$i<$document_srl_count;$i++) {
|
||||||
|
$document_srl = $document_srl_list[$i];
|
||||||
|
$output = $oDocumentController->deleteDocument($document_srl, true);
|
||||||
|
if(!$output->toBool()) return new Object(-1, 'fail_to_delete');
|
||||||
|
}
|
||||||
|
$oDB->commit();
|
||||||
|
$msg_code = 'success_deleted';
|
||||||
|
$_SESSION['document_management'][$this->module_srl] = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->setMessage($msg_code);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -66,7 +66,6 @@
|
||||||
<action name="procBoardAdminInsertCategory" type="controller" standalone="true" />
|
<action name="procBoardAdminInsertCategory" type="controller" standalone="true" />
|
||||||
<action name="procBoardAdminUpdateCategory" type="controller" standalone="true" />
|
<action name="procBoardAdminUpdateCategory" type="controller" standalone="true" />
|
||||||
<action name="procBoardAdminInsertConfig" type="controller" standalone="true" />
|
<action name="procBoardAdminInsertConfig" type="controller" standalone="true" />
|
||||||
<action name="procBoardAdminDeleteCheckedDocument" type="controller" standalone="true" />
|
<action name="procBoardAdminManageCheckedDocument" type="controller" standalone="true" />
|
||||||
<action name="procBoardAdminMoveCheckedDocument" type="controller" standalone="true" />
|
|
||||||
</actions>
|
</actions>
|
||||||
</module>
|
</module>
|
||||||
|
|
|
||||||
|
|
@ -49,4 +49,5 @@
|
||||||
$lang->msg_category_is_null = '등록된 분류가 없습니다';
|
$lang->msg_category_is_null = '등록된 분류가 없습니다';
|
||||||
$lang->msg_grant_is_null = '등록된 권한 대상이 없습니다';
|
$lang->msg_grant_is_null = '등록된 권한 대상이 없습니다';
|
||||||
$lang->msg_no_checked_document = '선택된 게시물이 없습니다';
|
$lang->msg_no_checked_document = '선택된 게시물이 없습니다';
|
||||||
|
$lang->msg_move_failed = '이동 실패하였습니다';
|
||||||
?>
|
?>
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,4 @@
|
||||||
<!--%import("filter/delete_checked_document.xml")-->
|
<!--%import("filter/manage_checked_document.xml")-->
|
||||||
<!--%import("filter/move_checked_document.xml")-->
|
|
||||||
<!--%import("js/board_admin.js")-->
|
<!--%import("js/board_admin.js")-->
|
||||||
|
|
||||||
<div style="width:400px">
|
<div style="width:400px">
|
||||||
|
|
@ -8,19 +7,21 @@
|
||||||
|
|
||||||
<!--@if(count($document_list))-->
|
<!--@if(count($document_list))-->
|
||||||
|
|
||||||
<form action="./" method="get">
|
<form action="./" method="get" id="fo_management">
|
||||||
|
<input type="hidden" name="mid" value="{$mid}" />
|
||||||
|
<input type="hidden" name="type" value="" />
|
||||||
<div>{$lang->checked_count} : {count($document_list)}</div>
|
<div>{$lang->checked_count} : {count($document_list)}</div>
|
||||||
|
|
||||||
<div><a href="#" onclick="delete_checked_document(); return false;">{$lang->cmd_delete}</a></div>
|
<div><a href="#" onclick="doManageDocument('delete');return false;">{$lang->cmd_delete}</a></div>
|
||||||
<div>
|
<div>
|
||||||
<select name="board_list">
|
<select name="target_board">
|
||||||
<!--@foreach($board_list as $key => $val)-->
|
<!--@foreach($board_list as $key => $val)-->
|
||||||
<!--@if($module_srl != $val->module_srl)-->
|
<!--@if($module_srl != $val->module_srl)-->
|
||||||
<option value="{$val->module_srl}">{$val->browser_title} ({$val->mid})</option>
|
<option value="{$val->module_srl}">{$val->browser_title} ({$val->mid})</option>
|
||||||
<!--@end-->
|
<!--@end-->
|
||||||
<!--@end-->
|
<!--@end-->
|
||||||
</select>
|
</select>
|
||||||
<a href="#" onclick="move_checked_document(); return false;">{$lang->cmd_move}</a>
|
<a href="#" onclick="doManageDocument('move');return false;">{$lang->cmd_move}</a>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +0,0 @@
|
||||||
<filter name="delete_checked_document" module="board" act="procBoardAdminDeleteCheckedDocument" confirm_msg_code="confirm_delete">
|
|
||||||
<form />
|
|
||||||
<response callback_func="completeManageDocument">
|
|
||||||
<tag name="error" />
|
|
||||||
<tag name="message" />
|
|
||||||
</response>
|
|
||||||
</filter>
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
<filter name="move_checked_document" module="board" act="procBoardAdminMoveCheckedDocument" confirm_msg_code="confirm_move">
|
<filter name="manage_checked_document" module="board" act="procBoardAdminManageCheckedDocument">
|
||||||
<form />
|
<form />
|
||||||
<response callback_func="completeManageDocument">
|
<response callback_func="completeManageDocument">
|
||||||
<tag name="error" />
|
<tag name="error" />
|
||||||
|
|
@ -100,8 +100,17 @@ function doChangeCategory(sel_obj, url) {
|
||||||
else location.href=url+'&module_category_srl='+module_category_srl;
|
else location.href=url+'&module_category_srl='+module_category_srl;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* 선택된 글의 삭제 또는 이동 */
|
||||||
|
function doManageDocument(type, mid) {
|
||||||
|
var fo_obj = xGetElementById("fo_management");
|
||||||
|
fo_obj.type.value = type;
|
||||||
|
|
||||||
|
procFilter(fo_obj, manage_checked_document);
|
||||||
|
}
|
||||||
|
|
||||||
/* 선택된 글의 삭제 또는 이동 후 */
|
/* 선택된 글의 삭제 또는 이동 후 */
|
||||||
function completeManageDocument(ret_obj) {
|
function completeManageDocument(ret_obj) {
|
||||||
|
if(opener) opener.location.href = opener.location.href;
|
||||||
alert(ret_obj['message']);
|
alert(ret_obj['message']);
|
||||||
window.close();
|
window.close();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
11
modules/comment/queries/updateCommentModule.xml
Normal file
11
modules/comment/queries/updateCommentModule.xml
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
<query id="updateCommentModule" action="update">
|
||||||
|
<tables>
|
||||||
|
<table name="comments" />
|
||||||
|
</tables>
|
||||||
|
<columns>
|
||||||
|
<column name="module_srl" var="module_srl" filter="number" default="0" />
|
||||||
|
</columns>
|
||||||
|
<conditions>
|
||||||
|
<condition operation="in" column="document_srl" var="document_srls" notnull="notnull" />
|
||||||
|
</conditions>
|
||||||
|
</query>
|
||||||
|
|
@ -285,6 +285,73 @@
|
||||||
return $output;
|
return $output;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief 특정 게시물들의 소속 모듈 변경 (게시글 이동시에 사용)
|
||||||
|
**/
|
||||||
|
function moveDocumentModule($document_srl_list, $module_srl, $source_module_srl) {
|
||||||
|
$args->document_srls = implode(',',$document_srl_list);
|
||||||
|
$args->module_srl = $module_srl;
|
||||||
|
|
||||||
|
$oDB = &DB::getInstance();
|
||||||
|
$oDB->begin();
|
||||||
|
|
||||||
|
// 게시물의 이동
|
||||||
|
$output = executeQuery('document.updateDocumentModule', $args);
|
||||||
|
if(!$output->toBool()) {
|
||||||
|
$oDB->rollback();
|
||||||
|
return $output;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 코멘트의 이동
|
||||||
|
$output = executeQuery('comment.updateCommentModule', $args);
|
||||||
|
if(!$output->toBool()) {
|
||||||
|
$oDB->rollback();
|
||||||
|
return $output;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 트랙백의 이동
|
||||||
|
$output = executeQuery('trackback.updateTrackbackModule', $args);
|
||||||
|
if(!$output->toBool()) {
|
||||||
|
$oDB->rollback();
|
||||||
|
return $output;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 엮인글
|
||||||
|
$output = executeQuery('tag.updateTagModule', $args);
|
||||||
|
if(!$output->toBool()) {
|
||||||
|
$oDB->rollback();
|
||||||
|
return $output;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 첨부파일의 이동 (다운로드나 본문 첨부의 문제로 인하여 첨부파일은 이동하지 않기로 결정. 차후에 다시 고민)
|
||||||
|
/*
|
||||||
|
$image_dir = sprintf('./files/attach/images/%s/%s/', $source_module_srl, $document_srl);
|
||||||
|
$binary_dir = sprintf('./files/attach/binaries/%s/%s/', $source_module_srl, $document_srl);
|
||||||
|
|
||||||
|
$target_image_dir = sprintf('./files/attach/images/%s/%s/', $module_srl, $document_srl);
|
||||||
|
$target_binary_dir = sprintf('./files/attach/binaries/%s/%s/', $module_srl, $document_srl);
|
||||||
|
|
||||||
|
if(is_dir($image_dir)) {
|
||||||
|
FileHandler::moveDir($image_dir, $target_image_dir);
|
||||||
|
if(!is_dir($target_image_dir)) {
|
||||||
|
$oDB->rollback();
|
||||||
|
return new Object(-1,'fail');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(is_dir($binary_dir)) {
|
||||||
|
FileHandler::moveDir($binary_dir, $target_binary_dir);
|
||||||
|
if(!is_dir($target_binary_dir)) {
|
||||||
|
$oDB->rollback();
|
||||||
|
return new Object(-1,'fail');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
$oDB->commit();
|
||||||
|
return new Object();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief 특정 모듈의 전체 문서 삭제
|
* @brief 특정 모듈의 전체 문서 삭제
|
||||||
**/
|
**/
|
||||||
|
|
|
||||||
11
modules/document/queries/updateDocumentModule.xml
Normal file
11
modules/document/queries/updateDocumentModule.xml
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
<query id="updateDocumentModule" action="update">
|
||||||
|
<tables>
|
||||||
|
<table name="documents" />
|
||||||
|
</tables>
|
||||||
|
<columns>
|
||||||
|
<column name="module_srl" var="module_srl" filter="number" default="0" />
|
||||||
|
</columns>
|
||||||
|
<conditions>
|
||||||
|
<condition operation="in" column="document_srl" var="document_srls" notnull="notnull" />
|
||||||
|
</conditions>
|
||||||
|
</query>
|
||||||
11
modules/tag/queries/updateTagModule.xml
Normal file
11
modules/tag/queries/updateTagModule.xml
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
<query id="updateTagModule" action="update">
|
||||||
|
<tables>
|
||||||
|
<table name="tags" />
|
||||||
|
</tables>
|
||||||
|
<columns>
|
||||||
|
<column name="module_srl" var="module_srl" filter="number" default="0" />
|
||||||
|
</columns>
|
||||||
|
<conditions>
|
||||||
|
<condition operation="in" column="document_srl" var="document_srls" notnull="notnull" />
|
||||||
|
</conditions>
|
||||||
|
</query>
|
||||||
11
modules/trackback/queries/updateTrackbackModule.xml
Normal file
11
modules/trackback/queries/updateTrackbackModule.xml
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
<query id="updateTrackbackModule" action="update">
|
||||||
|
<tables>
|
||||||
|
<table name="trackbacks" />
|
||||||
|
</tables>
|
||||||
|
<columns>
|
||||||
|
<column name="module_srl" var="module_srl" filter="number" default="0" />
|
||||||
|
</columns>
|
||||||
|
<conditions>
|
||||||
|
<condition operation="in" column="document_srl" var="document_srls" notnull="notnull" />
|
||||||
|
</conditions>
|
||||||
|
</query>
|
||||||
Loading…
Add table
Add a link
Reference in a new issue