Update activitypub.extend.php
This commit is contained in:
parent
90840a333f
commit
84f02933e5
|
@ -8,6 +8,7 @@ if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||||
// * https://www.w3.org/TR/activitypub/
|
// * https://www.w3.org/TR/activitypub/
|
||||||
// * https://github.com/w3c/activitypub/issues/194
|
// * https://github.com/w3c/activitypub/issues/194
|
||||||
// * https://docs.joinmastodon.org/spec/webfinger/
|
// * https://docs.joinmastodon.org/spec/webfinger/
|
||||||
|
// * https://organicdesign.nz/ActivityPub_Code
|
||||||
|
|
||||||
define("ACTIVITYPUB_INSTANCE_ID", md5_file(G5_DATA_PATH . "/dbconfig.php"));
|
define("ACTIVITYPUB_INSTANCE_ID", md5_file(G5_DATA_PATH . "/dbconfig.php"));
|
||||||
define("ACTIVITYPUB_HOST", (empty(G5_DOMAIN) ? $_SERVER['HTTP_HOST'] : G5_DOMAIN));
|
define("ACTIVITYPUB_HOST", (empty(G5_DOMAIN) ? $_SERVER['HTTP_HOST'] : G5_DOMAIN));
|
||||||
|
@ -377,7 +378,7 @@ class _GNUBOARD_ActivityPub {
|
||||||
);
|
);
|
||||||
|
|
||||||
if (empty($params['resource'])) {
|
if (empty($params['resource'])) {
|
||||||
return activitypub_json_encode(array("message" => "Resource could not empty"));
|
return activitypub_json_encode(array("message" => "Resource could not be empty"));
|
||||||
}
|
}
|
||||||
|
|
||||||
$resource = $params['resource'];
|
$resource = $params['resource'];
|
||||||
|
@ -504,7 +505,6 @@ class _GNUBOARD_ActivityPub {
|
||||||
|
|
||||||
// 개인에게 보낸 메시지는 쪽지에 저장
|
// 개인에게 보낸 메시지는 쪽지에 저장
|
||||||
// 공개(Public) 설정한 메시지는 ACTIVITYPUB_G5_TABLENAME에 저장
|
// 공개(Public) 설정한 메시지는 ACTIVITYPUB_G5_TABLENAME에 저장
|
||||||
// 게시물이 특정된 경우 댓글로 저장 (그누 전용)
|
|
||||||
|
|
||||||
$data = json_decode(file_get_contents("php://input"), true);
|
$data = json_decode(file_get_contents("php://input"), true);
|
||||||
|
|
||||||
|
@ -533,11 +533,13 @@ class _GNUBOARD_ActivityPub {
|
||||||
// 타입 별 해야될 일 지정
|
// 타입 별 해야될 일 지정
|
||||||
switch ($data['type']) {
|
switch ($data['type']) {
|
||||||
case "Create":
|
case "Create":
|
||||||
|
// 스트링 및 오브젝트 타입을 모두 호환하도록 설정
|
||||||
|
if (is_string($object))
|
||||||
|
$object = array("id" => $object);
|
||||||
|
|
||||||
// 컨텐츠가 비어있는 경우
|
// 컨텐츠가 비어있는 경우
|
||||||
if (empty($object['content'])) {
|
if (empty($object['content']))
|
||||||
$object['content'] = "[NO CONTENT]";
|
$object['content'] = "[NO CONTENT]";
|
||||||
$data['object'] = $object;
|
|
||||||
}
|
|
||||||
|
|
||||||
// 수신된 내용 등록
|
// 수신된 내용 등록
|
||||||
$activity_wr_id = activitypub_add_post($data);
|
$activity_wr_id = activitypub_add_post($data);
|
||||||
|
@ -552,15 +554,17 @@ class _GNUBOARD_ActivityPub {
|
||||||
$wr_id = $query['wr_id'];
|
$wr_id = $query['wr_id'];
|
||||||
$write_table = G5_TABLE_PREFIX . $query['bo_table'];
|
$write_table = G5_TABLE_PREFIX . $query['bo_table'];
|
||||||
$wr = get_write($write_table, $wr_id);
|
$wr = get_write($write_table, $wr_id);
|
||||||
|
$bo = get_board_db(ACTIVITYPUB_G5_BOARDNAME, true);
|
||||||
|
|
||||||
// 글이 존재하는 경우
|
// 글이 존재하는 경우
|
||||||
if (!empty($wr['wr_id'])) {
|
if (!empty($wr['wr_id'])) {
|
||||||
$mb = get_member(ACTIVITYPUB_G5_USERNAME);
|
$mb = get_member(ACTIVITYPUB_G5_USERNAME);
|
||||||
$wr_homepage = $data['actor'];
|
$wr_homepage = $data['actor'];
|
||||||
$wr_content = sprintf(
|
$wr_content = sprintf(
|
||||||
"%s<br><br>[외부에서 달린 댓글입니다. 답은 <a href=\"%s\">여기</a>에서 하실 수 있습니다.]",
|
"%s<br><br>[외부에서 달린 댓글입니다. 자세한 내용은 <a href=\"%s\">%s</a> 글을 확인하세요.]",
|
||||||
$content,
|
$content,
|
||||||
G5_BBS_URL . "/bbs/board.php?bo_table=" . ACTIVITYPUB_G5_BOARDNAME . "&wr_id=" . $activity_wr_id
|
G5_BBS_URL . "/bbs/board.php?bo_table=" . ACTIVITYPUB_G5_BOARDNAME . "&wr_id=" . $activity_wr_id,
|
||||||
|
$bo['bo_subject'] . " #" . $activity_wr_id
|
||||||
);
|
);
|
||||||
|
|
||||||
$sql = "
|
$sql = "
|
||||||
|
|
Loading…
Reference in New Issue
Block a user