require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_before.php");
if (!CModule::IncludeModule('learning'))
{
require($_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/main/include/prolog_admin_after.php'); // second system's prolog
if (IsModuleInstalled('learning') && defined('LEARNING_FAILED_TO_LOAD_REASON'))
echo LEARNING_FAILED_TO_LOAD_REASON;
else
CAdminMessage::ShowMessage(GetMessage('LEARNING_MODULE_NOT_FOUND'));
require($_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/main/include/epilog_admin.php'); // system's epilog
exit();
}
require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/learning/prolog.php");
IncludeModuleLangFile(__FILE__);
$APPLICATION->AddHeadScript('/bitrix/js/learning/learning_edit.js');
require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/learning/admin_tools_user_selector.php");
ClearVars();
$ID = intval($ID);
$bCopy = false;
$bBadResult = false;
$message = null;
$arMembers = array();
if ($ID != 0)
{
$r = CLearningGroup::GetList(array($by => $order), array('ID' => $ID));
if(!$r->ExtractFields("str_"))
$bBadResult = true;
else
{
$rc = CLearningGroupMember::getList(
array(), // arOrder
array('LEARNING_GROUP_ID' => $ID), // arFilter
array('USER_ID') // arSelect
);
while ($arMember = $rc->fetch())
$arMembers[] = $arMember['USER_ID'];
$arMembers = array_unique($arMembers);
}
}
if($bBadResult)
{
$APPLICATION->SetTitle(GetMessage("LEARNING_ADMIN_TITLE"));
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_after.php");
$aContext = array(
array(
"ICON" => "btn_list",
"TEXT"=>GetMessage("LEARNING_BACK_TO_LEARNING_GROUPS"),
"LINK"=>"learn_group_admin.php?lang=" . LANG,
"TITLE"=>GetMessage("LEARNING_BACK_TO_LEARNING_GROUPS")
),
);
$context = new CAdminContextMenu($aContext);
$context->Show();
CAdminMessage::ShowMessage(GetMessage("LEARNING_BAD_LEARNING_GROUP_ID_EX"));
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/epilog_admin.php");
die();
}
$aTabs = array(
array(
"DIV" => "edit1",
"TAB" => GetMessage("LEARNING_ADMIN_TAB1"),
"ICON"=>"main_user_edit",
"TITLE"=>GetMessage("LEARNING_ADMIN_TAB1_EX")
)
);
$aTabs[] = $USER_FIELD_MANAGER->EditFormTab('LEARNING_LGROUPS');
$tabControl = new CAdminForm("learningGroupResultTabControl", $aTabs);
if ($_SERVER["REQUEST_METHOD"] == "POST" && $Update <> '' && check_bitrix_sessid())
{
if ($ACTIVE !== 'Y')
$ACTIVE = 'N';
$COURSE_LESSON_ID = (int) $COURSE_LESSON_ID;
$str_COURSE_LESSON_ID = (int) $COURSE_LESSON_ID;
$arFields = array(
"TITLE" => $TITLE,
"ACTIVE" => $ACTIVE,
"CODE" => $CODE,
"SORT" => $SORT,
"ACTIVE_FROM" => $ACTIVE_FROM,
"ACTIVE_TO" => $ACTIVE_TO,
"COURSE_LESSON_ID" => $COURSE_LESSON_ID
);
// Process lessons' delays
if ($ID && isset($PERIOD_L) && is_array($PERIOD_L))
{
$arDelays = array();
foreach ($PERIOD_L as $lessonId => $delay)
$arDelays[(int)$lessonId] = (int) $delay;
CLearningGroupLesson::setDelays($ID, $arDelays);
}
// Process members
$arNewMembers = array();
$arAddedMembers = array();
$arRemovedMembers = array();
if ($USER->CanDoOperation('view_subordinate_users') || $USER->CanDoOperation('view_all_users'))
{
if (
isset($_POST['PROP'], $_POST['SELECTPROP'])
&& is_array($_POST['PROP']) && is_array($_POST['SELECTPROP'])
&& isset($_POST['PROP'][1], $_POST['SELECTPROP'][1])
)
{
foreach ($_POST['SELECTPROP'][1] as $key => $data)
{
if ($data['VALUE'] === 'none')
continue;
$value = (int) $_POST['PROP'][1][$key]['VALUE'];
if ($value < 1)
continue;
$arNewMembers[] = $value;
}
}
$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);
}
}
if(!$res)
{
$DB->Rollback();
if($e = $APPLICATION->GetException())
$message = new CAdminMessage(GetMessage("LEARNING_ERROR"), $e);
elseif (!$isAccessible)
$message = new CAdminMessage(GetMessage("LEARNING_ERROR") . ': ' . GetMessage('LEARNING_ACCESS_D_FOR_EDIT_CONTENT'));
$bVarsFromForm = true;
}
else
{
$DB->Commit();
if($apply == '')
{
if($return_url <> '')
LocalRedirect($return_url);
else
LocalRedirect("/bitrix/admin/learn_group_admin.php?lang=".LANG.GetFilterParams("filter_", false));
}
LocalRedirect("/bitrix/admin/learn_group_edit.php?lang=".LANG."&ID=".$ID.GetFilterParams("filter_", false));
}
}
if($bVarsFromForm)
{
$DB->InitTableVarsForEdit("b_learn_groups", "", "str_");
}
$adminChain->AddItem(array(
"TEXT" => GetMessage("LEARNING_GROUPS_LIST"),
"LINK"=>"learn_group_admin.php?lang=". LANG.GetFilterParams("filter_", false)
));
if ($ID == 0)
$APPLICATION->SetTitle(GetMessage("LEARNING_NEW_TITLE"));
else
$APPLICATION->SetTitle(GetMessage("LEARNING_EDIT_TITLE") . ' #' . $str_ID . ' ("' . htmlspecialcharsback($str_TITLE) . '")');
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_after.php");
$aContext = array(
array(
"ICON" => "btn_list",
"TEXT"=>GetMessage("MAIN_ADMIN_MENU_LIST"),
"LINK"=>"learn_group_admin.php?lang=" . LANG
. GetFilterParams("filter_"),
"TITLE"=>GetMessage("LEARNING_BACK_TO_ADMIN")
),
);
$context = new CAdminContextMenu($aContext);
$context->Show();
?>
if ($message)
echo $message->Show();
if (!isset($str_SORT))
$str_SORT = 500;
?>
Warning: Undefined variable $tabControl in D:\ktt\ttepla.com\public_html\bitrix\modules\learning\admin\learn_group_edit.php on line 250
Fatal error: Uncaught Error: Call to a member function BeginEpilogContent() on null in D:\ktt\ttepla.com\public_html\bitrix\modules\learning\admin\learn_group_edit.php:250
Stack trace:
#0 {main}
thrown in D:\ktt\ttepla.com\public_html\bitrix\modules\learning\admin\learn_group_edit.php on line 250