My Concern
#!/usr/bin/perl -Tw
##############################################################################
# rss2si.pl
#
# This program writes out a html table or list that can be placed into a
# normal html page for displaying RSS feed on the web. The progam is a
# modified version of rss2js.pl by Nik Jewell (see below). Modification
# done by Kåre Presttun, kare(at)presttun.org 07th March 2004.
#
# The modification makes the program suitable for being run from SSI.
# Typical usage is like this:
#
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
##############################################################################
##############################################################################
# rss2js.pl #
# #
# This program writes out an RSS file to JavaScript for remote display #
# #
# by Nik Jewell. v0.2 20th May 2002 #
# #
# Configuration of the visual display characteristics can be carried out #
# with the accompanying rssconfig.pl script #
# #
# Please contact L.N.Jewell@leeds.ac.uk with bugfixes, suggested #
# improvments or for assistance #
# #
# Copyright (C) 2002 PRS-LTSN #
# #
# This program is free software; you can redistribute it and/or #
# modify it under the terms of the GNU General Public License #
# as published by the Free Software Foundation; either version 2 #
# of the License, or (at your option) any later version. #
# #
# This program is distributed in the hope that it will be useful, #
# but WITHOUT ANY WARRANTY; without even the implied warranty of #
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
# GNU General Public License for more details. #
# #
# You should have received a copy of the GNU General Public License #
# along with this program; if not, write to the Free Software #
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA #
##############################################################################
# Modules
use strict;
use CGI;
use LWP::Simple;
use XML::RSS;
# Declare global variables
my ($width,$height,$listOn,$listOff);
# Create an instance of CGI
my $query = new CGI;
#####################################################################
# Collect the query data
my $remote = $query->param('remote');
my $name = $query->param('name');
my $nameDesc = $query->param('nameDesc');
my $image = $query->param('image');
my $desc = $query->param('desc');
my $num = $query->param('num');
my $box = $query->param('box');
my $copyr = $query->param('copyr');
my $date = $query->param('date');
my $list = $query->param('list');
my $wid = $query->param('wid');
#####################################################################
# Create an instance of XML::RSS
my $rss = new XML::RSS;
# Fetch the remote file
my $xml = get($remote);
# Parse the retrieved file
$rss->parse($xml);
# Create the html table
&OUTPUT($rss);
#####################################################################
# Main display
sub OUTPUT {
if (not defined $wid) { $wid = '200' }
# Display news items as list items?
if (defined($list)) {
$listOn = "";
}
# Print the header
print "Content-type: text/html\n\n";
# Print the opening container table tags
print "\n";
}
#####################################################################
# Print channel name
sub NAME {
print "\n";
}
#####################################################################
# Print channel image
sub IMAGE {
if ($rss->{'image'}->{'width'}) {
$width = "$rss->{'image'}->{'width'}";
}
if ($rss->{'image'}->{'height'}) {
$height = "$rss->{'image'}->{'height'}";
}
print "\n";
}
#####################################################################
# Print channel description
sub NAMEDESC {
print "
| \n";
my $chandesc="$rss->{'channel'}->{'description'}";
&PRINT($chandesc);
print " |
\n";
}
#####################################################################
# Print item title
sub TITLE {
if (not defined $num) { $num = '0'; }
my $s = 1;
if ($list eq "y") {
my $tableOpen = "";
&PRINT($tableOpen);
foreach my $items (@{$rss->{'items'}}) {
next unless defined($items->{'title'}) && defined($items->{'link'}) && ($s <= $num);
my $titles = "
";
&PRINT($titles);
$s++
}
&PRINT($tableClose);
}
else {
foreach my $items (@{$rss->{'items'}}) {
next unless defined($items->{'title'}) && defined($items->{'link'}) && ($s <= $num);
my $titles = "";
&PRINT($titles);
$s++
}
}
}
#####################################################################
# Print item title and description
sub DESCRIPTION {
if (not defined $listOn) { $listOn = ''; }
if (not defined $listOff) { $listOff = ''; }
if (not defined $num) { $num = '0'; }
my $s = 1;
foreach my $items (@{$rss->{'items'}}) {
next unless defined($items->{'title'}) && defined($items->{'link'}) && ($s <= $num);
my $title = "";
my $desc = "";
&PRINT($title);
&PRINT($desc);
$s++;
}
}
#####################################################################
# Print channel textinput box
sub TEXTINPUT {
my $input = "";
&PRINT($input);
}
#####################################################################
# Print channel publication date
sub PUBDATE {
my $pub="";
&PRINT($pub);
}
#####################################################################
# Print channel copyright
sub COPYRIGHT {
my $copyR = "";
&PRINT($copyR);
}
#####################################################################
# Clean up RSS input before printing
sub PRINT {
# Escape any single quotes (only needed in js output)
# $_[0] =~ s/\'/\\'/g;
# Get rid of any stray new lines, form feeds or carriage returns in the input
$_[0] =~ s/\n//g;
$_[0] =~ s/\f//g;
$_[0] =~ s/\r//g;
# Print the output
print "$_[0]\n";
}
#!/usr/bin/perl -Tw
##############################################################################
# rss2si.pl
#
# This program writes out a html table or list that can be placed into a
# normal html page for displaying RSS feed on the web. The progam is a
# modified version of rss2js.pl by Nik Jewell (see below). Modification
# done by Kåre Presttun, kare(at)presttun.org 07th March 2004.
#
# The modification makes the program suitable for being run from SSI.
# Typical usage is like this:
#
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
##############################################################################
##############################################################################
# rss2js.pl #
# #
# This program writes out an RSS file to JavaScript for remote display #
# #
# by Nik Jewell. v0.2 20th May 2002 #
# #
# Configuration of the visual display characteristics can be carried out #
# with the accompanying rssconfig.pl script #
# #
# Please contact L.N.Jewell@leeds.ac.uk with bugfixes, suggested #
# improvments or for assistance #
# #
# Copyright (C) 2002 PRS-LTSN #
# #
# This program is free software; you can redistribute it and/or #
# modify it under the terms of the GNU General Public License #
# as published by the Free Software Foundation; either version 2 #
# of the License, or (at your option) any later version. #
# #
# This program is distributed in the hope that it will be useful, #
# but WITHOUT ANY WARRANTY; without even the implied warranty of #
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
# GNU General Public License for more details. #
# #
# You should have received a copy of the GNU General Public License #
# along with this program; if not, write to the Free Software #
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA #
##############################################################################
# Modules
use strict;
use CGI;
use LWP::Simple;
use XML::RSS;
# Declare global variables
my ($width,$height,$listOn,$listOff);
# Create an instance of CGI
my $query = new CGI;
#####################################################################
# Collect the query data
my $remote = $query->param('remote');
my $name = $query->param('name');
my $nameDesc = $query->param('nameDesc');
my $image = $query->param('image');
my $desc = $query->param('desc');
my $num = $query->param('num');
my $box = $query->param('box');
my $copyr = $query->param('copyr');
my $date = $query->param('date');
my $list = $query->param('list');
my $wid = $query->param('wid');
#####################################################################
# Create an instance of XML::RSS
my $rss = new XML::RSS;
# Fetch the remote file
my $xml = get($remote);
# Parse the retrieved file
$rss->parse($xml);
# Create the html table
&OUTPUT($rss);
#####################################################################
# Main display
sub OUTPUT {
if (not defined $wid) { $wid = '200' }
# Display news items as list items?
if (defined($list)) {
$listOn = "
";
}
# Print the header
print "Content-type: text/html\n\n";
# Print the opening container table tags
print "\n";
}
#####################################################################
# Print channel name
sub NAME {
print "\n";
}
#####################################################################
# Print channel image
sub IMAGE {
if ($rss->{'image'}->{'width'}) {
$width = "$rss->{'image'}->{'width'}";
}
if ($rss->{'image'}->{'height'}) {
$height = "$rss->{'image'}->{'height'}";
}
print "\n";
}
#####################################################################
# Print channel description
sub NAMEDESC {
print "
| \n";
my $chandesc="$rss->{'channel'}->{'description'}";
&PRINT($chandesc);
print " |
\n";
}
#####################################################################
# Print item title
sub TITLE {
if (not defined $num) { $num = '0'; }
my $s = 1;
if ($list eq "y") {
my $tableOpen = "";
&PRINT($tableOpen);
foreach my $items (@{$rss->{'items'}}) {
next unless defined($items->{'title'}) && defined($items->{'link'}) && ($s <= $num);
my $titles = "
";
&PRINT($titles);
$s++
}
&PRINT($tableClose);
}
else {
foreach my $items (@{$rss->{'items'}}) {
next unless defined($items->{'title'}) && defined($items->{'link'}) && ($s <= $num);
my $titles = "";
&PRINT($titles);
$s++
}
}
}
#####################################################################
# Print item title and description
sub DESCRIPTION {
if (not defined $listOn) { $listOn = ''; }
if (not defined $listOff) { $listOff = ''; }
if (not defined $num) { $num = '0'; }
my $s = 1;
foreach my $items (@{$rss->{'items'}}) {
next unless defined($items->{'title'}) && defined($items->{'link'}) && ($s <= $num);
my $title = "";
my $desc = "";
&PRINT($title);
&PRINT($desc);
$s++;
}
}
#####################################################################
# Print channel textinput box
sub TEXTINPUT {
my $input = "";
&PRINT($input);
}
#####################################################################
# Print channel publication date
sub PUBDATE {
my $pub="";
&PRINT($pub);
}
#####################################################################
# Print channel copyright
sub COPYRIGHT {
my $copyR = "";
&PRINT($copyR);
}
#####################################################################
# Clean up RSS input before printing
sub PRINT {
# Escape any single quotes (only needed in js output)
# $_[0] =~ s/\'/\\'/g;
# Get rid of any stray new lines, form feeds or carriage returns in the input
$_[0] =~ s/\n//g;
$_[0] =~ s/\f//g;
$_[0] =~ s/\r//g;
# Print the output
print "$_[0]\n";
}
So why am I concerned? I'm concerned because we're destroying the globe we're living on. Read about at:
I'm concerned tha the ecosystem the way we know it today will collapse. It's difficult to say what will cause the collapse first.
- Will it be polluted air and global heating?
- Will it be lack of good water?
- Will it be polluted sea and dying fish and lack of food?
- Will it argiculture land turning to desert and lack of food?
- Will it be lack of oil?
It does not really matter since we're eagerly working on making all these things happen at an increasingly rapid speed.
The Global Footprint Network write: "Today, humanity's Ecological Footprint is over 23% larger than what the planet can regenerate. In other words, it now takes more than one year and two months for the Earth to regenerate what we use in a single year".
WWF write: "If everyone in the world lived as people do in Europe, we would need three planets to support us".
It should be pretty clear that this can not just go on without serious consequences.