/** * Returns an array of sanitized sort data for the view. * (Data uses no rendering module and must be manually inserted into the view.) * * @return array An array of sorts consisting of the name, url, rel and cssClass of each sort item. */ protected function getSortData() { $sortData = array(); foreach ($this->sorts as $sort) { // Check to see if there's a category restriction. if ($categories = val('categories', $sort)) { if (!in_array($this->categoryID, $categories)) { continue; } } $key = val('key', $sort); $queryString = DiscussionModel::getSortFilterQueryString($this->selectedSort, $this->selectedFilters, $key); $sortData[$key]['name'] = val('name', $sort); $sortData[$key]['url'] = $this->getPagelessPath() . $queryString; $sortData[$key]['rel'] = 'nofollow'; } if (val($this->selectedSort, $sortData)) { $sortData[$this->selectedSort]['cssClass'] = self::ACTIVE_CSS_CLASS; } elseif (val($sortKey = DiscussionModel::getDefaultSortKey(), $sortData)) { $sortData[$sortKey]['cssClass'] = self::ACTIVE_CSS_CLASS; } return $sortData; }