{
        //parent::admin_content();
        echo parent::get_cell_alignment();
        echo parent::get_element_margins();
    }
    function ticket_content($ticket_instance_id = false, $ticket_type_id = false)
    {
        if ($ticket_instance_id) {
            $ticket_instance = new TC_Ticket((int) $ticket_instance_id);
            $ticket = new TC_Ticket();
            $event_id = $ticket->get_ticket_event($ticket_instance->details->ticket_type_id);
            $sponsors_logo = apply_filters('tc_sponsors_logos_element', get_post_meta($event_id, 'sponsors_logo_file_url', true));
            if ($sponsors_logo) {
                return '<img src="' . $sponsors_logo . '" />';
            } else {
                return '';
            }
        } else {
            if ($ticket_type_id) {
                $ticket_type = new TC_Ticket((int) $ticket_type_id);
                $event_id = $ticket_type->get_ticket_event($ticket_type_id);
                $event = new TC_Event($event_id);
                return apply_filters('tc_sponsors_logos_element', '<img src="' . $event->details->sponsors_logo_file_url . '" />');
            } else {
                return apply_filters('tc_sponsors_logos_element_default', __('Sponsor Logos', 'tc'));
            }
        }
    }
}
tc_register_template_element('tc_sponsors_logos_element', __('Sponsor Logos', 'tc'));
<?php

class tc_ticket_buyer_name_element extends TC_Ticket_Template_Elements
{
    var $element_name = 'tc_ticket_buyer_name_element';
    var $element_title = 'Ticket Buyer Name';
    var $font_awesome_icon = '<i class="fa fa-user"></i>';
    function on_creation()
    {
        $this->element_title = apply_filters('tc_ticket_buyer_name_element_title', __('Ticket Buyer Name', 'tc'));
    }
    function ticket_content($ticket_instance_id = false, $ticket_type_id = false)
    {
        if ($ticket_instance_id) {
            $ticket_instance = new TC_Ticket_Instance((int) $ticket_instance_id);
            $order = new TC_Order($ticket_instance->details->post_parent);
            $buyer_name = $order->details->tc_cart_info['buyer_data']['first_name_post_meta'] . ' ' . $order->details->tc_cart_info['buyer_data']['last_name_post_meta'];
            return apply_filters('tc_ticket_buyer_name_element', $buyer_name, $order->details->ID);
        } else {
            return apply_filters('tc_ticket_buyer_name_element_default', __('John Smith', 'tc'));
        }
    }
}
tc_register_template_element('tc_ticket_buyer_name_element', __('Ticket Buyer Name', 'tc'));
<?php

class tc_ticket_type_element extends TC_Ticket_Template_Elements
{
    var $element_name = 'tc_ticket_type_element';
    var $element_title = 'Ticket Type';
    var $font_awesome_icon = '<i class="fa fa-ticket"></i>';
    function on_creation()
    {
        $this->element_title = apply_filters('tc_ticket_type_element_title', __('Ticket Type', 'tc'));
    }
    function ticket_content($ticket_instance_id = false, $ticket_type_id = false)
    {
        if ($ticket_instance_id) {
            $ticket_instance = new TC_Ticket((int) $ticket_instance_id);
            $ticket = new TC_Ticket($ticket_instance->details->ticket_type_id);
            return apply_filters('tc_ticket_type_element', apply_filters('tc_checkout_owner_info_ticket_title', $ticket->details->post_title, $ticket_instance->details->ticket_type_id));
        } else {
            if ($ticket_type_id) {
                $ticket_type = new TC_Ticket((int) $ticket_type_id);
                return apply_filters('tc_ticket_type_element', $ticket_type->details->post_title);
            } else {
                return apply_filters('tc_ticket_type_element_default', __('VIP Ticket', 'tc'));
            }
        }
    }
}
tc_register_template_element('tc_ticket_type_element', __('Ticket Type', 'tc'));
        global $tc, $pdf;
        if ($ticket_instance_id) {
            $ticket_instance = new TC_Ticket_Instance((int) $ticket_instance_id);
            $ticket_code = $ticket_instance ? $ticket_instance->details->ticket_code : $tc->create_unique_id();
            $order = new TC_Order($ticket_instance->details->post_parent);
            $qrstring = 'id|' . $ticket_instance_id . '|name|' . $ticket_instance->details->first_name . ' ' . $ticket_instance->details->last_name . '|city|' . ($ticket_instance->details->city ? $ticket_instance->details->city : '') . '|address|' . ($ticket_instance->details->address ? $ticket_instance->details->address : '') . '|country|' . ($ticket_instance->details->country ? $ticket_instance->details->country : '') . '|state|' . ($ticket_instance->details->state ? $ticket_instance->details->state : '') . '|payment_date|' . $order->details->post_date . '|checksum|' . $ticket_instance->details->ticket_code;
            if (apply_filters('tc_qr_code_quick_scan_info', false)) {
                $qrstring = $ticket_instance->details->ticket_code;
            }
        }
        $cell_alignment = $this->template_metas[$this->element_name . '_cell_alignment'];
        $code_size = $this->template_metas[$this->element_name . '_qr_code_size'];
        if (isset($cell_alignment) && $cell_alignment == 'right') {
            $cell_alignment = 'R';
        } elseif (isset($cell_alignment) && $cell_alignment == 'left') {
            $cell_alignment = 'L';
        } elseif (isset($cell_alignment) && $cell_alignment == 'center') {
            $cell_alignment = 'N';
        } else {
            $cell_alignment = 'N';
            //default alignment
        }
        $style = array('position' => apply_filters('tc_qr_code_cell_alignment', $cell_alignment), 'border' => apply_filters('tc_show_qr_code_border', true), 'padding' => apply_filters('tc_qr_code_padding', 1), 'fgcolor' => tc_hex2rgb(apply_filters('tc_qr_code_fg_color', '#000000')), 'bgcolor' => tc_hex2rgb(apply_filters('tc_qr_code_bg_color', '#FFFFFF')));
        $params_array = array(isset($qrstring) ? apply_filters('tc_qr_string', $qrstring) : $tc->create_unique_id(), 'QRCODE,H', '', '', $code_size, $code_size, $style, 'N');
        $params_array = apply_filters('tc_2d_code_params', $params_array, isset($qrstring) ? apply_filters('tc_qr_string', $qrstring) : $tc->create_unique_id(), 'QRCODE,H', '', '', $code_size, $code_size, $style, 'N');
        $pars = $pdf->serializeTCPDFtagParameters($params_array);
        return '<tcpdf method="write2DBarcode" params="' . $pars . '" />';
    }
}
tc_register_template_element('tc_ticket_qr_code_element', __('QR Code', 'tc'));
class tc_ticket_description_element extends TC_Ticket_Template_Elements
{
    var $element_name = 'tc_ticket_description_element';
    var $element_title = 'Ticket Description';
    function on_creation()
    {
        $this->element_title = apply_filters('tc_ticket_description_element_title', __('Ticket Description', 'tc'));
    }
    function ticket_content($ticket_instance_id = false, $ticket_type_id = false)
    {
        if ($ticket_instance_id) {
            $ticket_instance = new TC_Ticket((int) $ticket_instance_id);
            $ticket = new TC_Ticket($ticket_instance->details->ticket_type_id);
            return apply_filters('tc_ticket_description_element', apply_filters('tc_the_content', $ticket->details->post_content));
        } else {
            if ($ticket_type_id) {
                $ticket_type = new TC_Ticket((int) $ticket_type_id);
                return apply_filters('tc_ticket_description_element', apply_filters('tc_the_content', $ticket_type->details->post_content));
            } else {
                return apply_filters('tc_ticket_description_element_default', __('<ul>
				<li>AGES 21+ (with valid state-issued photo ID)</li>
				<li>Includes transportation via Ferry or Shuttle Bus (you choose during purchase process)</li>
				<li>Express Festival Entry</li>
				<li>VIP Lounge Access with plush furniture, premium food and cash bar</li>
</ul>', 'tc'));
            }
        }
    }
}
tc_register_template_element('tc_ticket_description_element', __('Ticket Description', 'tc'));
<?php

class tc_event_location_element extends TC_Ticket_Template_Elements
{
    var $element_name = 'tc_event_location_element';
    var $element_title = 'Event Location';
    function on_creation()
    {
        $this->element_title = apply_filters('tc_event_location_element_title', __('Event Location', 'tc'));
    }
    function ticket_content($ticket_instance_id = false, $ticket_type_id = false)
    {
        if ($ticket_instance_id) {
            $ticket_instance = new TC_Ticket((int) $ticket_instance_id);
            $ticket = new TC_Ticket();
            $event_id = $ticket->get_ticket_event($ticket_instance->details->ticket_type_id);
            return apply_filters('tc_event_location_element', get_post_meta($event_id, 'event_location', true));
        } else {
            if ($ticket_type_id) {
                $ticket_type = new TC_Ticket((int) $ticket_type_id);
                $event_id = $ticket_type->get_ticket_event($ticket_type_id);
                $event = new TC_Event($event_id);
                return apply_filters('tc_event_location_element', $event->details->event_location);
            } else {
                return apply_filters('tc_event_location_element_default', __('Grosvenor Square, Mayfair, London', 'tc'));
            }
        }
    }
}
tc_register_template_element('tc_event_location_element', __('Event Location', 'tc'));
class tc_event_name_element extends TC_Ticket_Template_Elements
{
    var $element_name = 'tc_event_name_element';
    var $element_title = 'Event Name';
    function on_creation()
    {
        $this->element_title = apply_filters('tc_event_name_element_title', __('Event Name', 'tc'));
    }
    function ticket_content($ticket_instance_id = false, $ticket_type_id = false)
    {
        if ($ticket_instance_id) {
            $ticket_instance = new TC_Ticket((int) $ticket_instance_id);
            $ticket = new TC_Ticket();
            $event_id = $ticket->get_ticket_event($ticket_instance->details->ticket_type_id);
            $event_name = get_the_title($event_id);
            //, 'event_name', true);
            return apply_filters('tc_event_name_element', $event_name);
        } else {
            if ($ticket_type_id) {
                $ticket_type = new TC_Ticket((int) $ticket_type_id);
                $event_id = $ticket_type->get_ticket_event($ticket_type_id);
                $event = new TC_Event($event_id);
                return apply_filters('tc_event_name', $event->details->post_title);
            } else {
                return apply_filters('tc_event_name_element', __('Great Event', 'tc'));
            }
        }
    }
}
tc_register_template_element('tc_event_name_element', __('Event Name', 'tc'));
<?php

class tc_ticket_owner_name_element extends TC_Ticket_Template_Elements
{
    var $element_name = 'tc_ticket_owner_name_element';
    var $element_title = 'Ticket Owner Name';
    var $font_awesome_icon = '<i class="fa fa-users"></i>';
    function on_creation()
    {
        $this->element_title = apply_filters('tc_ticket_owner_name_element_title', __('Ticket Owner Name', 'tc'));
    }
    function ticket_content($ticket_instance_id = false, $ticket_type_id = false)
    {
        if ($ticket_instance_id) {
            $ticket_instance = new TC_Ticket_Instance((int) $ticket_instance_id);
            $owner_name = $ticket_instance->details->first_name . '&nbsp;' . $ticket_instance->details->last_name;
            return apply_filters('tc_ticket_owner_name_element', $owner_name);
        } else {
            return apply_filters('tc_ticket_owner_name_element_default', __('John Smith', 'tc'));
        }
    }
}
tc_register_template_element('tc_ticket_owner_name_element', __('Ticket Owner Name', 'tc'));
class tc_event_terms_element extends TC_Ticket_Template_Elements
{
    var $element_name = 'tc_event_terms_element';
    var $element_title = 'Terms & Conditions';
    function on_creation()
    {
        $this->element_title = apply_filters('tc_event_terms_element_title', __('Terms & Conditions', 'tc'));
    }
    function ticket_content($ticket_instance_id = false, $ticket_type_id = false)
    {
        if ($ticket_instance_id) {
            $ticket_instance = new TC_Ticket((int) $ticket_instance_id);
            $ticket = new TC_Ticket();
            $event_id = $ticket->get_ticket_event($ticket_instance->details->ticket_type_id);
            $event_terms = apply_filters('tc_the_content', get_post_meta($event_id, 'event_terms', true));
            return apply_filters('tc_event_terms_element', $event_terms);
        } else {
            if ($ticket_type_id) {
                $ticket_type = new TC_Ticket((int) $ticket_type_id);
                $event_id = $ticket_type->get_ticket_event($ticket_type_id);
                $event = new TC_Event($event_id);
                return apply_filters('tc_event_terms_element', apply_filters('tc_the_content', $event->details->event_terms));
            } else {
                return apply_filters('tc_event_terms_element_default', __('You must retain this Ticket on Your person at all times during the Event. In addition, for The Great Event, entrance to certain performances is subject to the purchase of an additional Ticket or “top-up” Ticket and for those performances only persons holding such a Ticket will be allowed access. Your Ticket may be invalidated if any part of it is removed, altered or defaced. Upon purchase, please check Tickets carefully as mistakes cannot always be rectified after purchase. Tickets are not issued on a sale or return basis and refunds will not be made on returned Tickets unless provided for under these Terms and Conditions. The Promoter will not be responsible for any Ticket that is lost, stolen or destroyed. You are solely responsible for the safe-keeping of Your Ticket. It is not always possible to issue duplicate Tickets. If duplicates are issued, a reasonable administration fee may be charged.', 'tc'));
            }
        }
    }
}
tc_register_template_element('tc_event_terms_element', __('Terms & Conditions', 'tc'));
    {
        echo parent::get_cell_alignment();
        echo parent::get_element_margins();
    }
    function ticket_content($ticket_instance_id = false, $ticket_type_id = false)
    {
        global $tc;
        if ($ticket_instance_id) {
            $ticket_instance = new TC_Ticket((int) $ticket_instance_id);
            $ticket = new TC_Ticket();
            $event_id = $ticket->get_ticket_event(apply_filters('tc_ticket_type_id', $ticket_instance->details->ticket_type_id));
            $event_logo = apply_filters('tc_event_logo_element', get_post_meta($event_id, 'event_logo_file_url', true));
            if ($event_logo) {
                return '<img src="' . $event_logo . '" />';
            } else {
                return '';
            }
        } else {
            if ($ticket_type_id) {
                $ticket_type = new TC_Ticket((int) $ticket_type_id);
                $event_id = $ticket_type->get_ticket_event($ticket_type_id);
                $event = new TC_Event($event_id);
                return apply_filters('tc_event_logo_element', '<img src="' . $event->details->event_logo_file_url . '" />');
            } else {
                return apply_filters('tc_event_logo_element_default', '<img src="' . $tc->plugin_dir . 'images/tickera_logo.png' . '" />');
            }
        }
    }
}
tc_register_template_element('tc_event_logo_element', __('Event Logo', 'tc'));
<?php

class tc_ticket_id_element extends TC_Ticket_Template_Elements
{
    var $element_name = 'tc_ticket_id_element';
    var $element_title = 'Ticket ID';
    var $font_awesome_icon = '<i class="fa fa-slack"></i>';
    function on_creation()
    {
        $this->element_title = apply_filters('tc_ticket_id_element_title', __('Ticket ID', 'tc'));
    }
    function admin_content()
    {
        echo parent::get_cell_alignment();
        echo parent::get_element_margins();
    }
    function ticket_content($ticket_instance_id = false, $ticket_type_id = false)
    {
        if ($ticket_instance_id) {
            return apply_filters('tc_ticket_ticket_id_element', $ticket_instance_id);
        } else {
            return apply_filters('tc_ticket_ticket_id_element_default', __('123', 'tc'));
        }
    }
}
tc_register_template_element('tc_ticket_id_element', __('Ticket ID', 'tc'));
            }
        } else {
            $event_date = $start_date . ' ' . $start_time;
        }
        return $event_date;
    }
    function ticket_content($ticket_instance_id = false, $ticket_type_id = false)
    {
        if ($ticket_instance_id) {
            $ticket_instance = new TC_Ticket((int) $ticket_instance_id);
            $ticket = new TC_Ticket();
            $event_id = $ticket->get_ticket_event(apply_filters('tc_ticket_type_id', $ticket_instance->details->ticket_type_id));
            $event_date = $this->get_event_date($event_id);
            return apply_filters('tc_event_date_time_element_ticket_type', $event_date, apply_filters('tc_ticket_type_id', $ticket_instance->details->ticket_type_id), $ticket_instance_id);
            //date_i18n( get_option( 'date_format' ) . ' ' . get_option( 'time_format' ), strtotime( get_post_meta( $event_id, 'event_date_time', true ) ) )
        } else {
            if ($ticket_type_id) {
                $ticket_type = new TC_Ticket((int) $ticket_type_id);
                $event_id = $ticket_type->get_ticket_event($ticket_type_id);
                $event_date = $this->get_event_date($event_id);
                return $event_date;
                ////date_i18n( get_option( 'date_format' ) . ' ' . get_option( 'time_format' ), strtotime( get_post_meta( $event_id, 'event_date_time', true ) ) );
            } else {
                return apply_filters('tc_event_date_time_element_default', date_i18n(get_option('date_format') . ' ' . get_option('time_format'), time(), false));
                //date_i18n( get_option( 'date_format' ) . ' ' . get_option( 'time_format' ), time(), false )
            }
        }
    }
}
tc_register_template_element('tc_event_date_time_element', __('Event Date & Time', 'tc'));