File "class-wpdbbackupemail.php"
Full Path: /home/vantageo/public_html/cache/cache/cache/cache/cache/.wp-cli/wp-content/plugins/wp-database-backup/includes/admin/Destination/Email/class-wpdbbackupemail.php
File size: 2.52 KB
MIME-type: text/x-php
Charset: utf-8
<?php
/**
* Destination email.
*
* @package wpdbbkp
*/
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly.
}
add_action( 'wp_db_backup_completed', array( 'WPDBBackupEmail', 'wp_db_backup_completed' ), 11 );
/**
* WPDBBackupEmail Class.
*
* @class WPDBBackupEmail
*/
class WPDBBackupEmail {
/**
* Run after complete backup.
*
* @param array $args - backup details.
*/
public static function wp_db_backup_completed( &$args ) {
$destination_email = get_option( 'wp_db_backup_destination_Email' );
if ( isset( $destination_email ) && 1 === (int) $destination_email && get_option( 'wp_db_backup_email_id' ) ) {
update_option('wpdbbkp_backupcron_current','Processing Email Backup', false);
$to = sanitize_email( get_option( 'wp_db_backup_email_id' ) );
$subject = 'Database Backup (' . get_bloginfo( 'name' ) . ')';
$filename = $args[0];
$filesze = $args[3];
$site_url = site_url();
$log_message_attachment = '';
$message = '';
include 'template-email-notification.php';
$headers = array( 'Content-Type: text/html; charset=UTF-8' );
$wp_db_backup_email_attachment_file = get_option( 'wp_db_backup_email_attachment' );
if ( 'yes' === $wp_db_backup_email_attachment_file && $filesze <= 209700000 ) {
$attachments = $args[1];
$log_message_attachment = ' with attached backup file.';
} else {
$attachments = '';
}
if ( wp_mail( $to, $subject, $message, $headers, $attachments ) ) {
$args[4] .= 'Email, ';
}
$log_message = '<b>Send Backup Mail to</b>:' . $to;
$log_message .= $log_message_attachment;
$wp_db_remove_local_backup = get_option( 'wp_db_remove_local_backup' );
if ( 1 === (int) $wp_db_remove_local_backup ) {
$log_message .= ' Removed local backup file.';
}
$args[2] = $args[2] . ' <br>' . $log_message;
}
}
/**
* Run after complete backup.
*
* @param bool $bytes - bytes details.
* @param int $precision - precision details.
*/
public static function wp_db_backup_format_bytes( $bytes, $precision = 2 ) {
$units = array( 'B', 'KB', 'MB', 'GB', 'TB' );
$bytes = max( $bytes, 0 );
$pow = floor( ( $bytes ? log( $bytes ) : 0 ) / log( 1024 ) );
$pow = min( $pow, count( $units ) - 1 );
$bytes /= pow( 1024, $pow );
return round( $bytes, $precision ) . ' ' . $units[ $pow ];
}
}