%PDF- %PDF-
| Direktori : /home/bitrix/www/bitrix/components/bitrix/rating.vote/templates/like_react/ |
| Current File : //home/bitrix/www/bitrix/components/bitrix/rating.vote/templates/like_react/template.php |
<?
if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();
/** @var CBitrixComponentTemplate $this */
/** @var array $arParams */
/** @var array $arResult */
/** @global CDatabase $DB */
/** @global CUser $USER */
/** @global CMain $APPLICATION */
use Bitrix\Main\Localization\Loc;
\Bitrix\Main\UI\Extension::load("main.rating");
if ($arParams['MOBILE'] != 'Y')
{
$APPLICATION->SetAdditionalCSS("/bitrix/components/bitrix/rating.vote/templates/like_react/popup.css");
}
$APPLICATION->SetAdditionalCSS("/bitrix/components/bitrix/rating.vote/templates/like_react/style.css");
ob_start();
?><span id="bx-ilike-user-reaction-<?=htmlspecialcharsbx($arResult['VOTE_ID'])?>" data-value="<?=htmlspecialcharsbx($arParams['USER_REACTION'])?>" style="display: none;"></span><?
?><span id="feed-post-emoji-icons-<?=htmlspecialcharsbx($arResult['VOTE_ID'])?>" class="feed-post-emoji-icon-box"><?
?><span
data-like-id="<?=htmlspecialcharsbx($arResult['VOTE_ID'])?>"
class="feed-post-emoji-icon-container"
><?
if (!empty($arParams['REACTIONS_LIST']))
{
$reactionIndex = 1;
foreach($arParams['REACTIONS_LIST'] as $key => $value)
{
if (intval($value) <= 0)
{
continue;
}
?><div
id="bx-ilike-result-reaction-<?=htmlspecialcharsbx($key)?>-<?=htmlspecialcharsbx($arResult['VOTE_ID'])?>"
class="feed-post-emoji-icon-item feed-post-emoji-icon-<?=htmlspecialcharsbx($key)?> feed-post-emoji-icon-item-<?=$reactionIndex?> feed-post-emoji-icon-active"
data-reaction="<?=htmlspecialcharsbx($key)?>"
data-like-id="<?=htmlspecialcharsbx($arResult['VOTE_ID'])?>"
data-value="<?=intval($value)?>"
title="<?=htmlspecialcharsbx(\CRatingsComponentsMain::getRatingLikeMessage($key))?>"
<?=$arParams['MOBILE'] == 'Y' ? '' : ' onmouseenter="BXRL.render.resultReactionMouseEnter(event);"'?>
<?=$arParams['MOBILE'] == 'Y' ? '' : ' onmouseleave="BXRL.render.resultReactionMouseLeave(event);"'?>
<?=$arParams['MOBILE'] == 'Y' ? '' : ' onclick="BXRL.render.resultReactionClick(event);"'?>
></div><?
$reactionIndex++;
}
}
?></span><?
?><div
id="bx-ilike-count-<?=htmlspecialcharsbx($arResult['VOTE_ID'])?>"
data-myreaction="<?=htmlspecialcharsbx($arParams['USER_REACTION'])?>"
class="feed-post-emoji-text-box bx-ilike-right-wrap <?=($arResult['USER_HAS_VOTED'] == 'N'? '': 'bx-you-like')?>"
<?=($arResult["COMMENT"] != "Y" ? 'style="display: none;"' : '')?>><?
?><div class="feed-post-emoji-text-item bx-ilike-right<?=(intval($arResult['TOTAL_POSITIVE_VOTES']) <= 0 ? ' feed-post-emoji-text-counter-invisible' : '')?>"><?=intval($arResult['TOTAL_POSITIVE_VOTES'])?></div><?
?></div><?
?></span><?
$likeReactions = ob_get_clean();
$topCount = (!empty($arParams['TOP_DATA']) && is_array($arParams['TOP_DATA']) ? count($arParams['TOP_DATA']) : 0);
$more = intval($arResult['TOTAL_VOTES']) - $topCount;
$you = ($arParams['USER_HAS_VOTED'] == 'Y');
if (
!empty($arParams['TOP_DATA'])
&& is_array($arParams['TOP_DATA'])
)
{
foreach($arParams['TOP_DATA'] as $userData)
{
if (
$you
&& $userData['ID'] == $USER->getId()
)
{
$topCount--;
}
}
}
$topUsersMessage = Bitrix\Main\Localization\Loc::getMessage('RATING_LIKE_TOP_TEXT2_'.($you ? 'YOU_' : '').($topCount).($more > 0 ? '_MORE' : ''), array(
"#OVERFLOW_START#" => ($arParams['MOBILE'] == 'Y' ? '<span class="feed-post-emoji-text-item-overflow">' : ''),
"#OVERFLOW_END#" => ($arParams['MOBILE'] == 'Y' ? '</span>' : ''),
"#MORE_START#" => ($arParams['MOBILE'] == 'Y' ? '<span class="feed-post-emoji-text-item-more">' : ' '),
"#MORE_END#" => ($arParams['MOBILE'] == 'Y' ? '</span>' : '')
));
$usersData = array(
'TOP' => array(),
'MORE' => $more
);
ob_start();
?><div class="feed-post-emoji-text-box" id="bx-ilike-top-users-<?=htmlspecialcharsbx($arResult['VOTE_ID'])?>"><?
if (
!empty($arParams['TOP_DATA'])
&& is_array($arParams['TOP_DATA'])
)
{
$topUserCount = 1;
$userList = array();
$youInTop = false;
foreach($arParams['TOP_DATA'] as $userData)
{
if ($userData['ID'] == $USER->getId())
{
$youInTop = true;
continue;
}
$topUsersMessage = str_replace('#USER_'.$topUserCount.'#', '<span class="feed-post-emoji-text-item">'.$userData['NAME_FORMATTED'].'</span>', $topUsersMessage);
$userList[] = array(
'ID' => intval($userData['ID']),
'NAME_FORMATTED' => $userData['NAME_FORMATTED'],
'WEIGHT' => floatval($userData['WEIGHT'])
);
$topUserCount++;
}
if (
$you
&& !$youInTop)
{
$usersData['MORE']--;
}
$usersData['TOP'] = $userList;
$topUsersMessage = str_replace('#USERS_MORE#', '<span class="feed-post-emoji-text-item">'.$usersData['MORE'].'</span>', $topUsersMessage);
?><?=$topUsersMessage?><?
}
?></div><?
?><span style="display: none;" id="bx-ilike-top-users-data-<?=htmlspecialcharsbx($arResult['VOTE_ID'])?>" data-users="<?=htmlspecialcharsbx(\Bitrix\Main\Web\Json::encode($usersData))?>"></span><?
$likeTopUsers = ob_get_clean();
if ($arResult["COMMENT"] == "Y")
{
?><div id="feed-post-emoji-top-panel-<?=htmlspecialcharsbx($arResult['VOTE_ID'])?>" class="feed-post-emoji-container<?=($reactionIndex > 1 ? ' feed-post-emoji-container-nonempty' : '')?>" data-popup="N"><?
?><?=$likeReactions?><?
?></div><?
}
else
{
?><div id="feed-post-emoji-top-panel-<?=htmlspecialcharsbx($arResult['VOTE_ID'])?>" class="feed-post-emoji-container" data-popup="N"><?
?><?=$likeReactions?><?
?><?=$likeTopUsers?><?
?></div><?
}
?><span class="bx-ilike-wrap-block bx-ilike-wrap-block-react" id="bx-ilike-popup-cont-<?=htmlspecialcharsbx($arResult['VOTE_ID'])?>" style="display:none;"><?
?><span class="bx-ilike-popup"><span class="bx-ilike-wait"></span></span><?
?></span><?
?>
<script>
BX.ready(function() {
<?if ($arResult['AJAX_MODE'] == 'Y'):?>
BX.loadCSS('/bitrix/components/bitrix/rating.vote/templates/like_react/popup.css');
BX.loadCSS('/bitrix/components/bitrix/rating.vote/templates/like_react/style.css');
BX.loadScript('/bitrix/js/main/rating_like.js', function() {
<?endif;?>
if (!window.RatingLike && top.RatingLike)
RatingLike = top.RatingLike;
if (typeof(RatingLike) == 'undefined')
return false;
if (typeof(RatingLikeInited) == 'undefined')
{
RatingLikeInited = true;
RatingLike.setParams({
pathToUserProfile: '<?=CUtil::JSEscape($arResult['PATH_TO_USER_PROFILE'])?>'
});
}
RatingLike.Set(
'<?=CUtil::JSEscape($arResult['VOTE_ID'])?>',
'<?=CUtil::JSEscape($arResult['ENTITY_TYPE_ID'])?>',
'<?=IntVal($arResult['ENTITY_ID'])?>',
'<?=CUtil::JSEscape($arResult['VOTE_AVAILABLE'])?>',
'<?=$USER->GetId()?>',
{
'LIKE_Y' : '<?=htmlspecialcharsBx(CUtil::JSEscape($arResult['RATING_TEXT_LIKE_Y']))?>',
'LIKE_N' : '<?=htmlspecialcharsBx(CUtil::JSEscape($arResult['RATING_TEXT_LIKE_Y']))?>',
'LIKE_D' : '<?=htmlspecialcharsBx(CUtil::JSEscape($arResult['RATING_TEXT_LIKE_D']))?>'
},
'<?=CUtil::JSEscape($arResult['LIKE_TEMPLATE'])?>',
'<?=CUtil::JSEscape($arResult['PATH_TO_USER_PROFILE'])?>',
false,
<?=$arParams['MOBILE'] == 'Y' ? 'true' : 'false'?>
);
if (typeof(RatingLikePullInit) == 'undefined')
{
RatingLikePullInit = true;
<?
if (
isset($arParams['MOBILE'])
&& $arParams['MOBILE'] == 'Y'
)
{
?>
BXMobileApp.addCustomEvent("onPull-main", function(data) {
if (data.command == 'rating_vote')
{
RatingLike.LiveUpdate(data.params);
}
});
<?
}
else
{
?>
BX.addCustomEvent("onPullEvent-main", function(command, params) {
if (command == 'rating_vote')
{
RatingLike.LiveUpdate(params);
}
});
<?
}
?>
}
<?if ($arResult['AJAX_MODE'] == 'Y'):?>
});
<?endif;?>
});
</script>