/**
  * Validate the post configuration parameters
  * and remove if any invalid found
  *
  *
  * @param array $params
  * @param boolean $remove
  * @return array
  */
 private function _validateConfiguration($params, $remove = false)
 {
     if ((int) $params['EVERYPAY_LIVE_MODE'] >= 1) {
         $pk = $params['EVERYPAY_PUBLIC_KEY'];
         $sk = $params['EVERYPAY_SECRET_KEY'];
         $this->live_mode = $params['EVERYPAY_LIVE_MODE'] = 1;
         $this->mode = 'live';
     } else {
         $pk = $params['EVERYPAY_TEST_PUBLIC_KEY'];
         $sk = $params['EVERYPAY_TEST_SECRET_KEY'];
         $this->live_mode = $params['EVERYPAY_LIVE_MODE'] = 0;
         $this->mode = 'test';
     }
     //now set the keys according to mode
     $this->pk = $params['pk'] = $pk;
     $this->sk = $params['sk'] = $sk;
     if (empty($pk)) {
         $tmpError = str_replace('%MODE', $this->mode, $this->l('Missing PUBLIC KEY (%MODE mode)'));
         $this->adminMessages['errors'][] = $tmpError;
         $this->warning = $tmpError;
         $this->online = false;
     } else {
         try {
             Everypay\Everypay::setApiKey($sk);
         } catch (Exception $e) {
             $this->online = false;
             $this->adminMessages['errors'][] = $e->getMessage();
         }
     }
     if (empty($sk)) {
         $tmpError = str_replace('%MODE', $this->mode, $this->l('Missing SECRET KEY (%MODE mode)'));
         $this->adminMessages['errors'][] = $tmpError;
         $this->warning = $tmpError;
         $this->online = false;
     }
     /**
      * Check to determine if PHP enviroment
      * does have the needed extensions available, such as json and curl.
      */
     try {
         Everypay\Everypay::checkRequirements();
     } catch (RuntimeException $e) {
         $tmpError = $this->l('Please ensure you have json and curl extensions enabled in php');
         $this->adminMessages['errors'][] = $tmpError;
         $this->warning = $tmpError;
         $this->online = false;
     }
     //strict values
     if (!empty($params['EVERYPAY_CUSTOMER_MODE']) && (int) $params['EVERYPAY_CUSTOMER_MODE'] == 1) {
         $params['EVERYPAY_CUSTOMER_MODE'] = 1;
     } else {
         $params['EVERYPAY_CUSTOMER_MODE'] = 0;
     }
     if (!empty($params['EVERYPAY_BUTTON_MODE']) && (int) $params['EVERYPAY_BUTTON_MODE'] == 1) {
         $params['EVERYPAY_BUTTON_MODE'] = 1;
     } else {
         $params['EVERYPAY_BUTTON_MODE'] = 0;
     }
     //overwrite
     $params['EVERYPAY_BUTTON_MODE'] = 1;
     if (_PS_VERSION_ < '1.5') {
         $this->adminMessages['errors'][] = $this->l('This plugin supports prestashop versions > 1.5!');
         $this->warning = $this->l('The EveryPay plugin supports prestashop versions from 1.5 an later! Install the 1.4 version instead.');
         $this->online = false;
     }
     return $params;
 }