discourse-legacysite-perl/site/slowtwitch.com/cgi-bin/articles/feature.cgi
2024-06-17 21:49:12 +10:00

53 lines
1.9 KiB
Perl
Executable File

#!/usr/local/bin/perl
# ==================================================================
# Gossamer Links - enhanced directory management system
#
# Website : http://gossamer-threads.com/
# Support : http://gossamer-threads.com/scripts/support/
# CVS Info : 087,071,086,086,085
# Revision : $Id: jump.cgi,v 1.32 2005/03/30 09:20:49 brewt Exp $
#
# Copyright (c) 2001 Gossamer Threads Inc. All Rights Reserved.
# Redistribution in part or in whole strictly prohibited. Please
# see LICENSE file for full details.
# ==================================================================
use strict;
use lib '/var/home/slowtwitch/slowtwitch.com/cgi-bin/articles/admin';
use Links qw/$PLG $DB $IN $USER $CFG/;
use Links::User::Page;
local $SIG{__DIE__} = \&Links::fatal;
Links::init('/var/home/slowtwitch/slowtwitch.com/cgi-bin/articles/admin');
Links::init_user();
if ($USER->{Status} eq 'Administrator') {
print $IN->header;
my $error = _update() if $IN->param('update');
print Links::user_page('featured_links.html', { error => $error, message => $error ? "" : "Featured links are updated" });
}
else {
print $IN->redirect('/');
}
sub _update {
my $cgi = $IN->get_hash();
my @articles = map $cgi->{"article_$_"}, grep { $cgi->{"article_$_"} } 1..4;
my @photos = map $cgi->{"photo_$_"}, grep { $cgi->{"photo_$_"} } 1..2;
return "All featured links are required" if scalar @articles < 4 or scalar @photos < 2;
my $tab = $DB->table('Links');
my $articles = $tab->count({ ID => \@articles, isValidated => 'Yes' });
return "All 4 featured articles are required and not duplicate" if scalar $articles < 4;
my $photos = $tab->count({ ID => \@photos, isValidated => 'Yes' });
return "All 2 featured photos/videos are required and not duplicate" if scalar $photos < 2;
$CFG->{featured_articles} = \@articles;
$CFG->{featured_photos} = \@photos;
$CFG->save;
return;
}