. */ namespace SP\Import; use Import\XmlFileImport; use SP\Core\Messages\LogMessage; defined('APP_ROOT') || die(); /** * Clase XmlImport para usarla como envoltorio para llamar a la clase que corresponda * según el tipo de archivo XML detectado. * * @package SP */ class XmlImport { /** * Iniciar la importación desde XML. * * @param FileImport $File * @param ImportParams $ImportParams * @param LogMessage $LogMessage * @return ImportBase|false */ public function doImport(FileImport $File, ImportParams $ImportParams, LogMessage $LogMessage) { $XmlFileImport = new XmlFileImport($File); $format = $XmlFileImport->detectXMLFormat(); switch ($format) { case 'syspass': $Import = new SyspassImport(); break; case 'keepass': $Import = new KeepassImport(); break; case 'keepassx': $Import = new KeepassXImport(); break; default: return false; } $Import->setImportParams($ImportParams); $Import->setXmlDOM($XmlFileImport->getXmlDOM()); $Import->setLogMessage($LogMessage); $LogMessage->addDescription(sprintf(__('Formato detectado: %s'), strtoupper($format))); return $Import; } }