public function btnExport_Click($strFormId, $strControlId, $strParameter) { if (!$this->fileToUpload->Display) { $this->fileToUpload->Display = true; return false; } $objFileImporter = NarroFileType::GetFileImporter($this->objFile->TypeId); $objFileImporter->User = QApplication::$User; $objFileImporter->Project = $this->objFile->Project; $objFileImporter->SourceLanguage = NarroLanguage::LoadByLanguageCode(NarroLanguage::SOURCE_LANGUAGE_CODE); $objFileImporter->TargetLanguage = QApplication::$TargetLanguage; $objFileImporter->File = $this->objFile; $strTempFileName = tempnam(__TMP_PATH__, QApplication::$TargetLanguage->LanguageCode); if (file_exists($this->fileToUpload->File)) { $objFileImporter->ExportFile($this->fileToUpload->File, $strTempFileName); unlink($this->fileToUpload->File); } else { $objFileImporter->ExportFile($this->objFile->Project->DefaultTemplatePath . $this->objFile->FilePath, $strTempFileName); } ob_clean(); header(sprintf('Content-Disposition: attachment; filename="%s"', $this->objFile->FileName)); readfile($strTempFileName); unlink($strTempFileName); exit; }
public function btnImport_Click($strFormId, $strControlId, $strParameter) { if (!$this->fileToUpload->Display) { $this->fileToUpload->Display = true; return false; } $objFileImporter = NarroFileType::GetFileImporter($this->objNarroFile->TypeId); $objFileImporter->User = QApplication::$User; $objFileImporter->Project = $this->objNarroFile->Project; $objFileImporter->SourceLanguage = NarroLanguage::LoadByLanguageCode(NarroLanguage::SOURCE_LANGUAGE_CODE); $objFileImporter->TargetLanguage = QApplication::$TargetLanguage; $objFileImporter->CheckEqual = true; $objFileImporter->File = $this->objNarroFile; $objFileImporter->OnlySuggestions = !QApplication::HasPermissionForThisLang('Can approve', $this->objNarroFile->ProjectId); $objFileImporter->ApproveAlreadyApproved = QApplication::HasPermissionForThisLang('Can approve', $this->objNarroFile->ProjectId); $objFileImporter->Approve = QApplication::HasPermissionForThisLang('Can approve', $this->objNarroFile->ProjectId); $strTempFileName = tempnam(__TMP_PATH__, QApplication::$TargetLanguage->LanguageCode); $objFileImporter->ImportFile($this->objNarroFile->Project->DefaultTemplatePath . $this->objNarroFile->FilePath, $this->fileToUpload->File); }
public function ExportFile($objFile, $strTemplateFile, $strTranslatedFile) { if (!$objFile instanceof NarroFile) { NarroLogger::LogWarn(sprintf('Failed to find a corresponding file in the database for %s', $strTemplateFile)); return false; } if (NarroFileProgress::CountByFileIdLanguageIdExport($objFile->FileId, $this->objTargetLanguage->LanguageId, 0)) { NarroLogger::LogWarn(sprintf('Not exporting %s based on the file settings.', $strTemplateFile)); return false; } $objFileImporter = NarroFileType::GetFileImporter($objFile->TypeId, $this); // NarroLogger::LogDebug( sprintf( t('Starting to export "%s"'), str_replace($this->objProject->DefaultTranslationPath, '', $strTranslatedFile) ) ); $objFileImporter->File = $objFile; QApplication::$PluginHandler->BeforeExportFile($objFile, $strTemplateFile, $strTranslatedFile); $blnMixResult = $objFileImporter->ExportFile($strTemplateFile, $strTranslatedFile); if (file_exists($strTranslatedFile)) { QApplication::$PluginHandler->AfterExportFile($objFile, $strTemplateFile, $strTranslatedFile); } $this->arrFileId[$objFile->FileId] = 1; return $blnMixResult; }