久久久久av_欧美日韩一区二区在线_国产精品三区四区_日韩中字在线

Discuz! 官方交流社區

標題: 通過掌上論壇的回帖不觸發鉤子函數 [打印本頁]

作者: kidozh    時間: 2022-2-5 10:32
標題: 通過掌上論壇的回帖不觸發鉤子函數
我寫了一個很簡單的鉤子函數

  1. <?php

  2. if (!defined('IN_DISCUZ')) {

  3.     exit('Access Denied');
  4. }

  5. function sendPostRequest($url,$jsonData){

  6.     $curl = curl_init($url);
  7.     curl_setopt($curl, CURLOPT_HEADER, false);
  8.     curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
  9.     curl_setopt($curl, CURLOPT_HTTPHEADER, array("Content-type: application/json"));
  10.     curl_setopt($curl, CURLOPT_POST, true);
  11.     curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($jsonData));
  12.     // set a very low timeout to avoid blocking
  13.     curl_exec($curl);
  14.     curl_close($curl);
  15. }

  16. class plugin_dhpush {}




  17. class plugin_dhpush_forum extends plugin_dhpush
  18. {

  19.     function __construct()
  20.     { //全局函數定義
  21.         global $_G;
  22.         $config = $_G['cache']['plugin']['dhpush'];
  23.         $this->groupid = $_G['groupid'];
  24.         $this->allowPushGroupIds = unserialize($config["allowPushGroups"]);
  25.         $this->pushToken = $config["pushToken"];
  26.     }

  27.     function post_reply_output($params)
  28.     {
  29.         global $_G;
  30.         $DEBUG = true;
  31.         $SEND_URL_PREFIX = "https://dhpushservice.kidozh.com/";
  32.         $SEND_URL_PATH = "v1/push/reply/";
  33.         if ($DEBUG) {
  34.             $SEND_URL_PREFIX = "http://localhost:8888/";

  35.         }

  36.         $SEND_URL = $SEND_URL_PREFIX.$SEND_URL_PATH;

  37.         error_log(print_r($params, TRUE));
  38.         // check with post reply succeed
  39.         if ($params["message"] != "post_reply_succeed") {
  40.             return;
  41.         }
  42.         $fid = $params['values']['fid'];
  43.         $tid = $params['values']['tid'];
  44.         $pid = $params['values']['pid'];


  45.         $mForumPost = C::t("forum_post");
  46.         $post = $mForumPost->fetch($tid, $pid);
  47.         $senderUid = $post["authorid"];
  48.         $senderName = $post["author"];
  49.         $replyMessage = $post["message"];

  50.         $mForumThread = C::t('forum_thread');

  51.         $thread = $mForumThread->fetch($tid);
  52.         //主題作者ID
  53.         $authorId = $thread['authorid'];
  54.         $userResult = DB::fetch_first("SELECT groupid FROM " . DB::table("common_member") . " WHERE uid=" . $authorId);
  55.         $receiverGroupId = $userResult["groupid"];
  56.         //判斷作者是否開啟回貼通知
  57.         //$mForumPostNotice = C::t('#post_notice#forum_post_notice');
  58.         //$isNotice = $mForumPostNotice->getNoticeState($authorId);
  59.         // allow notify
  60.         if (true) {
  61.             $mCommonMember = C::t('common_member');
  62.             $author = $mCommonMember->fetch($authorId);
  63. //            $email = $author['email'];
  64.             $title = $senderName . '回復了帖子' . $thread["subject"];
  65.             $siteURL = $_G["siteurl"];
  66.             // check whether group id is not null and in the allowed group
  67.             if ($receiverGroupId && in_array($receiverGroupId, $this->allowPushGroupIds)) {
  68.                 // look in the table whether the user in the push database
  69.                 $pushInfo = DB::fetch_first("SELECT uid, token, allowPush FROM " . DB::table("dhpush_token") . " WHERE uid=" . $authorId);
  70.                 // start to push the information to device via firebase
  71.                 $token = $pushInfo["token"];
  72.                 $deviceToken = $token;
  73.                 $data = [
  74.                     // belong to a reply
  75.                     "site_url" => $siteURL,
  76.                     "type" => "thread_reply",
  77.                     "sender_name" => $senderName,
  78.                     "sender_id" => $senderUid,
  79.                     "message" => $replyMessage,
  80.                     "title" => $title,
  81.                     "tid" => $tid,
  82.                     "pid" => $pid,
  83.                     "fid" => $fid,
  84.                     "tokenList"=> $deviceToken

  85.                 ];

  86.                 $SEND_URL_WITH_PARAMTER = $SEND_URL."?token=".$this->pushToken;

  87.                 sendPostRequest($SEND_URL_WITH_PARAMTER,$data);
  88.                 error_log(print_r($data, TRUE));
  89.                 error_log(print_r($SEND_URL, TRUE));

  90.             } else {
  91.                 // the user are not able to get a push
  92.             }
  93.         } else {
  94.             // not to send a information

  95.         }
  96.     }
  97. }

  98. //    function post_message($params)
  99. //    {
  100. //        return;
  101. //        //file_put_contents('php://stderr', print_r($params, TRUE));
  102. //        error_log(print_r($params, TRUE));
  103. //        global $_G;
  104. //        $fid = $params['param'][2]['fid'];
  105. //        $tid = $params['param'][2]['tid'];
  106. //        $pid = $params['param'][2]['pid'];
  107. //
  108. //        $action=$params['param'][0];
  109. //        if($action=='post_newthread_succeed'){//newthread
  110. //            //TODO For newthread
  111. //        }
  112. //        elseif($action=='post_reply_succeed'){//new reply
  113. //            return;
  114. //            $senderName = $_G["username"];
  115. //            $senderUid = $_G["uid"];
  116. //
  117. //            $mForumThread = C::t('forum_thread');
  118. //            //$tid = $params['values']['tid'];
  119. //            $thread = $mForumThread->fetch($tid);
  120. //            //主題作者ID
  121. //            $authorId = $thread['authorid'];
  122. //            $userResult = DB::fetch_first("SELECT groupid FROM " . DB::table("common_member") . " WHERE uid=" . $authorId);
  123. //            $receiverGroupId = $userResult["groupid"];
  124. //            //判斷作者是否開啟回貼通知
  125. //            //$mForumPostNotice = C::t('#post_notice#forum_post_notice');
  126. //            //$isNotice = $mForumPostNotice->getNoticeState($authorId);
  127. //            // allow notify
  128. //            if (true) {
  129. //                $mCommonMember = C::t('common_member');
  130. //                $author = $mCommonMember->fetch($authorId);
  131. //                $email = $author['email'];
  132. //                $subject = '您的貼子有回復了!';
  133. //                $body = $author['username'] . "\n";
  134. //                $body .= "您的主題:" . $thread['subject'] . "有回復了!\n";
  135. //                $body .= "復制鏈接查看:" . $_G['siteurl'] . "forum.php?mod=viewthread&tid=" . $tid . "\n";
  136. //
  137. //                $replyMessage = $body;
  138. //                // check whether group id is not null and in the allowed group
  139. //                if ($receiverGroupId && in_array($receiverGroupId, $this->allowPushGroupIds)) {
  140. //                    // look in the table whether the user in the push database
  141. //                    $pushInfo = DB::fetch_first("SELECT uid, token, allowPush FROM ".DB::table("dhpush_token")." WHERE uid=" . $authorId);
  142. //                    // start to push the information to device via firebase
  143. //                    $token = $pushInfo["token"];
  144. //                    $deviceToken = $token;
  145. //                    $data = [
  146. //                        // belong to a reply
  147. //                        "type" => "thread_reply",
  148. //                        "sender_name" => $author['username'],
  149. //                        "sender_id" => $senderUid,
  150. //                        "message" => $replyMessage,
  151. //
  152. //                    ];
  153. //                    sendPostRequest($SEND_URL,$data);
  154. //                    error_log(print_r($data, TRUE));
  155. //
  156. //                } else {
  157. //                    // the user are not able to get a push
  158. //                }
  159. //            }
  160. //
  161. //        }
  162. //
  163. //        if ($params['message'] != 'post_reply_succeed') {
  164. //        }
  165. //
  166. //    }

復制代碼
這個可以在每次回帖的時候正常的回調,但是我通過掌上論壇API調用的時候卻并不觸發這個鉤子函數,我想問問是什么原因,需要做哪些事情才能讓通過掌上論壇API發帖的時間被正確的通過鉤子函數回調?

作者: 老周部落    時間: 2022-2-5 11:39
試試改成 post_message 嵌入點呢?這個嵌入點應該是不依賴前端的,不過 $params["message"] != "post_reply_succeed" 估計得改。
作者: kidozh    時間: 2022-2-5 22:59
老周部落 發表于 2022-2-5 11:39
試試改成 post_message 嵌入點呢?這個嵌入點應該是不依賴前端的,不過 $params["message"] != "post_reply ...

似乎這個也觸發不了。。。剛剛試了一下。。。
作者: 老周部落    時間: 2022-2-8 15:37
kidozh 發表于 2022-2-5 22:59
似乎這個也觸發不了。。。剛剛試了一下。。。

$params["message"] != "post_reply_succeed" 去掉也不行么?

作者: kidozh    時間: 2022-2-10 04:06
老周部落 發表于 2022-2-8 15:37
$params["message"] != "post_reply_succeed" 去掉也不行么?

我試了 沒有辦法通過掌上論壇API觸發,網頁端都是可以的
作者: kidozh    時間: 2022-2-11 23:55
老周部落 發表于 2022-2-8 15:37
$params["message"] != "post_reply_succeed" 去掉也不行么?

我回復被吞了,我試了一下 是不行的 我嵌入了移動端也不行。。。




歡迎光臨 Discuz! 官方交流社區 (http://www.9999xn.com/) Powered by Discuz! X5.0
久久久久av_欧美日韩一区二区在线_国产精品三区四区_日韩中字在线
欧美日韩综合精品| 亚洲国产综合人成综合网站| 亚洲最大成人综合| 好看不卡的中文字幕| 久久久国产一区二区三区四区小说| 岛国一区二区三区| 欧美精品一区二区精品网| 国产91精品露脸国语对白| 日韩午夜电影av| 成人精品电影在线观看| 精品国产乱码久久久久久图片| 国产在线精品免费av| 911精品产国品一二三产区| 国产呦萝稀缺另类资源| 欧美精品第1页| 国产精品一区二区91| 欧美mv日韩mv亚洲| 91小视频在线| 亚洲欧洲性图库| 99日韩精品| 午夜精品久久一牛影视| 在线观看网站黄不卡| 国内精品不卡在线| 精品国产乱码久久| 欧美特黄a级高清免费大片a级| 国产精品视频免费看| 亚洲青色在线| 亚洲五码中文字幕| 久久不射网站| 麻豆国产精品一区二区三区| 制服丝袜av成人在线看| 成人动漫一区二区| 中文字幕乱码久久午夜不卡 | 在线日韩av| 亚洲国产成人tv| 欧美日韩精品久久久| 不卡的av中国片| 国产欧美精品一区二区色综合| 亚洲精品影院| 日本亚洲视频在线| 日韩午夜av一区| 欧美午夜视频| 日产精品久久久久久久性色| 欧美一区午夜视频在线观看| 欧美激情一区| 爽好多水快深点欧美视频| 欧美日韩国产一区| 午夜精品一区二区三区四区| 亚洲h动漫在线| 日韩一级片在线观看| 欧美色图首页| 免费人成精品欧美精品| 欧美精品一区二区不卡| 国产精品亚洲产品| 国产成人午夜视频| 中文字幕日本乱码精品影院| 在线亚洲高清视频| 女主播福利一区| 日韩国产精品久久久| 久久这里都是精品| 一区二区三区成人精品| 国产一区二区三区在线看麻豆| 国产丝袜在线精品| 老司机精品导航| 99久久免费视频.com| 亚洲一区二区三区精品在线| 日韩一二在线观看| 一区二区三区三区在线| 精品一区二区三区在线视频| 国产日韩欧美电影| 久久婷婷久久| 色综合天天视频在线观看 | 亚洲成av人片在www色猫咪| 91精品婷婷国产综合久久性色| 欧美午夜不卡| 日韩成人免费电影| 国产女人aaa级久久久级 | 亚洲精品四区| 国产成人亚洲综合色影视| 自拍偷拍欧美激情| 欧美一区二区三区爱爱| 亚洲国产一区二区三区在线播| 国产一区二区三区四区五区美女| 中文字幕第一区二区| 欧美综合在线视频| 激情久久综合| 国产精品18久久久久久久久| 亚洲激情在线播放| 精品久久久久久久一区二区蜜臀| 免费在线播放第一区高清av| 国产**成人网毛片九色| 亚洲国产美国国产综合一区二区| 精品国产一区a| 另类国产ts人妖高潮视频| 成人免费av在线| 日本不卡的三区四区五区| 欧美经典一区二区| 欧美视频你懂的| 亚洲国产第一| 成人午夜视频在线| 日韩av不卡在线观看| 亚洲视频一区在线| 2022国产精品视频| 欧美日韩国产欧美日美国产精品| 国产精品久久久久久模特| 久久99精品久久只有精品| 亚洲第一主播视频| 亚洲桃色在线一区| 久久一夜天堂av一区二区三区| 欧美网站一区二区| 销魂美女一区二区三区视频在线| 午夜久久影院| 豆国产96在线|亚洲| 裸体歌舞表演一区二区| 亚洲一二三四区| 国产精品久久久久精k8| 26uuu色噜噜精品一区二区| 欧美日本不卡视频| 欧美综合77777色婷婷| 亚洲二区在线| 欧美一区二区三区免费看| 国产久卡久卡久卡久卡视频精品| 天堂av在线一区| 亚洲午夜久久久| 亚洲精品五月天| 国产精品麻豆网站| 久久久一区二区三区| 日韩三级在线免费观看| 欧美日韩亚洲丝袜制服| 91福利精品视频| 久久久久久久久一区二区| 国产精品久久波多野结衣| 亚洲高清视频一区二区| 国产精品99一区二区| 91玉足脚交白嫩脚丫在线播放| 国产成人日日夜夜| 国产露脸91国语对白| 狠狠色狠狠色综合| 美国十次了思思久久精品导航| 日韩黄色片在线观看| 亚洲国产精品久久艾草纯爱| 亚洲精品视频一区| 亚洲男人的天堂一区二区| 亚洲品质自拍视频| 亚洲欧美日韩中文播放 | 一区二区三区在线观看国产| 国产精品久久久久精k8| 国产精品色眯眯| 欧美国产精品久久| 国产欧美日产一区| 亚洲国产成人在线| 国产日本欧洲亚洲| 久久精品视频在线看| 日本一区二区三区在线观看| 国产日韩欧美精品电影三级在线| 国产欧美日韩不卡免费| 国产精品女主播在线观看| 国产精品天天摸av网| 欧美一区二区精品久久911| 6080午夜不卡| 日韩视频国产视频| 精品动漫一区二区三区在线观看| 精品久久久久久综合日本欧美| 久久夜色精品国产噜噜av| 久久精品这里都是精品| 久久久高清一区二区三区| 国产日韩影视精品| 亚洲欧洲国产专区| 亚洲一区二区中文在线| 爽好久久久欧美精品| 久久国内精品自在自线400部| 九九视频精品免费| 国产成人综合精品三级| 91在线观看美女| 国产一区再线| 国产日韩一区二区| 久久久www免费人成黑人精品| 久久永久免费| 欧美日韩国产在线观看| 日韩精品一区二区三区中文不卡 | 欧美日韩1080p| 99riav国产精品| 可以看av的网站久久看| 欧美日韩精品一区二区三区蜜桃 | 五月天一区二区| 伦理电影国产精品| 成人美女视频在线看| 欧美日韩另类丝袜其他| 9色精品在线| 91激情五月电影| 日韩一区二区视频| 国产亚洲欧美日韩日本| 亚洲视频在线一区观看| 日韩电影一区二区三区| 国产精品白丝jk白祙喷水网站 | 经典三级在线一区| youjizz久久| 在线成人h网| 快she精品国产999| 日韩欧美一级在线播放|