本文整理汇总了PHP中AZLib::InserMessage方法的典型用法代码示例。如果您正苦于以下问题:PHP AZLib::InserMessage方法的具体用法?PHP AZLib::InserMessage怎么用?PHP AZLib::InserMessage使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类AZLib
的用法示例。
在下文中一共展示了AZLib::InserMessage方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: Send_pm
static function Send_pm($sender_id, $sender_name, $receiver_user, $title, $content, $once_way = false, $ref_id = 0)
{
$num_send = 0;
$new_row_msg = array('msg_date' => TIME_NOW, 'msg_post' => htmlspecialchars_decode($content), 'msg_author_id' => $sender_id, 'msg_author_name' => $sender_name, 'msg_ip_address' => AZLib::ip());
// ***** CHÚ Ý *****
// Newest = 0 - Mới nhất, = 1 - Cũ hơn (Do lỗi tạo giá trị mặc định trường này là 0, nên quy ước hơi bị ngược, để đỡ mất công chạy lệnh update database
// ***** CHÚ Ý *****
$msg_id = DB::insert('message_text', $new_row_msg);
$inbox_ref_id = 0;
if ($ref_id) {
$msgText = DB::select('message_topics', 'mt_id = ' . $ref_id . ' AND mt_owner_id = ' . $sender_id);
if ($msgText['mt_msg_id']) {
// Kiểm tra xem người nhận còn tin nhắn gốc hay không
$mtTopic = DB::select('message_topics', 'mt_msg_id = ' . $msgText['mt_msg_id'] . ' AND mt_id <> ' . $ref_id . ' AND mt_owner_id = ' . $receiver_user['id'] . ' AND mt_from_id <> ' . $receiver_user['id']);
// Nế còn tin nhắn gốc
if ($mtTopic['mt_id']) {
// Gán tin nhắn sắp gửi là tin nhắn mới nhất
// Lấy id tin nhắn gốc của người gửi làm ref_id cho tin nhắn sắp gửi
$inbox_ref_id = $mtTopic['mt_id'];
}
}
}
// Đặt cờ tin nhắn mới nhất (inbox) của các tin trong luồng của người nhận = 0
if ($inbox_ref_id) {
DB::query('UPDATE message_topics SET mt_newest = 1 WHERE mt_newest = 0 AND mt_vid_folder = \'inbox\' AND (mt_ref_id = ' . $inbox_ref_id . ' OR mt_id = ' . $inbox_ref_id . ') AND mt_owner_id = ' . $receiver_user["id"]);
}
// Đặt cờ tin nhắn mới nhất (sent) của các tin trong luồng của người gửi = 0
if ($ref_id) {
DB::query('UPDATE message_topics SET mt_newest = 1 WHERE mt_newest = 0 AND mt_vid_folder = \'sent\' AND (mt_ref_id = ' . $ref_id . ' OR mt_id = ' . $ref_id . ') AND mt_owner_id = ' . $sender_id);
}
$new_row_msg = array('mt_msg_id' => $msg_id, 'mt_date' => TIME_NOW, 'mt_title' => $title, 'mt_ref_id' => $inbox_ref_id, 'mt_newest' => 0, 'mt_to_name' => $receiver_user["user_name"], 'mt_read' => 0);
$arrID = array($sender_id, $sender_name, $receiver_user["id"], $receiver_user["user_name"]);
// Tạo tiêu đề tin nhắn mới
$msg_id_inbox = AZLib::InserMessage($new_row_msg, $arrID, $status = 'inbox');
if ($msg_id_inbox) {
$num_send++;
//insert vao bang feed
$feed_sql = "(4,{$receiver_user['id']},{$msg_id_inbox},{$new_row_msg['mt_date']},{$sender_id},0)";
$feed_sql = "INSERT INTO feed (`type`,`user_id`,`ref_id`,`time`,`act_user_id`,`item_id`) VALUES " . $feed_sql;
DB::query($feed_sql);
}
if ($once_way == false) {
$new_row_msg['mt_read'] = 1;
$new_row_msg['mt_ref_id'] = $ref_id;
$msg_id_sent = AZLib::InserMessage($new_row_msg, $arrID, $status = 'sent');
$num_send++;
} else {
$msg_id_sent = true;
}
// Nếu tin được tạo mới là tin nhắn trả lời
//if($inbox_ref_id)
//{
// Đặt cờ đã có tin nhắn trả lời cho tin nhắn gốc trong cả "inbox" và "sent"
//DB::query(' UPDATE message_topics SET mt_has_reply = 1 WHERE mt_id = ' . $ref_id . ' AND mt_vid_folder = \'inbox\'');
// DB::query(' UPDATE message_topics SET mt_has_reply = 1 WHERE mt_id = ' . $inbox_ref_id);
//}
if ($msg_id_inbox && $msg_id_sent) {
$count_pm = true;
// Đối với tin trả lời, chỉ đếm những tin trả lời mới cho tin thuộc các luồng tin khác nhau
if ($ref_id) {
// Kiểm tra xem trong luồng tin hiện tại có tin trả lời nào chưa đọc hay không
$re = DB::query('SELECT COUNT(*) AS unreadCount FROM message_topics
WHERE mt_ref_id = ' . $ref_id . '
AND mt_vid_folder = \'inbox\' AND mt_owner_id = ' . $receiver_user["id"] . '
AND mt_read = 0');
if ($re) {
$row = mysql_fetch_assoc($re);
// Nếu có thì không tính thêm tin này vào tổng pm
if ($row['unreadCount'] > 1) {
$count_pm = false;
}
}
}
if ($count_pm) {
DB::query('UPDATE user SET total_pm = total_pm + 1 WHERE id=' . $receiver_user["id"]);
}
User::getUser($receiver_user["id"], 0, 1);
DB::query("UPDATE message_text SET msg_sent_to_count = {$num_send} WHERE msg_id = {$msg_id}");
if ($receiver_user['email'] && $receiver_user['email_alert']) {
$link = WEB_ROOT . Url::build('message');
$content = trim(addslashes(AZLib::parseBBCode($title . ' - ' . $content, true)));
AZLib::addCronJob('pm', $content, $receiver_user['id'], User::user_name(), '', 0, '', $link);
}
return true;
} else {
return false;
}
}