/** * @param WC_Payment_Gateway $gateway */ public function merge_settings(WC_Payment_Gateway $gateway) { $data = $this->get_data(); if (isset($data['title'])) { $gateway->title = $data['title']; } if (isset($data['description'])) { $gateway->description = $data['description']; } $gateway->has_icon = $gateway->get_icon() != ''; $gateway->show_icon = isset($data['icon']) ? $data['icon'] : true; }
/** * Sanitize payment icon * - some gateways include junk in icon property, eg: paypal link * * @param WC_Payment_Gateway $gateway * @return string */ protected function sanitize_icon(WC_Payment_Gateway $gateway) { $icon = $gateway->show_icon ? $gateway->get_icon() : ''; if ($icon !== '') { // simple preg_match preg_match('/< *img[^>]*src *= *["\']?([^"\']*)/i', $icon, $src); $icon = $src[1]; } return $icon; }