本文整理汇总了PHP中CRM_Core_PseudoConstant::individualPrefix方法的典型用法代码示例。如果您正苦于以下问题:PHP CRM_Core_PseudoConstant::individualPrefix方法的具体用法?PHP CRM_Core_PseudoConstant::individualPrefix怎么用?PHP CRM_Core_PseudoConstant::individualPrefix使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CRM_Core_PseudoConstant
的用法示例。
在下文中一共展示了CRM_Core_PseudoConstant::individualPrefix方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: buildQuickForm
/**
* This function provides the HTML form elements that are specific to the Individual Contact Type
*
* @access public
* @return None
*/
function buildQuickForm(&$form)
{
$form->applyFilter('__ALL__', 'trim');
// prefix
$form->addElement('select', 'prefix_id', ts('Prefix'), array('' => ts('- prefix -')) + CRM_Core_PseudoConstant::individualPrefix());
$attributes = CRM_Core_DAO::getAttribute('CRM_Contact_DAO_Individual');
// first_name
$form->addElement('text', 'first_name', ts('First Name'), $attributes['first_name']);
//middle_name
$form->addElement('text', 'middle_name', ts('Middle Name'), $attributes['middle_name']);
// last_name
$form->addElement('text', 'last_name', ts('Last Name'), $attributes['last_name']);
// suffix
$form->addElement('select', 'suffix_id', ts('Suffix'), array('' => ts('- suffix -')) + CRM_Core_PseudoConstant::individualSuffix());
// nick_name
$form->addElement('text', 'nick_name', ts('Nick Name'), CRM_Core_DAO::getAttribute('CRM_Contact_DAO_Contact', 'nick_name'));
// greeting type
$form->addElement('select', 'greeting_type', ts('Greeting'), CRM_Core_SelectValues::greeting());
// job title
$form->addElement('text', 'job_title', ts('Job title'), $attributes['job_title']);
// radio button for gender
$genderOptions = array();
$gender = CRM_Core_PseudoConstant::gender();
foreach ($gender as $key => $var) {
$genderOptions[$key] = HTML_QuickForm::createElement('radio', null, ts('Gender'), $var, $key);
}
$form->addGroup($genderOptions, 'gender_id', ts('Gender'));
$form->addElement('checkbox', 'is_deceased', null, ts('Contact is deceased'));
$form->addElement('date', 'birth_date', ts('Date of birth'), CRM_Core_SelectValues::date('birth'));
$form->addRule('birth_date', ts('Select a valid date.'), 'qfDate');
$form->addElement('text', 'home_URL', ts('Website'), CRM_Core_DAO::getAttribute('CRM_Contact_DAO_Contact', 'home_URL'));
$form->addRule('home_URL', ts('Enter a valid Website.'), 'url');
$config =& CRM_Core_Config::singleton();
CRM_Core_ShowHideBlocks::links($this, 'demographics', '', '');
}
示例2: buildQuickForm
/**
* This function provides the HTML form elements that are specific to the Individual Contact Type
*
* @access public
* @return None
*/
public function buildQuickForm(&$form, $action = null)
{
$form->applyFilter('__ALL__', 'trim');
//prefix
$prefix = CRM_Core_PseudoConstant::individualPrefix();
if (!empty($prefix)) {
$form->addElement('select', 'prefix_id', ts('Prefix'), array('' => '') + $prefix);
}
$attributes = CRM_Core_DAO::getAttribute('CRM_Contact_DAO_Contact');
// first_name
$form->addElement('text', 'first_name', ts('First Name'), $attributes['first_name']);
//middle_name
$form->addElement('text', 'middle_name', ts('Middle Name'), $attributes['middle_name']);
// last_name
$form->addElement('text', 'last_name', ts('Last Name'), $attributes['last_name']);
// suffix
$suffix = CRM_Core_PseudoConstant::individualSuffix();
if ($suffix) {
$form->addElement('select', 'suffix_id', ts('Suffix'), array('' => '') + $suffix);
}
// nick_name
$form->addElement('text', 'nick_name', ts('Nick Name'), CRM_Core_DAO::getAttribute('CRM_Contact_DAO_Contact', 'nick_name'));
// job title
// override the size for UI to look better
$attributes['job_title']['size'] = 30;
$form->addElement('text', 'job_title', ts('Job title'), $attributes['job_title'], 'size="30"');
if ($action & CRM_Core_Action::UPDATE) {
$mailToHouseholdID = CRM_Core_DAO::getFieldValue('CRM_Contact_DAO_Contact', $form->_contactId, 'mail_to_household_id', 'id');
$form->assign('mailToHouseholdID', $mailToHouseholdID);
}
//Shared Address Element
require_once 'CRM/Contact/BAO/ContactType.php';
if (CRM_Contact_BAO_ContactType::isActive('Household')) {
$label = CRM_Contact_BAO_ContactType::getLabel('Household');
$form->addElement('checkbox', 'use_household_address', null, ts('Use %1 Address', array(1 => $label)));
}
$housholdDataURL = CRM_Utils_System::url('civicrm/ajax/search', "hh=1", false, null, false);
$form->assign('housholdDataURL', $housholdDataURL);
$form->add('text', 'shared_household', ts('Select Household'));
$form->add('hidden', 'shared_household_id', '', array('id' => 'shared_household_id'));
//Home Url Element
$form->addElement('text', 'home_URL', ts('Website'), array_merge(CRM_Core_DAO::getAttribute('CRM_Contact_DAO_Contact', 'home_URL'), array('onfocus' => "if (!this.value) this.value='http://'; else return false", 'onblur' => "if ( this.value == 'http://') this.value=''; else return false")));
$form->addRule('home_URL', ts('Enter a valid web location beginning with \'http://\' or \'https://\'. EXAMPLE: http://www.mysite.org/'), 'url');
//Current Employer Element
$employerDataURL = CRM_Utils_System::url('civicrm/ajax/contactlist', 'org=1', false, null, false);
$form->assign('employerDataURL', $employerDataURL);
$form->addElement('text', 'current_employer', ts('Current Employer'), '');
$form->addElement('hidden', 'current_employer_id', '', array('id' => 'current_employer_id'));
$form->addElement('text', 'contact_source', ts('Source'));
//External Identifier Element
$form->add('text', 'external_identifier', ts('External Id'), CRM_Core_DAO::getAttribute('CRM_Contact_DAO_Contact', 'external_identifier'), false);
$form->addRule('external_identifier', ts('External ID already exists in Database.'), 'objectExists', array('CRM_Contact_DAO_Contact', $form->_contactId, 'external_identifier'));
$config =& CRM_Core_Config::singleton();
CRM_Core_ShowHideBlocks::links($form, 'demographics', '', '');
}
示例3: civicrm_api3_contact_create
/**
* Create or update a contact (note you should always call this via civicrm_api() & never directly)
*
* @param array $params input parameters
*
* Allowed @params array keys are:
* {@getfields contact_create}
*
*
* @example ContactCreate.php Example of Create Call
*
* @return array API Result Array
*
* @static void
* @access public
*/
function civicrm_api3_contact_create($params)
{
$contactID = CRM_Utils_Array::value('contact_id', $params, CRM_Utils_Array::value('id', $params));
$dupeCheck = CRM_Utils_Array::value('dupe_check', $params, FALSE);
$values = _civicrm_api3_contact_check_params($params, $dupeCheck);
if ($values) {
return $values;
}
if (empty($contactID)) {
// If we get here, we're ready to create a new contact
if (($email = CRM_Utils_Array::value('email', $params)) && !is_array($params['email'])) {
require_once 'CRM/Core/BAO/LocationType.php';
$defLocType = CRM_Core_BAO_LocationType::getDefault();
$params['email'] = array(1 => array('email' => $email, 'is_primary' => 1, 'location_type_id' => $defLocType->id ? $defLocType->id : 1));
}
}
if (CRM_Utils_Array::value('home_url', $params)) {
require_once 'CRM/Core/PseudoConstant.php';
$websiteTypes = CRM_Core_PseudoConstant::websiteType();
$params['website'] = array(1 => array('website_type_id' => key($websiteTypes), 'url' => $params['home_url']));
}
if (isset($params['suffix_id']) && !is_numeric($params['suffix_id'])) {
$params['suffix_id'] = array_search($params['suffix_id'], CRM_Core_PseudoConstant::individualSuffix());
}
if (isset($params['prefix_id']) && !is_numeric($params['prefix_id'])) {
$params['prefix_id'] = array_search($params['prefix_id'], CRM_Core_PseudoConstant::individualPrefix());
}
if (isset($params['gender_id']) && !is_numeric($params['gender_id'])) {
$params['gender_id'] = array_search($params['gender_id'], CRM_Core_PseudoConstant::gender());
}
$error = _civicrm_api3_greeting_format_params($params);
if (civicrm_error($error)) {
return $error;
}
$values = array();
$entityId = $contactID;
if (!CRM_Utils_Array::value('contact_type', $params) && $entityId) {
$params['contact_type'] = CRM_Contact_BAO_Contact::getContactType($entityId);
}
if (!isset($params['contact_sub_type']) && $entityId) {
require_once 'CRM/Contact/BAO/Contact.php';
$params['contact_sub_type'] = CRM_Contact_BAO_Contact::getContactSubType($entityId);
}
_civicrm_api3_custom_format_params($params, $values, $params['contact_type'], $entityId);
$params = array_merge($params, $values);
$contact = _civicrm_api3_contact_update($params, $contactID);
if (is_a($contact, 'CRM_Core_Error')) {
return civicrm_api3_create_error($contact->_errors[0]['message']);
} else {
$values = array();
_civicrm_api3_object_to_array_unique_fields($contact, $values[$contact->id]);
}
return civicrm_api3_create_success($values, $params, 'Contact', 'create');
}
示例4: buildQuickForm
/**
* This function provides the HTML form elements that are specific to the Individual Contact Type
*
* @access public
*
* @return None
*/
public function buildQuickForm(&$form, $action = NULL)
{
$form->applyFilter('__ALL__', 'trim');
//prefix
$prefix = CRM_Core_PseudoConstant::individualPrefix();
if (!empty($prefix)) {
$form->addElement('select', 'prefix_id', ts('Prefix'), array('' => '') + $prefix);
}
$attributes = CRM_Core_DAO::getAttribute('CRM_Contact_DAO_Contact');
// first_name
$form->addElement('text', 'first_name', ts('First Name'), $attributes['first_name']);
//middle_name
$form->addElement('text', 'middle_name', ts('Middle Name'), $attributes['middle_name']);
// last_name
$form->addElement('text', 'last_name', ts('Last Name'), $attributes['last_name']);
// suffix
$suffix = CRM_Core_PseudoConstant::individualSuffix();
if ($suffix) {
$form->addElement('select', 'suffix_id', ts('Suffix'), array('' => '') + $suffix);
}
// nick_name
$form->addElement('text', 'nick_name', ts('Nick Name'), CRM_Core_DAO::getAttribute('CRM_Contact_DAO_Contact', 'nick_name'));
// job title
// override the size for UI to look better
$attributes['job_title']['size'] = 30;
$form->addElement('text', 'job_title', ts('Job title'), $attributes['job_title'], 'size="30"');
//Current Employer Element
$employerDataURL = CRM_Utils_System::url('civicrm/ajax/rest', 'className=CRM_Contact_Page_AJAX&fnName=getContactList&json=1&context=contact&org=1&employee_id=' . $this->_contactId, FALSE, NULL, FALSE);
$form->assign('employerDataURL', $employerDataURL);
$form->addElement('text', 'current_employer', ts('Current Employer'), '');
$form->addElement('hidden', 'current_employer_id', '', array('id' => 'current_employer_id'));
$form->addElement('text', 'contact_source', ts('Source'));
$checkSimilar = CRM_Core_BAO_Setting::getItem(CRM_Core_BAO_Setting::SYSTEM_PREFERENCES_NAME, 'contact_ajax_check_similar', NULL, TRUE);
if ($checkSimilar == null) {
$checkSimilar = 0;
}
$form->assign('checkSimilar', $checkSimilar);
//External Identifier Element
$form->add('text', 'external_identifier', ts('External Id'), CRM_Core_DAO::getAttribute('CRM_Contact_DAO_Contact', 'external_identifier'), FALSE);
$form->addRule('external_identifier', ts('External ID already exists in Database.'), 'objectExists', array('CRM_Contact_DAO_Contact', $form->_contactId, 'external_identifier'));
$config = CRM_Core_Config::singleton();
CRM_Core_ShowHideBlocks::links($form, 'demographics', '', '');
}
示例5: __construct
function __construct()
{
self::$nscd_fid = _iats_civicrm_nscd_fid();
self::$version = _iats_civicrm_domain_info('version');
self::$financial_types = self::$version[0] <= 4 && self::$version[1] <= 2 ? array() : CRM_Contribute_PseudoConstant::financialType();
if (self::$version[0] <= 4 && self::$version[1] < 4) {
self::$prefixes = CRM_Core_PseudoConstant::individualPrefix();
self::$contributionStatus = CRM_Contribute_PseudoConstant::contributionStatus();
} else {
self::$prefixes = CRM_Contact_BAO_Contact::buildOptions('individual_prefix_id');
self::$contributionStatus = CRM_Contribute_BAO_Contribution::buildOptions('contribution_status_id');
}
$params = array('version' => 3, 'sequential' => 1, 'is_test' => 0, 'return.name' => 1);
$result = civicrm_api('PaymentProcessor', 'get', $params);
foreach ($result['values'] as $pp) {
self::$processors[$pp['id']] = $pp['name'];
}
$this->_columns = array('civicrm_contact' => array('dao' => 'CRM_Contact_DAO_Contact', 'order_bys' => array('sort_name' => array('title' => ts("Last name, First name"))), 'fields' => array('first_name' => array('title' => ts('First Name')), 'last_name' => array('title' => ts('Last Name')), 'prefix_id' => array('title' => ts('Prefix')), 'sort_name' => array('title' => ts('Contact Name'), 'no_repeat' => TRUE, 'default' => TRUE), 'id' => array('no_display' => TRUE, 'required' => TRUE))), 'civicrm_email' => array('dao' => 'CRM_Core_DAO_Email', 'order_bys' => array('email' => array('title' => ts('Email'))), 'fields' => array('email' => array('title' => ts('Email'), 'no_repeat' => TRUE)), 'grouping' => 'contact-fields'), 'civicrm_phone' => array('dao' => 'CRM_Core_DAO_Phone', 'fields' => array('phone' => array('title' => ts('Phone'), 'no_repeat' => TRUE)), 'grouping' => 'contact-fields'), 'civicrm_contribution' => array('dao' => 'CRM_Contribute_DAO_Contribution', 'fields' => array('id' => array('title' => ts('Contribution ID(s)'), 'required' => TRUE, 'dbAlias' => "GROUP_CONCAT(contribution_civireport.id SEPARATOR ', ')"), 'total_amount' => array('title' => ts('Amount Contributed to date'), 'required' => TRUE, 'statistics' => array('sum' => ts("Total Amount contributed")))), 'filters' => array('total_amount' => array('title' => ts('Total Amount'), 'operatorType' => CRM_Report_Form::OP_FLOAT, 'type' => CRM_Utils_Type::T_FLOAT))), 'civicrm_iats_customer_codes' => array('dao' => 'CRM_Contribute_DAO_Contribution', 'order_bys' => array('expiry' => array('title' => ts("Expiry Date"))), 'fields' => array('customer_code' => array('title' => 'customer code', 'default' => TRUE), 'expiry' => array('title' => 'Expiry Date', 'default' => TRUE))), 'civicrm_contribution_recur' => array('dao' => 'CRM_Contribute_DAO_ContributionRecur', 'order_bys' => array('id' => array('title' => ts("Series ID")), 'amount' => array('title' => ts("Current Amount")), 'start_date' => array('title' => ts('Start Date')), 'modified_date' => array('title' => ts('Modified Date')), self::$nscd_fid => array('title' => ts('Next Scheduled Contribution Date')), 'cycle_day' => array('title' => ts('Cycle Day')), 'payment_processor_id' => array('title' => ts('Payment Processor'))), 'fields' => array('id' => array('required' => TRUE, 'title' => ts("Series ID")), 'recur_id' => array('name' => 'id', 'title' => ts('Series ID')), 'invoice_id' => array('title' => ts('Invoice ID'), 'default' => FALSE), 'currency' => array('title' => ts("Currency")), 'amount' => array('title' => ts('Amount'), 'default' => TRUE), 'contribution_status_id' => array('title' => ts('Donation Status')), 'frequency_interval' => array('title' => ts('Frequency interval'), 'default' => TRUE), 'frequency_unit' => array('title' => ts('Frequency unit'), 'default' => TRUE), 'installments' => array('title' => ts('Installments'), 'default' => TRUE), 'start_date' => array('title' => ts('Start Date'), 'default' => TRUE), 'create_date' => array('title' => ts('Create Date')), 'modified_date' => array('title' => ts('Modified Date')), 'cancel_date' => array('title' => ts('Cancel Date')), self::$nscd_fid => array('title' => ts('Next Scheduled Contribution Date'), 'default' => TRUE), 'next_scheduled_day' => array('name' => self::$nscd_fid, 'dbAlias' => 'DAYOFMONTH(contribution_recur_civireport.next_sched_contribution)', 'title' => ts('Next Scheduled Day of the Month')), 'cycle_day' => array('title' => ts('Cycle Day')), 'failure_count' => array('title' => ts('Failure Count')), 'failure_retry_date' => array('title' => ts('Failure Retry Date')), 'payment_processor_id' => array('title' => ts('Payment Processor'), 'default' => TRUE)), 'filters' => array('contribution_status_id' => array('title' => ts('Donation Status'), 'operatorType' => CRM_Report_Form::OP_MULTISELECT, 'options' => self::$contributionStatus, 'default' => array(5), 'type' => CRM_Utils_Type::T_INT), 'payment_processor_id' => array('title' => ts('Payment Processor'), 'operatorType' => CRM_Report_Form::OP_MULTISELECT, 'options' => self::$processors, 'type' => CRM_Utils_Type::T_INT), 'currency' => array('title' => 'Currency', 'operatorType' => CRM_Report_Form::OP_MULTISELECT, 'options' => CRM_Core_OptionGroup::values('currencies_enabled'), 'default' => NULL, 'type' => CRM_Utils_Type::T_STRING), 'financial_type_id' => array('title' => ts('Financial Type'), 'operatorType' => CRM_Report_Form::OP_MULTISELECT, 'options' => self::$financial_types, 'type' => CRM_Utils_Type::T_INT), 'frequency_unit' => array('title' => ts('Frequency Unit'), 'operatorType' => CRM_Report_Form::OP_MULTISELECT, 'options' => CRM_Core_OptionGroup::values('recur_frequency_units')), self::$nscd_fid => array('title' => ts('Next Scheduled Contribution Date'), 'operatorType' => CRM_Report_Form::OP_DATE, 'type' => CRM_Utils_Type::T_DATE), 'next_scheduled_day' => array('title' => ts('Next Scheduled Day'), 'operatorType' => CRM_Report_Form::OP_INT, 'type' => CRM_Utils_Type::T_INT), 'cycle_day' => array('title' => ts('Cycle Day'), 'operatorType' => CRM_Report_Form::OP_INT, 'type' => CRM_Utils_Type::T_INT), 'start_date' => array('title' => ts('Start Date'), 'operatorType' => CRM_Report_Form::OP_DATE, 'type' => CRM_Utils_Type::T_DATE), 'modified_date' => array('title' => ts('Modified Date'), 'operatorType' => CRM_Report_Form::OP_DATE, 'type' => CRM_Utils_Type::T_DATE), 'cancel_date' => array('title' => ts('Cancel Date'), 'operatorType' => CRM_Report_Form::OP_DATE, 'type' => CRM_Utils_Type::T_DATE))), 'civicrm_address' => array('dao' => 'CRM_Core_DAO_Address', 'fields' => array('street_address' => array('title' => ts('Address'), 'default' => FALSE), 'supplemental_address_1' => array('title' => ts('Supplementary Address Field 1'), 'default' => FALSE), 'supplemental_address_2' => array('title' => ts('Supplementary Address Field 2'), 'default' => FALSE), 'city' => array('title' => 'City', 'default' => FALSE), 'state_province_id' => array('title' => 'Province', 'default' => FALSE, 'alter_display' => 'alterStateProvinceID'), 'postal_code' => array('title' => 'Postal Code', 'default' => FALSE), 'country_id' => array('title' => 'Country', 'default' => FALSE, 'alter_display' => 'alterCountryID')), 'grouping' => 'contact-fields'));
if (empty(self::$financial_types)) {
unset($this->_columns['civicrm_contribution_recur']['filters']['financial_type_id']);
}
parent::__construct();
}
示例6: buildOnBehalfForm
/**
* Function to build form for related contacts / on behalf of organization.
*
* @param $form object invoking Object
* @param $contactType string contact type
* @param $title string fieldset title
* @param $maxLocationBlocks int number of location blocks
*
* @static
*
*/
static function buildOnBehalfForm(&$form, $contactType = 'Individual', $countryID = null, $stateID = null, $title = 'Contact Information', $contactEditMode = false, $maxLocationBlocks = 1)
{
if ($title == 'Contact Information') {
$title = ts('Contact Information');
}
require_once 'CRM/Contact/Form/Location.php';
$config = CRM_Core_Config::singleton();
$form->assign('contact_type', $contactType);
$form->assign('fieldSetTitle', $title);
$form->assign('contactEditMode', $contactEditMode);
$attributes = CRM_Core_DAO::getAttribute('CRM_Contact_DAO_Contact');
switch ($contactType) {
case 'Organization':
$session = CRM_Core_Session::singleton();
$contactID = $session->get('userID');
if ($contactID) {
require_once 'CRM/Contact/BAO/Relationship.php';
$employers = CRM_Contact_BAO_Relationship::getPermissionedEmployer($contactID);
}
if (!$contactEditMode && $contactID && count($employers) >= 1) {
$locDataURL = CRM_Utils_System::url('civicrm/ajax/permlocation', "cid=", false, null, false);
$form->assign('locDataURL', $locDataURL);
$dataURL = CRM_Utils_System::url('civicrm/ajax/employer', "cid=" . $contactID, false, null, false);
$form->assign('employerDataURL', $dataURL);
$form->add('text', 'organization_id', ts('Select an existing related Organization OR Enter a new one'));
$form->add('hidden', 'onbehalfof_id', '', array('id' => 'onbehalfof_id'));
$orgOptions = array('0' => ts('Create new organization'), '1' => ts('Select existing organization'));
$orgOptionExtra = array('onclick' => "showHideByValue('org_option','true','select_org','table-row','radio',true);showHideByValue('org_option','true','create_org','table-row','radio',false);");
$form->addRadio('org_option', ts('options'), $orgOptions, $orgOptionExtra);
$form->assign('relatedOrganizationFound', true);
}
$isRequired = false;
if (CRM_Utils_Array::value('is_for_organization', $form->_values) == 2) {
$isRequired = true;
}
$form->add('text', 'organization_name', ts('Organization Name'), $attributes['organization_name'], $isRequired);
break;
case 'Household':
$form->add('text', 'household_name', ts('Household Name'), $attributes['household_name']);
break;
default:
// individual
$form->addElement('select', 'prefix_id', ts('Prefix'), array('' => ts('- prefix -')) + CRM_Core_PseudoConstant::individualPrefix());
$form->addElement('text', 'first_name', ts('First Name'), $attributes['first_name']);
$form->addElement('text', 'middle_name', ts('Middle Name'), $attributes['middle_name']);
$form->addElement('text', 'last_name', ts('Last Name'), $attributes['last_name']);
$form->addElement('select', 'suffix_id', ts('Suffix'), array('' => ts('- suffix -')) + CRM_Core_PseudoConstant::individualSuffix());
}
$addressSequence = $config->addressSequence();
$form->assign('addressSequence', array_fill_keys($addressSequence, 1));
//Primary Phone
$form->addElement('text', "phone[1][phone]", ts('Primary Phone'), CRM_Core_DAO::getAttribute('CRM_Core_DAO_Phone', 'phone'));
//Primary Email
$form->addElement('text', "email[1][email]", ts('Primary Email'), CRM_Core_DAO::getAttribute('CRM_Core_DAO_Email', 'email'));
//build the address block
require_once 'CRM/Contact/Form/Edit/Address.php';
CRM_Contact_Form_Edit_Address::buildQuickForm($form);
// also fix the state country selector
CRM_Contact_Form_Edit_Address::fixStateSelect($form, "address[1][country_id]", "address[1][state_province_id]", $countryID);
}
示例7:
/**
* Get all Individual Prefix.
*
* The static array individualPrefix is returned
*
* @access public
* @static
*
* @param boolean $all - get All Individual Prefix - default is to get only active ones.
*
* @return array - array reference of all individual prefix.
*
*/
public static function &individualPrefix()
{
if (!self::$individualPrefix) {
require_once 'CRM/Core/OptionGroup.php';
self::$individualPrefix = CRM_Core_OptionGroup::values('individual_prefix');
}
return self::$individualPrefix;
}
示例8: createHonorContact
/**
* Create the Honor contact
*
* @return void
* @access public
*/
function createHonorContact()
{
$params = $this->controller->exportValues('Main');
// email is enough to create a contact
if (!CRM_Utils_Array::value('honor_email', $params) && (!CRM_Utils_Array::value('honor_first_name', $params) || !CRM_Utils_Array::value('honor_last_name', $params))) {
//don't create contact - possibly the form was left blank
return null;
}
//assign to template for email receipt
$honor_block_is_active = $this->get('honor_block_is_active');
$this->assign('honor_block_is_active', $honor_block_is_active);
$this->assign('honor_block_title', CRM_Utils_Array::value('honor_block_title', $this->_values));
$prefix = CRM_Core_PseudoConstant::individualPrefix();
$honorType = CRM_Core_PseudoConstant::honor();
$this->assign('honor_type', CRM_Utils_Array::value(CRM_Utils_Array::value('honor_type_id', $params), $honorType));
$this->assign('honor_prefix', CRM_Utils_Array::value(CRM_Utils_Array::value('honor_prefix_id', $params), $prefix));
$this->assign('honor_first_name', CRM_Utils_Array::value('honor_first_name', $params));
$this->assign('honor_last_name', CRM_Utils_Array::value('honor_last_name', $params));
$this->assign('honor_email', CRM_Utils_Array::value('honor_email', $params));
//create honoree contact
return CRM_Contribute_BAO_Contribution::createHonorContact($params);
}
示例9: displayName
/**
* creates display name
*
* @return string the constructed display name
*/
function displayName()
{
$prefix =& CRM_Core_PseudoConstant::individualPrefix();
$suffix =& CRM_Core_PseudoConstant::individualSuffix();
return str_replace(' ', ' ', trim($prefix[$this->prefix_id] . ' ' . $this->first_name . ' ' . $this->middle_name . ' ' . $this->last_name . ' ' . $suffix[$this->suffix_id]));
}
示例10: whereClause
/**
* Given a list of conditions in params generate the required
* where clause
*
* @return void
* @access public
*/
function whereClause()
{
//CRM_Core_Error::debug( 'p', $this->_params );
// domain id is always part of the where clause
$config =& CRM_Core_Config::singleton();
$this->_where[] = 'civicrm_contact.domain_id = ' . $config->domainID();
// check for both id and contact_id
$id = CRM_Utils_Array::value('id', $this->_params);
if (!$id) {
$id = CRM_Utils_Array::value('contact_id', $this->_params);
}
if ($id) {
$this->_where[] = "civicrm_contact.id = {$id}";
}
$this->contactType();
$this->sortName();
$this->sortByCharacter();
$this->locationTypeAndName();
$this->group();
$this->tag();
$this->postalCode();
$this->activity();
$this->includeContactIds();
$this->contribution();
//CRM_Core_Error::debug( 'p', $this->_params );
//CRM_Core_Error::debug( 'f', $this->_fields );
foreach ($this->_fields as $name => $field) {
if (empty($name) || in_array($name, $GLOBALS['_CRM_CONTACT_BAO_QUERY']['skipFields'])) {
continue;
}
$value = CRM_Utils_Array::value($name, $this->_params);
if (!isset($value) || $value == null) {
continue;
}
if (CRM_Core_BAO_CustomField::getKeyID($name)) {
continue;
}
//check if the location type exits for fields
$lType = '';
$locType = array();
$locType = explode('-', $name);
if (is_numeric($locType[1])) {
$this->_params['location_type'] = array($locType[1] => 1);
$lType = $this->locationTypeAndName(true);
}
//add phone type if exists
if ($locType[2]) {
$this->_where[] = "civicrm_phone.phone_type ='" . $locType[2] . "'";
}
// FIXME: the LOWER/strtolower pairs below most probably won't work
// with non-US-ASCII characters, as even if MySQL does the proper
// thing with LOWER-ing them (4.0 almost certainly won't, but then
// we don't officially support 4.0 for non-US-ASCII data), PHP
// won't do the proper thing with strtolower-ing them unless the
// underlying operating system uses an UTF-8 locale for LC_CTYPE
// for the user the webserver runs at (or suEXECs); we should use
// mb_strtolower(), but then we'd require mb_strings support; we
// could wrap this in function_exist(), though
if (substr($name, 0, 14) === 'state_province') {
$states =& CRM_Core_PseudoConstant::stateProvince();
if (is_numeric($value)) {
$value = $states[(int) $value];
}
$this->_where[] = 'LOWER(' . $field['where'] . ') = "' . strtolower(addslashes($value)) . '"';
if (!$lType) {
$this->_qill[] = ts('State - "%1"', array(1 => $value));
} else {
$this->_qill[] = ts('State (%2) - "%1"', array(1 => $value, 2 => $lType));
}
} else {
if (substr($name, 0, 7) === 'country') {
$countries =& CRM_Core_PseudoConstant::country();
if (is_numeric($value)) {
$value = $countries[(int) $value];
}
$this->_where[] = 'LOWER(' . $field['where'] . ') = "' . strtolower(addslashes($value)) . '"';
if (!$lType) {
$this->_qill[] = ts('Country - "%1"', array(1 => $value));
} else {
$this->_qill[] = ts('Country (%2) - "%1"', array(1 => $value, 2 => $lType));
}
} else {
if ($name === 'individual_prefix') {
$individualPrefixs =& CRM_Core_PseudoConstant::individualPrefix();
if (is_numeric($value)) {
$value = $individualPrefixs[(int) $value];
}
$this->_where[] = 'LOWER(' . $field['where'] . ') = "' . strtolower(addslashes($value)) . '"';
$this->_qill[] = ts('Individual Prefix - "%1"', array(1 => $value));
} else {
if ($name === 'individual_suffix') {
$individualSuffixs =& CRM_Core_PseudoConstant::individualsuffix();
if (is_numeric($value)) {
//.........这里部分代码省略.........
示例11: civicrm_contact_update
/**
* @todo Write sth
* @todo Serious FIXMES in the code! File issues.
*/
function civicrm_contact_update(&$params, $create_new = FALSE)
{
_civicrm_initialize();
try {
civicrm_api_check_permission(__FUNCTION__, $params, TRUE);
} catch (Exception $e) {
return civicrm_create_error($e->getMessage());
}
require_once 'CRM/Utils/Array.php';
$entityId = CRM_Utils_Array::value('contact_id', $params, NULL);
if (!CRM_Utils_Array::value('contact_type', $params) && $entityId) {
$params['contact_type'] = CRM_Contact_BAO_Contact::getContactType($entityId);
}
$dupeCheck = CRM_Utils_Array::value('dupe_check', $params, FALSE);
$values = civicrm_contact_check_params($params, $dupeCheck);
if ($values) {
return $values;
}
if ($create_new) {
// Make sure nothing is screwed up before we create a new contact
if (!empty($entityId)) {
return civicrm_create_error('Cannot create new contact when contact_id is present');
}
if (empty($params['contact_type'])) {
return civicrm_create_error('Contact Type not specified');
}
// If we get here, we're ready to create a new contact
if (($email = CRM_Utils_Array::value('email', $params)) && !is_array($params['email'])) {
require_once 'CRM/Core/BAO/LocationType.php';
$defLocType = CRM_Core_BAO_LocationType::getDefault();
$params['email'] = array(1 => array('email' => $email, 'is_primary' => 1, 'location_type_id' => $defLocType->id ? $defLocType->id : 1));
}
}
if ($homeUrl = CRM_Utils_Array::value('home_url', $params)) {
require_once 'CRM/Core/PseudoConstant.php';
$websiteTypes = CRM_Core_PseudoConstant::websiteType();
$params['website'] = array(1 => array('website_type_id' => key($websiteTypes), 'url' => $homeUrl));
}
// FIXME: Some legacy support cruft, should get rid of this in 3.1
$change = array('individual_prefix' => 'prefix', 'prefix' => 'prefix_id', 'individual_suffix' => 'suffix', 'suffix' => 'suffix_id', 'gender' => 'gender_id');
foreach ($change as $field => $changeAs) {
if (array_key_exists($field, $params)) {
$params[$changeAs] = $params[$field];
unset($params[$field]);
}
}
// End legacy support cruft
if (isset($params['suffix_id']) && !is_numeric($params['suffix_id'])) {
$params['suffix_id'] = array_search($params['suffix_id'], CRM_Core_PseudoConstant::individualSuffix());
}
if (isset($params['prefix_id']) && !is_numeric($params['prefix_id'])) {
$params['prefix_id'] = array_search($params['prefix_id'], CRM_Core_PseudoConstant::individualPrefix());
}
if (isset($params['gender_id']) && !is_numeric($params['gender_id'])) {
$params['gender_id'] = array_search($params['gender_id'], CRM_Core_PseudoConstant::gender());
}
$error = _civicrm_greeting_format_params($params);
if (civicrm_error($error)) {
return $error;
}
$values = array();
if (!($csType = CRM_Utils_Array::value('contact_sub_type', $params)) && $entityId) {
require_once 'CRM/Contact/BAO/Contact.php';
$csType = CRM_Contact_BAO_Contact::getContactSubType($entityId);
}
$customValue = civicrm_contact_check_custom_params($params, $csType);
if ($customValue) {
return $customValue;
}
_civicrm_custom_format_params($params, $values, $params['contact_type'], $entityId);
$params = array_merge($params, $values);
$contact =& _civicrm_contact_update($params, $entityId);
if (is_a($contact, 'CRM_Core_Error')) {
return civicrm_create_error($contact->_errors[0]['message']);
} else {
$values = array();
$values['contact_id'] = $contact->id;
$values['is_error'] = 0;
}
return $values;
}
示例12: _civicrm_add_formatted_param
/**
* This function adds the contact variable in $values to the
* parameter list $params. For most cases, $values should have length 1. If
* the variable being added is a child of Location, a location_type_id must
* also be included. If it is a child of phone, a phone_type must be included.
*
* @param array $values The variable(s) to be added
* @param array $params The structured parameter list
*
* @return bool|CRM_Utils_Error
* @access public
*/
function _civicrm_add_formatted_param(&$values, &$params)
{
/* Crawl through the possible classes:
* Contact
* Individual
* Household
* Organization
* Location
* Address
* Email
* Phone
* IM
* Note
* Custom
*/
/* Cache the various object fields */
static $fields = null;
if ($fields == null) {
$fields = array();
}
//first add core contact values since for other Civi modules they are not added
require_once 'CRM/Contact/BAO/Contact.php';
$contactFields =& CRM_Contact_DAO_Contact::fields();
_civicrm_store_values($contactFields, $values, $params);
if (isset($values['contact_type'])) {
/* we're an individual/household/org property */
$fields[$values['contact_type']] = CRM_Contact_DAO_Contact::fields();
_civicrm_store_values($fields[$values['contact_type']], $values, $params);
return true;
}
if (isset($values['individual_prefix'])) {
if ($params['prefix_id']) {
$prefixes = array();
$prefixes = CRM_Core_PseudoConstant::individualPrefix();
$params['prefix'] = $prefixes[$params['prefix_id']];
} else {
$params['prefix'] = $values['individual_prefix'];
}
return true;
}
if (isset($values['individual_suffix'])) {
if ($params['suffix_id']) {
$suffixes = array();
$suffixes = CRM_Core_PseudoConstant::individualSuffix();
$params['suffix'] = $suffixes[$params['suffix_id']];
} else {
$params['suffix'] = $values['individual_suffix'];
}
return true;
}
//CRM-4575
if (isset($values['email_greeting'])) {
if ($params['email_greeting_id']) {
$emailGreetings = array();
$emailGreetingFilter = array('contact_type' => CRM_Utils_Array::value('contact_type', $params), 'greeting_type' => 'email_greeting');
$emailGreetings = CRM_Core_PseudoConstant::greeting($emailGreetingFilter);
$params['email_greeting'] = $emailGreetings[$params['email_greeting_id']];
} else {
$params['email_greeting'] = $values['email_greeting'];
}
return true;
}
if (isset($values['postal_greeting'])) {
if ($params['postal_greeting_id']) {
$postalGreetings = array();
$postalGreetingFilter = array('contact_type' => CRM_Utils_Array::value('contact_type', $params), 'greeting_type' => 'postal_greeting');
$postalGreetings = CRM_Core_PseudoConstant::greeting($postalGreetingFilter);
$params['postal_greeting'] = $postalGreetings[$params['postal_greeting_id']];
} else {
$params['postal_greeting'] = $values['postal_greeting'];
}
return true;
}
if (isset($values['addressee'])) {
if ($params['addressee_id']) {
$addressee = array();
$addresseeFilter = array('contact_type' => CRM_Utils_Array::value('contact_type', $params), 'greeting_type' => 'addressee');
$addressee = CRM_Core_PseudoConstant::addressee($addresseeFilter);
$params['addressee'] = $addressee[$params['addressee_id']];
} else {
$params['addressee'] = $values['addressee'];
}
return true;
}
if (isset($values['gender'])) {
if ($params['gender_id']) {
$genders = array();
$genders = CRM_Core_PseudoConstant::gender();
//.........这里部分代码省略.........
示例13: emailReceipt
/**
* Function to send email receipt.
*
* @form object of Contribution form.
* @param array $params (reference ) an assoc array of name/value pairs.
* @$ccContribution boolen, is it credit card contribution.
* @access public.
* @return None.
*/
function emailReceipt(&$form, &$params, $ccContribution = false)
{
$this->assign('receiptType', 'contribution');
// Retrieve Contribution Type Name from contribution_type_id
$params['contributionType_name'] = CRM_Core_DAO::getFieldValue('CRM_Contribute_DAO_ContributionType', $params['contribution_type_id']);
if (CRM_Utils_Array::value('payment_instrument_id', $params)) {
require_once 'CRM/Contribute/PseudoConstant.php';
$paymentInstrument = CRM_Contribute_PseudoConstant::paymentInstrument();
$params['paidBy'] = $paymentInstrument[$params['payment_instrument_id']];
}
// retrieve individual prefix value for honoree
if (CRM_Utils_Array::value('hidden_Honoree', $params)) {
$individualPrefix = CRM_Core_PseudoConstant::individualPrefix();
$honor = CRM_Core_PseudoConstant::honor();
$params['honor_prefix'] = CRM_Utils_Array::value($params['honor_prefix_id'], $individualPrefix);
$params["honor_type"] = CRM_Utils_Array::value($params["honor_type_id"], $honor);
}
// retrieve premium product name and assigned fulfilled
// date to template
if (CRM_Utils_Array::value('hidden_Premium', $params)) {
if (CRM_Utils_Array::value($params['product_name'][0], $form->_options)) {
$params['product_option'] = $form->_options[$params['product_name'][0]][$params['product_name'][1]];
}
//fix for crm-4584
if (!empty($params['product_name'])) {
require_once 'CRM/Contribute/DAO/Product.php';
$productDAO = new CRM_Contribute_DAO_Product();
$productDAO->id = $params['product_name'][0];
$productDAO->find(true);
$params['product_name'] = $productDAO->name;
$params['product_sku'] = $productDAO->sku;
}
$this->assign('fulfilled_date', CRM_Utils_Date::processDate($params['fulfilled_date']));
}
$this->assign('ccContribution', $ccContribution);
if ($ccContribution) {
//build the name.
$name = CRM_Utils_Array::value('billing_first_name', $params);
if (CRM_Utils_Array::value('billing_middle_name', $params)) {
$name .= " {$params['billing_middle_name']}";
}
$name .= ' ' . CRM_Utils_Array::value('billing_last_name', $params);
$name = trim($name);
$this->assign('billingName', $name);
//assign the address formatted up for display
$addressParts = array("street_address" => "billing_street_address-{$form->_bltID}", "city" => "billing_city-{$form->_bltID}", "postal_code" => "billing_postal_code-{$form->_bltID}", "state_province" => "state_province-{$form->_bltID}", "country" => "country-{$form->_bltID}");
$addressFields = array();
foreach ($addressParts as $name => $field) {
$addressFields[$name] = CRM_Utils_Array::value($field, $params);
}
require_once 'CRM/Utils/Address.php';
$this->assign('address', CRM_Utils_Address::format($addressFields));
$date = CRM_Utils_Date::format($params['credit_card_exp_date']);
$date = CRM_Utils_Date::mysqlToIso($date);
$this->assign('credit_card_type', CRM_Utils_Array::value('credit_card_type', $params));
$this->assign('credit_card_exp_date', $date);
$this->assign('credit_card_number', CRM_Utils_System::mungeCreditCard($params['credit_card_number']));
} else {
//offline contribution
//Retrieve the name and email from receipt is to be send
$params['receipt_from_name'] = $form->userDisplayName;
$params['receipt_from_email'] = $form->userEmail;
// assigned various dates to the templates
$form->assign('receipt_date', CRM_Utils_Date::processDate($params['receipt_date']));
$form->assign('cancel_date', CRM_Utils_Date::processDate($params['cancel_date']));
if (CRM_Utils_Array::value('thankyou_date', $params)) {
$form->assign('thankyou_date', CRM_Utils_Date::processDate($params['thankyou_date']));
}
if ($form->_action & CRM_Core_Action::UPDATE) {
$form->assign('lineItem', empty($form->_lineItems) ? false : $form->_lineItems);
}
}
//handle custom data
if (CRM_Utils_Array::value('hidden_custom', $params)) {
$contribParams = array(array('contribution_id', '=', $params['contribution_id'], 0, 0));
if ($form->_mode == 'test') {
$contribParams[] = array('contribution_test', '=', 1, 0, 0);
}
//retrieve custom data
require_once "CRM/Core/BAO/UFGroup.php";
$customGroup = array();
foreach ($form->_groupTree as $groupID => $group) {
$customFields = $customValues = array();
if ($groupID == 'info') {
continue;
}
foreach ($group['fields'] as $k => $field) {
$field['title'] = $field['label'];
$customFields["custom_{$k}"] = $field;
}
//build the array of customgroup contain customfields.
//.........这里部分代码省略.........
示例14: buildProfile
/**
* Function to build profile form
*
* @params object $form form object
* @params array $field array field properties
* @params int $mode profile mode
* @params int $contactID contact id
*
* @return null
* @static
* @access public
*/
static function buildProfile(&$form, &$field, $mode, $contactId = NULL, $online = FALSE, $onBehalf = FALSE, $rowNumber = NULL, $prefix = '')
{
$defaultValues = array();
$fieldName = $field['name'];
$title = $field['title'];
$attributes = $field['attributes'];
$rule = $field['rule'];
$view = $field['is_view'];
$required = $mode == CRM_Profile_Form::MODE_SEARCH ? FALSE : $field['is_required'];
$search = $mode == CRM_Profile_Form::MODE_SEARCH ? TRUE : FALSE;
$isShared = CRM_Utils_Array::value('is_shared', $field, 0);
// do not display view fields in drupal registration form
// CRM-4632
if ($view && $mode == CRM_Profile_Form::MODE_REGISTER) {
return;
}
if ($onBehalf) {
$name = "onbehalf[{$fieldName}]";
} elseif ($contactId && !$online) {
$name = "field[{$contactId}][{$fieldName}]";
} elseif ($rowNumber) {
$name = "field[{$rowNumber}][{$fieldName}]";
} elseif (!empty($prefix)) {
$name = $prefix . "[{$fieldName}]";
} else {
$name = $fieldName;
}
if ($fieldName == 'image_URL' && $mode == CRM_Profile_Form::MODE_EDIT) {
$deleteExtra = ts('Are you sure you want to delete contact image.');
$deleteURL = array(CRM_Core_Action::DELETE => array('name' => ts('Delete Contact Image'), 'url' => 'civicrm/contact/image', 'qs' => 'reset=1&id=%%id%%&gid=%%gid%%&action=delete', 'extra' => 'onclick = "if (confirm( \'' . $deleteExtra . '\' ) ) this.href+=\'&confirmed=1\'; else return false;"'));
$deleteURL = CRM_Core_Action::formLink($deleteURL, CRM_Core_Action::DELETE, array('id' => $form->get('id'), 'gid' => $form->get('gid')));
$form->assign('deleteURL', $deleteURL);
}
$addressOptions = CRM_Core_BAO_Setting::valueOptions(CRM_Core_BAO_Setting::SYSTEM_PREFERENCES_NAME, 'address_options', TRUE, NULL, TRUE);
if (substr($fieldName, 0, 14) === 'state_province') {
$form->add('select', $name, $title, array('' => ts('- select -')) + CRM_Core_PseudoConstant::stateProvince(), $required);
} elseif (substr($fieldName, 0, 7) === 'country') {
$form->add('select', $name, $title, array('' => ts('- select -')) + CRM_Core_PseudoConstant::country(), $required);
$config = CRM_Core_Config::singleton();
if (!in_array($mode, array(CRM_Profile_Form::MODE_EDIT, CRM_Profile_Form::MODE_SEARCH)) && $config->defaultContactCountry) {
$defaultValues[$name] = $config->defaultContactCountry;
$form->setDefaults($defaultValues);
}
} elseif (substr($fieldName, 0, 6) === 'county') {
if ($addressOptions['county']) {
$form->add('select', $name, $title, array('' => ts('- select state -')), $required);
}
} elseif (substr($fieldName, 0, 9) === 'image_URL') {
$form->add('file', $name, $title, $attributes, $required);
$form->addUploadElement($name);
} elseif (substr($fieldName, 0, 2) === 'im') {
$form->add('text', $name, $title, $attributes, $required);
if (!$contactId) {
if ($onBehalf) {
if (substr($name, -1) == ']') {
$providerName = substr($name, 0, -1) . '-provider_id]';
}
$form->add('select', $providerName, NULL, array('' => ts('- select -')) + CRM_Core_PseudoConstant::IMProvider(), $required);
} else {
$form->add('select', $name . '-provider_id', $title, array('' => ts('- select -')) + CRM_Core_PseudoConstant::IMProvider(), $required);
}
if ($view && $mode != CRM_Profile_Form::MODE_SEARCH) {
$form->freeze($name . '-provider_id');
}
}
} elseif ($fieldName === 'birth_date' || $fieldName === 'deceased_date') {
$form->addDate($name, $title, $required, array('formatType' => 'birth'));
} elseif (in_array($fieldName, array('membership_start_date', 'membership_end_date', 'join_date'))) {
$form->addDate($name, $title, $required, array('formatType' => 'custom'));
} elseif ($field['name'] == 'membership_type') {
list($orgInfo, $types) = CRM_Member_BAO_MembershipType::getMembershipTypeInfo();
$sel =& $form->addElement('hierselect', $name, $title);
$select = array('' => ts('- select -'));
$sel->setOptions(array($select + $orgInfo, $types));
} elseif ($field['name'] == 'membership_status') {
$form->add('select', $name, $title, array('' => ts('- select -')) + CRM_Member_PseudoConstant::membershipStatus(NULL, NULL, 'label'), $required);
} elseif ($fieldName === 'gender') {
$genderOptions = array();
$gender = CRM_Core_PseudoConstant::gender();
foreach ($gender as $key => $var) {
$genderOptions[$key] = $form->createElement('radio', NULL, ts('Gender'), $var, $key);
}
$form->addGroup($genderOptions, $name, $title);
if ($required) {
$form->addRule($name, ts('%1 is a required field.', array(1 => $title)), 'required');
}
} elseif ($fieldName === 'individual_prefix') {
$form->add('select', $name, $title, array('' => ts('- select -')) + CRM_Core_PseudoConstant::individualPrefix(), $required);
//.........这里部分代码省略.........
示例15: buildHonorBlock
/**
* Function to add the honor block
*
* @return None
* @access public
*/
function buildHonorBlock()
{
$this->assign('honor_block_is_active', TRUE);
$this->set('honor_block_is_active', TRUE);
$this->assign('honor_block_title', CRM_Utils_Array::value('honor_block_title', $this->_values));
$this->assign('honor_block_text', CRM_Utils_Array::value('honor_block_text', $this->_values));
$attributes = CRM_Core_DAO::getAttribute('CRM_Contact_DAO_Contact');
$extraOption = array('onclick' => "enableHonorType();");
// radio button for Honor Type
$honorOptions = array();
$honor = CRM_Core_PseudoConstant::honor();
foreach ($honor as $key => $var) {
$honorTypes[$key] = $this->createElement('radio', NULL, NULL, $var, $key, $extraOption);
}
$this->addGroup($honorTypes, 'honor_type_id', NULL);
// prefix
$this->addElement('select', 'honor_prefix_id', ts('Prefix'), array('' => ts('- prefix -')) + CRM_Core_PseudoConstant::individualPrefix());
// first_name
$this->addElement('text', 'honor_first_name', ts('First Name'), $attributes['first_name']);
//last_name
$this->addElement('text', 'honor_last_name', ts('Last Name'), $attributes['last_name']);
//email
$this->addElement('text', 'honor_email', ts('Email Address'));
$this->addRule('honor_email', ts('Honoree Email is not valid.'), 'email');
}