canDoOperation("view_other_settings"))
{
$APPLICATION->authForm(Loc::getMessage("ACCESS_DENIED"));
}
Loc::loadMessages(__DIR__."/composite_diff.php");
$request = Context::getCurrent()->getRequest();
$logId = intval($request->get("log_id"));
$pageId = intval($request->get("page_id"));
$error = null;
$sourceContent = false;
$sourceTitle = "";
if ($logId > 0)
{
$logRecord = LogTable::getList(array(
"filter" => array(
"ID" => $logId,
"TYPE" => \Bitrix\Main\Composite\Debug\Logger::TYPE_CACHE_REWRITING
)
))->fetch();
if ($logRecord && count($logRecord["MESSAGE"]))
{
$sourceContent = $logRecord["MESSAGE"];
$sourceTitle = $logRecord["TITLE"];
$sourceTitle .= " (". $logRecord["CREATED"].")";
}
else
{
$error = Loc::getMessage("MAIN_COMPOSITE_DIFF_LOG_NOT_FOUND");
}
}
else if ($pageId > 0)
{
$page = PageTable::getRowById($pageId);
if ($page)
{
$cache = Page::createFromCacheKey($page["CACHE_KEY"]);
$sourceContent = $cache->read();
$sourceTitle = $page["TITLE"]." (".Loc::getMessage("MAIN_COMPOSITE_DIFF_CURRENT_VERSION").")";
if (!$sourceContent)
{
$error = Loc::getMessage("MAIN_COMPOSITE_DIFF_CONTENT_NOT_FOUND");
}
}
else
{
$error = Loc::getMessage("MAIN_COMPOSITE_DIFF_PAGE_NOT_FOUND");
}
}
if (!$sourceContent)
{
echo $error;
return;
}
?>