From 906725e5c13f32af1aafda228c0d8dde7c6b8d37 Mon Sep 17 00:00:00 2001 From: Daniel Winzen <daniel@danwin1210.de> Date: Wed, 25 Jan 2023 22:41:20 +0100 Subject: [PATCH] Dropped lang parameter which is already in cookie and optimised pagination --- www/index.php | 60 ++++++++++++++++++++++++++++++--------------------- 1 file changed, 36 insertions(+), 24 deletions(-) diff --git a/www/index.php b/www/index.php index ba8012f..239b5c9 100644 --- a/www/index.php +++ b/www/index.php @@ -51,7 +51,9 @@ function send_html(): void if(isset($_REQUEST['cat']) && $_REQUEST['cat']<(count($categories)+count($special)+1) && $_REQUEST['cat']>=0){ settype($_REQUEST['cat'], 'int'); $category=$_REQUEST['cat']; - $canonical_query['cat'] = $category; + if($category !== count($categories)) { + $canonical_query[ 'cat' ] = $category; + } } $pages=1; $admin_approval = ''; @@ -116,7 +118,6 @@ function send_html(): void echo '<p>'._('I\'m not responsible for any content of websites linked here. 99% of darkweb sites selling anything are scams. Be careful and use your brain. I regularly receive E-Mails from people that were desperate to make money and fell for scammers, don\'t be one of them!').'</p>'; //update onions description form echo '<div class="table" id="edit-search"><div class="row"><div class="col"><form target="_self" method="POST">'; - echo '<input type="hidden" name="lang" value="'.$language.'">'; echo '<p><label>'._('Onion address:').'<br><input name="addr" size="30" placeholder="http://'.$_SERVER['HTTP_HOST'].'" value="'; if(isset($_REQUEST['addr'])){ echo htmlspecialchars($_REQUEST['addr']); @@ -150,7 +151,6 @@ function send_html(): void echo '<input type="submit" name="action" value="'._('Update').'"></form></div>'; //search from echo '<div class="col"><form target="_self" method="post" role="search">'; - echo '<input type="hidden" name="lang" value="'.$language.'">'; echo '<p><label>'._('Search:').' <br><input name="q" size="30" placeholder="'._('Search term').'" value="'; if(isset($_REQUEST['q'])){ echo trim(str_replace(['http://', 'https://', '.onion', '/'], '', htmlspecialchars($_REQUEST['q']))); @@ -183,10 +183,10 @@ function send_html(): void echo '<ul class="list"><li>'._('Special categories:').'</li>'; $cat=count($categories); foreach($special as $name=>$query){ - echo ' <li'.($category==$cat ? ' class="active"' : '').'><a href="?cat='.$cat.'&lang='.$language.'" target="_self">'."$name ($category_count[$cat])</a></li>"; + echo ' <li'.($category==$cat ? ' class="active"' : '').'><a href="?cat='.$cat.'" target="_self">'."$name ($category_count[$cat])</a></li>"; ++$cat; } - echo ' <li'.($category==$cat ? ' class="active"' : '').'><a href="?cat='.$cat.'&lang='.$language.'" target="_self">'._('Phishing Clones')." ($category_count[$cat])</a></li>"; + echo ' <li'.($category==$cat ? ' class="active"' : '').'><a href="?cat='.$cat.'" target="_self">'._('Phishing Clones')." ($category_count[$cat])</a></li>"; echo ' <li>'._('Removed/Child porn')." ($category_count[removed])</li>"; if(REQUIRE_APPROVAL) { echo ' <li>'._('Pending approval')." ($category_count[pending])</li>"; @@ -196,7 +196,7 @@ function send_html(): void //List normal categories echo '<ul class="list"><li>'._('Categories:').'</li>'; foreach($categories as $cat=>$name){ - echo ' <li'.($category==$cat ? ' class="active"' : '').'><a href="?cat='.$cat.'&lang='.$language.'" target="_self">'."$name ($category_count[$cat])</a></li>"; + echo ' <li'.($category==$cat ? ' class="active"' : '').'><a href="?cat='.$cat.'" target="_self">'."$name ($category_count[$cat])</a></li>"; } echo '</ul>'; if($_SERVER['REQUEST_METHOD']==='POST' && !empty($_REQUEST['addr'])){ @@ -257,12 +257,8 @@ function send_html(): void } } } - if($pages>1 && !isset($_REQUEST['q'])){ - $pagination=get_pagination($category, $pages); - echo $pagination; - }else{ - $pagination=''; - } + $pagination=get_pagination($category, $pages); + echo $pagination; if(isset($_REQUEST['q'])){//run search query $query=trim(str_replace(['http://', 'https://', '.onion', '/'], '', htmlspecialchars($_REQUEST['q']))); $query="%$query%"; @@ -319,7 +315,7 @@ function send_html(): void } function get_table(PDOStatement $stmt, int &$numrows = 0, bool $promoted = false) : string { - global $db, $language; + global $db; $time=time(); $admin_approval = ''; if(REQUIRE_APPROVAL){ @@ -346,7 +342,7 @@ function get_table(PDOStatement $stmt, int &$numrows = 0, bool $promoted = false $class=''; } $timeadded=date('Y-m-d', $link['timeadded']); - echo '<div class="'.$class.' row promo"><div class="col"><a href="http://'.$link['address'].'.onion" rel="noopener">'.$link['address'].'.onion</a></div><div class="col">'.$link['description'].'</div><div class="col">'.$lastup.'</div><div class="col">'.$timeadded.'</div><div class="col"><form method="post" action="test.php"><input name="addr" value="'.$link['address'].'" type="hidden"><input name="lang" value="'.$language.'" type="hidden"><input value="'._('Test').'" type="submit"></form></div></div>'; + echo '<div class="'.$class.' row promo"><div class="col"><a href="http://'.$link['address'].'.onion" rel="noopener">'.$link['address'].'.onion</a></div><div class="col">'.$link['description'].'</div><div class="col">'.$lastup.'</div><div class="col">'.$timeadded.'</div><div class="col"><form method="post" action="test.php"><input name="addr" value="'.$link['address'].'" type="hidden"><input value="'._('Test').'" type="submit"></form></div></div>'; } } while($link=$stmt->fetch(PDO::FETCH_ASSOC)){ @@ -370,9 +366,9 @@ function get_table(PDOStatement $stmt, int &$numrows = 0, bool $promoted = false if($link['locked']==1){ $edit='-'; }else{ - $edit='<form><input name="addr" value="'.$link['address'].'" type="hidden"><input type="hidden" name="lang" value="'.$language.'"><input value="'._('Edit').'" type="submit"></form>'; + $edit='<form><input name="addr" value="'.$link['address'].'" type="hidden"><input value="'._('Edit').'" type="submit"></form>'; } - echo '<div class="row '.$class.'"><div class="col"><a href="http://'.$link['address'].'.onion" rel="noopener">'.$link['address'].'.onion</a></div><div class="col">'.$link['description'].'</div><div class="col">'.$lastup.'</div><div class="col">'.$timeadded.'</div><div class="col">'.$edit.' <form method="post" action="test.php"><input name="addr" value="'.$link['address'].'" type="hidden"><input type="hidden" name="lang" value="'.$language.'"><input value="'._('Test').'" type="submit"></form></div></div>'; + echo '<div class="row '.$class.'"><div class="col"><a href="http://'.$link['address'].'.onion" rel="noopener">'.$link['address'].'.onion</a></div><div class="col">'.$link['description'].'</div><div class="col">'.$lastup.'</div><div class="col">'.$timeadded.'</div><div class="col">'.$edit.' <form method="post" action="test.php"><input name="addr" value="'.$link['address'].'" type="hidden"><input value="'._('Test').'" type="submit"></form></div></div>'; ++$numrows; } echo '</div>'; @@ -450,15 +446,31 @@ function send_json(): void } function get_pagination(int $category, int $pages) : string { - global $language; - ob_start(); - echo '<ul class="list pagination"><li>'._('Pages:').'</li>'; - echo ' <li'.($_REQUEST['pg']==0 ? ' class="active"' : '').'><a href="?cat='.$category.'&pg=0&lang='.$language.'" target="_self">'._('All').'</a></li>'; - for($i=1; $i<=$pages; ++$i){ - echo ' <li'.($_REQUEST['pg']==$i ? ' class="active"' : '').'><a href="?cat='.$category.'&pg='.$i.'&lang='.$language.'" target="_self">'.$i.'</a></li>'; + $pagination = ''; + if($pages<=1 || isset($_REQUEST['q'])){ + return $pagination; } - echo "</ul>"; - return ob_get_clean(); + $pagination .= '<ul class="list pagination"><li>'._('Pages:').'</li>'; + $pagination .= ' <li'.($_REQUEST['pg']===0 ? ' class="active"' : '').'><a href="?cat='.$category.'&pg=0" target="_self">'._('All').'</a></li>'; + $pagination .= ' <li'.($_REQUEST['pg']===1 ? ' class="active"' : '').'><a href="?cat='.$category.'" target="_self">1</a></li>'; + $i = $_REQUEST['pg'] - 5; + if($i < 2 ){ + $i = 2; + } else { + $pagination .= '<li>…</li>'; + } + $j = 0; + for(; $i<=$pages && ++$j < 12; ++$i){ + $pagination .= ' <li'.($_REQUEST['pg']===$i ? ' class="active"' : '').'><a href="?cat='.$category.'&pg='.$i.'" target="_self">'.$i.'</a></li>'; + } + if($i<=$pages){ + if($i<$pages){ + $pagination .= '<li>…</li>'; + } + $pagination .= ' <li><a href="?cat='.$category.'&pg='.$pages.'" target="_self">'.$pages.'</a></li>'; + } + $pagination .= '</ul>'; + return $pagination; } function send_captcha(): void