View file modules/pages/dashboard.php

File size: 5.98Kb
<?php
$title_main = 'Панель уравления - GOload '.$lang['title'];
require_once SYS.'/header.php';

if (!isset($admin)) {
	go('/');
}

echo '<div class="block col-md-8">
		 <h6 class="round_title">
			<a class="left" onclick="window.history.back();">
			   <img src="/assets/img/left.svg" alt="back">
			</a>
			<div class="title back"><a href="/">'.$title.'</a> | Панель уравления</div>
		 </h6>';

if (isset($_REQUEST['submit'])) {
$site = input($_POST['site']);
$del = abs(intval(input($_POST['del'])));
$maxsize = abs(intval(input($_POST['maxsize'])));

if (empty($site)) {
	error('Поле "Копирайт на файле" осталось пустым');
}

if (empty($maxsize)) {
	error('Поле "Максимальный размер файла при загрузке" осталось пустым');
}

if (empty($del)) {
	error('Поле "Удалять файлы которым" осталось пустым');
}

$db->query("UPDATE `set` SET `site` = '$site', `maxsize` = '$maxsize', `del` = '$del'");
	go('/dashboard');
}

echo '		<div class="view line menu">
			<div class="dash_slider">
				<a class="dash_items slide" href="/file">
					<i class="material-icons">insert_drive_file</i>
					<div class="dash_r">
						<span>'.$lang['file_count'].'</span>
						<h3>'.$db->query('SELECT COUNT(`id`) FROM `file`')->fetch_row()[0].'</h3>
					</div>
				</a>
				<a class="dash_items slide" href="/users">
					<i class="material-icons">group</i>
					<div class="dash_r">
						<span>'.$lang['users'].'</span>
						<h3>'.$db->query('SELECT COUNT(*) FROM `users`')->fetch_row()[0].'</h3>
					</div>
				</a>
				<a class="dash_items slide" href="/online">
					<i class="material-icons">how_to_reg</i>
					<div class="dash_r">
						<span>'.$lang['online'].'</span>
						<h3>'.$db->query('SELECT COUNT(*) FROM `guest` WHERE `time` > '.(time()-60))->fetch_row()[0].'</h3>
					</div>
				</a>
				<div class="dash_items slide">
					<i class="material-icons">forum</i>
					<div class="dash_r">
						<span>'.$lang['comments_count'].'</span>
						<h3>'.$db->query('SELECT COUNT(`id`) FROM `komm`')->fetch_row()[0].'</h3>
					</div>
				</div>
				<a class="dash_items slide" href="/reports">
					<i class="material-icons">report</i>
					<div class="dash_r">
						<span>'.$lang['reports_count'].'</span>
						<h3>'.$db->query('SELECT COUNT(`id`) FROM `report`')->fetch_row()[0].'</h3>
					</div>
				</a>
				<div class="dash_items slide">
					<i class="material-icons">storage</i>
					<div class="dash_r">
						<span>'.$lang['views_all'].'</span>
						<h3>'.$db->query('SELECT COUNT(`id`) FROM `guest`')->fetch_row()[0].'</h3>
					</div>
				</div>
			</div>
		</div>
		<div class="menu">
			<script src="/assets/js/chart.min.js"></script>
			
			<canvas id="GOloadStat" width="100" height="100"></canvas>
			
			<a class="period" data-period="day" href="#" style="margin: 8px;">Days</a>
			<a class="period" data-period="week" href="#" style="margin: 8px;">Weeks</a>
			<a class="period" data-period="month" href="#" style="margin: 8px;">Months</a>
			<script>
				$(document).ready(() => {
					const stat = (period = "day") => {
						$.get(`/assets/other/stat.php?period=${period}&'.time().'`).done(data => {
							const labels = data.stat.map(o => o.date);
							const host = data.stat.map(o => o.hosts);
							const hit = data.stat.map(o => o.hits);

							const ctx = document.getElementById("GOloadStat").getContext("2d");
							const GOloadStat = new Chart(ctx, {
								type: "line",
								data: {
									labels: labels,
									datasets: [{
										label: "'.$lang['visitors'].'",
										data: host,
										backgroundColor: [
											"rgba(93, 128, 166, 0.2)"
										],
										borderColor: [
											"rgba(93, 128, 166, 1)"
										],
										borderWidth: 2,
										pointBackgroundColor: "rgba(93, 128, 166, 1)",
										pointHoverBorderColor: false
									}, {
										label: "'.$lang['viewers'].'",
										data: hit,
										backgroundColor: [
											"rgba(255, 49, 85, 0.2)"
										],
										borderColor: [
											"rgba(255, 49, 85, 1)"
										],
										borderWidth: 2,
										pointBackgroundColor: "rgba(255, 49, 85, 1)",
										pointHoverBorderColor: false
									}]
								},
								options: {
									responsive: true,
									title: {
										display: true,
										text: "'.$lang['stats'].' GOload"
									},
									scales: {
										xAxes: [{
											gridLines: {
												display: false
											}
										}],
										yAxes: [{
											gridLines: {
												color: "rgba(0, 0, 0, 0.05)"
											},
											ticks: {
												beginAtZero: true
											}
										}]
									}
								}
							});
						});
					};
					stat("day");
					$(document).on("click", "a.period", function(e) {
						e.preventDefault();
						const period = $(this).data("period");
						stat(period);
					});
				});
			</script>

		</div>
		<div class="view line menu">
			<a target="_blank" href="https://www.liveinternet.ru/stat/goload.ru/">
				<img style="margin-top: 10px;" src="https://counter.yadro.ru/hit?t25.11;rhttp%3A//'.$_SERVER['HTTP_HOST'].'/;s1366*768*24;uhttp%3A//'.$_SERVER['HTTP_HOST'].'/dashboard;hGOload;0.44067" alt="">
			</a>
		</div>
		<div class="view line menu">
			<form method="post" action="">
				Копирайт на файле: <br> <input type="text" name="site" value="'.$set['site'].'" maxlength="50"> <br>
				Максимальный размер файла при загрузке: <br> <input type="text" name="maxsize" value="'.$set['maxsize'].'" maxlength="50"> <br>
				Удалять файлы которым: <br> <input type="text" name="del" value="'.$set['del'].'" maxlength="50"> '.$lang['days'].'<br>
				<input class="btn" type="submit" name="submit" value="'.$lang['save_btn'].'">
			</form>
		</div>
	</div>
';
echo '
	  <div class="block col-md-4">
		 <div class="title">'.$lang['nav'].'</div>
		 <div class="link">
			<a href="/">'.$lang['go_home'].'</a>
		 </div>
	  </div>
';

?>