/** * * @param array $options_array { * @type string $extra_meta_inputs should be EE_Form_Section_Validatable[] which * will be _subsections and will be saved as extra meta on the payment method object; * @type EE_PMT_Base $payment_method_type the payment method type this form is for * @see EE_Model_Form_Section::__construct() for more * } */ public function __construct($options_array = array()) { $this->_model = EEM_Payment_Method::instance(); $this->_options_array = $options_array; if (isset($options_array['payment_method_type'])) { $this->_payment_method_type = $options_array['payment_method_type']; } $options_array = $this->_options_array; if (isset($options_array['extra_meta_inputs'])) { $this->_extra_meta_inputs = array_merge($this->_extra_meta_inputs, $options_array['extra_meta_inputs']); } if ($this->_extra_meta_inputs) { $this->_subsections = array_merge($this->_subsections, $this->_extra_meta_inputs); } $this->_subsections['PMD_button_url'] = new EE_Admin_File_Uploader_Input(array('html_label_text' => __('Button URL', 'event_espresso'))); $this->_subsections['PMD_scope'] = new EE_Checkbox_Multi_Input(EEM_Payment_Method::instance()->scopes(), array('html_label_text' => $this->_model->field_settings_for('PMD_scope')->get_nicename() . EEH_Template::get_help_tab_link('payment_methods_overview'))); //setup the currency options $this->_subsections['Currency'] = new EE_Select_Multi_Model_Input(EEM_Currency::instance()->get_all_currencies_usable_by($this->_payment_method_type), array('html_label_text' => __('Currencies Supported', 'event_espresso'), 'required' => TRUE)); $this->_subsections['PMD_order'] = new EE_Text_Input(array('html_help_text' => __('Lowest numbers will be shown first', 'event_espresso'), 'normalization_strategy' => new EE_Int_Normalization(), 'validation_strategies' => array(new EE_Int_Validation_Strategy()), 'default' => 0)); $this->_layout_strategy = new EE_Admin_Two_Column_Layout(); parent::__construct($options_array); }
/** * Gets all the currencies which are an option for this payment method * (as defined by the gateway and the currently active currencies) * * @return EE_Currency[] * @throws \EE_Error */ public function get_all_usable_currencies() { return EEM_Currency::instance()->get_all_currencies_usable_by($this->type_obj()); }