/** * Class constructor * * @param array $params Configuration parameters * @return void */ public function __construct(array $params = array()) { $this->_drivers = array('mcrypt' => defined('MCRYPT_DEV_URANDOM'), 'openssl' => is_php('5.3.3') && extension_loaded('openssl')); if (!$this->_drivers['mcrypt'] && !$this->_drivers['openssl']) { show_error('Encryption: Unable to find an available encryption driver.'); } isset(self::$func_override) or self::$func_override = extension_loaded('mbstring') && ini_get('mbstring.func_override'); $this->initialize($params); if (!isset($this->_key) && self::strlen($key = config_item('encryption_key')) > 0) { $this->_key = $key; } log_message('info', 'Encryption Class Initialized'); }