Example #1
0
         }
         $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('&ensp;$', '$', $msginfo['title']);
         $msginfo['content'] = str_replace('&ensp;$', '$', $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)) {
Example #2
0
/**
 * 用户未读短消息更新
 * @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);
    }
}