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


PHP CRM_Contact_BAO_Contact::copyValues方法代码示例

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


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

示例1: getValues

 /**
  * Fetch the object and store the values in the values array.
  *
  * @param array $params
  *   Input parameters to find object.
  * @param array $values
  *   Output values of the object.
  *
  * @return CRM_Contact_BAO_Contact|null
  *   The found object or null
  */
 public static function getValues(&$params, &$values)
 {
     $contact = new CRM_Contact_BAO_Contact();
     $contact->copyValues($params);
     if ($contact->find(TRUE)) {
         CRM_Core_DAO::storeValues($contact, $values);
         $privacy = array();
         foreach (self::$_commPrefs as $name) {
             if (isset($contact->{$name})) {
                 $privacy[$name] = $contact->{$name};
             }
         }
         if (!empty($privacy)) {
             $values['privacy'] = $privacy;
         }
         // communication Prefferance
         $preffComm = $comm = array();
         $comm = explode(CRM_Core_DAO::VALUE_SEPARATOR, $contact->preferred_communication_method);
         foreach ($comm as $value) {
             $preffComm[$value] = 1;
         }
         $temp = array('preferred_communication_method' => $contact->preferred_communication_method);
         $names = array('preferred_communication_method' => array('newName' => 'preferred_communication_method_display', 'groupName' => 'preferred_communication_method'));
         CRM_Core_OptionGroup::lookupValues($temp, $names, FALSE);
         $values['preferred_communication_method'] = $preffComm;
         $values['preferred_communication_method_display'] = CRM_Utils_Array::value('preferred_communication_method_display', $temp);
         $preferredMailingFormat = CRM_Core_SelectValues::pmf();
         $values['preferred_mail_format'] = $preferredMailingFormat[$contact->preferred_mail_format];
         // get preferred languages
         if (!empty($contact->preferred_language)) {
             $values['preferred_language'] = CRM_Core_PseudoConstant::getLabel('CRM_Contact_DAO_Contact', 'preferred_language', $contact->preferred_language);
         }
         // Calculating Year difference
         if ($contact->birth_date) {
             $birthDate = CRM_Utils_Date::customFormat($contact->birth_date, '%Y%m%d');
             if ($birthDate < date('Ymd')) {
                 $age = CRM_Utils_Date::calculateAge($birthDate);
                 $values['age']['y'] = CRM_Utils_Array::value('years', $age);
                 $values['age']['m'] = CRM_Utils_Array::value('months', $age);
             }
             list($values['birth_date']) = CRM_Utils_Date::setDateDefaults($contact->birth_date, 'birth');
             $values['birth_date_display'] = $contact->birth_date;
         }
         if ($contact->deceased_date) {
             list($values['deceased_date']) = CRM_Utils_Date::setDateDefaults($contact->deceased_date, 'birth');
             $values['deceased_date_display'] = $contact->deceased_date;
         }
         $contact->contact_id = $contact->id;
         return $contact;
     }
     return NULL;
 }
开发者ID:JSProffitt,项目名称:civicrm-website-org,代码行数:63,代码来源:Contact.php

示例2: _getValues

 /**
  * Given the list of params in the params array, fetch the object
  * and store the values in the values array
  *
  * @param array $params input parameters to find object
  * @param array $values output values of the object
  *
  * @return CRM_Contact_BAO_Contact|null the found object or null
  * @access public
  * @static
  */
 private static function _getValues(&$params, &$values)
 {
     $contact = new CRM_Contact_BAO_Contact();
     $contact->copyValues($params);
     if ($contact->find(true)) {
         CRM_Core_DAO::storeValues($contact, $values);
         $privacy = array();
         foreach (self::$_commPrefs as $name) {
             if (isset($contact->{$name})) {
                 $privacy[$name] = $contact->{$name};
             }
         }
         if (!empty($privacy)) {
             $values['privacy'] = $privacy;
         }
         // communication Prefferance
         $preffComm = $comm = array();
         $comm = explode(CRM_Core_BAO_CustomOption::VALUE_SEPERATOR, $contact->preferred_communication_method);
         foreach ($comm as $value) {
             $preffComm[$value] = 1;
         }
         $temp = array('preferred_communication_method' => $contact->preferred_communication_method);
         $names = array('preferred_communication_method' => array('newName' => 'preferred_communication_method_display', 'groupName' => 'preferred_communication_method'));
         require_once 'CRM/Core/OptionGroup.php';
         CRM_Core_OptionGroup::lookupValues($temp, $names, false);
         $values['preferred_communication_method'] = $preffComm;
         $values['preferred_communication_method_display'] = CRM_Utils_Array::value('preferred_communication_method_display', $temp);
         CRM_Contact_DAO_Contact::addDisplayEnums($values);
         // get preferred languages
         if (!empty($contact->preferred_language)) {
             $languages =& CRM_Core_PseudoConstant::languages();
             $values['preferred_language'] = CRM_Utils_Array::value($contact->preferred_language, $languages);
         }
         // Calculating Year difference
         if ($contact->birth_date) {
             $birthDate = CRM_Utils_Date::customFormat($contact->birth_date, '%Y%m%d');
             if ($birthDate < date('Ymd')) {
                 $age = CRM_Utils_Date::calculateAge($birthDate);
                 $values['age']['y'] = CRM_Utils_Array::value('years', $age);
                 $values['age']['m'] = CRM_Utils_Array::value('months', $age);
             }
             list($values['birth_date']) = CRM_Utils_Date::setDateDefaults($contact->birth_date, 'birth');
             $values['birth_date_display'] = $contact->birth_date;
         }
         if ($contact->deceased_date) {
             list($values['deceased_date']) = CRM_Utils_Date::setDateDefaults($contact->deceased_date, 'birth');
             $values['deceased_date_display'] = $contact->deceased_date;
         }
         $contact->contact_id = $contact->id;
         return $contact;
     }
     return null;
 }
开发者ID:hampelm,项目名称:Ginsberg-CiviDemo,代码行数:64,代码来源:Contact.php


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