コード例 #1
0
ファイル: browse.php プロジェクト: Maxlander/shixi
 public function execute()
 {
     $uri = parse_url($_SERVER['REQUEST_URI']);
     if (!preg_match("/\\/\$/", $uri['path'])) {
         $uri = parse_url($_SERVER['REQUEST_URI']);
         $query = isset($uri['query']) ? '?' . $uri['query'] : '';
         SJB_HelperFunctions::redirect($uri['path'] . '/' . $query);
     } else {
         $uri = SJB_Request::getVar('browseUrl', $this->getUri());
     }
     $listingTypeId = SJB_Request::getVar('listing_type_id', '');
     $browseManager = SJB_ObjectMother::createBrowseManager($listingTypeId, $this->parameters);
     $browseItems = array();
     if ($browseManager->canBrowse()) {
         if (SJB_Settings::getValue('enableBrowseByCounter')) {
             $browseItems = $browseManager->getItemsFromDB($uri, true);
         } else {
             $browseItems = $browseManager->getItems($this->parameters, true);
         }
     }
     $tp = $this->getTemplateProcessor($browseManager, $listingTypeId);
     $tp->assign('browseItems', $browseItems);
     $tp->assign('recordsNumToDisplay', SJB_Request::getVar('recordsNumToDisplay', 20));
     $tp->assign('user_page_uri', $uri);
     $tp->assign('sitePageUri', SJB_HelperFunctions::getSiteUrl() . $this->getUri());
     $tp->assign('browse_level', $browseManager->getLevel() + 1);
     $tp->assign('browse_navigation_elements', $browseManager->getNavigationElements($uri));
     $tp->display(SJB_Request::getVar('browse_template', 'browse_items_and_results.tpl'));
 }
コード例 #2
0
ファイル: BrowseDBManager.php プロジェクト: Maxlander/shixi
 /**
  * Search listing|listings which fits "browse" page parameters
  * @param array $page full parammeters of site page with function "browse"
  * @param bool  $decorate false means return only array with values:
  * page /browse-by-occupations/ would return array('Bank Teller' = 14, 'Electrician' = 8...)
  * true means return ready html or processed values:
  * page /browse-by-occupations/ would return "<label><a href='/browse-by-occupations/334/Bank-Teller'>Bank Teller(349)</a>..."
  * @param array|int $listingSids if not empty search only among passed listing sids
  * @return array|string array with found values or ready html code
  */
 private static function getItems($page, $decorate = false, array $listingSids = array())
 {
     if (!SJB_Settings::getValue('enableBrowseByCounter')) {
         return array();
     }
     $parameters = unserialize($page['parameters']);
     $browseManager = SJB_ObjectMother::createBrowseManager($parameters['listing_type_id'], $parameters);
     return $browseManager->getItems($parameters, $decorate, $listingSids);
 }