From e58807b3c587597e0f7ca6f77b969057ec747b97 Mon Sep 17 00:00:00 2001 From: Daniel Winzen Date: Thu, 26 Nov 2020 23:43:19 +0100 Subject: [PATCH] rel attribute not valid base tag + fix displaying error message on no db connection --- www/onions.php | 60 ++++++++++++++++++++++++++------------------------ 1 file changed, 31 insertions(+), 29 deletions(-) diff --git a/www/onions.php b/www/onions.php index 245d30a..1fee6b1 100644 --- a/www/onions.php +++ b/www/onions.php @@ -87,33 +87,35 @@ function send_html(){ } $category_count = []; $cat=count($categories); - foreach($special as $name=>$query){ - if($name===$I['lastadded']){ - $category_count[$cat] = PER_PAGE; - }else{ - $category_count[$cat] = $db->query('SELECT COUNT(*) FROM ' . PREFIX . "onions WHERE $admin_approval $query;")->fetch(PDO::FETCH_NUM)[0]; + if($db instanceof PDO) { + foreach ( $special as $name => $query ) { + if ( $name === $I[ 'lastadded' ] ) { + $category_count[ $cat ] = PER_PAGE; + } else { + $category_count[ $cat ] = $db->query( 'SELECT COUNT(*) FROM ' . PREFIX . "onions WHERE $admin_approval $query;" )->fetch( PDO::FETCH_NUM )[ 0 ]; + } + if ( $category == $cat ) { + $pages = ceil( $category_count[ $cat ] / PER_PAGE ); + } + ++$cat; } - if($category==$cat){ - $pages=ceil($category_count[$cat]/PER_PAGE); + $category_count[ $cat ] = $db->query( 'SELECT COUNT(*) FROM ' . PREFIX . 'phishing, ' . PREFIX . 'onions WHERE ' . "$admin_approval " . PREFIX . "onions.id=onion_id AND address!='' AND timediff<604800;" )->fetch( PDO::FETCH_NUM )[ 0 ]; + $category_count[ 'removed' ] = $db->query( 'SELECT COUNT(*) FROM ' . PREFIX . "onions WHERE address='';" )->fetch( PDO::FETCH_NUM )[ 0 ]; + if ( REQUIRE_APPROVAL ) { + $category_count[ 'pending' ] = $db->query( 'SELECT COUNT(*) FROM ' . PREFIX . "onions WHERE approved = 0 AND address!='';" )->fetch( PDO::FETCH_NUM )[ 0 ]; + $category_count[ 'rejected' ] = $db->query( 'SELECT COUNT(*) FROM ' . PREFIX . "onions WHERE approved = -1 AND address!='';" )->fetch( PDO::FETCH_NUM )[ 0 ]; } - ++$cat; - } - $category_count[$cat] = $db->query('SELECT COUNT(*) FROM ' . PREFIX . 'phishing, ' . PREFIX . 'onions WHERE ' . "$admin_approval " . PREFIX . "onions.id=onion_id AND address!='' AND timediff<604800;")->fetch(PDO::FETCH_NUM)[0]; - $category_count['removed'] = $db->query('SELECT COUNT(*) FROM ' . PREFIX . "onions WHERE address='';")->fetch(PDO::FETCH_NUM)[0]; - if(REQUIRE_APPROVAL) { - $category_count['pending'] = $db->query( 'SELECT COUNT(*) FROM ' . PREFIX . "onions WHERE approved = 0 AND address!='';" )->fetch( PDO::FETCH_NUM )[0]; - $category_count['rejected'] = $db->query( 'SELECT COUNT(*) FROM ' . PREFIX . "onions WHERE approved = -1 AND address!='';" )->fetch( PDO::FETCH_NUM )[0]; - } - $stmt=$db->prepare('SELECT COUNT(*) FROM ' . PREFIX . "onions WHERE $admin_approval category=? AND address!='' AND id NOT IN (SELECT onion_id FROM " . PREFIX . 'phishing) AND timediff<604800;'); - foreach($categories as $cat=>$name){ - $stmt->execute([$cat]); - $category_count[$cat] = $stmt->fetch(PDO::FETCH_NUM)[0]; - if($category==$cat){ - $pages=ceil($category_count[$cat]/PER_PAGE); + $stmt = $db->prepare( 'SELECT COUNT(*) FROM ' . PREFIX . "onions WHERE $admin_approval category=? AND address!='' AND id NOT IN (SELECT onion_id FROM " . PREFIX . 'phishing) AND timediff<604800;' ); + foreach ( $categories as $cat => $name ) { + $stmt->execute( [ $cat ] ); + $category_count[ $cat ] = $stmt->fetch( PDO::FETCH_NUM )[ 0 ]; + if ( $category == $cat ) { + $pages = ceil( $category_count[ $cat ] / PER_PAGE ); + } + } + if ( $_REQUEST[ 'pg' ] > $pages && $_REQUEST[ 'pg' ] > 1 ) { + http_response_code( 404 ); } - } - if($_REQUEST['pg'] > $pages && $_REQUEST['pg'] > 1){ - http_response_code(404); } echo ''; echo "$I[title]"; @@ -123,7 +125,7 @@ function send_html(){ echo ''; echo ''; echo ''; - echo ''; + echo ''; echo '
'; echo "

$I[title]

"; if(!isset($db)){ @@ -376,7 +378,7 @@ function get_table(PDOStatement $stmt, int &$numrows = 0, bool $promoted = false $lasttest=date('Y-m-d H:i:s', $link['lasttest']); } $timeadded=date('Y-m-d H:i:s', $link['timeadded']); - echo "
$link[description]
$lasttest
$lastup
$timeadded
"; + echo "
$link[description]
$lasttest
$lastup
$timeadded
"; } } while($link=$stmt->fetch(PDO::FETCH_ASSOC)){ @@ -405,7 +407,7 @@ function get_table(PDOStatement $stmt, int &$numrows = 0, bool $promoted = false }else{ $edit="
"; } - echo "
$link[description]
$lasttest
$lastup
$timeadded
$edit
"; + echo "
$link[description]
$lasttest
$lastup
$timeadded
$edit
"; ++$numrows; } echo ''; @@ -432,7 +434,7 @@ function print_phishing_table(){ $lastup=date('Y-m-d H:i:s', $link['lastup']); } if($link['original']!==''){ - $orig="$link[original].onion"; + $orig="$link[original].onion"; }else{ $orig=$I['unknown']; } @@ -547,5 +549,5 @@ function send_captcha(){ } function send_error(string $msg){ - die("

$msg

"); + die("

$msg

"); }