function search() { $cacheData = FileCache::get('__cache__' . $this->keyword); if (!$cacheData) { $url = $this->queryUrl . urlencode($this->keyword); $request_result = $this->request($url); $json = json_decode($request_result); $searchData = $json->data; if (count($searchData) > 0) { FileCache::set('__cache__' . $this->keyword, $searchData, 24 * 60 * 60); } } else { $searchData = $cacheData; } if (count($searchData) > 0) { $codeArray = array(); foreach ($searchData as $value) { $d = explode('~', $value); if (preg_match('/(\\..*)$/', $d[1], $re)) { $d[1] = str_replace($re[1], "", $d[1]); } if ($d[0] == 'us') { $d[1] = strtoupper($d[1]); } $dCode = $d[0] . $d[1]; if ($d[0] == 'hk') { $dCode = 'r_' . $dCode; } if ($d[0] == 'jj') { $dCode = 's_' . $dCode; } array_push($codeArray, $dCode); } $qt = new StockQt(); $qt->fetchQt(implode(',', $codeArray)); foreach ($searchData as $key => $value) { $stock = new Stock($value, $qt); $this->result($key, $stock->getLink(), $stock->getTitle(), $stock->getSubTitle(), null); } } else { $this->lastPlaceholder(); } }
function search() { $qtData = FileCache::get($this->keyword); if (!$qtData) { $url = $this->queryUrl . urlencode($this->keyword); $request_result = $this->request($url); $json = json_decode($request_result); $qtData = $json->data; } if (count($qtData) > 0) { FileCache::set($this->keyword, $qtData); foreach ($qtData as $key => $value) { $stock = new Stock($value); $this->result($key, $stock->getLink(), $stock->getTitle(), $stock->getSubTitle(), null); } } else { $this->lastPlaceholder(); } }