Поддержка серверов

CCertification::CheckFields: метод Битрикс

Постоянная ссылка: http://bxapi.ru/src/?id=169389

//    CCertification::CheckFields()
//    /bitrix/modules/learning/classes/general/certification.php:27

    function CheckFields(&$arFields, $ID = false)
    {
        global $DB, $APPLICATION;

        if ($ID===false && !is_set($arFields, "STUDENT_ID"))
        {
            $APPLICATION->ThrowException(GetMessage("LEARNING_BAD_USER_ID"), "EMPTY_STUDENT_ID");
            return false;
        }
        elseif (is_set($arFields, "STUDENT_ID"))
        {
            $dbResult = CUser::GetByID($arFields["STUDENT_ID"]);
            if (!$dbResult->Fetch())
            {
                $APPLICATION->ThrowException(GetMessage("LEARNING_BAD_USER_ID_EX"), "ERROR_NO_STUDENT_ID");
                return false;
            }
        }

        if ($ID===false && !is_set($arFields, "COURSE_ID"))
        {
            $APPLICATION->ThrowException(GetMessage("LEARNING_BAD_COURSE_ID"), "ERROR_EMPTY_COURSE_ID");
            return false;
        }
        elseif (is_set($arFields, "COURSE_ID"))
        {
            if ($bCheckRights)
                $r = CCourse::GetByID($arFields["COURSE_ID"]);
            else
                $r = CCourse::GetList(Array(),Array("ID" => $arFields["COURSE_ID"], 'CHECK_PERMISSIONS' => 'N'));

            if(!$r->Fetch())
            {
                $APPLICATION->ThrowException(GetMessage("LEARNING_BAD_COURSE_ID_EX"), "ERROR_NO_COURSE_ID");
                return false;
            }
        }

        if (is_set($arFields, "STUDENT_ID") && is_set($arFields, "COURSE_ID"))
        {
            $res = CCertification::GetList(Array(), Array("STUDENT_ID" => $arFields["STUDENT_ID"], "COURSE_ID" => $arFields["COURSE_ID"]));
            if ($res->Fetch())
            {
                $APPLICATION->ThrowException(GetMessage("LEARNING_BAD_CERTIFICATE_DUPLICATE"), "ERROR_CERTIFICATE_DUPLICATE");
                return false;
            }
        }

        if (is_set($arFields, "DATE_CREATE") && (!$DB->IsDate($arFields["DATE_CREATE"], false, LANG, "FULL")))
        {
            $APPLICATION->ThrowException(GetMessage("LEARNING_BAD_DATE_CREATE"), "EMPTY_DATE_CREATE");
            return false;
        }

        if (is_set($arFields, "PUBLIC_PROFILE") && $arFields["PUBLIC"] != "N")
            $arFields["PUBLIC_PROFILE"] = "Y";

        if (is_set($arFields, "ACTIVE") && $arFields["ACTIVE"] != "N")
            $arFields["ACTIVE"] = "Y";

        if (is_set($arFields, "FROM_ONLINE") && $arFields["FROM_ONLINE"] != "N")
            $arFields["FROM_ONLINE"] = "Y";

        return true;
    }

Блог разработчика

9 августа 2016 ResizeImageGet и простой водяной знак налету

Сегодня поговорим о том как проще всего воткнуть водяной знак на картинки в Битрикс. Например, на все изображения каталога.

21 июля 2016 Добавление вкладки в CRM коробки Битрикс24

В этом посте я покажу, как легко и просто добавить вкладку в сущность CRM. И не просто добавить, а вывести там свой контент.

21 июля 2016 Как просто обращаться из коробки Битрикс24 на сайт на базе Битрикс

К примеру вам хочется внутренним скриптом дернуть с сайта-магазина информацию, которая там, в свою очередь, закрыта некоторыми правами. Например, админскими. Можно конечно мутить свой REST, или иной формат общения, но проще всего воспользоваться штатным инструментом:

Текст сообщения*
Загрузить изображение