function reportGenerator($args) { import('pages.manager.StatisticsHandler'); StatisticsHandler::reportGenerator($args); }
function savePublicStatisticsList() { parent::validate(); $journal =& Request::getJournal(); foreach (StatisticsHandler::getPublicStatisticsNames() as $name) { $journal->updateSetting($name, Request::getUserVar($name) ? true : false); } $journal->updateSetting('statViews', Request::getUserVar('statViews') ? true : false); Request::redirect(null, null, 'statistics', null, array('statisticsYear' => Request::getUserVar('statisticsYear'))); }
function savePublicStatisticsList() { $this->validate(); $schedConf =& Request::getSchedConf(); if (!$schedConf) { Request::redirect(null, 'index'); } foreach (StatisticsHandler::_getPublicStatisticsNames() as $name) { $schedConf->updateSetting($name, Request::getUserVar($name) ? true : false); } Request::redirect(null, null, 'manager', 'statistics', null, array('statisticsYear' => Request::getUserVar('statisticsYear'))); }
function getPublicStatisticsNames() { import('pages.manager.ManagerHandler'); import('pages.manager.StatisticsHandler'); return StatisticsHandler::getPublicStatisticsNames(); }
function reportGenerator($args) { parent::validate(); $journal =& Request::getJournal(); $fromDate = Request::getUserDateVar('dateFrom', 1, 1); if ($fromDate !== null) { $fromDate = date('Y-m-d H:i:s', $fromDate); } $toDate = Request::getUserDateVar('dateTo', 32, 12, null, 23, 59, 59); if ($toDate !== null) { $toDate = date('Y-m-d H:i:s', $toDate); } $journalStatisticsDao =& DAORegistry::getDAO('JournalStatisticsDAO'); $reportType = (int) Request::getUserVar('reportType'); switch ($reportType) { case REPORT_TYPE_EDITOR: $report =& $journalStatisticsDao->getEditorReport($journal->getJournalId(), $fromDate, $toDate); break; case REPORT_TYPE_REVIEWER: $report =& $journalStatisticsDao->getReviewerReport($journal->getJournalId(), $fromDate, $toDate); break; case REPORT_TYPE_SECTION: $report =& $journalStatisticsDao->getSectionReport($journal->getJournalId(), $fromDate, $toDate); break; case REPORT_TYPE_JOURNAL: default: $reportType = REPORT_TYPE_JOURNAL; $report =& $journalStatisticsDao->getJournalReport($journal->getJournalId(), $fromDate, $toDate); break; } $templateMgr =& TemplateManager::getManager(); header('content-type: text/comma-separated-values'); header('content-disposition: attachment; filename=report.csv'); $separator = ','; // Display the heading row. switch ($reportType) { case REPORT_TYPE_EDITOR: echo Locale::translate('user.role.editor') . $separator; break; case REPORT_TYPE_REVIEWER: echo Locale::translate('user.role.reviewer') . $separator; echo Locale::translate('manager.statistics.reports.singleScore') . $separator; echo Locale::translate('user.affiliation') . $separator; break; case REPORT_TYPE_SECTION: echo Locale::translate('section.section') . $separator; break; } echo Locale::translate('article.submissionId'); for ($i = 0; $i < $report->getMaxAuthors(); $i++) { echo $separator . Locale::translate('manager.statistics.reports.author', array('num' => $i + 1)); echo $separator . Locale::translate('manager.statistics.reports.affiliation', array('num' => $i + 1)); echo $separator . Locale::translate('manager.statistics.reports.country', array('num' => $i + 1)); } echo $separator . Locale::translate('article.title'); if ($reportType !== REPORT_TYPE_SECTION) { echo $separator . Locale::translate('section.section'); } echo $separator . Locale::translate('submissions.submitted'); if ($reportType !== REPORT_TYPE_EDITOR) { for ($i = 0; $i < $report->getMaxEditors(); $i++) { echo $separator . Locale::translate('manager.statistics.reports.editor', array('num' => $i + 1)); } } if ($reportType !== REPORT_TYPE_REVIEWER) { for ($i = 0; $i < $report->getMaxReviewers(); $i++) { echo $separator . Locale::translate('manager.statistics.reports.reviewer', array('num' => $i + 1)); echo $separator . Locale::translate('manager.statistics.reports.score', array('num' => $i + 1)); echo $separator . Locale::translate('manager.statistics.reports.recommendation', array('num' => $i + 1)); } } echo $separator . Locale::translate('editor.article.decision'); echo $separator . Locale::translate('manager.statistics.reports.daysToDecision'); echo $separator . Locale::translate('manager.statistics.reports.daysToPublication'); echo "\n"; // Display the report. $dateFormatShort = Config::getVar('general', 'date_format_short'); while ($row =& $report->next()) { switch ($reportType) { case REPORT_TYPE_EDITOR: echo $row['editor'] . $separator; break; case REPORT_TYPE_REVIEWER: echo $row['reviewer'] . $separator; echo $row['score'] . $separator; echo $row['affiliation'] . $separator; break; case REPORT_TYPE_SECTION: echo $row['section'] . $separator; break; } echo $row['articleId']; for ($i = 0; $i < $report->getMaxAuthors(); $i++) { echo $separator . StatisticsHandler::csvEscape($row['authors'][$i]); echo $separator . StatisticsHandler::csvEscape($row['affiliations'][$i]); echo $separator . StatisticsHandler::csvEscape($row['countries'][$i]); } echo $separator . StatisticsHandler::csvEscape($row['title']); if ($reportType !== REPORT_TYPE_SECTION) { echo $separator . StatisticsHandler::csvEscape($row['section']); } echo $separator . $row['dateSubmitted']; if ($reportType !== REPORT_TYPE_EDITOR) { for ($i = 0; $i < $report->getMaxEditors(); $i++) { echo $separator . StatisticsHandler::csvEscape($row['editors'][$i]); } } if ($reportType !== REPORT_TYPE_REVIEWER) { for ($i = 0; $i < $report->getMaxReviewers(); $i++) { echo $separator . StatisticsHandler::csvEscape($row['reviewers'][$i]); echo $separator . StatisticsHandler::csvEscape($row['scores'][$i]); echo $separator . StatisticsHandler::csvEscape($row['recommendations'][$i]); } } echo $separator . StatisticsHandler::csvEscape($row['decision']); echo $separator . StatisticsHandler::csvEscape($row['daysToDecision']); echo $separator . StatisticsHandler::csvEscape($row['daysToPublication']); echo "\n"; } }