#!/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;
}