• Модуль: webdav
  • Путь к файлу: ~/bitrix/modules/webdav/classes/iblocksocnetevent.php
  • Класс: CWebDavSocNetEvent
  • Вызов: CWebDavSocNetEvent::SocnetLogFileUpdate
public function SocnetLogFileUpdate($arParams, $file=null)
{
	/*

$arParams :
$arParams:array (
'OPERATION' =>
array (
	'UPDATE_TYPE' =>
	array (
		0 => 'PREVIEW_TEXT',
	),
	'NAME' => 'UPDATE',
), ....
UPDATE_TYPE:
'PREVIEW_TEXT' - изменение описание
'TAGS' - измение тегов
'FILE' - изменение файла
	 */

	global $USER;

	if ($file === null) // webdav 11.0.0
	{
		$file = array(
			"status" => "success",
			"hidden" => isset($arParams["ELEMENT"]["hidden"]) ? $arParams["ELEMENT"]["hidden"] : false,
			"dropped" => isset($arParams["ELEMENT"]["dropped"]) ? $arParams["ELEMENT"]["dropped"] : false,
			"title" => $arParams["ELEMENT"]["name"],
			"id" => $arParams["ELEMENT"]["id"]
		);
	}

	if ($file['dropped'] || $file['hidden'] || $file["status"] != "success") // don't notificate about attached files
		return;

	if (! $arLog = $this->GetSocnetLogByFileID($arParams["ELEMENT"]["id"], $this->event_id)) // file does'n exist in Log for some reason. Let's try to add it!
	{
		self::SocnetLogFileAdd($arParams);
	}
/*
	else
	{

		if (
			strlen($arLog["PARAMS"]) > 0
			&& $arTmp = unserialize($arLog["PARAMS"])
		)
			$arLogParams = $arTmp;
		else
			$arLogParams = array();

		$arLogParams["action"] = "!!!!!!!!!!!!!!!!"; // write kind for update to use it in format callback

		$sAuthorName = GetMessage("SONET_LOG_GUEST");
		$sAuthorUrl = "";
		if ($USER->IsAuthorized())
		{
			$sAuthorName = trim($USER->GetFullName());
			$sAuthorName = (empty($sAuthorName) ? $USER->GetLogin() : $sAuthorName);
			$sAuthorUrl = CComponentEngine::MakePathFromTemplate($this->arPath["PATH_TO_USER"],
				array("USER_ID" => $USER->GetID()));
		}

		$arFields = array_merge($arFields, array(
			"=LOG_DATE" => $GLOBALS["DB"]->CurrentTimeFunction(),
			"=LOG_UPDATE" => $GLOBALS["DB"]->CurrentTimeFunction(),
			"TITLE_TEMPLATE" => str_replace("#AUTHOR_NAME#", $sAuthorName, GetMessage("SONET_FILES_UPDATE_LOG")),
			"TITLE" => $file["title"],
			"MODULE_ID" => false,
			"CALLBACK_FUNC" => false,
			"SOURCE_ID" => $file["id"],
			"RATING_TYPE_ID" => "IBLOCK_ELEMENT",
			"RATING_ENTITY_ID" => intval($arParams["ELEMENT"]["id"]),
			"PARAMS" => serialize($arLogParams)
		));

		if ($USER->IsAuthorized())
			$arFields["USER_ID"] = $USER->GetID();

		if (IsModuleInstalled("extranet"))
			$serverName = "#SERVER_NAME#";
		else
			$serverName = (defined("SITE_SERVER_NAME") && strLen(SITE_SERVER_NAME) > 0) ? SITE_SERVER_NAME : COption::GetOptionString("main", "server_name");

		$arFields["MESSAGE"] = str_replace(array("#AUTHOR_NAME#", "#AUTHOR_URL#"), array(htmlspecialcharsEx($sAuthorName), $sAuthorUrl),
			($USER->IsAuthorized() ? GetMessage("SONET_LOG_TEMPLATE_AUTHOR") : GetMessage("SONET_LOG_TEMPLATE_GUEST"))."");
		$arFields["TEXT_MESSAGE"] = str_replace(array("#URL#", "#TITLE#"),
			array("http://".$serverName.$arFields["URL"],  $arFields["TITLE"]),
			GetMessage("SONET_FILES_UPDATE_LOG_TEXT"));



		$logID = CSocNetLog::Update($log_id, $arFields);
		if (intval($logID) > 0)
		{
			CSocNetLog::SendEvent($logID, "SONET_NEW_EVENT", $logID);
		}
		else
		{
			global $APPLICATION;
			if($ex = $APPLICATION->GetException())
			{
				$strError = $ex->GetString();
			}
		}

	}
*/
}