Beispiel #1
0
 public function executeList()
 {
     $title = "Most recent bug reports and feature suggestions";
     $tab = str_replace(' ', '', $this->getRequestParameter('tab', 'mostrecent'));
     $c = new Criteria();
     if ($tab == 'mostrecent') {
         $c->addDescendingOrderByColumn(SuggestedFeaturePeer::CREATED_AT);
     } elseif ($tab == 'mostpopular') {
         $c2 = new Criteria();
         $c2->add(sfRecommendationPeer::RECOMMENDABLE_MODEL, 'SuggestedFeature');
         $c2->addDescendingOrderByColumn(sfRecommendationPeer::SCORE);
         $recommendations = sfRecommendationPeer::doSelect($c2);
         // this loop has got to be SUPER intensive, it has to change soon
         $features = array();
         foreach ($recommendations as $recommended) {
             $features[] = SuggestedFeaturePeer::retrieveByPK($recommended->getRecommendableId());
         }
         $title = "Most popular bug reports and feature suggestions";
     } elseif ($tab == 'bugs') {
         $c->add(SuggestedFeaturePeer::TYPE, sfConfig::get('app_feature_type_bug'));
         $c->addDescendingOrderByColumn(SuggestedFeaturePeer::CREATED_AT);
         $title = 'Bug Reports';
     } elseif ($tab == 'features') {
         $c->add(SuggestedFeaturePeer::TYPE, sfConfig::get('app_feature_type_feature'));
         $c->addDescendingOrderByColumn(SuggestedFeaturePeer::CREATED_AT);
         $title = 'Feature Suggestions';
     }
     //This only works while it's not a pager, not a long term solution!
     if (!isset($features)) {
         $this->features = SuggestedFeaturePeer::doSelect($c);
     } else {
         $this->features = $features;
     }
     myToolkit::prependPageTitle($title);
 }