Example #1
0
     }
     $arNewMembers = array_unique($arNewMembers);
     $arAddedMembers = array_diff($arNewMembers, $arMembers);
     $arRemovedMembers = array_diff($arMembers, $arNewMembers);
 }
 if ($USER_FIELD_MANAGER->getRights('LEARNING_LGROUPS') >= 'W') {
     $USER_FIELD_MANAGER->EditFormAddFields('LEARNING_LGROUPS', $arFields);
 }
 $res = false;
 $oAccess = CLearnAccess::GetInstance($USER->GetID());
 $isAccessible = $oAccess->IsBaseAccess(CLearnAccess::OP_LESSON_MANAGE_RIGHTS);
 $DB->StartTransaction();
 if ($isAccessible) {
     $tr = new CLearningGroup();
     if ($ID == 0) {
         $res = $tr->add($arFields);
         if ($res > 0) {
             $ID = (int) $res;
         }
     } else {
         $res = $tr->update($ID, $arFields);
     }
     if ($res) {
         foreach ($arAddedMembers as $memberId) {
             CLearningGroupMember::add(array('USER_ID' => $memberId, 'LEARNING_GROUP_ID' => $ID));
         }
         foreach ($arRemovedMembers as $memberId) {
             CLearningGroupMember::delete($memberId, $ID);
         }
     }
 }