issue 70 article management in document, comment module

git-svn-id: http://xe-core.googlecode.com/svn/branches/1.5.0@8711 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
ovclas 2011-08-02 01:49:57 +00:00
parent f3c3adc5d4
commit a1a14d4b76
6 changed files with 89 additions and 53 deletions

View file

@ -32,6 +32,32 @@
$oDB = &DB::getInstance();
$oDB->begin();
// for message send - start
$message_content = Context::get('message_content');
if($message_content) $message_content = nl2br($message_content);
if($message_content) {
$oCommunicationController = &getController('communication');
$oCommentModel = &getModel('comment');
$logged_info = Context::get('logged_info');
$title = cut_str($message_content,10,'...');
$sender_member_srl = $logged_info->member_srl;
for($i=0;$i<$comment_count;$i++) {
$comment_srl = $comment_srl_list[$i];
$oComment = $oCommentModel->getComment($comment_srl, true);
if(!$oComment->get('member_srl') || $oComment->get('member_srl')==$sender_member_srl) continue;
$content = sprintf("<div>%s</div><hr /><div style=\"font-weight:bold\">%s</div>",$message_content, $oComment->getContentText(20));
$oCommunicationController->sendMessage($sender_member_srl, $oComment->get('member_srl'), $title, $content, false);
}
}
// for message send - end
// comment into trash
if($isTrash == 'true') $this->_moveCommentToTrash($comment_srl_list, $oCommentController, $oDB);
@ -50,6 +76,7 @@
$deleted_count ++;
}
$oDB->commit();
$this->setMessage( sprintf(Context::getLang('msg_checked_comment_is_deleted'), $deleted_count) );
@ -104,14 +131,20 @@
function procCommentAdminAddCart()
{
$comment_srl = Context::get('comment_srl');
$commentSrlList = explode(',', $comment_srl);
$comment_srl = (int)Context::get('comment_srl');
if(is_array($commentSrlList))
$oCommentModel = &getModel('comment');
$columnList = array('comment_srl');
$commentSrlList = array($comment_srl);
$output = $oCommentModel->getComments($commentSrlList);
if(is_array($output))
{
foreach($commentSrlList AS $key=>$value)
foreach($output AS $key=>$value)
{
$_SESSION['comment_management'][$value] = true;
if($_SESSION['comment_management'][$key]) unset($_SESSION['comment_management'][$key]);
else $_SESSION['comment_management'][$key] = true;
}
}
}

View file

@ -644,10 +644,25 @@
}
}
if(count($commentSrlList)) {
if(count($commentSrlList) > 0) {
$oCommentModel = &getModel('comment');
$commentList = $oCommentModel->getComments($commentSrlList);
if(is_array($commentList))
{
foreach($commentList AS $key=>$value)
{
$value->content = strip_tags($value->content);
}
}
}
else
{
global $lang;
$commentList = array();
$this->setMessage($lang->no_documents);
}
$this->add('comment_list', $commentList);
}
}

View file

@ -3,10 +3,7 @@
<div cond="$XE_VALIDATOR_MESSAGE" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
<p>{$XE_VALIDATOR_MESSAGE}</p>
</div>
<form ruleset="deleteChecked" id="fo_list" action="./" method="post" class="form">
<input type="hidden" name="act" value="procCommentAdminDeleteChecked" />
<input type="hidden" name="page" value="{$page}" />
<input type="hidden" name="is_trash" value="false" />
<form id="fo_list" action="./" method="post" class="form">
<h1 class="h1">Comment</h1>
<div class="table even">
<table width="100%" border="1" cellspacing="0">
@ -47,50 +44,34 @@
</div>
</form>
<div class="modal" id="listManager">
<form action="" class="fg form">
<form ruleset="deleteChecked" action="./" method="post" class="fg form">
<input type="hidden" name="act" value="procCommentAdminDeleteChecked" />
<input type="hidden" name="page" value="{$page}" />
<input type="hidden" name="is_trash" value="false" />
<h2 class="h2">선택한 댓글 관리</h2>
<div class="table even">
<table width="100%" border="1" cellspacing="0">
<table width="100%" border="1" cellspacing="0" id="commentManageListTable">
<caption>
선택한 댓글 <strong>8</strong>
선택한 댓글 <strong id="selectedCommentCount"></strong>
</caption>
<thead>
<tr>
<th scope="col" class="title">Comment</th>
<th scope="col">Author</th>
<th scope="col">Status</th>
<th scope="col"><input type="checkbox" title="Check All" checked="checked" /></th>
</tr>
</thead>
<tbody>
<tr>
<td class="title">The quick brown fox jumps over the lazy dog...</td>
<td>홍길동</td>
<td>Public</td>
<td><input type="checkbox" /></td>
</tr>
<tr>
<td class="title">The quick brown fox jumps over the lazy dog...</td>
<td>홍길동</td>
<td>Trash</td>
<td><input type="checkbox" /></td>
</tr>
</tbody>
</table>
</div>
<p class="q">선택한 댓글의 상태를 변경.</p>
<p>
<input type="radio" name="status" id="public" /> <label for="public">Public</label>
<input type="radio" name="status" id="secret" /> <label for="secret">Secret</label>
</p>
<p class="q"><label for="message">저작자에게 쪽지를 발송해서 이 사실을 알립니다. 작성하지 않으면 발송하지 않습니다.</label></p>
<p>
<textarea cols="42" rows="3" id="message" style="width:98%"></textarea>
<textarea cols="42" rows="3" name="message_content" id="message" style="width:98%"></textarea>
</p>
<div class="btnArea">
<span class="btn"><input type="submit" value="Move" /></span>
<span class="btn"><input type="submit" value="Trash" /></span>
<span class="btn"><input type="submit" value="Delete" class="delete" /></span>
<span class="btn"><button type="submit" name="is_trash" value="true">{$lang->cmd_trash}</button></span>
<span class="btn"><button type="submit" name="is_trash" value="false">{$lang->cmd_delete}</button></span>
</div>
</form>
</div>

View file

@ -20,11 +20,7 @@ function insertSelectedModule(id, module_srl, mid, browser_title) {
function addCart(comment_srl) {
var params = new Array();
var response_tags = ['error','message'];
var comment_srl = new Array();
jQuery('#fo_list input[name=cart]:checked').each(function() {
comment_srl[comment_srl.length] = jQuery(this).val();
});
params['comment_srl'] = comment_srl.join(',');
params['comment_srl'] = comment_srl;
exec_xml('comment','procCommentAdminAddCart',params, completeAddCart, response_tags);
}
@ -43,20 +39,30 @@ function getCommentList()
function completeGetCommentList(ret_obj, response_tags)
{
var comment_list = ret_obj['comment_list']['item'];
console.log(comment_list);
/*var htmlListBuffer = '';
var statusNameList = {"PUBLIC":"Public", "SECRET":"Secret", "PRIVATE":"Private", "TEMP":"Temp"};
var htmlListBuffer = '';
var statusNameList = {"N":"Public", "Y":"Secret"};
for(var x in comment_list)
if(ret_obj['comment_list'] == null)
{
var objDocument = comment_list[x];
htmlListBuffer += '<tr>' +
'<td class="title">'+ objDocument.variables.title +'</td>' +
'<td>'+ objDocument.variables.nick_name +'</td>' +
'<td>'+ statusNameList[objDocument.variables.status] +'</td>' +
'<td><input type="checkbox" /></td>' +
htmlListBuffer = '<tr>' +
'<td colspan="3" style="text-align:center;">'+ret_obj['message']+'</td>' +
'</tr>';
}
jQuery('#documentManageListTable>tbody').html(htmlListBuffer);*/
else
{
var comment_list = ret_obj['comment_list']['item'];
if(!jQuery.isArray(comment_list)) comment_list = [comment_list];
for(var x in comment_list)
{
var objComment = comment_list[x];
htmlListBuffer += '<tr>' +
'<td class="title">'+ objComment.content +'</td>' +
'<td>'+ objComment.nick_name +'</td>' +
'<td>'+ statusNameList[objComment.is_secret] +'</td>' +
'</tr>' +
'<input type="hidden" name="cart[]" value="'+objComment.comment_srl+'" />';
}
jQuery('#selectedCommentCount').html(comment_list.length);
}
jQuery('#commentManageListTable>tbody').html(htmlListBuffer);
}