} $str = ''; if ($msginfo) { $str = pwJsonEncode($msginfo); } require_once PrintEot('ajax'); ajax_footer(); } else { Showmsg('msg_error'); } } elseif ($type == 'public') { $msg_gid = $winddb['groupid']; $msginfo = $db->get_one("SELECT m.mid,m.fromuid AS withuid,m.touid,m.username,m.ifnew,m.mdate,mc.title,mc.content FROM pw_msg m LEFT JOIN pw_msgc mc USING(mid) WHERE m.mid=" . pwEscape($mid) . " AND m.type='public' AND m.togroups LIKE " . pwEscape("%,{$msg_gid},%")); if ($msginfo) { require_once R_P . 'require/bbscode.php'; $pubmsg = getUserPublicMsgRecord($winduid); @extract($pubmsg); $msginfo['content'] = str_replace("\n", "<br>", $msginfo['content']); $msginfo['content'] = convert($msginfo['content'], $db_windpost); if (strpos($msginfo['content'], '[s:') !== false) { $msginfo['content'] = showface($msginfo['content']); } $msginfo['title'] = str_replace(' $', '$', $msginfo['title']); $msginfo['content'] = str_replace(' $', '$', $msginfo['content']); $msginfo['mdate'] = get_date($msginfo['mdate']); $msginfo['content'] = str_replace("\$email", $winddb['email'], $msginfo['content']); $msginfo['content'] = str_replace("\$windid", $windid, $msginfo['content']); if ($pubmsg) { if (strpos(",{$readmsg},", ",{$msginfo['mid']},") === false) { $readmsg .= $readmsg ? ',' . $msginfo['mid'] : $msginfo['mid']; if (empty($readmsg)) {
/** * 用户未读短消息更新 * @param (int|array) $uids 需要更新的用户uid * @param string $type recount:重新统计,add:指定用户未读短消息加1,minus:指定用户未读短消息减1 */ function updateNewpm($uids, $type = 'add') { global $db; if (!is_array($uids)) { $userdb = $db->get_one("SELECT uid,groupid,regdate FROM pw_members WHERE uid=" . pwEscape($uids)); empty($userdb) && Showmsg('undefined_action'); $sqladd = 'uid=' . pwEscape($userdb['uid']); } else { $sqladd = 'uid IN (' . pwImplode($uids) . ')'; } if ($type == 'recount') { if (is_array($uids)) { $query = $db->query("SELECT uid,groupid,regdate FROM pw_members WHERE uid IN (" . pwImplode($uids) . ')'); while ($userdb = $db->fetch_array($query)) { $private_newmsg_num = getPrivateNewmsgNum($userdb['uid']); $public_msg_record = getUserPublicMsgRecord($userdb['uid']); $public_newmsg_num = getPublicNewmsgNum($userdb['groupid'], $userdb['regdate'], $public_msg_record); $all_newmsg_num = $private_newmsg_num + $public_newmsg_num; $db->update("UPDATE pw_members SET newpm=" . pwEscape($all_newmsg_num) . " WHERE uid=" . pwEscape($userdb['uid'])); } } else { $private_newmsg_num = getPrivateNewmsgNum($userdb['uid']); $public_msg_record = getUserPublicMsgRecord($userdb['uid']); $public_newmsg_num = getPublicNewmsgNum($userdb['groupid'], $userdb['regdate'], $public_msg_record); $all_newmsg_num = $private_newmsg_num + $public_newmsg_num; $db->update("UPDATE pw_members SET newpm=" . pwEscape($all_newmsg_num) . " WHERE uid=" . pwEscape($userdb['uid'])); } } elseif ($type == 'add') { $db->update("UPDATE pw_members SET newpm=newpm+1 WHERE {$sqladd}"); } elseif ($type == 'minus') { newpmMinusOne($uids); } }