本文整理汇总了PHP中CRM_Core_BAO_UFMatch::isDuplicateUser方法的典型用法代码示例。如果您正苦于以下问题:PHP CRM_Core_BAO_UFMatch::isDuplicateUser方法的具体用法?PHP CRM_Core_BAO_UFMatch::isDuplicateUser怎么用?PHP CRM_Core_BAO_UFMatch::isDuplicateUser使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CRM_Core_BAO_UFMatch
的用法示例。
在下文中一共展示了CRM_Core_BAO_UFMatch::isDuplicateUser方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: formRule
/**
* global form rule
*
* @param array $fields the input form values
* @param array $files the uploaded files if any
* @param array $options additional user data
*
* @return true if no errors, else array of errors
* @access public
* @static
*/
static function formRule(&$fields, &$files, &$self)
{
//To check if the user is already registered for the event(CRM-2426)
self::checkRegistration($fields, $self);
//check for availability of registrations.
if (!$self->_allowConfirmation && !CRM_Utils_Array::value('bypass_payment', $fields) && is_numeric($self->_availableRegistrations) && CRM_Utils_Array::value('additional_participants', $fields) >= $self->_availableRegistrations) {
$errors['additional_participants'] = ts("There is only enough space left on this event for %1 participant(s).", array(1 => $self->_availableRegistrations));
}
// during confirmation don't allow to increase additional participants, CRM-4320
if ($self->_allowConfirmation && CRM_Utils_Array::value('additional_participants', $fields) && is_array($self->_additionalParticipantIds) && $fields['additional_participants'] > count($self->_additionalParticipantIds)) {
$errors['additional_participants'] = ts("Oops. It looks like you are trying to increase the number of additional people you are registering for. You can confirm registration for a maximum of %1 additional people.", array(1 => count($self->_additionalParticipantIds)));
}
//don't allow to register w/ waiting if enough spaces available.
if (CRM_Utils_Array::value('bypass_payment', $fields)) {
if (!is_numeric($self->_availableRegistrations) || CRM_Utils_Array::value('additional_participants', $fields) < $self->_availableRegistrations) {
$errors['bypass_payment'] = ts("Oops. There are enough available spaces in this event. You can not add yourself to the waiting list.");
}
}
$email = $fields["email-{$self->_bltID}"];
require_once 'CRM/Core/BAO/UFMatch.php';
if (CRM_Core_BAO_UFMatch::isDuplicateUser($email)) {
$errors["email-{$self->_bltID}"] = ts('The email %1 already exists in the database.', array(1 => $email));
}
if (CRM_Utils_Array::value('additional_participants', $fields) && !CRM_Utils_Rule::positiveInteger($fields['additional_participants'])) {
$errors['additional_participants'] = ts('Please enter a whole number for Number of additional people.');
}
//check for atleast one pricefields should be selected
if (CRM_Utils_Array::value('priceSetId', $fields)) {
$priceField = new CRM_Price_DAO_Field();
$priceField->price_set_id = $fields['priceSetId'];
$priceField->find();
$check = array();
while ($priceField->fetch()) {
if (!empty($fields["price_{$priceField->id}"])) {
$check[] = $priceField->id;
}
}
if (empty($check)) {
$errors['_qf_default'] = ts("Select at least one option from Event Fee(s).");
}
$lineItem = array();
require_once "CRM/Price/BAO/Set.php";
CRM_Price_BAO_Set::processAmount($self->_values['fee']['fields'], $fields, $lineItem);
if ($fields['amount'] < 0) {
$errors['_qf_default'] = ts("Event Fee(s) can not be less than zero. Please select the options accordingly");
}
}
if ($self->_values['event']['is_monetary']) {
if (is_array($self->_paymentProcessor)) {
$payment =& CRM_Core_Payment::singleton($self->_mode, 'Event', $self->_paymentProcessor, $this);
$error = $payment->checkConfig($self->_mode);
if ($error) {
$errors['_qf_default'] = $error;
}
}
// return if this is express mode
$config =& CRM_Core_Config::singleton();
if ($self->_paymentProcessor['billing_mode'] & CRM_Core_Payment::BILLING_MODE_BUTTON) {
if (CRM_Utils_Array::value($self->_expressButtonName . '_x', $fields) || CRM_Utils_Array::value($self->_expressButtonName . '_y', $fields) || CRM_Utils_Array::value($self->_expressButtonName, $fields)) {
return empty($errors) ? true : $errors;
}
}
$zeroAmount = $fields['amount'];
// also return if paylater mode or zero fees for valid members
if (CRM_Utils_Array::value('is_pay_later', $fields) || CRM_Utils_Array::value('bypass_payment', $fields)) {
if (CRM_Utils_Array::value('priceSetId', $fields)) {
foreach ($fields as $key => $val) {
if (substr($key, 0, 6) == 'price_' && $val != 0) {
return empty($errors) ? true : $errors;
}
}
} else {
return empty($errors) ? true : $errors;
}
} else {
if (CRM_Utils_Array::value('priceSetId', $fields)) {
//here take all value(amount) of optoin value id
$check = array();
foreach ($fields as $key => $val) {
if (substr($key, 0, 6) == 'price_' && $val != 0) {
$htmlType = CRM_Core_DAO::getFieldValue('CRM_Price_BAO_Field', substr($key, 6), 'html_type');
if (is_array($val)) {
//$keys is the id of the option value
foreach ($val as $keys => $vals) {
if (!$keys) {
continue;
}
$check[] = CRM_Core_DAO::getFieldValue('CRM_Core_DAO_OptionValue', $keys, 'name');
}
//.........这里部分代码省略.........
示例2: formRule
/**
* global form rule
*
* @param array $fields the input form values
* @param array $files the uploaded files if any
* @param array $options additional user data
*
* @return true if no errors, else array of errors
* @access public
* @static
*/
static function formRule(&$fields, &$files, &$self)
{
$errors = array();
$amount = self::computeAmount($fields, $self);
$email = $fields["email-{$self->_bltID}"];
require_once 'CRM/Core/BAO/UFMatch.php';
if (CRM_Core_BAO_UFMatch::isDuplicateUser($email)) {
$errors["email-{$self->_bltID}"] = ts('The email %1 already exists in the database.', array(1 => $email));
}
//check for atleast one pricefields should be selected
if (CRM_Utils_Array::value('priceSetId', $fields)) {
$priceField = new CRM_Price_DAO_Field();
$priceField->price_set_id = $fields['priceSetId'];
$priceField->find();
$check = array();
while ($priceField->fetch()) {
if (!empty($fields["price_{$priceField->id}"])) {
$check[] = $priceField->id;
}
}
if (empty($check)) {
$errors['_qf_default'] = ts("Select at least one option from Contribution(s).");
}
require_once 'CRM/Price/BAO/Set.php';
CRM_Price_BAO_Set::processAmount($self->_priceSet['fields'], $fields, $lineItem);
if ($fields['amount'] < 0) {
$errors['_qf_default'] = ts("Contribution can not be less than zero. Please select the options accordingly");
}
$amount = $fields['amount'];
}
if (isset($fields['selectProduct']) && $fields['selectProduct'] != 'no_thanks' && $self->_values['amount_block_is_active']) {
require_once 'CRM/Contribute/DAO/Product.php';
require_once 'CRM/Utils/Money.php';
$productDAO =& new CRM_Contribute_DAO_Product();
$productDAO->id = $fields['selectProduct'];
$productDAO->find(true);
$min_amount = $productDAO->min_contribution;
if ($amount < $min_amount) {
$errors['selectProduct'] = ts('The premium you have selected requires a minimum contribution of %1', array(1 => CRM_Utils_Money::format($min_amount)));
}
}
if ($self->_values["honor_block_is_active"] && CRM_Utils_Array::value('honor_type_id', $fields)) {
// make sure there is a first name and last name if email is not there
if (!CRM_Utils_Array::value('honor_email', $fields)) {
if (!CRM_Utils_Array::value('honor_first_name', $fields) || !CRM_Utils_Array::value('honor_last_name', $fields)) {
$errors['honor_last_name'] = ts('In Honor Of - First Name and Last Name, OR an Email Address is required.');
}
}
}
if (isset($fields['is_recur']) && $fields['is_recur']) {
if ($fields['frequency_interval'] <= 0) {
$errors['frequency_interval'] = ts('Please enter a number for how often you want to make this recurring contribution (EXAMPLE: Every 3 months).');
}
if ($fields['frequency_unit'] == '0') {
$errors['frequency_unit'] = ts('Please select a period (e.g. months, years ...) for how often you want to make this recurring contribution (EXAMPLE: Every 3 MONTHS).');
}
}
if (CRM_Utils_Array::value('is_recur', $fields) && $fields['is_pay_later']) {
$errors['is_pay_later'] = ' ';
$errors['_qf_default'] = ts('You cannot set up a recurring contribution if you are not paying online by credit card.');
}
if (CRM_Utils_Array::value('is_for_organization', $fields)) {
if (CRM_Utils_Array::value('org_option', $fields) && !$fields['onbehalfof_id']) {
$errors['organization_id'] = ts('Please select an organization or enter a new one.');
}
if (!CRM_Utils_Array::value('org_option', $fields) && !$fields['organization_name']) {
$errors['organization_name'] = ts('Please enter the organization name.');
}
if (!$fields['email'][1]['email']) {
$errors["email[1][email]"] = ts('Organization email is required.');
}
}
if (CRM_Utils_Array::value('selectMembership', $fields) && $fields['selectMembership'] != 'no_thanks') {
require_once 'CRM/Member/BAO/Membership.php';
require_once 'CRM/Member/BAO/MembershipType.php';
$memTypeDetails = CRM_Member_BAO_MembershipType::getMembershipTypeDetails($fields['selectMembership']);
if ($self->_values['amount_block_is_active'] && !CRM_Utils_Array::value('is_separate_payment', $self->_membershipBlock)) {
require_once 'CRM/Utils/Money.php';
if ($amount < CRM_Utils_Array::value('minimum_fee', $memTypeDetails)) {
$errors['selectMembership'] = ts('The Membership you have selected requires a minimum contribution of %1', array(1 => CRM_Utils_Money::format($memTypeDetails['minimum_fee'])));
}
} else {
if (CRM_Utils_Array::value('minimum_fee', $memTypeDetails)) {
// we dont have an amount, so lets get an amount for cc checks
$amount = $memTypeDetails['minimum_fee'];
}
}
}
if ($self->_values['is_monetary']) {
//.........这里部分代码省略.........