public static function parseGroupFile($filename) { $data = file_get_contents($filename); $documents = preg_split("/^---\$/m", $data, -1, PREG_SPLIT_NO_EMPTY); $groups = array(); $template = false; foreach ($documents as $document) { $document = TranslateYaml::loadString($document); if (isset($document['TEMPLATE'])) { $template = $document['TEMPLATE']; } else { if (!isset($document['BASIC']['id'])) { trigger_error("No path ./BASIC/id (group id not defined) " . "in yaml document located in {$filename}"); continue; } $groups[$document['BASIC']['id']] = $document; } } foreach ($groups as $i => $group) { $groups[$i] = TranslateYaml::mergeTemplate($template, $group); } return $groups; }