View difference between Paste ID: NKXNunXi and NvVj6YCU
SHOW: | | - or go back to the newest paste.
1
<?php
2
/**
3
* Custom tickets.php template re:
4
* http://tri.be/support/forums/topic/disable-add-to-google-calendar-and-ical-import-when-tickets-are-unavailable/
5
*/
6
7
global $woocommerce, $wooticket_stock;
8
$wooticket_stock = 0;
9
10
?>
11
12
<form action="<?php echo esc_url( add_query_arg( 'wootickets_process', 1, $woocommerce->cart->get_cart_url() ) ); ?>"
13
	  class="cart" method="post"
14
	  enctype='multipart/form-data'>
15
	<table width="100%" class="tribe-events-tickets">
16
		<?php
17
18
		$is_there_any_product         = false;
19
		$is_there_any_product_to_sell = false;
20
21
		$gmt_offset = ( get_option( 'gmt_offset' ) >= '0' ) ? ' +' . get_option( 'gmt_offset' ) : " " . get_option( 'gmt_offset' );
22
		$gmt_offset = str_replace( array( '.25', '.5', '.75' ), array( ':15', ':30', ':45' ), $gmt_offset );
23
24
		ob_start();
25
		foreach ( $tickets as $ticket ) {
26
27
			global $product;
28
29
			if ( class_exists( 'WC_Product_Simple' ) ) {
30
				$product = new WC_Product_Simple( $ticket->ID );
31
			} else {
32
				$product = new WC_Product( $ticket->ID );
33
			}
34
35
			$end_date = $ticket->end_date;
36
			if ( empty( $ticket->end_date ) ) {
37
38
				$event_end_date = tribe_get_end_date();
39
40
				if ( tribe_get_all_day( get_the_ID() ) )
41
					$event_end_date = date( get_option( 'date_format' ) . ' ' . get_option( 'time_format' ), strtotime( TribeDateUtils::endOfDay( $event_end_date ) ) );
42
43
				$end_date = apply_filters( 'wootickets_default_end_date', $event_end_date, $ticket->ID );
44
45
				if ( method_exists( 'DateTime', 'createFromFormat' ) ) {
46
					$end_date = DateTime::createFromFormat( get_option( 'date_format' ) . ' ' . get_option( 'time_format' ), $end_date );
47
				} else {
48
					$end_date = new DateTime( date( get_option( 'date_format' ) . ' ' . get_option( 'time_format' ), strtotime( $end_date ) ) );
49
				}
50
51
				if ( !empty( $end_date ) )
52
					$end_date = $end_date->format( 'Y-m-d g:i a' );
53
			}
54
			$end_date = strtotime( $end_date . $gmt_offset );
55
56
			$start_date = null;
57
			if ( !empty( $ticket->start_date ) )
58
				$start_date = strtotime( $ticket->start_date . $gmt_offset );
59
//				if ( !empty( $ticket->start_date ) ) {
60
//					$start_date = DateTime::createFromFormat( get_option( 'date_format' ), $ticket->start_date );
61
//					$start_date = strtotime( $start_date->format( 'Y-m-d' ) . $gmt_offset );
62
//				}
63
64
65
			if ( ( !$product->is_in_stock() ) || ( empty( $start_date ) || time() > $start_date ) && ( time() < $end_date ) ) {
66
67
				$is_there_any_product = true;
68
69
				echo sprintf( "<input type='hidden' name='product_id[]' value='%d'>", $ticket->ID );
70
71
				echo "<tr>";
72
				echo "<td width='75' class='woocommerce'>";
73
74
75
				if ( $product->is_in_stock() ) {
76
77
					woocommerce_quantity_input( array( 'input_name'  => 'quantity_' . $ticket->ID,
78
						'input_value' => 0,
79
						'min_value'   => 0,
80
						'max_value'   => $product->backorders_allowed() ? '' : $product->get_stock_quantity(), ) );
81
82
					$is_there_any_product_to_sell = true;
83
84
				} else {
85
					echo "<span class='tickets_nostock'>" . esc_html__( 'Out of stock!', 'tribe-wootickets' ) . "</span>";
86
				}
87
				echo "</td>";
88
89
				echo "<td nowrap='nowrap' class='tickets_name'>";
90
				echo $ticket->name;
91
				echo "</td>";
92
93
				echo "<td class='tickets_price'>";
94
				echo $product->get_price_html();
95
				echo "</td>";
96
97
				echo "<td class='tickets_description'>";
98
				echo $ticket->description;
99
				echo "</td>";
100
101
				echo "<td class='tickets_description'> Available Spaces: ";
102
				echo $ticket->stock;
103
				echo "</td>";
104
105
				$wooticket_stock += $ticket->stock;
106
107
				echo "</tr>";
108
			}
109
110
		}
111
		$contents = ob_get_clean();
112
		if ( $is_there_any_product ) {
113
			?>
114-
					<td colspan="4" class='woocommerce'>
114+
115
			<?php echo $contents; ?>
116
			<?php if ( $is_there_any_product_to_sell ) { ?>
117
				<tr>
118
					<td colspan="5" class='woocommerce'>
119
120
						<button type="submit"
121
								class="button alt"><?php esc_html_e( 'Add to cart', 'tribe-wootickets' );?></button>
122
					</td>
123
				</tr>
124
			<?php
125
			}
126
		}
127
		?>
128
129
	</table>
130
131
</form>