public function getModules($freshData) { $moduleId = null; $moduleItemId = null; $includeContentDetails = true; $includeContentItems = true; $module = null; $moduleItem = null; $req = new ModulesRequest(ActionType::GET, $moduleId, $moduleItemId, $includeContentItems, $includeContentDetails, $module, $moduleItem, $freshData); $roots = new Roots(); $moduleData = $roots->modules($req); $modArr = $moduleData->toArray(); $simpleModules = array(); foreach ($modArr as $item) { $mod = new \stdClass(); $mod->id = $item['module_id']; $mod->value = $item['name']; $simpleModules[] = $mod; } $this->page['rawData'] = json_encode($simpleModules); $iris = new IrisClass(); $result = $iris->buildTree($modArr); $tempArray = array(); if (count($result) < 1) { $parent; $allChildren; $final = array(); //The parent will be the first PUBLISHED item $firstItem; foreach ($moduleData as $item) { if ($item['published'] == "1") { $firstItem = $item; break; } } $newArr = $this->unsetValue($modArr, $firstItem); //remove parent from array $firstParentId = $firstItem["module_id"]; $i = 0; foreach ($newArr as $item) { $item["parent_id"] = $firstParentId; //each item must have a parentId of the first module $item["children"] = []; $item["order"] = $i; $final[] = $item; $i++; } //remove the first Item (which is the parent) $firstItem["parent_id"] = 1; $firstItem["children"] = $final; $firstItem["order"] = 0; $tempArray[] = $firstItem; } else { $tempArray = $result; } return $tempArray; }
public function getFilterOptions() { $req = new ModulesRequest(ActionType::GET, null, null, true, true, null, null, false); $roots = new Roots(); $moduleData = $roots->modules($req); $arr = $moduleData->toArray(); $tree = $this->buildTree($arr, 1); $dash = ""; $result = array(); $result[$tree[0]['module_id']] = "({$tree[0]['name']})"; foreach ($tree as $item) { $this->recursion($item['children'], $dash, $result); } return $result; }
public function updateModule() { $name = \Input::get('name'); $date = \Input::get('unlock_at'); $unlock_at = new DateTime($date); $prerequisite_module_ids = \Input::get('prerequisites'); $published = \Input::get('published'); $module_id = \Input::get('module_id'); $module = new Module($name, $unlock_at, $prerequisite_module_ids, $published, null); //update a module (changing title and published to false) $req = new ModulesRequest(ActionType::PUT, $module_id, null, false, false, $module, null, false); $roots = new Roots(); return $roots->modules($req); }
public function deleteModuleItem() { $moduleId = \Input::get('module_id'); $moduleItemId = \Input::get('module_item_id'); $req = new ModulesRequest(ActionType::DELETE, $moduleId, $moduleItemId, false, false, null, null, false); $roots = new Roots(); $roots->modules($req); //return all modules again $newReq = new ModulesRequest(ActionType::GET, null, null, true, true, null, null, false); $res = $roots->modules($newReq); return $res; }