From cc558d869496f051c1b667d37e4dcfc474c007d1 Mon Sep 17 00:00:00 2001 From: rvelices Date: Thu, 4 Oct 2012 04:15:28 +0000 Subject: php optimizations: - use faster [] operator instead of array_push - if tags are grouped by letter, don't add level to tags, sort etc ... git-svn-id: http://piwigo.org/svn/trunk@18455 68402e56-0260-453c-a942-63ccdbb3a9ee --- include/functions_tag.inc.php | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) (limited to 'include/functions_tag.inc.php') diff --git a/include/functions_tag.inc.php b/include/functions_tag.inc.php index f42fe88f7..74b27f8e2 100644 --- a/include/functions_tag.inc.php +++ b/include/functions_tag.inc.php @@ -64,12 +64,12 @@ SELECT * $tags = array(); while ($row = pwg_db_fetch_assoc($result)) { - $counter = @$tag_counters[ $row['id'] ]; + $counter = intval(@$tag_counters[ $row['id'] ]); if ( $counter ) { $row['counter'] = $counter; $row['name'] = trigger_event('render_tag_name', $row['name']); - array_push($tags, $row); + $tags[] = $row; } } return $tags; @@ -91,7 +91,7 @@ SELECT * while ($row = pwg_db_fetch_assoc($result)) { $row['name'] = trigger_event('render_tag_name', $row['name']); - array_push($tags, $row); + $tags[] = $row; } usort($tags, 'tag_alpha_compare'); @@ -138,20 +138,21 @@ function add_level_to_tags($tags) } // display sorted tags - foreach (array_keys($tags) as $k) + foreach ($tags as &$tag) { - $tags[$k]['level'] = 1; + $tag['level'] = 1; // based on threshold, determine current tag level for ($i = $conf['tags_levels'] - 1; $i >= 1; $i--) { - if ($tags[$k]['counter'] > $threshold_of_level[$i]) + if ($tag['counter'] > $threshold_of_level[$i]) { - $tags[$k]['level'] = $i + 1; + $tag['level'] = $i + 1; break; } } } + unset($tag); return $tags; } @@ -254,7 +255,7 @@ SELECT t.*, count(*) AS counter while($row = pwg_db_fetch_assoc($result)) { $row['name'] = trigger_event('render_tag_name', $row['name']); - array_push($tags, $row); + $tags[] = $row; } usort($tags, 'tag_alpha_compare'); return $tags; -- cgit v1.2.3