/**
  * Constructor
  *
  * @param string $mailChimpUser
  * @param string $mailChimpPassword
  * @param array $users
  */
 function __construct($mcApiKey, array $users)
 {
     $this->_users = $users;
     unset($users);
     foreach ($this->_users as $i => $user) {
         $this->_keys[$user['EMAIL']] = $i;
     }
     parent::__construct($mcApiKey);
 }
 /**
  * Constructor
  *
  * @param string $mailChimpUser
  * @param string $mailChimpPassword
  * @param array $mysqliOptions
  * @param array $tableOptions
  * @param int $batchSize
  */
 function __construct($mcApiKey, array $mysqliOptions, $userExistsQuery = null, $query = null, array $mergeColumns = null, $batchSize = 500)
 {
     $mysqliOptionDefaults = array('host' => ini_get('mysqli.default_host'), 'username' => ini_get('mysqli.default_user'), 'passwd' => ini_get('mysqli.default_pw'), 'dbname' => '', 'port' => ini_get('mysqli.default_port'), 'socket' => ini_get('mysqli.default_socket'));
     $mysqliOptions = array_merge($mysqliOptionDefaults, $mysqliOptions);
     $this->_db = new mysqli($mysqliOptions['host'], $mysqliOptions['username'], $mysqliOptions['passwd'], $mysqliOptions['dbname'], $mysqliOptions['port'], $mysqliOptions['socket']);
     if ($this->_db->connect_errno) {
         throw new Galahad_MailChimp_Synchronizer_Exception('MySQLi Connection Error: ' . $this->_db->connect_error);
     }
     if (null !== $query) {
         if (empty($query)) {
             throw new Galahad_MailChimp_Synchronizer_Exception('Selection query cannot be empty');
         }
         $this->_query = $query;
     }
     if (null !== $mergeColumns) {
         if (!is_array($mergeColumns)) {
             throw new Galahad_MailChimp_Synchronizer_Exception('$mergeColumns must be an array');
         }
         if (!in_array('EMAIL', $mergeColumns)) {
             throw new Galahad_MailChimp_Synchronizer_Exception('$mergeColumns must at least include an EMAIL column');
         }
         $this->_mergeColumns = $mergeColumns;
     }
     parent::__construct($mcApiKey, $batchSize);
 }