67 lines
2.0 KiB
Perl
67 lines
2.0 KiB
Perl
# ==================================================================
|
|
# Plugins::HandlePage - Auto Generated Program Module
|
|
#
|
|
# Plugins::HandlePage
|
|
# Author : Gossamer Threads Inc. (Virginia Lo)
|
|
# Version : 1.0
|
|
# Updated : Tue Jun 7 15:32:59 2011
|
|
#
|
|
# ==================================================================
|
|
#
|
|
|
|
package Plugins::HandlePage;
|
|
# ==================================================================
|
|
|
|
use strict;
|
|
use GT::Base;
|
|
use GT::Plugins qw/STOP CONTINUE/;
|
|
use Links qw/:objects/;
|
|
use Links::SiteHTML;
|
|
|
|
# Inherit from base class for debug and error methods
|
|
@Plugins::HandlePage::ISA = qw(GT::Base);
|
|
|
|
# Your code begins here.
|
|
|
|
|
|
# PLUGIN HOOKS
|
|
# ===================================================================
|
|
|
|
|
|
sub pre_handle_page {
|
|
# -----------------------------------------------------------------------------
|
|
# This subroutine will be called whenever the hook 'handle_page' is run. You
|
|
# should call $PLG->action(STOP) if you don't want the regular
|
|
# 'handle_page' code to run, otherwise the code will continue as normal.
|
|
#
|
|
my (@args) = @_;
|
|
|
|
# Do something useful here
|
|
if (my $page2 = $IN->param('page2')) {
|
|
$page2 =~ /.+_(\d+).html/;
|
|
my $id = $1;
|
|
my $linksdb = $DB->table('Links','CatLinks');
|
|
my $link = $linksdb->select( { LinkID => $id })->fetchrow_hashref;
|
|
if ($link) {
|
|
$link = Links::SiteHTML::tags('link',$link, $link->{CategoryID});
|
|
$link->{detailed_url} =~ /$CFG->{build_root_url}\/(.+)$/;
|
|
my $match = $1;
|
|
if ($page2 ne $match) {
|
|
print $IN->redirect( -url => $link->{detailed_url}, -permanent => 1 );
|
|
#print $IN->header . $page2 . "<br />";
|
|
#print $link->{detailed_url} . " ($page2) should be redirected.";
|
|
}
|
|
}
|
|
else {
|
|
print "Status: 404" . $GT::CGI::EOL;
|
|
print $IN->header();
|
|
print Links::SiteHTML::display('error', { error => Links::language('PAGE_INVALIDDETAIL',$id) });
|
|
}
|
|
}
|
|
|
|
return @args;
|
|
}
|
|
|
|
# Always end with a 1.
|
|
1;
|