setMessage(Locale::translate($key, $params, Locale::getPrimaryLocale())); } // // Get/set methods // /** * Get ID of log entry. * @return int */ function getLogId() { return $this->getData('logId'); } /** * Set ID of log entry. * @param $logId int */ function setLogId($logId) { return $this->setData('logId', $logId); } /** * Get ID of paper. * @return int */ function getPaperId() { return $this->getData('paperId'); } /** * Set ID of paper. * @param $paperId int */ function setPaperId($paperId) { return $this->setData('paperId', $paperId); } /** * Get user ID of user that initiated the event. * @return int */ function getUserId() { return $this->getData('userId'); } /** * Set user ID of user that initiated the event. * @param $userId int */ function setUserId($userId) { return $this->setData('userId', $userId); } /** * Get date entry was logged. * @return datestamp */ function getDateLogged() { return $this->getData('dateLogged'); } /** * Set date entry was logged. * @param $dateLogged datestamp */ function setDateLogged($dateLogged) { return $this->setData('dateLogged', $dateLogged); } /** * Get IP address of user that initiated the event. * @return string */ function getIPAddress() { return $this->getData('ipAddress'); } /** * Set IP address of user that initiated the event. * @param $ipAddress string */ function setIPAddress($ipAddress) { return $this->setData('ipAddress', $ipAddress); } /** * Get the log level. * @return int */ function getLogLevel() { return $this->getData('logLevel'); } /** * Set the log level. * @param $logLevel char */ function setLogLevel($logLevel) { return $this->setData('logLevel', $logLevel); } /** * Get event type. * @return int */ function getEventType() { return $this->getData('eventType'); } /** * Set event type. * @param $eventType int */ function setEventType($eventType) { return $this->setData('eventType', $eventType); } /** * Get associated type. * @return int */ function getAssocType() { return $this->getData('assocType'); } /** * Set associated type. * @param $assocType int */ function setAssocType($assocType) { return $this->setData('assocType', $assocType); } /** * Get associated ID. * @return int */ function getAssocId() { return $this->getData('assocId'); } /** * Set associated ID. * @param $assocId int */ function setAssocId($assocId) { return $this->setData('assocId', $assocId); } /** * Get custom log message (non-localized). * @return string */ function getMessage() { return $this->getData('message'); } /** * Set custom log message (non-localized). * @param $message string */ function setMessage($message) { return $this->setData('message', $message); } /** * Return locale message key for the log level. * @return string */ function getLogLevelString() { switch ($this->getData('logLevel')) { case LOG_LEVEL_INFO: return 'event.logLevel.info'; case LOG_LEVEL_NOTICE: return 'event.logLevel.notice'; case LOG_LEVEL_WARNING: return 'event.logLevel.warning'; case LOG_LEVEL_ERROR: return 'event.logLevel.error'; default: return 'event.logLevel.notice'; } } /** * Return locale message key describing event type. * @return string */ function getEventTitle() { switch ($this->getData('eventType')) { // General events case PAPER_LOG_ABSTRACT_SUBMIT: return 'submission.event.general.abstractSubmitted'; case PAPER_LOG_PRESENTATION_SUBMIT: return 'submission.event.general.presentationSubmitted'; case PAPER_LOG_METADATA_UPDATE: return 'submission.event.general.metadataUpdated'; case PAPER_LOG_SUPPFILE_UPDATE: return 'submission.event.general.suppFileUpdated'; case PAPER_LOG_ISSUE_SCHEDULE: return 'submission.event.general.issueScheduled'; case PAPER_LOG_ISSUE_ASSIGN: return 'submission.event.general.issueAssigned'; case PAPER_LOG_PAPER_PUBLISH: return 'submission.event.general.paperPublished'; // Presenter events case PAPER_LOG_PRESENTER_REVISION: return 'submission.event.presenter.presenterRevision'; // Director events case PAPER_LOG_DIRECTOR_ASSIGN: return 'submission.event.director.directorAssigned'; case PAPER_LOG_DIRECTOR_UNASSIGN: return 'submission.event.director.directorUnassigned'; case PAPER_LOG_DIRECTOR_DECISION: return 'submission.event.director.directorDecision'; case PAPER_LOG_DIRECTOR_FILE: return 'submission.event.director.directorFile'; case PAPER_LOG_DIRECTOR_ARCHIVE: return 'submission.event.director.submissionArchived'; case PAPER_LOG_DIRECTOR_RESTORE: return 'submission.event.director.submissionRestored'; // Reviewer events case PAPER_LOG_REVIEW_ASSIGN: return 'submission.event.reviewer.reviewerAssigned'; case PAPER_LOG_REVIEW_UNASSIGN: return 'submission.event.reviewer.reviewerUnassigned'; case PAPER_LOG_REVIEW_INITIATE: return 'submission.event.reviewer.reviewInitiated'; case PAPER_LOG_REVIEW_CANCEL: return 'submission.event.reviewer.reviewCancelled'; case PAPER_LOG_REVIEW_REINITIATE: return 'submission.event.reviewer.reviewReinitiated'; case PAPER_LOG_REVIEW_ACCEPT_BY_PROXY: return 'submission.event.reviewer.reviewAcceptedByProxy'; case PAPER_LOG_REVIEW_ACCEPT: return 'submission.event.reviewer.reviewAccepted'; case PAPER_LOG_REVIEW_DECLINE: return 'submission.event.reviewer.reviewDeclined'; case PAPER_LOG_REVIEW_REVISION: return 'submission.event.reviewer.reviewRevision'; case PAPER_LOG_REVIEW_RECOMMENDATION: return 'submission.event.reviewer.reviewRecommendation'; case PAPER_LOG_REVIEW_RATE: return 'submission.event.reviewer.reviewerRated'; case PAPER_LOG_REVIEW_SET_DUE_DATE: return 'submission.event.reviewer.reviewDueDate'; case PAPER_LOG_REVIEW_FILE: return 'submission.event.reviewer.reviewFile'; // Layout events case PAPER_LOG_LAYOUT_GALLEY: return 'submission.event.layout.layoutGalleyCreated'; default: return 'event.general.defaultEvent'; } } /** * Return the full name of the user. * @return string */ function getUserFullName() { static $userFullName; if(!isset($userFullName)) { $userDao = &DAORegistry::getDAO('UserDAO'); $userFullName = $userDao->getUserFullName($this->getUserId(), true); } return $userFullName ? $userFullName : ''; } /** * Return the email address of the user. * @return string */ function getUserEmail() { static $userEmail; if(!isset($userEmail)) { $userDao = &DAORegistry::getDAO('UserDAO'); $userEmail = $userDao->getUserEmail($this->getUserId(), true); } return $userEmail ? $userEmail : ''; } /** * Return string representation of the associated type. * @return string */ function getAssocTypeString() { switch ($this->getData('assocType')) { case LOG_TYPE_PRESENTER: return 'AUT'; case LOG_TYPE_DIRECTOR: return 'DIR'; case LOG_TYPE_REVIEW: return 'REV'; default: return 'PAP'; } } /** * Return locale message key for the long format of the associated type. * @return string */ function getAssocTypeLongString() { switch ($this->getData('assocType')) { case LOG_TYPE_PRESENTER: return 'event.logType.presenter'; case LOG_TYPE_DIRECTOR: return 'event.logType.director'; case LOG_TYPE_REVIEW: return 'event.logType.review'; default: return 'event.logType.paper'; } } } ?>