Expert Gunsmith
THE STEVENS STORE Maintaining a list of contacts in the field of Stevens Firearms, experts on
Stevens, sources for information, lists of Stevens for sale, and names of purchasers ...
Juzzam's Gunsmith Cats Pages Character information, their cars, and series information.
Airsoft Network : Your source for Airsoft news Provides general news about the sport.
Verne Trester, Firearms and ballistics expert witness testimony Providing case evaluation, lab work, testing, and expert testimony relating to
firearms and ballistics. Based in Indianapolis, Indiana.
Wheatland mercantile general store, offering dry goods ... General store selling dry goods and offering the services of Rhys Rifleworks,
Beady Dragon and Quilt Rustler.
The History of Firearm Identification by James Hamby - FirearmsID.com Famous firearm cases, early researchers, organizations, books, journals, and
instruments.
The M1 Garand Rifle - An American Companion In Three Wars An M1 garand site devoted to the mechanical functioning, nomenclature, and history
of the M1 Garand Rifle. There are sections devoted to field stripping, ...
PISCO - Home The gunsmiths at PISCO do all types of repair on all types of firearms, both
modern and obsolete.
Z-Hat Custom, Gunsmith, Custom Rifles, Barrel Jobs, & Wildcat ... We are known for custom gunsmithing, building, rebuilding, or otherwise improving
rifles.
Pistoleer.com Retail & Wholesale Shooting Supplies & Targets Firearms related site: Pistoleer Classified, Beretta magazines, Bore-Stores
protective cases, Kleen-Bore gun care products, target stands.
Rockzillaworld Magazine Texas and Americana music features, reviews, and concert schedules.
Chip McCormick Corp Produces match grade 45 caliber M1911 pistol parts.
Gun Safety Gun safety, gun safety in the home, children and guns.
Gator Guns carries Benelli Store carrying firearms and accessories, includes local gun show information.
Shotgun Debate The old Winchester Model 1897, the first truly successful pump action shotgun,
turned 100 years old last year.
Online Data for the Informed Armed Citizen Guidance for first time, new, or hesitant guy buyers.
Dan Snapp, Gunsmith Experienced Gunsmith, all aspects of gun repair, stock repair, parts made, antique
gun repairs.
Welcome to Trulock and Harris - Suffolk Gunsmiths Trulock & Harris Gunsmiths of Suffolk offer a personal service for both game and
clay enthusiasts. We supply a wide range of new and second hand guns.
Professional Credentials Performance Shooting, Inc. Expert in personal defense training in firearms, impact
weapons, chemical defense sprays, and use of force issues.
Handgun Repair - DCI Industries, INC. - Dan Coonan Custom Handgun and Rifle Gunsmithing by, Dan Coonan Inc. USA. Expert Gunsmith
Service and Repair, get the PPA edge from DCI. Coonan 357 Magnum Pistol Designer.
rss_url = $url;
$this->num_to_show = $numtoshow;
$this->do_update = $update;
$this->my_html = preg_replace("/(#{.*?):(.*?})/", "\\1__\\2", $html); //xx:xx tag workaround
$this->content = $this->fetch_feed();
$this->parse_feed();
$this->show();
}
/* string */
function fetch_feed()
{
$url_parts = parse_url($this->rss_url);
$filename = $url_parts['host'] . str_replace("/", ",", $url_parts['path']) . "_" . @$url_parts['query'];
if(file_exists($this->data_directory . "/$filename")) {
$last = filemtime($this->data_directory . "/$filename");
if(time() - $last > $this->update_interval * 60 || $this->update_interval == 0) {
$update = 1;
}
} else {
$create= 1;
}
if($create == 1 || ($this->do_update == TRUE && $update == 1)) {
$fp = @fsockopen($url_parts['host'], 80, $errno, $errstr, 5);
if (!$fp) {
echo "Couldn't open rss feed {$this->feed_url} in {$_SERVER['PHP_SELF']}
\n";
return;
}
fputs($fp, "GET " . $url_parts['path'] . "?" . @$url_parts['query'] . " HTTP/1.0\r\n"
."Host: " . $url_parts['host'] . "\r\n"
."User-Agent: Drew's RSS Reader 0.1\r\n"
."Connection: Close\r\n\r\n");
while(!feof($fp)) {
$rss_data .= @fgets($fp, 1024);
}
list(, $rss_data) = explode("\r\n\r\n", $rss_data, 2);
$output = @fopen($this->data_directory . "/$filename", "w+");
if(!$output) {
return $rss_data;
} else {
flock($output, LOCK_EX);
fputs($output, $rss_data);
flock($output, LOCK_UN);
fclose($output);
}
} //update
return file_get_contents($this->data_directory . "/$filename");
}
/* void */
function parse_feed()
{
preg_match("/
(.*?)<\/title>/", $this->content, $title);
$this->feed_title = @$title[1];
preg_match("/ (.*?)<\/link>/", $this->content, $link);
$this->feed_link = @$link[1];
preg_match("/(.*?)<\/description>/", $this->content, $description);
$this->feed_description = @$description[1];
preg_match_all("/- ]*>(.*?)<\/item>/s", $this->content, $items);
if (sizeof($items[0]) == 0) {
echo "No item elements found in rss feed.
\n";
}
for($i = 0; $i < sizeof($items[0]); ++$i) {
preg_match_all("/(?:<([\w:]*)[^>]*>(?:)?<\/\\1>)+?/si", preg_replace("/- ]*>/", "", $items[0][$i]), $elements);
for($j = 0; $j < sizeof($elements[0]); ++$j) {
$elements[1][$j] = str_replace(":", "__", $elements[1][$j]); //regex fix for items with : like dc:date
$this->rss[$i][$elements[1][$j]] = trim(html_entity_decode($elements[2][$j]));
}
}
}
/* void */
function show()
{
if($this->my_html == "") {
$this->show_html();
} else {
$this->show_user_html();
}
}
function show_html()
{
$show = (sizeof($this->rss) > $this->num_to_show ? $this->num_to_show : sizeof($this->rss));
for($i = 0; $i < $show; ++$i) {
echo "-
rss[$i]['link']}\" target=\"_new\">{$this->rss[$i]['title']} \n";
}
}
function show_user_html()
{
$show = (sizeof($this->rss) > $this->num_to_show ? $this->num_to_show : sizeof($this->rss));
for($i = 0; $i < $show; ++$i) {
extract($this->rss[$i]);
$item = preg_replace("/#\{([^}]+)}/e", "$\\1", $this->my_html);
echo $item;
}
}
} // end class
$url = "http://www.justinpfister.com/gnewsfeed.php?q=Expert&lang=en&ned=us";
$show = 3;
$html = "#{title} #{description} ";
$update = 1;
$rss = new rss_parser($url, $show, $html, $update);
$url = "http://search.news.yahoo.com/usns/ynsearch/categories/47/index.html?p=Expert";
$show = 3;
$html = "#{title} #{description} ";
$update = 1;
$rss = new rss_parser($url, $show, $html, $update);
?>