本文整理汇总了PHP中CRM_Core_SelectValues::memberAutoRenew方法的典型用法代码示例。如果您正苦于以下问题:PHP CRM_Core_SelectValues::memberAutoRenew方法的具体用法?PHP CRM_Core_SelectValues::memberAutoRenew怎么用?PHP CRM_Core_SelectValues::memberAutoRenew使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CRM_Core_SelectValues
的用法示例。
在下文中一共展示了CRM_Core_SelectValues::memberAutoRenew方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getMemberTypeDefaults
/**
* SetDefaults according to membership type.
*/
public static function getMemberTypeDefaults()
{
if (!$_POST['mtype']) {
$details['name'] = '';
$details['auto_renew'] = '';
$details['total_amount'] = '';
CRM_Utils_JSON::output($details);
}
$memType = CRM_Utils_Type::escape($_POST['mtype'], 'Integer');
$query = "SELECT name, minimum_fee AS total_amount, financial_type_id, auto_renew\nFROM civicrm_membership_type\nWHERE id = %1";
$dao = CRM_Core_DAO::executeQuery($query, array(1 => array($memType, 'Positive')));
$properties = array('financial_type_id', 'total_amount', 'name', 'auto_renew');
while ($dao->fetch()) {
foreach ($properties as $property) {
$details[$property] = $dao->{$property};
}
}
$details['total_amount_numeric'] = $details['total_amount'];
// fix the display of the monetary value, CRM-4038
$details['total_amount'] = CRM_Utils_Money::format($details['total_amount'], NULL, '%a');
$options = CRM_Core_SelectValues::memberAutoRenew();
$details['auto_renew'] = CRM_Utils_Array::value('auto_renew', $options[$details]);
CRM_Utils_JSON::output($details);
}
示例2: buildQuickForm
/**
* Build the form object.
*
* @return void
*/
public function buildQuickForm()
{
parent::buildQuickForm();
if ($this->_action & CRM_Core_Action::DELETE) {
return;
}
$this->applyFilter('__ALL__', 'trim');
$this->add('text', 'name', ts('Name'), CRM_Core_DAO::getAttribute('CRM_Member_DAO_MembershipType', 'name'), TRUE);
$this->addRule('name', ts('A membership type with this name already exists. Please select another name.'), 'objectExists', array('CRM_Member_DAO_MembershipType', $this->_id));
$this->add('text', 'description', ts('Description'), CRM_Core_DAO::getAttribute('CRM_Member_DAO_MembershipType', 'description'));
$this->add('text', 'minimum_fee', ts('Minimum Fee'), CRM_Core_DAO::getAttribute('CRM_Member_DAO_MembershipType', 'minimum_fee'));
$this->addRule('minimum_fee', ts('Please enter a monetary value for the Minimum Fee.'), 'money');
$this->addSelect('duration_unit', array(), TRUE);
//period type
$this->addSelect('period_type', array(), TRUE);
$this->add('text', 'duration_interval', ts('Duration Interval'), CRM_Core_DAO::getAttribute('CRM_Member_DAO_MembershipType', 'duration_interval'));
$props = array('api' => array('params' => array('contact_type' => 'Organization')));
$this->addEntityRef('member_of_contact_id', ts('Membership Organization'), $props, TRUE);
//start day
$this->add('date', 'fixed_period_start_day', ts('Fixed Period Start Day'), CRM_Core_SelectValues::date(NULL, 'M d'), FALSE);
//Auto-renew Option
$paymentProcessor = CRM_Core_PseudoConstant::paymentProcessor(FALSE, FALSE, 'is_recur = 1');
$isAuthorize = FALSE;
$options = array();
if (is_array($paymentProcessor) && !empty($paymentProcessor)) {
$isAuthorize = TRUE;
$options = CRM_Core_SelectValues::memberAutoRenew();
}
$this->addRadio('auto_renew', ts('Auto-renew Option'), $options);
$this->assign('authorize', $isAuthorize);
//rollover day
$this->add('date', 'fixed_period_rollover_day', ts('Fixed Period Rollover Day'), CRM_Core_SelectValues::date(NULL, 'M d'), FALSE);
$this->add('date', 'month_fixed_period_rollover_day', ts('Fixed Period Rollover Day'), CRM_Core_SelectValues::date(NULL, 'd'), FALSE);
$this->add('select', 'financial_type_id', ts('Financial Type'), array('' => ts('- select -')) + CRM_Financial_BAO_FinancialType::getAvailableFinancialTypes($financialTypes, $this->_action), TRUE, array('class' => 'crm-select2'));
$relTypeInd = CRM_Contact_BAO_Relationship::getContactRelationshipType(NULL, NULL, NULL, NULL, TRUE);
if (is_array($relTypeInd)) {
asort($relTypeInd);
}
$memberRel = $this->add('select', 'relationship_type_id', ts('Relationship Type'), $relTypeInd, FALSE, array('class' => 'crm-select2 huge', 'multiple' => 1));
$this->addSelect('visibility', array('placeholder' => NULL, 'option_url' => NULL));
$this->add('text', 'weight', ts('Order'), CRM_Core_DAO::getAttribute('CRM_Member_DAO_MembershipType', 'weight'));
$this->add('checkbox', 'is_active', ts('Enabled?'));
$membershipRecords = FALSE;
if ($this->_action & CRM_Core_Action::UPDATE) {
$membershipType = new CRM_Member_BAO_Membership();
$membershipType->membership_type_id = $this->_id;
if ($membershipType->find(TRUE)) {
$membershipRecords = TRUE;
$memberRel->freeze();
}
}
$this->assign('membershipRecordsExists', $membershipRecords);
$this->add('text', 'max_related', ts('Max related'), CRM_Core_DAO::getAttribute('CRM_Member_DAO_MembershipType', 'max_related'));
$this->addFormRule(array('CRM_Member_Form_MembershipType', 'formRule'));
$this->assign('membershipTypeId', $this->_id);
}
示例3: buildQuickForm
/**
* Build the form object.
*/
public function buildQuickForm()
{
parent::buildQuickForm();
$defaults = parent::setDefaultValues();
$this->_memType = $defaults['membership_type_id'];
$this->assign('customDataType', 'Membership');
$this->assign('customDataSubType', $this->_memType);
$this->assign('entityID', $this->_id);
$selOrgMemType[0][0] = $selMemTypeOrg[0] = ts('- select -');
$allMembershipInfo = array();
//CRM-16950
$taxRates = CRM_Core_PseudoConstant::getTaxRates();
$taxRate = CRM_Utils_Array::value($allMemberships[$defaults['membership_type_id']]['financial_type_id'], $taxRates);
$invoiceSettings = CRM_Core_BAO_Setting::getItem(CRM_Core_BAO_Setting::CONTRIBUTE_PREFERENCES_NAME, 'contribution_invoice_settings');
// auto renew options if enabled for the membership
$options = CRM_Core_SelectValues::memberAutoRenew();
foreach ($this->allMembershipTypeDetails as $key => $values) {
if (!empty($values['is_active'])) {
if ($this->_mode && empty($values['minimum_fee'])) {
continue;
} else {
$memberOfContactId = CRM_Utils_Array::value('member_of_contact_id', $values);
if (empty($selMemTypeOrg[$memberOfContactId])) {
$selMemTypeOrg[$memberOfContactId] = CRM_Core_DAO::getFieldValue('CRM_Contact_DAO_Contact', $memberOfContactId, 'display_name', 'id');
$selOrgMemType[$memberOfContactId][0] = ts('- select -');
}
if (empty($selOrgMemType[$memberOfContactId][$key])) {
$selOrgMemType[$memberOfContactId][$key] = CRM_Utils_Array::value('name', $values);
}
}
//CRM-16950
$taxAmount = NULL;
$totalAmount = CRM_Utils_Array::value('minimum_fee', $values);
if (CRM_Utils_Array::value($values['financial_type_id'], $taxRates)) {
$taxAmount = $taxRate / 100 * CRM_Utils_Array::value('minimum_fee', $values);
$totalAmount = $totalAmount + $taxAmount;
}
// build membership info array, which is used to set the payment information block when
// membership type is selected.
$allMembershipInfo[$key] = array('financial_type_id' => CRM_Utils_Array::value('financial_type_id', $values), 'total_amount' => CRM_Utils_Money::format($totalAmount, NULL, '%a'), 'total_amount_numeric' => $totalAmount, 'tax_message' => $taxAmount ? ts("Includes %1 amount of %2", array(1 => CRM_Utils_Array::value('tax_term', $invoiceSettings), 2 => CRM_Utils_Money::format($taxAmount))) : $taxAmount);
if (!empty($values['auto_renew'])) {
$allMembershipInfo[$key]['auto_renew'] = $options[$values['auto_renew']];
}
}
}
$this->assign('allMembershipInfo', json_encode($allMembershipInfo));
if ($this->_memType) {
$this->assign('orgName', $selMemTypeOrg[$this->allMembershipTypeDetails[$this->_memType]['member_of_contact_id']]);
$this->assign('memType', $this->allMembershipTypeDetails[$this->_memType]['name']);
}
// force select of organization by default, if only one organization in
// the list
if (count($selMemTypeOrg) == 2) {
unset($selMemTypeOrg[0], $selOrgMemType[0][0]);
}
//sort membership organization and type, CRM-6099
natcasesort($selMemTypeOrg);
foreach ($selOrgMemType as $index => $orgMembershipType) {
natcasesort($orgMembershipType);
$selOrgMemType[$index] = $orgMembershipType;
}
$js = array('onChange' => "setPaymentBlock(); CRM.buildCustomData('Membership', this.value);");
$sel =& $this->addElement('hierselect', 'membership_type_id', ts('Renewal Membership Organization and Type'), $js);
$sel->setOptions(array($selMemTypeOrg, $selOrgMemType));
$elements = array();
if ($sel) {
$elements[] = $sel;
}
$this->applyFilter('__ALL__', 'trim');
$this->addDate('renewal_date', ts('Date Renewal Entered'), FALSE, array('formatType' => 'activityDate'));
$this->add('select', 'financial_type_id', ts('Financial Type'), array('' => ts('- select -')) + CRM_Contribute_PseudoConstant::financialType());
$this->add('text', 'num_terms', ts('Extend Membership by'), array('onchange' => "setPaymentBlock();"), TRUE);
$this->addRule('num_terms', ts('Please enter a whole number for how many periods to renew.'), 'integer');
if (CRM_Core_Permission::access('CiviContribute') && !$this->_mode) {
$this->addElement('checkbox', 'record_contribution', ts('Record Renewal Payment?'), NULL, array('onclick' => "checkPayment();"));
$this->add('text', 'total_amount', ts('Amount'));
$this->addRule('total_amount', ts('Please enter a valid amount.'), 'money');
$this->addDate('receive_date', ts('Received'), FALSE, array('formatType' => 'activityDateTime'));
$this->add('select', 'payment_instrument_id', ts('Payment Method'), array('' => ts('- select -')) + CRM_Contribute_PseudoConstant::paymentInstrument(), FALSE, array('onChange' => "return showHideByValue('payment_instrument_id','4','checkNumber','table-row','select',false);"));
$this->add('text', 'trxn_id', ts('Transaction ID'));
$this->addRule('trxn_id', ts('Transaction ID already exists in Database.'), 'objectExists', array('CRM_Contribute_DAO_Contribution', $this->_id, 'trxn_id'));
$this->add('select', 'contribution_status_id', ts('Payment Status'), CRM_Contribute_PseudoConstant::contributionStatus());
$this->add('text', 'check_number', ts('Check Number'), CRM_Core_DAO::getAttribute('CRM_Contribute_DAO_Contribution', 'check_number'));
} else {
$this->add('text', 'total_amount', ts('Amount'));
$this->addRule('total_amount', ts('Please enter a valid amount.'), 'money');
}
$this->addElement('checkbox', 'send_receipt', ts('Send Confirmation and Receipt?'), NULL, array('onclick' => "showHideByValue( 'send_receipt', '', 'notice', 'table-row', 'radio', false ); showHideByValue( 'send_receipt', '', 'fromEmail', 'table-row', 'radio',false);"));
$this->add('select', 'from_email_address', ts('Receipt From'), $this->_fromEmails);
$this->add('textarea', 'receipt_text_renewal', ts('Renewal Message'));
// Retrieve the name and email of the contact - this will be the TO for receipt email
list($this->_contributorDisplayName, $this->_contributorEmail) = CRM_Contact_BAO_Contact_Location::getEmailDetails($this->_contactID);
$this->assign('email', $this->_contributorEmail);
// The member form uses emailExists. Assigning both while we transition / synchronise.
$this->assign('emailExists', $this->_contributorEmail);
$mailingInfo = CRM_Core_BAO_Setting::getItem(CRM_Core_BAO_Setting::MAILING_PREFERENCES_NAME, 'mailing_backend');
$this->assign('outBound_option', $mailingInfo['outBound_option']);
//.........这里部分代码省略.........
示例4: buildQuickForm
/**
* Build the form object.
*
* @return void
*/
public function buildQuickForm()
{
if ($this->_cdType) {
return CRM_Custom_Form_CustomData::buildQuickForm($this);
}
parent::buildQuickForm();
$defaults = parent::setDefaultValues();
$this->_memType = $defaults['membership_type_id'];
$this->assign('customDataType', 'Membership');
$this->assign('customDataSubType', $this->_memType);
$this->assign('entityID', $this->_id);
$selOrgMemType[0][0] = $selMemTypeOrg[0] = ts('- select -');
$allMemberships = CRM_Member_BAO_Membership::buildMembershipTypeValues($this);
$allMembershipInfo = $membershipType = array();
// auto renew options if enabled for the membership
$options = CRM_Core_SelectValues::memberAutoRenew();
foreach ($allMemberships as $key => $values) {
if (!empty($values['is_active'])) {
$membershipType[$key] = CRM_Utils_Array::value('name', $values);
if ($this->_mode && empty($values['minimum_fee'])) {
continue;
} else {
$memberOfContactId = CRM_Utils_Array::value('member_of_contact_id', $values);
if (empty($selMemTypeOrg[$memberOfContactId])) {
$selMemTypeOrg[$memberOfContactId] = CRM_Core_DAO::getFieldValue('CRM_Contact_DAO_Contact', $memberOfContactId, 'display_name', 'id');
$selOrgMemType[$memberOfContactId][0] = ts('- select -');
}
if (empty($selOrgMemType[$memberOfContactId][$key])) {
$selOrgMemType[$memberOfContactId][$key] = CRM_Utils_Array::value('name', $values);
}
}
// build membership info array, which is used to set the payment information block when
// membership type is selected.
$allMembershipInfo[$key] = array('financial_type_id' => CRM_Utils_Array::value('financial_type_id', $values), 'total_amount' => CRM_Utils_Money::format($values['minimum_fee'], NULL, '%a'), 'total_amount_numeric' => CRM_Utils_Array::value('minimum_fee', $values));
if (!empty($values['auto_renew'])) {
$allMembershipInfo[$key]['auto_renew'] = $options[$values['auto_renew']];
}
}
}
$this->assign('allMembershipInfo', json_encode($allMembershipInfo));
if ($this->_memType) {
$this->assign('orgName', $selMemTypeOrg[$allMemberships[$this->_memType]['member_of_contact_id']]);
$this->assign('memType', $allMemberships[$this->_memType]['name']);
}
// force select of organization by default, if only one organization in
// the list
if (count($selMemTypeOrg) == 2) {
unset($selMemTypeOrg[0], $selOrgMemType[0][0]);
}
//sort membership organization and type, CRM-6099
natcasesort($selMemTypeOrg);
foreach ($selOrgMemType as $index => $orgMembershipType) {
natcasesort($orgMembershipType);
$selOrgMemType[$index] = $orgMembershipType;
}
$js = array('onChange' => "setPaymentBlock( ); CRM.buildCustomData( 'Membership', this.value );");
//build the form for auto renew.
$recurProcessor = array();
if ($this->_mode || $this->_action & CRM_Core_Action::UPDATE) {
//get the valid recurring processors.
$test = strtolower($this->_mode) == 'test' ? TRUE : FALSE;
$recurring = CRM_Core_PseudoConstant::paymentProcessor(FALSE, $test, 'is_recur = 1');
$recurProcessor = array_intersect_key($this->_processors, $recurring);
if (!empty($recurProcessor)) {
$autoRenew = array();
if (!empty($membershipType)) {
$sql = '
SELECT id,
auto_renew,
duration_unit,
duration_interval
FROM civicrm_membership_type
WHERE id IN ( ' . implode(' , ', array_keys($membershipType)) . ' )';
$recurMembershipTypes = CRM_Core_DAO::executeQuery($sql);
while ($recurMembershipTypes->fetch()) {
$autoRenew[$recurMembershipTypes->id] = $recurMembershipTypes->auto_renew;
foreach (array('id', 'auto_renew', 'duration_unit', 'duration_interval') as $fld) {
$this->_recurMembershipTypes[$recurMembershipTypes->id][$fld] = $recurMembershipTypes->{$fld};
}
}
}
$js = array('onChange' => "setPaymentBlock(); CRM.buildCustomData( 'Membership', this.value );");
$this->assign('autoRenew', json_encode($autoRenew));
}
$autoRenewElement = $this->addElement('checkbox', 'auto_renew', ts('Membership renewed automatically'), NULL, array('onclick' => "showHideByValue('auto_renew','','send-receipt','table-row','radio',true); showHideNotice( );"));
if ($this->_action & CRM_Core_Action::UPDATE) {
$autoRenewElement->freeze();
}
}
$this->assign('recurProcessor', json_encode($recurProcessor));
$sel =& $this->addElement('hierselect', 'membership_type_id', ts('Renewal Membership Organization and Type'), $js);
$sel->setOptions(array($selMemTypeOrg, $selOrgMemType));
$elements = array();
if ($sel) {
$elements[] = $sel;
//.........这里部分代码省略.........