GenRssByCustomData($aRssData, $sUnitTitleC, $sMainLink, array( 'Guid' => 'UnitID', 'Link' => 'UnitLink', 'Title' => 'UnitTitle', 'DateTimeUTS' => 'UnitDateTimeUTS', 'Desc' => 'UnitDesc', )); } /** * Generate rss feed using any custom data fields * but you need to describe fields in $aFields array. * * Required fileds: * Link * Title * DateTimeUTS * Desc * * Optional fields: * Photo */ function GenRssByCustomData($aRssData, $sUnitTitleC, $sMainLink, $aFields, $sImage = '', $iPID = 0) { $sRSSLast = ''; if (isset($aRssData[0])) $sRSSLast = gmdate("D, d M Y H:i:s \G\M\T", (int)$aRssData[0][$aFields['DateTimeUTS']]); if ($iPID > 0) $aPIDOwnerInfo = getProfileInfo($iPID); $iUnitLimitChars = 2000; $sUnitRSSFeed = ''; if ($aRssData) { $sTxtReadMore = _t('_Read more'); foreach ($aRssData as $aUnitInfo) { $sUnitUrl = $aUnitInfo[$aFields['Link']]; $sUnitGuid = $aUnitInfo[$aFields['Guid']]; $sUnitTitle = strip_tags($aUnitInfo[$aFields['Title']] ?? ''); $sUnitDate = gmdate("D, d M Y H:i:s \G\M\T", $aUnitInfo[$aFields['DateTimeUTS']]); $sUnitDesc = ''; if(isset($aFields['Desc']) && !empty($aUnitInfo[$aFields['Desc']])) { $sLinkMore = ''; if(strlen($aUnitInfo[$aFields['Desc']]) > $iUnitLimitChars) $sLinkMore = "... " . $sTxtReadMore . ""; $sUnitDesc = "

" . mb_substr(strip_tags($aUnitInfo[$aFields['Desc']]), 0, $iUnitLimitChars) . $sLinkMore . "

"; } if(isset($aFields['Image']) && !empty($aUnitInfo[$aFields['Image']])) $sUnitDesc .= ""; $sUnitRSSFeed .= "<![CDATA[{$sUnitTitle}]]>{$sUnitDate}"; } } $sRSSTitle = _t('_RSS_Feed_Title_Common', $sUnitTitleC); if ($iPID > 0) { $sRSSTitle = _t('_RSS_Feed_Title_Profile', $aPIDOwnerInfo['NickName'], $sUnitTitleC); } if(substr($sMainLink, 0, 7) != 'http://' && substr($sMainLink, 0, 8) != 'https://') $sMainLink = BX_DOL_URL_ROOT . $sMainLink; $sMainLink = BxDolPermalinks::getInstance()->permalink($sMainLink); $sRSSImage = ''; if ($sImage) { $sRSSImage = "{$sImage}{$sRSSTitle}{$sMainLink}"; } return "{$sRSSTitle}{$sRSSTitle}{$sRSSLast}{$sRSSImage}{$sUnitRSSFeed}"; } } /** @} */