'','list_id'=>''); public function is_connected(){return!empty($this->credentials['api_key']);} public function admin_widget($prev=array()){ $c = $this->get_credentials(); $int = wmf_get_integrations(); $act = $int->action_update; $nonce= wp_create_nonce($act); $conn = $this->is_connected(); echo '
'; } public function load(){add_action('wmf_form_submitted',array($this,'subscribe'),10,5);} public function subscribe($form_id,$meta,$fields,$values,$sub_id){ if(!$this->is_connected()) return; $email=''; foreach($fields as $f){if(($f['type']??'')==='email'&&!empty($values[$f['id']])&&is_email($values[$f['id']])){$email=$values[$f['id']];break;}} if(!is_email($email)||empty($this->credentials['list_id'])) return; $key=$this->credentials['api_key']; $dash=strrpos($key,'-'); if($dash===false) return; $dc=substr($key,$dash+1); wp_remote_post("https://{$dc}.api.mailchimp.com/3.0/lists/{$this->credentials['list_id']}/members",array( 'headers'=>array('Authorization'=>'Basic '.base64_encode('key:'.$key),'Content-Type'=>'application/json'), 'body'=>wp_json_encode(array('email_address'=>$email,'status'=>'subscribed')),'timeout'=>10, )); } }