本文整理汇总了PHP中CRM_Core_PseudoConstant::locationType方法的典型用法代码示例。如果您正苦于以下问题:PHP CRM_Core_PseudoConstant::locationType方法的具体用法?PHP CRM_Core_PseudoConstant::locationType怎么用?PHP CRM_Core_PseudoConstant::locationType使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CRM_Core_PseudoConstant
的用法示例。
在下文中一共展示了CRM_Core_PseudoConstant::locationType方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: buildQuickForm
/**
* build the form elements for a phone object
*
* @param CRM_Core_Form $form reference to the form object
* @param int $addressBlockCount block number to build
* @param boolean $blockEdit is it block edit
*
* @return void
* @access public
* @static
*/
static function buildQuickForm(&$form, $addressBlockCount = NULL, $blockEdit = FALSE)
{
// passing this via the session is AWFUL. we need to fix this
if (!$addressBlockCount) {
$blockId = $form->get('Phone_Block_Count') ? $form->get('Phone_Block_Count') : 1;
} else {
$blockId = $addressBlockCount;
}
$form->applyFilter('__ALL__', 'trim');
//phone type select
$form->addElement('select', "phone[{$blockId}][phone_type_id]", ts('Phone'), CRM_Core_PseudoConstant::phoneType());
//main phone number with crm_phone class
$form->addElement('text', "phone[{$blockId}][phone]", ts('Phone'), array_merge(CRM_Core_DAO::getAttribute('CRM_Core_DAO_Phone', 'phone'), array('class' => 'crm_phone twelve')));
// phone extension
$form->addElement('text', "phone[{$blockId}][phone_ext]", ts('Extension'), CRM_Core_DAO::getAttribute('CRM_Core_DAO_Phone', 'phone_ext'));
if (isset($form->_contactType) || $blockEdit) {
//Block type select
$form->addElement('select', "phone[{$blockId}][location_type_id]", '', CRM_Core_PseudoConstant::locationType());
//is_Primary radio
$js = array('id' => 'Phone_' . $blockId . '_IsPrimary', 'onClick' => 'singleSelect( this.id );');
$form->addElement('radio', "phone[{$blockId}][is_primary]", '', '', '1', $js);
}
// TODO: set this up as a group, we need a valid phone_type_id if we have a phone number
// $form->addRule( "location[$locationId][phone][$locationId][phone]", ts('Phone number is not valid.'), 'phone' );
}
示例2: buildQuickForm
/**
* build the form elements for an email object
*
* @param CRM_Core_Form $form reference to the form object
* @param array $location the location object to store all the form elements in
* @param int $locationId the locationId we are dealing with
* @param int $count the number of blocks to create
*
* @return void
* @access public
* @static
*/
static function buildQuickForm(&$form, $addressBlockCount = null)
{
// passing this via the session is AWFUL. we need to fix this
if (!$addressBlockCount) {
$blockId = $form->get('Email_Block_Count') ? $form->get('Email_Block_Count') : 1;
} else {
$blockId = $addressBlockCount;
}
$form->applyFilter('__ALL__', 'trim');
//Email box
$form->addElement('text', "email[{$blockId}][email]", ts('Email'), CRM_Core_DAO::getAttribute('CRM_Core_DAO_Email', 'email'));
$form->addRule("email[{$blockId}][email]", ts('Email is not valid.'), 'email');
if (isset($form->_contactType)) {
//Block type
$form->addElement('select', "email[{$blockId}][location_type_id]", '', CRM_Core_PseudoConstant::locationType());
//On-hold checkbox
$form->addElement('advcheckbox', "email[{$blockId}][on_hold]", null);
//Bulkmail checkbox
$js = array('id' => "Email_" . $blockId . "_IsBulkmail", 'onClick' => 'singleSelect( this.id );');
$form->addElement('advcheckbox', "email[{$blockId}][is_bulkmail]", null, '', $js);
//is_Primary radio
$js = array('id' => "Email_" . $blockId . "_IsPrimary", 'onClick' => 'singleSelect( this.id );');
$form->addElement('radio', "email[{$blockId}][is_primary]", '', '', '1', $js);
if (CRM_Utils_System::getClassName($form) == 'CRM_Contact_Form_Contact') {
$form->add('textarea', "email[{$blockId}][signature_text]", ts('Signature (Text)'), array('rows' => 2, 'cols' => 40));
$form->addWysiwyg("email[{$blockId}][signature_html]", ts('Signature (HTML)'), array('rows' => 2, 'cols' => 40));
}
}
}
示例3: buildQuickForm
/**
* build form for address input fields
*
* @param object $form - CRM_Core_Form (or subclass)
* @param array reference $location - location array
* @param int $locationId - location id whose block needs to be built.
* @return none
*
* @access public
* @static
*/
static function buildQuickForm(&$form)
{
$blockId = $form->get('Address_Block_Count') ? $form->get('Address_Block_Count') : 1;
$config =& CRM_Core_Config::singleton();
$countryDefault = $config->defaultContactCountry;
$form->applyFilter('__ALL__', 'trim');
$js = array('onChange' => 'checkLocation( this.id );');
$form->addElement('select', "address[{$blockId}][location_type_id]", ts('Location Type'), array('' => ts('- select -')) + CRM_Core_PseudoConstant::locationType(), $js);
$js = array('id' => "Address_" . $blockId . "_IsPrimary", 'onClick' => 'singleSelect( this.id );');
$form->addElement('checkbox', "address[{$blockId}][is_primary]", ts('Primary location for this contact'), ts('Primary location for this contact'), $js);
$js = array('id' => "Address_" . $blockId . "_IsBilling", 'onClick' => 'singleSelect( this.id );');
$form->addElement('checkbox', "address[{$blockId}][is_billing]", ts('Billing location for this contact'), ts('Billing location for this contact'), $js);
require_once 'CRM/Core/BAO/Preferences.php';
$addressOptions = CRM_Core_BAO_Preferences::valueOptions('address_options', true, null, true);
$attributes = CRM_Core_DAO::getAttribute('CRM_Core_DAO_Address');
$elements = array('address_name' => array(ts('Address Name'), $attributes['address_name'], null), 'street_address' => array(ts('Street Address'), $attributes['street_address'], null), 'supplemental_address_1' => array(ts('Addt\'l Address 1'), $attributes['supplemental_address_1'], null), 'supplemental_address_2' => array(ts('Addt\'l Address 2'), $attributes['supplemental_address_2'], null), 'city' => array(ts('City'), $attributes['city'], null), 'postal_code' => array(ts('Zip / Postal Code'), $attributes['postal_code'], null), 'postal_code_suffix' => array(ts('Postal Code Suffix'), array('size' => 4, 'maxlength' => 12), null), 'county_id' => array(ts('County'), $attributes['county_id'], 'county'), 'state_province_id' => array(ts('State / Province'), $attributes['state_province_id'], null), 'country_id' => array(ts('Country'), $attributes['country_id'], null), 'geo_code_1' => array(ts('Latitude'), array('size' => 9, 'maxlength' => 10), null), 'geo_code_2' => array(ts('Longitude'), array('size' => 9, 'maxlength' => 10), null));
$stateCountryMap = array();
foreach ($elements as $name => $v) {
list($title, $attributes, $select) = $v;
$nameWithoutID = strpos($name, '_id') !== false ? substr($name, 0, -3) : $name;
if (!CRM_Utils_Array::value($nameWithoutID, $addressOptions)) {
continue;
}
if (!$attributes) {
$attributes = $attributes[$name];
}
//build normal select if country is not present in address block
if ($name == 'state_province_id' && !$addressOptions['country']) {
$select = 'stateProvince';
}
if (!$select) {
if ($name == 'country_id' || $name == 'state_province_id') {
if ($name == 'country_id') {
$stateCountryMap[$blockId]['country'] = "address_{$blockId}_{$name}";
$selectOptions = array('' => ts('- select -')) + CRM_Core_PseudoConstant::country();
} else {
$stateCountryMap[$blockId]['state_province'] = "address_{$blockId}_{$name}";
if ($countryDefault) {
$selectOptions = array('' => ts('- select -')) + CRM_Core_PseudoConstant::stateProvinceForCountry($countryDefault);
} else {
$selectOptions = array('' => ts('- select a country -'));
}
}
$form->addElement('select', "address[{$blockId}][{$name}]", $title, $selectOptions);
} else {
if ($name == 'address_name') {
$name = "name";
}
$form->addElement('text', "address[{$blockId}][{$name}]", $title, $attributes);
}
} else {
$form->addElement('select', "address[{$blockId}][{$name}]", $title, array('' => ts('- select -')) + CRM_Core_PseudoConstant::$select());
}
}
require_once 'CRM/Core/BAO/Address.php';
CRM_Core_BAO_Address::addStateCountryMap($stateCountryMap);
}
示例4: buildQuickForm
/**
* build the form elements for an IM object
*
* @param CRM_Core_Form $form reference to the form object
* @param array $location the location object to store all the form elements in
* @param int $locationId the locationId we are dealing with
* @param int $count the number of blocks to create
*
* @return void
* @access public
* @static
*/
static function buildQuickForm(&$form)
{
$blockId = $form->get('IM_Block_Count') ? $form->get('IM_Block_Count') : 1;
$form->applyFilter('__ALL__', 'trim');
//IM provider select
$form->addElement('select', "im[{$blockId}][provider_id]", '', CRM_Core_PseudoConstant::IMProvider());
//Block type select
$form->addElement('select', "im[{$blockId}][location_type_id]", '', CRM_Core_PseudoConstant::locationType());
//IM box
$form->addElement('text', "im[{$blockId}][name]", ts('Instant Messenger'), CRM_Core_DAO::getAttribute('CRM_Core_DAO_IM', 'name'));
//is_Primary radio
$js = array('id' => "IM_" . $blockId . "_IsPrimary", 'onClick' => 'singleSelect( this.id );');
$form->addElement('radio', "im[{$blockId}][is_primary]", '', '', '1', $js);
}
示例5: array
/**
* function to build location block
*
* @param object $form the object of the form (QF Object)
* @param int $maxLocationBlocks no of location blocks
*
* @static
* @access public
*/
function &buildLocationBlock(&$form, $maxLocationBlocks)
{
$location = array();
for ($locationId = 1; $locationId <= $maxLocationBlocks; $locationId++) {
$location[$locationId]['location_type_id'] = $form->addElement('select', "location[{$locationId}][location_type_id]", null, CRM_Core_PseudoConstant::locationType());
$location[$locationId]['is_primary'] = $form->addElement('checkbox', "location[{$locationId}][is_primary]", ts('Primary location for this contact'), ts('Primary location for this contact'), array('onchange' => "location_is_primary_onclick('" . $form->getName() . "', {$locationId}, {$maxLocationBlocks});"));
$location[$locationId]['name'] = $form->addElement('text', "location[{$locationId}][name]", ts('Location Name'), CRM_Core_PseudoConstant::locationType());
CRM_Contact_Form_Address::buildAddressBlock($form, $location, $locationId);
CRM_Contact_Form_Phone::buildPhoneBlock($form, $location, $locationId, CRM_CONTACT_FORM_LOCATION_BLOCKS);
CRM_Contact_Form_Email::buildEmailBlock($form, $location, $locationId, CRM_CONTACT_FORM_LOCATION_BLOCKS);
CRM_Contact_Form_IM::buildIMBlock($form, $location, $locationId, CRM_CONTACT_FORM_LOCATION_BLOCKS);
CRM_Core_ShowHideBlocks::linksForArray($form, $locationId, $maxLocationBlocks, "location", '', '');
}
return $location;
}
示例6: buildQuickForm
/**
* build the form elements for an email object
*
* @param CRM_Core_Form $form reference to the form object
* @param int $addressBlockCount block number to build
* @param boolean $blockEdit is it block edit
*
* @return void
* @access public
* @static
*/
static function buildQuickForm(&$form, $addressBlockCount = NULL, $blockEdit = FALSE)
{
// passing this via the session is AWFUL. we need to fix this
if (!$addressBlockCount) {
$blockId = $form->get('Email_Block_Count') ? $form->get('Email_Block_Count') : 1;
} else {
$blockId = $addressBlockCount;
}
$form->applyFilter('__ALL__', 'trim');
//Email box
$form->addElement('text', "email[{$blockId}][email]", ts('Email'), CRM_Core_DAO::getAttribute('CRM_Core_DAO_Email', 'email'));
$form->addRule("email[{$blockId}][email]", ts('Email is not valid.'), 'email');
if (isset($form->_contactType) || $blockEdit) {
//Block type
$form->addElement('select', "email[{$blockId}][location_type_id]", '', CRM_Core_PseudoConstant::locationType());
$multipleBulk = CRM_Core_BAO_Email::isMultipleBulkMail();
//On-hold select
if ($multipleBulk) {
$holdOptions = array(0 => ts('- select -'), 1 => ts('On Hold Bounce'), 2 => ts('On Hold Opt Out'));
$form->addElement('select', "email[{$blockId}][on_hold]", '', $holdOptions);
} else {
$form->addElement('advcheckbox', "email[{$blockId}][on_hold]", NULL);
}
//Bulkmail checkbox
$form->assign('multipleBulk', $multipleBulk);
if ($multipleBulk) {
$js = array('id' => "Email_" . $blockId . "_IsBulkmail");
$form->addElement('advcheckbox', "email[{$blockId}][is_bulkmail]", NULL, '', $js);
} else {
$js = array('id' => "Email_" . $blockId . "_IsBulkmail");
if (!$blockEdit) {
$js['onClick'] = 'singleSelect( this.id );';
}
$form->addElement('radio', "email[{$blockId}][is_bulkmail]", '', '', '1', $js);
}
//is_Primary radio
$js = array('id' => "Email_" . $blockId . "_IsPrimary");
if (!$blockEdit) {
$js['onClick'] = 'singleSelect( this.id );';
}
$form->addElement('radio', "email[{$blockId}][is_primary]", '', '', '1', $js);
if (CRM_Utils_System::getClassName($form) == 'CRM_Contact_Form_Contact') {
$form->add('textarea', "email[{$blockId}][signature_text]", ts('Signature (Text)'), array('rows' => 2, 'cols' => 40));
$form->addWysiwyg("email[{$blockId}][signature_html]", ts('Signature (HTML)'), array('rows' => 2, 'cols' => 40));
}
}
}
示例7: buildQuickForm
/**
* build the form elements for an open id object
*
* @param CRM_Core_Form $form reference to the form object
* @param array $location the location object to store all the form elements in
* @param int $locationId the locationId we are dealing with
* @param int $count the number of blocks to create
*
* @return void
* @access public
* @static
*/
static function buildQuickForm(&$form)
{
$blockId = $form->get('OpenID_Block_Count') ? $form->get('OpenID_Block_Count') : 1;
$form->applyFilter('__ALL__', 'trim');
$form->addElement('text', "openid[{$blockId}][openid]", ts('OpenID'), CRM_Core_DAO::getAttribute('CRM_Core_DAO_OpenID', 'openid'));
$form->addRule("openid[{$blockId}][openid]", ts('OpenID is not a valid URL.'), 'url');
//Block type
$form->addElement('select', "openid[{$blockId}][location_type_id]", '', CRM_Core_PseudoConstant::locationType());
$config = CRM_Core_Config::singleton();
if ($config->userFramework == 'Standalone') {
$js = array('id' => "OpenID_" . $blockId . "_IsLogin", 'onClick' => 'singleSelect( this.id );');
$form->addElement('advcheckbox', "openid[{$blockId}][allowed_to_login]", null, '', $js);
}
//is_Primary radio
$js = array('id' => "OpenID_" . $blockId . "_IsPrimary", 'onClick' => 'singleSelect( this.id );');
$form->addElement('radio', "openid[{$blockId}][is_primary]", '', '', '1', $js);
}
示例8: preProcess
public function preProcess()
{
$this->_action = CRM_Utils_Request::retrieve('action', 'String', $this, FALSE);
$this->_mode = 'live';
$this->loadCart();
$this->checkWaitingList();
$locationTypes = CRM_Core_PseudoConstant::locationType();
$this->_bltID = array_search('Billing', $locationTypes);
$this->assign('bltID', $this->_bltID);
$event_titles = array();
foreach ($this->cart->get_main_events_in_carts() as $event_in_cart) {
$event_titles[] = $event_in_cart->event->title;
}
$this->description = ts("Online Registration for %1", array(1 => implode(", ", $event_titles)));
if (!isset($this->discounts)) {
$this->discounts = array();
}
}
示例9: buildQuickForm
/**
* build the form elements for a phone object
*
* @param CRM_Core_Form $form reference to the form object
* @param array $location the location object to store all the form elements in
* @param int $locationId the locationId we are dealing with
* @param int $count the number of blocks to create
*
* @return void
* @access public
* @static
*/
static function buildQuickForm(&$form)
{
$blockId = $form->get('Phone_Block_Count') ? $form->get('Phone_Block_Count') : 1;
$form->applyFilter('__ALL__', 'trim');
//phone type select
$form->addElement('select', "phone[{$blockId}][phone_type_id]", ts('Phone'), CRM_Core_PseudoConstant::phoneType());
//phone box
$form->addElement('text', "phone[{$blockId}][phone]", ts('Phone'), CRM_Core_DAO::getAttribute('CRM_Core_DAO_Phone', 'phone'));
if (isset($form->_contactType)) {
//Block type select
$form->addElement('select', "phone[{$blockId}][location_type_id]", '', CRM_Core_PseudoConstant::locationType());
//is_Primary radio
$js = array('id' => "Phone_" . $blockId . "_IsPrimary", 'onClick' => 'singleSelect( this.id );');
$form->addElement('radio', "phone[{$blockId}][is_primary]", '', '', '1', $js);
}
// TODO: set this up as a group, we need a valid phone_type_id if we have a phone number
// $form->addRule( "location[$locationId][phone][$locationId][phone]", ts('Phone number is not valid.'), 'phone' );
}
示例10: buildQuickForm
/**
* build the form elements for an email object
*
* @param CRM_Core_Form $form reference to the form object
* @param array $location the location object to store all the form elements in
* @param int $locationId the locationId we are dealing with
* @param int $count the number of blocks to create
*
* @return void
* @access public
* @static
*/
static function buildQuickForm(&$form)
{
$blockId = $form->get('Email_Block_Count') ? $form->get('Email_Block_Count') : 1;
$form->applyFilter('__ALL__', 'trim');
//Email box
$form->addElement('text', "email[{$blockId}][email]", ts('Email'), CRM_Core_DAO::getAttribute('CRM_Core_DAO_Email', 'email'));
$form->addRule("email[{$blockId}][email]", ts('Email is not valid.'), 'email');
if (isset($form->_contactType)) {
//Block type
$form->addElement('select', "email[{$blockId}][location_type_id]", '', CRM_Core_PseudoConstant::locationType());
//On-hold checkbox
$form->addElement('advcheckbox', "email[{$blockId}][on_hold]", null);
//Bulkmail checkbox
$js = array('id' => "Email_" . $blockId . "_IsBulkmail", 'onClick' => 'singleSelect( this.id );');
$form->addElement('advcheckbox', "email[{$blockId}][is_bulkmail]", null, '', $js);
//is_Primary radio
$js = array('id' => "Email_" . $blockId . "_IsPrimary", 'onClick' => 'singleSelect( this.id );');
$form->addElement('radio', "email[{$blockId}][is_primary]", '', '', '1', $js);
}
}
示例11: getValues
/**
* Given a contact id and a field set, return the values from the db
* for this contact
*
* @param int $id the contact id
* @param array $fields the profile fields of interest
* @param array $values the values for the above fields
* @param boolean $searchable searchable or not
* @param array $componentWhere component condition
*
* @return void
* @access public
* @static
*/
public static function getValues($cid, &$fields, &$values, $searchable = true, $componentWhere = null)
{
if (empty($cid)) {
return null;
}
$options = array();
$studentFields = array();
if (CRM_Core_Permission::access('Quest', false)) {
//student fields ( check box )
require_once 'CRM/Quest/BAO/Student.php';
$studentFields = CRM_Quest_BAO_Student::$multipleSelectFields;
}
// get the contact details (hier)
$returnProperties =& CRM_Contact_BAO_Contact::makeHierReturnProperties($fields);
$params = array(array('contact_id', '=', $cid, 0, 0));
// add conditions specified by components. eg partcipant_id etc
if (!empty($componentWhere)) {
$params = array_merge($params, $componentWhere);
}
$query =& new CRM_Contact_BAO_Query($params, $returnProperties, $fields);
$options =& $query->_options;
$details = $query->searchQuery();
if (!$details->fetch()) {
return;
}
$config =& CRM_Core_Config::singleton();
require_once 'CRM/Core/PseudoConstant.php';
$locationTypes = $imProviders = array();
$locationTypes = CRM_Core_PseudoConstant::locationType();
$imProviders = CRM_Core_PseudoConstant::IMProvider();
//start of code to set the default values
foreach ($fields as $name => $field) {
// fix for CRM-3962
if ($name == 'id') {
$name = 'contact_id';
}
$index = $field['title'];
$params[$index] = $values[$index] = '';
$customFieldName = null;
$elements = array('email_greeting_custom' => 'email_greeting', 'postal_greeting_custom' => 'postal_greeting', 'addressee_custom' => 'addressee');
if (isset($details->{$name}) || $name == 'group' || $name == 'tag') {
//hack for CRM-665
// to handle gender / suffix / prefix
if (in_array($name, array('gender', 'individual_prefix', 'individual_suffix'))) {
$values[$index] = $details->{$name};
$name = $name . '_id';
$params[$index] = $details->{$name};
} else {
if (in_array($name, array('email_greeting', 'postal_greeting', 'addressee'))) {
$dname = $name . '_display';
$values[$index] = $details->{$dname};
$name = $name . '_id';
$params[$index] = $details->{$name};
} else {
if (in_array($name, array('state_province', 'country', 'county'))) {
$values[$index] = $details->{$name};
$idx = $name . '_id';
$params[$index] = $details->{$idx};
} else {
if ($name === 'preferred_communication_method') {
$communicationFields = CRM_Core_PseudoConstant::pcm();
$pref = array();
$compref = array();
$pref = explode(CRM_Core_BAO_CustomOption::VALUE_SEPERATOR, $details->{$name});
foreach ($pref as $k) {
if ($k) {
$compref[] = $communicationFields[$k];
}
}
$params[$index] = $details->{$name};
$values[$index] = implode(",", $compref);
} else {
if ($name == 'group') {
$groups = CRM_Contact_BAO_GroupContact::getContactGroup($cid, 'Added', null, false, true);
$title = array();
$ids = array();
foreach ($groups as $g) {
if ($g['visibility'] != 'User and User Admin Only') {
$title[] = $g['title'];
if ($g['visibility'] == 'Public Pages') {
$ids[] = $g['group_id'];
}
}
}
$values[$index] = implode(', ', $title);
$params[$index] = implode(',', $ids);
//.........这里部分代码省略.........
示例12: preProcess
public function preProcess()
{
//custom data related code
$this->_cdType = CRM_Utils_Array::value('type', $_GET);
$this->assign('cdType', FALSE);
if ($this->_cdType) {
$this->assign('cdType', TRUE);
return CRM_Custom_Form_CustomData::preProcess($this);
}
// get price set id.
$this->_priceSetId = CRM_Utils_Array::value('priceSetId', $_GET);
$this->set('priceSetId', $this->_priceSetId);
$this->assign('priceSetId', $this->_priceSetId);
// action
$this->_action = CRM_Utils_Request::retrieve('action', 'String', $this, FALSE, 'add');
$this->_id = CRM_Utils_Request::retrieve('id', 'Positive', $this);
$this->_contactID = CRM_Utils_Request::retrieve('cid', 'Positive', $this);
$this->_processors = array();
// check for edit permission
if (!CRM_Core_Permission::checkActionPermission('CiviMember', $this->_action)) {
CRM_Core_Error::fatal(ts('You do not have permission to access this page'));
}
$this->_context = CRM_Utils_Request::retrieve('context', 'String', $this);
$this->assign('context', $this->_context);
if ($this->_id) {
$this->_memType = CRM_Core_DAO::getFieldValue("CRM_Member_DAO_Membership", $this->_id, "membership_type_id");
$this->_membershipIDs[] = $this->_id;
}
$this->_mode = CRM_Utils_Request::retrieve('mode', 'String', $this);
$this->assign('membershipMode', $this->_mode);
if ($this->_mode) {
$this->_paymentProcessor = array('billing_mode' => 1);
$validProcessors = array();
$processors = CRM_Core_PseudoConstant::paymentProcessor(FALSE, FALSE, "billing_mode IN ( 1, 3 )");
foreach ($processors as $ppID => $label) {
$paymentProcessor = CRM_Core_BAO_PaymentProcessor::getPayment($ppID, $this->_mode);
if ($paymentProcessor['payment_processor_type'] == 'PayPal' && !$paymentProcessor['user_name']) {
continue;
} elseif ($paymentProcessor['payment_processor_type'] == 'Dummy' && $this->_mode == 'live') {
continue;
} else {
$paymentObject = CRM_Core_Payment::singleton($this->_mode, $paymentProcessor, $this);
$error = $paymentObject->checkConfig();
if (empty($error)) {
$validProcessors[$ppID] = $label;
}
$paymentObject = NULL;
}
}
if (empty($validProcessors)) {
CRM_Core_Error::fatal(ts('Could not find valid payment processor for this page'));
} else {
$this->_processors = $validProcessors;
}
// also check for billing information
// get the billing location type
$locationTypes = CRM_Core_PseudoConstant::locationType();
// CRM-8108 remove ts around Billing location type
//$this->_bltID = array_search( ts('Billing'), $locationTypes );
$this->_bltID = array_search('Billing', $locationTypes);
if (!$this->_bltID) {
CRM_Core_Error::fatal(ts('Please set a location type of %1', array(1 => 'Billing')));
}
$this->set('bltID', $this->_bltID);
$this->assign('bltID', $this->_bltID);
$this->_fields = array();
CRM_Core_Payment_Form::setCreditCardFields($this);
// this required to show billing block
$this->assign_by_ref('paymentProcessor', $paymentProcessor);
$this->assign('hidePayPalExpress', TRUE);
}
if ($this->_action & CRM_Core_Action::ADD) {
//check whether any active membership statuses are available - redirects back to contact summary if not
CRM_Member_BAO_Membership::statusAvilability($this->_contactID);
if ($this->_contactID) {
//check whether contact has a current membership so we can alert user that they may want to do a renewal instead
$hasMembership = CRM_Member_BAO_Membership::getContactMembership($this->_contactID, NULL, 0);
if (!empty($hasMembership)) {
$hasMembership['membership_type'] = CRM_Core_DAO::getFieldValue('CRM_Member_DAO_MembershipType', $hasMembership['membership_type_id'], 'name', 'id');
$hasMembership['membership_status'] = CRM_Core_DAO::getFieldValue('CRM_Member_DAO_MembershipStatus', $hasMembership['status_id'], 'label', 'id');
$membershipTab = CRM_Utils_System::url('civicrm/contact/view', "reset=1&force=1&cid={$this->_contactID}&selectedChild=member");
if ($this->_mode) {
$renewUrl = CRM_Utils_System::url('civicrm/contact/view/membership', "reset=1&action=renew&cid={$this->_contactID}&id={$hasMembership['id']}&context=membership&selectedChild=member&mode=live");
} else {
$renewUrl = CRM_Utils_System::url('civicrm/contact/view/membership', "reset=1&action=renew&cid={$this->_contactID}&id={$hasMembership['id']}&context=membership&selectedChild=member");
}
if (CRM_Utils_Array::value('membership_end_date', $hasMembership)) {
CRM_Core_Session::setStatus(ts('This contact has an existing %1 membership record with %2 status and end date of %3. <a href="%4">Click here if you want to renew this membership</a> (rather than creating a new membership record). <a href="%5">Click here to view all existing and / or expired memberships for this contact.</a>', array(1 => $hasMembership['membership_type'], 2 => $hasMembership['membership_status'], 3 => CRM_Utils_Date::customformat($hasMembership['membership_end_date']), 4 => $renewUrl, 5 => $membershipTab)));
} else {
CRM_Core_Session::setStatus(ts('This contact has an existing %1 membership record with %2 status. <a href="%3">Click here if you want to renew this membership</a> (rather than creating a new membership record). <a href="%4">Click here to view all existing and / or expired memberships for this contact.</a>', array(1 => $hasMembership['membership_type'], 2 => $hasMembership['membership_status'], 3 => $renewUrl, 4 => $membershipTab)));
}
}
}
}
// when custom data is included in this page
if (CRM_Utils_Array::value("hidden_custom", $_POST)) {
CRM_Custom_Form_CustomData::preProcess($this);
CRM_Custom_Form_CustomData::buildQuickForm($this);
CRM_Custom_Form_CustomData::setDefaultValues($this);
}
//.........这里部分代码省略.........
示例13: buildQuickForm
//.........这里部分代码省略.........
unset($membershipFields['join_date']);
unset($membershipFields['membership_start_date']);
unset($membershipFields['membership_type_id']);
unset($membershipFields['membership_end_date']);
unset($membershipFields['member_is_test']);
unset($membershipFields['is_override']);
unset($membershipFields['status_id']);
unset($membershipFields['member_is_pay_later']);
$fields['Membership'] =& $membershipFields;
}
$noSearchable = array();
foreach ($fields as $key => $value) {
foreach ($value as $key1 => $value1) {
//CRM-2676, replacing the conflict for same custom field name from different custom group.
require_once 'CRM/Core/BAO/CustomField.php';
if ($customFieldId = CRM_Core_BAO_CustomField::getKeyID($key1)) {
$customGroupId = CRM_Core_DAO::getFieldValue('CRM_Core_DAO_CustomField', $customFieldId, 'custom_group_id');
$customGroupName = CRM_Core_DAO::getFieldValue('CRM_Core_DAO_CustomGroup', $customGroupId, 'title');
$this->_mapperFields[$key][$key1] = $value1['title'] . ' :: ' . $customGroupName;
} else {
$this->_mapperFields[$key][$key1] = $value1['title'];
}
$hasLocationTypes[$key][$key1] = CRM_Utils_Array::value('hasLocationType', $value1);
// hide the 'is searchable' field for 'File' custom data
if (isset($value1['data_type']) && isset($value1['html_type']) && ($value1['data_type'] == 'File' && $value1['html_type'] == 'File' || $value1['data_type'] == 'Link' && $value1['html_type'] == 'Link')) {
if (!in_array($value1['title'], $noSearchable)) {
$noSearchable[] = $value1['title'];
}
}
}
}
$this->assign('noSearchable', $noSearchable);
require_once 'CRM/Core/BAO/LocationType.php';
$this->_location_types =& CRM_Core_PseudoConstant::locationType();
$defaultLocationType =& CRM_Core_BAO_LocationType::getDefault();
/* FIXME: dirty hack to make the default option show up first. This
* avoids a mozilla browser bug with defaults on dynamically constructed
* selector widgets. */
if ($defaultLocationType) {
$defaultLocation = $this->_location_types[$defaultLocationType->id];
unset($this->_location_types[$defaultLocationType->id]);
$this->_location_types = array($defaultLocationType->id => $defaultLocation) + $this->_location_types;
}
$this->_location_types = array('Primary') + $this->_location_types;
$contactTypes = !empty($contactTypes) ? array('Contact' => 'Contacts') + $contactTypes : array();
$sel1 = array('' => '- select -') + $contactTypes;
if (CRM_Core_Permission::access('Quest')) {
$sel1['Student'] = 'Students';
}
if (CRM_Core_Permission::access('CiviEvent')) {
$sel1['Participant'] = 'Participants';
}
if (!empty($contribFields)) {
$sel1['Contribution'] = 'Contributions';
}
if (!empty($membershipFields)) {
$sel1['Membership'] = 'Membership';
}
foreach ($sel1 as $key => $sel) {
if ($key) {
$sel2[$key] = $this->_mapperFields[$key];
}
}
$sel3[''] = null;
$phoneTypes = CRM_Core_PseudoConstant::phoneType();
ksort($phoneTypes);
示例14: getBillingID
function getBillingID(&$ids)
{
// get the billing location type
$locationTypes = CRM_Core_PseudoConstant::locationType();
// CRM-8108 remove the ts around the Billing locationtype
//$ids['billing'] = array_search( ts('Billing'), $locationTypes );
$ids['billing'] = array_search('Billing', $locationTypes);
if (!$ids['billing']) {
CRM_Core_Error::debug_log_message(ts('Please set a location type of %1', array(1 => 'Billing')));
echo "Failure: Could not find billing location type<p>";
return FALSE;
}
return TRUE;
}
示例15: locationType
/**
* where / qill clause for location type
*
* @return void
* @access public
*/
function locationType(&$values, $status = NULL)
{
list($name, $op, $value, $grouping, $wildcard) = $values;
if (is_array($value)) {
$this->_where[$grouping][] = 'civicrm_address.location_type_id IN (' . implode(',', array_keys($value)) . ')';
$this->_tables['civicrm_address'] = 1;
$this->_whereTables['civicrm_address'] = 1;
$locationType = CRM_Core_PseudoConstant::locationType();
$names = array();
foreach (array_keys($value) as $id) {
$names[] = $locationType[$id];
}
$this->_primaryLocation = FALSE;
if (!$status) {
$this->_qill[$grouping][] = ts('Location Type') . ' - ' . implode(' ' . ts('or') . ' ', $names);
} else {
return implode(' ' . ts('or') . ' ', $names);
}
}
}