MP_Addon_Letter_Leads
Class MP_Addon_Letter_Leads.
Source Source
File: calculator-letter-add-on/inc/MP_Addon_Letter_Leads.php
class MP_Addon_Letter_Leads {
/**
* Add Letter Events Metabox.
*
* @since 1.0.0
* @access public
*/
public function add_letter_events_metabox() {
add_meta_box(
'letter_events-metabox',
__( 'Letter Events', 'CalculatorsLetterAddon' ),
array( $this, 'letter_events_callback' ),
MortgagePlatform::$lead,
'normal',
'core'
);
}
/**
* Add Letter Events Metabox.
*
* @since 1.0.0
* @access public
*/
public function abandoned_add_letter_events_metabox() {
add_meta_box(
'letter_events-metabox',
__( 'Letter Events', 'CalculatorsLetterAddon' ),
array( $this, 'abandoned_letter_events_callback' ),
MortgagePlatform::$abandoned_lead,
'normal',
'core'
);
}
/**
* Letter Events callback.
*
* @since 1.0.0
* @access public
*
* @param mixeв $post post
*/
public function letter_events_callback( $post ) {
$email = get_post_meta( $post->ID, MortgagePlatform::$prefix . 'lead_email', true ) ? get_post_meta( $post->ID, MortgagePlatform::$prefix . 'lead_email', true ) : null;
if ( $email && ! empty( get_option( MortgagePlatform::$prefix . 'email_templates' )['lob_key'] ) ) {
$letter = new MP_Addon_Letters();
$events = $letter->get_events( $email );
echo '<table class="lead_table" cellpadding="0" cellspacing="0">';
foreach ( $events as $event ) {
echo '<tr class="lead_table_row" border="1">
<td style="width: 50%" class="lead_table_label">' . esc_attr( $event['description'] ) . '</td>
<td style="width: 30%" class="lead_table_label">' . esc_attr( gmdate( 'Y-m-d H:i:s', strtotime( $event['date'] ) ) ) . '</td>
<td style="width: 20%" class="lead_table_label"><a href="' . esc_attr( $event['thumbnail'] ) . '">' . esc_html__( 'Thumbnail', 'CalculatorsLetterAddon' ) . '</a> </td></tr>';
}
echo '</table>';
}
}
/**
* Abandoned Letter Events callback.
*
* @since 1.0.0
* @access public
*
* @param mixed $post post
*/
public function abandoned_letter_events_callback( $post ) {
$email = get_post_meta( $post->ID, MortgagePlatform::$prefix . 'abandoned_lead_email', true ) ? get_post_meta( $post->ID, MortgagePlatform::$prefix . 'abandoned_lead_email', true ) : null;
if ( $email && ! empty( get_option( MortgagePlatform::$prefix . 'email_templates' )['lob_key'] ) ) {
$letter = new Letters();
$events = $letter->get_events( $email );
echo '<table class="lead_table" cellpadding="0" cellspacing="0">';
foreach ( $events as $event ) {
echo '<tr class="lead_table_row" border="1">
<td style="width: 50%" class="lead_table_label">' . esc_attr( $event['description'] ) . '</td>
<td style="width: 30%" class="lead_table_label">' . esc_attr( gmdate( 'Y-m-d H:i:s', strtotime( $event['date'] ) ) ) . '</td>
<td style="width: 20%" class="lead_table_label"><a href="' . esc_attr( $event['thumbnail'] ) . '">' . esc_html__( 'Thumbnail', 'CalculatorsLetterAddon' ) . '</a> </td></tr>';
}
echo '</table>';
}
}
/**
* Lead Letter Metabox.
*
* @since 1.0.0
* @access public
*
* @param mixed $post post
*
* @return mixed
*/
public function send_letter( $post ) {
$send_letters = isset( get_option( MortgagePlatform::$prefix . 'email_templates' )['send_letters'] ) ? get_option( MortgagePlatform::$prefix . 'email_templates' )['send_letters'] : false;
$lob_key = isset( get_option( MortgagePlatform::$prefix . 'email_templates' )['lob_key'] ) ? get_option( MortgagePlatform::$prefix . 'email_templates' )['lob_key'] : null;
if ( $send_letters && $lob_key ) { ?>
<script>
if (jQuery('.send_message_tabs')) {
$tab = '<li data-tab="send_message_tab_letter"><?php esc_html_e( 'Send Letter', 'CalculatorsLetterAddon' ); ?></li>';
jQuery('.send_message_tabs').append($tab);
}
</script>
<div class="send_message__wrapper" id="send_message_tab_letter">
<label><?php echo esc_html__( 'Description', 'CalculatorsLetterAddon' ); ?>
<input type="text" name="send_letter_description">
</label>
<label><?php echo esc_html__( 'Type Letter Template', 'CalculatorsLetterAddon' ); ?>
<select style="width: 100%" name="send_letter_template" id="send_letter_template">
<option value="email_template1">Template #1</option>
<option value="email_template2">Template #2</option>
</select>
</label>
<button data-leadid="<?php echo esc_attr( $post->ID ); ?>" id="send_letter_lead" data-leadid="<?php echo esc_attr( $post->ID ); ?>" class="button send_message_lead__button"><?php echo esc_html__( 'Send Letter', 'CalculatorsLetterAddon' ); ?></button>
</div>
<?php
}
return $post;
}
/**
* Abandoned Lead Letter Metabox.
*
* @since 1.0.0
* @access public
*
* @param mixed $post post
*
* @return mixed
*/
public function abandoned_send_letter( $post ) {
$send_letters = isset( get_option( MortgagePlatform::$prefix . 'email_templates' )['send_letters'] ) ? get_option( MortgagePlatform::$prefix . 'email_templates' )['send_letters'] : false;
$lob_key = isset( get_option( MortgagePlatform::$prefix . 'email_templates' )['lob_key'] ) ? get_option( MortgagePlatform::$prefix . 'email_templates' )['lob_key'] : null;
if ( $send_letters && $lob_key ) {
?><script>
if (jQuery('.send_message_tabs')) {
$tab = '<li data-tab="send_message_tab_letter"><?php esc_html_e( 'Send Letter', 'CalculatorsLetterAddon' ); ?></li>';
jQuery('.send_message_tabs').append($tab);
}
</script>
<div class="send_message__wrapper" id="send_message_tab_letter">
<label><?php esc_html_e( 'Description', 'CalculatorsLetterAddon' ); ?>
<input type="text" name="send_letter_description">
</label>
<label><?php esc_html_e( 'Type Letter Template', 'CalculatorsLetterAddon' ); ?>
<select style="width: 100%" name="send_letter_template" id="send_letter_template">
<option value="email_template1">Template #1</option>
<option value="email_template2">Template #2</option>
</select>
</label>
<button data-leadid="<?php echo esc_attr( $post->ID ); ?>" id="send_letter_lead" data-leadid="<?php echo esc_attr( $post->ID ); ?>" class="button send_message_lead__button"><?php echo esc_html__( 'Send Letter', 'CalculatorsLetterAddon' ); ?></button>
</div><?php
}
return $post;
}
}
Methods Methods
- abandoned_add_letter_events_metabox — Add Letter Events Metabox.
- abandoned_letter_events_callback — Abandoned Letter Events callback.
- abandoned_send_letter — Abandoned Lead Letter Metabox.
- add_letter_events_metabox — Add Letter Events Metabox.
- letter_events_callback — Letter Events callback.
- send_letter — Lead Letter Metabox.
Changelog Changelog
| Version | Description |
|---|---|
| 1.0.0 | Introduced. |