Merge branch 'alltags'
This commit is contained in:
commit
0b2bc99a9d
2 changed files with 34 additions and 9 deletions
|
@ -88,6 +88,16 @@ class TagList implements Extension {
|
|||
$u_tag = url_escape($tag);
|
||||
return make_link("post/list/$u_tag/1");
|
||||
}
|
||||
|
||||
private function get_tags_min() {
|
||||
if(isset($_GET['mincount'])) {
|
||||
return int_escape($_GET['mincount']);
|
||||
}
|
||||
else {
|
||||
global $config;
|
||||
return $config->get_int('tags_min');
|
||||
}
|
||||
}
|
||||
// }}}
|
||||
// maps {{{
|
||||
private function build_navigation() {
|
||||
|
@ -96,14 +106,14 @@ class TagList implements Extension {
|
|||
$h_alphabetic = "<a href='".make_link("tags/alphabetic")."'>Alphabetic</a>";
|
||||
$h_popularity = "<a href='".make_link("tags/popularity")."'>Popularity</a>";
|
||||
$h_cats = "<a href='".make_link("tags/categories")."'>Categories</a>";
|
||||
return "$h_index<br>$h_map<br>$h_alphabetic<br>$h_popularity<br>$h_cats";
|
||||
$h_all = "<a href='?mincount=1'>Show All</a>";
|
||||
return "$h_index<br> <br>$h_map<br>$h_alphabetic<br>$h_popularity<br>$h_cats<br> <br>$h_all";
|
||||
}
|
||||
|
||||
private function build_tag_map() {
|
||||
global $database;
|
||||
global $config;
|
||||
|
||||
$tags_min = $config->get_int('tags_min');
|
||||
$tags_min = $this->get_tags_min();
|
||||
$result = $database->execute("
|
||||
SELECT
|
||||
tag,
|
||||
|
@ -128,9 +138,8 @@ class TagList implements Extension {
|
|||
|
||||
private function build_tag_alphabetic() {
|
||||
global $database;
|
||||
global $config;
|
||||
|
||||
$tags_min = $config->get_int('tags_min');
|
||||
$tags_min = $this->get_tags_min();
|
||||
$result = $database->execute(
|
||||
"SELECT tag,count FROM tags WHERE count >= ? ORDER BY tag",
|
||||
array($tags_min));
|
||||
|
@ -154,9 +163,8 @@ class TagList implements Extension {
|
|||
|
||||
private function build_tag_popularity() {
|
||||
global $database;
|
||||
global $config;
|
||||
|
||||
$tags_min = $config->get_int('tags_min');
|
||||
$tags_min = $this->get_tags_min();
|
||||
$result = $database->execute(
|
||||
"SELECT tag,count,FLOOR(LOG(count)) AS scaled FROM tags WHERE count >= ? ORDER BY count DESC, tag ASC",
|
||||
array($tags_min));
|
||||
|
@ -181,9 +189,8 @@ class TagList implements Extension {
|
|||
|
||||
private function build_tag_categories() {
|
||||
global $database;
|
||||
global $config;
|
||||
|
||||
$tags_min = $config->get_int('tags_min');
|
||||
$tags_min = $this->get_tags_min();
|
||||
$result = $database->execute("SELECT tag,count FROM tags ORDER BY count DESC, tag ASC LIMIT 9");
|
||||
$tag_data = $result->GetArray();
|
||||
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
<?php
|
||||
class TagListTest extends ShimmieWebTestCase {
|
||||
var $pages = array("map", "alphabetic", "popularity", "categories");
|
||||
|
||||
function testTagList() {
|
||||
$this->get_page('tags/map');
|
||||
$this->assert_title('Tag List');
|
||||
|
@ -15,5 +17,21 @@ class TagListTest extends ShimmieWebTestCase {
|
|||
|
||||
# FIXME: test that these show the right stuff
|
||||
}
|
||||
|
||||
function testMinCount() {
|
||||
foreach($this->pages as $page) {
|
||||
$this->get_page("tags/$page?mincount=999999");
|
||||
$this->assert_title("Tag List");
|
||||
|
||||
$this->get_page("tags/$page?mincount=1");
|
||||
$this->assert_title("Tag List");
|
||||
|
||||
$this->get_page("tags/$page?mincount=0");
|
||||
$this->assert_title("Tag List");
|
||||
|
||||
$this->get_page("tags/$page?mincount=-1");
|
||||
$this->assert_title("Tag List");
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
|
Reference in a new issue