/** * Returns the most searched queries as a DataList * * @return DataList * * @author Sebastian Diel <*****@*****.**>, Roland Lehmann <*****@*****.**> * @since 05.06.2012 */ public function TagsForCloud() { $searchTags = SilvercartSearchQuery::get_most_searched($this->TagsPerCloud); if (!$searchTags) { return false; } $searchTags = $searchTags->sort('SearchQuery'); $searchTagsArrayList = new ArrayList(); /* * The following block is a replacement for the call DataObjectSet::groupBy() * which does not exist any more */ $searchTagCounts = array(); foreach ($searchTags as $item) { $key = $item->hasMethod('count') ? $item->count() : $item->Count; $searchTagCounts[$key] = $key; } $fontSizeRanges = $this->getFontSizeRanges($searchTagCounts); foreach ($searchTags as $searchTag) { foreach ($fontSizeRanges as $fontSize => $fontSizeRange) { if ($searchTag->Count >= $fontSizeRange['Min'] && $searchTag->Count <= $fontSizeRange['Max']) { $searchTag->FontSize = $fontSize; $searchTagsArrayList->push($searchTag); } } } return $searchTagsArrayList; }