make paging optional
This commit is contained in:
		
							parent
							
								
									b7bd74055d
								
							
						
					
					
						commit
						8887ffe101
					
				| @ -19,6 +19,7 @@ class TagList implements Extension { | ||||
| 			$config->set_default_int("tags_min", 3); | ||||
| 			$config->set_default_string("info_link", 'http://en.wikipedia.org/wiki/$tag'); | ||||
| 			$config->set_default_string("tag_list_image_type", 'related'); | ||||
| 			$config->set_default_bool("tag_list_pages", false); | ||||
| 		} | ||||
| 
 | ||||
| 		if(($event instanceof PageRequestEvent) && $event->page_matches("tags")) { | ||||
| @ -94,6 +95,7 @@ class TagList implements Extension { | ||||
| 				"Show related" => "related" | ||||
| 			), "<br>Image tag list: "); | ||||
| 			$sb->add_bool_option("tag_list_numbers", "<br>Show tag counts: "); | ||||
| 			$sb->add_bool_option("tag_list_pages", "<br>Paged tag lists: "); | ||||
| 			$event->panel->add_block($sb); | ||||
| 		} | ||||
| 	} | ||||
| @ -115,13 +117,30 @@ class TagList implements Extension { | ||||
| 	} | ||||
| 
 | ||||
| 	private function get_starts_with() { | ||||
| 		global $config; | ||||
| 		if(isset($_GET['starts_with'])) { | ||||
| 			return $_GET['starts_with'] . "%"; | ||||
| 		} | ||||
| 		else { | ||||
| 			return "%"; | ||||
| 			if($config->get_bool("tag_list_pages")) { | ||||
| 				return "a%"; | ||||
| 			} | ||||
| 			else { | ||||
| 				return "%"; | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
| 
 | ||||
| 	private function build_az() { | ||||
| 		$alpha = "abcdefghijklmnopqrstuvwxyz"; | ||||
| 		$html = ""; | ||||
| 		for($n=0; $n<strlen($alpha); $n++) { | ||||
| 			$a = $alpha[$n]; | ||||
| 			$html .= " <a href='".modify_current_url(array("starts_with"=>$a))."'>$a</a>"; | ||||
| 		} | ||||
| 		$html .= "<p><hr>"; | ||||
| 		return $html; | ||||
| 	} | ||||
| // }}}
 | ||||
| // maps {{{
 | ||||
| 	private function build_navigation() { | ||||
| @ -130,12 +149,12 @@ 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>"; | ||||
| 		$h_all = "<a href='?mincount=1'>Show All</a>"; | ||||
| 		$h_all = "<a href='".modify_current_url(array("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, $database; | ||||
| 
 | ||||
| 		$tags_min = $this->get_tags_min(); | ||||
| 		$starts_with = $this->get_starts_with(); | ||||
| @ -153,6 +172,7 @@ class TagList implements Extension { | ||||
| 			", array("tags_min"=>$tags_min, "starts_with"=>$starts_with));
 | ||||
| 
 | ||||
| 		$html = ""; | ||||
| 		if($config->get_bool("tag_list_pages")) $html .= $this->build_az(); | ||||
| 		foreach($tag_data as $row) { | ||||
| 			$h_tag = html_escape($row['tag']); | ||||
| 			$size = sprintf("%.2f", (float)$row['scaled']); | ||||
| @ -168,7 +188,7 @@ class TagList implements Extension { | ||||
| 	} | ||||
| 
 | ||||
| 	private function build_tag_alphabetic() { | ||||
| 		global $database; | ||||
| 		global $config, $database; | ||||
| 
 | ||||
| 		$tags_min = $this->get_tags_min(); | ||||
| 		$starts_with = $this->get_starts_with(); | ||||
| @ -184,6 +204,7 @@ class TagList implements Extension { | ||||
| 				", array("tags_min"=>$tags_min, "starts_with"=>$starts_with));
 | ||||
| 
 | ||||
| 		$html = ""; | ||||
| 		if($config->get_bool("tag_list_pages")) $html .= $this->build_az(); | ||||
| 		$lastLetter = ""; | ||||
| 		foreach($tag_data as $row) { | ||||
| 			$h_tag = html_escape($row['tag']); | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user