Advertisement
wpgenie

show real names in lottery history tab

Mar 13th, 2023
454
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 5.47 KB | None | 0 0
  1. <?php
  2. /**
  3.  * Lottery history tab template
  4.  *
  5.  * This template can be overridden by copying it to yourtheme/woocommerce/single-product/tabs/lottery-history.php
  6.  *
  7.  */
  8.  
  9. if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
  10.  
  11. global $woocommerce, $post, $product;
  12.  
  13. $lottery_winers = get_post_meta($post->ID, '_lottery_winners');
  14. $users_names = '';
  15. $use_answers = wc_lottery_use_answers( $post->ID );
  16. $use_ticket_numbers = get_post_meta( $post->ID , '_lottery_use_pick_numbers', true );
  17. $answers = maybe_unserialize( get_post_meta( $post->ID, '_lottery_pn_answers', true ) );
  18. $date_format = get_option( 'date_format' );
  19. $time_format = get_option( 'time_format' );
  20.  
  21. ?>
  22.  
  23. <h2><?php echo esc_html( __( 'Lottery History', 'wc-lottery-pn' ) ); ?></h2>
  24.  
  25.  
  26. <?php if(($product->is_closed() === TRUE ) and ($product->is_started() === TRUE )) : ?>
  27.    
  28.     <p><?php _e('Lottery has finished', 'wc-lottery-pn') ?></p>
  29.     <?php if ($product->get_lottery_fail_reason() == '1'){
  30.          _e('Lottery failed because there were no minimal number of participants', 'wc-lottery-pn');
  31.     } else{
  32.  
  33.         if ( count($lottery_winers) > 1 ) { ?>
  34.  
  35.            <p><?php _e('Lottery winners are', 'wc-lottery-pn') ?>: <?php foreach ($lottery_winers as $winner_id) {
  36.             if( intval( $winner_id ) > 0) {
  37.                     $users_names .= "<span>";
  38.                     $users_names .= get_userdata($winner_id)->first_name.' '.get_userdata($winner_id)->last_name;
  39.                     $users_names .= "</span>, ";
  40.                 }
  41.             } ?><?php echo rtrim( $users_names , ', '); ?></p>
  42.        
  43.         <?php } elseif( count($lottery_winers) === 1 ) {
  44.             $winner = reset($lottery_winers);
  45.  
  46.             if ( ! empty ( $winner ) ) { ?>
  47.             <p><?php _e('Lottery winner is:', 'wc-lottery-pn') ?> <span><?php echo get_userdata($winner)->first_name ?> <?php echo get_userdata($winner)->last_name ?></span></p>
  48.         <?php }
  49.         }
  50.     } ?>
  51.                            
  52. <?php endif; ?>
  53.  
  54. <?php if ( 'yes' === get_post_meta( $post->ID, '_lottery_instant_win', true ) ){
  55.  
  56.             $lottery_instant_instant_winners = get_post_meta( $post->ID, '_lottery_instant_instant_winners');
  57.             $prizes = wc_lottery_get_instant_winning_prizes( $post->ID );
  58.             printf( _n( "This lottery has %d instant prize winner" , "This lottery has %d instant prize winners", count( $lottery_instant_instant_winners ) , 'wc-lottery-pn' ) , count( $lottery_instant_instant_winners ) ) ;
  59.             echo '<ol class="lottery-instant-winners">';
  60.             if ( $lottery_instant_instant_winners ){
  61.                     foreach ($lottery_instant_instant_winners as $key => $winner) {
  62.                         echo "<li>";
  63.                         esc_html_e(  $winner['prize'] );
  64.                         echo ' - ';
  65.                         _e('prize winner is:', 'wc-lottery-pn');
  66.                         echo ' <span>' . get_userdata( $winner['user_id'] )->first_name .' '. get_userdata( $winner['user_id'] )->last_name .'</span>';
  67.                         echo ', ';
  68.                         _e('ticket number:', 'wc-lottery-pn');
  69.                         echo ' <span>' .  $winner['ticket']  .'</span>';
  70.                         echo "</li>";
  71.  
  72.                     }
  73.                 }
  74.  
  75.             echo '</ol>';
  76.  
  77.         }
  78.         ?>
  79.  
  80. <table>
  81.     <thead>
  82.         <tr>
  83.             <th><?php _e('Date', 'wc-lottery-pn') ?></th>
  84.             <th><?php _e('User', 'wc-lottery-pn') ?></th>
  85.             <?php if ($use_ticket_numbers === 'yes' ) :?>
  86.                 <th><?php _e('Ticket number', 'wc-lottery-pn') ?></th>
  87.             <?php endif; ?>
  88.             <?php if ($use_answers === true && 'yes' === get_option('lottery_answers_in_history', 'yes')  && ( 'no' === get_option('lottery_answers_in_history_finished', 'no') || $product->is_closed() === TRUE ) ) :?>
  89.                 <th><?php _e('Answer', 'wc-lottery-pn') ?></th>
  90.             <?php endif; ?>
  91.         </tr>
  92.     </thead>
  93.     <?php
  94.         $lottery_history = $product->lottery_history();
  95.        
  96.         if( $lottery_history ) {         
  97.        
  98.             foreach ($lottery_history as $history_value) {
  99.  
  100.                 echo "<tr>";
  101.                 echo "<td class='date'>".date_i18n( $date_format, strtotime( $history_value->date )).' '.date_i18n( $time_format, strtotime( $history_value->date ))."</td>";
  102.                 echo $history_value->userid ? "<td class='username'>". ( get_userdata($history_value->userid) ? get_userdata($history_value->userid)->first_name.' '. get_userdata($history_value->userid)->last_name : '' ) ."</td>" : '';
  103.  
  104.                 if ($use_ticket_numbers === 'yes' ) {
  105.                     echo "<td class='ticket_number'>" . apply_filters( 'ticket_number_display_html' , $history_value->ticket_number, $product ) . "</td>";
  106.                 }
  107.                
  108.                 if ( $use_answers === true && 'yes' === get_option('lottery_answers_in_history', 'yes')  && ( 'no' === get_option('lottery_answers_in_history_finished', 'no') || $product->is_closed() === TRUE ) ){
  109.                     $answer = isset( $answers[$history_value->answer_id] ) ? $answers[$history_value->answer_id] : false;
  110.                     echo "<td class='answer'>";
  111.                     echo $answer !== true && isset( $answer['text'] ) ? $answer['text'] : "" ;
  112.                     echo "</td>";
  113.                 }
  114.                
  115.                 echo "</tr>";
  116.             }
  117.        
  118.         }
  119.     ?> 
  120.     <tr class="start">
  121.             <?php
  122.            
  123.             $lottery_dates_to = $product->get_lottery_dates_from();
  124.  
  125.  
  126.             if ($product->is_started() === TRUE ){
  127.                 echo '<td class="date">'.date_i18n( $date_format,  strtotime( $lottery_dates_to )).' '.date_i18n( $time_format,  strtotime( $lottery_dates_to )).'</td>';              
  128.                 echo '<td class="started">';
  129.                 esc_html_e( 'Lottery started', 'wc-lottery-pn' );
  130.                 echo '</td>';
  131.  
  132.             } else {
  133.                 echo '<td class="date">'.date_i18n( $date_format,  strtotime( $lottery_dates_to )).' '.date_i18n( $time_format,  strtotime( $lottery_dates_to )).'</td>';              
  134.                 echo '<td class="starting">';
  135.                 esc_html_e( 'Lottery starting', 'wc-lottery-pn' );
  136.                 echo '</td>' ;
  137.             }?>
  138.     </tr>
  139. </table>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement