本文整理匯總了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);
}