示例#1
0
 /**
  * Factory method for getting an instance of this class as a singleton
  *
  * @return Tx_Yag_Domain_Import_DirectoryImporter_ImporterBuilder Singleton instance of directory importer builder
  */
 public static function getInstance()
 {
     if (self::$instance === null) {
         self::$instance = new self(Tx_Yag_Domain_Configuration_ConfigurationBuilderFactory::getInstance());
     }
     return self::$instance;
 }
示例#2
0
 /**
  * Shows results for importing images from directory
  *
  * @param string $directory
  * @param Tx_Yag_Domain_Model_Album $album
  * @param bool $crawlRecursive If set to true, subdirs will also be crawled
  * @param bool $noDuplicates If set to true, items that are already imported to album won't be imported twice
  * @return string The HTML source for import from directory action
  * @rbacNeedsAccess
  * @rbacObject Album
  * @rbacAction edit
  */
 public function importFromDirectoryAction($directory, Tx_Yag_Domain_Model_Album $album, $crawlRecursive = FALSE, $noDuplicates = FALSE)
 {
     // Directory must be within fileadmin
     $directory = Tx_Yag_Domain_FileSystem_Div::getT3BasePath() . $directory;
     $importer = Tx_Yag_Domain_Import_DirectoryImporter_ImporterBuilder::getInstance()->getInstanceByDirectoryAndAlbum($directory, $album);
     $importer->setNoDuplicates($noDuplicates);
     $importer->setCrawlRecursive($crawlRecursive);
     $importer->runImport();
     $this->addFlashMessage(\TYPO3\CMS\Extbase\Utility\LocalizationUtility::translate('tx_yag_controller_directoryimportcontroller_importfromdirectory.importsuccessfull', $this->extensionName, array($importer->getItemsImported())), '', \TYPO3\CMS\Core\Messaging\FlashMessage::OK);
     $this->yagContext->setAlbum($album);
     $this->forward('list', 'ItemList');
 }
示例#3
0
文件: Importer.php 项目: rabe69/yag
 /**
  * Runs actual import. Unpacks zip file to a directory and
  * runs directory importer to actually import the files contained
  * in zip file.
  */
 public function runImport()
 {
     // Unpack zip file
     $tempDir = Tx_Yag_Domain_FileSystem_Div::tempdir(sys_get_temp_dir(), 'yag_zip_extraction');
     $this->unzipArchive($this->zipFilename, $tempDir);
     // Initialize directory crawler on extracted file's directory and run import
     $directoryImporter = Tx_Yag_Domain_Import_DirectoryImporter_ImporterBuilder::getInstance()->getInstanceByDirectoryAndAlbum($tempDir, $this->album);
     $directoryImporter->setMoveFilesToOrigsDirectoryToTrue();
     // Files will be moved to origs directory before they are processed
     $directoryImporter->setCrawlRecursive(TRUE);
     $directoryImporter->runImport();
     $this->itemsImported = $directoryImporter->getItemsImported();
 }