switch ($_REQUEST['action']) { case "delete": @set_time_limit(0); $DB->StartTransaction(); $ch = new CTest(); if (!$ch->Delete($ID)) { $DB->Rollback(); $lAdmin->AddGroupError(GetMessage("LEARNING_DELETE_ERROR"), $ID); } $DB->Commit(); break; case "activate": case "deactivate": $ch = new CTest(); $arFields = array("ACTIVE" => $_REQUEST['action'] == "activate" ? "Y" : "N"); if (!$ch->Update($ID, $arFields)) { if ($e = $APPLICATION->GetException()) { $lAdmin->AddGroupError(GetMessage("SAVE_ERROR") . $ID . ": " . $e->GetString(), $ID); } } break; } } 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();
$NEXT_QUESTION_ON_ERROR = $SHOW_ERRORS == "Y" && $NEXT_QUESTION_ON_ERROR == "N" && $PASSAGE_TYPE == "2" ? "N" : "Y"; $arFields = array("ACTIVE" => $ACTIVE, "COURSE_ID" => $COURSE_ID, "NAME" => $NAME, "CODE" => $CODE, "SORT" => $SORT, "DESCRIPTION" => $DESCRIPTION, "DESCRIPTION_TYPE" => $DESCRIPTION_TYPE, "TIME_LIMIT" => $TIME_LIMIT, "ATTEMPT_LIMIT" => $ATTEMPT_LIMIT, "COMPLETED_SCORE" => $COMPLETED_SCORE, "QUESTIONS_FROM" => $QUESTIONS_FROM, "QUESTIONS_AMOUNT" => $QUESTIONS_AMOUNT, "QUESTIONS_FROM_ID" => $QUESTIONS_FROM_ID, "RANDOM_QUESTIONS" => $RANDOM_QUESTIONS, "RANDOM_ANSWERS" => $RANDOM_ANSWERS, "APPROVED" => $APPROVED, "INCLUDE_SELF_TEST" => $INCLUDE_SELF_TEST, "PASSAGE_TYPE" => $PASSAGE_TYPE, "PREVIOUS_TEST_ID" => $PREVIOUS_TEST_ID, "PREVIOUS_TEST_SCORE" => $PREVIOUS_TEST_SCORE, "INCORRECT_CONTROL" => $INCORRECT_CONTROL, "CURRENT_INDICATION" => $CURRENT_INDICATION, "FINAL_INDICATION" => $FINAL_INDICATION, "SHOW_ERRORS" => $SHOW_ERRORS, "NEXT_QUESTION_ON_ERROR" => $NEXT_QUESTION_ON_ERROR, "MIN_TIME_BETWEEN_ATTEMPTS" => $MIN_TIME_BETWEEN_ATTEMPTS); if (strlen($arFields["COMPLETED_SCORE"]) <= 0) { unset($arFields["COMPLETED_SCORE"]); $arFields["APPROVED"] = "N"; } if (intval($arFields["PREVIOUS_TEST_ID"]) <= 0) { $arFields["PREVIOUS_TEST_ID"] = false; } if (strlen($arFields["PREVIOUS_TEST_SCORE"]) <= 0) { $arFields["PREVIOUS_TEST_SCORE"] = 0; } $DB->StartTransaction(); if ($ID > 0) { $actionType = "update"; $res = $test->Update($ID, $arFields); } else { $actionType = "add"; $ID = $test->Add($arFields); $res = $ID > 0; } if (!$res) { if ($e = $APPLICATION->GetException()) { $message = new CAdminMessage(GetMessage("LEARNING_ERROR"), $e); } $bVarsFromForm = true; } else { //Marks $marks = CLTestMark::GetList(array(), array("TEST_ID" => $ID)); $arMarks = $arScores = array(); while ($m = $marks->GetNext()) {