forked from LiveCarta/LiveCartaWP
Changed source root directory
This commit is contained in:
251
html/wp-content/plugins/post-smtp/includes/postman-functions.php
Normal file
251
html/wp-content/plugins/post-smtp/includes/postman-functions.php
Normal file
@@ -0,0 +1,251 @@
|
||||
<?php
|
||||
|
||||
if( !class_exists( 'PostmanEmailLogs' ) ) {
|
||||
|
||||
require_once POST_SMTP_PATH . '/Postman/PostmanEmailLogs.php';
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Adds a meta field to the given log.
|
||||
*
|
||||
* @since 2.5.0
|
||||
* @version 1.0.0
|
||||
*/
|
||||
if( !function_exists( 'postman_add_log_meta' ) ):
|
||||
function postman_add_log_meta( $log_id, $meta_key, $meta_value ) {
|
||||
|
||||
global $wpdb;
|
||||
$email_logs = new PostmanEmailLogs();
|
||||
|
||||
return $wpdb->insert(
|
||||
$wpdb->prefix . $email_logs->meta_table,
|
||||
array(
|
||||
'log_id' => $log_id,
|
||||
'meta_key' => $meta_key,
|
||||
'meta_value' => $meta_value
|
||||
),
|
||||
array(
|
||||
'%d',
|
||||
'%s',
|
||||
'%s'
|
||||
)
|
||||
);
|
||||
|
||||
}
|
||||
endif;
|
||||
|
||||
|
||||
/**
|
||||
* Updates a log meta field based on the given log ID.
|
||||
*
|
||||
* @since 2.5.0
|
||||
* @version 1.0.0
|
||||
*/
|
||||
if ( ! function_exists( 'postman_update_log_meta' ) ) {
|
||||
function postman_update_log_meta( $log_id, $meta_key, $meta_value ) {
|
||||
global $wpdb;
|
||||
$email_logs = new PostmanEmailLogs();
|
||||
|
||||
$existing_meta = $wpdb->get_row(
|
||||
$wpdb->prepare(
|
||||
"SELECT * FROM {$wpdb->prefix}{$email_logs->meta_table} WHERE log_id = %d AND meta_key = %s",
|
||||
$log_id,
|
||||
$meta_key
|
||||
)
|
||||
);
|
||||
|
||||
if ( $existing_meta ) {
|
||||
return $wpdb->update(
|
||||
$wpdb->prefix . $email_logs->meta_table,
|
||||
array(
|
||||
'meta_value' => $meta_value
|
||||
),
|
||||
array(
|
||||
'log_id' => $log_id,
|
||||
'meta_key' => $meta_key
|
||||
),
|
||||
array(
|
||||
'%s'
|
||||
),
|
||||
array(
|
||||
'%d',
|
||||
'%s'
|
||||
)
|
||||
);
|
||||
} else {
|
||||
return $wpdb->insert(
|
||||
$wpdb->prefix . $email_logs->meta_table,
|
||||
array(
|
||||
'log_id' => $log_id,
|
||||
'meta_key' => $meta_key,
|
||||
'meta_value' => $meta_value
|
||||
),
|
||||
array(
|
||||
'%d',
|
||||
'%s',
|
||||
'%s'
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Retrieves a log meta field for the given log ID.
|
||||
*
|
||||
* @since 2.5.0
|
||||
* @version 1.0.0
|
||||
*/
|
||||
if( !function_exists( 'postman_get_log_meta' ) ):
|
||||
function postman_get_log_meta( $log_id, $key = '' ) {
|
||||
|
||||
global $wpdb;
|
||||
$email_logs = new PostmanEmailLogs();
|
||||
|
||||
if( empty( $key ) ) {
|
||||
|
||||
return $wpdb->get_results(
|
||||
$wpdb->prepare(
|
||||
"SELECT `meta_key`, `meta_value` FROM {$wpdb->prefix}{$email_logs->meta_table}
|
||||
WHERE `log_id` = %d",
|
||||
$log_id
|
||||
)
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
$result = $wpdb->get_row(
|
||||
$wpdb->prepare(
|
||||
"SELECT `meta_value` FROM {$wpdb->prefix}{$email_logs->meta_table}
|
||||
WHERE `log_id` = %d && `meta_key` = %s",
|
||||
$log_id,
|
||||
$key
|
||||
)
|
||||
);
|
||||
|
||||
return $result ? $result->meta_value : false;
|
||||
|
||||
}
|
||||
endif;
|
||||
|
||||
|
||||
/**
|
||||
* Deletes a log meta field for the given log ID.
|
||||
*
|
||||
* @since 2.5.0
|
||||
* @version 1.0.0
|
||||
*/
|
||||
if( !function_exists( 'postman_delete_log_meta' ) ):
|
||||
function postman_delete_log_meta( $log_id, $meta_key, $meta_value = '' ) {
|
||||
|
||||
global $wpdb;
|
||||
$email_logs = new PostmanEmailLogs();
|
||||
|
||||
$where = array(
|
||||
'log_id' => $log_id,
|
||||
'meta_key' => $meta_key
|
||||
);
|
||||
|
||||
$where_format = array(
|
||||
'%d',
|
||||
'%s'
|
||||
);
|
||||
|
||||
if( !empty( $meta_value ) ) {
|
||||
|
||||
$where['meta_value'] = $meta_value;
|
||||
$where_format[] = '%s';
|
||||
|
||||
}
|
||||
|
||||
return $wpdb->delete(
|
||||
$wpdb->prefix . $email_logs->meta_table,
|
||||
$where,
|
||||
$where_format
|
||||
);
|
||||
|
||||
}
|
||||
endif;
|
||||
|
||||
/**
|
||||
* Sanitizes an array of values.
|
||||
*
|
||||
* @since 2.7.0
|
||||
* @version 1.0.0
|
||||
*/
|
||||
if( !function_exists( 'post_smtp_sanitize_array' ) ):
|
||||
function post_smtp_sanitize_array( $_array ) {
|
||||
|
||||
$array = array();
|
||||
|
||||
foreach( $_array as $key => $value ) {
|
||||
|
||||
$array[$key] = sanitize_text_field( $value );
|
||||
|
||||
}
|
||||
|
||||
return $array;
|
||||
|
||||
}
|
||||
endif;
|
||||
|
||||
/**
|
||||
* Check pro extenstions is activated or not
|
||||
*
|
||||
* @since 2.8.6
|
||||
* @version 1.0
|
||||
*/
|
||||
|
||||
if( !function_exists( 'post_smtp_has_pro' )):
|
||||
function post_smtp_has_pro(){
|
||||
|
||||
if( is_plugin_active( 'zoho-premium/postsmtp-extension-zoho-mail.php' )
|
||||
||
|
||||
is_plugin_active( 'twilio-notifications-postsmtp-extension-premium/plugin.php' )
|
||||
||
|
||||
is_plugin_active( 'post-smtp-extension-amazon-ses-premium/plugin.php' )
|
||||
||
|
||||
is_plugin_active( 'report-and-tracking-addon-premium/post-smtp-report-and-tracking.php' )
|
||||
||
|
||||
is_plugin_active( 'post-smtp-extension-office365-premium/plugin.php' )
|
||||
||
|
||||
is_plugin_active( 'attachment-support-premium/post-smtp-attachment-support.php' )
|
||||
||
|
||||
is_plugin_active( 'advance-email-delivery-and-logs-premium/post-smtp-advanced-email-delivery-and-logs.php' )
|
||||
||
|
||||
is_plugin_active( 'post-smtp-pro/post-smtp-pro.php' )
|
||||
){
|
||||
return true;
|
||||
}
|
||||
else{
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
endif;
|
||||
|
||||
/**
|
||||
* Check if the BFCM is active.
|
||||
*
|
||||
* @since 2.9.10
|
||||
*/
|
||||
if( ! function_exists( 'postman_is_bfcm' ) ):
|
||||
function postman_is_bfcm() {
|
||||
|
||||
if( get_transient( 'ps-skip-bfcm' ) || post_smtp_has_pro() ) {
|
||||
|
||||
return false;
|
||||
|
||||
}
|
||||
|
||||
$promotion = Postman_Promotion_Manager::get_instance()->is_promotion_active( 'bfcm-2024' );
|
||||
|
||||
return $promotion;
|
||||
|
||||
}
|
||||
endif;
|
||||
Reference in New Issue
Block a user