/** * Create the widget * * @access public * @since 1.0.0 * @param array $args The widget arguements * @param array $instance This widget instance * @return void */ public function widget($args, $instance) { $title = apply_filters('widget_title', $instance['title'], $instance, $args['id']); $payment_methods = edd_get_option('accepted_cards', array()); $icon_width = isset($instance['icon_width']) ? $instance['icon_width'] . 'px' : '32px'; if (empty($payment_methods)) { return; } echo $args['before_widget']; if ($title) { echo $args['before_title'] . $title . $args['after_title']; } do_action('edd_before_payment_icons_widget'); echo '<div class="edd-payment-icons-widget">'; if ($instance['above_icons']) { echo '<div class="edd-payment-icons-widget-text">'; echo html_entity_decode(esc_html($instance['above_icons'])); echo '</div>'; } foreach ($payment_methods as $key => $card) { if (edd_string_is_image_url($key)) { echo '<img class="payment-icon" src="' . esc_url($key) . '" style="width: ' . $icon_width . '" />'; } else { $card = strtolower(str_replace(' ', '', $card)); if (has_filter('edd_accepted_payment_' . $card . '_image')) { $image = apply_filters('edd_accepted_payment_' . $card . '_image', ''); } else { $image = edd_locate_template('images' . DIRECTORY_SEPARATOR . 'icons' . DIRECTORY_SEPARATOR . $card . '.gif', false); $content_dir = WP_CONTENT_DIR; if (function_exists('wp_normalize_path')) { $image = wp_normalize_path($image); $content_dir = wp_normalize_path($content_dir); } $image = str_replace($content_dir, WP_CONTENT_URL, $image); } if (edd_is_ssl_enforced() || is_ssl()) { $image = edd_enforced_ssl_asset_filter($image); } echo '<img class="payment-icon" src="' . esc_url($image) . '" style="width: ' . $icon_width . '" />'; } } if ($instance['below_icons']) { echo '<div class="edd-payment-icons-widget-text">'; echo html_entity_decode($instance['below_icons']); echo '</div>'; } echo '</div>'; do_action('edd_after_payment_icons_widget'); echo $args['after_widget']; }
/** * Show Payment Icons by getting all the accepted icons from the EDD Settings * then outputting the icons. * * @since 1.0 * @return void */ function edd_show_payment_icons() { if (edd_show_gateways() && did_action('edd_payment_mode_top')) { return; } $payment_methods = edd_get_option('accepted_cards', array()); if (empty($payment_methods)) { return; } echo '<div class="edd-payment-icons">'; foreach ($payment_methods as $key => $card) { if (edd_string_is_image_url($key)) { echo '<img class="payment-icon" src="' . esc_url($key) . '"/>'; } else { $card = strtolower(str_replace(' ', '', $card)); if (has_filter('edd_accepted_payment_' . $card . '_image')) { $image = apply_filters('edd_accepted_payment_' . $card . '_image', ''); } else { $image = edd_locate_template('images' . DIRECTORY_SEPARATOR . 'icons' . DIRECTORY_SEPARATOR . $card . '.gif', false); $content_dir = WP_CONTENT_DIR; if (function_exists('wp_normalize_path')) { // Replaces backslashes with forward slashes for Windows systems $image = wp_normalize_path($image); $content_dir = wp_normalize_path($content_dir); } $image = str_replace($content_dir, WP_CONTENT_URL, $image); } if (edd_is_ssl_enforced() || is_ssl()) { $image = edd_enforced_ssl_asset_filter($image); } echo '<img class="payment-icon" src="' . esc_url($image) . '"/>'; } } echo '</div>'; }
/** * Retrieves a template part * * @since v1.2 * * Taken from bbPress * * @param string $slug * @param string $name Optional. Default null * @param bool $load * * @return string * * @uses edd_locate_template() * @uses load_template() * @uses get_template_part() */ function edd_get_template_part($slug, $name = null, $load = true) { // Execute code for this part do_action('get_template_part_' . $slug, $slug, $name); // Setup possible parts $templates = array(); if (isset($name)) { $templates[] = $slug . '-' . $name . '.php'; } $templates[] = $slug . '.php'; // Allow template parts to be filtered $templates = apply_filters('edd_get_template_part', $templates, $slug, $name); // Return the part that is found return edd_locate_template($templates, $load, false); }
/** * Payment method icons callback * * @since 2.1 * @param array $args Arguments passed by the setting * @global $edd_options Array of all the EDD Options * @return void */ function edd_payment_icons_callback($args) { global $edd_options; if (!empty($args['options'])) { foreach ($args['options'] as $key => $option) { if (isset($edd_options[$args['id']][$key])) { $enabled = $option; } else { $enabled = NULL; } echo '<label for="edd_settings[' . $args['id'] . '][' . $key . ']" style="margin-right:10px;line-height:16px;height:16px;display:inline-block;">'; echo '<input name="edd_settings[' . $args['id'] . '][' . $key . ']" id="edd_settings[' . $args['id'] . '][' . $key . ']" type="checkbox" value="' . esc_attr($option) . '" ' . checked($option, $enabled, false) . '/> '; if (edd_string_is_image_url($key)) { echo '<img class="payment-icon" src="' . esc_url($key) . '" style="width:32px;height:24px;position:relative;top:6px;margin-right:5px;"/>'; } else { $card = strtolower(str_replace(' ', '', $option)); if (has_filter('edd_accepted_payment_' . $card . '_image')) { $image = apply_filters('edd_accepted_payment_' . $card . '_image', ''); } else { $image = edd_locate_template('images' . DIRECTORY_SEPARATOR . 'icons' . DIRECTORY_SEPARATOR . $card . '.gif', false); $content_dir = WP_CONTENT_DIR; if (function_exists('wp_normalize_path')) { // Replaces backslashes with forward slashes for Windows systems $image = wp_normalize_path($image); $content_dir = wp_normalize_path($content_dir); } $image = str_replace($content_dir, WP_CONTENT_URL, $image); } echo '<img class="payment-icon" src="' . esc_url($image) . '" style="width:32px;height:24px;position:relative;top:6px;margin-right:5px;"/>'; } echo $option . '</label>'; } echo '<p class="description" style="margin-top:16px;">' . $args['desc'] . '</p>'; } }