CanDoOperation('view_other_settings')) $APPLICATION->AuthForm(GetMessage("ACCESS_DENIED")); $isAdmin = $USER->CanDoOperation('edit_php'); IncludeModuleLangFile(__FILE__); $sTableID = "tbl_sql"; $message = null; CPageOption::SetOptionString("main", "nav_page_in_session", "N"); $lAdmin = new CAdminList($sTableID); if($_SERVER["REQUEST_METHOD"] == "POST" && !empty($query) && $isAdmin && check_bitrix_sessid()) { $first = getmicrotime(); $arErrors = array(); $arQuery = $DB->ParseSQLBatch(str_replace("\r", "", $query)); foreach($arQuery as $i => $sql) { $dbr = $DB->Query($sql, true); if(!$dbr) $arErrors[$i] = $DB->GetErrorMessage(); } if(empty($arErrors)) { $exec_time = round(getmicrotime()-$first, 5); $rsData = new CAdminResult($dbr, $sTableID); $message = new CAdminMessage(array( "MESSAGE" => GetMessage("SQL_SUCCESS_EXECUTE"), "DETAILS" => GetMessage("SQL_EXEC_TIME")."".$exec_time." ".GetMessage("SQL_SEC"), "TYPE" => "OK", "HTML" => true, )); $rsData = new CAdminResult($rsData, $sTableID); $rsData->bPostNavigation = true; $rsData->NavStart(); $lAdmin->NavText($rsData->GetNavPrint(GetMessage("SQL_PAGES"))); $intNumFields = $rsData->FieldsCount(); $i = 0; $header = Array(); $arFieldName = Array(); while ($i<$intNumFields) { $fieldName = htmlspecialcharsbx($rsData->FieldName($i)); $header[] = array("id"=>$fieldName, "content"=>$fieldName, "sort"=>$fieldName, "default"=>true, "align"=>"left", "valign" => "top"); $arFieldName[] = $fieldName; $i++; } $lAdmin->AddHeaders($header); $j = 0; while($db_res=$rsData->Fetch()): $row =& $lAdmin->AddRow("ID", $db_res); foreach ($arFieldName as $field_name) : $row->AddViewField($field_name, TxtToHtml($db_res[$field_name])); endforeach; endwhile; } else { foreach($arErrors as $i => $strError) { $lAdmin->AddFilterError(GetMessage("SQL_QUERY_ERROR_1")."
".$strError); } } } if($message != null) { $lAdmin->BeginPrologContent(); echo $message->Show(); $lAdmin->EndPrologContent(); } $lAdmin->BeginEpilogContent(); ?>