www.gusucode.com > weenCompany闻名企业网站系统 4.0.0 繁体中英文 UTF8源码程序 > modules/m10_loginpanel/pminfo.php
<?php if(!defined('IN_WEENCOMPANY')) { die("File not found!"); } function m10_DisplayPMs($usersystem) { global $DB, $weenurl, $dbname; global $userinfo; $pmpopupurl = ''; $forumdbname = $usersystem['dbname']; $forumname = $usersystem['name']; $forumpath = $usersystem['folderpath']; $tableprefix = $usersystem['tblprefix']; // get language $language = GetLanguage(10); // get settings $getsettings = $DB->query("SELECT title, value FROM " . TABLE_PREFIX . "modulesettings WHERE moduleid = 10"); while($setting = $DB->fetch_array($getsettings)) { $settings[$setting['title']] = $setting['value']; } $showpopups = $settings['短信通知']; // switch to forum database if($dbname != $forumdbname) { $DB->select_db($forumdbname); } if($forumname == 'Discuz5') { $sql = "SELECT COUNT(pmid) AS pmtotal, SUM(IF(new = 1, 1, 0)) AS pmunread FROM " . $tableprefix . "pms WHERE msgtoid='".$userinfo['userid']."'"; $pmcount = $DB->query_first($sql); $pmtotal = intval($pmcount['pmtotal']); $pmunread = intval($pmcount['pmunread']); $pmurl = $forumpath . 'pm.php'; if($showpopups > 0 && $pmunread > 0) { $sql = "SELECT pmid, subject, msgfrom FROM " . $tableprefix . "pms WHERE msgtoid = ".$userinfo['userid']." AND new = 1 AND folder = 'inbox' ORDER BY dateline DESC LIMIT 1"; $newpm = $DB->query_first($sql); $pmtitle = html_entity_decode($newpm['subject']); $pmfromuser = $newpm['msgfrom']; $pmpopupurl = $forumpath . 'pm.php?action=view&folder=inbox&mode=read&pmid=' . $newpm['pmid']; } } else if($forumname == 'vBulletin 2') { // VB lets the user choose whether to 彈出短信 $pmpopup = $DB->query_first("SELECT pmpopup FROM " . $tableprefix . "user WHERE userid = ".$userinfo['userid']); // Only allow user to override if they are enabled globally if($showpopups > 0) $showpopups = $pmpopup[0]; $pmcount = $DB->query_first(" SELECT COUNT(privatemessageid) AS pmtotal, SUM(IF(messageread = 0 AND folderid = 0, 1, 0)) AS pmunread FROM " . $tableprefix . "privatemessage AS pm WHERE userid = ".$userinfo['userid']); $pmtotal = intval($pmcount['pmtotal']); $pmunread = intval($pmcount['pmunread']); $pmurl = $forumpath . 'private.php'; if($pmunread > 0) { $newpm = $DB->query_first(" SELECT pm.privatemessageid, title, u.username FROM " . $tableprefix . "privatemessage As pm LEFT JOIN " . $tableprefix . "user AS u ON u.userid = pm.fromuserid WHERE pm.userid = ".$userinfo['userid']." AND pm.messageread = 0 ORDER BY dateline DESC LIMIT 1 "); $pmtitle = html_entity_decode($newpm['title']); $pmfromuser = $newpm['username']; $pmpopupurl = $forumpath . 'private.php?action=show&privatemessageid=' . $newpm['privatemessageid']; } } else if ($forumname == 'vBulletin 3') { // VB lets the user choose whether to 短信通知 $pmpopup = $DB->query_first("SELECT pmpopup FROM " . $tableprefix . "user WHERE userid = ".$userinfo['userid']); // Only allow user to override if they are enabled globally if($showpopups > 0) $showpopups = $pmpopup[0]; $pmcount = $DB->query_first(" SELECT COUNT(pmid) AS pmtotal, SUM(IF(messageread = 0 AND folderid = 0, 1, 0)) AS pmunread FROM " . $tableprefix . "pm AS pm WHERE userid = ".$userinfo['userid']); $pmtotal = intval($pmcount['pmtotal']); $pmunread = intval($pmcount['pmunread']); $pmurl = $forumpath . 'private.php'; if($pmunread > 0) { $newpm = $DB->query_first(" SELECT pm.pmid, title, fromusername FROM " . $tableprefix . "pmtext AS pmtext LEFT JOIN " . $tableprefix . "pm AS pm USING(pmtextid) WHERE pm.userid = ".$userinfo['userid']." AND pm.messageread = 0 ORDER BY dateline DESC LIMIT 1 "); $pmtitle = html_entity_decode($newpm['title']); $pmfromuser = $newpm['fromusername']; $pmpopupurl = $forumpath . 'private.php?do=showpm&pmid=' . $newpm['pmid']; } } else if($forumname == 'phpBB2') { $sql = "SELECT COUNT(privmsgs_id) AS pmtotal, SUM(IF(privmsgs_type = 5 OR privmsgs_type = 1, 1, 0)) AS pmunread FROM " . $tableprefix . "privmsgs WHERE privmsgs_to_userid='".$userinfo['userid']."' AND privmsgs_type <> 4 AND privmsgs_type <> 2"; $pmcount = $DB->query_first($sql); $pmtotal = intval($pmcount['pmtotal']); $pmunread = intval($pmcount['pmunread']); $pmurl = $forumpath . 'privmsg.php'; if($showpopups > 0 && $pmunread > 0) { $sql = "SELECT pm.privmsgs_id, pm.privmsgs_subject, u.username FROM " . $tableprefix . "privmsgs AS pm LEFT JOIN " . $tableprefix . "users As u ON u.user_id = pm.privmsgs_from_userid WHERE pm.privmsgs_to_userid = ".$userinfo['userid']." AND (pm.privmsgs_type = 1 OR pm.privmsgs_type = 5) ORDER BY pm.privmsgs_date DESC LIMIT 1"; $newpm = $DB->query_first($sql); $pmtitle = html_entity_decode($newpm['privmsgs_subject']); $pmfromuser = $newpm['username']; $pmpopupurl = $forumpath . 'privmsg.php?folder=inbox&mode=read&p=' . $newpm['privmsgs_id']; } } else if($forumname == 'Invision Power Board 2') { $sql = "SELECT COUNT(mt_id) AS pmtotal, SUM(IF(mt_user_read = 0, 1, 0)) AS pmunread FROM " . $tableprefix . "message_topics WHERE mt_vid_folder = 'in' AND mt_to_id='".$userinfo['userid']."'"; $pmcount = $DB->query_first($sql); $pmtotal = intval($pmcount['pmtotal']); $pmunread = intval($pmcount['pmunread']); $pmurl = $forumpath . 'index.php?act=Msg&CODE=01'; if($showpopups > 0 && $pmunread > 0) { $sql = " SELECT pm.mt_id, pm.mt_title, m.name FROM " . $tableprefix . "message_text AS pmtext LEFT JOIN " . $tableprefix . "message_topics AS pm ON pm.mt_msg_id = pmtext.msg_id LEFT JOIN " . $tableprefix . "members As m ON m.id = pm.mt_from_id WHERE pm.mt_to_id = ".$userinfo['userid']." AND pm.mt_user_read = 0 AND mt_vid_folder = 'in' ORDER BY pm.mt_date DESC LIMIT 1 "; $newpm = $DB->query_first($sql); $pmtitle = html_entity_decode($newpm['mt_title']); $pmfromuser = $newpm['name']; $pmpopupurl = $forumpath . 'index.php?act=Msg&CODE=03&VID=in&MSID='.$newpm['mt_id'].''; } } else if($forumname == 'Simple Machines Forum 1') { // check which version of smf is the user running $smfversion = $DB->query_first("SELECT value FROM " . $tableprefix . "settings WHERE variable = 'smfVersion'"); if(substr($smfversion['value'], 0, 3) == '1.1') { $sql = "SELECT COUNT(ID_PM) AS pmtotal, SUM(IF(is_read = 0, 1, 0)) AS pmunread FROM " . $tableprefix . "pm_recipients WHERE ID_MEMBER='".$userinfo['userid']."' AND deleted = 0"; /* AND bcc = 0 */ $pmcount = $DB->query_first($sql); $pmtotal = intval($pmcount['pmtotal']); $pmunread = intval($pmcount['pmunread']); $pmurl = $forumpath . 'index.php?action=pm'; if($showpopups > 0 && $pmunread > 0) { $sql = "SELECT pm.ID_PM, pmtext.subject, pmtext.fromName FROM " . $tableprefix . "personal_messages AS pmtext LEFT JOIN " . $tableprefix . "pm_recipients AS pm ON pm.ID_PM = pmtext.ID_PM WHERE pm.ID_MEMBER='".$userinfo['userid']."' AND pm.deleted = 0 AND pm.is_read = 0 ORDER BY pmtext.msgtime DESC LIMIT 1"; $newpm = $DB->query_first($sql); $pmtitle = html_entity_decode($newpm['subject']); $pmfromuser = $newpm['fromName']; $pmpopupurl = $forumpath . 'index.php?action=pm;f=inbox#'.$newpm['ID_PM']; } } else { $sql = "SELECT COUNT(ID_PM) AS pmtotal, SUM(IF(is_read = 0, 1, 0)) AS pmunread FROM " . $tableprefix . "im_recipients WHERE ID_MEMBER='".$userinfo['userid']."' AND deleted = 0"; /* AND bcc = 0 */ $pmcount = $DB->query_first($sql); $pmtotal = intval($pmcount['pmtotal']); $pmunread = intval($pmcount['pmunread']); $pmurl = $forumpath . 'index.php?action=pm'; if($showpopups > 0 && $pmunread > 0) { $sql = "SELECT pm.ID_PM, pmtext.subject, pmtext.fromName FROM " . $tableprefix . "instant_messages AS pmtext LEFT JOIN " . $tableprefix . "im_recipients AS pm ON pm.ID_PM = pmtext.ID_PM WHERE pm.ID_MEMBER='".$userinfo['userid']."' AND pm.deleted = 0 AND pm.is_read = 0 ORDER BY pmtext.msgtime DESC LIMIT 1"; $newpm = $DB->query_first($sql); $pmtitle = html_entity_decode($newpm['subject']); $pmfromuser = $newpm['fromName']; $pmpopupurl = $forumpath . 'index.php?action=pm;f=inbox#'.$newpm['ID_PM']; } } } echo '<a href="'.$pmurl.'">'.$language['private_messages'].'</a><br />'.iif($pmunread> 0, '<b>'.$pmunread.'</b>', $pmunread) . ' ' . $language['unread_total'] . ' ' . $pmtotal.'.'; if(strlen($pmpopupurl) > 0) { echo '<script type="text/javascript"> <!-- function NotifyMsg() { if (confirm("'.$language['new_priv_msg'].'\r\n\r\n'.$language['sender'].' ' . $pmfromuser .'\r\n'.$language['title'].' \''.$pmtitle.'\'\r\n\r\n'.$language['click_ok'].'")) { window.location = "'.$pmpopupurl.'"; } } window.onload = NotifyMsg; //--> </script>'; } // switch back to weencompany database if($dbname != $forumdbname) { $DB->select_db($dbname); } } if($usersystem) { if($usersystem['name'] != 'weenCompany') { m10_DisplayPMs($usersystem); } } ?>