• Модуль: socialnetwork
  • Путь к файлу: ~/bitrix/modules/socialnetwork/classes/general/functions.php
  • Класс: CSocNetTools
  • Вызов: CSocNetTools::Birthday
static function Birthday($datetime, $gender, $showYear = "N")
{
	if ($datetime == '')
		return false;

	$arDateTmp = ParseDateTime($datetime, CSite::GetDateFormat('SHORT'));

	$day = intval($arDateTmp["DD"]);
	if (isset($arDateTmp["M"]))
	{
		if (is_numeric($arDateTmp["M"]))
		{
			$month = intval($arDateTmp["M"]);
		}
		else
		{
			$month = GetNumMonth($arDateTmp["M"], true);
			if (!$month)
				$month = intval(date('m', strtotime($arDateTmp["M"])));
		}
	}
	elseif (isset($arDateTmp["MMMM"]))
	{
		if (is_numeric($arDateTmp["MMMM"]))
		{
			$month = intval($arDateTmp["MMMM"]);
		}
		else
		{
			$month = GetNumMonth($arDateTmp["MMMM"]);
			if (!$month)
				$month = intval(date('m', strtotime($arDateTmp["MMMM"])));
		}
	}
	else
	{
		$month = intval($arDateTmp["MM"]);
	}
	$arDateTmp["MM"] = $month;
	
	$year = intval($arDateTmp["YYYY"]);

	if (($showYear == 'Y') || ($showYear == 'M' && $gender == 'M'))
		$date_template = GetMessage("SONET_BIRTHDAY_DAY_TEMPLATE");
	else
		$date_template = GetMessage("SONET_BIRTHDAY_DAY_TEMPLATE_WO_YEAR");

	$val = str_replace(
		array("#DAY#", "#MONTH#", "#MONTH_LOW#", "#YEAR#"),
		array($day, GetMessage("MONTH_".$month."_S"), ToLower(GetMessage("MONTH_".$month."_S")), $year),
		$date_template
	);

	return array(
		"DATE" => $val,
		"MONTH" => Str_Pad(intval($arDateTmp["MM"]), 2, "0", STR_PAD_LEFT),
		"DAY" => Str_Pad(intval($arDateTmp["DD"]), 2, "0", STR_PAD_LEFT)
	);
}