function create_plugin_instance() {
      global $request_type, $spider_flag, $spider_kill_sid;

      $user_agent = strtolower($_SERVER['HTTP_USER_AGENT']);
      $spider_flag = false;
      $spider_kill_sid = '0';

      // set the top level domains
      $http_domain = oos_server_get_top_level_domain(OOS_HTTP_SERVER);
      $https_domain = oos_server_get_top_level_domain(OOS_HTTPS_SERVER);
      $current_domain = (($request_type == 'NONSSL') ? $http_domain : $https_domain);

      // set the session cookie parameters
      if (function_exists('session_set_cookie_params')) {
        session_set_cookie_params(0, '/', (!empty($current_domain) ? '.' . $current_domain : ''));
      } elseif (function_exists('ini_set')) {
        ini_set('session.cookie_lifetime', '0');
        ini_set('session.cookie_path', '/');
        ini_set('session.cookie_domain', (!empty($current_domain) ? '.' . $current_domain : ''));
      }

      // set the session ID if it exists
      if (isset($_POST[oos_session_name()]) && (ctype_alnum($_POST[oos_session_name()]))) {
        oos_session_id($_POST[oos_session_name()]);
      } elseif (isset($_GET[oos_session_name()]) && (ctype_alnum($_GET[oos_session_name()]))) {
        oos_session_id($_GET[oos_session_name()]);
      }

      if (empty($user_agent) === false) {
        $spider_agent = @parse_ini_file('includes/ini/spiders.ini');

        foreach ($spider_agent as $spider) {
           if (empty($spider) === false) {
             if (strpos($user_agent, trim($spider)) !== false) {
                $spider_kill_sid = '1';
                $spider_flag = true;
                break;
             }
           }
         }
      }

      if ($spider_flag === false) {

        // lets start our session
        oos_session_start();
      }

      if (!isset($_SESSION)) {
        $_SESSION = array();
      }

      // create the shopping cart
      if (!isset($_SESSION['cart'])) {
        $_SESSION['cart'] = new shoppingCart;
      }

      // navigation history
      if (!isset($_SESSION['navigation'])) {
        $_SESSION['navigation'] = new oosNavigationHistory;
      }

      if (!isset($_SESSION['error_cart_msg'])) {
        $_SESSION['error_cart_msg'] = '';
      }

      $aPages = oos_get_pages();

      // verify the browser user agent
      $http_user_agent = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : '';

      if (!isset($_SESSION['session_user_agent'])) {
        $_SESSION['session_user_agent'] = $http_user_agent;
      }

      if ($_SESSION['session_user_agent'] != $http_user_agent) {
        unset($_SESSION['customer_id']);
        unset($_SESSION['session_user_agent']);
        $_SESSION['cart']->reset();
        $_SESSION['member']->default_member();

        MyOOS_CoreApi::redirect(oos_href_link($aPages['login'], '', 'SSL'));
      }

      // verify the IP address
      if (!isset($_SESSION['session_ip_address'])) {
        $_SESSION['session_ip_address'] = MyOOS_Utilities::getRemoteHostAddress();
      }

      if ($_SESSION['session_ip_address'] != MyOOS_Utilities::getRemoteHostAddress()) {
        unset($_SESSION['customer_id']);
        unset($_SESSION['session_ip_address']);
        $_SESSION['cart']->reset();
        $_SESSION['member']->default_member();

        MyOOS_CoreApi::redirect(oos_href_link($aPages['login'], '', 'SSL'));
      }

      return true;
    }
    function create_plugin_instance() {
      global $request_type, $spider_flag, $spider_kill_sid;

      $user_agent = strtolower($_SERVER['HTTP_USER_AGENT']);
      $spider_flag = false;
      $spider_kill_sid = '0';

      // set the top level domains
      $http_domain = oos_server_get_top_level_domain(OOS_HTTP_SERVER);
      $https_domain = oos_server_get_top_level_domain(OOS_HTTPS_SERVER);
      $current_domain = (($request_type == 'NONSSL') ? $http_domain : $https_domain);

      // set the session cookie parameters
      if (function_exists('session_set_cookie_params')) {
        session_set_cookie_params(0, '/', (!empty($current_domain) ? '.' . $current_domain : ''));
      } elseif (function_exists('ini_set')) {
        ini_set('session.cookie_lifetime', '0');
        ini_set('session.cookie_path', '/');
        ini_set('session.cookie_domain', (!empty($current_domain) ? '.' . $current_domain : ''));
      }

      // set the session ID if it exists
      if (isset($_POST[oos_session_name()]) && (ctype_alnum($_POST[oos_session_name()]))) {
        oos_session_id($_POST[oos_session_name()]);
      } elseif (isset($_GET[oos_session_name()]) && (ctype_alnum($_GET[oos_session_name()]))) {
        oos_session_id($_GET[oos_session_name()]);
      }

      if (empty($user_agent) === false) {
        $spider_agent = @parse_ini_file('includes/ini/spiders.ini');

        foreach ($spider_agent as $spider) {
           if (empty($spider) === false) {
             if (strpos($user_agent, trim($spider)) !== false) {
                $spider_kill_sid = '1';
                $spider_flag = true;
                break;
             }
           }
         }
      }

      if ($spider_flag === false) {
          if (!defined('MYOOS_SESSION_NAME'))
          {
              define('MYOOS_SESSION_NAME', 'MYOOS_SESSID');
          }

          @ini_set('session.name', MYOOS_SESSION_NAME);
          if(ini_get('session.save_handler') == 'user')
          {
              @ini_set('session.save_handler', 'files');
              @ini_set('session.save_path', '');
          }
          if(ini_get('session.save_handler') == 'files')
          {
              $sessionPath = ini_get('session.save_path');
              if (preg_match('/^[0-9]+;(.*)/', $sessionPath, $matches))
              {
                  $sessionPath = $matches[1];
              }
              if (ini_get('safe_mode') || ini_get('open_basedir') || empty($sessionPath) || !@is_writable($sessionPath))
              {
                  $sessionPath = MYOOS_USER_PATH . '/tmp/sessions';
                  @ini_set('session.save_path', $sessionPath);
                  if (!is_dir($sessionPath))
                  {
                      @mkdir($sessionPath, 0755, true);
                      if (!is_dir($sessionPath))
                      {
                          die("Error: Unable to mkdir $sessionPath");
                      }
                  }
                  elseif (!@is_writable($sessionPath))
                  {
                      die("Error: $sessionPath is not writable");
                  }
              }
          }
          // lets start our session
          oos_session_start();
      }

      if (!isset($_SESSION)) {
        $_SESSION = array();
      }

      // create the shopping cart
      if (!isset($_SESSION['cart'])) {
        $_SESSION['cart'] = new shoppingCart;
      }

      // navigation history
      if (!isset($_SESSION['navigation'])) {
        $_SESSION['navigation'] = new oosNavigationHistory;
      }

      $aPages = oos_get_pages();

      // verify the browser user agent
      $http_user_agent = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : '';

      if (!isset($_SESSION['session_user_agent'])) {
        $_SESSION['session_user_agent'] = $http_user_agent;
      }

      if ($_SESSION['session_user_agent'] != $http_user_agent) {
        unset($_SESSION['customer_id']);
        unset($_SESSION['session_user_agent']);
        $_SESSION['cart']->reset();
        $_SESSION['member']->default_member();

        MyOOS_CoreApi::redirect(oos_href_link($aPages['login'], '', 'SSL'));
      }

      // verify the IP address
      if (!isset($_SESSION['session_ip_address'])) {
        $_SESSION['session_ip_address'] = MyOOS_Utilities::getRemoteHostAddress();
      }

      if ($_SESSION['session_ip_address'] != MyOOS_Utilities::getRemoteHostAddress()) {
        unset($_SESSION['customer_id']);
        unset($_SESSION['session_ip_address']);
        $_SESSION['cart']->reset();
        $_SESSION['member']->default_member();

        MyOOS_CoreApi::redirect(oos_href_link($aPages['login'], '', 'SSL'));
      }

      return true;
    }
if (!defined('SHOP_ROOT')) {
    define('SHOP_ROOT', dirname(__FILE__) . '/../../../');
}
require SHOP_ROOT . 'includes/config.php';
require SHOP_ROOT . OOS_INCLUDES . 'oos_tables.php';
require SHOP_ROOT . OOS_FUNCTIONS . 'function_kernel.php';
// define how the session functions will be used
require SHOP_ROOT . OOS_FUNCTIONS . 'function_session.php';
// set the session ID if it exists
if (isset($_POST[oos_session_name()])) {
    oos_session_id($_POST[oos_session_name()]);
} elseif (isset($_GET[oos_session_name()])) {
    oos_session_id($_GET[oos_session_name()]);
}
oos_session_name('eSConnectorAdm');
oos_session_start();
if (!isset($_SESSION)) {
    $_SESSION = array();
}
// require  the database functions
$adodb_logsqltable = $oostable['adodb_logsql'];
if (!defined('ADODB_LOGSQL_TABLE')) {
    define('ADODB_LOGSQL_TABLE', $adodb_logsqltable);
}
require SHOP_ROOT . OOS_ADODB . 'adodb-errorhandler.inc.php';
require SHOP_ROOT . OOS_ADODB . 'adodb.inc.php';
require SHOP_ROOT . OOS_FUNCTIONS . 'function_db.php';
// make a connection to the database... now
if (!oosDBInit()) {
    die('Unable to connect to database server!');
}