} $user_manager = UserManager::instance(); $security = new XML_Security(); $xml_validator = new XML_RNGValidator(); $transformer = new User\XML\Import\MappingFileOptimusPrimeTransformer($user_manager); $logger = new ProjectXMLImporterLogger(); $builder = new User\XML\Import\UsersToBeImportedCollectionBuilder($user_manager, $logger, $security, $xml_validator); $console = new Log_ConsoleLogger(); try { $user = $user_manager->forceLogin($username); if (!$user->isSuperUser() && !$user->isAdmin($project_id) || !$user->isActive()) { throw new RuntimeException($GLOBALS['Language']->getText('project_import', 'invalid_user', array($username))); } $archive = new ZipArchive(); if ($archive->open($archive_path) !== true) { $console->error("Unable to open archive {$archive_path}"); exit(1); } $collection_from_archive = $builder->buildFromArchive($archive); $users_collection = $transformer->transform($collection_from_archive, $mapping_path); $users_collection->process($user_manager, $console); $user_finder = new User\XML\Import\Mapping($user_manager, $users_collection, $logger); $xml_importer = new ProjectXMLImporter(EventManager::instance(), ProjectManager::instance(), $xml_validator, new UGroupManager(), $user_finder, new ProjectXMLImporterLogger()); $xml_importer->importFromArchive($project_id, $archive); $archive->close(); exit(0); } catch (XML_ParseException $exception) { foreach ($exception->getErrors() as $parse_error) { $console->error('XML: ' . $parse_error . ' line:' . $exception->getSourceXMLForError($parse_error)); } } catch (Exception $exception) {
} $security = new XML_Security(); $xml_validator = new XML_RNGValidator(); $user_manager = UserManager::instance(); $logger = new ProjectXMLImporterLogger(); $transformer = new User\XML\Import\MappingFileOptimusPrimeTransformer($user_manager); $console = new Log_ConsoleLogger(); $builder = new User\XML\Import\UsersToBeImportedCollectionBuilder($user_manager, $logger, $security, $xml_validator); try { $user = $user_manager->forceLogin($username); if (!$user->isActive() || !$user->isSuperUser()) { throw new RuntimeException("User {$username} must be site administrator"); } $archive = new ZipArchive(); if ($archive->open($archive_path) !== true) { $console->error("Unable to open archive " . $archive_path); exit(1); } $collection_from_archive = $builder->buildFromArchive($archive); $transformer->transform($collection_from_archive, $mapping_path); $console->info('Everything is awesome! ♪♫'); $archive->close(); exit(0); } catch (XML_ParseException $exception) { foreach ($exception->getErrors() as $parse_error) { $console->error($parse_error); } } catch (Exception $exception) { $console->error($exception->getMessage()); } exit(1);
$archive_path = $arguments['i']; } $security = new XML_Security(); $xml_validator = new XML_RNGValidator(); $user_manager = UserManager::instance(); $logger = new ProjectXMLImporterLogger(); $transformer = new User\XML\Import\MappingFileOptimusPrimeTransformer($user_manager); $console = new Log_ConsoleLogger(); $builder = new User\XML\Import\UsersToBeImportedCollectionBuilder($user_manager, $logger, $security, $xml_validator); try { $user = $user_manager->forceLogin($username); if (!$user->isActive() || !$user->isSuperUser()) { throw new RuntimeException("User {$username} must be site administrator"); } if (is_dir($archive_path)) { $archive = new Import\DirectoryArchive($archive_path); } else { $archive = new Import\ZipArchive($archive_path, ForgeConfig::get('tmp_dir')); } $collection_from_archive = $builder->buildFromArchive($archive); $transformer->transform($collection_from_archive, $mapping_path); $console->info('Everything is awesome! ♪♫'); exit(0); } catch (XML_ParseException $exception) { foreach ($exception->getErrors() as $parse_error) { $console->error($parse_error); } } catch (Exception $exception) { $console->error($exception->getMessage()); } exit(1);
function usage() { $consoleLogger = new Log_ConsoleLogger(); $consoleLogger->error("Usage: export.php groupId targetname"); }