public function getBillboardPosts($target_board = 0, $posts = 5)
 {
     $crit = new B2DBCriteria();
     $crit->addWhere(TBGBillboardPostsTable::SCOPE, TBGContext::getScope()->getID());
     $crit->addWhere(TBGBillboardPostsTable::IS_DELETED, 0);
     $crit->setLimit($posts);
     $crit->addOrderBy(TBGBillboardPostsTable::DATE, 'desc');
     if (is_array($target_board)) {
         $crit->addWhere(TBGBillboardPostsTable::TARGET_BOARD, $target_board, B2DBCriteria::DB_IN);
     } else {
         $crit->addWhere(TBGBillboardPostsTable::TARGET_BOARD, $target_board);
     }
     $posts = array();
     $res = B2DB::getTable('TBGBillboardPostsTable')->doSelect($crit);
     while ($row = $res->getNextRow()) {
         $posts[] = new PublishBillboardPost($row);
     }
     return $posts;
 }
 /**
  * Perform an SQL update
  *
  * @param B2DBCriteria $crit
  * @param integer $id
  * 
  * @return B2DBResultset
  */
 public function doUpdateById(B2DBCriteria $crit, $id)
 {
     try {
         $crit->setFromTable($this);
         $crit->addWhere($this->id_column, $id);
         $crit->setLimit(1);
         $crit->generateUpdateSQL();
         $statement = B2DBStatement::getPreparedStatement($crit);
         $resultset = $statement->performQuery('update');
     } catch (Exception $e) {
         if (B2DB::throwExceptionAsHTML()) {
             B2DB::fatalError($e);
             exit;
         } else {
             throw $e;
         }
     }
     return $resultset;
 }