コード例 #1
0
ファイル: actions.class.php プロジェクト: sgrove/cothinker
 public function executeSitemap()
 {
     $sitemap = new sfDefaultSitemap();
     $projects = ProjectPeer::doSelect(new Criteria());
     $priority = '0.3';
     $freq = 'weekly';
     foreach ($projects as $project) {
         $item = new sfSitemapItem();
         $item->initialize(array('loc' => '@show_project?project=' . $project->getSlug(), 'lastmod' => $project->getUpdatedAt(), 'changeFreq' => $freq, 'piority' => $priority));
         $sitemap->addItem($item);
     }
     $members = sfGuardUserProfilePeer::doSelect(new Criteria());
     foreach ($members as $member) {
         $item = new sfSitemapItem();
         $item->initialize(array('loc' => '@show_user?user='******'lastmod' => $member->getUpdatedAt(), 'changeFreq' => $freq, 'piority' => $priority));
         $sitemap->addItem($item);
     }
     $features = SuggestedFeaturePeer::doSelect(new Criteria());
     $freq = 'daily';
     foreach ($features as $feature) {
         $item = new sfSitemapItem();
         $item->initialize(array('loc' => '@show_feature?feature=' . $feature->getUuid(), 'lastmod' => $feature->getUpdatedAt(), 'changeFreq' => $freq, 'piority' => $priority));
         $sitemap->addItem($item);
     }
     $this->sitemap = $sitemap;
 }
コード例 #2
0
ファイル: actions.class.php プロジェクト: sgrove/cothinker
 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);
 }
コード例 #3
0
ファイル: BasesfGuardUser.php プロジェクト: sgrove/cothinker
 public function getSuggestedFeatures($criteria = null, $con = null)
 {
     include_once 'lib/model/om/BaseSuggestedFeaturePeer.php';
     if ($criteria === null) {
         $criteria = new Criteria();
     } elseif ($criteria instanceof Criteria) {
         $criteria = clone $criteria;
     }
     if ($this->collSuggestedFeatures === null) {
         if ($this->isNew()) {
             $this->collSuggestedFeatures = array();
         } else {
             $criteria->add(SuggestedFeaturePeer::USER_ID, $this->getId());
             SuggestedFeaturePeer::addSelectColumns($criteria);
             $this->collSuggestedFeatures = SuggestedFeaturePeer::doSelect($criteria, $con);
         }
     } else {
         if (!$this->isNew()) {
             $criteria->add(SuggestedFeaturePeer::USER_ID, $this->getId());
             SuggestedFeaturePeer::addSelectColumns($criteria);
             if (!isset($this->lastSuggestedFeatureCriteria) || !$this->lastSuggestedFeatureCriteria->equals($criteria)) {
                 $this->collSuggestedFeatures = SuggestedFeaturePeer::doSelect($criteria, $con);
             }
         }
     }
     $this->lastSuggestedFeatureCriteria = $criteria;
     return $this->collSuggestedFeatures;
 }
コード例 #4
0
 public static function retrieveByPKs($pks, $con = null)
 {
     if ($con === null) {
         $con = Propel::getConnection(self::DATABASE_NAME);
     }
     $objs = null;
     if (empty($pks)) {
         $objs = array();
     } else {
         $criteria = new Criteria();
         $criteria->add(SuggestedFeaturePeer::ID, $pks, Criteria::IN);
         $objs = SuggestedFeaturePeer::doSelect($criteria, $con);
     }
     return $objs;
 }