__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
<?php
/**
* Handles emailing users CSV Export download links.
*/
namespace Automattic\WooCommerce\Admin;
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
/**
* Include dependencies.
*/
if ( ! class_exists( 'WC_Email', false ) ) {
include_once WC_ABSPATH . 'includes/emails/class-wc-email.php';
}
/**
* ReportCSVEmail Class.
*/
class ReportCSVEmail extends \WC_Email {
/**
* Report labels.
*
* @var array
*/
protected $report_labels;
/**
* Report type (e.g. 'customers').
*
* @var string
*/
protected $report_type;
/**
* Download URL.
*
* @var string
*/
protected $download_url;
/**
* Constructor.
*/
public function __construct() {
$this->id = 'admin_report_export_download';
$this->template_base = WC()->plugin_path() . '/includes/react-admin/emails/';
$this->template_html = 'html-admin-report-export-download.php';
$this->template_plain = 'plain-admin-report-export-download.php';
/**
* Used to customise report email labels.
*
* @since 9.9.0
*
* @param string[] $labels An array of labels.
*
* @return string[] An Array of labels.
*/
$this->report_labels = apply_filters(
'woocommerce_report_export_email_labels',
array(
'categories' => __( 'Categories', 'woocommerce' ),
'coupons' => __( 'Coupons', 'woocommerce' ),
'customers' => __( 'Customers', 'woocommerce' ),
'downloads' => __( 'Downloads', 'woocommerce' ),
'orders' => __( 'Orders', 'woocommerce' ),
'products' => __( 'Products', 'woocommerce' ),
'revenue' => __( 'Revenue', 'woocommerce' ),
'stock' => __( 'Stock', 'woocommerce' ),
'taxes' => __( 'Taxes', 'woocommerce' ),
'variations' => __( 'Variations', 'woocommerce' ),
)
);
// Call parent constructor.
parent::__construct();
}
/**
* This email has no user-facing settings.
*/
public function init_form_fields() {}
/**
* This email has no user-facing settings.
*/
public function init_settings() {}
/**
* Return email type.
*
* @return string
*/
public function get_email_type() {
return class_exists( 'DOMDocument' ) ? 'html' : 'plain';
}
/**
* Get email heading.
*
* @return string
*/
public function get_default_heading() {
return __( 'Your Report Download', 'woocommerce' );
}
/**
* Get email subject.
*
* @return string
*/
public function get_default_subject() {
return __( '[{site_title}]: Your {report_name} Report download is ready', 'woocommerce' );
}
/**
* Get content html.
*
* @return string
*/
public function get_content_html() {
return wc_get_template_html(
$this->template_html,
array(
'report_name' => $this->report_type,
'download_url' => $this->download_url,
'email_heading' => $this->get_heading(),
'sent_to_admin' => true,
'plain_text' => false,
'email' => $this,
),
'',
$this->template_base
);
}
/**
* Get content plain.
*
* @return string
*/
public function get_content_plain() {
return wc_get_template_html(
$this->template_plain,
array(
'report_name' => $this->report_type,
'download_url' => $this->download_url,
'email_heading' => $this->get_heading(),
'sent_to_admin' => true,
'plain_text' => true,
'email' => $this,
),
'',
$this->template_base
);
}
/**
* Trigger the sending of this email.
*
* @param int $user_id User ID to email.
* @param string $report_type The type of report export being emailed.
* @param string $download_url The URL for downloading the report.
*/
public function trigger( $user_id, $report_type, $download_url ) {
$user = new \WP_User( $user_id );
$this->recipient = $user->user_email;
$this->download_url = $download_url;
if ( isset( $this->report_labels[ $report_type ] ) ) {
$this->report_type = $this->report_labels[ $report_type ];
$this->placeholders['{report_name}'] = $this->report_type;
}
$this->send(
$this->get_recipient(),
$this->get_subject(),
$this->get_content(),
$this->get_headers(),
$this->get_attachments()
);
}
}
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| API | Folder | 0775 |
|
|
| BlockTemplates | Folder | 0775 |
|
|
| Composer | Folder | 0775 |
|
|
| DateTimeProvider | Folder | 0775 |
|
|
| Features | Folder | 0775 |
|
|
| Marketing | Folder | 0775 |
|
|
| Notes | Folder | 0775 |
|
|
| Overrides | Folder | 0775 |
|
|
| PluginsInstallLoggers | Folder | 0775 |
|
|
| PluginsProvider | Folder | 0775 |
|
|
| RemoteInboxNotifications | Folder | 0775 |
|
|
| RemoteSpecs | Folder | 0775 |
|
|
| Schedulers | Folder | 0775 |
|
|
| DataSourcePoller.php | File | 2.16 KB | 0664 |
|
| DeprecatedClassFacade.php | File | 3.19 KB | 0664 |
|
| FeaturePlugin.php | File | 955 B | 0664 |
|
| Loader.php | File | 2.69 KB | 0664 |
|
| PageController.php | File | 20.76 KB | 0664 |
|
| PluginsHelper.php | File | 37.14 KB | 0664 |
|
| PluginsInstaller.php | File | 3.36 KB | 0664 |
|
| ReportCSVEmail.php | File | 4.06 KB | 0664 |
|
| ReportCSVExporter.php | File | 10.13 KB | 0664 |
|
| ReportExporter.php | File | 6.28 KB | 0664 |
|
| ReportsSync.php | File | 5.94 KB | 0664 |
|
| WCAdminHelper.php | File | 6.73 KB | 0664 |
|