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; }
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(); } }