本文整理汇总了PHP中CSocNetLogTools::SetUFRights方法的典型用法代码示例。如果您正苦于以下问题:PHP CSocNetLogTools::SetUFRights方法的具体用法?PHP CSocNetLogTools::SetUFRights怎么用?PHP CSocNetLogTools::SetUFRights使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CSocNetLogTools
的用法示例。
在下文中一共展示了CSocNetLogTools::SetUFRights方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: CreateLogMessage
public static function CreateLogMessage(&$fields, $options = array())
{
if (!CModule::IncludeModule('socialnetwork')) {
return false;
}
global $APPLICATION, $DB;
if (!is_array($options)) {
$options = array();
}
$entityTypeID = isset($fields['ENTITY_TYPE_ID']) ? intval($fields['ENTITY_TYPE_ID']) : CCrmOwnerType::Undefined;
if (!CCrmOwnerType::IsDefined($entityTypeID)) {
$fields['ERROR'] = GetMessage('CRM_LF_MSG_ENTITY_TYPE_NOT_FOUND');
return false;
}
$entityType = CCrmOwnerType::ResolveName($entityTypeID);
$entityID = isset($fields['ENTITY_ID']) ? intval($fields['ENTITY_ID']) : 0;
if ($entityID < 0) {
$fields['ERROR'] = GetMessage('CRM_LF_MSG_ENTITY_TYPE_NOT_FOUND');
return false;
}
$message = isset($fields['MESSAGE']) && is_string($fields['MESSAGE']) ? $fields['MESSAGE'] : '';
if ($message === '') {
$fields['ERROR'] = GetMessage('CRM_LF_MSG_EMPTY');
return false;
}
$title = isset($fields['TITLE']) && is_string($fields['TITLE']) ? $fields['TITLE'] : '';
if ($title === '') {
$title = self::UntitledMessageStub;
}
$userID = isset($fields['USER_ID']) ? intval($fields['USER_ID']) : 0;
if ($userID <= 0) {
$userID = CCrmSecurityHelper::GetCurrentUserID();
}
$bbCodeParser = new CTextParser();
$bbCodeParser->allow["HTML"] = "Y";
$eventText = $bbCodeParser->convert4mail($message);
$CCrmEvent = new CCrmEvent();
$eventID = $CCrmEvent->Add(array('ENTITY_TYPE' => $entityType, 'ENTITY_ID' => $entityID, 'EVENT_ID' => 'INFO', 'EVENT_TYPE' => 0, 'EVENT_TEXT_1' => $eventText, 'DATE_CREATE' => ConvertTimeStamp(time() + CTimeZone::GetOffset(), 'FULL', SITE_ID), 'FILES' => array()));
if (is_string($eventID)) {
//MS SQL RETURNS STRING INSTEAD INT
$eventID = intval($eventID);
}
if (!(is_int($eventID) && $eventID > 0)) {
$fields['ERROR'] = 'Could not create event';
return false;
}
$liveFeedEntityType = CCrmLiveFeedEntity::GetByEntityTypeID($entityTypeID);
$eventID = CCrmLiveFeedEvent::GetEventID($liveFeedEntityType, CCrmLiveFeedEvent::Message);
$eventFields = array('EVENT_ID' => $eventID, '=LOG_DATE' => $DB->CurrentTimeFunction(), 'TITLE' => $title, 'MESSAGE' => $message, 'TEXT_MESSAGE' => '', 'MODULE_ID' => 'crm_shared', 'CALLBACK_FUNC' => false, 'ENABLE_COMMENTS' => 'Y', 'PARAMS' => '', 'USER_ID' => $userID, 'ENTITY_TYPE' => $liveFeedEntityType, 'ENTITY_ID' => $entityID, 'SOURCE_ID' => $eventID, 'URL' => CCrmUrlUtil::AddUrlParams(CCrmOwnerType::GetShowUrl($entityTypeID, $entityID), array()));
if (isset($fields['WEB_DAV_FILES']) && is_array($fields['WEB_DAV_FILES'])) {
$eventFields = array_merge($eventFields, $fields['WEB_DAV_FILES']);
}
$sendMessage = isset($options['SEND_MESSAGE']) && is_bool($options['SEND_MESSAGE']) ? $options['SEND_MESSAGE'] : false;
$logEventID = CSocNetLog::Add($eventFields, $sendMessage);
if (is_int($logEventID) && $logEventID > 0) {
$arSocnetRights = $fields["RIGHTS"];
if (!empty($arSocnetRights)) {
$socnetPermsAdd = array();
foreach ($arSocnetRights as $perm_tmp) {
if (preg_match('/^SG(\\d+)$/', $perm_tmp, $matches)) {
if (!in_array("SG" . $matches[1] . "_" . SONET_ROLES_USER, $arSocnetRights)) {
$socnetPermsAdd[] = "SG" . $matches[1] . "_" . SONET_ROLES_USER;
}
if (!in_array("SG" . $matches[1] . "_" . SONET_ROLES_MODERATOR, $arSocnetRights)) {
$socnetPermsAdd[] = "SG" . $matches[1] . "_" . SONET_ROLES_MODERATOR;
}
if (!in_array("SG" . $matches[1] . "_" . SONET_ROLES_OWNER, $arSocnetRights)) {
$socnetPermsAdd[] = "SG" . $matches[1] . "_" . SONET_ROLES_OWNER;
}
}
}
if (count($socnetPermsAdd) > 0) {
$arSocnetRights = array_merge($arSocnetRights, $socnetPermsAdd);
}
CSocNetLogRights::DeleteByLogID($logEventID);
CSocNetLogRights::Add($logEventID, $arSocnetRights);
if (array_key_exists("UF_SONET_LOG_DOC", $eventFields) && is_array($eventFields["UF_SONET_LOG_DOC"]) && count($eventFields["UF_SONET_LOG_DOC"]) > 0) {
if (!in_array("U" . $userID, $arSocnetRights)) {
$arSocnetRights[] = "U" . $userID;
}
CSocNetLogTools::SetUFRights($eventFields["UF_SONET_LOG_DOC"], $arSocnetRights);
}
}
$arUpdateFields = array("RATING_TYPE_ID" => "LOG_ENTRY", "RATING_ENTITY_ID" => $logEventID);
CSocNetLog::Update($logEventID, $arUpdateFields);
self::RegisterOwnershipRelations($logEventID, $eventID, $fields);
$eventFields["LOG_ID"] = $logEventID;
CCrmLiveFeed::CounterIncrement($eventFields);
return $logEventID;
}
$ex = $APPLICATION->GetException();
$fields['ERROR'] = $ex->GetString();
return false;
}
示例2: foreach
foreach ($arResult["arComment"] as $key => $value) {
if (strpos($key, "~") === 0) {
unset($arResult["arComment"][$key]);
}
}
$arResult["arComment"]["RATING_USER_HAS_VOTED"] = "N";
$arResult["sourceID"] = $arComment["SOURCE_ID"];
$arResult["timestamp"] = MakeTimeStamp(array_key_exists("LOG_DATE_FORMAT", $arComment) ? $arComment["LOG_DATE_FORMAT"] : $arComment["LOG_DATE"]);
$arComment["UF"] = $GLOBALS["USER_FIELD_MANAGER"]->GetUserFields("SONET_COMMENT", $arComment["ID"], LANGUAGE_ID);
if (array_key_exists("UF_SONET_COM_DOC", $arComment["UF"]) && array_key_exists("VALUE", $arComment["UF"]["UF_SONET_COM_DOC"]) && is_array($arComment["UF"]["UF_SONET_COM_DOC"]["VALUE"]) && count($arComment["UF"]["UF_SONET_COM_DOC"]["VALUE"]) > 0 && $arCommentEvent["EVENT_ID"] != "tasks_comment") {
$arRights = array();
$dbRight = CSocNetLogRights::GetList(array(), array("LOG_ID" => $arLog["ID"]));
while ($arRight = $dbRight->Fetch()) {
$arRights[] = $arRight["GROUP_CODE"];
}
CSocNetLogTools::SetUFRights($arComment["UF"]["UF_SONET_COM_DOC"]["VALUE"], $arRights);
}
$dateFormated = FormatDate($GLOBALS['DB']->DateFormatToPHP(FORMAT_DATE), $arResult["timestamp"]);
$timeFormat = isset($_REQUEST["dtf"]) ? $_REQUEST["dtf"] : CSite::GetTimeFormat();
$timeFormated = FormatDateFromDB(array_key_exists("LOG_DATE_FORMAT", $arComment) ? $arComment["LOG_DATE_FORMAT"] : $arComment["LOG_DATE"], stripos($timeFormat, 'a') || ($timeFormat == 'FULL' && (strpos(FORMAT_DATETIME, 'T') !== false || strpos(FORMAT_DATETIME, 'TT') !== false)) !== false ? strpos(FORMAT_DATETIME, 'TT') !== false ? 'H:MI TT' : 'H:MI T' : 'HH:MI');
if (intval($arComment["USER_ID"]) > 0) {
$arParams = array_merge(is_array($arParams) ? $arParams : array(), array("PATH_TO_USER" => $_REQUEST["p_user"], "NAME_TEMPLATE" => $_REQUEST["nt"], "SHOW_LOGIN" => $_REQUEST["sl"], "AVATAR_SIZE" => $_REQUEST["as"], "PATH_TO_SMILE" => $_REQUEST["p_smile"]));
$arUser = array("ID" => $arComment["USER_ID"], "NAME" => $arComment["~CREATED_BY_NAME"], "LAST_NAME" => $arComment["~CREATED_BY_LAST_NAME"], "SECOND_NAME" => $arComment["~CREATED_BY_SECOND_NAME"], "LOGIN" => $arComment["~CREATED_BY_LOGIN"], "PERSONAL_PHOTO" => $arComment["~CREATED_BY_PERSONAL_PHOTO"], "PERSONAL_GENDER" => $arComment["~CREATED_BY_PERSONAL_GENDER"]);
$bUseLogin = $arParams["SHOW_LOGIN"] != "N" ? true : false;
$arCreatedBy = array("FORMATTED" => CUser::FormatName($arParams["NAME_TEMPLATE"], $arUser, $bUseLogin), "URL" => CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_USER"], array("user_id" => $arComment["USER_ID"], "id" => $arComment["USER_ID"])));
} else {
$arCreatedBy = array("FORMATTED" => GetMessage("SONET_C73_CREATED_BY_ANONYMOUS"));
}
$arTmpCommentEvent = array("LOG_DATE" => $arComment["LOG_DATE"], "LOG_DATE_FORMAT" => $arComment["LOG_DATE_FORMAT"], "LOG_DATE_DAY" => ConvertTimeStamp(MakeTimeStamp($arComment["LOG_DATE"]), "SHORT"), "LOG_TIME_FORMAT" => $timeFormated, "MESSAGE" => $arComment["MESSAGE"], "MESSAGE_FORMAT" => $arComment["~MESSAGE"], "CREATED_BY" => $arCreatedBy, "AVATAR_SRC" => CSocNetLogTools::FormatEvent_CreateAvatar($arUser, $arParams, ""), "USER_ID" => $arComment["USER_ID"]);
$arEventTmp = CSocNetLogTools::FindLogCommentEventByID($arComment["EVENT_ID"]);
if ($arEventTmp && array_key_exists("CLASS_FORMAT", $arEventTmp) && array_key_exists("METHOD_FORMAT", $arEventTmp)) {