/** * Retrieve available limits for current view mode * * @return array */ public function getAvailableLimit() { $availableLimit = parent::getAvailableLimit(); $flChange = false; if (Mage::helper('searchanise')->checkSearchaniseIsRunning()) { if ($availableLimit) { $maxPageSize = Mage::helper('searchanise/ApiSe')->getMaxPageSize(); if (array_key_exists('all', $availableLimit)) { unset($availableLimit['all']); $flChange = true; } foreach ($availableLimit as $key => $value) { if ($value > $maxPageSize) { unset($availableLimit[$key]); $flChange = true; } } } } if ($flChange) { if (!array_key_exists($maxPageSize, $availableLimit)) { $availableLimit[$maxPageSize] = $maxPageSize; } $currentMode = $this->getCurrentMode(); if (in_array($currentMode, array('list', 'grid'))) { $this->_availableLimit[$currentMode] = $availableLimit; } else { $this->_defaultAvailableLimit = $availableLimit; } } return $availableLimit; }