/**********************************************************************/
/** DO NOT MODIFY THIS FILE **/
/** MODIFICATION OF THIS FILE WILL ENTAIL SITE FAILURE **/
/**********************************************************************/
require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_before.php");
define("HELP_FILE", "marketplace/sysupdate.php");
if (!function_exists('htmlspecialcharsbx'))
{
function htmlspecialcharsbx($string, $flags=ENT_COMPAT)
{
//shitty function for php 5.4 where default encoding is UTF-8
return htmlspecialchars($string, $flags, (defined("BX_UTF")? "UTF-8" : "ISO-8859-1"));
}
}
if(!$USER->CanDoOperation('view_other_settings') && !$USER->CanDoOperation('install_updates'))
$APPLICATION->AuthForm(GetMessage("ACCESS_DENIED"));
IncludeModuleLangFile(__FILE__);
$sTableID = "tbl_update_log";
$oSort = new CAdminSorting($sTableID, "date", "desc");
$lAdmin = new CAdminList($sTableID, $oSort);
$lAdmin->AddHeaders(array(
array("id"=>"DESCRIPTION", "content"=>GetMessage("SUP_HIST_DESCR"), "sort"=>"description", "default"=>true),
array("id"=>"DATE", "content"=>GetMessage("SUP_HIST_DATE"), "sort"=>"date", "default"=>true),
array("id"=>"SUCCESS", "content"=>GetMessage("SUP_HIST_STATUS"), "sort"=>"success", "default"=>true),
));
$arLogRecs = array();
if (file_exists($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/updater.log")
&& is_file($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/updater.log")
&& is_readable($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/updater.log"))
{
$logf = fopen($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/updater.log", "r");
while (!feof($logf))
{
$buffer = fgets($logf, 8192);
$rec = false;
if (substr($buffer, strlen("0000-00-00 00:00:00 "), strlen("- UPD_SUCCESS -"))=="- UPD_SUCCESS -")
{
$rec = array(
"S",
substr($buffer, 0, strlen("0000-00-00 00:00:00")),
substr($buffer, strlen("0000-00-00 00:00:00 - UPD_SUCCESS - "))
);
}
elseif (substr($buffer, strlen("0000-00-00 00:00:00 "), strlen("- UPD_ERROR -"))=="- UPD_ERROR -")
{
$rec = array(
"E",
substr($buffer, 0, strlen("0000-00-00 00:00:00")),
substr($buffer, strlen("0000-00-00 00:00:00 - UPD_ERROR - "))
);
}
elseif (substr($buffer, strlen("0000-00-00 00:00:00 "), strlen("- UPD_NOTE -"))=="- UPD_NOTE -")
{
$rec = array(
"N",
substr($buffer, 0, strlen("0000-00-00 00:00:00")),
substr($buffer, strlen("0000-00-00 00:00:00 - UPD_NOTE - "))
);
}
if($rec)
{
$rec[3] = "";
$pos1 = strpos($rec[2], "
");
if($pos1 !== false)
{
$rec[3] = trim(substr($rec[2], $pos1 + 4));
$rec[3] = str_replace('\"', '"', $rec[3]);
$rec[2] = substr($rec[2], 0, $pos1);
}
$arLogRecs[] = $rec;
}
}
fclose($logf);
$by = isset($by) ? strtoupper($by) : '';
if($by == "SUCCESS")
$sort = 0;
elseif($by == "DESCRIPTION")
$sort = 2;
else
$sort = 1;
if(isset($order) && strtoupper($order) == "ASC")
$ord = 1;
else
$ord = -1;
usort(
$arLogRecs,
function ($a, $b) use ($sort, $ord) {
return (strcmp($a[$sort], $b[$sort]) * $ord);
}
);
}
$rsData = new CAdminResult(null, $sTableID);
$rsData->InitFromArray($arLogRecs);
$rsData->NavStart();
$lAdmin->NavText($rsData->GetNavPrint(GetMessage("update_log_nav")));
$n = 0;
while($rec = $rsData->Fetch())
{
$row = &$lAdmin->AddRow(0, null);
$aDate = explode(" ", htmlspecialcharsbx($rec[1]));
$row->AddField("DATE", ''.$aDate[0].' '.$aDate[1]);
$row->AddField("DESCRIPTION", ($rec[3]<>""? ''.htmlspecialcharsbx($rec[2]).'' : htmlspecialcharsbx($rec[2])).'