Gossamer Forum
Home : Products : Links 2.0 : Installation -- Unix :

"Updated" & 3-Level "New" site_html_templates.pl

Quote Reply
"Updated" & 3-Level "New" site_html_templates.pl
hi guys,
can any one please send me the modifed (3-Level grapic) site_html_templates.pl file.

please
i am getting error

thanks
Quote Reply
Re: "Updated" & 3-Level "New" site_html_templates.pl In reply to
If you are getting an error, what error is it? An error indicates that something was not installed right.

The best course of action is to go back over each step and double check your work. If you cannot find anything wrong, then post the error you are getting but, since this concerns a mod, I suggest you post it in the Links Modifications Forum.
Quote Reply
Re: "Updated" & 3-Level "New" site_html_templates.pl In reply to
Error including libraries: syntax error at /data1/hypermart.net/itamil/cgi-bin/admin/site_html_templates.pl line 33, near "qq| |;" syntax error
This is what i am getting!

at /data1/hypermart.net/itamil/cgi-bin/admin/site_html_templates.pl line 44, near ")" Missing right bracket at /data1/hypermart.net/itamil/cgi-bin/admin/site_html_templates.pl line 427, at end of line syntax error at /data1/hypermart.net/itamil/cgi-bin/admin/site_html_templates.pl line 427, at EOF Make sure they exist, permissions are set properly, and paths are set correctly.
Quote Reply
Re: "Updated" & 3-Level "New" site_html_templates.pl In reply to
any one please send me the file. Please!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

------------------
Theepan T
Theepan@yahoo.com
Quote Reply
Re: "Updated" & 3-Level "New" site_html_templates.pl In reply to
Please stop asking for site_html_templates.pl from people. Most people have probably heavily modified it for other mods in addition to the 3-level new graphics mods. You would not get much use from that. Besides, you need to figure out what you did wrong as it will help you in the future when doing other mods.

The errors messages you are receiving are pointing to the problems and all you need to do is fix the errors. Take one error at a time, starting with the first one, and fix it. Doing so, may eliminate some of the other errors.

Go to where the error message is telling you there is a problem and compare the code around that point against the code in the instructions. You are sure to find the problem. Then fix it, reupload whatever you fixed, and try again. Keep doing this until there are no more error messages.

Trust me; that is exactly how I did it when I created the mod and got errors while testing it. It works!

I hope this helps.
Quote Reply
Re: "Updated" & 3-Level "New" site_html_templates.pl In reply to
   %globals = (

$new_1 = qq|<img src="http://itamil.hypermart.net/cgi-bin/admin/new_1.gif" border=0 width=34) height=12 alt="New0-2" align="absmiddle">|;
$new_3 = qq|<img src="http://itamil.hypermart.net/cgi-bin/admin//new_3.gif" border="0")width=34 height=12 alt="New3-7" align="absmiddle">|;
$new_7 = qq|<img src="http://itamil.hypermart.net/cgi-bin/admin/new_7.gif" border="0")width=34 height=12 alt="New8-14" align="absmiddle">|;

date => &get_date,
time => &get_time,
db_cgi_url => $db_cgi_url,
build_root_url => $build_root_url,
site_title => $build_site_title,
css => $build_css_url,
banner => ''
);


sub site_html_link {
# --------------------------------------------------------
# This routine is used to display what a link should look
# like.

my $days_old = &days_old($rec{'Date'});

# Set new and pop to either 1 or 0 for templates.
if ($rec{'isNew'} eq "Yes") { $output .= qq~ <small><sup class="new">new</sup></small>~;
if ($days_old <= 2) { $output .= $new_1; }
elsif ($days_old <= 7) { $output .= $new_3; }
elsif ($days_old <= 14) { $output .= $new_7; }
($rec{'isPopular'} eq 'Yes') ? ($rec{'isPopular'} = 1) : (delete $rec{'isPopular'});

return &load_template ('link.html', {
detailed_url => "$db_detailed_url/$rec{'ID'}$build_extension",
%rec,
%globals
});
}

sub site_html_home {
# --------------------------------------------------------
# This routine will build a home page. It is not meant to have any
# links on it, only subcategories.

return &load_template ('home.html', {
category => $category,
grand_total => $grand_total,
%globals
});
}

sub site_html_new {
# --------------------------------------------------------
# This routine will build a what's new page.

return &load_template ('new.html', {
total => $total,
grand_total => $grand_total,
link_results => $link_results,
title_linked => $title_linked,
%globals
} );
}

sub site_html_cool {
# --------------------------------------------------------
# This routine will build a what's new page.

return &load_template ('cool.html', {
total => $total,
grand_total => $grand_total,
percent => $percent,
link_results => $link_results,
title_linked => $title_linked,
%globals
} );
}

sub site_html_detailed {
# --------------------------------------------------------
# This routine will build a single page per link. It's only
# really useful if you have a long review for each link --
# or more information then can be displayed in a summary.
#
my %rec = @_;
return &load_template ('detailed.html', {
total => $total,
grand_total => $grand_total,
title_linked => $title_linked,
%rec,
%globals
} );
}

sub site_html_category {
# --------------------------------------------------------
# This rountine will build a page based for the current category.

return &load_template ( 'category.html', {
date => $date,
time => $time,
category => $category,
links => $links,
title_linked => $title_linked,
title => $title,
total => $total,
grand_total => $grand_total,
category_name => $category_name,
category_name_escaped => $category_name_escaped,
category_clean => $category_clean,
description => $description,
meta_name => $meta_name,
meta_keywords => $meta_keywords,
header => $header,
footer => $footer,
prev => $prev,
next => $next,
related => $related,
build_links_per_page => $build_links_per_page,
%globals
} );
}

sub site_html_ratings {
# --------------------------------------------------------
# This routine determines how the top rated page will look like.

return &load_template ( 'rate_top.html', {
top_rated => $top_rated,
top_votes => $top_votes,
%globals
});
}

########################################################################################
# THE FOLLOWING ARE CGI GENERATED PAGES AND THE TEMPLATE MUST BE PRINTED, NOT RETURNED!#
########################################################################################

sub site_html_add_form {
# --------------------------------------------------------
# This routine determines how the add form page will look like.
#
&html_print_headers;

my $category = shift;
$category ?
($category = qq~$category <input type=hidden name="Category" value="$category">~) :
($category = &build_select_field ("Category", "$in{'Category'}"));

print &load_template ('add.html', {
Category => $category,
%globals
});
}

sub site_html_add_success {
# --------------------------------------------------------
# This routine determines how the add success page will look like.

&html_print_headers;

print &load_template ('add_success.html', {
%in,
%globals
});
}

sub site_html_add_failure {
# --------------------------------------------------------
# This routine determines how the add failure page will look like.

my ($errormsg) = shift;
$in{'Category'} ?
($in{'Category'} = qq~<input type=hidden name="Category" value="$in{'Category'}">$in{'Category'}~) :
($in{'Category'} = &build_select_field ("Category"));

&html_print_headers;
print &load_template ('add_error.html', {
error => $errormsg,
%in,
%globals
});

}

sub site_html_modify_form {
# --------------------------------------------------------
# This routine determines how the modify form page will look like.

my $category = &build_select_field ("Category", "$in{'Category'}");

&html_print_headers;
print &load_template ('modify.html', {
Category => $category,
%globals
});
}

sub site_html_modify_success {
# --------------------------------------------------------
# This routine determines how the modify success page will look like.

&html_print_headers;
print &load_template ('modify_success.html', {
%in,
%globals
});
}

sub site_html_modify_failure {
# --------------------------------------------------------
# This routine determines how the modify failure page will look like.

my $errormsg = shift;
$in{'Category'} = &build_select_field ("Category", $in{'Category'});

&html_print_headers;
print &load_template ('modify_error.html', {
error => $errormsg,
%in,
%globals
});
}

sub site_html_search_results {
# --------------------------------------------------------
# This routine displays the search results.
#
my $term = &urlencode ($in{'query'});
&html_print_headers;
print &load_template ('search_results.html', {
term => $term,
link_results => $link_results,
category_results => $category_results,
next => $next,
cat_hits => $cat_hits,
link_hits => $link_hits,
%in,
%globals
});
}

sub site_html_search_failure {
# --------------------------------------------------------
# This routine displays a failed search page with error in $error.
#
my $error = shift;
my $term = &urlencode ($in{'query'});
&html_print_headers;

print &load_template ('search_error.html', {
term => $term,
error => $error,
%in,
%globals
});
}

sub site_html_search_form {
# --------------------------------------------------------
# This routine displays the search form.

&html_print_headers;
print &load_template ('search.html', {
term => $term,
error => $error,
%in,
%globals
});
}

sub site_html_mailing {
# --------------------------------------------------------
# This routine displays your mailing list subscribe/unsubscribe form.
#
my $action = shift;
my $message;
($action eq 'subscribe') and ($message = qq~You've been successfully subscribed to the mailing list!~);
($action eq 'unsubscribe') and ($message = qq~You've been successfully removed from the mailing list!~);

&html_print_headers;
print &load_template ('email.html', {
message => $message,
%in,
%globals
});
}

sub site_html_mailing_error {
# --------------------------------------------------------
# This routine is displayed if there was a problem subscribing.
#
my $error = shift;

&html_print_headers();
print &load_template ('email_error.html', {
error => $error,
%in,
%globals
});
}

sub site_html_rate_form {
# --------------------------------------------------------
# This routine determines how the rate form page will look like.
#
my %rec = @_;

&html_print_headers;
print &load_template ('rate.html', {
%rec,
%globals
});
}

sub site_html_rate_success {
# --------------------------------------------------------
# This routine determines how the rate success page will look like.

&html_print_headers;
print &load_template ('rate_success.html', {
%in,
%globals
});
}

sub site_html_rate_failure {
# --------------------------------------------------------
# This routine determines how the rate failure page will look like.

my ($errormsg) = shift;

&html_print_headers;
print &load_template ('rate_error.html', {
error => $errormsg,
%in,
%globals
});

}

########################################################################################
# THE FOLLOWING DETERMINES YOUR CATEGORY LISTING, IT'S NOT TEMPLATE BASED (YET)! #
########################################################################################

sub site_html_print_cat {
# --------------------------------------------------------
# This routine determines how the list of categories will look.
# We now use a table to split the category name up into two columns.
# For each category you can use the following variables:
#
# $url : The URL to go to that category
# $category_name : The category name with _ and / removed.
# $category_descriptions{$subcat}: The category description (if any).
# $numlinks : The number of links inside that category (and subcategories).
# $mod : The newest link inside of that category.
#

my (@subcat) = @_;
my ($url, $numlinks, $mod, $subcat, $category_name, $description, $output, $i);
my ($half) = int (($#subcat+2) / 2);

# Print Header.
$output .= qq~<small><sup class="new">new</sup></small>~ if (&days_old($mod) < $db_new_cutoff);
my $days_old = &days_old($mod);
if ($days_old <= 2) { $output .= qq| $new_1|; }
elsif ($days_old <= 7) { $output .= qq| $new_3|; }
elsif ($days_old <= 14) { $output .= qq| $new_7|; }

foreach $subcat (sort @subcat) {
($description) = @{$category{$subcat}}[2];

# First let's get the name, number of links, and last modified date...
$url = "$build_root_url/" . &urlencode($subcat) . "/";
if ($subcat =~ m,.*/([^/]+)$,) { $category_name = &build_clean($1); } else { $category_name = &build_clean($subcat); }
$numlinks = $stats{"$subcat"}[0];
$mod = $stats{"$subcat"}[1];

# We check to see if we are half way through, if so we stop this table cell
# and begin a new one (this lets us have category names in two columns).
if ($i == $half) {
$output .= qq|</td><td class="catlist" valign="top">\n|;
}
$i++;

# Then we print out the name linked, new if it's new, and popular if its popular.
$output .= qq|<dl><dt><strong><a class="link" href="$url">$category_name</a></strong> <small class="numlinks">($numlinks)</small> |;
$output .= qq|<small><sup class="new">new</sup></small>| if (&days_old($mod) < $db_new_cutoff);
$output .= qq|</dt>|;
$output .= qq|<dd><span class="descript">$description </span></dd>| if (!($description =~ /^[\s\n]*$/));
$output .= qq|</dl>|;
}

# Don't forget to end the unordered list..
$output .= "</td></tr></table></div>\n";
return $output;
}

1;
Quote Reply
Re: "Updated" & 3-Level "New" site_html_templates.pl In reply to
It looks to me as if you used non-template instructions in site_html_templates.pl. For example, the following is incorrect:

Quote:
sub site_html_link {
# --------------------------------------------------------
# This routine is used to display what a link should look
# like.

my $days_old = &days_old($rec{'Date'});

# Set new and pop to either 1 or 0 for templates.
if ($rec{'isNew'} eq "Yes") { $output .= qq~ <small><sup class="new">new</sup></small>~;
if ($days_old <= 2) { $output .= $new_1; }
elsif ($days_old <= 7) { $output .= $new_3; }
elsif ($days_old <= 14) { $output .= $new_7; }
($rec{'isPopular'} eq 'Yes') ? ($rec{'isPopular'} = 1) : (delete $rec{'isPopular'});

return &load_template ('link.html', {
detailed_url => "$db_detailed_url/$rec{'ID'}$build_extension",
%rec,
%globals
});
}

You used Step 7b (sub site_html_link (non-templates only)) instead of 7c (sub site_html_link (templates only)).

Also, you put the graphics inside the %globals variable. The instructions do not say to do that. It says to put them in the globals section. The %globals array is just a variable in the globals section.

I suggest you correct the things you did wrong by using the right instructions.

I also ask that if you have any further questions or problems with my mod that you post them in the Links Modifications Forum instead of here. Thanks.

[This message has been edited by Bobsie (edited June 29, 1999).]