当前位置: 首页>>代码示例>>PHP>>正文


PHP CRM_Contact_BAO_ContactType::suppressSubTypes方法代码示例

本文整理汇总了PHP中CRM_Contact_BAO_ContactType::suppressSubTypes方法的典型用法代码示例。如果您正苦于以下问题:PHP CRM_Contact_BAO_ContactType::suppressSubTypes方法的具体用法?PHP CRM_Contact_BAO_ContactType::suppressSubTypes怎么用?PHP CRM_Contact_BAO_ContactType::suppressSubTypes使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在CRM_Contact_BAO_ContactType的用法示例。


在下文中一共展示了CRM_Contact_BAO_ContactType::suppressSubTypes方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: checkProfileType

 /**
  * Check for mix profile fields (eg: individual + other contact types)
  *
  * @param int $ufGroupId
  *
  * @return bool
  *   true for mix profile else false
  */
 public static function checkProfileType($ufGroupId)
 {
     $ufGroup = new CRM_Core_DAO_UFGroup();
     $ufGroup->id = $ufGroupId;
     $ufGroup->find(TRUE);
     $profileTypes = array();
     if ($ufGroup->group_type) {
         $typeParts = explode(CRM_Core_DAO::VALUE_SEPARATOR, $ufGroup->group_type);
         $profileTypes = explode(',', $typeParts[0]);
     }
     //early return if new profile.
     if (empty($profileTypes)) {
         return FALSE;
     }
     //we need to unset Contact
     if (count($profileTypes) > 1) {
         $index = array_search('Contact', $profileTypes);
         if ($index !== FALSE) {
             unset($profileTypes[$index]);
         }
     }
     // suppress any subtypes if present
     CRM_Contact_BAO_ContactType::suppressSubTypes($profileTypes);
     $contactTypes = array('Contact', 'Individual', 'Household', 'Organization');
     $components = array('Contribution', 'Participant', 'Membership', 'Activity');
     $fields = array();
     // check for mix profile condition
     if (count($profileTypes) > 1) {
         //check the there are any components include in profile
         foreach ($components as $value) {
             if (in_array($value, $profileTypes)) {
                 return TRUE;
             }
         }
         //check if there are more than one contact types included in profile
         if (count($profileTypes) > 1) {
             return TRUE;
         }
     } elseif (count($profileTypes) == 1) {
         // note for subtype case count would be zero
         $profileTypes = array_values($profileTypes);
         if (!in_array($profileTypes[0], $contactTypes)) {
             return TRUE;
         }
     }
     return FALSE;
 }
开发者ID:kidaa30,项目名称:yes,代码行数:55,代码来源:UFField.php


注:本文中的CRM_Contact_BAO_ContactType::suppressSubTypes方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。