00001 <?php
00002
00019
00020
00021
00022 class ArticleLog {
00023
00029 function logEventEntry($articleId, &$entry) {
00030 $articleDao = &DAORegistry::getDAO('ArticleDAO');
00031 $journalId = $articleDao->getArticleJournalId($articleId);
00032
00033 if (!$journalId) {
00034
00035 return false;
00036 }
00037
00038 $settingsDao = &DAORegistry::getDAO('JournalSettingsDAO');
00039 if (!$settingsDao->getSetting($journalId, 'articleEventLog')) {
00040
00041 return false;
00042 }
00043
00044
00045 $entry->setArticleId($articleId);
00046
00047 if ($entry->getUserId() == null) {
00048 $user = &Request::getUser();
00049 $entry->setUserId($user == null ? 0 : $user->getUserId());
00050 }
00051
00052 $logDao = &DAORegistry::getDAO('ArticleEventLogDAO');
00053 return $logDao->insertLogEntry($entry);
00054 }
00055
00065 function logEvent($articleId, $eventType, $assocType = 0, $assocId = 0, $messageKey = null, $messageParams = array()) {
00066 return ArticleLog::logEventLevel($articleId, ARTICLE_LOG_LEVEL_NOTICE, $eventType, $assocType, $assocId, $messageKey, $messageParams);
00067 }
00068
00079 function logEventLevel($articleId, $logLevel, $eventType, $assocType = 0, $assocId = 0, $messageKey = null, $messageParams = array()) {
00080 $entry = &new ArticleEventLogEntry();
00081 $entry->setLogLevel($logLevel);
00082 $entry->setEventType($eventType);
00083 $entry->setAssocType($assocType);
00084 $entry->setAssocId($assocId);
00085
00086 if (isset($messageKey)) {
00087 $entry->setLogMessage($messageKey, $messageParams);
00088 }
00089
00090 return ArticleLog::logEventEntry($articleId, $entry);
00091 }
00092
00098 function &getEventLogEntries($articleId, $rangeInfo = null) {
00099 $logDao = &DAORegistry::getDAO('ArticleEventLogDAO');
00100 $returner = &$logDao->getArticleLogEntries($articleId, $rangeInfo);
00101 return $returner;
00102 }
00103
00109 function logEmailEntry($articleId, &$entry) {
00110 $articleDao = &DAORegistry::getDAO('ArticleDAO');
00111 $journalId = $articleDao->getArticleJournalId($articleId);
00112
00113 if (!$journalId) {
00114
00115 return false;
00116 }
00117
00118 $settingsDao = &DAORegistry::getDAO('JournalSettingsDAO');
00119 if (!$settingsDao->getSetting($journalId, 'articleEmailLog')) {
00120
00121 return false;
00122 }
00123
00124
00125 $entry->setArticleId($articleId);
00126
00127 if ($entry->getSenderId() == null) {
00128 $user = &Request::getUser();
00129 $entry->setSenderId($user == null ? 0 : $user->getUserId());
00130 }
00131
00132 $logDao = &DAORegistry::getDAO('ArticleEmailLogDAO');
00133 return $logDao->insertLogEntry($entry);
00134 }
00135
00141 function &getEmailLogEntries($articleId, $rangeInfo = null) {
00142 $logDao = &DAORegistry::getDAO('ArticleEmailLogDAO');
00143 $result = &$logDao->getArticleLogEntries($articleId, $rangeInfo);
00144 return $result;
00145 }
00146
00147 }
00148
00149 ?>