mirror of
https://github.com/Neetpone/ponepaste.git
synced 2025-03-12 22:50:07 +01:00
337 lines
12 KiB
PHP
337 lines
12 KiB
PHP
<?php
|
|
/*
|
|
* Paste <https://github.com/jordansamuel/PASTE>
|
|
*
|
|
* This program is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU General Public License
|
|
* as published by the Free Software Foundation; either version 3
|
|
* of the License, or (at your option) any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License in GPL.txt for more details.
|
|
*/
|
|
|
|
define('IN_ADMIN', 1);
|
|
require_once('common.php');
|
|
|
|
$today_users_count = 0;
|
|
$today_pastes_count = 0;
|
|
|
|
require_once('../includes/functions.php');
|
|
|
|
updateAdminHistory($conn);
|
|
|
|
$query = $conn->query("SELECT @last_id := MAX(id) FROM page_view");
|
|
$row = $query->fetch(PDO::FETCH_NUM);
|
|
$page_last_id = intval($row[0]);
|
|
|
|
|
|
$query = $conn->prepare('SELECT tpage, tvisit FROM page_view WHERE id = ?');
|
|
$query->execute([$page_last_id]);
|
|
|
|
while ($row = $query->fetch()) {
|
|
$today_page = $row['tpage'];
|
|
$today_visit = $row['tvisit'];
|
|
}
|
|
|
|
$query = $conn->query('SELECT email FROM site_info');
|
|
|
|
while ($row = $query->fetch()) {
|
|
$admin_email = Trim($row['email']);
|
|
}
|
|
|
|
$c_date = date('jS F Y');
|
|
|
|
/* Number of users today */
|
|
$query = $conn->prepare('SELECT COUNT(*) FROM users WHERE `date` = ?');
|
|
$query->execute([$c_date]);
|
|
$today_users_count = intval($query->fetch(PDO::FETCH_NUM)[0]);
|
|
|
|
/* Number of pastes today */
|
|
$query = $conn->prepare('SELECT COUNT(*) FROM pastes where s_date = ?');
|
|
$query->execute([$c_date]);
|
|
$today_pastes_count = intval($query->fetch(PDO::FETCH_NUM)[0]);
|
|
|
|
for ($loop = 0; $loop <= 6; $loop++) {
|
|
$myid = $page_last_id - $loop;
|
|
$query = $conn->prepare("SELECT date, tpage, tvisit FROM page_view WHERE id = ?");
|
|
$query->execute([$myid]);
|
|
|
|
while ($row = $query->fetch()) {
|
|
$sdate = $row['date'];
|
|
$sdate = str_replace(date('Y'), '', $sdate);
|
|
$sdate = str_replace('January', 'Jan', $sdate);
|
|
$sdate = str_replace('February', 'Feb', $sdate);
|
|
$sdate = str_replace('March', 'Mar', $sdate);
|
|
$sdate = str_replace('April', 'Apr', $sdate);
|
|
$sdate = str_replace('August', 'Aug', $sdate);
|
|
$sdate = str_replace('September', 'Sep', $sdate);
|
|
$sdate = str_replace('October', 'Oct', $sdate);
|
|
$sdate = str_replace('November', 'Nov', $sdate);
|
|
$sdate = str_replace('December', 'Dec', $sdate);
|
|
|
|
$ldate[$loop] = $sdate;
|
|
$tpage[$loop] = $row['tpage'];
|
|
$tvisit[$loop] = $row['tvisit'];
|
|
}
|
|
}
|
|
?>
|
|
|
|
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<title>Ponepaste - Dashboard</title>
|
|
<link rel="shortcut icon" href="favicon.ico">
|
|
<link href="css/paste.css" rel="stylesheet" type="text/css"/>
|
|
</head>
|
|
<body>
|
|
|
|
<div id="top" class="clearfix">
|
|
<!-- Start App Logo -->
|
|
<div class="applogo">
|
|
<a href="../" class="logo">Paste</a>
|
|
</div>
|
|
<!-- End App Logo -->
|
|
|
|
<!-- Start Top Right -->
|
|
<ul class="top-right">
|
|
<li class="dropdown link">
|
|
<a href="#" data-toggle="dropdown" class="dropdown-toggle profilebox"><b>Admin</b><span
|
|
class="caret"></span></a>
|
|
<ul class="dropdown-menu dropdown-menu-list dropdown-menu-right">
|
|
<li><a href="admin.php">Settings</a></li>
|
|
<li><a href="?logout">Logout</a></li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
<!-- End Top Right -->
|
|
</div>
|
|
<!-- END TOP -->
|
|
|
|
<div class="content">
|
|
<!-- START CONTAINER -->
|
|
<div class="container-widget">
|
|
<!-- Start Menu -->
|
|
<?php include 'menu.php'; ?>
|
|
<!-- End Menu -->
|
|
|
|
<!-- Start Stats -->
|
|
<div class="row">
|
|
<div class="col-md-12">
|
|
<ul class="panel topstats clearfix">
|
|
<li class="col-xs-6 col-lg-3">
|
|
<span class="title"><i class="fa fa-eye"></i> Views</span>
|
|
<h3><?php echo $today_page; ?></h3>
|
|
<span class="diff">Today</span>
|
|
</li>
|
|
<li class="col-xs-6 col-lg-3">
|
|
<span class="title"><i class="fa fa-clipboard"></i> Pastes</span>
|
|
<h3><?php echo $today_pastes_count; ?></h3>
|
|
<span class="diff">Today</span>
|
|
</li>
|
|
<li class="col-xs-6 col-lg-3">
|
|
<span class="title"><i class="fa fa-users"></i> Users</span>
|
|
<h3><?php echo $today_users_count; ?></h3>
|
|
<span class="diff">Today</span>
|
|
</li>
|
|
<li class="col-xs-6 col-lg-3">
|
|
<span class="title"><i class="fa fa-users"></i> Unique Views</span>
|
|
<h3><?php echo $today_visit; ?></h3>
|
|
<span class="diff">Today</span>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
<!-- End Stats -->
|
|
|
|
<div class="row">
|
|
<!-- Start Recent -->
|
|
<div class="col-md-12 col-lg-6">
|
|
<div class="panel panel-widget">
|
|
<div class="panel-title">
|
|
Recent Pastes
|
|
</div>
|
|
|
|
<div class="panel-body table-responsive">
|
|
|
|
<table class="table table-hover">
|
|
<thead>
|
|
<tr>
|
|
<td>ID</td>
|
|
<td>Username</td>
|
|
<td>Date</td>
|
|
<td>IP</td>
|
|
<td>Views</td>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<?php
|
|
$res = getRecentadmin($conn, 7);
|
|
foreach ($res as $row) {
|
|
$title = Trim($row['title']);
|
|
$p_id = Trim($row['id']);
|
|
$p_date = Trim($row['s_date']);
|
|
$p_ip = Trim($row['ip']);
|
|
$p_member = Trim($row['member']);
|
|
$p_view = Trim($row['views']);
|
|
$p_time = Trim($row['now_time']);
|
|
$nowtime1 = time();
|
|
$oldtime1 = $p_time;
|
|
$p_time = conTime($nowtime1 - $oldtime1);
|
|
$title = truncate($title, 5, 30);
|
|
echo "
|
|
<tr>
|
|
<td>$p_id</td>
|
|
<td>$p_member</td>
|
|
<td>$p_date</td>
|
|
<td><span class='label label-default'>$p_ip</span></td>
|
|
<td>$p_view</td>
|
|
</tr> ";
|
|
}
|
|
?>
|
|
</tbody>
|
|
</table>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!-- End Recent -->
|
|
|
|
<!-- Start Recent Users -->
|
|
<div class="col-md-12 col-lg-6">
|
|
<div class="panel panel-widget">
|
|
<div class="panel-title">
|
|
Recent Users
|
|
</div>
|
|
|
|
<div class="panel-body table-responsive">
|
|
|
|
<table class="table table-hover">
|
|
<thead>
|
|
<tr>
|
|
<td>ID</td>
|
|
<td>Username</td>
|
|
<td>Date</td>
|
|
<td>IP</td>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<?php
|
|
$most_recent_users = $conn->query('SELECT id, username, date, ip FROM users ORDER BY id DESC LIMIT 7')->fetchAll();
|
|
$last_id = intval(
|
|
$conn->query('SELECT MAX(id) FROM users')->fetch(PDO::FETCH_NUM)[0]
|
|
);
|
|
|
|
foreach ($most_recent_users as $user) {
|
|
echo "
|
|
<tr>
|
|
<td>${user['id']}</td>
|
|
<td>${user['username']}</td>
|
|
<td>${user['date']}</td>
|
|
<td><span class='label label-default'>${user['ip']}</span></td>
|
|
</tr> ";
|
|
}
|
|
|
|
?>
|
|
</tbody>
|
|
</table>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!-- End Recent Users -->
|
|
</div>
|
|
|
|
<div class="row">
|
|
<!-- Start Admin History -->
|
|
<div class="col-md-12 col-lg-6">
|
|
<div class="panel panel-widget">
|
|
<div class="panel-title">
|
|
Admin History
|
|
</div>
|
|
|
|
<div class="panel-body table-responsive">
|
|
|
|
<table class="table table-hover">
|
|
<thead>
|
|
<tr>
|
|
<td>ID</td>
|
|
<td>Last Login Date</td>
|
|
<td>IP</td>
|
|
<td>ID</td>
|
|
<td>Last Login Date</td>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<?php
|
|
$res = getreports($conn, 7);
|
|
foreach ($res as $row) {
|
|
$r_paste = Trim($row['p_report']);
|
|
$r_id = Trim($row['id']);
|
|
$r_date = Trim($row['t_report']);
|
|
$m_report = Trim($row['m_report']);
|
|
$r_reason = Trim($row['rep_reason']);
|
|
echo '
|
|
<tr>
|
|
<td>' . $r_id . '</td>
|
|
<td>' . $r_paste . '</td>
|
|
<td>' . $m_report . '</td>
|
|
<td>' . $r_date . '</td>
|
|
<td>' . $r_reason . '</td>
|
|
</tr> ';
|
|
}
|
|
?>
|
|
</tbody>
|
|
</table>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!-- End Admin History -->
|
|
|
|
<div class="col-md-12 col-lg-6">
|
|
<div class="panel panel-widget">
|
|
<div class="panel-title">
|
|
</div>
|
|
<p style="height: auto;">
|
|
<?php
|
|
$latestversion = file_get_contents('https://raw.githubusercontent.com/jordansamuel/PASTE/releases/version');
|
|
echo "Latest version: " . $latestversion . "— Installed version: " . $currentversion;
|
|
if ($currentversion == $latestversion) {
|
|
echo '<br />You have the latest version';
|
|
} else {
|
|
echo '<br />Your Paste installation is outdated. Get the latest version from <a href="https://sourceforge.net/projects/phpaste/files/latest/download">SourceForge</a>';
|
|
}
|
|
?>
|
|
|
|
</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!-- END CONTAINER -->
|
|
|
|
<!-- Start Footer -->
|
|
<div class="row footer">
|
|
<div class="col-md-6 text-left">
|
|
<a href="https://github.com/jordansamuel/PASTE" target="_blank">Updates</a> — <a
|
|
href="https://github.com/jordansamuel/PASTE/issues" target="_blank">Bugs</a>
|
|
</div>
|
|
<div class="col-md-6 text-right">
|
|
A fork of <a href="https://phpaste.sourceforge.io" target="_blank">Paste</a>
|
|
</div>
|
|
</div>
|
|
<!-- End Footer -->
|
|
|
|
</div>
|
|
<!-- End content -->
|
|
|
|
|
|
<script type="text/javascript" src="js/jquery.min.js"></script>
|
|
<script type="text/javascript" src="js/bootstrap.min.js"></script>
|
|
</body>
|
|
</html>
|