summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
6f6d8ea)
OK, now it creates RSS file with apparently correct *relative* links
It seems that client(s), at least Firefox, does not like relative links.
In short, it does not work. Don't use it.
use strict;
use Carp;
use POSIX qw/getcwd strftime/;
use strict;
use Carp;
use POSIX qw/getcwd strftime/;
use CGI qw/:html *table *Tr *td *center *div *Link/;
use Image::Info qw/image_info dim/;
use Term::ReadLine;
use CGI qw/:html *table *Tr *td *center *div *Link/;
use Image::Info qw/image_info dim/;
use Term::ReadLine;
sub initrss {
my $self=shift; # this is not a method but we cheat
my $fullpath=$self->{-fullpath};
sub initrss {
my $self=shift; # this is not a method but we cheat
my $fullpath=$self->{-fullpath};
+ my $toppath=$self->{-toppath};
my $inc=$self->{-inc}.$incdir.'/';
my $inc=$self->{-inc}.$incdir.'/';
- my $conffile=$self->{-toppath}.'/'.$incdir.'/rss.conf';
+ my $conffile=$toppath.'/'.$incdir.'/rss.conf';
my $CONF;
if ($rssfile) {
my $CONF;
if ($rssfile) {
}
$rssobj->{'rss'}->save($rssobj->{'file'});
} else {
}
$rssobj->{'rss'}->save($rssobj->{'file'});
} else {
- my $link="";
- for (my $pos=index($rssfile,'/');$pos>=0;
- $pos=index($rssfile,'/',$pos+1)) {
+ my $link;
+ my $p1;
+ my $p2;
+ for ($p1=0,$p2=length($toppath);
+ substr($rssfile,$p1,3) eq '../' && $p2>0;
+ $p1+=3,$p2=rindex($toppath,'/',$p2-1)) {;}
+ $link=substr($toppath,$p2);
+ $link =~ s%^/%%;
+ $link .= '/' if ($link);
+ while (($p1=index($rssfile,'/',$p1+1)) >= 0) {
title => $self->{-title},
link => $rsslink,
description => $rsstitle,
title => $self->{-title},
link => $rsslink,
description => $rsstitle,
+ pubDate => time2str(time),