phototours4u

TicketSelector PHP

Jul 6th, 2022
31
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 18.40 KB | None | 0 0
  1. <div id="tkt-slctr-tbl-wrap-dv-<?php echo $EVT_ID; ?>" class="tkt-slctr-tbl-wrap-dv" >
  2.     <table id="tkt-slctr-tbl-<?php echo $EVT_ID; ?>" class="tkt-slctr-tbl" border="0" cellspacing="0" cellpadding="0">
  3.         <thead>
  4.             <tr>
  5.                 <th scope="col" width=""><?php _e( 'Available Tickets', 'event_espresso' ); ?></th>
  6.                 <th scope="col" width="22.5%"><?php _e( 'Price', 'event_espresso' ); ?> <span class="smaller-text no-bold"><?php _e( '(each)', 'event_espresso' ); ?></span></th>
  7.                 <th scope="col" width="17.5%" class="cntr"><?php _e( 'Qty*', 'event_espresso' ); ?></th>
  8.             </tr>
  9.         </thead>
  10.         <tbody>
  11. <?php
  12.  
  13. $row = 1;
  14. $ticket_count = count( $tickets );
  15. foreach ( $tickets as $TKT_ID => $ticket ) {
  16. //  d( $ticket );
  17.     $max = $ticket->max();
  18.     $min = 0;
  19.     $remaining = $ticket->remaining();
  20.     if ( $ticket->is_on_sale() && $ticket->is_remaining() ) {
  21. //      if ( $max_atndz > 1 ) {
  22.             // offer the number of $tickets_remaining or $max_atndz, whichever is smaller
  23.             $max = min( $remaining, $max_atndz );
  24.             // but... we also want to restrict the number of tickets by the ticket max setting,
  25.             // however, the max still can't be higher than what was just set above
  26.             $max = $ticket->max() > 0 ? min( $ticket->max(), $max ) : $max;
  27.             // and we also want to restrict the minimum number of tickets by the ticket min setting
  28.             $min = $ticket->min() > 0 ? $ticket->min() : 0;
  29. //      }
  30.     }
  31.  
  32.     $ticket_price = apply_filters( 'FHEE__ticket_selector_chart_template__ticket_price', $ticket->get_ticket_total_with_taxes() );
  33.  
  34.     $tkt_status = $ticket->ticket_status();
  35.     // check ticket status
  36.     switch ( $tkt_status ) {
  37.         // sold_out
  38.         case EE_Ticket::sold_out :
  39.             $ticket_status = '<span class="ticket-sales-sold-out">' . $ticket->ticket_status( TRUE ) . '</span>';
  40.             $status_class = 'ticket-sales-sold-out lt-grey-text';
  41.         break;
  42.         // expired
  43.         case EE_Ticket::expired :
  44.             $ticket_status = '<span class="ticket-sales-expired">' . $ticket->ticket_status( TRUE ) . '</span>';
  45.             $status_class = 'ticket-sales-expired lt-grey-text';
  46.         break;
  47.         // archived
  48.         case EE_Ticket::archived :
  49.             $ticket_status = '<span class="archived-ticket">' . $ticket->ticket_status( TRUE ) . '</span>';
  50.             $status_class = 'archived-ticket hidden';
  51.         break;
  52.         // pending
  53.         case EE_Ticket::pending :
  54.             $ticket_status = '<span class="ticket-pending">' . $ticket->ticket_status( TRUE ) . '</span>';
  55.             $status_class = 'ticket-pending';
  56.         break;
  57.         // onsale
  58.         case EE_Ticket::onsale :
  59.             $ticket_status = '<span class="ticket-on-sale">' . $ticket->ticket_status( TRUE ) . '</span>';
  60.             $status_class = 'ticket-on-sale';
  61.         break;
  62.     }
  63.  
  64. ?>
  65.             <tr class="tckt-slctr-tbl-tr <?php echo $status_class; ?>">
  66.                 <td class="tckt-slctr-tbl-td-name">
  67.                     <b><?php echo $ticket->get_pretty('TKT_name');?></b>
  68.                     <a id="display-tckt-slctr-tkt-details-<?php echo $EVT_ID . '-' . $TKT_ID; ?>" class="display-tckt-slctr-tkt-details display-the-hidden lt-grey-text smaller-text hide-if-no-js" rel="tckt-slctr-tkt-details-<?php echo $EVT_ID . '-' . $TKT_ID; ?>" title="<?php _e( 'click to show additional ticket details', 'event_espresso' ); ?>">
  69.                         <?php echo sprintf( __( 'show%1$sdetails%1$s+', 'event_espresso' ), '&nbsp;' ); ?>
  70.                     </a>
  71.                     <a id="hide-tckt-slctr-tkt-details-<?php echo $EVT_ID . '-' . $TKT_ID; ?>" class="hide-tckt-slctr-tkt-details hide-the-displayed lt-grey-text smaller-text hide-if-no-js" rel="tckt-slctr-tkt-details-<?php echo $EVT_ID . '-' . $TKT_ID; ?>" title="<?php _e( 'click to hide additional ticket details', 'event_espresso' ); ?>" style="display:none;">
  72.                         <?php echo sprintf( __( 'hide%1$sdetails%1$s-', 'event_espresso' ), '&nbsp;' ); ?>
  73.                     </a>
  74.                 <?php
  75. //echo '<br/><b>$max_atndz : ' . $max_atndz . '</b>';
  76. //echo '<br/><b>$max : ' . $max . '</b>';
  77. //echo '<br/><b>$min : ' . $min . '</b>';
  78. //echo '<br/><b>$ticket->is_on_sale() : ' . $ticket->is_on_sale() . '</b>';
  79. //echo '<br/><b>$ticket->available() : ' . $ticket->available() . '</b>';
  80. //echo '<br/><b>$remaining : ' . $remaining . '</b>';
  81. //echo '<br/><b> $ticket->ticket_status() : ' .  $tkt_status . '</b>';
  82. //echo '<br/><b> $ticket->uses() : ' .  $ticket->uses() . '</b>';
  83.                 ?>
  84.                 </td>
  85.                 <td class="tckt-slctr-tbl-td-price jst-rght"><?php echo EEH_Template::format_currency( $ticket_price ); ?></td>
  86.                 <td class="tckt-slctr-tbl-td-qty cntr">
  87.             <?php
  88.                 $hidden_input_qty = $max_atndz > 1 ? TRUE : FALSE;
  89.                 // sold out or other status ?
  90.                 if ( $tkt_status == EE_Ticket::sold_out || $remaining == 0 ) {
  91.                     echo '<span class="sold-out">' . __( 'Sold&nbsp;Out', 'event_espresso' ) . '</span>';
  92.                 } else if ( $tkt_status == EE_Ticket::expired || $tkt_status == EE_Ticket::archived ) {
  93.                     echo $ticket_status;
  94.                 } else if ( $tkt_status == EE_Ticket::pending ) {
  95.                 ?>
  96.                 <div class="ticket-pending-pg">
  97.                     <span class="ticket-pending"><?php _e( 'Goes&nbsp;On&nbsp;Sale', 'event_espresso' ); ?></span><br/>
  98.                     <span class="small-text"><?php echo date_i18n( 'M d, Y', strtotime( $ticket->start_date() )); ?></span>
  99.                 </div>
  100.                 <?php
  101.                 // min qty purchasable is less than tickets available
  102.                 } else if ( $ticket->min() > $remaining ) {
  103.                 ?>
  104.                 <div class="archived-ticket-pg">
  105.                     <span class="archived-ticket small-text"><?php _e( 'Not Available', 'event_espresso' ); ?></span><br/>
  106.                 </div>
  107.                 <?php
  108.                 // if only one attendee is allowed to register at a time
  109.                 } else if ( $max_atndz  == 1 ) {
  110.                     // display submit button since we have tickets availalbe
  111.                     add_filter( 'FHEE__EE_Ticket_Selector__display_ticket_selector_submit', '__return_true' );
  112.             ?>
  113.                 <input type="radio" name="tkt-slctr-qty-<?php echo $EVT_ID; ?>" id="ticket-selector-tbl-qty-slct-<?php echo $EVT_ID . '-' . $row; ?>" class="ticket-selector-tbl-qty-slct" value="<?php echo $row . '-'; ?>1" <?php echo $row == 1 ? ' checked="checked"' : ''; ?> />
  114.         <?php
  115.                     $hidden_input_qty = FALSE;
  116.  
  117.                 } else if ( $max_atndz  == 0 ) {
  118.                     echo '<span class="sold-out">' . __( 'Closed', 'event_espresso' ) . '</span>';
  119.                 } elseif ( $max > 0 ) {
  120.                     // display submit button since we have tickets availalbe
  121.                     add_filter( 'FHEE__EE_Ticket_Selector__display_ticket_selector_submit', '__return_true' );
  122.  
  123.             ?>
  124.                 <select name="tkt-slctr-qty-<?php echo $EVT_ID; ?>[]" id="ticket-selector-tbl-qty-slct-<?php echo $EVT_ID . '-' . $row; ?>" class="ticket-selector-tbl-qty-slct">
  125.                 <?php if ( $min != 0 ) { ?>
  126.                     <option value="0">&nbsp;0&nbsp;</option>
  127.                 <?php } ?>
  128.                 <?php
  129.                     // offer ticket quantities from the min to the max
  130.                     for ( $i = $min; $i <= $max; $i++) {
  131.                 ?>
  132.                     <option value="<?php echo $i; ?>">&nbsp;<?php echo $i; ?>&nbsp;</option>
  133.                 <?php } ?>
  134.                 </select>
  135.             <?php
  136.                     $hidden_input_qty = FALSE;
  137.  
  138.                 }
  139.                 // depending on group reg we need to change the format for qty
  140.                 if ( $hidden_input_qty ) {
  141.                 ?>
  142.                 <input type="hidden" name="tkt-slctr-qty-<?php echo $EVT_ID; ?>[]" value="0" />
  143.                 <?php
  144.                 }
  145.             ?>
  146.                     <input type="hidden" name="tkt-slctr-ticket-id-<?php echo $EVT_ID; ?>[]" value="<?php echo $TKT_ID; ?>" />
  147.                     <input type="hidden" name="tkt-slctr-ticket-obj-<?php echo $EVT_ID; ?>[]" value="<?php echo base64_encode( serialize( $ticket )); ?>" />
  148.  
  149.                 </td>
  150.             </tr>
  151.             <tr class="tckt-slctr-tkt-details-tr">
  152.                 <td class="tckt-slctr-tkt-details-td" colspan="4" style="padding: 0;border-top:none;">
  153.                     <div id="tckt-slctr-tkt-details-<?php echo $EVT_ID . '-' . $TKT_ID; ?>-dv" class="tckt-slctr-tkt-details-dv" style="display: none;">
  154.  
  155.                         <section class="tckt-slctr-tkt-details-sctn">
  156.                             <h3><?php _e( 'Ticket Details', 'event_espresso' ); ?></h3>
  157.                             <p><?php echo $ticket->description(); ?></p>
  158.                         </section>
  159.  
  160.                         <section class="tckt-slctr-tkt-price-sctn">
  161.                             <h5><?php _e( 'Ticket Price Breakdown', 'event_espresso' ); ?></h5>
  162.                             <div class="tckt-slctr-tkt-details-tbl-wrap-dv">
  163.                                 <table class="tckt-slctr-tkt-details-tbl">
  164.                                     <thead>
  165.                                         <tr>
  166.                                             <th width="30%" class=""><span class="small-text"><?php _e( 'Name', 'event_espresso' ); ?></span></th>
  167.                                             <th width="" class="jst-cntr"><span class="small-text"><?php _e( 'Description', 'event_espresso' ); ?></span></th>
  168.                                             <th width="25%" class="jst-rght"><span class="small-text"><?php _e( 'Amount', 'event_espresso' ); ?></span></th>
  169.                                         </tr>
  170.                                     </thead>
  171.                                     <tbody>
  172.                                         <?php if ( $ticket->base_price() instanceof EE_Price ) : ?>
  173.                                         <tr>
  174.                                             <td class="small-text"><b><?php echo $ticket->base_price()->name(); ?></b></td>
  175.                                             <td class="small-text"><?php echo $ticket->base_price()->desc(); ?></td>
  176.                                             <td class="jst-rght small-text"><?php echo $ticket->base_price()->pretty_price(); ?></td>
  177.                                         </tr>
  178.                                         <?php
  179.                                                 $running_total = $ticket->base_price()->amount();
  180.                                             else :
  181.                                                 $running_total = 0;
  182.                                             endif;
  183.                                             // now add price modifiers
  184.                                             foreach ( $ticket->price_modifiers() as $price_mod ) : ?>
  185.                                         <tr>
  186.                                             <td class="jst-rght small-text"><?php echo $price_mod->name(); ?></td>
  187.                                         <?php if ( $price_mod->is_percent() ) : ?>
  188.                                             <td class="jst-rght small-text"><?php echo $price_mod->amount(); ?>%</td>
  189.                                             <?php
  190.                                                 $new_sub_total = $running_total * ( $price_mod->amount() / 100 );
  191.                                                 $new_sub_total = $price_mod->is_discount() ? $new_sub_total * -1 : $new_sub_total;
  192.                                             ?>
  193.                                             <td class="jst-rght small-text"><?php echo EEH_Template::format_currency( $new_sub_total ); ?></td>
  194.                                             <?php $running_total += $new_sub_total; ?>
  195.                                         <?php else : ?>
  196.                                             <td class="small-text"><?php echo $price_mod->desc(); ?></td>
  197.                                             <td class="jst-rght small-text"><?php echo EEH_Template::format_currency( $price_mod->is_discount() ? $price_mod->amount() * -1 : $price_mod->amount() ); ?></td>
  198.                                             <?php $running_total += $price_mod->is_discount() ? $price_mod->amount() * -1 : $price_mod->amount(); ?>
  199.                                         <?php endif; ?>
  200.                                         </tr>
  201.                                     <?php endforeach; ?>
  202.                                     <?php if ( $ticket->taxable() ) : ?>
  203.                                         <?php //$ticket_subtotal =$ticket->get_ticket_subtotal(); ?>
  204.                                         <tr>
  205.                                             <td colspan="2" class="jst-rght small-text"><b><?php _e( 'subtotal', 'event_espresso' ); ?></b></td>
  206.                                             <td class="jst-rght small-text"><b><?php echo  EEH_Template::format_currency( $running_total ); ?></b></td>
  207.                                         </tr>
  208.  
  209.                                     <?php
  210.                                     foreach ( $ticket->get_ticket_taxes_for_admin() as $tax ) : ?>
  211.                                         <tr>
  212.                                             <td class="jst-rght small-text"><?php echo $tax->name(); ?></td>
  213.                                             <td class="jst-rght small-text"><?php echo $tax->amount(); ?>%</td>
  214.                                             <?php $tax_amount = $running_total * ( $tax->amount() / 100 ); ?>
  215.                                             <td class="jst-rght small-text"><?php echo EEH_Template::format_currency( $tax_amount ); ?></td>
  216.                                             <?php $running_total += $tax_amount; ?>
  217.                                         </tr>
  218.                                     <?php endforeach; ?>
  219.                                     <?php endif; ?>
  220.                                         <tr>
  221.                                             <td colspan="2" class="jst-rght small-text"><b><?php _e( 'Total Ticket Price', 'event_espresso' ); ?></b></td>
  222.                                             <td class="jst-rght small-text"><b><?php echo EEH_Template::format_currency( $running_total ); ?></b></td>
  223.                                         </tr>
  224.                                     </tbody>
  225.                                 </table>
  226.                             </div>
  227.                         </section>
  228.                         <br/>
  229.  
  230.                         <section class="tckt-slctr-tkt-sale-dates-sctn">
  231.                             <h5><?php _e( 'Ticket Sale Dates', 'event_espresso' ); ?></h5>
  232.                             <span class="drk-grey-text small-text no-bold"> - <?php _e( 'The dates when this ticket is available for purchase.', 'event_espresso' ); ?></span><br/>
  233.                             <span class="ticket-details-label-spn drk-grey-text"><?php _e( 'Goes On Sale:', 'event_espresso' ); ?></span><span class="dashicons dashicons-calendar"></span><?php echo date_i18n( 'l F jS, Y', strtotime( $ticket->start_date() )) . ' &nbsp; '; ?><span class="dashicons dashicons-clock"></span><?php echo date_i18n( 'g:i a', strtotime( $ticket->start_date() )) ; ?><br/>
  234.                             <span class="ticket-details-label-spn drk-grey-text"><?php _e( 'Sales End:', 'event_espresso' ); ?></span><span class="dashicons dashicons-calendar"></span><?php echo date_i18n( 'l F jS, Y', strtotime( $ticket->end_date() )) . ' &nbsp; '; ?><span class="dashicons dashicons-clock"></span><?php echo date_i18n( 'g:i a', strtotime( $ticket->end_date() )) ; ?><br/>
  235.                         </section>
  236.                         <br/>
  237.  
  238.                         <?php do_action( 'AHEE__ticket_selector_chart_template__after_ticket_date', $ticket ); ?>
  239.  
  240.                         <?php if ( $ticket->min() &&$ticket->max() ) : ?>
  241.                         <section class="tckt-slctr-tkt-quantities-sctn">
  242.                             <h5><?php _e( 'Purchasable Quantities', 'event_espresso' ); ?></h5>
  243.                             <span class="drk-grey-text small-text no-bold"> - <?php _e( 'The number of tickets that can be purchased per transaction (if available).', 'event_espresso' ); ?></span><br/>
  244.                             <span class="ticket-details-label-spn drk-grey-text"><?php _e( 'Minimum Qty:', 'event_espresso' ); ?></span><?php echo $ticket->min() > 0 ? $ticket->min() : 0; ?>
  245.                             <?php if ( $ticket->min() > $remaining ) { ?> &nbsp; <span class="important-notice small-text"><?php echo _e( 'The Minimum Quantity purchasable for this ticket exceeds the number of spaces remaining', 'event_espresso' ); ?></span><?php } ?><br/>
  246.                             <?php //$max = min( $max, $max_atndz );?>
  247.                             <span class="ticket-details-label-spn drk-grey-text"><?php _e( 'Maximum Qty:', 'event_espresso' ); ?></span><?php echo $ticket->max() === INF ? __( 'no limit', 'event_espresso' ) : max( $ticket->max(), 1 ); ?><br/>
  248.                         </section>
  249.                         <br/>
  250.                         <?php endif; ?>
  251.  
  252.                         <?php if ( $ticket->uses() !== INF && ( ! defined( 'EE_DECAF' ) || EE_DECAF !== TRUE )) : ?>
  253.                         <section class="tckt-slctr-tkt-uses-sctn">
  254.                             <h5><?php _e( 'Event Date Ticket Uses', 'event_espresso' ); ?></h5>
  255.                             <span class="drk-grey-text small-text no-bold"> - <?php _e( 'The number of separate event datetimes (see table below) that this ticket can be used to gain admittance to.<br/> <strong>Admission is always one person per ticket.</strong>', 'event_espresso' ); ?></span><br/>
  256.                             <span class="ticket-details-label-spn drk-grey-text"><?php _e( '# Datetimes:', 'event_espresso' ); ?></span><?php  echo $ticket->e( 'TKT_uses' );?><br/>
  257.                         </section>
  258.                         <?php endif; ?>
  259.  
  260.                         <?php if ( $datetimes = $ticket->datetimes_ordered($event_is_expired,false)) : ?>
  261.                         <section class="tckt-slctr-tkt-datetimes-sctn">
  262.                             <h5><?php _e( 'Event Access', 'event_espresso' ); ?></h5>
  263.                             <span class="drk-grey-text small-text no-bold"> - <?php _e( 'This ticket allows access to the following event dates and times. "Remaining" shows the number of this ticket type left:', 'event_espresso' ); ?></span>
  264.                             <div class="tckt-slctr-tkt-details-tbl-wrap-dv">
  265.                                 <table class="tckt-slctr-tkt-details-tbl">
  266.                                     <thead>
  267.                                         <tr>
  268.                                             <th valign="middle">
  269.                                                 <span class="dashicons dashicons-calendar"></span><span class="small-text"><?php _e( 'Event Date ', 'event_espresso' ); ?></span>
  270.                                             </th>
  271.                                             <th width="15%" valign="middle" class="">
  272.                                                 <span class="dashicons dashicons-clock"></span><span class="small-text"><?php _e( 'Time ', 'event_espresso' ); ?></span>
  273.                                             </th>
  274.                                             <th width="12.5%" valign="middle" class="cntr">
  275.                                                 <span class="smaller-text"><?php _e( 'This Ticket<br/>Sold', 'event_espresso' ); ?></span>
  276.                                             </th>
  277.                                             <th width="12.5%" valign="middle" class="cntr">
  278.                                                 <span class="smaller-text"><?php _e( 'This Ticket<br/>Left', 'event_espresso' ); ?></span>
  279.                                             </th>
  280.                                             <th width="12.5%" valign="middle" class="cntr">
  281.                                                 <span class="smaller-text"><?php _e( 'Total Tickets<br/>Sold', 'event_espresso' ); ?></span>
  282.                                             </th>
  283.                                             <th width="12.5%" valign="middle" class="cntr">
  284.                                                 <span class="smaller-text"><?php _e( 'Total Spaces<br/>Left', 'event_espresso' ); ?></span>
  285.                                             </th>
  286.                                         </tr>
  287.                                     </thead>
  288.                                     <tbody>
  289.                                     <?php foreach ( $datetimes as $datetime ) : ?>
  290.  
  291.                                     <tr>
  292.                                         <td class="small-text">
  293.                                             <?php $datetime_name = $datetime->name(); ?>
  294.                                             <?php echo ! empty( $datetime_name ) ? '<b>' . $datetime_name . '</b><br/>' : ''; ?>
  295.                                             <?php echo $datetime->date_range( 'l F jS, Y', __( ' to  ', 'event_espresso' )); ?>
  296.                                         </td>
  297.                                         <td class="cntr small-text">
  298.                                             <?php echo $datetime->time_range( NULL, __( ' to  ', 'event_espresso' )); ?>
  299.                                         </td>
  300.                                         <td class="cntr small-text">
  301.                                             <?php echo $ticket->sold(); ?>
  302.                                         </td>
  303.                                         <td class="cntr small-text">
  304.                                             <?php echo $ticket->qty() === INF ? '<span class="smaller-text">' .  __( 'unlimited ', 'event_espresso' ) . '</span>' : $ticket->qty() - $ticket->sold(); ?>
  305.                                         </td>
  306.                                         <td class="cntr small-text">
  307.                                             <?php echo $datetime->sold(); ?>
  308.                                         </td>
  309.                                 <?php $tkts_left = $datetime->sold_out() ? '<span class="sold-out smaller-text">' . __( 'Sold&nbsp;Out', 'event_espresso' ) . '</span>' : $datetime->spaces_remaining(); ?>
  310.                                         <td class="cntr small-text">
  311.                                             <?php echo $tkts_left === INF ? '<span class="smaller-text">' .  __( 'unlimited ', 'event_espresso' ) . '</span>' : $tkts_left; ?>
  312.                                         </td>
  313.                                     </tr>
  314.                                     <?php endforeach; ?>
  315.                                     </tbody>
  316.                                 </table>
  317.                             </div>
  318.                         </section>
  319.                         <br/>
  320.                         <?php endif; ?>
  321.  
  322.  
  323.                     </div>
  324.                 </td>
  325.             </tr>
  326. <?php
  327.         $row++;
  328.  
  329.     }
  330.  
  331. ?>
  332.  
  333.         </tbody>
  334.     </table>
  335.  
  336.     <input type="hidden" name="noheader" value="true" />
  337.     <input type="hidden" name="tkt-slctr-return-url-<?php echo $EVT_ID ?>" value="<?php echo $_SERVER['REQUEST_URI']?>" />
  338.     <input type="hidden" name="tkt-slctr-rows-<?php echo $EVT_ID; ?>" value="<?php echo $row - 1; ?>" />
  339.     <input type="hidden" name="tkt-slctr-max-atndz-<?php echo $EVT_ID; ?>" value="<?php echo $max_atndz; ?>" />
  340.     <input type="hidden" name="tkt-slctr-event-id" value="<?php echo $EVT_ID; ?>" />
  341.     <input type="hidden" name="tkt-slctr-event-<?php echo $EVT_ID; ?>" value="<?php echo base64_encode( serialize( $event )); ?>" />
  342.  
  343. <?php if ( $max_atndz > 0 ) { ?>
  344.     <p class="smaller-text lt-grey-text">* <?php echo sprintf( __( 'Please note that a maximum number of %d tickets can be purchased for this event per order.', 'event_espresso' ), $max_atndz );?></p>
  345. <?php } ?>
  346.  
  347.     <?php do_action( 'AHEE__ticket_selector_chart__template__after_ticket_selector', $EVT_ID ); ?>
  348.  
  349. </div>
  350.  
Add Comment
Please, Sign In to add comment