📄 pminfo.php
字号:
<?php
if(!defined('IN_SUBDREAMER'))
{
die("Hacking attempt!");
}
function p10_DisplayPMs($usersystem)
{
global $DB, $sdurl, $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 . "pluginsettings WHERE pluginid = 10");
while($setting = $DB->fetch_array($getsettings))
{
$settings[$setting['title']] = $setting['value'];
}
$showpopups = $settings['Show Popups'];
// switch to forum database
if($dbname != $forumdbname)
{
$DB->select_db($forumdbname);
}
if($forumname == 'vBulletin 2')
{
// VB lets the user choose whether to show popups
$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 show popups
$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'].'"))
{
// Output when OK is clicked
if (confirm("'.$language['open_msg'].'"))
{
var winobj = window.open("'.$pmpopupurl.'", "'.$language['new_priv_msg_title'].'", "menubar=yes,scrollbars=yes,toolbar=yes,location=yes,directories=yes,resizable=yes,top=50,left=50");
if (winobj == null)
{
alert("Couldn\'t open the new window. Are you using a Popup Blocker?");
}
}
else
{
window.location = "'.$pmpopupurl.'";
}
}
}
window.onload = NotifyMsg;
//-->
</script>';
}
// switch back to subdreamer database
if($dbname != $forumdbname)
{
$DB->select_db($dbname);
}
}
if($usersystem)
{
if($usersystem['name'] != 'Subdreamer')
{
p10_DisplayPMs($usersystem);
}
}
?>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -