Esempio n. 1
0
 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;
 }
Esempio n. 2
0
 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;
 }
Esempio n. 3
0
 /**
  * @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']);
 }