all-in-one-event-calendar/app/view/event/ticket.php
2017-11-09 17:36:04 +01:00

90 lines
3 KiB
PHP

<?php
/**
* This class renders the html for the event ticket.
*
* @author Time.ly Network Inc.
* @since 2.0
*
* @package AI1EC
* @subpackage AI1EC.View.Event
*/
class Ai1ec_View_Event_Ticket {
/**
* Create readable content for buy tickets/register link
*
* @param bool $long Set to false to use short message version
*
* @return string Message to be rendered on buy tickets link
*/
public function get_tickets_url_label( Ai1ec_Event $event, $long = true ) {
if ( $event->is_free() ) {
return ( $long )
? __( 'Register Now', AI1EC_PLUGIN_NAME )
: __( 'Register', AI1EC_PLUGIN_NAME );
}
$output = '';
if ( $long ) {
$output = apply_filters(
'ai1ec_buy_tickets_url_icon',
'<i class="ai1ec-fa ai1ec-fa-shopping-cart"></i>'
);
if ( ! empty( $output ) ) {
$output .= ' ';
}
}
$output .= ( $long )
? __( 'Buy Tickets', AI1EC_PLUGIN_NAME )
: __( 'Tickets', AI1EC_PLUGIN_NAME );
return $output;
}
/**
* Contact info as HTML
*/
public function get_contact_html( Ai1ec_Event $event ) {
$contact = '<div class="h-card">';
$has_contents = false;
if ( $event->get( 'contact_name' ) ) {
$contact .=
'<div class="ai1ec-contact-name p-name">' .
'<i class="ai1ec-fa ai1ec-fa-fw ai1ec-fa-user"></i> ' .
esc_html( $event->get( 'contact_name' ) ) .
'</div> ';
$has_contents = true;
}
if ( $event->get( 'contact_phone' ) ) {
$contact .=
'<div class="ai1ec-contact-phone p-tel">' .
'<i class="ai1ec-fa ai1ec-fa-fw ai1ec-fa-phone"></i> ' .
esc_html( $event->get( 'contact_phone' ) ) .
'</div> ';
$has_contents = true;
}
if ( $event->get( 'contact_email' ) ) {
$contact .=
'<div class="ai1ec-contact-email">' .
'<a class="u-email" href="mailto:' .
esc_attr( $event->get( 'contact_email' ) ) . '">' .
'<i class="ai1ec-fa ai1ec-fa-fw ai1ec-fa-envelope-o"></i> ' .
__( 'Email', AI1EC_PLUGIN_NAME ) . '</a></div> ';
$has_contents = true;
}
if ( $event->get( 'contact_url' ) ) {
$contact .=
'<div class="ai1ec-contact-url">' .
'<a class="u-url" target="_blank" href="' .
esc_attr( $event->get( 'contact_url' ) ) .
'"><i class="ai1ec-fa ai1ec-fa-fw ai1ec-fa-link"></i> ' .
apply_filters(
'ai1ec_contact_url',
__( 'Event website', AI1EC_PLUGIN_NAME )
) .
' <i class="ai1ec-fa ai1ec-fa-external-link"></i></a></div>';
$has_contents = true;
}
$contact .= '</div>';
return $has_contents ? $contact : '';
}
}