#!/usr/bin/perl

# Prontus CMS
# http://www.prontus.cl
# by Altavoz.net
#
# licensed under LGPL license.
# http://www.prontus.cl/license.html
# ---------------------------------------------------------------

package prontus_dintax;

use strict;
# Toma variables definidas en apache_startup.pl
our $ROOTDIR   = $My::documentRoot;
# Handler.

sub handler {
    my $r = shift;
    my $uri = $r->uri();

    # El archivo no existe, apache ya determino su inexistencia
    # Si el patron del uri corresponde a una portada tax
    # entonces ejecuta su generacion.
    if ($uri =~ m|(/[\w\-]+/site/tax/port/[\w\-\/.]+)$|) {
        # la url corresponde a formato taxport esperado de Prontus
        $uri = $1;
        my $cmd = "/usr/bin/perl $ROOTDIR/cgi-bin/prontus_make_taxport.cgi $uri";

        # print STDERR "cmd[$cmd]\n";
        system $cmd;

        # print STDERR "redirect -> [$path]\n";
        # revisa si existe despues de generar
        if (-f "$ROOTDIR$uri") {
            $r->internal_redirect($uri);

            return Apache2::Const::OK;
        } else {
            return Apache2::Const::NOT_FOUND;
        }
    } else {
        # url no corresponde a formato Prontus por lo tanto se conserva el 404
        return Apache2::Const::NOT_FOUND;
    }
}

1;
