function processItems($queryData = null) { global $baseUrl; global $parser; global $params; global $db; if ($queryData != null) { print "Processing: " . $queryData["query"] . "\n"; $parser->queryNum = 0; $parser->queryId = $queryData["id"]; $parser->queryDataId = $queryData["data_id"]; $params["text"] = $queryData["query"]; $url = $baseUrl . "?" . UrlUtils::buildQuery($params); $res = $parser->parseFromUrl($url); } else { print "Continue...\n"; $res = $parser->parseFromUrl(); } if (PEAR::isError($res)) { $parser->proxyService->increase(); print $res->getMessage() . "\n"; } else { // Пропуск первого элемента, если повтор if ((int) $parser->items[0]["num"] == $parser->queryNum) { array_shift($parser->items); } var_dump($parser->items); // Добавление полученных подзапросов foreach ($parser->items as $item) { $name = iconv("UTF-8", "windows-1251", $item["name"]); $res = $db->query(CMD_ADD_RESQUERY, array($name, $item["num"], $parser->queryDataId, $parser->queryId)); if (PEAR::isError($res)) { print $res->getMessage() . "\n"; } } } // Установить флаг обработанного запроса и кол-во подзапросов $res = $db->query(CMD_SET_PROCESSED, array($parser->queryNum, $parser->queryId)); if (PEAR::isError($res)) { print $res->getMessage() . "\n"; } }