묻고답하기
XE알림센터 LITE의 @닉네임 호출기능 질문입니다..
2014.11.10 00:13
@닉네임으로 상대방을 호출하는기능을 영구히 제거하고싶은데
어떻게해야하나요?
댓글 10
-
키스투엑스이
2014.11.10 07:54
알람센토를 삭제하세요. -
KrteamENT
2014.11.10 08:14
해당 컨트롤러에서 삭제하고, 모델에서도 삭제하시면 됩니다. -
라디오스테이션
2014.11.17 00:14
오랜만이네요.
정확히 알림센터를 지워버리고싶은게 아니고
해당기능만을 제거하고싶은데 어떻게 해야하나요?
-
KrteamENT
2014.11.17 08:01
아래에 답변이 있네용 ㅜㅜ
제가 말한게 저거라(??) -
BJ람보
2014.11.17 01:34
최신버전 기준으로
xe/modules/ncenterlite/ncenterlite.controller.php 파일에서 재일 아래
function _getMentionTarget($content)
이 함수에 포함되는 모든 내용을 삭제 하세요.
-
라디오스테이션
2014.11.18 00:31
감사합니다 :D
-
라디오스테이션
2014.11.18 00:41
흠.. 제가 제대로 이해를 못한것같네요.. 조금 깁니다
답변주신 부분을 찾긴했는데 어떤식으로 건드려줘야하는지 잘모르겠습니다 ㅠ
function _getMentionTarget($content)
{
$oNcenterliteModel = &getModel('ncenterlite');
$config = $oNcenterliteModel->getConfig();
$logged_info = Context::get('logged_info');
$list = array();
$content = strip_tags($content);
$content = str_replace(' ', ' ', $content);
// 정규표현식 정리
$split = array();
if(in_array('comma', $config->mention_format)) $split[] = ',';
$regx = join('', array('/(^|\s)@([^@\s', join('', $split), ']+)/i'));
preg_match_all($regx, $content, $matches);
// '님'문자 이후 제거
if(in_array('respect', $config->mention_format))
{
foreach($matches[2] as $idx => $item)
{
$pos = strpos($item, '님');
if($pos !== false && $pos > 0)
{
$matches[2][$idx] = trim(substr($item, 0, $pos));
if($logged_info && $logged_info->nick_name == $matches[2][$idx]) unset($matches[2][$idx]);
}
}
}
$nicks = array_unique($matches[2]);
$oMemberModel = getModel('member');
$member_config = $oMemberModel->getMemberConfig();
if($config->mention_names == 'id' && $member_config->identifier != 'email_address')
{
foreach($nicks as $user_id)
{
$vars = null;
$vars->user_id = $user_id;
$output = executeQuery('ncenterlite.getMemberSrlById', $vars);
if($output->data && $output->data->member_srl) $list[] = $output->data->member_srl;
}
}
else
{
foreach($nicks as $nick_name)
{
$vars = null;
$vars->nick_name = $nick_name;
$output = executeQuery('ncenterlite.getMemberSrlByNickName', $vars);
if($output->data && $output->data->member_srl) $list[] = $output->data->member_srl;
}
}
return $list;
}
}
-
BJ람보
2014.11.18 00:57
다지워요
-
라디오스테이션
2014.11.18 22:26
옹.. 해보겠습니다.
function _getMentionTarget($content) 부터 지우나요?
function _getMentionTarget($content) 바로 아래 { <부터 지우나요?
어제 지웠더니 유저호출말고 평범한 새글알림으로 이동할수가 없길래
백업한걸 다시 불러와서요
-
BJ람보
2014.11.18 23:13
function _getMentionTarget($content) 포함해서 지우시면 됩니다.