fixes #1102 limit the number of tags shown in the menubar
This commit is contained in:
parent
c4142c2a51
commit
41b4230b39
@ -308,4 +308,18 @@ SELECT *
|
|||||||
return query2array($query);
|
return query2array($query);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function tags_id_compare($a, $b)
|
||||||
|
{
|
||||||
|
return ($a['id'] < $b['id']) ? -1 : 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
function tags_counter_compare($a, $b)
|
||||||
|
{
|
||||||
|
if ($a['counter'] == $b['counter'])
|
||||||
|
{
|
||||||
|
return tags_id_compare($a, $b);
|
||||||
|
}
|
||||||
|
|
||||||
|
return ($a['counter'] < $b['counter']) ? +1 : -1;
|
||||||
|
}
|
||||||
?>
|
?>
|
@ -138,6 +138,8 @@ function initialize_menu()
|
|||||||
else if ($conf['menubar_tag_cloud_content'] == 'always_all' or ($conf['menubar_tag_cloud_content'] == 'all_or_current' and empty($page['items'])) )
|
else if ($conf['menubar_tag_cloud_content'] == 'always_all' or ($conf['menubar_tag_cloud_content'] == 'all_or_current' and empty($page['items'])) )
|
||||||
{
|
{
|
||||||
$tags = get_available_tags();
|
$tags = get_available_tags();
|
||||||
|
usort($tags, 'tags_counter_compare');
|
||||||
|
$tags = array_slice($tags, 0, $conf['menubar_tag_cloud_items_number']);
|
||||||
foreach ($tags as $tag)
|
foreach ($tags as $tag)
|
||||||
{
|
{
|
||||||
$block->data[] = array_merge(
|
$block->data[] = array_merge(
|
||||||
|
21
tags.php
21
tags.php
@ -6,25 +6,6 @@
|
|||||||
// | file that was distributed with this source code. |
|
// | file that was distributed with this source code. |
|
||||||
// +-----------------------------------------------------------------------+
|
// +-----------------------------------------------------------------------+
|
||||||
|
|
||||||
// +-----------------------------------------------------------------------+
|
|
||||||
// | functions |
|
|
||||||
// +-----------------------------------------------------------------------+
|
|
||||||
|
|
||||||
function counter_compare($a, $b)
|
|
||||||
{
|
|
||||||
if ($a['counter'] == $b['counter'])
|
|
||||||
{
|
|
||||||
return id_compare($a, $b);
|
|
||||||
}
|
|
||||||
|
|
||||||
return ($a['counter'] < $b['counter']) ? +1 : -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
function id_compare($a, $b)
|
|
||||||
{
|
|
||||||
return ($a['id'] < $b['id']) ? -1 : 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
// +-----------------------------------------------------------------------+
|
// +-----------------------------------------------------------------------+
|
||||||
// | initialization |
|
// | initialization |
|
||||||
// +-----------------------------------------------------------------------+
|
// +-----------------------------------------------------------------------+
|
||||||
@ -145,7 +126,7 @@ else
|
|||||||
|
|
||||||
// we want only the first most represented tags, so we sort them by counter
|
// we want only the first most represented tags, so we sort them by counter
|
||||||
// and take the first tags
|
// and take the first tags
|
||||||
usort($tags, 'counter_compare');
|
usort($tags, 'tags_counter_compare');
|
||||||
$tags = array_slice($tags, 0, $conf['full_tag_cloud_items_number']);
|
$tags = array_slice($tags, 0, $conf['full_tag_cloud_items_number']);
|
||||||
|
|
||||||
// depending on its counter and the other tags counter, each tag has a level
|
// depending on its counter and the other tags counter, each tag has a level
|
||||||
|
Loading…
x
Reference in New Issue
Block a user