public function postModuleData(ModulesRequest $request) { if (!isset($_SESSION)) { session_start(); } $domain = $_SESSION['domain']; $token = \Crypt::decrypt($_SESSION['userToken']); $courseId = $_SESSION['courseID']; $scope = "module"; $urlPieces = array(); $urlArgs = array(); $urlPieces[] = "https://{$domain}/api/v1/courses/{$courseId}"; if ($request->getModuleId()) { // "we're creating a moduleItem"; $urlPieces[] = "modules/{$request->getModuleId()}/items"; $urlArgs = $this->buildAddModuleItemArgs($request); } else { //we're creating a module obj $urlPieces[] = "modules"; $urlArgs = $this->buildAddModuleArgs($request); } //Attach token $urlArgs[] = "access_token={$token}"; $url = GuzzleHelper::constructUrl($urlPieces, $urlArgs); // echo "The URL is".$url."--"; //return; $response = GuzzleHelper::makeRequest($request, $url, true); //update DB if request was successful if ($response->getStatusCode() === "200") { $newlyCreated = \GuzzleHttp\json_decode($response->getBody()); $newFromDb; if (isset($newlyCreated->module_id)) { //it's a module item $this->processSingleModuleItem($courseId, $newlyCreated); $newFromDb = ModuleItem::with('content')->where(array('module_id' => $newlyCreated->module_id, 'module_item_id' => $newlyCreated->id))->first(); // echo json_encode($modItem); if ($request->getModuleItem()->getTags()) { //add the tags! $tags = $request->getModuleItem()->getTags(); $dbHelper = new DbHelper(); $dbHelper->addTagsToContent($modItem['content_id'], $tags, $courseId); } } else { //it's a module $this->processSingleModule($newlyCreated, $courseId); $newFromDb = Module::firstOrNew(array('module_id' => $newlyCreated->id)); } return $newFromDb; } else { return 0; } }