if (isset($return_url) && strlen($return_url) > 0 && check_bitrix_sessid()) { LocalRedirect($return_url); } } // fetch data $rsData = CTest::GetList(array($by => $order), $arFilter); $rsData = new CAdminResult($rsData, $sTableID); $rsData->NavStart(); // navigation string setup $lAdmin->NavText($rsData->GetNavPrint(GetMessage("LEARNING_TESTS"))); // list header $lAdmin->AddHeaders(array(array("id" => "ID", "content" => "ID", "sort" => "id", "default" => true), array("id" => "TIMESTAMP_X", "content" => GetMessage('LEARNING_COURSE_ADM_DATECH'), "sort" => "timestamp_x", "default" => true), array("id" => "NAME", "content" => GetMessage('LEARNING_NAME'), "sort" => "name", "default" => true), array("id" => "SORT", "content" => GetMessage('LEARNING_COURSE_ADM_SORT'), "sort" => "sort", "default" => true), array("id" => "ACTIVE", "content" => GetMessage('LEARNING_COURSE_ADM_ACT'), "sort" => "active", "default" => true), array("id" => "TESTS_STATS", "content" => GetMessage('LEARNING_TEST_ADM_STATS'), "default" => true))); // building list while ($arRes = $rsData->NavNext(true, "f_")) { $row =& $lAdmin->AddRow($f_ID, $arRes); $arStat = CTest::GetStats($f_ID); $row->AddCheckField("ACTIVE"); $row->AddInputField("NAME", array("size" => "35")); $row->AddInputField("SORT", array("size" => "3")); $index = '-'; if ($arStat["ALL_CNT"] > 0.1) { $index = 100 * ($arStat["CORRECT_CNT"] / $arStat["ALL_CNT"]); $index = round($index, 1); $index = sprintf("%03.1f", $index) . '%'; } $attemptUrl = "learn_attempt_admin.php?lang=" . LANG . "&filter_test_id=" . $f_ID . "&set_filter=Y&&filter_status=F"; $row->AddViewField("TESTS_STATS", $index . ' (<a href="' . $attemptUrl . '&filter_completed=Y">' . $arStat["CORRECT_CNT"] . '</a> / <a href="' . $attemptUrl . '">' . $arStat["ALL_CNT"] . '</a>)'); $arActions = array(); $editActionText = GetMessage("MAIN_ADMIN_MENU_OPEN"); if (!$isReadOnly) {