Open Monograph Press  3.3.0
PKPImportExportDeployment.inc.php
1 <?php
22  var $_context;
23 
25  var $_user;
26 
28  var $_submission;
29 
32 
34  var $_processedObjectsIds = array();
35 
37  var $_processedObjectsErrors = array();
38 
40  var $_processedObjectsWarnings = array();
41 
44 
46  var $_authorDBIds;
47 
49  var $_baseImportPath = '';
50 
56  function __construct($context, $user=null) {
57  $this->setContext($context);
58  $this->setUser($user);
59  $this->setSubmission(null);
60  $this->setPublication(null);
61  $this->setFileDBIds(array());
62  $this->_processedObjectsIds = array();
63  }
64 
65  //
66  // Deployment items for subclasses to override
67  //
72  function getSubmissionNodeName() {
73  assert(false);
74  }
75 
80  function getSubmissionsNodeName() {
81  assert(false);
82  }
83 
87  function getRepresentationNodeName() {
88  assert(false);
89  }
90 
95  function getNamespace() {
96  assert(false);
97  }
98 
103  function getSchemaFilename() {
104  assert(false);
105  }
106 
107 
108  //
109  // Getter/setters
110  //
115  function setContext($context) {
116  $this->_context = $context;
117  }
118 
123  function getContext() {
124  return $this->_context;
125  }
126 
131  function setSubmission($submission) {
132  $this->_submission = $submission;
133  if ($submission) $this->addProcessedObjectId(ASSOC_TYPE_SUBMISSION, $submission->getId());
134  }
135 
140  function getSubmission() {
141  return $this->_submission;
142  }
143 
148  function setPublication($publication) {
149  $this->_publication = $publication;
150  if ($publication) $this->addProcessedObjectId(ASSOC_TYPE_PUBLICATION, $publication->getId());
151  }
152 
157  function getPublication() {
158  return $this->_publication;
159  }
160 
166  function addProcessedObjectId($assocType, $assocId) {
167  $this->_processedObjectsIds[$assocType][] = $assocId;
168  }
169 
176  function addError($assocType, $assocId, $errorMsg) {
177  $this->_processedObjectsErrors[$assocType][$assocId][] = $errorMsg;
178  }
179 
186  function addWarning($assocType, $assocId, $warningMsg) {
187  $this->_processedObjectsWarnings[$assocType][$assocId][] = $warningMsg;
188  }
189 
195  function getProcessedObjectsIds($assocType) {
196  if (array_key_exists($assocType, $this->_processedObjectsIds)) {
197  return $this->_processedObjectsIds[$assocType];
198  }
199  return null;
200  }
201 
207  function getProcessedObjectsErrors($assocType) {
208  if (array_key_exists($assocType, $this->_processedObjectsErrors)) {
209  return $this->_processedObjectsErrors[$assocType];
210  }
211  return null;
212  }
219  function getProcessedObjectsWarnings($assocType) {
220  if (array_key_exists($assocType, $this->_processedObjectsWarnings)) {
221  return $this->_processedObjectsWarnings[$assocType];
222  }
223  return null;
224  }
225 
230  function removeImportedObjects($assocType) {
231  switch ($assocType) {
232  case ASSOC_TYPE_SUBMISSION:
233  $processedSubmisssionsIds = $this->getProcessedObjectsIds(ASSOC_TYPE_SUBMISSION);
234  if (!empty($processedSubmisssionsIds)) {
235  $submissionDao = DAORegistry::getDAO('SubmissionDAO'); /* @var $submissionDao SubmissionDAO */
236  foreach ($processedSubmisssionsIds as $submissionId) {
237  if ($submissionId) {
238  $submissionDao->deleteById($submissionId);
239  }
240  }
241  }
242  break;
243  }
244  }
245 
250  function setUser($user) {
251  $this->_user = $user;
252  }
253 
258  function getUser() {
259  return $this->_user;
260  }
261 
266  function getFileDBIds() {
267  return $this->_fileDBIds;
268  }
269 
274  function setFileDBIds($fileDBIds) {
275  return $this->_fileDBIds = $fileDBIds;
276  }
277 
284  function getFileDBId($fileId, $revisionId = null) {
285  if (array_key_exists($fileId, $this->_fileDBIds)) {
286  // is there already the revisionId?
287  if ($revisionId) {
288  if (array_key_exists($revisionId, $this->_fileDBIds[$fileId])) {
289  return $this->_fileDBIds[$fileId][$revisionId];
290  } else {
291  return null;
292  }
293  } else {
294  // the revisionId is not important, but the fileId
295  // the DB Id is unique for a fileId
296  return current($this->_fileDBIds[$fileId]);
297  }
298  }
299  return null;
300  }
301 
308  function setFileDBId($fileId, $revisionId, $DBId) {
309  return $this->_fileDBIds[$fileId][$revisionId]= $DBId;
310  }
311 
316  function setAuthorDBIds($authorDBIds) {
317  return $this->_authorDBIds = $authorDBIds;
318  }
319 
324  function getAuthorDBIds() {
325  return $this->_authorDBIds;
326  }
327 
333  function getAuthorDBId($authorId) {
334  if (array_key_exists($authorId, $this->_authorDBIds)) {
335  return $this->_authorDBIds[$authorId];
336  }
337 
338  return null;
339  }
340 
346  function setAuthorDBId($authorId, $DBId) {
347  return $this->_authorDBIds[$authorId] = $DBId;
348  }
349 
354  function setImportPath($path) {
355  $this->_baseImportPath = $path;
356  }
357 
362  function getImportPath() {
364  }
365 }
366 
367 
PKPImportExportDeployment\getSubmissionsNodeName
getSubmissionsNodeName()
Definition: PKPImportExportDeployment.inc.php:110
PKPImportExportDeployment\$_processedObjectsWarnings
$_processedObjectsWarnings
Definition: PKPImportExportDeployment.inc.php:61
PKPImportExportDeployment\setFileDBId
setFileDBId($fileId, $revisionId, $DBId)
Definition: PKPImportExportDeployment.inc.php:338
PKPImportExportDeployment
Base class configuring the import/export process to an application's specifics.
Definition: PKPImportExportDeployment.inc.php:20
PKPImportExportDeployment\getFileDBIds
getFileDBIds()
Definition: PKPImportExportDeployment.inc.php:296
PKPImportExportDeployment\getImportPath
getImportPath()
Definition: PKPImportExportDeployment.inc.php:392
PKPImportExportDeployment\$_context
$_context
Definition: PKPImportExportDeployment.inc.php:25
PKPImportExportDeployment\setImportPath
setImportPath($path)
Definition: PKPImportExportDeployment.inc.php:384
DAORegistry\getDAO
static & getDAO($name, $dbconn=null)
Definition: DAORegistry.inc.php:57
PKPImportExportDeployment\getProcessedObjectsIds
getProcessedObjectsIds($assocType)
Definition: PKPImportExportDeployment.inc.php:225
PKPImportExportDeployment\getAuthorDBId
getAuthorDBId($authorId)
Definition: PKPImportExportDeployment.inc.php:363
PKPImportExportDeployment\removeImportedObjects
removeImportedObjects($assocType)
Definition: PKPImportExportDeployment.inc.php:260
PKPImportExportDeployment\getContext
getContext()
Definition: PKPImportExportDeployment.inc.php:153
PKPImportExportDeployment\setUser
setUser($user)
Definition: PKPImportExportDeployment.inc.php:280
PKPImportExportDeployment\setAuthorDBIds
setAuthorDBIds($authorDBIds)
Definition: PKPImportExportDeployment.inc.php:346
PKPImportExportDeployment\addWarning
addWarning($assocType, $assocId, $warningMsg)
Definition: PKPImportExportDeployment.inc.php:216
PKPImportExportDeployment\setPublication
setPublication($publication)
Definition: PKPImportExportDeployment.inc.php:178
PKPImportExportDeployment\setFileDBIds
setFileDBIds($fileDBIds)
Definition: PKPImportExportDeployment.inc.php:304
PKPImportExportDeployment\$_authorDBIds
$_authorDBIds
Definition: PKPImportExportDeployment.inc.php:73
PKPImportExportDeployment\addError
addError($assocType, $assocId, $errorMsg)
Definition: PKPImportExportDeployment.inc.php:206
PKPImportExportDeployment\$_processedObjectsErrors
$_processedObjectsErrors
Definition: PKPImportExportDeployment.inc.php:55
PKPImportExportDeployment\getSchemaFilename
getSchemaFilename()
Definition: PKPImportExportDeployment.inc.php:133
PKPImportExportDeployment\getSubmissionNodeName
getSubmissionNodeName()
Definition: PKPImportExportDeployment.inc.php:102
PKPImportExportDeployment\getProcessedObjectsWarnings
getProcessedObjectsWarnings($assocType)
Definition: PKPImportExportDeployment.inc.php:249
PKPImportExportDeployment\setAuthorDBId
setAuthorDBId($authorId, $DBId)
Definition: PKPImportExportDeployment.inc.php:376
PKPImportExportDeployment\getUser
getUser()
Definition: PKPImportExportDeployment.inc.php:288
PKPImportExportDeployment\getFileDBId
getFileDBId($fileId, $revisionId=null)
Definition: PKPImportExportDeployment.inc.php:314
PKPImportExportDeployment\$_user
$_user
Definition: PKPImportExportDeployment.inc.php:31
PKPImportExportDeployment\getNamespace
getNamespace()
Definition: PKPImportExportDeployment.inc.php:125
PKPImportExportDeployment\$_processedObjectsIds
$_processedObjectsIds
Definition: PKPImportExportDeployment.inc.php:49
PKPImportExportDeployment\getSubmission
getSubmission()
Definition: PKPImportExportDeployment.inc.php:170
PKPImportExportDeployment\$_submission
$_submission
Definition: PKPImportExportDeployment.inc.php:37
PKPImportExportDeployment\setContext
setContext($context)
Definition: PKPImportExportDeployment.inc.php:145
PKPImportExportDeployment\$_fileDBIds
$_fileDBIds
Definition: PKPImportExportDeployment.inc.php:67
PKPImportExportDeployment\setSubmission
setSubmission($submission)
Definition: PKPImportExportDeployment.inc.php:161
PKPImportExportDeployment\$_baseImportPath
$_baseImportPath
Definition: PKPImportExportDeployment.inc.php:79
PKPImportExportDeployment\getPublication
getPublication()
Definition: PKPImportExportDeployment.inc.php:187
PKPImportExportDeployment\addProcessedObjectId
addProcessedObjectId($assocType, $assocId)
Definition: PKPImportExportDeployment.inc.php:196
PKPImportExportDeployment\__construct
__construct($context, $user=null)
Definition: PKPImportExportDeployment.inc.php:86
PKPImportExportDeployment\$_publication
$_publication
Definition: PKPImportExportDeployment.inc.php:43
PKPImportExportDeployment\getRepresentationNodeName
getRepresentationNodeName()
Definition: PKPImportExportDeployment.inc.php:117
PKPImportExportDeployment\getAuthorDBIds
getAuthorDBIds()
Definition: PKPImportExportDeployment.inc.php:354
PKPImportExportDeployment\getProcessedObjectsErrors
getProcessedObjectsErrors($assocType)
Definition: PKPImportExportDeployment.inc.php:237