| Server IP : 34.67.85.211 / Your IP : 216.73.217.52 Web Server : Apache System : Linux wordpress-1-vm 4.9.0-13-amd64 #1 SMP Debian 4.9.228-1 (2020-07-05) x86_64 User : root ( 0) PHP Version : 7.4.9 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /var/www/html/wp-content/plugins/mailchimp-for-wp/includes/admin/ |
Upload File : |
<?php
class MC4WP_Admin_Ajax {
/**
* @var MC4WP_Admin_Tools
*/
protected $tools;
/**
* MC4WP_Admin_Ajax constructor.
*
* @param MC4WP_Admin_Tools $tools
*/
public function __construct( MC4WP_Admin_Tools $tools ) {
$this->tools = $tools;
}
/**
* Hook AJAX actions
*/
public function add_hooks() {
add_action( 'wp_ajax_mc4wp_renew_mailchimp_lists', array( $this, 'refresh_mailchimp_lists' ) );
add_action( 'wp_ajax_mc4wp_get_list_details', array( $this, 'get_list_details' ) );
}
/**
* Empty lists cache & fetch lists again.
*/
public function refresh_mailchimp_lists() {
if ( ! $this->tools->is_user_authorized() ) {
wp_send_json( false );
}
$mailchimp = new MC4WP_MailChimp();
$success = $mailchimp->refresh_lists();
wp_send_json( $success );
}
/**
* Retrieve details (merge fields and interest categories) for one or multiple lists in Mailchimp
* @throws MC4WP_API_Exception
*/
public function get_list_details() {
$list_ids = (array) explode( ',', $_GET['ids'] );
$data = array();
$mailchimp = new MC4WP_MailChimp();
foreach ( $list_ids as $list_id ) {
$merge_fields = $mailchimp->get_list_merge_fields( $list_id );
$interest_categories = $mailchimp->get_list_interest_categories( $list_id );
$data[] = (object) array(
'id' => $list_id,
'merge_fields' => $merge_fields,
'interest_categories' => $interest_categories,
);
}
wp_send_json( $data );
}
}