function ShowComment($comment, $tabCount = 0, $tabSize = 2.5, $canModerate = false, $User = array(), $use_captcha = false, $bCanUserComment = false, $errorComment = false, $arParams = array()) { $comment['urlToAuthor'] = ""; $comment['urlToBlog'] = ""; if ($comment['SHOW_AS_HIDDEN'] == "Y" || $comment['PUBLISH_STATUS'] == BLOG_PUBLISH_STATUS_PUBLISH || $comment['SHOW_SCREENNED'] == "Y" || $comment['ID'] == "preview") { global $prevTab; $tabCount = IntVal($tabCount); if ($tabCount <= 5) { $paddingSize = 2.5 * $tabCount; } elseif ($tabCount > 5 && $tabCount <= 10) { $paddingSize = 2.5 * 5 + ($tabCount - 5) * 1.5; } elseif ($tabCount > 10) { $paddingSize = 2.5 * 5 + 1.5 * 5 + ($tabCount - 10) * 1; } if ($tabCount + 1 <= 5) { $paddingSizeNew = 2.5 * ($tabCount + 1); } elseif ($tabCount + 1 > 5 && $tabCount + 1 <= 10) { $paddingSizeNew = 2.5 * 5 + ($tabCount + 1 - 5) * 1.5; } elseif ($tabCount + 1 > 10) { $paddingSizeNew = 2.5 * 5 + 1.5 * 5 + ($tabCount + 1 - 10) * 1; } $paddingSizeNew -= $paddingSize; $prevTab = $tabCount; ?> <a name="<?php echo $comment['ID']; ?> "></a> <div class="b-comments__item" style="margin-left:<?php echo $paddingSize; ?> em;"> <div id="blg-comment-<?php echo $comment['ID']; ?> "> <?php if ($comment['PUBLISH_STATUS'] == BLOG_PUBLISH_STATUS_PUBLISH || $comment['SHOW_SCREENNED'] == "Y" || $comment['ID'] == "preview") { $expertLink = in_array(COMMUNITY_GROUP_ID, CUser::GetUserGroup($comment['arUser']['ID'])) ? '/community/experts/' . $comment['arUser']['ID'] . '/' : false; $aditStyle = ""; if ($arParams['is_ajax_post'] == "Y" || $comment['NEW'] == "Y") { $aditStyle .= " blog-comment-new"; } if ($comment['AuthorIsAdmin'] == "Y") { $aditStyle = " blog-comment-admin"; } if (IntVal($comment['AUTHOR_ID']) > 0) { $aditStyle .= " blog-comment-user-" . IntVal($comment['AUTHOR_ID']); } if ($comment['AuthorIsPostAuthor'] == "Y") { $aditStyle .= " blog-comment-author"; } if ($comment['PUBLISH_STATUS'] != BLOG_PUBLISH_STATUS_PUBLISH && $comment['ID'] != "preview") { $aditStyle .= " blog-comment-hidden"; } if ($comment['ID'] == "preview") { $aditStyle .= " blog-comment-preview"; } ?> <div class="blog-comment-cont<?php echo $aditStyle; ?> "> <div class="blog-comment-cont-white clearfix"><?php if (!empty($comment['arUser']['PERSONAL_PHOTO'])) { $img = CFile::ResizeImageGet($comment['arUser']['PERSONAL_PHOTO'], array('width' => 100, 'height' => 100), BX_RESIZE_IMAGE_EXACT); if (empty($expertLink)) { ?> <div class="b-comments__avatar"><img src="<?php echo $img['src']; ?> " alt="<?php echo $comment['AuthorName']; ?> " class="b-comments__image"></div><?php } else { ?> <a href="<?php echo $expertLink; ?> " class="b-comments__avatar"><img src="<?php echo $img['src']; ?> " alt="<?php echo $comment['AuthorName']; ?> " class="b-comments__image"></a><?php } } ?> <div class="b-comments__holder"> <?php if ($arParams['SHOW_RATING'] == "Y") { ?> <div class="blog-post-rating rating_vote_graphic"> <?php $GLOBALS['APPLICATION']->IncludeComponent("bitrix:rating.vote", $arParams['RATING_TYPE'], array("ENTITY_TYPE_ID" => "BLOG_COMMENT", "ENTITY_ID" => $comment['ID'], "OWNER_ID" => $comment['arUser']['ID'], "USER_VOTE" => $arParams['RATING'][$comment['ID']]['USER_VOTE'], "USER_HAS_VOTED" => $arParams['RATING'][$comment['ID']]['USER_HAS_VOTED'], "TOTAL_VOTES" => $arParams['RATING'][$comment['ID']]['TOTAL_VOTES'], "TOTAL_POSITIVE_VOTES" => $arParams['RATING'][$comment['ID']]['TOTAL_POSITIVE_VOTES'], "TOTAL_NEGATIVE_VOTES" => $arParams['RATING'][$comment['ID']]['TOTAL_NEGATIVE_VOTES'], "TOTAL_VALUE" => $arParams['RATING'][$comment['ID']]['TOTAL_VALUE'], "PATH_TO_USER_PROFILE" => $arParams['~PATH_TO_USER']), $arParams['component'], array("HIDE_ICONS" => "Y")); ?> </div> <?php } /*if (COption::GetOptionString("blog", "allow_alias", "Y") == "Y" && (strlen($comment['urlToBlog']) > 0 || strlen($comment['urlToAuthor']) > 0) && array_key_exists("ALIAS", $comment['BlogUser']) && strlen($comment['BlogUser']['ALIAS']) > 0) $arTmpUser = array( "NAME" => "", "LAST_NAME" => "", "SECOND_NAME" => "", "LOGIN" => "", "NAME_LIST_FORMATTED" => $comment['BlogUser']['~ALIAS'], ); elseif (strlen($comment['urlToBlog']) > 0 || strlen($comment['urlToAuthor']) > 0) $arTmpUser = array( "NAME" => $comment['arUser']['~NAME'], "LAST_NAME" => $comment['arUser']['~LAST_NAME'], "SECOND_NAME" => $comment['arUser']['~SECOND_NAME'], "LOGIN" => $comment['arUser']['~LOGIN'], "NAME_LIST_FORMATTED" => "", ); if(strlen($comment['urlToBlog'])>0) { $GLOBALS['APPLICATION']->IncludeComponent("bitrix:main.user.link", '', array( "ID" => $comment['arUser']['ID'], "HTML_ID" => "blog_post_comment_".$comment['arUser']['ID'], "NAME" => $arTmpUser['NAME'], "LAST_NAME" => $arTmpUser['LAST_NAME'], "SECOND_NAME" => $arTmpUser['SECOND_NAME'], "LOGIN" => $arTmpUser['LOGIN'], "NAME_LIST_FORMATTED" => $arTmpUser['NAME_LIST_FORMATTED'], "USE_THUMBNAIL_LIST" => "N", "PROFILE_URL" => $comment['urlToAuthor'], "PROFILE_URL_LIST" => $comment['urlToBlog'], "PATH_TO_SONET_MESSAGES_CHAT" => $arParams['~PATH_TO_MESSAGES_CHAT'], "PATH_TO_VIDEO_CALL" => $arParams['~PATH_TO_VIDEO_CALL'], "DATE_TIME_FORMAT" => $arParams['DATE_TIME_FORMAT'], "SHOW_YEAR" => $arParams['SHOW_YEAR'], "CACHE_TYPE" => $arParams['CACHE_TYPE'], "CACHE_TIME" => $arParams['CACHE_TIME'], "NAME_TEMPLATE" => $arParams['NAME_TEMPLATE'], "SHOW_LOGIN" => $arParams['SHOW_LOGIN'], "PATH_TO_CONPANY_DEPARTMENT" => $arParams['~PATH_TO_CONPANY_DEPARTMENT'], "PATH_TO_SONET_USER_PROFILE" => ($arParams['USE_SOCNET'] == "Y" ? $comment['urlToAuthor'] : $arParams['~PATH_TO_SONET_USER_PROFILE']), "INLINE" => "Y", "SEO_USER" => $arParams['SEO_USER'], ), false, array("HIDE_ICONS" => "Y") ); } elseif(strlen($comment['urlToAuthor'])>0) { if($arParams['SEO_USER'] == "Y"):?> <noindex> <?endif;?> <? $GLOBALS['APPLICATION']->IncludeComponent("bitrix:main.user.link", '', array( "ID" => $comment['arUser']['ID'], "HTML_ID" => "blog_post_comment_".$comment['arUser']['ID'], "NAME" => $arTmpUser['NAME'], "LAST_NAME" => $arTmpUser['LAST_NAME'], "SECOND_NAME" => $arTmpUser['SECOND_NAME'], "LOGIN" => $arTmpUser['LOGIN'], "NAME_LIST_FORMATTED" => $arTmpUser['NAME_LIST_FORMATTED'], "USE_THUMBNAIL_LIST" => "N", "PROFILE_URL" => $comment['urlToAuthor'], "PATH_TO_SONET_MESSAGES_CHAT" => $arParams['~PATH_TO_MESSAGES_CHAT'], "PATH_TO_VIDEO_CALL" => $arParams['~PATH_TO_VIDEO_CALL'], "DATE_TIME_FORMAT" => $arParams['DATE_TIME_FORMAT'], "SHOW_YEAR" => $arParams['SHOW_YEAR'], "CACHE_TYPE" => $arParams['CACHE_TYPE'], "CACHE_TIME" => $arParams['CACHE_TIME'], "NAME_TEMPLATE" => $arParams['NAME_TEMPLATE'], "SHOW_LOGIN" => $arParams['SHOW_LOGIN'], "PATH_TO_CONPANY_DEPARTMENT" => $arParams['~PATH_TO_CONPANY_DEPARTMENT'], "PATH_TO_SONET_USER_PROFILE" => ($arParams['USE_SOCNET'] == "Y" ? $comment['urlToAuthor'] : $arParams['~PATH_TO_SONET_USER_PROFILE']), "INLINE" => "Y", "SEO_USER" => $arParams['SEO_USER'], ), false, array("HIDE_ICONS" => "Y") ); ?> <?if($arParams['SEO_USER'] == "Y"):?> </noindex> <?endif; } else { echo $comment['AuthorName']; } if(strlen($comment['urlToDelete'])>0 && strlen($comment['AuthorEmail'])>0) { ?> (<a href="mailto:<?=$comment['AuthorEmail']?>"><?=$comment['AuthorEmail']?></a>) <? } echo $comment['DateFormated']; <a href="#" class="b-comments__name link">Константин Китманов</a>*/ $post = ''; if (!empty($comment['arUser']['WORK_POSITION'])) { $post .= $comment['arUser']['WORK_POSITION']; } if (!empty($comment['arUser']['UF_JOB']) && ($job = CInc::getJobName($comment['arUser']['UF_JOB']))) { if (!empty($post)) { $post .= ', '; } $post .= $job; } ?> <div class="b-comments__name"> <?php if ($comment['arUser']['NAME'] != '') { ?> <span class="name"><?php echo $comment['arUser']['NAME']; ?> </span> <?php if ($comment['arUser']['LAST_NAME]'] != '') { ?> <span class="last-name"><?php echo $comment['arUser']['LAST_NAME']; ?> </span> <?php } ?> <?php } ?> </div> <?php if (!empty($post)) { echo '<div class="b-comments__post">' . $post . '</div>'; } ?> <div class="b-comments__text"><?php if (strlen($comment['TitleFormated']) > 0) { ?> <b><?php echo $comment['TitleFormated']; ?> </b><br /><?php } echo $comment['TextFormated']; if (!empty($arParams['arImages'][$comment['ID']])) { ?> <div class="feed-com-files"> <div class="feed-com-files-title"><?php echo GetMessage("BLOG_PHOTO"); ?> </div> <div class="feed-com-files-cont"> <?php foreach ($arParams['arImages'][$comment['ID']] as $val) { ?> <span class="feed-com-files-photo"><img src="<?php echo $val['small']; ?> " alt="" border="0" data-bx-image="<?php echo $val['full']; ?> "></span><?php } ?> </div> </div> <?php } if ($comment['COMMENT_PROPERTIES']['SHOW'] == "Y") { $eventHandlerID = AddEventHandler('main', 'system.field.view.file', array('CBlogTools', 'blogUFfileShow')); ?> <div><?php foreach ($comment['COMMENT_PROPERTIES']['DATA'] as $FIELD_NAME => $arPostField) { if (!empty($arPostField['VALUE'])) { $GLOBALS['APPLICATION']->IncludeComponent("bitrix:system.field.view", $arPostField['USER_TYPE']['USER_TYPE_ID'], array("arUserField" => $arPostField), null, array("HIDE_ICONS" => "Y")); } } ?> </div><?php if ($eventHandlerID !== false && intval($eventHandlerID) > 0) { RemoveEventHandler('main', 'system.field.view.file', $eventHandlerID); } } ?> </div><?php if ($bCanUserComment === true) { ?> <a href="javascript:void(0)" onclick="return showComment('<?php echo $comment['ID']; ?> ')" class="b-comments__button m_t20"><i class="ico i_bubble-gray"></i><?php echo GetMessage("B_B_MS_REPLY"); ?> </a><?php } if ($comment['CAN_EDIT'] == "Y") { ?> <script> top.text<?php echo $comment['ID']; ?> = text<?php echo $comment['ID']; ?> = '<?php echo CUtil::JSEscape($comment['~POST_TEXT']); ?> '; top.title<?php echo $comment['ID']; ?> = title<?php echo $comment['ID']; ?> = '<?php echo CUtil::JSEscape($comment['TITLE']); ?> '; </script> <a class="b-comments__button m_t20" href="javascript:void(0)" onclick="return editComment('<?php echo $comment['ID']; ?> ')"><?php echo GetMessage("BPC_MES_EDIT"); ?> </a> <?php } if (strlen($comment['urlToShow']) > 0) { if ($arParams['AJAX_POST'] == "Y") { ?> <a href="javascript:void(0)" class="b-comments__button m_t20" onclick="return hideShowComment('<?php echo $comment['urlToShow'] . "&" . bitrix_sessid_get(); ?> ', '<?php echo $comment['ID']; ?> ');" title="<?php echo GetMessage("BPC_MES_SHOW"); ?> "> <?php } else { ?> <a href="<?php echo $comment['urlToShow'] . "&" . bitrix_sessid_get(); ?> " class="b-comments__button m_t20" title="<?php echo GetMessage("BPC_MES_SHOW"); ?> "> <?php } ?> <?php echo GetMessage("BPC_MES_SHOW"); ?> </a> <?php } if (strlen($comment['urlToHide']) > 0) { if ($arParams['AJAX_POST'] == "Y") { ?> <a class="b-comments__button m_t20" href="javascript:void(0)" onclick="return hideShowComment('<?php echo $comment['urlToHide'] . "&" . bitrix_sessid_get(); ?> &IBLOCK_ID=<?php echo $_REQUEST['IBLOCK_ID']; ?> &ELEMENT_ID=<?php echo $_REQUEST['ELEMENT_ID']; ?> ', '<?php echo $comment['ID']; ?> ');" title="<?php echo GetMessage("BPC_MES_HIDE"); ?> "> <?php } else { ?> <a class="b-comments__button m_t20" href="<?php echo $comment['urlToHide'] . "&" . bitrix_sessid_get(); ?> &IBLOCK_ID=<?php echo $_REQUEST['IBLOCK_ID']; ?> &ELEMENT_ID=<?php echo $_REQUEST['ELEMENT_ID']; ?> " title="<?php echo GetMessage("BPC_MES_HIDE"); ?> "> <?php } ?> <?php echo GetMessage("BPC_MES_HIDE"); ?> </a> <?php } if (strlen($comment['urlToDelete']) > 0) { if ($arParams['AJAX_POST'] == "Y") { ?> <a class="b-comments__button m_t20" href="javascript:void(0)" onclick="if(confirm('<?php echo GetMessage("BPC_MES_DELETE_POST_CONFIRM"); ?> ')) deleteComment('<?php echo $comment['urlToDelete'] . "&" . bitrix_sessid_get(); ?> &IBLOCK_ID=<?php echo $_REQUEST['IBLOCK_ID']; ?> &ELEMENT_ID=<?php echo $_REQUEST['ELEMENT_ID']; ?> ', '<?php echo $comment['ID']; ?> ');" title="<?php echo GetMessage("BPC_MES_DELETE"); ?> "> <?php } else { ?> <a class="b-comments__button m_t20" href="javascript:if(confirm('<?php echo GetMessage("BPC_MES_DELETE_POST_CONFIRM"); ?> ')) window.location='<?php echo $comment['urlToDelete'] . "&" . bitrix_sessid_get(); ?> &IBLOCK_ID=<?php echo $_REQUEST['IBLOCK_ID']; ?> &ELEMENT_ID=<?php echo $_REQUEST['ELEMENT_ID']; ?> '" title="<?php echo GetMessage("BPC_MES_DELETE"); ?> "> <?php } ?> <?php echo GetMessage("BPC_MES_DELETE"); ?> </a> <?php } if (strlen($comment['urlToSpam']) > 0) { ?> <a class="b-comments__button m_t20" href="<?php echo $comment['urlToSpam']; ?> " title="<?php echo GetMessage("BPC_MES_SPAM_TITLE"); ?> "><?php echo GetMessage("BPC_MES_SPAM"); ?> </a><?php } /* if(IntVal($comment['PARENT_ID'])>0) { ?> <span class="blog-comment-parent"><a href="#<?=$comment['PARENT_ID']?>"><?=GetMessage("B_B_MS_PARENT")?></a></span> <span class="blog-vert-separator"></span> <? } ?> <span class="blog-comment-link"><a href="#<?=$comment['ID']?>"><?=GetMessage("B_B_MS_LINK")?></a></span> <? if ($arParams['SHOW_RATING'] == "Y") { ?> <span class="rating_vote_text"> <span class="blog-vert-separator"></span> <?$GLOBALS['APPLICATION']->IncludeComponent( "bitrix:rating.vote", $arParams['RATING_TYPE'], Array( "ENTITY_TYPE_ID" => "BLOG_COMMENT", "ENTITY_ID" => $comment['ID'], "OWNER_ID" => $comment['arUser']['ID'], "USER_VOTE" => $arParams['RATING'][$comment['ID']]['USER_VOTE'], "USER_HAS_VOTED" => $arParams['RATING'][$comment['ID']]['USER_HAS_VOTED'], "TOTAL_VOTES" => $arParams['RATING'][$comment['ID']]['TOTAL_VOTES'], "TOTAL_POSITIVE_VOTES" => $arParams['RATING'][$comment['ID']]['TOTAL_POSITIVE_VOTES'], "TOTAL_NEGATIVE_VOTES" => $arParams['RATING'][$comment['ID']]['TOTAL_NEGATIVE_VOTES'], "TOTAL_VALUE" => $arParams['RATING'][$comment['ID']]['TOTAL_VALUE'], "PATH_TO_USER_PROFILE" => $arParams['~PATH_TO_USER'], ), $arParams['component'], array("HIDE_ICONS" => "Y") );?> </span> <? }*/ ?> </div> </div> </div><?php if (strlen($errorComment) <= 0 && (strlen($_POST['preview']) > 0 && $_POST['show_preview'] != "N") && (IntVal($_POST['parentId']) > 0 || IntVal($_POST['edit_id']) > 0) && (IntVal($_POST['parentId']) == $comment['ID'] && IntVal($_POST['edit_id']) <= 0 || IntVal($_POST['edit_id']) > 0 && IntVal($_POST['edit_id']) == $comment['ID'] && $comment['CAN_EDIT'] == "Y")) { $level = 0; $commentPreview = array("ID" => "preview", "TitleFormated" => htmlspecialcharsEx($_POST['subject']), "TextFormated" => $_POST['commentFormated'], "AuthorName" => $User['NAME'], "DATE_CREATE" => GetMessage("B_B_MS_PREVIEW_TITLE")); ShowComment($commentPreview, IntVal($_POST['edit_id']) == $comment['ID'] && $comment['CAN_EDIT'] == "Y" ? $level : $level + 1, 2.5, false, array(), false, false, false, $arParams); } if (strlen($errorComment) > 0 && $bCanUserComment === true && (IntVal($_POST['parentId']) == $comment['ID'] || IntVal($_POST['edit_id']) == $comment['ID'])) { ?> <div class="blog-errors blog-note-box blog-note-error"> <div class="blog-error-text"> <?php echo $errorComment; ?> </div> </div> <?php } ?> </div> <div id="err_comment_<?php echo $comment['ID']; ?> "></div> <div id="form_comment_<?php echo $comment['ID']; ?> "></div> <div id="new_comment_cont_<?php echo $comment['ID']; ?> " style="padding-left:<?php echo $paddingSizeNew; ?> em;"></div> <div id="new_comment_<?php echo $comment['ID']; ?> " style="display:none;"></div> <?php if ((strlen($errorComment) > 0 || strlen($_POST['preview']) > 0) && (IntVal($_POST['parentId']) == $comment['ID'] || IntVal($_POST['edit_id']) == $comment['ID']) && $bCanUserComment === true) { ?> <script> top.text<?php echo $comment['ID']; ?> = text<?php echo $comment['ID']; ?> = '<?php echo CUtil::JSEscape($_POST['comment']); ?> '; top.title<?php echo $comment['ID']; ?> = title<?php echo $comment['ID']; ?> = '<?php echo CUtil::JSEscape($_POST['subject']); ?> '; <?php if (IntVal($_POST['edit_id']) == $comment['ID']) { ?> editComment('<?php echo $comment['ID']; ?> ');<?php } else { ?> showComment('<?php echo $comment['ID']; ?> ', 'Y', '<?php echo CUtil::JSEscape($_POST['user_name']); ?> ', '<?php echo CUtil::JSEscape($_POST['user_email']); ?> ', 'Y');<?php } ?> </script> <?php } } elseif ($comment['SHOW_AS_HIDDEN'] == "Y") { echo "<b>" . GetMessage("BPC_HIDDEN_COMMENT") . "</b>"; } ?> </div> <?php } }
<?php if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) { die; } if (!empty($arResult['ITEMS'])) { foreach ($arResult['ITEMS'] as $key => $arItem) { $found = false; if (!empty($arItem['CODE'])) { $rows = CInc::getCBRDynamic($arItem['CODE']); if (!empty($rows)) { $found = true; $rows = array_reverse(array_values($rows)); $arResult['ITEMS'][$key]['VALUE'] = array('LAST' => current($rows), 'PREV' => count($rows > 1) ? $rows[1] : false); } } if (!$found) { unset($arResult['ITEMS'][$key]); } } }