protected function init($file) { $this->items = array(); $ini = IniParser::parseMerged(array($file)); foreach ($ini as $key => $value) { $this->items[$key] = array(); // TODO refactor ... XD $tmp = array(); $composite = false; foreach ($value as $k => $v) { if (is_array($v)) { $tmp[$k] = $v; } else { if ($k == 'type' && $v == 'Composite') { $composite = true; } $this->items[$key][$k] = $v; } } if ($composite) { $this->items[$key]['dropdown'] = array(); $this->items[$key]['composite'] = $tmp; } else { $this->items[$key]['dropdown'] = $tmp; $this->items[$key]['composite'] = array(); } } return $this->items; }