/** * @see Description in abstract base class */ public function fromArray(array $data) { $resultData = array(); $resultTmx = new Util_TmxFile(); foreach ($data as $translationUnit => $variants) { foreach ($variants as $language => $contents) { if (is_array($contents) && isset($contents['filename']) && isset($contents['contents'])) { $filePath = $this->contentBasepath . DIRECTORY_SEPARATOR . $contents['filename']; $resultData[$filePath] = $contents['contents']; $contents = $contents['filename']; } $resultTmx->setVariantSegment($translationUnit, $language, $contents); } } $this->setContent($resultData); $this->setTranslation($resultTmx->toArray()); }
/** * @see Description in abstract base class */ public function fromArray(array $data) { $resultData = array(); $resultTmx = new Util_TmxFile(); foreach ($data as $language => $fields) { foreach ($fields as $key => $val) { switch ($key) { case 'file': if (!is_array($val) || !isset($val['filename']) || !isset($val['contents'])) { throw new Setup_Model_Exception('Invalid data structure'); } $filePath = $this->contentBasepath . DIRECTORY_SEPARATOR . $val['filename']; $resultData[$filePath] = $val['contents']; break; case 'key': foreach ($val as $translationUnit => $variant) { $resultTmx->setVariantSegment($translationUnit, $language, $variant); } break; default: throw new Setup_Model_Exception('Failed loading array. Invalid data structure.'); } } } $this->setContent($resultData); $this->setTranslation($resultTmx->toArray()); }