Merge pull request #24047 from kurund/export-fixes
[civicrm-core.git] / CRM / Member / Page / AJAX.php
CommitLineData
6a488035
TO
1<?php
2/*
3 +--------------------------------------------------------------------+
bc77d7c0 4 | Copyright CiviCRM LLC. All rights reserved. |
6a488035 5 | |
bc77d7c0
TO
6 | This work is published under the GNU AGPLv3 license with some |
7 | permitted exceptions and without any warranty. For full license |
8 | and copyright information, see https://civicrm.org/licensing |
6a488035 9 +--------------------------------------------------------------------+
d25dd0ee 10 */
6a488035
TO
11
12/**
13 *
14 * @package CRM
ca5cec67 15 * @copyright CiviCRM LLC https://civicrm.org/licensing
6a488035
TO
16 */
17
18/**
19 * This class contains all the function that are called using AJAX (dojo)
20 */
21class CRM_Member_Page_AJAX {
22
23 /**
fe482240 24 * SetDefaults according to membership type.
6a488035 25 */
00be9182 26 public static function getMemberTypeDefaults() {
6a488035
TO
27 if (!$_POST['mtype']) {
28 $details['name'] = '';
29 $details['auto_renew'] = '';
30 $details['total_amount'] = '';
31
ecdef330 32 CRM_Utils_JSON::output($details);
6a488035
TO
33 }
34 $memType = CRM_Utils_Type::escape($_POST['mtype'], 'Integer');
35
b09fe5ed 36 $query = "SELECT name, minimum_fee AS total_amount, financial_type_id, auto_renew
6a488035
TO
37FROM civicrm_membership_type
38WHERE id = %1";
39
be2fb01f
CW
40 $dao = CRM_Core_DAO::executeQuery($query, [1 => [$memType, 'Positive']]);
41 $properties = ['financial_type_id', 'total_amount', 'name', 'auto_renew'];
6a488035
TO
42 while ($dao->fetch()) {
43 foreach ($properties as $property) {
44 $details[$property] = $dao->$property;
45 }
46 }
47 $details['total_amount_numeric'] = $details['total_amount'];
48 // fix the display of the monetary value, CRM-4038
d5f5203c 49 $details['total_amount'] = CRM_Utils_Money::formatLocaleNumericRoundedForDefaultCurrency($details['total_amount'] ?? 0);
dbd82592 50 $options = CRM_Core_SelectValues::memberAutoRenew();
d5f5203c 51 $details['auto_renew'] = $options[$details['auto_renew']] ?? NULL;
ecdef330 52 CRM_Utils_JSON::output($details);
6a488035 53 }
96025800 54
6a488035 55}