Example #1
0
 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;
 }
Example #2
0
 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;
 }
Example #3
0
 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);
 }
Example #4
0
 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;
 }