Merge branch 'offical/develop' into pr/document-trash

This commit is contained in:
BJRambo 2016-05-15 15:31:33 +09:00
commit c8da469758
37 changed files with 329 additions and 487 deletions

View file

@ -6,10 +6,10 @@ $lang->ncenterlite_document = 'document';
$lang->ncenterlite_comment = 'comment';
$lang->ncenterlite_type_message = 'message';
$lang->ncenterlite_sender = 'Sender';
$lang->ncenterlite_addressee = 'Addressee';
$lang->ncenterlite_addressee = 'Recipient';
$lang->ncenterlite_noti_contents = 'Contents';
$lang->ncenterlite_read = 'Have read';
$lang->ncenterlite_read_y = 'Have read';
$lang->ncenterlite_read_y = 'Read';
$lang->ncenterlite_read_n = 'Not read';
$lang->ncenterlite_no_target = 'no target';
$lang->ncenterlite_my_list = 'My notification list';
@ -26,26 +26,27 @@ $lang->ncenterlite_message_noti_about = 'Get notice of a message after someone s
$lang->ncenterlite_activate = 'Activate';
$lang->ncenterlite_inactivate = 'Inactivate';
$lang->ncenterlite_userconfig_about_warning = 'Watch out! You are controlling other user\'s settings via this page.';
$lang->ncenterlite_article = '<strong>%1$s</strong> wrote an article as "%2$s".';
$lang->ncenterlite_board = '<strong>%1$s</strong> wrote "%3$s" on %2$s.';
$lang->ncenterlite_commented = '<strong>%1$s</strong> commented as "%3$s" on your %2$s.';
$lang->ncenterlite_commented_board = '<strong>%1$s</strong> commented as "%3$s" on the board %2$s.';
$lang->ncenterlite_mentioned = '<strong>%s</strong> mentioned you on <strong>"%s"board</strong> to <strong>"%s"</strong> .';
$lang->ncenterlite_message_string = 'You have <strong>%d</strong> new <strong>message(s)</strong>.';
$lang->ncenterlite_message_mention = '<strong>%1$s</strong> sent a message as <strong>"%2$s"</strong>.';
$lang->ncenterlite_test_noti = '<strong>%s</strong>! Skin test notification has been done.';
$lang->ncenterlite_vote = '<strong>%1$s</strong> marked the article "%2$s" with a recommendation.';
$lang->ncenterlite_admin_content_message = '<strong>%1$s</strong> wrote "%3$s" on %2$s.';
$lang->ncenterlite_article = '<strong>%1$s</strong> wrote "%2$s".';
$lang->ncenterlite_board = '<strong>%1$s</strong> wrote "%3$s" on <strong>%2$s</strong>.';
$lang->ncenterlite_commented = '<strong>%1$s</strong> commented "%3$s" on your %2$s.';
$lang->ncenterlite_commented_board = '<strong>%1$s</strong> commented "%3$s" on <strong>%2$s</strong>.';
$lang->ncenterlite_mentioned = '<strong>%1$s</strong> mentioned you in a %4$s, "%3$s", on <strong>"%2$s"</strong>.';
$lang->ncenterlite_message_string = 'You have <strong>%d</strong> unread message.';
$lang->ncenterlite_message_string_plural = 'You have <strong>%d</strong> unread messages.';
$lang->ncenterlite_message_mention = '<strong>%1$s</strong> sent you a message, "%2$s".';
$lang->ncenterlite_test_noti = 'Hello, <strong>%s</strong>! This is a test notification.';
$lang->ncenterlite_vote = '<strong>%1$s</strong> upvoted your %3$s, "%2$s".';
$lang->ncenterlite_admin_content_message = '<strong>%1$s</strong> wrote "%3$s" on <strong>%2$s</strong>.';
$lang->ncenterlite_ago = 'ago';
$lang->ncenterlite_date['0'] = 'Year';
$lang->ncenterlite_date['1'] = 'Month';
$lang->ncenterlite_date['2'] = 'Day';
$lang->ncenterlite_date['3'] = 'Hour';
$lang->ncenterlite_date['4'] = 'Minute';
$lang->ncenterlite_date['5'] = 'Second';
$lang->ncenterlite_date['0'] = 'year';
$lang->ncenterlite_date['1'] = 'month';
$lang->ncenterlite_date['2'] = 'day';
$lang->ncenterlite_date['3'] = 'hour';
$lang->ncenterlite_date['4'] = 'minute';
$lang->ncenterlite_date['5'] = 'second';
$lang->ncenterlite_sir = ' ';
$lang->ncenterlite_message = 'You have <strong class="num">%s</strong> notification.';
$lang->ncenterlite_messages = 'you have <strong class="num">%s</strong> notifications.';
$lang->ncenterlite_message = 'You have <strong class="num">%s</strong> new notification.';
$lang->ncenterlite_messages = 'You have <strong class="num">%s</strong> new notifications.';
$lang->ncenterlite_thisistest = '[*] This is a test notice.';
$lang->ncenterlite_delete_all = 'delete all';
$lang->ncenterlite_more = 'More';
@ -89,3 +90,6 @@ $lang->ncenterlite_commnet_event_noti_all = 'Notice every comments to the author
$lang->ncenterlite_commnet_event_noti_some = 'Notice only direct replies to the author';
$lang->ncenterlite_message_event = 'Notify message';
$lang->ncenterlite_message_event_about = 'Do not notify message (Use XE Core message notification system).';
$lang->ncenterlite_all_delete = 'Delete all';
$lang->ncenterlite_month_before_delete = 'Delete older than 1 month';
$lang->dont_check_notify_delete = 'Unread notifications will be deleted, too.';

View file

@ -1,13 +1,14 @@
<?php
$lang->ncenterlite = '알림센터 Lite';
$lang->ncenterlite_install_version = '설치된 버전';
$lang->ncenterlite_advenced_config = '고급설정';
$lang->ncenterlite_advenced_config = '고급 설정';
$lang->ncenterlite_document = '글';
$lang->ncenterlite_comment = '댓글';
$lang->ncenterlite_mention = '멘션';
$lang->ncenterlite_cmd_vote = '추천';
$lang->ncenterlite_comment_comment = '대댓글';
$lang->ncenterlite_type_message = '쪽지';
$lang->ncenterlite_type_test = '테스트';
$lang->ncenterlite_sender = '보낸 사람';
$lang->ncenterlite_addressee = '받는 사람';
$lang->ncenterlite_noti_contents = '내용';
@ -36,15 +37,16 @@ $lang->ncenterlite_activate = '사용';
$lang->ncenterlite_inactivate = '사용 안함';
$lang->ncenterlite_userconfig_about_warning = '주의! 당신은 관리자 권한으로 다른 사용자의 설정창에 접속하였습니다.';
$lang->ncenterlite_article = '<strong>%1$s</strong>님이 <strong>"%2$s"</strong>라고 글을 남겼습니다.';
$lang->ncenterlite_board = '<strong>%1$s</strong>님이 게시판 <strong>"%2$s"</strong>에 <strong>"%3$s"</strong>라고 글을 남겼습니다.';
$lang->ncenterlite_board = '<strong>%1$s</strong>님이 <strong>"%2$s"</strong> 게시판에 <strong>"%3$s"</strong>라고 글을 남겼습니다.';
$lang->ncenterlite_commented = '<strong>%1$s</strong>님이 회원님의 %2$s에 <strong>"%3$s"</strong>라고 댓글을 남겼습니다.';
$lang->ncenterlite_commented_board = '<strong>%1$s</strong>님이 <strong>"%2$s"</strong>게시판에 <strong>"%3$s"</strong>라고 댓글을 남겼습니다.';
$lang->ncenterlite_mentioned = '<strong>%s</strong>님이 <strong>"%s"</strong>게시판에서 <strong>"%s" </strong>게시글을 작성하며 회원님을 언급하였습니다.';
$lang->ncenterlite_mentioned = '<strong>%s</strong>님이 <strong>"%s"</strong> 게시판의 <strong>"%s"</strong> %s에서 회원님을 언급하였습니다.';
$lang->ncenterlite_message_string = '<strong>%d</strong>개의 읽지 않은 <strong>메시지</strong>가 있습니다.';
$lang->ncenterlite_message_mention = '<strong>%s</strong>님께서 <strong>"%s"</strong>라고 메시지를 보내셨습니다.';
$lang->ncenterlite_test_noti = '<strong>%s</strong>님! 스킨 테스트 알림을 완료했습니다.';
$lang->ncenterlite_vote = '<strong>%s</strong>님이 <strong>"%s"</strong> 글을 추천하였습니다.';
$lang->ncenterlite_admin_content_message = '<strong>%1$s</strong>님이 <strong>"%2$s"</strong>게시판에 <strong>"%3$s"</strong>라고 글을 남겼습니다.';
$lang->ncenterlite_message_string_plural = '<strong>%d</strong>개의 읽지 않은 <strong>메시지</strong>가 있습니다.';
$lang->ncenterlite_message_mention = '<strong>%s</strong>님이 <strong>"%s"</strong>라고 메시지를 보내셨습니다.';
$lang->ncenterlite_test_noti = '<strong>%s</strong>님! 테스트 알림입니다.';
$lang->ncenterlite_vote = '<strong>%s</strong>님이 회원님의 <strong>"%s"</strong> %s을 추천하였습니다.';
$lang->ncenterlite_admin_content_message = '<strong>%1$s</strong>님이 <strong>"%2$s"</strong> 게시판에 <strong>"%3$s"</strong>라고 글을 남겼습니다.';
$lang->ncenterlite_ago = '전';
$lang->ncenterlite_date['0'] = '년';
$lang->ncenterlite_date['1'] = '개월';
@ -107,12 +109,6 @@ $lang->ncenterlite_no_notify = '알림 내역이 없습니다.';
$lang->ncenterlite_all_delete = '전체 삭제';
$lang->ncenterlite_month_before_delete = '한 달 이전의 알림 삭제';
$lang->dont_check_notify_delete = '회원이 확인하지 않은 알림도 삭제됩니다.';
$lang->send_member = '보낸 사람';
$lang->resiver_member = '받는 사람';
$lang->notify_content = '알림 내용';
$lang->notify_read_check = '알림 읽음 여부';
$lang->notify_readed = '읽음';
$lang->notify_dont_readed = '읽지않음';
$lang->anonymous_nick_name_setting = '익명 닉네임 대체';
$lang->about_anonymous_nick_name = '익명 게시판에서 발생한 알림에 표시할 이름을 지정합니다.';
$lang->mention_suffixes = '멘션 접미사';
@ -121,4 +117,6 @@ $lang->mention_suffix_always_cut = '접미사가 포함된 이름 처리';
$lang->mention_suffix_always_cut_y = '접미사를 제외한 이름의 회원 우선';
$lang->mention_suffix_always_cut_n = '접미사를 포함한 이름의 회원 우선';
$lang->about_mention_suffix_always_cut = '\'알림센터님\'이라는 회원과 \'알림센터\'라는 회원이 모두 있을 경우 @알림센터님을 멘션하면 누구에게 알릴지 선택합니다.';
$lang->mention_limit = '멘션 갯수 제한';
$lang->about_mention_limit = '서버 과부하와 스팸을 방지하기 위해 한 글에서 지나치게 많은 회원들을 호출하지 못하도록 합니다.';
$lang->ncenterlite_msg_setting_error = '설정에 오류가 있습니다. 다시 설정해 주세요.';

View file

@ -14,6 +14,7 @@ class ncenterliteAdminController extends ncenterlite
'mention_names',
'mention_suffixes',
'mention_suffix_always_cut',
'mention_limit',
'hide_module_srls',
'admin_notify_module_srls',
'skin',

View file

@ -18,75 +18,7 @@ class ncenterliteAdminModel extends ncenterlite
foreach($list as $k => $v)
{
$target_member = $v->target_nick_name;
switch($v->type)
{
case 'D':
$type = $lang->ncenterlite_document; //$type = '글';
break;
case 'C':
$type = $lang->ncenterlite_comment; //$type = '댓글';
break;
// 메시지. 쪽지
case 'E':
$type = $lang->ncenterlite_type_message; //$type = '쪽지';
break;
}
switch($v->target_type)
{
case 'C':
$str = sprintf($lang->ncenterlite_commented, $target_member, $type, $v->target_summary);
//$str = sprintf('<strong>%s</strong>님이 회원님의 %s에 <strong>"%s" 댓글</strong>을 남겼습니다.', $target_member, $type, $v->target_summary);
break;
case 'A':
$str = sprintf($lang->ncenterlite_commented_board, $target_member, $v->target_browser, $v->target_summary);
//$str = sprintf('<strong>%1$s</strong>님이 게시판 <strong>"%2$s"</strong>에 <strong>"%3$s"</strong>라고 댓글을 남겼습니다.', $target_member, $type, $v->target_summary);
break;
case 'M':
$str = sprintf($lang->ncenterlite_mentioned, $target_member, $v->target_summary, $type);
//$str = sprintf('<strong>%s</strong>님이 <strong>"%s" %s</strong>에서 회원님을 언급하였습니다.', $target_member, $v->target_summary, $type);
break;
// 메시지. 쪽지
case 'E':
if(version_compare(__XE_VERSION__, '1.7.4', '>='))
{
$str = sprintf($lang->ncenterlite_message_mention, $target_member, $v->target_summary);
//<strong>%s</strong>님께서 <strong>"%s"</strong>라고 메세지를 보내셨습니다.
}
else
{
$str = sprintf($lang->ncenterlite_message_string, $v->target_summary);
}
break;
case 'T':
$str = sprintf($lang->ncenterlite_test_noti, $target_member);
break;
case 'P':
$str = sprintf($lang->ncenterlite_board, $target_member, $v->target_browser, $v->target_summary);
//<strong>%1$s</strong>님이 게시판 <strong>"%2$s"</strong>에 <strong>"%3$s"</strong>라고 글을 남겼습니다.
break;
case 'S':
if($v->target_browser)
{
$str = sprintf($lang->ncenterlite_board, $target_member, $v->target_browser, $v->target_summary);
}
else
{
$str = sprintf($lang->ncenterlite_article, $target_member, $v->target_summary);
}
break;
case 'V':
$str = sprintf($lang->ncenterlite_vote, $target_member, $v->target_summary);
break;
}
if($v->type=='U')
{
$str = $oNcenterliteModel->getNotifyTypeString($v->notify_type,unserialize($v->target_body));
}
$v->text = $str;
$v->text = $oNcenterliteModel->getNotificationText($v);
$v->ago = $oNcenterliteModel->getAgo($v->regdate);
$v->url = getUrl('','act','procNcenterliteRedirect', 'notify', $v->notify, 'url', $v->target_url);
if($v->target_member_srl)
@ -102,4 +34,4 @@ class ncenterliteAdminModel extends ncenterlite
return $output;
}
}
}

View file

@ -751,6 +751,7 @@ class ncenterliteController extends ncenterlite
Context::set('ncenterlite_list', $_output->data);
Context::set('ncenterlite_page_navigation', $_output->page_navigation);
Context::set('_ncenterlite_num', $_output->page_navigation->total_count);
if(Mobile::isFromMobilePhone())
{
@ -1096,6 +1097,16 @@ class ncenterliteController extends ncenterlite
// Find members.
foreach ($mentions as $mention)
{
if (isset($members[$mention]))
{
continue;
}
if (count($members) >= $config->mention_limit)
{
break;
}
if ($config->mention_suffix_always_cut != 'Y')
{
if ($config->mention_names === 'id')

View file

@ -28,6 +28,10 @@ class ncenterliteModel extends ncenterlite
$config->mention_suffixes = array('님', '様', 'さん', 'ちゃん');
}
unset($config->mention_format);
if(!isset($config->mention_limit))
{
$config->mention_limit = 20;
}
if(!$config->hide_module_srls) $config->hide_module_srls = array();
if(!is_array($config->hide_module_srls)) $config->hide_module_srls = explode('|@|', $config->hide_module_srls);
if(!$config->document_read) $config->document_read = 'Y';
@ -120,8 +124,6 @@ class ncenterliteModel extends ncenterlite
function getMyNotifyList($member_srl=null, $page=1, $readed='N')
{
global $lang;
$act = Context::get('act');
if($act=='dispNcenterliteNotifyList')
{
@ -137,71 +139,7 @@ class ncenterliteModel extends ncenterlite
foreach($list as $k => $v)
{
$target_member = $v->target_nick_name;
switch($v->type)
{
case 'D':
$type = $lang->ncenterlite_document; //$type = '글';
break;
case 'C':
$type = $lang->ncenterlite_comment; //$type = '댓글';
break;
// 메시지. 쪽지
case 'E':
$type = $lang->ncenterlite_type_message; //$type = '쪽지';
break;
}
switch($v->target_type)
{
case 'C':
$str = sprintf($lang->ncenterlite_commented, $target_member, $type, $v->target_summary);
//$str = sprintf('<strong>%s</strong>님이 회원님의 %s에 <strong>"%s" 댓글</strong>을 남겼습니다.', $target_member, $type, $v->target_summary);
break;
case 'A':
$str = sprintf($lang->ncenterlite_commented_board, $target_member, $v->target_browser, $v->target_summary);
//$str = sprintf('<strong>%1$s</strong>님이 게시판 <strong>"%2$s"</strong>에 <strong>"%3$s"</strong>라고 댓글을 남겼습니다.', $target_member, $type, $v->target_summary);
break;
case 'M':
$str = sprintf($lang->ncenterlite_mentioned, $target_member, $v->target_browser, $v->target_summary);
//$str = sprintf('<strong>%s</strong>님이 <strong>"%s" %s</strong>에서 회원님을 언급하였습니다.', $target_member, $v->target_summary, $type);
break;
// 메시지. 쪽지
case 'E':
$str = sprintf($lang->ncenterlite_message_mention,$target_member, $v->target_summary);
break;
case 'T':
$str = sprintf($lang->ncenterlite_test_noti, $target_member);
break;
case 'P':
$str = sprintf($lang->ncenterlite_board, $target_member, $v->target_browser, $v->target_summary);
break;
case 'S':
if($v->target_browser)
{
$str = sprintf($lang->ncenterlite_board, $target_member, $v->target_browser, $v->target_summary);
}
else
{
$str = sprintf($lang->ncenterlite_article, $target_member, $v->target_summary);
}
break;
case 'V':
$str = sprintf($lang->ncenterlite_vote, $target_member, $v->target_summary);
break;
case 'B':
$str = sprintf($lang->ncenterlite_admin_content_message, $target_member, $v->target_browser, $v->target_summary);
break;
}
if($v->type=='U')
{
$str = $this->getNotifyTypeString($v->notify_type,unserialize($v->target_body));
}
$v->text = $str;
$v->text = $this->getNotificationText($v);
$v->ago = $this->getAgo($v->regdate);
$v->url = getUrl('','act','procNcenterliteRedirect', 'notify', $v->notify, 'url', $v->target_url);
if($v->target_member_srl)
@ -356,7 +294,109 @@ class ncenterliteModel extends ncenterlite
if(count($colorset_list)) $colorsets = implode("\n", $colorset_list);
$this->add('colorset_list', $colorsets);
}
/**
* Return the notification text.
*
* @param object $notification
* @return string
*/
public function getNotificationText($notification)
{
global $lang;
// Get the type of notification.
switch ($notification->type)
{
// Document.
case 'D':
$type = $lang->ncenterlite_document;
break;
// Comment.
case 'C':
$type = $lang->ncenterlite_comment;
break;
// Message.
case 'E':
$type = $lang->ncenterlite_type_message;
break;
// Test.
case 'T':
$type = $lang->ncenterlite_type_test;
break;
// Other.
case 'U':
default:
return $this->getNotifyTypeString($notification->notify_type, unserialize($notification->target_body)) ?: $lang->ncenterlite;
}
// Get the notification text.
switch ($notification->target_type)
{
// Comment on your document.
case 'C':
$str = sprintf($lang->ncenterlite_commented, $notification->target_nick_name, $type, $notification->target_summary);
break;
// Comment on a board.
case 'A':
$str = sprintf($lang->ncenterlite_commented_board, $notification->target_nick_name, $notification->target_browser, $notification->target_summary);
break;
// Mentioned.
case 'M':
$str = sprintf($lang->ncenterlite_mentioned, $notification->target_nick_name, $notification->target_browser, $notification->target_summary, $type);
break;
// Message arrived.
case 'E':
$str = sprintf($lang->ncenterlite_message_mention, $notification->target_nick_name, $notification->target_summary);
break;
// Test notification.
case 'T':
$str = sprintf($lang->ncenterlite_test_noti, $notification->target_nick_name);
break;
// New document on a board.
case 'P':
$str = sprintf($lang->ncenterlite_board, $notification->target_nick_name, $notification->target_browser, $notification->target_summary);
break;
// New document.
case 'S':
if($notification->target_browser)
{
$str = sprintf($lang->ncenterlite_board, $notification->target_nick_name, $notification->target_browser, $notification->target_summary);
}
else
{
$str = sprintf($lang->ncenterlite_article, $notification->target_nick_name, $notification->target_summary);
}
break;
// Voted.
case 'V':
$str = sprintf($lang->ncenterlite_vote, $notification->target_nick_name, $notification->target_summary, $type);
break;
// Admin notification.
case 'B':
$str = sprintf($lang->ncenterlite_admin_content_message, $notification->target_nick_name, $notification->target_browser, $notification->target_summary);
break;
// Other.
default:
$str = $lang->ncenterlite;
}
return $str;
}
/**
* @brief 주어진 시간이 얼마 인지 반환
* @param string YmdHis
@ -367,9 +407,8 @@ class ncenterliteModel extends ncenterlite
global $lang;
$lang_type = Context::getLangType();
$display = $lang->ncenterlite_date; // array('Year', 'Month', 'Day', 'Hour', 'Minute', 'Second')
$ago = $lang->ncenterlite_ago; // 'Ago'
$display = $lang->ncenterlite_date;
$ago = $lang->ncenterlite_ago;
$date = getdate(strtotime(zdate($datetime, 'Y-m-d H:i:s')));

View file

@ -39,6 +39,15 @@
<p class="x_help-block">{$lang->about_mention_suffix_always_cut}</p>
</div>
</div>
<div class="x_control-group">
<label class="x_control-label">{$lang->mention_limit}</label>
<div class="x_controls">
<label class="x_inline">
<input type="number" name="mention_limit" value="{intval($config->mention_limit)}" />
</label>
<p class="x_help-block">{$lang->about_mention_limit}</p>
</div>
</div>
</section>
<div class="x_clearfix btnArea">
<div class="x_pull-right">

View file

@ -2,7 +2,7 @@
<include target="header.html" />
<section class="section">
<h1>알림 목록</h1>
<h1>{$lang->ncenterlite_notice_list}</h1>
<p class="x_well x_well-small" cond="!$ncenterlite_list">{$lang->ncenterlite_no_notify}</p>
@ -22,10 +22,10 @@
<table class="x_table x_table-striped x_table-hover" style="margin-top:20px;">
<thead>
<tr>
<th scope="col" class="nowr" style="width:100px;">{$lang->send_member}</th>
<th scope="col" style="width:100px;">{$lang->resiver_member}</th>
<th scope="col" style="width:500px;">{$lang->notify_content}</th>
<th scope="col" style="width:50px;">{$lang->notify_read_check}</th>
<th scope="col" class="nowr" style="width:100px;">{$lang->ncenterlite_sender}</th>
<th scope="col" style="width:100px;">{$lang->ncenterlite_addressee}</th>
<th scope="col" style="width:500px;">{$lang->ncenterlite_noti_contents}</th>
<th scope="col" style="width:50px;">{$lang->ncenterlite_read}</th>
<th scope="col" style="width:100px;">{$lang->date}</th>
</tr>
</thead>
@ -40,8 +40,8 @@
<td cond="$member_info->member_srl">{$member_info->nick_name}</td> <td cond="!$member_info->member_srl">타겟없음</td>
<td><a href="{$val->target_url}">{$val->text}</a></td>
<td>
<span cond="$val->readed == 'Y'" style="color:#8582E6">{$lang->notify_readed}</span>
<span cond="$val->readed != 'Y'" style="color:#FF2828">{$lang->notify_dont_readed}</span>
<span cond="$val->readed == 'Y'" style="color:#8582E6">{$lang->ncenterlite_read_y}</span>
<span cond="$val->readed != 'Y'" style="color:#FF2828">{$lang->ncenterlite_read_n}</span>
</td>
<td>
{zdate($val->regdate,"Y-m-d")}
@ -67,4 +67,4 @@
</ul>
</div>
</block>
</section>
</section>