Ack! Has anyone seen that PHP script from Digital Point that you have to paste onto your server? And that's what I'd have to emulate?! (Don't do PHP, either..."Well, what do you do?" CF 4.5.2 :o) *And* I can make a new window in JavaScript! (Usually)
Just look at that foreign language below! Is that Serbian? :o) Am I supposed to just put that in an .php page anywhere on my server? They just say "Save this file to your web server that supports php..." But where? And does Windows 2000 Server support php? (P retty H orrible P rogramming) (Some of it it looks profane to me...it certainly is offensive!) :o) Rick <?php error_reporting(E_ALL & ~E_NOTICE); if (!isset($_SERVER)) $_SERVER = $HTTP_SERVER_VARS; if ($_REQUEST['v']) { echo '1'; exit; } function get_page($host, $url) { global $i, $fail_count; $handle = fsockopen($host, 80, $errno, $errstr, 30); if (!$handle) { if ($fail_count < 5) { $i--; $fail_count++; } } else { fwrite ($handle, "GET $url HTTP/1.1\r\nHost: $host\r\nConnection: Close\r\n\r\n"); while (!feof ($handle)) { $string = fgetc ($handle); if ($string == '<') break; } while (!feof($handle)) { $string .= fread($handle, 40960); } fclose($handle); return $string; } } function get_google($start) { global $i, $fail_count; $handle = fsockopen('api.google.com', 80, $errno, $errstr, 30); if (!$handle) { if ($fail_count < 5) { $i--; $fail_count++; } } else { $body = "<?xml version='1.0' encoding='UTF-8'?>\n\n" . "<SOAP-ENV:Envelope xmlns:SOAP-ENV=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:xsi=\"http://www.w3.org/1999/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/1999/XMLSchema\">\n" . "<SOAP-ENV:Body>\n" . "<ns1:doGoogleSearch xmlns:ns1=\"urn:GoogleSearch\" \n" . "SOAP-ENV:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\">\n" . "<key xsi:type=\"xsd:string\">" . $_REQUEST['key'] . "</key>\n" . "<q xsi:type=\"xsd:string\">" . str_replace ("&", "&", $_REQUEST['q']) . "</q>\n" . "<start xsi:type=\"xsd:int\">" . ($start - 1) . "</start>\n" . "<maxResults xsi:type=\"xsd:int\">10</maxResults>\n" . "<filter xsi:type=\"xsd:boolean\">true</filter>\n" . "<restrict xsi:type=\"xsd:string\">" . $_REQUEST['country'] . "</restrict>\n" . "<safeSearch xsi:type=\"xsd:boolean\">false</safeSearch>\n" . "<lr xsi:type=\"xsd:string\">" . $_REQUEST['language'] . "</lr>\n" . "<ie xsi:type=\"xsd:string\"></ie>\n" . "<oe xsi:type=\"xsd:string\"></oe>\n" . "</ns1:doGoogleSearch>\n" . "</SOAP-ENV:Body>\n" . "</SOAP-ENV:Envelope>\n\n"; fwrite ($handle, "POST /search/beta2 HTTP/1.0\n"); fwrite ($handle, "Host: api.google.com\n"); fwrite ($handle, "Content-Type: text/xml; charset=utf-8\n"); fwrite ($handle, "SOAPAction: \"urn:GoogleSearchAction\"\n"); fwrite ($handle, "Content-length: " . strlen($body) . "\n\n"); fwrite ($handle, $body); while (!feof ($handle)) { $string = fgetc ($handle); if ($string == '<') break; } while (!feof($handle)) { $string .= fread($handle, 40960); } fclose($handle); return $string; } } if ($_REQUEST['t']) { $query_order = array(1); } else { $num = 10; if ($_REQUEST['se'] == 'y') $num = 50; for ($i = 1; $i <= $_REQUEST['d']; $i += $num) { $query_order[] = $i; } if ($_REQUEST['l'] > 0 && $_REQUEST['l'] < 1001) { $x = $_REQUEST['l'] - 1; $y = $x - ($x % $num) + 1; $query_order[$y / $num] = 1; $query_order[0] = $y; $slice = array_slice($query_order, 1, max (0, ($y / $num) - 1)); rsort ($slice); foreach ($slice as $array_key => $value) { $query_order[$array_key + 1] = $value; } } } if ($_REQUEST['se'] == 'g') { $error = ''; $fail_count = 0; for ($i = 0; $i < count($query_order); $i++) { $start = $query_order[$i]; $data = get_google ($start); $parser = xml_parser_create('UTF-8'); xml_parser_set_option($parser, XML_OPTION_SKIP_WHITE, 1); xml_parse_into_struct($parser, $data, $vals, $index); xml_parser_free($parser); if ($index['FAULTSTRING'][0]) { $error = $vals[$index['FAULTSTRING'][0]]['value']; } elseif (!isset ($vals[$index['ESTIMATEDTOTALRESULTSCOUNT'][0]]['value'])) { $error = 'Unknown Google server error'; } elseif (isset ($vals[$index['ENDINDEX'][0]]['value']) && $vals[$index['ENDINDEX'][0]]['value'] == 0 && !$_REQUEST['t']) { $error = 'Google gave no results'; } else { if ($_REQUEST['u']) { unset ($results_detail); $position = $start; foreach ($index['URL'] as $array_key => $url_key) { if (substr_count ($vals[$url_key]['value'], $_REQUEST['u'])) $results[] = $position; if ($_REQUEST['s']) { $results_detail[$position]['title'] = $vals[$index['TITLE'][$array_key]]['value']; $results_detail[$position]['url'] = $vals[$index['URL'][$array_key]]['value']; } $position++; } } } $results_total = $vals[$index['ESTIMATEDTOTALRESULTSCOUNT'][0]]['value']; if ($error && $fail_count < 5) { $i--; $fail_count++; } if ($results) break; } } elseif ($_REQUEST['se'] == 'y') { $error = ''; $fail_count = 0; for ($i = 0; $i < count($query_order); $i++) { $start = $query_order[$i]; $data = get_page ('api.search.yahoo.com', '/WebSearchService/V1/webSearch?appid=keywordtracker&query=' . urlencode ($_REQUEST['q']) . '&start=' . $start . '&results=50'); $parser = xml_parser_create('UTF-8'); xml_parser_set_option($parser, XML_OPTION_SKIP_WHITE, 1); xml_parse_into_struct($parser, $data, $vals, $index); xml_parser_free($parser); if ($index['ERROR']) { $error = $vals[$index['MESSAGE'][0]]['value']; } elseif ($_REQUEST['u']) { unset ($results_detail); $position = $start; foreach ($index['URL'] as $url_key) { if ($vals[$url_key]['level'] == 3) { if (substr_count ($vals[$url_key]['value'], $_REQUEST['u'])) $results[] = $position; if ($_REQUEST['s']) { $results_detail[$position]['title'] = $vals[$url_key - 2]['value']; $results_detail[$position]['summary'] = $vals[$url_key - 1]['value']; $results_detail[$position]['url'] = $vals[$url_key]['value']; } $position++; } } } $results_total = $vals[$index['RESULTSET'][0]]['attributes']['TOTALRESULTSAVAILABLE']; if ($error && $fail_count < 5) { $i--; $fail_count++; } if ($results || $i == (count($query_order) - 1)) { if ($_REQUEST['s'] && count ($results_detail)) { $position_key = max(0, min ($results[0] - 3 - $start, count ($results_detail) - 10)); if (!$results) $position_key = count ($results_detail) - 10; $results_detail = array_slice ($results_detail, $position_key, 10); foreach ($results_detail as $result) { $position_key++; $results_new[$position_key + $start - 1] = $result; } $results_detail = $results_new; } break; } } } elseif ($_REQUEST['se'] == 'm') { $error = ''; $fail_count = 0; for ($i = 0; $i < count($query_order); $i++) { $start = $query_order[$i]; $data = get_page ('search.msn.com', '/results.aspx?q=' . urlencode ($_REQUEST['q']) . '&first=' . $start . '&count=10&format=rss'); $parser = xml_parser_create('UTF-8'); xml_parser_set_option($parser, XML_OPTION_SKIP_WHITE, 1); xml_parse_into_struct($parser, $data, $vals, $index); xml_parser_free($parser); unset ($results_detail); $position = $start; foreach ($index['LINK'] as $url_key) { if ($vals[$url_key]['level'] == 4) { if (substr_count ($vals[$url_key]['value'], $_REQUEST['u'])) $results[] = $position; if ($_REQUEST['s']) { $results_detail[$position]['title'] = $vals[$url_key - 1]['value']; $results_detail[$position]['summary'] = $vals[$url_key + 1]['value']; $results_detail[$position]['url'] = $vals[$url_key]['value']; } $position++; } } if ($results) break; if ($error && $fail_count < 5) { $i--; $fail_count++; } } } if (!$results) $results[] = 9999; $output['results'] = implode ('|', $results); if ($error) $output['error'] = $error; if ($_REQUEST['t']) { $output['total'] = $results_total; echo serialize($output); } elseif ($_REQUEST['s']) { $output['total'] = $results_total; $output['detail'] = $results_detail; echo serialize ($output); } else { echo serialize ($output); } ?> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~| Find out how CFTicket can increase your company's customer support efficiency by 100% http://www.houseoffusion.com/banners/view.cfm?bannerid=49 Message: http://www.houseoffusion.com/lists.cfm/link=i:4:202364 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4 Donations & Support: http://www.houseoffusion.com/tiny.cfm/54