Exemple #1
0
            }
            if ($arResult["bGetComments"] && intval($arParams["CREATED_BY_ID"]) > 0) {
                if ($arCommentTmp["EVENT"]["USER_ID"] == $arParams["CREATED_BY_ID"]) {
                    $arCommentsFullListCut[] = $arCommentTmp;
                }
            } else {
                $event_date_log_ts = isset($arCommentTmp["EVENT"]["LOG_DATE_TS"]) ? $arCommentTmp["EVENT"]["LOG_DATE_TS"] : MakeTimeStamp($arCommentTmp["EVENT"]["LOG_DATE"]) - intval($arResult["TZ_OFFSET"]);
                if ($arParams["COMMENT_ID"] <= 0 && $key >= $arParams["COMMENTS_IN_EVENT"] && (intval($arResult["LAST_LOG_TS"]) <= 0 || $event_date_log_ts <= $arResult["LAST_LOG_TS"])) {
                    //
                } else {
                    $arCommentsFullListCut[] = $arCommentTmp;
                }
            }
            $arCommentID[] = $arCommentTmp["EVENT"]["RATING_ENTITY_ID"];
        }
        $arCommentRights = CSocNetLogComponent::getCommentRights(array("EVENT_ID" => $arEvent["EVENT"]["EVENT_ID"], "SOURCE_ID" => $arEvent["EVENT"]["SOURCE_ID"]));
        $arResult["COMMENT_RIGHTS_EDIT"] = $arCommentRights["COMMENT_RIGHTS_EDIT"];
        $arResult["COMMENT_RIGHTS_DELETE"] = $arCommentRights["COMMENT_RIGHTS_DELETE"];
        $arEvent["COMMENTS"] = array_reverse($arCommentsFullListCut);
        $arResult["RATING_COMMENTS"] = array();
        if (!empty($arCommentID) && $arParams["SHOW_RATING"] == "Y" && strlen($rating_entity_type) > 0) {
            $arResult["RATING_COMMENTS"] = CRatings::GetRatingVoteResult($rating_entity_type, $arCommentID);
        }
    }
} else {
    return;
}
$arResult["Event"] = $arEvent;
$arResult["WORKGROUPS_PAGE"] = COption::GetOptionString("socialnetwork", "workgroups_page", "/workgroups/", SITE_ID);
$arResult["GET_COMMENTS"] = $bGetComments ? "Y" : "N";
$this->IncludeComponentTemplate();
Exemple #2
0
 public static function canUserChangeComment($arParams)
 {
     $res = false;
     if (!is_array($arParams)) {
         $arParams = array();
     }
     if (empty($arParams["LOG_EVENT_ID"])) {
         return $res;
     }
     if (!isset($arParams["USER_ID"]) || intval($arParams["USER_ID"]) <= 0) {
         $arParams["USER_ID"] = $GLOBALS["USER"]->GetId();
     }
     if (!isset($arParams["ACTION"])) {
         $arParams["ACTION"] = "edit";
     }
     $arParams["ACTION"] = ToUpper($arParams["ACTION"]);
     $rights = CSocNetLogComponent::getCommentRights(array("EVENT_ID" => $arParams["LOG_EVENT_ID"], "SOURCE_ID" => isset($arParams["LOG_SOURCE_ID"]) ? intval($arParams["LOG_SOURCE_ID"]) : false, "CHECK_ADMIN_SESSION" => isset($arParams["CHECK_ADMIN_SESSION"]) && $arParams["CHECK_ADMIN_SESSION"] == "N" ? "N" : "Y"));
     $key = $arParams["ACTION"] == "EDIT" ? "COMMENT_RIGHTS_EDIT" : "COMMENT_RIGHTS_DELETE";
     if ($rights[$key] == "OWNLAST" && !empty($arParams["LOG_ID"]) && intval($arParams["LOG_ID"]) > 0 && !empty($arParams["COMMENT_ID"]) && intval($arParams["COMMENT_ID"]) > 0) {
         $rsResCheck = CSocNetLogComments::GetList(array("ID" => "DESC"), array("LOG_ID" => intval($arParams["LOG_ID"])), false, false, array("ID"));
         if (($arResCheck = $rsResCheck->Fetch()) && $arResCheck["ID"] == intval($arParams["COMMENT_ID"]) && !empty($arParams["COMMENT_USER_ID"]) && intval($arParams["COMMENT_USER_ID"]) > 0 && intval($arParams["COMMENT_USER_ID"]) == intval($arParams["USER_ID"])) {
             $res = true;
         }
     } elseif ($rights[$key] == "ALL" || $rights[$key] == "OWN" && !empty($arParams["COMMENT_USER_ID"]) && intval($arParams["COMMENT_USER_ID"]) > 0 && intval($arParams["COMMENT_USER_ID"]) == intval($arParams["USER_ID"])) {
         $res = true;
     }
     return $res;
 }