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

Links don't work, long urls and lost admin panel

Quote Reply
Links don't work, long urls and lost admin panel
I would appreciate some help with these problems. To those that know this program well, the answers must be obvious,but they are escaping me.

First problem ( and I think they must be related)is I get a really long url for the jump links. example-

http://www.gotta-play-to-win.com/html/cgi-bin/links2/cgi-bin/jump.cgi?ID=5

and the some of the links on the main page shows up with an extra / in them as well. example-
http://gotta-play-to-win.com//Cool/

but on the cool page the link for that same page shows up as -

http://gotta-play-to-win.com/Cool

I know it must have something to do with the path but I have tried every possible combination of the possible paths and just can't seem to find the problem or the right path!

The second problem (and I am embrassed to admit this one...LOL)the links don't work! I have been working on modifying the templates thinking that the links were fine since they displayed properly. Only when searching the forum for template help tonight did Irun across a post about the links not working properly and tested mine. To my surprise, all of my links gave a 404 error too! I have searched the forums but couldn't find an answer that worked. I would appreciate help to get this to work properly.

my links cfg -


# Paths and URL's to Important Stuff
# --------------------------------------------------------
# PATH and URL of Admin CGI directory. No Trailing Slash.
$db_script_path = "/usr/home/v2/a0011686/html/cgi-bin/links2/cgi-bin/admin";
$db_dir_url = "http://www.gotta-play-to-win.com/html/cgi-bin/links2/cgi-bin/admin";

# URL of User CGI directory. No Trailing Slash.
$db_cgi_url = "http://www.gotta-play-to-win.com/html/cgi-bin/links2/cgi-bin";

# PATH and URL of Pages to be built. No Trailing Slash.
$build_root_path = "/usr/home/v2/a0011686/html";
$build_root_url = "http://www.gotta-play-to-win.com";

# PATH and URL of What's New page. No Trailing slash.
$build_new_path = "$build_root_path/New";
$build_new_url = "$build_root_url/New";

# PATH and URL of What's Cool page. No Trailing slash.
$build_cool_path = "$build_root_path/Cool";
$build_cool_url = "$build_root_url/Cool";

# PATH and URL of What's Rating page. No Trailing slash.
$build_ratings_path = "$build_root_path/Ratings";
$build_ratings_url = "$build_root_url/Ratings";

# Database Options
# --------------------------------------------------------
# You really need to use flock(). However if your system doesn't support it (Win95),
# then turn this off at your own risk!
$db_use_flock = 1;
# Use Pragma: no-cache to stop browsers from caching output? (0 = cache, 1 = nocache)
$db_nocache = 0;
# Use IIS headers? Set this to 1 if your web server needs the full headers (HTTP/1.0 etc.)
$db_iis = 0;
# Field number of category in category.db
$db_main_category = 1;
# Referers -- which hosts are allowed to add to your database.
@db_referers = ();

# Email Options
# --------------------------------------------------------
# NOTE: Be sure to edit the text of the message. It can be found
# in the templates directory: email-add.txt, email-del.txt and
# email-mod.txt respectively.

# Set only ONE of either $db_mail_path which should go to a
# mail program like sendmail, or $db_smtp_server which will use
# a SMTP server. Do not set both at once!

# PATH of sendmail. # SMTP Server
$db_mail_path = '/usr/sbin/sendmail'; $db_smtp_server = '';

# Email address of the administrator. BE SURE TO SET!
$db_admin_email = 'webmaster@gotta-play-to-win.com';

# Notify visitors automatically when their links are validated?
$db_email_add = 0;

# Notify visitors automatically when their links are modified?
$db_email_modify = 0;

# Log all outgoing messages? Put the full path to a logfile and make sure it
# exists and is writeable (chmod 666 -rw-rw-rw-). This logfile can get pretty
# big!
$db_mailer_log = '';

# Build Options
# --------------------------------------------------------
# Setting for popular cutoff, can either be a percent (i.e. top 3%), or
# a fixed value (i.e. top 10). Enter 0.03 or 10 respectively.
$db_popular_cutoff = 0.03; # Top 3%
# Number of days a link is considered New.
$db_new_cutoff = 14; # 14 days old.
# Return search results bolded (1 = yes, 0 = no).
$search_bold = 1;
# The name of an index file.
$build_index = "index.html";
# The extension to use for non index files:
$build_extension = ".html";

# Should your add.cgi automatically select what category the user
# is adding his link into?
$db_single_category = 1;

# Directory Permissions. Do NOT put quotes around it. Set to 0777
# for world writeable. If you put this at 0755, you might need a
# script to remove any directories created as they will be owned
# by the web server or user nobody. Better solution might be to
# run the nph-build routine from the command shell.
$build_dir_per = 0777;

# The script can now break up category pages that have more then x
# number of links in it. It will also create next and previous links
# to help navigate. Set this to 1 if you want to break up pages or 0 if
# you want to have only one page per category.
# Setting this to one, will also break up the What's New pages into
# per day sections (not affected by number of links per page).
$build_span_pages = 1;

# Number of links per page.
$build_links_per_page = 10;

# Detailed View: The script can build a single html page per link. This is
# great if you have a review in your database. To enable, you must set
# the directory where all the pages will be stored, the url to that directory
# and set the enable option.
$build_detailed = 0;
$build_detail_path = "$build_root_path/Detailed";
$build_detail_url = "$build_root_url/Detailed";

# Use Templates: instead of editing site_html.pl, you can edit regular html pages
# encoded with special <%links_tags%>. It's not as flexible as site_html.pl, but it
# may be easier.
$build_use_templates = 1;

# Site Title, the default title to use. You should really spend some time customizing
# the directory though!
$build_site_title = 'Gotta Play To Win';

# Date Routines
# --------------------------------------------------------
# Your date format can be whatever you like, as long as the following
# two functions are defined &date_to_unix and &unix_to_date:
# The default is dd-mmm-yyyy.

sub date_to_unix {
# --------------------------------------------------------
# This routine must take your date format and return the time a la UNIX time().
# Some things to be careful about..
# timelocal does not like to be in array context, don't do my($time) = timelocal (..)
# int your values just in case to remove spaces, etc.
# catch the fatal error timelocal will generate if you have a bad date..
# don't forget that the month is indexed from 0!
#
my $date = shift; my $i;
my %months = map { $_ => $i++ } qw!Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec!;
my ($mon, $day, $year) = split(/-/, $date);

exists $months{$mon} or return undef;
$day = int($day); $year = $year - 1900;

require Time::Local;
my $time = 0;
eval {
$time = &Time::Local::timelocal(0,0,0, $day, $months{$mon}, $year);
};
if ($@) { die "invalid date format: $date - parsed as (day: $day, month: $months{$mon}, year: $year). Reason: $@"; }
return $time;
}

sub unix_to_date {
# --------------------------------------------------------
# This routine must take a unix time and return your date format
# A much simpler routine, just make sure your format isn't so complex that
# you can't get it back into unix time.
#
my $time = shift;
my ($sec, $min, $hour, $day, $mon, $year, $dweek, $dyear, $tz) = localtime $time;
my @months = qw!Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec!;
$year = $year + 1900;
return "$months[$mon]-$day-$year";
}

sub long_date {
# --------------------------------------------------------
# This routine is for printing a nicer date format on the what's new page. It should
# take in a date in your current format and return a new one.
my $time = shift;
$time = &date_to_unix ($time);
my ($sec, $min, $hour, $day, $mon, $year, $dweek, $dyear, $tz) = localtime $time;
my @months = qw!January February March April May June July August September October November December!;
my @days = qw!Sunday Monday Tuesday Wednesday Thursday Friday Saturday!;
$year = $year + 1900;
return "$days[$dweek], $months[$mon] $day $year";
}

# -------------------------------------------------------------
# Extra Paths -- unless you feel the need to rename files, you
# can leave this as is.
# -------------------------------------------------------------
$db_script_url = $db_dir_url . "/admin.cgi"; # Admin script.
$db_header_path = $db_script_path . "/header"; # Place to store header and footers.
$db_footer_path = $db_script_path . "/footer";
$build_search_url = $db_cgi_url . "/search.cgi"; # URL of search script.
$build_add_url = $db_cgi_url . "/add.cgi"; # URL of add script.
$build_modify_url = $db_cgi_url . "/modify.cgi"; # URL of modify script.
$build_jump_url = $db_cgi_url . "/jump.cgi"; # URL of jump script.
$build_email_url = $db_cgi_url . "/subscribe.cgi"; # URL of email update script.
$build_rate_url = $db_cgi_url . "/rate.cgi"; # URL of rate script.
$db_mail_url = $db_dir_url . "/nph-email.cgi"; # URL of admin mass mail script.
$build_css_url = $build_root_url . "/links.css"; # URL to your CSS file.

$db_lib_path = $db_script_path; # PATH of library files.
$db_links_name = "$db_script_path/data/links.db"; # PATH to links database.
$db_category_name = "$db_script_path/data/categories.db"; # PATH to category database.
$db_valid_name = "$db_script_path/data/validate.db"; # PATH to validation database.
$db_modified_name = "$db_script_path/data/modified.db"; # PATH to modification database.
$db_url_name = "$db_script_path/data/url.db"; # PATH to URL lookup database.
$db_email_name = "$db_script_path/data/email.db"; # PATH to email database.
$db_links_id_file_name = "$db_script_path/data/linksid.txt"; # PATH to links counter file.
$db_category_id_file_name = "$db_script_path/data/categoryid.txt"; # PATH to category counter file.
$db_hits_path = "$db_script_path/data/hits"; # PATH to hits directory.
$db_template_path = "$db_script_path/templates"; # PATH to templates.
$db_rates_path = "$db_script_path/data/rates"; # PATH to ratings.
1;


Thanks in advance for your help and patience as I am just learning perl, and am about to pull my hair out!

Bailey


I posted this originally in the customization forum and then thought maybe I had the wrong forum for this kind of help... so I posted it here too in hopes that someone would be able to help me with this problem. I have tried to follow the answers I have found in threads here already and have only succeeded in losing all but the frames of the admin panel now...please help...someone????

Quote Reply
Re: Links don't work, long urls and lost admin panel In reply to
Uh you may not want to mix URL's and Path's Wink

In Reply To:
$db_dir_url = "http://www.gotta-play-to-win.com/html/cgi-bin/links2/cgi-bin/admin";

# URL of User CGI directory. No Trailing Slash.
$db_cgi_url = "http://www.gotta-play-to-win.com/html/cgi-bin/links2/cgi-bin";
Paul Wilson.
http://www.wiredon.net/gt/
http://www.perlmad.com/
Quote Reply
Re: Links don't work, long urls and lost admin panel In reply to
I don't want to seem ungrateful for the answer, however...what does that mean?

I looked again at the read me file and it instructs me to put the absolute path for $db_script_path and $build_root_path which I thought I had. Then it instructs me to use a url (http) for $db_dir_url and $db_cgi_url and $build_root_url which I also thought I had. Could you PLEASE explain to me just what I did that was wrong? I had the admin panel working and had added link until I was researching modifying templates on the customization board last night. I came across a post that talked about the links that the page builds not working. To my surprise, I tried one of mine(as I have been trying to get the templates edited and hadn't tried the link since they were displaying correctly, I ASSUMED that they were working correctly.) and to my surprise each link gave me a 404 error. I thought it might be a path issue and I changed them around (after I posted my first request for help the way they looked then) and lost the admin panel to frames and 404's too. I HAVE searched the forums and have tried all of the possible answers that I could locate there before posting again. I am learning Perl but don't have a total grasp on it yet (obviously). Could you please tell me what I have to fix to get the paths correct and the links to actually work? I understand HTML but some things about Perl are still over my head.....but that's how we learn to trouble shoot right...one issue at a time?

Thanks Paul for your help with this!

Bailey

Quote Reply
Re: Links don't work, long urls and lost admin panel In reply to
OK... I found one answer and got my admin panel back... for anyone else with this problem and may be searching the forum for an answer to the admin frames 404 problem--
try this link

http://www.gossamer-threads.com/perl/forum/showflat.pl?Cat=&Board=L2Unix&Number=128135&page=&view=&sb=&vc=1


Now if someone could please tell me why the links won't work.......LOL

I tried to think about what I might have changed recently... and I did change from having the pages build in the page folder to building in the html folder in an attempt to shorten the long urls... could that have something to do with it?

Bailey