protected function CreateCourse() { global $APPLICATION; if (strlen($this->LAST_ERROR) > 0) { return false; } if (!($title = $this->objXML->SelectNodes("/manifest/organizations/organization/title"))) { $this->LAST_ERROR = GetMessage("LEARNING_BAD_NAME"); return false; } $arFields = array("NAME" => $title->content, "SITE_ID" => $this->arSITE_ID, "SCORM" => "Y"); $course = new CCourse(); $this->COURSE_ID = $course->Add($arFields); if ($this->COURSE_ID === false) { if ($err = $APPLICATION->GetException()) { $this->LAST_ERROR = $err->GetString(); } return false; } return true; }
protected function CreateCourse() { global $APPLICATION; if (strlen($this->LAST_ERROR) > 0) { return false; } if (!($title = $this->objXML->SelectNodes("/manifest/organizations/organization/item/title"))) { $this->LAST_ERROR = GetMessage("LEARNING_BAD_NAME"); return false; } $arFields = array("NAME" => $title->content, "SITE_ID" => $this->arSITE_ID); $course = new CCourse(); $this->COURSE_ID = $course->Add($arFields); $res = $this->COURSE_ID; if (!$res) { if ($e = $APPLICATION->GetException()) { $this->LAST_ERROR = $e->GetString(); } return false; } $r = new CDataXML(); if (!$r->Load($this->package_dir . "/res1.xml")) { return false; } if (!($data = $r->SelectNodes("/coursetoc/"))) { return false; } $ar = $data->__toArray(); $arFields = $this->_MakeFields($ar); $res = $course->Update($this->COURSE_ID, $arFields); if (!$res) { if ($e = $APPLICATION->GetException()) { $this->LAST_ERROR = $e->GetString(); } return false; } CheckDirPath($_SERVER["DOCUMENT_ROOT"] . "/" . COption::GetOptionString("main", "upload_dir", "upload") . "/learning/" . $this->COURSE_ID); CLearnHelper::CopyDirFiles($this->package_dir . "/resources/res1", $_SERVER["DOCUMENT_ROOT"] . "/" . COption::GetOptionString("main", "upload_dir", "upload") . "/learning/" . $this->COURSE_ID . "/res1", true); return true; }
$arPREVIEW_PICTURE["description"] = $PREVIEW_PICTURE_descr; $arFields = array("ACTIVE" => $ACTIVE, "NAME" => $NAME, "CODE" => $CODE, "SITE_ID" => $SITE_ID, "GROUP_ID" => $GROUP, "SORT" => $SORT, "DETAIL_TEXT" => $DETAIL_TEXT, "DETAIL_TEXT_TYPE" => $DETAIL_TEXT_TYPE, "PREVIEW_PICTURE" => $arPREVIEW_PICTURE, "PREVIEW_TEXT" => $PREVIEW_TEXT, "PREVIEW_TEXT_TYPE" => $PREVIEW_TEXT_TYPE, "ACTIVE_FROM" => $ACTIVE_FROM, "ACTIVE_TO" => $ACTIVE_TO, "RATING" => $RATING, "RATING_TYPE" => $RATING_TYPE); $USER_FIELD_MANAGER->EditFormAddFields('LEARNING_LESSONS', $arFields); $res = false; if ($COURSE_ID > 0) { $linkedLessonId = CCourse::CourseGetLinkedLesson($COURSE_ID); if ($linkedLessonId !== false) { if ($oAccess->IsLessonAccessible($linkedLessonId, CLearnAccess::OP_LESSON_WRITE)) { $res = $course->Update($COURSE_ID, $arFields); } // Process relations, data submitted from CLearnRelationHelper::RenderForm() CLearnRelationHelper::ProccessPOST($oAccess, $linkedLessonId); } } else { if ($oAccess->IsBaseAccess(CLearnAccess::OP_LESSON_CREATE)) { $COURSE_ID = $course->Add($arFields); $res = $COURSE_ID > 0; } } try { // Work with permissions if (isset($_POST['LESSON_RIGHTS_marker']) && $COURSE_ID > 0) { $linkedLessonId = CCourse::CourseGetLinkedLesson($COURSE_ID); if ($linkedLessonId !== false && $oAccess->IsLessonAccessible($linkedLessonId, CLearnAccess::OP_LESSON_MANAGE_RIGHTS)) { // Process permissions $arPostedRights = array(); if (is_array($_POST['LESSON_RIGHTS'])) { $arPostedRights = $_POST['LESSON_RIGHTS']; } $arAccessSymbols = array(); $arTaskIds = array();