/**
  * Browse all custom data groups.
  *  
  * 
  * @return void
  * @access public
  * @static
  */
 function browse()
 {
     // get all custom groups sorted by weight
     $contributionType = array();
     require_once 'CRM/Contribute/DAO/ContributionType.php';
     $dao =& new CRM_Contribute_DAO_ContributionType();
     // set the domain_id parameter
     $config =& CRM_Core_Config::singleton();
     $dao->domain_id = $config->domainID();
     $dao->orderBy('name');
     $dao->find();
     while ($dao->fetch()) {
         $contributionType[$dao->id] = array();
         CRM_Core_DAO::storeValues($dao, $contributionType[$dao->id]);
         // form all action links
         $action = array_sum(array_keys($this->links()));
         // update enable/disable links depending on if it is is_reserved or is_active
         if ($dao->is_reserved) {
             continue;
         } else {
             if ($dao->is_active) {
                 $action -= CRM_CORE_ACTION_ENABLE;
             } else {
                 $action -= CRM_CORE_ACTION_DISABLE;
             }
         }
         $contributionType[$dao->id]['action'] = CRM_Core_Action::formLink(CRM_Contribute_Page_ContributionType::links(), $action, array('id' => $dao->id));
     }
     $this->assign('rows', $contributionType);
 }