00001 <?php
00002
00016
00017
00018
00019
00020 define('ARTICLE_LOG_LEVEL_INFO', 'I');
00021 define('ARTICLE_LOG_LEVEL_NOTICE', 'N');
00022 define('ARTICLE_LOG_LEVEL_WARNING', 'W');
00023 define('ARTICLE_LOG_LEVEL_ERROR', 'E');
00024
00025
00026 define('ARTICLE_LOG_TYPE_DEFAULT', 0);
00027 define('ARTICLE_LOG_TYPE_AUTHOR', 0x01);
00028 define('ARTICLE_LOG_TYPE_EDITOR', 0x02);
00029 define('ARTICLE_LOG_TYPE_REVIEW', 0x03);
00030 define('ARTICLE_LOG_TYPE_COPYEDIT', 0x04);
00031 define('ARTICLE_LOG_TYPE_LAYOUT', 0x05);
00032 define('ARTICLE_LOG_TYPE_PROOFREAD', 0x06);
00033
00034
00035 define('ARTICLE_LOG_DEFAULT', 0);
00036
00037
00038 define('ARTICLE_LOG_ARTICLE_SUBMIT', 0x10000001);
00039 define('ARTICLE_LOG_METADATA_UPDATE', 0x10000002);
00040 define('ARTICLE_LOG_SUPPFILE_UPDATE', 0x10000003);
00041 define('ARTICLE_LOG_ISSUE_SCHEDULE', 0x10000004);
00042 define('ARTICLE_LOG_ISSUE_ASSIGN', 0x10000005);
00043 define('ARTICLE_LOG_ARTICLE_PUBLISH', 0x10000006);
00044 define('ARTICLE_LOG_ARTICLE_IMPORT', 0x10000007);
00045
00046
00047 define('ARTICLE_LOG_AUTHOR_REVISION', 0x20000001);
00048
00049
00050 define('ARTICLE_LOG_EDITOR_ASSIGN', 0x30000001);
00051 define('ARTICLE_LOG_EDITOR_UNASSIGN', 0x30000002);
00052 define('ARTICLE_LOG_EDITOR_DECISION', 0x30000003);
00053 define('ARTICLE_LOG_EDITOR_FILE', 0x30000004);
00054 define('ARTICLE_LOG_EDITOR_ARCHIVE', 0x30000005);
00055 define('ARTICLE_LOG_EDITOR_RESTORE', 0x30000006);
00056 define('ARTICLE_LOG_EDITOR_EXPEDITE', 0x30000007);
00057
00058
00059 define('ARTICLE_LOG_REVIEW_ASSIGN', 0x40000001);
00060 define('ARTICLE_LOG_REVIEW_UNASSIGN', 0x40000002);
00061 define('ARTICLE_LOG_REVIEW_INITIATE', 0x40000003);
00062 define('ARTICLE_LOG_REVIEW_CANCEL', 0x40000004);
00063 define('ARTICLE_LOG_REVIEW_REINITIATE', 0x40000005);
00064 define('ARTICLE_LOG_REVIEW_ACCEPT', 0x40000006);
00065 define('ARTICLE_LOG_REVIEW_DECLINE', 0x40000007);
00066 define('ARTICLE_LOG_REVIEW_REVISION', 0x40000008);
00067 define('ARTICLE_LOG_REVIEW_RECOMMENDATION', 0x40000009);
00068 define('ARTICLE_LOG_REVIEW_RATE', 0x40000010);
00069 define('ARTICLE_LOG_REVIEW_SET_DUE_DATE', 0x40000011);
00070 define('ARTICLE_LOG_REVIEW_RESUBMIT', 0x40000012);
00071 define('ARTICLE_LOG_REVIEW_FILE', 0x40000013);
00072 define('ARTICLE_LOG_REVIEW_CLEAR', 0x40000014);
00073 define('ARTICLE_LOG_REVIEW_CONFIRM_BY_PROXY', 0x40000015);
00074 define('ARTICLE_LOG_REVIEW_RECOMMENDATION_BY_PROXY', 0x40000016);
00075 define('ARTICLE_LOG_REVIEW_FILE_BY_PROXY', 0x40000017);
00076
00077
00078 define('ARTICLE_LOG_COPYEDIT_ASSIGN', 0x50000001);
00079 define('ARTICLE_LOG_COPYEDIT_UNASSIGN', 0x50000002);
00080 define('ARTICLE_LOG_COPYEDIT_INITIATE', 0x50000003);
00081 define('ARTICLE_LOG_COPYEDIT_REVISION', 0x50000004);
00082 define('ARTICLE_LOG_COPYEDIT_INITIAL', 0x50000005);
00083 define('ARTICLE_LOG_COPYEDIT_FINAL', 0x50000006);
00084 define('ARTICLE_LOG_COPYEDIT_SET_FILE', 0x50000007);
00085 define('ARTICLE_LOG_COPYEDIT_COPYEDIT_FILE', 0x50000008);
00086 define('ARTICLE_LOG_COPYEDIT_COPYEDITOR_FILE', 0x50000009);
00087
00088
00089 define('ARTICLE_LOG_PROOFREAD_ASSIGN', 0x60000001);
00090 define('ARTICLE_LOG_PROOFREAD_UNASSIGN', 0x60000002);
00091 define('ARTICLE_LOG_PROOFREAD_INITIATE', 0x60000003);
00092 define('ARTICLE_LOG_PROOFREAD_REVISION', 0x60000004);
00093 define('ARTICLE_LOG_PROOFREAD_COMPLETE', 0x60000005);
00094
00095
00096 define('ARTICLE_LOG_LAYOUT_ASSIGN', 0x70000001);
00097 define('ARTICLE_LOG_LAYOUT_UNASSIGN', 0x70000002);
00098 define('ARTICLE_LOG_LAYOUT_INITIATE', 0x70000003);
00099 define('ARTICLE_LOG_LAYOUT_GALLEY', 0x70000004);
00100 define('ARTICLE_LOG_LAYOUT_COMPLETE', 0x70000005);
00101
00102
00103 class ArticleEventLogEntry extends DataObject {
00104
00108 function ArticleEventLogEntry() {
00109 parent::DataObject();
00110 }
00111
00117 function setLogMessage($key, $params = array()) {
00118 $this->setMessage(Locale::translate($key, $params, Locale::getPrimaryLocale()));
00119 }
00120
00121
00122
00123
00124
00129 function getLogId() {
00130 return $this->getData('logId');
00131 }
00132
00137 function setLogId($logId) {
00138 return $this->setData('logId', $logId);
00139 }
00140
00145 function getArticleId() {
00146 return $this->getData('articleId');
00147 }
00148
00153 function setArticleId($articleId) {
00154 return $this->setData('articleId', $articleId);
00155 }
00156
00161 function getUserId() {
00162 return $this->getData('userId');
00163 }
00164
00169 function setUserId($userId) {
00170 return $this->setData('userId', $userId);
00171 }
00172
00177 function getDateLogged() {
00178 return $this->getData('dateLogged');
00179 }
00180
00185 function setDateLogged($dateLogged) {
00186 return $this->setData('dateLogged', $dateLogged);
00187 }
00188
00193 function getIPAddress() {
00194 return $this->getData('ipAddress');
00195 }
00196
00201 function setIPAddress($ipAddress) {
00202 return $this->setData('ipAddress', $ipAddress);
00203 }
00204
00209 function getLogLevel() {
00210 return $this->getData('logLevel');
00211 }
00212
00217 function setLogLevel($logLevel) {
00218 return $this->setData('logLevel', $logLevel);
00219 }
00220
00225 function getEventType() {
00226 return $this->getData('eventType');
00227 }
00228
00233 function setEventType($eventType) {
00234 return $this->setData('eventType', $eventType);
00235 }
00236
00241 function getAssocType() {
00242 return $this->getData('assocType');
00243 }
00244
00249 function setAssocType($assocType) {
00250 return $this->setData('assocType', $assocType);
00251 }
00252
00257 function getAssocId() {
00258 return $this->getData('assocId');
00259 }
00260
00265 function setAssocId($assocId) {
00266 return $this->setData('assocId', $assocId);
00267 }
00268
00273 function getMessage() {
00274 return $this->getData('message');
00275 }
00276
00281 function setMessage($message) {
00282 return $this->setData('message', $message);
00283 }
00284
00289 function getLogLevelString() {
00290 switch ($this->getData('logLevel')) {
00291 case ARTICLE_LOG_LEVEL_INFO:
00292 return 'submission.event.logLevel.info';
00293 case ARTICLE_LOG_LEVEL_NOTICE:
00294 return 'submission.event.logLevel.notice';
00295 case ARTICLE_LOG_LEVEL_WARNING:
00296 return 'submission.event.logLevel.warning';
00297 case ARTICLE_LOG_LEVEL_ERROR:
00298 return 'submission.event.logLevel.error';
00299 default:
00300 return 'submission.event.logLevel.notice';
00301 }
00302 }
00303
00308 function getEventTitle() {
00309 switch ($this->getData('eventType')) {
00310
00311 case ARTICLE_LOG_ARTICLE_SUBMIT:
00312 return 'submission.event.general.articleSubmitted';
00313 case ARTICLE_LOG_METADATA_UPDATE:
00314 return 'submission.event.general.metadataUpdated';
00315 case ARTICLE_LOG_SUPPFILE_UPDATE:
00316 return 'submission.event.general.suppFileUpdated';
00317 case ARTICLE_LOG_ISSUE_SCHEDULE:
00318 return 'submission.event.general.issueScheduled';
00319 case ARTICLE_LOG_ISSUE_ASSIGN:
00320 return 'submission.event.general.issueAssigned';
00321 case ARTICLE_LOG_ARTICLE_PUBLISH:
00322 return 'submission.event.general.articlePublished';
00323
00324
00325 case ARTICLE_LOG_AUTHOR_REVISION:
00326 return 'submission.event.author.authorRevision';
00327
00328
00329 case ARTICLE_LOG_EDITOR_ASSIGN:
00330 return 'submission.event.editor.editorAssigned';
00331 case ARTICLE_LOG_EDITOR_UNASSIGN:
00332 return 'submission.event.editor.editorUnassigned';
00333 case ARTICLE_LOG_EDITOR_DECISION:
00334 return 'submission.event.editor.editorDecision';
00335 case ARTICLE_LOG_EDITOR_FILE:
00336 return 'submission.event.editor.editorFile';
00337 case ARTICLE_LOG_EDITOR_ARCHIVE:
00338 return 'submission.event.editor.submissionArchived';
00339 case ARTICLE_LOG_EDITOR_RESTORE:
00340 return 'submission.event.editor.submissionRestored';
00341
00342
00343 case ARTICLE_LOG_REVIEW_ASSIGN:
00344 return 'submission.event.reviewer.reviewerAssigned';
00345 case ARTICLE_LOG_REVIEW_UNASSIGN:
00346 return 'submission.event.reviewer.reviewerUnassigned';
00347 case ARTICLE_LOG_REVIEW_INITIATE:
00348 return 'submission.event.reviewer.reviewInitiated';
00349 case ARTICLE_LOG_REVIEW_CANCEL:
00350 return 'submission.event.reviewer.reviewCancelled';
00351 case ARTICLE_LOG_REVIEW_REINITIATE:
00352 return 'submission.event.reviewer.reviewReinitiated';
00353 case ARTICLE_LOG_REVIEW_CONFIRM_BY_PROXY:
00354 return 'submission.event.reviewer.reviewAcceptedByProxy';
00355 case ARTICLE_LOG_REVIEW_ACCEPT:
00356 return 'submission.event.reviewer.reviewAccepted';
00357 case ARTICLE_LOG_REVIEW_DECLINE:
00358 return 'submission.event.reviewer.reviewDeclined';
00359 case ARTICLE_LOG_REVIEW_REVISION:
00360 return 'submission.event.reviewer.reviewRevision';
00361 case ARTICLE_LOG_REVIEW_RECOMMENDATION:
00362 return 'submission.event.reviewer.reviewRecommendation';
00363 case ARTICLE_LOG_REVIEW_RATE:
00364 return 'submission.event.reviewer.reviewerRated';
00365 case ARTICLE_LOG_REVIEW_SET_DUE_DATE:
00366 return 'submission.event.reviewer.reviewDueDate';
00367 case ARTICLE_LOG_REVIEW_RESUBMIT:
00368 return 'submission.event.reviewer.reviewResubmitted';
00369 case ARTICLE_LOG_REVIEW_FILE:
00370 return 'submission.event.reviewer.reviewFile';
00371
00372
00373 case ARTICLE_LOG_COPYEDIT_ASSIGN:
00374 return 'submission.event.copyedit.copyeditorAssigned';
00375 case ARTICLE_LOG_COPYEDIT_UNASSIGN:
00376 return 'submission.event.copyedit.copyeditorUnassigned';
00377 case ARTICLE_LOG_COPYEDIT_INITIATE:
00378 return 'submission.event.copyedit.copyeditInitiated';
00379 case ARTICLE_LOG_COPYEDIT_REVISION:
00380 return 'submission.event.copyedit.copyeditRevision';
00381 case ARTICLE_LOG_COPYEDIT_INITIAL:
00382 return 'submission.event.copyedit.copyeditInitialCompleted';
00383 case ARTICLE_LOG_COPYEDIT_FINAL:
00384 return 'submission.event.copyedit.copyeditFinalCompleted';
00385 case ARTICLE_LOG_COPYEDIT_SET_FILE:
00386 return 'submission.event.copyedit.copyeditSetFile';
00387
00388
00389 case ARTICLE_LOG_PROOFREAD_ASSIGN:
00390 return 'submission.event.proofread.proofreaderAssigned';
00391 case ARTICLE_LOG_PROOFREAD_UNASSIGN:
00392 return 'submission.event.proofread.proofreaderUnassigned';
00393 case ARTICLE_LOG_PROOFREAD_INITIATE:
00394 return 'submission.event.proofread.proofreadInitiated';
00395 case ARTICLE_LOG_PROOFREAD_REVISION:
00396 return 'submission.event.proofread.proofreadRevision';
00397 case ARTICLE_LOG_PROOFREAD_COMPLETE:
00398 return 'submission.event.proofread.proofreadCompleted';
00399
00400
00401 case ARTICLE_LOG_LAYOUT_ASSIGN:
00402 return 'submission.event.layout.layoutEditorAssigned';
00403 case ARTICLE_LOG_LAYOUT_UNASSIGN:
00404 return 'submission.event.layout.layoutEditorUnassigned';
00405 case ARTICLE_LOG_LAYOUT_INITIATE:
00406 return 'submission.event.layout.layoutInitiated';
00407 case ARTICLE_LOG_LAYOUT_GALLEY:
00408 return 'submission.event.layout.layoutGalleyCreated';
00409 case ARTICLE_LOG_LAYOUT_COMPLETE:
00410 return 'submission.event.layout.layoutComplete';
00411
00412 default:
00413 return 'submission.event.general.defaultEvent';
00414 }
00415 }
00416
00421 function getUserFullName() {
00422 $userFullName =& $this->getData('userFullName');
00423 if(!isset($userFullName)) {
00424 $userDao = &DAORegistry::getDAO('UserDAO');
00425 $userFullName = $userDao->getUserFullName($this->getUserId(), true);
00426 }
00427
00428 return $userFullName ? $userFullName : '';
00429 }
00430
00435 function getUserEmail() {
00436 $userEmail =& $this->getData('userEmail');
00437
00438 if(!isset($userEmail)) {
00439 $userDao = &DAORegistry::getDAO('UserDAO');
00440 $userEmail = $userDao->getUserEmail($this->getUserId(), true);
00441 }
00442
00443 return $userEmail ? $userEmail : '';
00444 }
00445
00450 function getAssocTypeString() {
00451 switch ($this->getData('assocType')) {
00452 case ARTICLE_LOG_TYPE_AUTHOR:
00453 return 'AUT';
00454 case ARTICLE_LOG_TYPE_EDITOR:
00455 return 'EDR';
00456 case ARTICLE_LOG_TYPE_REVIEW:
00457 return 'REV';
00458 case ARTICLE_LOG_TYPE_COPYEDIT:
00459 return 'CPY';
00460 case ARTICLE_LOG_TYPE_LAYOUT:
00461 return 'LYT';
00462 case ARTICLE_LOG_TYPE_PROOFREAD:
00463 return 'PRF';
00464 default:
00465 return 'ART';
00466 }
00467 }
00468
00473 function getAssocTypeLongString() {
00474 switch ($this->getData('assocType')) {
00475 case ARTICLE_LOG_TYPE_AUTHOR:
00476 return 'submission.logType.author';
00477 case ARTICLE_LOG_TYPE_EDITOR:
00478 return 'submission.logType.editor';
00479 case ARTICLE_LOG_TYPE_REVIEW:
00480 return 'submission.logType.review';
00481 case ARTICLE_LOG_TYPE_COPYEDIT:
00482 return 'submission.logType.copyedit';
00483 case ARTICLE_LOG_TYPE_LAYOUT:
00484 return 'submission.logType.layout';
00485 case ARTICLE_LOG_TYPE_PROOFREAD:
00486 return 'submission.logType.proofread';
00487 default:
00488 return 'submission.logType.article';
00489 }
00490 }
00491
00492 }
00493
00494 ?>