add_action( 'admin_head', 'custom_add_instant_wins',99); function custom_add_instant_wins(){ global $product, $wpdb, $post; $history = false; if ( empty( $_REQUEST['lottery-instant-winners-check'] ) ) { return; } if ( 'yes' !== get_post_meta( $post->ID, '_lottery_instant_win', true ) ){ return; } $product = wc_get_product( $post->ID); $product_id = $post->ID; if ( $product) { $product_id = $post->ID; $wheredatefrom = ''; $datefrom = FALSE; $relisteddate = get_post_meta( $product_id, '_lottery_relisted', true ); if($relisteddate){ $wheredatefrom =" AND CAST(date AS DATETIME) > '$datefrom' "; } $history = $wpdb->get_results( 'SELECT * FROM '.$wpdb->prefix.'wc_lottery_log LEFT JOIN '.$wpdb->prefix.'wc_lottery_pn_log on '.$wpdb->prefix.'wc_lottery_log.id = '.$wpdb->prefix.'wc_lottery_pn_log.log_id WHERE '.$wpdb->prefix.'wc_lottery_log.lottery_id =' . $product_id . $wheredatefrom.' ORDER BY `date` DESC'); } if ( $history ){ foreach ($history as $value) { if( wc_lottery_use_answers( $product_id ) && 'yes' === get_option( 'lottery_remove_ticket_wrong_answer' , 'no' ) ){ $true_answer = false; $true_answers = wc_lottery_pn_get_true_answers( $product_id ); if( $value->key == __( 'Answer', 'wc-lottery-pn' ) ){ $answers_ids = array_keys( $true_answers ); $true_answer = in_array( $value->answer_id, $answers_ids ); } if ( ! $true_answer ){ continue; } } $ticket_number = apply_filters( 'ticket_number_display_html' , $value->ticket_number, $product ) ; $instant_ticket_numbers_prizes = maybe_unserialize( get_post_meta( $product_id, '_lottery_instant_ticket_numbers_prizes', true ) ); if ( ! $instant_ticket_numbers_prizes ){ $instant_ticket_numbers_prizes = wc_lottery_get_lottery_instant_ticket_numbers_prizes_field( $product_id ); } $instant_winning_tickets = array(); if ( ! empty( $instant_ticket_numbers_prizes ) ) { foreach ( $instant_ticket_numbers_prizes as $key => $instant_winner ) { if( isset( $instant_winner['ticket'] ) && $instant_winner['ticket'] == $value->ticket_number ){ $data = array( 'ticket' => $instant_winner['ticket'], 'user_id' => $value->userid, 'order_id' => $value->orderid, 'prize' => $instant_winner['prize'], 'product_id' => $product_id ); $instant_winners = get_post_meta ( $product_id, '_lottery_instant_instant_winners'); if ( ! in_array( $data , $instant_winners ) ){ add_post_meta( $product_id, '_lottery_instant_instant_winners', $data ); } } } } } } }