function mgm_gvo()
 {
     // parent
     parent::mgm_autoresponder();
     // set code
     $this->code = __CLASS__;
     // set name
     $this->name = 'GVO';
     // desc
     $this->description = __('GVO Desc', 'mgm');
     // set path
     parent::set_tmpl_path();
     // read settings
     $this->read();
     // endpoints, not saved
     $this->set_endpoint('subscribe', 'http://www.gogvo.com/subscribe.php');
     // subscribe
     $this->set_endpoint('unsubscribe', 'http://www.gogvo.com/unsubscribe.php');
     // unsubscribe
 }
 function mgm_aweber()
 {
     // parent
     parent::__construct();
     // set code
     $this->code = __CLASS__;
     // set name
     $this->name = 'Aweber';
     // desc
     $this->description = __('Aweber Desc', 'mgm');
     // set path
     parent::set_tmpl_path();
     // read settings
     $this->read();
     // endpoints, not saved
     $this->set_endpoint('subscribe', 'http://www.aweber.com/scripts/addlead.pl');
     //subscribe
     $this->set_endpoint('unsubscribe', 'http://www.aweber.com/scripts/removelead.pl');
     //unsubscribe, dummy
 }
 function mgm_getresponse()
 {
     // parent
     parent::mgm_autoresponder();
     // set code
     $this->code = __CLASS__;
     // set name
     $this->name = 'GetResponse';
     // desc
     $this->description = __('GetResponse Desc', 'mgm');
     // set path
     parent::set_tmpl_path();
     // read settings
     $this->read();
     // endpoints, not saved
     $this->set_endpoint('subscribe', 'http://api2.getresponse.com');
     // subscribe
     $this->set_endpoint('unsubscribe', 'http://api2.getresponse.com');
     // unsubscribe
 }
 function mgm_icontact()
 {
     // parent
     parent::__construct();
     // set code
     $this->code = __CLASS__;
     // set name
     $this->name = 'iContact';
     // desc
     $this->description = __('iContact Desc.', 'mgm');
     // set path
     parent::set_tmpl_path();
     // read settings
     $this->read();
     // endpoints, not saved
     $this->set_endpoint('subscribe', 'https://app.icontact.com/icp/signup.php');
     // subscribe
     $this->set_endpoint('unsubscribe', 'https://app.icontact.com/icp/unsubscribe.php');
     // unsubscribe
 }
 function get_endpoint($method = 'subscribe')
 {
     // key
     $apikey = $this->setting['apikey'];
     // mailchipmp url must be configured
     list($key, $domain) = explode('-', $apikey, 2);
     // default
     if (!$domain) {
         $domain = 'us1';
     }
     // return
     return parent::get_endpoint($method, array('domain' => $domain));
 }
 function get_endpoint($method = 'subscribe')
 {
     // user_name
     $user_name = $this->setting['user_name'];
     // return
     return parent::get_endpoint($method, array('user_name' => $user_name));
 }
 function get_endpoint($method = 'subscribe')
 {
     // by method post url
     if (isset($this->setting[$method . '_post_url'])) {
         $post_url = $this->setting[$method . '_post_url'];
     } else {
         $post_url = $this->setting['post_url'];
     }
     // set
     $this->set_endpoint($method, $post_url);
     // return
     return parent::get_endpoint($method);
 }