First pass at adding key files
This commit is contained in:
@ -0,0 +1,153 @@
|
||||
# ==================================================================
|
||||
# Plugins::OverrideModDate - Auto Generated Program Module
|
||||
#
|
||||
# Plugins::OverrideModDate
|
||||
# Author : Gossamer Threads Inc.
|
||||
# Version : 1.0
|
||||
# Updated : Mon Sep 24 14:34:23 2007
|
||||
#
|
||||
# ==================================================================
|
||||
#
|
||||
|
||||
package Plugins::OverrideModDate;
|
||||
# ==================================================================
|
||||
|
||||
use strict;
|
||||
use GT::Base;
|
||||
use GT::Plugins qw/STOP CONTINUE/;
|
||||
use Links qw/:objects/;
|
||||
use Links::Build;
|
||||
use Links::SiteHTML;
|
||||
|
||||
# Inherit from base class for debug and error methods
|
||||
@Plugins::OverrideModDate::ISA = qw(GT::Base);
|
||||
|
||||
# Your code begins here.
|
||||
|
||||
|
||||
# PLUGIN HOOKS
|
||||
# ===================================================================
|
||||
|
||||
sub post_modify_link {
|
||||
# -------------------------------------------------------------------
|
||||
# Modify a single link.
|
||||
#
|
||||
my $ret = shift;
|
||||
return $ret if (!$ret);
|
||||
|
||||
my $new = {};
|
||||
my $update = 0;
|
||||
Links::init_date();
|
||||
if ($IN->param('Add_Date') =~ /^\d\d\d\d-\d\d-\d\d$/) {
|
||||
$new->{Add_Date} = $IN->param('Add_Date');
|
||||
$update = 1;
|
||||
}
|
||||
if ($IN->param('Mod_Date') =~ /^\d\d\d\d-\d\d-\d\d$/) {
|
||||
$new->{Mod_Date} = $IN->param('Mod_Date');
|
||||
$update = 1;
|
||||
}
|
||||
my $id = $IN->param('ID') || $IN->param('LinkID');
|
||||
if ($id and $update) {
|
||||
$DB->table('Links')->update({ %$new }, { ID => $id });
|
||||
}
|
||||
|
||||
return $ret;
|
||||
}
|
||||
|
||||
sub pre_handle {
|
||||
# ---------------------------------------------------
|
||||
# Determine what to do.
|
||||
#
|
||||
my @args = @_;
|
||||
my $link_id = $IN->param('LinkID');
|
||||
if ($CFG->{user_required} and !$USER) {
|
||||
$PLG->action(STOP);
|
||||
print $IN->redirect(Links::redirect_login_url('modify'));
|
||||
return @args;
|
||||
}
|
||||
|
||||
# Perform the link modification
|
||||
if ($IN->param('modify')) {
|
||||
return @args;
|
||||
}
|
||||
elsif ($USER) {
|
||||
# Display the link modify form (for a specific link)
|
||||
if ($IN->param('LinkID')) {
|
||||
$PLG->action(STOP);
|
||||
_modify_passed_in();
|
||||
}
|
||||
}
|
||||
return @args;
|
||||
}
|
||||
|
||||
sub _modify_passed_in {
|
||||
# --------------------------------------------------------
|
||||
# Display link that was passed in.
|
||||
#
|
||||
my $lid = $IN->param('LinkID');
|
||||
my $link_db = $DB->table('Links');
|
||||
my $mtl = Links::Build::build('title', Links::language('LINKS_MODIFY'), "$CFG->{db_cgi_url}/modify.cgi?LinkID=$lid");
|
||||
my $sth = $link_db->select({ ID => $lid, LinkOwner => $USER->{Username} }, VIEWABLE);
|
||||
if ($USER->{Status} eq 'Administrator') {
|
||||
$sth = $link_db->select({ ID => $lid }, VIEWABLE);
|
||||
}
|
||||
if ($sth->rows) {
|
||||
my $link = $sth->fetchrow_hashref;
|
||||
my @ids = $DB->table('CatLinks')->select('CategoryID', { LinkID => $link->{ID} })->fetchall_list;
|
||||
$IN->param('CatLinks.CategoryID', \@ids);
|
||||
|
||||
$link->{Contact_Name} ||= $USER->{Name} || $USER->{Username};
|
||||
$link->{Contact_Email} ||= $USER->{Email};
|
||||
|
||||
my $category = {};
|
||||
if ($CFG->{db_gen_category_list} < 2) {
|
||||
require Links::Tools;
|
||||
$category = Links::Tools::category_list();
|
||||
$category->{Category} = sub { Links::Tools::category_list_html() };
|
||||
}
|
||||
print $IN->header();
|
||||
print Links::SiteHTML::display('modify', {
|
||||
main_title_loop => $mtl,
|
||||
%$link,
|
||||
%$category
|
||||
});
|
||||
}
|
||||
elsif (!$CFG->{user_required}) {
|
||||
require Links::User::Modify;
|
||||
Links::User::Modify::_modify_form();
|
||||
}
|
||||
else {
|
||||
print $IN->header();
|
||||
print Links::SiteHTML::display('error', { error => Links::language('MODIFY_NOTOWNER'), LinkID => $lid, main_title_loop => $mtl });
|
||||
}
|
||||
}
|
||||
|
||||
sub post_add_link {
|
||||
# -------------------------------------------------------------------
|
||||
# Modify a single link.
|
||||
#
|
||||
my $ret = shift;
|
||||
return $ret if (!$ret);
|
||||
|
||||
my $new = {};
|
||||
my $update = 0;
|
||||
Links::init_date();
|
||||
if ($IN->param('Add_Date') =~ /^\d\d\d\d-\d\d-\d\d$/) {
|
||||
$new->{Add_Date} = $IN->param('Add_Date');
|
||||
$update = 1;
|
||||
}
|
||||
if ($IN->param('Mod_Date') =~ /^\d\d\d\d-\d\d-\d\d$/) {
|
||||
$new->{Mod_Date} = $IN->param('Mod_Date');
|
||||
$update = 1;
|
||||
}
|
||||
my $id = $ret->{ID};
|
||||
if ($id and $update) {
|
||||
$DB->table('Links')->update({ %$new }, { ID => $id });
|
||||
}
|
||||
|
||||
return $ret;
|
||||
}
|
||||
|
||||
|
||||
# Always end with a 1.
|
||||
1;
|
Reference in New Issue
Block a user