#!/usr/bin/perl # ----------------------------- # # MAIN PROCEDURE: &heading; &init; # END MAIN # ********************************* sub heading { print qq@
|
Directory of Burlington Vermont
|
| |
|
@;
# Here we can pull any environment value out that we need.
$email_body .="\n \n Pull any environmental values we may need.";
$source_webpage=$ENV{HTTP_REFERER};$email_body .="\n Source Web Page = $source_webpage";
$target_webpage=$ENV{REDIRECT_SCRIPT_URI};$email_body .="\n Target Web Page = $target_webpage";
$target_domain=$ENV{HTTP_HOST};$email_body .="\n Target Domain = $target_domain";
$uri=$ENV{REQUEST_URI};$email_body .="\n path of target file/web page = $uri";
$browser_type=$ENV{HTTP_USER_AGENT};$email_body .="\n Browser or Crawler type = $browser_type";
$query_string=$ENV{QUERY_STRING};$email_body .= "\n query_string = $query_string";
$query_terms="$FORM{query_string}";$email_body .= "\n query_terms = $query_terms";
#if ($FORM{engine} eq "google.com") {$qtext = "$FORM{q}$FORM{as_epq}"};
}
sub init {
$email_body .="\n \n Setup default values.";
$e_recipient = 'John.Keene@gMail.com';
$e_from = "index.cgi\@$target_domain" ;
$e_realname = "index.cgi\@$target_domain" ;
$e_subject = "$uri $source_webpage";
$testing = "off";
$counter=0;
$browser_or_crawler = "unknown";
$value1=substr($source_webpage,0,24);
$value2=substr($source_webpage,0,28);
#print "\n $source webpage $source_webpage .... value1 $value1 ..... value2 $value2....uri $uri";
if ($value1 eq "http://burlingtonvt.org/"){$source_webpage="http://burlingtonvt.org$uri";}
if ($value2 eq "http://www.burlingtonvt.org/"){$source_webpage="http://burlingtonvt.org$uri";}
if ($source_webpage eq ""){$source_webpage="http://burlingtonvt.org$uri";$email_body.="\n set source_webpage to $source_webpage";};
if ($source_domain eq ""){$source_domain="http://burlingtonvt.org";$email_body.="\n Set Source_domain to $source_domain.";}
#print " source_webpage = $source_webpage "; $email_body .="\n \n Did you come from another web page? "; if ($source_webpage eq "") { $email_body .="\n no."; # $query_terms=$search_file_name; } else {$email_body .="\n \n You came here from $source_webpage. Pull out the domain name and root directory: "; print "\n You came here from $source_webpage!"; # split name-value pairs local(@pairs) = split(/\//, $source_webpage); $cycles=0;$query_terms=""; foreach $pair (@pairs) { $cycles=$cycles+1; ($name, $value) = split(/\//, $pair); $FORM{$name} .= $value; if ($cycles eq 3) {$source_domain = "$name";} if ($cycles eq 4) {$root_source_folder = "$name";} if ($cycles eq 8 && $root_source_folder eq "dogpile") {$query_terms=$name;$email_body .="\n \n $query_terms \n\n";} $email_body .="\n $cycles $name \n"; $last_name = $name; } $email_body .="\n Refering domain was $source_domain & root source folder is $root_source_folder! \n "; $email_body .="\n \n Pull out the query phrase, splitting on the ?: "; # split name-value pairs # local(@pairs) = split(/\?/, $root_source_folder); local(@pairs) = split(/\?/, $last_name); $cycles=0; foreach $pair (@pairs) { $cycles=$cycles+1; ($name, $value) = split(/\?/, $pair); $FORM{$name} .= $value; $email_body .="\n $cycles $name \n"; $email_body .= " \n\n determining query-text based on search-engine \"$source_domain\"."; if (substr($source_domain,0,6) eq "google" && substr($name,0,2) eq "as_epq") {$query_terms = $name}; if ($source_domain eq "search.viewpoint.com" && substr($name,0,2) eq "k=") {$query_terms = $name}; if ($source_domain eq "search.yahoo.com" && substr($name,0,2) eq "p=") {$query_terms = $name}; if ($source_domain eq "ask.com" && substr($name,0,2) eq "q=") {$query_terms = $name}; if ($source_domain eq "altavista.com" && substr($name,0,2) eq "q=") {$query_terms = $name}; if (substr($source_domain,0,6) eq "google" && substr($name,0,2) eq "q=") {$query_terms = $name}; if ($source_domain eq "search.comcast.net" && substr($name,0,2) eq "q=") {$query_terms = $name}; if ($source_domain eq "search.earthlink.net" && substr($name,0,2) eq "q=") {$query_terms = $name}; if ($source_domain eq "search.live.com" && substr($name,0,2) eq "q=") {$query_terms = $name}; if ($source_domain eq "search.msn.com" && substr($name,0,2) eq "q=") {$query_terms = $name}; if ($source_domain eq "burlingtonvt.org" && substr($name,0,6) eq "query=") {$query_terms = $name}; if ($source_domain eq "search.aol.com" && substr($name,0,6) eq "query=") {$query_terms = $name}; if ($source_domain eq "search.netscape.com" && substr($name,0,6) eq "query=") {$query_terms = $name}; if ($source_domain eq "search.sli.sympatico.ca" && substr($name,0,6) eq "query=") {$query_terms = $name}; if ($source_domain eq "search.myway.com" && substr($name,0,10) eq "searchfor=") {$query_terms = $name}; if ($source_domain eq "search.mywebsearch.com" && substr($name,0,10) eq "searchfor=") {$query_terms = $name}; if ($source_domain eq "att.net" && substr($name,0,7) eq "string=") {$query_terms = $name}; if ($source_domain eq "search.blubstertoolbar.com" && substr($name,0,2) eq "w=") {$query_terms = $name}; if (substr($source_domain,0,10) eq "www.google" && substr($name,0,2) eq "as_epq") {$query_terms = $name}; if ($source_domain eq "www.search.viewpoint.com" && substr($name,0,2) eq "k=") {$query_terms = $name}; if ($source_domain eq "www.search.yahoo.com" && substr($name,0,2) eq "p=") {$query_terms = $name}; if ($source_domain eq "www.search.comcast.net" && substr($name,0,2) eq "q=") {$query_terms = $name}; if ($source_domain eq "www.ask.com" && substr($name,0,2) eq "q=") {$query_terms = $name}; if ($source_domain eq "www.altavista.com" && substr($name,0,2) eq "q=") {$query_terms = $name}; if (substr($source_domain,0,10) eq "www.google" && substr($name,0,2) eq "q=") {$query_terms = $name}; if ($source_domain eq "www.search.earthlink.net" && substr($name,0,2) eq "q=") {$query_terms = $name}; if ($source_domain eq "www.search.live.com" && substr($name,0,2) eq "q=") {$query_terms = $name}; if ($source_domain eq "www.search.msn.com" && substr($name,0,2) eq "q=") {$query_terms = $name}; if ($source_domain eq "burlingtonvt.org" && substr($name,0,6) eq "query=") {$query_terms = $name}; if ($source_domain eq "www.search.aol.com" && substr($name,0,6) eq "query=") {$query_terms = $name}; if ($source_domain eq "www.search.netscape.com" && substr($name,0,6) eq "query=") {$query_terms = $name}; if ($source_domain eq "www.search.sli.sympatico.ca" && substr($name,0,6) eq "query=") {$query_terms = $name}; if ($source_domain eq "www.search.myway.com" && substr($name,0,10) eq "searchfor=") {$query_terms = $name}; if ($source_domain eq "www.search.mywebsearch.com" && substr($name,0,10) eq "searchfor=") {$query_terms = $name}; if ($source_domain eq "www.att.net" && substr($name,0,7) eq "string=") {$query_terms = $name}; if ($source_domain eq "www.search.blubstertoolbar.com"&&substr($name,0,2) eq "w=") {$query_terms = $name}; } $email_body .= "\n\n Coming out with \"$query_terms\"!"; if ($query_terms eq "") { $search_term = $last_name; }else{$search_term = $query_terms}; $email_body .= "\n Going into the next step with \"$search_term\" and source_domain=\"$source_domain\"!"; $email_body .="\n \n Pull out the query phrase, splitting on the & sign: "; # split name-value pairs local(@pairs) = split(/\&/, $search_term); $cycles=0; foreach $pair (@pairs) { $cycles=$cycles+1; ($name, $value) = split(/\&/, $pair); $FORM{$name} .= $value; if (substr($source_domain,0,6) eq "google" && substr($name,0,2) eq "as_epq") {$query_terms = (substr($name,5))}; if ($source_domain eq "search.viewpoint.com" && substr($name,0,2) eq "k=") {$query_terms = $name}; if ($source_domain eq "search.yahoo.com" && substr($name,0,2) eq "p=") {$query_terms = (substr($name,2))}; if ($source_domain eq "altavista.com" && substr($name,0,2) eq "q=") {$query_terms = (substr($name,2))}; if (substr($source_domain,0,6) eq "google" && substr($name,0,2) eq "q=") {$query_terms = (substr($name,2))}; if ($source_domain eq "search.comcast.net" && substr($name,0,2) eq "q=") {$query_terms = (substr($name,2))}; if ($source_domain eq "search.earthlink.net" && substr($name,0,2) eq "q=") {$query_terms = (substr($name,2))}; if ($source_domain eq "search.live.com" && substr($name,0,2) eq "q=") {$query_terms = (substr($name,2))}; if ($source_domain eq "search.msn.com" && substr($name,0,2) eq "q=") {$query_terms = (substr($name,2))}; if ($source_domain eq "ask.com" && substr($name,0,2) eq "q=") {$query_terms = (substr($name,2))}; if ($source_domain eq "burlingtonvt.org" && substr($name,0,6) eq "query=") {$query_terms = (substr($name,6))}; if ($source_domain eq "search.aol.com" && substr($name,0,6) eq "query=") {$query_terms = (substr($name,6))}; if ($source_domain eq "search.netscape.com" && substr($name,0,6) eq "query=") {$query_terms = (substr($name,6))}; if ($source_domain eq "search.sli.sympatico.ca" && substr($name,0,6) eq "query=") {$query_terms = (substr($name,6))}; if ($source_domain eq "search.myway.com" && substr($name,0,10) eq "searchfor="){$query_terms = (substr($name,10))}; if ($source_domain eq "search.mywebsearch.com" && substr($name,0,10) eq "searchfor="){$query_terms = (substr($name,10))}; if ($source_domain eq "att.net" && substr($name,0,7) eq "string="){$query_terms = (substr($name,7))}; if ($source_domain eq "search.blubstertoolbar.com" && substr($name,0,2) eq "w=") {$query_terms = $name}; if (substr($source_domain,0,10) eq "www.google" && substr($name,0,2) eq "as_epq") {$query_terms = (substr($name,5))}; if ($source_domain eq "www.search.viewpoint.com" && substr($name,0,2) eq "k=") {$query_terms = $name}; if ($source_domain eq "www.search.yahoo.com" && substr($name,0,2) eq "p=") {$query_terms = (substr($name,2))}; if ($source_domain eq "www.altavista.com" && substr($name,0,2) eq "q=") {$query_terms = (substr($name,2))}; if (substr($source_domain,0,10) eq "www.google" && substr($name,0,2) eq "q=") {$query_terms = (substr($name,2))}; if ($source_domain eq "www.search.comcast.net" && substr($name,0,2) eq "q=") {$query_terms = (substr($name,2))}; if ($source_domain eq "www.search.earthlink.net" && substr($name,0,2) eq "q=") {$query_terms = (substr($name,2))}; if ($source_domain eq "www.search.live.com" && substr($name,0,2) eq "q=") {$query_terms = (substr($name,2))}; if ($source_domain eq "www.search.msn.com" && substr($name,0,2) eq "q=") {$query_terms = (substr($name,2))}; if ($source_domain eq "www.ask.com" && substr($name,0,2) eq "q=") {$query_terms = (substr($name,2))}; if ($source_domain eq "www.burlingtonvt.org" && substr($name,0,6) eq "query=") {$query_terms = (substr($name,6))}; if ($source_domain eq "www.search.aol.com" && substr($name,0,6) eq "query=") {$query_terms = (substr($name,6))}; if ($source_domain eq "www.search.netscape.com" && substr($name,0,6) eq "query=") {$query_terms = (substr($name,6))}; if ($source_domain eq "www.search.sli.sympatico.ca" && substr($name,0,6) eq "query=") {$query_terms = (substr($name,6))}; if ($source_domain eq "www.search.myway.com" && substr($name,0,10) eq "searchfor="){$query_terms = (substr($name,10))}; if ($source_domain eq "www.search.mywebsearch.com"&& substr($name,0,10) eq "searchfor="){$query_terms = (substr($name,10))}; if ($source_domain eq "www.att.net" && substr($name,0,7) eq "string="){$query_terms = (substr($name,7))}; if ($source_domain eq "www.search.blubstertoolbar.com"&&substr($name,0,2) eq "w=") {$query_terms = $name}; $email_body .="\n $cycles $name \n"; } print " So, you want to know about "; if ($query_terms eq "") { $email_body .="\n \n No query terms found. "; } else { $email_body .="\n Pull out % signs) in the query phrase $query_terms (if there are any): "; # split name-value pairs local(@pairs) = split(/\%/, $query_terms); $cycles=0;$query_terms=""; foreach $pair (@pairs) { $cycles=$cycles+1; ($name, $value) = split(/\%/, $pair); $FORM{$name} .= $value; # print " $cycles...$name...$value"; $email_body .= "\n $cycles query word = $name..........value = $value"; if ($cycles eq 1) { $query_terms .= "$name"; } else { if (substr($name,0,2) eq "27"){$query_terms .= "\'"}else{$query_terms .= " ";} # print " \"";print substr($name,0,2);print "\".......$query_terms "; $query_terms .= substr($name,2); } } $email_body .="\n Pull out + signs in the query phrase $query_terms (if there are any): "; # split name-value pairs local(@pairs) = split(/\+/, $query_terms); $cycles=0;$query_terms=""; foreach $pair (@pairs) { $cycles=$cycles+1; ($name, $value) = split(/\+/, $pair); $FORM{$name} .= $value; $email_body .= "\n\n$cycles...$name...$value"; print "$name "; # this $email_body .= statement should always be active. $email_body .= "\n $cycles word = \"$name\" "; $name= lc($name); if (lc($name) eq "its"){$dropped_words.=" \"$name\" ";$name=""} $value1 = substr($name,length($name)-1,1); $value2 = substr($name,0,length($name)-1); $email_body .= "\n\nname = \"$name\" \"$value1\" \"$value2\""; if (substr($name,length($name)-2,2) eq "'s"){$value1=""} $email_body .= "\n $name..." . substr($name,length($name)-2,2); if (substr($name,length($name)-2,2) eq "es"){$name=substr($name,0,length($name)-2);$value1="";$value2="";} $email_body .= "...$name\n\n"; $email_body .= "\nname = \"$name\" \"$value1\" \"$value2\"" . length($name); if ($value1 eq " "){$name = $value2}; if ($value1 eq ","){$name = $value2}; if ($value1 eq "s" && length($name) gt 3){$name = $value2;$value1="";}; $email_body .= "\nname = \"$name\" \"$value1\" \"$value2\"" . length($name); # name = "car" "" "car" 4,3 # name = "earthycars" "s" "earthycar" 10 # name = "population" "n" "populatio" 10 $email_body .= "\n query word = \"$name\" "; if ($name eq "and"){$dropped_words.=" \"$name\" ";$name=""} if ($name eq "area"){$dropped_words.=" \"$name\" ";$name=""} if (substr($name,0,6) eq "compan"){$dropped_words.=" \"$name\" ";$name=""} if ($name eq "near"){$dropped_words.=" \"$name\" ";$name=""} if ($name eq "the"){$dropped_words.=" \"$name\" ";$name=""} if ($name eq "picture"){$name="photo"} if ($name eq "vermont"){$dropped_words.=" \"$name\" ";$name=""} $email_body .= "\n length of $name is " . length($name); if (length($name) < 3){$dropped_words .=" \"$name\" ";$name=""} $email_body .= "\n After dropper words less than 3 characters, we left with $name"; $email_body .= " \"$name\"\n dropped words = \"$dropped_words\" "; $query_terms .= "$name ";$email_body .= "\n query_terms = \"$query_terms\" \n \n "; if ($value1 eq "s" && $name ne "") { $alt_terms .= "$value2 "; $apostrophe .= "$value2\'$value1 "; $plural = "yes" } else {$alt_terms .= "$name "; $apostrophe .= "$name " }; } $email_body .="\n\n\n\n Count the words in in the query phrase $query_terms (if there are any): "; # split name-value pairs # print " \"$query_terms\""; local(@pairs) = split(/\ /, $query_terms); $cycles=0;$query_terms=""; foreach $pair (@pairs) { ($name, $value) = split(/\ /, $pair); $FORM{$name} .= $value; # print "\"$name\", "; if ($name ne "") { $cycles+=1; $query_terms .= "$name "; } $email_body .= " $cycles, "; } # print " \"$query_terms\""; local(@pairs) = split(/\ /, $query_terms); $word_count=0;$query_terms=""; foreach $pair (@pairs) { ($name, $value) = split(/\ /, $pair); $FORM{$name} .= $value; # print "\"$name\", "; if ($name ne "") { $word_count+=1; $query_terms .= "$name "; $displayed_terms .= "\"$name\" "; } $email_body .= " $word_count, "; } print ", huh? | ||
Let's drop the common words: $dropped_words (since most of the resources in
this category are likely to have all these words), leaving us with $cycles word(s).|;}
print "
Searching for $cycles word";
if ($cycles gt 1){print "s";}
print " $displayed_terms ";
if ($cycles eq 2){print "(Both words must be in the record, for the record to be displayed.)"; }
if ($cycles gt 2){print "(All $cycles words must be in the record, for the record to be displayed.)"; }
}
if ($query_terms eq "" && $dropped_words eq ""){print " what? "}
}
print qq^
Do you see this message near the top of your browser, when you click on the links?
When you click on a link in my directories, the web site you are requesting will be opened in a separate window or tab. This worked great until version six. Unfortunately, many web sites will open windows with advertisements and junk that you don't want. So Internet Explorer is asking you if you really requested that information or web site -- or is this web site just trying to force feed it to you? This web site does NOT open up pop-ups with ads or porn, here. I open up the web sites you request in a separate window or tab as a convenience. For best results, I recommend clicking on the
If you do this I will be able to open the web pages as you request them.
| If a link is no longer clickable, it is probably a temporary link that has expired or whose content has changed. Red Links have been found to be unavailable. The web site might have been removed, had its name changed, or is temporarily unavailable. To be a featured web site, you must be a most 10 requested web site of your category -- or, be cross-linked to this web site. Both incoming and outgoing traffic is measured on all web sites. Web sites are listed in the following order, 1. web sites added within the last 7 days in alphabetical order, 2. The top-ten (featured or popular) web sites in alphabetical order, and 3. remaining web site in alphabetical order. |
|
^; }; print "
Environment dump:
"; print qq@
| (For best results, avoid common words, like "Burlington","Vermont","and","the",etc.) | -- OR -- |
|