コード例 #1
0
 /**
  * Browse all custom data groups.
  *
  *
  * @return void
  */
 public function browse()
 {
     // get all custom groups sorted by weight
     $membershipStatus = array();
     $dao = new CRM_Member_DAO_MembershipStatus();
     $dao->orderBy('weight');
     $dao->find();
     while ($dao->fetch()) {
         $membershipStatus[$dao->id] = array();
         CRM_Core_DAO::storeValues($dao, $membershipStatus[$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) {
             if ($dao->is_active) {
                 $action -= CRM_Core_Action::ENABLE;
             } else {
                 $action -= CRM_Core_Action::DISABLE;
             }
             $membershipStatus[$dao->id]['action'] = CRM_Core_Action::formLink(self::links(), $action, array('id' => $dao->id), ts('more'), FALSE, 'membershipStatus.manage.action', 'MembershipStatus', $dao->id);
         }
         if ($startEvent = CRM_Utils_Array::value('start_event', $membershipStatus[$dao->id])) {
             $membershipStatus[$dao->id]['start_event'] = $startEvent == 'join_date' ? 'member since' : str_replace("_", " ", $startEvent);
         }
         if ($endEvent = CRM_Utils_Array::value('end_event', $membershipStatus[$dao->id])) {
             $membershipStatus[$dao->id]['end_event'] = $endEvent == 'join_date' ? 'member since' : str_replace("_", " ", $endEvent);
         }
     }
     // Add order changing widget to selector
     $returnURL = CRM_Utils_System::url('civicrm/admin/member/membershipStatus', "reset=1&action=browse");
     CRM_Utils_Weight::addOrder($membershipStatus, 'CRM_Member_DAO_MembershipStatus', 'id', $returnURL);
     $this->assign('rows', $membershipStatus);
 }