File Manager
Upload
Current Directory: /home/lartcid/public_html/journal.lartc.id
[Back]
..
[Open]
Hapus
Rename
.htaccess
[Edit]
Hapus
Rename
.well-known
[Open]
Hapus
Rename
README.md
[Edit]
Hapus
Rename
api
[Open]
Hapus
Rename
cache
[Open]
Hapus
Rename
cgi-bin
[Open]
Hapus
Rename
classes
[Open]
Hapus
Rename
config.TEMPLATE.inc.php
[Edit]
Hapus
Rename
config.inc.php
[Edit]
Hapus
Rename
controllers
[Open]
Hapus
Rename
cypress.json
[Edit]
Hapus
Rename
dbscripts
[Open]
Hapus
Rename
docs
[Open]
Hapus
Rename
error_log
[Edit]
Hapus
Rename
favicon.ico
[Edit]
Hapus
Rename
index.php
[Edit]
Hapus
Rename
js
[Open]
Hapus
Rename
lib
[Open]
Hapus
Rename
locale
[Open]
Hapus
Rename
mini.php
[Edit]
Hapus
Rename
pages
[Open]
Hapus
Rename
php.ini
[Edit]
Hapus
Rename
plugins
[Open]
Hapus
Rename
public
[Open]
Hapus
Rename
registry
[Open]
Hapus
Rename
scheduledTaskLogs
[Open]
Hapus
Rename
schemas
[Open]
Hapus
Rename
styles
[Open]
Hapus
Rename
templates
[Open]
Hapus
Rename
tools
[Open]
Hapus
Rename
Edit File
<?php /** * @file plugins/reports/views/ViewReportPlugin.inc.php * * Copyright (c) 2014-2021 Simon Fraser University * Copyright (c) 2003-2021 John Willinsky * Distributed under the GNU GPL v3. For full terms see the file docs/COPYING. * * @class ViewReportPlugin * @ingroup plugins_reports_views * * @brief View report plugin */ use function PHP81_BC\strftime; import('lib.pkp.classes.plugins.ReportPlugin'); class ViewReportPlugin extends ReportPlugin { /** * @copydoc Plugin::register() */ function register($category, $path, $mainContextId = null) { $success = parent::register($category, $path, $mainContextId); $this->addLocaleData(); return $success; } /** * Get the name of this plugin. The name must be unique within * its category. * @return String name of plugin */ function getName() { return 'ViewReportPlugin'; } function getDisplayName() { return __('plugins.reports.views.displayName'); } function getDescription() { return __('plugins.reports.views.description'); } /** * @copydoc ReportPlugin::display() */ function display($args, $request) { $context = $request->getContext(); $columns = array( __('plugins.reports.views.articleId'), __('plugins.reports.views.articleTitle'), __('issue.issue'), __('plugins.reports.views.datePublished'), __('plugins.reports.views.abstractViews'), __('plugins.reports.views.galleyViews'), ); $galleyLabels = array(); $galleyViews = array(); $galleyViewTotals = array(); $abstractViewCounts = array(); $issueIdentifications = array(); $issueDatesPublished = array(); $articleTitles = array(); $articleIssueIdentificationMap = array(); import('lib.pkp.classes.submission.PKPSubmission'); // STATUS_PUBLISHED $issueDao = DAORegistry::getDAO('IssueDAO'); /* @var $issueDao IssueDAO */ $submissionsIterator = Services::get('submission')->getMany([ 'contextId' => $context->getId(), 'status' => STATUS_PUBLISHED, ]); foreach ($submissionsIterator as $submission) { $articleId = $submission->getId(); $issueId = $submission->getCurrentPublication()->getData('issueId'); $articleTitles[$articleId] = PKPString::regexp_replace( "/\r|\n/", "", $submission->getLocalizedTitle() ); // Store the abstract view count $abstractViewCounts[$articleId] = $submission->getViews(); // Make sure we get the issue identification $articleIssueIdentificationMap[$articleId] = $issueId; if (!isset($issueIdentifications[$issueId])) { $issue = $issueDao->getById($issueId); $issueIdentifications[$issueId] = $issue->getIssueIdentification(); $issueDatesPublished[$issueId] = $issue->getDatePublished(); unset($issue); } // For each galley, store the label and the count $galleys = $submission->getGalleys(); $galleyViews[$articleId] = array(); $galleyViewTotals[$articleId] = 0; foreach ($galleys as $galley) { $label = $galley->getGalleyLabel(); $i = array_search($label, $galleyLabels); if ($i === false) { $i = count($galleyLabels); $galleyLabels[] = $label; } // Make sure the array is the same size as in previous iterations // so that we insert values into the right location $galleyViews[$articleId] = array_pad($galleyViews[$articleId], count($galleyLabels), ''); $views = $galley->getViews(); $galleyViews[$articleId][$i] = $views; $galleyViewTotals[$articleId] += $views; } } header('content-type: text/comma-separated-values'); header('content-disposition: attachment; filename=views-' . date('Ymd') . '.csv'); $fp = fopen('php://output', 'wt'); //Add BOM (byte order mark) to fix UTF-8 in Excel fprintf($fp, chr(0xEF).chr(0xBB).chr(0xBF)); fputcsv($fp, array_merge($columns, $galleyLabels)); ksort($abstractViewCounts); $dateFormatShort = $context->getLocalizedDateFormatShort(); foreach ($abstractViewCounts as $articleId => $abstractViewCount) { $values = array( $articleId, $articleTitles[$articleId], $issueIdentifications[$articleIssueIdentificationMap[$articleId]], strftime($dateFormatShort, strtotime($issueDatesPublished[$articleIssueIdentificationMap[$articleId]])), $abstractViewCount, $galleyViewTotals[$articleId] ); fputcsv($fp, array_merge($values, $galleyViews[$articleId])); } fclose($fp); } }
Simpan