<?php 
/**
* @version		$Id: req.php 2073 2019-02-16 08:59:21Z IOS $
* @package		Elxis
* @subpackage	Module Administration Statistics
* @copyright	Copyright (c) 2006-2025 Elxis CMS (https://www.elxis.org). All rights reserved.
* @license		Elxis Public License ( https://www.elxis.org/elxis-public-license.html )
* @author		Elxis Team ( https://www.elxis.org )
* @description 	Elxis CMS is free software. Read the license for copyright notices and details
*/

defined('_ELXIS_') or die ('Direct access to this location is not allowed');


$db = eFactory::getDB();
$eDate = eFactory::getDate();
$eLang = eFactory::getLang();

$month = isset($_POST['month']) ? (int)$_POST['month'] : date('m');
$year = isset($_POST['year']) ? (int)$_POST['year'] : date('Y');
if (($month < 0) || ($month > 12)) { $month = date('m'); }
if (($year < 2000) || ($year > 2040)) { $year = date('Y'); }

$ts = mktime(12, 0, 0, $month, 15, $year);
$daysnum = date('t', $ts);
$mname = $eDate->monthName($month);

$eLang->load('mod_adminstats', 'module');

$data = array(
	'year' => $year,
	'month' => $month,
	'daysnum' => $daysnum,
	'visits' => array(),
	'clicks' => array(),
	'clicksdesc' => '',
	'visitsdesc' => ''
);

for ($i=1; $i <= $daysnum; $i++) {
	$data['visits'][$i] = 0;
	$data['clicks'][$i] = 0;
}

$data['clicksdesc'] = sprintf($eLang->get('CLICKS_PER_DAY'), '<strong>'.$mname.' '. $year.'</strong>');
$data['visitsdesc'] = sprintf($eLang->get('VISITS_PER_DAY'), '<strong>'.$mname.' '. $year.'</strong>');

$dt = $year.'-'.sprintf("%02d", $month).'%';
$sql = "SELECT ".$db->quoteId('statdate').", ".$db->quoteId('clicks').", ".$db->quoteId('visits')
."\n FROM ".$db->quoteId('#__statistics')
."\n WHERE ".$db->quoteId('statdate')." LIKE :sdt ORDER BY ".$db->quoteId('statdate')." ASC";
$stmt = $db->prepare($sql);
$stmt->bindParam(':sdt', $dt, PDO::PARAM_STR);
$stmt->execute();
$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);

if ($rows) {
	foreach ($rows as $k => $row) {
		$day = (int)substr($row['statdate'], -2);
		$data['visits'][$day] = $row['visits'];
		$data['clicks'][$day] = $row['clicks'];
	}
}

$response = array(
	'success' => 1, 'message' => '', 'year' => $data['year'], 'month' => $data['month'], 'daysnum' => $data['daysnum'], 
	'visits' => implode(',', $data['visits']), 'clicks' => implode(',', $data['clicks']), 'clicksdesc' => $data['clicksdesc'], 'visitsdesc' => $data['visitsdesc']
);

$this->ajaxHeaders('application/json');
echo json_encode($response);
exit;

?>