Un break code

This commit is contained in:
Floorb 2021-07-20 12:15:41 -04:00
parent db2809d241
commit 86609d5d32
6 changed files with 26 additions and 35 deletions

View file

@ -11,6 +11,10 @@ class DatabaseHandle {
]); ]);
} }
public function prepare(string $query) : PDOStatement {
return $this->conn->prepare($query);
}
public function query(string $query, array $params = null) : PDOStatement { public function query(string $query, array $params = null) : PDOStatement {
if (empty($params)) { if (empty($params)) {
return $this->conn->query($query); return $this->conn->query($query);

View file

@ -1,6 +1,7 @@
<?php <?php
class User { class User {
public const REMEMBER_TOKEN_COOKIE = '_ponepaste_token';
public int $user_id; public int $user_id;
public string $username; public string $username;
@ -23,8 +24,8 @@ class User {
return $session_user; return $session_user;
} }
if (!empty($_COOKIE['_ponepaste_token']) && if (!empty($_COOKIE[self::REMEMBER_TOKEN_COOKIE]) &&
($token_user = User::createFromRememberToken($conn, $_COOKIE['_ponepaste_token']))) { ($token_user = User::createFromRememberToken($conn, $_COOKIE[self::REMEMBER_TOKEN_COOKIE]))) {
$_SESSION['user_id'] = $token_user->user_id; $_SESSION['user_id'] = $token_user->user_id;
return $token_user; return $token_user;
} }

View file

@ -33,19 +33,19 @@ function getSiteInfo() : array {
return require('config/site.php'); return require('config/site.php');
} }
function getSiteAds(PDO $conn) : array|bool { function getSiteAds(DatabaseHandle $conn) : array|bool {
return $conn->query('SELECT text_ads, ads_1, ads_2 FROM ads LIMIT 1')->fetch(); return $conn->query('SELECT text_ads, ads_1, ads_2 FROM ads LIMIT 1')->fetch();
} }
function getSiteTotalPastes(PDO $conn) : int { function getSiteTotalPastes(DatabaseHandle $conn) : int {
return intval($conn->query('SELECT COUNT(*) FROM pastes')->fetch(PDO::FETCH_NUM)[0]); return intval($conn->query('SELECT COUNT(*) FROM pastes')->fetch(PDO::FETCH_NUM)[0]);
} }
function getSiteTotalviews(PDO $conn) : int { function getSiteTotalviews(DatabaseHandle $conn) : int {
return intval($conn->query('SELECT tpage FROM page_view ORDER BY id DESC LIMIT 1')->fetch(PDO::FETCH_NUM)[0]); return intval($conn->query('SELECT tpage FROM page_view ORDER BY id DESC LIMIT 1')->fetch(PDO::FETCH_NUM)[0]);
} }
function getSiteTotal_unique_views(PDO $conn) : int { function getSiteTotal_unique_views(DatabaseHandle $conn) : int {
return intval($conn->query('SELECT tvisit FROM page_view ORDER BY id DESC LIMIT 1')->fetch(PDO::FETCH_NUM)[0]); return intval($conn->query('SELECT tvisit FROM page_view ORDER BY id DESC LIMIT 1')->fetch(PDO::FETCH_NUM)[0]);
} }
@ -59,7 +59,7 @@ function pp_html_escape(string $unescaped) : string {
return htmlentities($unescaped, ENT_QUOTES, 'UTF-8', false); return htmlentities($unescaped, ENT_QUOTES, 'UTF-8', false);
} }
function updatePageViews(PDO $conn) : void { function updatePageViews(DatabaseHandle $conn) : void {
$ip = $_SERVER['REMOTE_ADDR']; $ip = $_SERVER['REMOTE_ADDR'];
$date = date('jS F Y'); $date = date('jS F Y');
$data_ip = file_get_contents('tmp/temp.tdata'); $data_ip = file_get_contents('tmp/temp.tdata');
@ -97,14 +97,7 @@ function updatePageViews(PDO $conn) : void {
session_start(); session_start();
$conn = new PDO( $conn = new DatabaseHandle("mysql:host=$db_host;dbname=$db_schema;charset=utf8", $db_user, $db_pass);
"mysql:host=$db_host;dbname=$db_schema;charset=utf8",
$db_user,
$db_pass,
$db_opts
);
$new_conn = new DatabaseHandle("mysql:host=$db_host;dbname=$db_schema;charset=utf8", $db_user, $db_pass);
// Setup site info // Setup site info
$site_info = getSiteInfo(); $site_info = getSiteInfo();
@ -161,7 +154,7 @@ $total_pastes = getSiteTotalPastes($conn);
$total_page_views = getSiteTotalviews($conn); $total_page_views = getSiteTotalviews($conn);
$total_unique_views = getSiteTotal_unique_views($conn); $total_unique_views = getSiteTotal_unique_views($conn);
$current_user = User::current($new_conn); $current_user = User::current($conn);
//$current_user = getCurrentUser($conn); //$current_user = getCurrentUser($conn);
if ($current_user) { if ($current_user) {

View file

@ -13,7 +13,7 @@
* GNU General Public License in GPL.txt for more details. * GNU General Public License in GPL.txt for more details.
*/ */
function getUserFavs(PDO $conn, string $user_id) : array { function getUserFavs(DatabaseHandle $conn, string $user_id) : array {
$query = $conn->prepare( $query = $conn->prepare(
"SELECT pins.f_time, pastes.id, pastes.title, pastes.created_at, pastes.tagsys "SELECT pins.f_time, pastes.id, pastes.title, pastes.created_at, pastes.tagsys
FROM pins FROM pins
@ -23,7 +23,7 @@ function getUserFavs(PDO $conn, string $user_id) : array {
return $query->fetchAll(); return $query->fetchAll();
} }
function checkFavorite(PDO $conn, int $paste_id, int $user_id) : string { function checkFavorite(DatabaseHandle $conn, int $paste_id, int $user_id) : string {
$query = $conn->prepare("SELECT 1 FROM pins WHERE user_id = ? AND paste_id = ?"); $query = $conn->prepare("SELECT 1 FROM pins WHERE user_id = ? AND paste_id = ?");
$query->execute([$user_id, $paste_id]); $query->execute([$user_id, $paste_id]);
@ -115,7 +115,7 @@ function getRecentreport($conn, $count) {
} }
function getUserRecom(PDO $conn, int $user_id) : array { function getUserRecom(DatabaseHandle $conn, int $user_id) : array {
$query = $conn->prepare( $query = $conn->prepare(
"SELECT pastes.id AS id, users.username AS member, title, visible "SELECT pastes.id AS id, users.username AS member, title, visible
FROM pastes FROM pastes
@ -199,7 +199,7 @@ function getRecentadmin($conn, $count = 5) {
return $query->fetchAll(); return $query->fetchAll();
} }
function getpopular(PDO $conn, int $count) : array { function getpopular(DatabaseHandle $conn, int $count) : array {
$query = $conn->prepare(" $query = $conn->prepare("
SELECT pastes.id AS id, visible, title, pastes.created_at AS created_at, views, users.username AS member, tagsys SELECT pastes.id AS id, visible, title, pastes.created_at AS created_at, views, users.username AS member, tagsys
FROM pastes INNER JOIN users ON users.id = pastes.user_id FROM pastes INNER JOIN users ON users.id = pastes.user_id
@ -211,7 +211,7 @@ function getpopular(PDO $conn, int $count) : array {
return $query->fetchAll(); return $query->fetchAll();
} }
function getrandom(PDO $conn, int $count) : array { function getrandom(DatabaseHandle $conn, int $count) : array {
$query = $conn->prepare(" $query = $conn->prepare("
SELECT pastes.id, visible, title, created_at, views, users.username AS member, tagsys SELECT pastes.id, visible, title, created_at, views, users.username AS member, tagsys
FROM pastes FROM pastes
@ -223,7 +223,7 @@ function getrandom(PDO $conn, int $count) : array {
return $query->fetchAll(); return $query->fetchAll();
} }
function getUserPastes(PDO $conn, int $user_id) : array { function getUserPastes(DatabaseHandle $conn, int $user_id) : array {
$query = $conn->prepare( $query = $conn->prepare(
"SELECT id, title, visible, code, created_at, tagsys, user_id, views from pastes WHERE user_id = ? "SELECT id, title, visible, code, created_at, tagsys, user_id, views from pastes WHERE user_id = ?
ORDER by pastes.id DESC"); ORDER by pastes.id DESC");
@ -231,7 +231,7 @@ function getUserPastes(PDO $conn, int $user_id) : array {
return $query->fetchAll(); return $query->fetchAll();
} }
function getTotalPastes(PDO $conn, string $username) : int { function getTotalPastes(DatabaseHandle $conn, string $username) : int {
$query = $conn->prepare("SELECT COUNT(*) AS total_pastes $query = $conn->prepare("SELECT COUNT(*) AS total_pastes
FROM pastes INNER JOIN users ON users.id = pastes.user_id FROM pastes INNER JOIN users ON users.id = pastes.user_id
WHERE users.username = ?"); WHERE users.username = ?");
@ -461,9 +461,6 @@ function paste_protocol() : string {
return (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == "on") ? 'https://' : 'http://'; return (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == "on") ? 'https://' : 'http://';
} }
function is_banned(PDO $conn, string $ip) : bool { function is_banned(DatabaseHandle $conn, string $ip) : bool {
$query = $conn->prepare('SELECT 1 FROM ban_user WHERE ip = ?'); return (bool) $conn->query('SELECT 1 FROM ban_user WHERE ip = ?', [$ip])->fetch();
$query->execute([$ip]);
return (bool) $query->fetch();
} }

View file

@ -1,8 +1,6 @@
<?php <?php
// Turn off all error reporting - uh no? // Turn off all error reporting - uh no?
//error_reporting(0); //error_reporting(0);
<?php
/** /**
* GeSHi - Generic Syntax Highlighter * GeSHi - Generic Syntax Highlighter
* *

View file

@ -222,15 +222,13 @@ if ($p_password == "NONE") {
// View counter // View counter
if ($_SESSION['not_unique'] !== $paste_id) { if ($_SESSION['not_unique'] !== $paste_id) {
$_SESSION['not_unique'] = $paste_id; $_SESSION['not_unique'] = $paste_id;
$conn->prepare("UPDATE pastes SET views = (views + 1) where id = ?") $conn->query("UPDATE pastes SET views = (views + 1) where id = ?", [$paste_id]);
->execute($paste_id);
} }
// Theme // Theme
require_once('theme/' . $default_theme . '/view.php'); require_once('theme/' . $default_theme . '/view.php');
if ($p_expiry == "SELF") { if ($p_expiry == "SELF") {
$conn->prepare('DELETE FROM pastes WHERE id = ?') $conn->query('DELETE FROM pastes WHERE id = ?', [$paste_id]);
->execute([$paste_id]);
} }
} else { } else {
$p_download = "paste.php?download&id=$paste_id&password=" . pp_password_hash(isset($_POST['mypass'])); $p_download = "paste.php?download&id=$paste_id&password=" . pp_password_hash(isset($_POST['mypass']));