本文整理汇总了PHP中CForumMessage::QueryFirstUnread方法的典型用法代码示例。如果您正苦于以下问题:PHP CForumMessage::QueryFirstUnread方法的具体用法?PHP CForumMessage::QueryFirstUnread怎么用?PHP CForumMessage::QueryFirstUnread使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CForumMessage
的用法示例。
在下文中一共展示了CForumMessage::QueryFirstUnread方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: GetFirstUnread
function GetFirstUnread($FID, $TID, $PERMISSION)
{
$FID = intVal($FID);
$TID = intVal($TID);
if ($FID <= 0) {
return false;
}
if (strLen($PERMISSION) <= 0) {
return false;
}
$MESSAGE_ID = 0;
$TOPIC_ID = 0;
$read_forum_cookie = COption::GetOptionString("main", "cookie_name", "BITRIX_SM") . "_FORUM_0";
if (strLen($_SESSION["first_read_forum_" . $FID]) <= 0 || intVal($_SESSION["first_read_forum_" . $FID]) < 0) {
if (isset($_COOKIE[$read_forum_cookie]) && strLen($_COOKIE[$read_forum_cookie]) > 0) {
$arForumCookie = explode("/", $_COOKIE[$read_forum_cookie]);
$i = 0;
while ($i < count($arForumCookie)) {
if (intVal($arForumCookie[$i]) == $FID) {
$iCurFirstReadForum = intVal($arForumCookie[$i + 1]);
break;
}
$i += 2;
}
}
$read_forum_cookie1 = COption::GetOptionString("main", "cookie_name", "BITRIX_SM") . "_FORUM_" . $FID;
if (isset($_COOKIE[$read_forum_cookie1]) && intVal($_COOKIE[$read_forum_cookie1]) > 0) {
if ($iCurFirstReadForum < intVal($_COOKIE[$read_forum_cookie1])) {
$iCurFirstReadForum = intVal($_COOKIE[$read_forum_cookie1]);
}
}
$_SESSION["first_read_forum_" . $FID] = intVal($iCurFirstReadForum);
}
if (is_null($_SESSION["read_forum_" . $FID]) || strLen($_SESSION["read_forum_" . $FID]) <= 0) {
$_SESSION["read_forum_" . $FID] = "0";
}
$arFilter = array("FORUM_ID" => $FID);
if (intVal($_SESSION["first_read_forum_" . $FID]) > 0) {
$arFilter[">ID"] = intVal($_SESSION["first_read_forum_" . $FID]);
}
if ($_SESSION["read_forum_" . $FID] != "0") {
$arFMIDsTmp = explode(",", $_SESSION["read_forum_" . $FID]);
if (count($arFMIDsTmp) > 950) {
for ($i1 = 0; $i1 < count($arFMIDsTmp); $i1++) {
if (intVal($_SESSION["first_read_forum_" . $FID]) < intVal($arFMIDsTmp[$i1])) {
$_SESSION["first_read_forum_" . $FID] = intVal($arFMIDsTmp[$i1]);
}
}
$_SESSION["read_forum_" . $FID] = "0";
$arFilter[">ID"] = intVal($_SESSION["first_read_forum_" . $FID]);
} else {
$arFilter["!@ID"] = $_SESSION["read_forum_" . $FID];
}
}
if ($PERMISSION <= "Q") {
$arFilter["APPROVED"] = "Y";
}
if ($TID > 0) {
$arFilter["TOPIC_ID"] = $TID;
}
//$db_res = CForumMessage::GetList(array("ID"=>"ASC"), $arFilter, false, 1);
$db_res = CForumMessage::QueryFirstUnread($arFilter);
if ($res = $db_res->Fetch()) {
$MESSAGE_ID = $res["ID"];
$TOPIC_ID = $res["TOPIC_ID"];
}
return array($TOPIC_ID, $MESSAGE_ID);
}