getError()) { echo "Error creating client
" . $client->getError() . "
"; exit; } $client->soap_defencoding = 'UTF-8'; $result = getGoogleResults(&$client, $searchQuery, $start); $suggestions = getSuggested($searchQuery); if ($client->fault) { echo 'Client Fault
'; 
	  print_r($result); 
	  echo '
'; } else { if ($client->getError()) { echo 'Error
' . $client->getError() . '
'; } else { $searchQuery = htmlentities($searchQuery); echo "Search Query: " . $searchQuery . "
"; $x = $result['startIndex']; $y = $result['endIndex']; if ($result['estimateIsExact']) { echo "Displaying results $x to $y, out of " . $result['estimatedTotalResultsCount'] . " results
"; }else { echo "Displaying results $x to $y, out of an estimated " . $result['estimatedTotalResultsCount'] . " results
"; } $queryResults = $result['resultElements']; if (count($queryResults) > 1) { foreach($queryResults as $item) { echo "{$item['title']}
\n"; echo $item['snippet'] . "

\n"; } }else { echo "No results to display"; } $nextStart = $result['endIndex']; echo "

"; echo "Next 10 Results"; } } } function runGoogleSearch($client, $searchQuery, $start) { $query = array( 'key'=>'u6U/r39QFHK18Qcjz/XdWSbptVaj9k1t', 'q'=>"site:preinheimer.com " . $searchQuery, 'start'=>$start, 'maxResults'=>10, 'filter'=>true, 'restrict'=>'', 'safeSearch'=>true, 'lr'=>'', 'ie'=>'', 'oe'=>'' ); $result = $client->call("doGoogleSearch", $query, "urn:GoogleSearch", "urn:GoogleSearch"); return $result; } function getGoogleResults($client, $searchQuery, $start) { $key = md5($start . $searchQuery); // Check for recent items $query = "SELECT * FROM 06_google_cache_meta WHERE `key` = '$key' AND ((NOW() - `time`) < 84600)"; $results = getAssoc($query); //print_r($results); if (count($results) > 0) { //echo "Using Cached Data"; //Cache exists and is recent, Create object to return $result = array(); $result['estimateIsExact'] = $results['estimateIsExact']; $result['estimatedTotalResultsCount'] = $results['estimatedTotalResultsCount']; $result['startIndex'] = $start + 1; $searchResultQuery = "SELECT * FROM 06_google_cache WHERE `query` = '$searchQuery' AND `start`= '$start'"; $searchResults = getAssoc($searchResultQuery); $result['endIndex'] = $start + count($searchResults); $result['resultElements'] = $searchResults; return $result; }else { //Save results $result = runGoogleSearch(&$client, $searchQuery, $start); if ($client->fault) { return $result; } else { if ($client->getError()) { return $result; } else { $linkID = db_connect(); $queryResults = $result['resultElements']; $query = mysql_escape_string($searchQuery); $index = 0; $insertQuery = "REPLACE INTO 06_google_cache_meta (`key`, `query`, `start`, `estimateIsExact`, `estimatedTotalResultsCount`, `time`) VALUES ('$key', '$query', '$start', '{$result['estimateIsExact']}', '{$result['estimatedTotalResultsCount']}', null)"; insertQuery($insertQuery); if (count($queryResults) > 1) { foreach($queryResults as $item) { $url = mysql_escape_string($item['URL']); $snippet = mysql_escape_string($item['snippet']); $title = mysql_escape_string($item['title']); $key = md5($start . $index . $query); $insertQuery = "REPLACE INTO 06_google_cache (`key`, `index`, `query`, `start`, `snippet`, `title`, `url`) VALUES ('$key', '$index', '$query', '$start', '$snippet', '$title', '$url')"; replaceQuery($insertQuery, $linkID); $index++; } } return $result; } } } } function getSuggested($query) { $suggestions = array(); $query = explode(" ", $query); $linkID = db_connect(); foreach($query AS $word) { $word = mysql_real_escape_string($word, $linkID); $query = "SELECT * FROM 06_google_suggest WHERE `word` = '$word'"; $suggest = getAssoc($query, 2); if (count($suggest) > 0) { foreach ($suggest as $suggestion) { $suggestions[] = $suggestion; echo "Added a suggestion"; } } } return $suggestions; } ?>