- Модуль: 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();
}
}
}
*/
}