private function processSingleModuleItem($courseId, $mItem)
 {
     $moduleItem = ModuleItem::firstOrNew(array('module_id' => $mItem->module_id, 'module_item_id' => $mItem->id));
     $moduleItem->module_item_id = $mItem->id;
     $moduleItem->module_id = $mItem->module_id;
     $moduleItem->course_id = $courseId;
     $moduleItem->position = $mItem->position;
     $moduleItem->title = $mItem->title;
     $moduleItem->indent = $mItem->indent;
     $moduleItem->type = $mItem->type;
     if (isset($mItem->published)) {
         $moduleItem->published = $mItem->published;
     }
     //if we don't have contentId we'll use the module_item_id. This is for tagging purposes
     $contentId = 0;
     if (isset($mItem->content_id)) {
         $moduleItem->content_id = $mItem->content_id;
     } else {
         $moduleItem->content_id = $mItem->id;
     }
     if (isset($mItem->html_url)) {
         $moduleItem->html_url = $mItem->html_url;
     }
     if (isset($mItem->url)) {
         $moduleItem->url = $mItem->url;
     }
     if (isset($mItem->page_url)) {
         $moduleItem->page_url = $mItem->page_url;
     }
     if (isset($mItem->external_url)) {
         $moduleItem->external_url = $mItem->external_url;
     }
     if (isset($mItem->new_tab)) {
         $moduleItem->new_tab = $mItem->new_tab;
     }
     if (isset($mItem->completion_requirement)) {
         $moduleItem->completion_requirement = json_encode($mItem->completion_requirement);
     }
     if (isset($mItem->type)) {
         $contentDetails;
         if (isset($mItem->content_details)) {
             $contentDetails = $mItem->content_details;
         } else {
             $contentDetails = null;
         }
         $content = $this->saveContentDetails($courseId, $mItem->module_id, $mItem->id, $moduleItem->content_id, $mItem->type, $contentDetails);
         $moduleItem->content = $content;
     }
     $moduleItem->save();
     $modArr = $moduleItem->toArray();
     $modArr['content'] = $moduleItem->content->toArray();
     return $moduleItem;
 }
Example #2
0
 public function qualityAssuranceModuleItems($courseId, $moduleItemIds)
 {
     $modulesItems = ModuleItem::where('course_id', '=', $courseId)->select('module_item_id')->get();
     $fromDBArr = array();
     foreach ($modulesItems as $item) {
         $fromDBArr[] = $item['module_item_id'];
     }
     $toBeDeleted = array_diff($fromDBArr, $moduleItemIds);
     foreach ($toBeDeleted as $module_item_id) {
         ModuleItem::where('course_id', '=', $courseId)->where('module_item_id', '=', intval($module_item_id))->delete();
     }
 }