Written by Takashi Ikebe (iktaka at gmail.com) --- browscap.module.org 2008-08-27 19:54:42.000000000 +0900 +++ browscap.module 2008-08-27 23:21:26.000000000 +0900 @@ -201,7 +201,7 @@ $result = pager_query($query, 50, 0, $query_cnt); while ($useragent = db_fetch_object($result)) { - if (db_result(db_query_range('SELECT useragent FROM {browscap} WHERE useragent = "%s"', $useragent->parent, 0, 1))) { + if (db_result(db_query_range("SELECT useragent FROM {browscap} WHERE useragent = '%s'", $useragent->parent, 0, 1))) { $parent = l($useragent->parent, 'admin/reports/browscap/useragent/'. urlencode($useragent->parent)); } else { @@ -332,7 +332,18 @@ } $useragent = strtr($key, '*?', '%_'); $e = array_change_key_case($e); - db_query("REPLACE INTO {browscap} (useragent, data) VALUES('%s','%s')", $useragent, serialize($e)); + switch ($GLOBALS['db_type']) { + case 'mysql': + case 'mysqli': + db_query("REPLACE INTO {browscap} (useragent, data) VALUES('%s','%s')", $useragent, serialize($e)); + case 'pgsql': + $ret = db_result(db_query("SELECT useragent FROM {browscap} WHERE useragent= '%s'", $useragent)); + if($ret==FALSE){ + db_query("INSERT INTO {browscap} (useragent, data) VALUES('%s','%s')", $useragent, serialize($e)); + }else{ + db_query("UPDATE {browscap} SET (useragent, data) VALUES('%s','%s') WHERE useragent=%s'", $useragent, serialize($e), $useragent); + } + } } cache_clear_all('*', 'cache_browscap', TRUE);