- Модуль: forum
- Путь к файлу: ~/bitrix/modules/forum/classes/general/user.php
- Класс: CAllForumUser
- Вызов: CAllForumUser::SetUserForumLastVisit
static function SetUserForumLastVisit($USER_ID, $FORUM_ID = 0, $LAST_VISIT = false)
{
global $DB;
$USER_ID = intval($USER_ID);
$FORUM_ID = intval($FORUM_ID);
if (is_int($LAST_VISIT)):
$LAST_VISIT = $DB->CharToDateFunction(date(CDatabase::DateFormatToPHP(CLang::GetDateFormat("FULL")), $LAST_VISIT), "FULL");
elseif (is_string($LAST_VISIT)):
$LAST_VISIT = $DB->CharToDateFunction(trim($LAST_VISIT), "FULL");
else:
$LAST_VISIT = false;
endif;
if (!$LAST_VISIT):
$Fields = array("LAST_VISIT" => $DB->GetNowFunction());
$rows = $DB->Update("b_forum_user_forum", $Fields, "WHERE (FORUM_ID=".$FORUM_ID." AND USER_ID=".$USER_ID.")", "File: ".__FILE__."
Line: ".__LINE__);
if (intval($rows) <= 0):
$Fields["USER_ID"] = $USER_ID;
$Fields["FORUM_ID"] = $FORUM_ID;
$DB->Insert("b_forum_user_forum", $Fields, "File: ".__FILE__."
Line: ".__LINE__);
elseif ($FORUM_ID <= 0):
$DB->Query("DELETE FROM b_forum_user_forum WHERE (FORUM_ID > 0 AND USER_ID=".$USER_ID.")", false, "File: ".__FILE__."
Line: ".__LINE__);
$DB->Query("DELETE FROM b_forum_user_topic WHERE (USER_ID=".$USER_ID.")", false, "File: ".__FILE__."
Line: ".__LINE__);
else:
$DB->Query("DELETE FROM b_forum_user_topic WHERE (FORUM_ID=".$FORUM_ID." AND USER_ID=".$USER_ID.")", false, "File: ".__FILE__."
Line: ".__LINE__);
endif;
else:
$Fields = array("LAST_VISIT" => $LAST_VISIT);
$rows = $DB->Update("b_forum_user_forum", $Fields,
"WHERE (FORUM_ID=".$FORUM_ID." AND USER_ID=".$USER_ID.")", "File: ".__FILE__."
Line: ".__LINE__);
if (intval($rows) <= 0):
$Fields = array("LAST_VISIT" => $LAST_VISIT, "FORUM_ID" => $FORUM_ID, "USER_ID" => $USER_ID);
$DB->Insert("b_forum_user_forum", $Fields, "File: ".__FILE__."
Line: ".__LINE__);
elseif ($FORUM_ID <= 0):
$DB->Query("DELETE FROM b_forum_user_forum WHERE (FORUM_ID > 0 AND USER_ID=".$USER_ID." AND LAST_VISIT <= ".$LAST_VISIT.")",
false, "File: ".__FILE__."
Line: ".__LINE__);
$DB->Query("DELETE FROM b_forum_user_topic WHERE (USER_ID=".$USER_ID." AND LAST_VISIT <= ".$LAST_VISIT.")",
false, "File: ".__FILE__."
Line: ".__LINE__);
else:
$DB->Query("DELETE FROM b_forum_user_topic WHERE (FORUM_ID=".$FORUM_ID." AND USER_ID=".$USER_ID." AND LAST_VISIT <= ".$LAST_VISIT.")",
false, "File: ".__FILE__."
Line: ".__LINE__);
endif;
endif;
return true;
}