示例#1
0
 if (!empty($arComponentVoteResult)) {
     $arParams['TOTAL_VALUE'] = $arComponentVoteResult['TOTAL_VALUE'];
     $arParams['TOTAL_VOTES'] = $arComponentVoteResult['TOTAL_VOTES'];
     $arParams['TOTAL_POSITIVE_VOTES'] = $arComponentVoteResult['TOTAL_POSITIVE_VOTES'];
     $arParams['TOTAL_NEGATIVE_VOTES'] = $arComponentVoteResult['TOTAL_NEGATIVE_VOTES'];
     $arParams['USER_HAS_VOTED'] = $arComponentVoteResult['USER_HAS_VOTED'];
     $arParams['USER_VOTE'] = $arComponentVoteResult['USER_VOTE'];
 } else {
     $arParams['TOTAL_VALUE'] = 0;
     $arParams['TOTAL_VOTES'] = 0;
     $arParams['TOTAL_POSITIVE_VOTES'] = 0;
     $arParams['TOTAL_NEGATIVE_VOTES'] = 0;
     $arParams['USER_HAS_VOTED'] = 'N';
     $arParams['USER_VOTE'] = '0';
 }
 $arAllowVote = CRatings::CheckAllowVote($arParams);
 if ($arAllowVote['RESULT']) {
     $APPLICATION->RestartBuffer();
     $action = 'list';
     if ($_POST['RATING_VOTE_ACTION'] == 'plus' || $_POST['RATING_VOTE_ACTION'] == 'minus') {
         $arAdd = array("ENTITY_TYPE_ID" => $_POST['RATING_VOTE_TYPE_ID'], "ENTITY_ID" => intval($_POST['RATING_VOTE_ENTITY_ID']), "VALUE" => $_POST['RATING_VOTE_ACTION'] == 'plus' ? 1 : -1, "USER_IP" => $_SERVER['REMOTE_ADDR'], "USER_ID" => $USER->GetId());
         CRatings::AddRatingVote($arAdd);
         $action = $_POST['RATING_VOTE_ACTION'];
     } else {
         if ($_POST['RATING_VOTE_ACTION'] == 'cancel') {
             $arCancel = array("ENTITY_TYPE_ID" => $_POST['RATING_VOTE_TYPE_ID'], "ENTITY_ID" => intval($_POST['RATING_VOTE_ENTITY_ID']), "USER_ID" => $USER->GetId());
             CRatings::CancelRatingVote($arCancel);
             $action = $_POST['RATING_VOTE_ACTION'];
         }
     }
     $ar = array("ENTITY_TYPE_ID" => $_POST['RATING_VOTE_TYPE_ID'], "ENTITY_ID" => intval($_POST['RATING_VOTE_ENTITY_ID']), "LIST_LIMIT" => 0, "LIST_TYPE" => isset($_POST['RATING_VOTE_ACTION']) && $_POST['RATING_VOTE_ACTION'] == 'minus' ? 'minus' : 'plus');
示例#2
0
 function __SLMGetLogCommentRecord($arComments, $arParams)
 {
     $arParams["MOBILE"] = "Y";
     $arParams["NEW_TEMPLATE"] = "Y";
     $dateFormated = FormatDate($GLOBALS['DB']->DateFormatToPHP(FORMAT_DATE), MakeTimeStamp(array_key_exists("LOG_DATE_FORMAT", $arComments) ? $arComments["LOG_DATE_FORMAT"] : $arComments["LOG_DATE"]));
     $timestamp = MakeTimeStamp(array_key_exists("LOG_DATE_FORMAT", $arComments) ? $arComments["LOG_DATE_FORMAT"] : $arComments["LOG_DATE"]);
     $timeFormated = FormatDate(GetMessage("SONET_SLM_FORMAT_TIME"), $timestamp);
     $dateTimeFormated = FormatDate($arParams["DATE_TIME_FORMAT"] == "FULL" ? $GLOBALS["DB"]->DateFormatToPHP(str_replace(":SS", "", FORMAT_DATETIME)) : $arParams["DATE_TIME_FORMAT"], $timestamp);
     if (strcasecmp(LANGUAGE_ID, 'EN') !== 0 && strcasecmp(LANGUAGE_ID, 'DE') !== 0) {
         $dateFormated = ToLower($dateFormated);
         $dateTimeFormated = ToLower($dateTimeFormated);
     }
     // strip current year
     if (!empty($arParams['DATE_TIME_FORMAT']) && ($arParams['DATE_TIME_FORMAT'] == 'j F Y G:i' || $arParams['DATE_TIME_FORMAT'] == 'j F Y g:i a')) {
         $dateTimeFormated = ltrim($dateTimeFormated, '0');
         $curYear = date('Y');
         $dateTimeFormated = str_replace(array('-' . $curYear, '/' . $curYear, ' ' . $curYear, '.' . $curYear), '', $dateTimeFormated);
     }
     $title = "";
     $path2Entity = $arComments["ENTITY_TYPE"] == SONET_ENTITY_GROUP ? CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_GROUP"], array("group_id" => $arComments["ENTITY_ID"])) : CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_USER"], array("user_id" => $arComments["ENTITY_ID"]));
     if (intval($arComments["USER_ID"]) > 0) {
         $suffix = is_array($GLOBALS["arExtranetUserID"]) && in_array($arComments["USER_ID"], $GLOBALS["arExtranetUserID"]) ? GetMessage("SONET_SLM_EXTRANET_SUFFIX") : "";
         $arTmpUser = array("NAME" => $arComments["~CREATED_BY_NAME"], "LAST_NAME" => $arComments["~CREATED_BY_LAST_NAME"], "SECOND_NAME" => $arComments["~CREATED_BY_SECOND_NAME"], "LOGIN" => $arComments["~CREATED_BY_LOGIN"]);
         $bUseLogin = $arParams["SHOW_LOGIN"] != "N" ? true : false;
         $arCreatedBy = array("FORMATTED" => CUser::FormatName($arParams["NAME_TEMPLATE"], $arTmpUser, $bUseLogin) . $suffix, "URL" => CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_USER"], array("user_id" => $arComments["USER_ID"], "id" => $arComments["USER_ID"])));
     } else {
         $arCreatedBy = array("FORMATTED" => GetMessage("SONET_SLM_CREATED_BY_ANONYMOUS"));
     }
     $arTmpUser = array("NAME" => $arComments["~USER_NAME"], "LAST_NAME" => $arComments["~USER_LAST_NAME"], "SECOND_NAME" => $arComments["~USER_SECOND_NAME"], "LOGIN" => $arComments["~USER_LOGIN"]);
     $arParamsTmp = $arParams;
     $arParamsTmp["AVATAR_SIZE"] = $arParams["AVATAR_SIZE_COMMENT"];
     if (is_array($arComments)) {
         unset($arComments["~MESSAGE"]);
         unset($arComments["TEXT_MESSAGE"]);
         unset($arComments["~TEXT_MESSAGE"]);
     }
     $arTmpCommentEvent = array("EVENT" => $arComments, "LOG_DATE" => $arComments["LOG_DATE"], "LOG_DATE_TS" => MakeTimeStamp($arComments["LOG_DATE"]), "LOG_DATE_DAY" => ConvertTimeStamp(MakeTimeStamp($arComments["LOG_DATE"]), "SHORT"), "LOG_TIME_FORMAT" => $timeFormated, "TITLE_TEMPLATE" => $title, "TITLE" => $title, "TITLE_FORMAT" => $title, "ENTITY_NAME" => $arComments["ENTITY_TYPE"] == SONET_ENTITY_GROUP ? $arComments["GROUP_NAME"] : CUser::FormatName($arParams['NAME_TEMPLATE'], $arTmpUser, $bUseLogin), "ENTITY_PATH" => $path2Entity, "CREATED_BY" => $arCreatedBy, "AVATAR_SRC" => CSocNetLogTools::FormatEvent_CreateAvatar($arComments, $arParamsTmp));
     $arEvent = CSocNetLogTools::FindLogCommentEventByID($arComments["EVENT_ID"]);
     if ($arEvent && array_key_exists("CLASS_FORMAT", $arEvent) && array_key_exists("METHOD_FORMAT", $arEvent)) {
         $arFIELDS_FORMATTED = call_user_func(array($arEvent["CLASS_FORMAT"], $arEvent["METHOD_FORMAT"]), $arComments, $arParams, false, array());
     }
     $message = $arFIELDS_FORMATTED && array_key_exists("EVENT_FORMATTED", $arFIELDS_FORMATTED) && array_key_exists("MESSAGE", $arFIELDS_FORMATTED["EVENT_FORMATTED"]) ? $arFIELDS_FORMATTED["EVENT_FORMATTED"]["MESSAGE"] : $arTmpCommentEvent["MESSAGE"];
     $bToday = $arTmpCommentEvent["LOG_DATE_DAY"] == ConvertTimeStamp();
     if ($bToday || intval((time() - $timestamp) / 60 / 60) < 24) {
         $arFIELDS_FORMATTED["EVENT_FORMATTED"]["DATETIME"] = $timeFormated;
     } else {
         $arFIELDS_FORMATTED["EVENT_FORMATTED"]["DATETIME"] = $dateTimeFormated;
     }
     $arFIELDS_FORMATTED["EVENT_FORMATTED"]["ALLOW_VOTE"] = CRatings::CheckAllowVote(array("ENTITY_TYPE_ID" => $arComments["RATING_TYPE_ID"], "OWNER_ID" => $arComments["USER_ID"]));
     $arTmpCommentEvent["EVENT_FORMATTED"] = $arFIELDS_FORMATTED["EVENT_FORMATTED"];
     $arTmpCommentEvent["UF"] = $arComments["UF"];
     return $arTmpCommentEvent;
 }
示例#3
0
文件: ajax.php 项目: ASDAFF/bitrix-5
					$arResult["arComments"][$key]["EVENT"]["RATING_TOTAL_VOTES"] = (isset($arRatingComments[$arCommentTmp["EVENT"]["RATING_ENTITY_ID"]]["TOTAL_VOTES"]) ? $arRatingComments[$arCommentTmp["EVENT"]["RATING_ENTITY_ID"]]["TOTAL_VOTES"] : 0);
				}
				else
				{
					$arResult["arComments"][$key]["EVENT"]["RATING_USER_VOTE_VALUE"] = 0;
					$arResult["arComments"][$key]["EVENT"]["RATING_USER_HAS_VOTED"] = "N";
					$arResult["arComments"][$key]["EVENT"]["RATING_TOTAL_POSITIVE_VOTES"] = 0;
					$arResult["arComments"][$key]["EVENT"]["RATING_TOTAL_NEGATIVE_VOTES"] = 0;
					$arResult["arComments"][$key]["EVENT"]["RATING_TOTAL_VALUE"] = 0;
					$arResult["arComments"][$key]["EVENT"]["RATING_TOTAL_VOTES"] = 0;
				}
				
				if (strlen($rating_entity_type) > 0)
					$arResult["arComments"][$key]["EVENT_FORMATTED"]["ALLOW_VOTE"] = CRatings::CheckAllowVote(
						array(
							"ENTITY_TYPE_ID" => $rating_entity_type,
							"OWNER_ID" => $arResult["arComments"][$key]["EVENT"]["USER_ID"]
						)
					);
			}
		}
	}
	elseif ($action == "change_favorites" && $GLOBALS["USER"]->IsAuthorized())
	{
		$log_id = intval($_REQUEST["log_id"]);
		if ($arLog = CSocNetLog::GetByID($log_id))
		{
			if ($strRes = CSocNetLogFavorites::Change($GLOBALS["USER"]->GetID(), $log_id))
			{
				if ($strRes == "Y")
					CSocNetLogFollow::Set($GLOBALS["USER"]->GetID(), "L".$log_id, "Y");
				$arResult["bResult"] = $strRes;
示例#4
0
        if ($arParams["CACHE_TIME"] > 0) {
            $cache->StartDataCache($arParams["CACHE_TIME"], $cache_id, $cache_path);
            $cache->EndDataCache(array("arMessages" => $arMessages));
        }
    }
    /************** Rating ****************************************/
    if ($arParams["SHOW_RATING"] == "Y") {
        $arMessageIDs = array_keys($arMessages);
        $arRatings = CRatings::GetRatingVoteResult('FORUM_POST', $arMessageIDs);
        foreach ($arMessages as $postId => $res) {
            if (isset($arRatings[$postId])) {
                $arMessages[$postId]['RATING'] = $arRatings[$postId];
            }
            if (!isset($arMessages[$postId]['RATING'])) {
                $arMessages[$postId]['RATING'] = array('USER_VOTE' => 0, 'USER_HAS_VOTED' => 'N', 'TOTAL_VOTES' => 0, 'TOTAL_POSITIVE_VOTES' => 0, 'TOTAL_NEGATIVE_VOTES' => 0, 'TOTAL_VALUE' => 0);
            }
            $arMessages[$postId]['RATING']['ENTITY_TYPE_ID'] = 'FORUM_POST';
            $arMessages[$postId]['RATING']['ENTITY_ID'] = $postId;
            $arMessages[$postId]['RATING']['OWNER_ID'] = $res['AUTHOR_ID'];
            $arMessages[$postId]['RATING']['PATH_TO_USER_PROFILE'] = $arParams['URL_TEMPLATES_PROFILE_VIEW'];
            $arMessages[$postId]['META:ALLOW_VOTE_RATING'] = CRatings::CheckAllowVote(array('ENTITY_TYPE_ID' => $arMessages[$postId]['RATING']['ENTITY_TYPE_ID'], 'OWNER_ID' => $arMessages[$postId]['RATING']['OWNER_ID']));
        }
    }
    $arResult["MESSAGES"] = $arMessages;
    // Link to forum
    $arResult["read"] = CComponentEngine::MakePathFromTemplate($arParams["URL_TEMPLATES_READ"], array("FID" => $arParams["FORUM_ID"], "TID" => $arResult["FORUM_TOPIC_ID"], "MID" => "s", "PARAM1" => "IB", "PARAM2" => $arParams["ELEMENT_ID"]));
}
if ($arParams['SHOW_TEMPLATE'] === 'Y') {
    $this->IncludeComponentTemplate();
}
return $arResult;