Open Journal Systems  3.3.0
UserImportExportPlugin.inc.php
1 <?php
2 
16 import('lib.pkp.plugins.importexport.users.PKPUserImportExportPlugin');
17 
19 
23  function register($category, $path, $mainContextId = null) {
24  return parent::register($category, $path, $mainContextId);
25  }
26 
30  function usage($scriptName) {
31  echo __('plugins.importexport.users.cliUsage', array(
32  'scriptName' => $scriptName,
33  'pluginName' => $this->getName()
34  )) . "\n\n";
35  echo __('plugins.importexport.users.cliUsage.examples', array(
36  'scriptName' => $scriptName,
37  'pluginName' => $this->getName()
38  )) . "\n\n";
39  }
40 
44  function executeCLI($scriptName, &$args) {
45  $command = array_shift($args);
46  $xmlFile = array_shift($args);
47  $journalPath = array_shift($args);
48 
49  AppLocale::requireComponents(LOCALE_COMPONENT_APP_MANAGER);
50 
51  $journalDao = DAORegistry::getDAO('JournalDAO'); /* @var $journalDao JournalDAO */
52  $userDao = DAORegistry::getDAO('UserDAO'); /* @var $userDao UserDAO */
53 
54  $journal = $journalDao->getByPath($journalPath);
55 
56  if (!$journal) {
57  if ($journalPath != '') {
58  echo __('plugins.importexport.common.cliError') . "\n";
59  echo __('plugins.importexport.common.error.unknownJournal', array('journalPath' => $journalPath)) . "\n\n";
60  }
61  $this->usage($scriptName);
62  return;
63  }
64 
65  if ($xmlFile && $this->isRelativePath($xmlFile)) {
66  $xmlFile = PWD . '/' . $xmlFile;
67  }
68  $outputDir = dirname($xmlFile);
69  if (!is_writable($outputDir) || (file_exists($xmlFile) && !is_writable($xmlFile))) {
70  echo __('plugins.importexport.common.cliError') . "\n";
71  echo __('plugins.importexport.common.export.error.outputFileNotWritable', array('param' => $xmlFile)) . "\n\n";
72  $this->usage($scriptName);
73  return;
74  }
75 
76  switch ($command) {
77  case 'import':
78  $this->importUsers(file_get_contents($xmlFile), $journal, null);
79  return;
80  case 'export':
81  if ($xmlFile != '') {
82  if (empty($args)) {
83  file_put_contents($xmlFile, $this->exportAllUsers($journal, null));
84  return;
85  } else {
86  file_put_contents($xmlFile, $this->exportUsers($args, $journal, null));
87  return;
88  }
89  }
90  break;
91  }
92  $this->usage($scriptName);
93  }
94 }
95 
96 
AppLocale\requireComponents
static requireComponents()
Definition: env1/MockAppLocale.inc.php:56
PKPUserImportExportPlugin
Definition: PKPUserImportExportPlugin.inc.php:18
DAORegistry\getDAO
static & getDAO($name, $dbconn=null)
Definition: DAORegistry.inc.php:57
PKPUserImportExportPlugin\exportUsers
exportUsers($ids, $context, $user, &$filter=null)
Definition: PKPUserImportExportPlugin.inc.php:193
ImportExportPlugin\isRelativePath
isRelativePath($url)
Definition: ImportExportPlugin.inc.php:103
PKPUserImportExportPlugin\getName
getName()
Definition: PKPUserImportExportPlugin.inc.php:35
PKPUserImportExportPlugin\exportAllUsers
exportAllUsers($context, $user, &$filter=null)
Definition: PKPUserImportExportPlugin.inc.php:175
UserImportExportPlugin
User XML import/export plugin.
Definition: UserImportExportPlugin.inc.php:18
UserImportExportPlugin\executeCLI
executeCLI($scriptName, &$args)
Definition: UserImportExportPlugin.inc.php:44
UserImportExportPlugin\usage
usage($scriptName)
Definition: UserImportExportPlugin.inc.php:30
PKPUserImportExportPlugin\importUsers
importUsers($importXml, $context, $user, &$filter=null)
Definition: PKPUserImportExportPlugin.inc.php:226