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

CLearnAccessMacroses::getActiveLearningChaptersPeriod: метод Битрикс

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

<?php 
//    /bitrix/modules/learning/classes/general/clearnaccessmacroses.phpCLearnAccessMacroses::getActiveLearningChaptersPeriod()
//    419:

    
public static function getActiveLearningChaptersPeriod($courseLessonId$userId)
    {
        
$arGroupsPeriods self::getActiveLearningGroupsPeriod($courseLessonId$userId);
        if (!
$arGroupsPeriods['IS_EXISTS'])
        {
            return 
false;
        }

        
$arChaptersActiveFrom = array();
        
$arGroupsActiveFrom $arGroupsPeriods['GROUPS_ACTIVE_FROM'];

        
$arLessons = array();
        
$rs CLearnLesson::GetListOfImmediateChilds(
            
$courseLessonId,
            array(),
            array(
'CHECK_PERMISSIONS' => 'N'),
            array(
'LESSON_ID')
        );

        
$arMinChaptersActiveFromTimestamp = array();
        while (
$ar $rs->fetch())
        {
            
$arLessons[$ar['LESSON_ID']] = $ar['NAME'];
            
$arChaptersActiveFrom[$ar['LESSON_ID']] = null;
            
$arMinChaptersActiveFromTimestamp[$ar['LESSON_ID']] = PHP_INT_MAX;
        }

        
// Get the nearest dates, when lesson can be opened
        
foreach ($arGroupsActiveFrom as $groupId => $groupActiveFrom)
        {
            if (
$groupActiveFrom === null)
            {
                continue;
            }

            
$arDelays = 07089af7a0386c7edbe6fd70e2f17fe7CLearningGroupLesson::getDelays($groupIdarray_keys($arLessons));
            
$groupActiveFromTs MakeTimeStamp($groupActiveFrom);

            foreach (
$arDelays as $lessonId => $delay)
            {
                
$fromTs $groupActiveFromTs 86400 $delay;    // 24h is 86400 seconds

                // search for nearest dates
                
if ($fromTs $arMinChaptersActiveFromTimestamp[$lessonId])
                {
                    
$arChaptersActiveFrom[$lessonId] = ConvertTimeStamp($fromTs'FULL');
                    
$arMinChaptersActiveFromTimestamp[$lessonId] = $fromTs;
                }
            }
        }

        return (
$arChaptersActiveFrom);
    }

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

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

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

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

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

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

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

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