#!/usr/bin/perl use LWP::Simple; require 'cgi-lib.pl' || die "Require: $!\n"; &ReadParse; #---------------------------------------------------------# $url=$in{'url'}; #$file_location="/home/fotogo/fotogo.com/web/oilgas.xml"; $templates_dir="/home/fotogo/fotogo.com/web/templates/"; if ($in{'template'}) {$template_location="/home/fotogo/fotogo.com/web/templates/$in{'template'}";} else { $template_location="/home/fotogo/fotogo.com/web/templates/template_1.html"; } #---------------------------------------------------------# chdir($templates_dir) || die "Could not change to template directory: $!\n"; @templates=glob('*'); foreach $i (@templates) { $template_select=$template_select." \n"; } print "Content-type: text/html\n\n"; #open(FILE, "$file_location") || die "I can't open that because: $!\n"; # @string=; #close (FILE); # chomp @string; # $string=join '',@string; #$url="http://www.fotogo.com/oilgasbis.xml"; $string= get($url); # disclosures.capitalizedCosts while($string=~s/(.*?)<\/provedProperties.unitedStates>//i){ $provedProperties_unitedStates=$1; } while($string=~s/(.*?)<\/provedProperties.otherWest>//i){ $provedProperties_otherWest=$1; } while($string=~s/(.*?)<\/provedProperties.europe>//i){ $provedProperties_europe=$1; } while($string=~s/(.*?)<\/provedProperties.otherEast>//i){ $provedProperties_otherEast=$1; } while($string=~s/(.*?)<\/provedProperties.total>//i){ $provedProperties_total=$1; } if (!$provedProperties_total) {$ratio_provedProperties="ERROR!";} else { $ratio_provedProperties=$provedProperties_unitedStates/$provedProperties_total*100; $ratio_provedProperties=sprintf(" %.2f \%",$ratio_provedProperties); } # capitalizedCosts.unprovedProperties while($string=~s/(.*?)<\/unprovedProperties.unitedStates>//i){ $unprovedProperties_unitedStates=$1; } while($string=~s/(.*?)<\/unprovedProperties.otherWest>//i){ $unprovedProperties_otherWest=$1; } while($string=~s/(.*?)<\/unprovedProperties.europe>//i){ $unprovedProperties_europe=$1; } while($string=~s/(.*?)<\/unprovedProperties.otherEast>//i){ $unprovedProperties_otherEast=$1; } while($string=~s/(.*?)<\/unprovedProperties.total>//i){ $unprovedProperties_total=$1; } if (!$unprovedProperties_total) {$ratio_unprovedProperties="ERROR!";} else { $ratio_unprovedProperties=$unprovedProperties_unitedStates/$unprovedProperties_total*100; $ratio_unprovedProperties=sprintf(" %.2f \%",$ratio_unprovedProperties); } # capitalizedCosts.equipmentAndFacilities while($string=~s/(.*?)<\/equipmentAndFacilities.unitedStates>//i){ $equipmentAndFacilities_unitedStates=$1; } while($string=~s/(.*?)<\/equipmentAndFacilities.otherWest>//i){ $equipmentAndFacilities_otherWest=$1; } while($string=~s/(.*?)<\/equipmentAndFacilities.europe>//i){ $equipmentAndFacilities_europe=$1; } while($string=~s/(.*?)<\/equipmentAndFacilities.otherEast>//i){ $equipmentAndFacilities_otherEast=$1; } while($string=~s/(.*?)<\/equipmentAndFacilities.total>//i){ $equipmentAndFacilities_total=$1; } if (!$equipmentAndFacilities_total) {$ratio_equipmentAndFacilities="ERROR!";} else { $ratio_equipmentAndFacilities=$equipmentAndFacilities_unitedStates/$equipmentAndFacilities_total*100; $ratio_equipmentAndFacilities=sprintf(" %.2f \%",$ratio_equipmentAndFacilities); } # capitalizedCosts.grossCapitalizedCosts while($string=~s/(.*?)<\/grossCapitalizedCosts.unitedStates>//i){ $grossCapitalizedCosts_unitedStates=$1; } while($string=~s/(.*?)<\/grossCapitalizedCosts.otherWest>//i){ $grossCapitalizedCosts_otherWest=$1; } while($string=~s/(.*?)<\/grossCapitalizedCosts.europe>//i){ $grossCapitalizedCosts_europe=$1; } while($string=~s/(.*?)<\/grossCapitalizedCosts.otherEast>//i){ $grossCapitalizedCosts_otherEast=$1; } while($string=~s/(.*?)<\/grossCapitalizedCosts.total>//i){ $grossCapitalizedCosts_total=$1; } if (!$grossCapitalizedCosts_total) {$ratio_grossCapitalizedCosts="ERROR!";} else { $ratio_grossCapitalizedCosts=$grossCapitalizedCosts_unitedStates/$grossCapitalizedCosts_total*100; $ratio_grossCapitalizedCosts=sprintf(" %.2f \%",$ratio_grossCapitalizedCosts); } # capitalizedCosts.accumulatedDepreciation while($string=~s/(.*?)<\/accumulatedDepreciation.unitedStates>//i){ $accumulatedDepreciation_unitedStates=$1; } while($string=~s/(.*?)<\/accumulatedDepreciation.otherWest>//i){ $accumulatedDepreciation_otherWest=$1; } while($string=~s/(.*?)<\/accumulatedDepreciation.europe>//i){ $accumulatedDepreciation_europe=$1; } while($string=~s/(.*?)<\/accumulatedDepreciation.otherEast>//i){ $accumulatedDepreciation_otherEast=$1; } while($string=~s/(.*?)<\/accumulatedDepreciation.total>//i){ $accumulatedDepreciation_total=$1; } if (!$accumulatedDepreciation_total) {$ratio_accumulatedDepreciation="ERROR!";} else { $ratio_accumulatedDepreciation=$accumulatedDepreciation_unitedStates/$accumulatedDepreciation_total*100; $ratio_accumulatedDepreciation=sprintf(" %.2f \%",$ratio_accumulatedDepreciation); } # capitalizedCosts.netCapitalizedCosts while($string=~s/(.*?)<\/netCapitalizedCosts.unitedStates>//i){ $netCapitalizedCosts_unitedStates=$1; } while($string=~s/(.*?)<\/netCapitalizedCosts.otherWest>//i){ $netCapitalizedCosts_otherWest=$1; } while($string=~s/(.*?)<\/netCapitalizedCosts.europe>//i){ $netCapitalizedCosts_europe=$1; } while($string=~s/(.*?)<\/netCapitalizedCosts.otherEast>//i){ $netCapitalizedCosts_otherEast=$1; } while($string=~s/(.*?)<\/netCapitalizedCosts.total>//i){ $netCapitalizedCosts_total=$1; } if (!$netCapitalizedCosts_total) {$ratio_netCapitalizedCosts="ERROR!";} else { $ratio_netCapitalizedCosts=$netCapitalizedCosts_unitedStates/$netCapitalizedCosts_total*100; $ratio_netCapitalizedCosts=sprintf(" %.2f \%",$ratio_netCapitalizedCosts); } # format number $provedProperties_unitedStates= format_num($provedProperties_unitedStates,"dol"); $provedProperties_otherWest= format_num($provedProperties_otherWest,"dol"); $provedProperties_europe= format_num($provedProperties_europe,"dol"); $provedProperties_otherEast= format_num($provedProperties_otherEast,"dol"); $provedProperties_total= format_num($provedProperties_total,"dol"); $unprovedProperties_unitedStates= format_num($unprovedProperties_unitedStates,"nodol"); $unprovedProperties_otherWest= format_num($unprovedProperties_otherWest,"nodol"); $unprovedProperties_europe= format_num($unprovedProperties_europe,"nodol"); $unprovedProperties_otherEast= format_num($unprovedProperties_otherEast,"nodol"); $unprovedProperties_total= format_num($unprovedProperties_total,"nodol"); $equipmentAndFacilities_unitedStates= format_num($equipmentAndFacilities_unitedStates,"nodol"); $equipmentAndFacilities_otherWest= format_num($equipmentAndFacilities_otherWest,"nodol"); $equipmentAndFacilities_europe= format_num($equipmentAndFacilities_europe,"nodol"); $equipmentAndFacilities_otherEast= format_num($equipmentAndFacilities_otherEast,"nodol"); $equipmentAndFacilities_total= format_num($equipmentAndFacilities_total,"nodol"); $grossCapitalizedCosts_unitedStates= format_num($grossCapitalizedCosts_unitedStates,"nodol"); $grossCapitalizedCosts_otherWest= format_num($grossCapitalizedCosts_otherWest,"nodol"); $grossCapitalizedCosts_europe= format_num($grossCapitalizedCosts_europe,"nodol"); $grossCapitalizedCosts_otherEast= format_num($grossCapitalizedCosts_otherEast,"nodol"); $grossCapitalizedCosts_total= format_num($grossCapitalizedCosts_total,"nodol"); $accumulatedDepreciation_unitedStates= format_num($accumulatedDepreciation_unitedStates,"nodol"); $accumulatedDepreciation_otherWest= format_num($accumulatedDepreciation_otherWest,"nodol"); $accumulatedDepreciation_europe= format_num($accumulatedDepreciation_europe,"nodol"); $accumulatedDepreciation_otherEast= format_num($accumulatedDepreciation_otherEast,"nodol"); $accumulatedDepreciation_total= format_num($accumulatedDepreciation_total,"nodol"); $netCapitalizedCosts_unitedStates= format_num($netCapitalizedCosts_unitedStates,"dol"); $netCapitalizedCosts_otherWest= format_num($netCapitalizedCosts_otherWest,"dol"); $netCapitalizedCosts_europe= format_num($netCapitalizedCosts_europe,"dol"); $netCapitalizedCosts_otherEast= format_num($netCapitalizedCosts_otherEast,"dol"); $netCapitalizedCosts_total= format_num($netCapitalizedCosts_total,"dol"); if (!$url && !$string) {$url_used="Using: (No URL Provided!)";} elsif ($url && $string) {$url_used="Using: $url";} else {$url_used="Using: $url (URL not found!)";} %fields = ( url_used => $url_used, template_select => $template_select, # disclosures.capitalizedCosts provedProperties_unitedStates => $provedProperties_unitedStates, provedProperties_otherWest => $provedProperties_otherWest, provedProperties_europe => $provedProperties_europe, provedProperties_otherEast => $provedProperties_otherEast, provedProperties_total => $provedProperties_total, ratio_provedProperties => $ratio_provedProperties, # capitalizedCosts.unprovedProperties unprovedProperties_unitedStates => $unprovedProperties_unitedStates, unprovedProperties_otherWest => $unprovedProperties_otherWest, unprovedProperties_europe => $unprovedProperties_europe, unprovedProperties_otherEast => $unprovedProperties_otherEast, unprovedProperties_total => $unprovedProperties_total, ratio_unprovedProperties => $ratio_unprovedProperties, # capitalizedCosts.equipmentAndFacilities equipmentAndFacilities_unitedStates => $equipmentAndFacilities_unitedStates, equipmentAndFacilities_otherWest => $equipmentAndFacilities_otherWest, equipmentAndFacilities_europe => $equipmentAndFacilities_europe, equipmentAndFacilities_otherEast => $equipmentAndFacilities_otherEast, equipmentAndFacilities_total => $equipmentAndFacilities_total, ratio_equipmentAndFacilities => $ratio_equipmentAndFacilities, # capitalizedCosts.grossCapitalizedCosts grossCapitalizedCosts_unitedStates => $grossCapitalizedCosts_unitedStates, grossCapitalizedCosts_otherWest => $grossCapitalizedCosts_otherWest, grossCapitalizedCosts_europe => $grossCapitalizedCosts_europe, grossCapitalizedCosts_otherEast => $grossCapitalizedCosts_otherEast, grossCapitalizedCosts_total => $grossCapitalizedCosts_total, ratio_grossCapitalizedCosts => $ratio_grossCapitalizedCosts, # capitalizedCosts.accumulatedDepreciation accumulatedDepreciation_unitedStates => $accumulatedDepreciation_unitedStates, accumulatedDepreciation_otherWest => $accumulatedDepreciation_otherWest, accumulatedDepreciation_europe => $accumulatedDepreciation_europe, accumulatedDepreciation_otherEast => $accumulatedDepreciation_otherEast, accumulatedDepreciation_total => $accumulatedDepreciation_total, ratio_accumulatedDepreciation => $ratio_accumulatedDepreciation, # capitalizedCosts.netCapitalizedCosts netCapitalizedCosts_unitedStates => $netCapitalizedCosts_unitedStates, netCapitalizedCosts_otherWest => $netCapitalizedCosts_otherWest, netCapitalizedCosts_europe => $netCapitalizedCosts_europe, netCapitalizedCosts_otherEast => $netCapitalizedCosts_otherEast, netCapitalizedCosts_total => $netCapitalizedCosts_total, ratio_netCapitalizedCosts => $ratio_netCapitalizedCosts, ); $template_html=template("$template_location", \%fields); print $template_html; #------------------------------------------------------# sub template { my ($filename, $fillings) = @_; my $text; local $/; local *F; open(F, "< $filename\0") || return; $text = ; close(F); $text =~ s{ %% ( .*? ) %% } { exists( $fillings->{$1} ) ? $fillings->{$1} :"" }gsex; return $text; } #------------------------------------------------------# sub format_num { my ($number,$type) = @_; $number = reverse $_[0]; $number =~ s/(\d\d\d)(?=\d)(?!\d*\.)/$1,/g; $number=reverse $number; if ($type eq "dol") {$number="\$ $number";} else { if ($number<0) {$number=~ s/-//; $number="($number)";} else {$number="$number";} } return scalar $number; }