diff --git a/includes/DatabaseHandle.class.php b/includes/DatabaseHandle.class.php index f100b7f..53417c5 100644 --- a/includes/DatabaseHandle.class.php +++ b/includes/DatabaseHandle.class.php @@ -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 { if (empty($params)) { return $this->conn->query($query); diff --git a/includes/User.class.php b/includes/User.class.php index 5ef4661..84f7c28 100644 --- a/includes/User.class.php +++ b/includes/User.class.php @@ -1,6 +1,7 @@ user_id; return $token_user; } diff --git a/includes/common.php b/includes/common.php index 958ae18..970858b 100644 --- a/includes/common.php +++ b/includes/common.php @@ -33,19 +33,19 @@ function getSiteInfo() : array { 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(); } -function getSiteTotalPastes(PDO $conn) : int { +function getSiteTotalPastes(DatabaseHandle $conn) : int { 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]); } -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]); } @@ -59,7 +59,7 @@ function pp_html_escape(string $unescaped) : string { return htmlentities($unescaped, ENT_QUOTES, 'UTF-8', false); } -function updatePageViews(PDO $conn) : void { +function updatePageViews(DatabaseHandle $conn) : void { $ip = $_SERVER['REMOTE_ADDR']; $date = date('jS F Y'); $data_ip = file_get_contents('tmp/temp.tdata'); @@ -97,14 +97,7 @@ function updatePageViews(PDO $conn) : void { session_start(); -$conn = new PDO( - "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); +$conn = new DatabaseHandle("mysql:host=$db_host;dbname=$db_schema;charset=utf8", $db_user, $db_pass); // Setup site info $site_info = getSiteInfo(); @@ -161,7 +154,7 @@ $total_pastes = getSiteTotalPastes($conn); $total_page_views = getSiteTotalviews($conn); $total_unique_views = getSiteTotal_unique_views($conn); -$current_user = User::current($new_conn); +$current_user = User::current($conn); //$current_user = getCurrentUser($conn); if ($current_user) { diff --git a/includes/functions.php b/includes/functions.php index 7c427a1..870abf4 100644 --- a/includes/functions.php +++ b/includes/functions.php @@ -13,7 +13,7 @@ * 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( "SELECT pins.f_time, pastes.id, pastes.title, pastes.created_at, pastes.tagsys FROM pins @@ -23,7 +23,7 @@ function getUserFavs(PDO $conn, string $user_id) : array { 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->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( "SELECT pastes.id AS id, users.username AS member, title, visible FROM pastes @@ -199,7 +199,7 @@ function getRecentadmin($conn, $count = 5) { return $query->fetchAll(); } -function getpopular(PDO $conn, int $count) : array { +function getpopular(DatabaseHandle $conn, int $count) : array { $query = $conn->prepare(" 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 @@ -211,7 +211,7 @@ function getpopular(PDO $conn, int $count) : array { return $query->fetchAll(); } -function getrandom(PDO $conn, int $count) : array { +function getrandom(DatabaseHandle $conn, int $count) : array { $query = $conn->prepare(" SELECT pastes.id, visible, title, created_at, views, users.username AS member, tagsys FROM pastes @@ -223,7 +223,7 @@ function getrandom(PDO $conn, int $count) : array { return $query->fetchAll(); } -function getUserPastes(PDO $conn, int $user_id) : array { +function getUserPastes(DatabaseHandle $conn, int $user_id) : array { $query = $conn->prepare( "SELECT id, title, visible, code, created_at, tagsys, user_id, views from pastes WHERE user_id = ? ORDER by pastes.id DESC"); @@ -231,7 +231,7 @@ function getUserPastes(PDO $conn, int $user_id) : array { 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 FROM pastes INNER JOIN users ON users.id = pastes.user_id WHERE users.username = ?"); @@ -461,9 +461,6 @@ function paste_protocol() : string { return (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == "on") ? 'https://' : 'http://'; } -function is_banned(PDO $conn, string $ip) : bool { - $query = $conn->prepare('SELECT 1 FROM ban_user WHERE ip = ?'); - $query->execute([$ip]); - - return (bool) $query->fetch(); +function is_banned(DatabaseHandle $conn, string $ip) : bool { + return (bool) $conn->query('SELECT 1 FROM ban_user WHERE ip = ?', [$ip])->fetch(); } diff --git a/includes/geshi.php b/includes/geshi.php index b81b7fc..2ee5149 100644 --- a/includes/geshi.php +++ b/includes/geshi.php @@ -1,8 +1,6 @@ prepare("UPDATE pastes SET views = (views + 1) where id = ?") - ->execute($paste_id); + $conn->query("UPDATE pastes SET views = (views + 1) where id = ?", [$paste_id]); } // Theme require_once('theme/' . $default_theme . '/view.php'); if ($p_expiry == "SELF") { - $conn->prepare('DELETE FROM pastes WHERE id = ?') - ->execute([$paste_id]); + $conn->query('DELETE FROM pastes WHERE id = ?', [$paste_id]); } } else { $p_download = "paste.php?download&id=$paste_id&password=" . pp_password_hash(isset($_POST['mypass']));