<td align="center" width="20%"><?php echo GetMessage("LEARNING_TEST_MARK"); ?> </td> <td align="center" width="50%"><?php echo GetMessage("LEARNING_TEST_MARK_MESSAGE"); ?> </td> <td align="center" width="10%"><?php echo GetMessage("LEARNING_TEST_MARK_DELETE"); ?> </td> </tr> <?php if ($ID) { $marks = CLTestMark::GetList(array("score" => "DESC"), array("TEST_ID" => $ID)); while ($arMarkData = $marks->Fetch()) { $s_ID = (int) $arMarkData['ID']; $s_SCORE = (int) $arMarkData['SCORE']; $s_MARK = htmlspecialcharsbx($arMarkData['MARK']); $s_DESCRIPTION = htmlspecialcharsbx($arMarkData['DESCRIPTION']); ?> <tr> <td align="center"><?php echo $s_ID; ?> </td> <td align="center"> <div style="white-space:nowrap;"><?php echo GetMessage("LEARNING_TEST_SCORE_TILL"); ?>
function Delete($ID) { global $DB; $ID = intval($ID); if ($ID < 1) { return false; } CLearnHelper::FireEvent('OnBeforeTestDelete', $ID); //Gradebook $records = CGradeBook::GetList(array(), array("TEST_ID" => $ID)); while ($arRecord = $records->Fetch()) { if (!CGradeBook::Delete($arRecord["ID"])) { return false; } } //Attempts $attempts = CTestAttempt::GetList(array(), array("TEST_ID" => $ID)); while ($arAttempt = $attempts->Fetch()) { if (!CTestAttempt::Delete($arAttempt["ID"])) { return false; } } //Marks $marks = CLTestMark::GetList(array(), array("TEST_ID" => $ID)); while ($arMark = $marks->Fetch()) { if (!CLTestMark::Delete($arMark["ID"])) { return false; } } $strSql = "DELETE FROM b_learn_test WHERE ID = " . $ID; if (!$DB->Query($strSql, false, "File: " . __FILE__ . "<br>Line: " . __LINE__)) { return false; } CEventLog::add(array('AUDIT_TYPE_ID' => 'LEARNING_REMOVE_ITEM', 'MODULE_ID' => 'learning', 'ITEM_ID' => 'T #' . $ID, 'DESCRIPTION' => 'test removed')); CLearnHelper::FireEvent('OnAfterTestDelete', $ID); return true; }
function GetByPercent($TEST_ID, $PERCENT) { global $DB; $PERCENT = intval($PERCENT); if ($PERCENT < 0 || $PERCENT > 100) { return false; } $TEST_ID = intval($TEST_ID); if ($TEST_ID <= 0) { return false; } $arFilter = array(">=SCORE" => $PERCENT, "TEST_ID" => $TEST_ID); $arOrder = array("SCORE" => "ASC"); $rsMark = CLTestMark::GetList($arOrder, $arFilter); if ($arMark = $rsMark->GetNext()) { return $arMark["MARK"]; } else { return false; } }
/** * <p>Метод удаляет тест с идентификатором ID.</p> * * * * * @param int $ID Идентификатор теста. * * * * @return bool <p>Метод возвращает <i>true</i> в случае успешного удаления теста, в * противном случае возвращает <i>false</i>.</p><a name="examples"></a> * * * <h4>Example</h4> * <pre> * <? * if (CModule::IncludeModule("learning")) * { * * $TEST_ID = 99; * $COURSE_ID = 97; * * if (CCourse::GetPermission($COURSE_ID) >= 'W') * { * @set_time_limit(0); * $DB->StartTransaction(); * if (!CTest::Delete($TEST_ID)) * { * echo "Error!"; * $DB->Rollback(); * } * else * $DB->Commit(); * } * } * ?> * </pre> * * * @static * @link http://dev.1c-bitrix.ru/api_help/learning/classes/ctest/delete.php * @author Bitrix */ public static function Delete($ID) { global $DB; $ID = intval($ID); if ($ID < 1) return false; CLearnHelper::FireEvent('OnBeforeTestDelete', $ID); //Gradebook $records = CGradeBook::GetList(Array(), Array("TEST_ID" => $ID)); while($arRecord = $records->Fetch()) { if(!CGradeBook::Delete($arRecord["ID"])) return false; } //Attempts $attempts = CTestAttempt::GetList(Array(), Array("TEST_ID" => $ID)); while($arAttempt = $attempts->Fetch()) { if(!CTestAttempt::Delete($arAttempt["ID"])) return false; } //Marks $marks = CLTestMark::GetList(Array(), Array("TEST_ID" => $ID)); while($arMark = $marks->Fetch()) { if(!CLTestMark::Delete($arMark["ID"])) return false; } $strSql = "DELETE FROM b_learn_test WHERE ID = ".$ID; if (!$DB->Query($strSql, false, "File: ".__FILE__."<br>Line: ".__LINE__)) return false; CLearnHelper::FireEvent('OnAfterTestDelete', $ID); return true; }