OK, awesome guys! Working well now!
My last question. I would like to display on the Featured Links page all links that are EITHER isFeatured = Yes OR paid links (i.e., ExpiryDate < FREE). Right now I have a global that pulls these links properly within categories (I call this from category.html):
# Displays the featured links on each category page.
my ($id,$search_db,$output,$sth,$link);
$id = shift;
$search_db = $DB->table('Links', 'CatLinks');
$search_db->select_options ("ORDER BY Title");
my $cond = GT::SQL::Condition->new(IsFeatured => '=' => 'Yes', ExpiryDate => '<' => FREE);
$cond->bool('OR');
$sth = $search_db->select({CategoryID=>$id}, $cond);
while ($link = $sth->fetchrow_hashref) {
$output .= Links::SiteHTML::display ('link', $link);
}
return $output;
}
Here is my current featured.cgi:
#================================
use strict;
use lib '/var/home/moen/wiredbiz.com/cgi-bin/links/admin';
use Links qw/:objects/;
use Links::SiteHTML;
Links::init('/var/home/moen/wiredbiz.com/cgi-bin/links/admin');
local $SIG{__DIE__} = \&Links::fatal;
main();
sub main {
#---------------------------------------------------
#
my $pageNum = $IN->param('nh') || 1;
my $linksPP = 10;
my $start = $linksPP * $pageNum - $linksPP;
$start = ($pageNum < 2) ? 0 : $start;
my ($sth,$tab,$output);
$tab = $DB->table('Links');
$tab->select_options('ORDER BY Title', 'LIMIT ' . $linksPP . ' OFFSET ' . $start);
$sth = $tab->select( { isValidated => 'Yes', isFeatured => 'Yes' } );
my $hits = $tab->hits;
while (my $rec = $sth->fetchrow_hashref) {
$output .= Links::SiteHTML::display('link3', $rec);
}
my $tags;
$tags->{'paging'}->{'url'} = $CFG->{db_cgi_url} . "/featured.cgi";
$tags->{'paging'}->{'num_hits'} = $hits;
$tags->{'paging'}->{'max_hits'} = $linksPP;
$tags->{'paging'}->{'current_page'} = $pageNum;
$tags->{'output'} = $output;
print $IN->header();
print Links::SiteHTML::display('featured', $tags);
}
So what I need to do is replace $sth = $tab->select( { isValidated => 'Yes', isFeatured => 'Yes' } ); with code that pulls all (a) all links that are validated and featured OR (b) all links that are validated and paid (i.e., ExpiryDate < FREE).
I tried stuff just to test like ExpiryDate => '< FREE' and ExpiryDate => '<> 2147483647", but no dice.
Thanks for all the help guys!
My last question. I would like to display on the Featured Links page all links that are EITHER isFeatured = Yes OR paid links (i.e., ExpiryDate < FREE). Right now I have a global that pulls these links properly within categories (I call this from category.html):
Code:
sub { # Displays the featured links on each category page.
my ($id,$search_db,$output,$sth,$link);
$id = shift;
$search_db = $DB->table('Links', 'CatLinks');
$search_db->select_options ("ORDER BY Title");
my $cond = GT::SQL::Condition->new(IsFeatured => '=' => 'Yes', ExpiryDate => '<' => FREE);
$cond->bool('OR');
$sth = $search_db->select({CategoryID=>$id}, $cond);
while ($link = $sth->fetchrow_hashref) {
$output .= Links::SiteHTML::display ('link', $link);
}
return $output;
}
Here is my current featured.cgi:
Code:
#!/usr/local/bin/perl #================================
use strict;
use lib '/var/home/moen/wiredbiz.com/cgi-bin/links/admin';
use Links qw/:objects/;
use Links::SiteHTML;
Links::init('/var/home/moen/wiredbiz.com/cgi-bin/links/admin');
local $SIG{__DIE__} = \&Links::fatal;
main();
sub main {
#---------------------------------------------------
#
my $pageNum = $IN->param('nh') || 1;
my $linksPP = 10;
my $start = $linksPP * $pageNum - $linksPP;
$start = ($pageNum < 2) ? 0 : $start;
my ($sth,$tab,$output);
$tab = $DB->table('Links');
$tab->select_options('ORDER BY Title', 'LIMIT ' . $linksPP . ' OFFSET ' . $start);
$sth = $tab->select( { isValidated => 'Yes', isFeatured => 'Yes' } );
my $hits = $tab->hits;
while (my $rec = $sth->fetchrow_hashref) {
$output .= Links::SiteHTML::display('link3', $rec);
}
my $tags;
$tags->{'paging'}->{'url'} = $CFG->{db_cgi_url} . "/featured.cgi";
$tags->{'paging'}->{'num_hits'} = $hits;
$tags->{'paging'}->{'max_hits'} = $linksPP;
$tags->{'paging'}->{'current_page'} = $pageNum;
$tags->{'output'} = $output;
print $IN->header();
print Links::SiteHTML::display('featured', $tags);
}
So what I need to do is replace $sth = $tab->select( { isValidated => 'Yes', isFeatured => 'Yes' } ); with code that pulls all (a) all links that are validated and featured OR (b) all links that are validated and paid (i.e., ExpiryDate < FREE).
I tried stuff just to test like ExpiryDate => '< FREE' and ExpiryDate => '<> 2147483647", but no dice.
Thanks for all the help guys!