Your IP : 18.191.210.20
<?
$module_id = "perfmon";
$RIGHT = $APPLICATION->GetGroupRight($module_id);
if ($RIGHT >= "R") :
IncludeModuleLangFile($_SERVER["DOCUMENT_ROOT"].BX_ROOT."/modules/main/options.php");
IncludeModuleLangFile(__FILE__);
$arAllOptions = array(
array("max_display_url", GetMessage("PERFMON_OPTIONS_MAX_DISPLAY_URL"), array("text", 6)),
array("warning_log", GetMessage("PERFMON_OPTIONS_WARNING_LOG"), array("checkbox")),
array("cache_log", GetMessage("PERFMON_OPTIONS_CACHE_LOG"), array("checkbox")),
array("large_cache_log", GetMessage("PERFMON_OPTIONS_LARGE_CACHE_LOG"), array("checkbox"), GetMessage("PERFMON_OPTIONS_LARGE_CACHE_NOTE")),
array("large_cache_size", GetMessage("PERFMON_OPTIONS_LARGE_CACHE_SIZE"), array("text", 6)),
array("sql_log", GetMessage("PERFMON_OPTIONS_SQL_LOG"), array("checkbox")),
array("sql_backtrace", GetMessage("PERFMON_OPTIONS_SQL_BACKTRACE"), array("checkbox")),
array("slow_sql_log", GetMessage("PERFMON_OPTIONS_SLOW_SQL_LOG"), array("checkbox"), GetMessage("PERFMON_OPTIONS_SLOW_SQL_NOTE")),
array("slow_sql_time", GetMessage("PERFMON_OPTIONS_SLOW_SQL_TIME"), array("text", 6)),
);
$aTabs = array(
array("DIV" => "edit1", "TAB" => GetMessage("MAIN_TAB_SET"), "ICON" => "perfmon_settings", "TITLE" => GetMessage("MAIN_TAB_TITLE_SET")),
array("DIV" => "edit2", "TAB" => GetMessage("MAIN_TAB_RIGHTS"), "ICON" => "perfmon_settings", "TITLE" => GetMessage("MAIN_TAB_TITLE_RIGHTS")),
);
$tabControl = new CAdminTabControl("tabControl", $aTabs);
CModule::IncludeModule($module_id);
if ($REQUEST_METHOD == "POST" && strlen($Update.$Apply.$RestoreDefaults) > 0 && $RIGHT == "W" && check_bitrix_sessid())
{
require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/perfmon/prolog.php");
if ($_REQUEST["clear_data"] === "y")
{
CPerfomanceComponent::Clear();
CPerfomanceSQL::Clear();
CPerfomanceHit::Clear();
CPerfomanceError::Clear();
CPerfomanceCache::Clear();
}
if (array_key_exists("ACTIVE", $_REQUEST))
{
$ACTIVE = intval($_REQUEST["ACTIVE"]);
CPerfomanceKeeper::SetActive($ACTIVE > 0, time() + $ACTIVE);
}
if (strlen($RestoreDefaults) > 0)
{
COption::RemoveOption("perfmon");
}
else
{
foreach ($arAllOptions as $arOption)
{
$name = $arOption[0];
$val = $_REQUEST[$name];
if ($arOption[2][0] == "checkbox" && $val != "Y")
$val = "N";
COption::SetOptionString("perfmon", $name, $val, $arOption[1]);
}
}
ob_start();
$Update = $Update.$Apply;
require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/admin/group_rights.php");
ob_end_clean();
if (strlen($_REQUEST["back_url_settings"]) > 0)
{
if ((strlen($Apply) > 0) || (strlen($RestoreDefaults) > 0))
LocalRedirect($APPLICATION->GetCurPage()."?mid=".urlencode($module_id)."&lang=".urlencode(LANGUAGE_ID)."&back_url_settings=".urlencode($_REQUEST["back_url_settings"])."&".$tabControl->ActiveTabParam());
else
LocalRedirect($_REQUEST["back_url_settings"]);
}
else
{
LocalRedirect($APPLICATION->GetCurPage()."?mid=".urlencode($module_id)."&lang=".urlencode(LANGUAGE_ID)."&".$tabControl->ActiveTabParam());
}
}
?>
<form method="post" action="<? echo $APPLICATION->GetCurPage() ?>?mid=<?=urlencode($module_id)?>&lang=<?=LANGUAGE_ID?>">
<?
$tabControl->Begin();
$tabControl->BeginNextTab();
$arNotes = array();
foreach ($arAllOptions as $arOption):
$val = COption::GetOptionString("perfmon", $arOption[0]);
$type = $arOption[2];
if (isset($arOption[3]))
$arNotes[] = $arOption[3];
?>
<tr>
<td width="40%" nowrap <? if ($type[0] == "textarea")
echo 'class="adm-detail-valign-top"' ?>>
<? if (isset($arOption[3])): ?>
<span class="required"><sup><? echo count($arNotes) ?></sup></span>
<? endif; ?>
<label for="<? echo htmlspecialcharsbx($arOption[0]) ?>"><? echo $arOption[1] ?>
:</label>
<td width="60%">
<? if ($type[0] == "checkbox"): ?>
<input
type="checkbox"
name="<? echo htmlspecialcharsbx($arOption[0]) ?>"
id="<? echo htmlspecialcharsbx($arOption[0]) ?>"
value="Y"<? if ($val == "Y") echo " checked"; ?>>
<? elseif ($type[0] == "text"): ?>
<input
type="text"
size="<? echo $type[1] ?>"
maxlength="255"
value="<? echo htmlspecialcharsbx($val) ?>"
name="<? echo htmlspecialcharsbx($arOption[0]) ?>"
id="<? echo htmlspecialcharsbx($arOption[0]) ?>">
<? if ($arOption[0] == "slow_sql_time")
echo GetMessage("PERFMON_OPTIONS_SLOW_SQL_TIME_SEC") ?>
<? if ($arOption[0] == "large_cache_size")
echo GetMessage("PERFMON_OPTIONS_LARGE_CACHE_SIZE_KB") ?>
<?
elseif ($type[0] == "textarea"): ?>
<textarea
rows="<? echo $type[1] ?>"
cols="<? echo $type[2] ?>"
name="<? echo htmlspecialcharsbx($arOption[0]) ?>"
id="<? echo htmlspecialcharsbx($arOption[0]) ?>"
><? echo htmlspecialcharsbx($val) ?></textarea>
<?endif ?>
</td>
</tr>
<? endforeach ?>
<? $ACTIVE = CPerfomanceKeeper::IsActive(); ?>
<tr>
<td valign="top" width="50%">
<? echo GetMessage("PERFMON_OPT_ACTIVE") ?>:
</td>
<td valign="middle" width="50%">
<? if ($ACTIVE): ?>
<? echo GetMessage("PERFMON_OPT_ACTIVE_Y") ?>
<? else: ?>
<? echo GetMessage("PERFMON_OPT_ACTIVE_N") ?>
</td>
<? endif; ?>
</tr>
<? if ($ACTIVE): ?>
<tr>
<td valign="top" width="50%">
<? echo GetMessage("PERFMON_OPT_ACTIVE_TO") ?>:
</td>
<td valign="top" width="50%">
<?
$interval = COption::GetOptionInt("perfmon", "end_time") - time();
$hours = intval($interval / 3600);
$interval -= $hours * 3600;
$minutes = intval($interval / 60);
$interval -= $minutes * 60;
$seconds = intval($interval);
echo GetMessage("PERFMON_OPT_MINUTES", array("#HOURS#" => $hours, "#MINUTES#" => $minutes, "#SECONDS#" => $seconds));
?>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<label for="ACTIVE"><? echo GetMessage("PERFMON_OPT_SET_IN_ACTIVE") ?></label>:
</td>
<td valign="top" width="50%">
<input type="checkbox" name="ACTIVE" value="0" id="ACTIVE_CKBOX">
</td>
</tr>
<? else: ?>
<tr>
<td valign="top" width="50%">
<? echo GetMessage("PERFMON_OPT_SET_ACTIVE") ?>:
</td>
<td valign="top" width="50%">
<select name="ACTIVE" id="ACTIVE_LIST">
<option value="0"><? echo GetMessage("PERFMON_OPT_INTERVAL_NO") ?></option>
<option value="60"><? echo GetMessage("PERFMON_OPT_INTERVAL_60_SEC") ?></option>
<option value="300"><? echo GetMessage("PERFMON_OPT_INTERVAL_300_SEC") ?></option>
<option value="600"><? echo GetMessage("PERFMON_OPT_INTERVAL_600_SEC") ?></option>
<option value="1800"><? echo GetMessage("PERFMON_OPT_INTERVAL_1800_SEC") ?></option>
<option value="3600"><? echo GetMessage("PERFMON_OPT_INTERVAL_3600_SEC") ?></option>
</select>
</td>
</tr>
<tr>
<td valign="top" width="50%">
<label for="clear_data"><? echo GetMessage("PERFMON_OPT_CLEAR_DATA") ?></label>
</td>
<td valign="top" width="50%">
<input type="checkbox" name="clear_data" id="clear_data" value="y">
</td>
</tr>
<?endif; ?>
<? $tabControl->BeginNextTab(); ?>
<? require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/admin/group_rights.php"); ?>
<? $tabControl->Buttons(); ?>
<input <? if ($RIGHT < "W")
echo "disabled" ?> type="submit" name="Update" value="<?=GetMessage("MAIN_SAVE")?>"
title="<?=GetMessage("MAIN_OPT_SAVE_TITLE")?>" class="adm-btn-save">
<input <? if ($RIGHT < "W")
echo "disabled" ?> type="submit" name="Apply" value="<?=GetMessage("MAIN_OPT_APPLY")?>"
title="<?=GetMessage("MAIN_OPT_APPLY_TITLE")?>">
<? if (strlen($_REQUEST["back_url_settings"]) > 0): ?>
<input
<? if ($RIGHT < "W") echo "disabled" ?>
type="button"
name="Cancel"
value="<?=GetMessage("MAIN_OPT_CANCEL")?>"
title="<?=GetMessage("MAIN_OPT_CANCEL_TITLE")?>"
onclick="window.location='<? echo htmlspecialcharsbx(CUtil::addslashes($_REQUEST["back_url_settings"])) ?>'"
>
<input
type="hidden"
name="back_url_settings"
value="<?=htmlspecialcharsbx($_REQUEST["back_url_settings"])?>"
>
<? endif ?>
<input
type="submit"
name="RestoreDefaults"
title="<? echo GetMessage("MAIN_HINT_RESTORE_DEFAULTS") ?>"
onclick="return confirm('<? echo AddSlashes(GetMessage("MAIN_HINT_RESTORE_DEFAULTS_WARNING")) ?>')"
value="<? echo GetMessage("MAIN_RESTORE_DEFAULTS") ?>"
>
<?=bitrix_sessid_post();?>
<? $tabControl->End(); ?>
</form>
<script>
function slow_sql_log_check()
{
var activeCheckbox = BX('ACTIVE_LIST');
if (activeCheckbox)
{
jsSelectUtils.deleteAllOptions(activeCheckbox);
jsSelectUtils.addNewOption(activeCheckbox, '0', '<?echo GetMessageJS("PERFMON_OPT_INTERVAL_NO")?>');
if (
(!BX('sql_log').checked || BX('sql_log').checked && BX('slow_sql_log').checked)
&& (!BX('cache_log').checked || BX('cache_log').checked && BX('large_cache_log').checked)
)
{
jsSelectUtils.addNewOption(activeCheckbox, '3600', '<?echo GetMessageJS("PERFMON_OPT_INTERVAL_3600_SEC")?>');
jsSelectUtils.addNewOption(activeCheckbox, '14400', '<?echo GetMessageJS("PERFMON_OPT_INTERVAL_4_HOURS")?>');
jsSelectUtils.addNewOption(activeCheckbox, '28800', '<?echo GetMessageJS("PERFMON_OPT_INTERVAL_8_HOURS")?>');
jsSelectUtils.addNewOption(activeCheckbox, '86400', '<?echo GetMessageJS("PERFMON_OPT_INTERVAL_24_HOURS")?>');
jsSelectUtils.addNewOption(activeCheckbox, '604800', '<?echo GetMessageJS("PERFMON_OPT_INTERVAL_7_DAYS")?>');
}
else
{
jsSelectUtils.addNewOption(activeCheckbox, '60', '<?echo GetMessageJS("PERFMON_OPT_INTERVAL_60_SEC")?>');
jsSelectUtils.addNewOption(activeCheckbox, '300', '<?echo GetMessageJS("PERFMON_OPT_INTERVAL_300_SEC")?>');
jsSelectUtils.addNewOption(activeCheckbox, '600', '<?echo GetMessageJS("PERFMON_OPT_INTERVAL_600_SEC")?>');
jsSelectUtils.addNewOption(activeCheckbox, '1800', '<?echo GetMessageJS("PERFMON_OPT_INTERVAL_1800_SEC")?>');
jsSelectUtils.addNewOption(activeCheckbox, '3600', '<?echo GetMessageJS("PERFMON_OPT_INTERVAL_3600_SEC")?>');
}
}
}
BX.ready(function ()
{
BX.bind(BX('sql_log'), 'click', slow_sql_log_check);
BX.bind(BX('slow_sql_log'), 'click', slow_sql_log_check);
BX.bind(BX('cache_log'), 'click', slow_sql_log_check);
BX.bind(BX('large_cache_log'), 'click', slow_sql_log_check);
slow_sql_log_check();
});
</script>
<?
if (!empty($arNotes))
{
echo BeginNote();
foreach ($arNotes as $i => $str)
{
?><span class="required"><sup><? echo $i + 1 ?></sup></span><? echo $str ?><br><?
}
echo EndNote();
}
?>
<? endif; ?>