mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-08 03:01:43 +09:00
issue 2119. supporting php 5.4. comment module.
git-svn-id: http://xe-core.googlecode.com/svn/branches/maserati@12720 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
parent
c15c87c0bf
commit
e2affff988
7 changed files with 1403 additions and 568 deletions
|
|
@ -1,4 +1,5 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* commentAdminController class
|
||||
* admin controller class of the comment module
|
||||
|
|
@ -9,12 +10,14 @@
|
|||
*/
|
||||
class commentAdminController extends comment
|
||||
{
|
||||
|
||||
/**
|
||||
* Initialization
|
||||
* @return void
|
||||
*/
|
||||
function init()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -22,11 +25,12 @@ class commentAdminController extends comment
|
|||
* @return void
|
||||
*/
|
||||
function procCommentAdminChangePublishedStatusChecked()
|
||||
{ // Error display if none is selected
|
||||
{
|
||||
// Error display if none is selected
|
||||
$cart = Context::get('cart');
|
||||
if(!is_array($cart))
|
||||
{
|
||||
$comment_srl_list= explode('|@|', $cart);
|
||||
$comment_srl_list = explode('|@|', $cart);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -55,13 +59,14 @@ class commentAdminController extends comment
|
|||
}
|
||||
if(!is_array($cart))
|
||||
{
|
||||
$comment_srl_list= explode('|@|', $cart);
|
||||
$comment_srl_list = explode('|@|', $cart);
|
||||
}
|
||||
else
|
||||
{
|
||||
$comment_srl_list = $cart;
|
||||
}
|
||||
|
||||
$args = new stdClass();
|
||||
$args->status = $will_publish;
|
||||
$args->comment_srls_list = $comment_srl_list;
|
||||
$output = executeQuery('comment.updatePublishedStatus', $args);
|
||||
|
|
@ -69,52 +74,55 @@ class commentAdminController extends comment
|
|||
{
|
||||
return $output;
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
//update comment count for document
|
||||
$updated_documents_arr = array();
|
||||
// create the controller object of the document
|
||||
$oDocumentController = &getController('document');
|
||||
$oDocumentController = getController('document');
|
||||
// create the model object of the document
|
||||
$oDocumentModel = &getModel('document');
|
||||
$oDocumentModel = getModel('document');
|
||||
// create the comment model object
|
||||
$oCommentModel = &getModel('comment');
|
||||
$oCommentModel = getModel('comment');
|
||||
//get admin info
|
||||
$logged_info = Context::get('logged_info');
|
||||
//$oMemberModule = &getModel("member");
|
||||
//$oMemberModule = getModel("member");
|
||||
//$logged_info = $oMemberModule->getMemberInfoByMemberSrl($logged_member_srl);
|
||||
$new_status = ($will_publish) ? "published" : "unpublished";
|
||||
foreach($comment_srl_list as $comment_srl)
|
||||
{
|
||||
// check if comment already exists
|
||||
$comment = $oCommentModel->getComment($comment_srl);
|
||||
if($comment->comment_srl != $comment_srl) return new Object(-1, 'msg_invalid_request');
|
||||
if($comment->comment_srl != $comment_srl)
|
||||
{
|
||||
return new Object(-1, 'msg_invalid_request');
|
||||
}
|
||||
$document_srl = $comment->document_srl;
|
||||
if(!in_array($document_srl,$updated_documents_arr))
|
||||
if(!in_array($document_srl, $updated_documents_arr))
|
||||
{
|
||||
$updated_documents_arr[] = $document_srl;
|
||||
// update the number of comments
|
||||
$comment_count = $oCommentModel->getCommentCount($document_srl);
|
||||
// update comment count of the article posting
|
||||
$output = $oDocumentController->updateCommentCount($document_srl, $comment_count, null, false);
|
||||
$output = $oDocumentController->updateCommentCount($document_srl, $comment_count, NULL, FALSE);
|
||||
|
||||
$oDocument = $oDocumentModel->getDocument($document_srl);
|
||||
$author_email=$oDocument->variables['email_address'];
|
||||
$author_email = $oDocument->variables['email_address'];
|
||||
|
||||
$oModuleModel = &getModel("module");
|
||||
$oModuleModel = getModel("module");
|
||||
$module_info = $oModuleModel->getModuleInfoByModuleSrl($comment->module_srl);
|
||||
$already_sent = array();
|
||||
|
||||
// send email to comment's author, all admins and thread(document) subscribers - START
|
||||
// -------------------------------------------------------
|
||||
$oMail = new Mail();
|
||||
$mail_title = "[XE - ".$module_info->mid."] comment(s) status changed to ".$new_status." on document: \"".$oDocument->getTitleText()."\"";
|
||||
$mail_title = "[XE - " . $module_info->mid . "] comment(s) status changed to " . $new_status . " on document: \"" . $oDocument->getTitleText() . "\"";
|
||||
$oMail->setTitle($mail_title);
|
||||
$mail_content = "
|
||||
The comment #".$comment_srl." on document \"".$oDocument->getTitleText()."\" has been ".$new_status." by admin of <strong><i>". strtoupper($module_info->mid)."</i></strong> module.
|
||||
The comment #" . $comment_srl . " on document \"" . $oDocument->getTitleText() . "\" has been " . $new_status . " by admin of <strong><i>" . strtoupper($module_info->mid) . "</i></strong> module.
|
||||
<br />
|
||||
<br />Comment content:
|
||||
".$comment->content."
|
||||
" . $comment->content . "
|
||||
<br />
|
||||
";
|
||||
$oMail->setContent($mail_content);
|
||||
|
|
@ -130,15 +138,17 @@ class commentAdminController extends comment
|
|||
$already_sent[] = $document_author_email;
|
||||
}
|
||||
//mail to author of thread - STOP
|
||||
|
||||
//mail to all emails set for administrators - START
|
||||
if($module_info->admin_mail)
|
||||
{
|
||||
$target_mail = explode(',',$module_info->admin_mail);
|
||||
for($i=0;$i<count($target_mail);$i++)
|
||||
$target_mail = explode(',', $module_info->admin_mail);
|
||||
for($i = 0; $i < count($target_mail); $i++)
|
||||
{
|
||||
$email_address = trim($target_mail[$i]);
|
||||
if(!$email_address) continue;
|
||||
if(!$email_address)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
if($author_email != $email_address)
|
||||
{
|
||||
$oMail->setReceiptor($email_address, $email_address);
|
||||
|
|
@ -152,7 +162,7 @@ class commentAdminController extends comment
|
|||
// send email to comment's author, all admins and thread(document) subscribers - STOP
|
||||
}
|
||||
// call a trigger for calling "send mail to subscribers" (for moment just for forum)
|
||||
ModuleHandler::triggerCall("comment.procCommentAdminChangeStatus","after",$comment_srl_list);
|
||||
ModuleHandler::triggerCall("comment.procCommentAdminChangeStatus", "after", $comment_srl_list);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -166,70 +176,99 @@ class commentAdminController extends comment
|
|||
|
||||
// Error display if none is selected
|
||||
$cart = Context::get('cart');
|
||||
if(!$cart) return $this->stop('msg_cart_is_null');
|
||||
if(!is_array($cart)) $comment_srl_list= explode('|@|', $cart);
|
||||
else $comment_srl_list = $cart;
|
||||
if(!$cart)
|
||||
{
|
||||
return $this->stop('msg_cart_is_null');
|
||||
}
|
||||
if(!is_array($cart))
|
||||
{
|
||||
$comment_srl_list = explode('|@|', $cart);
|
||||
}
|
||||
else
|
||||
{
|
||||
$comment_srl_list = $cart;
|
||||
}
|
||||
$comment_count = count($comment_srl_list);
|
||||
if(!$comment_count) return $this->stop('msg_cart_is_null');
|
||||
if(!$comment_count)
|
||||
{
|
||||
return $this->stop('msg_cart_is_null');
|
||||
}
|
||||
|
||||
$oCommentController = &getController('comment');
|
||||
$oCommentController = getController('comment');
|
||||
// begin transaction
|
||||
$oDB = &DB::getInstance();
|
||||
$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)
|
||||
{
|
||||
$message_content = nl2br($message_content);
|
||||
}
|
||||
|
||||
if($message_content)
|
||||
{
|
||||
$oCommunicationController = &getController('communication');
|
||||
$oCommentModel = &getModel('comment');
|
||||
$oCommunicationController = getController('communication');
|
||||
$oCommentModel = getModel('comment');
|
||||
|
||||
$logged_info = Context::get('logged_info');
|
||||
|
||||
$title = cut_str($message_content,10,'...');
|
||||
$title = cut_str($message_content, 10, '...');
|
||||
$sender_member_srl = $logged_info->member_srl;
|
||||
|
||||
for($i=0;$i<$comment_count;$i++)
|
||||
for($i = 0; $i < $comment_count; $i++)
|
||||
{
|
||||
$comment_srl = $comment_srl_list[$i];
|
||||
$oComment = $oCommentModel->getComment($comment_srl, true);
|
||||
$oComment = $oCommentModel->getComment($comment_srl, TRUE);
|
||||
|
||||
if(!$oComment->get('member_srl') || $oComment->get('member_srl')==$sender_member_srl) continue;
|
||||
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));
|
||||
$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);
|
||||
$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);
|
||||
if($isTrash == 'true')
|
||||
{
|
||||
$this->_moveCommentToTrash($comment_srl_list, $oCommentController, $oDB);
|
||||
}
|
||||
|
||||
$deleted_count = 0;
|
||||
// Delete the comment posting
|
||||
for($i=0;$i<$comment_count;$i++)
|
||||
for($i = 0; $i < $comment_count; $i++)
|
||||
{
|
||||
$comment_srl = trim($comment_srl_list[$i]);
|
||||
if(!$comment_srl) continue;
|
||||
if(!$comment_srl)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
$output = $oCommentController->deleteComment($comment_srl, true, $isTrash);
|
||||
$output = $oCommentController->deleteComment($comment_srl, TRUE, $isTrash);
|
||||
if(!$output->toBool())
|
||||
{
|
||||
$oDB->rollback();
|
||||
return $output;
|
||||
}
|
||||
|
||||
$deleted_count ++;
|
||||
$deleted_count++;
|
||||
}
|
||||
|
||||
$oDB->commit();
|
||||
|
||||
$msgCode = '';
|
||||
if($isTrash == 'true') $msgCode = 'success_trashed';
|
||||
else $msgCode = 'success_deleted';
|
||||
if($isTrash == 'true')
|
||||
{
|
||||
$msgCode = 'success_trashed';
|
||||
}
|
||||
else
|
||||
{
|
||||
$msgCode = 'success_deleted';
|
||||
}
|
||||
//$this->setMessage( sprintf(Context::getLang('msg_checked_comment_is_deleted'), $deleted_count) );
|
||||
$this->setMessage($msgCode, 'info');
|
||||
|
||||
|
|
@ -238,7 +277,7 @@ class commentAdminController extends comment
|
|||
$search_target = Context::get('search_target');
|
||||
$page = Context::get('page');
|
||||
|
||||
$returnUrl = Context::get('success_return_url') ? Context::get('success_return_url') : getNotEncodedUrl('', 'module', 'admin', 'act', 'dispCommentAdminList', 'search_keyword', $search_keyword, 'search_target', $search_target,'page',$page);
|
||||
$returnUrl = Context::get('success_return_url') ? Context::get('success_return_url') : getNotEncodedUrl('', 'module', 'admin', 'act', 'dispCommentAdminList', 'search_keyword', $search_keyword, 'search_target', $search_target, 'page', $page);
|
||||
$this->setRedirectUrl($returnUrl);
|
||||
}
|
||||
|
||||
|
|
@ -248,16 +287,16 @@ class commentAdminController extends comment
|
|||
*/
|
||||
function _moveCommentToTrash($commentSrlList, &$oCommentController, &$oDB)
|
||||
{
|
||||
require_once(_XE_PATH_.'modules/trash/model/TrashVO.php');
|
||||
require_once(_XE_PATH_ . 'modules/trash/model/TrashVO.php');
|
||||
|
||||
if(is_array($commentSrlList))
|
||||
{
|
||||
$logged_info = Context::get('logged_info');
|
||||
$oCommentModel = &getModel('comment');
|
||||
$oCommentModel = getModel('comment');
|
||||
$commentItemList = $oCommentModel->getComments($commentSrlList);
|
||||
$oTrashAdminController = &getAdminController('trash');
|
||||
$oTrashAdminController = getAdminController('trash');
|
||||
|
||||
foreach($commentItemList AS $key=>$oComment)
|
||||
foreach($commentItemList AS $key => $oComment)
|
||||
{
|
||||
$oTrashVO = new TrashVO();
|
||||
$oTrashVO->setTrashSrl(getNextSequence());
|
||||
|
|
@ -285,9 +324,13 @@ class commentAdminController extends comment
|
|||
|
||||
if($comment_srl)
|
||||
{
|
||||
$args = new stdClass();
|
||||
$args->comment_srl = $comment_srl;
|
||||
$output = executeQuery('comment.deleteDeclaredComments', $args);
|
||||
if(!$output->toBool()) return $output;
|
||||
if(!$output->toBool())
|
||||
{
|
||||
return $output;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -297,9 +340,9 @@ class commentAdminController extends comment
|
|||
*/
|
||||
function procCommentAdminAddCart()
|
||||
{
|
||||
$comment_srl = (int)Context::get('comment_srl');
|
||||
$comment_srl = (int) Context::get('comment_srl');
|
||||
|
||||
$oCommentModel = &getModel('comment');
|
||||
$oCommentModel = getModel('comment');
|
||||
$columnList = array('comment_srl');
|
||||
$commentSrlList = array($comment_srl);
|
||||
|
||||
|
|
@ -307,10 +350,16 @@ class commentAdminController extends comment
|
|||
|
||||
if(is_array($output))
|
||||
{
|
||||
foreach($output AS $key=>$value)
|
||||
foreach($output AS $key => $value)
|
||||
{
|
||||
if($_SESSION['comment_management'][$key]) unset($_SESSION['comment_management'][$key]);
|
||||
else $_SESSION['comment_management'][$key] = true;
|
||||
if($_SESSION['comment_management'][$key])
|
||||
{
|
||||
unset($_SESSION['comment_management'][$key]);
|
||||
}
|
||||
else
|
||||
{
|
||||
$_SESSION['comment_management'][$key] = TRUE;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -324,12 +373,15 @@ class commentAdminController extends comment
|
|||
$args = new stdClass();
|
||||
$args->module_srl = $module_srl;
|
||||
$output = executeQuery('comment.deleteModuleComments', $args);
|
||||
if(!$output->toBool()) return $output;
|
||||
if(!$output->toBool())
|
||||
{
|
||||
return $output;
|
||||
}
|
||||
|
||||
$output = executeQuery('comment.deleteModuleCommentsList', $args);
|
||||
|
||||
//remove from cache
|
||||
$oCacheHandler = &CacheHandler::getInstance('object');
|
||||
$oCacheHandler = CacheHandler::getInstance('object');
|
||||
if($oCacheHandler->isSupport())
|
||||
{
|
||||
// Invalidate newest comments. Per document cache is invalidated inside document admin controller.
|
||||
|
|
@ -345,7 +397,10 @@ class commentAdminController extends comment
|
|||
*/
|
||||
function restoreTrash($originObject)
|
||||
{
|
||||
if(is_array($originObject)) $originObject = (object)$originObject;
|
||||
if(is_array($originObject))
|
||||
{
|
||||
$originObject = (object) $originObject;
|
||||
}
|
||||
|
||||
$obj = new stdClass();
|
||||
$obj->document_srl = $originObject->document_srl;
|
||||
|
|
@ -361,7 +416,7 @@ class commentAdminController extends comment
|
|||
$obj->notify_message = $originObject->notify_message;
|
||||
$obj->module_srl = $originObject->module_srl;
|
||||
|
||||
$oCommentController = &getController('comment');
|
||||
$oCommentController = getController('comment');
|
||||
$output = $oCommentController->insertComment($obj);
|
||||
|
||||
return $output;
|
||||
|
|
@ -375,16 +430,20 @@ class commentAdminController extends comment
|
|||
function emptyTrash($originObject)
|
||||
{
|
||||
$originObject = unserialize($originObject);
|
||||
if(is_array($originObject)) $originObject = (object) $originObject;
|
||||
if(is_array($originObject))
|
||||
{
|
||||
$originObject = (object) $originObject;
|
||||
}
|
||||
|
||||
$oComment = new commentItem();
|
||||
$oComment->setAttribute($originObject);
|
||||
|
||||
//already comment deleted, therefore only comment log delete
|
||||
$oCommentController = &getController('comment');
|
||||
$oCommentController = getController('comment');
|
||||
$output = $oCommentController->deleteCommentLog($oComment->get('comment_srl'));
|
||||
return $output;
|
||||
}
|
||||
|
||||
}
|
||||
/* End of file comment.admin.controller.php */
|
||||
/* Location: ./modules/comment/comment.admin.controller.php */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue