function Add($arFields) { global $DB, $USER_FIELD_MANAGER; if(CTestAttempt::CheckFields($arFields) && $USER_FIELD_MANAGER->CheckFields("LEARN_ATTEMPT", 0, $arFields)) { unset($arFields["ID"]); //$ID = $DB->Add("b_learn_attempt", $arFields, Array(""), "learning"); $arInsert = $DB->PrepareInsert("b_learn_attempt", $arFields, "learning"); $ID = CTestAttempt::DoInsert($arInsert, $arFields); CGradeBook::RecountAttempts($arFields["STUDENT_ID"], $arFields["TEST_ID"]); if ($ID) { $USER_FIELD_MANAGER->Update("LEARN_ATTEMPT", $ID, $arFields); } return $ID; } return false; }
foreach ($arID as $ID) { if (strlen($ID) <= 0) { continue; } $ID = intval($ID); switch ($_REQUEST['action']) { case "delete": @set_time_limit(0); $res = CTestAttempt::GetList(array(), array('ID' => $ID, 'ACCESS_OPERATIONS' => CLearnAccess::OP_LESSON_READ | CLearnAccess::OP_LESSON_WRITE)); if ($ar = $res->Fetch()) { $DB->StartTransaction(); if (!CTestAttempt::Delete($ID)) { $DB->Rollback(); $lAdmin->AddGroupError(GetMessage("LEARNING_DELETE_ERROR"), $ID); } else { CGradeBook::RecountAttempts($ar["STUDENT_ID"], $ar["TEST_ID"]); } $DB->Commit(); } break; } } } // fetch data $rsData = CTestAttempt::GetList(array($by => $order), $arFilter, array(), array('nPageSize' => CAdminResult::GetNavSize($sTableID))); $rsData = new CAdminResult($rsData, $sTableID); // navigation string setup $lAdmin->NavText($rsData->GetNavPrint(GetMessage("LEARNING_ADMIN_RESULTS"))); // list header $lAdmin->AddHeaders(array(array("id" => "ID", "content" => "ID", "sort" => "id", "default" => true), array("id" => "USER_NAME", "content" => GetMessage('LEARNING_ADMIN_STUDENT'), "sort" => "student_id", "default" => true), array("id" => "TEST_NAME", "content" => GetMessage('LEARNING_ADMIN_TEST'), "sort" => "test_name", "default" => true), array("id" => "DATE_START", "content" => GetMessage('LEARNING_ADMIN_DATE_START'), "sort" => "date_start", "default" => true), array("id" => "DATE_END", "content" => GetMessage('LEARNING_ADMIN_DATE_END'), "sort" => "date_end", "default" => true), array("id" => "STATUS", "content" => GetMessage('LEARNING_ADMIN_STATUS'), "sort" => "status", "default" => true), array("id" => "QUESTIONS", "content" => Getmessage('LEARNING_ADMIN_QUESTIONS'), "sort" => "questions", "default" => true, "align" => "center"), array("id" => "COMPLETED", "content" => Getmessage('LEARNING_ADMIN_COMPLETED'), "sort" => "completed", "default" => true), array("id" => "SCORE", "content" => GetMessage('LEARNING_ADMIN_SCORE'), "sort" => "score", "default" => true), array("id" => "MAX_SCORE", "content" => GetMessage('LEARNING_ADMIN_MAX_SCORE'), "sort" => "max_score", "default" => true))); // building list