/** This function returns the correct instance of the manager
  *   depending on the database type
  */
 function getHelperInstance()
 {
     global $sugar_config;
     if ($sugar_config['dbconfig']['db_type'] == "oci8" || $sugar_config['dbconfig']['setup_db_type'] == 'oci8') {
     } elseif ($sugar_config['dbconfig']['db_type'] == "mssql") {
         $my_db_manager = 'MssqlHelper';
     } else {
         $my_db_manager = 'MysqlHelper';
     }
     DBManagerFactory::load_db_manager_class($my_db_manager);
     return new $my_db_manager();
 }
예제 #2
0
 function &getInstance($instanceName = '')
 {
     global $sugar_config;
     static $count;
     static $old_count;
     global $dbinstances;
     $instanceName = 'db';
     $config = $sugar_config['dbconfig'];
     if (!isset($dbinstances)) {
         $dbinstances = array();
     }
     if (!isset($dbinstances[$instanceName])) {
         $my_db_manager = 'MysqlManager';
         if ($config['db_type'] == "oci8") {
         } else {
             if ($config['db_type'] == "mssql") {
                 $my_db_manager = 'MssqlManager';
             }
         }
         if (!empty($config['db_manager'])) {
             $my_db_manager = $config['db_manager'];
         }
         DBManagerFactory::load_db_manager_class($my_db_manager);
         $dbinstances[$instanceName] = new $my_db_manager();
         $dbinstances[$instanceName]->connect($config, true);
         $dbinstances[$instanceName]->count_id = $count;
         $dbinstances[$instanceName]->references = 0;
         $dbinstances[$instanceName]->helper->db = $dbinstances[$instanceName];
     } else {
         $old_count++;
         $dbinstances[$instanceName]->references = $old_count;
     }
     return $dbinstances[$instanceName];
 }