/**
  * @desc Connect to a mysql using mysqli extention.
  * $con_config common params and default values:
  *   'host' => ini_get("mysqli.default_host"), 'port' => ini_get("mysqli.default_port"),
  *   'user' => ini_get("mysqli.default_user"), 'pass' => ini_get("mysqli.default_pw"),
  *   'db' => '',
  * if $con_config['link'] is set to mysqli object, do not open new connection
  * just wrap already open mysqli connection with this class
  * @param $con_config - connection config
  */
 public function __construct($con_config)
 {
     parent::__construct();
     $pkg = pkgman_manager::getp("sql");
     $default_config = array('host' => ini_get("mysqli.default_host"), 'port' => ini_get("mysqli.default_port"), 'user' => ini_get("mysqli.default_user"), 'pass' => ini_get("mysqli.default_pw"), 'db' => '', 'socket' => ini_get("mysqli.default_socket"), 'charset' => @$pkg->config['charset'], 'buffered' => true, 'throw_on_error' => @$pkg->config['throw_on_error'], 'on_demand' => false);
     // merge all config arrays together
     if (empty($con_config)) {
         $con_config = array();
     }
     $this->config = array_merge($this->config, $default_config, $con_config);
     if (empty($this->config['on_demand'])) {
         $this->set_link();
     }
 }