1 <?php
2
3 4 5 6 7 8 9 10
11
12 namespace WC_POS\Admin;
13
14 class Gateways {
15
16 public function __construct() {
17 add_filter( 'woocommerce_payment_gateways_setting_columns', array( $this, 'woocommerce_payment_gateways_setting_columns' ), 10, 1 );
18 add_action( 'woocommerce_payment_gateways_setting_column_pos_status', array( $this, 'pos_status' ), 10, 1 );
19 add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_admin_styles' ) );
20 }
21
22 23 24 25 26 27
28 public function woocommerce_payment_gateways_setting_columns( $columns ) {
29 $new_columns = array();
30 foreach ( $columns as $key => $column ) {
31 $new_columns[$key] = $column;
32 if( $key == 'status' ) {
33 $new_columns['status'] = __( 'Online Store', 'woocommerce-pos' );
34 $new_columns['pos_status'] = __( 'POS', 'woocommerce-pos' );
35 }
36 }
37 return $new_columns;
38 }
39
40 41 42 43 44
45 public function pos_status( $gateway ) {
46 $settings = wc_pos_get_option( 'checkout', 'enabled' );
47 $enabled = is_array($settings) ? array_keys($settings, true) : array();
48
49 echo '<td class="pos_status">';
50 if ( in_array( $gateway->id, $enabled ) )
51 echo '<span class="status-enabled tips" data-tip="' . __( 'Enabled', 'woocommerce' ) . '">' . __( 'Enabled', 'woocommerce' ) . '</span>';
52 else
53 echo '-';
54 echo '</td>';
55 }
56
57 58 59
60 public function enqueue_admin_styles() {
61 $screen = get_current_screen();
62
63 if ( $screen->id == 'woocommerce_page_wc-settings' ) {
64 $css = '
65 table.wc_gateways .pos_status, table.wc_gateways .pos_enabled { text-align: center; }
66 table.wc_gateways .pos_status .tips, table.wc_gateways .pos_enabled .tips { margin: 0 auto; }
67 .status-disabled:before { font-family:WooCommerce; speak:none; font-weight:400; font-variant:normal; text-transform:none; line-height:1; -webkit-font-smoothing:antialiased; margin:0; text-indent:0; position:absolute; top:0;left:0; width:100%; height:100%; text-align:center; content: "\e602"; color:#E0E0E0; }
68 ';
69 wp_add_inline_style( 'wp-admin', $css );
70 }
71
72 }
73
74 }