From e93785339f87512ae997b2dda600e6497a429503 Mon Sep 17 00:00:00 2001 From: Justin Brewer <madoushi90@gmail.com> Date: Mon, 26 Aug 2013 23:32:44 -0500 Subject: [PATCH] Fix another corner case If $counter == $def_count and the next tag in the list is a used tag, the tagcloud_extra div would be printed twice, breaking the list. This solution feels ugly, perhaps there's a better way to do this? --- ext/tag_editcloud/main.php | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/ext/tag_editcloud/main.php b/ext/tag_editcloud/main.php index 30750b3a..0286b890 100644 --- a/ext/tag_editcloud/main.php +++ b/ext/tag_editcloud/main.php @@ -57,6 +57,7 @@ class TagEditCloud extends Extension { $html = ""; $cloud = ""; $precloud = ""; + $postcloud = ""; $sort_method = $config->get_string("tageditcloud_sort"); $tags_min = $config->get_int("tageditcloud_minusage"); @@ -92,10 +93,6 @@ class TagEditCloud extends Extension { $counter = 1; foreach($tag_data as $row) { - if($sort_method != 'a' && $counter == $def_count) { - $cloud .= "<div id='tagcloud_extra' style='display: none;'>\n"; - } - if(class_exists("TagCategories")){ $full_tag = $row['tag']; $tc = explode(':',$full_tag); @@ -117,13 +114,18 @@ class TagEditCloud extends Extension { if(array_search($row['tag'],$image->tag_array) !== FALSE) { if($used_first) { $precloud .= " <span onclick='tageditcloud_toggle_tag(this,\"$full_tag\")' class='tag-selected' style='font-size: ${size}em$color' title='${row['count']}'>$h_tag</span> \n"; + continue; } else { - $counter++; - $cloud .= " <span onclick='tageditcloud_toggle_tag(this,\"$full_tag\")' class='tag-selected' style='font-size: ${size}em$color' title='${row['count']}'>$h_tag</span> \n"; + $entry = " <span onclick='tageditcloud_toggle_tag(this,\"$full_tag\")' class='tag-selected' style='font-size: ${size}em$color' title='${row['count']}'>$h_tag</span> \n"; } } else { - $counter++; - $cloud .= " <span onclick='tageditcloud_toggle_tag(this,\"$full_tag\")' style='font-size: ${size}em$color' title='${row['count']}'>$h_tag</span> \n"; + $entry = " <span onclick='tageditcloud_toggle_tag(this,\"$full_tag\")' style='font-size: ${size}em$color' title='${row['count']}'>$h_tag</span> \n"; + } + + if($counter++ <= $def_count) { + $cloud .= $entry; + } else { + $postcloud .= $entry; } } @@ -131,7 +133,11 @@ class TagEditCloud extends Extension { $html .= "<div id='tagcloud_set'>$precloud</div>"; } - $html .= "<div id='tagcloud_unset'>$cloud</div>"; + if($postcloud != '') { + $postcloud = "<div id='tagcloud_extra' style='display: none;'>$postcloud</div>"; + } + + $html .= "<div id='tagcloud_unset'>$cloud$postcloud</div>"; if($sort_method != 'a' && $counter > $def_count) { $rem = $counter - $def_count;