function isValid($value) { $trAdminFactory = new Translation2AdminFactory(); $trAdmin = $trAdminFactory->createTrAdmin($value); if (strpos(strtolower(get_class($trAdmin)), 'translation2_admin') === false) { $errors[] = 'UPLOADED_LANG_FILE_STRUCTURE_IS_INVALID'; SJB_Logger::error('UPLOADED_LANG_FILE_STRUCTURE_IS_INVALID'); return false; } $file_langs_list = $trAdmin->getLangs(); $import_lang_id = (string) $this->dataReflector->get('languageId'); if (!array_key_exists($import_lang_id, $file_langs_list)) { $errors[] = 'UPLOADED_LANG_FILE_DOESNOT_HAVE_NECESSARY_LANGUAGE'; SJB_Logger::error('UPLOADED_LANG_FILE_DOESNOT_HAVE_NECESSARY_LANGUAGE'); return false; } return true; }
function importLangFile($file_name, $file_path) { $languageID = $this->fileHelper->getLanguageIDForImportFile($file_name); $file_paths = $this->fileHelper->getFilePathToLangFiles($languageID); $trAdminFactory = new Translation2AdminFactory(); $trAdmin = $trAdminFactory->createTrAdmin($file_path, true, true, $file_path); $trAdmin->getLanguagePages(); // set new lang paths $trAdmin->storage->setFileName($file_paths['languages']); $trAdmin->storage->setPagesFileNameOption($file_paths['pages']); //check meta separators if (isset($trAdmin->storage->_data['languages'][$languageID]['meta'])) { $meta = unserialize($trAdmin->storage->_data['languages'][$languageID]['meta']); if (isset($meta['decimal_separator']) && isset($meta['thousands_separator'])) { if (!$meta['decimal_separator']) { $meta['decimal_separator'] = !$meta['thousands_separator'] || $meta['thousands_separator'] == ',' ? '.' : ','; } if (!$meta['thousands_separator']) { $meta['thousands_separator'] = !$meta['decimal_separator'] || $meta['decimal_separator'] == ',' ? '.' : ','; } } else { $meta['decimal_separator'] = '.'; $meta['thousands_separator'] = ','; } $trAdmin->storage->_data['languages'][$languageID]['meta'] = serialize($meta); } $trAdmin->storage->_saveData(); $fileSystem = SJB_ObjectMother::createFileSystem(); $fileSystem->deleteFile($file_path); return true; }
/** * @param array $file_paths * @return mixed|object|Translation2_Admin */ private function getLanguagesTrAdmin($file_paths) { return $this->adminFactory->createTrAdmin($file_paths['languages'], false, true, $file_paths['pages']); }