@@ -7,92 +7,92 @@ |
||
7 | 7 | class EE_Money_Field extends EE_Float_Field |
8 | 8 | { |
9 | 9 | |
10 | - /** |
|
11 | - * @param string $table_column |
|
12 | - * @param string $nicename |
|
13 | - * @param bool $nullable |
|
14 | - * @param null $default_value |
|
15 | - */ |
|
16 | - public function __construct($table_column, $nicename, $nullable, $default_value = null) |
|
17 | - { |
|
18 | - parent::__construct($table_column, $nicename, $nullable, $default_value); |
|
19 | - $this->setSchemaType('object'); |
|
20 | - } |
|
10 | + /** |
|
11 | + * @param string $table_column |
|
12 | + * @param string $nicename |
|
13 | + * @param bool $nullable |
|
14 | + * @param null $default_value |
|
15 | + */ |
|
16 | + public function __construct($table_column, $nicename, $nullable, $default_value = null) |
|
17 | + { |
|
18 | + parent::__construct($table_column, $nicename, $nullable, $default_value); |
|
19 | + $this->setSchemaType('object'); |
|
20 | + } |
|
21 | 21 | |
22 | 22 | |
23 | - /** |
|
24 | - * Schemas: |
|
25 | - * 'localized_float': "3,023.00" |
|
26 | - * 'no_currency_code': "$3,023.00" |
|
27 | - * null: "$3,023.00<span>USD</span>" |
|
28 | - * |
|
29 | - * @param string $value_on_field_to_be_outputted |
|
30 | - * @param string $schema |
|
31 | - * @return string |
|
32 | - */ |
|
33 | - public function prepare_for_pretty_echoing($value_on_field_to_be_outputted, $schema = null) |
|
34 | - { |
|
35 | - $pretty_float = parent::prepare_for_pretty_echoing($value_on_field_to_be_outputted); |
|
23 | + /** |
|
24 | + * Schemas: |
|
25 | + * 'localized_float': "3,023.00" |
|
26 | + * 'no_currency_code': "$3,023.00" |
|
27 | + * null: "$3,023.00<span>USD</span>" |
|
28 | + * |
|
29 | + * @param string $value_on_field_to_be_outputted |
|
30 | + * @param string $schema |
|
31 | + * @return string |
|
32 | + */ |
|
33 | + public function prepare_for_pretty_echoing($value_on_field_to_be_outputted, $schema = null) |
|
34 | + { |
|
35 | + $pretty_float = parent::prepare_for_pretty_echoing($value_on_field_to_be_outputted); |
|
36 | 36 | |
37 | - if ($schema == 'localized_float') { |
|
38 | - return $pretty_float; |
|
39 | - } |
|
40 | - if ($schema == 'no_currency_code') { |
|
37 | + if ($schema == 'localized_float') { |
|
38 | + return $pretty_float; |
|
39 | + } |
|
40 | + if ($schema == 'no_currency_code') { |
|
41 | 41 | // echo "schema no currency!"; |
42 | - $display_code = false; |
|
43 | - } else { |
|
44 | - $display_code = true; |
|
45 | - } |
|
46 | - // we don't use the $pretty_float because format_currency will take care of it. |
|
47 | - return EEH_Template::format_currency($value_on_field_to_be_outputted, false, $display_code); |
|
48 | - } |
|
42 | + $display_code = false; |
|
43 | + } else { |
|
44 | + $display_code = true; |
|
45 | + } |
|
46 | + // we don't use the $pretty_float because format_currency will take care of it. |
|
47 | + return EEH_Template::format_currency($value_on_field_to_be_outputted, false, $display_code); |
|
48 | + } |
|
49 | 49 | |
50 | - /** |
|
51 | - * If provided with a string, strips out money-related formatting to turn it into a proper float. |
|
52 | - * Rounds the float to the correct number of decimal places for this country's currency. |
|
53 | - * Also, interprets periods and commas according to the country's currency settings. |
|
54 | - * So if you want to pass in a string that NEEDS to interpret periods as decimal marks, call floatval() on it first. |
|
55 | - * |
|
56 | - * @param string $value_inputted_for_field_on_model_object |
|
57 | - * @return float |
|
58 | - */ |
|
59 | - public function prepare_for_set($value_inputted_for_field_on_model_object) |
|
60 | - { |
|
61 | - // remove any currencies etc. |
|
50 | + /** |
|
51 | + * If provided with a string, strips out money-related formatting to turn it into a proper float. |
|
52 | + * Rounds the float to the correct number of decimal places for this country's currency. |
|
53 | + * Also, interprets periods and commas according to the country's currency settings. |
|
54 | + * So if you want to pass in a string that NEEDS to interpret periods as decimal marks, call floatval() on it first. |
|
55 | + * |
|
56 | + * @param string $value_inputted_for_field_on_model_object |
|
57 | + * @return float |
|
58 | + */ |
|
59 | + public function prepare_for_set($value_inputted_for_field_on_model_object) |
|
60 | + { |
|
61 | + // remove any currencies etc. |
|
62 | 62 | // if(is_string($value_inputted_for_field_on_model_object)){ |
63 | 63 | // $value_inputted_for_field_on_model_object = preg_replace("/[^0-9,.]/", "", $value_inputted_for_field_on_model_object); |
64 | 64 | // } |
65 | - // now it's a float-style string or number |
|
66 | - $float_val = parent::prepare_for_set($value_inputted_for_field_on_model_object); |
|
67 | - // round to the correctly number of decimal places for this currency |
|
68 | - $rounded_value = round($float_val, EE_Registry::instance()->CFG->currency->dec_plc); |
|
69 | - return $rounded_value; |
|
70 | - } |
|
65 | + // now it's a float-style string or number |
|
66 | + $float_val = parent::prepare_for_set($value_inputted_for_field_on_model_object); |
|
67 | + // round to the correctly number of decimal places for this currency |
|
68 | + $rounded_value = round($float_val, EE_Registry::instance()->CFG->currency->dec_plc); |
|
69 | + return $rounded_value; |
|
70 | + } |
|
71 | 71 | |
72 | - public function prepare_for_get($value_of_field_on_model_object) |
|
73 | - { |
|
74 | - $c = EE_Registry::instance()->CFG->currency; |
|
75 | - return round(parent::prepare_for_get($value_of_field_on_model_object), $c->dec_plc); |
|
76 | - } |
|
72 | + public function prepare_for_get($value_of_field_on_model_object) |
|
73 | + { |
|
74 | + $c = EE_Registry::instance()->CFG->currency; |
|
75 | + return round(parent::prepare_for_get($value_of_field_on_model_object), $c->dec_plc); |
|
76 | + } |
|
77 | 77 | |
78 | - public function getSchemaProperties() |
|
79 | - { |
|
80 | - return array( |
|
81 | - 'raw' => array( |
|
82 | - 'description' => sprintf( |
|
83 | - __('%s - the raw value as it exists in the database as a simple float.', 'event_espresso'), |
|
84 | - $this->get_nicename() |
|
85 | - ), |
|
86 | - 'type' => 'number', |
|
87 | - ), |
|
88 | - 'pretty' => array( |
|
89 | - 'description' => sprintf( |
|
90 | - __('%s - formatted for display in the set currency and decimal places.', 'event_espresso'), |
|
91 | - $this->get_nicename() |
|
92 | - ), |
|
93 | - 'type' => 'string', |
|
94 | - 'format' => 'money' |
|
95 | - ) |
|
96 | - ); |
|
97 | - } |
|
78 | + public function getSchemaProperties() |
|
79 | + { |
|
80 | + return array( |
|
81 | + 'raw' => array( |
|
82 | + 'description' => sprintf( |
|
83 | + __('%s - the raw value as it exists in the database as a simple float.', 'event_espresso'), |
|
84 | + $this->get_nicename() |
|
85 | + ), |
|
86 | + 'type' => 'number', |
|
87 | + ), |
|
88 | + 'pretty' => array( |
|
89 | + 'description' => sprintf( |
|
90 | + __('%s - formatted for display in the set currency and decimal places.', 'event_espresso'), |
|
91 | + $this->get_nicename() |
|
92 | + ), |
|
93 | + 'type' => 'string', |
|
94 | + 'format' => 'money' |
|
95 | + ) |
|
96 | + ); |
|
97 | + } |
|
98 | 98 | } |