묻고답하기
php로 쪽지를 보내면 알림센터가 쪽지 감지를 못합니다!!
2015.11.09 20:28
function message($sender_srl, $receiver_srl, $title, $content){
/* 시간 */
$regdate = date("YmdHis");
// DB 연결
db_connect();
// xe_member_message 테이블 락
$query = "lock tables xe_sequence write, lock tables xe_member_message write";
db_query($query);
// 증가값 추가
$query = "INSERT INTO xe_sequence (seq) VALUES (NULL),(NULL);";
db_query($query);
// 마지막 추가한 증가값 3개 가져옴
$query = "SELECT * FROM xe_sequence ORDER BY seq DESC LIMIT 0 , 2";
$result = db_query($query);
$i = 1;
// 증가값 대입
while ($row = mysqli_fetch_array($result)) {
$seq[$i] = $row["seq"];
$i--;
}
$seq[2] = $seq[0] * -1; // $seq[0] 동일
$seq[3] = $seq[1] * -1; // $seq[2] 동일
//메세지삽입
$query = "INSERT INTO xe_member_message VALUES ($seq[1], 0, '$sender_srl', '$receiver_srl', 'R', '$title', '$content', 'N', $seq[3], '$regdate', NULL);";
db_query($query);
$query = "INSERT INTO xe_member_message VALUES ($seq[0], $seq[1], '$sender_srl', '$receiver_srl', 'S', '$title', '$content', 'N', $seq[2], '$regdate', NULL);";
db_query($query);
// xe_member_message 테이블 락 해제
$query = "UNLOCK TABLES";
db_query($query);
// DB연결 해제
db_close();
}
위의 함수로 쪽지를 보내는데요 알림센터에서 감지를 못하는 현상이 있네요..
xe 실력이 부족해서.. php로 직접 쪽지를 넣는것이다보니... 알림센터가 감지를 못하는 것 같은데요..
mysql에서 보니 xe_ncenterlite_notify 에 직접 추가를 해서라도 알림이 보이게끔 하고싶은데
notify 컬럼을 보니 md5 암호화된 것 같은데 어떤식으로 암호화가 된지를 모르겠어요..
알림센터 컨트롤러php에서 960줄 정도에
function _getNotifyId($args)
{
return md5(uniqid('') . $args->member_srl . $args->srl . $args->target_srl . $args->type . $args->target_type);
}
이부분 인 것 같은데요
이걸 직접 추가할 때 저걸 그대로 사용해도 문제가 없을까요?..
그리고 이 방법이 xe를 사용하면서 맞는 방법인가요?
혹시 php로 쪽지 보내는게 아니고 xe를 이용해서 쪽지 보내는 기능이 있다면 알림센터가 자동으로 감지할까요?...
자체 해결했습니다....
결국 알림센터까지 직접 쿼리 날려서 해결했네요 ㅜ