Changeset 77

Show
Ignore:
Timestamp:
02/24/06 15:01:03 (3 years ago)
Author:
fabien
Message:

added featured questions

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/apps/frontend/config/routing.yml

    r58 r77  
    44  param: { module: question, action: show } 
    55 
     6frontpage_questions: 
     7  url:   /front/:page 
     8  param: { module: question, action: frontpage, page: 1 } 
     9 
    610popular_questions: 
    711  url:   /index/:page 
    8   param: { module: question, action: list
     12  param: { module: question, action: list, page: 1
    913 
    1014recent_questions: 
     
    122126homepage: 
    123127  url:   / 
    124   param: { module: question, action: list
     128  param: { module: question, action: frontpage
    125129 
    126130default_symfony: 
  • trunk/apps/frontend/modules/question/actions/actions.class.php

    r73 r77  
    1111class questionActions extends sfActions 
    1212{ 
    13   public function executeList () 
     13  public function executeList() 
    1414  { 
    15     $this->question_pager = QuestionPeer::getHomepagePager($this->getRequestParameter('page', 1)); 
     15    $this->question_pager = QuestionPeer::getPopularPager($this->getRequestParameter('page', 1)); 
     16  } 
     17   
     18  public function executeFrontpage() 
     19  { 
     20    $this->question_pager = QuestionPeer::getFrontPagePager($this->getRequestParameter('page', 1)); 
    1621  } 
    1722 
  • trunk/apps/frontend/modules/sidebar/templates/_rss_links.php

    r64 r77  
    11<ul id="rss_links"> 
    2   <li><?php echo link_to(__('popular questions'), '@homepage') ?> <?php echo link_to_rss('popular questions', 'feed/popular') ?></li> 
     2  <li><?php echo link_to(__('featured questions'), '@frontpage_questions') ?> </li> 
     3  <li><?php echo link_to(__('popular questions'), '@popular_questions') ?> <?php echo link_to_rss('popular questions', 'feed/popular') ?></li> 
    34  <li><?php echo link_to(__('latest questions'), '@recent_questions') ?> <?php echo link_to_rss('latest questions', '@feed_recent_questions') ?></li> 
    45  <li><?php echo link_to(__('latest answers'), '@recent_answers') ?> <?php echo link_to_rss('latest answers', '@feed_recent_answers') ?></li> 
  • trunk/lib/model/QuestionPeer.php

    r69 r77  
    3131  } 
    3232 
    33   public static function getHomepagePager($page) 
     33  public static function getPopularPager($page) 
    3434  { 
    3535    $pager = new sfPropelPager('Question', sfConfig::get('app_pager_homepage_max')); 
     
    3737    $c->addDescendingOrderByColumn(self::INTERESTED_USERS); 
    3838    $c->addDescendingOrderByColumn(self::CREATED_AT); 
     39    $c = self::addPermanentTagToCriteria($c); 
     40    $pager->setCriteria($c); 
     41    $pager->setPage($page); 
     42    $pager->setPeerMethod('doSelectJoinUser'); 
     43    $pager->init(); 
     44 
     45    return $pager; 
     46  } 
     47   
     48  public static function getFrontPagePager($page) 
     49  { 
     50    $pager = new sfPropelPager('Question', sfConfig::get('app_pager_homepage_max')); 
     51    $c = new Criteria(); 
     52    $c->addAsColumn('count', "count(".InterestPeer::USER_ID.")"); 
     53    $c->addJoin(InterestPeer::QUESTION_ID, QuestionPeer::ID); 
     54    $c->addGroupByColumn(InterestPeer::QUESTION_ID); 
     55    $c->addDescendingOrderByColumn('count'); 
     56    $c->addDescendingOrderByColumn(self::CREATED_AT); 
     57    $c->add(InterestPeer::CREATED_AT, time()-86400*10, Criteria::GREATER_THAN); 
    3958    $c = self::addPermanentTagToCriteria($c); 
    4059    $pager->setCriteria($c);