/wp-content/plugins/the-events-calendar/src/views/blocks/parts/details.php

https://github.com/livinglab/openlab · PHP · 180 lines · 119 code · 29 blank · 32 comment · 13 complexity · 736ded348e4c14ac10c2ed8e01e54ae1 MD5 · raw file

  1. <?php
  2. /**
  3. * Details template part for the Block Classic Event Details
  4. *
  5. * Override this template in your own theme by creating a file at:
  6. * [your-theme]/tribe/events/blocks/parts/details.php
  7. *
  8. * See more documentation about our Blocks Editor templating system.
  9. *
  10. * @link http://evnt.is/1aiy
  11. *
  12. * @version 4.7
  13. *
  14. */
  15. $event_id = Tribe__Main::post_id_helper();
  16. $time_format = get_option( 'time_format', Tribe__Date_Utils::TIMEFORMAT );
  17. $time_range_separator = tribe_get_option( 'timeRangeSeparator', ' - ' );
  18. $show_time_zone = tribe_get_option( 'tribe_events_timezones_show_zone', false );
  19. $local_start_time = tribe_get_start_date( $event_id, true, Tribe__Date_Utils::DBDATETIMEFORMAT );
  20. $time_zone_label = Tribe__Events__Timezones::is_mode( 'site' ) ? Tribe__Events__Timezones::wp_timezone_abbr( $local_start_time ) : Tribe__Events__Timezones::get_event_timezone_abbr( $event_id );
  21. $start_datetime = tribe_get_start_date();
  22. $start_date = tribe_get_start_date( null, false );
  23. $start_time = tribe_get_start_date( null, false, $time_format );
  24. $start_ts = tribe_get_start_date( null, false, Tribe__Date_Utils::DBDATEFORMAT );
  25. $end_datetime = tribe_get_end_date();
  26. $end_date = tribe_get_display_end_date( null, false );
  27. $end_time = tribe_get_end_date( null, false, $time_format );
  28. $end_ts = tribe_get_end_date( null, false, Tribe__Date_Utils::DBDATEFORMAT );
  29. $time_formatted = null;
  30. if ( $start_time == $end_time ) {
  31. $time_formatted = esc_html( $start_time );
  32. } else {
  33. $time_formatted = esc_html( $start_time . $time_range_separator . $end_time );
  34. }
  35. /**
  36. * Returns a formatted time for a single event
  37. *
  38. * @var string Formatted time string
  39. * @var int Event post id
  40. */
  41. $time_formatted = apply_filters( 'tribe_events_single_event_time_formatted', $time_formatted, $event_id );
  42. /**
  43. * Returns the title of the "Time" section of event details
  44. *
  45. * @var string Time title
  46. * @var int Event post id
  47. */
  48. $time_title = apply_filters( 'tribe_events_single_event_time_title', __( 'Time:', 'the-events-calendar' ), $event_id );
  49. $cost = tribe_get_formatted_cost();
  50. $website = tribe_get_event_website_link( $event_id );
  51. ?>
  52. <div class="tribe-events-meta-group tribe-events-meta-group-details">
  53. <h3 class="tribe-events-single-section-title">
  54. <?php if ( empty( $attributes['detailsTitle'] ) ) : ?>
  55. <?php esc_html_e( 'Details', 'the-events-calendar' ); ?>
  56. <?php else : ?>
  57. <?php echo is_array( $attributes['detailsTitle'] ) ? esc_html( reset( $attributes['detailsTitle'] ) ) : esc_html( $attributes['detailsTitle'] ); ?>
  58. <?php endif; ?>
  59. </h3>
  60. <dl>
  61. <?php
  62. do_action( 'tribe_events_single_meta_details_section_start' );
  63. // All day (multiday) events
  64. if ( tribe_event_is_all_day() && tribe_event_is_multiday() ) :
  65. ?>
  66. <dt> <?php esc_html_e( 'Start:', 'the-events-calendar' ); ?> </dt>
  67. <dd>
  68. <abbr class="tribe-events-abbr tribe-events-start-datetime published dtstart" title="<?php echo esc_attr( $start_ts ); ?>"> <?php echo esc_html( $start_date ); ?> </abbr>
  69. </dd>
  70. <dt> <?php esc_html_e( 'End:', 'the-events-calendar' ); ?> </dt>
  71. <dd>
  72. <abbr class="tribe-events-abbr dtend" title="<?php echo esc_attr( $end_ts ); ?>"> <?php echo esc_html( $end_date ); ?> </abbr>
  73. </dd>
  74. <?php
  75. // All day (single day) events
  76. elseif ( tribe_event_is_all_day() ):
  77. ?>
  78. <dt> <?php esc_html_e( 'Date:', 'the-events-calendar' ); ?> </dt>
  79. <dd>
  80. <abbr class="tribe-events-abbr tribe-events-start-datetime published dtstart" title="<?php echo esc_attr( $start_ts ); ?>"> <?php echo esc_html( $start_date ); ?> </abbr>
  81. </dd>
  82. <?php
  83. // Multiday events
  84. elseif ( tribe_event_is_multiday() ) :
  85. ?>
  86. <dt> <?php esc_html_e( 'Start:', 'the-events-calendar' ); ?> </dt>
  87. <dd>
  88. <abbr class="tribe-events-abbr updated published dtstart" title="<?php echo esc_attr( $start_ts ); ?>"> <?php echo esc_html( $start_datetime ); ?> </abbr>
  89. <?php if ( $show_time_zone ) : ?>
  90. <span class="tribe-events-abbr tribe-events-time-zone published"><?php echo esc_html( $time_zone_label ); ?></span>
  91. <?php endif; ?>
  92. </dd>
  93. <dt> <?php esc_html_e( 'End:', 'the-events-calendar' ); ?> </dt>
  94. <dd>
  95. <abbr class="tribe-events-abbr dtend" title="<?php echo esc_attr( $end_ts ); ?>"> <?php echo esc_html( $end_datetime ); ?> </abbr>
  96. <?php if ( $show_time_zone ) : ?>
  97. <span class="tribe-events-abbr tribe-events-time-zone published"><?php echo esc_html( $time_zone_label ); ?></span>
  98. <?php endif; ?>
  99. </dd>
  100. <?php
  101. // Single day events
  102. else :
  103. ?>
  104. <dt> <?php esc_html_e( 'Date:', 'the-events-calendar' ); ?> </dt>
  105. <dd>
  106. <abbr class="tribe-events-abbr tribe-events-start-date published dtstart" title="<?php echo esc_attr( $start_ts ); ?>"> <?php echo esc_html( $start_date ); ?> </abbr>
  107. </dd>
  108. <dt> <?php echo esc_html( $time_title ); ?> </dt>
  109. <dd>
  110. <div class="tribe-events-abbr tribe-events-start-time published dtstart" title="<?php echo esc_attr( $end_ts ); ?>">
  111. <?php echo $time_formatted; ?>
  112. <?php if ( $show_time_zone ) : ?>
  113. <span class="tribe-events-abbr tribe-events-time-zone published"><?php echo esc_html( $time_zone_label ); ?></span>
  114. <?php endif; ?>
  115. </div>
  116. </dd>
  117. <?php endif ?>
  118. <?php
  119. // Event Cost
  120. if ( ! empty( $cost ) ) : ?>
  121. <dt> <?php esc_html_e( 'Cost:', 'the-events-calendar' ); ?> </dt>
  122. <dd class="tribe-events-event-cost"> <?php echo esc_html( $cost ); ?> </dd>
  123. <?php endif ?>
  124. <?php
  125. echo tribe_get_event_categories(
  126. get_the_id(),
  127. [
  128. 'before' => '',
  129. 'sep' => ', ',
  130. 'after' => '',
  131. 'label' => null, // An appropriate plural/singular label will be provided
  132. 'label_before' => '<dt class="tribe-events-event-categories-label">',
  133. 'label_after' => '</dt>',
  134. 'wrap_before' => '<dd class="tribe-events-event-categories">',
  135. 'wrap_after' => '</dd>',
  136. ]
  137. );
  138. ?>
  139. <?php
  140. /* Translators: %s: Event (singular) */
  141. tribe_meta_event_tags( sprintf( esc_html__( '%s Tags:', 'the-events-calendar' ), tribe_get_event_label_singular() ), ', ', true );
  142. ?>
  143. <?php
  144. // Event Website
  145. if ( ! empty( $website ) ) : ?>
  146. <dt> <?php esc_html_e( 'Website:', 'the-events-calendar' ); ?> </dt>
  147. <dd class="tribe-events-event-url"> <?php echo $website; ?> </dd>
  148. <?php endif ?>
  149. <?php do_action( 'tribe_events_single_meta_details_section_end' ); ?>
  150. </dl>
  151. </div>