From 8e02050582fcc8f58996c38ef260f2ec930914be Mon Sep 17 00:00:00 2001 From: "Chuck Norris (uranus.fritz.box)" Date: Sun, 17 Aug 2014 14:22:23 +0200 Subject: add backslash --- Xerl/Setup/Configure.pm | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Xerl/Setup/Configure.pm b/Xerl/Setup/Configure.pm index 18c49fe..c179ec0 100644 --- a/Xerl/Setup/Configure.pm +++ b/Xerl/Setup/Configure.pm @@ -36,6 +36,12 @@ sub parse($) { $self->setval( $1, $self->eval($2) ) if $_ =~ $re; } + my $hostroot = $self->get_hostroot(); + $self->set_hostroot("$hostroot/") unless $hostroot !~ m#/$#; + + my $cacheroot = $self->get_cacheroot(); + $self->set_cacheroot("$cacheroot/") unless $cacheroot !~ m#/$#; + return $self; } -- cgit v1.2.3 From 98eea5583d0c3b52d0fe3dde9e9870ccba2fb983 Mon Sep 17 00:00:00 2001 From: "Chuck Norris (uranus.fritz.box)" Date: Sun, 17 Aug 2014 14:24:14 +0200 Subject: Knock, knock! Who's there? Sam and Janet. Sam and Janet who? Sam and Janet Evening... --- Xerl/Setup/Configure.pm | 6 ------ 1 file changed, 6 deletions(-) diff --git a/Xerl/Setup/Configure.pm b/Xerl/Setup/Configure.pm index c179ec0..18c49fe 100644 --- a/Xerl/Setup/Configure.pm +++ b/Xerl/Setup/Configure.pm @@ -36,12 +36,6 @@ sub parse($) { $self->setval( $1, $self->eval($2) ) if $_ =~ $re; } - my $hostroot = $self->get_hostroot(); - $self->set_hostroot("$hostroot/") unless $hostroot !~ m#/$#; - - my $cacheroot = $self->get_cacheroot(); - $self->set_cacheroot("$cacheroot/") unless $cacheroot !~ m#/$#; - return $self; } -- cgit v1.2.3 From b16cca8b3944c071a15ba57820804cfb6da9cbdb Mon Sep 17 00:00:00 2001 From: "Chuck Norris (mars.fritz.box)" Date: Thu, 28 Aug 2014 09:33:11 +0200 Subject: refactor --- Xerl.pm | 26 +++++++++------------- Xerl/Base.pm | 10 ++++----- Xerl/Main/Global.pm | 2 +- Xerl/Page/Content.pm | 44 ++++++++++++++++++------------------- Xerl/Page/Document.pm | 10 ++++----- Xerl/Page/Menu.pm | 25 ++++++++++----------- Xerl/Page/Rules.pm | 10 ++++----- Xerl/Page/Templates.pm | 40 +++++++++++++++------------------- Xerl/Setup/Configure.pm | 30 +++++++++++-------------- Xerl/Setup/Parameter.pm | 8 +++---- Xerl/Setup/Request.pm | 6 ++--- Xerl/Tools/FileIO.pm | 58 +++++++++++++++++++++++-------------------------- Xerl/XML/Element.pm | 17 +++++++-------- Xerl/XML/Reader.pm | 12 +++++----- Xerl/XML/SAXHandler.pm | 2 +- index.fpl | 4 ++-- index.pl | 4 ++-- 17 files changed, 142 insertions(+), 166 deletions(-) diff --git a/Xerl.pm b/Xerl.pm index fe9b873..53e4da7 100644 --- a/Xerl.pm +++ b/Xerl.pm @@ -1,4 +1,4 @@ -# Xerl (c) 2005-2011, 2013 Dipl.-Inform. (FH) Paul C. Buetow +# Xerl (c) 2005-2011, 2013, 2014 by Paul Buetow # # E-Mail: xerl@dev.buetow.org WWW: http://xerl.buetow.org # @@ -23,40 +23,34 @@ use Xerl::Setup::Configure; use Xerl::Setup::Parameter; use Xerl::Setup::Request; -sub run($) { +sub run { my Xerl $self = $_[0]; my $time = [gettimeofday]; - my Xerl::Setup::Request $request = - Xerl::Setup::Request->new( request => $ENV{REQUEST_URI} ); - + my $request = Xerl::Setup::Request->new( request => $ENV{REQUEST_URI} ); $request->parse(); - my Xerl::Setup::Configure $config = - Xerl::Setup::Configure->new( config => $self->get_config(), %$request ); + my $config = Xerl::Setup::Configure->new( + config => $self->get_config(), %$request + ); $config->parse(); + return undef if $config->finish_request_exists(); $config->defaults(); - my Xerl::Setup::Parameter $parameter = - Xerl::Setup::Parameter->new( config => $config ); - + my $parameter = Xerl::Setup::Parameter->new( config => $config ); $parameter->parse(); return undef if $config->finish_request_exists(); if ( $config->document_exists() ) { - my Xerl::Page::Document $document = - Xerl::Page::Document->new( config => $config ); - + my $document = Xerl::Page::Document->new( config => $config ); $document->parse(); return undef if $config->finish_request_exists(); } else { - my Xerl::Page::Templates $templates = - Xerl::Page::Templates->new( config => $config ); - + my $templates = Xerl::Page::Templates->new( config => $config ); $templates->parse(); return undef if $config->finish_request_exists(); $templates->print($time); diff --git a/Xerl/Base.pm b/Xerl/Base.pm index fcf3857..cfddd89 100644 --- a/Xerl/Base.pm +++ b/Xerl/Base.pm @@ -1,4 +1,4 @@ -# Xerl (c) 2005-2011, 2013 Dipl.-Inform. (FH) Paul C. Buetow +# Xerl (c) 2005-2011, 2013, 2014 by Paul Buetow # # E-Mail: xerl@dev.buetow.org WWW: http://xerl.buetow.org # @@ -14,13 +14,13 @@ use 5.14.0; use Data::Dumper; -sub new ($;) { +sub new { my $self = shift; bless {@_} => $self; } -sub setval($$$) { +sub setval { my UNIVERSAL $self = $_[0]; $self->{ $_[1] } = $_[2]; @@ -28,13 +28,13 @@ sub setval($$$) { return undef; } -sub getval($$) { +sub getval { my UNIVERSAL $self = $_[0]; return defined $self->{ $_[1] } ? $self->{ $_[1] } : ''; } -sub exists($$) { +sub exists { my UNIVERSAL $self = $_[0]; return exists $self->{ $_[1] } ? 1 : 0; diff --git a/Xerl/Main/Global.pm b/Xerl/Main/Global.pm index 291eca7..5a428b7 100644 --- a/Xerl/Main/Global.pm +++ b/Xerl/Main/Global.pm @@ -1,4 +1,4 @@ -# Xerl (c) 2005-2011, 2013 Dipl.-Inform. (FH) Paul C. Buetow +# Xerl (c) 2005-2011, 2013, 2014 by Paul Buetow # # E-Mail: xerl@dev.buetow.org WWW: http://xerl.buetow.org # diff --git a/Xerl/Page/Content.pm b/Xerl/Page/Content.pm index e2dd045..05a206d 100644 --- a/Xerl/Page/Content.pm +++ b/Xerl/Page/Content.pm @@ -1,4 +1,4 @@ -# Xerl (c) 2005-2011, 2013 Dipl.-Inform. (FH) Paul C. Buetow +# Xerl (c) 2005-2011, 2013, 2014 by Paul Buetow # # E-Mail: xerl@dev.buetow.org WWW: http://xerl.buetow.org # @@ -22,11 +22,11 @@ use Xerl::XML::Reader; use LWP::Simple; -sub parse($) { - my Xerl::Page::Content $self = $_[0]; - my Xerl::Setup::Configure $config = $self->get_config(); +sub parse { + my $self = $_[0]; + my $config = $self->get_config(); - my Xerl::XML::Reader $xmlcontent = Xerl::XML::Reader->new( + my $xmlcontent = Xerl::XML::Reader->new( path => $config->get_templatepath(), config => $config ); @@ -38,7 +38,7 @@ sub parse($) { $xmlcontent->parse(); - my Xerl::Page::Rules $rules = Xerl::Page::Rules->new( config => $config ); + my $rules = Xerl::Page::Rules->new( config => $config ); $rules->parse( $config->get_xmlconfigrootobj() ) unless $config->exists('noparse'); @@ -48,10 +48,10 @@ sub parse($) { return undef; } -sub insertrules($$$$) { - my Xerl::Page::Content $self = $_[0]; - my Xerl::Page::Rules $rules = $_[1]; - my Xerl::XML::Element $element = $_[2]; +sub insertrules { + my $self = $_[0]; + my $rules = $_[1]; + my $element = $_[2]; # Start inserting rules at $element = $element->starttag('content'); @@ -71,12 +71,12 @@ sub insertrules($$$$) { return undef; } -sub _insertrules($$$) { - my Xerl::Page::Content $self = $_[0]; - my Xerl::Page::Rules $rules = $_[1]; - my Xerl::XML::Element $element = $_[2]; - my Xerl::Setup::Configure $config = $self->get_config(); - my $nonewlines = 0; +sub _insertrules { + my $self = $_[0]; + my $rules = $_[1]; + my $element = $_[2]; + my $config = $self->get_config(); + my $nonewlines = 0; # Don't interate through the XML childs if we have a leaf node. return () unless ref $element->get_array() eq 'ARRAY'; @@ -201,12 +201,12 @@ sub _insertrules($$$) { return $nonewlines ? map { s/\n/ /go; $_ } @content : @content; } -sub _insert_special_vars($$$$) { - my Xerl::Page::Content $self = $_[0]; - my Xerl::Page::Rules $rules = $_[1]; - my Xerl::XML::Element $element = $_[2]; - my Xerl::Setup::Configure $config = $self->get_config(); - my $rtext = $_[3]; +sub _insert_special_vars { + my $self = $_[0]; + my $rules = $_[1]; + my $element = $_[2]; + my $rtext = $_[3]; + my $config = $self->get_config(); $$rtext =~ s/@\@text\@\@/$_=$element->get_text();chomp;$_/geo; $$rtext =~ s/@\@ln\@\@//go; diff --git a/Xerl/Page/Document.pm b/Xerl/Page/Document.pm index 89ae788..b7cafa3 100644 --- a/Xerl/Page/Document.pm +++ b/Xerl/Page/Document.pm @@ -1,4 +1,4 @@ -# Xerl (c) 2005-2011, 2013 Dipl.-Inform. (FH) Paul C. Buetow +# Xerl (c) 2005-2011, 2013, 2014 by Paul Buetow # # E-Mail: xerl@dev.buetow.org WWW: http://xerl.buetow.org # @@ -17,9 +17,9 @@ use Xerl::Main::Global; use Xerl::Setup::Configure; use Xerl::Tools::FileIO; -sub parse($) { - my Xerl::Page::Document $self = $_[0]; - my Xerl::Setup::Configure $config = $self->get_config(); +sub parse { + my $self = $_[0]; + my $config = $self->get_config(); return undef unless $config->document_exists(); @@ -40,7 +40,7 @@ sub parse($) { . "/htdocs/$document"; } - my Xerl::Tools::FileIO $io = Xerl::Tools::FileIO->new( path => $path ); + my $io = Xerl::Tools::FileIO->new( path => $path ); if ( -1 == $io->fslurp() ) { $config->set_finish_request(1); diff --git a/Xerl/Page/Menu.pm b/Xerl/Page/Menu.pm index a813461..987c13a 100644 --- a/Xerl/Page/Menu.pm +++ b/Xerl/Page/Menu.pm @@ -1,4 +1,4 @@ -# Xerl (c) 2005-2011, 2013 Dipl.-Inform. (FH) Paul C. Buetow +# Xerl (c) 2005-2011, 2013, 2014 by Paul Buetow # # E-Mail: xerl@dev.buetow.org WWW: http://xerl.buetow.org # @@ -17,9 +17,9 @@ use Xerl::Setup::Configure; use Xerl::Tools::FileIO; use Xerl::XML::Element; -sub generate($;$) { - my Xerl::Page::Menu $self = $_[0]; - my Xerl::Setup::Configure $config = $self->get_config(); +sub generate { + my $self = $_[0]; + my $config = $self->get_config(); my @site = split /\//, $config->get_site(); my @compare = @site; @@ -27,8 +27,7 @@ sub generate($;$) { my ( $content, $siteadd ) = ( 'content/', '' ); - my Xerl::XML::Element $menuelem = - $self->get_menu( $content, $siteadd, shift @compare ); + my $menuelem = $self->get_menu( $content, $siteadd, shift @compare ); $self->push_array($menuelem) if $menuelem->first_array()->array_length() > 1; @@ -45,15 +44,15 @@ sub generate($;$) { return undef; } -sub get_menu($$$$) { - my Xerl::Page::Menu $self = $_[0]; - my Xerl::Setup::Configure $config = $self->get_config(); +sub get_menu { + my $self = $_[0]; + my $config = $self->get_config(); my ( $content, $siteadd, $compare ) = ( @_[ 1 ... 2 ], lc $_[3] ); my $issubsection = $content =~ m{\.sub/$}; my $pattern = qr/\.(?:xml)|(?:sub)$/; - my Xerl::Tools::FileIO $io = Xerl::Tools::FileIO->new( + my $io = Xerl::Tools::FileIO->new( path => $config->get_hostpath() . $content, basename => 1, ); @@ -78,8 +77,8 @@ sub get_menu($$$$) { && $_ !~ /\.inc\.pl$/i } @$dir; - my Xerl::XML::Element $root = Xerl::XML::Element->new(); - my Xerl::XML::Element $menu = Xerl::XML::Element->new(); + my $root = Xerl::XML::Element->new(); + my $menu = Xerl::XML::Element->new(); $menu->set_name('menu'); @@ -93,7 +92,7 @@ sub get_menu($$$$) { $linkname =~ s/(?:\d+\.)?(.)/\U$1/o; $compare .= '/' if $linkname =~ s#(.*/)[^/]+$#$1#; - my Xerl::XML::Element $item = Xerl::XML::Element->new( + my $item = Xerl::XML::Element->new( params => { link => "?site=$siteadd$site" }, text => $linkname ); diff --git a/Xerl/Page/Rules.pm b/Xerl/Page/Rules.pm index 6a59285..0d08a67 100644 --- a/Xerl/Page/Rules.pm +++ b/Xerl/Page/Rules.pm @@ -1,4 +1,4 @@ -# Xerl (c) 2005-2011, 2013 Dipl.-Inform. (FH) Paul C. Buetow +# Xerl (c) 2005-2011, 2013, 2014 by Paul Buetow # # E-Mail: xerl@dev.buetow.org WWW: http://xerl.buetow.org # @@ -16,10 +16,10 @@ use Xerl::Base; use Xerl::Setup::Configure; use Xerl::XML::Element; -sub parse($) { - my Xerl::Page::Rules $self = $_[0]; - my Xerl::XML::Element $element = $_[1]; - my Xerl::Setup::Configure $config = $self->get_config(); +sub parse { + my $self = $_[0]; + my $element = $_[1]; + my $config = $self->get_config(); $element = $element->starttag2( 'rules', $config->get_outputformat() ); return unless defined $element; diff --git a/Xerl/Page/Templates.pm b/Xerl/Page/Templates.pm index d18ebcb..a2b2880 100644 --- a/Xerl/Page/Templates.pm +++ b/Xerl/Page/Templates.pm @@ -1,4 +1,4 @@ -# Xerl (c) 2005-2011, 2013, 2014 Dipl.-Inform. (FH) Paul C. Buetow +# Xerl (c) 2005-2011, 2013, 2014 by Paul Buetow # # E-Mail: xerl@dev.buetow.org WWW: http://xerl.buetow.org # @@ -23,9 +23,9 @@ use Xerl::Tools::FileIO; use constant RECURSIVE => 1; -sub parse($) { - my Xerl::Page::Templates $self = $_[0]; - my Xerl::Setup::Configure $config = $self->get_config(); +sub parse { + my $self = $_[0]; + my $config = $self->get_config(); my $site = $config->get_site(); @@ -52,8 +52,7 @@ sub parse($) { && ( $config->usecache_exists() or not $config->nocache_exists() ) ) { - my Xerl::Tools::FileIO $io = - Xerl::Tools::FileIO->new( path => $cachepath . $cachefile ); + my $io = Xerl::Tools::FileIO->new( path => $cachepath . $cachefile ); if ( -1 == $io->fslurp() ) { $config->set_finish_request(1); @@ -69,7 +68,7 @@ sub parse($) { $xmlconfigpath = $config->get_defaulthostpath() . 'config.xml' unless -f $xmlconfigpath; - my Xerl::XML::Reader $xmlconfigreader = + my $xmlconfigreader = Xerl::XML::Reader->new( path => $xmlconfigpath, config => $config ); if ( -1 == $xmlconfigreader->open() ) { @@ -80,8 +79,7 @@ sub parse($) { $xmlconfigreader->parse(); $config->set_xmlconfigrootobj( $xmlconfigreader->get_root() ); - my Xerl::Page::Menu $menu = Xerl::Page::Menu->new( config => $config ); - + my $menu = Xerl::Page::Menu->new( config => $config ); $menu->generate(); $config->set_menuobj($menu); @@ -105,9 +103,7 @@ sub parse($) { $config->set_templatepath($glob); } - my Xerl::Page::Content $bodycontent = - Xerl::Page::Content->new( config => $config ); - + my $bodycontent = Xerl::Page::Content->new( config => $config ); $bodycontent->parse(); my $templatepath = @@ -121,16 +117,14 @@ sub parse($) { $config->set_templatepath($templatepath); - my Xerl::Page::Content $templatecontent = - Xerl::Page::Content->new( config => $config ); - + my $templatecontent = Xerl::Page::Content->new( config => $config ); $templatecontent->parse(); $self->set_array( $templatecontent->get_content() ); $config->set_content( $bodycontent->get_content() ); $self->parsetemplate( '%%', RECURSIVE ); - my Xerl::Tools::FileIO $io = Xerl::Tools::FileIO->new( + my $io = Xerl::Tools::FileIO->new( path => $cachepath, filename => $cachefile, array => $self->get_array(), @@ -143,9 +137,9 @@ sub parse($) { return undef; } -sub parsetemplate($$;$) { - my Xerl::Page::Templates $self = $_[0]; - my Xerl::Setup::Configure $config = $self->get_config(); +sub parsetemplate { + my $self = $_[0]; + my $config = $self->get_config(); my $deepnesslevel = $_[2] || 0; return $self if $deepnesslevel == 100; @@ -160,9 +154,9 @@ sub parsetemplate($$;$) { return undef; } -sub print($;$) { - my Xerl::Page::Templates $self = $_[0]; - my Xerl::Setup::Configure $config = $self->get_config(); +sub print { + my $self = $_[0]; + my $config = $self->get_config(); my ( $code, $flag ) = ( '', 0 ); my $time = $_[1]; @@ -210,7 +204,7 @@ sub print($;$) { # Static sub sub PARSELINE($$$;$) { - my Xerl::Setup::Configure $config = $_[0]; + my $config = $_[0]; my ( $sep, $line, $foundflag ) = @_[ 1 .. 3 ]; $$line =~ s/$sep(!)?(.+?)$sep/ diff --git a/Xerl/Setup/Configure.pm b/Xerl/Setup/Configure.pm index 18c49fe..2d248f2 100644 --- a/Xerl/Setup/Configure.pm +++ b/Xerl/Setup/Configure.pm @@ -1,4 +1,4 @@ -# Xerl (c) 2005-2011, 2013, 2014 Dipl.-Inform. (FH) Paul C. Buetow +# Xerl (c) 2005-2011, 2013, 2014 by Paul Buetow # # E-Mail: xerl@dev.buetow.org WWW: http://xerl.buetow.org # @@ -16,11 +16,9 @@ use Xerl::Base; use Xerl::Tools::FileIO; use Xerl::XML::Element; -sub parse($) { - my Xerl::Setup::Configure $self = $_[0]; - - my Xerl::Tools::FileIO $file = - Xerl::Tools::FileIO->new( 'path' => $self->get_config() ); +sub parse { + my $self = $_[0]; + my $file = Xerl::Tools::FileIO->new( 'path' => $self->get_config() ); if ( -1 == $file->fslurp() ) { $self->set_finish_request(1); @@ -39,8 +37,8 @@ sub parse($) { return $self; } -sub defaults($) { - my Xerl::Setup::Configure $self = $_[0]; +sub defaults { + my $self = $_[0]; $self->set_proto('https') if exists $ENV{HTTPS}; @@ -70,8 +68,7 @@ sub defaults($) { my $redirect = $self->get_hostroot() . 'redirect:' . $self->get_host(); if ( -f $redirect ) { - my Xerl::Tools::FileIO $file = - Xerl::Tools::FileIO->new( 'path' => $redirect ); + my $file = Xerl::Tools::FileIO->new( 'path' => $redirect ); $file->fslurp(); my $location = $file->shift(); @@ -82,8 +79,7 @@ sub defaults($) { my $alias = $self->get_hostroot() . 'alias:' . $self->get_host(); if ( -f $alias ) { - my Xerl::Tools::FileIO $file = - Xerl::Tools::FileIO->new( 'path' => $alias ); + my $file = Xerl::Tools::FileIO->new( 'path' => $alias ); $file->fslurp(); $self->set_host( $file->shift() ); @@ -128,8 +124,8 @@ sub defaults($) { return undef; } -sub eval($$) { - my Xerl::Setup::Configure $self = $_[0]; +sub eval { + my $self = $_[0]; my $val = $_[1]; $val =~ s/^!(.+)/`$1`/eo; @@ -137,9 +133,9 @@ sub eval($$) { return $val; } -sub insertxmlvars($$) { - my Xerl::Setup::Configure $self = $_[0]; - my Xerl::XML::Element $element = $_[1]; +sub insertxmlvars { + my $self = $_[0]; + my $element = $_[1]; $element = $element->starttag('variables'); diff --git a/Xerl/Setup/Parameter.pm b/Xerl/Setup/Parameter.pm index 45c860d..bee8981 100644 --- a/Xerl/Setup/Parameter.pm +++ b/Xerl/Setup/Parameter.pm @@ -1,4 +1,4 @@ -# Xerl (c) 2005-2011, 2013 Dipl.-Inform. (FH) Paul C. Buetow +# Xerl (c) 2005-2011, 2013, 2014 by Paul Buetow # # E-Mail: xerl@dev.buetow.org WWW: http://xerl.buetow.org # @@ -17,9 +17,9 @@ use Xerl::Main::Global; use Xerl::Setup::Configure; use Xerl::Tools::FileIO; -sub parse($) { - my Xerl::Setup::Parameter $self = $_[0]; - my Xerl::Setup::Configure $config = $self->get_config(); +sub parse { + my $self = $_[0]; + my $config = $self->get_config(); print "Content-Type: text/plain\n\n" if $config->plain_exists(); diff --git a/Xerl/Setup/Request.pm b/Xerl/Setup/Request.pm index 31c18a3..c6f2e53 100644 --- a/Xerl/Setup/Request.pm +++ b/Xerl/Setup/Request.pm @@ -1,4 +1,4 @@ -# Xerl (c) 2005-2011, 2013 Dipl.-Inform. (FH) Paul C. Buetow +# Xerl (c) 2005-2011, 2013, 2014 by Paul Buetow # # E-Mail: xerl@dev.buetow.org WWW: http://xerl.buetow.org # @@ -14,8 +14,8 @@ use v5.14.0; use Xerl::Base; -sub parse($) { - my Xerl::Setup::Request $self = $_[0]; +sub parse { + my $self = $_[0]; my $request = $self->get_request(); # Secure it! diff --git a/Xerl/Tools/FileIO.pm b/Xerl/Tools/FileIO.pm index cd3e6bb..31d5c66 100644 --- a/Xerl/Tools/FileIO.pm +++ b/Xerl/Tools/FileIO.pm @@ -1,4 +1,4 @@ -# Xerl (c) 2005-2011, 2013 Dipl.-Inform. (FH) Paul C. Buetow +# Xerl (c) 2005-2011, 2013, 2014 by Paul Buetow # # E-Mail: xerl@dev.buetow.org WWW: http://xerl.buetow.org # @@ -15,9 +15,8 @@ use v5.14.0; use Xerl::Base; use Xerl::Main::Global; -sub dslurp($;$) { - my Xerl::Tools::FileIO $self = $_[0]; - +sub dslurp { + my $self = $_[0]; my $path = $self->get_path(); $path .= '/' unless $path =~ /\/$/; @@ -36,8 +35,8 @@ sub dslurp($;$) { return undef; } -sub fslurp($) { - my Xerl::Tools::FileIO $self = $_[0]; +sub fslurp { + my $self = $_[0]; my $path = _SECUREPATH( $self->get_path() ); unless ( -f $path ) { @@ -58,38 +57,36 @@ sub fslurp($) { return 0; } -sub exists($) { - my Xerl::Tools::FileIO $self = $_[0]; +sub exists { + my $self = $_[0]; my $path = _SECUREPATH( $self->get_path() ); return -e $path; } -sub fwrite($) { - my Xerl::Tools::FileIO $self = $_[0]; +sub fwrite { + my $self = $_[0]; $self->_fwrite(0); return undef; } -sub fwriteappend($) { - my Xerl::Tools::FileIO $self = $_[0]; - +sub fwriteappend { + my $self = $_[0]; $self->_fwrite(1); return undef; } -sub print($) { - my Xerl::Tools::FileIO $self = $_[0]; - +sub print { + my $self = $_[0]; print @{ $self->get_array() }; return undef; } -sub reverse_array($) { - my Xerl::Tools::FileIO $self = $_[0]; +sub reverse_array { + my $self = $_[0]; my @array = reverse @{ $self->get_array() }; $self->set_array( \@array ); @@ -97,37 +94,37 @@ sub reverse_array($) { return undef; } -sub merge($$) { - my Xerl::Tools::FileIO( $self, $other ) = @_; +sub merge { + my ($self, $other) = @_; my @merged = ( @{ $self->get_array() }, @{ $other->get_array() } ); - my Xerl::Tools::FileIO $fio = Xerl::Tools::FileIO->new(); - + my $fio = Xerl::Tools::FileIO->new(); $fio->set_array( \@merged ); + return $fio; } -sub shift($) { - my Xerl::Tools::FileIO $self = $_[0]; +sub shift { + my $self = $_[0]; chomp( my $shift = shift @{ $self->get_array() } ); return $shift; } -sub pop($) { - my Xerl::Tools::FileIO $self = $_[0]; +sub pop { + my $self = $_[0]; chomp( my $pop = pop @{ $self->get_array() } ); return $pop; } -sub str($) { - my Xerl::Tools::FileIO $self = $_[0]; +sub str { + my $self = $_[0]; return join '', @{ $self->get_array() }; } -sub _fwrite($;$) { - my Xerl::Tools::FileIO $self = $_[0]; +sub _fwrite { + my $self = $_[0]; my $append = $_[1]; my ( $path, $filename ) = @@ -164,7 +161,6 @@ use overload '+' => \&merge; sub _SECUREPATH($) { my $path = $_[0]; - $path =~ s/\.\.+\/?//g; return $path; diff --git a/Xerl/XML/Element.pm b/Xerl/XML/Element.pm index 0867841..f1f79fd 100644 --- a/Xerl/XML/Element.pm +++ b/Xerl/XML/Element.pm @@ -1,4 +1,4 @@ -# Xerl (c) 2005-2011, 2013 Dipl.-Inform. (FH) Paul C. Buetow +# Xerl (c) 2005-2011, 2013, 2014 by Paul Buetow # # E-Mail: xerl@dev.buetow.org WWW: http://xerl.buetow.org # @@ -12,8 +12,8 @@ use warnings; use Xerl::Base; -sub starttag($$) { - my Xerl::XML::Element $self = $_[0]; +sub starttag { + my $self = $_[0]; my ( $name, $temp ) = ( $_[1], undef ); return $self if $self->get_name() eq $name; @@ -27,22 +27,21 @@ sub starttag($$) { return undef; } -sub starttag2($$$) { - my Xerl::XML::Element $self = $_[0]; +sub starttag2 { + my $self = $_[0]; my ( $name, $after ) = @_[ 1 ... 2 ]; - my Xerl::XML::Element $element = $self->starttag($name); + my $element = $self->starttag($name); return $element->starttag($after) if defined $element; return undef; } -sub params_str($) { - my Xerl::XML::Element $self = $_[0]; +sub params_str { + my $self = $_[0]; my $params = $self->get_params(); return undef if $params eq ''; - return join '', map { " $_=\"" . $params->{$_} . '"' } keys %$params; } diff --git a/Xerl/XML/Reader.pm b/Xerl/XML/Reader.pm index ae5a07b..88c727a 100644 --- a/Xerl/XML/Reader.pm +++ b/Xerl/XML/Reader.pm @@ -1,4 +1,4 @@ -# Xerl (c) 2005-2011, 2013 Dipl.-Inform. (FH) Paul C. Buetow +# Xerl (c) 2005-2011, 2013, 2014 by Paul Buetow # # E-Mail: xerl@dev.buetow.org WWW: http://xerl.buetow.org # @@ -18,8 +18,8 @@ use Xerl::Base; use Xerl::XML::Element; use Xerl::XML::SAXHandler; -sub open($) { - my Xerl::XML::Reader $self = shift; +sub open { + my $self = shift; if ( -f $self->get_path() ) { return 0; @@ -29,14 +29,12 @@ sub open($) { } } -sub parse() { - my Xerl::XML::Reader $self = shift; +sub parse { + my $self = shift; my $sax_handler = Xerl::XML::SAXHandler->new(); my $parser = XML::SAX::ParserFactory->parser( Handler => $sax_handler ); - $parser->parse_uri( $self->get_path() ); - $self->set_root( $sax_handler->{xerl}{root} ); return undef; diff --git a/Xerl/XML/SAXHandler.pm b/Xerl/XML/SAXHandler.pm index 9ba7729..b168c5f 100644 --- a/Xerl/XML/SAXHandler.pm +++ b/Xerl/XML/SAXHandler.pm @@ -1,4 +1,4 @@ -# Xerl (c) 2005-2011, 2013 Dipl.-Inform. (FH) Paul C. Buetow +# Xerl (c) 2005-2011, 2013, 2014 by Paul Buetow # # E-Mail: xerl@dev.buetow.org WWW: http://xerl.buetow.org # diff --git a/index.fpl b/index.fpl index 1cfcb5d..7483761 100755 --- a/index.fpl +++ b/index.fpl @@ -1,6 +1,6 @@ #!/usr/bin/perl -# Xerl (c) 2005-2011, 2013 Dipl.-Inform. (FH) Paul C. Buetow +# Xerl (c) 2005-2011, 2013, 2014 by Paul Buetow # # E-Mail: xerl@dev.buetow.org WWW: http://xerl.buetow.org # @@ -25,6 +25,6 @@ my $config = : ( -e "xerl-$host.conf" ? "xerl-$host.conf" : 'config.conf' ); while ( FCGI::accept >= 0 ) { - my Xerl $xerl = Xerl->new( config => $config ); + my $xerl = Xerl->new( config => $config ); $xerl->run(); } diff --git a/index.pl b/index.pl index 97aa32c..4f87a2d 100755 --- a/index.pl +++ b/index.pl @@ -1,6 +1,6 @@ #!/usr/bin/perl -# Xerl (c) 2005-2011, 2013 Dipl.-Inform. (FH) Paul C. Buetow +# Xerl (c) 2005-2011, 2013, 2014 by Paul Buetow # # E-Mail: xerl@dev.buetow.org WWW: http://xerl.buetow.org # @@ -23,5 +23,5 @@ my $config = ? "xerldev.conf" : ( -e "xerl-$host.conf" ? "xerl-$host.conf" : 'config.conf' ); -my Xerl $xerl = Xerl->new( config => $config ); +my $xerl = Xerl->new( config => $config ); $xerl->run(); -- cgit v1.2.3 From 11b1896cf142b490323a91b04344a20e7a25c9f4 Mon Sep 17 00:00:00 2001 From: "Chuck Norris (mars.fritz.box)" Date: Thu, 28 Aug 2014 09:36:37 +0200 Subject: un perltig --- Xerl.pm | 3 ++- Xerl/Page/Content.pm | 9 +++++---- Xerl/Page/Templates.pm | 9 ++++----- Xerl/Setup/Configure.pm | 4 ++-- Xerl/Setup/Request.pm | 2 +- Xerl/Tools/FileIO.pm | 4 ++-- Xerl/XML/Element.pm | 2 +- Xerl/XML/Reader.pm | 2 +- 8 files changed, 18 insertions(+), 17 deletions(-) diff --git a/Xerl.pm b/Xerl.pm index 53e4da7..227dbe9 100644 --- a/Xerl.pm +++ b/Xerl.pm @@ -31,7 +31,8 @@ sub run { $request->parse(); my $config = Xerl::Setup::Configure->new( - config => $self->get_config(), %$request + config => $self->get_config(), + %$request ); $config->parse(); diff --git a/Xerl/Page/Content.pm b/Xerl/Page/Content.pm index 05a206d..c091c70 100644 --- a/Xerl/Page/Content.pm +++ b/Xerl/Page/Content.pm @@ -72,10 +72,10 @@ sub insertrules { } sub _insertrules { - my $self = $_[0]; - my $rules = $_[1]; - my $element = $_[2]; - my $config = $self->get_config(); + my $self = $_[0]; + my $rules = $_[1]; + my $element = $_[2]; + my $config = $self->get_config(); my $nonewlines = 0; # Don't interate through the XML childs if we have a leaf node. @@ -109,6 +109,7 @@ sub _insertrules { } elsif ( lc $name eq 'inject' ) { + # Fetch via LWP::Simple my $got = get($text); $got =~ s/ 1; sub parse { - my $self = $_[0]; - my $config = $self->get_config(); + my $self = $_[0]; + my $config = $self->get_config(); my $site = $config->get_site(); @@ -138,8 +138,8 @@ sub parse { } sub parsetemplate { - my $self = $_[0]; - my $config = $self->get_config(); + my $self = $_[0]; + my $config = $self->get_config(); my $deepnesslevel = $_[2] || 0; return $self if $deepnesslevel == 100; @@ -195,7 +195,6 @@ sub print { $line =~ s/!!GT!!/>/g; $line =~ s#!!URL\((.+?)\)!!#$1#g; - print $line; } diff --git a/Xerl/Setup/Configure.pm b/Xerl/Setup/Configure.pm index 2d248f2..537ac4f 100644 --- a/Xerl/Setup/Configure.pm +++ b/Xerl/Setup/Configure.pm @@ -126,7 +126,7 @@ sub defaults { sub eval { my $self = $_[0]; - my $val = $_[1]; + my $val = $_[1]; $val =~ s/^!(.+)/`$1`/eo; @@ -134,7 +134,7 @@ sub eval { } sub insertxmlvars { - my $self = $_[0]; + my $self = $_[0]; my $element = $_[1]; $element = $element->starttag('variables'); diff --git a/Xerl/Setup/Request.pm b/Xerl/Setup/Request.pm index c6f2e53..bfbd2b4 100644 --- a/Xerl/Setup/Request.pm +++ b/Xerl/Setup/Request.pm @@ -15,7 +15,7 @@ use v5.14.0; use Xerl::Base; sub parse { - my $self = $_[0]; + my $self = $_[0]; my $request = $self->get_request(); # Secure it! diff --git a/Xerl/Tools/FileIO.pm b/Xerl/Tools/FileIO.pm index 31d5c66..63e2b86 100644 --- a/Xerl/Tools/FileIO.pm +++ b/Xerl/Tools/FileIO.pm @@ -95,7 +95,7 @@ sub reverse_array { } sub merge { - my ($self, $other) = @_; + my ( $self, $other ) = @_; my @merged = ( @{ $self->get_array() }, @{ $other->get_array() } ); my $fio = Xerl::Tools::FileIO->new(); @@ -124,7 +124,7 @@ sub str { } sub _fwrite { - my $self = $_[0]; + my $self = $_[0]; my $append = $_[1]; my ( $path, $filename ) = diff --git a/Xerl/XML/Element.pm b/Xerl/XML/Element.pm index f1f79fd..5e5106b 100644 --- a/Xerl/XML/Element.pm +++ b/Xerl/XML/Element.pm @@ -38,7 +38,7 @@ sub starttag2 { } sub params_str { - my $self = $_[0]; + my $self = $_[0]; my $params = $self->get_params(); return undef if $params eq ''; diff --git a/Xerl/XML/Reader.pm b/Xerl/XML/Reader.pm index 88c727a..ce7b31a 100644 --- a/Xerl/XML/Reader.pm +++ b/Xerl/XML/Reader.pm @@ -30,7 +30,7 @@ sub open { } sub parse { - my $self = shift; + my $self = shift; my $sax_handler = Xerl::XML::SAXHandler->new(); my $parser = XML::SAX::ParserFactory->parser( Handler => $sax_handler ); -- cgit v1.2.3 From c6975559f5b311aa78b823fe427f606372aea4d8 Mon Sep 17 00:00:00 2001 From: "Paul Buetow (uranus)" Date: Sun, 14 Dec 2014 14:21:23 +0100 Subject: update todo list --- TODO | 2 -- 1 file changed, 2 deletions(-) diff --git a/TODO b/TODO index 1853c77..a8daad1 100644 --- a/TODO +++ b/TODO @@ -1,7 +1,5 @@ Hint: Run 'make todo' to see everything in every file what is to do! -TODO: - Validate HTML5 -TODO: - Convert all files to UTF-8 TODO: - Evaluate Template Toolkit, maybe use it TODO: - Create a Debian package and put it to deb.buetow.org TODO: - Documentation of all features/options (manpage) -- cgit v1.2.3 From da9679c1b9fcd91959211d7601faca93d5eaccc1 Mon Sep 17 00:00:00 2001 From: "Paul Buetow (uranus)" Date: Sun, 4 Jan 2015 11:51:11 +0100 Subject: workaround --- Xerl/Page/Content.pm | 34 +++++++++++++++++++--------------- 1 file changed, 19 insertions(+), 15 deletions(-) diff --git a/Xerl/Page/Content.pm b/Xerl/Page/Content.pm index c091c70..6cadd9a 100644 --- a/Xerl/Page/Content.pm +++ b/Xerl/Page/Content.pm @@ -109,13 +109,17 @@ sub _insertrules { } elsif ( lc $name eq 'inject' ) { - # Fetch via LWP::Simple - my $got = get($text); - $got =~ s//>/g; - push @content, $got; - + #my $got = get($text); + # Bug in FreeBSD Perl and LWP Module + my $got = `curl "$text"`; + if ($!) { + push @content, "$text: $!"; + } else { + $got =~ s//>/g; + push @content, $got; + } } elsif ( lc $name eq 'includerun' ) { my $scriptpath = $config->get_contentpath() . $text; @@ -145,8 +149,8 @@ sub _insertrules { } else { push @content, - "<$name" . ( $succ->params_str() || '' ) . '>', - $self->_insertrules( $rules, $succ ), $text, "\n"; + "<$name" . ( $succ->params_str() || '' ) . '>', + $self->_insertrules( $rules, $succ ), $text, "\n"; } } } @@ -181,21 +185,21 @@ sub _insertrules { } $text .= $params->{addback} - if exists $params->{addback}; + if exists $params->{addback}; $text = $params->{addfront} . $text - if exists $params->{addfront}; + if exists $params->{addfront}; } my $oadd = - exists $ruleparams->{addfront} - ? '<' . $ruleparams->{addfront} - : ''; + exists $ruleparams->{addfront} + ? '<' . $ruleparams->{addfront} + : ''; my $cadd = - exists $ruleparams->{addback} ? $ruleparams->{addback} . '>' : ''; + exists $ruleparams->{addback} ? $ruleparams->{addback} . '>' : ''; push @content, $orule, $oadd, $self->_insertrules( $rules, $succ ), - $text, $cadd, $crule; + $text, $cadd, $crule; } } -- cgit v1.2.3 From fe5a81dc73149765ba75202c29684144c080accd Mon Sep 17 00:00:00 2001 From: "Paul Buetow (uranus)" Date: Sat, 21 Feb 2015 10:15:38 +0000 Subject: Fix for Perl 5.18 on FreeBSD. Manually add PurePerl SAX Parser --- Xerl/XML/Reader.pm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Xerl/XML/Reader.pm b/Xerl/XML/Reader.pm index ce7b31a..5aba6c9 100644 --- a/Xerl/XML/Reader.pm +++ b/Xerl/XML/Reader.pm @@ -30,7 +30,9 @@ sub open { } sub parse { - my $self = shift; + my $self = shift; + + XML::SAX->add_parser(q(XML::SAX::PurePerl)); my $sax_handler = Xerl::XML::SAXHandler->new(); my $parser = XML::SAX::ParserFactory->parser( Handler => $sax_handler ); -- cgit v1.2.3 From ee1d9d4243e970d102ea4f57bfacb379e5b25b3a Mon Sep 17 00:00:00 2001 From: "Paul Buetow (europa)" Date: Sun, 17 May 2015 10:21:56 +0100 Subject: add curlpath --- Xerl/Page/Content.pm | 3 ++- xerl.conf | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/Xerl/Page/Content.pm b/Xerl/Page/Content.pm index 6cadd9a..b63d710 100644 --- a/Xerl/Page/Content.pm +++ b/Xerl/Page/Content.pm @@ -112,7 +112,8 @@ sub _insertrules { # Fetch via LWP::Simple #my $got = get($text); # Bug in FreeBSD Perl and LWP Module - my $got = `curl "$text"`; + my $curl = $config->get_curlpath(); + my $got = `$curl "$text"`; if ($!) { push @content, "$text: $!"; } else { diff --git a/xerl.conf b/xerl.conf index df4b930..a310825 100644 --- a/xerl.conf +++ b/xerl.conf @@ -16,3 +16,4 @@ defaulttemplate=html5 hidesubhome=1 hostroot=/usr/local/www/xerlhosts/branches/stable/hosts/ 404=http://paul.buetow.org +curlpath=/usr/local/bin/curl -- cgit v1.2.3 From 7600d97912af269ba1322aebbbde1d40244b7f97 Mon Sep 17 00:00:00 2001 From: "Paul Buetow (europa)" Date: Sun, 31 May 2015 13:04:55 +0100 Subject: new todo --- TODO | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/TODO b/TODO index a8daad1..9299797 100644 --- a/TODO +++ b/TODO @@ -1,5 +1,5 @@ Hint: Run 'make todo' to see everything in every file what is to do! +TODO: - Migrate to Perl6 after Perl6 stable is available as a FreeBSD package TODO: - Evaluate Template Toolkit, maybe use it -TODO: - Create a Debian package and put it to deb.buetow.org -TODO: - Documentation of all features/options (manpage) +TODO: - Documentation of all features/options -- cgit v1.2.3 From 2879d105238608390c8cf92b5756d6b8ab5841b4 Mon Sep 17 00:00:00 2001 From: "Paul Buetow (europa)" Date: Sun, 31 May 2015 13:05:24 +0100 Subject: Aphasia: Loss of speech in social scientists when asked at parties, "But of what use is your research?" --- TODO | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TODO b/TODO index 9299797..a3c5738 100644 --- a/TODO +++ b/TODO @@ -1,5 +1,5 @@ Hint: Run 'make todo' to see everything in every file what is to do! -TODO: - Migrate to Perl6 after Perl6 stable is available as a FreeBSD package +TODO: - Migrate to Perl 6 after Perl 6 stable is available as a FreeBSD package TODO: - Evaluate Template Toolkit, maybe use it TODO: - Documentation of all features/options -- cgit v1.2.3 From f00f2d3aeed082b40b28ab74113e8b32cf4e979a Mon Sep 17 00:00:00 2001 From: "Paul Buetow (europa)" Date: Sun, 31 May 2015 13:06:15 +0100 Subject: I don't have any use for bodyguards, but I do have a specific use for two highly trained certified public accountants. -- Elvis Presley --- TODO | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/TODO b/TODO index a3c5738..f77e516 100644 --- a/TODO +++ b/TODO @@ -1,4 +1,5 @@ -Hint: Run 'make todo' to see everything in every file what is to do! +Hint: Run 'make todo' (in the source tree) to see everything in every file what +is to do! TODO: - Migrate to Perl 6 after Perl 6 stable is available as a FreeBSD package TODO: - Evaluate Template Toolkit, maybe use it -- cgit v1.2.3 From 6dd2e1db76e167693f62027bab9a04857b693980 Mon Sep 17 00:00:00 2001 From: "Paul Buetow (europa)" Date: Sun, 31 May 2015 16:57:05 +0100 Subject: use https --- Xerl/Base.pm | 2 +- Xerl/Main/Global.pm | 2 +- Xerl/Page/Content.pm | 2 +- Xerl/Page/Document.pm | 2 +- Xerl/Page/Menu.pm | 2 +- Xerl/Page/Rules.pm | 2 +- Xerl/Page/Templates.pm | 2 +- Xerl/Setup/Configure.pm | 2 +- Xerl/Setup/Parameter.pm | 2 +- Xerl/Setup/Request.pm | 2 +- Xerl/Tools/FileIO.pm | 2 +- Xerl/XML/Element.pm | 2 +- Xerl/XML/Reader.pm | 2 +- Xerl/XML/SAXHandler.pm | 2 +- 14 files changed, 14 insertions(+), 14 deletions(-) diff --git a/Xerl/Base.pm b/Xerl/Base.pm index cfddd89..21f87df 100644 --- a/Xerl/Base.pm +++ b/Xerl/Base.pm @@ -1,6 +1,6 @@ # Xerl (c) 2005-2011, 2013, 2014 by Paul Buetow # -# E-Mail: xerl@dev.buetow.org WWW: http://xerl.buetow.org +# E-Mail: xerl@dev.buetow.org WWW: https://xerl.buetow.org # # This is free software, you may use it and distribute it under the same # terms as Perl itself. diff --git a/Xerl/Main/Global.pm b/Xerl/Main/Global.pm index 5a428b7..16ca562 100644 --- a/Xerl/Main/Global.pm +++ b/Xerl/Main/Global.pm @@ -1,6 +1,6 @@ # Xerl (c) 2005-2011, 2013, 2014 by Paul Buetow # -# E-Mail: xerl@dev.buetow.org WWW: http://xerl.buetow.org +# E-Mail: xerl@dev.buetow.org WWW: https://xerl.buetow.org # # This is free software, you may use it and distribute it under the same # terms as Perl itself. diff --git a/Xerl/Page/Content.pm b/Xerl/Page/Content.pm index b63d710..bb7d4b1 100644 --- a/Xerl/Page/Content.pm +++ b/Xerl/Page/Content.pm @@ -1,6 +1,6 @@ # Xerl (c) 2005-2011, 2013, 2014 by Paul Buetow # -# E-Mail: xerl@dev.buetow.org WWW: http://xerl.buetow.org +# E-Mail: xerl@dev.buetow.org WWW: https://xerl.buetow.org # # This is free software, you may use it and distribute it under the same # terms as Perl itself. diff --git a/Xerl/Page/Document.pm b/Xerl/Page/Document.pm index b7cafa3..43d6052 100644 --- a/Xerl/Page/Document.pm +++ b/Xerl/Page/Document.pm @@ -1,6 +1,6 @@ # Xerl (c) 2005-2011, 2013, 2014 by Paul Buetow # -# E-Mail: xerl@dev.buetow.org WWW: http://xerl.buetow.org +# E-Mail: xerl@dev.buetow.org WWW: https://xerl.buetow.org # # This is free software, you may use it and distribute it under the same # terms as Perl itself. diff --git a/Xerl/Page/Menu.pm b/Xerl/Page/Menu.pm index 987c13a..08aaa39 100644 --- a/Xerl/Page/Menu.pm +++ b/Xerl/Page/Menu.pm @@ -1,6 +1,6 @@ # Xerl (c) 2005-2011, 2013, 2014 by Paul Buetow # -# E-Mail: xerl@dev.buetow.org WWW: http://xerl.buetow.org +# E-Mail: xerl@dev.buetow.org WWW: https://xerl.buetow.org # # This is free software, you may use it and distribute it under the same # terms as Perl itself. diff --git a/Xerl/Page/Rules.pm b/Xerl/Page/Rules.pm index 0d08a67..8615149 100644 --- a/Xerl/Page/Rules.pm +++ b/Xerl/Page/Rules.pm @@ -1,6 +1,6 @@ # Xerl (c) 2005-2011, 2013, 2014 by Paul Buetow # -# E-Mail: xerl@dev.buetow.org WWW: http://xerl.buetow.org +# E-Mail: xerl@dev.buetow.org WWW: https://xerl.buetow.org # # This is free software, you may use it and distribute it under the same # terms as Perl itself. diff --git a/Xerl/Page/Templates.pm b/Xerl/Page/Templates.pm index 341e0dc..0d71a69 100644 --- a/Xerl/Page/Templates.pm +++ b/Xerl/Page/Templates.pm @@ -1,6 +1,6 @@ # Xerl (c) 2005-2011, 2013, 2014 by Paul Buetow # -# E-Mail: xerl@dev.buetow.org WWW: http://xerl.buetow.org +# E-Mail: xerl@dev.buetow.org WWW: https://xerl.buetow.org # # This is free software, you may use it and distribute it under the same # terms as Perl itself. diff --git a/Xerl/Setup/Configure.pm b/Xerl/Setup/Configure.pm index 537ac4f..edbf929 100644 --- a/Xerl/Setup/Configure.pm +++ b/Xerl/Setup/Configure.pm @@ -1,6 +1,6 @@ # Xerl (c) 2005-2011, 2013, 2014 by Paul Buetow # -# E-Mail: xerl@dev.buetow.org WWW: http://xerl.buetow.org +# E-Mail: xerl@dev.buetow.org WWW: https://xerl.buetow.org # # This is free software, you may use it and distribute it under the same # terms as Perl itself. diff --git a/Xerl/Setup/Parameter.pm b/Xerl/Setup/Parameter.pm index bee8981..513c5ea 100644 --- a/Xerl/Setup/Parameter.pm +++ b/Xerl/Setup/Parameter.pm @@ -1,6 +1,6 @@ # Xerl (c) 2005-2011, 2013, 2014 by Paul Buetow # -# E-Mail: xerl@dev.buetow.org WWW: http://xerl.buetow.org +# E-Mail: xerl@dev.buetow.org WWW: https://xerl.buetow.org # # This is free software, you may use it and distribute it under the same # terms as Perl itself. diff --git a/Xerl/Setup/Request.pm b/Xerl/Setup/Request.pm index bfbd2b4..00bd37a 100644 --- a/Xerl/Setup/Request.pm +++ b/Xerl/Setup/Request.pm @@ -1,6 +1,6 @@ # Xerl (c) 2005-2011, 2013, 2014 by Paul Buetow # -# E-Mail: xerl@dev.buetow.org WWW: http://xerl.buetow.org +# E-Mail: xerl@dev.buetow.org WWW: https://xerl.buetow.org # # This is free software, you may use it and distribute it under the same # terms as Perl itself. diff --git a/Xerl/Tools/FileIO.pm b/Xerl/Tools/FileIO.pm index 63e2b86..a3d21d5 100644 --- a/Xerl/Tools/FileIO.pm +++ b/Xerl/Tools/FileIO.pm @@ -1,6 +1,6 @@ # Xerl (c) 2005-2011, 2013, 2014 by Paul Buetow # -# E-Mail: xerl@dev.buetow.org WWW: http://xerl.buetow.org +# E-Mail: xerl@dev.buetow.org WWW: https://xerl.buetow.org # # This is free software, you may use it and distribute it under the same # terms as Perl itself. diff --git a/Xerl/XML/Element.pm b/Xerl/XML/Element.pm index 5e5106b..633e462 100644 --- a/Xerl/XML/Element.pm +++ b/Xerl/XML/Element.pm @@ -1,6 +1,6 @@ # Xerl (c) 2005-2011, 2013, 2014 by Paul Buetow # -# E-Mail: xerl@dev.buetow.org WWW: http://xerl.buetow.org +# E-Mail: xerl@dev.buetow.org WWW: https://xerl.buetow.org # # This is free software, you may use it and distribute it under the same # terms as Perl itself. diff --git a/Xerl/XML/Reader.pm b/Xerl/XML/Reader.pm index 5aba6c9..1acfe14 100644 --- a/Xerl/XML/Reader.pm +++ b/Xerl/XML/Reader.pm @@ -1,6 +1,6 @@ # Xerl (c) 2005-2011, 2013, 2014 by Paul Buetow # -# E-Mail: xerl@dev.buetow.org WWW: http://xerl.buetow.org +# E-Mail: xerl@dev.buetow.org WWW: https://xerl.buetow.org # # This is free software, you may use it and distribute it under the same # terms as Perl itself. diff --git a/Xerl/XML/SAXHandler.pm b/Xerl/XML/SAXHandler.pm index b168c5f..e70b123 100644 --- a/Xerl/XML/SAXHandler.pm +++ b/Xerl/XML/SAXHandler.pm @@ -1,6 +1,6 @@ # Xerl (c) 2005-2011, 2013, 2014 by Paul Buetow # -# E-Mail: xerl@dev.buetow.org WWW: http://xerl.buetow.org +# E-Mail: xerl@dev.buetow.org WWW: https://xerl.buetow.org # # This is free software, you may use it and distribute it under the same # terms as Perl itself. -- cgit v1.2.3 From 2103e642583ad50c06c66025ffa10b790e0cfea8 Mon Sep 17 00:00:00 2001 From: "Paul Buetow (europa)" Date: Sun, 31 May 2015 16:58:10 +0100 Subject: Add 2015 --- Xerl/Base.pm | 2 +- Xerl/Main/Global.pm | 2 +- Xerl/Page/Content.pm | 2 +- Xerl/Page/Document.pm | 2 +- Xerl/Page/Menu.pm | 2 +- Xerl/Page/Rules.pm | 2 +- Xerl/Page/Templates.pm | 2 +- Xerl/Setup/Configure.pm | 2 +- Xerl/Setup/Parameter.pm | 2 +- Xerl/Setup/Request.pm | 2 +- Xerl/Tools/FileIO.pm | 2 +- Xerl/XML/Element.pm | 2 +- Xerl/XML/Reader.pm | 2 +- Xerl/XML/SAXHandler.pm | 2 +- 14 files changed, 14 insertions(+), 14 deletions(-) diff --git a/Xerl/Base.pm b/Xerl/Base.pm index 21f87df..9ecd3bc 100644 --- a/Xerl/Base.pm +++ b/Xerl/Base.pm @@ -1,4 +1,4 @@ -# Xerl (c) 2005-2011, 2013, 2014 by Paul Buetow +# Xerl (c) 2005-2011, 2013-2015 by Paul Buetow # # E-Mail: xerl@dev.buetow.org WWW: https://xerl.buetow.org # diff --git a/Xerl/Main/Global.pm b/Xerl/Main/Global.pm index 16ca562..f5958d6 100644 --- a/Xerl/Main/Global.pm +++ b/Xerl/Main/Global.pm @@ -1,4 +1,4 @@ -# Xerl (c) 2005-2011, 2013, 2014 by Paul Buetow +# Xerl (c) 2005-2011, 2013-2015 by Paul Buetow # # E-Mail: xerl@dev.buetow.org WWW: https://xerl.buetow.org # diff --git a/Xerl/Page/Content.pm b/Xerl/Page/Content.pm index bb7d4b1..a5766ae 100644 --- a/Xerl/Page/Content.pm +++ b/Xerl/Page/Content.pm @@ -1,4 +1,4 @@ -# Xerl (c) 2005-2011, 2013, 2014 by Paul Buetow +# Xerl (c) 2005-2011, 2013-2015 by Paul Buetow # # E-Mail: xerl@dev.buetow.org WWW: https://xerl.buetow.org # diff --git a/Xerl/Page/Document.pm b/Xerl/Page/Document.pm index 43d6052..4ba1c0b 100644 --- a/Xerl/Page/Document.pm +++ b/Xerl/Page/Document.pm @@ -1,4 +1,4 @@ -# Xerl (c) 2005-2011, 2013, 2014 by Paul Buetow +# Xerl (c) 2005-2011, 2013-2015 by Paul Buetow # # E-Mail: xerl@dev.buetow.org WWW: https://xerl.buetow.org # diff --git a/Xerl/Page/Menu.pm b/Xerl/Page/Menu.pm index 08aaa39..b18a7d7 100644 --- a/Xerl/Page/Menu.pm +++ b/Xerl/Page/Menu.pm @@ -1,4 +1,4 @@ -# Xerl (c) 2005-2011, 2013, 2014 by Paul Buetow +# Xerl (c) 2005-2011, 2013-2015 by Paul Buetow # # E-Mail: xerl@dev.buetow.org WWW: https://xerl.buetow.org # diff --git a/Xerl/Page/Rules.pm b/Xerl/Page/Rules.pm index 8615149..ba6bd8e 100644 --- a/Xerl/Page/Rules.pm +++ b/Xerl/Page/Rules.pm @@ -1,4 +1,4 @@ -# Xerl (c) 2005-2011, 2013, 2014 by Paul Buetow +# Xerl (c) 2005-2011, 2013-2015 by Paul Buetow # # E-Mail: xerl@dev.buetow.org WWW: https://xerl.buetow.org # diff --git a/Xerl/Page/Templates.pm b/Xerl/Page/Templates.pm index 0d71a69..7827f3b 100644 --- a/Xerl/Page/Templates.pm +++ b/Xerl/Page/Templates.pm @@ -1,4 +1,4 @@ -# Xerl (c) 2005-2011, 2013, 2014 by Paul Buetow +# Xerl (c) 2005-2011, 2013-2015 by Paul Buetow # # E-Mail: xerl@dev.buetow.org WWW: https://xerl.buetow.org # diff --git a/Xerl/Setup/Configure.pm b/Xerl/Setup/Configure.pm index edbf929..bdd23b9 100644 --- a/Xerl/Setup/Configure.pm +++ b/Xerl/Setup/Configure.pm @@ -1,4 +1,4 @@ -# Xerl (c) 2005-2011, 2013, 2014 by Paul Buetow +# Xerl (c) 2005-2011, 2013-2015 by Paul Buetow # # E-Mail: xerl@dev.buetow.org WWW: https://xerl.buetow.org # diff --git a/Xerl/Setup/Parameter.pm b/Xerl/Setup/Parameter.pm index 513c5ea..8d1c019 100644 --- a/Xerl/Setup/Parameter.pm +++ b/Xerl/Setup/Parameter.pm @@ -1,4 +1,4 @@ -# Xerl (c) 2005-2011, 2013, 2014 by Paul Buetow +# Xerl (c) 2005-2011, 2013-2015 by Paul Buetow # # E-Mail: xerl@dev.buetow.org WWW: https://xerl.buetow.org # diff --git a/Xerl/Setup/Request.pm b/Xerl/Setup/Request.pm index 00bd37a..e20eaa4 100644 --- a/Xerl/Setup/Request.pm +++ b/Xerl/Setup/Request.pm @@ -1,4 +1,4 @@ -# Xerl (c) 2005-2011, 2013, 2014 by Paul Buetow +# Xerl (c) 2005-2011, 2013-2015 by Paul Buetow # # E-Mail: xerl@dev.buetow.org WWW: https://xerl.buetow.org # diff --git a/Xerl/Tools/FileIO.pm b/Xerl/Tools/FileIO.pm index a3d21d5..45eb64b 100644 --- a/Xerl/Tools/FileIO.pm +++ b/Xerl/Tools/FileIO.pm @@ -1,4 +1,4 @@ -# Xerl (c) 2005-2011, 2013, 2014 by Paul Buetow +# Xerl (c) 2005-2011, 2013-2015 by Paul Buetow # # E-Mail: xerl@dev.buetow.org WWW: https://xerl.buetow.org # diff --git a/Xerl/XML/Element.pm b/Xerl/XML/Element.pm index 633e462..aadccec 100644 --- a/Xerl/XML/Element.pm +++ b/Xerl/XML/Element.pm @@ -1,4 +1,4 @@ -# Xerl (c) 2005-2011, 2013, 2014 by Paul Buetow +# Xerl (c) 2005-2011, 2013-2015 by Paul Buetow # # E-Mail: xerl@dev.buetow.org WWW: https://xerl.buetow.org # diff --git a/Xerl/XML/Reader.pm b/Xerl/XML/Reader.pm index 1acfe14..a744025 100644 --- a/Xerl/XML/Reader.pm +++ b/Xerl/XML/Reader.pm @@ -1,4 +1,4 @@ -# Xerl (c) 2005-2011, 2013, 2014 by Paul Buetow +# Xerl (c) 2005-2011, 2013-2015 by Paul Buetow # # E-Mail: xerl@dev.buetow.org WWW: https://xerl.buetow.org # diff --git a/Xerl/XML/SAXHandler.pm b/Xerl/XML/SAXHandler.pm index e70b123..69759ef 100644 --- a/Xerl/XML/SAXHandler.pm +++ b/Xerl/XML/SAXHandler.pm @@ -1,4 +1,4 @@ -# Xerl (c) 2005-2011, 2013, 2014 by Paul Buetow +# Xerl (c) 2005-2011, 2013-2015 by Paul Buetow # # E-Mail: xerl@dev.buetow.org WWW: https://xerl.buetow.org # -- cgit v1.2.3 From de8b70c1a5b46b0e0e375d364cd714aaaadf7f9b Mon Sep 17 00:00:00 2001 From: "Paul Buetow (europa)" Date: Sun, 31 May 2015 16:58:48 +0100 Subject: Recursivity. Call back if it happens again. --- COPYING | 2 +- Xerl.pm | 4 ++-- index.fpl | 4 ++-- index.pl | 4 ++-- xerl.conf | 2 +- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/COPYING b/COPYING index ab8ffe3..6e10388 100644 --- a/COPYING +++ b/COPYING @@ -1,6 +1,6 @@ # Xerl (c) 2005-2011, 2013 Dipl.-Inform. (FH) Paul C. Buetow # -# E-Mail: xerl@dev.buetow.org WWW: http://xerl.buetow.org +# E-Mail: xerl@dev.buetow.org WWW: https://xerl.buetow.org # # This is free software, you may use it and distribute it under the same # terms as Perl itself. diff --git a/Xerl.pm b/Xerl.pm index 227dbe9..6dfc8f4 100644 --- a/Xerl.pm +++ b/Xerl.pm @@ -1,6 +1,6 @@ -# Xerl (c) 2005-2011, 2013, 2014 by Paul Buetow +# Xerl (c) 2005-2011, 2013-2015 by Paul Buetow # -# E-Mail: xerl@dev.buetow.org WWW: http://xerl.buetow.org +# E-Mail: xerl@dev.buetow.org WWW: https://xerl.buetow.org # # This is free software, you may use it and distribute it under the same # terms as Perl itself. diff --git a/index.fpl b/index.fpl index 7483761..8ae6699 100755 --- a/index.fpl +++ b/index.fpl @@ -1,8 +1,8 @@ #!/usr/bin/perl -# Xerl (c) 2005-2011, 2013, 2014 by Paul Buetow +# Xerl (c) 2005-2011, 2013-2015 by Paul Buetow # -# E-Mail: xerl@dev.buetow.org WWW: http://xerl.buetow.org +# E-Mail: xerl@dev.buetow.org WWW: https://xerl.buetow.org # # This is free software, you may use it and distribute it under the same # terms as Perl itself. diff --git a/index.pl b/index.pl index 4f87a2d..8d0146a 100755 --- a/index.pl +++ b/index.pl @@ -1,8 +1,8 @@ #!/usr/bin/perl -# Xerl (c) 2005-2011, 2013, 2014 by Paul Buetow +# Xerl (c) 2005-2011, 2013-2015 by Paul Buetow # -# E-Mail: xerl@dev.buetow.org WWW: http://xerl.buetow.org +# E-Mail: xerl@dev.buetow.org WWW: https://xerl.buetow.org # # This is free software, you may use it and distribute it under the same # terms as Perl itself. diff --git a/xerl.conf b/xerl.conf index a310825..5c0cc0a 100644 --- a/xerl.conf +++ b/xerl.conf @@ -15,5 +15,5 @@ defaultstyle=css3.css defaulttemplate=html5 hidesubhome=1 hostroot=/usr/local/www/xerlhosts/branches/stable/hosts/ -404=http://paul.buetow.org +404=https://paul.buetow.org curlpath=/usr/local/bin/curl -- cgit v1.2.3 From a5f6484478072e359834bb1b83a29cf4dcd2539c Mon Sep 17 00:00:00 2001 From: "Paul Buetow (europa)" Date: Fri, 24 Jul 2015 23:53:06 +0100 Subject: introducing host aliasing --- Xerl/Setup/Configure.pm | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/Xerl/Setup/Configure.pm b/Xerl/Setup/Configure.pm index bdd23b9..dfacc1d 100644 --- a/Xerl/Setup/Configure.pm +++ b/Xerl/Setup/Configure.pm @@ -64,8 +64,9 @@ sub defaults { $self->set_hostname( lc $hostname ) unless $self->hostname_exists(); - unless ( -d $self->get_hostroot() . $self->get_host() ) { - my $redirect = $self->get_hostroot() . 'redirect:' . $self->get_host(); + my $host = $self->get_host(); + unless ( -d $self->get_hostroot() . $host ) { + my $redirect = $self->get_hostroot() . 'redirect:' . $host; if ( -f $redirect ) { my $file = Xerl::Tools::FileIO->new( 'path' => $redirect ); @@ -76,13 +77,22 @@ sub defaults { $self->set_finish_request(1); } - my $alias = $self->get_hostroot() . 'alias:' . $self->get_host(); + my $alias = $self->get_hostroot() . 'alias:' . $host; + my $alias_host = ''; + + unless ( -f $alias ) { + my ($hostname, @domain) = split /\./, $host; + my $domain = join '.', @domain; + $alias = $self->get_hostroot() . 'alias:' . $domain; + $alias_host = "$hostname."; + } if ( -f $alias ) { my $file = Xerl::Tools::FileIO->new( 'path' => $alias ); + $alias_host .= $file->shift(); $file->fslurp(); - $self->set_host( $file->shift() ); + $self->set_host( $alias_host ); } } -- cgit v1.2.3 From 7397ede1a0805f3bc0a14f04b6e4b4b38db168e6 Mon Sep 17 00:00:00 2001 From: "Paul Buetow (europa)" Date: Sat, 25 Jul 2015 00:06:02 +0100 Subject: fixing multi aliasing --- Xerl/Setup/Configure.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Xerl/Setup/Configure.pm b/Xerl/Setup/Configure.pm index dfacc1d..8f19f80 100644 --- a/Xerl/Setup/Configure.pm +++ b/Xerl/Setup/Configure.pm @@ -89,9 +89,9 @@ sub defaults { if ( -f $alias ) { my $file = Xerl::Tools::FileIO->new( 'path' => $alias ); + $file->fslurp(); $alias_host .= $file->shift(); - $file->fslurp(); $self->set_host( $alias_host ); } } -- cgit v1.2.3 From 5a53056ae787f41cf9a5345e5016d32f79c1d52a Mon Sep 17 00:00:00 2001 From: "paul (uranus)" Date: Sun, 1 Jan 2017 11:32:38 +0000 Subject: fix perl path for freebsd --- index.pl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/index.pl b/index.pl index 8d0146a..64ef02e 100755 --- a/index.pl +++ b/index.pl @@ -1,6 +1,6 @@ -#!/usr/bin/perl +#!/usr/local/bin/perl -# Xerl (c) 2005-2011, 2013-2015 by Paul Buetow +# Xerl (c) 2005-2011, 2013-2015, 2017 by Paul Buetow # # E-Mail: xerl@dev.buetow.org WWW: https://xerl.buetow.org # -- cgit v1.2.3 From a0202a13efbfe18c99e64e3e3b95d39cd65fbffe Mon Sep 17 00:00:00 2001 From: "paul (uranus)" Date: Sun, 1 Jan 2017 11:42:01 +0000 Subject: no carp --- Xerl.pm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Xerl.pm b/Xerl.pm index 6dfc8f4..fd1421e 100644 --- a/Xerl.pm +++ b/Xerl.pm @@ -1,4 +1,4 @@ -# Xerl (c) 2005-2011, 2013-2015 by Paul Buetow +# Xerl (c) 2005-2011, 2013-2015, 2017 by Paul Buetow # # E-Mail: xerl@dev.buetow.org WWW: https://xerl.buetow.org # @@ -12,7 +12,7 @@ use warnings; use v5.14.0; -use CGI::Carp 'fatalsToBrowser'; +#use CGI::Carp 'fatalsToBrowser'; use Time::HiRes 'gettimeofday'; use Xerl::Base; -- cgit v1.2.3 From 23efa13ccfec0cb3915f4c9656e11d1254f721e7 Mon Sep 17 00:00:00 2001 From: "paul (uranus)" Date: Sun, 1 Jan 2017 12:59:25 +0000 Subject: add support for redirection even for alias hosts --- Xerl/Setup/Configure.pm | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/Xerl/Setup/Configure.pm b/Xerl/Setup/Configure.pm index 8f19f80..406df9c 100644 --- a/Xerl/Setup/Configure.pm +++ b/Xerl/Setup/Configure.pm @@ -66,17 +66,6 @@ sub defaults { my $host = $self->get_host(); unless ( -d $self->get_hostroot() . $host ) { - my $redirect = $self->get_hostroot() . 'redirect:' . $host; - - if ( -f $redirect ) { - my $file = Xerl::Tools::FileIO->new( 'path' => $redirect ); - $file->fslurp(); - - my $location = $file->shift(); - Xerl::Main::Global::REDIRECT($location); - $self->set_finish_request(1); - } - my $alias = $self->get_hostroot() . 'alias:' . $host; my $alias_host = ''; @@ -94,6 +83,17 @@ sub defaults { $self->set_host( $alias_host ); } + + my $redirect = $self->get_hostroot() . 'redirect:' . $self->get_host(); + + if ( -f $redirect ) { + my $file = Xerl::Tools::FileIO->new( 'path' => $redirect ); + $file->fslurp(); + + my $location = $file->shift(); + Xerl::Main::Global::REDIRECT($location); + $self->set_finish_request(1); + } } $self->set_outputformat( $self->get_defaultoutputformat() ) -- cgit v1.2.3 From 2f299cb1293cafd7dcdf2e574ecc624540d7feff Mon Sep 17 00:00:00 2001 From: "Paul Buetow (dionysus)" Date: Sun, 1 Jan 2017 17:32:02 +0000 Subject: dont plan to migrate to Perl 6 yet --- TODO | 1 - 1 file changed, 1 deletion(-) diff --git a/TODO b/TODO index f77e516..1c8dc5c 100644 --- a/TODO +++ b/TODO @@ -1,6 +1,5 @@ Hint: Run 'make todo' (in the source tree) to see everything in every file what is to do! -TODO: - Migrate to Perl 6 after Perl 6 stable is available as a FreeBSD package TODO: - Evaluate Template Toolkit, maybe use it TODO: - Documentation of all features/options -- cgit v1.2.3