39 $groupId = (int)
$arFields[
'LEARNING_GROUP_ID'];
41 $strSql =
"INSERT INTO b_learn_groups_lesson (LEARNING_GROUP_ID, LESSON_ID, DELAY)
42 VALUES ($groupId, $lessonId, $delay)";
44 $rc =
$DB->query($strSql, $bIgnoreErrors =
true);
46 return ($rc !==
false);
59 $groupId = (int)
$arFields[
'LEARNING_GROUP_ID'];
61 $strSql =
"UPDATE b_learn_groups_lesson
63 WHERE LEARNING_GROUP_ID = $groupId AND LESSON_ID = $lessonId
66 $rc =
$DB->query($strSql, $bIgnoreErrors =
true);
68 return ($rc !==
false);
87 'LEARNING_GROUP_ID' =>
'LGL.LEARNING_GROUP_ID',
88 'LESSON_ID' =>
'LGL.LESSON_ID',
89 'DELAY' =>
'LGL.DELAY'
92 if (
count($arSelect) <= 0 || in_array(
"*", $arSelect))
95 if (!is_array($arOrder))
99 foreach ($arOrder as $by =>
$order)
110 $arSqlOrder[] =
' ' . $by .
' ' .
$order .
' ';
116 && ( ! in_array($needle, $arSelect,
true) )
119 $arSelect[] = $needle;
123 $arSqlSelect =
array();
124 foreach ($arSelect as $field)
126 $field = mb_strtoupper($field);
128 $arSqlSelect[$field] =
$arFields[$field] .
' AS ' . $field;
131 if (!
sizeof($arSqlSelect))
132 $arSqlSelect =
'LGL.LESSON_ID AS LESSON_ID';
134 $arSqlSearch = self::getFilter(
$arFilter);
138 " . implode(
",\n", $arSqlSelect);
142 b_learn_groups_lesson LGL
144 . (
sizeof($arSqlSearch) ?
" WHERE " . implode(
" AND ", $arSqlSearch) :
"") .
" ";
150 for (
$i = 0, $arSqlOrderCnt =
count($arSqlOrder);
$i < $arSqlOrderCnt;
$i++)
153 $strSqlOrder =
" ORDER BY ";
157 $strSqlOrder .= $arSqlOrder[
$i];
160 $strSql .= $strSqlOrder;
162 if (
count($arNavParams))
164 if (isset($arNavParams[
'nTopCount']))
166 $strSql =
$DB->TopSql($strSql, (
int) $arNavParams[
'nTopCount']);
171 $res_cnt =
$DB->Query(
"SELECT COUNT(LGL.ID) as C " . $strFrom);
172 $res_cnt = $res_cnt->Fetch();
173 $res =
new CDBResult();
174 $rc =
$res->NavQuery($strSql, $res_cnt[
"C"], $arNavParams, $bIgnoreErrors =
false,
"File: " . __FILE__ .
"<br>Line: " . __LINE__);
198 "DELETE FROM b_learn_groups_lesson WHERE LEARNING_GROUP_ID = " . (
int) $groupId,
199 $bIgnoreErrors =
true
202 return ($rc !==
false);
218 "DELETE FROM b_learn_groups_lesson WHERE LESSON_ID = " . (
int) $lessonId,
219 $bIgnoreErrors =
true
222 return ($rc !==
false);
234 public static function delete($lessonId, $groupId)
239 "DELETE FROM b_learn_groups_lesson
240 WHERE LESSON_ID = " . (
int) $lessonId .
"
241 AND LEARNING_GROUP_ID = " . (
int) $groupId,
242 $bIgnoreErrors =
true
245 return ($rc !==
false);
249 public static function getDelays($learningGroupId, $arLessonsIds)
251 if ( ! is_array($arLessonsIds) )
254 $arLessonsIds = array_filter($arLessonsIds);
256 if (empty($arLessonsIds))
261 foreach ($arLessonsIds as $lessonId)
262 $arDelays[$lessonId] = 0;
267 'LEARNING_GROUP_ID' => $learningGroupId,
268 'LESSON_ID' => $arLessonsIds
270 array(
'LESSON_ID',
'DELAY')
273 while (
$ar =
$rs->fetch())
275 $lessonId = (int)
$ar[
'LESSON_ID'];
277 if (isset($arDelays[$lessonId]))
278 $arDelays[$lessonId] = (int)
$ar[
'DELAY'];
285 public static function setDelays($learningGroupId, $arDelays)
287 if ( ! is_array($arDelays) )
290 $learningGroupId = (int) $learningGroupId;
292 $arLessonsIds =
array();
295 foreach ($arDelays as $lessonId => $delay)
296 $arLessonsIds[] = (int) $lessonId;
298 $arLessonsIds = array_unique(array_filter($arLessonsIds));
301 $arRegistered =
array();
302 if ( ! empty($arLessonsIds) )
307 'LEARNING_GROUP_ID' => $learningGroupId,
308 'LESSON_ID' => $arLessonsIds
313 while (
$ar =
$rs->fetch())
314 $arRegistered[] = (int)
$ar[
'LESSON_ID'];
317 $arRegistered = array_unique(array_filter($arRegistered));
320 foreach ($arDelays as $lessonId => $delay)
323 'DELAY' => abs((
int)$delay),
324 'LESSON_ID' => (
int) $lessonId,
325 'LEARNING_GROUP_ID' => $learningGroupId
328 if (in_array((
int)$lessonId, $arRegistered,
true))
336 private static function checkFields(
$arFields)
344 if ( ! array_key_exists(
'LEARNING_GROUP_ID',
$arFields) )
345 $arMsg[] =
array(
"id" =>
"LEARNING_GROUP_ID",
"text" =>
GetMessage(
"LEARNING_BAD_LEARNING_GROUP_ID"));
349 if ( ! (
$rs &&
$rs->fetch()) )
350 $arMsg[] =
array(
"text" =>
GetMessage(
"LEARNING_BAD_LEARNING_GROUP_ID_EX"),
"id" =>
"BAD_GROUP_ID");
353 if ( ! array_key_exists(
'LESSON_ID',
$arFields) )
354 $arMsg[] =
array(
"id" =>
"LESSON_ID",
"text" =>
GetMessage(
"LEARNING_BAD_LESSON_ID"));
358 $e =
new CAdminException($arMsg);
359 $GLOBALS[
"APPLICATION"]->ThrowException($e);
367 private static function getFilter(
$arFilter)
372 $arSqlSearch =
array();
378 $cOperationType =
$res[
"OPERATION"];
385 case 'LEARNING_GROUP_ID':
391 return array_filter($arSqlSearch);
static FilterCreate($fname, $vals, $type, &$bFullJoin, $cOperationType=false, $bSkipEmpty=true)
static MkOperationFilter($key)
static getList($arOrder, $arFilter, $arSelect=array(), $arNavParams=array())
static setDelays($learningGroupId, $arDelays)
static deleteByLesson($lessonId)
static onAfterLearningGroupDelete($groupId)
static getList($arOrder, $arFilter, $arSelect=array(), $arNavParams=array())
static getDelays($learningGroupId, $arLessonsIds)
static deleteByGroup($groupId)
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
DelDuplicateSort(&$arSort)
IncludeModuleLangFile($filepath, $lang=false, $bReturnArray=false)
GetMessage($name, $aReplace=null)
if(empty($signedUserToken)) $key
</p ></td >< td valign=top style='border-top:none;border-left:none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 2.0pt 0cm 2.0pt;height:9.0pt'>< p class=Normal align=center style='margin:0cm;margin-bottom:.0001pt;text-align:center;line-height:normal'>< a name=ТекстовоеПоле54 ></a ><?=($taxRate > count( $arTaxList) > 0) ? $taxRate."%"
$GLOBALS['_____370096793']