@@ -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 | } |