public function addComment() { $config = get_addon_config('LocalComment'); $can_guest_comment = $config['can_guest_comment']; if (!$can_guest_comment) { //不允许游客评论 if (!is_login()) { $this->error('请登录后评论。'); } } //获取参数 $app = strval($_REQUEST['app']); $mod = strval($_REQUEST['mod']); $row_id = intval($_REQUEST['row_id']); $content = strval($_REQUEST['content']); $uid = intval($_REQUEST['uid']); //调用API接口,添加新评论 $data = array('app' => $app, 'mod' => $mod, 'row_id' => $row_id, 'content' => $content, 'uid' => is_login()); D($app . '/' . $mod)->where(array('id' => $row_id))->setInc('reply_count'); $commentModel = D('Addons://LocalComment/LocalComment'); $data = $commentModel->create($data); if (!$data) { $this->error('评论失败:' . $commentModel->getError()); } $commentModel->add($data); if (!is_login()) { if ($uid) { $title = '游客' . '评论了您'; $message = '评论内容:' . $content; $url = $_SERVER['HTTP_REFERER']; D('Common/Message')->sendMessage($uid, $message, $title, $url, 0, 0, $app); } //返回结果 $this->success('评论成功', 'refresh'); } else { //给评论对象发送消息 if ($uid) { $user = D('User/UcenterMember')->find(get_uid()); $title = $user['username'] . '评论了您'; $message = '评论内容:' . $content; $url = $_SERVER['HTTP_REFERER']; D('Common/Message')->sendMessage($uid, $message, $title, $url, get_uid(), 0, $app); } } //通知被@到的人 $uids = get_at_uids($content); $uids = array_unique($uids); $uids = array_subtract($uids, array($uid)); foreach ($uids as $uid) { $user = D('User/UcenterMember')->find($uid); $title = $user['username'] . '@了您'; $message = '评论内容:' . $content; $url = $_SERVER['HTTP_REFERER']; D('Common/Message')->sendMessage($uid, $message, $title, $url, get_uid(), 0, $app); } //返回结果 $this->success('评论成功', 'refresh'); }
public function handleAtWho($content, $url = '', $app_name = '') { $uids = get_at_uids($content); $uids = array_unique($uids); $sender = query_user(array('username')); foreach ($uids as $uid) { //$user = D('User/UcenterMember')->find($uid); $title = $sender['username'] . '@了您'; $message = '评论内容:' . mb_substr(op_t($content), 0, 50, 'utf-8'); if ($url == '') { //如果未设置来源的url,则自动跳转到来源页面 $url = $_SERVER['HTTP_REFERER']; } D('Common/Message')->sendMessage($uid, $message, $title, $url, get_uid(), 0, $app_name); } }
public function insert() { $data['sendtype'] = I('sendtype', 0); $data['at'] = I('at', ''); $data['title'] = I('title', ''); $data['content'] = I('content', ''); if ($data['content'] == '') { $this->mtReturn(300, '内容为空!'); } if ($data['sendtype'] == 0 && $data['at'] == '') { $this->mtReturn(300, '没有@任何人!'); } if ($data['sendtype'] == 0) { //通知被@到的人 $uids = get_at_uids($data['at']); $uids = array_unique($uids); $count = 0; foreach ($uids as $uid) { $title = $data['title']; $message = $data['content']; if ($uid > 0) { sendMessage($uid, 1, $title, $message, 0); $count = $count + 1; } // } if ($count == 0) { $this->mtReturn(300, '@的人不存在!'); } elseif ($count < count($uids)) { $this->mtReturn(200, '发送消息成功,但@的用户中有' . (count($uids) - $count) . '个不存在!'); } else { $this->mtReturn(200, '发送消息成功!'); } } else { $uids = D('member')->where(array('status' => 1))->getField('uid', true); $uids = array_subtract($uids, array(1)); foreach ($uids as $uid) { $title = $data['title']; $message = $data['content']; sendMessage($uid, 1, $title, $message, 0); } } $this->mtReturn(200, '发送消息成功!'); }
public function handleAtWho($content, $url = '', $app_name = '', $escap_first = false) { $uids = get_at_uids($content); $uids = array_unique($uids); $sender = query_user(array('nickname')); $first = true; foreach ($uids as $uid) { if ($escap_first && $first) { $first = false; continue; } //$user = UCenterMember()->find($uid); $title = $sender['nickname'] . '@了您'; $message = '评论内容:' . mb_substr(op_t($content), 0, 50, 'utf-8'); if ($url == '') { //如果未设置来源的url,则自动跳转到来源页面 $url = $_SERVER['HTTP_REFERER']; } D('Common/Message')->sendMessage($uid, $message, $title, $url, get_uid(), 0, $app_name); } }
/** * send_comment 发布评论 * @param $weibo_id * @param $content * @param int $comment_id * @return bool * @author:xjw129xjt(肖骏涛) xjt@ourstu.com */ function send_comment($weibo_id, $content, $comment_id = 0) { $uid = is_login(); $result = M('WeiboComment')->addComment($uid, $weibo_id, $content, $comment_id); //行为日志 action_log('add_weibo_comment', 'weibo_comment', $result, $uid); //通知轻博客作者 $weibo = M('Weibo')->getWeiboDetail($weibo_id); M('Common/Message')->sendMessage($weibo['uid'], '评论消息', "评论内容:{$content}", 'Weibo/Index/weiboDetail', array('id' => $weibo_id), is_login(), 1); //通知回复的人 if ($comment_id) { $comment = M('WeiboComment')->getComment($comment_id); if ($comment['uid'] != $weibo['uid']) { M('Common/Message')->sendMessage($weibo['uid'], '评论消息', "回复内容:{$content}", 'Weibo/Index/weiboDetail', array('id' => $weibo_id), is_login(), 1); } } $uids = get_at_uids($content); $uids = array_subtract($uids, array($weibo['uid'], $comment['uid'])); send_at_message($uids, $weibo_id, $content); return $result; }
/** * send_comment 发布评论 * @param $weibo_id * @param $content * @param int $comment_id * @return bool * @author:xjw129xjt(肖骏涛) xjt@ourstu.com */ function send_comment($weibo_id, $content, $comment_id = 0) { $uid = is_login(); $result = D('WeiboComment')->addComment($uid, $weibo_id, $content, $comment_id); //行为日志 action_log('add_weibo_comment', 'weibo_comment', $result, $uid); //通知微博作者 $weibo = D('Weibo')->getWeiboDetail($weibo_id); send_comment_message($weibo['uid'], $weibo_id, "评论内容:{$content}"); //通知回复的人 if ($comment_id) { $comment = D('WeiboComment')->getComment($comment_id); if ($comment['uid'] != $weibo['uid']) { send_comment_message($comment['uid'], $weibo_id, "回复内容:{$content}"); } } $uids = get_at_uids($content); $uids = array_subtract($uids, array($weibo['uid'], $comment['uid'])); send_at_message($uids, $weibo_id, $content); return $result; }
/** * send_comment 发布评论 * @param $weibo_id * @param $content * @param int $comment_id * @return bool * @author:xjw129xjt(肖骏涛) xjt@ourstu.com */ function send_comment($weibo_id, $content, $comment_id = 0) { $uid = is_login(); $result = D('WeiboComment')->addComment($uid, $weibo_id, $content, $comment_id); if (!$result) { return false; } //行为日志 action_log('add_weibo_comment', 'weibo_comment', $result, $uid); //通知微博作者 $weibo = D('Weibo')->getWeiboDetail($weibo_id); send_comment_message($weibo['uid'], $weibo_id, L('_COMMENT_CONTENT_') . L('_COLON_') . "{$content}"); //通知回复的人 if ($comment_id) { $comment = D('WeiboComment')->getComment($comment_id); if ($comment['uid'] != $weibo['uid']) { send_comment_message($comment['uid'], $weibo_id, L('_REPLY_CONTENT_') . L('_COLON_') . "{$content}"); } } $uids = get_at_uids($content); $uids = array_subtract($uids, array($weibo['uid'], $comment['uid'])); send_at_message($uids, $weibo_id, $content); return $result; }
public function sendRepostComment($weibo_id, $content) { $result = $this->commentModel->addComment(get_uid(), $weibo_id, $content, 0); if (!$result) { return $this->apiError('评论失败:' . $this->commentModel->getError()); } //写入数据库成功,记录动作,更新最后发送时间 $increase_score = action_log_and_get_score('add_weibo_comment', 'WeiboComment', $result, is_login()); $this->updateLastSendTime(); //通知微博作者 $weibo = $this->weiboModel->field('uid')->find($weibo_id); $this->sendCommentMessage($weibo['uid'], $weibo_id, "评论内容:{$content}"); //通知被AT的人,除去微博作者、被回复的人,避免通知出现两次。 $uids = get_at_uids($content); $uids = array_subtract($uids, array($weibo['uid'])); $this->sendAtMessage($uids, $weibo_id, $content); }
public function addComment() { $aPath = I('post.path', '', 'urldecode'); $aPath = explode('/', $aPath); $aApp = $aPath[0]; $aMod = $aPath[1]; $aRowId = $aPath[2]; $aUrl = I('post.this_url', '', 'text'); $aExtra = I('post.extra', '', 'text'); parse_str($aExtra); $field = empty($field) ? 'id' : $field; $can_guest = modC($aMod . '_LOCAL_COMMENT_CAN_GUEST', 1, $aApp); if (!$can_guest) { if (!is_login()) { $this->error('请登录后评论。'); } } $aCountModel = I('get.count_model', '', 'text'); $aCountField = I('get.count_field', '', 'text'); $aContent = I('content', '', 'text'); $aUid = I('get.uid', '', 'intval'); if (empty($aContent)) { $this->error('评论内容不能为空'); } $commentModel = $this->commentModel; $lookup = get_ip_lookup(); $data = array('app' => $aApp, 'mod' => $aMod, 'row_id' => $aRowId, 'content' => $aContent, 'uid' => is_login(), 'ip' => get_client_ip(1), 'area' => $lookup['province'] . $lookup['city']); $res = $commentModel->addComment($data); if ($res) { M($aCountModel)->where(array('id' => $aRowId))->setInc($aCountField); $class = get_addon_class('LocalComment'); $object = new $class(); $html = $object->getCommentHtml($res); if (!is_login()) { if ($aUid) { $title = '游客' . '评论了您'; $message = '评论内容:' . $aContent; M('Common/Message')->sendMessage($aUid, $title, $message, $aUrl, array($field => $aRowId), 0); } $result['status'] = 1; $result['data'] = $html; $result['info'] = '评论成功'; $this->ajaxReturn($result); } if ($aUid) { $user = query_user(array('nickname', 'uid'), is_login()); $title = $user['nickname'] . '评论了您'; $message = '评论内容:' . $aContent; M('Common/Message')->sendMessage($aUid, $title, $message, $aUrl, array($field => $aRowId)); } //通知被@到的人 $uids = get_at_uids($aContent); $uids = array_unique($uids); $uids = array_subtract($uids, array($aUid)); foreach ($uids as $uid) { $user = query_user(array('nickname', 'uid'), is_login()); $title = $user['nickname'] . '@了您'; $message = '评论内容:' . $aContent; M('Common/Message')->sendMessage($uid, $title, $message, $aUrl, array($field => $aRowId)); } $result['status'] = 1; $result['data'] = $html; $result['info'] = '评论成功'; $this->ajaxReturn($result); } else { $result['status'] = 0; $result['data'] = ''; $result['info'] = '评论失败'; $this->ajaxReturn($result); } }
public function addLocalComment() { $aPath = I('post.path', '', 'urldecode'); $aPath = explode('/', $aPath); $aApp = $aPath[0]; $aMod = $aPath[1]; $aRowId = $aPath[2]; $aUrl = I('post.this_url', '', 'text'); $aExtra = I('post.extra', '', 'text'); parse_str($aExtra); $field = empty($field) ? 'id' : $field; if (!is_login()) { $this->error('请登录后评论。'); } $aCountModel = I('get.count_model', '', 'text'); $aCountField = I('get.count_field', '', 'text'); $aContent = I('content', '', 'text'); $aUid = I('get.uid', '', 'intval'); if (empty($aContent)) { $this->error('评论内容不能为空'); } $commentModel = M('Addons://LocalComment/LocalComment'); $data = array('app' => $aApp, 'mod' => $aMod, 'row_id' => $aRowId, 'content' => $aContent, 'uid' => is_login(), 'ip' => get_client_ip(1)); $res = $commentModel->addComment($data); if ($res) { M($aCountModel)->where(array('id' => $aRowId))->setInc($aCountField); $comment = $commentModel->getComment($res); $this->assign('localcomment', $comment); $html = $this->fetch('localcomment'); if ($aUid) { $user = query_user(array('nickname', 'uid'), is_login()); $title = $user['nickname'] . '评论了您'; $message = '评论内容:' . $aContent; M('Common/Message')->sendMessage($aUid, $title, $message, $aUrl, array($field => $aRowId)); } //通知被@到的人 $uids = get_at_uids($aContent); $uids = array_unique($uids); $uids = array_subtract($uids, array($aUid)); foreach ($uids as $uid) { $user = query_user(array('nickname', 'uid'), is_login()); $title = $user['nickname'] . '@了您'; $message = '评论内容:' . $aContent; M('Common/Message')->sendMessage($uid, $title, $message, $aUrl, array($field => $aRowId)); } $result['status'] = 1; $result['data'] = $html; $result['info'] = '评论成功'; $this->ajaxReturn($result); } else { $result['status'] = 0; $result['data'] = ''; $result['info'] = '评论失败'; $this->ajaxReturn($result); } }
/** * 提交评论 * 提交网址:./addComment?app=&mod=&row_id=&uid=&pid=&token= */ public function addComment() { $config = get_addon_config('LocalComment'); $can_guest_comment = $config['can_guest_comment']; $post_uid = get_uid(); if (!$can_guest_comment) { //不允许游客评论 if (!$post_uid) { $this->error('请登录后评论。'); } } //获取参数 $app = I('request.app', '', 'trim,htmlspecialchars'); $mod = I('request.mod', '', 'trim,htmlspecialchars'); $row_id = I('request.row_id', 0, 'intval'); $content = I('request.content', '', 'trim,htmlspecialchars'); $pid = I('request.pid', 0, 'intval'); $uid = I('request.uid', 0, 'intval'); if (!$this->_verifyToken($app, $mod, $row_id, $uid)) { $this->error('参数被篡改。'); } //调用API接口,添加新评论 $data = array('app' => $app, 'mod' => $mod, 'row_id' => $row_id, 'content' => $content, 'uid' => $post_uid, 'pid' => $pid); if ($post_uid > 0) { $data['nickname'] = D('Member')->where(array('uid' => $post_uid))->getField('nickname'); } else { $data['nickname'] = I('request.nickname', '', 'trim,htmlspecialchars'); if ($data['nickname'] === '') { $this->error('请请输入您的名称。'); } } if (!preg_match('/^[\\w]+$/', $app)) { $this->error('app的值不正确'); } if (!preg_match('/^[\\w]+$/', $mod)) { $this->error('mod的值不正确'); } D($app . '/' . $mod)->where(array('id' => $row_id))->setInc('reply_count'); $commentModel = D('Addons://LocalComment/LocalComment'); $data = $commentModel->create($data); if (!$data) { $this->error('评论失败:' . $commentModel->getError()); } $commentModel->add($data); $referer_url = htmlspecialchars($_SERVER['HTTP_REFERER']); //游客逻辑直接跳过@环节 if ($post_uid <= 0) { if ($uid) { $title = '游客「' . $data['nickname'] . '」评论了您'; $message = '评论内容:' . $content; D('Common/Message')->sendMessage($uid, $message, $title, $referer_url, 0, 0, $app); } //返回结果 $this->success('评论成功', 'refresh'); exit; } else { //给评论对象发送消息 $title = '用户「' . $data['nickname'] . '」评论了您'; $message = '评论内容:' . $content; D('Common/Message')->sendMessage($uid, $message, $title, $referer_url, $post_uid, 0, $app); } //通知被@到的人 $uids = get_at_uids($content); if ($uids) { foreach ($uids as $_uid) { if ($_uid == $uid || $_uid == $post_uid) { continue; } $title = '用户「' . $data['nickname'] . '」@了您'; $message = '评论内容:' . $content; D('Common/Message')->sendMessage($_uid, $message, $title, $referer_url, $post_uid, 0, $app); } } //返回结果 $this->success('评论成功', 'refresh'); }
public function addComment() { $config = get_addon_config('LocalComment'); $can_guest_comment = $config['can_guest_comment']; if (!$can_guest_comment) { //不允许游客评论 if (!is_login()) { $this->error('请登录后评论。'); } } //获取参数 $app = strval($_REQUEST['app']); $mod = strval($_REQUEST['con']); $row_id = intval($_REQUEST['row_id']); $content = strval($_REQUEST['content']); $uid = intval($_REQUEST['uid']); $pid = intval($_REQUEST['pid']); if (M($mod)->where(array('id' => $row_id))->getField('status') != 1) { $this->error('该文章尚未审核通过!'); } $data = array('app' => $app, 'con' => $mod, 'row_id' => $row_id, 'content' => $content, 'uid' => is_login(), 'pid' => $pid); $commentModel = D('Addons://LocalComment/LocalComment'); $data = $commentModel->create($data); if (!$data) { $this->error('评论失败:' . $commentModel->getError()); } else { D($app . '/' . $mod)->where(array('id' => $row_id))->setInc('reply_count'); $rowinfo = D($app . '/' . $mod)->where(array('id' => $row_id))->find(); $data['content'] = op_h($data['content'], 'font'); $commentModel->add($data); if (!is_login()) { if ($uid) { $title = '游客' . '评论了您'; $message = '评论内容:' . $content; $url = $_SERVER['HTTP_REFERER']; if (strtolower($mod) == 'article') { $rowurl = U('Home/Index/artc', array('id' => $row_id)); } if (strtolower($mod) == 'music') { $rowurl = U('Home/Index/musicc', array('id' => $row_id)); } if (strtolower($mod) == 'group') { $rowurl = U('Home/Index/groupc', array('id' => $row_id)); } sendMessage($rowinfo['uid'], '0', $title, $message . ',链接地址:<a href="' . $rowurl . '">' . $rowinfo['title'] . '</a>', 0); } //返回结果 $this->success('评论成功', 'refresh'); } else { //给评论对象发送消息 if ($uid) { $user = D('Member')->find(getnowUid()); $title = $user['nickname'] . '评论了您'; $message = '评论内容:' . $content; $url = $_SERVER['HTTP_REFERER']; if ($rowinfo['uid'] != getnowUid()) { if (strtolower($mod) == 'article') { $rowurl = U('Home/Index/artc', array('id' => $row_id)); } if (strtolower($mod) == 'music') { $rowurl = U('Home/Index/musicc', array('id' => $row_id)); } if (strtolower($mod) == 'group') { $rowurl = U('Home/Index/groupc', array('id' => $row_id)); } sendMessage($rowinfo['uid'], getnowUid(), $title, $message . ',链接地址:<a href="' . $rowurl . '">' . $rowinfo['title'] . '</a>', 0); } } } //通知被@到的人 $uids = get_at_uids($content); $uids = array_unique($uids); $uids = array_subtract($uids, array($uid)); foreach ($uids as $uid) { $user = D('Member')->find(getnowUid()); $title = $user['nickname'] . '@了您'; $message = '评论内容:' . $content; $url = $_SERVER['HTTP_REFERER']; sendMessage($uid, getnowUid(), $title, $message . ',链接地址:<a href="' . U('Index/artc', array('id' => $row_id)) . '">' . $rowinfo['title'] . '</a>', 0); } //返回结果 $this->success('评论成功'); } }