--- stockapi.module_orig 2009-01-30 15:47:43.000000000 -0800 +++ stockapi.module 2009-01-30 15:51:24.000000000 -0800 @@ -108,7 +108,25 @@ function stockapi_fetch($symbol) { return FALSE; } - $data = explode(',', str_replace('"', '', $result->data)); + + $data = $result->data; + $data = explode(',', $data); + + $i = 0; + while ($i < (count($data) - 1)) { + $value = $data[$i]; + if ((substr($value, 0, 1) == '"') && (substr($value, strlen($value) - 1, 1)) != '"') { + $data[$i] = $value .','. $data[$i+1]; + $data = array_merge(array_slice($data, 0, $i+1), array_slice($data, $i+2)); + $i = $i - 1; + } + else + $data[$i] = str_replace('"', '', $value); + $i++; + } + $data[$i] = str_replace('"', '', $data[$i]); + + if (!$data) { watchdog('stockapi', t('StockAPI: no data for symbol(s): @symbol', array('@symbol' => $symbol))); return FALSE; @@ -164,4 +182,4 @@ function stockapi_insert($stock) { function stockapi_delete($symbol) { return db_query("DELETE FROM {stockapi} WHERE symbol = '%s'", $symbol); -} \ No newline at end of file +}