Exemplo n.º 1
0
 public static function getCurrentSorting()
 {
     $session = Mage::getSingleton('core/session');
     $allowedSorting = array_keys(self::getAllowedSorting());
     if (empty($allowedSorting)) {
         return array(false, false);
     }
     // processing sort order
     $saveToSession = false;
     if ($sortOrder = AW_Kbase_Helper_Url::getParam(self::$_orderVarName)) {
         $saveToSession = true;
     } elseif ($sortOrder = Mage::app()->getRequest()->getParam(self::$_orderVarName)) {
         $saveToSession = true;
     } else {
         $sortOrder = $session->getKbaseSortOrder();
     }
     if (!$sortOrder && !in_array($sortOrder, $allowedSorting)) {
         $sortOrder = reset($allowedSorting);
     }
     if ($saveToSession) {
         $session->setKbaseSortOrder($sortOrder);
     }
     // processing sort direction
     $saveToSession = false;
     if ($sortDir = AW_Kbase_Helper_Url::getParam(self::$_dirVarName)) {
         $saveToSession = true;
     } elseif ($sortDir = Mage::app()->getRequest()->getParam(self::$_dirVarName)) {
         $saveToSession = true;
     } else {
         $sortDir = $session->getKbaseSortDir();
     }
     if (AW_Kbase_Model_Source_Sorting::SORT_ASC != $sortDir && AW_Kbase_Model_Source_Sorting::SORT_DESC != $sortDir) {
         $sortDir = AW_Kbase_Model_Source_Sorting::SORT_ASC;
     }
     if ($saveToSession) {
         $session->setKbaseSortDir($sortDir);
     }
     return array($sortOrder, $sortDir);
 }
 public function searchAction()
 {
     $this->_checkRegistered();
     $this->_checkFrontendEnabled();
     if (!($query = ($key = AW_Kbase_Helper_Url::getParam(AW_Kbase_Helper_Url::URL_PARAM_NAME_QUERY)) ? $key : $this->getRequest()->getParam(AW_Kbase_Helper_Url::URL_PARAM_NAME_QUERY))) {
         $this->redirectHome();
         return;
     }
     $this->loadLayout()->getLayout()->getBlock('kbase_search')->setQuery($query)->preparePage();
     $this->renderLayout();
 }
Exemplo n.º 3
0
 public function getLimit()
 {
     if ($this->_limit !== null) {
         return $this->_limit;
     }
     $limits = $this->getAvailableLimit();
     $session = Mage::getSingleton('core/session');
     $saveToSession = false;
     if ($limit = (int) AW_Kbase_Helper_Url::getParam($this->getLimitVarName())) {
         $saveToSession = true;
     } elseif ($limit = $this->getRequest()->getParam($this->getLimitVarName())) {
         $saveToSession = true;
     } else {
         $limit = $session->getKbasePagerLimit();
     }
     if ($limit && isset($limits[$limit])) {
         if ($saveToSession) {
             $session->setKbasePagerLimit($limit);
         }
         return $limit;
     }
     $limits = array_keys($limits);
     return $limits[0];
 }