Пример #1
0
 public function publish_article_comment($article_id, $message, $uid, $at_uid = null)
 {
     if (!($article_info = $this->model('article')->get_article_info_by_id($article_id))) {
         return false;
     }
     $comment_id = $this->insert('article_comments', array('uid' => intval($uid), 'article_id' => intval($article_id), 'message' => htmlspecialchars($message), 'add_time' => time(), 'at_uid' => intval($at_uid)));
     $this->update('article', array('comments' => $this->count('article_comments', 'article_id = ' . intval($article_id))), 'id = ' . intval($article_id));
     if ($at_uid and $at_uid != $uid) {
         $this->model('notify')->send($uid, $at_uid, notify_class::TYPE_ARTICLE_COMMENT_AT_ME, notify_class::CATEGORY_ARTICLE, $article_info['id'], array('from_uid' => $uid, 'article_id' => $article_info['id'], 'item_id' => $comment_id));
     }
     set_human_valid('answer_valid_hour');
     if ($article_info['uid'] != $uid) {
         $this->model('notify')->send($uid, $article_info['uid'], notify_class::TYPE_ARTICLE_NEW_COMMENT, notify_class::CATEGORY_ARTICLE, $article_info['id'], array('from_uid' => $uid, 'article_id' => $article_info['id'], 'item_id' => $comment_id));
     }
     if ($weixin_user = $this->model('openid_weixin')->get_user_info_by_uid($article_info['uid']) and $article_info['uid'] != $uid) {
         $weixin_user_info = $this->model('account')->get_user_info_by_uid($weixin_user['uid']);
         if ($weixin_user_info['weixin_settings']['NEW_ARTICLE_COMMENT'] != 'N') {
             $this->model('weixin')->send_text_message($weixin_user['openid'], "您的文章 [" . $article_info['title'] . "] 收到了新的评论:\n\n" . strip_tags($message), $this->model('openid_weixin')->redirect_url('/article/' . $article_info['id']));
         }
     }
     $this->model('posts')->set_posts_index($article_info['id'], 'article');
     return $comment_id;
 }
Пример #2
0
 public function reply_ticket($ticket_id, $message, $uid, $attach_access_key = null)
 {
     $ticket_info = $this->get_ticket_info_by_id($ticket_id);
     if (!$ticket_info or $ticket_info['status'] == 'closed') {
         return false;
     }
     $now = time();
     $reply_id = $this->insert('ticket_reply', array('ticket_id' => $ticket_info['id'], 'message' => htmlspecialchars($message), 'uid' => intval($uid), 'time' => $now, 'uid' => intval($uid), 'ip' => ip2long(fetch_ip())));
     if (!$reply_id) {
         return false;
     }
     set_human_valid('answer_valid_hour');
     if ($attach_access_key) {
         $this->model('publish')->update_attach('ticket_reply', $reply_id, $attach_access_key);
     }
     if (!$ticket_info['reply_time']) {
         $this->shutdown_update('ticket', array('reply_time' => $now), 'id = ' . $ticket_info['id']);
     }
     if ($ticket_info['weibo_msg_id']) {
         $this->model('openid_weibo_weibo')->reply_answer_to_sina($question_info['question_id'], cjk_substr($answer_content, 0, 110, 'UTF-8', '...'));
     }
     if ($ticket_info['received_email_id']) {
         $this->model('edm')->reply_answer_by_email($question_info['question_id'], nl2br(FORMAT::parse_bbcode($answer_content)));
     }
     return $reply_id;
 }