/** * Returns a list of all enabled gateways. * * @since 1.0 * @return array $gateway_list All the available gateways */ function give_get_enabled_payment_gateways() { $gateways = give_get_payment_gateways(); $enabled = isset($_POST['gateways']) ? $_POST['gateways'] : give_get_option('gateways'); $gateway_list = array(); foreach ($gateways as $key => $gateway) { if (isset($enabled[$key]) && $enabled[$key] == 1) { $gateway_list[$key] = $gateway; } } // Set order of payment gateway in list. $gateway_list = give_get_ordered_payment_gateways($gateway_list); return apply_filters('give_enabled_payment_gateways', $gateway_list); }
/** * Gateways Callback * * Renders gateways fields. * * @since 1.0 * * @param $field_object * @param $escaped_value * @param $object_id * @param $object_type * @param $field_type_object * * @return void */ function give_enabled_gateways_callback($field_object, $escaped_value, $object_id, $object_type, $field_type_object) { $id = $field_type_object->field->args['id']; $field_description = $field_type_object->field->args['desc']; $gateways = give_get_ordered_payment_gateways(give_get_payment_gateways()); echo '<ul class="cmb2-checkbox-list cmb2-list">'; foreach ($gateways as $key => $option) { if (is_array($escaped_value) && array_key_exists($key, $escaped_value)) { $enabled = '1'; } else { $enabled = null; } echo '<li><span class="give-drag-handle"><span class="dashicons dashicons-menu"></span></span><input name="' . $id . '[' . $key . ']" id="' . $id . '[' . $key . ']" type="checkbox" value="1" ' . checked('1', $enabled, false) . '/> '; echo '<label for="' . $id . '[' . $key . ']">' . $option['admin_label'] . '</label></li>'; } echo '</ul>'; if ($field_description) { echo '<p class="cmb2-metabox-description">' . $field_description . '</p>'; } }