• Модуль: socialnetwork
  • Путь к файлу: ~/bitrix/modules/socialnetwork/classes/mysql/user_relations.php
  • Класс: CSocNetUserRelations
  • Вызов: CSocNetUserRelations::GetListBirthday
static function GetListBirthday($userID, $number = 5, $online_interval = 120)
{
	global $DB;

	$userID = intval($userID);
	$number = intval($number);

	$curYear = intval(Date('Y'));

	$strSql =
		"SELECT U.ID, U.NAME, U.LAST_NAME, U.SECOND_NAME, U.LOGIN, U.EMAIL, U.PERSONAL_PHOTO, U.PERSONAL_GENDER, U.PERSONAL_BIRTHDAY as PB, ".
		"	IF(U.LAST_ACTIVITY_DATE > DATE_SUB(NOW(), INTERVAL ".$online_interval." SECOND), 'Y', 'N') IS_ONLINE ".
		"FROM b_sonet_user_relations UR ".
		"	INNER JOIN b_user U ON (UR.FIRST_USER_ID = U.ID) ".
		"WHERE UR.SECOND_USER_ID = ".$userID." ".
		"	AND UR.RELATION = '".$DB->ForSql(SONET_RELATIONS_FRIEND, 1)."' ".
		"UNION ".
		"SELECT U.ID, U.NAME, U.LAST_NAME, U.SECOND_NAME, U.LOGIN, U.EMAIL, U.PERSONAL_PHOTO, U.PERSONAL_GENDER, U.PERSONAL_BIRTHDAY as PB, ".
		"	IF(U.LAST_ACTIVITY_DATE > DATE_SUB(NOW(), INTERVAL ".$online_interval." SECOND), 'Y', 'N') IS_ONLINE ".
		"FROM b_sonet_user_relations UR ".
		"	INNER JOIN b_user U ON (UR.SECOND_USER_ID = U.ID) ".
		"WHERE UR.FIRST_USER_ID = ".$userID." ".
		"	AND UR.RELATION = '".$DB->ForSql(SONET_RELATIONS_FRIEND, 1)."' ".
		"ORDER BY IF ( ".
		"	DATE_FORMAT(PB, '".$curYear."-%m-%d') < DATE_FORMAT(CURDATE(), '%Y-%m-%d'), ".
		"	DATE_FORMAT(PB, '".($curYear + 1)."-%m-%d'), ".
		"	DATE_FORMAT(PB, '".$curYear."-%m-%d') ".
		") ".
		($number > 0 ? "LIMIT 0, ".$number."" : "");

	return $DB->Query($strSql);
}